@calliopelabs/cli 0.6.7 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/agterm/agent-detection.d.ts +35 -0
  2. package/dist/agterm/agent-detection.d.ts.map +1 -0
  3. package/dist/agterm/agent-detection.js +94 -0
  4. package/dist/agterm/agent-detection.js.map +1 -0
  5. package/dist/agterm/cli-backend.d.ts +32 -0
  6. package/dist/agterm/cli-backend.d.ts.map +1 -0
  7. package/dist/agterm/cli-backend.js +193 -0
  8. package/dist/agterm/cli-backend.js.map +1 -0
  9. package/dist/agterm/index.d.ts +12 -0
  10. package/dist/agterm/index.d.ts.map +1 -0
  11. package/dist/agterm/index.js +15 -0
  12. package/dist/agterm/index.js.map +1 -0
  13. package/dist/agterm/orchestrator.d.ts +94 -0
  14. package/dist/agterm/orchestrator.d.ts.map +1 -0
  15. package/dist/agterm/orchestrator.js +302 -0
  16. package/dist/agterm/orchestrator.js.map +1 -0
  17. package/dist/agterm/tools.d.ts +24 -0
  18. package/dist/agterm/tools.d.ts.map +1 -0
  19. package/dist/agterm/tools.js +277 -0
  20. package/dist/agterm/tools.js.map +1 -0
  21. package/dist/agterm/types.d.ts +95 -0
  22. package/dist/agterm/types.d.ts.map +1 -0
  23. package/dist/agterm/types.js +38 -0
  24. package/dist/agterm/types.js.map +1 -0
  25. package/dist/bin.d.ts +2 -1
  26. package/dist/bin.d.ts.map +1 -1
  27. package/dist/bin.js +18 -3
  28. package/dist/bin.js.map +1 -1
  29. package/dist/errors.d.ts +5 -2
  30. package/dist/errors.d.ts.map +1 -1
  31. package/dist/errors.js +107 -4
  32. package/dist/errors.js.map +1 -1
  33. package/dist/plugins.d.ts +120 -0
  34. package/dist/plugins.d.ts.map +1 -0
  35. package/dist/plugins.js +356 -0
  36. package/dist/plugins.js.map +1 -0
  37. package/dist/providers.js +208 -58
  38. package/dist/providers.js.map +1 -1
  39. package/dist/scope.d.ts +89 -0
  40. package/dist/scope.d.ts.map +1 -0
  41. package/dist/scope.js +253 -0
  42. package/dist/scope.js.map +1 -0
  43. package/dist/storage.d.ts +23 -0
  44. package/dist/storage.d.ts.map +1 -1
  45. package/dist/storage.js +83 -0
  46. package/dist/storage.js.map +1 -1
  47. package/dist/styles.d.ts +49 -83
  48. package/dist/styles.d.ts.map +1 -1
  49. package/dist/styles.js +140 -126
  50. package/dist/styles.js.map +1 -1
  51. package/dist/tools.d.ts +5 -0
  52. package/dist/tools.d.ts.map +1 -1
  53. package/dist/tools.js +24 -10
  54. package/dist/tools.js.map +1 -1
  55. package/dist/ui-cli.d.ts +1 -0
  56. package/dist/ui-cli.d.ts.map +1 -1
  57. package/dist/ui-cli.js +877 -107
  58. package/dist/ui-cli.js.map +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ /**
2
+ * AGTerm Agent Detection
3
+ *
4
+ * Detect which agent CLIs are installed and available.
5
+ */
6
+ import type { SubAgentType, AgentCLIInfo } from './types.js';
7
+ /**
8
+ * Detect available agent CLIs
9
+ * Returns info about each agent including availability status
10
+ */
11
+ export declare function detectAgents(): AgentCLIInfo[];
12
+ /**
13
+ * Get available agent types (ready to spawn)
14
+ */
15
+ export declare function getAvailableAgents(): SubAgentType[];
16
+ /**
17
+ * Check if a specific agent is available
18
+ */
19
+ export declare function isAgentAvailable(agent: SubAgentType): boolean;
20
+ /**
21
+ * Get CLI command and args for an agent
22
+ */
23
+ export declare function getAgentCLI(agent: SubAgentType): {
24
+ command: string;
25
+ args: string[];
26
+ };
27
+ /**
28
+ * Get environment variable name for an agent's API key
29
+ */
30
+ export declare function getAgentEnvVar(agent: SubAgentType): string;
31
+ /**
32
+ * Print agent availability status (for debugging/display)
33
+ */
34
+ export declare function getAgentStatusReport(): string;
35
+ //# sourceMappingURL=agent-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-detection.d.ts","sourceRoot":"","sources":["../../src/agterm/agent-detection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsB7D;;;GAGG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CA4B7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAInD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * AGTerm Agent Detection
3
+ *
4
+ * Detect which agent CLIs are installed and available.
5
+ */
6
+ import { execSync } from 'child_process';
7
+ import { AGENT_CLI_MAP } from './types.js';
8
+ /**
9
+ * Check if a command exists in PATH
10
+ */
11
+ function commandExists(command) {
12
+ try {
13
+ execSync(`which ${command}`, { stdio: 'ignore' });
14
+ return true;
15
+ }
16
+ catch {
17
+ return false;
18
+ }
19
+ }
20
+ /**
21
+ * Check if an environment variable is set
22
+ */
23
+ function hasEnvVar(name) {
24
+ return !!process.env[name];
25
+ }
26
+ /**
27
+ * Detect available agent CLIs
28
+ * Returns info about each agent including availability status
29
+ */
30
+ export function detectAgents() {
31
+ const agents = [];
32
+ for (const [type, config] of Object.entries(AGENT_CLI_MAP)) {
33
+ const agentType = type;
34
+ const exists = commandExists(config.command);
35
+ const hasKey = hasEnvVar(config.envVar);
36
+ let available = exists && hasKey;
37
+ let reason;
38
+ if (!exists) {
39
+ reason = `${config.command} not found in PATH`;
40
+ }
41
+ else if (!hasKey) {
42
+ reason = `${config.envVar} not set`;
43
+ }
44
+ agents.push({
45
+ type: agentType,
46
+ command: config.command,
47
+ args: config.args,
48
+ envVar: config.envVar,
49
+ available,
50
+ reason,
51
+ });
52
+ }
53
+ return agents;
54
+ }
55
+ /**
56
+ * Get available agent types (ready to spawn)
57
+ */
58
+ export function getAvailableAgents() {
59
+ return detectAgents()
60
+ .filter(a => a.available)
61
+ .map(a => a.type);
62
+ }
63
+ /**
64
+ * Check if a specific agent is available
65
+ */
66
+ export function isAgentAvailable(agent) {
67
+ const info = detectAgents().find(a => a.type === agent);
68
+ return info?.available ?? false;
69
+ }
70
+ /**
71
+ * Get CLI command and args for an agent
72
+ */
73
+ export function getAgentCLI(agent) {
74
+ const config = AGENT_CLI_MAP[agent];
75
+ return { command: config.command, args: [...config.args] };
76
+ }
77
+ /**
78
+ * Get environment variable name for an agent's API key
79
+ */
80
+ export function getAgentEnvVar(agent) {
81
+ return AGENT_CLI_MAP[agent].envVar;
82
+ }
83
+ /**
84
+ * Print agent availability status (for debugging/display)
85
+ */
86
+ export function getAgentStatusReport() {
87
+ const agents = detectAgents();
88
+ const lines = agents.map(a => {
89
+ const status = a.available ? '✓ Ready' : `✗ ${a.reason}`;
90
+ return ` ${a.type}: ${status}`;
91
+ });
92
+ return `Sub-Agents:\n${lines.join('\n')}`;
93
+ }
94
+ //# sourceMappingURL=agent-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-detection.js","sourceRoot":"","sources":["../../src/agterm/agent-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * AGTerm CLI Backend
3
+ *
4
+ * Process spawning and execution for sub-agents.
5
+ */
6
+ import type { AgentEvent, SubAgentTask } from './types.js';
7
+ /**
8
+ * Execute an agent task
9
+ * Returns an async generator that yields events as they occur
10
+ */
11
+ export declare function executeAgent(task: SubAgentTask, cwd: string, timeout?: number): AsyncIterable<AgentEvent>;
12
+ /**
13
+ * Cancel a running task
14
+ */
15
+ export declare function cancelTask(taskId: string): boolean;
16
+ /**
17
+ * Get output of a running or recently completed task
18
+ */
19
+ export declare function getTaskOutput(taskId: string): string | undefined;
20
+ /**
21
+ * Check if a task is currently running
22
+ */
23
+ export declare function isTaskRunning(taskId: string): boolean;
24
+ /**
25
+ * Get count of currently running tasks
26
+ */
27
+ export declare function getRunningTaskCount(): number;
28
+ /**
29
+ * Kill all running tasks (cleanup)
30
+ */
31
+ export declare function killAllTasks(): void;
32
+ //# sourceMappingURL=cli-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-backend.d.ts","sourceRoot":"","sources":["../../src/agterm/cli-backend.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAgB,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA6BzE;;;GAGG;AACH,wBAAuB,YAAY,CACjC,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAuB,GAC/B,aAAa,CAAC,UAAU,CAAC,CA2I3B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * AGTerm CLI Backend
3
+ *
4
+ * Process spawning and execution for sub-agents.
5
+ */
6
+ import { spawn } from 'child_process';
7
+ import { getAgentCLI } from './agent-detection.js';
8
+ /**
9
+ * Map of currently running tasks
10
+ */
11
+ const runningTasks = new Map();
12
+ /**
13
+ * Get environment variables for an agent
14
+ * Passes through existing env with terminal settings
15
+ */
16
+ function getAgentEnv() {
17
+ return {
18
+ ...process.env,
19
+ TERM: 'xterm-256color',
20
+ COLORTERM: 'truecolor',
21
+ };
22
+ }
23
+ /**
24
+ * Execute an agent task
25
+ * Returns an async generator that yields events as they occur
26
+ */
27
+ export async function* executeAgent(task, cwd, timeout = 15 * 60 * 1000 // 15 minutes default
28
+ ) {
29
+ const { command, args } = getAgentCLI(task.agent);
30
+ const env = getAgentEnv();
31
+ // Emit start event
32
+ yield {
33
+ type: 'start',
34
+ taskId: task.id,
35
+ timestamp: new Date(),
36
+ };
37
+ // Build final args - Claude takes prompt as argument, others via stdin
38
+ const finalArgs = task.agent === 'claude'
39
+ ? [...args, task.prompt]
40
+ : args;
41
+ const proc = spawn(command, finalArgs, {
42
+ cwd,
43
+ env,
44
+ stdio: ['pipe', 'pipe', 'pipe'],
45
+ });
46
+ // Track the running task
47
+ runningTasks.set(task.id, {
48
+ process: proc,
49
+ task,
50
+ output: '',
51
+ });
52
+ // For non-claude agents, write prompt to stdin
53
+ if (task.agent !== 'claude' && proc.stdin) {
54
+ proc.stdin.write(task.prompt + '\n');
55
+ proc.stdin.end();
56
+ }
57
+ // Set up event queue for async iteration
58
+ const events = [];
59
+ let resolveNext = null;
60
+ let isComplete = false;
61
+ // Set up timeout
62
+ const timeoutHandle = setTimeout(() => {
63
+ if (!isComplete) {
64
+ proc.kill('SIGTERM');
65
+ events.push({
66
+ type: 'error',
67
+ taskId: task.id,
68
+ timestamp: new Date(),
69
+ code: 'TIMEOUT',
70
+ message: `Task timed out after ${timeout}ms`,
71
+ });
72
+ isComplete = true;
73
+ runningTasks.delete(task.id);
74
+ resolveNext?.();
75
+ }
76
+ }, timeout);
77
+ // Handle stdout
78
+ proc.stdout?.on('data', (data) => {
79
+ const content = data.toString();
80
+ const running = runningTasks.get(task.id);
81
+ if (running)
82
+ running.output += content;
83
+ events.push({
84
+ type: 'text',
85
+ taskId: task.id,
86
+ timestamp: new Date(),
87
+ content,
88
+ });
89
+ resolveNext?.();
90
+ });
91
+ // Handle stderr
92
+ proc.stderr?.on('data', (data) => {
93
+ const content = data.toString();
94
+ const running = runningTasks.get(task.id);
95
+ if (running)
96
+ running.output += content;
97
+ events.push({
98
+ type: 'text',
99
+ taskId: task.id,
100
+ timestamp: new Date(),
101
+ content,
102
+ });
103
+ resolveNext?.();
104
+ });
105
+ // Handle process exit
106
+ proc.on('close', (code) => {
107
+ clearTimeout(timeoutHandle);
108
+ if (code === 0) {
109
+ events.push({
110
+ type: 'complete',
111
+ taskId: task.id,
112
+ timestamp: new Date(),
113
+ });
114
+ }
115
+ else {
116
+ events.push({
117
+ type: 'error',
118
+ taskId: task.id,
119
+ timestamp: new Date(),
120
+ code: 'EXIT_ERROR',
121
+ message: `Process exited with code ${code}`,
122
+ });
123
+ }
124
+ isComplete = true;
125
+ runningTasks.delete(task.id);
126
+ resolveNext?.();
127
+ });
128
+ // Handle spawn errors
129
+ proc.on('error', (error) => {
130
+ clearTimeout(timeoutHandle);
131
+ events.push({
132
+ type: 'error',
133
+ taskId: task.id,
134
+ timestamp: new Date(),
135
+ code: 'SPAWN_ERROR',
136
+ message: error.message,
137
+ });
138
+ isComplete = true;
139
+ runningTasks.delete(task.id);
140
+ resolveNext?.();
141
+ });
142
+ // Yield events as they arrive
143
+ while (!isComplete || events.length > 0) {
144
+ if (events.length > 0) {
145
+ yield events.shift();
146
+ }
147
+ else if (!isComplete) {
148
+ await new Promise((resolve) => {
149
+ resolveNext = resolve;
150
+ });
151
+ }
152
+ }
153
+ }
154
+ /**
155
+ * Cancel a running task
156
+ */
157
+ export function cancelTask(taskId) {
158
+ const running = runningTasks.get(taskId);
159
+ if (running) {
160
+ running.process.kill('SIGTERM');
161
+ runningTasks.delete(taskId);
162
+ return true;
163
+ }
164
+ return false;
165
+ }
166
+ /**
167
+ * Get output of a running or recently completed task
168
+ */
169
+ export function getTaskOutput(taskId) {
170
+ return runningTasks.get(taskId)?.output;
171
+ }
172
+ /**
173
+ * Check if a task is currently running
174
+ */
175
+ export function isTaskRunning(taskId) {
176
+ return runningTasks.has(taskId);
177
+ }
178
+ /**
179
+ * Get count of currently running tasks
180
+ */
181
+ export function getRunningTaskCount() {
182
+ return runningTasks.size;
183
+ }
184
+ /**
185
+ * Kill all running tasks (cleanup)
186
+ */
187
+ export function killAllTasks() {
188
+ for (const [taskId, running] of runningTasks) {
189
+ running.process.kill('SIGTERM');
190
+ runningTasks.delete(taskId);
191
+ }
192
+ }
193
+ //# sourceMappingURL=cli-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-backend.js","sourceRoot":"","sources":["../../src/agterm/cli-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * AGTerm Multi-Agent Module
3
+ *
4
+ * Provides sub-agent orchestration capabilities.
5
+ */
6
+ export type { SubAgentType, SubAgentTaskStatus, TaskPriority, SubAgentTask, OrchestratorConfig, AgentCLIInfo, AgentEventType, AgentEvent, } from './types.js';
7
+ export { DEFAULT_ORCHESTRATOR_CONFIG, AGENT_CLI_MAP, } from './types.js';
8
+ export { detectAgents, getAvailableAgents, isAgentAvailable, getAgentCLI, getAgentEnvVar, getAgentStatusReport, } from './agent-detection.js';
9
+ export { executeAgent, cancelTask, getTaskOutput, isTaskRunning, getRunningTaskCount, killAllTasks, } from './cli-backend.js';
10
+ export { orchestrator } from './orchestrator.js';
11
+ export { getAgtermTools, AGTERM_TOOL_NAMES, isAgtermTool, executeAgtermTool, } from './tools.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agterm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,2BAA2B,EAC3B,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AGTerm Multi-Agent Module
3
+ *
4
+ * Provides sub-agent orchestration capabilities.
5
+ */
6
+ export { DEFAULT_ORCHESTRATOR_CONFIG, AGENT_CLI_MAP, } from './types.js';
7
+ // Agent Detection
8
+ export { detectAgents, getAvailableAgents, isAgentAvailable, getAgentCLI, getAgentEnvVar, getAgentStatusReport, } from './agent-detection.js';
9
+ // CLI Backend
10
+ export { executeAgent, cancelTask, getTaskOutput, isTaskRunning, getRunningTaskCount, killAllTasks, } from './cli-backend.js';
11
+ // Orchestrator
12
+ export { orchestrator } from './orchestrator.js';
13
+ // Tools
14
+ export { getAgtermTools, AGTERM_TOOL_NAMES, isAgtermTool, executeAgtermTool, } from './tools.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agterm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,EACL,2BAA2B,EAC3B,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,cAAc;AACd,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,QAAQ;AACR,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * AGTerm Orchestrator
3
+ *
4
+ * Task queue management with depth limiting and priority ordering.
5
+ */
6
+ import type { SubAgentTask, SubAgentType, TaskPriority, OrchestratorConfig } from './types.js';
7
+ /**
8
+ * Agent Orchestrator
9
+ *
10
+ * Manages task queue, depth limiting, and sub-agent execution.
11
+ */
12
+ declare class AgentOrchestrator {
13
+ private config;
14
+ private tasks;
15
+ private taskQueue;
16
+ private runningTasks;
17
+ private currentCwd;
18
+ constructor(config?: Partial<OrchestratorConfig>);
19
+ /**
20
+ * Update configuration
21
+ */
22
+ updateConfig(config: Partial<OrchestratorConfig>): void;
23
+ /**
24
+ * Set the working directory for task execution
25
+ */
26
+ setCwd(cwd: string): void;
27
+ /**
28
+ * Spawn a sub-agent task
29
+ */
30
+ spawnAgent(prompt: string, agent: SubAgentType, options?: {
31
+ parentId?: string;
32
+ priority?: TaskPriority;
33
+ background?: boolean;
34
+ cwd?: string;
35
+ }): Promise<SubAgentTask>;
36
+ /**
37
+ * Get a task by ID
38
+ */
39
+ getTask(taskId: string): SubAgentTask | undefined;
40
+ /**
41
+ * Get all tasks
42
+ */
43
+ getAllTasks(): SubAgentTask[];
44
+ /**
45
+ * Get tasks by status
46
+ */
47
+ getTasksByStatus(status: SubAgentTask['status']): SubAgentTask[];
48
+ /**
49
+ * Get task tree (task and all descendants)
50
+ */
51
+ getTaskTree(taskId: string): SubAgentTask[];
52
+ /**
53
+ * Cancel a task and its children
54
+ */
55
+ cancelTask(taskId: string): Promise<void>;
56
+ /**
57
+ * Get orchestrator statistics
58
+ */
59
+ getStats(): {
60
+ totalTasks: number;
61
+ queuedTasks: number;
62
+ runningTasks: number;
63
+ completedTasks: number;
64
+ failedTasks: number;
65
+ cancelledTasks: number;
66
+ maxDepthUsed: number;
67
+ };
68
+ /**
69
+ * Cleanup old completed tasks
70
+ */
71
+ cleanup(maxAgeMs?: number): number;
72
+ /**
73
+ * Reset orchestrator state
74
+ */
75
+ reset(): void;
76
+ /**
77
+ * Insert task into queue based on priority
78
+ */
79
+ private insertIntoQueue;
80
+ /**
81
+ * Process the task queue
82
+ */
83
+ private processQueue;
84
+ /**
85
+ * Run a single task
86
+ */
87
+ private runTask;
88
+ }
89
+ /**
90
+ * Singleton orchestrator instance
91
+ */
92
+ export declare const orchestrator: AgentOrchestrator;
93
+ export {};
94
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agterm/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAepB;;;;GAIG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAAyB;gBAE/B,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAIpD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIvD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;KACT,GACL,OAAO,CAAC,YAAY,CAAC;IA6FxB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,YAAY,EAAE;IAIhE;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAW3C;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C;;OAEG;IACH,QAAQ,IAAI;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB;IAaD;;OAEG;IACH,OAAO,CAAC,QAAQ,GAAE,MAAuB,GAAG,MAAM;IA0BlD;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;YACW,YAAY;IAmB1B;;OAEG;YACW,OAAO;CAgCtB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,mBAA0B,CAAC"}