@openeryc/pi-coding-agent 0.75.54 → 0.75.56

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 (74) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +4 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/agent-session.d.ts.map +1 -1
  6. package/dist/core/agent-session.js +11 -26
  7. package/dist/core/agent-session.js.map +1 -1
  8. package/dist/core/fetch-openai-models.d.ts +25 -0
  9. package/dist/core/fetch-openai-models.d.ts.map +1 -0
  10. package/dist/core/fetch-openai-models.js +107 -0
  11. package/dist/core/fetch-openai-models.js.map +1 -0
  12. package/dist/core/mcp/client.d.ts +16 -7
  13. package/dist/core/mcp/client.d.ts.map +1 -1
  14. package/dist/core/mcp/client.js +135 -107
  15. package/dist/core/mcp/client.js.map +1 -1
  16. package/dist/core/mcp/manager.d.ts +8 -1
  17. package/dist/core/mcp/manager.d.ts.map +1 -1
  18. package/dist/core/mcp/manager.js +56 -33
  19. package/dist/core/mcp/manager.js.map +1 -1
  20. package/dist/core/mcp/types.d.ts +0 -13
  21. package/dist/core/mcp/types.d.ts.map +1 -1
  22. package/dist/core/mcp/types.js.map +1 -1
  23. package/dist/core/model-registry.d.ts +112 -0
  24. package/dist/core/model-registry.d.ts.map +1 -1
  25. package/dist/core/model-registry.js +99 -2
  26. package/dist/core/model-registry.js.map +1 -1
  27. package/dist/core/package-manager.d.ts.map +1 -1
  28. package/dist/core/package-manager.js +3 -1
  29. package/dist/core/package-manager.js.map +1 -1
  30. package/dist/core/session-manager.d.ts.map +1 -1
  31. package/dist/core/session-manager.js +1 -1
  32. package/dist/core/session-manager.js.map +1 -1
  33. package/dist/core/settings-manager.d.ts +4 -0
  34. package/dist/core/settings-manager.d.ts.map +1 -1
  35. package/dist/core/settings-manager.js +12 -0
  36. package/dist/core/settings-manager.js.map +1 -1
  37. package/dist/core/slash-commands.d.ts.map +1 -1
  38. package/dist/core/slash-commands.js +2 -2
  39. package/dist/core/slash-commands.js.map +1 -1
  40. package/dist/modes/interactive/components/index.d.ts +1 -1
  41. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  42. package/dist/modes/interactive/components/index.js +1 -1
  43. package/dist/modes/interactive/components/index.js.map +1 -1
  44. package/dist/modes/interactive/components/model-hub.d.ts +115 -0
  45. package/dist/modes/interactive/components/model-hub.d.ts.map +1 -0
  46. package/dist/modes/interactive/components/model-hub.js +753 -0
  47. package/dist/modes/interactive/components/model-hub.js.map +1 -0
  48. package/dist/modes/interactive/components/model-selector.d.ts +2 -44
  49. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  50. package/dist/modes/interactive/components/model-selector.js +2 -275
  51. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  52. package/dist/modes/interactive/interactive-mode.d.ts +22 -2
  53. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  54. package/dist/modes/interactive/interactive-mode.js +666 -557
  55. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  56. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  57. package/dist/modes/rpc/rpc-client.js +5 -1
  58. package/dist/modes/rpc/rpc-client.js.map +1 -1
  59. package/dist/utils/sleep.d.ts.map +1 -1
  60. package/dist/utils/sleep.js +7 -3
  61. package/dist/utils/sleep.js.map +1 -1
  62. package/dist/utils/tools-manager.d.ts.map +1 -1
  63. package/dist/utils/tools-manager.js.map +1 -1
  64. package/docs/models.md +20 -0
  65. package/docs/providers.md +13 -0
  66. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  67. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  68. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  69. package/examples/extensions/sandbox/package-lock.json +2 -2
  70. package/examples/extensions/sandbox/package.json +1 -1
  71. package/examples/extensions/with-deps/package-lock.json +2 -2
  72. package/examples/extensions/with-deps/package.json +1 -1
  73. package/npm-shrinkwrap.json +12 -12
  74. package/package.json +4 -4
@@ -659,32 +659,14 @@ export class AgentSession {
659
659
  const disabledSkills = new Set(this.settingsManager.getDisabledSkills());
660
660
  const activeSkills = loadedSkills.filter((s) => !disabledSkills.has(s.name) && !s.disableModelInvocation);
661
661
  const loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;
662
- // Collect MCP tools grouped by server name
663
- // Uses the label field (mcp.<server>.<tool>) for reliable server name extraction
664
- const mcpTools = [];
665
- const mcpServerMap = new Map();
666
- for (const name of validToolNames) {
667
- if (!name.startsWith("mcp_"))
668
- continue;
669
- const def = this._toolDefinitions.get(name);
670
- if (!def)
671
- continue;
672
- // Extract server name from label (mcp.<server>.<tool>)
673
- const label = def.definition.label ?? "";
674
- const labelParts = label.split(".");
675
- const serverName = labelParts.length >= 3 ? labelParts.slice(1, -1).join(".") : label;
676
- const desc = def.definition.description || `Tool from MCP server "${serverName}"`;
677
- const existing = mcpServerMap.get(serverName);
678
- if (existing) {
679
- existing.push({ name, description: desc });
680
- }
681
- else {
682
- mcpServerMap.set(serverName, [{ name, description: desc }]);
683
- }
684
- }
685
- for (const [serverName, tools] of mcpServerMap) {
686
- mcpTools.push({ serverName, tools });
687
- }
662
+ // Collect MCP tool descriptions grouped by server
663
+ const mcpToolNames = new Set(validToolNames.filter((n) => n.startsWith("mcp_")));
664
+ const mcpTools = (this._mcpManager?.getMcpToolDescriptions() ?? [])
665
+ .map((server) => ({
666
+ ...server,
667
+ tools: server.tools.filter((t) => mcpToolNames.has(t.name)),
668
+ }))
669
+ .filter((server) => server.tools.length > 0);
688
670
  this._baseSystemPromptOptions = {
689
671
  cwd: this._cwd,
690
672
  skills: activeSkills,
@@ -1148,6 +1130,7 @@ export class AgentSession {
1148
1130
  this.agent.state.model = model;
1149
1131
  this.sessionManager.appendModelChange(model.provider, model.id);
1150
1132
  this.settingsManager.setDefaultModelAndProvider(model.provider, model.id);
1133
+ this.settingsManager.pushRecentModel(model.provider, model.id);
1151
1134
  // Re-clamp thinking level for new model's capabilities
1152
1135
  this.setThinkingLevel(thinkingLevel);
1153
1136
  await this._emitModelSelect(model, previousModel, "set");
@@ -1180,6 +1163,7 @@ export class AgentSession {
1180
1163
  this.agent.state.model = next.model;
1181
1164
  this.sessionManager.appendModelChange(next.model.provider, next.model.id);
1182
1165
  this.settingsManager.setDefaultModelAndProvider(next.model.provider, next.model.id);
1166
+ this.settingsManager.pushRecentModel(next.model.provider, next.model.id);
1183
1167
  // Apply thinking level.
1184
1168
  // - Explicit scoped model thinking level overrides current session level
1185
1169
  // - Undefined scoped model thinking level inherits the current session preference
@@ -1203,6 +1187,7 @@ export class AgentSession {
1203
1187
  this.agent.state.model = nextModel;
1204
1188
  this.sessionManager.appendModelChange(nextModel.provider, nextModel.id);
1205
1189
  this.settingsManager.setDefaultModelAndProvider(nextModel.provider, nextModel.id);
1190
+ this.settingsManager.pushRecentModel(nextModel.provider, nextModel.id);
1206
1191
  // Re-clamp thinking level for new model's capabilities
1207
1192
  this.setThinkingLevel(thinkingLevel);
1208
1193
  await this._emitModelSelect(nextModel, currentModel, "cycle");