hanseol-dev 4.4.0-dev.0 → 4.4.0-dev.3

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/dist/agents/index.d.ts +1 -2
  2. package/dist/agents/index.d.ts.map +1 -1
  3. package/dist/agents/index.js +0 -1
  4. package/dist/agents/index.js.map +1 -1
  5. package/dist/agents/planner/index.d.ts +0 -4
  6. package/dist/agents/planner/index.d.ts.map +1 -1
  7. package/dist/agents/planner/index.js +18 -12
  8. package/dist/agents/planner/index.js.map +1 -1
  9. package/dist/cli.js +7 -0
  10. package/dist/cli.js.map +1 -1
  11. package/dist/constants.d.ts +3 -1
  12. package/dist/constants.d.ts.map +1 -1
  13. package/dist/constants.js +3 -1
  14. package/dist/constants.js.map +1 -1
  15. package/dist/core/auth/auth-gate.d.ts.map +1 -1
  16. package/dist/core/auth/auth-gate.js +2 -0
  17. package/dist/core/auth/auth-gate.js.map +1 -1
  18. package/dist/core/background-sync.d.ts +35 -0
  19. package/dist/core/background-sync.d.ts.map +1 -0
  20. package/dist/core/background-sync.js +221 -0
  21. package/dist/core/background-sync.js.map +1 -0
  22. package/dist/core/compact/compact-manager.d.ts.map +1 -1
  23. package/dist/core/compact/compact-manager.js +2 -0
  24. package/dist/core/compact/compact-manager.js.map +1 -1
  25. package/dist/core/llm/llm-client.d.ts +1 -0
  26. package/dist/core/llm/llm-client.d.ts.map +1 -1
  27. package/dist/core/llm/llm-client.js +210 -21
  28. package/dist/core/llm/llm-client.js.map +1 -1
  29. package/dist/core/session/session-manager.d.ts +0 -1
  30. package/dist/core/session/session-manager.d.ts.map +1 -1
  31. package/dist/core/session/session-manager.js +2 -0
  32. package/dist/core/session/session-manager.js.map +1 -1
  33. package/dist/core/telemetry/error-reporter.d.ts.map +1 -1
  34. package/dist/core/telemetry/error-reporter.js +31 -9
  35. package/dist/core/telemetry/error-reporter.js.map +1 -1
  36. package/dist/orchestration/plan-executor.d.ts +0 -1
  37. package/dist/orchestration/plan-executor.d.ts.map +1 -1
  38. package/dist/orchestration/plan-executor.js +82 -54
  39. package/dist/orchestration/plan-executor.js.map +1 -1
  40. package/dist/prompts/agents/planning.d.ts.map +1 -1
  41. package/dist/prompts/agents/planning.js +25 -0
  42. package/dist/prompts/agents/planning.js.map +1 -1
  43. package/dist/prompts/index.d.ts +0 -2
  44. package/dist/prompts/index.d.ts.map +1 -1
  45. package/dist/prompts/index.js +0 -2
  46. package/dist/prompts/index.js.map +1 -1
  47. package/dist/prompts/shared/tool-usage.d.ts +2 -0
  48. package/dist/prompts/shared/tool-usage.d.ts.map +1 -1
  49. package/dist/prompts/shared/tool-usage.js +35 -1
  50. package/dist/prompts/shared/tool-usage.js.map +1 -1
  51. package/dist/prompts/system/plan-execute.d.ts +1 -0
  52. package/dist/prompts/system/plan-execute.d.ts.map +1 -1
  53. package/dist/prompts/system/plan-execute.js +24 -19
  54. package/dist/prompts/system/plan-execute.js.map +1 -1
  55. package/dist/tools/llm/index.d.ts +0 -1
  56. package/dist/tools/llm/index.d.ts.map +1 -1
  57. package/dist/tools/llm/index.js +0 -1
  58. package/dist/tools/llm/index.js.map +1 -1
  59. package/dist/tools/llm/simple/external-services/external-service-api-clients.d.ts +54 -0
  60. package/dist/tools/llm/simple/external-services/external-service-api-clients.d.ts.map +1 -0
  61. package/dist/tools/llm/simple/external-services/external-service-api-clients.js +205 -0
  62. package/dist/tools/llm/simple/external-services/external-service-api-clients.js.map +1 -0
  63. package/dist/tools/llm/simple/external-services/free-tools.d.ts +2 -0
  64. package/dist/tools/llm/simple/external-services/free-tools.d.ts.map +1 -0
  65. package/dist/tools/llm/simple/external-services/free-tools.js +2 -0
  66. package/dist/tools/llm/simple/external-services/free-tools.js.map +1 -0
  67. package/dist/tools/llm/simple/external-services/index.d.ts +3 -0
  68. package/dist/tools/llm/simple/external-services/index.d.ts.map +1 -0
  69. package/dist/tools/llm/simple/external-services/index.js +3 -0
  70. package/dist/tools/llm/simple/external-services/index.js.map +1 -0
  71. package/dist/tools/llm/simple/external-services/once-tools.d.ts +3 -0
  72. package/dist/tools/llm/simple/external-services/once-tools.d.ts.map +1 -0
  73. package/dist/tools/llm/simple/external-services/once-tools.js +106 -0
  74. package/dist/tools/llm/simple/external-services/once-tools.js.map +1 -0
  75. package/dist/tools/llm/simple/file-tools.d.ts +1 -1
  76. package/dist/tools/llm/simple/file-tools.d.ts.map +1 -1
  77. package/dist/tools/llm/simple/file-tools.js +49 -6
  78. package/dist/tools/llm/simple/file-tools.js.map +1 -1
  79. package/dist/tools/llm/simple/index.d.ts +1 -0
  80. package/dist/tools/llm/simple/index.d.ts.map +1 -1
  81. package/dist/tools/llm/simple/index.js +1 -0
  82. package/dist/tools/llm/simple/index.js.map +1 -1
  83. package/dist/tools/llm/simple/powershell-tool.d.ts.map +1 -1
  84. package/dist/tools/llm/simple/powershell-tool.js +15 -2
  85. package/dist/tools/llm/simple/powershell-tool.js.map +1 -1
  86. package/dist/tools/llm/simple/simple-tool-executor.d.ts +3 -0
  87. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +1 -1
  88. package/dist/tools/llm/simple/simple-tool-executor.js +9 -0
  89. package/dist/tools/llm/simple/simple-tool-executor.js.map +1 -1
  90. package/dist/tools/office/excel-tools/cells.d.ts.map +1 -1
  91. package/dist/tools/office/excel-tools/cells.js +5 -1
  92. package/dist/tools/office/excel-tools/cells.js.map +1 -1
  93. package/dist/tools/office/excel-tools/sheets.d.ts.map +1 -1
  94. package/dist/tools/office/excel-tools/sheets.js +6 -1
  95. package/dist/tools/office/excel-tools/sheets.js.map +1 -1
  96. package/dist/tools/office/excel-tools/tables.d.ts.map +1 -1
  97. package/dist/tools/office/excel-tools/tables.js +6 -1
  98. package/dist/tools/office/excel-tools/tables.js.map +1 -1
  99. package/dist/tools/registry.d.ts.map +1 -1
  100. package/dist/tools/registry.js +3 -2
  101. package/dist/tools/registry.js.map +1 -1
  102. package/dist/ui/components/ActivityIndicator.d.ts +1 -1
  103. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  104. package/dist/ui/components/ActivityIndicator.js +0 -1
  105. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  106. package/dist/ui/components/PlanExecuteApp.d.ts +1 -1
  107. package/dist/ui/components/PlanExecuteApp.d.ts.map +1 -1
  108. package/dist/ui/components/PlanExecuteApp.js +20 -64
  109. package/dist/ui/components/PlanExecuteApp.js.map +1 -1
  110. package/package.json +3 -1
  111. package/dist/agents/docs-search/index.d.ts +0 -33
  112. package/dist/agents/docs-search/index.d.ts.map +0 -1
  113. package/dist/agents/docs-search/index.js +0 -244
  114. package/dist/agents/docs-search/index.js.map +0 -1
  115. package/dist/prompts/agents/docs-search-decision.d.ts +0 -6
  116. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  117. package/dist/prompts/agents/docs-search-decision.js +0 -46
  118. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  119. package/dist/prompts/agents/docs-search.d.ts +0 -4
  120. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  121. package/dist/prompts/agents/docs-search.js +0 -70
  122. package/dist/prompts/agents/docs-search.js.map +0 -1
  123. package/dist/tools/llm/agents/docs-search-tools.d.ts +0 -17
  124. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  125. package/dist/tools/llm/agents/docs-search-tools.js +0 -265
  126. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  127. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts +0 -6
  128. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  129. package/dist/tools/llm/simple/docs-search-agent-tool.js +0 -104
  130. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  131. package/dist/ui/components/DocsSearchProgress.d.ts +0 -13
  132. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  133. package/dist/ui/components/DocsSearchProgress.js +0 -37
  134. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
@@ -61,6 +61,7 @@ export declare class LLMClient {
61
61
  chatCompletionWithTools(messages: Message[], tools: import('../../types/index.js').ToolDefinition[], options?: {
62
62
  getPendingMessage?: () => string | null;
63
63
  clearPendingMessage?: () => void;
64
+ rebuildMessages?: (toolLoopMessages: Message[]) => Message[];
64
65
  }): Promise<{
65
66
  message: Message;
66
67
  toolCalls: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../../src/core/llm/llm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-client.d.ts","sourceRoot":"","sources":["../../../src/core/llm/llm-client.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAsBlE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,GAAG;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAKD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE;YACL,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC,CAAC;CACJ;AAKD,MAAM,WAAW,WAAW;IAE1B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAKD,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,sBAAsB,CAAgC;IAC9D,OAAO,CAAC,aAAa,CAAkB;IAGvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAK;gBAEpC,SAAS,CAAC,EAAE,MAAM;IAqC9B,OAAO,CAAC,kBAAkB;IAoEpB,cAAc,CAClB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,WAAW,CAAC;IA0LvB,KAAK,IAAI,IAAI;IAab,gBAAgB,IAAI,OAAO;IAO3B,cAAc,IAAI,IAAI;IAOtB,eAAe,IAAI,OAAO;IAW1B,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,KAAK;IAON,oBAAoB,CACzB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAClC,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC;IAmH1C,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4DvE,iBAAiB,CACtB,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC;IAkClC,uBAAuB,CAC3B,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,OAAO,sBAAsB,EAAE,cAAc,EAAE,EACtD,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;QACxC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;QAEjC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC;KAC9D,GACA,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,WAAW,EAAE,OAAO,EAAE,CAAC;KACxB,CAAC;IA+gBF,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAUnD,OAAO,CAAC,WAAW;IAoVb,uBAAuB,CAC3B,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,UAAU,SAAI,GACb,OAAO,CAAC,WAAW,CAAC;IAQjB,WAAW,IAAI,OAAO,CAAC;QAC3B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;WA0CW,cAAc,IAAI,OAAO,CACpC,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CACvF;WAoHY,cAAc,CACzB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAwDnE"}
@@ -36,14 +36,33 @@ export class LLMClient {
36
36
  });
37
37
  }
38
38
  preprocessMessages(messages, modelId) {
39
- return messages.map((msg) => {
39
+ let lastAssistantIdx = -1;
40
+ for (let i = messages.length - 1; i >= 0; i--) {
41
+ if (messages[i].role === 'assistant') {
42
+ lastAssistantIdx = i;
43
+ break;
44
+ }
45
+ }
46
+ return messages.map((msg, index) => {
40
47
  if (msg.role !== 'assistant') {
41
48
  return msg;
42
49
  }
43
50
  const msgAny = msg;
44
- let processedMsg = { ...msg };
45
- if (msgAny.reasoning_content && (!msg.content || msg.content.trim() === '')) {
46
- processedMsg.content = msgAny.reasoning_content;
51
+ const processedMsg = { ...msg };
52
+ const isLatestAssistant = index === lastAssistantIdx;
53
+ if (!isLatestAssistant) {
54
+ if (msgAny.reasoning_content) {
55
+ delete processedMsg.reasoning_content;
56
+ }
57
+ if (msgAny.reasoning) {
58
+ delete processedMsg.reasoning;
59
+ }
60
+ if (processedMsg.content) {
61
+ processedMsg.content = processedMsg.content.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
62
+ }
63
+ }
64
+ if (msgAny.reasoning_content && (!processedMsg.content || processedMsg.content.trim() === '')) {
65
+ processedMsg.content = isLatestAssistant ? msgAny.reasoning_content : '';
47
66
  delete processedMsg.reasoning_content;
48
67
  }
49
68
  if (/^gpt-oss-(120b|20b)$/i.test(modelId)) {
@@ -180,7 +199,7 @@ export class LLMClient {
180
199
  url,
181
200
  body: options,
182
201
  });
183
- reportError(handled, { type: 'llm', method: 'chatCompletion', endpoint: url }).catch(() => { });
202
+ reportError(handled, { type: 'llm', method: 'chatCompletion', endpoint: url, modelId: this.model, modelName: this.modelName }).catch(() => { });
184
203
  throw handled;
185
204
  }
186
205
  }
@@ -317,7 +336,7 @@ export class LLMClient {
317
336
  url,
318
337
  body: options,
319
338
  });
320
- reportError(handled, { type: 'llm', method: 'chatCompletionStream', endpoint: url }).catch(() => { });
339
+ reportError(handled, { type: 'llm', method: 'chatCompletionStream', endpoint: url, modelId: this.model, modelName: this.modelName }).catch(() => { });
321
340
  throw handled;
322
341
  }
323
342
  }
@@ -380,24 +399,60 @@ export class LLMClient {
380
399
  }
381
400
  async chatCompletionWithTools(messages, tools, options) {
382
401
  let workingMessages = [...messages];
402
+ const toolLoopMessages = [];
383
403
  const toolCallHistory = [];
384
404
  let iterations = 0;
385
405
  let contextLengthRecoveryAttempted = false;
386
406
  let noToolCallRetries = 0;
387
407
  let finalResponseFailures = 0;
408
+ let consecutiveParseFailures = 0;
388
409
  const MAX_NO_TOOL_CALL_RETRIES = 3;
389
410
  const MAX_FINAL_RESPONSE_FAILURES = 3;
411
+ const MAX_CONSECUTIVE_PARSE_FAILURES = 3;
412
+ const parseFailureToolCallIds = new Set();
413
+ const stripParseFailures = (msgs) => {
414
+ if (parseFailureToolCallIds.size === 0)
415
+ return msgs;
416
+ return msgs.filter(msg => {
417
+ if (msg.role === 'tool' && msg.tool_call_id && parseFailureToolCallIds.has(msg.tool_call_id))
418
+ return false;
419
+ if (msg.role === 'assistant' && msg.tool_calls && msg.tool_calls.length > 0 &&
420
+ msg.tool_calls.every(tc => parseFailureToolCallIds.has(tc.id)))
421
+ return false;
422
+ return true;
423
+ });
424
+ };
425
+ const addMessage = (msg) => {
426
+ workingMessages.push(msg);
427
+ if (options?.rebuildMessages) {
428
+ toolLoopMessages.push(msg);
429
+ }
430
+ };
431
+ const getAllMessages = () => {
432
+ return options?.rebuildMessages
433
+ ? stripParseFailures(toolLoopMessages)
434
+ : stripParseFailures(workingMessages);
435
+ };
390
436
  while (true) {
391
437
  if (this.isInterrupted) {
392
438
  logger.flow('Interrupt detected - stopping tool loop');
393
439
  throw new Error('INTERRUPTED');
394
440
  }
395
441
  iterations++;
442
+ if (options?.rebuildMessages) {
443
+ workingMessages = options.rebuildMessages(toolLoopMessages);
444
+ }
396
445
  if (options?.getPendingMessage && options?.clearPendingMessage) {
397
446
  const pendingMsg = options.getPendingMessage();
398
447
  if (pendingMsg) {
399
448
  logger.flow('Injecting pending user message into conversation');
400
- workingMessages.push({ role: 'user', content: pendingMsg });
449
+ if (options?.rebuildMessages) {
450
+ toolLoopMessages.push({ role: 'user', content: pendingMsg });
451
+ workingMessages = options.rebuildMessages(toolLoopMessages);
452
+ }
453
+ else {
454
+ workingMessages.push({ role: 'user', content: pendingMsg });
455
+ }
401
456
  options.clearPendingMessage();
402
457
  }
403
458
  }
@@ -412,7 +467,19 @@ export class LLMClient {
412
467
  catch (error) {
413
468
  if (error instanceof ContextLengthError && !contextLengthRecoveryAttempted) {
414
469
  contextLengthRecoveryAttempted = true;
415
- logger.flow('ContextLengthError detected - attempting recovery with compact');
470
+ logger.flow('ContextLengthError detected - attempting recovery');
471
+ if (options?.rebuildMessages) {
472
+ let rollbackIdx = toolLoopMessages.length - 1;
473
+ while (rollbackIdx >= 0 && toolLoopMessages[rollbackIdx]?.role === 'tool') {
474
+ rollbackIdx--;
475
+ }
476
+ if (rollbackIdx >= 0 && toolLoopMessages[rollbackIdx]?.tool_calls) {
477
+ toolLoopMessages.length = rollbackIdx;
478
+ logger.debug('Rolled back toolLoopMessages', { newLength: toolLoopMessages.length });
479
+ }
480
+ continue;
481
+ }
482
+ logger.flow('Attempting recovery with compact');
416
483
  let rollbackIdx = workingMessages.length - 1;
417
484
  while (rollbackIdx >= 0 && workingMessages[rollbackIdx]?.role === 'tool') {
418
485
  rollbackIdx--;
@@ -456,7 +523,7 @@ export class LLMClient {
456
523
  throw new Error('응답에서 choice를 찾을 수 없습니다.');
457
524
  }
458
525
  const assistantMessage = choice.message;
459
- workingMessages.push(assistantMessage);
526
+ addMessage(assistantMessage);
460
527
  if (assistantMessage.tool_calls && assistantMessage.tool_calls.length > 0) {
461
528
  if (assistantMessage.tool_calls.length > 1) {
462
529
  const toolNames = assistantMessage.tool_calls.map(tc => tc.function.name).join(', ');
@@ -464,18 +531,86 @@ export class LLMClient {
464
531
  assistantMessage.tool_calls = [assistantMessage.tool_calls[0]];
465
532
  }
466
533
  for (const toolCall of assistantMessage.tool_calls) {
467
- const toolName = toolCall.function.name;
534
+ const rawToolName = toolCall.function.name;
535
+ const toolName = rawToolName.replace(/<\|.*$/, '').replace(/[^a-zA-Z0-9_-]+$/, '').trim() || rawToolName;
536
+ if (toolName !== rawToolName) {
537
+ logger.warn('Tool name sanitized (model leaked special tokens)', {
538
+ original: rawToolName,
539
+ sanitized: toolName,
540
+ model: this.model,
541
+ });
542
+ toolCall.function.name = toolName;
543
+ reportError(new Error(`Tool name contaminated: ${rawToolName}`), {
544
+ type: 'toolNameContamination',
545
+ original: rawToolName,
546
+ sanitized: toolName,
547
+ modelId: this.model,
548
+ modelName: this.modelName,
549
+ }).catch(() => { });
550
+ }
468
551
  let toolArgs;
469
552
  try {
470
553
  toolArgs = JSON.parse(toolCall.function.arguments);
471
554
  }
472
555
  catch (parseError) {
473
- const errorMsg = `Tool argument parsing failed for ${toolName}`;
474
- logger.error(errorMsg, parseError);
556
+ consecutiveParseFailures++;
557
+ parseFailureToolCallIds.add(toolCall.id);
558
+ const errorMsg = `Tool argument parsing failed for ${toolName}: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`;
559
+ logger.error('Tool argument parse error', {
560
+ toolName,
561
+ error: errorMsg,
562
+ consecutiveFailures: consecutiveParseFailures,
563
+ });
475
564
  logger.debug('Raw arguments', { raw: toolCall.function.arguments });
476
- workingMessages.push({
565
+ reportError(parseError, {
566
+ type: 'toolArgParsing',
567
+ tool: toolName,
568
+ consecutiveFailures: consecutiveParseFailures,
569
+ modelId: this.model,
570
+ modelName: this.modelName,
571
+ rawArguments: typeof toolCall.function.arguments === 'string' ? toolCall.function.arguments.substring(0, 500) : undefined,
572
+ }).catch(() => { });
573
+ if (consecutiveParseFailures >= MAX_CONSECUTIVE_PARSE_FAILURES) {
574
+ logger.error('[ABORT] Tool argument parse failed 3 times consecutively. Model may not support JSON function calling.');
575
+ const abortMsg = 'I cannot generate valid JSON tool arguments. Please try a different model that supports JSON function calling.';
576
+ addMessage({
577
+ role: 'tool',
578
+ content: errorMsg,
579
+ tool_call_id: toolCall.id,
580
+ });
581
+ return {
582
+ message: { role: 'assistant', content: abortMsg },
583
+ toolCalls: toolCallHistory,
584
+ allMessages: getAllMessages(),
585
+ };
586
+ }
587
+ const rawArgs = toolCall.function.arguments;
588
+ const rawPreview = typeof rawArgs === 'string' ? rawArgs.substring(0, 300) : String(rawArgs);
589
+ const hintMsg = `Error: Failed to parse tool arguments for "${toolName}".
590
+
591
+ Parse error: ${parseError instanceof Error ? parseError.message : 'Unknown error'}
592
+
593
+ Your raw input was:
594
+ \`\`\`
595
+ ${rawPreview}
596
+ \`\`\`
597
+
598
+ Fix the following issues:
599
+ 1. Arguments MUST be valid JSON (not XML, not plain text)
600
+ 2. All strings must use double quotes ("), not single quotes (')
601
+ 3. No trailing commas after the last property
602
+ 4. No comments inside JSON
603
+ 5. Escape special characters in strings (\\n, \\", \\\\)
604
+
605
+ Correct format example:
606
+ \`\`\`json
607
+ {"reason": "description", "file_path": "src/index.ts"}
608
+ \`\`\`
609
+
610
+ Do NOT use XML tags like <arg_key> or <arg_value>. Retry with valid JSON.`;
611
+ addMessage({
477
612
  role: 'tool',
478
- content: `Error: Failed to parse tool arguments - ${parseError instanceof Error ? parseError.message : 'Unknown error'}`,
613
+ content: hintMsg,
479
614
  tool_call_id: toolCall.id,
480
615
  });
481
616
  toolCallHistory.push({
@@ -485,6 +620,59 @@ export class LLMClient {
485
620
  });
486
621
  continue;
487
622
  }
623
+ const toolDef = tools.find(t => t.function.name === toolName);
624
+ if (toolDef?.function.parameters) {
625
+ const schema = toolDef.function.parameters;
626
+ const schemaErrors = [];
627
+ if (schema.required) {
628
+ for (const req of schema.required) {
629
+ if (toolArgs[req] === undefined || toolArgs[req] === null) {
630
+ const propDef = schema.properties[req];
631
+ schemaErrors.push(`Missing required parameter: "${req}" (expected: ${propDef?.type || 'unknown'})`);
632
+ }
633
+ }
634
+ }
635
+ for (const [key, value] of Object.entries(toolArgs)) {
636
+ const propDef = schema.properties[key];
637
+ if (propDef?.type && value !== null && value !== undefined) {
638
+ const actualType = Array.isArray(value) ? 'array' : typeof value;
639
+ if (actualType !== propDef.type) {
640
+ schemaErrors.push(`"${key}": expected ${propDef.type}, got ${actualType} (${JSON.stringify(value).substring(0, 50)})`);
641
+ }
642
+ }
643
+ }
644
+ if (schemaErrors.length > 0) {
645
+ consecutiveParseFailures++;
646
+ parseFailureToolCallIds.add(toolCall.id);
647
+ if (consecutiveParseFailures >= MAX_CONSECUTIVE_PARSE_FAILURES) {
648
+ const abortMsg = 'Cannot generate valid tool arguments. Please try a different model.';
649
+ addMessage({ role: 'tool', content: schemaErrors.join('\n'), tool_call_id: toolCall.id });
650
+ return {
651
+ message: { role: 'assistant', content: abortMsg },
652
+ toolCalls: toolCallHistory,
653
+ allMessages: getAllMessages(),
654
+ };
655
+ }
656
+ const requiredList = (schema.required || [])
657
+ .map(r => {
658
+ const p = schema.properties[r];
659
+ return ` "${r}": ${p?.type || 'unknown'}`;
660
+ })
661
+ .join('\n');
662
+ const hintMsg = `Error: Schema validation failed for "${toolName}".
663
+
664
+ ${schemaErrors.join('\n')}
665
+
666
+ Required parameters:
667
+ ${requiredList}
668
+
669
+ Retry with correct parameter names and types.`;
670
+ addMessage({ role: 'tool', content: hintMsg, tool_call_id: toolCall.id });
671
+ toolCallHistory.push({ tool: toolName, args: toolArgs, result: 'Error: Schema validation failed' });
672
+ continue;
673
+ }
674
+ }
675
+ consecutiveParseFailures = 0;
488
676
  const { executeFileTool, requestToolApproval } = await import('../../tools/llm/simple/file-tools.js');
489
677
  const approvalResult = await requestToolApproval(toolName, toolArgs);
490
678
  if (approvalResult && typeof approvalResult === 'object' && approvalResult.reject) {
@@ -492,7 +680,7 @@ export class LLMClient {
492
680
  const rejectMessage = approvalResult.comment
493
681
  ? `Tool execution rejected by user. Reason: ${approvalResult.comment}`
494
682
  : 'Tool execution rejected by user.';
495
- workingMessages.push({
683
+ addMessage({
496
684
  role: 'tool',
497
685
  content: rejectMessage,
498
686
  tool_call_id: toolCall.id,
@@ -515,7 +703,7 @@ export class LLMClient {
515
703
  if (toolName === 'final_response') {
516
704
  if (result.success && result.metadata?.['isFinalResponse']) {
517
705
  logger.flow('final_response tool executed successfully - returning');
518
- workingMessages.push({
706
+ addMessage({
519
707
  role: 'tool',
520
708
  content: result.result || '',
521
709
  tool_call_id: toolCall.id,
@@ -531,7 +719,7 @@ export class LLMClient {
531
719
  content: result.result || '',
532
720
  },
533
721
  toolCalls: toolCallHistory,
534
- allMessages: workingMessages,
722
+ allMessages: getAllMessages(),
535
723
  };
536
724
  }
537
725
  else {
@@ -545,7 +733,7 @@ export class LLMClient {
545
733
  return {
546
734
  message: { role: 'assistant', content: fallbackMessage },
547
735
  toolCalls: toolCallHistory,
548
- allMessages: workingMessages,
736
+ allMessages: getAllMessages(),
549
737
  };
550
738
  }
551
739
  }
@@ -553,6 +741,7 @@ export class LLMClient {
553
741
  }
554
742
  catch (toolError) {
555
743
  logger.toolExecution(toolName, toolArgs, undefined, toolError);
744
+ reportError(toolError, { type: 'toolExecution', tool: toolName, modelId: this.model, modelName: this.modelName, toolArgs }).catch(() => { });
556
745
  if (isLLMLogEnabled()) {
557
746
  const errorMsg = toolError instanceof Error ? toolError.message : String(toolError);
558
747
  logger.llmToolResult(toolName, `Error: ${errorMsg}`, false);
@@ -562,7 +751,7 @@ export class LLMClient {
562
751
  error: toolError instanceof Error ? toolError.message : String(toolError),
563
752
  };
564
753
  }
565
- workingMessages.push({
754
+ addMessage({
566
755
  role: 'tool',
567
756
  content: result.success ? result.result || '' : `Error: ${result.error}`,
568
757
  tool_call_id: toolCall.id,
@@ -590,7 +779,7 @@ export class LLMClient {
590
779
  return {
591
780
  message: { role: 'assistant', content: fallbackContent },
592
781
  toolCalls: toolCallHistory,
593
- allMessages: workingMessages,
782
+ allMessages: getAllMessages(),
594
783
  };
595
784
  }
596
785
  const hasMalformedToolCall = assistantMessage.content &&
@@ -602,7 +791,7 @@ export class LLMClient {
602
791
  const retryMessage = hasMalformedToolCall
603
792
  ? 'Your previous response contained a malformed tool call (XML tags in content). You MUST use the proper tool_calls API format. Use final_response tool to deliver your message to the user.'
604
793
  : 'You must use tools for all actions. Use final_response tool to deliver your final message to the user after completing all tasks.';
605
- workingMessages.push({
794
+ addMessage({
606
795
  role: 'user',
607
796
  content: retryMessage,
608
797
  });
@@ -1 +1 @@
1
- {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../../src/core/llm/llm-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-client.js","sourceRoot":"","sources":["../../../src/core/llm/llm-client.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,6 @@ export interface SessionTodoItem {
25
25
  status: 'pending' | 'in_progress' | 'completed' | 'failed';
26
26
  result?: string;
27
27
  error?: string;
28
- requiresDocsSearch?: boolean;
29
28
  dependencies?: string[];
30
29
  }
31
30
  export interface SessionData {
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/core/session/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/core/session/session-manager.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { configManager } from '../config/config-manager.js';
4
4
  import { PROJECTS_DIR } from '../../constants.js';
5
5
  import { initializeJsonStreamLogger } from '../../utils/json-stream-logger.js';
6
6
  import { logger } from '../../utils/logger.js';
7
+ import { reportError } from '../telemetry/error-reporter.js';
7
8
  export class SessionManager {
8
9
  currentSessionId = null;
9
10
  currentSessionCreatedAt = null;
@@ -110,6 +111,7 @@ export class SessionManager {
110
111
  }
111
112
  catch (error) {
112
113
  logger.error('Failed to load session', { sessionId, error });
114
+ reportError(error, { type: 'session', method: 'loadSession', sessionId }).catch(() => { });
113
115
  return null;
114
116
  }
115
117
  }