| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import { feature } from 'bun:bundle'
- import type { Task, TaskType } from './Task.js'
- import { DreamTask } from './tasks/DreamTask/DreamTask.js'
- import { LocalAgentTask } from './tasks/LocalAgentTask/LocalAgentTask.js'
- import { LocalShellTask } from './tasks/LocalShellTask/LocalShellTask.js'
- import { RemoteAgentTask } from './tasks/RemoteAgentTask/RemoteAgentTask.js'
- /* eslint-disable @typescript-eslint/no-require-imports */
- const LocalWorkflowTask: Task | null = feature('WORKFLOW_SCRIPTS')
- ? require('./tasks/LocalWorkflowTask/LocalWorkflowTask.js').LocalWorkflowTask
- : null
- const MonitorMcpTask: Task | null = feature('MONITOR_TOOL')
- ? require('./tasks/MonitorMcpTask/MonitorMcpTask.js').MonitorMcpTask
- : null
- /* eslint-enable @typescript-eslint/no-require-imports */
- /**
- * Get all tasks.
- * Mirrors the pattern from tools.ts
- * Note: Returns array inline to avoid circular dependency issues with top-level const
- */
- export function getAllTasks(): Task[] {
- const tasks: Task[] = [
- LocalShellTask,
- LocalAgentTask,
- RemoteAgentTask,
- DreamTask,
- ]
- if (LocalWorkflowTask) tasks.push(LocalWorkflowTask)
- if (MonitorMcpTask) tasks.push(MonitorMcpTask)
- return tasks
- }
- /**
- * Get a task by its type.
- */
- export function getTaskByType(type: TaskType): Task | undefined {
- return getAllTasks().find(t => t.type === type)
- }
|