@dyyz1993/pi-coding-agent 0.70.2 → 0.70.3
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.
- package/CHANGELOG.md +31 -1
- package/dist/core/agent-session.d.ts +4 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +43 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/mcp/errors.d.ts +16 -0
- package/dist/core/mcp/errors.d.ts.map +1 -0
- package/dist/core/mcp/errors.js +31 -0
- package/dist/core/mcp/errors.js.map +1 -0
- package/dist/core/mcp/logger.d.ts +12 -0
- package/dist/core/mcp/logger.d.ts.map +1 -0
- package/dist/core/mcp/logger.js +31 -0
- package/dist/core/mcp/logger.js.map +1 -0
- package/dist/core/mcp/mcp-manager.d.ts +42 -0
- package/dist/core/mcp/mcp-manager.d.ts.map +1 -0
- package/dist/core/mcp/mcp-manager.js +427 -0
- package/dist/core/mcp/mcp-manager.js.map +1 -0
- package/dist/core/mcp/tool-converter.d.ts +5 -0
- package/dist/core/mcp/tool-converter.d.ts.map +1 -0
- package/dist/core/mcp/tool-converter.js +39 -0
- package/dist/core/mcp/tool-converter.js.map +1 -0
- package/dist/core/mcp/types.d.ts +50 -0
- package/dist/core/mcp/types.d.ts.map +1 -0
- package/dist/core/mcp/types.js +2 -0
- package/dist/core/mcp/types.js.map +1 -0
- package/dist/core/settings-manager.d.ts +3 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +5 -4
|
@@ -1656,6 +1656,7 @@ export class AgentSession {
|
|
|
1656
1656
|
this._applyExtensionBindings(this._extensionRunner);
|
|
1657
1657
|
await this._extensionRunner.emit(this._sessionStartEvent);
|
|
1658
1658
|
await this.extendResourcesFromExtensions(this._sessionStartEvent.reason === "reload" ? "reload" : "startup");
|
|
1659
|
+
await this._initMcpServers();
|
|
1659
1660
|
}
|
|
1660
1661
|
async extendResourcesFromExtensions(reason) {
|
|
1661
1662
|
if (!this._extensionRunner.hasHandlers("resources_discover")) {
|
|
@@ -1697,6 +1698,48 @@ export class AgentSession {
|
|
|
1697
1698
|
const name = base.replace(/\.(ts|js)$/, "");
|
|
1698
1699
|
return `extension:${name}`;
|
|
1699
1700
|
}
|
|
1701
|
+
_mcpManager;
|
|
1702
|
+
_createMcpToolDef;
|
|
1703
|
+
async _initMcpServers() {
|
|
1704
|
+
const settings = this.settingsManager.getProjectSettings();
|
|
1705
|
+
const servers = settings?.mcp?.servers;
|
|
1706
|
+
if (!servers || Object.keys(servers).length === 0)
|
|
1707
|
+
return;
|
|
1708
|
+
const { McpManager } = await import("./mcp/mcp-manager.js");
|
|
1709
|
+
const { createMcpToolDefinition } = await import("./mcp/tool-converter.js");
|
|
1710
|
+
this._createMcpToolDef = createMcpToolDefinition;
|
|
1711
|
+
const mcpOptions = settings?.mcp?.options;
|
|
1712
|
+
const manager = new McpManager({
|
|
1713
|
+
...mcpOptions,
|
|
1714
|
+
onConnectionChange: () => {
|
|
1715
|
+
this._syncMcpTools();
|
|
1716
|
+
},
|
|
1717
|
+
});
|
|
1718
|
+
this._mcpManager = manager;
|
|
1719
|
+
try {
|
|
1720
|
+
await manager.connectAll(servers);
|
|
1721
|
+
this._syncMcpTools();
|
|
1722
|
+
}
|
|
1723
|
+
catch (e) {
|
|
1724
|
+
console.error("[mcp] Failed to initialize:", e);
|
|
1725
|
+
}
|
|
1726
|
+
this.sessionSignal.addEventListener("abort", () => {
|
|
1727
|
+
this._mcpManager?.dispose().catch(() => { });
|
|
1728
|
+
this._mcpManager = undefined;
|
|
1729
|
+
});
|
|
1730
|
+
}
|
|
1731
|
+
_syncMcpTools() {
|
|
1732
|
+
this._customTools = this._customTools.filter((t) => !t.name.startsWith("mcp__"));
|
|
1733
|
+
if (!this._createMcpToolDef || !this._mcpManager)
|
|
1734
|
+
return;
|
|
1735
|
+
const tools = this._mcpManager.getAllTools();
|
|
1736
|
+
for (const tool of tools) {
|
|
1737
|
+
this._customTools.push(this._createMcpToolDef(tool, this._mcpManager));
|
|
1738
|
+
}
|
|
1739
|
+
if (tools.length > 0) {
|
|
1740
|
+
this._refreshToolRegistry();
|
|
1741
|
+
}
|
|
1742
|
+
}
|
|
1700
1743
|
_applyExtensionBindings(runner) {
|
|
1701
1744
|
runner.setUIContext(this._extensionUIContext);
|
|
1702
1745
|
runner.bindCommandContext(this._extensionCommandContextActions);
|