pi-subagents 0.77.0 → 0.79.0
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 +93 -0
- package/agents/evidence-auditor.md +1 -0
- package/agents/oracle.md +1 -0
- package/agents/reviewer.md +1 -0
- package/docs/agents.md +4 -2
- package/docs/configuration.md +22 -6
- package/docs/extension-api.md +9 -1
- package/docs/observability.md +11 -3
- package/docs/tool-reference.md +14 -3
- package/docs/workflows.md +6 -4
- package/package.json +1 -1
- package/skills/pi-subagents/SKILL.md +2 -1
- package/skills/pi-subagents/references/execution-controls.md +2 -0
- package/skills/pi-subagents/references/multi-lane-orchestration.md +1 -1
- package/src/api/external-runs.d.ts.map +1 -1
- package/src/api/external-runs.js +5 -4
- package/src/api/external-runs.js.map +1 -1
- package/src/api/preflight.js +1 -1
- package/src/api/preflight.js.map +1 -1
- package/src/extension/active-runs-prompt.d.ts +8 -0
- package/src/extension/active-runs-prompt.d.ts.map +1 -0
- package/src/extension/active-runs-prompt.js +30 -0
- package/src/extension/active-runs-prompt.js.map +1 -0
- package/src/extension/config.d.ts.map +1 -1
- package/src/extension/config.js +6 -0
- package/src/extension/config.js.map +1 -1
- package/src/extension/declaration-pinning.d.ts +5 -0
- package/src/extension/declaration-pinning.d.ts.map +1 -1
- package/src/extension/declaration-pinning.js +24 -3
- package/src/extension/declaration-pinning.js.map +1 -1
- package/src/extension/index.d.ts +0 -1
- package/src/extension/index.d.ts.map +1 -1
- package/src/extension/index.js +73 -18
- 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.map +1 -1
- package/src/extension/tool-activation.js +25 -6
- package/src/extension/tool-activation.js.map +1 -1
- package/src/intercom/native-supervisor-channel.d.ts +18 -2
- package/src/intercom/native-supervisor-channel.d.ts.map +1 -1
- package/src/intercom/native-supervisor-channel.js +130 -15
- package/src/intercom/native-supervisor-channel.js.map +1 -1
- package/src/runs/background/active-async-capacity.d.ts +2 -1
- package/src/runs/background/active-async-capacity.d.ts.map +1 -1
- package/src/runs/background/active-async-capacity.js +10 -6
- package/src/runs/background/active-async-capacity.js.map +1 -1
- package/src/runs/background/async-execution.js +3 -3
- package/src/runs/background/async-execution.js.map +1 -1
- package/src/runs/background/async-resume.d.ts.map +1 -1
- package/src/runs/background/async-resume.js +5 -2
- 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 +10 -6
- package/src/runs/background/async-status.js.map +1 -1
- package/src/runs/background/chain-root-attachment.js +4 -4
- package/src/runs/background/chain-root-attachment.js.map +1 -1
- package/src/runs/background/control-channel.d.ts +1 -0
- package/src/runs/background/control-channel.d.ts.map +1 -1
- package/src/runs/background/control-channel.js +27 -3
- package/src/runs/background/control-channel.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/notify.d.ts +1 -1
- package/src/runs/background/notify.d.ts.map +1 -1
- package/src/runs/background/notify.js +8 -4
- package/src/runs/background/notify.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 +13 -17
- 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/runner-aliases.d.ts.map +1 -1
- package/src/runs/background/runner-aliases.js +11 -8
- package/src/runs/background/runner-aliases.js.map +1 -1
- package/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/src/runs/background/subagent-runner.js +212 -283
- package/src/runs/background/subagent-runner.js.map +1 -1
- package/src/runs/background/workflow-terminal-proof.d.ts +1 -1
- package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -1
- package/src/runs/background/workflow-terminal-proof.js +12 -3
- 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 +9 -8
- 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 +67 -60
- 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 +124 -67
- 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 +2 -2
- package/src/runs/shared/child-session.d.ts.map +1 -1
- package/src/runs/shared/child-session.js +104 -42
- package/src/runs/shared/child-session.js.map +1 -1
- package/src/runs/shared/effective-system-prompt.d.ts +4 -4
- package/src/runs/shared/effective-system-prompt.d.ts.map +1 -1
- package/src/runs/shared/effective-system-prompt.js +5 -4
- package/src/runs/shared/effective-system-prompt.js.map +1 -1
- package/src/runs/shared/external-cli-runner.d.ts.map +1 -1
- package/src/runs/shared/external-cli-runner.js +3 -2
- package/src/runs/shared/external-cli-runner.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 +4 -14
- package/src/runs/shared/long-running-guard.js.map +1 -1
- package/src/runs/shared/model-resolution-diagnostic.d.ts +7 -5
- package/src/runs/shared/model-resolution-diagnostic.d.ts.map +1 -1
- package/src/runs/shared/model-resolution-diagnostic.js +13 -10
- package/src/runs/shared/model-resolution-diagnostic.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/orca-progress-tabs.js +1 -1
- package/src/runs/shared/orca-progress-tabs.js.map +1 -1
- package/src/runs/shared/partial-output.d.ts +7 -0
- package/src/runs/shared/partial-output.d.ts.map +1 -1
- package/src/runs/shared/partial-output.js +7 -0
- package/src/runs/shared/partial-output.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/single-output.d.ts +11 -1
- package/src/runs/shared/single-output.d.ts.map +1 -1
- package/src/runs/shared/single-output.js +48 -26
- package/src/runs/shared/single-output.js.map +1 -1
- package/src/runs/shared/structured-output.d.ts +2 -0
- package/src/runs/shared/structured-output.d.ts.map +1 -1
- package/src/runs/shared/structured-output.js +9 -0
- package/src/runs/shared/structured-output.js.map +1 -1
- 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 +56 -0
- package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
- package/src/runs/shared/subagent-prompt-runtime.js +192 -6
- package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
- package/src/runs/shared/tool-budget.js +1 -1
- package/src/runs/shared/tool-budget.js.map +1 -1
- package/src/shared/child-transcript.js +1 -1
- package/src/shared/child-transcript.js.map +1 -1
- package/src/shared/extension-context.d.ts +5 -0
- package/src/shared/extension-context.d.ts.map +1 -1
- package/src/shared/extension-context.js +7 -0
- package/src/shared/extension-context.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/parent-wake.d.ts +6 -0
- package/src/shared/parent-wake.d.ts.map +1 -1
- package/src/shared/parent-wake.js +11 -0
- package/src/shared/parent-wake.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 +22 -9
- package/src/shared/types.d.ts.map +1 -1
- package/src/shared/types.js +7 -4
- package/src/shared/types.js.map +1 -1
- package/src/shared/utils.d.ts +13 -0
- package/src/shared/utils.d.ts.map +1 -1
- package/src/shared/utils.js +19 -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 +22 -11
- package/src/slash/slash-commands.js.map +1 -1
- package/src/slash/subagents-admin.d.ts.map +1 -1
- package/src/slash/subagents-admin.js +3 -2
- package/src/slash/subagents-admin.js.map +1 -1
- package/src/tui/fleet-status.d.ts +5 -0
- package/src/tui/fleet-status.d.ts.map +1 -1
- package/src/tui/fleet-status.js +24 -3
- package/src/tui/fleet-status.js.map +1 -1
- package/src/tui/fleet.js +2 -2
- package/src/tui/fleet.js.map +1 -1
- package/src/watchdog/change-signature.d.ts.map +1 -1
- package/src/watchdog/change-signature.js +1 -3
- package/src/watchdog/change-signature.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/scripted-workflow.js +13 -4
- package/src/workflows/scripted-workflow.js.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
- package/src/runs/shared/run-history.d.ts +0 -67
- package/src/runs/shared/run-history.d.ts.map +0 -1
- package/src/runs/shared/run-history.js +0 -270
- package/src/runs/shared/run-history.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-transcript.js","sourceRoot":"","sources":["../../../src/shared/child-transcript.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"child-transcript.js","sourceRoot":"","sources":["../../../src/shared/child-transcript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,8BAA8B,GAAG,yBAAyB,CAAC;AAEjE,SAAS,cAAc,CAAC,KAAc,EAAE,QAAQ,GAAG,sBAAsB;IACxE,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,IAAI,GAAG,KAAK,CAAC;SACvC,CAAC;QACL,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClD,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC/C,IAAI,GAAG,UAAU,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAC/E,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;IAC9C,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,GAAG,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,EAAE,CAAC;IACzD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,8BAA8B,EAAE,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AACnD,MAAM,kCAAkC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAyC5D,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAClD,CAAC,CAAC,YAAY,CAAE,OAA+B,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3D,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO;QACN,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACpE,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;QACvE,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3C,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAC7C,IAAI;KACJ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAA2B;IAC7C,OAAO,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAChF,CAAC,CAAC,KAAK,CAAC,IAA+B;QACvC,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAiC;IAC5E,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAA8B,CAAC;IACnC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,kCAAkC,CAAC;IAEtE,MAAM,UAAU,GAAG,CAAC,UAAqC,EAAE,EAAE;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO;YACN,OAAO,EAAE,iCAAiC;YAC1C,UAAU;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,EAAE;YACF,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;SACrC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QACjC,SAAS,GAAG,IAAI,CAAC;QACjB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,GAAG,UAAU,CAAC,WAAW,CAAC;YAC1B,QAAQ;YACR,OAAO,EAAE,6BAA6B,QAAQ,uCAAuC;SACrF,CAAC,IAAI,CAAC;QACP,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,YAAY,GAAG,WAAW,GAAG,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxD,IAAI,CAAC;YACJ,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACzD,YAAY,IAAI,WAAW,CAAC;YAC5B,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,UAAU,GAAG,qCAAqC,KAAK,CAAC,cAAc,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAClG,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,MAA+B,EAAE,EAAE;QACvD,IAAI,UAAU,IAAI,SAAS;YAAE,OAAO;QACpC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,YAAY,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrC,oBAAoB,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YACrC,GAAG,UAAU,CAAC,WAAW,CAAC;YAC1B,QAAQ;YACR,OAAO,EAAE,6BAA6B,QAAQ,uCAAuC;SACrF,CAAC,IAAI,CAAC;QACP,IAAI,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAE,CAAC;YAC/E,oBAAoB,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QACD,IAAI,CAAC;YACJ,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACvD,YAAY,IAAI,KAAK,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,UAAU,GAAG,qCAAqC,KAAK,CAAC,cAAc,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACnG,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,CAAC;QACJ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,UAAU,GAAG,0CAA0C,KAAK,CAAC,cAAc,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IACxG,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,eAAuB,EAAE,OAA+B,EAAE,EAAE;QACjF,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YACpC,WAAW,CAAC;gBACX,GAAG,UAAU,CAAC,SAAS,CAAC;gBACxB,eAAe;gBACf,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,OAAO,EAAE;oBACR,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBACvD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5E;aACD,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,WAAW,CAAC;YACX,GAAG,UAAU,CAAC,SAAS,CAAC;YACxB,eAAe;YACf,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO;SACP,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,cAAc;QAC1B,uBAAuB,CAAC,MAAc;YACrC,WAAW,CAAC;gBACX,GAAG,UAAU,CAAC,SAAS,CAAC;gBACxB,eAAe,EAAE,gBAAgB;gBACjC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;aACpE,CAAC,CAAC;QACJ,CAAC;QACD,eAAe,CAAC,KAA2B;YAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnD,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,OAAO;YACR,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACzC,WAAW,CAAC;oBACX,GAAG,UAAU,CAAC,YAAY,CAAC;oBAC3B,eAAe,EAAE,KAAK,CAAC,IAAI;oBAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACvC,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACzC,WAAW,CAAC;oBACX,GAAG,UAAU,CAAC,UAAU,CAAC;oBACzB,eAAe,EAAE,KAAK,CAAC,IAAI;oBAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QACD,eAAe,CAAC,IAAY;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO;YACzB,WAAW,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,eAAe,CAAC,IAAY;YAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,OAAO;YACzB,WAAW,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,eAAe,CAAC,IAAY;YAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,QAAQ;YACP,OAAO,UAAU,CAAC;QACnB,CAAC;KACD,CAAC;AACH,CAAC"}
|
|
@@ -10,6 +10,11 @@ export declare const MODEL_ONLY_TOOL: {
|
|
|
10
10
|
};
|
|
11
11
|
/** Pi exposes replaced extension contexts as ordinary Errors without a stable code. */
|
|
12
12
|
export declare function isStaleExtensionContextError(error: unknown): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the host can render a `ctx.ui.custom()` component. Stock Pi RPC defines `custom` as a
|
|
15
|
+
* no-op stub, so a non-TUI host must declare that it implements the custom-UI contract itself.
|
|
16
|
+
*/
|
|
17
|
+
export declare function canRenderComponents(ctx: ExtensionContext): boolean;
|
|
13
18
|
/** Pi throws this from action methods while extensions are still loading, before it binds the runtime. */
|
|
14
19
|
export declare function isUnboundExtensionRuntimeError(error: unknown): boolean;
|
|
15
20
|
/** Run a synchronous operation against a cached UI context without leaking replacement errors. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-context.d.ts","sourceRoot":"","sources":["../../../src/shared/extension-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;CAAsC,CAAC;AAEnE,uFAAuF;AACvF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGpE;AAED,0GAA0G;AAC1G,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtE;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,CAAC,EACpC,GAAG,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EACxC,OAAO,EAAE,MAAM,IAAI,EACnB,GAAG,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,CAAC,GAC/B,CAAC,GAAG,SAAS,CAUf"}
|
|
1
|
+
{"version":3,"file":"extension-context.d.ts","sourceRoot":"","sources":["../../../src/shared/extension-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;CAAsC,CAAC;AAEnE,uFAAuF;AACvF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAElE;AAED,0GAA0G;AAC1G,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtE;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,CAAC,EACpC,GAAG,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EACxC,OAAO,EAAE,MAAM,IAAI,EACnB,GAAG,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,CAAC,GAC/B,CAAC,GAAG,SAAS,CAUf"}
|
|
@@ -10,6 +10,13 @@ export function isStaleExtensionContextError(error) {
|
|
|
10
10
|
return error instanceof Error
|
|
11
11
|
&& /extension ctx is stale|extension context no longer active|stale after session replacement or reload/i.test(error.message);
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Whether the host can render a `ctx.ui.custom()` component. Stock Pi RPC defines `custom` as a
|
|
15
|
+
* no-op stub, so a non-TUI host must declare that it implements the custom-UI contract itself.
|
|
16
|
+
*/
|
|
17
|
+
export function canRenderComponents(ctx) {
|
|
18
|
+
return ctx.mode === "tui" || process.env.PI_SUBAGENTS_COMPONENT_UI === "1";
|
|
19
|
+
}
|
|
13
20
|
/** Pi throws this from action methods while extensions are still loading, before it binds the runtime. */
|
|
14
21
|
export function isUnboundExtensionRuntimeError(error) {
|
|
15
22
|
return error instanceof Error && /extension runtime not initialized/i.test(error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-context.js","sourceRoot":"","sources":["../../../src/shared/extension-context.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAW,CAAC;AAEnE,uFAAuF;AACvF,MAAM,UAAU,4BAA4B,CAAC,KAAc;IAC1D,OAAO,KAAK,YAAY,KAAK;WACzB,sGAAsG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChI,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC5D,OAAO,KAAK,YAAY,KAAK,IAAI,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3F,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,mBAAmB,CAClC,GAAwC,EACxC,OAAmB,EACnB,GAAiC;IAEjC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QACjC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACtD,OAAO,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"extension-context.js","sourceRoot":"","sources":["../../../src/shared/extension-context.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAW,CAAC;AAEnE,uFAAuF;AACvF,MAAM,UAAU,4BAA4B,CAAC,KAAc;IAC1D,OAAO,KAAK,YAAY,KAAK;WACzB,sGAAsG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChI,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAqB;IACxD,OAAO,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC;AAC5E,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,8BAA8B,CAAC,KAAc;IAC5D,OAAO,KAAK,YAAY,KAAK,IAAI,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3F,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,mBAAmB,CAClC,GAAwC,EACxC,OAAmB,EACnB,GAAiC;IAEjC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QACjC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QACtD,OAAO,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/** Unknown owners and live processes are never evicted merely because a lock is old. */
|
|
2
2
|
export declare function tryLease(lockPath: string): (() => void) | undefined;
|
|
3
|
-
/**
|
|
3
|
+
/** Another live owner held the lease for the whole wait. */
|
|
4
|
+
export declare class FileLeaseBusyError extends Error {
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Hold a lease beside `filePath` for a short synchronous update, waiting at most `waitMs` for another owner.
|
|
8
|
+
* The wait blocks the calling thread; `waitMs: 0` makes one attempt and never waits.
|
|
9
|
+
*/
|
|
4
10
|
export declare function withFileLease<T>(filePath: string, action: () => T, waitMs?: number): T;
|
|
5
11
|
//# sourceMappingURL=file-lease.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-lease.d.ts","sourceRoot":"","sources":["../../../src/shared/file-lease.ts"],"names":[],"mappings":"AAiCA,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAuBnE;AAED,
|
|
1
|
+
{"version":3,"file":"file-lease.d.ts","sourceRoot":"","sources":["../../../src/shared/file-lease.ts"],"names":[],"mappings":"AAiCA,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAuBnE;AAED,4DAA4D;AAC5D,qBAAa,kBAAmB,SAAQ,KAAK;CAAG;AAEhD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,SAAM,GAAG,CAAC,CAanF"}
|
package/src/shared/file-lease.js
CHANGED
|
@@ -77,7 +77,13 @@ export function tryLease(lockPath) {
|
|
|
77
77
|
fs.rmSync(lockPath, { recursive: true });
|
|
78
78
|
};
|
|
79
79
|
}
|
|
80
|
-
/**
|
|
80
|
+
/** Another live owner held the lease for the whole wait. */
|
|
81
|
+
export class FileLeaseBusyError extends Error {
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Hold a lease beside `filePath` for a short synchronous update, waiting at most `waitMs` for another owner.
|
|
85
|
+
* The wait blocks the calling thread; `waitMs: 0` makes one attempt and never waits.
|
|
86
|
+
*/
|
|
81
87
|
export function withFileLease(filePath, action, waitMs = 200) {
|
|
82
88
|
const requested = path.resolve(filePath);
|
|
83
89
|
const absolute = path.join(fs.realpathSync.native(path.dirname(requested)), path.basename(requested));
|
|
@@ -87,7 +93,7 @@ export function withFileLease(filePath, action, waitMs = 200) {
|
|
|
87
93
|
while (!release) {
|
|
88
94
|
const remaining = deadline - performance.now();
|
|
89
95
|
if (remaining <= 0)
|
|
90
|
-
throw new
|
|
96
|
+
throw new FileLeaseBusyError(`Timed out waiting for another process to finish updating ${absolute}.`);
|
|
91
97
|
waitForFileSystemRetry(Math.min(10, remaining));
|
|
92
98
|
release = tryLease(lockPath);
|
|
93
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-lease.js","sourceRoot":"","sources":["../../../src/shared/file-lease.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"file-lease.js","sourceRoot":"","sources":["../../../src/shared/file-lease.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,8 @@ interface ForkContextResolverOptions {
|
|
|
32
32
|
openSession?: (path: string, sessionDir?: string) => BranchSessionManager;
|
|
33
33
|
/** Rewrite a created fork before its path can be used to spawn a child. */
|
|
34
34
|
pruneSession?: (sessionFile: string) => Promise<void>;
|
|
35
|
+
/** Run id that names this launch's fork directory, read when the first fork is created. */
|
|
36
|
+
runDirName: () => string;
|
|
35
37
|
}
|
|
36
38
|
interface ForkContextResolver {
|
|
37
39
|
prepareSessionForIndex(index?: number): Promise<void>;
|
|
@@ -58,6 +60,6 @@ export declare function resolveSubagentLaunchContext(input: SubagentLaunchContex
|
|
|
58
60
|
* Explicit `context: "fork"` stays strict and does not use this preference. */
|
|
59
61
|
export declare function canPreferFork(sessionManager: PreferredForkAvailability): boolean;
|
|
60
62
|
export declare function canPreferForkFromSnapshot(input: PreferredForkSnapshot): boolean;
|
|
61
|
-
export declare function createForkContextResolver(sessionManager: ForkableSessionManager, requestedContext: unknown, options
|
|
63
|
+
export declare function createForkContextResolver(sessionManager: ForkableSessionManager, requestedContext: unknown, options: ForkContextResolverOptions): ForkContextResolver;
|
|
62
64
|
export {};
|
|
63
65
|
//# sourceMappingURL=fork-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork-context.d.ts","sourceRoot":"","sources":["../../../src/shared/fork-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fork-context.d.ts","sourceRoot":"","sources":["../../../src/shared/fork-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
// Forking a parent transcript into a child
|
|
2
|
-
// thinking
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
1
|
+
// Forking a parent transcript into a child copies the parent's assistant messages verbatim, signed
|
|
2
|
+
// Anthropic thinking included. A signature covers its block's content, not a session, so a
|
|
3
|
+
// verbatim copy stays valid in the branch, and keeping it lets the child's first request start
|
|
4
|
+
// with its parent's prompt-cached bytes. pi-ai replays a signed block only to the model that
|
|
5
|
+
// signed it and turns it into text or drops it for any other model, and Pi >= 0.85.0 recovers
|
|
6
|
+
// from signed-thinking mismatches on the transport. Two kinds of block are still dropped: raw
|
|
7
|
+
// `redacted_thinking` blocks, which are not Pi's own transcript shape, and signed thinking in a
|
|
8
|
+
// `context_edit` replacement, whose content no longer has to match its signature. A pruned fork
|
|
9
|
+
// rewrites inherited content, thinking included, so it still drops every signed or redacted
|
|
10
|
+
// Anthropic thinking block. Dropping them never disables the child's thinking: it keeps the level
|
|
11
|
+
// it asked for.
|
|
7
12
|
import * as fs from "node:fs";
|
|
8
13
|
import * as path from "node:path";
|
|
9
14
|
import { SessionManager } from "@earendil-works/pi-coding-agent";
|
|
@@ -35,9 +40,11 @@ export function canPreferForkFromSnapshot(input) {
|
|
|
35
40
|
return false;
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
|
-
function isUnsafeAnthropicThinkingBlock(message, block) {
|
|
43
|
+
function isUnsafeAnthropicThinkingBlock(message, block, verbatim) {
|
|
39
44
|
if (!message || !block || typeof block !== "object" || !("type" in block))
|
|
40
45
|
return false;
|
|
46
|
+
if (verbatim)
|
|
47
|
+
return block.type === "redacted_thinking";
|
|
41
48
|
const provider = typeof message.provider === "string" ? message.provider.toLowerCase() : "";
|
|
42
49
|
const api = typeof message.api === "string" ? message.api.toLowerCase() : "";
|
|
43
50
|
const model = typeof message.model === "string" ? message.model.toLowerCase() : "";
|
|
@@ -50,7 +57,7 @@ function isUnsafeAnthropicThinkingBlock(message, block) {
|
|
|
50
57
|
const signature = "thinkingSignature" in record ? record.thinkingSignature : "signature" in record ? record.signature : undefined;
|
|
51
58
|
return record.redacted === true || (typeof signature === "string" && signature.length > 0);
|
|
52
59
|
}
|
|
53
|
-
function sanitizeUnsafeThinkingBlocks(entries) {
|
|
60
|
+
function sanitizeUnsafeThinkingBlocks(entries, rewritten) {
|
|
54
61
|
let sanitized = false;
|
|
55
62
|
const entriesById = new Map(entries.flatMap((entry) => entry.id ? [[entry.id, entry]] : []));
|
|
56
63
|
for (const entry of entries) {
|
|
@@ -60,7 +67,8 @@ function sanitizeUnsafeThinkingBlocks(entries) {
|
|
|
60
67
|
const contentOwner = entry.type === "context_edit" ? entry.replacement : targetMessage;
|
|
61
68
|
if (targetMessage?.role !== "assistant" || !contentOwner || !Array.isArray(contentOwner.content))
|
|
62
69
|
continue;
|
|
63
|
-
const
|
|
70
|
+
const verbatim = !rewritten && entry.type !== "context_edit";
|
|
71
|
+
const filtered = contentOwner.content.filter((block) => !isUnsafeAnthropicThinkingBlock(targetMessage, block, verbatim));
|
|
64
72
|
if (filtered.length === contentOwner.content.length)
|
|
65
73
|
continue;
|
|
66
74
|
contentOwner.content = filtered;
|
|
@@ -80,7 +88,7 @@ function readSessionEntries(sessionFile) {
|
|
|
80
88
|
}
|
|
81
89
|
});
|
|
82
90
|
}
|
|
83
|
-
export function createForkContextResolver(sessionManager, requestedContext, options
|
|
91
|
+
export function createForkContextResolver(sessionManager, requestedContext, options) {
|
|
84
92
|
if (resolveSubagentContext(requestedContext) !== "fork") {
|
|
85
93
|
return {
|
|
86
94
|
prepareSessionForIndex: async () => { },
|
|
@@ -110,7 +118,7 @@ export function createForkContextResolver(sessionManager, requestedContext, opti
|
|
|
110
118
|
// loose next to run-N/ result directories. Derived from the file path
|
|
111
119
|
// rather than getSessionDir() so it also works when the manager cannot
|
|
112
120
|
// report its directory.
|
|
113
|
-
const
|
|
121
|
+
const forksDir = path.join(path.dirname(parentSessionFile), path.basename(parentSessionFile, ".jsonl"), "forks");
|
|
114
122
|
const cachedSessionFiles = new Map();
|
|
115
123
|
const preparedIndexes = new Set();
|
|
116
124
|
const preparationPromises = new Map();
|
|
@@ -122,6 +130,8 @@ export function createForkContextResolver(sessionManager, requestedContext, opti
|
|
|
122
130
|
if (!fs.existsSync(parentSessionFile)) {
|
|
123
131
|
throw new Error(`Parent session file does not exist: ${parentSessionFile}. Pi has not persisted enough history to fork yet.`);
|
|
124
132
|
}
|
|
133
|
+
// Nested resume accepts a session file only under a directory named by the run's id.
|
|
134
|
+
const sessionDir = path.join(forksDir, options.runDirName());
|
|
125
135
|
const sourceManager = openSession(parentSessionFile, sessionDir);
|
|
126
136
|
const sessionFile = sourceManager.createBranchedSession(leafId);
|
|
127
137
|
if (!sessionFile) {
|
|
@@ -133,13 +143,13 @@ export function createForkContextResolver(sessionManager, requestedContext, opti
|
|
|
133
143
|
if (!header || !entries) {
|
|
134
144
|
throw new Error(`Session manager returned a forked session file that does not exist and cannot be persisted by fallback: ${sessionFile}`);
|
|
135
145
|
}
|
|
136
|
-
sanitizeUnsafeThinkingBlocks(entries);
|
|
146
|
+
sanitizeUnsafeThinkingBlocks(entries, Boolean(options.pruneSession));
|
|
137
147
|
fs.mkdirSync(path.dirname(sessionFile), { recursive: true });
|
|
138
148
|
fs.writeFileSync(sessionFile, `${[header, ...entries].map((entry) => JSON.stringify(entry)).join("\n")}\n`, "utf-8");
|
|
139
149
|
}
|
|
140
150
|
else {
|
|
141
151
|
const entries = readSessionEntries(sessionFile);
|
|
142
|
-
if (sanitizeUnsafeThinkingBlocks(entries)) {
|
|
152
|
+
if (sanitizeUnsafeThinkingBlocks(entries, Boolean(options.pruneSession))) {
|
|
143
153
|
fs.writeFileSync(sessionFile, `${entries.map((entry) => JSON.stringify(entry)).join("\n")}\n`, "utf-8");
|
|
144
154
|
}
|
|
145
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork-context.js","sourceRoot":"","sources":["../../../src/shared/fork-context.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"fork-context.js","sourceRoot":"","sources":["../../../src/shared/fork-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,18 @@ export interface ParentWake {
|
|
|
6
6
|
* turn is started with sendUserMessage. Pi starts a sendMessage-triggered run without
|
|
7
7
|
* before_agent_start (earendil-works/pi#5581), so that run drops every hook-set prompt section.
|
|
8
8
|
* Returns true when the message was appended that way: Pi emits no extension message_start for it.
|
|
9
|
+
* After userAborted() and until the next run starts, a turn-triggering message is only appended.
|
|
9
10
|
*/
|
|
10
11
|
sendMessage(...args: Parameters<ExtensionAPI["sendMessage"]>): boolean;
|
|
11
12
|
/** True from an idle wake until its run starts or the session shuts down. Past the deadline it holds only while the parent is busy, which may still be the wake's preflight (for example compacting). */
|
|
12
13
|
isPending(): boolean;
|
|
13
14
|
bindSession(ctx: Pick<ExtensionContext, "isIdle" | "sessionManager">): void;
|
|
14
15
|
agentStarted(): void;
|
|
16
|
+
/** The user stopped the parent run: hold wakes until the next run starts. */
|
|
17
|
+
userAborted(): void;
|
|
18
|
+
/** A deliberate resume (manual compaction) drops the hold without touching the shared wake reservation. */
|
|
19
|
+
releaseHold(): void;
|
|
20
|
+
isHeld(): boolean;
|
|
15
21
|
sessionShutdown(reason: string | undefined): void;
|
|
16
22
|
}
|
|
17
23
|
export declare function createParentWake(pi: Pick<ExtensionAPI, "sendMessage" | "sendUserMessage">, now?: () => number): ParentWake;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-wake.d.ts","sourceRoot":"","sources":["../../../src/shared/parent-wake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,gBAAgB,qUAAqU,CAAC;AAanW,MAAM,WAAW,UAAU;IAC1B
|
|
1
|
+
{"version":3,"file":"parent-wake.d.ts","sourceRoot":"","sources":["../../../src/shared/parent-wake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,eAAO,MAAM,gBAAgB,qUAAqU,CAAC;AAanW,MAAM,WAAW,UAAU;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC;IACvE,yMAAyM;IACzM,SAAS,IAAI,OAAO,CAAC;IACrB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC5E,YAAY,IAAI,IAAI,CAAC;IACrB,6EAA6E;IAC7E,WAAW,IAAI,IAAI,CAAC;IACpB,2GAA2G;IAC3G,WAAW,IAAI,IAAI,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC;IAClB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAClD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,iBAAiB,CAAC,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,UAAU,CA2DpI"}
|
|
@@ -9,6 +9,7 @@ export function createParentWake(pi, now = Date.now) {
|
|
|
9
9
|
let ctx;
|
|
10
10
|
// Captured at bind: Pi's ctx throws once stale, which it can be by session_shutdown.
|
|
11
11
|
let session;
|
|
12
|
+
let held = false;
|
|
12
13
|
// Look the reservation up on every access: another extension may have created this session's entry.
|
|
13
14
|
const reservation = () => {
|
|
14
15
|
// Pi can shut an extension down before session_start binds it; an unbound wake reserved nothing.
|
|
@@ -31,6 +32,11 @@ export function createParentWake(pi, now = Date.now) {
|
|
|
31
32
|
pi.sendMessage(message, options);
|
|
32
33
|
return false;
|
|
33
34
|
}
|
|
35
|
+
if (held) {
|
|
36
|
+
// Appended now, or at the end of a run still finishing; neither emits an extension message_start.
|
|
37
|
+
pi.sendMessage(message, { triggerTurn: false });
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
34
40
|
if (!ctx.isIdle()) {
|
|
35
41
|
pi.sendMessage(message, options);
|
|
36
42
|
return false;
|
|
@@ -47,10 +53,15 @@ export function createParentWake(pi, now = Date.now) {
|
|
|
47
53
|
bindSession(context) {
|
|
48
54
|
ctx = context;
|
|
49
55
|
session = { manager: context.sessionManager, id: context.sessionManager.getSessionId() };
|
|
56
|
+
held = false;
|
|
50
57
|
},
|
|
51
58
|
agentStarted() {
|
|
52
59
|
reservation().sentAt = undefined;
|
|
60
|
+
held = false;
|
|
53
61
|
},
|
|
62
|
+
userAborted: () => { held = true; },
|
|
63
|
+
releaseHold: () => { held = false; },
|
|
64
|
+
isHeld: () => held,
|
|
54
65
|
sessionShutdown(reason) {
|
|
55
66
|
if (reason !== "reload")
|
|
56
67
|
reservation().sentAt = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-wake.js","sourceRoot":"","sources":["../../../src/shared/parent-wake.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,kUAAkU,CAAC;AACnW,4FAA4F;AAC5F,2FAA2F;AAC3F,MAAM,eAAe,GAAG,MAAM,CAAC;AAM/B,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,UAA6F,CAAC;AACjH,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,IAAI,OAAO,EAA2B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parent-wake.js","sourceRoot":"","sources":["../../../src/shared/parent-wake.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Records that sessionId replaced previousSessionId in this process, inheriting its chain. */
|
|
2
|
+
export declare function recordSessionReplacement(sessionId: string, previousSessionId: string): void;
|
|
3
|
+
/** Sessions this process replaced on the way to sessionId, newest first; their runs belong to sessionId. */
|
|
4
|
+
export declare function inheritedSessionIds(sessionId: string): readonly string[];
|
|
5
|
+
//# sourceMappingURL=session-succession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-succession.d.ts","sourceRoot":"","sources":["../../../src/shared/session-succession.ts"],"names":[],"mappings":"AAcA,+FAA+F;AAC/F,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAO3F;AAED,4GAA4G;AAC5G,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAExE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Each Pi session replacement runs in a new extension instance, so the chain lives on globalThis.
|
|
2
|
+
const SUCCESSION_KEY = Symbol.for("pi-subagents.session-succession");
|
|
3
|
+
const MAX_INHERITED_SESSIONS = 8;
|
|
4
|
+
// A long-lived host (pi-web) can replace sessions for days; keep only the most recent ones.
|
|
5
|
+
const MAX_RECORDED_SESSIONS = 64;
|
|
6
|
+
function successions() {
|
|
7
|
+
const runtime = globalThis;
|
|
8
|
+
runtime[SUCCESSION_KEY] ??= new Map();
|
|
9
|
+
return runtime[SUCCESSION_KEY];
|
|
10
|
+
}
|
|
11
|
+
/** Records that sessionId replaced previousSessionId in this process, inheriting its chain. */
|
|
12
|
+
export function recordSessionReplacement(sessionId, previousSessionId) {
|
|
13
|
+
// Resuming back and forth can revisit a session: keep the chain distinct and free of sessionId
|
|
14
|
+
// itself, so the bound holds real predecessors and discovery never scans one session twice.
|
|
15
|
+
const chain = [...new Set([previousSessionId, ...(successions().get(previousSessionId) ?? [])])].filter((id) => id !== sessionId);
|
|
16
|
+
successions().delete(sessionId);
|
|
17
|
+
successions().set(sessionId, chain.slice(0, MAX_INHERITED_SESSIONS));
|
|
18
|
+
while (successions().size > MAX_RECORDED_SESSIONS)
|
|
19
|
+
successions().delete(successions().keys().next().value);
|
|
20
|
+
}
|
|
21
|
+
/** Sessions this process replaced on the way to sessionId, newest first; their runs belong to sessionId. */
|
|
22
|
+
export function inheritedSessionIds(sessionId) {
|
|
23
|
+
return successions().get(sessionId) ?? [];
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=session-succession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-succession.js","sourceRoot":"","sources":["../../../src/shared/session-succession.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACrE,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,4FAA4F;AAC5F,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAIjC,SAAS,WAAW;IACnB,MAAM,OAAO,GAAG,UAA8B,CAAC;IAC/C,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;IACtC,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;AAChC,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,wBAAwB,CAAC,SAAiB,EAAE,iBAAyB;IACpF,+FAA+F;IAC/F,4FAA4F;IAC5F,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAClI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,WAAW,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACrE,OAAO,WAAW,EAAE,CAAC,IAAI,GAAG,qBAAqB;QAAE,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAC;AAC7G,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACpD,OAAO,WAAW,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
|
package/src/shared/types.d.ts
CHANGED
|
@@ -256,7 +256,7 @@ export interface ResolvedToolBudget {
|
|
|
256
256
|
hard: number;
|
|
257
257
|
block: string[] | "*";
|
|
258
258
|
}
|
|
259
|
-
export type ToolBudgetOutcome = "within-budget" | "soft-reached" | "hard-blocked";
|
|
259
|
+
export type ToolBudgetOutcome = "within-budget" | "soft-reached" | "hard-reached" | "hard-blocked";
|
|
260
260
|
export interface ToolBudgetState extends ResolvedToolBudget {
|
|
261
261
|
outcome: ToolBudgetOutcome;
|
|
262
262
|
toolCount: number;
|
|
@@ -356,6 +356,8 @@ export interface ControlEvent {
|
|
|
356
356
|
toolCount?: number;
|
|
357
357
|
currentTool?: string;
|
|
358
358
|
toolCallId?: string;
|
|
359
|
+
/** True only when the child's native command controller manages `toolCallId`; gates command-control suggestions in notices. */
|
|
360
|
+
hasCommandController?: boolean;
|
|
359
361
|
currentToolDurationMs?: number;
|
|
360
362
|
currentPath?: string;
|
|
361
363
|
elapsedMs?: number;
|
|
@@ -578,7 +580,6 @@ export interface TimeoutRecoverySummary {
|
|
|
578
580
|
export type TimeoutRecoveryProjection = Pick<TimeoutRecoverySummary, "termination" | "changedFiles" | "truncated" | "recoveryNeeded" | "reason" | "reportStatus">;
|
|
579
581
|
export declare const SUBAGENT_LIFECYCLE_ARTIFACT_VERSION = 3;
|
|
580
582
|
export type SubagentLifecycleArtifactVersion = typeof SUBAGENT_LIFECYCLE_ARTIFACT_VERSION;
|
|
581
|
-
export type ProcessTerminalState = "pending" | "observed" | "unknown" | "not-started";
|
|
582
583
|
export type ProcessTerminalReason = "observer-unavailable" | "runner-candidate-missing" | "runner-instance-mismatch" | "writer-close-unverified" | "process-tree-unverified" | "canonical-session-unavailable" | "canonical-session-lease-active" | "canonical-session-release-unverified" | "proof-write-failed" | "stale-repair";
|
|
583
584
|
export interface RunnerProcessInstanceExit {
|
|
584
585
|
processInstanceId: string;
|
|
@@ -1446,7 +1447,7 @@ export interface Details {
|
|
|
1446
1447
|
generatedLaneKey?: string;
|
|
1447
1448
|
warning?: string;
|
|
1448
1449
|
error?: string;
|
|
1449
|
-
/** Came from a previous runtime-replaced run of the same script and args; this run launched nothing. */
|
|
1450
|
+
/** Came from a previous runtime-replaced run of the same script (and args, unless named by options.reuseFrom); this run launched nothing. */
|
|
1450
1451
|
reused?: boolean;
|
|
1451
1452
|
}>;
|
|
1452
1453
|
emits: unknown[];
|
|
@@ -1550,6 +1551,8 @@ export interface NestedRunSummary extends NestedRunAddress {
|
|
|
1550
1551
|
pid?: number;
|
|
1551
1552
|
sessionId?: string;
|
|
1552
1553
|
sessionFile?: string;
|
|
1554
|
+
/** Run whose session this resume replacement continues. */
|
|
1555
|
+
revivedFrom?: string;
|
|
1553
1556
|
intercomTarget?: string;
|
|
1554
1557
|
ownerIntercomTarget?: string;
|
|
1555
1558
|
leafIntercomTarget?: string;
|
|
@@ -1823,6 +1826,8 @@ export interface AsyncStatus {
|
|
|
1823
1826
|
sessionId?: string;
|
|
1824
1827
|
mode: SubagentRunMode;
|
|
1825
1828
|
context?: "fresh" | "fork" | "mixed";
|
|
1829
|
+
/** Run whose session this resume replacement continues. */
|
|
1830
|
+
revivedFrom?: string;
|
|
1826
1831
|
isNested?: boolean;
|
|
1827
1832
|
state: "queued" | "running" | "complete" | "failed" | "partial" | "paused" | "stopped" | "rejected";
|
|
1828
1833
|
/** Display-only dismissal marker for a reload-orphaned workflow. */
|
|
@@ -1950,6 +1955,13 @@ export interface AsyncStatus {
|
|
|
1950
1955
|
tokens?: TokenUsage;
|
|
1951
1956
|
skills?: string[];
|
|
1952
1957
|
model?: string;
|
|
1958
|
+
/** Model the child was launched on, recorded when its replies reported a different `model`; revival uses it. */
|
|
1959
|
+
launchModel?: string;
|
|
1960
|
+
/** Provider and model recorded on this child's latest own live assistant reply; never the requested model. */
|
|
1961
|
+
resolvedModel?: {
|
|
1962
|
+
provider: string;
|
|
1963
|
+
model: string;
|
|
1964
|
+
};
|
|
1953
1965
|
thinking?: string;
|
|
1954
1966
|
contextLimit?: number;
|
|
1955
1967
|
thinkingCeiling?: ThinkingLevel;
|
|
@@ -2588,6 +2600,8 @@ export interface ExtensionConfig {
|
|
|
2588
2600
|
asyncWidgetLayout?: AsyncWidgetLayout;
|
|
2589
2601
|
/** Report subagent run state to the terminal with OSC 7501. Defaults to true. */
|
|
2590
2602
|
programStatus?: boolean;
|
|
2603
|
+
/** Add a short `active_subagents` system prompt section listing this session's active background runs. Defaults to false. */
|
|
2604
|
+
activeRunsPrompt?: boolean;
|
|
2591
2605
|
/** Exact provider/model candidates mapped to operator-declared equivalent response IDs. Empty arrays add no accepted IDs. */
|
|
2592
2606
|
modelResponseAliases?: Record<string, string[]>;
|
|
2593
2607
|
/** Named argv prefixes for background runners; agents select one with `launcher: <name>`. User config only. */
|
|
@@ -2596,6 +2610,8 @@ export interface ExtensionConfig {
|
|
|
2596
2610
|
toolDescriptionMode?: ToolDescriptionMode;
|
|
2597
2611
|
/** How a new parent session offers the subagent tool. Defaults to auto. */
|
|
2598
2612
|
toolActivation?: ToolActivationMode;
|
|
2613
|
+
/** Keep a resumed session on the pi-subagents tool definitions and prompt text it already declared. Defaults to true. */
|
|
2614
|
+
pinToolDeclarations?: boolean;
|
|
2599
2615
|
/** Opt-in feature groups removed from the subagent tool schema and rejected at every execution boundary. */
|
|
2600
2616
|
disabledFeatures?: SubagentFeature[];
|
|
2601
2617
|
/** Inline chat rendering for the subagent tool. Defaults to rich. */
|
|
@@ -2690,7 +2706,6 @@ export declare function resolveTempScopeId(options?: {
|
|
|
2690
2706
|
}) | undefined;
|
|
2691
2707
|
homedir?: (() => string) | undefined;
|
|
2692
2708
|
}): string;
|
|
2693
|
-
export declare const MAX_CONCURRENCY = 4;
|
|
2694
2709
|
export declare const TEMP_ROOT_DIR: string;
|
|
2695
2710
|
export declare const RESULTS_DIR: string;
|
|
2696
2711
|
export declare const ASYNC_DIR: string;
|
|
@@ -2705,6 +2720,9 @@ export declare const DIRS: {
|
|
|
2705
2720
|
export declare const WIDGET_KEY = "subagent-async";
|
|
2706
2721
|
export declare const SLASH_RESULT_TYPE = "subagent-slash-result";
|
|
2707
2722
|
export declare const SLASH_TEXT_RESULT_TYPE = "subagent-slash-text-result";
|
|
2723
|
+
export declare const SLASH_TEXT_VIEW_ONLY_DETAILS: {
|
|
2724
|
+
readonly viewOnly: true;
|
|
2725
|
+
};
|
|
2708
2726
|
export declare const SLASH_SUBAGENT_REQUEST_EVENT = "subagent:slash:request";
|
|
2709
2727
|
export declare const SLASH_SUBAGENT_STARTED_EVENT = "subagent:slash:started";
|
|
2710
2728
|
export declare const SLASH_SUBAGENT_RESPONSE_EVENT = "subagent:slash:response";
|
|
@@ -2726,12 +2744,8 @@ export interface SubagentDepthContext {
|
|
|
2726
2744
|
depth: number;
|
|
2727
2745
|
maxDepth?: number;
|
|
2728
2746
|
}
|
|
2729
|
-
/** Operator override for the top-level parent; children inherit their limit through their runtime config. */
|
|
2730
|
-
export declare const SUBAGENT_MAX_DEPTH_ENV = "PI_SUBAGENT_MAX_DEPTH";
|
|
2731
2747
|
export declare function resolveCurrentMaxSubagentDepth(configMaxDepth?: number, runtime?: SubagentDepthContext): number;
|
|
2732
2748
|
export declare function resolveChildMaxSubagentDepth(parentMaxDepth: number, agentMaxDepth?: number): number;
|
|
2733
|
-
/** Depth of the executor itself: 0 for a top-level parent, its own child depth otherwise. */
|
|
2734
|
-
export declare function resolveCurrentSubagentDepth(runtime?: SubagentDepthContext): number;
|
|
2735
2749
|
export declare function checkSubagentDepth(configMaxDepth?: number, runtime?: SubagentDepthContext): {
|
|
2736
2750
|
blocked: boolean;
|
|
2737
2751
|
depth: number;
|
|
@@ -2741,7 +2755,6 @@ export declare function checkSubagentDepth(configMaxDepth?: number, runtime?: Su
|
|
|
2741
2755
|
export declare function resolveChildDepth(maxDepth?: number, runtime?: SubagentDepthContext): Required<SubagentDepthContext>;
|
|
2742
2756
|
export declare function normalizeMaxSubagentSpawnsPerSession(value: unknown): number | undefined;
|
|
2743
2757
|
export declare function resolveMaxSubagentSpawnsPerSession(configMaxSpawns?: number): number | undefined;
|
|
2744
|
-
export declare const DEFAULT_MAX_SUBAGENT_SPAWNS_PER_RUN = 64;
|
|
2745
2758
|
export declare function normalizeMaxSubagentSpawnsPerRun(value: unknown): number | undefined;
|
|
2746
2759
|
export declare function resolveMaxSubagentSpawnsPerRun(configMaxSpawns?: number): number;
|
|
2747
2760
|
export declare function truncateOutput(output: string, config: Required<MaxOutputConfig>, artifactPath?: string): TruncationResult;
|