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,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestration dispatch tools (Phase A — dead code).
|
|
3
|
+
*
|
|
4
|
+
* Per orchestration-plan.txt Decisions 1-5, the orchestrator LLM gets three
|
|
5
|
+
* new structured tools that REPLACE the regex-based dispatcher:
|
|
6
|
+
*
|
|
7
|
+
* - reply_directly(text) — answer the user, no delegation
|
|
8
|
+
* - delegate_single(task, bot_name?, role?, ...) — one worker, one TODO
|
|
9
|
+
* - create_workflow(steps[]) — ordered multi-step workflow
|
|
10
|
+
*
|
|
11
|
+
* This module defines the tool SCHEMAS, pure VALIDATORS, and pure EXECUTOR
|
|
12
|
+
* functions. Nothing here is wired into the live tool registry yet — that
|
|
13
|
+
* happens in Phase A Step 6 (feature flag) once the rest of Phase A is in.
|
|
14
|
+
*
|
|
15
|
+
* Per Decision 6, landing this as dead code lets the dispatch/validator
|
|
16
|
+
* logic be unit-tested in isolation and swapped in behind a flag without
|
|
17
|
+
* touching the old regex path until Phase B.
|
|
18
|
+
*/
|
|
19
|
+
import * as data from '../local-data';
|
|
20
|
+
export declare const REPLY_DIRECTLY_SCHEMA: {
|
|
21
|
+
readonly name: "reply_directly";
|
|
22
|
+
readonly description: string;
|
|
23
|
+
readonly parameters: {
|
|
24
|
+
readonly type: "object";
|
|
25
|
+
readonly properties: {
|
|
26
|
+
readonly text: {
|
|
27
|
+
readonly type: "string";
|
|
28
|
+
readonly description: "The reply text the user will see.";
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
readonly required: readonly ["text"];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export declare const DELEGATE_SINGLE_SCHEMA: {
|
|
35
|
+
readonly name: "delegate_single";
|
|
36
|
+
readonly description: string;
|
|
37
|
+
readonly parameters: {
|
|
38
|
+
readonly type: "object";
|
|
39
|
+
readonly properties: {
|
|
40
|
+
readonly task_instructions: {
|
|
41
|
+
readonly type: "string";
|
|
42
|
+
readonly description: "Full instructions for the worker. Be specific about what to produce.";
|
|
43
|
+
};
|
|
44
|
+
readonly title: {
|
|
45
|
+
readonly type: "string";
|
|
46
|
+
readonly description: "Optional short user-facing TODO title for this worker task.";
|
|
47
|
+
};
|
|
48
|
+
readonly bot_name: {
|
|
49
|
+
readonly type: "string";
|
|
50
|
+
readonly description: "Name of a specific bot to dispatch to. Must be an active bot in this conversation.";
|
|
51
|
+
};
|
|
52
|
+
readonly role: {
|
|
53
|
+
readonly type: "string";
|
|
54
|
+
readonly description: "Role label (e.g. \"coding\", \"qa\", \"verify\"). When bot_name is absent, highest-priority bot for this role is picked. When bot_name is present, role is informational only.";
|
|
55
|
+
};
|
|
56
|
+
readonly success_criteria: {
|
|
57
|
+
readonly type: "string";
|
|
58
|
+
readonly description: "Optional. How to evaluate completion.";
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
readonly required: readonly ["task_instructions"];
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const CREATE_WORKFLOW_SCHEMA: {
|
|
65
|
+
readonly name: "create_workflow";
|
|
66
|
+
readonly description: string;
|
|
67
|
+
readonly parameters: {
|
|
68
|
+
readonly type: "object";
|
|
69
|
+
readonly properties: {
|
|
70
|
+
readonly steps: {
|
|
71
|
+
readonly type: "array";
|
|
72
|
+
readonly description: "Ordered list of workflow steps. Must have at least one step.";
|
|
73
|
+
readonly items: {
|
|
74
|
+
readonly type: "object";
|
|
75
|
+
readonly properties: {
|
|
76
|
+
readonly task_instructions: {
|
|
77
|
+
readonly type: "string";
|
|
78
|
+
readonly description: "Instructions for this step's worker.";
|
|
79
|
+
};
|
|
80
|
+
readonly title: {
|
|
81
|
+
readonly type: "string";
|
|
82
|
+
readonly description: "Optional short user-facing TODO title for this workflow step.";
|
|
83
|
+
};
|
|
84
|
+
readonly bot_name: {
|
|
85
|
+
readonly type: "string";
|
|
86
|
+
readonly description: "Specific bot to run this step. Optional if role is provided.";
|
|
87
|
+
};
|
|
88
|
+
readonly role: {
|
|
89
|
+
readonly type: "string";
|
|
90
|
+
readonly description: "Role label for bot selection. Optional if bot_name is provided.";
|
|
91
|
+
};
|
|
92
|
+
readonly success_criteria: {
|
|
93
|
+
readonly type: "string";
|
|
94
|
+
readonly description: "Optional. Completion criteria for this step.";
|
|
95
|
+
};
|
|
96
|
+
readonly handoff_to_next: {
|
|
97
|
+
readonly type: "string";
|
|
98
|
+
readonly description: "Optional. Context the next step's worker should know.";
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
readonly required: readonly ["task_instructions"];
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
readonly required: readonly ["steps"];
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
export interface ReplyDirectlyArgs {
|
|
109
|
+
text: string;
|
|
110
|
+
}
|
|
111
|
+
export interface DelegateSingleArgs {
|
|
112
|
+
task_instructions: string;
|
|
113
|
+
title?: string;
|
|
114
|
+
bot_name?: string;
|
|
115
|
+
role?: string;
|
|
116
|
+
success_criteria?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface WorkflowStepArgs {
|
|
119
|
+
task_instructions: string;
|
|
120
|
+
title?: string;
|
|
121
|
+
bot_name?: string;
|
|
122
|
+
role?: string;
|
|
123
|
+
success_criteria?: string;
|
|
124
|
+
handoff_to_next?: string;
|
|
125
|
+
}
|
|
126
|
+
export interface CreateWorkflowArgs {
|
|
127
|
+
steps: WorkflowStepArgs[];
|
|
128
|
+
}
|
|
129
|
+
export type ValidationResult = {
|
|
130
|
+
ok: true;
|
|
131
|
+
} | {
|
|
132
|
+
ok: false;
|
|
133
|
+
error: string;
|
|
134
|
+
};
|
|
135
|
+
export interface DispatchValidationContext {
|
|
136
|
+
/** Set of bot names considered valid for dispatch in the current conversation. */
|
|
137
|
+
availableBotNames: Set<string>;
|
|
138
|
+
/** Set of role labels (normalized per rolesMatch) present somewhere in the roster. */
|
|
139
|
+
availableRolesNormalized: Set<string>;
|
|
140
|
+
/** Original role/capability labels, used for capability-family matching. */
|
|
141
|
+
availableRoleLabels?: Set<string>;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Build the validation context from the conversation's active bots.
|
|
145
|
+
* Keyed off `is_active=true` bots in the roster passed in. Roles are normalized
|
|
146
|
+
* (case-insensitive + whitespace-collapsed) per Decision 2 matching rules.
|
|
147
|
+
*/
|
|
148
|
+
export declare function buildDispatchValidationContext(activeBots: data.AgentProfileRow[]): DispatchValidationContext;
|
|
149
|
+
export declare function validateReplyDirectly(args: ReplyDirectlyArgs): ValidationResult;
|
|
150
|
+
export declare function validateDelegateSingle(args: DelegateSingleArgs, ctx: DispatchValidationContext): ValidationResult;
|
|
151
|
+
export declare function validateCreateWorkflow(args: CreateWorkflowArgs, ctx: DispatchValidationContext): ValidationResult;
|
|
152
|
+
export interface RoleResolutionContext {
|
|
153
|
+
/** All active bots eligible to receive work. */
|
|
154
|
+
activeBots: data.AgentProfileRow[];
|
|
155
|
+
/** Bot names that already have active TODOs in this conversation (used for tie-break). */
|
|
156
|
+
botsWithActiveTodos: Set<string>;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Given a role string and the conversation roster, pick the bot to run it.
|
|
160
|
+
* Priority rules (Decision 2):
|
|
161
|
+
* 1. Bot where this role appears earliest (lower index = higher priority).
|
|
162
|
+
* 2. Tie-break: prefer a bot NOT already in the conversation's active TODOs.
|
|
163
|
+
* 3. Further tie: alphabetical by bot name (deterministic).
|
|
164
|
+
* Returns null when no active bot has that role anywhere in its priorities.
|
|
165
|
+
*/
|
|
166
|
+
export declare function resolveBotForRole(role: string, ctx: RoleResolutionContext): data.AgentProfileRow | null;
|
|
167
|
+
//# sourceMappingURL=dispatch-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-tools.d.ts","sourceRoot":"","sources":["../../src/orchestration/dispatch-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAOtC,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAgBxB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCzB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CzB,CAAC;AAMX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAMD,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,MAAM,WAAW,yBAAyB;IACxC,kFAAkF;IAClF,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,sFAAsF;IACtF,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAMD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,yBAAyB,CAe5G;AAwBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,CAK/E;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,yBAAyB,GAC7B,gBAAgB,CA4BlB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,yBAAyB,GAC7B,gBAAgB,CAqClB;AAMD,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IACnC,0FAA0F;IAC1F,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,qBAAqB,GACzB,IAAI,CAAC,eAAe,GAAG,IAAI,CA4B7B"}
|
|
@@ -0,0 +1,328 @@
|
|
|
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.CREATE_WORKFLOW_SCHEMA = exports.DELEGATE_SINGLE_SCHEMA = exports.REPLY_DIRECTLY_SCHEMA = void 0;
|
|
37
|
+
exports.buildDispatchValidationContext = buildDispatchValidationContext;
|
|
38
|
+
exports.validateReplyDirectly = validateReplyDirectly;
|
|
39
|
+
exports.validateDelegateSingle = validateDelegateSingle;
|
|
40
|
+
exports.validateCreateWorkflow = validateCreateWorkflow;
|
|
41
|
+
exports.resolveBotForRole = resolveBotForRole;
|
|
42
|
+
/**
|
|
43
|
+
* Orchestration dispatch tools (Phase A — dead code).
|
|
44
|
+
*
|
|
45
|
+
* Per orchestration-plan.txt Decisions 1-5, the orchestrator LLM gets three
|
|
46
|
+
* new structured tools that REPLACE the regex-based dispatcher:
|
|
47
|
+
*
|
|
48
|
+
* - reply_directly(text) — answer the user, no delegation
|
|
49
|
+
* - delegate_single(task, bot_name?, role?, ...) — one worker, one TODO
|
|
50
|
+
* - create_workflow(steps[]) — ordered multi-step workflow
|
|
51
|
+
*
|
|
52
|
+
* This module defines the tool SCHEMAS, pure VALIDATORS, and pure EXECUTOR
|
|
53
|
+
* functions. Nothing here is wired into the live tool registry yet — that
|
|
54
|
+
* happens in Phase A Step 6 (feature flag) once the rest of Phase A is in.
|
|
55
|
+
*
|
|
56
|
+
* Per Decision 6, landing this as dead code lets the dispatch/validator
|
|
57
|
+
* logic be unit-tested in isolation and swapped in behind a flag without
|
|
58
|
+
* touching the old regex path until Phase B.
|
|
59
|
+
*/
|
|
60
|
+
const data = __importStar(require("../local-data"));
|
|
61
|
+
const capabilities_1 = require("./capabilities");
|
|
62
|
+
// -----------------------------------------------------------------------------
|
|
63
|
+
// Tool schemas (JSON-schema-lite — same shape used elsewhere in tools/)
|
|
64
|
+
// -----------------------------------------------------------------------------
|
|
65
|
+
exports.REPLY_DIRECTLY_SCHEMA = {
|
|
66
|
+
name: 'reply_directly',
|
|
67
|
+
description: 'Answer the user directly without delegating to any worker bot. Use when ' +
|
|
68
|
+
'the user prompt does not require bot-level work (simple question, ' +
|
|
69
|
+
'clarification, summary, greeting, etc.).',
|
|
70
|
+
parameters: {
|
|
71
|
+
type: 'object',
|
|
72
|
+
properties: {
|
|
73
|
+
text: {
|
|
74
|
+
type: 'string',
|
|
75
|
+
description: 'The reply text the user will see.',
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
required: ['text'],
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
exports.DELEGATE_SINGLE_SCHEMA = {
|
|
82
|
+
name: 'delegate_single',
|
|
83
|
+
description: 'Delegate a single task to one worker bot. Creates one TODO. Provide ' +
|
|
84
|
+
'`bot_name` to dispatch to a specific bot, OR `role` to pick the best bot ' +
|
|
85
|
+
'by priority list, OR both (bot_name wins when both given). At least one ' +
|
|
86
|
+
'of `bot_name` or `role` is required.',
|
|
87
|
+
parameters: {
|
|
88
|
+
type: 'object',
|
|
89
|
+
properties: {
|
|
90
|
+
task_instructions: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
description: 'Full instructions for the worker. Be specific about what to produce.',
|
|
93
|
+
},
|
|
94
|
+
title: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
description: 'Optional short user-facing TODO title for this worker task.',
|
|
97
|
+
},
|
|
98
|
+
bot_name: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
description: 'Name of a specific bot to dispatch to. Must be an active bot in this conversation.',
|
|
101
|
+
},
|
|
102
|
+
role: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
description: 'Role label (e.g. "coding", "qa", "verify"). When bot_name is absent, highest-priority bot for this role is picked. When bot_name is present, role is informational only.',
|
|
105
|
+
},
|
|
106
|
+
success_criteria: {
|
|
107
|
+
type: 'string',
|
|
108
|
+
description: 'Optional. How to evaluate completion.',
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
required: ['task_instructions'],
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
exports.CREATE_WORKFLOW_SCHEMA = {
|
|
115
|
+
name: 'create_workflow',
|
|
116
|
+
description: 'Create an ordered multi-step workflow. Each step creates one TODO ' +
|
|
117
|
+
'dispatched to one worker bot. Steps execute in order; each worker sees ' +
|
|
118
|
+
'optional handoff context from the prior step. Use when the user needs ' +
|
|
119
|
+
'multiple roles in sequence (e.g. build → QA → verify).',
|
|
120
|
+
parameters: {
|
|
121
|
+
type: 'object',
|
|
122
|
+
properties: {
|
|
123
|
+
steps: {
|
|
124
|
+
type: 'array',
|
|
125
|
+
description: 'Ordered list of workflow steps. Must have at least one step.',
|
|
126
|
+
items: {
|
|
127
|
+
type: 'object',
|
|
128
|
+
properties: {
|
|
129
|
+
task_instructions: {
|
|
130
|
+
type: 'string',
|
|
131
|
+
description: 'Instructions for this step\'s worker.',
|
|
132
|
+
},
|
|
133
|
+
title: {
|
|
134
|
+
type: 'string',
|
|
135
|
+
description: 'Optional short user-facing TODO title for this workflow step.',
|
|
136
|
+
},
|
|
137
|
+
bot_name: {
|
|
138
|
+
type: 'string',
|
|
139
|
+
description: 'Specific bot to run this step. Optional if role is provided.',
|
|
140
|
+
},
|
|
141
|
+
role: {
|
|
142
|
+
type: 'string',
|
|
143
|
+
description: 'Role label for bot selection. Optional if bot_name is provided.',
|
|
144
|
+
},
|
|
145
|
+
success_criteria: {
|
|
146
|
+
type: 'string',
|
|
147
|
+
description: 'Optional. Completion criteria for this step.',
|
|
148
|
+
},
|
|
149
|
+
handoff_to_next: {
|
|
150
|
+
type: 'string',
|
|
151
|
+
description: 'Optional. Context the next step\'s worker should know.',
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
required: ['task_instructions'],
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
required: ['steps'],
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
function normalizeRole(raw) {
|
|
162
|
+
return String(raw || '').trim().replace(/\s+/g, ' ').toLowerCase();
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Build the validation context from the conversation's active bots.
|
|
166
|
+
* Keyed off `is_active=true` bots in the roster passed in. Roles are normalized
|
|
167
|
+
* (case-insensitive + whitespace-collapsed) per Decision 2 matching rules.
|
|
168
|
+
*/
|
|
169
|
+
function buildDispatchValidationContext(activeBots) {
|
|
170
|
+
const availableBotNames = new Set();
|
|
171
|
+
const availableRolesNormalized = new Set();
|
|
172
|
+
const availableRoleLabels = new Set();
|
|
173
|
+
for (const bot of activeBots) {
|
|
174
|
+
if (!bot.is_active)
|
|
175
|
+
continue;
|
|
176
|
+
const name = (bot.name || '').trim();
|
|
177
|
+
if (name)
|
|
178
|
+
availableBotNames.add(name);
|
|
179
|
+
for (const role of data.getAgentRolePriorities(bot)) {
|
|
180
|
+
const norm = normalizeRole(role);
|
|
181
|
+
if (norm)
|
|
182
|
+
availableRolesNormalized.add(norm);
|
|
183
|
+
if (role.trim())
|
|
184
|
+
availableRoleLabels.add(role.trim());
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return { availableBotNames, availableRolesNormalized, availableRoleLabels };
|
|
188
|
+
}
|
|
189
|
+
function isKnownBot(name, ctx) {
|
|
190
|
+
const trimmed = name.trim();
|
|
191
|
+
if (!trimmed)
|
|
192
|
+
return false;
|
|
193
|
+
// Case-insensitive bot-name match — forgiving.
|
|
194
|
+
const lower = trimmed.toLowerCase();
|
|
195
|
+
for (const known of ctx.availableBotNames) {
|
|
196
|
+
if (known.toLowerCase() === lower)
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
function isKnownRole(role, ctx) {
|
|
202
|
+
if (ctx.availableRolesNormalized.has(normalizeRole(role)))
|
|
203
|
+
return true;
|
|
204
|
+
const requestedCaps = (0, capabilities_1.matchCapabilityIds)([role]);
|
|
205
|
+
if (requestedCaps.length === 0)
|
|
206
|
+
return false;
|
|
207
|
+
for (const available of ctx.availableRoleLabels || ctx.availableRolesNormalized) {
|
|
208
|
+
const availableCaps = (0, capabilities_1.matchCapabilityIds)([available]);
|
|
209
|
+
if (requestedCaps.some((cap) => availableCaps.includes(cap)))
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
function validateReplyDirectly(args) {
|
|
215
|
+
if (!args || typeof args.text !== 'string' || !args.text.trim()) {
|
|
216
|
+
return { ok: false, error: 'reply_directly requires non-empty `text`.' };
|
|
217
|
+
}
|
|
218
|
+
return { ok: true };
|
|
219
|
+
}
|
|
220
|
+
function validateDelegateSingle(args, ctx) {
|
|
221
|
+
if (!args || typeof args.task_instructions !== 'string' || !args.task_instructions.trim()) {
|
|
222
|
+
return { ok: false, error: 'delegate_single requires non-empty `task_instructions`.' };
|
|
223
|
+
}
|
|
224
|
+
const hasBot = typeof args.bot_name === 'string' && args.bot_name.trim().length > 0;
|
|
225
|
+
const hasRole = typeof args.role === 'string' && args.role.trim().length > 0;
|
|
226
|
+
if (!hasBot && !hasRole) {
|
|
227
|
+
return {
|
|
228
|
+
ok: false,
|
|
229
|
+
error: `delegate_single requires at least one of \`bot_name\` or \`role\`. Available bots: ${Array.from(ctx.availableBotNames).join(', ') || '(none)'}. Available roles: ${Array.from(ctx.availableRolesNormalized).join(', ') || '(none)'}.`,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
if (hasBot && !isKnownBot(args.bot_name, ctx)) {
|
|
233
|
+
return {
|
|
234
|
+
ok: false,
|
|
235
|
+
error: `Unknown bot_name "${args.bot_name}". Active bots in this conversation: ${Array.from(ctx.availableBotNames).join(', ') || '(none)'}.`,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
// If role is provided AND bot_name is absent, the role must resolve.
|
|
239
|
+
// If both are provided, role is informational and we do not reject on mismatch
|
|
240
|
+
// (per Decision 2: bot_name wins; role is metadata when both present).
|
|
241
|
+
if (hasRole && !hasBot && !isKnownRole(args.role, ctx)) {
|
|
242
|
+
return {
|
|
243
|
+
ok: false,
|
|
244
|
+
error: `Unknown role "${args.role}". No active bot has this role in its priority list. Available roles: ${Array.from(ctx.availableRolesNormalized).join(', ') || '(none)'}.`,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
return { ok: true };
|
|
248
|
+
}
|
|
249
|
+
function validateCreateWorkflow(args, ctx) {
|
|
250
|
+
if (!args || !Array.isArray(args.steps)) {
|
|
251
|
+
return { ok: false, error: 'create_workflow requires a `steps` array.' };
|
|
252
|
+
}
|
|
253
|
+
if (args.steps.length === 0) {
|
|
254
|
+
return { ok: false, error: 'create_workflow `steps` array must contain at least one step.' };
|
|
255
|
+
}
|
|
256
|
+
for (let i = 0; i < args.steps.length; i += 1) {
|
|
257
|
+
const step = args.steps[i];
|
|
258
|
+
if (!step || typeof step !== 'object') {
|
|
259
|
+
return { ok: false, error: `create_workflow step ${i + 1} is not an object.` };
|
|
260
|
+
}
|
|
261
|
+
if (typeof step.task_instructions !== 'string' || !step.task_instructions.trim()) {
|
|
262
|
+
return { ok: false, error: `create_workflow step ${i + 1} requires non-empty \`task_instructions\`.` };
|
|
263
|
+
}
|
|
264
|
+
const hasBot = typeof step.bot_name === 'string' && step.bot_name.trim().length > 0;
|
|
265
|
+
const hasRole = typeof step.role === 'string' && step.role.trim().length > 0;
|
|
266
|
+
if (!hasBot && !hasRole) {
|
|
267
|
+
return {
|
|
268
|
+
ok: false,
|
|
269
|
+
error: `create_workflow step ${i + 1} requires at least one of \`bot_name\` or \`role\`.`,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
if (hasBot && !isKnownBot(step.bot_name, ctx)) {
|
|
273
|
+
return {
|
|
274
|
+
ok: false,
|
|
275
|
+
error: `create_workflow step ${i + 1}: unknown bot_name "${step.bot_name}". Active bots: ${Array.from(ctx.availableBotNames).join(', ') || '(none)'}.`,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
if (hasRole && !hasBot && !isKnownRole(step.role, ctx)) {
|
|
279
|
+
return {
|
|
280
|
+
ok: false,
|
|
281
|
+
error: `create_workflow step ${i + 1}: unknown role "${step.role}". Available roles: ${Array.from(ctx.availableRolesNormalized).join(', ') || '(none)'}.`,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
return { ok: true };
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Given a role string and the conversation roster, pick the bot to run it.
|
|
289
|
+
* Priority rules (Decision 2):
|
|
290
|
+
* 1. Bot where this role appears earliest (lower index = higher priority).
|
|
291
|
+
* 2. Tie-break: prefer a bot NOT already in the conversation's active TODOs.
|
|
292
|
+
* 3. Further tie: alphabetical by bot name (deterministic).
|
|
293
|
+
* Returns null when no active bot has that role anywhere in its priorities.
|
|
294
|
+
*/
|
|
295
|
+
function resolveBotForRole(role, ctx) {
|
|
296
|
+
const target = normalizeRole(role);
|
|
297
|
+
if (!target)
|
|
298
|
+
return null;
|
|
299
|
+
const targetCapabilities = (0, capabilities_1.matchCapabilityIds)([role]);
|
|
300
|
+
const candidates = [];
|
|
301
|
+
for (const bot of ctx.activeBots) {
|
|
302
|
+
if (!bot.is_active)
|
|
303
|
+
continue;
|
|
304
|
+
const priorities = data.getAgentRolePriorities(bot);
|
|
305
|
+
for (let i = 0; i < priorities.length; i += 1) {
|
|
306
|
+
const priorityCapabilities = (0, capabilities_1.matchCapabilityIds)([priorities[i]]);
|
|
307
|
+
const capabilityMatch = targetCapabilities.length > 0
|
|
308
|
+
&& targetCapabilities.some((cap) => priorityCapabilities.includes(cap));
|
|
309
|
+
if (normalizeRole(priorities[i]) === target || capabilityMatch) {
|
|
310
|
+
candidates.push({ bot, position: i });
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
if (candidates.length === 0)
|
|
316
|
+
return null;
|
|
317
|
+
candidates.sort((a, b) => {
|
|
318
|
+
if (a.position !== b.position)
|
|
319
|
+
return a.position - b.position;
|
|
320
|
+
const aBusy = ctx.botsWithActiveTodos.has(a.bot.name) ? 1 : 0;
|
|
321
|
+
const bBusy = ctx.botsWithActiveTodos.has(b.bot.name) ? 1 : 0;
|
|
322
|
+
if (aBusy !== bBusy)
|
|
323
|
+
return aBusy - bBusy;
|
|
324
|
+
return a.bot.name.localeCompare(b.bot.name);
|
|
325
|
+
});
|
|
326
|
+
return candidates[0].bot;
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=dispatch-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-tools.js","sourceRoot":"","sources":["../../src/orchestration/dispatch-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,30 @@
|
|
|
1
1
|
import type { OrchestratorFrontDoorDecision, SpecialistInfo } from './orchestrator-operating-prompt';
|
|
2
|
+
/**
|
|
3
|
+
* This module was a regex-based post-classifier on the orchestrator
|
|
4
|
+
* LLM's front-door decision. It scanned prompts for bot names, role
|
|
5
|
+
* keywords, workflow names, and orchestration language, and could
|
|
6
|
+
* silently override the LLM's mode (execute_self / delegate / workflow /
|
|
7
|
+
* clarify / respond) when the regex disagreed.
|
|
8
|
+
*
|
|
9
|
+
* Codex audit HIGH #5 (2026-04-19) flagged this as a semantic-classifier
|
|
10
|
+
* anti-pattern: runtime should not decide mode/role/route from English
|
|
11
|
+
* prose. Phase B uses structured tool-call dispatch (delegate_single /
|
|
12
|
+
* create_workflow / reply_directly) emitted by the orchestrator LLM;
|
|
13
|
+
* the LLM's decision is the source of truth. Runtime must not override
|
|
14
|
+
* it via regex on the user prompt.
|
|
15
|
+
*
|
|
16
|
+
* All exports here are now no-op stubs that preserve their signatures
|
|
17
|
+
* so existing call sites compile, but return "neutral" values:
|
|
18
|
+
* - inferFrontDoorTaskType → 'conversation' (non-specific)
|
|
19
|
+
* - extractFrontDoorSignals → empty signals
|
|
20
|
+
* - applyFrontDoorPolicy → returns the LLM's decision unchanged
|
|
21
|
+
* - isContextualWorkerReferencePrompt → false
|
|
22
|
+
*
|
|
23
|
+
* Plan: once all callers are migrated to the structured dispatch path,
|
|
24
|
+
* delete this file and its call sites entirely. Until then, these
|
|
25
|
+
* neutralized stubs ensure the old path cannot silently overrule the
|
|
26
|
+
* LLM with regex.
|
|
27
|
+
*/
|
|
2
28
|
export interface FrontDoorRoleAssignments {
|
|
3
29
|
coding?: string;
|
|
4
30
|
qa?: string;
|
|
@@ -38,17 +64,16 @@ export interface FrontDoorPolicyResult {
|
|
|
38
64
|
explicitWorkflowRequested: boolean;
|
|
39
65
|
signals: FrontDoorSignals;
|
|
40
66
|
}
|
|
41
|
-
|
|
42
|
-
export declare function
|
|
43
|
-
|
|
67
|
+
/** DEPRECATED — returns 'conversation'. Codex #5: no regex task typing. */
|
|
68
|
+
export declare function inferFrontDoorTaskType(_prompt: string): FrontDoorPolicyResult['taskType'];
|
|
69
|
+
/** DEPRECATED — returns empty signals. Codex #5: no regex signal extraction. */
|
|
70
|
+
export declare function extractFrontDoorSignals(_input: FrontDoorSignalInput): FrontDoorSignals;
|
|
71
|
+
/** DEPRECATED — returns false. Codex #5: no regex review-prompt detection. */
|
|
72
|
+
export declare function isContextualWorkerReferencePrompt(_prompt: string): boolean;
|
|
44
73
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* - explicit orchestration requests should not silently fall through to execute_self
|
|
49
|
-
* - a single named worker/role can justify delegate when the task is clearly
|
|
50
|
-
* actionable and worker-owned
|
|
51
|
-
* - multi-worker or named workflow requests prefer workflow
|
|
74
|
+
* DEPRECATED — returns the LLM's initial decision unchanged. Codex #5:
|
|
75
|
+
* runtime must not override LLM mode via regex on the user prompt.
|
|
76
|
+
* The orchestrator LLM's front-door decision is the source of truth.
|
|
52
77
|
*/
|
|
53
78
|
export declare function applyFrontDoorPolicy(input: FrontDoorPolicyInput): FrontDoorPolicyResult;
|
|
54
79
|
//# sourceMappingURL=front-door-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"front-door-policy.d.ts","sourceRoot":"","sources":["../../src/orchestration/front-door-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAErG,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,wBAAwB,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;IAClD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,8BAA8B,EAAE,OAAO,CAAC;IACxC,aAAa,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,eAAe,EAAE,6BAA6B,CAAC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,6BAA6B,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC;IACrG,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IAC3D,0BAA0B,EAAE,OAAO,CAAC;IACpC,yBAAyB,EAAE,OAAO,CAAC;IACnC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"front-door-policy.d.ts","sourceRoot":"","sources":["../../src/orchestration/front-door-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,wBAAwB,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC;IAClD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,8BAA8B,EAAE,OAAO,CAAC;IACxC,aAAa,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,eAAe,EAAE,6BAA6B,CAAC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,6BAA6B,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC;IACrG,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IAC3D,0BAA0B,EAAE,OAAO,CAAC;IACpC,yBAAyB,EAAE,OAAO,CAAC;IACnC,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAgBD,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAEzF;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,oBAAoB,GAAG,gBAAgB,CAEtF;AAED,8EAA8E;AAC9E,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB,CAWvF"}
|