@dyyz1993/pi-coding-agent 0.74.10 → 0.74.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 (37) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/core/agent-session.d.ts +5 -0
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +26 -0
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/extensions/types.d.ts +3 -0
  7. package/dist/core/extensions/types.d.ts.map +1 -1
  8. package/dist/core/extensions/types.js.map +1 -1
  9. package/dist/core/mcp/mcp-manager.d.ts +1 -0
  10. package/dist/core/mcp/mcp-manager.d.ts.map +1 -1
  11. package/dist/core/mcp/mcp-manager.js +36 -0
  12. package/dist/core/mcp/mcp-manager.js.map +1 -1
  13. package/dist/core/settings-manager.d.ts +3 -1
  14. package/dist/core/settings-manager.d.ts.map +1 -1
  15. package/dist/core/settings-manager.js +41 -0
  16. package/dist/core/settings-manager.js.map +1 -1
  17. package/dist/modes/rpc/rpc-client-types.d.ts +2 -0
  18. package/dist/modes/rpc/rpc-client-types.d.ts.map +1 -1
  19. package/dist/modes/rpc/rpc-client-types.js.map +1 -1
  20. package/dist/modes/rpc/rpc-client.d.ts +2 -0
  21. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  22. package/dist/modes/rpc/rpc-client.js +6 -0
  23. package/dist/modes/rpc/rpc-client.js.map +1 -1
  24. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  25. package/dist/modes/rpc/rpc-mode.js +18 -0
  26. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  27. package/dist/modes/rpc/rpc-types.d.ts +21 -0
  28. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  29. package/dist/modes/rpc/rpc-types.js.map +1 -1
  30. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  31. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  32. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  33. package/examples/extensions/sandbox/package-lock.json +2 -2
  34. package/examples/extensions/sandbox/package.json +1 -1
  35. package/examples/extensions/with-deps/package-lock.json +2 -2
  36. package/examples/extensions/with-deps/package.json +1 -1
  37. package/package.json +4 -4
@@ -121,6 +121,7 @@ export class AgentSession {
121
121
  _fileSnapshotManager = null;
122
122
  _mcpManager;
123
123
  _mcpToolDefinitions = new Map();
124
+ _mcpServerScopes = new Map();
124
125
  _noMcp;
125
126
  _tierModels = {};
126
127
  // Tool registry for extension getTools/setTools
@@ -182,10 +183,16 @@ export class AgentSession {
182
183
  this._mcpManager.dispose().catch(() => { });
183
184
  this._mcpManager = undefined;
184
185
  }
186
+ this._mcpServerScopes.clear();
187
+ const globalServers = this.settingsManager.getMcpServers("global");
188
+ const projectServers = this.settingsManager.getMcpServers("project");
185
189
  const settings = this.settingsManager.getMergedSettings();
186
190
  const servers = settings?.mcp?.servers;
187
191
  if (!servers || Object.keys(servers).length === 0)
188
192
  return;
193
+ for (const name of Object.keys(servers)) {
194
+ this._mcpServerScopes.set(name, projectServers[name] ? "project" : "global");
195
+ }
189
196
  this._mcpManager = new McpManager({
190
197
  onConnectionChange: (conn) => {
191
198
  this._emit({
@@ -521,6 +528,7 @@ export class AgentSession {
521
528
  toolCallId: event.toolCallId,
522
529
  toolName: event.toolName,
523
530
  args: event.args,
531
+ timestamp: event.timestamp,
524
532
  };
525
533
  await this._extensionRunner.emit(extensionEvent);
526
534
  }
@@ -541,6 +549,8 @@ export class AgentSession {
541
549
  toolName: event.toolName,
542
550
  result: event.result,
543
551
  isError: event.isError,
552
+ timestamp: event.timestamp,
553
+ durationMs: event.durationMs,
544
554
  };
545
555
  await this._extensionRunner.emit(extensionEvent);
546
556
  }
@@ -603,8 +613,24 @@ export class AgentSession {
603
613
  fullName: t.fullName,
604
614
  description: t.description,
605
615
  })),
616
+ scope: this._mcpServerScopes.get(c.name) ?? "global",
617
+ disabled: c.config.disabled,
606
618
  }));
607
619
  }
620
+ async toggleMcpServer(name, enabled) {
621
+ if (!this._mcpManager)
622
+ throw new Error("MCP is not initialized");
623
+ const scope = this._mcpServerScopes.get(name);
624
+ if (!scope)
625
+ throw new Error(`MCP server "${name}" not found`);
626
+ await this._mcpManager.setServerEnabled(name, enabled);
627
+ this.settingsManager.setMcpServerDisabled(name, !enabled, scope);
628
+ }
629
+ async restartMcpServer(name) {
630
+ if (!this._mcpManager)
631
+ throw new Error("MCP is not initialized");
632
+ await this._mcpManager.restartServer(name);
633
+ }
608
634
  // =========================================================================
609
635
  // Read-only State Access
610
636
  // =========================================================================