@openeryc/pi-coding-agent 0.75.33 → 0.75.35

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 (32) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/core/agent-session.d.ts +2 -0
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +30 -0
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/mcp/manager.d.ts.map +1 -1
  7. package/dist/core/mcp/manager.js +5 -1
  8. package/dist/core/mcp/manager.js.map +1 -1
  9. package/dist/core/mcp/types.d.ts +1 -0
  10. package/dist/core/mcp/types.d.ts.map +1 -1
  11. package/dist/core/mcp/types.js.map +1 -1
  12. package/dist/core/settings-manager.d.ts +3 -0
  13. package/dist/core/settings-manager.d.ts.map +1 -1
  14. package/dist/core/settings-manager.js +10 -0
  15. package/dist/core/settings-manager.js.map +1 -1
  16. package/dist/core/system-prompt.d.ts +8 -0
  17. package/dist/core/system-prompt.d.ts.map +1 -1
  18. package/dist/core/system-prompt.js +36 -1
  19. package/dist/core/system-prompt.js.map +1 -1
  20. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  21. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  22. package/dist/modes/interactive/interactive-mode.js +42 -9
  23. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  24. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  25. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  26. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  27. package/examples/extensions/sandbox/package-lock.json +2 -2
  28. package/examples/extensions/sandbox/package.json +1 -1
  29. package/examples/extensions/with-deps/package-lock.json +2 -2
  30. package/examples/extensions/with-deps/package.json +1 -1
  31. package/npm-shrinkwrap.json +12 -12
  32. package/package.json +4 -4
@@ -657,6 +657,31 @@ export class AgentSession {
657
657
  const appendSystemPrompt = loaderAppendSystemPrompt.length > 0 ? loaderAppendSystemPrompt.join("\n\n") : undefined;
658
658
  const loadedSkills = this._resourceLoader.getSkills().skills;
659
659
  const loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;
660
+ // Collect MCP tools grouped by server name
661
+ const mcpTools = [];
662
+ const mcpServerMap = new Map();
663
+ for (const name of validToolNames) {
664
+ if (!name.startsWith("mcp_"))
665
+ continue;
666
+ const def = this._toolDefinitions.get(name);
667
+ if (!def)
668
+ continue;
669
+ // Parse mcp_<server>_<tool>
670
+ const rest = name.slice(4);
671
+ const underscoreIdx = rest.indexOf("_");
672
+ const serverName = underscoreIdx === -1 ? rest : rest.slice(0, underscoreIdx);
673
+ const desc = def.definition.description || `Tool from MCP server "${serverName}"`;
674
+ const existing = mcpServerMap.get(serverName);
675
+ if (existing) {
676
+ existing.push({ name, description: desc });
677
+ }
678
+ else {
679
+ mcpServerMap.set(serverName, [{ name, description: desc }]);
680
+ }
681
+ }
682
+ for (const [serverName, tools] of mcpServerMap) {
683
+ mcpTools.push({ serverName, tools });
684
+ }
660
685
  this._baseSystemPromptOptions = {
661
686
  cwd: this._cwd,
662
687
  skills: loadedSkills,
@@ -666,6 +691,7 @@ export class AgentSession {
666
691
  selectedTools: validToolNames,
667
692
  toolSnippets,
668
693
  promptGuidelines,
694
+ mcpTools: mcpTools.length > 0 ? mcpTools : undefined,
669
695
  memory: this._resourceLoader.getMemory(),
670
696
  };
671
697
  return buildSystemPrompt(this._baseSystemPromptOptions);
@@ -1679,6 +1705,10 @@ export class AgentSession {
1679
1705
  this._refreshToolRegistry();
1680
1706
  }
1681
1707
  }
1708
+ /** Reload MCP servers after config changes (e.g. toggle enabled). */
1709
+ async reloadMcp() {
1710
+ await this._initMcp();
1711
+ }
1682
1712
  async extendResourcesFromExtensions(reason) {
1683
1713
  if (!this._extensionRunner.hasHandlers("resources_discover")) {
1684
1714
  return;