funolio-agent 1.0.75 → 1.1.65
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/dist/auth/credential-reader.d.ts.map +1 -1
- package/dist/auth/credential-reader.js +4 -3
- package/dist/auth/credential-reader.js.map +1 -1
- package/dist/auth/token-refresh.d.ts +8 -0
- package/dist/auth/token-refresh.d.ts.map +1 -1
- package/dist/auth/token-refresh.js +82 -52
- package/dist/auth/token-refresh.js.map +1 -1
- package/dist/auto-organizer.d.ts.map +1 -1
- package/dist/auto-organizer.js +6 -7
- package/dist/auto-organizer.js.map +1 -1
- package/dist/bench-prefix.d.ts +16 -0
- package/dist/bench-prefix.d.ts.map +1 -0
- package/dist/bench-prefix.js +25 -0
- package/dist/bench-prefix.js.map +1 -0
- package/dist/bot-manager.d.ts.map +1 -1
- package/dist/bot-manager.js +23 -14
- package/dist/bot-manager.js.map +1 -1
- package/dist/chat-sync.d.ts +42 -0
- package/dist/chat-sync.d.ts.map +1 -0
- package/dist/chat-sync.js +95 -0
- package/dist/chat-sync.js.map +1 -0
- package/dist/clerk-model.d.ts +7 -0
- package/dist/clerk-model.d.ts.map +1 -1
- package/dist/clerk-model.js +42 -8
- package/dist/clerk-model.js.map +1 -1
- package/dist/cli-bootstrap-history.d.ts +10 -0
- package/dist/cli-bootstrap-history.d.ts.map +1 -0
- package/dist/cli-bootstrap-history.js +112 -0
- package/dist/cli-bootstrap-history.js.map +1 -0
- package/dist/cli-models.d.ts +8 -0
- package/dist/cli-models.d.ts.map +1 -0
- package/dist/cli-models.js +91 -0
- package/dist/cli-models.js.map +1 -0
- package/dist/cli-session-epoch.d.ts +13 -3
- package/dist/cli-session-epoch.d.ts.map +1 -1
- package/dist/cli-session-epoch.js +53 -4
- package/dist/cli-session-epoch.js.map +1 -1
- package/dist/codex-app-server-manager.d.ts +64 -4
- package/dist/codex-app-server-manager.d.ts.map +1 -1
- package/dist/codex-app-server-manager.js +755 -55
- package/dist/codex-app-server-manager.js.map +1 -1
- package/dist/commands/pool.d.ts +32 -0
- package/dist/commands/pool.d.ts.map +1 -1
- package/dist/commands/pool.js +145 -66
- package/dist/commands/pool.js.map +1 -1
- package/dist/commands/start.d.ts +21 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +484 -63
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +5 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +170 -58
- package/dist/config.js.map +1 -1
- package/dist/context-window.d.ts +37 -1
- package/dist/context-window.d.ts.map +1 -1
- package/dist/context-window.js +202 -16
- package/dist/context-window.js.map +1 -1
- package/dist/live-activity.d.ts +3 -1
- package/dist/live-activity.d.ts.map +1 -1
- package/dist/live-activity.js.map +1 -1
- package/dist/local-chat-execution.d.ts +114 -0
- package/dist/local-chat-execution.d.ts.map +1 -0
- package/dist/local-chat-execution.js +349 -0
- package/dist/local-chat-execution.js.map +1 -0
- package/dist/local-cli-pty-manager.d.ts +138 -3
- package/dist/local-cli-pty-manager.d.ts.map +1 -1
- package/dist/local-cli-pty-manager.js +1415 -111
- package/dist/local-cli-pty-manager.js.map +1 -1
- package/dist/local-conversation-gateway.d.ts +110 -0
- package/dist/local-conversation-gateway.d.ts.map +1 -0
- package/dist/local-conversation-gateway.js +175 -0
- package/dist/local-conversation-gateway.js.map +1 -0
- package/dist/local-data.d.ts +235 -5
- package/dist/local-data.d.ts.map +1 -1
- package/dist/local-data.js +1066 -87
- package/dist/local-data.js.map +1 -1
- package/dist/local-db.d.ts +6 -0
- package/dist/local-db.d.ts.map +1 -1
- package/dist/local-db.js +376 -4
- package/dist/local-db.js.map +1 -1
- package/dist/local-funnel.d.ts.map +1 -1
- package/dist/local-funnel.js +6 -5
- package/dist/local-funnel.js.map +1 -1
- package/dist/local-server.d.ts +30 -0
- package/dist/local-server.d.ts.map +1 -1
- package/dist/local-server.js +2898 -319
- package/dist/local-server.js.map +1 -1
- package/dist/managed-process-registry.d.ts +59 -0
- package/dist/managed-process-registry.d.ts.map +1 -0
- package/dist/managed-process-registry.js +390 -0
- package/dist/managed-process-registry.js.map +1 -0
- package/dist/mcp/claude-config-writer.d.ts +5 -5
- package/dist/mcp/claude-config-writer.d.ts.map +1 -1
- package/dist/mcp/claude-config-writer.js +19 -11
- package/dist/mcp/claude-config-writer.js.map +1 -1
- package/dist/mcp/index.d.ts +4 -2
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/sync-cli-config.d.ts +42 -4
- package/dist/mcp/sync-cli-config.d.ts.map +1 -1
- package/dist/mcp/sync-cli-config.js +497 -17
- package/dist/mcp/sync-cli-config.js.map +1 -1
- package/dist/message-loop.d.ts.map +1 -1
- package/dist/message-loop.js +43 -1
- package/dist/message-loop.js.map +1 -1
- package/dist/mqtt-client.d.ts +34 -0
- package/dist/mqtt-client.d.ts.map +1 -1
- package/dist/mqtt-client.js +270 -45
- package/dist/mqtt-client.js.map +1 -1
- package/dist/mqtt-data-relay.d.ts +44 -0
- package/dist/mqtt-data-relay.d.ts.map +1 -0
- package/dist/mqtt-data-relay.js +106 -0
- package/dist/mqtt-data-relay.js.map +1 -0
- package/dist/orchestration/capabilities.d.ts +13 -0
- package/dist/orchestration/capabilities.d.ts.map +1 -0
- package/dist/orchestration/capabilities.js +152 -0
- package/dist/orchestration/capabilities.js.map +1 -0
- package/dist/orchestration/dispatch-executor.d.ts +83 -0
- package/dist/orchestration/dispatch-executor.d.ts.map +1 -0
- package/dist/orchestration/dispatch-executor.js +266 -0
- package/dist/orchestration/dispatch-executor.js.map +1 -0
- package/dist/orchestration/dispatch-hint.d.ts +134 -0
- package/dist/orchestration/dispatch-hint.d.ts.map +1 -0
- package/dist/orchestration/dispatch-hint.js +247 -0
- package/dist/orchestration/dispatch-hint.js.map +1 -0
- package/dist/orchestration/dispatch-runner.d.ts +106 -0
- package/dist/orchestration/dispatch-runner.d.ts.map +1 -0
- package/dist/orchestration/dispatch-runner.js +604 -0
- package/dist/orchestration/dispatch-runner.js.map +1 -0
- package/dist/orchestration/dispatch-tools.d.ts +167 -0
- package/dist/orchestration/dispatch-tools.d.ts.map +1 -0
- package/dist/orchestration/dispatch-tools.js +328 -0
- package/dist/orchestration/dispatch-tools.js.map +1 -0
- package/dist/orchestration/front-door-policy.d.ts +35 -10
- package/dist/orchestration/front-door-policy.d.ts.map +1 -1
- package/dist/orchestration/front-door-policy.js +30 -267
- package/dist/orchestration/front-door-policy.js.map +1 -1
- package/dist/orchestration/orchestrator-dispatch-prompt.d.ts +43 -0
- package/dist/orchestration/orchestrator-dispatch-prompt.d.ts.map +1 -0
- package/dist/orchestration/orchestrator-dispatch-prompt.js +267 -0
- package/dist/orchestration/orchestrator-dispatch-prompt.js.map +1 -0
- package/dist/orchestration/orchestrator-operating-prompt.d.ts +14 -0
- package/dist/orchestration/orchestrator-operating-prompt.d.ts.map +1 -1
- package/dist/orchestration/orchestrator-operating-prompt.js +157 -31
- package/dist/orchestration/orchestrator-operating-prompt.js.map +1 -1
- package/dist/orchestration/plan-import.d.ts +39 -0
- package/dist/orchestration/plan-import.d.ts.map +1 -0
- package/dist/orchestration/plan-import.js +547 -0
- package/dist/orchestration/plan-import.js.map +1 -0
- package/dist/orchestration/worker-operating-prompt.d.ts +2 -0
- package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -1
- package/dist/orchestration/worker-operating-prompt.js +36 -46
- package/dist/orchestration/worker-operating-prompt.js.map +1 -1
- package/dist/orchestrator.d.ts +195 -3
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +1970 -432
- package/dist/orchestrator.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +8 -4
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/claude-cli.d.ts.map +1 -1
- package/dist/providers/claude-cli.js +28 -3
- package/dist/providers/claude-cli.js.map +1 -1
- package/dist/providers/codex-cli.d.ts +10 -6
- package/dist/providers/codex-cli.d.ts.map +1 -1
- package/dist/providers/codex-cli.js +190 -17
- package/dist/providers/codex-cli.js.map +1 -1
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +15 -5
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/index.d.ts +15 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +13 -5
- package/dist/providers/openai.js.map +1 -1
- package/dist/server-adapter.d.ts +8 -0
- package/dist/server-adapter.d.ts.map +1 -1
- package/dist/server-adapter.js +7 -0
- package/dist/server-adapter.js.map +1 -1
- package/dist/service-mode.d.ts +1 -1
- package/dist/service-mode.d.ts.map +1 -1
- package/dist/service-mode.js +64 -1
- package/dist/service-mode.js.map +1 -1
- package/dist/service-setup-only.d.ts +8 -0
- package/dist/service-setup-only.d.ts.map +1 -0
- package/dist/service-setup-only.js +37 -0
- package/dist/service-setup-only.js.map +1 -0
- package/dist/slash-commands.d.ts +21 -0
- package/dist/slash-commands.d.ts.map +1 -0
- package/dist/slash-commands.js +99 -0
- package/dist/slash-commands.js.map +1 -0
- package/dist/subagent/index.d.ts +4 -2
- package/dist/subagent/index.d.ts.map +1 -1
- package/dist/subagent/index.js.map +1 -1
- package/dist/summarization-pipeline.d.ts.map +1 -1
- package/dist/summarization-pipeline.js +1 -9
- package/dist/summarization-pipeline.js.map +1 -1
- package/dist/token-counter.d.ts.map +1 -1
- package/dist/token-counter.js +11 -4
- package/dist/token-counter.js.map +1 -1
- package/dist/tool-filter.d.ts.map +1 -1
- package/dist/tool-filter.js +10 -6
- package/dist/tool-filter.js.map +1 -1
- package/dist/tools/admin-tools.d.ts.map +1 -1
- package/dist/tools/admin-tools.js +13 -4
- package/dist/tools/admin-tools.js.map +1 -1
- package/dist/tools/run-command.d.ts.map +1 -1
- package/dist/tools/run-command.js +5 -1
- package/dist/tools/run-command.js.map +1 -1
- package/dist/tools/search-conversation-history.d.ts.map +1 -1
- package/dist/tools/search-conversation-history.js +12 -2
- package/dist/tools/search-conversation-history.js.map +1 -1
- package/dist/tools/todo-tasks.d.ts.map +1 -1
- package/dist/tools/todo-tasks.js +77 -5
- package/dist/tools/todo-tasks.js.map +1 -1
- package/dist/usage-log.d.ts +62 -0
- package/dist/usage-log.d.ts.map +1 -0
- package/dist/usage-log.js +98 -0
- package/dist/usage-log.js.map +1 -0
- package/dist/wizard-state.d.ts +13 -0
- package/dist/wizard-state.d.ts.map +1 -1
- package/dist/wizard-state.js +61 -3
- package/dist/wizard-state.js.map +1 -1
- package/dist/wizard-support.d.ts.map +1 -1
- package/dist/wizard-support.js +27 -1
- package/dist/wizard-support.js.map +1 -1
- package/dist/workflow-engine.d.ts +40 -1
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/workflow-engine.js +753 -93
- package/dist/workflow-engine.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mqtt-data-relay.js","sourceRoot":"","sources":["../src/mqtt-data-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface OrchestrationCapability {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
matches: RegExp[];
|
|
5
|
+
instruction: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const ORCHESTRATION_CAPABILITIES: OrchestrationCapability[];
|
|
8
|
+
export declare function getCapabilityById(id: string | null | undefined): OrchestrationCapability | null;
|
|
9
|
+
export declare function matchCapabilityIds(rolePriorities: string[] | null | undefined): string[];
|
|
10
|
+
export declare function findRoleLabelForCapability(rolePriorities: string[] | null | undefined, capabilityId: string | null | undefined): string | null;
|
|
11
|
+
export declare function buildCapabilityInstructionBlock(rolePriorities: string[] | null | undefined): string;
|
|
12
|
+
export declare function inferTaskTypeFromCapabilities(explicitRole: string | null | undefined, rolePriorities: string[] | null | undefined, fallback?: string): string;
|
|
13
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/orchestration/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,0BAA0B,EAAE,uBAAuB,EA2E/D,CAAC;AAMF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,uBAAuB,GAAG,IAAI,CAM/F;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAkBxF;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAC3C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,MAAM,GAAG,IAAI,CAYf;AAED,wBAAgB,+BAA+B,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CASnG;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,SAAW,GAClB,MAAM,CAeR"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ORCHESTRATION_CAPABILITIES = void 0;
|
|
4
|
+
exports.getCapabilityById = getCapabilityById;
|
|
5
|
+
exports.matchCapabilityIds = matchCapabilityIds;
|
|
6
|
+
exports.findRoleLabelForCapability = findRoleLabelForCapability;
|
|
7
|
+
exports.buildCapabilityInstructionBlock = buildCapabilityInstructionBlock;
|
|
8
|
+
exports.inferTaskTypeFromCapabilities = inferTaskTypeFromCapabilities;
|
|
9
|
+
exports.ORCHESTRATION_CAPABILITIES = [
|
|
10
|
+
{
|
|
11
|
+
id: 'prompt_building',
|
|
12
|
+
label: 'Prompt Building',
|
|
13
|
+
matches: [
|
|
14
|
+
/\bprompt\s*(builder|building|writer|engineering|generation)\b/i,
|
|
15
|
+
/\b(user|worker|handoff|system)\s+prompt\b/i,
|
|
16
|
+
/\b(prompt|handoff)\s+for\s+(?:the\s+)?(?:next\s+)?worker\b/i,
|
|
17
|
+
],
|
|
18
|
+
instruction: 'Prompt-building work: create a better prompt or handoff for the next worker. Include the target file/artifact, current issue, exact desired behavior, constraints, and acceptance checks. If another worker is next, put the improved prompt in complete_worker_task.handoff_prompt; do not create a separate TODO with add_task.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 'research',
|
|
22
|
+
label: 'Research',
|
|
23
|
+
matches: [/\b(research|brainstorm|brainstorming|planning|planner|analysis|analyst|investigate)\b/i],
|
|
24
|
+
instruction: 'Research/planning work: gather the relevant facts and produce a concise plan or brief for the next worker. Include assumptions, key constraints, and exact artifact/file references when known.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'design',
|
|
28
|
+
label: 'Design / UI UX',
|
|
29
|
+
matches: [/\b(design|ui\/?ux|ux|visual|layout|product design)\b/i],
|
|
30
|
+
instruction: 'Design/UI work: be specific about visual hierarchy, spacing, typography, interaction states, and what should change. Preserve requested scope and do not rewrite unrelated parts.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'coding',
|
|
34
|
+
label: 'Coding',
|
|
35
|
+
matches: [/\b(code|coding|build|builder|implement|implementation|developer|engineer|create|write|edit|update|modify|fix)\b/i],
|
|
36
|
+
instruction: 'Coding work: make the concrete file/code changes requested. Prefer the current task and previous handoff over guessing from broad conversation history. Report changed artifact paths in complete_worker_task.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'qa',
|
|
40
|
+
label: 'QA / Review',
|
|
41
|
+
matches: [/\b(qa|review|reviewer|test|testing|audit)\b/i],
|
|
42
|
+
instruction: 'QA/review work: inspect the delivered artifact against the assigned task and available original request. Use qa_result="pass" only when the checks pass; use qa_result="fail" with concise findings when defects remain.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'verify',
|
|
46
|
+
label: 'Verification',
|
|
47
|
+
matches: [/\b(verify|verification|validate|validation)\b/i],
|
|
48
|
+
instruction: 'Verification work: compare the final artifact against the original user request and acceptance criteria. Focus on requirement coverage, not style preferences unless style was part of the request.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'deployment',
|
|
52
|
+
label: 'Deployment',
|
|
53
|
+
matches: [/\b(deploy|deployment|release|ship|publish|production)\b/i],
|
|
54
|
+
instruction: 'Deployment/release work: follow the project release checklist exactly. Build and verify locally before publishing, and report concrete version, artifact, and deploy status.',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: 'data',
|
|
58
|
+
label: 'Data / DB',
|
|
59
|
+
matches: [/\b(data|database|db|sqlite|migration|schema)\b/i],
|
|
60
|
+
instruction: 'Data/DB work: preserve user data unless explicitly told otherwise. Prefer additive migrations and document any cleanup, migration, or destructive operation clearly.',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 'debugging',
|
|
64
|
+
label: 'Debugging',
|
|
65
|
+
matches: [/\b(debug|debugging|troubleshoot|diagnose|root cause|fixer)\b/i],
|
|
66
|
+
instruction: 'Debugging work: identify the concrete root cause before changing behavior. State what was checked and make the smallest fix that addresses the observed failure.',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 'documentation',
|
|
70
|
+
label: 'Documentation',
|
|
71
|
+
matches: [/\b(documentation|docs|readme|release notes|writeup|summary)\b/i],
|
|
72
|
+
instruction: 'Documentation work: write concise user-facing text with accurate file/version references. Do not invent completed work that is not present in the task or artifacts.',
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
function normalizeCapabilityText(value) {
|
|
76
|
+
return String(value || '').trim().replace(/\s+/g, ' ').toLowerCase();
|
|
77
|
+
}
|
|
78
|
+
function getCapabilityById(id) {
|
|
79
|
+
const normalized = normalizeCapabilityText(id);
|
|
80
|
+
return exports.ORCHESTRATION_CAPABILITIES.find((capability) => normalizeCapabilityText(capability.id) === normalized
|
|
81
|
+
|| normalizeCapabilityText(capability.label) === normalized) || null;
|
|
82
|
+
}
|
|
83
|
+
function matchCapabilityIds(rolePriorities) {
|
|
84
|
+
const roles = Array.isArray(rolePriorities) ? rolePriorities : [];
|
|
85
|
+
const matched = [];
|
|
86
|
+
for (const role of roles) {
|
|
87
|
+
const normalized = normalizeCapabilityText(role);
|
|
88
|
+
if (!normalized)
|
|
89
|
+
continue;
|
|
90
|
+
for (const capability of exports.ORCHESTRATION_CAPABILITIES) {
|
|
91
|
+
if (matched.includes(capability.id))
|
|
92
|
+
continue;
|
|
93
|
+
if (normalizeCapabilityText(capability.id) === normalized
|
|
94
|
+
|| normalizeCapabilityText(capability.label) === normalized
|
|
95
|
+
|| capability.matches.some((pattern) => pattern.test(role))) {
|
|
96
|
+
matched.push(capability.id);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return matched;
|
|
101
|
+
}
|
|
102
|
+
function findRoleLabelForCapability(rolePriorities, capabilityId) {
|
|
103
|
+
const capability = getCapabilityById(capabilityId);
|
|
104
|
+
if (!capability)
|
|
105
|
+
return null;
|
|
106
|
+
const roles = Array.isArray(rolePriorities) ? rolePriorities : [];
|
|
107
|
+
const exact = roles.find((role) => {
|
|
108
|
+
const normalized = normalizeCapabilityText(role);
|
|
109
|
+
return normalized === normalizeCapabilityText(capability.id)
|
|
110
|
+
|| normalized === normalizeCapabilityText(capability.label);
|
|
111
|
+
});
|
|
112
|
+
if (exact?.trim())
|
|
113
|
+
return exact.trim();
|
|
114
|
+
const matched = roles.find((role) => matchCapabilityIds([role]).includes(capability.id));
|
|
115
|
+
return matched?.trim() || capability.label;
|
|
116
|
+
}
|
|
117
|
+
function buildCapabilityInstructionBlock(rolePriorities) {
|
|
118
|
+
const ids = matchCapabilityIds(rolePriorities);
|
|
119
|
+
if (ids.length === 0)
|
|
120
|
+
return '';
|
|
121
|
+
const byId = new Map(exports.ORCHESTRATION_CAPABILITIES.map((capability) => [capability.id, capability]));
|
|
122
|
+
const lines = ids
|
|
123
|
+
.map((id) => byId.get(id)?.instruction)
|
|
124
|
+
.filter((line) => Boolean(line));
|
|
125
|
+
if (lines.length === 0)
|
|
126
|
+
return '';
|
|
127
|
+
return ['CAPABILITY-SPECIFIC INSTRUCTIONS', ...lines.map((line) => `- ${line}`)].join('\n');
|
|
128
|
+
}
|
|
129
|
+
function inferTaskTypeFromCapabilities(explicitRole, rolePriorities, fallback = 'coding') {
|
|
130
|
+
const roles = [String(explicitRole || ''), ...(Array.isArray(rolePriorities) ? rolePriorities : [])]
|
|
131
|
+
.map((role) => role.trim())
|
|
132
|
+
.filter(Boolean);
|
|
133
|
+
for (const role of roles) {
|
|
134
|
+
const ids = matchCapabilityIds([role]);
|
|
135
|
+
if (ids.includes('qa'))
|
|
136
|
+
return 'qa';
|
|
137
|
+
if (ids.includes('verify'))
|
|
138
|
+
return 'verify';
|
|
139
|
+
if (ids.includes('prompt_building'))
|
|
140
|
+
return 'research';
|
|
141
|
+
if (ids.includes('research'))
|
|
142
|
+
return 'research';
|
|
143
|
+
if (ids.includes('design'))
|
|
144
|
+
return 'research';
|
|
145
|
+
if (ids.includes('deployment'))
|
|
146
|
+
return 'deploy';
|
|
147
|
+
if (ids.includes('coding'))
|
|
148
|
+
return 'coding';
|
|
149
|
+
}
|
|
150
|
+
return fallback;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/orchestration/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestration dispatch executor (Phase A — dead code).
|
|
3
|
+
*
|
|
4
|
+
* Takes validated dispatch tool-call arguments (see dispatch-tools.ts) and
|
|
5
|
+
* performs the side effects: creating TODOs in the local DB, or returning
|
|
6
|
+
* the reply_directly text to the caller.
|
|
7
|
+
*
|
|
8
|
+
* Not yet wired to the live orchestrator turn loop — that's the Step-5
|
|
9
|
+
* wire-up work gated behind the feature flag from Decision 6.
|
|
10
|
+
*
|
|
11
|
+
* KEY BEHAVIORS (per orchestration-plan.txt):
|
|
12
|
+
* - reply_directly: no side effects, just returns the text.
|
|
13
|
+
* - delegate_single: creates exactly one TODO owned by the target bot.
|
|
14
|
+
* * bot_name wins over role when both provided.
|
|
15
|
+
* * role is stored on the TODO as informational metadata.
|
|
16
|
+
* * When only role is given, resolveBotForRole() picks the bot.
|
|
17
|
+
* - create_workflow: creates N TODOs in order, linking each to the next
|
|
18
|
+
* via next_worker_bot_id / next_worker_name / next_worker_role so
|
|
19
|
+
* the existing workflow-engine plumbing picks up the chain.
|
|
20
|
+
* * handoff_to_next is appended to the NEXT step's task prompt as
|
|
21
|
+
* the "[PREVIOUS WORKER HANDOFF]" section the worker-operating-
|
|
22
|
+
* prompt already supports.
|
|
23
|
+
*
|
|
24
|
+
* All executor functions return a structured result describing what was
|
|
25
|
+
* created. Callers (the orchestrator turn loop, once wired) use the result
|
|
26
|
+
* to surface TODO IDs back to the user and to start workflow execution.
|
|
27
|
+
*/
|
|
28
|
+
import * as data from '../local-data';
|
|
29
|
+
import type { ReplyDirectlyArgs, DelegateSingleArgs, CreateWorkflowArgs, RoleResolutionContext } from './dispatch-tools';
|
|
30
|
+
export interface ExecuteReplyDirectlyResult {
|
|
31
|
+
kind: 'reply_directly';
|
|
32
|
+
text: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ExecuteDelegateSingleResult {
|
|
35
|
+
kind: 'delegate_single';
|
|
36
|
+
task: data.TodoTaskRow;
|
|
37
|
+
assignedBot: data.AgentProfileRow;
|
|
38
|
+
}
|
|
39
|
+
export interface ExecuteCreateWorkflowResult {
|
|
40
|
+
kind: 'create_workflow';
|
|
41
|
+
tasks: data.TodoTaskRow[];
|
|
42
|
+
assignedBots: data.AgentProfileRow[];
|
|
43
|
+
}
|
|
44
|
+
export type ExecuteDispatchResult = ExecuteReplyDirectlyResult | ExecuteDelegateSingleResult | ExecuteCreateWorkflowResult | {
|
|
45
|
+
kind: 'error';
|
|
46
|
+
error: string;
|
|
47
|
+
};
|
|
48
|
+
export interface DispatchActor {
|
|
49
|
+
name: string;
|
|
50
|
+
actorId: string;
|
|
51
|
+
}
|
|
52
|
+
export interface DispatchExecutionContext {
|
|
53
|
+
conversationId: string;
|
|
54
|
+
projectId: string | null;
|
|
55
|
+
/** Runtime actor coordinating this turn. This can be a bot-backed orchestrator or Clerk. */
|
|
56
|
+
orchestratorActor: DispatchActor;
|
|
57
|
+
/** Role resolution context (active bots + who's busy) for role-based routing. */
|
|
58
|
+
resolution: RoleResolutionContext;
|
|
59
|
+
/**
|
|
60
|
+
* The raw user prompt for this turn. Used to enforce the
|
|
61
|
+
* position-aware include_user_prompt policy uniformly across both
|
|
62
|
+
* the legacy workflow-template path and the tool-dispatch path:
|
|
63
|
+
* the first worker in a chain always receives the user prompt
|
|
64
|
+
* appended to task_instructions; downstream workers receive it
|
|
65
|
+
* only if their orchestration_include_user_prompt flag is set.
|
|
66
|
+
* (Closes Codex QA 2026-04-19 caveat on 5b43a736.)
|
|
67
|
+
*/
|
|
68
|
+
userPrompt: string;
|
|
69
|
+
/** Recent conversation summary/turns for the first worker in a chain. */
|
|
70
|
+
recentContext?: string | null;
|
|
71
|
+
/** Optional label for imported/explicit workflow sources. */
|
|
72
|
+
workflowSourceLabel?: string | null;
|
|
73
|
+
}
|
|
74
|
+
export declare function executeReplyDirectly(args: ReplyDirectlyArgs): ExecuteReplyDirectlyResult;
|
|
75
|
+
export declare function executeDelegateSingle(args: DelegateSingleArgs, ctx: DispatchExecutionContext): ExecuteDelegateSingleResult | {
|
|
76
|
+
kind: 'error';
|
|
77
|
+
error: string;
|
|
78
|
+
};
|
|
79
|
+
export declare function executeCreateWorkflow(args: CreateWorkflowArgs, ctx: DispatchExecutionContext): ExecuteCreateWorkflowResult | {
|
|
80
|
+
kind: 'error';
|
|
81
|
+
error: string;
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=dispatch-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-executor.d.ts","sourceRoot":"","sources":["../../src/orchestration/dispatch-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;IACvB,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,qBAAqB,GAC7B,0BAA0B,GAC1B,2BAA2B,GAC3B,2BAA2B,GAC3B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMrC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4FAA4F;IAC5F,iBAAiB,EAAE,aAAa,CAAC;IACjC,iFAAiF;IACjF,UAAU,EAAE,qBAAqB,CAAC;IAClC;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAgFD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,0BAA0B,CAExF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,wBAAwB,GAC5B,2BAA2B,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsBhE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,wBAAwB,GAC5B,2BAA2B,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA2DhE"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.executeReplyDirectly = executeReplyDirectly;
|
|
37
|
+
exports.executeDelegateSingle = executeDelegateSingle;
|
|
38
|
+
exports.executeCreateWorkflow = executeCreateWorkflow;
|
|
39
|
+
/**
|
|
40
|
+
* Orchestration dispatch executor (Phase A — dead code).
|
|
41
|
+
*
|
|
42
|
+
* Takes validated dispatch tool-call arguments (see dispatch-tools.ts) and
|
|
43
|
+
* performs the side effects: creating TODOs in the local DB, or returning
|
|
44
|
+
* the reply_directly text to the caller.
|
|
45
|
+
*
|
|
46
|
+
* Not yet wired to the live orchestrator turn loop — that's the Step-5
|
|
47
|
+
* wire-up work gated behind the feature flag from Decision 6.
|
|
48
|
+
*
|
|
49
|
+
* KEY BEHAVIORS (per orchestration-plan.txt):
|
|
50
|
+
* - reply_directly: no side effects, just returns the text.
|
|
51
|
+
* - delegate_single: creates exactly one TODO owned by the target bot.
|
|
52
|
+
* * bot_name wins over role when both provided.
|
|
53
|
+
* * role is stored on the TODO as informational metadata.
|
|
54
|
+
* * When only role is given, resolveBotForRole() picks the bot.
|
|
55
|
+
* - create_workflow: creates N TODOs in order, linking each to the next
|
|
56
|
+
* via next_worker_bot_id / next_worker_name / next_worker_role so
|
|
57
|
+
* the existing workflow-engine plumbing picks up the chain.
|
|
58
|
+
* * handoff_to_next is appended to the NEXT step's task prompt as
|
|
59
|
+
* the "[PREVIOUS WORKER HANDOFF]" section the worker-operating-
|
|
60
|
+
* prompt already supports.
|
|
61
|
+
*
|
|
62
|
+
* All executor functions return a structured result describing what was
|
|
63
|
+
* created. Callers (the orchestrator turn loop, once wired) use the result
|
|
64
|
+
* to surface TODO IDs back to the user and to start workflow execution.
|
|
65
|
+
*/
|
|
66
|
+
const data = __importStar(require("../local-data"));
|
|
67
|
+
const dispatch_tools_1 = require("./dispatch-tools");
|
|
68
|
+
const capabilities_1 = require("./capabilities");
|
|
69
|
+
/**
|
|
70
|
+
* Compose a worker task prompt from the orchestrator's task_instructions
|
|
71
|
+
* and the original user prompt, following the same position-aware rule
|
|
72
|
+
* enforced by the legacy path's shouldIncludeOriginalPromptForWorker:
|
|
73
|
+
* - If the worker is first in the chain: always include.
|
|
74
|
+
* - Otherwise: include only if the worker's
|
|
75
|
+
* orchestration_include_user_prompt flag is set.
|
|
76
|
+
* The appended block uses the same "Original user request (reference
|
|
77
|
+
* only):" header the legacy path uses, so worker prompts look the
|
|
78
|
+
* same regardless of which dispatch path created them.
|
|
79
|
+
*/
|
|
80
|
+
function composeTaskPrompt(instructions, userPrompt, worker, isFirstInChain, recentContext, nextWorker) {
|
|
81
|
+
const shouldAppend = isFirstInChain || Number(worker.orchestration_include_user_prompt) === 1;
|
|
82
|
+
const parts = [['YOUR TASK', instructions.trim()].filter(Boolean).join('\n')];
|
|
83
|
+
if (nextWorker?.name) {
|
|
84
|
+
const roleLabel = nextWorker.role ? ` (${nextWorker.role})` : '';
|
|
85
|
+
parts.push([
|
|
86
|
+
'NEXT WORKER',
|
|
87
|
+
`After you complete this task, ${nextWorker.name}${roleLabel} receives your handoff.`,
|
|
88
|
+
].join('\n'));
|
|
89
|
+
parts.push([
|
|
90
|
+
'HANDOFF REQUIREMENTS',
|
|
91
|
+
'When calling complete_worker_task, write handoff_prompt as the next worker prompt. Include the goal, artifact/path, current issue or result, exact scope, constraints, and acceptance checks. Do not create a new TODO unless the orchestrator explicitly asked you to.',
|
|
92
|
+
].join('\n'));
|
|
93
|
+
}
|
|
94
|
+
if (isFirstInChain && recentContext?.trim()) {
|
|
95
|
+
parts.push(`Recent conversation context:\n${recentContext.trim()}`);
|
|
96
|
+
}
|
|
97
|
+
if (shouldAppend && userPrompt.trim()) {
|
|
98
|
+
parts.push(`Original user request:\n${userPrompt}`);
|
|
99
|
+
}
|
|
100
|
+
return parts.filter(Boolean).join('\n\n');
|
|
101
|
+
}
|
|
102
|
+
// -----------------------------------------------------------------------------
|
|
103
|
+
// Bot lookup helpers
|
|
104
|
+
// -----------------------------------------------------------------------------
|
|
105
|
+
function findBotByName(name, bots) {
|
|
106
|
+
const needle = name.trim().toLowerCase();
|
|
107
|
+
if (!needle)
|
|
108
|
+
return null;
|
|
109
|
+
for (const bot of bots) {
|
|
110
|
+
if (bot.name.trim().toLowerCase() === needle)
|
|
111
|
+
return bot;
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
function resolveStepBot(args, ctx) {
|
|
116
|
+
const hasBot = typeof args.bot_name === 'string' && args.bot_name.trim().length > 0;
|
|
117
|
+
const hasRole = typeof args.role === 'string' && args.role.trim().length > 0;
|
|
118
|
+
if (hasBot) {
|
|
119
|
+
const bot = findBotByName(args.bot_name, ctx.resolution.activeBots);
|
|
120
|
+
if (!bot)
|
|
121
|
+
return { ok: false, error: `bot_name "${args.bot_name}" not found in conversation roster.` };
|
|
122
|
+
return { ok: true, bot };
|
|
123
|
+
}
|
|
124
|
+
if (hasRole) {
|
|
125
|
+
const bot = (0, dispatch_tools_1.resolveBotForRole)(args.role, ctx.resolution);
|
|
126
|
+
if (!bot)
|
|
127
|
+
return { ok: false, error: `no active bot has role "${args.role}" in its priority list.` };
|
|
128
|
+
return { ok: true, bot };
|
|
129
|
+
}
|
|
130
|
+
return { ok: false, error: 'neither bot_name nor role provided (this should have been caught by validation).' };
|
|
131
|
+
}
|
|
132
|
+
// -----------------------------------------------------------------------------
|
|
133
|
+
// Executors
|
|
134
|
+
// -----------------------------------------------------------------------------
|
|
135
|
+
function executeReplyDirectly(args) {
|
|
136
|
+
return { kind: 'reply_directly', text: args.text };
|
|
137
|
+
}
|
|
138
|
+
function executeDelegateSingle(args, ctx) {
|
|
139
|
+
const resolved = resolveStepBot(args, ctx);
|
|
140
|
+
if (!resolved.ok)
|
|
141
|
+
return { kind: 'error', error: resolved.error };
|
|
142
|
+
const bot = resolved.bot;
|
|
143
|
+
// A single delegate has no predecessor, so the worker is first in
|
|
144
|
+
// chain and always receives the original user prompt per the policy.
|
|
145
|
+
const composedPrompt = composeTaskPrompt(args.task_instructions, ctx.userPrompt, bot, true, ctx.recentContext);
|
|
146
|
+
const task = data.addTodoTask({
|
|
147
|
+
projectId: ctx.projectId,
|
|
148
|
+
conversationId: ctx.conversationId,
|
|
149
|
+
title: buildTaskTitle(bot.name, args.role, args.task_instructions, args.title),
|
|
150
|
+
details: `Task dispatched by orchestrator ${ctx.orchestratorActor.name}.`,
|
|
151
|
+
participants: [bot.name],
|
|
152
|
+
successCriteria: args.success_criteria || deriveDefaultSuccessCriteria(args.task_instructions),
|
|
153
|
+
ownerBotId: bot.id,
|
|
154
|
+
ownerName: bot.name,
|
|
155
|
+
taskType: inferTaskType(args.role, bot),
|
|
156
|
+
profileName: bot.name,
|
|
157
|
+
taskPrompt: composedPrompt,
|
|
158
|
+
actor: { actorType: 'orchestrator', actorId: ctx.orchestratorActor.actorId },
|
|
159
|
+
});
|
|
160
|
+
return { kind: 'delegate_single', task, assignedBot: bot };
|
|
161
|
+
}
|
|
162
|
+
function executeCreateWorkflow(args, ctx) {
|
|
163
|
+
// Resolve every step's bot up front. If any fail to resolve, reject the whole
|
|
164
|
+
// workflow before creating any TODOs. Avoids partial state.
|
|
165
|
+
const resolvedBots = [];
|
|
166
|
+
for (let i = 0; i < args.steps.length; i += 1) {
|
|
167
|
+
const step = args.steps[i];
|
|
168
|
+
const r = resolveStepBot(step, ctx);
|
|
169
|
+
if (!r.ok)
|
|
170
|
+
return { kind: 'error', error: `Step ${i + 1}: ${r.error}` };
|
|
171
|
+
resolvedBots.push(r.bot);
|
|
172
|
+
}
|
|
173
|
+
const tasks = [];
|
|
174
|
+
for (let i = 0; i < args.steps.length; i += 1) {
|
|
175
|
+
const step = args.steps[i];
|
|
176
|
+
const owner = resolvedBots[i];
|
|
177
|
+
const next = resolvedBots[i + 1] || null;
|
|
178
|
+
const nextStep = args.steps[i + 1] || null;
|
|
179
|
+
let taskPrompt = step.task_instructions;
|
|
180
|
+
// Weave prior step's handoff_to_next into THIS step's task prompt so the
|
|
181
|
+
// worker sees it. Uses the "[PREVIOUS WORKER HANDOFF]" header that
|
|
182
|
+
// worker-operating-prompt.ts already recognizes.
|
|
183
|
+
const priorStep = args.steps[i - 1];
|
|
184
|
+
if (priorStep?.handoff_to_next && priorStep.handoff_to_next.trim()) {
|
|
185
|
+
taskPrompt = `[PREVIOUS WORKER HANDOFF]\n${priorStep.handoff_to_next.trim()}\n\n${taskPrompt}`;
|
|
186
|
+
}
|
|
187
|
+
// Position-aware include_user_prompt policy, same as the legacy
|
|
188
|
+
// workflow-template path: step 0 is first in chain → always gets
|
|
189
|
+
// the user prompt; steps 1..N-1 honor the per-bot flag.
|
|
190
|
+
const isFirstInChain = i === 0;
|
|
191
|
+
taskPrompt = composeTaskPrompt(taskPrompt, ctx.userPrompt, owner, isFirstInChain, ctx.recentContext, next ? { name: next.name, role: nextStep?.role || data.getAgentOrchestrationRoleLabel(next) } : null);
|
|
192
|
+
const task = data.addTodoTask({
|
|
193
|
+
projectId: ctx.projectId,
|
|
194
|
+
conversationId: ctx.conversationId,
|
|
195
|
+
title: buildTaskTitle(owner.name, step.role, step.task_instructions, step.title),
|
|
196
|
+
details: ctx.workflowSourceLabel
|
|
197
|
+
? `${ctx.workflowSourceLabel} step ${i + 1} of ${args.steps.length} prepared by ${ctx.orchestratorActor.name}.`
|
|
198
|
+
: `Workflow step ${i + 1} of ${args.steps.length} dispatched by orchestrator ${ctx.orchestratorActor.name}.`,
|
|
199
|
+
participants: [owner.name],
|
|
200
|
+
successCriteria: step.success_criteria || deriveDefaultSuccessCriteria(step.task_instructions),
|
|
201
|
+
ownerBotId: owner.id,
|
|
202
|
+
ownerName: owner.name,
|
|
203
|
+
taskType: inferTaskType(step.role, owner),
|
|
204
|
+
profileName: owner.name,
|
|
205
|
+
nextWorkerBotId: next?.id || null,
|
|
206
|
+
nextWorkerName: next?.name || null,
|
|
207
|
+
nextWorkerRole: next ? (nextStep?.role || data.getAgentOrchestrationRoleLabel(next)) : null,
|
|
208
|
+
taskPrompt,
|
|
209
|
+
actor: { actorType: 'orchestrator', actorId: ctx.orchestratorActor.actorId },
|
|
210
|
+
});
|
|
211
|
+
tasks.push(task);
|
|
212
|
+
}
|
|
213
|
+
return { kind: 'create_workflow', tasks, assignedBots: resolvedBots };
|
|
214
|
+
}
|
|
215
|
+
// -----------------------------------------------------------------------------
|
|
216
|
+
// Small helpers
|
|
217
|
+
// -----------------------------------------------------------------------------
|
|
218
|
+
function buildTaskTitle(botName, role, taskInstructions, explicitTitle) {
|
|
219
|
+
const rawTitle = String(explicitTitle || '').trim();
|
|
220
|
+
const summary = (rawTitle || taskInstructions).trim().replace(/\s+/g, ' ').slice(0, 96);
|
|
221
|
+
const title = summary || 'Assigned task';
|
|
222
|
+
if (title.toLowerCase().startsWith(`${botName.toLowerCase()}:`))
|
|
223
|
+
return title;
|
|
224
|
+
const roleLabel = !rawTitle && role && role.trim() ? ` (${role.trim()})` : '';
|
|
225
|
+
return `${botName}${roleLabel}: ${title}`;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Derive a default success criteria when the LLM doesn't provide one.
|
|
229
|
+
* The DB's orchestrator path requires a non-empty successCriteria, so we
|
|
230
|
+
* synthesize a short version from the task instructions rather than
|
|
231
|
+
* forcing the orchestrator LLM to articulate criteria for trivial tasks.
|
|
232
|
+
*/
|
|
233
|
+
function deriveDefaultSuccessCriteria(taskInstructions) {
|
|
234
|
+
const trimmed = taskInstructions.trim().replace(/\s+/g, ' ');
|
|
235
|
+
const brief = trimmed.length > 200 ? `${trimmed.slice(0, 197)}...` : trimmed;
|
|
236
|
+
return `Task completed as specified: ${brief}`;
|
|
237
|
+
}
|
|
238
|
+
function inferTaskType(role, bot) {
|
|
239
|
+
const inferred = (0, capabilities_1.inferTaskTypeFromCapabilities)(role, data.getAgentRolePriorities(bot), 'coding');
|
|
240
|
+
if (inferred !== 'coding' || !role)
|
|
241
|
+
return inferred;
|
|
242
|
+
const fromRole = (role || '').trim().toLowerCase();
|
|
243
|
+
if (fromRole === 'qa' || fromRole === 'review')
|
|
244
|
+
return 'qa';
|
|
245
|
+
if (fromRole === 'research' || fromRole === 'brainstorm' || fromRole === 'planning')
|
|
246
|
+
return 'research';
|
|
247
|
+
if (fromRole === 'verify' || fromRole === 'verification')
|
|
248
|
+
return 'verify';
|
|
249
|
+
if (fromRole === 'deploy' || fromRole === 'deployment')
|
|
250
|
+
return 'deploy';
|
|
251
|
+
if (fromRole === 'coding' || fromRole === 'code')
|
|
252
|
+
return 'coding';
|
|
253
|
+
// Fall back to the bot's first priority role (normalized), else 'coding' as neutral default.
|
|
254
|
+
const primaries = data.getAgentRolePriorities(bot);
|
|
255
|
+
const primary = (primaries[0] || '').trim().toLowerCase();
|
|
256
|
+
if (primary === 'qa' || primary === 'review' || primary === 'quality assurance')
|
|
257
|
+
return 'qa';
|
|
258
|
+
if (primary === 'research' || primary === 'brainstorm' || primary === 'planning')
|
|
259
|
+
return 'research';
|
|
260
|
+
if (primary === 'verify' || primary === 'verification')
|
|
261
|
+
return 'verify';
|
|
262
|
+
if (primary === 'deploy' || primary === 'deployment')
|
|
263
|
+
return 'deploy';
|
|
264
|
+
return 'coding';
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=dispatch-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-executor.js","sourceRoot":"","sources":["../../src/orchestration/dispatch-executor.ts"],"names":[],"mappings":"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"}
|