@ashx-j/lunr 0.2.22 → 0.2.23
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 +3 -1
- package/README.md +5 -3
- package/dist/builtin-extensions/lunr-browser.d.ts +7 -1
- package/dist/builtin-extensions/lunr-browser.d.ts.map +1 -1
- package/dist/builtin-extensions/lunr-browser.js +116 -3
- package/dist/builtin-extensions/lunr-browser.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js +9 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js +41 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +4 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.js +3 -2
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.js.map +1 -1
- package/dist/core/agent-session.d.ts +19 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +230 -103
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/settings-manager.d.ts +4 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +9 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/subagent-wait-interruption.d.ts +11 -0
- package/dist/core/subagent-wait-interruption.d.ts.map +1 -0
- package/dist/core/subagent-wait-interruption.js +19 -0
- package/dist/core/subagent-wait-interruption.js.map +1 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +3 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +3 -3
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +3 -3
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +10 -2
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +29 -5
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/copyable-text.d.ts +2 -6
- package/dist/modes/interactive/components/copyable-text.d.ts.map +1 -1
- package/dist/modes/interactive/components/copyable-text.js +26 -35
- package/dist/modes/interactive/components/copyable-text.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +13 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-tail.d.ts +9 -2
- package/dist/modes/interactive/components/thinking-tail.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-tail.js +43 -1
- package/dist/modes/interactive/components/thinking-tail.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +4 -3
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +34 -45
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +6 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +118 -39
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +1 -0
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +23 -0
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/node-runtime/{agent-session-services-NQ6GKOIK.js → agent-session-services-GZVSOGYR.js} +7 -7
- package/dist/node-runtime/{builtin-extensions-GVC6IFDU.js → builtin-extensions-QVCXNQT4.js} +3 -3
- package/dist/node-runtime/{chunk-6B2POMK7.js → chunk-6VYZ5UFP.js} +1 -1
- package/dist/node-runtime/{chunk-VJPTNWAP.js → chunk-DD5YWFSJ.js} +1 -1
- package/dist/node-runtime/{chunk-TDL7UWJ7.js → chunk-DQMGU675.js} +173 -57
- package/dist/node-runtime/{chunk-V2A7CEXK.js → chunk-EKVFP6YF.js} +2 -2
- package/dist/node-runtime/{chunk-5BNJ4JUH.js → chunk-GJ2RDBRL.js} +1 -1
- package/dist/node-runtime/{chunk-GNN7H3B7.js → chunk-GS42T6MX.js} +1 -1
- package/dist/node-runtime/{chunk-PC2Z5TKZ.js → chunk-HMBGROQK.js} +3 -3
- package/dist/node-runtime/{chunk-GJSAD4AB.js → chunk-HPUP7E4T.js} +10 -10
- package/dist/node-runtime/{chunk-IVXYUAJE.js → chunk-IF24A3FH.js} +1 -1
- package/dist/node-runtime/{chunk-BFNXONG3.js → chunk-LFZDVKSP.js} +2 -2
- package/dist/node-runtime/{chunk-EQ63ANHL.js → chunk-LLUIPGDR.js} +210 -125
- package/dist/node-runtime/{chunk-ORH324EP.js → chunk-PCEW76PM.js} +3 -3
- package/dist/node-runtime/{chunk-WADV2VDS.js → chunk-QAZOULTU.js} +7 -0
- package/dist/node-runtime/{chunk-6427XAWG.js → chunk-QH6YL7VK.js} +3 -3
- package/dist/node-runtime/{chunk-7QWNYZDI.js → chunk-RDDAZOMU.js} +16 -0
- package/dist/node-runtime/{chunk-QDGKKKUM.js → chunk-RIR5EDDJ.js} +1 -1
- package/dist/node-runtime/{chunk-H3XF4UVQ.js → chunk-RWTKOC3B.js} +1 -1
- package/dist/node-runtime/{chunk-IQIEU7SB.js → chunk-TVJUOJZJ.js} +2 -2
- package/dist/node-runtime/{chunk-UAFLNHSH.js → chunk-W64JC4E7.js} +8 -8
- package/dist/node-runtime/{chunk-LMBNLFXQ.js → chunk-X3URCYCU.js} +4 -4
- package/dist/node-runtime/{chunk-VSSXXL36.js → chunk-YDO2F2IA.js} +2 -2
- package/dist/node-runtime/{chunk-IWOWXRWU.js → chunk-YHQ3NBB3.js} +15 -15
- package/dist/node-runtime/cli-runtime.js +1 -1
- package/dist/node-runtime/{command-3JHHXOPX.js → command-PDVTBRWA.js} +3 -3
- package/dist/node-runtime/{commands-2JVNFGMQ.js → commands-XDCFGIGW.js} +5 -5
- package/dist/node-runtime/{export-html-KBFVV63J.js → export-html-KSOIMVPI.js} +1 -1
- package/dist/node-runtime/{extension-input-K24TVKVW.js → extension-input-E7BJZ35H.js} +4 -4
- package/dist/node-runtime/{extension-selector-SPNF7EDR.js → extension-selector-WU42XDTU.js} +4 -4
- package/dist/node-runtime/{gateway-VFO6SFKK.js → gateway-AYWM5DIO.js} +7 -7
- package/dist/node-runtime/index.js +17 -17
- package/dist/node-runtime/{install-cli-C3CF7O7N.js → install-cli-3BO4MMQ6.js} +1 -1
- package/dist/node-runtime/{interactive-mode-LOM6AIF6.js → interactive-mode-4MFRKAHG.js} +13 -13
- package/dist/node-runtime/{interactive-view-IDSCPPK7.js → interactive-view-TUZHCQM3.js} +5 -5
- package/dist/node-runtime/{lunr-browser-YNW7FTYX.js → lunr-browser-RYFIIVJN.js} +91 -4
- package/dist/node-runtime/{lunr-cron-BKHGNBKT.js → lunr-cron-YWXEPZMQ.js} +4 -4
- package/dist/node-runtime/main.js +14 -14
- package/dist/node-runtime/{mobile-commands-HMP25WBC.js → mobile-commands-LVHDAUDP.js} +4 -4
- package/dist/node-runtime/{package-manager-cli-VCK4E2RC.js → package-manager-cli-6GT3Z3CK.js} +9 -9
- package/dist/node-runtime/{pi-subagents-FEUDLJOE.js → pi-subagents-CDWK2AKY.js} +44 -10
- package/dist/node-runtime/rpc-entry.js +14 -14
- package/dist/node-runtime/{rpc-mode-P5ODXPEG.js → rpc-mode-O3XV4SID.js} +2 -2
- package/dist/node-runtime/{session-selector-LHRMJOKT.js → session-selector-GIM4DHQ2.js} +4 -4
- package/dist/node-runtime/{settings-manager-UUZ6NUXI.js → settings-manager-6VEMXRDL.js} +1 -1
- package/dist/node-runtime/{setup-NRXVZBLJ.js → setup-5SR2J35A.js} +1 -1
- package/dist/node-runtime/{subagent-executor-MLUMBWCP.js → subagent-executor-M5VWB3D3.js} +8 -4
- package/dist/node-runtime/{theme-U7IGOA7O.js → theme-UOO5RVFN.js} +1 -1
- package/dist/node-runtime/{update-cli-4TP25CNW.js → update-cli-UVKJWRRJ.js} +1 -1
- package/docs/features.md +2 -0
- package/docs/settings.md +1 -0
- package/docs/usage.md +2 -2
- 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/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/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/package.json +4 -4
|
@@ -9,7 +9,7 @@ interface CommunicationArgs {
|
|
|
9
9
|
reason?: string;
|
|
10
10
|
message?: string;
|
|
11
11
|
}
|
|
12
|
-
export declare function renderCommunicationCall(name: string, args: CommunicationArgs, theme: Theme, context: Pick<ToolRenderContext<unknown, CommunicationArgs>, "result" | "expanded"> | undefined, communication?: SubagentCommunication): Container;
|
|
12
|
+
export declare function renderCommunicationCall(name: string, args: CommunicationArgs, theme: Theme, context: Pick<ToolRenderContext<unknown, CommunicationArgs>, "result" | "expanded"> | undefined, communication?: SubagentCommunication, displayTitle?: string): Container;
|
|
13
13
|
export declare function renderCommunicationResult(content: Array<{
|
|
14
14
|
type: string;
|
|
15
15
|
text?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../../../../../src/builtin-extensions/pi-subagents/src/tui/communication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE7F,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAGhG;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,CAOlH;AAED,UAAU,iBAAiB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG,SAAS,EAC/F,aAAa,CAAC,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"communication.d.ts","sourceRoot":"","sources":["../../../../../src/builtin-extensions/pi-subagents/src/tui/communication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE7F,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,qBAAqB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAGhG;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,CAOlH;AAED,UAAU,iBAAiB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG,SAAS,EAC/F,aAAa,CAAC,EAAE,qBAAqB,EACrC,YAAY,CAAC,EAAE,MAAM,GACnB,SAAS,CASX;AAED,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACV,SAAS,CAcX","sourcesContent":["import { Box, Container, Text } from \"@ashx-j/lunr-tui\";\nimport type { ToolRenderContext } from \"../../../../core/extensions/types.ts\";\nimport type { Theme } from \"../../../../modes/interactive/theme/theme.ts\";\nimport { readCommunication, type SubagentCommunication } from \"../intercom/communication.ts\";\n\nexport function renderCommunicationBody(communication: SubagentCommunication, theme: Theme): Text {\n\tconst direction = communication.direction === \"from\" ? \"From\" : \"To\";\n\treturn new Text(`${theme.fg(\"muted\", `${direction}: ${communication.peer}`)}\\n\\n${communication.message}`, 0, 0);\n}\n\nexport function renderCommunicationCard(communication: SubagentCommunication, expanded: boolean, theme: Theme): Box {\n\tconst box = new Box(1, 1, (text) => theme.bg(\"toolSuccessBg\", text));\n\tbox.addChild(new Text(theme.fg(\"toolTitle\", theme.bold(`● subagent ${communication.kind}`)), 0, 0));\n\tif (expanded) {\n\t\tbox.addChild(renderCommunicationBody(communication, theme));\n\t}\n\treturn box;\n}\n\ninterface CommunicationArgs {\n\taction?: string;\n\treason?: string;\n\tmessage?: string;\n}\n\ninterface CommunicationResultDetails {\n\tcommunication?: SubagentCommunication;\n\tresponse?: string;\n\tsteering?: { state?: string };\n\tasyncId?: string;\n\tstate?: string;\n}\n\nexport function renderCommunicationCall(\n\tname: string,\n\targs: CommunicationArgs,\n\ttheme: Theme,\n\tcontext: Pick<ToolRenderContext<unknown, CommunicationArgs>, \"result\" | \"expanded\"> | undefined,\n\tcommunication?: SubagentCommunication,\n\tdisplayTitle?: string,\n): Container {\n\tconst container = new Container();\n\tconst details = context?.result?.details as CommunicationResultDetails | undefined;\n\tconst saved = readCommunication(details?.communication) ?? communication;\n\tconst action = args.action ?? (args.reason === \"need_decision\" ? \"request\" : args.reason === \"interview_request\" ? \"interview\" : args.reason === \"progress_update\" ? \"progress\" : args.reason);\n\tconst title = theme.fg(\"toolTitle\", theme.bold(`${name}${action ? ` ${action}` : \"\"}`));\n\tcontainer.addChild(new Text(displayTitle ? `${title} ${theme.fg(\"accent\", displayTitle)}` : title, 0, 0));\n\tif (context?.expanded && saved) container.addChild(renderCommunicationBody(saved, theme));\n\treturn container;\n}\n\nexport function renderCommunicationResult(\n\tcontent: Array<{ type: string; text?: string }>,\n\tdetails: unknown,\n\texpanded: boolean,\n\tisError: boolean,\n\ttheme: Theme,\n): Container {\n\tconst container = new Container();\n\tif (!expanded) return container;\n\tif (isError) {\n\t\tcontainer.addChild(new Text(theme.fg(\"error\", content.filter((part) => part.type === \"text\").map((part) => part.text ?? \"\").join(\"\\n\")), 0, 0));\n\t} else {\n\t\tconst saved = details as CommunicationResultDetails | undefined;\n\t\tif (saved?.response) container.addChild(new Text(`\\n${theme.fg(\"muted\", \"From: Supervisor\")}\\n\\n${saved.response}`, 0, 0));\n\t\telse if (saved?.steering?.state) container.addChild(new Text(`\\nDelivery: ${saved.steering.state === \"recovered\" ? \"recovered; replacement launched\" : saved.steering.state}`, 0, 0));\n\t\telse if (saved?.asyncId && saved.communication) container.addChild(new Text(\"\\nContinuation launched.\", 0, 0));\n\t\telse if (saved?.state && saved.communication) container.addChild(new Text(`\\n${saved.state === \"pending\" ? \"Question queued; awaiting an answer.\" : saved.state}`, 0, 0));\n\t\telse if (!saved?.communication) container.addChild(new Text(content.filter((part) => part.type === \"text\").map((part) => part.text ?? \"\").join(\"\\n\"), 0, 0));\n\t}\n\treturn container;\n}\n"]}
|
|
@@ -12,12 +12,13 @@ export function renderCommunicationCard(communication, expanded, theme) {
|
|
|
12
12
|
}
|
|
13
13
|
return box;
|
|
14
14
|
}
|
|
15
|
-
export function renderCommunicationCall(name, args, theme, context, communication) {
|
|
15
|
+
export function renderCommunicationCall(name, args, theme, context, communication, displayTitle) {
|
|
16
16
|
const container = new Container();
|
|
17
17
|
const details = context?.result?.details;
|
|
18
18
|
const saved = readCommunication(details?.communication) ?? communication;
|
|
19
19
|
const action = args.action ?? (args.reason === "need_decision" ? "request" : args.reason === "interview_request" ? "interview" : args.reason === "progress_update" ? "progress" : args.reason);
|
|
20
|
-
|
|
20
|
+
const title = theme.fg("toolTitle", theme.bold(`${name}${action ? ` ${action}` : ""}`));
|
|
21
|
+
container.addChild(new Text(displayTitle ? `${title} ${theme.fg("accent", displayTitle)}` : title, 0, 0));
|
|
21
22
|
if (context?.expanded && saved)
|
|
22
23
|
container.addChild(renderCommunicationBody(saved, theme));
|
|
23
24
|
return container;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../../../src/builtin-extensions/pi-subagents/src/tui/communication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAA8B,MAAM,8BAA8B,CAAC;AAE7F,MAAM,UAAU,uBAAuB,CAAC,aAAoC,EAAE,KAAY,EAAQ;IACjG,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,OAAO,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC,OAAO,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,CACjH;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAoC,EAAE,QAAiB,EAAE,KAAY,EAAO;IACnH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAc,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpG,IAAI,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,CAAC;AAAA,CACX;AAgBD,MAAM,UAAU,uBAAuB,CACtC,IAAY,EACZ,IAAuB,EACvB,KAAY,EACZ,OAA+F,EAC/F,aAAqC,
|
|
1
|
+
{"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../../../src/builtin-extensions/pi-subagents/src/tui/communication.ts"],"names":[],"mappings":"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","sourcesContent":["import { Box, Container, Text } from \"@ashx-j/lunr-tui\";\nimport type { ToolRenderContext } from \"../../../../core/extensions/types.ts\";\nimport type { Theme } from \"../../../../modes/interactive/theme/theme.ts\";\nimport { readCommunication, type SubagentCommunication } from \"../intercom/communication.ts\";\n\nexport function renderCommunicationBody(communication: SubagentCommunication, theme: Theme): Text {\n\tconst direction = communication.direction === \"from\" ? \"From\" : \"To\";\n\treturn new Text(`${theme.fg(\"muted\", `${direction}: ${communication.peer}`)}\\n\\n${communication.message}`, 0, 0);\n}\n\nexport function renderCommunicationCard(communication: SubagentCommunication, expanded: boolean, theme: Theme): Box {\n\tconst box = new Box(1, 1, (text) => theme.bg(\"toolSuccessBg\", text));\n\tbox.addChild(new Text(theme.fg(\"toolTitle\", theme.bold(`● subagent ${communication.kind}`)), 0, 0));\n\tif (expanded) {\n\t\tbox.addChild(renderCommunicationBody(communication, theme));\n\t}\n\treturn box;\n}\n\ninterface CommunicationArgs {\n\taction?: string;\n\treason?: string;\n\tmessage?: string;\n}\n\ninterface CommunicationResultDetails {\n\tcommunication?: SubagentCommunication;\n\tresponse?: string;\n\tsteering?: { state?: string };\n\tasyncId?: string;\n\tstate?: string;\n}\n\nexport function renderCommunicationCall(\n\tname: string,\n\targs: CommunicationArgs,\n\ttheme: Theme,\n\tcontext: Pick<ToolRenderContext<unknown, CommunicationArgs>, \"result\" | \"expanded\"> | undefined,\n\tcommunication?: SubagentCommunication,\n\tdisplayTitle?: string,\n): Container {\n\tconst container = new Container();\n\tconst details = context?.result?.details as CommunicationResultDetails | undefined;\n\tconst saved = readCommunication(details?.communication) ?? communication;\n\tconst action = args.action ?? (args.reason === \"need_decision\" ? \"request\" : args.reason === \"interview_request\" ? \"interview\" : args.reason === \"progress_update\" ? \"progress\" : args.reason);\n\tconst title = theme.fg(\"toolTitle\", theme.bold(`${name}${action ? ` ${action}` : \"\"}`));\n\tcontainer.addChild(new Text(displayTitle ? `${title} ${theme.fg(\"accent\", displayTitle)}` : title, 0, 0));\n\tif (context?.expanded && saved) container.addChild(renderCommunicationBody(saved, theme));\n\treturn container;\n}\n\nexport function renderCommunicationResult(\n\tcontent: Array<{ type: string; text?: string }>,\n\tdetails: unknown,\n\texpanded: boolean,\n\tisError: boolean,\n\ttheme: Theme,\n): Container {\n\tconst container = new Container();\n\tif (!expanded) return container;\n\tif (isError) {\n\t\tcontainer.addChild(new Text(theme.fg(\"error\", content.filter((part) => part.type === \"text\").map((part) => part.text ?? \"\").join(\"\\n\")), 0, 0));\n\t} else {\n\t\tconst saved = details as CommunicationResultDetails | undefined;\n\t\tif (saved?.response) container.addChild(new Text(`\\n${theme.fg(\"muted\", \"From: Supervisor\")}\\n\\n${saved.response}`, 0, 0));\n\t\telse if (saved?.steering?.state) container.addChild(new Text(`\\nDelivery: ${saved.steering.state === \"recovered\" ? \"recovered; replacement launched\" : saved.steering.state}`, 0, 0));\n\t\telse if (saved?.asyncId && saved.communication) container.addChild(new Text(\"\\nContinuation launched.\", 0, 0));\n\t\telse if (saved?.state && saved.communication) container.addChild(new Text(`\\n${saved.state === \"pending\" ? \"Question queued; awaiting an answer.\" : saved.state}`, 0, 0));\n\t\telse if (!saved?.communication) container.addChild(new Text(content.filter((part) => part.type === \"text\").map((part) => part.text ?? \"\").join(\"\\n\"), 0, 0));\n\t}\n\treturn container;\n}\n"]}
|
|
@@ -146,6 +146,10 @@ export interface PromptOptions {
|
|
|
146
146
|
/** Internal hook used by RPC mode to observe prompt preflight acceptance or rejection. */
|
|
147
147
|
preflightResult?: (success: boolean) => void;
|
|
148
148
|
}
|
|
149
|
+
export interface WaitPromptHandoff {
|
|
150
|
+
/** Resolves after the reserved prompt finishes its fresh parent run. */
|
|
151
|
+
completion: Promise<void>;
|
|
152
|
+
}
|
|
149
153
|
/** Result from cycleModel() */
|
|
150
154
|
export interface ModelCycleResult {
|
|
151
155
|
model: Model<any>;
|
|
@@ -187,6 +191,11 @@ export declare class AgentSession {
|
|
|
187
191
|
private _isAgentRunActive;
|
|
188
192
|
private _idleWaitPromise;
|
|
189
193
|
private _resolveIdleWait;
|
|
194
|
+
private _activePromptRun;
|
|
195
|
+
private _waitPromptHandoff;
|
|
196
|
+
private _waitPromptAcceptance;
|
|
197
|
+
private _waitPromptGeneration;
|
|
198
|
+
private _unregisterSubagentWaitInterruptionOwners;
|
|
190
199
|
/** Tracks pending steering messages for UI display. Removed when delivered. */
|
|
191
200
|
private _steeringMessages;
|
|
192
201
|
/** Tracks pending follow-up messages for UI display. Removed when delivered. */
|
|
@@ -300,6 +309,8 @@ export declare class AgentSession {
|
|
|
300
309
|
get isStreaming(): boolean;
|
|
301
310
|
/** Whether the session has no active agent run, retry, auto-compaction, or queued continuation. */
|
|
302
311
|
get isIdle(): boolean;
|
|
312
|
+
/** Whether normal Enter is still being reserved for an interrupted wait handoff. */
|
|
313
|
+
get isWaitPromptHandoffActive(): boolean;
|
|
303
314
|
/** Current effective system prompt (includes any per-turn extension modifications) */
|
|
304
315
|
get systemPrompt(): string;
|
|
305
316
|
/**
|
|
@@ -365,6 +376,9 @@ export declare class AgentSession {
|
|
|
365
376
|
private _normalizePromptGuidelines;
|
|
366
377
|
private _rebuildSystemPrompt;
|
|
367
378
|
private _refreshSystemPromptForCurrentModel;
|
|
379
|
+
private _registerSubagentWaitInterruption;
|
|
380
|
+
private _interruptSubagentWaits;
|
|
381
|
+
private _invalidateWaitPromptHandoffs;
|
|
368
382
|
private _runAgentPrompt;
|
|
369
383
|
private _handlePostAgentRun;
|
|
370
384
|
/**
|
|
@@ -377,6 +391,11 @@ export declare class AgentSession {
|
|
|
377
391
|
* @throws Error if no model selected or no API key available (when not streaming)
|
|
378
392
|
*/
|
|
379
393
|
prompt(text: string, options?: PromptOptions): Promise<void>;
|
|
394
|
+
private _preparePromptInput;
|
|
395
|
+
private _createPromptMessages;
|
|
396
|
+
interruptSubagentWaitWithPrompt(text: string, options?: Pick<PromptOptions, "expandPromptTemplates" | "images" | "source">): Promise<WaitPromptHandoff | undefined>;
|
|
397
|
+
private _reserveWaitPrompt;
|
|
398
|
+
private _drainWaitPromptHandoff;
|
|
380
399
|
private _tryExecuteExtensionCommand;
|
|
381
400
|
/**
|
|
382
401
|
* Expand skill commands (/skill:name args) to their full content.
|