@caupulican/pi-adaptative 0.81.9 → 0.81.12

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 (91) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/bundled-resources/skills/tool-call-repair/SKILL.md +148 -0
  3. package/dist/bundled-resources/skills/tool-call-repair/references/failure-grammar.md +128 -0
  4. package/dist/bundled-resources/skills/tool-call-repair/references/repair-catalogue.md +201 -0
  5. package/dist/bundled-resources/skills/tool-call-repair/references/text-protocol-grammar.md +141 -0
  6. package/dist/core/agent-session.d.ts +18 -0
  7. package/dist/core/agent-session.d.ts.map +1 -1
  8. package/dist/core/agent-session.js +198 -1
  9. package/dist/core/agent-session.js.map +1 -1
  10. package/dist/core/delegation/worker-actions.d.ts +2 -1
  11. package/dist/core/delegation/worker-actions.d.ts.map +1 -1
  12. package/dist/core/delegation/worker-actions.js +34 -2
  13. package/dist/core/delegation/worker-actions.js.map +1 -1
  14. package/dist/core/extensions/types.d.ts +3 -1
  15. package/dist/core/extensions/types.d.ts.map +1 -1
  16. package/dist/core/extensions/types.js.map +1 -1
  17. package/dist/core/failure-corpus.d.ts +27 -1
  18. package/dist/core/failure-corpus.d.ts.map +1 -1
  19. package/dist/core/failure-corpus.js +33 -11
  20. package/dist/core/failure-corpus.js.map +1 -1
  21. package/dist/core/model-registry.d.ts +2 -2
  22. package/dist/core/model-registry.d.ts.map +1 -1
  23. package/dist/core/model-registry.js +6 -4
  24. package/dist/core/model-registry.js.map +1 -1
  25. package/dist/core/models/adaptation-store.d.ts +62 -0
  26. package/dist/core/models/adaptation-store.d.ts.map +1 -0
  27. package/dist/core/models/adaptation-store.js +168 -0
  28. package/dist/core/models/adaptation-store.js.map +1 -0
  29. package/dist/core/session-analytics.d.ts +24 -1
  30. package/dist/core/session-analytics.d.ts.map +1 -1
  31. package/dist/core/session-analytics.js +75 -0
  32. package/dist/core/session-analytics.js.map +1 -1
  33. package/dist/core/settings-manager.d.ts +6 -0
  34. package/dist/core/settings-manager.d.ts.map +1 -1
  35. package/dist/core/settings-manager.js.map +1 -1
  36. package/dist/core/slash-commands.d.ts.map +1 -1
  37. package/dist/core/slash-commands.js +5 -0
  38. package/dist/core/slash-commands.js.map +1 -1
  39. package/dist/core/system-prompt-builder.d.ts +4 -0
  40. package/dist/core/system-prompt-builder.d.ts.map +1 -1
  41. package/dist/core/system-prompt-builder.js +8 -0
  42. package/dist/core/system-prompt-builder.js.map +1 -1
  43. package/dist/core/tool-repair-health.d.ts +3 -0
  44. package/dist/core/tool-repair-health.d.ts.map +1 -0
  45. package/dist/core/tool-repair-health.js +43 -0
  46. package/dist/core/tool-repair-health.js.map +1 -0
  47. package/dist/core/tool-repair-settings.d.ts +11 -0
  48. package/dist/core/tool-repair-settings.d.ts.map +1 -0
  49. package/dist/core/tool-repair-settings.js +18 -0
  50. package/dist/core/tool-repair-settings.js.map +1 -0
  51. package/dist/core/tools/edit.d.ts.map +1 -1
  52. package/dist/core/tools/edit.js +0 -9
  53. package/dist/core/tools/edit.js.map +1 -1
  54. package/dist/core/tools/find.d.ts.map +1 -1
  55. package/dist/core/tools/find.js +10 -7
  56. package/dist/core/tools/find.js.map +1 -1
  57. package/dist/core/tools/grep.d.ts.map +1 -1
  58. package/dist/core/tools/grep.js +15 -9
  59. package/dist/core/tools/grep.js.map +1 -1
  60. package/dist/modes/interactive/components/tool-execution.d.ts +7 -3
  61. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  62. package/dist/modes/interactive/components/tool-execution.js +21 -4
  63. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  64. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  65. package/dist/modes/interactive/external-editor.js +5 -3
  66. package/dist/modes/interactive/external-editor.js.map +1 -1
  67. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  68. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  69. package/dist/modes/interactive/interactive-mode.js +37 -7
  70. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  71. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  72. package/dist/modes/rpc/rpc-mode.js +8 -0
  73. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  74. package/dist/modes/rpc/rpc-types.d.ts +24 -0
  75. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  76. package/dist/modes/rpc/rpc-types.js.map +1 -1
  77. package/docs/index.md +1 -0
  78. package/docs/rpc.md +36 -0
  79. package/docs/settings.md +20 -0
  80. package/docs/tool-repair.md +75 -0
  81. package/docs/usage.md +2 -0
  82. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  83. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  84. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  85. package/examples/extensions/sandbox/package-lock.json +2 -2
  86. package/examples/extensions/sandbox/package.json +1 -1
  87. package/examples/extensions/with-deps/package-lock.json +2 -2
  88. package/examples/extensions/with-deps/package.json +1 -1
  89. package/npm-shrinkwrap.json +12 -12
  90. package/package.json +6 -4
  91. package/docs/bug-ledger.md +0 -134
@@ -1043,21 +1043,21 @@ export class InteractiveMode {
1043
1043
  return;
1044
1044
  }
1045
1045
  }
1046
- attachToolExecutionComponent(toolName, toolCallId, args) {
1046
+ attachToolExecutionComponent(toolName, toolCallId, args, repair) {
1047
1047
  const actionKey = getToolPanelActionKey(this.getToolPanelScope(), toolName, args);
1048
1048
  const toolDefinition = this.getRegisteredToolDefinition(toolName);
1049
1049
  const reuseInPlace = shouldReuseToolPanelInPlace(toolName, args);
1050
1050
  const existing = this.toolPanels.getReusable(actionKey, { allowActive: reuseInPlace });
1051
1051
  if (existing) {
1052
1052
  if (reuseInPlace && actionKey) {
1053
- existing.resetInvocation(toolName, toolCallId, args, toolDefinition);
1053
+ existing.resetInvocation(toolName, toolCallId, args, toolDefinition, repair);
1054
1054
  existing.setExpanded(this.toolOutputExpanded);
1055
1055
  this.toolPanels.replaceActiveForAction(toolCallId, existing, actionKey);
1056
1056
  this.ui.requestRender();
1057
1057
  return existing;
1058
1058
  }
1059
1059
  this.detachToolExecutionComponent(existing);
1060
- existing.resetInvocation(toolName, toolCallId, args, toolDefinition);
1060
+ existing.resetInvocation(toolName, toolCallId, args, toolDefinition, repair);
1061
1061
  existing.setExpanded(this.toolOutputExpanded);
1062
1062
  this.appendToolExecutionComponent(existing, true);
1063
1063
  this.toolPanels.register(toolCallId, existing, actionKey);
@@ -1066,6 +1066,7 @@ export class InteractiveMode {
1066
1066
  const component = new ToolExecutionComponent(toolName, toolCallId, args, {
1067
1067
  showImages: this.settingsManager.getShowImages(),
1068
1068
  imageWidthCells: this.settingsManager.getImageWidthCells(),
1069
+ repair,
1069
1070
  }, toolDefinition, this.ui, this.sessionManager.getCwd());
1070
1071
  component.setExpanded(this.toolOutputExpanded);
1071
1072
  this.appendToolExecutionComponent(component, true);
@@ -1326,6 +1327,22 @@ export class InteractiveMode {
1326
1327
  this.editor.setText("");
1327
1328
  return;
1328
1329
  }
1330
+ if (text === "/toolhealth") {
1331
+ this.showStatus(this.session.formatToolRepairHealthReport());
1332
+ this.editor.setText("");
1333
+ return;
1334
+ }
1335
+ if (text.startsWith("/toolrule-remove")) {
1336
+ const [model, mode] = text.slice("/toolrule-remove".length).trim().split(/\s+/, 2);
1337
+ const message = model && mode
1338
+ ? this.session.removeToolRepairRule(model, mode)
1339
+ ? `Removed tool repair rule ${mode} for ${model}.`
1340
+ : `No tool repair rule ${mode} found for ${model}.`
1341
+ : "Usage: /toolrule-remove <provider/model> <mode>";
1342
+ this.showStatus(message);
1343
+ this.editor.setText("");
1344
+ return;
1345
+ }
1329
1346
  if (text === "/scoped-models") {
1330
1347
  this.editor.setText("");
1331
1348
  await this.showModelsSelector();
@@ -1657,14 +1674,17 @@ export class InteractiveMode {
1657
1674
  case "tool_execution_start": {
1658
1675
  let component = this.toolPanels.getActive(event.toolCallId);
1659
1676
  if (!component)
1660
- component = this.attachToolExecutionComponent(event.toolName, event.toolCallId, event.args);
1661
- component.markExecutionStarted();
1677
+ component = this.attachToolExecutionComponent(event.toolName, event.toolCallId, event.args, event.repair);
1678
+ else
1679
+ component.updateArgs(event.args, event.repair);
1680
+ component.markExecutionStarted(event.repair);
1662
1681
  this.ui.requestRender();
1663
1682
  break;
1664
1683
  }
1665
1684
  case "tool_execution_update": {
1666
1685
  const component = this.toolPanels.getActive(event.toolCallId);
1667
1686
  if (component) {
1687
+ component.updateArgs(event.args, event.repair);
1668
1688
  component.updateResult({ ...event.partialResult, isError: false }, true);
1669
1689
  this.ui.requestRender();
1670
1690
  }
@@ -1865,17 +1885,27 @@ export class InteractiveMode {
1865
1885
  }
1866
1886
  })();
1867
1887
  }
1888
+ getToolCallRepairInfo(toolCall) {
1889
+ if (!toolCall.rawArguments && !toolCall.repairNotes?.length)
1890
+ return undefined;
1891
+ return {
1892
+ repaired: true,
1893
+ ...(toolCall.rawArguments ? { rawArguments: toolCall.rawArguments } : {}),
1894
+ ...(toolCall.repairNotes?.length ? { notes: toolCall.repairNotes } : {}),
1895
+ };
1896
+ }
1868
1897
  attachStreamingToolPanels(message) {
1869
1898
  for (const content of message.content) {
1870
1899
  if (content.type !== "toolCall")
1871
1900
  continue;
1901
+ const repair = this.getToolCallRepairInfo(content);
1872
1902
  if (!this.toolPanels.hasActive(content.id)) {
1873
- this.attachToolExecutionComponent(content.name, content.id, content.arguments);
1903
+ this.attachToolExecutionComponent(content.name, content.id, content.arguments, repair);
1874
1904
  }
1875
1905
  else {
1876
1906
  const component = this.toolPanels.getActive(content.id);
1877
1907
  if (component) {
1878
- component.updateArgs(content.arguments);
1908
+ component.updateArgs(content.arguments, repair);
1879
1909
  }
1880
1910
  }
1881
1911
  }