lsd-pi 1.2.2 → 1.2.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/dist/resources/extensions/slash-commands/plan.js +11 -7
- package/dist/resources/extensions/subagent/agents.js +17 -8
- package/dist/resources/extensions/subagent/index.js +112 -20
- package/package.json +1 -1
- package/packages/pi-coding-agent/dist/core/agent-session.d.ts +1 -0
- package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/agent-session.js +53 -3
- package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/sdk.js +1 -1
- package/packages/pi-coding-agent/dist/core/sdk.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/skill-tool.test.js +15 -0
- package/packages/pi-coding-agent/dist/core/skill-tool.test.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/skills.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/skills.js +1 -0
- package/packages/pi-coding-agent/dist/core/skills.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/system-prompt.js +1 -0
- package/packages/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
- package/packages/pi-coding-agent/dist/tests/path-display.test.js +1 -0
- package/packages/pi-coding-agent/dist/tests/path-display.test.js.map +1 -1
- package/packages/pi-coding-agent/package.json +1 -1
- package/packages/pi-coding-agent/src/core/agent-session.ts +51 -3
- package/packages/pi-coding-agent/src/core/sdk.ts +1 -1
- package/packages/pi-coding-agent/src/core/skill-tool.test.ts +18 -0
- package/packages/pi-coding-agent/src/core/skills.ts +1 -0
- package/packages/pi-coding-agent/src/core/system-prompt.ts +3 -0
- package/packages/pi-coding-agent/src/tests/path-display.test.ts +1 -0
- package/pkg/package.json +1 -1
- package/src/resources/extensions/slash-commands/plan.ts +14 -8
- package/src/resources/extensions/subagent/agents.ts +20 -6
- package/src/resources/extensions/subagent/index.ts +138 -18
|
@@ -226,13 +226,17 @@ function restoreStateFromSession(ctx) {
|
|
|
226
226
|
}
|
|
227
227
|
async function enablePlanModeWithModelSwitch(pi, ctx, currentModel, next = {}) {
|
|
228
228
|
enablePlanMode(pi, currentModel, next);
|
|
229
|
-
//
|
|
229
|
+
// Keep fallback behavior in before_agent_start for restored sessions or when
|
|
230
|
+
// immediate switching cannot be completed at entry-time.
|
|
230
231
|
reasoningModelSwitchDone = false;
|
|
231
232
|
if (!readAutoSwitchPlanModelSetting())
|
|
232
233
|
return;
|
|
233
|
-
|
|
234
|
+
const reasoningModel = parseQualifiedModelRef(readPlanModeReasoningModel());
|
|
235
|
+
if (!reasoningModel) {
|
|
234
236
|
ctx.ui?.notify?.("OpusPlan: set a Plan reasoning model in /settings to auto-switch on entry", "info");
|
|
237
|
+
return;
|
|
235
238
|
}
|
|
239
|
+
reasoningModelSwitchDone = await setModelIfNeeded(pi, ctx, reasoningModel);
|
|
236
240
|
}
|
|
237
241
|
function enablePlanMode(pi, currentModel, next = {}) {
|
|
238
242
|
const currentMode = getPermissionMode();
|
|
@@ -267,14 +271,15 @@ function leavePlanMode(pi, approvalStatus, nextPermissionMode, clearTask = false
|
|
|
267
271
|
}
|
|
268
272
|
async function setModelIfNeeded(pi, ctx, modelRef) {
|
|
269
273
|
if (!modelRef)
|
|
270
|
-
return;
|
|
274
|
+
return false;
|
|
271
275
|
const currentModel = parseQualifiedModelRef(ctx?.model ? `${ctx.model.provider}/${ctx.model.id}` : undefined);
|
|
272
276
|
if (sameModel(currentModel, modelRef))
|
|
273
|
-
return;
|
|
277
|
+
return true;
|
|
274
278
|
const model = resolveModelFromContext(ctx, modelRef);
|
|
275
279
|
if (!model)
|
|
276
|
-
return;
|
|
280
|
+
return false;
|
|
277
281
|
await pi.setModel(model, { persist: false });
|
|
282
|
+
return true;
|
|
278
283
|
}
|
|
279
284
|
function buildExecutionKickoffMessage(options) {
|
|
280
285
|
const { permissionMode, executeWithSubagent = false } = options;
|
|
@@ -531,8 +536,7 @@ export default function planCommand(pi) {
|
|
|
531
536
|
if (!reasoningModelSwitchDone && readAutoSwitchPlanModelSetting()) {
|
|
532
537
|
const reasoningModel = parseQualifiedModelRef(readPlanModeReasoningModel());
|
|
533
538
|
if (reasoningModel) {
|
|
534
|
-
reasoningModelSwitchDone =
|
|
535
|
-
await setModelIfNeeded(pi, ctx, reasoningModel);
|
|
539
|
+
reasoningModelSwitchDone = await setModelIfNeeded(pi, ctx, reasoningModel);
|
|
536
540
|
}
|
|
537
541
|
}
|
|
538
542
|
return { systemPrompt: buildPlanModeSystemPrompt() };
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as fs from "node:fs";
|
|
5
5
|
import * as path from "node:path";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
6
7
|
import { getAgentDir, parseFrontmatter } from "@gsd/pi-coding-agent";
|
|
7
8
|
const PROJECT_AGENT_DIR_CANDIDATES = [".lsd", ".gsd", ".pi"];
|
|
8
9
|
function normalizeAgentModel(model) {
|
|
@@ -87,25 +88,33 @@ function findNearestProjectAgentsDir(cwd) {
|
|
|
87
88
|
currentDir = parentDir;
|
|
88
89
|
}
|
|
89
90
|
}
|
|
91
|
+
function getBundledAgentsDir() {
|
|
92
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
93
|
+
return path.resolve(here, "../../agents");
|
|
94
|
+
}
|
|
90
95
|
export function discoverAgents(cwd, scope) {
|
|
91
96
|
const userDir = path.join(getAgentDir(), "agents");
|
|
97
|
+
const bundledDir = getBundledAgentsDir();
|
|
92
98
|
const projectAgentsDir = findNearestProjectAgentsDir(cwd);
|
|
99
|
+
const bundledAgents = scope === "project" ? [] : loadAgentsFromDir(bundledDir, "bundled");
|
|
93
100
|
const userAgents = scope === "project" ? [] : loadAgentsFromDir(userDir, "user");
|
|
94
101
|
const projectAgents = scope === "user" || !projectAgentsDir ? [] : loadAgentsFromDir(projectAgentsDir, "project");
|
|
95
102
|
const agentMap = new Map();
|
|
96
|
-
|
|
97
|
-
for (const agent of
|
|
98
|
-
agentMap.set(agent.name, agent);
|
|
99
|
-
for (const agent of projectAgents)
|
|
103
|
+
const addAgents = (items) => {
|
|
104
|
+
for (const agent of items)
|
|
100
105
|
agentMap.set(agent.name, agent);
|
|
106
|
+
};
|
|
107
|
+
if (scope === "both") {
|
|
108
|
+
addAgents(bundledAgents);
|
|
109
|
+
addAgents(userAgents);
|
|
110
|
+
addAgents(projectAgents);
|
|
101
111
|
}
|
|
102
112
|
else if (scope === "user") {
|
|
103
|
-
|
|
104
|
-
|
|
113
|
+
addAgents(bundledAgents);
|
|
114
|
+
addAgents(userAgents);
|
|
105
115
|
}
|
|
106
116
|
else {
|
|
107
|
-
|
|
108
|
-
agentMap.set(agent.name, agent);
|
|
117
|
+
addAgents(projectAgents);
|
|
109
118
|
}
|
|
110
119
|
return { agents: Array.from(agentMap.values()), projectAgentsDir };
|
|
111
120
|
}
|
|
@@ -18,9 +18,9 @@ import * as os from "node:os";
|
|
|
18
18
|
import * as path from "node:path";
|
|
19
19
|
import { StringEnum } from "@gsd/pi-ai";
|
|
20
20
|
import { getAgentDir, getMarkdownTheme, } from "@gsd/pi-coding-agent";
|
|
21
|
-
import { Container, Markdown, Spacer, Text } from "@gsd/pi-tui";
|
|
21
|
+
import { Container, Key, Markdown, Spacer, Text } from "@gsd/pi-tui";
|
|
22
22
|
import { Type } from "@sinclair/typebox";
|
|
23
|
-
import { formatTokenCount } from "../shared/mod.js";
|
|
23
|
+
import { formatTokenCount, shortcutDesc } from "../shared/mod.js";
|
|
24
24
|
import { discoverAgents } from "./agents.js";
|
|
25
25
|
import { buildSubagentProcessArgs, getBundledExtensionPathsFromEnv } from "./launch-helpers.js";
|
|
26
26
|
import { createIsolation, mergeDeltaPatches, readIsolationMode, } from "./isolation.js";
|
|
@@ -394,7 +394,7 @@ async function waitForFile(filePath, signal, timeoutMs = 30 * 60 * 1000) {
|
|
|
394
394
|
}
|
|
395
395
|
return false;
|
|
396
396
|
}
|
|
397
|
-
async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, modelOverride, parentModel, signal, onUpdate, makeDetails) {
|
|
397
|
+
async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, modelOverride, parentModel, signal, onUpdate, makeDetails, foregroundHooks) {
|
|
398
398
|
const agent = agents.find((a) => a.name === agentName);
|
|
399
399
|
if (!agent) {
|
|
400
400
|
const available = agents.map((a) => `"${a.name}"`).join(", ") || "none";
|
|
@@ -434,6 +434,28 @@ async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, mo
|
|
|
434
434
|
});
|
|
435
435
|
}
|
|
436
436
|
};
|
|
437
|
+
let wasAborted = false;
|
|
438
|
+
let deferTempPromptCleanup = false;
|
|
439
|
+
let tempPromptCleanupDone = false;
|
|
440
|
+
const cleanupTempPromptFiles = () => {
|
|
441
|
+
if (tempPromptCleanupDone)
|
|
442
|
+
return;
|
|
443
|
+
tempPromptCleanupDone = true;
|
|
444
|
+
if (tmpPromptPath)
|
|
445
|
+
try {
|
|
446
|
+
fs.unlinkSync(tmpPromptPath);
|
|
447
|
+
}
|
|
448
|
+
catch {
|
|
449
|
+
/* ignore */
|
|
450
|
+
}
|
|
451
|
+
if (tmpPromptDir)
|
|
452
|
+
try {
|
|
453
|
+
fs.rmdirSync(tmpPromptDir);
|
|
454
|
+
}
|
|
455
|
+
catch {
|
|
456
|
+
/* ignore */
|
|
457
|
+
}
|
|
458
|
+
};
|
|
437
459
|
try {
|
|
438
460
|
if (agent.systemPrompt.trim()) {
|
|
439
461
|
const tmp = writePromptToTempFile(agent.name, agent.systemPrompt);
|
|
@@ -441,7 +463,6 @@ async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, mo
|
|
|
441
463
|
tmpPromptPath = tmp.filePath;
|
|
442
464
|
}
|
|
443
465
|
const args = buildSubagentProcessArgs(agent, task, tmpPromptPath, inferredModel);
|
|
444
|
-
let wasAborted = false;
|
|
445
466
|
const exitCode = await new Promise((resolve) => {
|
|
446
467
|
const bundledPaths = getBundledExtensionPathsFromEnv();
|
|
447
468
|
const extensionArgs = bundledPaths.flatMap((p) => ["--extension", p]);
|
|
@@ -459,6 +480,7 @@ async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, mo
|
|
|
459
480
|
let buffer = "";
|
|
460
481
|
let completionSeen = false;
|
|
461
482
|
let resolved = false;
|
|
483
|
+
let foregroundReleased = false;
|
|
462
484
|
const procAbortController = new AbortController();
|
|
463
485
|
let resolveBackgroundResult;
|
|
464
486
|
let rejectBackgroundResult;
|
|
@@ -472,6 +494,27 @@ async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, mo
|
|
|
472
494
|
resolved = true;
|
|
473
495
|
resolve(code);
|
|
474
496
|
};
|
|
497
|
+
const adoptToBackground = (jobId) => {
|
|
498
|
+
if (resolved || foregroundReleased)
|
|
499
|
+
return false;
|
|
500
|
+
foregroundReleased = true;
|
|
501
|
+
deferTempPromptCleanup = true;
|
|
502
|
+
currentResult.backgroundJobId = jobId;
|
|
503
|
+
finishForeground(0);
|
|
504
|
+
return true;
|
|
505
|
+
};
|
|
506
|
+
backgroundResultPromise.finally(() => {
|
|
507
|
+
if (deferTempPromptCleanup)
|
|
508
|
+
cleanupTempPromptFiles();
|
|
509
|
+
});
|
|
510
|
+
foregroundHooks?.onStart?.({
|
|
511
|
+
agentName,
|
|
512
|
+
task,
|
|
513
|
+
cwd: cwd ?? defaultCwd,
|
|
514
|
+
abortController: procAbortController,
|
|
515
|
+
resultPromise: backgroundResultPromise,
|
|
516
|
+
adoptToBackground,
|
|
517
|
+
});
|
|
475
518
|
proc.stdout.on("data", (data) => {
|
|
476
519
|
buffer += data.toString();
|
|
477
520
|
const lines = buffer.split("\n");
|
|
@@ -505,11 +548,13 @@ async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, mo
|
|
|
505
548
|
exitCode: finalExitCode,
|
|
506
549
|
model: currentResult.model,
|
|
507
550
|
});
|
|
551
|
+
foregroundHooks?.onFinish?.();
|
|
508
552
|
finishForeground(finalExitCode);
|
|
509
553
|
});
|
|
510
554
|
proc.on("error", (error) => {
|
|
511
555
|
liveSubagentProcesses.delete(proc);
|
|
512
556
|
rejectBackgroundResult?.(error);
|
|
557
|
+
foregroundHooks?.onFinish?.();
|
|
513
558
|
finishForeground(1);
|
|
514
559
|
});
|
|
515
560
|
const killProc = () => {
|
|
@@ -546,20 +591,8 @@ async function runSingleAgent(defaultCwd, agents, agentName, task, cwd, step, mo
|
|
|
546
591
|
return currentResult;
|
|
547
592
|
}
|
|
548
593
|
finally {
|
|
549
|
-
if (
|
|
550
|
-
|
|
551
|
-
fs.unlinkSync(tmpPromptPath);
|
|
552
|
-
}
|
|
553
|
-
catch {
|
|
554
|
-
/* ignore */
|
|
555
|
-
}
|
|
556
|
-
if (tmpPromptDir)
|
|
557
|
-
try {
|
|
558
|
-
fs.rmdirSync(tmpPromptDir);
|
|
559
|
-
}
|
|
560
|
-
catch {
|
|
561
|
-
/* ignore */
|
|
562
|
-
}
|
|
594
|
+
if (!deferTempPromptCleanup)
|
|
595
|
+
cleanupTempPromptFiles();
|
|
563
596
|
}
|
|
564
597
|
}
|
|
565
598
|
const TaskItem = Type.Object({
|
|
@@ -610,6 +643,9 @@ const SubagentParams = Type.Object({
|
|
|
610
643
|
});
|
|
611
644
|
export default function (pi) {
|
|
612
645
|
let bgManager = null;
|
|
646
|
+
const foregroundSubagentStatusKey = "foreground-subagent";
|
|
647
|
+
const foregroundSubagentHint = "Ctrl+B: move foreground subagent to background";
|
|
648
|
+
let activeForegroundSubagent = null;
|
|
613
649
|
function getBgManager() {
|
|
614
650
|
if (!bgManager)
|
|
615
651
|
throw new Error("BackgroundJobManager not initialized.");
|
|
@@ -642,6 +678,7 @@ export default function (pi) {
|
|
|
642
678
|
});
|
|
643
679
|
});
|
|
644
680
|
pi.on("session_before_switch", async () => {
|
|
681
|
+
activeForegroundSubagent = null;
|
|
645
682
|
if (bgManager) {
|
|
646
683
|
for (const job of bgManager.getRunningJobs()) {
|
|
647
684
|
bgManager.cancel(job.id);
|
|
@@ -649,6 +686,7 @@ export default function (pi) {
|
|
|
649
686
|
}
|
|
650
687
|
});
|
|
651
688
|
pi.on("session_shutdown", async () => {
|
|
689
|
+
activeForegroundSubagent = null;
|
|
652
690
|
await stopLiveSubagents();
|
|
653
691
|
if (bgManager) {
|
|
654
692
|
bgManager.shutdown();
|
|
@@ -757,6 +795,38 @@ export default function (pi) {
|
|
|
757
795
|
ctx.ui.notify(`Available agents (${discovery.agents.length}):\n${lines.join("\n")}`, "info");
|
|
758
796
|
},
|
|
759
797
|
});
|
|
798
|
+
pi.registerShortcut(Key.ctrl("b"), {
|
|
799
|
+
description: shortcutDesc("Move foreground subagent to background", "/subagents list"),
|
|
800
|
+
handler: async (ctx) => {
|
|
801
|
+
const running = activeForegroundSubagent;
|
|
802
|
+
if (!running || running.claimed)
|
|
803
|
+
return;
|
|
804
|
+
const manager = bgManager;
|
|
805
|
+
if (!manager) {
|
|
806
|
+
ctx.ui.notify("Background subagent manager is not available.", "error");
|
|
807
|
+
return;
|
|
808
|
+
}
|
|
809
|
+
running.claimed = true;
|
|
810
|
+
let jobId;
|
|
811
|
+
try {
|
|
812
|
+
jobId = manager.adoptRunning(running.agentName, running.task, running.cwd, running.abortController, running.resultPromise);
|
|
813
|
+
}
|
|
814
|
+
catch (error) {
|
|
815
|
+
running.claimed = false;
|
|
816
|
+
ctx.ui.notify(error instanceof Error ? error.message : String(error), "error");
|
|
817
|
+
return;
|
|
818
|
+
}
|
|
819
|
+
const released = running.adoptToBackground(jobId);
|
|
820
|
+
if (!released) {
|
|
821
|
+
running.claimed = false;
|
|
822
|
+
manager.cancel(jobId);
|
|
823
|
+
return;
|
|
824
|
+
}
|
|
825
|
+
activeForegroundSubagent = null;
|
|
826
|
+
ctx.ui.setStatus(foregroundSubagentStatusKey, undefined);
|
|
827
|
+
ctx.ui.notify(`Moved ${running.agentName} to background as ${jobId}. Use /subagents wait ${jobId}, /subagents output ${jobId}, or /subagents cancel ${jobId}.`, "info");
|
|
828
|
+
},
|
|
829
|
+
});
|
|
760
830
|
pi.registerTool({
|
|
761
831
|
name: "await_subagent",
|
|
762
832
|
label: "Await Background Subagent",
|
|
@@ -785,13 +855,15 @@ export default function (pi) {
|
|
|
785
855
|
"Model selection can be overridden per call, otherwise it is inferred from the agent config, delegated-task preferences, or the current session model.",
|
|
786
856
|
"Modes: single ({ agent, task }), parallel ({ tasks: [{agent, task},...] }), chain ({ chain: [{agent, task},...] } with {previous} placeholder).",
|
|
787
857
|
"Agents are defined as .md files in the configured user agent directory (for LSD this is typically ~/.lsd/agent/agents/) or project-local .lsd/agents/, with legacy support for .gsd/agents/ and .pi/agents/.",
|
|
858
|
+
"If the user asks for a named subagent such as scout, worker, reviewer, or planner, invoke this tool directly rather than the Skill tool.",
|
|
788
859
|
"Use the /subagent command to list available agents and their descriptions.",
|
|
789
860
|
"Set background: true (single mode only) to run detached — returns immediately with a sa_xxxx job ID. Completion is announced back into the session. Use await_subagent or /subagents to manage background jobs.",
|
|
790
861
|
].join(" "),
|
|
791
862
|
promptGuidelines: [
|
|
792
863
|
"Use subagent to delegate self-contained tasks that benefit from an isolated context window.",
|
|
793
|
-
"
|
|
864
|
+
"The subagent tool is available directly as a tool call — invoke it programmatically like any other tool, not via a slash command. Do NOT type '/scout' or '/subagent' in the chat; call this tool with the correct parameters instead.",
|
|
794
865
|
"Valid call shapes: single mode uses { agent, task }, parallel mode uses { tasks: [{ agent, task }, ...] }, and chain mode uses { chain: [{ agent, task }, ...] }.",
|
|
866
|
+
"If the user names a subagent such as scout, worker, reviewer, or planner, use this subagent tool directly rather than the Skill tool or ad-hoc search.",
|
|
795
867
|
"Recon planning rule: use no scout for narrow known-file work, one scout for one broad unfamiliar subsystem, and parallel scouts only when the work spans multiple loosely-coupled subsystems.",
|
|
796
868
|
"Use scout only for broad or unfamiliar codebase reconnaissance before you read many files yourself; save direct reads for targeted lookups once the relevant files are known.",
|
|
797
869
|
"Do not use scout as the reviewer, auditor, or final judge. Scout should map architecture, files, ownership, and likely hotspots for another agent or the parent model to evaluate.",
|
|
@@ -1045,7 +1117,24 @@ export default function (pi) {
|
|
|
1045
1117
|
const taskId = crypto.randomUUID();
|
|
1046
1118
|
isolation = await createIsolation(effectiveCwd, taskId, isolationMode);
|
|
1047
1119
|
}
|
|
1048
|
-
const result = await runSingleAgent(ctx.cwd, agents, params.agent, params.task, isolation ? isolation.workDir : params.cwd, undefined, params.model, ctx.model ? { provider: ctx.model.provider, id: ctx.model.id } : undefined, signal, onUpdate, makeDetails("single")
|
|
1120
|
+
const result = await runSingleAgent(ctx.cwd, agents, params.agent, params.task, isolation ? isolation.workDir : params.cwd, undefined, params.model, ctx.model ? { provider: ctx.model.provider, id: ctx.model.id } : undefined, signal, onUpdate, makeDetails("single"), !isolation
|
|
1121
|
+
? {
|
|
1122
|
+
onStart: (control) => {
|
|
1123
|
+
activeForegroundSubagent = { ...control, claimed: false };
|
|
1124
|
+
ctx.ui.setStatus(foregroundSubagentStatusKey, foregroundSubagentHint);
|
|
1125
|
+
},
|
|
1126
|
+
onFinish: () => {
|
|
1127
|
+
activeForegroundSubagent = null;
|
|
1128
|
+
ctx.ui.setStatus(foregroundSubagentStatusKey, undefined);
|
|
1129
|
+
},
|
|
1130
|
+
}
|
|
1131
|
+
: undefined);
|
|
1132
|
+
if (result.backgroundJobId) {
|
|
1133
|
+
return {
|
|
1134
|
+
content: [{ type: "text", text: `Moved ${result.agent} to background as **${result.backgroundJobId}**. Use \`await_subagent\`, \`/subagents wait ${result.backgroundJobId}\`, or \`/subagents output ${result.backgroundJobId}\`.` }],
|
|
1135
|
+
details: makeDetails("single")([result]),
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
1049
1138
|
// Capture and merge delta if isolated
|
|
1050
1139
|
if (isolation) {
|
|
1051
1140
|
const patches = await isolation.captureDelta();
|
|
@@ -1197,6 +1286,9 @@ export default function (pi) {
|
|
|
1197
1286
|
if (displayItems.length > COLLAPSED_ITEM_COUNT)
|
|
1198
1287
|
text += `\n${theme.fg("muted", "(Ctrl+O to expand)")}`;
|
|
1199
1288
|
}
|
|
1289
|
+
if (!isError && !r.backgroundJobId && !finalOutput) {
|
|
1290
|
+
text += `\n${theme.fg("muted", "Hint: Ctrl+B to move running foreground subagent to background")}`;
|
|
1291
|
+
}
|
|
1200
1292
|
const usageStr = formatUsageStats(r.usage, r.model);
|
|
1201
1293
|
if (usageStr)
|
|
1202
1294
|
text += `\n${theme.fg("dim", usageStr)}`;
|
package/package.json
CHANGED
|
@@ -322,6 +322,7 @@ export declare class AgentSession {
|
|
|
322
322
|
private _normalizePromptSnippet;
|
|
323
323
|
private _normalizePromptGuidelines;
|
|
324
324
|
private _findSkillByName;
|
|
325
|
+
private _findKnownSubagentByName;
|
|
325
326
|
private _formatMissingSkillMessage;
|
|
326
327
|
private _emitSkillExpansionError;
|
|
327
328
|
private _renderSkillInvocation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EACX,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAoB,YAAY,EAAW,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAO9F,OAAO,EAAE,KAAK,UAAU,EAAgE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACN,KAAK,gBAAgB,EAKrB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAOhB,KAAK,eAAe,EACpB,KAAK,cAAc,EAInB,KAAK,QAAQ,EAKb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAwB,aAAa,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpD,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CASrE;AAED,8DAA8D;AAC9D,MAAM,MAAM,wBAAwB,GACjC,WAAW,GACX,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,GACrB,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,MAAM,CAAC;AAEV,MAAM,MAAM,iBAAiB,GAC1B,UAAU,GACV;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,UAAU,CAAA;CAAE,GACnE;IACA,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACzG;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAM3E,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC3E,gFAAgF;IAChF,cAAc,EAAE,cAAc,CAAC;IAC/B,qDAAqD;IACrD,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,gEAAgE;IAChE,aAAa,EAAE,aAAa,CAAC;IAC7B,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,sEAAsE;IACtE,kBAAkB,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;IACnD,kDAAkD;IAClD,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,qBAAqB,CAAC,EAAE,8BAA8B,CAAC;IACvD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzG,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC7B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB;IACxB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,iHAAiH;IACjH,iBAAiB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACzC,qFAAqF;IACrF,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACb;AAsBD,qBAAa,YAAY;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C,OAAO,CAAC,aAAa,CAA8D;IAGnF,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,gBAAgB,CAAoC;IAE5D,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAAgB;IACzC,gFAAgF;IAChF,OAAO,CAAC,iBAAiB,CAAgB;IACzC,uFAAuF;IACvF,OAAO,CAAC,oBAAoB,CAAqB;IACjD,sFAAsF;IACtF,OAAO,CAAC,wBAAwB,CAAuB;IAGvD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,uBAAuB,CAAyB;IAGxD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,oBAAoB,CAAK;IAEjC,2EAA2E;IAC3E,OAAO,CAAC,aAAa,CAAK;IAI1B,OAAO,CAAC,oBAAoB,CAA0C;IACtE,OAAO,CAAC,oBAAoB,CAA8B;IAG1D,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,mBAAmB,CAAC,CAAgC;IAC5D,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,uBAAuB,CAAC,CAAW;IAC3C,OAAO,CAAC,kBAAkB,CAAC,CAA4B;IACvD,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IACjD,OAAO,CAAC,+BAA+B,CAAC,CAAiC;IACzE,OAAO,CAAC,6BAA6B,CAAC,CAAqF;IAC3H,OAAO,CAAC,yBAAyB,CAAC,CAAkB;IACpD,OAAO,CAAC,uBAAuB,CAAC,CAAyB;IACzD,OAAO,CAAC,2BAA2B,CAAC,CAAa;IAGjD,OAAO,CAAC,cAAc,CAAgB;IAGtC,OAAO,CAAC,iBAAiB,CAAmB;IAG5C,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,qBAAqB,CAAoC;IAGjE,OAAO,CAAC,iBAAiB,CAAM;gBAEnB,MAAM,EAAE,kBAAkB;IA4DtC,OAAO,CAAC,+BAA+B;YAMzB,0BAA0B;IAOxC,gEAAgE;IAChE,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,oDAAoD;IACpD,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAE/C;IAMD,qCAAqC;IACrC,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,qBAAqB,CAA2C;IAExE,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB,CAgBvB;IAEF,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,uCAAuC;YAKjC,kBAAkB;IAwHhC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAoF9B,0CAA0C;IAC1C,OAAO,CAAC,mBAAmB;IAQ3B,8EAA8E;IAC9E,OAAO,CAAC,yBAAyB;IAWjC,kDAAkD;YACpC,mBAAmB;IAwEjC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,yBAAyB,GAAG,MAAM,IAAI;IAY1D;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;OAGG;IACH,OAAO,IAAI,IAAI;IAWf,uBAAuB;IACvB,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,2DAA2D;IAC3D,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAElC;IAED,6BAA6B;IAC7B,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,sDAAsD;IACtD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,sFAAsF;IACtF,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,gDAAgD;IAChD,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,WAAW,IAAI,QAAQ,EAAE;IAQzB;;;;;OAKG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAmB/C,sEAAsE;IACtE,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IA2BhD,wBAAwB;IACxB,IAAI,QAAQ,IAAI,UAAU,GAAG,UAAU,CAEtC;IAED,oEAAoE;IACpE,IAAI,QAAQ,IAAI,YAAY,EAAE,CAE7B;IAED,4BAA4B;IAC5B,IAAI,YAAY,IAAI,KAAK,GAAG,eAAe,CAE1C;IAED,6BAA6B;IAC7B,IAAI,YAAY,IAAI,KAAK,GAAG,eAAe,CAE1C;IAED,uEAAuE;IACvE,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,yBAAyB;IACzB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,2CAA2C;IAC3C,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,qDAAqD;IACrD,IAAI,YAAY,IAAI,aAAa,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAEtF;IAED,uCAAuC;IACvC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,GAAG,IAAI;IAIhG,kCAAkC;IAClC,IAAI,eAAe,IAAI,aAAa,CAAC,cAAc,CAAC,CAEnD;IAED,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,oBAAoB;IAwC5B;;;;;;;;OAQG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8JlE;;OAEG;YACW,2BAA2B;IA4BzC;;;OAGG;IACG,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhE;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IAkC/B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,0BAA0B;IAqClC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAMzE;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE;;;OAGG;YACW,WAAW;IAmBzB;;OAEG;YACW,cAAc;IAgB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;;;;;;;;;;OAWG;IACG,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAClC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,EACjF,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;KAAE,GAChF,OAAO,CAAC,IAAI,CAAC;IAgChB;;;;;;OAMG;IACG,eAAe,CACpB,OAAO,EAAE,MAAM,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;KAAE,GAC5C,OAAO,CAAC,IAAI,CAAC;IA8BhB;;;;OAIG;IACH,UAAU,IAAI;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE;IA6CxD,wEAAwE;IACxE,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,4GAA4G;IAC5G,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9C,gDAAgD;IAChD,mBAAmB,IAAI,SAAS,MAAM,EAAE;IAIxC,iDAAiD;IACjD,mBAAmB,IAAI,SAAS,MAAM,EAAE;IAIxC,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;;;;;;OAOG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1D,GAAG,OAAO,CAAC,OAAO,CAAC;YAsEN,gBAAgB;IAe9B;;;OAGG;YACW,iBAAiB;IAiB/B;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF;;;;;OAKG;IACG,UAAU,CAAC,SAAS,GAAE,SAAS,GAAG,UAAsB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAOvI,OAAO,CAAC,qBAAqB;YAMf,iBAAiB;YAoBjB,oBAAoB;IAsBlC;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAkB5C;;;OAGG;IACH,kBAAkB,IAAI,aAAa,GAAG,SAAS;IAY/C;;;OAGG;IACH,0BAA0B,IAAI,aAAa,EAAE;IAS7C;;OAEG;IACH,wBAAwB,IAAI,OAAO;IAInC;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAIhC;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,mBAAmB;IAsB3B;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI;IAMpD;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI;IAUpD;;;;OAIG;IACG,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIrE,qDAAqD;IACrD,eAAe,IAAI,IAAI;IAIvB,8CAA8C;IAC9C,kBAAkB,IAAI,IAAI;IAI1B,qCAAqC;IACrC,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKhD,yCAAyC;IACzC,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAEK,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAwBlD,6BAA6B;IAyB3C,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,kBAAkB;IAkK1B,OAAO,CAAC,oBAAoB;IA0D5B,OAAO,CAAC,aAAa;IA6Df,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B7B,+BAA+B;IAC/B,UAAU,IAAI,IAAI;IAQlB,kDAAkD;IAClD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,oCAAoC;IACpC,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,gCAAgC;IAChC,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAS3C;;;;;;;OAOG;IACG,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,cAAc,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3F,OAAO,CAAC,UAAU,CAAC;IA2BhB,sBAAsB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACjG,OAAO,CAAC,mBAAmB,CAAC;IAoB/B,wBAAwB,IAAI,IAAI;IAIhC;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IA2BvG;;OAEG;IACH,SAAS,IAAI,IAAI;IAIjB,kDAAkD;IAClD,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,oEAAoE;IACpE,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;;;;OAKG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4E1D;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IA4DlF;;;;;;;;;;OAUG;IACG,YAAY,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/G,OAAO,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAmL7G;;OAEG;IACH,yBAAyB,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBrE,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,eAAe,IAAI,YAAY;IA4C/B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB,eAAe,IAAI,YAAY,GAAG,SAAS;IA8C3C;;;;OAIG;IACG,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBxD;;;;OAIG;IACH,oBAAoB,IAAI,MAAM,GAAG,SAAS;IA4B1C;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIhD;;OAEG;IACH,IAAI,eAAe,IAAI,eAAe,GAAG,SAAS,CAEjD;CACD"}
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* Modes use this class and add their own I/O layer on top.
|
|
14
14
|
*/
|
|
15
|
-
import { readFileSync } from "node:fs";
|
|
15
|
+
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
16
16
|
import { basename, dirname, join } from "node:path";
|
|
17
17
|
import { Text } from "@gsd/pi-tui";
|
|
18
18
|
import { modelsAreEqual, resetApiProviders, supportsAdaptiveThinking, supportsXhigh } from "@gsd/pi-ai";
|
|
@@ -702,7 +702,54 @@ export class AgentSession {
|
|
|
702
702
|
_findSkillByName(skillName) {
|
|
703
703
|
return this.resourceLoader.getSkills().skills.find((skill) => skill.name === skillName);
|
|
704
704
|
}
|
|
705
|
+
_findKnownSubagentByName(agentName) {
|
|
706
|
+
const normalized = agentName.trim().toLowerCase();
|
|
707
|
+
if (!normalized)
|
|
708
|
+
return undefined;
|
|
709
|
+
const builtInAgentNames = new Set(["scout", "worker", "reviewer", "planner", "teams-builder", "teams-reviewer"]);
|
|
710
|
+
if (builtInAgentNames.has(normalized)) {
|
|
711
|
+
return { name: normalized, source: "bundled" };
|
|
712
|
+
}
|
|
713
|
+
const userAgentsDir = join(process.env.LSD_CODING_AGENT_DIR || process.env.GSD_CODING_AGENT_DIR || join(process.env.HOME || "", ".lsd", "agent"), "agents");
|
|
714
|
+
const projectCandidates = [".lsd", ".gsd", ".pi"].map((dir) => join(this._cwd, dir, "agents"));
|
|
715
|
+
for (const [dirPath, source] of [[userAgentsDir, "user"], ...projectCandidates.map((p) => [p, "project"])]) {
|
|
716
|
+
if (!existsSync(dirPath))
|
|
717
|
+
continue;
|
|
718
|
+
let entries = [];
|
|
719
|
+
try {
|
|
720
|
+
entries = readdirSync(dirPath);
|
|
721
|
+
}
|
|
722
|
+
catch {
|
|
723
|
+
continue;
|
|
724
|
+
}
|
|
725
|
+
for (const entry of entries) {
|
|
726
|
+
if (!entry.endsWith(".md"))
|
|
727
|
+
continue;
|
|
728
|
+
const filePath = join(dirPath, entry);
|
|
729
|
+
try {
|
|
730
|
+
if (!statSync(filePath).isFile())
|
|
731
|
+
continue;
|
|
732
|
+
const raw = readFileSync(filePath, "utf-8");
|
|
733
|
+
const match = raw.match(/^---\s*[\r\n]+([\s\S]*?)[\r\n]+---/);
|
|
734
|
+
const frontmatter = match?.[1] ?? "";
|
|
735
|
+
const nameMatch = frontmatter.match(/^name:\s*(.+)$/m);
|
|
736
|
+
const name = nameMatch?.[1]?.trim().replace(/^['"]|['"]$/g, "");
|
|
737
|
+
if (name?.toLowerCase() === normalized) {
|
|
738
|
+
return { name, source };
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
catch {
|
|
742
|
+
continue;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
return undefined;
|
|
747
|
+
}
|
|
705
748
|
_formatMissingSkillMessage(skillName) {
|
|
749
|
+
const knownSubagent = this._findKnownSubagentByName(skillName);
|
|
750
|
+
if (knownSubagent) {
|
|
751
|
+
return `\"${knownSubagent.name}\" is an available subagent (${knownSubagent.source}), not a skill. Use the subagent tool directly with { agent: \"${knownSubagent.name}\", task: \"...\" }.`;
|
|
752
|
+
}
|
|
706
753
|
const availableSkills = this.resourceLoader.getSkills().skills.map((skill) => skill.name).join(", ") || "(none)";
|
|
707
754
|
return `Skill "${skillName}" not found. Available skills: ${availableSkills}`;
|
|
708
755
|
}
|
|
@@ -753,6 +800,7 @@ export class AgentSession {
|
|
|
753
800
|
"Scout-first reconnaissance policy: when you need architecture context across multiple files or folders, do not map the subsystem by reading file-after-file yourself. Launch the scout subagent first, then continue with lsp and targeted reads.",
|
|
754
801
|
"If your next step would be broad exploration rather than a targeted lookup, prefer scout before doing more read/find/grep sweeps yourself.",
|
|
755
802
|
"When you choose scout, call subagent directly with valid parameters: { agent, task } for one scout, or { tasks: [{ agent, task }, ...] } for parallel scouts.",
|
|
803
|
+
"If the user explicitly names a subagent such as scout, worker, reviewer, or planner, invoke the subagent tool directly rather than the Skill tool or ad-hoc discovery.",
|
|
756
804
|
"Scout is reconnaissance-only. Do not use it as the reviewer, auditor, or final issue-ranker; use it to map files, ownership, and likely hotspots for later evaluation.",
|
|
757
805
|
"If the work spans multiple loosely-coupled subsystems, prefer parallel scout subagents so each scout maps one area and the parent model reads the summaries instead of the raw files.",
|
|
758
806
|
"For broad review or audit requests, use scout only as a prep step to map architecture and hotspots; the parent model or a reviewer should make the final judgments.",
|
|
@@ -1002,7 +1050,7 @@ export class AgentSession {
|
|
|
1002
1050
|
return {
|
|
1003
1051
|
name: "Skill",
|
|
1004
1052
|
label: "Skill",
|
|
1005
|
-
description: "Execute a skill within the main conversation. Use this tool
|
|
1053
|
+
description: "Execute a listed skill within the main conversation. Use this tool only for actual available skills or explicit /skill:name-style requests — not for launching subagents like scout, worker, reviewer, or planner. Returns the expanded skill block and appends args after it.",
|
|
1006
1054
|
parameters: skillSchema,
|
|
1007
1055
|
execute: async (_toolCallId, params) => {
|
|
1008
1056
|
const input = params;
|
|
@@ -1889,7 +1937,9 @@ export class AgentSession {
|
|
|
1889
1937
|
this._toolRegistry = toolRegistry;
|
|
1890
1938
|
const nextActiveToolNames = options?.activeToolNames
|
|
1891
1939
|
? [...options.activeToolNames]
|
|
1892
|
-
:
|
|
1940
|
+
: this.settingsManager.getToolProfile() === "full"
|
|
1941
|
+
? Array.from(toolRegistry.keys())
|
|
1942
|
+
: [...previousActiveToolNames];
|
|
1893
1943
|
if (options?.includeAllExtensionTools) {
|
|
1894
1944
|
for (const tool of wrappedExtensionTools) {
|
|
1895
1945
|
nextActiveToolNames.push(tool.name);
|