funolio-agent 1.0.53 → 1.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/approval.d.ts +1 -6
  2. package/dist/approval.d.ts.map +1 -1
  3. package/dist/approval.js +2 -7
  4. package/dist/approval.js.map +1 -1
  5. package/dist/bot-manager.d.ts +5 -1
  6. package/dist/bot-manager.d.ts.map +1 -1
  7. package/dist/bot-manager.js +23 -13
  8. package/dist/bot-manager.js.map +1 -1
  9. package/dist/cli-session-epoch.d.ts +1 -1
  10. package/dist/cli-session-epoch.d.ts.map +1 -1
  11. package/dist/cli-session-epoch.js +1 -1
  12. package/dist/cli-session-epoch.js.map +1 -1
  13. package/dist/cli-session-registry.d.ts +35 -0
  14. package/dist/cli-session-registry.d.ts.map +1 -0
  15. package/dist/cli-session-registry.js +177 -0
  16. package/dist/cli-session-registry.js.map +1 -0
  17. package/dist/cli.js +62 -0
  18. package/dist/cli.js.map +1 -1
  19. package/dist/codex-app-server-manager.d.ts +129 -0
  20. package/dist/codex-app-server-manager.d.ts.map +1 -0
  21. package/dist/codex-app-server-manager.js +768 -0
  22. package/dist/codex-app-server-manager.js.map +1 -0
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +8 -30
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/setup.d.ts +4 -1
  27. package/dist/commands/setup.d.ts.map +1 -1
  28. package/dist/commands/setup.js +9 -25
  29. package/dist/commands/setup.js.map +1 -1
  30. package/dist/commands/start.d.ts.map +1 -1
  31. package/dist/commands/start.js +77 -2
  32. package/dist/commands/start.js.map +1 -1
  33. package/dist/completion-marker.d.ts +7 -0
  34. package/dist/completion-marker.d.ts.map +1 -0
  35. package/dist/completion-marker.js +28 -0
  36. package/dist/completion-marker.js.map +1 -0
  37. package/dist/config.d.ts +6 -2
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js +15 -3
  40. package/dist/config.js.map +1 -1
  41. package/dist/context-window.d.ts.map +1 -1
  42. package/dist/context-window.js +8 -1
  43. package/dist/context-window.js.map +1 -1
  44. package/dist/live-activity.d.ts +29 -0
  45. package/dist/live-activity.d.ts.map +1 -0
  46. package/dist/live-activity.js +36 -0
  47. package/dist/live-activity.js.map +1 -0
  48. package/dist/local-cli-pty-manager.d.ts +51 -0
  49. package/dist/local-cli-pty-manager.d.ts.map +1 -1
  50. package/dist/local-cli-pty-manager.js +1227 -114
  51. package/dist/local-cli-pty-manager.js.map +1 -1
  52. package/dist/local-data.d.ts +41 -0
  53. package/dist/local-data.d.ts.map +1 -1
  54. package/dist/local-data.js +140 -4
  55. package/dist/local-data.js.map +1 -1
  56. package/dist/local-db.d.ts.map +1 -1
  57. package/dist/local-db.js +55 -1
  58. package/dist/local-db.js.map +1 -1
  59. package/dist/local-server.d.ts +25 -0
  60. package/dist/local-server.d.ts.map +1 -1
  61. package/dist/local-server.js +528 -267
  62. package/dist/local-server.js.map +1 -1
  63. package/dist/message-loop.d.ts +6 -0
  64. package/dist/message-loop.d.ts.map +1 -1
  65. package/dist/message-loop.js +239 -89
  66. package/dist/message-loop.js.map +1 -1
  67. package/dist/mqtt-client.d.ts +10 -1
  68. package/dist/mqtt-client.d.ts.map +1 -1
  69. package/dist/mqtt-client.js +14 -1
  70. package/dist/mqtt-client.js.map +1 -1
  71. package/dist/oauth.d.ts.map +1 -1
  72. package/dist/oauth.js +69 -29
  73. package/dist/oauth.js.map +1 -1
  74. package/dist/orchestration/orchestrator-operating-prompt.d.ts +1 -0
  75. package/dist/orchestration/orchestrator-operating-prompt.d.ts.map +1 -1
  76. package/dist/orchestration/orchestrator-operating-prompt.js +60 -0
  77. package/dist/orchestration/orchestrator-operating-prompt.js.map +1 -1
  78. package/dist/orchestration/validation.d.ts +40 -0
  79. package/dist/orchestration/validation.d.ts.map +1 -0
  80. package/dist/orchestration/validation.js +203 -0
  81. package/dist/orchestration/validation.js.map +1 -0
  82. package/dist/orchestrator.d.ts +21 -32
  83. package/dist/orchestrator.d.ts.map +1 -1
  84. package/dist/orchestrator.js +287 -725
  85. package/dist/orchestrator.js.map +1 -1
  86. package/dist/providers/claude-cli-prompt.d.ts.map +1 -1
  87. package/dist/providers/claude-cli-prompt.js +49 -5
  88. package/dist/providers/claude-cli-prompt.js.map +1 -1
  89. package/dist/providers/claude-cli.d.ts.map +1 -1
  90. package/dist/providers/claude-cli.js +56 -5
  91. package/dist/providers/claude-cli.js.map +1 -1
  92. package/dist/providers/codex-cli.d.ts.map +1 -1
  93. package/dist/providers/codex-cli.js +15 -10
  94. package/dist/providers/codex-cli.js.map +1 -1
  95. package/dist/response-guard.js +1 -1
  96. package/dist/response-guard.js.map +1 -1
  97. package/dist/tools/admin-tools.d.ts.map +1 -1
  98. package/dist/tools/admin-tools.js +8 -2
  99. package/dist/tools/admin-tools.js.map +1 -1
  100. package/dist/tools/index.d.ts.map +1 -1
  101. package/dist/tools/index.js +2 -1
  102. package/dist/tools/index.js.map +1 -1
  103. package/dist/tools/search-conversation-history.d.ts +16 -0
  104. package/dist/tools/search-conversation-history.d.ts.map +1 -0
  105. package/dist/tools/search-conversation-history.js +324 -0
  106. package/dist/tools/search-conversation-history.js.map +1 -0
  107. package/dist/wizard-state.d.ts +7 -0
  108. package/dist/wizard-state.d.ts.map +1 -1
  109. package/dist/wizard-state.js +31 -2
  110. package/dist/wizard-state.js.map +1 -1
  111. package/dist/workflow-engine.d.ts +4 -1
  112. package/dist/workflow-engine.d.ts.map +1 -1
  113. package/dist/workflow-engine.js +190 -29
  114. package/dist/workflow-engine.js.map +1 -1
  115. package/package.json +1 -1
@@ -22,6 +22,7 @@ function buildOrchestratorOperatingPrompt(input) {
22
22
  const workflowLines = workflowNames.length > 0
23
23
  ? workflowNames.map((w) => `- "${w}"`).join('\n')
24
24
  : '(none)';
25
+ const localPromptContract = input.localPromptContract || 'legacy';
25
26
  const decisionOnly = input.decisionOnly !== false;
26
27
  const entryMode = input.entryMode || 'normal';
27
28
  const projectName = input.projectName?.trim() || '(none)';
@@ -60,6 +61,65 @@ ${signalLines || '- No additional signal details recorded.'}`
60
61
  Pay attention to the ENTIRE user prompt before deciding. The most important routing signal may appear anywhere in the prompt, including near the end.
61
62
  Default to handling the request yourself unless the code front door gives a strong delegation or workflow suggestion or the user clearly directs work to an available worker.
62
63
  ${signalLines || ''}`.trim();
64
+ if (localPromptContract !== 'legacy') {
65
+ return `You are acting as Orchestrator and ${primaryRole} in this request.
66
+
67
+ By default, you do the work yourself.
68
+
69
+ Only split the work when:
70
+ - part of the request clearly belongs to another listed bot or role
71
+ - the user explicitly asks for a named workflow
72
+ - the request clearly requires multiple bots doing different tasks
73
+
74
+ Workflow and TODOs are not the same.
75
+ Use a workflow only when the user explicitly asks for a named workflow.
76
+ Use TODOs when the work needs to be split across multiple bots or roles.
77
+
78
+ If you keep the work, do the work now in this same response.
79
+ If you split the work, create the needed TODOs and stop after clearly setting up the next step.
80
+
81
+ If the user mentions another bot only as context, history, or authorship, keep the work and handle it yourself.
82
+
83
+ Available Bots and Roles
84
+ ${specialistLines}
85
+
86
+ Named Workflows
87
+ ${workflowLines}
88
+
89
+ Project
90
+ - Name: ${projectName}
91
+ - Folder: ${projectFolder}
92
+ ${localPromptContract === 'api_or_fresh_cli'
93
+ ? `
94
+
95
+ Recent Summary
96
+ ${recentSummary}
97
+
98
+ Last 5 Turns
99
+ ${lastFiveTurns}`
100
+ : ''}
101
+
102
+ ${decisionOnly
103
+ ? `OUTPUT JSON ONLY
104
+ Return exactly one JSON object.
105
+ Do not wrap it in markdown fences.
106
+ Do not add commentary before or after the JSON.`
107
+ : `OUTPUT RULES
108
+ - If you keep the work, return the user-facing answer directly and do NOT return JSON.
109
+ - If you split the work, return exactly one JSON object.
110
+ - Do not wrap JSON in markdown fences.
111
+ - Do not add commentary before or after the JSON.`}
112
+ ${JSON.stringify({
113
+ mode: decisionOnly ? 'respond | execute_self | delegate | workflow | clarify' : 'respond | delegate | workflow | clarify',
114
+ reason: 'short explanation',
115
+ response: 'only for respond',
116
+ delegate_target: 'bot name or NONE',
117
+ delegate_role: 'coding | qa | research | none',
118
+ delegate_request: 'self-contained task',
119
+ workflow_request: 'short objective',
120
+ clarification_questions: [],
121
+ }, null, 2)}`;
122
+ }
63
123
  return `You are ${input.orchestratorName}.
64
124
 
65
125
  ${decisionOnly
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-operating-prompt.js","sourceRoot":"","sources":["../../src/orchestration/orchestrator-operating-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator-operating-prompt.js","sourceRoot":"","sources":["../../src/orchestration/orchestrator-operating-prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * LLM Output Validation Guardrails (Phase 3.4)
3
+ *
4
+ * Validates that the LLM's synthesized response accurately reflects
5
+ * actual tool results and workflow state before treating a task as "done".
6
+ *
7
+ * Non-blocking — validation failures add warnings but never prevent completion.
8
+ */
9
+ import type { WorkflowResult } from '../workflow-engine';
10
+ export interface ValidationResult {
11
+ valid: boolean;
12
+ confidence: number;
13
+ issues: ValidationIssue[];
14
+ }
15
+ export interface ValidationIssue {
16
+ type: 'unverified_claim' | 'tool_error_ignored' | 'checkpoint_incomplete' | 'no_tool_confirmation';
17
+ description: string;
18
+ severity: 'warning' | 'error';
19
+ }
20
+ /** Minimal shape expected from the messages table for audit scanning. */
21
+ export interface AuditMessage {
22
+ role: string;
23
+ content: string;
24
+ tool_calls_json: string | null;
25
+ }
26
+ /**
27
+ * Validate a completed workflow result against its audit trail.
28
+ *
29
+ * @param result The WorkflowResult from the workflow engine
30
+ * @param synthesized The synthesized user-facing response text
31
+ * @param messages Recent conversation messages (for tool-call audit)
32
+ * @param executionMode The execution mode used ('proxy' | 'workflow' | 'direct')
33
+ */
34
+ export declare function validateCompletion(result: WorkflowResult, synthesized: string, messages: AuditMessage[], executionMode: 'proxy' | 'workflow' | 'direct'): ValidationResult;
35
+ /**
36
+ * Format a validation warning to append to the synthesized response.
37
+ * Only called when there are "error" severity issues.
38
+ */
39
+ export declare function formatValidationWarning(result: ValidationResult): string;
40
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/orchestration/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AAIvE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EACA,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAsBD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,YAAY,EAAE,EACxB,aAAa,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAC7C,gBAAgB,CA6BlB;AA+KD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,GACvB,MAAM,CAMR"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ /**
3
+ * LLM Output Validation Guardrails (Phase 3.4)
4
+ *
5
+ * Validates that the LLM's synthesized response accurately reflects
6
+ * actual tool results and workflow state before treating a task as "done".
7
+ *
8
+ * Non-blocking — validation failures add warnings but never prevent completion.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.validateCompletion = validateCompletion;
12
+ exports.formatValidationWarning = formatValidationWarning;
13
+ // ─── Constants ───────────────────────────────────────────────────
14
+ /** File-operation verbs that, when found in a response, must have a matching tool call. */
15
+ const FILE_CLAIM_PATTERNS = [
16
+ /(?:created|wrote|added)\s+(?:a\s+)?(?:new\s+)?file\b/i,
17
+ /(?:modified|updated|edited|changed)\s+(?:the\s+)?file\b/i,
18
+ /(?:created|wrote|added)\s+`[^`]+`/i,
19
+ /(?:modified|updated|edited|changed)\s+`[^`]+`/i,
20
+ ];
21
+ const FILE_TOOL_NAMES = new Set([
22
+ 'write_file',
23
+ 'edit_file',
24
+ 'create_file',
25
+ 'patch_file',
26
+ 'str_replace_editor',
27
+ ]);
28
+ // ─── Core Validation ─────────────────────────────────────────────
29
+ /**
30
+ * Validate a completed workflow result against its audit trail.
31
+ *
32
+ * @param result The WorkflowResult from the workflow engine
33
+ * @param synthesized The synthesized user-facing response text
34
+ * @param messages Recent conversation messages (for tool-call audit)
35
+ * @param executionMode The execution mode used ('proxy' | 'workflow' | 'direct')
36
+ */
37
+ function validateCompletion(result, synthesized, messages, executionMode) {
38
+ const issues = [];
39
+ // Check 1: Tool errors ignored
40
+ checkToolErrorsIgnored(result, synthesized, messages, issues);
41
+ // Check 2: Checkpoint / step completeness
42
+ checkStepCompleteness(result, issues);
43
+ // Check 3: File operation claims without matching tool results
44
+ checkFileOperationClaims(synthesized, messages, issues);
45
+ // Check 4: No tool confirmation for delegated/workflow work
46
+ checkNoToolConfirmation(result, messages, executionMode, issues);
47
+ const errorCount = issues.filter((i) => i.severity === 'error').length;
48
+ const warningCount = issues.filter((i) => i.severity === 'warning').length;
49
+ // Confidence: start at 1.0, subtract for issues
50
+ const confidence = Math.max(0, 1.0 - errorCount * 0.3 - warningCount * 0.1);
51
+ return {
52
+ valid: errorCount === 0,
53
+ confidence: Math.round(confidence * 100) / 100,
54
+ issues,
55
+ };
56
+ }
57
+ // ─── Individual Checks ───────────────────────────────────────────
58
+ /**
59
+ * Check 1: Scan workflow steps and messages for tool errors.
60
+ * Flag if the synthesized response doesn't acknowledge them.
61
+ */
62
+ function checkToolErrorsIgnored(result, synthesized, messages, issues) {
63
+ // Check for failed steps whose errors aren't mentioned in the response
64
+ const failedSteps = result.steps.filter((s) => s.status === 'failed');
65
+ for (const step of failedSteps) {
66
+ if (step.error && !responseAcknowledgesError(synthesized, step.error)) {
67
+ issues.push({
68
+ type: 'tool_error_ignored',
69
+ description: `Step "${step.description}" failed with "${truncate(step.error, 120)}" but the response does not acknowledge this error.`,
70
+ severity: 'error',
71
+ });
72
+ }
73
+ }
74
+ // Check tool-result messages for ERROR: prefixes
75
+ for (const msg of messages) {
76
+ if (msg.role === 'tool' && msg.content.startsWith('ERROR:')) {
77
+ const errorSnippet = truncate(msg.content.slice(7).trim(), 80);
78
+ if (!responseAcknowledgesError(synthesized, errorSnippet)) {
79
+ issues.push({
80
+ type: 'tool_error_ignored',
81
+ description: `A tool returned an error ("${errorSnippet}") that is not acknowledged in the response.`,
82
+ severity: 'warning',
83
+ });
84
+ }
85
+ }
86
+ }
87
+ }
88
+ /**
89
+ * Check 2: If the workflow has checkpoint steps or multiple steps,
90
+ * verify all non-skipped steps reached "completed" status.
91
+ */
92
+ function checkStepCompleteness(result, issues) {
93
+ for (const step of result.steps) {
94
+ if (step.status === 'pending' || step.status === 'running') {
95
+ issues.push({
96
+ type: 'checkpoint_incomplete',
97
+ description: `Step "${step.description}" is still "${step.status}" — not completed or skipped.`,
98
+ severity: 'error',
99
+ });
100
+ }
101
+ // Checkpoint-specific: if a checkpoint step didn't complete, flag it
102
+ if (step.isCheckpoint && step.status !== 'completed') {
103
+ issues.push({
104
+ type: 'checkpoint_incomplete',
105
+ description: `Checkpoint step "${step.description}" did not complete (status: ${step.status}).`,
106
+ severity: 'error',
107
+ });
108
+ }
109
+ }
110
+ }
111
+ /**
112
+ * Check 3: If the response claims files were created/modified,
113
+ * verify there was a matching successful file tool call.
114
+ */
115
+ function checkFileOperationClaims(synthesized, messages, issues) {
116
+ const claimsFileOps = FILE_CLAIM_PATTERNS.some((pattern) => pattern.test(synthesized));
117
+ if (!claimsFileOps)
118
+ return;
119
+ // Look for successful file tool calls in the message trail
120
+ const hasFileToolCall = messages.some((msg) => {
121
+ if (!msg.tool_calls_json)
122
+ return false;
123
+ try {
124
+ const calls = JSON.parse(msg.tool_calls_json);
125
+ return calls.some((call) => FILE_TOOL_NAMES.has(call.name || ''));
126
+ }
127
+ catch {
128
+ return false;
129
+ }
130
+ });
131
+ // Also check if any tool-result messages follow a file tool call
132
+ // (tool role messages with non-error content after a file tool call)
133
+ const hasSuccessfulFileResult = hasFileToolCall && messages.some((msg) => msg.role === 'tool' && !msg.content.startsWith('ERROR:'));
134
+ if (!hasFileToolCall) {
135
+ issues.push({
136
+ type: 'unverified_claim',
137
+ description: 'The response claims file operations were performed, but no file tool calls (write_file, edit_file) were found in the audit trail.',
138
+ severity: 'error',
139
+ });
140
+ }
141
+ else if (!hasSuccessfulFileResult) {
142
+ issues.push({
143
+ type: 'unverified_claim',
144
+ description: 'File tool calls were made but no successful tool results were found — the operations may have failed.',
145
+ severity: 'warning',
146
+ });
147
+ }
148
+ }
149
+ /**
150
+ * Check 4: If the execution mode was 'proxy' or 'workflow' but zero
151
+ * tool calls were made across all messages, flag as suspicious.
152
+ */
153
+ function checkNoToolConfirmation(result, messages, executionMode, issues) {
154
+ if (executionMode === 'direct')
155
+ return;
156
+ const hasAnyToolCall = messages.some((msg) => msg.tool_calls_json && msg.tool_calls_json !== '[]' && msg.tool_calls_json !== 'null');
157
+ if (!hasAnyToolCall) {
158
+ issues.push({
159
+ type: 'no_tool_confirmation',
160
+ description: `Execution mode was "${executionMode}" but no tool calls were made — the bot may have only described actions without performing them.`,
161
+ severity: 'warning',
162
+ });
163
+ }
164
+ }
165
+ // ─── Helpers ─────────────────────────────────────────────────────
166
+ /** Check whether the synthesized response mentions or acknowledges an error. */
167
+ function responseAcknowledgesError(response, errorText) {
168
+ const lower = response.toLowerCase();
169
+ // Check for explicit failure/error keywords
170
+ if (lower.includes('failed') ||
171
+ lower.includes('error') ||
172
+ lower.includes('could not') ||
173
+ lower.includes('unable to') ||
174
+ lower.includes('[failed]')) {
175
+ return true;
176
+ }
177
+ // Check if the error text itself (or a significant fragment) appears
178
+ const errorWords = errorText
179
+ .toLowerCase()
180
+ .split(/\s+/)
181
+ .filter((w) => w.length > 4);
182
+ if (errorWords.length === 0)
183
+ return false;
184
+ const matchCount = errorWords.filter((w) => lower.includes(w)).length;
185
+ return matchCount / errorWords.length > 0.4;
186
+ }
187
+ function truncate(text, maxLen) {
188
+ if (text.length <= maxLen)
189
+ return text;
190
+ return text.slice(0, maxLen - 3) + '...';
191
+ }
192
+ /**
193
+ * Format a validation warning to append to the synthesized response.
194
+ * Only called when there are "error" severity issues.
195
+ */
196
+ function formatValidationWarning(result) {
197
+ const errorIssues = result.issues.filter((i) => i.severity === 'error');
198
+ const details = errorIssues
199
+ .map((i) => `- ${i.description}`)
200
+ .join('\n');
201
+ return `\n\n---\n⚠️ **Validation:** some claims could not be verified:\n${details}`;
202
+ }
203
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/orchestration/validation.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,24 @@
11
11
  * The user sees ONLY their conversation with the orchestrator.
12
12
  * Worker LLM conversations happen behind the scenes.
13
13
  */
14
- import { ClerkModel } from './clerk-model';
14
+ import { type LLMProvider } from './providers/index';
15
15
  import { WorkflowEngine, WorkerChunkEvent } from './workflow-engine';
16
16
  import { AgentResult } from './mqtt-client';
17
+ import * as data from './local-data';
17
18
  interface FinalResponseMeta {
18
19
  agentName: string;
19
20
  botId: string | null;
20
21
  modelLabel: string | null;
21
22
  }
23
+ export interface OrchestratorRuntime {
24
+ kind: 'bot' | 'clerk';
25
+ llm: LLMProvider;
26
+ providerName: string;
27
+ model: string | null;
28
+ agentName: string;
29
+ botId: string | null;
30
+ modelLabel: string | null;
31
+ }
22
32
  interface OrchestratorOpts {
23
33
  projectDir: string;
24
34
  projectId?: string;
@@ -29,11 +39,12 @@ interface OrchestratorOpts {
29
39
  workflowTemplateId?: string;
30
40
  autoDispatchTodos?: boolean;
31
41
  }
42
+ export declare function buildLocalDesktopOrchestratorRuntime(selectedBot?: data.AgentProfileRow | null): OrchestratorRuntime;
32
43
  export declare class OrchestratorAgent {
33
- private clerk;
44
+ private orchestratorRuntime;
34
45
  private workflowEngine;
35
46
  private lastResponseMeta;
36
- constructor(clerk: ClerkModel, workflowEngine: WorkflowEngine);
47
+ constructor(orchestratorRuntime: OrchestratorRuntime, workflowEngine: WorkflowEngine);
37
48
  private isLocalDesktopRuntime;
38
49
  getLastResponseMeta(): FinalResponseMeta | null;
39
50
  private setLastResponseMeta;
@@ -50,29 +61,10 @@ export declare class OrchestratorAgent {
50
61
  private isTerminalMode;
51
62
  private validateIntentExecution;
52
63
  private buildFrontDoorEffectivePolicy;
53
- private decomposeAndRouteUserMessage;
54
- private buildIntentVerifierRecentTurns;
55
- private collapseSingleWorkerPlan;
56
- private hasExplicitOrderingLanguage;
57
- private buildIntentAnalysisFromRoutedIntent;
58
- private inferIntentFromRequest;
59
- private handleOrderedIntentSequence;
60
- private normalizeOrderedIntentSequence;
61
- private applyImplicitWorkerTarget;
62
- private resolveImplicitWorkerTarget;
63
- private dropRedundantSequentialWorkerHandoffs;
64
- private formatOrderedIntentPlanPreview;
65
64
  private shouldForceProxy;
66
65
  private applyClassificationGuards;
67
66
  private formatOrchestratorControlResponse;
68
67
  private getAgentReferenceTerms;
69
- /**
70
- * Interpret user intent using the clerk.
71
- * This is the structured hidden-role classifier for Phase 1.
72
- */
73
- private classifyUserMessage;
74
- private normalizeMode;
75
- private normalizeModeList;
76
68
  private fallbackClassifyUserMessage;
77
69
  private isExplicitPolicyMessage;
78
70
  private hasExecutionDirective;
@@ -143,6 +135,7 @@ export declare class OrchestratorAgent {
143
135
  */
144
136
  private executeDelegation;
145
137
  private inferDelegationRole;
138
+ private runOrchestratorPrompt;
146
139
  private inferRequestedWorkflowRoles;
147
140
  private orchestratorOwnsWorkflowRole;
148
141
  private resolveWorkflowRoleTarget;
@@ -156,10 +149,6 @@ export declare class OrchestratorAgent {
156
149
  private maybeRunFinalCriticPass;
157
150
  private isHighRiskPrompt;
158
151
  private resolveProjectId;
159
- /**
160
- * Handle simple requests — route to best agent, return response.
161
- */
162
- private handleSimpleRequest;
163
152
  /**
164
153
  * Handle proxy/discussion requests — forward to specific agent.
165
154
  */
@@ -174,6 +163,12 @@ export declare class OrchestratorAgent {
174
163
  * Strips raw worker protocol — user sees clean PM voice.
175
164
  */
176
165
  private synthesizeResponse;
166
+ /**
167
+ * Run completion validation on a synthesized response and append warnings
168
+ * if the validation finds error-severity issues. Non-blocking — always
169
+ * returns a response, possibly with a validation warning appended.
170
+ */
171
+ private applyCompletionValidation;
177
172
  /**
178
173
  * Publish orchestrator status via MQTT for UI rendering.
179
174
  */
@@ -189,8 +184,6 @@ export declare class OrchestratorAgent {
189
184
  private buildOrchestratorInterview;
190
185
  private requiredRolesForIntent;
191
186
  private parseRoleAssignments;
192
- private clerkModelLabel;
193
- private respondAsClerk;
194
187
  private hasRoleAssignments;
195
188
  private loadRoleAssignments;
196
189
  private mergeRoleAssignments;
@@ -202,10 +195,6 @@ export declare class OrchestratorAgent {
202
195
  private createConfirmationCheckpoint;
203
196
  private handlePendingCheckpoint;
204
197
  private isPolicyConfirmation;
205
- private determinePolicyScope;
206
- private extractPolicyPatch;
207
- private sanitizeInterpretedPolicyPatch;
208
- private summarizePolicyPatch;
209
198
  private handlePolicyUpdate;
210
199
  private applyPendingPolicy;
211
200
  private resolveWorkflowTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}