pi-subagents 0.78.0 → 0.79.1
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 +68 -0
- package/docs/agents.md +4 -2
- package/docs/configuration.md +4 -4
- package/docs/extension-api.md +4 -0
- package/docs/observability.md +11 -3
- package/docs/tool-reference.md +12 -1
- package/docs/workflows.md +6 -4
- package/package.json +1 -1
- package/skills/pi-subagents/SKILL.md +1 -0
- package/skills/pi-subagents/references/execution-controls.md +2 -0
- package/src/extension/declaration-pinning.d.ts.map +1 -1
- package/src/extension/declaration-pinning.js +15 -1
- package/src/extension/declaration-pinning.js.map +1 -1
- package/src/extension/index.d.ts.map +1 -1
- package/src/extension/index.js +19 -4
- package/src/extension/index.js.map +1 -1
- package/src/extension/public-execution.d.ts +1 -0
- package/src/extension/public-execution.d.ts.map +1 -1
- package/src/extension/public-execution.js +3 -0
- package/src/extension/public-execution.js.map +1 -1
- package/src/extension/rpc.d.ts.map +1 -1
- package/src/extension/rpc.js +5 -3
- package/src/extension/rpc.js.map +1 -1
- package/src/extension/schemas.d.ts +2 -0
- package/src/extension/schemas.d.ts.map +1 -1
- package/src/extension/schemas.js +1 -0
- package/src/extension/schemas.js.map +1 -1
- package/src/extension/tool-activation.d.ts +1 -0
- package/src/extension/tool-activation.d.ts.map +1 -1
- package/src/extension/tool-activation.js +57 -18
- package/src/extension/tool-activation.js.map +1 -1
- package/src/extension/upgrade-notice.d.ts.map +1 -1
- package/src/extension/upgrade-notice.js +7 -1
- package/src/extension/upgrade-notice.js.map +1 -1
- package/src/intercom/native-supervisor-channel.d.ts +2 -1
- package/src/intercom/native-supervisor-channel.d.ts.map +1 -1
- package/src/intercom/native-supervisor-channel.js +117 -9
- package/src/intercom/native-supervisor-channel.js.map +1 -1
- package/src/runs/background/async-execution.d.ts.map +1 -1
- package/src/runs/background/async-execution.js +13 -16
- package/src/runs/background/async-execution.js.map +1 -1
- package/src/runs/background/async-job-tracker.d.ts.map +1 -1
- package/src/runs/background/async-job-tracker.js +8 -0
- package/src/runs/background/async-job-tracker.js.map +1 -1
- package/src/runs/background/async-resume.d.ts.map +1 -1
- package/src/runs/background/async-resume.js +2 -1
- package/src/runs/background/async-resume.js.map +1 -1
- package/src/runs/background/async-status-snapshot.d.ts.map +1 -1
- package/src/runs/background/async-status-snapshot.js +4 -2
- package/src/runs/background/async-status-snapshot.js.map +1 -1
- package/src/runs/background/async-status.d.ts.map +1 -1
- package/src/runs/background/async-status.js +16 -8
- package/src/runs/background/async-status.js.map +1 -1
- package/src/runs/background/inspect-rpc.d.ts +5 -0
- package/src/runs/background/inspect-rpc.d.ts.map +1 -1
- package/src/runs/background/inspect-rpc.js +20 -3
- package/src/runs/background/inspect-rpc.js.map +1 -1
- package/src/runs/background/result-delivery-ownership.d.ts +0 -2
- package/src/runs/background/result-delivery-ownership.d.ts.map +1 -1
- package/src/runs/background/result-delivery-ownership.js +5 -21
- package/src/runs/background/result-delivery-ownership.js.map +1 -1
- package/src/runs/background/result-files.d.ts +5 -3
- package/src/runs/background/result-files.d.ts.map +1 -1
- package/src/runs/background/result-files.js +10 -6
- package/src/runs/background/result-files.js.map +1 -1
- package/src/runs/background/result-watcher.d.ts.map +1 -1
- package/src/runs/background/result-watcher.js +15 -8
- package/src/runs/background/result-watcher.js.map +1 -1
- package/src/runs/background/resume-guidance.d.ts.map +1 -1
- package/src/runs/background/resume-guidance.js +3 -2
- package/src/runs/background/resume-guidance.js.map +1 -1
- package/src/runs/background/run-child-session.d.ts.map +1 -1
- package/src/runs/background/run-child-session.js +7 -4
- package/src/runs/background/run-child-session.js.map +1 -1
- package/src/runs/background/run-status.d.ts.map +1 -1
- package/src/runs/background/run-status.js +11 -4
- package/src/runs/background/run-status.js.map +1 -1
- package/src/runs/background/stale-run-reconciler.d.ts.map +1 -1
- package/src/runs/background/stale-run-reconciler.js +53 -5
- package/src/runs/background/stale-run-reconciler.js.map +1 -1
- package/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/src/runs/background/subagent-runner.js +15 -5
- package/src/runs/background/subagent-runner.js.map +1 -1
- package/src/runs/background/workflow-terminal-proof.d.ts +18 -1
- package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -1
- package/src/runs/background/workflow-terminal-proof.js +27 -0
- package/src/runs/background/workflow-terminal-proof.js.map +1 -1
- package/src/runs/foreground/async-dismiss-action.d.ts.map +1 -1
- package/src/runs/foreground/async-dismiss-action.js +2 -1
- package/src/runs/foreground/async-dismiss-action.js.map +1 -1
- package/src/runs/foreground/async-steering-action.d.ts.map +1 -1
- package/src/runs/foreground/async-steering-action.js +3 -2
- package/src/runs/foreground/async-steering-action.js.map +1 -1
- package/src/runs/foreground/async-stop-action.d.ts +1 -0
- package/src/runs/foreground/async-stop-action.d.ts.map +1 -1
- package/src/runs/foreground/async-stop-action.js +3 -1
- package/src/runs/foreground/async-stop-action.js.map +1 -1
- package/src/runs/foreground/command-action.d.ts.map +1 -1
- package/src/runs/foreground/command-action.js +2 -1
- package/src/runs/foreground/command-action.js.map +1 -1
- package/src/runs/foreground/execution.d.ts.map +1 -1
- package/src/runs/foreground/execution.js +18 -7
- package/src/runs/foreground/execution.js.map +1 -1
- package/src/runs/foreground/subagent-executor.d.ts +2 -0
- package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/src/runs/foreground/subagent-executor.js +98 -32
- package/src/runs/foreground/subagent-executor.js.map +1 -1
- package/src/runs/shared/async-status-projection.d.ts +4 -0
- package/src/runs/shared/async-status-projection.d.ts.map +1 -1
- package/src/runs/shared/async-status-projection.js +23 -1
- package/src/runs/shared/async-status-projection.js.map +1 -1
- package/src/runs/shared/child-commands.d.ts +2 -0
- package/src/runs/shared/child-commands.d.ts.map +1 -1
- package/src/runs/shared/child-commands.js +4 -0
- package/src/runs/shared/child-commands.js.map +1 -1
- package/src/runs/shared/child-runtime-config.d.ts +6 -0
- package/src/runs/shared/child-runtime-config.d.ts.map +1 -1
- package/src/runs/shared/child-runtime-config.js +6 -0
- package/src/runs/shared/child-runtime-config.js.map +1 -1
- package/src/runs/shared/child-session.d.ts +6 -6
- package/src/runs/shared/child-session.d.ts.map +1 -1
- package/src/runs/shared/child-session.js +111 -51
- package/src/runs/shared/child-session.js.map +1 -1
- package/src/runs/shared/long-running-guard.d.ts +3 -1
- package/src/runs/shared/long-running-guard.d.ts.map +1 -1
- package/src/runs/shared/long-running-guard.js +75 -17
- package/src/runs/shared/long-running-guard.js.map +1 -1
- package/src/runs/shared/model-resolution.d.ts +5 -1
- package/src/runs/shared/model-resolution.d.ts.map +1 -1
- package/src/runs/shared/model-resolution.js +8 -1
- package/src/runs/shared/model-resolution.js.map +1 -1
- package/src/runs/shared/nested-events.d.ts.map +1 -1
- package/src/runs/shared/nested-events.js +2 -0
- package/src/runs/shared/nested-events.js.map +1 -1
- package/src/runs/shared/pi-spawn.d.ts +5 -1
- package/src/runs/shared/pi-spawn.d.ts.map +1 -1
- package/src/runs/shared/pi-spawn.js +86 -30
- package/src/runs/shared/pi-spawn.js.map +1 -1
- package/src/runs/shared/run-ownership.d.ts +4 -0
- package/src/runs/shared/run-ownership.d.ts.map +1 -0
- package/src/runs/shared/run-ownership.js +9 -0
- package/src/runs/shared/run-ownership.js.map +1 -0
- package/src/runs/shared/subagent-control.d.ts +1 -0
- package/src/runs/shared/subagent-control.d.ts.map +1 -1
- package/src/runs/shared/subagent-control.js +2 -1
- package/src/runs/shared/subagent-control.js.map +1 -1
- package/src/runs/shared/subagent-prompt-runtime.d.ts +45 -18
- package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
- package/src/runs/shared/subagent-prompt-runtime.js +160 -59
- package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
- package/src/shared/file-lease.d.ts +7 -1
- package/src/shared/file-lease.d.ts.map +1 -1
- package/src/shared/file-lease.js +8 -2
- package/src/shared/file-lease.js.map +1 -1
- package/src/shared/fork-context.d.ts +3 -1
- package/src/shared/fork-context.d.ts.map +1 -1
- package/src/shared/fork-context.js +23 -13
- package/src/shared/fork-context.js.map +1 -1
- package/src/shared/session-succession.d.ts +5 -0
- package/src/shared/session-succession.d.ts.map +1 -0
- package/src/shared/session-succession.js +25 -0
- package/src/shared/session-succession.js.map +1 -0
- package/src/shared/types.d.ts +15 -1
- package/src/shared/types.d.ts.map +1 -1
- package/src/shared/types.js +3 -0
- package/src/shared/types.js.map +1 -1
- package/src/shared/utils.d.ts +11 -0
- package/src/shared/utils.d.ts.map +1 -1
- package/src/shared/utils.js +17 -0
- package/src/shared/utils.js.map +1 -1
- package/src/slash/slash-commands.d.ts.map +1 -1
- package/src/slash/slash-commands.js +2 -2
- package/src/slash/slash-commands.js.map +1 -1
- package/src/watchdog/register-main.js +2 -2
- package/src/watchdog/register-main.js.map +1 -1
- package/src/watchdog/runtime.d.ts.map +1 -1
- package/src/watchdog/runtime.js +3 -5
- package/src/watchdog/runtime.js.map +1 -1
- package/src/workflows/scripted-workflow.d.ts +1 -1
- package/src/workflows/scripted-workflow.d.ts.map +1 -1
- package/src/workflows/workflow-child-summary.d.ts +5 -0
- package/src/workflows/workflow-child-summary.d.ts.map +1 -1
- package/src/workflows/workflow-child-summary.js +10 -0
- package/src/workflows/workflow-child-summary.js.map +1 -1
- package/src/workflows/workflow-reuse.d.ts +6 -1
- package/src/workflows/workflow-reuse.d.ts.map +1 -1
- package/src/workflows/workflow-reuse.js +22 -1
- package/src/workflows/workflow-reuse.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi-spawn.js","sourceRoot":"","sources":["../../../../src/runs/shared/pi-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAEzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAEjE,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC5D,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAE/D,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB;gBAAE,OAAO,GAAG,CAAC;QACtD,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC5C,IAAI,CAAC;QACJ,OAAO,0BAA0B,CAChC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAC3D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB
|
|
1
|
+
{"version":3,"file":"pi-spawn.js","sourceRoot":"","sources":["../../../../src/runs/shared/pi-spawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The sessions whose runs sessionId owns: itself and the sessions this process replaced on the way to it. */
|
|
2
|
+
export declare function ownerSessionIds(sessionId: string): ReadonlySet<string | undefined>;
|
|
3
|
+
export declare function ownsRun(currentSessionId: string | null | undefined, runSessionId: string | undefined): boolean;
|
|
4
|
+
//# sourceMappingURL=run-ownership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-ownership.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/run-ownership.ts"],"names":[],"mappings":"AAEA,8GAA8G;AAC9G,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAElF;AAED,wBAAgB,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE9G"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { inheritedSessionIds } from "../../shared/session-succession.js";
|
|
2
|
+
/** The sessions whose runs sessionId owns: itself and the sessions this process replaced on the way to it. */
|
|
3
|
+
export function ownerSessionIds(sessionId) {
|
|
4
|
+
return new Set([sessionId, ...inheritedSessionIds(sessionId)]);
|
|
5
|
+
}
|
|
6
|
+
export function ownsRun(currentSessionId, runSessionId) {
|
|
7
|
+
return currentSessionId ? ownerSessionIds(currentSessionId).has(runSessionId) : false;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=run-ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-ownership.js","sourceRoot":"","sources":["../../../../src/runs/shared/run-ownership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,8GAA8G;AAC9G,MAAM,UAAU,eAAe,CAAC,SAAiB;IAChD,OAAO,IAAI,GAAG,CAAqB,CAAC,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,gBAA2C,EAAE,YAAgC;IACpG,OAAO,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-control.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/subagent-control.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAErB,KAAK,qBAAqB,EAC1B,MAAM,uBAAuB,CAAC;AAS/B,eAAO,MAAM,sBAAsB,EAAE,qBAQpC,CAAC;AAgBF,wBAAgB,oBAAoB,CACnC,YAAY,CAAC,EAAE,aAAa,EAC5B,QAAQ,CAAC,EAAE,aAAa,GACtB,qBAAqB,CAqCvB;AAiBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAC1C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,aAAa,GAAG,SAAS,CAM5B;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAClD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAKV;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACxC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,EAAE,EAAE,aAAa,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"subagent-control.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/subagent-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -123,6 +123,7 @@ export function buildControlEvent(input) {
|
|
|
123
123
|
...(input.toolCount !== undefined ? { toolCount: input.toolCount } : {}),
|
|
124
124
|
...(input.currentTool ? { currentTool: input.currentTool } : {}),
|
|
125
125
|
...(input.toolCallId ? { toolCallId: input.toolCallId } : {}),
|
|
126
|
+
...(input.hasCommandController !== undefined ? { hasCommandController: input.hasCommandController } : {}),
|
|
126
127
|
...(input.currentToolDurationMs !== undefined ? { currentToolDurationMs: input.currentToolDurationMs } : {}),
|
|
127
128
|
...(input.currentPath ? { currentPath: input.currentPath } : {}),
|
|
128
129
|
...(elapsedMs !== undefined ? { elapsedMs } : {}),
|
|
@@ -210,7 +211,7 @@ export function formatControlNoticeMessage(event, childIntercomTarget) {
|
|
|
210
211
|
...head("Subagent needs attention"),
|
|
211
212
|
"Hint: Inspect the running command and recent output before nudging. A queued steer does not cancel an in-flight bash call. A dev server or watch command may intentionally never return. Elapsed time alone does not prove the command is stuck.",
|
|
212
213
|
"Recovery: For a local Pi child explicitly granted subagent_command, yield a needed persistent command or cancel the exact incorrect command, then steer the child. Query command.status to confirm the result. If command controls are unavailable, inspect partial changes and interruption scope before interrupt/resume; interrupt is run-scoped and may affect siblings.",
|
|
213
|
-
...(event.toolCallId ? [command("Command", "command.status"), command("Yield", "command.yield"), command("Cancel", "command.cancel")] : []),
|
|
214
|
+
...(event.toolCallId && event.hasCommandController ? [command("Command", "command.status"), command("Yield", "command.yield"), command("Cancel", "command.cancel")] : []),
|
|
214
215
|
status,
|
|
215
216
|
`Transcript: subagent({ action: "status", id: "${runTarget}", options: { view: "transcript"${event.index !== undefined ? `, index: ${event.index}` : ""} } })`,
|
|
216
217
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-control.js","sourceRoot":"","sources":["../../../../src/runs/shared/subagent-control.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent-control.js","sourceRoot":"","sources":["../../../../src/runs/shared/subagent-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,29 +21,56 @@ type ChildBoundaryOptions = {
|
|
|
21
21
|
export declare function rewriteSubagentPrompt(prompt: string, options: InheritedPromptOptions & ChildBoundaryOptions): string;
|
|
22
22
|
/** Installed after every other extension: a returned prompt freezes out sections added after it. */
|
|
23
23
|
export declare function registerSubagentPromptBoundary(pi: ExtensionAPI, config: ChildRuntimeConfig): void;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
/** The system messages older than `forkedAt`: the prompt and tool state a fork inherited. */
|
|
25
|
+
export declare function systemMessagesBefore<T extends {
|
|
26
|
+
role: string;
|
|
27
|
+
}>(messages: readonly T[], forkedAt: number): T[];
|
|
28
|
+
/** The model that wrote a fork's inherited history. */
|
|
29
|
+
export type InheritedModel = {
|
|
30
|
+
provider: string;
|
|
31
|
+
api: string;
|
|
32
|
+
model: string;
|
|
26
33
|
};
|
|
27
|
-
/** The
|
|
28
|
-
export declare function
|
|
34
|
+
/** The provider, API and model of the last assistant message older than `forkedAt`. */
|
|
35
|
+
export declare function modelBefore(messages: readonly {
|
|
29
36
|
role: string;
|
|
30
|
-
}[], forkedAt: number):
|
|
37
|
+
}[], forkedAt: number): InheritedModel | undefined;
|
|
31
38
|
/**
|
|
32
|
-
* A forked child starts with its parent's history,
|
|
33
|
-
* tools,
|
|
34
|
-
*
|
|
35
|
-
* the parent's
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
39
|
+
* A forked child starts with its parent's history, and Anthropic-style providers cache a request
|
|
40
|
+
* as one prefix: tools, then the system prompt, then the messages. The child's own prompt (its
|
|
41
|
+
* role, tool list and boundary) and its own tools changed that prefix right after the tools, so
|
|
42
|
+
* every fork re-read the parent's whole conversation without the prompt cache.
|
|
43
|
+
*
|
|
44
|
+
* A fork's request now starts exactly as its parent's last one did:
|
|
45
|
+
* - The system messages it inherited (`inherited`, older than `forkedAt`) are sent as they are,
|
|
46
|
+
* and the child's own ones are dropped. When a `context` handler made Pi collapse the request
|
|
47
|
+
* into one leading system message, that message is rebuilt from `inherited`.
|
|
48
|
+
* - Every tool the parent declared stays declared, with the parent's definition. A tool only the
|
|
49
|
+
* child has, or one the child defines differently under the parent's name (a `structured_output`
|
|
50
|
+
* with its own schema, for example), is declared by one system message at the fork point, so the
|
|
51
|
+
* model sees the definition the child's tool checks.
|
|
52
|
+
* - The child's instructions (its role sections, the boundary, the tools it can call) go first in
|
|
53
|
+
* its first own user message, after the inherited history.
|
|
54
|
+
*
|
|
55
|
+
* Only what a request sends changes; the session keeps Pi's own record. Once a compaction in the
|
|
56
|
+
* child left no inherited message, there is no parent prefix to match: the child's own prompt is
|
|
57
|
+
* sent, with the boundary added as a section.
|
|
43
58
|
*/
|
|
44
|
-
export declare function
|
|
59
|
+
export declare function projectForkRequest<T extends {
|
|
45
60
|
role: string;
|
|
46
|
-
}>(messages: T[], inherited: readonly
|
|
61
|
+
}>(messages: T[], inherited: readonly T[], forkedAt: number, options?: {
|
|
62
|
+
boundary?: string;
|
|
63
|
+
}): T[];
|
|
64
|
+
/**
|
|
65
|
+
* Pi sends the session id in a session-affinity header to Anthropic-style endpoints that ask for
|
|
66
|
+
* one (`compat.sendSessionAffinityHeaders`), and routers use it to keep a session on the upstream
|
|
67
|
+
* that holds its prompt cache. A fork's request starts with its parent's whole cached prefix, so it
|
|
68
|
+
* names its parent's session to be routed to that cache; otherwise a router with several upstreams
|
|
69
|
+
* may send it to one that never saw the parent. Only the header Pi itself sends is changed, and only
|
|
70
|
+
* when the child runs on the model that wrote its inherited history (`parentModel`, the last
|
|
71
|
+
* inherited assistant message): any other model holds no cache of that prefix.
|
|
72
|
+
*/
|
|
73
|
+
export declare function applyForkSessionAffinity(headers: Record<string, string | null | undefined> | undefined, model: ExtensionContext["model"] | undefined, parentSessionId: string | undefined, parentModel: InheritedModel | undefined): void;
|
|
47
74
|
export declare function rewriteForkCacheProviderRequest(event: BeforeProviderRequestEvent, ctx: Pick<ExtensionContext, "model"> | undefined, forkCacheKey: string | undefined): unknown;
|
|
48
75
|
/**
|
|
49
76
|
* `inheritedBefore`, set in a forked child to the fork's time, keeps the history the child
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-prompt-runtime.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/subagent-prompt-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subagent-prompt-runtime.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/subagent-prompt-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import * as fs from "node:fs";
|
|
3
3
|
import * as path from "node:path";
|
|
4
|
+
import { declarationsEqual, getCurrentSystemMessage, getCurrentTools } from "@earendil-works/pi-ai";
|
|
4
5
|
import { registerNativeSupervisorClient } from "../../intercom/native-supervisor-channel.js";
|
|
5
6
|
import { permissionDecision } from "./permissions.js";
|
|
6
7
|
import { RUNTIME_EXTENSION_ACK_EVENT, isRuntimeAcknowledgedExtensionId } from "./runtime-acknowledged-extensions.js";
|
|
@@ -200,11 +201,13 @@ function stripInheritedPromptText(prompt, options) {
|
|
|
200
201
|
}
|
|
201
202
|
return stripChildBoundaryInstructions(stripSubagentOrchestrationSkill(rewritten));
|
|
202
203
|
}
|
|
203
|
-
function
|
|
204
|
+
function childBoundary(options) {
|
|
204
205
|
const boundary = options.fanoutChild ? CHILD_FANOUT_BOUNDARY_INSTRUCTIONS : CHILD_SUBAGENT_BOUNDARY_INSTRUCTIONS;
|
|
205
|
-
|
|
206
|
+
return options.structuredOutput ? `${boundary}\n\n${STRUCTURED_OUTPUT_INSTRUCTIONS}` : boundary;
|
|
207
|
+
}
|
|
208
|
+
function appendChildBoundary(prompt, options) {
|
|
206
209
|
// Pi's base prompt stays first so providers that recognize it by its opening still do.
|
|
207
|
-
return `${stripChildBoundaryInstructions(prompt)}\n\n${
|
|
210
|
+
return `${stripChildBoundaryInstructions(prompt)}\n\n${childBoundary(options)}`;
|
|
208
211
|
}
|
|
209
212
|
export function rewriteSubagentPrompt(prompt, options) {
|
|
210
213
|
return appendChildBoundary(stripInheritedPromptText(prompt, options), options);
|
|
@@ -229,6 +232,11 @@ function rewritesChildPrompt(config) {
|
|
|
229
232
|
export function registerSubagentPromptBoundary(pi, config) {
|
|
230
233
|
if (!rewritesChildPrompt(config))
|
|
231
234
|
return;
|
|
235
|
+
// A returned prompt replaces the whole system prompt of every request. A fork must send its
|
|
236
|
+
// parent's prompt unchanged to reuse its prompt cache, so its boundary goes in its task
|
|
237
|
+
// message instead (see projectForkRequest).
|
|
238
|
+
if (config.forkCacheKey)
|
|
239
|
+
return;
|
|
232
240
|
pi.on("before_agent_start", (event) => {
|
|
233
241
|
const finalized = appendChildBoundary(event.systemPrompt, { fanoutChild: config.fanoutChild, structuredOutput: Boolean(config.structuredOutput) });
|
|
234
242
|
return finalized === event.systemPrompt ? undefined : { systemPrompt: finalized };
|
|
@@ -265,57 +273,137 @@ const PROMPT_CACHE_KEY_APIS = new Set([
|
|
|
265
273
|
"openai-responses",
|
|
266
274
|
]);
|
|
267
275
|
const isSystemMessage = (message) => message.role === "system";
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
276
|
+
const writtenBefore = (message, forkedAt) => typeof message.timestamp === "number" && message.timestamp < forkedAt;
|
|
277
|
+
const promptText = (message) => typeof message?.content === "string" ? message.content : (message?.content ?? []).map((block) => block.text).join("");
|
|
278
|
+
/** The system messages older than `forkedAt`: the prompt and tool state a fork inherited. */
|
|
279
|
+
export function systemMessagesBefore(messages, forkedAt) {
|
|
280
|
+
return messages.filter((message) => isSystemMessage(message) && writtenBefore(message, forkedAt));
|
|
281
|
+
}
|
|
282
|
+
/** The provider, API and model of the last assistant message older than `forkedAt`. */
|
|
283
|
+
export function modelBefore(messages, forkedAt) {
|
|
284
|
+
for (let index = messages.length - 1; index >= 0; index--) {
|
|
285
|
+
const message = messages[index];
|
|
286
|
+
if (message.role !== "assistant" || !writtenBefore(message, forkedAt))
|
|
274
287
|
continue;
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
tools.set(tool.name, tool);
|
|
288
|
+
if (typeof message.provider !== "string" || typeof message.api !== "string" || typeof message.model !== "string")
|
|
289
|
+
return undefined;
|
|
290
|
+
return { provider: message.provider, api: message.api, model: message.model };
|
|
279
291
|
}
|
|
280
|
-
return
|
|
292
|
+
return undefined;
|
|
281
293
|
}
|
|
282
294
|
/**
|
|
283
|
-
*
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
* the parent's prompt cache. Requests now keep declaring every `inherited` tool, in its order,
|
|
287
|
-
* before the tools the child adds: the child's own system messages (written at or after
|
|
288
|
-
* `forkedAt`) lose their removals of those tools. When a `context` handler changed the
|
|
289
|
-
* conversation, Pi sends one leading system message holding the current tools instead, and that
|
|
290
|
-
* message's tools are set to the same list. The child still does not register the tools it may
|
|
291
|
-
* not use, so a call to one gets Pi's "not found" error and runs nothing. Only what a request
|
|
292
|
-
* sends changes; the session keeps Pi's own record. Once a compaction in the child left no
|
|
293
|
-
* inherited message in the request, there is no parent prefix to match, and nothing changes.
|
|
295
|
+
* Sections that describe what a session has (tools, skills, agents, docs, project files) rather
|
|
296
|
+
* than who it is. A fork is told which tools it can call, and it inherited the rest with the
|
|
297
|
+
* parent's prompt, so its own versions of these sections are not repeated in its task message.
|
|
294
298
|
*/
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
const
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
const
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
299
|
+
const LOADOUT_SECTIONS = new Set(["tools", "rules", "docs", "skills", "advertised_subagents", "mcp_servers", "project_context"]);
|
|
300
|
+
/**
|
|
301
|
+
* The child's own instructions, which a fork sends in its task message instead of its system
|
|
302
|
+
* prompt: the text its own system messages (`own`) add, the sections it changed except the loadout
|
|
303
|
+
* ones, the tools it can call, and its boundary. `parent` is the inherited system messages and
|
|
304
|
+
* `child` the whole request.
|
|
305
|
+
*/
|
|
306
|
+
function forkInstructions(input) {
|
|
307
|
+
const parent = getCurrentSystemMessage(input.parent);
|
|
308
|
+
const child = getCurrentSystemMessage(input.child);
|
|
309
|
+
const parts = [
|
|
310
|
+
"The system prompt and tool list of this conversation are the parent session's, sent unchanged so this request reuses the parent's prompt cache. The instructions below are yours and take precedence over the parent's role.",
|
|
311
|
+
`Tools you can call: ${getCurrentTools(input.child).map((tool) => tool.name).join(", ") || "none"}. Any other declared tool belongs to the parent session and fails if called.`,
|
|
312
|
+
];
|
|
313
|
+
const ownPrompt = promptText(getCurrentSystemMessage(input.own));
|
|
314
|
+
if (ownPrompt.length > 0)
|
|
315
|
+
parts.push(ownPrompt);
|
|
316
|
+
for (const [name, value] of Object.entries(child?.sections ?? {})) {
|
|
317
|
+
if (!LOADOUT_SECTIONS.has(name) && value && parent?.sections?.[name] !== value)
|
|
318
|
+
parts.push(value);
|
|
319
|
+
}
|
|
320
|
+
if (input.boundary)
|
|
321
|
+
parts.push(input.boundary);
|
|
322
|
+
return `<subagent_instructions>\n${parts.join("\n\n")}\n</subagent_instructions>`;
|
|
323
|
+
}
|
|
324
|
+
function prependText(message, text) {
|
|
325
|
+
const content = message.content;
|
|
326
|
+
if (typeof content === "string")
|
|
327
|
+
return { ...message, content: `${text}\n\n${content}` };
|
|
328
|
+
if (Array.isArray(content))
|
|
329
|
+
return { ...message, content: [{ type: "text", text }, ...content] };
|
|
330
|
+
return message;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* A forked child starts with its parent's history, and Anthropic-style providers cache a request
|
|
334
|
+
* as one prefix: tools, then the system prompt, then the messages. The child's own prompt (its
|
|
335
|
+
* role, tool list and boundary) and its own tools changed that prefix right after the tools, so
|
|
336
|
+
* every fork re-read the parent's whole conversation without the prompt cache.
|
|
337
|
+
*
|
|
338
|
+
* A fork's request now starts exactly as its parent's last one did:
|
|
339
|
+
* - The system messages it inherited (`inherited`, older than `forkedAt`) are sent as they are,
|
|
340
|
+
* and the child's own ones are dropped. When a `context` handler made Pi collapse the request
|
|
341
|
+
* into one leading system message, that message is rebuilt from `inherited`.
|
|
342
|
+
* - Every tool the parent declared stays declared, with the parent's definition. A tool only the
|
|
343
|
+
* child has, or one the child defines differently under the parent's name (a `structured_output`
|
|
344
|
+
* with its own schema, for example), is declared by one system message at the fork point, so the
|
|
345
|
+
* model sees the definition the child's tool checks.
|
|
346
|
+
* - The child's instructions (its role sections, the boundary, the tools it can call) go first in
|
|
347
|
+
* its first own user message, after the inherited history.
|
|
348
|
+
*
|
|
349
|
+
* Only what a request sends changes; the session keeps Pi's own record. Once a compaction in the
|
|
350
|
+
* child left no inherited message, there is no parent prefix to match: the child's own prompt is
|
|
351
|
+
* sent, with the boundary added as a section.
|
|
352
|
+
*/
|
|
353
|
+
export function projectForkRequest(messages, inherited, forkedAt, options = {}) {
|
|
354
|
+
const own = (message) => !writtenBefore(message, forkedAt);
|
|
355
|
+
if (inherited.length === 0 || !messages.some((message) => !isSystemMessage(message) && !own(message))) {
|
|
356
|
+
if (!options.boundary)
|
|
357
|
+
return messages;
|
|
358
|
+
const at = messages.findIndex((message) => !isSystemMessage(message));
|
|
359
|
+
const section = { role: "system", content: "", sections: { subagent_boundary: `<subagent_boundary>\n${options.boundary}\n</subagent_boundary>` }, timestamp: forkedAt };
|
|
360
|
+
return at === -1 ? [...messages, section] : [...messages.slice(0, at), section, ...messages.slice(at)];
|
|
317
361
|
}
|
|
318
|
-
|
|
362
|
+
const instructions = forkInstructions({ parent: inherited, child: messages, own: messages.filter((message) => isSystemMessage(message) && own(message)), boundary: options.boundary });
|
|
363
|
+
const parentTools = new Map(getCurrentTools(inherited).map((tool) => [tool.name, tool]));
|
|
364
|
+
const childTools = getCurrentTools(messages).filter((tool) => {
|
|
365
|
+
const parentTool = parentTools.get(tool.name);
|
|
366
|
+
return !parentTool || !declarationsEqual(parentTool, tool);
|
|
367
|
+
});
|
|
368
|
+
const redefined = childTools.filter((tool) => parentTools.has(tool.name)).map((tool) => ({ name: tool.name }));
|
|
369
|
+
const sentInherited = messages.filter((message) => isSystemMessage(message) && !own(message));
|
|
370
|
+
const uncollapsed = sentInherited.length === inherited.length && sentInherited.every((message, index) => JSON.stringify(message) === JSON.stringify(inherited[index]));
|
|
371
|
+
const conversation = messages.filter((message) => !isSystemMessage(message));
|
|
372
|
+
const head = getCurrentSystemMessage(inherited);
|
|
373
|
+
const next = uncollapsed
|
|
374
|
+
? messages.filter((message) => !isSystemMessage(message) || !own(message))
|
|
375
|
+
: [...(head ? [head] : []), ...conversation];
|
|
376
|
+
const firstOwn = next.findIndex((message) => !isSystemMessage(message) && own(message));
|
|
377
|
+
const task = next.findIndex((message) => message.role === "user" && own(message));
|
|
378
|
+
const additions = [];
|
|
379
|
+
if (childTools.length > 0)
|
|
380
|
+
additions.push({ role: "system", content: "", ...(redefined.length > 0 ? { toolsRemoved: redefined } : {}), toolsAdded: childTools, timestamp: forkedAt });
|
|
381
|
+
if (task === -1)
|
|
382
|
+
additions.push({ role: "system", content: "", sections: { subagent_instructions: instructions }, timestamp: forkedAt });
|
|
383
|
+
else
|
|
384
|
+
next[task] = prependText(next[task], instructions);
|
|
385
|
+
const at = firstOwn === -1 ? next.length : firstOwn;
|
|
386
|
+
return [...next.slice(0, at), ...additions, ...next.slice(at)];
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Pi sends the session id in a session-affinity header to Anthropic-style endpoints that ask for
|
|
390
|
+
* one (`compat.sendSessionAffinityHeaders`), and routers use it to keep a session on the upstream
|
|
391
|
+
* that holds its prompt cache. A fork's request starts with its parent's whole cached prefix, so it
|
|
392
|
+
* names its parent's session to be routed to that cache; otherwise a router with several upstreams
|
|
393
|
+
* may send it to one that never saw the parent. Only the header Pi itself sends is changed, and only
|
|
394
|
+
* when the child runs on the model that wrote its inherited history (`parentModel`, the last
|
|
395
|
+
* inherited assistant message): any other model holds no cache of that prefix.
|
|
396
|
+
*/
|
|
397
|
+
export function applyForkSessionAffinity(headers, model, parentSessionId, parentModel) {
|
|
398
|
+
const parent = parentSessionId?.trim();
|
|
399
|
+
if (!headers || !parent || model?.api !== "anthropic-messages")
|
|
400
|
+
return;
|
|
401
|
+
if (!parentModel || parentModel.provider !== model.provider || parentModel.api !== model.api || parentModel.model !== model.id)
|
|
402
|
+
return;
|
|
403
|
+
const compat = model.compat;
|
|
404
|
+
if (!compat?.sendSessionAffinityHeaders)
|
|
405
|
+
return;
|
|
406
|
+
headers[compat.sessionAffinityFormat === "openrouter" ? "x-session-id" : "x-session-affinity"] = parent;
|
|
319
407
|
}
|
|
320
408
|
export function rewriteForkCacheProviderRequest(event, ctx, forkCacheKey) {
|
|
321
409
|
const key = forkCacheKey?.trim();
|
|
@@ -566,8 +654,9 @@ export default function registerSubagentPromptRuntime(pi, config, drainObservati
|
|
|
566
654
|
resultFileCoalescer: { schedule: () => false, clear: () => { } },
|
|
567
655
|
};
|
|
568
656
|
const nestedRootRunId = inheritedNestedRouteOf(config)?.rootRunId;
|
|
657
|
+
// fanout-child assigns config.hasPendingSupervisorRequest after this hook registers, so read it per wait.
|
|
569
658
|
if (typeof pi.registerTool === "function")
|
|
570
|
-
registerWaitTool(pi, waitState, config.waitTool.enabled, undefined, config.waitTool.defaultTimeoutMs, { nestedRootRunId });
|
|
659
|
+
registerWaitTool(pi, waitState, config.waitTool.enabled, undefined, config.waitTool.defaultTimeoutMs, { nestedRootRunId }, () => config.hasPendingSupervisorRequest?.() === true);
|
|
571
660
|
const supervisorMetadata = childSupervisorMetadata(config);
|
|
572
661
|
let nativeSupervisorClientRegistered = false;
|
|
573
662
|
const registerNativeSupervisorClientOnce = () => {
|
|
@@ -616,21 +705,33 @@ export default function registerSubagentPromptRuntime(pi, config, drainObservati
|
|
|
616
705
|
// A fork launch sets forkCacheKey. Pi writes the fork's session header when it copies the
|
|
617
706
|
// parent's branch, so every inherited message is older and every message this child writes,
|
|
618
707
|
// also after a resume, is not.
|
|
619
|
-
// The inherited
|
|
620
|
-
// collapsed leading message, and what came before the fork never changes.
|
|
621
|
-
let
|
|
708
|
+
// The inherited system messages and model are read from the session once: a request may hold
|
|
709
|
+
// only Pi's collapsed leading message, and what came before the fork never changes.
|
|
710
|
+
let inherited;
|
|
711
|
+
const readInherited = (ctx) => {
|
|
712
|
+
const header = ctx?.sessionManager?.getHeader();
|
|
713
|
+
if (!header)
|
|
714
|
+
return undefined;
|
|
715
|
+
if (inherited?.session !== header.id) {
|
|
716
|
+
const forkedAt = Date.parse(header.timestamp);
|
|
717
|
+
const messages = Number.isFinite(forkedAt) ? ctx.sessionManager.buildSessionProjection().messages : [];
|
|
718
|
+
inherited = { session: header.id, forkedAt, system: systemMessagesBefore(messages, forkedAt), model: modelBefore(messages, forkedAt) };
|
|
719
|
+
}
|
|
720
|
+
return Number.isFinite(inherited.forkedAt) ? inherited : undefined;
|
|
721
|
+
};
|
|
722
|
+
const boundary = rewritesChildPrompt(config) ? childBoundary({ fanoutChild: config.fanoutChild, structuredOutput: Boolean(config.structuredOutput) }) : undefined;
|
|
723
|
+
if (config.forkCacheKey)
|
|
724
|
+
onRuntimeEvent("before_provider_headers", (event, ctx) => {
|
|
725
|
+
applyForkSessionAffinity(event?.headers, ctx?.model, config.parentSessionId, readInherited(ctx)?.model);
|
|
726
|
+
});
|
|
622
727
|
if (config.forkCacheKey)
|
|
623
728
|
onRuntimeEvent("context_with_system", (event, ctx) => {
|
|
624
729
|
if (!event || typeof event !== "object" || !("messages" in event) || !Array.isArray(event.messages))
|
|
625
730
|
return undefined;
|
|
626
|
-
const
|
|
627
|
-
if (!
|
|
731
|
+
const fork = readInherited(ctx);
|
|
732
|
+
if (!fork)
|
|
628
733
|
return undefined;
|
|
629
|
-
|
|
630
|
-
const forkedAt = Date.parse(header.timestamp);
|
|
631
|
-
inheritedTools = { session: header.id, forkedAt, tools: Number.isFinite(forkedAt) ? toolsDeclaredBefore(ctx.sessionManager.buildSessionProjection().messages, forkedAt) : [] };
|
|
632
|
-
}
|
|
633
|
-
const messages = keepInheritedToolDeclarations(event.messages, inheritedTools.tools, inheritedTools.forkedAt);
|
|
734
|
+
const messages = projectForkRequest(event.messages, fork.system, fork.forkedAt, { boundary });
|
|
634
735
|
return messages === event.messages ? undefined : { messages };
|
|
635
736
|
});
|
|
636
737
|
onRuntimeEvent("context", (event, ctx) => {
|