jiva-core 0.3.23 → 0.3.41-dev.fe6fe48

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 (134) hide show
  1. package/README.md +232 -570
  2. package/dist/code/agent.d.ts +105 -0
  3. package/dist/code/agent.d.ts.map +1 -0
  4. package/dist/code/agent.js +837 -0
  5. package/dist/code/agent.js.map +1 -0
  6. package/dist/code/file-lock.d.ts +15 -0
  7. package/dist/code/file-lock.d.ts.map +1 -0
  8. package/dist/code/file-lock.js +36 -0
  9. package/dist/code/file-lock.js.map +1 -0
  10. package/dist/code/lsp/client.d.ts +30 -0
  11. package/dist/code/lsp/client.d.ts.map +1 -0
  12. package/dist/code/lsp/client.js +181 -0
  13. package/dist/code/lsp/client.js.map +1 -0
  14. package/dist/code/lsp/language.d.ts +12 -0
  15. package/dist/code/lsp/language.d.ts.map +1 -0
  16. package/dist/code/lsp/language.js +145 -0
  17. package/dist/code/lsp/language.js.map +1 -0
  18. package/dist/code/lsp/manager.d.ts +39 -0
  19. package/dist/code/lsp/manager.d.ts.map +1 -0
  20. package/dist/code/lsp/manager.js +108 -0
  21. package/dist/code/lsp/manager.js.map +1 -0
  22. package/dist/code/lsp/server.d.ts +15 -0
  23. package/dist/code/lsp/server.d.ts.map +1 -0
  24. package/dist/code/lsp/server.js +78 -0
  25. package/dist/code/lsp/server.js.map +1 -0
  26. package/dist/code/tools/bash.d.ts +3 -0
  27. package/dist/code/tools/bash.d.ts.map +1 -0
  28. package/dist/code/tools/bash.js +110 -0
  29. package/dist/code/tools/bash.js.map +1 -0
  30. package/dist/code/tools/edit.d.ts +11 -0
  31. package/dist/code/tools/edit.d.ts.map +1 -0
  32. package/dist/code/tools/edit.js +459 -0
  33. package/dist/code/tools/edit.js.map +1 -0
  34. package/dist/code/tools/glob.d.ts +3 -0
  35. package/dist/code/tools/glob.d.ts.map +1 -0
  36. package/dist/code/tools/glob.js +62 -0
  37. package/dist/code/tools/glob.js.map +1 -0
  38. package/dist/code/tools/grep.d.ts +3 -0
  39. package/dist/code/tools/grep.d.ts.map +1 -0
  40. package/dist/code/tools/grep.js +147 -0
  41. package/dist/code/tools/grep.js.map +1 -0
  42. package/dist/code/tools/index.d.ts +31 -0
  43. package/dist/code/tools/index.d.ts.map +1 -0
  44. package/dist/code/tools/index.js +9 -0
  45. package/dist/code/tools/index.js.map +1 -0
  46. package/dist/code/tools/read.d.ts +3 -0
  47. package/dist/code/tools/read.d.ts.map +1 -0
  48. package/dist/code/tools/read.js +120 -0
  49. package/dist/code/tools/read.js.map +1 -0
  50. package/dist/code/tools/spawn.d.ts +3 -0
  51. package/dist/code/tools/spawn.d.ts.map +1 -0
  52. package/dist/code/tools/spawn.js +49 -0
  53. package/dist/code/tools/spawn.js.map +1 -0
  54. package/dist/code/tools/write.d.ts +3 -0
  55. package/dist/code/tools/write.d.ts.map +1 -0
  56. package/dist/code/tools/write.js +82 -0
  57. package/dist/code/tools/write.js.map +1 -0
  58. package/dist/core/agent-interface.d.ts +54 -0
  59. package/dist/core/agent-interface.d.ts.map +1 -0
  60. package/dist/core/agent-interface.js +8 -0
  61. package/dist/core/agent-interface.js.map +1 -0
  62. package/dist/core/agent-spawner.d.ts.map +1 -1
  63. package/dist/core/agent-spawner.js +3 -0
  64. package/dist/core/agent-spawner.js.map +1 -1
  65. package/dist/core/client-agent.d.ts +22 -2
  66. package/dist/core/client-agent.d.ts.map +1 -1
  67. package/dist/core/client-agent.js +145 -26
  68. package/dist/core/client-agent.js.map +1 -1
  69. package/dist/core/config.d.ts +144 -17
  70. package/dist/core/config.d.ts.map +1 -1
  71. package/dist/core/config.js +25 -1
  72. package/dist/core/config.js.map +1 -1
  73. package/dist/core/conversation-manager.d.ts +4 -1
  74. package/dist/core/conversation-manager.d.ts.map +1 -1
  75. package/dist/core/conversation-manager.js +47 -17
  76. package/dist/core/conversation-manager.js.map +1 -1
  77. package/dist/core/dual-agent.d.ts +18 -5
  78. package/dist/core/dual-agent.d.ts.map +1 -1
  79. package/dist/core/dual-agent.js +152 -59
  80. package/dist/core/dual-agent.js.map +1 -1
  81. package/dist/core/manager-agent.d.ts +38 -2
  82. package/dist/core/manager-agent.d.ts.map +1 -1
  83. package/dist/core/manager-agent.js +144 -23
  84. package/dist/core/manager-agent.js.map +1 -1
  85. package/dist/core/types/agent-context.d.ts +30 -0
  86. package/dist/core/types/agent-context.d.ts.map +1 -0
  87. package/dist/core/types/agent-context.js +8 -0
  88. package/dist/core/types/agent-context.js.map +1 -0
  89. package/dist/core/types/completion-signal.d.ts +17 -0
  90. package/dist/core/types/completion-signal.d.ts.map +1 -0
  91. package/dist/core/types/completion-signal.js +8 -0
  92. package/dist/core/types/completion-signal.js.map +1 -0
  93. package/dist/core/utils/serialize-agent-context.d.ts +23 -0
  94. package/dist/core/utils/serialize-agent-context.d.ts.map +1 -0
  95. package/dist/core/utils/serialize-agent-context.js +75 -0
  96. package/dist/core/utils/serialize-agent-context.js.map +1 -0
  97. package/dist/core/worker-agent.d.ts +14 -3
  98. package/dist/core/worker-agent.d.ts.map +1 -1
  99. package/dist/core/worker-agent.js +261 -68
  100. package/dist/core/worker-agent.js.map +1 -1
  101. package/dist/index.d.ts +6 -0
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +3 -0
  104. package/dist/index.js.map +1 -1
  105. package/dist/interfaces/cli/index.js +146 -25
  106. package/dist/interfaces/cli/index.js.map +1 -1
  107. package/dist/interfaces/cli/repl.d.ts +8 -2
  108. package/dist/interfaces/cli/repl.d.ts.map +1 -1
  109. package/dist/interfaces/cli/repl.js +39 -3
  110. package/dist/interfaces/cli/repl.js.map +1 -1
  111. package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -1
  112. package/dist/interfaces/cli/setup-wizard.js +92 -0
  113. package/dist/interfaces/cli/setup-wizard.js.map +1 -1
  114. package/dist/interfaces/http/routes/chat.js +2 -2
  115. package/dist/interfaces/http/routes/chat.js.map +1 -1
  116. package/dist/interfaces/http/session-manager.d.ts +7 -4
  117. package/dist/interfaces/http/session-manager.d.ts.map +1 -1
  118. package/dist/interfaces/http/session-manager.js +56 -15
  119. package/dist/interfaces/http/session-manager.js.map +1 -1
  120. package/dist/models/base.d.ts +16 -1
  121. package/dist/models/base.d.ts.map +1 -1
  122. package/dist/models/harmony.d.ts +7 -1
  123. package/dist/models/harmony.d.ts.map +1 -1
  124. package/dist/models/harmony.js +21 -3
  125. package/dist/models/harmony.js.map +1 -1
  126. package/dist/models/krutrim.d.ts +31 -1
  127. package/dist/models/krutrim.d.ts.map +1 -1
  128. package/dist/models/krutrim.js +55 -11
  129. package/dist/models/krutrim.js.map +1 -1
  130. package/dist/models/orchestrator.d.ts +24 -0
  131. package/dist/models/orchestrator.d.ts.map +1 -1
  132. package/dist/models/orchestrator.js +40 -6
  133. package/dist/models/orchestrator.js.map +1 -1
  134. package/package.json +8 -6
@@ -30,7 +30,7 @@ export class ManagerAgent {
30
30
  this.initializeSystemPrompt();
31
31
  }
32
32
  initializeSystemPrompt() {
33
- const directivePrompt = this.workspace.getDirectivePrompt();
33
+ // Store base system prompt WITHOUT directive — directive is injected fresh per-call
34
34
  const personaPrompt = this.personaManager?.getSystemPromptAddition() || '';
35
35
  let systemContent = `You are the Manager Agent in a two-agent system.
36
36
 
@@ -61,18 +61,39 @@ IMPORTANT:
61
61
  if (personaPrompt) {
62
62
  systemContent += `\n${personaPrompt}\n`;
63
63
  }
64
- if (directivePrompt) {
65
- systemContent += `\n${directivePrompt}`;
66
- }
64
+ // NOTE: Directive is NOT baked in here; it's injected fresh each call via getSystemMessages()
67
65
  this.conversationHistory.push({
68
66
  role: 'system',
69
67
  content: systemContent,
70
68
  });
71
69
  }
70
+ /**
71
+ * Get system messages with fresh directive + optional AgentContext.
72
+ * Follows the per-call directive injection pattern from JivaAgent.getSystemMessages().
73
+ */
74
+ getSystemMessages(agentContext) {
75
+ const systemMessage = this.conversationHistory[0];
76
+ // Inject fresh directive per-call
77
+ const freshDirective = agentContext?.directive || this.workspace.getDirectivePrompt() || '';
78
+ const parts = [];
79
+ if (freshDirective) {
80
+ parts.push(freshDirective);
81
+ }
82
+ if (parts.length === 0) {
83
+ return [systemMessage];
84
+ }
85
+ return [
86
+ systemMessage,
87
+ {
88
+ role: 'developer',
89
+ content: parts.join('\n'),
90
+ },
91
+ ];
92
+ }
72
93
  /**
73
94
  * Create a plan for handling the user's request
74
95
  */
75
- async createPlan(task) {
96
+ async createPlan(task, agentContext) {
76
97
  logger.info('[Manager] Creating plan...');
77
98
  orchestrationLogger.logManagerCreatePlan(task.userRequest, task.context || '');
78
99
  const planPrompt = `User Request: ${task.userRequest}
@@ -100,9 +121,15 @@ Guidelines:
100
121
  - Trust Worker to handle file operations, error checking, and iteration
101
122
  - Each subtask MUST be a clear, actionable instruction - NOT prose, advice, or explanation
102
123
 
124
+ CONVERSATIONAL MESSAGES:
125
+ - If the message is purely conversational (greeting, thank-you, compliment, acknowledgment, small talk) with NO actionable task embedded, return:
126
+ {"conversational": true, "subtasks": [], "reasoning": "Conversational message — no task required"}
127
+ - Do NOT invent tasks from prior conversation context just because a topic was mentioned earlier.
128
+
103
129
  Respond ONLY with valid JSON in this exact format (no other text before or after):
104
130
  {
105
131
  "reasoning": "<brief explanation of your high-level approach>",
132
+ "conversational": false,
106
133
  "subtasks": [
107
134
  "<subtask 1 - a clear, actionable instruction>",
108
135
  "<subtask 2 - only if truly necessary>"
@@ -113,7 +140,7 @@ Respond ONLY with valid JSON in this exact format (no other text before or after
113
140
  content: planPrompt,
114
141
  });
115
142
  const response = await this.orchestrator.chat({
116
- messages: this.conversationHistory,
143
+ messages: [...this.getSystemMessages(agentContext), ...this.conversationHistory.slice(1)],
117
144
  temperature: 0.1, // Low temperature for deterministic planning
118
145
  });
119
146
  this.conversationHistory.push({
@@ -130,13 +157,19 @@ Respond ONLY with valid JSON in this exact format (no other text before or after
130
157
  logger.warn('[Manager] Failed to parse plan JSON, attempting LLM cleanup');
131
158
  plan = await this.cleanPlanWithLLM(response.content);
132
159
  }
133
- // Validate subtasks - filter out garbage entries
134
- plan.subtasks = this.validateSubtasks(plan.subtasks);
135
- logger.info(`[Manager] Reasoning: ${plan.reasoning}`);
136
- logger.info(`[Manager] Plan: ${plan.subtasks.length} subtasks`);
137
- plan.subtasks.forEach((task, i) => logger.info(` ${i + 1}. ${task}`));
160
+ const isConversational = !!plan.conversational;
161
+ // Validate subtasks - filter out garbage entries (allow empty list for conversational)
162
+ plan.subtasks = this.validateSubtasks(plan.subtasks, isConversational);
163
+ if (isConversational) {
164
+ logger.info('[Manager] Conversational message detected skipping task execution');
165
+ }
166
+ else {
167
+ logger.info(`[Manager] Reasoning: ${plan.reasoning}`);
168
+ logger.info(`[Manager] Plan: ${plan.subtasks.length} subtasks`);
169
+ plan.subtasks.forEach((task, i) => logger.info(` ${i + 1}. ${task}`));
170
+ }
138
171
  orchestrationLogger.logManagerPlanCreated(plan.subtasks, plan.reasoning);
139
- return { subtasks: plan.subtasks, reasoning: plan.reasoning };
172
+ return { subtasks: plan.subtasks, reasoning: plan.reasoning, conversational: isConversational };
140
173
  }
141
174
  /**
142
175
  * Review Worker's results and decide next action
@@ -164,7 +197,7 @@ NEXT_ACTION: <what to do next, if CONTINUE>`;
164
197
  content: reviewPrompt,
165
198
  });
166
199
  const response = await this.orchestrator.chat({
167
- messages: this.conversationHistory,
200
+ messages: [...this.getSystemMessages(), ...this.conversationHistory.slice(1)],
168
201
  temperature: 0.1, // Low temperature for deterministic decisions
169
202
  });
170
203
  this.conversationHistory.push({
@@ -184,25 +217,93 @@ NEXT_ACTION: <what to do next, if CONTINUE>`;
184
217
  nextAction: nextAction || undefined,
185
218
  };
186
219
  }
220
+ /**
221
+ * Review a Worker's subtask result and decide whether to accept it or request a retry.
222
+ *
223
+ * Rules (fast-path first — avoids an LLM call for the common case):
224
+ * - AUTO-ACCEPT: tools were used AND the result is substantive (>100 chars)
225
+ * - AUTO-REJECT: no tools were used at all (pure hallucination / text-only response)
226
+ * - LLM REVIEW: tools were used but result is suspiciously short (<100 chars)
227
+ *
228
+ * Returns { accepted: true } or { accepted: false, specificCorrection: "…" }.
229
+ * The specificCorrection is a clean, targeted instruction — NOT a stacked prefix.
230
+ */
231
+ async reviewSubtaskResult(subtask, workerResult, originalRequest) {
232
+ // Fast-path accept: tools were used and result has substance
233
+ if (workerResult.toolsUsed.length > 0 && workerResult.result.length >= 100) {
234
+ logger.info(`[Manager] Auto-accepted subtask (${workerResult.toolsUsed.length} tools used, ${workerResult.result.length} chars)`);
235
+ return { accepted: true };
236
+ }
237
+ // Fast-path reject: no tools at all — pure text-only response (hallucination)
238
+ if (workerResult.toolsUsed.length === 0) {
239
+ logger.warn(`[Manager] Auto-rejected subtask — Worker used no tools`);
240
+ const correction = `You produced a text-only response without using any tools. You MUST use the available tools to complete this task. Do not fabricate or infer data — call the appropriate tools now.\n\nOriginal task: ${subtask}`;
241
+ return { accepted: false, specificCorrection: correction };
242
+ }
243
+ // Edge case: tools used but result is very short — ask LLM to judge
244
+ logger.info(`[Manager] LLM review: tools=${workerResult.toolsUsed.length}, result length=${workerResult.result.length}`);
245
+ const reviewPrompt = `You are reviewing whether a Worker agent's result satisfactorily completes a subtask.
246
+
247
+ Original user request: ${originalRequest}
248
+
249
+ Subtask assigned to Worker: ${subtask}
250
+
251
+ Tools used by Worker: ${workerResult.toolsUsed.join(', ')}
252
+
253
+ Worker's result:
254
+ ${workerResult.result}
255
+
256
+ DECISION RULES:
257
+ - ACCEPT if the Worker gathered real data and provided a substantive result, even if partial
258
+ - REJECT only if the result is clearly empty, fabricated, or completely off-task
259
+
260
+ Respond with ONLY one of:
261
+ ACCEPT
262
+ REJECT: <one sentence explaining what specific data is still missing>`;
263
+ const response = await this.orchestrator.chat({
264
+ messages: [
265
+ { role: 'system', content: 'You are a task reviewer. Reply with ACCEPT or REJECT: <reason>.' },
266
+ { role: 'user', content: reviewPrompt },
267
+ ],
268
+ temperature: 0.1,
269
+ });
270
+ const verdict = response.content.trim();
271
+ if (verdict.startsWith('REJECT')) {
272
+ const reason = verdict.replace(/^REJECT:?\s*/i, '').trim();
273
+ logger.warn(`[Manager] LLM rejected subtask: ${reason}`);
274
+ const correction = `The previous attempt was insufficient: ${reason}\n\nRetry the subtask using the appropriate tools: ${subtask}`;
275
+ return { accepted: false, specificCorrection: correction };
276
+ }
277
+ logger.info(`[Manager] LLM accepted subtask`);
278
+ return { accepted: true };
279
+ }
187
280
  /**
188
281
  * Create final response for user
189
282
  */
190
- async synthesizeResponse(allResults) {
283
+ async synthesizeResponse(allResults, agentContext) {
191
284
  logger.info('[Manager] Synthesizing final response...');
192
285
  orchestrationLogger.logManagerSynthesize(allResults.length);
193
- const synthesisPrompt = `Based on all the work completed, create a final response for the user.
286
+ const acceptedResults = allResults.filter(r => r.accepted !== false);
287
+ const failedResults = allResults.filter(r => r.accepted === false);
288
+ const completedSection = acceptedResults.length > 0
289
+ ? `Completed Work:\n${acceptedResults.map((r, i) => `${i + 1}. ${r.subtask}\nResult: ${r.result}`).join('\n\n')}`
290
+ : 'No subtasks completed successfully.';
291
+ const failedSection = failedResults.length > 0
292
+ ? `\n\nSubtasks That Could Not Be Completed:\n${failedResults.map((r, i) => `${i + 1}. ${r.subtask}\nWorker output: ${r.result}`).join('\n\n')}`
293
+ : '';
294
+ const synthesisPrompt = `Based on the work below, create a final response for the user.
194
295
 
195
- Completed Work:
196
- ${allResults.map((r, i) => `${i + 1}. ${r.subtask}\nResult: ${r.result}`).join('\n\n')}
296
+ IMPORTANT: Be honest about what was and was not accomplished. Do NOT claim results were produced if the corresponding subtask is listed as failed.
197
297
 
198
- Create a clear, helpful response that directly answers the user's original request.
199
- Present information clearly with relevant details, code snippets, or examples as appropriate.`;
298
+ ${completedSection}${failedSection}
299
+
300
+ Create a clear, honest response that accurately reflects what was accomplished. If any work failed, explain briefly what happened.`;
200
301
  this.conversationHistory.push({
201
302
  role: 'user',
202
303
  content: synthesisPrompt,
203
304
  });
204
305
  const response = await this.orchestrator.chat({
205
- messages: this.conversationHistory,
306
+ messages: [...this.getSystemMessages(agentContext), ...this.conversationHistory.slice(1)],
206
307
  temperature: 0.1, // Low temperature for deterministic synthesis
207
308
  });
208
309
  this.conversationHistory.push({
@@ -212,6 +313,23 @@ Present information clearly with relevant details, code snippets, or examples as
212
313
  logger.info('[Manager] Final response created');
213
314
  return response.content;
214
315
  }
316
+ /**
317
+ * Respond directly to a conversational message — no planning or tool execution.
318
+ * Used when `createPlan()` signals `conversational: true`.
319
+ *
320
+ * @param userConversationHistory - The full user-facing conversation so far
321
+ * (already includes the current user message at the tail).
322
+ * @param agentContext - Current agent context for directive injection.
323
+ */
324
+ async directReply(userConversationHistory, agentContext) {
325
+ const systemMessages = this.getSystemMessages(agentContext);
326
+ const response = await this.orchestrator.chat({
327
+ messages: [...systemMessages, ...userConversationHistory],
328
+ temperature: 0.7, // Slightly higher for natural conversation
329
+ });
330
+ logger.info('[Manager] Direct conversational reply produced');
331
+ return response.content;
332
+ }
215
333
  /**
216
334
  * Parse a JSON plan from LLM output. Extracts the first JSON object found.
217
335
  */
@@ -268,8 +386,10 @@ Return ONLY valid JSON in this exact format (no other text):
268
386
  /**
269
387
  * Validate that each subtask is a reasonable, actionable instruction.
270
388
  * Removes garbage entries like separators, prose fragments, or empty strings.
389
+ *
390
+ * @param isConversational - When true, allow an empty list (no min-1 enforcement).
271
391
  */
272
- validateSubtasks(subtasks) {
392
+ validateSubtasks(subtasks, isConversational = false) {
273
393
  const validated = subtasks.filter(task => {
274
394
  const trimmed = task.trim();
275
395
  // Reject empty or too-short entries
@@ -283,8 +403,9 @@ Return ONLY valid JSON in this exact format (no other text):
283
403
  return false;
284
404
  return true;
285
405
  });
286
- // Ensure at least one subtask
287
- if (validated.length === 0) {
406
+ // Enforce at least one subtask for real task plans.
407
+ // For conversational messages the LLM intentionally returns subtasks: [] — allow that.
408
+ if (validated.length === 0 && !isConversational) {
288
409
  logger.warn('[Manager] All subtasks filtered out, preserving first original');
289
410
  return subtasks.length > 0 ? [subtasks[0]] : ['Complete the user request'];
290
411
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager-agent.js","sourceRoot":"","sources":["../../src/core/manager-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager-agent.js","sourceRoot":"","sources":["../../src/core/manager-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * AgentContext - Shared context payload for all three agents (Manager, Worker, Client)
3
+ *
4
+ * Produced once per turn by DualAgent.buildAgentContext() and passed consistently
5
+ * to Manager plan creation, Worker execution, and Client validation.
6
+ */
7
+ import { Message } from '../../models/base.js';
8
+ export interface AgentContext {
9
+ /** Absolute path to the current workspace directory */
10
+ workspaceDir: string;
11
+ /** Raw directive prompt block, freshly loaded each turn */
12
+ directive?: string;
13
+ /** Bounded conversation history */
14
+ conversation: {
15
+ /** Optional condensed summary (from ConversationManager) */
16
+ summary?: string;
17
+ /** Bounded list of recent messages (user + assistant + tool roles) */
18
+ recentMessages: Message[];
19
+ };
20
+ /** Persona context, split by purpose */
21
+ persona?: {
22
+ /** Active persona name */
23
+ name?: string;
24
+ /** For Manager/Worker: full persona block + <available_skills> */
25
+ systemPromptAddition?: string;
26
+ /** For Client: skills metadata + constraints only (no execution directives) */
27
+ validationContext?: string;
28
+ };
29
+ }
30
+ //# sourceMappingURL=agent-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../../../src/core/types/agent-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IAErB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mCAAmC;IACnC,YAAY,EAAE;QACZ,4DAA4D;QAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,sEAAsE;QACtE,cAAc,EAAE,OAAO,EAAE,CAAC;KAC3B,CAAC;IAEF,wCAAwC;IACxC,OAAO,CAAC,EAAE;QACR,0BAA0B;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,kEAAkE;QAClE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,+EAA+E;QAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * AgentContext - Shared context payload for all three agents (Manager, Worker, Client)
3
+ *
4
+ * Produced once per turn by DualAgent.buildAgentContext() and passed consistently
5
+ * to Manager plan creation, Worker execution, and Client validation.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=agent-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-context.js","sourceRoot":"","sources":["../../../src/core/types/agent-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * CompletionSignal - Per-subtask assessment emitted by Client alongside ValidationResult
3
+ *
4
+ * Replaces the blunt failureCount escalation with a richer signal that DualAgent
5
+ * uses to decide corrective strategy per subtask.
6
+ */
7
+ export interface CompletionSignal {
8
+ /** How confident the Client is that the subtask was completed correctly */
9
+ confidence: 'high' | 'medium' | 'low' | 'none';
10
+ /** Did Worker make any measurable forward progress? */
11
+ progressMade: boolean;
12
+ /** Classification of the blocker (if confidence is not 'high') */
13
+ blockerType?: 'tool_failure' | 'hallucination' | 'scope_drift' | 'partial' | 'loop' | 'capability_gap';
14
+ /** Suggested corrective strategy for DualAgent */
15
+ suggestedStrategy?: 'retry' | 'rephrase' | 'decompose' | 'skip' | 'escalate';
16
+ }
17
+ //# sourceMappingURL=completion-signal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion-signal.d.ts","sourceRoot":"","sources":["../../../src/core/types/completion-signal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAE/C,uDAAuD;IACvD,YAAY,EAAE,OAAO,CAAC;IAEtB,kEAAkE;IAClE,WAAW,CAAC,EAAE,cAAc,GACd,eAAe,GACf,aAAa,GACb,SAAS,GACT,MAAM,GACN,gBAAgB,CAAC;IAE/B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,GACP,UAAU,GACV,WAAW,GACX,MAAM,GACN,UAAU,CAAC;CAChC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CompletionSignal - Per-subtask assessment emitted by Client alongside ValidationResult
3
+ *
4
+ * Replaces the blunt failureCount escalation with a richer signal that DualAgent
5
+ * uses to decide corrective strategy per subtask.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=completion-signal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion-signal.js","sourceRoot":"","sources":["../../../src/core/types/completion-signal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * serializeAgentContext - Produces a consistent, role-appropriate string block
3
+ * that each agent embeds in its prompt.
4
+ *
5
+ * Using the same serializer for all three agents ensures the format is identical;
6
+ * the `role` parameter governs what is included, not how it is formatted.
7
+ *
8
+ * Token budget guidelines (tunable):
9
+ * Directive: ~500 tokens max (truncate with notice if exceeded)
10
+ * Conversation summary: ~300 tokens max
11
+ * Recent messages: last 6 messages of all roles, ~800 tokens
12
+ * Validation context: ~400 tokens max
13
+ */
14
+ import { AgentContext } from '../types/agent-context.js';
15
+ /**
16
+ * Serialize AgentContext into a role-appropriate string block.
17
+ *
18
+ * - manager: directive + conversation (summary + recent). Omits validationContext.
19
+ * - worker: directive + conversation (summary + recent, incl. tool messages). Omits validationContext.
20
+ * - client: directive + conversation (summary + recent, incl. tool messages) + validationContext. Omits execution persona.
21
+ */
22
+ export declare function serializeAgentContext(ctx: AgentContext, role: 'manager' | 'worker' | 'client'): string;
23
+ //# sourceMappingURL=serialize-agent-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize-agent-context.d.ts","sourceRoot":"","sources":["../../../src/core/utils/serialize-agent-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAkCzD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GACpC,MAAM,CAuCR"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * serializeAgentContext - Produces a consistent, role-appropriate string block
3
+ * that each agent embeds in its prompt.
4
+ *
5
+ * Using the same serializer for all three agents ensures the format is identical;
6
+ * the `role` parameter governs what is included, not how it is formatted.
7
+ *
8
+ * Token budget guidelines (tunable):
9
+ * Directive: ~500 tokens max (truncate with notice if exceeded)
10
+ * Conversation summary: ~300 tokens max
11
+ * Recent messages: last 6 messages of all roles, ~800 tokens
12
+ * Validation context: ~400 tokens max
13
+ */
14
+ // Rough estimate: 1 token ≈ 4 characters
15
+ const CHARS_PER_TOKEN = 4;
16
+ const DIRECTIVE_TOKEN_LIMIT = 500;
17
+ const SUMMARY_TOKEN_LIMIT = 300;
18
+ // Recent messages are no longer truncated — the underlying LLM supports a 128k
19
+ // context window and the conversation manager condenses history before this is
20
+ // called, so there is no need for an artificial per-role cap here.
21
+ const VALIDATION_CONTEXT_TOKEN_LIMIT = 400;
22
+ /**
23
+ * Truncate text to a token-approximate character limit, appending a notice if truncated.
24
+ */
25
+ function truncate(text, tokenLimit) {
26
+ const charLimit = tokenLimit * CHARS_PER_TOKEN;
27
+ if (text.length <= charLimit)
28
+ return text;
29
+ return text.substring(0, charLimit) + '\n[...truncated due to token limit]';
30
+ }
31
+ /**
32
+ * Serialize a single message to a compact string representation.
33
+ */
34
+ function serializeMessage(msg) {
35
+ const role = msg.role.toUpperCase();
36
+ const content = typeof msg.content === 'string'
37
+ ? msg.content
38
+ : msg.content
39
+ ? msg.content.map(c => c.text || '[image]').join(' ')
40
+ : '[tool call]';
41
+ return `[${role}]: ${content}`;
42
+ }
43
+ /**
44
+ * Serialize AgentContext into a role-appropriate string block.
45
+ *
46
+ * - manager: directive + conversation (summary + recent). Omits validationContext.
47
+ * - worker: directive + conversation (summary + recent, incl. tool messages). Omits validationContext.
48
+ * - client: directive + conversation (summary + recent, incl. tool messages) + validationContext. Omits execution persona.
49
+ */
50
+ export function serializeAgentContext(ctx, role) {
51
+ const sections = [];
52
+ // ── Directive ──────────────────────────────────────────────────────────
53
+ if (ctx.directive) {
54
+ sections.push('=== DIRECTIVE ===\n' + truncate(ctx.directive, DIRECTIVE_TOKEN_LIMIT));
55
+ }
56
+ // ── Conversation context ──────────────────────────────────────────────
57
+ const convParts = [];
58
+ if (ctx.conversation.summary) {
59
+ convParts.push('[Conversation Summary]\n' + truncate(ctx.conversation.summary, SUMMARY_TOKEN_LIMIT));
60
+ }
61
+ if (ctx.conversation.recentMessages.length > 0) {
62
+ const serialized = ctx.conversation.recentMessages.map(serializeMessage).join('\n');
63
+ convParts.push('[Recent Messages]\n' + serialized);
64
+ }
65
+ if (convParts.length > 0) {
66
+ sections.push('=== CONVERSATION CONTEXT ===\n' + convParts.join('\n\n'));
67
+ }
68
+ // ── Validation context (client only) ──────────────────────────────────
69
+ if (role === 'client' && ctx.persona?.validationContext) {
70
+ sections.push('=== VALIDATION CONTEXT ===\n' +
71
+ truncate(ctx.persona.validationContext, VALIDATION_CONTEXT_TOKEN_LIMIT));
72
+ }
73
+ return sections.join('\n\n');
74
+ }
75
+ //# sourceMappingURL=serialize-agent-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize-agent-context.js","sourceRoot":"","sources":["../../../src/core/utils/serialize-agent-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,yCAAyC;AACzC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,+EAA+E;AAC/E,+EAA+E;AAC/E,mEAAmE;AACnE,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAE3C;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,UAAkB;IAChD,MAAM,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC;IAC/C,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,qCAAqC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC7C,CAAC,CAAC,GAAG,CAAC,OAAO;QACb,CAAC,CAAC,GAAG,CAAC,OAAO;YACX,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACrD,CAAC,CAAC,aAAa,CAAC;IACpB,OAAO,IAAI,IAAI,MAAM,OAAO,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAiB,EACjB,IAAqC;IAErC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,0EAA0E;IAC1E,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CACX,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7B,SAAS,CAAC,IAAI,CACZ,0BAA0B,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,SAAS,CAAC,IAAI,CACZ,qBAAqB,GAAG,UAAU,CACnC,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,gCAAgC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,yEAAyE;IACzE,IAAI,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CACX,8BAA8B;YAC9B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
@@ -12,14 +12,22 @@ import { MCPServerManager } from '../mcp/server-manager.js';
12
12
  import { WorkspaceManager } from './workspace.js';
13
13
  import { PersonaManager } from '../personas/persona-manager.js';
14
14
  import { AgentSpawner } from './agent-spawner.js';
15
+ import { AgentContext } from './types/agent-context.js';
15
16
  export interface WorkerSubtask {
16
17
  instruction: string;
17
18
  context?: string;
18
19
  }
20
+ export interface ToolFailure {
21
+ toolName: string;
22
+ args: Record<string, any>;
23
+ lastError: string;
24
+ attempts: number;
25
+ }
19
26
  export interface WorkerResult {
20
27
  success: boolean;
21
28
  result: string;
22
29
  toolsUsed: string[];
30
+ failedTools: ToolFailure[];
23
31
  reasoning: string;
24
32
  }
25
33
  export declare class WorkerAgent {
@@ -38,11 +46,14 @@ export declare class WorkerAgent {
38
46
  /**
39
47
  * Execute a subtask assigned by Manager
40
48
  */
41
- executeSubtask(subtask: WorkerSubtask): Promise<WorkerResult>;
49
+ executeSubtask(subtask: WorkerSubtask, agentContext?: AgentContext): Promise<WorkerResult>;
42
50
  private extractReasoning;
43
51
  /**
44
- * Determine if we should prompt Worker to check for completion
45
- * This helps prevent over-iteration by asking Worker to confirm task is done
52
+ * Determine if we should prompt Worker to check for completion.
53
+ * Fires every 3 successful tool calls (regardless of tool type) so research
54
+ * tasks (yfinance, brave-search, etc.) get a "are you done?" nudge just like
55
+ * file-operation tasks do. Also fires when we are approaching the iteration
56
+ * cap so the model has a chance to synthesise before hitting the hard limit.
46
57
  */
47
58
  private shouldPromptForCompletion;
48
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-agent.d.ts","sourceRoot":"","sources":["../../src/core/worker-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAsBlD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAsB;gBAGzC,YAAY,EAAE,iBAAiB,EAC/B,UAAU,EAAE,gBAAgB,EAC5B,SAAS,EAAE,gBAAgB,EAC3B,aAAa,GAAE,MAAU,EACzB,cAAc,CAAC,EAAE,cAAc;IAqBjC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI5C;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAwYnE,OAAO,CAAC,gBAAgB;IAMxB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAuDlC"}
1
+ {"version":3,"file":"worker-agent.d.ts","sourceRoot":"","sources":["../../src/core/worker-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAsBxD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAsB;gBAGzC,YAAY,EAAE,iBAAiB,EAC/B,UAAU,EAAE,gBAAgB,EAC5B,SAAS,EAAE,gBAAgB,EAC3B,aAAa,GAAE,MAAW,EAC1B,cAAc,CAAC,EAAE,cAAc;IAqBjC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAI5C;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAgnBhG,OAAO,CAAC,gBAAgB;IAMxB;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;CAqBlC"}