omnara 0.1.3 → 0.1.4
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.
- package/bin/omnara.js +8 -3
- package/dist/auth/auth-provider.d.ts +2 -2
- package/dist/auth/auth-provider.js +13 -15
- package/dist/auth/auth-provider.js.map +1 -1
- package/dist/auth/cli-auth-service.d.ts +1 -1
- package/dist/auth/cli-auth-service.js +3 -6
- package/dist/auth/cli-auth-service.js.map +1 -1
- package/dist/auth/credential-manager.d.ts +1 -1
- package/dist/auth/credential-manager.js +7 -9
- package/dist/auth/credential-manager.js.map +1 -1
- package/dist/auth/credentials-store.js +14 -20
- package/dist/auth/credentials-store.js.map +1 -1
- package/dist/auth/login-flow.d.ts +2 -2
- package/dist/auth/login-flow.js +23 -29
- package/dist/auth/login-flow.js.map +1 -1
- package/dist/auth/loopback-listener.js +11 -15
- package/dist/auth/loopback-listener.js.map +1 -1
- package/dist/auth/pkce.js +4 -7
- package/dist/auth/pkce.js.map +1 -1
- package/dist/auth/supabase-client.d.ts +1 -1
- package/dist/auth/supabase-client.js +3 -6
- package/dist/auth/supabase-client.js.map +1 -1
- package/dist/auth/supabase-config.js +3 -6
- package/dist/auth/supabase-config.js.map +1 -1
- package/dist/cli.js +26 -25
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.js +36 -38
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/auth.js +13 -16
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/index.d.ts +2 -2
- package/dist/commands/index.js +2 -8
- package/dist/commands/index.js.map +1 -1
- package/dist/http/api-client.js +7 -11
- package/dist/http/api-client.js.map +1 -1
- package/dist/http/user-sessions.d.ts +13 -0
- package/dist/http/user-sessions.js +9 -0
- package/dist/http/user-sessions.js.map +1 -0
- package/dist/orchestrator/agent-orchestrator.d.ts +11 -6
- package/dist/orchestrator/agent-orchestrator.js +226 -57
- package/dist/orchestrator/agent-orchestrator.js.map +1 -1
- package/dist/orchestrator/ai-client.d.ts +5 -4
- package/dist/orchestrator/ai-client.js +17 -14
- package/dist/orchestrator/ai-client.js.map +1 -1
- package/dist/orchestrator/orchestrator-prompt.d.ts +2 -7
- package/dist/orchestrator/orchestrator-prompt.js +7 -154
- package/dist/orchestrator/orchestrator-prompt.js.map +1 -1
- package/dist/orchestrator/orchestrator-prompt.md +405 -0
- package/dist/orchestrator/session.d.ts +7 -3
- package/dist/orchestrator/session.js +56 -34
- package/dist/orchestrator/session.js.map +1 -1
- package/dist/orchestrator/tools/worker-status-tool.d.ts +7 -0
- package/dist/orchestrator/tools/worker-status-tool.js +41 -0
- package/dist/orchestrator/tools/worker-status-tool.js.map +1 -0
- package/dist/orchestrator/tools/worker-tools.d.ts +1 -1
- package/dist/orchestrator/tools/worker-tools.js +73 -89
- package/dist/orchestrator/tools/worker-tools.js.map +1 -1
- package/dist/orchestrator/types.d.ts +19 -29
- package/dist/orchestrator/types.js +22 -25
- package/dist/orchestrator/types.js.map +1 -1
- package/dist/orchestrator/utils/async-queue.d.ts +26 -0
- package/dist/orchestrator/utils/async-queue.js +70 -0
- package/dist/orchestrator/utils/async-queue.js.map +1 -0
- package/dist/orchestrator/utils/session-logger.d.ts +1 -1
- package/dist/orchestrator/utils/session-logger.js +8 -14
- package/dist/orchestrator/utils/session-logger.js.map +1 -1
- package/dist/orchestrator/worker-manager.d.ts +31 -15
- package/dist/orchestrator/worker-manager.js +186 -18
- package/dist/orchestrator/worker-manager.js.map +1 -1
- package/dist/relay/relay-bridge.d.ts +24 -3
- package/dist/relay/relay-bridge.js +382 -90
- package/dist/relay/relay-bridge.js.map +1 -1
- package/dist/relay/relay-service.d.ts +4 -7
- package/dist/relay/relay-service.js +5 -11
- package/dist/relay/relay-service.js.map +1 -1
- package/dist/repl/terminal-repl.js +34 -30
- package/dist/repl/terminal-repl.js.map +1 -1
- package/dist/schemas/generated.d.ts +244 -0
- package/dist/schemas/generated.js +5 -0
- package/dist/schemas/generated.js.map +1 -0
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/scripts/generate-schema-types.js +53 -0
- package/dist/scripts/generate-schema-types.js.map +1 -0
- package/dist/scripts/sync-schemas.d.ts +1 -0
- package/dist/scripts/sync-schemas.js +28 -0
- package/dist/scripts/sync-schemas.js.map +1 -0
- package/dist/utils/prompt.js +4 -10
- package/dist/utils/prompt.js.map +1 -1
- package/dist/voice/voice-service.d.ts +1 -1
- package/dist/voice/voice-service.js +2 -4
- package/dist/voice/voice-service.js.map +1 -1
- package/package.json +6 -2
- package/dist/commands/hello.d.ts +0 -2
- package/dist/commands/hello.js +0 -12
- package/dist/commands/hello.js.map +0 -1
- package/dist/generated/relay.d.ts +0 -240
- package/dist/generated/relay.js +0 -2376
- package/dist/generated/relay.js.map +0 -1
- package/dist/messaging/proto-codec.d.ts +0 -5
- package/dist/messaging/proto-codec.js +0 -387
- package/dist/messaging/proto-codec.js.map +0 -1
- package/dist/server/agent-server.d.ts +0 -46
- package/dist/server/agent-server.js +0 -429
- package/dist/server/agent-server.js.map +0 -1
- package/dist/server/ai-client.d.ts +0 -16
- package/dist/server/ai-client.js +0 -74
- package/dist/server/ai-client.js.map +0 -1
- package/dist/server/session.d.ts +0 -35
- package/dist/server/session.js +0 -272
- package/dist/server/session.js.map +0 -1
- package/dist/server/subagents.d.ts +0 -19
- package/dist/server/subagents.js +0 -42
- package/dist/server/subagents.js.map +0 -1
- package/dist/server/tools/worker-tools.d.ts +0 -2
- package/dist/server/tools/worker-tools.js +0 -37
- package/dist/server/tools/worker-tools.js.map +0 -1
- package/dist/server/types.d.ts +0 -120
- package/dist/server/types.js +0 -29
- package/dist/server/types.js.map +0 -1
- package/dist/server/utils/session-logger.d.ts +0 -7
- package/dist/server/utils/session-logger.js +0 -53
- package/dist/server/utils/session-logger.js.map +0 -1
- package/dist/server/worker-manager.d.ts +0 -67
- package/dist/server/worker-manager.js +0 -207
- package/dist/server/worker-manager.js.map +0 -1
- package/dist/test-agent.js +0 -63
- package/dist/test-agent.js.map +0 -1
- package/dist/utils/base64url.d.ts +0 -1
- package/dist/utils/base64url.js +0 -12
- package/dist/utils/base64url.js.map +0 -1
- package/dist/utils/random.d.ts +0 -1
- package/dist/utils/random.js +0 -9
- package/dist/utils/random.js.map +0 -1
- /package/dist/{test-agent.d.ts → scripts/generate-schema-types.d.ts} +0 -0
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const session_1 = require("./session");
|
|
8
|
-
const worker_manager_1 = require("./worker-manager");
|
|
9
|
-
const worker_tools_1 = require("./tools/worker-tools");
|
|
10
|
-
const orchestrator_prompt_1 = require("./orchestrator-prompt");
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
2
|
+
import { AIClient, BASE_ALLOWED_ORCHESTRATOR_TOOLS, BASE_ALLOWED_WORKER_TOOLS } from './ai-client.js';
|
|
3
|
+
import { Session } from './session.js';
|
|
4
|
+
import { WorkerManager } from './worker-manager.js';
|
|
5
|
+
import { createWorkerMcpServer } from './tools/worker-tools.js';
|
|
6
|
+
import { ORCHESTRATOR_SYSTEM_PROMPT } from './orchestrator-prompt.js';
|
|
11
7
|
const WORKER_LAUNCH_TOOL = 'mcp__worker__launch_worker';
|
|
12
8
|
const WORKER_GET_TOOL = 'mcp__worker__get_workers';
|
|
13
|
-
|
|
9
|
+
const WORKER_MESSAGE_TOOL = 'mcp__worker__message_worker';
|
|
10
|
+
export class AgentOrchestrator {
|
|
11
|
+
aiClient;
|
|
12
|
+
workerManager;
|
|
13
|
+
sessions = new Map();
|
|
14
|
+
clients = new Map();
|
|
15
|
+
toolUseMap = new Map();
|
|
16
|
+
started = false;
|
|
14
17
|
constructor(dependencies) {
|
|
15
|
-
this.sessions = new Map();
|
|
16
|
-
this.clients = new Map();
|
|
17
|
-
this.toolUseMap = new Map();
|
|
18
|
-
this.started = false;
|
|
19
18
|
const resolveSessionIdBySdk = (sdkSessionId) => this.findSessionIdBySdkSession(sdkSessionId);
|
|
20
19
|
const workerClientFactory = dependencies?.createWorkerClient ??
|
|
21
|
-
(() => new
|
|
20
|
+
((mcpServers) => new AIClient({
|
|
22
21
|
defaults: {
|
|
23
|
-
allowedTools: [...
|
|
22
|
+
allowedTools: [...BASE_ALLOWED_WORKER_TOOLS, 'mcp__worker_status__send_status_update'],
|
|
23
|
+
mcpServers,
|
|
24
24
|
},
|
|
25
25
|
}));
|
|
26
26
|
this.workerManager =
|
|
27
27
|
dependencies?.workerManager ??
|
|
28
|
-
new
|
|
28
|
+
new WorkerManager({
|
|
29
29
|
createClient: workerClientFactory,
|
|
30
30
|
resolveSessionIdBySdk,
|
|
31
31
|
});
|
|
32
|
-
const workerMcpServer =
|
|
32
|
+
const workerMcpServer = createWorkerMcpServer(this.workerManager, {
|
|
33
33
|
resolveSessionIdBySdk,
|
|
34
34
|
resolveSessionIdByToolUse: (toolUseId) => this.consumeToolUse(toolUseId),
|
|
35
35
|
});
|
|
36
36
|
const mainClientFactory = dependencies?.createMainClient ??
|
|
37
|
-
(() => new
|
|
37
|
+
(() => new AIClient({
|
|
38
38
|
defaults: {
|
|
39
|
-
allowedTools: [...
|
|
39
|
+
allowedTools: [...BASE_ALLOWED_ORCHESTRATOR_TOOLS, WORKER_LAUNCH_TOOL, WORKER_GET_TOOL, WORKER_MESSAGE_TOOL],
|
|
40
40
|
mcpServers: {
|
|
41
41
|
worker: workerMcpServer,
|
|
42
42
|
},
|
|
43
|
-
systemPrompt:
|
|
43
|
+
systemPrompt: ORCHESTRATOR_SYSTEM_PROMPT,
|
|
44
44
|
},
|
|
45
45
|
}));
|
|
46
46
|
this.aiClient = mainClientFactory();
|
|
@@ -51,7 +51,7 @@ class AgentOrchestrator {
|
|
|
51
51
|
if (existing) {
|
|
52
52
|
return existing;
|
|
53
53
|
}
|
|
54
|
-
const session = new
|
|
54
|
+
const session = new Session(sessionId, this.aiClient, (id) => this.handleSessionEmpty(id), (toolUseId) => this.registerToolUse(toolUseId, sessionId));
|
|
55
55
|
this.sessions.set(sessionId, session);
|
|
56
56
|
return session;
|
|
57
57
|
}
|
|
@@ -62,7 +62,7 @@ class AgentOrchestrator {
|
|
|
62
62
|
return this.workerManager;
|
|
63
63
|
}
|
|
64
64
|
addClient(adapter) {
|
|
65
|
-
const clientId =
|
|
65
|
+
const clientId = randomUUID();
|
|
66
66
|
const connection = {
|
|
67
67
|
id: clientId,
|
|
68
68
|
sessionIds: new Set(),
|
|
@@ -154,7 +154,7 @@ class AgentOrchestrator {
|
|
|
154
154
|
}
|
|
155
155
|
handleSessionInit(connection, message) {
|
|
156
156
|
this.sendToConnection(connection, {
|
|
157
|
-
type: '
|
|
157
|
+
type: 'session_init_ack',
|
|
158
158
|
sessionId: message.sessionId,
|
|
159
159
|
parentSessionId: message.parentSessionId ?? null,
|
|
160
160
|
});
|
|
@@ -247,7 +247,7 @@ class AgentOrchestrator {
|
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
createSession() {
|
|
250
|
-
const sessionId =
|
|
250
|
+
const sessionId = randomUUID();
|
|
251
251
|
return this.ensureSessionExists(sessionId);
|
|
252
252
|
}
|
|
253
253
|
registerToolUse(toolUseId, sessionId) {
|
|
@@ -278,57 +278,98 @@ class AgentOrchestrator {
|
|
|
278
278
|
this.handleWorkerMessage(event);
|
|
279
279
|
});
|
|
280
280
|
this.workerManager.on('update', (record) => {
|
|
281
|
-
this.
|
|
281
|
+
this.broadcastAgentProgress(record);
|
|
282
282
|
});
|
|
283
283
|
this.workerManager.on('completed', (record) => {
|
|
284
|
-
this.
|
|
284
|
+
this.broadcastAgentProgress(record);
|
|
285
285
|
this.handleWorkerCompletion(record);
|
|
286
286
|
});
|
|
287
287
|
}
|
|
288
|
-
|
|
289
|
-
const
|
|
288
|
+
broadcastAgentProgress(record) {
|
|
289
|
+
const progress = this.buildAgentProgress(record);
|
|
290
290
|
// Send worker updates to the parent session so dashboard clients can see them
|
|
291
291
|
const targetSessionId = record.originSessionId || record.sessionId;
|
|
292
|
-
console.log('[Orchestrator] Broadcasting
|
|
293
|
-
|
|
292
|
+
console.log('[Orchestrator] Broadcasting agent_progress:', {
|
|
293
|
+
agentSessionId: record.sessionId,
|
|
294
294
|
task: record.task,
|
|
295
|
-
status:
|
|
295
|
+
status: progress.status,
|
|
296
296
|
originSessionId: record.originSessionId,
|
|
297
|
-
workerSessionId: record.sessionId,
|
|
298
297
|
targetSessionId,
|
|
299
298
|
});
|
|
300
299
|
this.broadcastToAll({
|
|
301
|
-
type: '
|
|
300
|
+
type: 'agent_progress',
|
|
302
301
|
sessionId: targetSessionId,
|
|
303
|
-
|
|
304
|
-
|
|
302
|
+
status: progress.status,
|
|
303
|
+
detail: progress.detail,
|
|
304
|
+
metadata: progress.metadata,
|
|
305
|
+
messageId: randomUUID(), // Always use a valid UUID for message_id
|
|
305
306
|
});
|
|
306
307
|
}
|
|
307
|
-
|
|
308
|
+
buildAgentProgress(record) {
|
|
308
309
|
const latest = record.progress.length > 0 ? record.progress[record.progress.length - 1]?.message : undefined;
|
|
309
|
-
|
|
310
|
-
|
|
310
|
+
// Create a concise one-line summary
|
|
311
|
+
let summary;
|
|
312
|
+
if (record.status === 'completed') {
|
|
313
|
+
summary = record.result || `Task "${record.task}" completed`;
|
|
314
|
+
}
|
|
315
|
+
else if (record.status === 'error') {
|
|
316
|
+
summary = `Task "${record.task}" failed: ${record.error || 'Unknown error'}`;
|
|
317
|
+
}
|
|
318
|
+
else if (record.status === 'canceled') {
|
|
319
|
+
summary = `Task "${record.task}" was canceled`;
|
|
320
|
+
}
|
|
321
|
+
else if (record.status === 'running') {
|
|
322
|
+
summary = latest || `Task "${record.task}" is running`;
|
|
323
|
+
}
|
|
324
|
+
const detail = summary ?? latest ?? undefined;
|
|
325
|
+
const metadata = {
|
|
326
|
+
agent_session_id: record.sessionId,
|
|
311
327
|
task: record.task,
|
|
328
|
+
last_update_at: record.lastUpdateAt,
|
|
329
|
+
};
|
|
330
|
+
if (record.originSessionId) {
|
|
331
|
+
metadata.origin_session_id = record.originSessionId;
|
|
332
|
+
}
|
|
333
|
+
if (latest) {
|
|
334
|
+
metadata.latest_message = latest;
|
|
335
|
+
}
|
|
336
|
+
if (record.result) {
|
|
337
|
+
metadata.result = record.result;
|
|
338
|
+
}
|
|
339
|
+
if (record.error) {
|
|
340
|
+
metadata.error = record.error;
|
|
341
|
+
}
|
|
342
|
+
return {
|
|
312
343
|
status: record.status,
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
latestMessage: latest,
|
|
316
|
-
result: record.result,
|
|
317
|
-
error: record.error,
|
|
318
|
-
originSessionId: record.originSessionId,
|
|
319
|
-
sessionId: record.sessionId,
|
|
344
|
+
detail,
|
|
345
|
+
metadata,
|
|
320
346
|
};
|
|
321
347
|
}
|
|
322
348
|
handleWorkerSessionStart(record) {
|
|
349
|
+
// Include task in metadata for persistence
|
|
350
|
+
const metadata = {
|
|
351
|
+
...record.metadata,
|
|
352
|
+
task: record.task,
|
|
353
|
+
};
|
|
323
354
|
this.broadcastToAll({
|
|
324
355
|
type: 'session_init',
|
|
325
356
|
sessionId: record.sessionId,
|
|
326
357
|
parentSessionId: record.originSessionId ?? null,
|
|
327
|
-
metadata
|
|
328
|
-
messageId:
|
|
358
|
+
metadata,
|
|
359
|
+
messageId: randomUUID(),
|
|
329
360
|
});
|
|
330
361
|
}
|
|
331
362
|
handleWorkerMessage(event) {
|
|
363
|
+
console.log('[Orchestrator] handleWorkerMessage:', {
|
|
364
|
+
messageType: event.messageType,
|
|
365
|
+
workerId: event.record.id,
|
|
366
|
+
task: event.record.task,
|
|
367
|
+
workerSessionId: event.record.sessionId,
|
|
368
|
+
originSessionId: event.record.originSessionId,
|
|
369
|
+
});
|
|
370
|
+
// Send worker messages directly to the child session for persistence
|
|
371
|
+
// (agent_progress messages are handled separately and go to parent)
|
|
372
|
+
const targetSessionId = event.record.sessionId;
|
|
332
373
|
switch (event.messageType) {
|
|
333
374
|
case 'assistant_text':
|
|
334
375
|
if (!event.text) {
|
|
@@ -336,20 +377,66 @@ class AgentOrchestrator {
|
|
|
336
377
|
}
|
|
337
378
|
this.broadcastToAll({
|
|
338
379
|
type: 'assistant_text',
|
|
339
|
-
sessionId:
|
|
380
|
+
sessionId: targetSessionId,
|
|
340
381
|
text: event.text,
|
|
341
382
|
workerId: event.record.id,
|
|
342
383
|
workerTask: event.record.task,
|
|
343
|
-
messageId:
|
|
384
|
+
messageId: randomUUID(),
|
|
344
385
|
});
|
|
345
386
|
break;
|
|
346
387
|
case 'assistant_complete':
|
|
388
|
+
{
|
|
389
|
+
const completionMetadata = {
|
|
390
|
+
agent_session_id: event.record.id,
|
|
391
|
+
task: event.record.task,
|
|
392
|
+
};
|
|
393
|
+
if (event.record.originSessionId) {
|
|
394
|
+
completionMetadata.origin_session_id = event.record.originSessionId;
|
|
395
|
+
}
|
|
396
|
+
this.broadcastToAll({
|
|
397
|
+
type: 'agent_complete',
|
|
398
|
+
sessionId: targetSessionId,
|
|
399
|
+
success: event.success ?? true,
|
|
400
|
+
message: event.text,
|
|
401
|
+
metadata: completionMetadata,
|
|
402
|
+
messageId: randomUUID(),
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
break;
|
|
406
|
+
case 'tool_call':
|
|
407
|
+
if (!event.toolName || !event.toolUseId) {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
console.log('[Orchestrator] Broadcasting worker tool_call:', {
|
|
411
|
+
toolName: event.toolName,
|
|
412
|
+
workerId: event.record.id,
|
|
413
|
+
task: event.record.task,
|
|
414
|
+
targetSessionId,
|
|
415
|
+
});
|
|
347
416
|
this.broadcastToAll({
|
|
348
|
-
type: '
|
|
349
|
-
sessionId:
|
|
417
|
+
type: 'tool_call',
|
|
418
|
+
sessionId: targetSessionId,
|
|
419
|
+
toolName: event.toolName,
|
|
420
|
+
toolUseId: event.toolUseId,
|
|
421
|
+
input: event.toolInput,
|
|
350
422
|
workerId: event.record.id,
|
|
351
423
|
workerTask: event.record.task,
|
|
352
|
-
messageId:
|
|
424
|
+
messageId: randomUUID(),
|
|
425
|
+
});
|
|
426
|
+
break;
|
|
427
|
+
case 'tool_result':
|
|
428
|
+
if (!event.toolUseId) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
this.broadcastToAll({
|
|
432
|
+
type: 'tool_result',
|
|
433
|
+
sessionId: targetSessionId,
|
|
434
|
+
toolUseId: event.toolUseId,
|
|
435
|
+
content: event.toolContent,
|
|
436
|
+
isError: event.isError,
|
|
437
|
+
workerId: event.record.id,
|
|
438
|
+
workerTask: event.record.task,
|
|
439
|
+
messageId: randomUUID(),
|
|
353
440
|
});
|
|
354
441
|
break;
|
|
355
442
|
default:
|
|
@@ -369,9 +456,38 @@ class AgentOrchestrator {
|
|
|
369
456
|
if (!summary) {
|
|
370
457
|
return;
|
|
371
458
|
}
|
|
459
|
+
// Broadcast result message for worker with task context to parent session
|
|
460
|
+
const success = record.status === 'completed';
|
|
461
|
+
const durationMs = record.lastUpdateAt - record.startedAt;
|
|
462
|
+
const metadata = {
|
|
463
|
+
agent_session_id: record.sessionId,
|
|
464
|
+
task: record.task,
|
|
465
|
+
origin_session_id: record.originSessionId,
|
|
466
|
+
};
|
|
467
|
+
if (record.result) {
|
|
468
|
+
metadata.result = record.result;
|
|
469
|
+
}
|
|
470
|
+
if (record.error) {
|
|
471
|
+
metadata.error = record.error;
|
|
472
|
+
}
|
|
473
|
+
this.broadcastToAll({
|
|
474
|
+
type: 'agent_complete',
|
|
475
|
+
sessionId: sessionId, // Use parent session ID
|
|
476
|
+
success,
|
|
477
|
+
durationMs,
|
|
478
|
+
message: `[${record.task}] ${summary}`,
|
|
479
|
+
metadata,
|
|
480
|
+
messageId: randomUUID(),
|
|
481
|
+
});
|
|
372
482
|
session.logInbound({ type: 'worker_result', workerId: record.id, workerTask: record.task, summary });
|
|
373
483
|
session.announceInboundMessage(summary, 'worker', record.id, record.task);
|
|
374
|
-
|
|
484
|
+
// Send comprehensive worker status message to orchestrator's conversation for LLM context
|
|
485
|
+
const statusMessage = this.buildWorkerStatusMessage(record.id);
|
|
486
|
+
session.enqueueUserMessage(statusMessage, {
|
|
487
|
+
triggeredBy: 'worker_completion',
|
|
488
|
+
workerId: record.id,
|
|
489
|
+
workerTask: record.task,
|
|
490
|
+
});
|
|
375
491
|
}
|
|
376
492
|
buildWorkerSummary(record) {
|
|
377
493
|
switch (record.status) {
|
|
@@ -385,6 +501,60 @@ class AgentOrchestrator {
|
|
|
385
501
|
return null;
|
|
386
502
|
}
|
|
387
503
|
}
|
|
504
|
+
/**
|
|
505
|
+
* Build a comprehensive worker status message showing ALL workers,
|
|
506
|
+
* with special highlighting for the worker that triggered this generation.
|
|
507
|
+
*/
|
|
508
|
+
buildWorkerStatusMessage(triggerWorkerId) {
|
|
509
|
+
const allWorkers = this.workerManager.listWorkers();
|
|
510
|
+
if (allWorkers.length === 0) {
|
|
511
|
+
return '[WORKER STATUS UPDATE]\n\nNo active workers.';
|
|
512
|
+
}
|
|
513
|
+
const lines = ['[WORKER STATUS UPDATE - Generation Triggered]'];
|
|
514
|
+
lines.push('');
|
|
515
|
+
for (const worker of allWorkers) {
|
|
516
|
+
const isTrigger = worker.id === triggerWorkerId;
|
|
517
|
+
const prefix = isTrigger ? '>>> ' : ' ';
|
|
518
|
+
const triggerNote = isTrigger ? ' ← JUST COMPLETED (triggered this generation)' : '';
|
|
519
|
+
const latestMsg = worker.progress.length > 0
|
|
520
|
+
? worker.progress[worker.progress.length - 1]?.message
|
|
521
|
+
: undefined;
|
|
522
|
+
lines.push(`${prefix}Task: "${worker.task}"${triggerNote}`);
|
|
523
|
+
lines.push(`${prefix}Status: ${worker.status}`);
|
|
524
|
+
lines.push(`${prefix}Worker ID: ${worker.id}`);
|
|
525
|
+
if (worker.status === 'completed') {
|
|
526
|
+
// For completed workers, include the full result and progress log
|
|
527
|
+
if (worker.result) {
|
|
528
|
+
lines.push(`${prefix}Result: ${worker.result}`);
|
|
529
|
+
}
|
|
530
|
+
// Include the full progress log so orchestrator can see everything the worker did
|
|
531
|
+
if (worker.progress.length > 0) {
|
|
532
|
+
lines.push(`${prefix}Full Progress Log:`);
|
|
533
|
+
for (const entry of worker.progress) {
|
|
534
|
+
// Format timestamp as relative time
|
|
535
|
+
const timestamp = new Date(entry.timestamp).toISOString();
|
|
536
|
+
lines.push(`${prefix} [${timestamp}] ${entry.message}`);
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
else if (worker.status === 'error' && worker.error) {
|
|
541
|
+
lines.push(`${prefix}Error: ${worker.error}`);
|
|
542
|
+
// Include progress log for errors too, to see what led to the failure
|
|
543
|
+
if (worker.progress.length > 0) {
|
|
544
|
+
lines.push(`${prefix}Progress Before Error:`);
|
|
545
|
+
for (const entry of worker.progress) {
|
|
546
|
+
const timestamp = new Date(entry.timestamp).toISOString();
|
|
547
|
+
lines.push(`${prefix} [${timestamp}] ${entry.message}`);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
else if (worker.status === 'running' && latestMsg) {
|
|
552
|
+
lines.push(`${prefix}Latest: ${latestMsg}`);
|
|
553
|
+
}
|
|
554
|
+
lines.push('');
|
|
555
|
+
}
|
|
556
|
+
return lines.join('\n');
|
|
557
|
+
}
|
|
388
558
|
broadcastToAll(message) {
|
|
389
559
|
for (const connection of this.clients.values()) {
|
|
390
560
|
this.sendToConnection(connection, message);
|
|
@@ -414,8 +584,7 @@ class AgentOrchestrator {
|
|
|
414
584
|
}
|
|
415
585
|
}
|
|
416
586
|
}
|
|
417
|
-
|
|
418
|
-
async function startAgentOrchestrator(dependencies) {
|
|
587
|
+
export async function startAgentOrchestrator(dependencies) {
|
|
419
588
|
const server = new AgentOrchestrator(dependencies);
|
|
420
589
|
await server.start();
|
|
421
590
|
return server;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/agent-orchestrator.ts"],"names":[],"mappings":";;;AA4fA,wDAMC;AAlgBD,mCAAoC;AACpC,2CAA6E;AAC7E,uCAAoC;AACpC,qDAA6F;AAC7F,uDAA6D;AAE7D,+DAAmE;AAQnE,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AACxD,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAsBnD,MAAa,iBAAiB;IAS5B,YAAY,YAA4C;QANvC,aAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;QACtC,YAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC9C,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEhD,YAAO,GAAG,KAAK,CAAC;QAGtB,MAAM,qBAAqB,GAAG,CAAC,YAAqB,EAAE,EAAE,CACtD,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,mBAAmB,GACvB,YAAY,EAAE,kBAAkB;YAChC,CAAC,GAAG,EAAE,CACJ,IAAI,oBAAQ,CAAC;gBACX,QAAQ,EAAE;oBACR,YAAY,EAAE,CAAC,GAAG,8BAAkB,CAAC;iBACtC;aACF,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,aAAa;YAChB,YAAY,EAAE,aAAa;gBAC3B,IAAI,8BAAa,CAAC;oBAChB,YAAY,EAAE,mBAAmB;oBACjC,qBAAqB;iBACtB,CAAC,CAAC;QAEL,MAAM,eAAe,GAAG,IAAA,oCAAqB,EAAC,IAAI,CAAC,aAAa,EAAE;YAChE,qBAAqB;YACrB,yBAAyB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;SACjF,CAAC,CAAC;QAEH,MAAM,iBAAiB,GACrB,YAAY,EAAE,gBAAgB;YAC9B,CAAC,GAAG,EAAE,CACJ,IAAI,oBAAQ,CAAC;gBACX,QAAQ,EAAE;oBACR,YAAY,EAAE,CAAC,GAAG,8BAAkB,EAAE,kBAAkB,EAAE,eAAe,CAAC;oBAC1E,UAAU,EAAE;wBACV,MAAM,EAAE,eAAe;qBACxB;oBACD,YAAY,EAAE,gDAA0B;iBACzC;aACF,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QAEpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QACC,MAAM,OAAO,GAAG,IAAI,iBAAO,CACzB,SAAS,EACT,IAAI,CAAC,QAAQ,EACb,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EACnC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAC1D,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,OAAuC;QAC/C,MAAM,QAAQ,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC9B,MAAM,UAAU,GAAqB;YACnC,EAAE,EAAE,QAAQ;YACZ,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEvC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC;gBACH,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,CAAC,OAAuB,EAAE,EAAE;gBACpC,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,UAAU;SACX,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC;gBACH,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,gBAAgB,CAAC,UAA4B;QACnD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAEO,mBAAmB,CAAC,UAA4B,EAAE,OAAuB;QAC/E,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACtD,MAAM;YACR;gBACE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;oBAChC,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,6BAA8B,OAA4B,CAAC,IAAI,EAAE;iBAC3E,CAAC,CAAC;QACP,CAAC;IACH,CAAC;IAEO,iBAAiB,CACvB,UAA4B,EAC5B,OAA0D;QAE1D,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;YAChC,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;SACjD,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CACvB,UAA4B,EAC5B,OAAkD;QAElD,IAAI,OAA4B,CAAC;QACjC,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAElC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;oBAChC,IAAI,EAAE,OAAO;oBACb,SAAS;oBACT,OAAO,EAAE,oBAAoB;iBAC9B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/B,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBAChC,IAAI,EAAE,iBAAiB;gBACvB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,SAAS,CAAC;gBAChB,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;oBAChB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC;gBACD,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B,CAAC,CAAC;YACH,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEO,UAAU,CAAC,UAA4B,EAAE,SAAiB;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBAChC,IAAI,EAAE,OAAO;gBACb,SAAS;gBACT,OAAO,EAAE,oBAAoB;aAC9B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,SAAS,CAAC;gBAChB,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;oBAChB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7C,CAAC;gBACD,OAAO,EAAE,UAAU,CAAC,OAAO;aAC5B,CAAC,CAAC;YACH,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBAChC,IAAI,EAAE,gBAAgB;gBACtB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,UAA4B,EAAE,SAAiB;QACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBAChC,IAAI,EAAE,OAAO;gBACb,SAAS;gBACT,OAAO,EAAE,yCAAyC;aACnD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,UAA4B,EAAE,QAAgB;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBAChC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,UAAU,QAAQ,4BAA4B;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,MAAM,SAAS,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEO,eAAe,CAAC,SAAiB,EAAE,SAAiB;QAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEO,cAAc,CAAC,SAAiB;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,SAAiB;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;YAChD,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAyB,EAAE,EAAE;YAC7D,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YAC5C,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qBAAqB,CAAC,MAAoB;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,8EAA8E;QAC9E,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE;YACxD,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,SAAS;YACjC,eAAe;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC;YAClB,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,MAAoB;QAC1C,MAAM,MAAM,GACV,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,MAAoB;QACnD,IAAI,CAAC,cAAc,CAAC;YAClB,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;YAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;YACtC,SAAS,EAAE,IAAA,mBAAU,GAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,KAAyB;QACnD,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1B,KAAK,gBAAgB;gBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC;oBAClB,IAAI,EAAE,gBAAgB;oBACtB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;oBACjC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBAC7B,SAAS,EAAE,IAAA,mBAAU,GAAE;iBACxB,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,oBAAoB;gBACvB,IAAI,CAAC,cAAc,CAAC;oBAClB,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;oBACjC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;oBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBAC7B,SAAS,EAAE,IAAA,mBAAU,GAAE;iBACxB,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,MAAoB;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACrG,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEO,kBAAkB,CAAC,MAAoB;QAC7C,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,WAAW;gBACd,OAAO,MAAM,CAAC,MAAM,IAAI,UAAU,MAAM,CAAC,EAAE,aAAa,CAAC;YAC3D,KAAK,OAAO;gBACV,OAAO,UAAU,MAAM,CAAC,EAAE,YAAY,MAAM,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC;YAC3E,KAAK,UAAU;gBACb,OAAO,UAAU,MAAM,CAAC,EAAE,gBAAgB,CAAC;YAC7C;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,OAAwB;QAC7C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,YAAqB;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,oBAAoB,KAAK,YAAY,EAAE,CAAC;gBAClD,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,UAA4B,EAAE,OAAwB;QAC7E,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AArdD,8CAqdC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,YAA4C;IAE5C,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/agent-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { type Options, type Query, type SDKMessage } from '@anthropic-ai/claude-agent-sdk';
|
|
1
|
+
import { type Options, type Query, type SDKMessage, type SDKUserMessage } from '@anthropic-ai/claude-agent-sdk';
|
|
2
2
|
export interface AIClientConfig {
|
|
3
3
|
defaults?: Partial<Options>;
|
|
4
4
|
}
|
|
5
5
|
export interface AgentClient {
|
|
6
6
|
streamUserMessage(prompt: string, overrides?: Partial<Options>): AsyncIterable<SDKMessage>;
|
|
7
|
-
createQuery(prompt: string
|
|
7
|
+
createQuery(prompt: string | AsyncIterable<SDKUserMessage>, overrides?: Partial<Options>): Query;
|
|
8
8
|
}
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const BASE_ALLOWED_ORCHESTRATOR_TOOLS: readonly ["Glob", "Grep", "LS", "Read", "WebFetch", "WebSearch", "TodoWrite"];
|
|
10
|
+
export declare const BASE_ALLOWED_WORKER_TOOLS: readonly ["Task", "Bash", "Glob", "Grep", "LS", "ExitPlanMode", "Read", "Edit", "MultiEdit", "Write", "NotebookEdit", "WebFetch", "TodoWrite", "WebSearch", "BashOutput", "KillBash", "Skill", "SlashCommand"];
|
|
10
11
|
export declare class AIClient implements AgentClient {
|
|
11
12
|
private readonly baseOptions;
|
|
12
13
|
constructor(config?: AIClientConfig);
|
|
13
14
|
streamUserMessage(prompt: string, overrides?: Partial<Options>): AsyncIterable<SDKMessage>;
|
|
14
|
-
createQuery(prompt: string
|
|
15
|
+
createQuery(prompt: string | AsyncIterable<SDKUserMessage>, overrides?: Partial<Options>): Query;
|
|
15
16
|
private ensureWorkingDirectory;
|
|
16
17
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
3
|
+
export const BASE_ALLOWED_ORCHESTRATOR_TOOLS = [
|
|
4
|
+
'Glob',
|
|
5
|
+
'Grep',
|
|
6
|
+
'LS',
|
|
7
|
+
'Read',
|
|
8
|
+
'WebFetch',
|
|
9
|
+
'WebSearch',
|
|
10
|
+
'TodoWrite'
|
|
11
|
+
];
|
|
12
|
+
export const BASE_ALLOWED_WORKER_TOOLS = [
|
|
10
13
|
'Task',
|
|
11
14
|
'Bash',
|
|
12
15
|
'Glob',
|
|
@@ -26,14 +29,15 @@ exports.BASE_ALLOWED_TOOLS = [
|
|
|
26
29
|
'Skill',
|
|
27
30
|
'SlashCommand',
|
|
28
31
|
];
|
|
29
|
-
class AIClient {
|
|
32
|
+
export class AIClient {
|
|
33
|
+
baseOptions;
|
|
30
34
|
constructor(config) {
|
|
31
35
|
const defaultOptions = {
|
|
32
36
|
maxTurns: 100,
|
|
33
37
|
model: 'opus',
|
|
34
38
|
cwd: process.cwd(),
|
|
35
39
|
includePartialMessages: false,
|
|
36
|
-
allowedTools: [...
|
|
40
|
+
allowedTools: [...BASE_ALLOWED_ORCHESTRATOR_TOOLS],
|
|
37
41
|
};
|
|
38
42
|
this.baseOptions = {
|
|
39
43
|
...defaultOptions,
|
|
@@ -53,7 +57,7 @@ class AIClient {
|
|
|
53
57
|
...overrides,
|
|
54
58
|
};
|
|
55
59
|
this.ensureWorkingDirectory(merged.cwd);
|
|
56
|
-
return
|
|
60
|
+
return query({
|
|
57
61
|
prompt,
|
|
58
62
|
options: merged,
|
|
59
63
|
});
|
|
@@ -63,12 +67,11 @@ class AIClient {
|
|
|
63
67
|
return;
|
|
64
68
|
}
|
|
65
69
|
try {
|
|
66
|
-
|
|
70
|
+
fs.mkdirSync(cwd, { recursive: true });
|
|
67
71
|
}
|
|
68
72
|
catch (error) {
|
|
69
73
|
console.warn(`Failed to ensure working directory ${cwd}:`, error);
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
|
-
exports.AIClient = AIClient;
|
|
74
77
|
//# sourceMappingURL=ai-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-client.js","sourceRoot":"","sources":["../../src/orchestrator/ai-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-client.js","sourceRoot":"","sources":["../../src/orchestrator/ai-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,KAAK,EAAkE,MAAM,gCAAgC,CAAC;AAWvH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,MAAM;IACN,MAAM;IACN,IAAI;IACJ,MAAM;IACN,UAAU;IACV,WAAW;IACX,WAAW;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,cAAc;IACd,MAAM;IACN,MAAM;IACN,WAAW;IACX,OAAO;IACP,cAAc;IACd,UAAU;IACV,WAAW;IACX,WAAW;IACX,YAAY;IACZ,UAAU;IACV,OAAO;IACP,cAAc;CACN,CAAC;AAEX,MAAM,OAAO,QAAQ;IACF,WAAW,CAAU;IAEtC,YAAY,MAAuB;QACjC,MAAM,cAAc,GAAY;YAC9B,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE,CAAC,GAAG,+BAA+B,CAAC;SACnD,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG;YACjB,GAAG,cAAc;YACjB,GAAG,MAAM,EAAE,QAAQ;SACpB,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,CAAC,iBAAiB,CACtB,MAAc,EACd,SAA4B;QAE5B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC;QAChB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,MAA8C,EAAE,SAA4B;QACtF,MAAM,MAAM,GAAY;YACtB,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,SAAS;SACb,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAExC,OAAO,KAAK,CAAC;YACX,MAAM;YACN,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,GAAY;QACzC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* The orchestrator's role is to coordinate and delegate work, not to execute tasks directly.
|
|
5
|
-
* It should ALWAYS use workers to handle actual implementation work.
|
|
6
|
-
*/
|
|
7
|
-
export declare const ORCHESTRATOR_SYSTEM_PROMPT = "# Role: Task Orchestrator\n\nYou are an orchestrator agent responsible for coordinating work through delegation. Your primary job is to DELEGATE all actual work to background worker agents, not to perform tasks yourself.\n\n## Core Principles\n\n**ALWAYS DELEGATE**: For ANY task that involves code, files, or system operations - immediately delegate to a worker using the launch_worker tool. Never attempt to do the work yourself. Workers have full capabilities and should be trusted to handle all implementation details.\n\n**Think, then delegate**: Your workflow is:\n1. Understand what the user wants\n2. Break it down into clear, actionable tasks if needed\n3. Launch worker(s) with detailed, autonomous instructions\n4. Wait for results from workers\n5. Synthesize worker outputs and respond to the user\n\n**Launch workers in parallel**: When you have multiple independent tasks, launch multiple workers simultaneously in a single turn. This maximizes performance and efficiency.\n\n**Trust worker outputs**: Workers have the same capabilities as you would if you were doing the work directly. Their results should be trusted and used as-is. You don't need to verify or double-check their work.\n\n**Avoid using these tools directly**: You should NOT directly use tools like:\n- Write, Edit (file operations)\n- Bash (commands)\n- Granular task management\n\nThese tools are for workers to use, not you. If you need any of these operations, launch a worker instead.\n\n## When to Launch Workers\n\nLaunch workers for:\n- **Reading or analyzing files** - \"Read the config file and tell me what database is configured\"\n- **Writing or modifying code** - \"Add error handling to the login function\"\n- **Searching the codebase** - \"Find all API endpoints related to user authentication\"\n- **Running commands or tests** - \"Run the test suite and report any failures\"\n- **Git operations** - \"Create a commit with these changes\"\n- **Multi-step tasks** - \"Implement a new feature for user notifications\"\n- **Parallel work** - Launch multiple workers when tasks can happen simultaneously\n\n## How to Delegate Effectively\n\nWhen launching workers, provide:\n\n**Clear, autonomous instructions**: Tell the worker exactly what to do and what information to return. Workers cannot ask you for clarification.\n\n**Complete context**: Include all relevant details the worker needs to complete the task independently.\n\n**Expected output format**: Specify what information you need back from the worker.\n\n**Example good delegation**:\n```\nlaunch_worker with prompt: \"Search the codebase for all files that import the 'auth' module. For each file, provide the file path and a brief description of how it uses the auth module. Return the findings as a formatted list.\"\n```\n\n**Example bad (doing work yourself)**:\n- Using Grep directly to search for auth imports\n- Using Read to open each file yourself\n- Analyzing code yourself instead of delegating analysis\n\n## Multiple Workers\n\nLaunch workers concurrently whenever possible by calling launch_worker multiple times in a single response:\n\n**Example**: If user asks \"check the tests and also review the API documentation\":\n- Launch worker 1: \"Run all test suites and summarize any failures or errors\"\n- Launch worker 2: \"Review the API documentation in the docs/ folder and identify any outdated sections\"\n\n(Launch both in the same turn for parallel execution)\n\n## Monitoring Workers\n\n**Use get_workers to check status** - NEVER launch a new task just to check if workers are done. Instead, use the get_workers tool:\n\n```\nget_workers(tasks: [\"FizzBuzz Python\"])\n```\n\nThis returns:\n- workers: Array of worker statuses, one per task\n- allComplete: true if all workers are done\n- Each worker includes: status, isDone, result, error, latestMessage\n\n**Check multiple workers at once**:\n```\nget_workers(tasks: [\"FizzBuzz Python\", \"FizzBuzz C\", \"FizzBuzz Javascript\"])\n```\n\n**Wait for completion** - Add wait_timeout (in seconds) to wait for ALL workers to finish:\n\n```\nget_workers(tasks: [\"FizzBuzz Python\", \"FizzBuzz C\"], wait_timeout: 300)\n```\n\nWhen wait_timeout is provided:\n- Polls the worker statuses every 2 seconds\n- Returns immediately when ALL workers complete\n- Returns after wait_timeout seconds if any workers are still running (max: 600)\n- Returns timedOut: true if timeout was reached, along with current status of all workers\n\n**DO NOT**:\n- Launch a new worker to \"check on\" another worker\n- Create tasks like \"check if the FizzBuzz worker is done\"\n- Poll manually - use get_workers with wait_timeout instead\n\n**DO**:\n- Use get_workers to check status of one or more workers\n- Include wait_timeout when you need to wait for results before proceeding\n- Check the allComplete field to know if you can proceed\n- Check each worker's isDone field for individual status\n- Retrieve results directly from get_workers response\n\n**Examples**:\n\nQuick status check (returns immediately):\n```\nget_workers(tasks: [\"FizzBuzz Python\"])\n```\n\nCheck multiple workers (returns immediately):\n```\nget_workers(tasks: [\"FizzBuzz Python\", \"FizzBuzz C\", \"FizzBuzz Javascript\"])\n```\n\nWait for all to complete (up to 5 minutes):\n```\nget_workers(tasks: [\"FizzBuzz Python\", \"FizzBuzz C\"], wait_timeout: 300)\n```\n\nWait with shorter timeout (60 seconds):\n```\nget_workers(tasks: [\"FizzBuzz Python\"], wait_timeout: 60)\n```\n\n## Your Response Pattern\n\n1. **Acknowledge the request** - Briefly confirm what you'll do\n2. **Launch worker(s)** - Delegate with clear instructions using meaningful task names\n3. **Wait for results** - Worker completion is automatically added to your context\n4. **Check status if needed** - Use get_workers tool to check task status, never launch new tasks for this\n5. **Synthesize and respond** - Summarize worker results for the user in a clear, concise way. DO NOT claim that a worker has completed it's task until there's explicitly task state included in your context.\n\n## Remember\n\n- You are a COORDINATOR, not an IMPLEMENTER\n- Workers are your hands - you are the brain\n- Delegation is not optional - it's required\n- The faster you delegate, the faster work gets done\n- Never apologize for delegating - it's your job\n- DO NOT assume that a worker successfully completed a task. Verify and wait for the worker to report it's task results.\n- Use get_workers to check status - NEVER launch new tasks just to check on other workers\n\nWhen in doubt: **delegate**. If it involves touching code, files, or running commands - launch a worker.";
|
|
1
|
+
export declare const ORCHESTRATOR_SYSTEM_PROMPT: string;
|
|
2
|
+
export default ORCHESTRATOR_SYSTEM_PROMPT;
|