lsd-pi 1.3.9 → 1.3.10
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/dist/resources/extensions/mcp-client/index.js +191 -83
- package/dist/resources/extensions/mcp-client/mcp-manager-component.js +220 -0
- package/dist/resources/extensions/slash-commands/plan.js +67 -13
- package/dist/resources/extensions/subagent/agents.js +7 -0
- package/dist/resources/extensions/subagent/index.js +25 -8
- package/dist/resources/extensions/subagent/model-resolution.js +1 -0
- package/package.json +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-summary-line.test.js +104 -2
- package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-summary-line.test.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts +39 -2
- package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.js +135 -18
- package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-summary-line.d.ts +21 -2
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-summary-line.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-summary-line.js +146 -8
- package/packages/pi-coding-agent/dist/modes/interactive/components/tool-summary-line.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/__tests__/chat-controller.collapsed-tool-summary.test.js +51 -13
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/__tests__/chat-controller.collapsed-tool-summary.test.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js +75 -4
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-state.d.ts +4 -0
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-state.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-state.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +4 -0
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +31 -2
- package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/packages/pi-coding-agent/package.json +1 -1
- package/packages/pi-coding-agent/src/modes/interactive/components/__tests__/tool-summary-line.test.ts +129 -2
- package/packages/pi-coding-agent/src/modes/interactive/components/assistant-message.ts +158 -18
- package/packages/pi-coding-agent/src/modes/interactive/components/tool-summary-line.ts +163 -9
- package/packages/pi-coding-agent/src/modes/interactive/controllers/__tests__/chat-controller.collapsed-tool-summary.test.ts +60 -13
- package/packages/pi-coding-agent/src/modes/interactive/controllers/chat-controller.ts +86 -5
- package/packages/pi-coding-agent/src/modes/interactive/interactive-mode-state.ts +1 -0
- package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +31 -2
- package/pkg/package.json +1 -1
- package/src/resources/extensions/mcp-client/index.ts +212 -90
- package/src/resources/extensions/mcp-client/mcp-manager-component.ts +256 -0
- package/src/resources/extensions/mcp-client/tests/mcp-manager-component.test.ts +141 -0
- package/src/resources/extensions/mcp-client/tests/server-name-spaces.test.ts +18 -2
- package/src/resources/extensions/slash-commands/plan.ts +70 -13
- package/src/resources/extensions/subagent/agents.ts +9 -0
- package/src/resources/extensions/subagent/index.ts +30 -8
- package/src/resources/extensions/subagent/model-resolution.ts +1 -0
|
@@ -492,6 +492,10 @@ interface SubagentDetails {
|
|
|
492
492
|
agentScope: AgentScope;
|
|
493
493
|
projectAgentsDir: string | null;
|
|
494
494
|
results: SingleResult[];
|
|
495
|
+
/** Total planned steps for chain mode (undefined for single/parallel). */
|
|
496
|
+
totalChainSteps?: number;
|
|
497
|
+
/** Currently executing chain step (1-indexed, undefined if chain completed). */
|
|
498
|
+
currentChainStep?: number;
|
|
495
499
|
}
|
|
496
500
|
|
|
497
501
|
function getFinalOutput(messages: Message[]): string {
|
|
@@ -1254,11 +1258,13 @@ export default function(pi: ExtensionAPI) {
|
|
|
1254
1258
|
|
|
1255
1259
|
const makeDetails =
|
|
1256
1260
|
(mode: "single" | "parallel" | "chain") =>
|
|
1257
|
-
(results: SingleResult[]): SubagentDetails => ({
|
|
1261
|
+
(results: SingleResult[], opts?: { totalSteps?: number; currentStep?: number }): SubagentDetails => ({
|
|
1258
1262
|
mode,
|
|
1259
1263
|
agentScope,
|
|
1260
1264
|
projectAgentsDir: discovery.projectAgentsDir,
|
|
1261
1265
|
results,
|
|
1266
|
+
totalChainSteps: opts?.totalSteps,
|
|
1267
|
+
currentChainStep: opts?.currentStep,
|
|
1262
1268
|
});
|
|
1263
1269
|
|
|
1264
1270
|
const trackInProcessDepth = (
|
|
@@ -1362,7 +1368,8 @@ export default function(pi: ExtensionAPI) {
|
|
|
1362
1368
|
const step = params.chain[i];
|
|
1363
1369
|
const taskWithContext = step.task.replace(/\{previous\}/g, previousOutput);
|
|
1364
1370
|
|
|
1365
|
-
// Create update callback that includes all previous results
|
|
1371
|
+
// Create update callback that includes all previous results + chain progress
|
|
1372
|
+
const chainTotalSteps = params.chain.length;
|
|
1366
1373
|
const chainUpdate: OnUpdateCallback | undefined = onUpdate
|
|
1367
1374
|
? (partial) => {
|
|
1368
1375
|
// Combine completed results with current streaming result
|
|
@@ -1371,7 +1378,10 @@ export default function(pi: ExtensionAPI) {
|
|
|
1371
1378
|
const allResults = [...results, currentResult];
|
|
1372
1379
|
onUpdate({
|
|
1373
1380
|
content: partial.content,
|
|
1374
|
-
details: makeDetails("chain")(allResults
|
|
1381
|
+
details: makeDetails("chain")(allResults, {
|
|
1382
|
+
totalSteps: chainTotalSteps,
|
|
1383
|
+
currentStep: i + 1,
|
|
1384
|
+
}),
|
|
1375
1385
|
});
|
|
1376
1386
|
}
|
|
1377
1387
|
}
|
|
@@ -1425,7 +1435,7 @@ export default function(pi: ExtensionAPI) {
|
|
|
1425
1435
|
result.errorMessage || result.stderr || getFinalOutput(result.messages) || "(no output)";
|
|
1426
1436
|
return {
|
|
1427
1437
|
content: [{ type: "text", text: `Chain stopped at step ${i + 1} (${step.agent}): ${errorMsg}` }],
|
|
1428
|
-
details: makeDetails("chain")(results),
|
|
1438
|
+
details: makeDetails("chain")(results, { totalSteps: params.chain.length }),
|
|
1429
1439
|
isError: true,
|
|
1430
1440
|
};
|
|
1431
1441
|
}
|
|
@@ -1433,7 +1443,7 @@ export default function(pi: ExtensionAPI) {
|
|
|
1433
1443
|
}
|
|
1434
1444
|
return {
|
|
1435
1445
|
content: [{ type: "text", text: getFinalOutput(results[results.length - 1].messages) || "(no output)" }],
|
|
1436
|
-
details: makeDetails("chain")(results),
|
|
1446
|
+
details: makeDetails("chain")(results, { totalSteps: params.chain.length }),
|
|
1437
1447
|
};
|
|
1438
1448
|
}
|
|
1439
1449
|
|
|
@@ -2109,7 +2119,19 @@ export default function(pi: ExtensionAPI) {
|
|
|
2109
2119
|
|
|
2110
2120
|
if (details.mode === "chain") {
|
|
2111
2121
|
const successCount = details.results.filter((r) => r.exitCode === 0).length;
|
|
2112
|
-
const
|
|
2122
|
+
const isRunning = details.currentChainStep != null;
|
|
2123
|
+
const icon = !isRunning && successCount === details.results.length
|
|
2124
|
+
? theme.fg("success", "✓")
|
|
2125
|
+
: isRunning
|
|
2126
|
+
? theme.fg("accent", "◉")
|
|
2127
|
+
: theme.fg("error", "✗");
|
|
2128
|
+
|
|
2129
|
+
const totalLabel = details.totalChainSteps != null
|
|
2130
|
+
? `${details.results.length}/${details.totalChainSteps} steps`
|
|
2131
|
+
: `${details.results.length} steps`;
|
|
2132
|
+
const progressLabel = isRunning
|
|
2133
|
+
? ` (step ${details.currentChainStep} running)`
|
|
2134
|
+
: "";
|
|
2113
2135
|
|
|
2114
2136
|
if (expanded) {
|
|
2115
2137
|
const container = new Container();
|
|
@@ -2118,7 +2140,7 @@ export default function(pi: ExtensionAPI) {
|
|
|
2118
2140
|
icon +
|
|
2119
2141
|
" " +
|
|
2120
2142
|
theme.fg("toolTitle", theme.bold("chain ")) +
|
|
2121
|
-
theme.fg("accent", `${
|
|
2143
|
+
theme.fg("accent", `${totalLabel}${progressLabel}`),
|
|
2122
2144
|
0,
|
|
2123
2145
|
0,
|
|
2124
2146
|
),
|
|
@@ -2175,7 +2197,7 @@ export default function(pi: ExtensionAPI) {
|
|
|
2175
2197
|
icon +
|
|
2176
2198
|
" " +
|
|
2177
2199
|
theme.fg("toolTitle", theme.bold("chain ")) +
|
|
2178
|
-
theme.fg("accent", `${
|
|
2200
|
+
theme.fg("accent", `${totalLabel}${progressLabel}`);
|
|
2179
2201
|
for (const r of details.results) {
|
|
2180
2202
|
const rIcon = r.exitCode === 0 ? theme.fg("success", "✓") : theme.fg("error", "✗");
|
|
2181
2203
|
const displayItems = getDisplayItems(r.messages);
|
|
@@ -21,6 +21,7 @@ const BARE_MODEL_PROVIDER_RULES: Array<{ provider: string; matches: (modelId: st
|
|
|
21
21
|
matches: (modelId) => /^(mistral-|ministral-|codestral-)/.test(modelId),
|
|
22
22
|
},
|
|
23
23
|
{ provider: "groq", matches: (modelId) => modelId.startsWith("llama-") || modelId.startsWith("mixtral-") },
|
|
24
|
+
{ provider: "zhipu", matches: (modelId) => modelId.startsWith("glm-") },
|
|
24
25
|
];
|
|
25
26
|
|
|
26
27
|
export function inferProviderForBareModel(modelId: string): string | undefined {
|