@mariozechner/pi-coding-agent 0.58.4 → 0.60.0

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 (97) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +14 -11
  3. package/dist/bun/cli.d.ts +3 -0
  4. package/dist/bun/cli.d.ts.map +1 -0
  5. package/dist/bun/cli.js +6 -0
  6. package/dist/bun/cli.js.map +1 -0
  7. package/dist/bun/register-bedrock.d.ts +2 -0
  8. package/dist/bun/register-bedrock.d.ts.map +1 -0
  9. package/dist/bun/register-bedrock.js +85 -0
  10. package/dist/bun/register-bedrock.js.map +1 -0
  11. package/dist/cli/args.d.ts +1 -0
  12. package/dist/cli/args.d.ts.map +1 -1
  13. package/dist/cli/args.js +4 -0
  14. package/dist/cli/args.js.map +1 -1
  15. package/dist/cli/initial-message.d.ts +18 -0
  16. package/dist/cli/initial-message.d.ts.map +1 -0
  17. package/dist/cli/initial-message.js +22 -0
  18. package/dist/cli/initial-message.js.map +1 -0
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +0 -3
  21. package/dist/cli.js.map +1 -1
  22. package/dist/core/agent-session.d.ts +1 -0
  23. package/dist/core/agent-session.d.ts.map +1 -1
  24. package/dist/core/agent-session.js +23 -3
  25. package/dist/core/agent-session.js.map +1 -1
  26. package/dist/core/bash-executor.d.ts +6 -7
  27. package/dist/core/bash-executor.d.ts.map +1 -1
  28. package/dist/core/bash-executor.js +8 -107
  29. package/dist/core/bash-executor.js.map +1 -1
  30. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  31. package/dist/core/compaction/branch-summarization.js +1 -0
  32. package/dist/core/compaction/branch-summarization.js.map +1 -1
  33. package/dist/core/compaction/compaction.d.ts.map +1 -1
  34. package/dist/core/compaction/compaction.js +2 -0
  35. package/dist/core/compaction/compaction.js.map +1 -1
  36. package/dist/core/extensions/runner.d.ts +5 -2
  37. package/dist/core/extensions/runner.d.ts.map +1 -1
  38. package/dist/core/extensions/runner.js +21 -4
  39. package/dist/core/extensions/runner.js.map +1 -1
  40. package/dist/core/extensions/types.d.ts +1 -1
  41. package/dist/core/extensions/types.d.ts.map +1 -1
  42. package/dist/core/extensions/types.js.map +1 -1
  43. package/dist/core/footer-data-provider.d.ts +6 -1
  44. package/dist/core/footer-data-provider.d.ts.map +1 -1
  45. package/dist/core/footer-data-provider.js +83 -37
  46. package/dist/core/footer-data-provider.js.map +1 -1
  47. package/dist/core/keybindings.d.ts +3 -0
  48. package/dist/core/keybindings.d.ts.map +1 -1
  49. package/dist/core/keybindings.js +21 -11
  50. package/dist/core/keybindings.js.map +1 -1
  51. package/dist/core/package-manager.d.ts +15 -1
  52. package/dist/core/package-manager.d.ts.map +1 -1
  53. package/dist/core/package-manager.js +194 -15
  54. package/dist/core/package-manager.js.map +1 -1
  55. package/dist/core/session-manager.d.ts.map +1 -1
  56. package/dist/core/session-manager.js +6 -7
  57. package/dist/core/session-manager.js.map +1 -1
  58. package/dist/core/slash-commands.d.ts.map +1 -1
  59. package/dist/core/slash-commands.js +1 -1
  60. package/dist/core/slash-commands.js.map +1 -1
  61. package/dist/core/system-prompt.d.ts.map +1 -1
  62. package/dist/core/system-prompt.js +3 -2
  63. package/dist/core/system-prompt.js.map +1 -1
  64. package/dist/core/tools/bash.d.ts +8 -0
  65. package/dist/core/tools/bash.d.ts.map +1 -1
  66. package/dist/core/tools/bash.js +75 -69
  67. package/dist/core/tools/bash.js.map +1 -1
  68. package/dist/core/tools/index.d.ts +1 -1
  69. package/dist/core/tools/index.d.ts.map +1 -1
  70. package/dist/core/tools/index.js +1 -1
  71. package/dist/core/tools/index.js.map +1 -1
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +1 -1
  75. package/dist/index.js.map +1 -1
  76. package/dist/main.d.ts.map +1 -1
  77. package/dist/main.js +50 -19
  78. package/dist/main.js.map +1 -1
  79. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  80. package/dist/modes/interactive/components/tree-selector.js +12 -1
  81. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  82. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  83. package/dist/modes/interactive/components/user-message.js +2 -1
  84. package/dist/modes/interactive/components/user-message.js.map +1 -1
  85. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  86. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  87. package/dist/modes/interactive/interactive-mode.js +50 -6
  88. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  89. package/docs/extensions.md +17 -3
  90. package/docs/keybindings.md +2 -0
  91. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  92. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  93. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  94. package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
  95. package/examples/extensions/with-deps/package-lock.json +2 -2
  96. package/examples/extensions/with-deps/package.json +1 -1
  97. package/package.json +5 -5
@@ -1643,6 +1643,17 @@ export class AgentSession {
1643
1643
  ? runner.onError(this._extensionErrorListener)
1644
1644
  : undefined;
1645
1645
  }
1646
+ _refreshCurrentModelFromRegistry() {
1647
+ const currentModel = this.model;
1648
+ if (!currentModel) {
1649
+ return;
1650
+ }
1651
+ const refreshedModel = this._modelRegistry.find(currentModel.provider, currentModel.id);
1652
+ if (!refreshedModel || refreshedModel === currentModel) {
1653
+ return;
1654
+ }
1655
+ this.agent.setModel(refreshedModel);
1656
+ }
1646
1657
  _bindExtensionCore(runner) {
1647
1658
  const normalizeLocation = (source) => {
1648
1659
  if (source === "user" || source === "project" || source === "path") {
@@ -1744,6 +1755,15 @@ export class AgentSession {
1744
1755
  })();
1745
1756
  },
1746
1757
  getSystemPrompt: () => this.systemPrompt,
1758
+ }, {
1759
+ registerProvider: (name, config) => {
1760
+ this._modelRegistry.registerProvider(name, config);
1761
+ this._refreshCurrentModelFromRegistry();
1762
+ },
1763
+ unregisterProvider: (name) => {
1764
+ this._modelRegistry.unregisterProvider(name);
1765
+ this._refreshCurrentModelFromRegistry();
1766
+ },
1747
1767
  });
1748
1768
  }
1749
1769
  _refreshToolRegistry(options) {
@@ -1756,7 +1776,7 @@ export class AgentSession {
1756
1776
  ];
1757
1777
  this._toolPromptSnippets = new Map(allCustomTools
1758
1778
  .map((registeredTool) => {
1759
- const snippet = this._normalizePromptSnippet(registeredTool.definition.promptSnippet ?? registeredTool.definition.description);
1779
+ const snippet = this._normalizePromptSnippet(registeredTool.definition.promptSnippet);
1760
1780
  return snippet ? [registeredTool.definition.name, snippet] : undefined;
1761
1781
  })
1762
1782
  .filter((entry) => entry !== undefined));
@@ -1864,8 +1884,8 @@ export class AgentSession {
1864
1884
  if (isContextOverflow(message, contextWindow))
1865
1885
  return false;
1866
1886
  const err = message.errorMessage;
1867
- // Match: overloaded_error, rate limit, 429, 500, 502, 503, 504, service unavailable, connection errors, fetch failed, terminated, retry delay exceeded
1868
- return /overloaded|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|connection.?error|connection.?refused|other side closed|fetch failed|upstream.?connect|reset before headers|terminated|retry delay/i.test(err);
1887
+ // Match: overloaded_error, provider returned error, rate limit, 429, 500, 502, 503, 504, service unavailable, network/connection errors, fetch failed, terminated, retry delay exceeded
1888
+ return /overloaded|provider.?returned.?error|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|timed? out|timeout|terminated|retry delay/i.test(err);
1869
1889
  }
1870
1890
  /**
1871
1891
  * Handle retryable errors with exponential backoff.