@openeryc/pi-coding-agent 0.75.42 → 0.75.44
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 +2 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +3 -1
- package/dist/core/agent-session.js.map +1 -1
- 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 +16 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/modes/interactive/components/mcp-selector.d.ts +8 -5
- package/dist/modes/interactive/components/mcp-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/mcp-selector.js +22 -13
- package/dist/modes/interactive/components/mcp-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +45 -30
- package/dist/modes/interactive/interactive-mode.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/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +12 -12
- package/package.json +4 -4
|
@@ -4419,26 +4419,33 @@ export class InteractiveMode {
|
|
|
4419
4419
|
}
|
|
4420
4420
|
showMcpSelector(highlightServer) {
|
|
4421
4421
|
const configured = this.settingsManager.getMcpServers();
|
|
4422
|
-
const
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
const
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4422
|
+
const buildItems = () => {
|
|
4423
|
+
const allTools = this.session.getAllTools();
|
|
4424
|
+
const mcpTools = allTools.filter((t) => t.name.startsWith("mcp_"));
|
|
4425
|
+
const cnt = new Map();
|
|
4426
|
+
for (const t of mcpTools) {
|
|
4427
|
+
const rest = t.name.slice(4);
|
|
4428
|
+
const idx = rest.indexOf("_");
|
|
4429
|
+
const srv = idx === -1 ? rest : rest.slice(0, idx);
|
|
4430
|
+
cnt.set(srv, (cnt.get(srv) ?? 0) + 1);
|
|
4431
|
+
}
|
|
4432
|
+
return (configured ? Object.entries(configured) : []).map(([name, c]) => {
|
|
4433
|
+
const disabled = c.enabled === false;
|
|
4434
|
+
const connected = (cnt.get(name) ?? 0) > 0;
|
|
4435
|
+
const transport = c.url ? (c.transport ?? "sse") : c.command ? "stdio" : "unknown";
|
|
4436
|
+
return {
|
|
4437
|
+
name,
|
|
4438
|
+
status: disabled
|
|
4439
|
+
? "disabled"
|
|
4440
|
+
: connected
|
|
4441
|
+
? "connected"
|
|
4442
|
+
: "disconnected",
|
|
4443
|
+
toolCount: cnt.get(name) ?? 0,
|
|
4444
|
+
transport,
|
|
4445
|
+
};
|
|
4446
|
+
});
|
|
4447
|
+
};
|
|
4448
|
+
const items = buildItems();
|
|
4442
4449
|
if (items.length === 0) {
|
|
4443
4450
|
this.chatContainer.addChild(new Spacer(1));
|
|
4444
4451
|
this.chatContainer.addChild(new Text(`${theme.bold("MCP Servers")}\n\n${theme.fg("dim", "No MCP servers configured. Add 'mcpServers' to settings.json.")}`, 1, 0));
|
|
@@ -4454,15 +4461,14 @@ export class InteractiveMode {
|
|
|
4454
4461
|
}
|
|
4455
4462
|
}
|
|
4456
4463
|
this.showSelector((done) => {
|
|
4457
|
-
const selector = new McpSelectorComponent(items, async (name) => {
|
|
4464
|
+
const selector = new McpSelectorComponent("MCP Servers", items, async (name) => {
|
|
4458
4465
|
const server = configured?.[name];
|
|
4459
4466
|
if (!server)
|
|
4460
4467
|
return;
|
|
4461
4468
|
const currentEnabled = server.enabled !== false;
|
|
4462
4469
|
this.settingsManager.setMcpServerEnabled(name, !currentEnabled);
|
|
4463
4470
|
await this.session.reloadMcp();
|
|
4464
|
-
|
|
4465
|
-
this.showStatus(`${name} ${currentEnabled ? "disabled" : "enabled"}`);
|
|
4471
|
+
selector.setItems(buildItems());
|
|
4466
4472
|
}, () => done());
|
|
4467
4473
|
return { component: selector, focus: selector };
|
|
4468
4474
|
});
|
|
@@ -4475,14 +4481,23 @@ export class InteractiveMode {
|
|
|
4475
4481
|
this.ui.requestRender();
|
|
4476
4482
|
return;
|
|
4477
4483
|
}
|
|
4484
|
+
const buildItems = () => {
|
|
4485
|
+
const disabledSkills = this.settingsManager.getDisabledSkills();
|
|
4486
|
+
return skills.map((s) => {
|
|
4487
|
+
const isDisabled = disabledSkills.includes(s.name) || s.disableModelInvocation;
|
|
4488
|
+
return {
|
|
4489
|
+
name: s.name,
|
|
4490
|
+
status: isDisabled ? "disabled" : "connected",
|
|
4491
|
+
toolCount: 0,
|
|
4492
|
+
transport: s.description.length > 60 ? `${s.description.slice(0, 57)}...` : s.description,
|
|
4493
|
+
};
|
|
4494
|
+
});
|
|
4495
|
+
};
|
|
4478
4496
|
this.showSelector((done) => {
|
|
4479
|
-
const selector = new McpSelectorComponent(
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
transport: s.description.slice(0, 60),
|
|
4484
|
-
})), (_name) => {
|
|
4485
|
-
done();
|
|
4497
|
+
const selector = new McpSelectorComponent("Skills", buildItems(), (name) => {
|
|
4498
|
+
this.settingsManager.toggleSkillDisabled(name);
|
|
4499
|
+
this.session.setActiveToolsByName(this.session.getActiveToolNames());
|
|
4500
|
+
selector.setItems(buildItems());
|
|
4486
4501
|
}, () => done());
|
|
4487
4502
|
return { component: selector, focus: selector };
|
|
4488
4503
|
});
|