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
@@ -11,6 +11,8 @@
11
11
  */
12
12
  import { ModelOrchestrator } from '../models/orchestrator.js';
13
13
  import { MCPServerManager } from '../mcp/server-manager.js';
14
+ import { AgentContext } from './types/agent-context.js';
15
+ import { CompletionSignal } from './types/completion-signal.js';
14
16
  import { WorkerResult } from './worker-agent.js';
15
17
  export declare enum InvolvementLevel {
16
18
  MINIMAL = "minimal",// Metadata only, no tools
@@ -29,6 +31,7 @@ export interface ValidationResult {
29
31
  issues: string[];
30
32
  nextAction?: string;
31
33
  involvementLevel: InvolvementLevel;
34
+ completionSignal?: CompletionSignal;
32
35
  }
33
36
  export declare class ClientAgent {
34
37
  private orchestrator;
@@ -57,12 +60,16 @@ export declare class ClientAgent {
57
60
  * Use LLM to analyze the task and determine involvement level + requirements.
58
61
  * Replaces keyword-based determineInvolvementLevel() and parseRequirements()
59
62
  * with semantic understanding that avoids false positives.
63
+ *
64
+ * NOTE: failureCount escalation has been removed. Involvement level is now
65
+ * determined purely by task type. Per-subtask correction is handled by
66
+ * CompletionSignal + DualAgent retry budget instead.
60
67
  */
61
68
  private analyzeTaskRequirements;
62
69
  /**
63
70
  * Validate Worker's work at appropriate involvement level
64
71
  */
65
- validate(userMessage: string, subtasks: string[], workerResult: WorkerResult, involvementLevel?: InvolvementLevel): Promise<ValidationResult>;
72
+ validate(userMessage: string, subtasks: string[], workerResult: WorkerResult, involvementLevel?: InvolvementLevel, agentContext?: AgentContext): Promise<ValidationResult>;
66
73
  /**
67
74
  * Use LLM to analyze worker result for unjustified failure claims
68
75
  * This is language-agnostic and captures semantic meaning
@@ -104,7 +111,20 @@ export declare class ClientAgent {
104
111
  * Skips gracefully when no shell tool is available.
105
112
  */
106
113
  private validateWithShell;
107
- /** Reset failure tracking (call at the start of each new conversation/session). */
114
+ /**
115
+ * LLM-based per-subtask assessment of completion confidence, blocker type,
116
+ * and suggested corrective strategy. Called at the end of validate().
117
+ */
118
+ private analyzeCompletionSignal;
119
+ /**
120
+ * Reset session state (call at the start of each new conversation/session).
121
+ * Renamed from resetFailureTracking() for clarity — failureCount is now
122
+ * telemetry-only and does not drive involvement escalation.
123
+ */
124
+ resetSessionState(): void;
125
+ /**
126
+ * @deprecated Use resetSessionState() instead.
127
+ */
108
128
  resetFailureTracking(): void;
109
129
  }
110
130
  //# sourceMappingURL=client-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-agent.d.ts","sourceRoot":"","sources":["../../src/core/client-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBjD,oBAAY,gBAAgB;IAC1B,OAAO,YAAY,CAAM,0BAA0B;IACnD,QAAQ,aAAa,CAAI,mCAAmC;IAC5D,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,GAAG,mBAAmB,GAAG,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;IACnG,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAYD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAa;IAGjC,OAAO,CAAC,eAAe,CAAyB;gBAEpC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB;IAQzE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAQzB,+DAA+D;IAC/D,cAAc,IAAI,IAAI;IAItB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;;;OAIG;YACW,uBAAuB;IAgHrC;;OAEG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,gBAAgB,CAAC;IAyG5B;;;OAGG;YACW,4BAA4B;IA8D1C;;;;;OAKG;YACW,sBAAsB;IA6EpC;;OAEG;IACH,OAAO,CAAC,eAAe;IA+CvB;;OAEG;YACW,eAAe;IAsC7B;;;OAGG;YACW,UAAU;IA2BxB;;;;OAIG;YACW,6BAA6B;IAoD3C;;OAEG;YACW,oBAAoB;IAoDlC;;;;OAIG;YACW,iBAAiB;IA+C/B,mFAAmF;IACnF,oBAAoB,IAAI,IAAI;CAG7B"}
1
+ {"version":3,"file":"client-agent.d.ts","sourceRoot":"","sources":["../../src/core/client-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBjD,oBAAY,gBAAgB;IAC1B,OAAO,YAAY,CAAM,0BAA0B;IACnD,QAAQ,aAAa,CAAI,mCAAmC;IAC5D,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,GAAG,mBAAmB,GAAG,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,CAAC;IACnG,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAYD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAa;IAGjC,OAAO,CAAC,eAAe,CAAyB;gBAEpC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB;IAQzE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAQzB,+DAA+D;IAC/D,cAAc,IAAI,IAAI;IAItB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;;;;;;;OAQG;YACW,uBAAuB;IAmHrC;;OAEG;IACG,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IA8G5B;;;OAGG;YACW,4BAA4B;IAkE1C;;;;;OAKG;YACW,sBAAsB;IAgFpC;;OAEG;IACH,OAAO,CAAC,eAAe;IAsDvB;;OAEG;YACW,eAAe;IAsC7B;;;OAGG;YACW,UAAU;IA2BxB;;;;OAIG;YACW,6BAA6B;IAuD3C;;OAEG;YACW,oBAAoB;IAoDlC;;;;OAIG;YACW,iBAAiB;IA+C/B;;;OAGG;YACW,uBAAuB;IAgGrC;;;;OAIG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,oBAAoB,IAAI,IAAI;CAG7B"}
@@ -9,6 +9,7 @@
9
9
  * - STANDARD: Creation requests → file existence + basic validation
10
10
  * - THOROUGH: Complex/testing requests OR failures → full E2E validation with tools
11
11
  */
12
+ import { serializeAgentContext } from './utils/serialize-agent-context.js';
12
13
  import { logger } from '../utils/logger.js';
13
14
  import { orchestrationLogger } from '../utils/orchestration-logger.js';
14
15
  export var InvolvementLevel;
@@ -94,12 +95,20 @@ export class ClientAgent {
94
95
  * Use LLM to analyze the task and determine involvement level + requirements.
95
96
  * Replaces keyword-based determineInvolvementLevel() and parseRequirements()
96
97
  * with semantic understanding that avoids false positives.
98
+ *
99
+ * NOTE: failureCount escalation has been removed. Involvement level is now
100
+ * determined purely by task type. Per-subtask correction is handled by
101
+ * CompletionSignal + DualAgent retry budget instead.
97
102
  */
98
- async analyzeTaskRequirements(userMessage, subtasks, workerResult) {
103
+ async analyzeTaskRequirements(userMessage, subtasks, workerResult, agentContext) {
99
104
  const workerContext = workerResult
100
105
  ? `\nWorker Result (first 500 chars): ${workerResult.result.substring(0, 500)}\nWorker Success: ${workerResult.success}\nTools Used: ${workerResult.toolsUsed.join(', ') || 'none'} (${workerResult.toolsUsed.length} total)`
101
106
  : '';
102
107
  const availableToolsContext = this.buildToolContextForPrompt();
108
+ // Include serialized agent context for richer analysis
109
+ const contextBlock = agentContext
110
+ ? `\nAGENT CONTEXT:\n${serializeAgentContext(agentContext, 'client')}`
111
+ : '';
103
112
  const analysisPrompt = `You are a task analyst for a software agent system. Analyze the user's request to determine:
104
113
  1. How deeply to validate the Worker's output (involvement level)
105
114
  2. What specific requirements the task implies
@@ -108,8 +117,7 @@ USER MESSAGE: ${userMessage}
108
117
 
109
118
  SUBTASKS: ${JSON.stringify(subtasks)}
110
119
  ${workerContext}
111
-
112
- PREVIOUS FAILURE COUNT: ${this.failureCount}
120
+ ${contextBlock}
113
121
 
114
122
  AVAILABLE TOOLS (what the Worker and Client can actually use):
115
123
  ${availableToolsContext}
@@ -129,7 +137,7 @@ Respond ONLY with valid JSON in this exact format (no other text):
129
137
  }
130
138
 
131
139
  CRITICAL RULES for involvementLevel:
132
- - THOROUGH: ONLY when the user EXPLICITLY asks to test or verify something, OR after previous failures (failureCount > 0), OR for complex multi-file operations (>3 subtasks)
140
+ - THOROUGH: ONLY when the user EXPLICITLY asks to test or verify something, OR for complex multi-file operations (>3 subtasks)
133
141
  - MINIMAL: Information-only requests (listing files, explaining code, describing something, answering questions) where no files are created or modified
134
142
  - STANDARD: Default for creation, modification, or action tasks
135
143
 
@@ -162,11 +170,8 @@ CRITICAL RULES for requirements:
162
170
  default:
163
171
  level = InvolvementLevel.STANDARD;
164
172
  }
165
- // Hard override: escalate to THOROUGH after failures
166
- if (this.failureCount > 0 && level !== InvolvementLevel.THOROUGH) {
167
- logger.debug(`[Client] Escalating to THOROUGH due to ${this.failureCount} previous failures`);
168
- level = InvolvementLevel.THOROUGH;
169
- }
173
+ // NOTE: failureCount escalation removed involvement level is determined
174
+ // purely by task type. Per-subtask correction is handled by CompletionSignal.
170
175
  const requirements = (analysis.requirements || []).map((req) => ({
171
176
  type: req.type || 'other',
172
177
  description: req.description || 'General task completion',
@@ -185,9 +190,9 @@ CRITICAL RULES for requirements:
185
190
  catch (error) {
186
191
  logger.warn(`[Client] LLM task analysis failed: ${error}, falling back to STANDARD`);
187
192
  }
188
- // Fallback: STANDARD with generic requirement
193
+ // Fallback: STANDARD with generic requirement (no failureCount escalation)
189
194
  return {
190
- level: this.failureCount > 0 ? InvolvementLevel.THOROUGH : InvolvementLevel.STANDARD,
195
+ level: InvolvementLevel.STANDARD,
191
196
  requirements: [{ type: 'other', description: 'General task completion' }],
192
197
  };
193
198
  }
@@ -195,13 +200,13 @@ CRITICAL RULES for requirements:
195
200
  /**
196
201
  * Validate Worker's work at appropriate involvement level
197
202
  */
198
- async validate(userMessage, subtasks, workerResult, involvementLevel) {
203
+ async validate(userMessage, subtasks, workerResult, involvementLevel, agentContext) {
199
204
  // Use LLM-based analysis instead of keyword matching
200
- const { level: analyzedLevel, requirements } = await this.analyzeTaskRequirements(userMessage, subtasks, workerResult);
205
+ const { level: analyzedLevel, requirements } = await this.analyzeTaskRequirements(userMessage, subtasks, workerResult, agentContext);
201
206
  let level = involvementLevel || analyzedLevel;
202
207
  // CRITICAL: Use LLM to check for unjustified failure claims BEFORE other validation
203
208
  // Even in MINIMAL mode, we must catch agents giving up without trying
204
- const failureAnalysis = await this.analyzeForUnjustifiedFailure(userMessage, workerResult);
209
+ const failureAnalysis = await this.analyzeForUnjustifiedFailure(userMessage, workerResult, agentContext);
205
210
  if (failureAnalysis.claimsFailure && !failureAnalysis.hasEvidence) {
206
211
  logger.info(`[Client] Detected unjustified failure claim - escalating from ${level} to STANDARD`);
207
212
  logger.info(`[Client] LLM reasoning: ${failureAnalysis.reasoning}`);
@@ -228,7 +233,7 @@ CRITICAL RULES for requirements:
228
233
  }
229
234
  // Layer 0.5: Result-vs-Evidence Coherence Check (always done, catches hallucinated accomplishments)
230
235
  // This detects when the Worker claims to have done things its tool usage doesn't support
231
- const coherenceAnalysis = await this.analyzeResultCoherence(userMessage, workerResult);
236
+ const coherenceAnalysis = await this.analyzeResultCoherence(userMessage, workerResult, agentContext);
232
237
  orchestrationLogger.logClientCoherenceCheck(coherenceAnalysis.isCoherent, coherenceAnalysis.unsupportedClaims, coherenceAnalysis.reasoning);
233
238
  if (!coherenceAnalysis.isCoherent) {
234
239
  logger.info(`[Client] Detected incoherent result — Worker claims not supported by tool usage`);
@@ -261,12 +266,14 @@ CRITICAL RULES for requirements:
261
266
  result.approved = result.requirementsMet;
262
267
  if (!result.approved && result.issues.length > 0) {
263
268
  // Generate an actionable correction instruction via LLM instead of echoing raw validation issues
264
- result.nextAction = await this.generateCorrectionInstruction(userMessage, subtasks.join('; '), result.issues, workerResult);
265
- this.failureCount++;
269
+ result.nextAction = await this.generateCorrectionInstruction(userMessage, subtasks.join('; '), result.issues, workerResult, agentContext);
270
+ this.failureCount++; // Telemetry only — no longer drives escalation
266
271
  }
267
272
  else {
268
- this.failureCount = 0; // Reset on success
273
+ this.failureCount = 0;
269
274
  }
275
+ // Analyze CompletionSignal (LLM-based per-subtask assessment)
276
+ result.completionSignal = await this.analyzeCompletionSignal(userMessage, workerResult, result.issues, agentContext);
270
277
  // Log the validation outcome
271
278
  orchestrationLogger.logClientValidation(result.approved, result.issues, result.nextAction);
272
279
  return result;
@@ -275,12 +282,14 @@ CRITICAL RULES for requirements:
275
282
  * Use LLM to analyze worker result for unjustified failure claims
276
283
  * This is language-agnostic and captures semantic meaning
277
284
  */
278
- async analyzeForUnjustifiedFailure(userMessage, workerResult) {
285
+ async analyzeForUnjustifiedFailure(userMessage, workerResult, agentContext) {
279
286
  const toolCount = workerResult.toolsUsed.length;
280
287
  const toolList = workerResult.toolsUsed.join(', ') || 'none';
288
+ const contextBlock = agentContext ? `\n${serializeAgentContext(agentContext, 'client')}` : '';
281
289
  const analysisPrompt = `You are a quality control agent. Analyze the following Worker response to determine if it's claiming failure and whether that failure is justified.
282
290
 
283
291
  USER REQUEST: ${userMessage}
292
+ ${contextBlock}
284
293
 
285
294
  WORKER RESPONSE:
286
295
  ${workerResult.result}
@@ -336,7 +345,7 @@ Respond ONLY with the JSON, no other text.`;
336
345
  * and found no bugs" but only used list_directory and never read a single file.
337
346
  * This runs at ALL involvement levels including MINIMAL.
338
347
  */
339
- async analyzeResultCoherence(userMessage, workerResult) {
348
+ async analyzeResultCoherence(userMessage, workerResult, agentContext) {
340
349
  // Skip coherence check if Worker used no tools (caught by zero-tools guard)
341
350
  // or if Worker explicitly failed (caught by failure analysis)
342
351
  if (workerResult.toolsUsed.length === 0 || !workerResult.success) {
@@ -345,9 +354,11 @@ Respond ONLY with the JSON, no other text.`;
345
354
  const toolList = workerResult.toolsUsed.join(', ');
346
355
  const uniqueTools = [...new Set(workerResult.toolsUsed)].join(', ');
347
356
  const availableToolsContext = this.buildToolContextForPrompt();
357
+ const contextBlock = agentContext ? `\n${serializeAgentContext(agentContext, 'client')}` : '';
348
358
  const coherencePrompt = `You are a strict quality auditor. Your job is to determine whether a Worker agent's result is SUPPORTED by the tools it actually used, or whether it fabricated/hallucinated claims.
349
359
 
350
360
  USER REQUEST: ${userMessage}
361
+ ${contextBlock}
351
362
 
352
363
  WORKER RESULT:
353
364
  ${workerResult.result.substring(0, 1000)}
@@ -412,7 +423,10 @@ Respond ONLY with valid JSON:
412
423
  const issues = [];
413
424
  // Zero-tools guard: if Worker used no tools at all and this is not a purely
414
425
  // informational/conversational task, reject immediately
415
- if (workerResult.toolsUsed.length === 0 && involvementLevel !== InvolvementLevel.MINIMAL) {
426
+ // Exception: if the Worker has structured failedTools, it DID try — the
427
+ // tools simply errored. Raising a "no tools used" issue on top of real
428
+ // failures creates a misleading retry loop rather than an honest exit.
429
+ if (workerResult.toolsUsed.length === 0 && workerResult.failedTools.length === 0 && involvementLevel !== InvolvementLevel.MINIMAL) {
416
430
  const isConversational = requirements.every(r => r.type === 'information' || r.type === 'other');
417
431
  if (!isConversational) {
418
432
  issues.push('Worker completed the task without using any tools. ' +
@@ -431,8 +445,12 @@ Respond ONLY with valid JSON:
431
445
  }
432
446
  }
433
447
  }
434
- // Check if Worker succeeded
435
- if (!workerResult.success) {
448
+ // Check if Worker succeeded.
449
+ // If failedTools is non-empty the Worker already proved it tried — the failure
450
+ // is evidence-backed. Raising a generic "retry with appropriate tool usage"
451
+ // issue would just queue another pointless attempt. Let it through; synthesis
452
+ // will report the specific failures to the user.
453
+ if (!workerResult.success && workerResult.failedTools.length === 0) {
436
454
  issues.push('Worker did not complete the task successfully. The task needs to be retried with appropriate tool usage.');
437
455
  }
438
456
  return { issues };
@@ -506,8 +524,9 @@ Respond ONLY with valid JSON:
506
524
  * Translates internal validation failures into concrete, tool-specific directions
507
525
  * for the Worker, referencing only the tools actually available in the system.
508
526
  */
509
- async generateCorrectionInstruction(userMessage, subtask, issues, workerResult) {
527
+ async generateCorrectionInstruction(userMessage, subtask, issues, workerResult, agentContext) {
510
528
  const availableToolsContext = this.buildToolContextForPrompt();
529
+ const contextBlock = agentContext ? `\nAGENT CONTEXT:\n${serializeAgentContext(agentContext, 'client')}` : '';
511
530
  const correctionPrompt = `You are generating a correction instruction for a Worker agent that failed to complete a task properly.
512
531
 
513
532
  ORIGINAL USER REQUEST: ${userMessage}
@@ -522,6 +541,7 @@ TOOLS WORKER USED: ${workerResult.toolsUsed.join(', ') || 'none'}
522
541
 
523
542
  AVAILABLE TOOLS THE WORKER CAN USE:
524
543
  ${availableToolsContext}
544
+ ${contextBlock}
525
545
 
526
546
  Generate a CLEAR, ACTIONABLE instruction that tells the Worker exactly what to do to fix the issues.
527
547
  The instruction should:
@@ -644,10 +664,109 @@ Respond ONLY with the correction instruction text, nothing else.`;
644
664
  }
645
665
  return { issues };
646
666
  }
667
+ // ─── Completion Signal Analysis ──────────────────────────────────────────────
668
+ /**
669
+ * LLM-based per-subtask assessment of completion confidence, blocker type,
670
+ * and suggested corrective strategy. Called at the end of validate().
671
+ */
672
+ async analyzeCompletionSignal(userMessage, workerResult, issues, agentContext) {
673
+ // If approved with no issues, high confidence
674
+ if (issues.length === 0) {
675
+ return { confidence: 'high', progressMade: true };
676
+ }
677
+ // Data-driven short-circuit: if the Worker reported structured tool failures,
678
+ // we know exactly what happened — no LLM inference needed.
679
+ // suggestedStrategy is 'escalate' because rephrasing the instruction cannot
680
+ // fix a tool that is fundamentally erroring (wrong path, permissions, etc.).
681
+ if (workerResult.failedTools.length > 0) {
682
+ const failureSummary = workerResult.failedTools
683
+ .map(f => `${f.toolName} (${f.attempts} attempt${f.attempts !== 1 ? 's' : ''}) — ${f.lastError}`)
684
+ .join('; ');
685
+ logger.info(`[Client] Data-driven CompletionSignal: tool_failure — ${failureSummary}`);
686
+ return {
687
+ confidence: 'none',
688
+ progressMade: false,
689
+ blockerType: 'tool_failure',
690
+ suggestedStrategy: 'escalate',
691
+ };
692
+ }
693
+ const contextBlock = agentContext ? `\n${serializeAgentContext(agentContext, 'client')}` : '';
694
+ const signalPrompt = `You are analyzing a subtask execution to produce a CompletionSignal.
695
+
696
+ USER REQUEST: ${userMessage}
697
+ ${contextBlock}
698
+
699
+ WORKER RESULT (first 500 chars): ${workerResult.result.substring(0, 500)}
700
+ WORKER SUCCESS: ${workerResult.success}
701
+ TOOLS USED: ${workerResult.toolsUsed.join(', ') || 'none'} (${workerResult.toolsUsed.length} total)
702
+
703
+ VALIDATION ISSUES:
704
+ ${issues.map((issue, i) => `${i + 1}. ${issue}`).join('\n')}
705
+
706
+ Analyze and respond ONLY with valid JSON:
707
+ {
708
+ "confidence": "<high | medium | low | none>",
709
+ "progressMade": <true if Worker made any measurable forward progress, false otherwise>,
710
+ "blockerType": "<tool_failure | hallucination | scope_drift | partial | loop | capability_gap | null>",
711
+ "suggestedStrategy": "<retry | rephrase | decompose | skip | escalate>"
712
+ }
713
+
714
+ RULES:
715
+ - confidence "high": all issues are minor or cosmetic
716
+ - confidence "medium": some progress but incomplete
717
+ - confidence "low": significant issues, little useful work
718
+ - confidence "none": no useful work done at all
719
+ - blockerType "tool_failure": Worker tried but tool errored
720
+ - blockerType "hallucination": Worker claimed work it didn't do
721
+ - blockerType "scope_drift": Worker did something unrelated
722
+ - blockerType "partial": Worker made progress but didn't finish
723
+ - blockerType "loop": Worker is repeating the same action
724
+ - blockerType "capability_gap": Task requires tools/capabilities not available
725
+ - suggestedStrategy: recommend the best recovery approach`;
726
+ try {
727
+ const response = await this.orchestrator.chat({
728
+ messages: [
729
+ { role: 'system', content: 'You are a strict completion analyst. Respond only with valid JSON.' },
730
+ { role: 'user', content: signalPrompt },
731
+ ],
732
+ temperature: 0.1,
733
+ });
734
+ const jsonMatch = response.content.match(/\{[\s\S]*\}/);
735
+ if (jsonMatch) {
736
+ const parsed = JSON.parse(jsonMatch[0]);
737
+ return {
738
+ confidence: parsed.confidence || 'low',
739
+ progressMade: parsed.progressMade ?? false,
740
+ blockerType: parsed.blockerType === 'null' ? undefined : parsed.blockerType,
741
+ suggestedStrategy: parsed.suggestedStrategy,
742
+ };
743
+ }
744
+ }
745
+ catch (error) {
746
+ logger.debug(`[Client] Failed to analyze completion signal: ${error}`);
747
+ }
748
+ // Fallback: conservative signal
749
+ return {
750
+ confidence: 'low',
751
+ progressMade: workerResult.toolsUsed.length > 0,
752
+ blockerType: 'partial',
753
+ suggestedStrategy: 'retry',
754
+ };
755
+ }
647
756
  // ─── Session Management ─────────────────────────────────────────────────────
648
- /** Reset failure tracking (call at the start of each new conversation/session). */
649
- resetFailureTracking() {
757
+ /**
758
+ * Reset session state (call at the start of each new conversation/session).
759
+ * Renamed from resetFailureTracking() for clarity — failureCount is now
760
+ * telemetry-only and does not drive involvement escalation.
761
+ */
762
+ resetSessionState() {
650
763
  this.failureCount = 0;
651
764
  }
765
+ /**
766
+ * @deprecated Use resetSessionState() instead.
767
+ */
768
+ resetFailureTracking() {
769
+ this.resetSessionState();
770
+ }
652
771
  }
653
772
  //# sourceMappingURL=client-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-agent.js","sourceRoot":"","sources":["../../src/core/client-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-agent.js","sourceRoot":"","sources":["../../src/core/client-agent.ts"],"names":[],"mappings":"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"}