@openeryc/pi-coding-agent 0.75.49 → 0.75.50

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 (36) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/core/agent-session.d.ts +9 -0
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +20 -1
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/mcp/client.d.ts +6 -0
  7. package/dist/core/mcp/client.d.ts.map +1 -1
  8. package/dist/core/mcp/client.js +63 -30
  9. package/dist/core/mcp/client.js.map +1 -1
  10. package/dist/core/mcp/manager.d.ts +21 -1
  11. package/dist/core/mcp/manager.d.ts.map +1 -1
  12. package/dist/core/mcp/manager.js +186 -57
  13. package/dist/core/mcp/manager.js.map +1 -1
  14. package/dist/core/mcp/types.d.ts +12 -0
  15. package/dist/core/mcp/types.d.ts.map +1 -1
  16. package/dist/core/mcp/types.js +3 -0
  17. package/dist/core/mcp/types.js.map +1 -1
  18. package/dist/core/settings-manager.d.ts +5 -0
  19. package/dist/core/settings-manager.d.ts.map +1 -1
  20. package/dist/core/settings-manager.js.map +1 -1
  21. package/dist/modes/interactive/components/mcp-selector.d.ts +1 -1
  22. package/dist/modes/interactive/components/mcp-selector.d.ts.map +1 -1
  23. package/dist/modes/interactive/components/mcp-selector.js +3 -1
  24. package/dist/modes/interactive/components/mcp-selector.js.map +1 -1
  25. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  26. package/dist/modes/interactive/interactive-mode.js +9 -15
  27. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  28. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  29. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  30. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  31. package/examples/extensions/sandbox/package-lock.json +2 -2
  32. package/examples/extensions/sandbox/package.json +1 -1
  33. package/examples/extensions/with-deps/package-lock.json +2 -2
  34. package/examples/extensions/with-deps/package.json +1 -1
  35. package/npm-shrinkwrap.json +12 -12
  36. package/package.json +4 -4
@@ -1701,8 +1701,19 @@ export class AgentSession {
1701
1701
  this._mcpManager = null;
1702
1702
  }
1703
1703
  this._mcpManager = new MCPManager();
1704
+ this._mcpManager.onStatusChange = (_serverName, status) => {
1705
+ if (status === "connected") {
1706
+ // A server reconnected — refresh the tool registry
1707
+ this._refreshMcpTools();
1708
+ }
1709
+ };
1704
1710
  await this._mcpManager.start(mcpServers);
1705
- const mcpTools = this._mcpManager.getToolDefinitions();
1711
+ this._refreshMcpTools();
1712
+ }
1713
+ _refreshMcpTools() {
1714
+ // Remove old MCP tool defs from _customTools
1715
+ this._customTools = this._customTools.filter((t) => !t.name.startsWith("mcp_"));
1716
+ const mcpTools = this._mcpManager?.getToolDefinitions() ?? [];
1706
1717
  if (mcpTools.length > 0) {
1707
1718
  this._customTools.push(...mcpTools);
1708
1719
  this._refreshToolRegistry();
@@ -1712,6 +1723,14 @@ export class AgentSession {
1712
1723
  async reloadMcp() {
1713
1724
  await this._initMcp();
1714
1725
  }
1726
+ /** Get MCP connection statuses (for UI display) */
1727
+ getMcpStatuses() {
1728
+ return this._mcpManager?.getAllStatuses() ?? [];
1729
+ }
1730
+ /** Manually trigger reconnection for a specific MCP server */
1731
+ async reconnectMcp(serverName) {
1732
+ await this._mcpManager?.reconnect(serverName);
1733
+ }
1715
1734
  async extendResourcesFromExtensions(reason) {
1716
1735
  if (!this._extensionRunner.hasHandlers("resources_discover")) {
1717
1736
  return;