@with-logic/elwood 0.2.1 → 0.2.2
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 +565 -1
- package/CONTRIBUTING.md +3 -0
- package/README.md +4 -2
- package/dist/bridge/socket-release.d.ts +15 -0
- package/dist/bridge/socket-release.d.ts.map +1 -0
- package/dist/bridge/socket-release.js +22 -0
- package/dist/bridge/socket-release.js.map +1 -0
- package/dist/claude/composer/border.d.ts +12 -0
- package/dist/claude/composer/border.d.ts.map +1 -0
- package/dist/claude/composer/border.js +12 -0
- package/dist/claude/composer/border.js.map +1 -0
- package/dist/claude/composer/empty-input.d.ts +15 -0
- package/dist/claude/composer/empty-input.d.ts.map +1 -1
- package/dist/claude/composer/empty-input.js +30 -11
- package/dist/claude/composer/empty-input.js.map +1 -1
- package/dist/claude/composer/footer.d.ts +26 -2
- package/dist/claude/composer/footer.d.ts.map +1 -1
- package/dist/claude/composer/footer.js +29 -2
- package/dist/claude/composer/footer.js.map +1 -1
- package/dist/claude/composer/idle.d.ts +14 -0
- package/dist/claude/composer/idle.d.ts.map +1 -0
- package/dist/claude/composer/idle.js +17 -0
- package/dist/claude/composer/idle.js.map +1 -0
- package/dist/claude/composer/last.d.ts +2 -0
- package/dist/claude/composer/last.d.ts.map +1 -0
- package/dist/claude/composer/last.js +15 -0
- package/dist/claude/composer/last.js.map +1 -0
- package/dist/claude/composer/staged-input.d.ts.map +1 -1
- package/dist/claude/composer/staged-input.js +2 -1
- package/dist/claude/composer/staged-input.js.map +1 -1
- package/dist/claude/hooks/stop-failure.d.ts +15 -2
- package/dist/claude/hooks/stop-failure.d.ts.map +1 -1
- package/dist/claude/hooks/stop-failure.js +32 -9
- package/dist/claude/hooks/stop-failure.js.map +1 -1
- package/dist/claude/login/stages.d.ts.map +1 -1
- package/dist/claude/login/stages.js +2 -2
- package/dist/claude/login/stages.js.map +1 -1
- package/dist/claude/model-picker.d.ts +1 -1
- package/dist/claude/model-picker.d.ts.map +1 -1
- package/dist/claude/model-picker.js +27 -10
- package/dist/claude/model-picker.js.map +1 -1
- package/dist/claude/preflight.d.ts +1 -1
- package/dist/claude/preflight.d.ts.map +1 -1
- package/dist/claude/preflight.js +18 -12
- package/dist/claude/preflight.js.map +1 -1
- package/dist/claude/questions/navigation.d.ts.map +1 -1
- package/dist/claude/questions/navigation.js +1 -2
- package/dist/claude/questions/navigation.js.map +1 -1
- package/dist/claude/questions/screen.d.ts.map +1 -1
- package/dist/claude/questions/screen.js +10 -2
- package/dist/claude/questions/screen.js.map +1 -1
- package/dist/claude/screen-table.d.ts +8 -5
- package/dist/claude/screen-table.d.ts.map +1 -1
- package/dist/claude/screen-table.js +20 -12
- package/dist/claude/screen-table.js.map +1 -1
- package/dist/claude/session/bridge.d.ts +2 -1
- package/dist/claude/session/bridge.d.ts.map +1 -1
- package/dist/claude/session/bridge.js +3 -1
- package/dist/claude/session/bridge.js.map +1 -1
- package/dist/claude/session/build.d.ts.map +1 -1
- package/dist/claude/session/build.js +13 -11
- package/dist/claude/session/build.js.map +1 -1
- package/dist/claude/session/cleanup.d.ts +18 -0
- package/dist/claude/session/cleanup.d.ts.map +1 -0
- package/dist/claude/session/cleanup.js +10 -0
- package/dist/claude/session/cleanup.js.map +1 -0
- package/dist/claude/session/index.d.ts.map +1 -1
- package/dist/claude/session/index.js +27 -13
- package/dist/claude/session/index.js.map +1 -1
- package/dist/claude/session/instance.d.ts +7 -8
- package/dist/claude/session/instance.d.ts.map +1 -1
- package/dist/claude/session/instance.js +9 -13
- package/dist/claude/session/instance.js.map +1 -1
- package/dist/claude/session/resume.d.ts.map +1 -1
- package/dist/claude/session/resume.js +14 -5
- package/dist/claude/session/resume.js.map +1 -1
- package/dist/claude/session/transcript.js +2 -2
- package/dist/claude/session/transcript.js.map +1 -1
- package/dist/claude/simple.d.ts +1 -1
- package/dist/claude/simple.d.ts.map +1 -1
- package/dist/claude/simple.js +3 -3
- package/dist/claude/simple.js.map +1 -1
- package/dist/claude/startup-prompts.d.ts +2 -0
- package/dist/claude/startup-prompts.d.ts.map +1 -1
- package/dist/claude/startup-prompts.js +5 -1
- package/dist/claude/startup-prompts.js.map +1 -1
- package/dist/claude/transcript/cursor-io.d.ts +1 -1
- package/dist/claude/transcript/cursor-io.d.ts.map +1 -1
- package/dist/claude/transcript/cursor-io.js +1 -1
- package/dist/claude/transcript/cursor-io.js.map +1 -1
- package/dist/claude/transcript/cursor.d.ts +5 -3
- package/dist/claude/transcript/cursor.d.ts.map +1 -1
- package/dist/claude/transcript/cursor.js +18 -8
- package/dist/claude/transcript/cursor.js.map +1 -1
- package/dist/claude/transcript/drain-context.d.ts +4 -3
- package/dist/claude/transcript/drain-context.d.ts.map +1 -1
- package/dist/claude/transcript/drain-context.js.map +1 -1
- package/dist/claude/transcript/emit.d.ts +2 -1
- package/dist/claude/transcript/emit.d.ts.map +1 -1
- package/dist/claude/transcript/emit.js +1 -0
- package/dist/claude/transcript/emit.js.map +1 -1
- package/dist/claude/transcript/index.d.ts.map +1 -1
- package/dist/claude/transcript/index.js +2 -2
- package/dist/claude/transcript/index.js.map +1 -1
- package/dist/claude/transcript/warnings.d.ts +2 -1
- package/dist/claude/transcript/warnings.d.ts.map +1 -1
- package/dist/claude/transcript/warnings.js +3 -2
- package/dist/claude/transcript/warnings.js.map +1 -1
- package/dist/cli/config/effective.d.ts +2 -2
- package/dist/cli/config/effective.d.ts.map +1 -1
- package/dist/cli/config/effective.js +0 -2
- package/dist/cli/config/effective.js.map +1 -1
- package/dist/cli/interactive/spawn.d.ts +0 -2
- package/dist/cli/interactive/spawn.d.ts.map +1 -1
- package/dist/cli/interactive/spawn.js +27 -24
- package/dist/cli/interactive/spawn.js.map +1 -1
- package/dist/cli/lifecycle/index.d.ts.map +1 -1
- package/dist/cli/lifecycle/index.js +5 -3
- package/dist/cli/lifecycle/index.js.map +1 -1
- package/dist/cli/main-failure.d.ts.map +1 -1
- package/dist/cli/main-failure.js +5 -2
- package/dist/cli/main-failure.js.map +1 -1
- package/dist/cli/models/combined.d.ts.map +1 -1
- package/dist/cli/models/combined.js +3 -2
- package/dist/cli/models/combined.js.map +1 -1
- package/dist/cli/models/render.d.ts.map +1 -1
- package/dist/cli/models/render.js +2 -1
- package/dist/cli/models/render.js.map +1 -1
- package/dist/cli/output/cleanup-error.d.ts +22 -0
- package/dist/cli/output/cleanup-error.d.ts.map +1 -0
- package/dist/cli/output/cleanup-error.js +67 -0
- package/dist/cli/output/cleanup-error.js.map +1 -0
- package/dist/cli/output/types.d.ts +6 -2
- package/dist/cli/output/types.d.ts.map +1 -1
- package/dist/cli/request/agent-detect.d.ts +6 -2
- package/dist/cli/request/agent-detect.d.ts.map +1 -1
- package/dist/cli/request/agent-detect.js +14 -6
- package/dist/cli/request/agent-detect.js.map +1 -1
- package/dist/cli/request/finalize.d.ts +1 -1
- package/dist/cli/request/finalize.d.ts.map +1 -1
- package/dist/cli/request/finalize.js +4 -25
- package/dist/cli/request/finalize.js.map +1 -1
- package/dist/cli/request/index.d.ts.map +1 -1
- package/dist/cli/request/index.js +11 -5
- package/dist/cli/request/index.js.map +1 -1
- package/dist/cli/request/path-replacement.d.ts +27 -0
- package/dist/cli/request/path-replacement.d.ts.map +1 -0
- package/dist/cli/request/path-replacement.js +79 -0
- package/dist/cli/request/path-replacement.js.map +1 -0
- package/dist/cli/request/workspace.d.ts +8 -0
- package/dist/cli/request/workspace.d.ts.map +1 -0
- package/dist/cli/request/workspace.js +50 -0
- package/dist/cli/request/workspace.js.map +1 -0
- package/dist/cli/run/output.d.ts.map +1 -1
- package/dist/cli/run/output.js +2 -1
- package/dist/cli/run/output.js.map +1 -1
- package/dist/cli/run/subscribe.d.ts.map +1 -1
- package/dist/cli/run/subscribe.js +1 -1
- package/dist/cli/run/subscribe.js.map +1 -1
- package/dist/cli/session/index.d.ts +4 -4
- package/dist/cli/session/index.d.ts.map +1 -1
- package/dist/cli/session/index.js +5 -5
- package/dist/cli/session/index.js.map +1 -1
- package/dist/cli/session/launch.d.ts +2 -2
- package/dist/cli/session/launch.d.ts.map +1 -1
- package/dist/cli/session/launch.js +12 -3
- package/dist/cli/session/launch.js.map +1 -1
- package/dist/cli/session/turn-readers.d.ts +14 -0
- package/dist/cli/session/turn-readers.d.ts.map +1 -0
- package/dist/cli/session/turn-readers.js +13 -0
- package/dist/cli/session/turn-readers.js.map +1 -0
- package/dist/codex/config/default-model.d.ts +24 -0
- package/dist/codex/config/default-model.d.ts.map +1 -0
- package/dist/codex/config/default-model.js +133 -0
- package/dist/codex/config/default-model.js.map +1 -0
- package/dist/codex/config/home.d.ts +35 -0
- package/dist/codex/config/home.d.ts.map +1 -0
- package/dist/codex/config/home.js +122 -0
- package/dist/codex/config/home.js.map +1 -0
- package/dist/codex/config/lock.d.ts +17 -11
- package/dist/codex/config/lock.d.ts.map +1 -1
- package/dist/codex/config/lock.js +102 -11
- package/dist/codex/config/lock.js.map +1 -1
- package/dist/codex/config/read.d.ts +16 -0
- package/dist/codex/config/read.d.ts.map +1 -0
- package/dist/codex/config/read.js +75 -0
- package/dist/codex/config/read.js.map +1 -0
- package/dist/codex/config/restore.d.ts +17 -7
- package/dist/codex/config/restore.d.ts.map +1 -1
- package/dist/codex/config/restore.js +33 -20
- package/dist/codex/config/restore.js.map +1 -1
- package/dist/codex/config/transaction.d.ts +6 -4
- package/dist/codex/config/transaction.d.ts.map +1 -1
- package/dist/codex/config/transaction.js +4 -3
- package/dist/codex/config/transaction.js.map +1 -1
- package/dist/codex/images/clipboard-copies.d.ts +39 -0
- package/dist/codex/images/clipboard-copies.d.ts.map +1 -0
- package/dist/codex/images/clipboard-copies.js +91 -0
- package/dist/codex/images/clipboard-copies.js.map +1 -0
- package/dist/codex/model-picker.d.ts +1 -1
- package/dist/codex/model-picker.d.ts.map +1 -1
- package/dist/codex/model-picker.js +16 -6
- package/dist/codex/model-picker.js.map +1 -1
- package/dist/codex/preflight.d.ts +2 -2
- package/dist/codex/preflight.d.ts.map +1 -1
- package/dist/codex/preflight.js +28 -21
- package/dist/codex/preflight.js.map +1 -1
- package/dist/codex/pty.d.ts +25 -3
- package/dist/codex/pty.d.ts.map +1 -1
- package/dist/codex/pty.js +53 -7
- package/dist/codex/pty.js.map +1 -1
- package/dist/codex/questions/candidates.d.ts.map +1 -1
- package/dist/codex/questions/candidates.js +4 -5
- package/dist/codex/questions/candidates.js.map +1 -1
- package/dist/codex/questions/driver.js +2 -2
- package/dist/codex/questions/driver.js.map +1 -1
- package/dist/codex/questions/records.d.ts +1 -1
- package/dist/codex/questions/records.d.ts.map +1 -1
- package/dist/codex/questions/records.js +1 -3
- package/dist/codex/questions/records.js.map +1 -1
- package/dist/codex/screen/clearance.d.ts +6 -0
- package/dist/codex/screen/clearance.d.ts.map +1 -1
- package/dist/codex/screen/clearance.js +10 -0
- package/dist/codex/screen/clearance.js.map +1 -1
- package/dist/codex/screen-table.d.ts.map +1 -1
- package/dist/codex/screen-table.js +6 -2
- package/dist/codex/screen-table.js.map +1 -1
- package/dist/codex/session/bridge.d.ts +1 -0
- package/dist/codex/session/bridge.d.ts.map +1 -1
- package/dist/codex/session/bridge.js +3 -1
- package/dist/codex/session/bridge.js.map +1 -1
- package/dist/codex/session/build.d.ts.map +1 -1
- package/dist/codex/session/build.js +14 -12
- package/dist/codex/session/build.js.map +1 -1
- package/dist/codex/session/cleanup.d.ts +2 -2
- package/dist/codex/session/cleanup.d.ts.map +1 -1
- package/dist/codex/session/cleanup.js +8 -11
- package/dist/codex/session/cleanup.js.map +1 -1
- package/dist/codex/session/config-switch.d.ts +20 -0
- package/dist/codex/session/config-switch.d.ts.map +1 -0
- package/dist/codex/session/config-switch.js +42 -0
- package/dist/codex/session/config-switch.js.map +1 -0
- package/dist/codex/session/hooks.d.ts.map +1 -1
- package/dist/codex/session/hooks.js +7 -0
- package/dist/codex/session/hooks.js.map +1 -1
- package/dist/codex/session/index.d.ts.map +1 -1
- package/dist/codex/session/index.js +34 -16
- package/dist/codex/session/index.js.map +1 -1
- package/dist/codex/session/instance.d.ts +10 -12
- package/dist/codex/session/instance.d.ts.map +1 -1
- package/dist/codex/session/instance.js +42 -37
- package/dist/codex/session/instance.js.map +1 -1
- package/dist/codex/session/readiness.d.ts +11 -0
- package/dist/codex/session/readiness.d.ts.map +1 -0
- package/dist/codex/session/readiness.js +22 -0
- package/dist/codex/session/readiness.js.map +1 -0
- package/dist/codex/session/resume.d.ts.map +1 -1
- package/dist/codex/session/resume.js +9 -4
- package/dist/codex/session/resume.js.map +1 -1
- package/dist/codex/session/transcript.d.ts.map +1 -1
- package/dist/codex/session/transcript.js +12 -1
- package/dist/codex/session/transcript.js.map +1 -1
- package/dist/codex/session/turn-commit.d.ts +58 -0
- package/dist/codex/session/turn-commit.d.ts.map +1 -0
- package/dist/codex/session/turn-commit.js +97 -0
- package/dist/codex/session/turn-commit.js.map +1 -0
- package/dist/codex/session/warnings.d.ts +13 -6
- package/dist/codex/session/warnings.d.ts.map +1 -1
- package/dist/codex/session/warnings.js +36 -9
- package/dist/codex/session/warnings.js.map +1 -1
- package/dist/codex/startup-prompts.d.ts +3 -0
- package/dist/codex/startup-prompts.d.ts.map +1 -1
- package/dist/codex/startup-prompts.js +20 -13
- package/dist/codex/startup-prompts.js.map +1 -1
- package/dist/codex/startup-warnings.d.ts +2 -0
- package/dist/codex/startup-warnings.d.ts.map +1 -1
- package/dist/codex/startup-warnings.js +6 -0
- package/dist/codex/startup-warnings.js.map +1 -1
- package/dist/codex/transcript/payload.d.ts +8 -0
- package/dist/codex/transcript/payload.d.ts.map +1 -0
- package/dist/codex/transcript/payload.js +11 -0
- package/dist/codex/transcript/payload.js.map +1 -0
- package/dist/codex/transcript/rejection.d.ts +15 -0
- package/dist/codex/transcript/rejection.d.ts.map +1 -0
- package/dist/codex/transcript/rejection.js +44 -0
- package/dist/codex/transcript/rejection.js.map +1 -0
- package/dist/codex/transcript/turn-end.d.ts +8 -0
- package/dist/codex/transcript/turn-end.d.ts.map +1 -0
- package/dist/codex/transcript/turn-end.js +17 -0
- package/dist/codex/transcript/turn-end.js.map +1 -0
- package/dist/codex/transcript/watcher.d.ts +5 -2
- package/dist/codex/transcript/watcher.d.ts.map +1 -1
- package/dist/codex/transcript/watcher.js +11 -6
- package/dist/codex/transcript/watcher.js.map +1 -1
- package/dist/codex/trust-retry.d.ts +12 -0
- package/dist/codex/trust-retry.d.ts.map +1 -0
- package/dist/codex/trust-retry.js +12 -0
- package/dist/codex/trust-retry.js.map +1 -0
- package/dist/codex/update/skip-attempt.d.ts +2 -0
- package/dist/codex/update/skip-attempt.d.ts.map +1 -1
- package/dist/codex/update/skip-attempt.js +4 -0
- package/dist/codex/update/skip-attempt.js.map +1 -1
- package/dist/codex/update/tracker.d.ts +2 -0
- package/dist/codex/update/tracker.d.ts.map +1 -1
- package/dist/codex/update/tracker.js +4 -0
- package/dist/codex/update/tracker.js.map +1 -1
- package/dist/core/delay.d.ts +3 -2
- package/dist/core/delay.d.ts.map +1 -1
- package/dist/core/delay.js +3 -2
- package/dist/core/delay.js.map +1 -1
- package/dist/core/errors.d.ts +33 -4
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +51 -7
- package/dist/core/errors.js.map +1 -1
- package/dist/core/images/materialize.d.ts +13 -4
- package/dist/core/images/materialize.d.ts.map +1 -1
- package/dist/core/images/materialize.js +48 -11
- package/dist/core/images/materialize.js.map +1 -1
- package/dist/core/input/abort.d.ts +15 -0
- package/dist/core/input/abort.d.ts.map +1 -1
- package/dist/core/input/abort.js +18 -2
- package/dist/core/input/abort.js.map +1 -1
- package/dist/core/input/constants.d.ts +4 -1
- package/dist/core/input/constants.d.ts.map +1 -1
- package/dist/core/input/constants.js +4 -1
- package/dist/core/input/constants.js.map +1 -1
- package/dist/core/input/index.d.ts +1 -1
- package/dist/core/input/index.d.ts.map +1 -1
- package/dist/core/input/index.js +1 -1
- package/dist/core/input/index.js.map +1 -1
- package/dist/core/models/clearance.d.ts +38 -0
- package/dist/core/models/clearance.d.ts.map +1 -0
- package/dist/core/models/clearance.js +38 -0
- package/dist/core/models/clearance.js.map +1 -0
- package/dist/core/models/close-wait.d.ts +17 -0
- package/dist/core/models/close-wait.d.ts.map +1 -0
- package/dist/core/models/close-wait.js +44 -0
- package/dist/core/models/close-wait.js.map +1 -0
- package/dist/core/models/dialog-region.d.ts +18 -3
- package/dist/core/models/dialog-region.d.ts.map +1 -1
- package/dist/core/models/dialog-region.js +29 -40
- package/dist/core/models/dialog-region.js.map +1 -1
- package/dist/core/models/input.d.ts +10 -1
- package/dist/core/models/input.d.ts.map +1 -1
- package/dist/core/models/input.js +15 -2
- package/dist/core/models/input.js.map +1 -1
- package/dist/core/models/intervention.d.ts +2 -2
- package/dist/core/models/intervention.d.ts.map +1 -1
- package/dist/core/models/intervention.js +6 -3
- package/dist/core/models/intervention.js.map +1 -1
- package/dist/core/models/own-picker.d.ts +21 -0
- package/dist/core/models/own-picker.d.ts.map +1 -0
- package/dist/core/models/own-picker.js +21 -0
- package/dist/core/models/own-picker.js.map +1 -0
- package/dist/core/models/picker.d.ts +34 -4
- package/dist/core/models/picker.d.ts.map +1 -1
- package/dist/core/models/picker.js +50 -44
- package/dist/core/models/picker.js.map +1 -1
- package/dist/core/models/row-block.d.ts +66 -0
- package/dist/core/models/row-block.d.ts.map +1 -0
- package/dist/core/models/row-block.js +87 -0
- package/dist/core/models/row-block.js.map +1 -0
- package/dist/core/models/rows.d.ts +32 -3
- package/dist/core/models/rows.d.ts.map +1 -1
- package/dist/core/models/rows.js +48 -20
- package/dist/core/models/rows.js.map +1 -1
- package/dist/core/models/tui-screen.d.ts +6 -1
- package/dist/core/models/tui-screen.d.ts.map +1 -1
- package/dist/core/models/tui-screen.js +25 -10
- package/dist/core/models/tui-screen.js.map +1 -1
- package/dist/core/models/window.d.ts +49 -0
- package/dist/core/models/window.d.ts.map +1 -0
- package/dist/core/models/window.js +105 -0
- package/dist/core/models/window.js.map +1 -0
- package/dist/core/path-trust.d.ts +11 -0
- package/dist/core/path-trust.d.ts.map +1 -0
- package/dist/core/path-trust.js +21 -0
- package/dist/core/path-trust.js.map +1 -0
- package/dist/core/screen-facts.d.ts +3 -1
- package/dist/core/screen-facts.d.ts.map +1 -1
- package/dist/core/screen-facts.js +1 -0
- package/dist/core/screen-facts.js.map +1 -1
- package/dist/core/simple/boundary-signal.d.ts +41 -6
- package/dist/core/simple/boundary-signal.d.ts.map +1 -1
- package/dist/core/simple/boundary-signal.js +43 -3
- package/dist/core/simple/boundary-signal.js.map +1 -1
- package/dist/core/simple/close.d.ts +2 -1
- package/dist/core/simple/close.d.ts.map +1 -1
- package/dist/core/simple/close.js +10 -2
- package/dist/core/simple/close.js.map +1 -1
- package/dist/core/simple/turn-boundary.d.ts +2 -0
- package/dist/core/simple/turn-boundary.d.ts.map +1 -1
- package/dist/core/simple/turn-boundary.js +1 -1
- package/dist/core/simple/turn-boundary.js.map +1 -1
- package/dist/core/simple/turn-types.d.ts +9 -3
- package/dist/core/simple/turn-types.d.ts.map +1 -1
- package/dist/core/simple/turn-types.js +10 -2
- package/dist/core/simple/turn-types.js.map +1 -1
- package/dist/core/simple/turn.d.ts +2 -0
- package/dist/core/simple/turn.d.ts.map +1 -1
- package/dist/core/simple/turn.js +11 -5
- package/dist/core/simple/turn.js.map +1 -1
- package/dist/core/terminal-options.d.ts +17 -1
- package/dist/core/terminal-options.d.ts.map +1 -1
- package/dist/core/terminal-options.js +20 -8
- package/dist/core/terminal-options.js.map +1 -1
- package/dist/core/transcript/cursor-io.d.ts +8 -0
- package/dist/core/transcript/cursor-io.d.ts.map +1 -1
- package/dist/core/transcript/cursor-io.js +11 -5
- package/dist/core/transcript/cursor-io.js.map +1 -1
- package/dist/core/transcript/cursor.d.ts +28 -4
- package/dist/core/transcript/cursor.d.ts.map +1 -1
- package/dist/core/transcript/cursor.js +53 -7
- package/dist/core/transcript/cursor.js.map +1 -1
- package/dist/core/transcript/drain.d.ts +43 -0
- package/dist/core/transcript/drain.d.ts.map +1 -0
- package/dist/core/transcript/drain.js +67 -0
- package/dist/core/transcript/drain.js.map +1 -0
- package/dist/core/trust/abortable.d.ts +12 -0
- package/dist/core/trust/abortable.d.ts.map +1 -0
- package/dist/core/trust/abortable.js +48 -0
- package/dist/core/trust/abortable.js.map +1 -0
- package/dist/core/trust/allowlist.d.ts +2 -0
- package/dist/core/trust/allowlist.d.ts.map +1 -1
- package/dist/core/trust/allowlist.js +4 -1
- package/dist/core/trust/allowlist.js.map +1 -1
- package/dist/core/trust/blocking.d.ts +11 -0
- package/dist/core/trust/blocking.d.ts.map +1 -1
- package/dist/core/trust/blocking.js +5 -4
- package/dist/core/trust/blocking.js.map +1 -1
- package/dist/core/trust/copy.d.ts.map +1 -1
- package/dist/core/trust/copy.js +7 -1
- package/dist/core/trust/copy.js.map +1 -1
- package/dist/core/trust/deadline.d.ts +24 -0
- package/dist/core/trust/deadline.d.ts.map +1 -0
- package/dist/core/trust/deadline.js +56 -0
- package/dist/core/trust/deadline.js.map +1 -0
- package/dist/core/trust/dialog.d.ts +11 -2
- package/dist/core/trust/dialog.d.ts.map +1 -1
- package/dist/core/trust/dialog.js +12 -3
- package/dist/core/trust/dialog.js.map +1 -1
- package/dist/core/trust/options.d.ts +5 -1
- package/dist/core/trust/options.d.ts.map +1 -1
- package/dist/core/trust/options.js +8 -2
- package/dist/core/trust/options.js.map +1 -1
- package/dist/core/trust/prompts.d.ts +3 -0
- package/dist/core/trust/prompts.d.ts.map +1 -1
- package/dist/core/trust/prompts.js +2 -1
- package/dist/core/trust/prompts.js.map +1 -1
- package/dist/core/trust/responder.d.ts +10 -5
- package/dist/core/trust/responder.d.ts.map +1 -1
- package/dist/core/trust/responder.js +37 -33
- package/dist/core/trust/responder.js.map +1 -1
- package/dist/core/trust/step.d.ts +67 -0
- package/dist/core/trust/step.d.ts.map +1 -0
- package/dist/core/trust/step.js +45 -0
- package/dist/core/trust/step.js.map +1 -0
- package/dist/core/trust/types.d.ts +21 -1
- package/dist/core/trust/types.d.ts.map +1 -1
- package/dist/core/trust/types.js +25 -1
- package/dist/core/trust/types.js.map +1 -1
- package/dist/core/trust/view.d.ts +2 -0
- package/dist/core/trust/view.d.ts.map +1 -1
- package/dist/core/trust/view.js +3 -0
- package/dist/core/trust/view.js.map +1 -1
- package/dist/core/trust/write.d.ts +31 -6
- package/dist/core/trust/write.d.ts.map +1 -1
- package/dist/core/trust/write.js +95 -80
- package/dist/core/trust/write.js.map +1 -1
- package/dist/core/turn-state.d.ts +18 -4
- package/dist/core/turn-state.d.ts.map +1 -1
- package/dist/core/turn-state.js +47 -25
- package/dist/core/turn-state.js.map +1 -1
- package/dist/core/warnings/images.d.ts +22 -0
- package/dist/core/warnings/images.d.ts.map +1 -0
- package/dist/core/warnings/images.js +3 -0
- package/dist/core/warnings/images.js.map +1 -0
- package/dist/core/warnings/index.d.ts +3 -2
- package/dist/core/warnings/index.d.ts.map +1 -1
- package/dist/core/warnings/lifecycle.d.ts +35 -4
- package/dist/core/warnings/lifecycle.d.ts.map +1 -1
- package/dist/core/warnings/lifecycle.js +1 -1
- package/dist/core/warnings/update.d.ts +8 -4
- package/dist/core/warnings/update.d.ts.map +1 -1
- package/dist/core/warnings/update.js +21 -6
- package/dist/core/warnings/update.js.map +1 -1
- package/dist/pty/exit-latch.d.ts +28 -0
- package/dist/pty/exit-latch.d.ts.map +1 -0
- package/dist/pty/exit-latch.js +50 -0
- package/dist/pty/exit-latch.js.map +1 -0
- package/dist/runtime/exit-status.d.ts +7 -0
- package/dist/runtime/exit-status.d.ts.map +1 -0
- package/dist/runtime/exit-status.js +13 -0
- package/dist/runtime/exit-status.js.map +1 -0
- package/dist/runtime/home-guard/index.d.ts +45 -0
- package/dist/runtime/home-guard/index.d.ts.map +1 -0
- package/dist/runtime/home-guard/index.js +69 -0
- package/dist/runtime/home-guard/index.js.map +1 -0
- package/dist/runtime/loop-restore.d.ts +9 -9
- package/dist/runtime/loop-restore.d.ts.map +1 -1
- package/dist/runtime/loop-restore.js +10 -10
- package/dist/runtime/loop-restore.js.map +1 -1
- package/dist/runtime/probe/capped-buffer.d.ts +16 -0
- package/dist/runtime/probe/capped-buffer.d.ts.map +1 -0
- package/dist/runtime/probe/capped-buffer.js +38 -0
- package/dist/runtime/probe/capped-buffer.js.map +1 -0
- package/dist/runtime/probe/capture.d.ts +55 -0
- package/dist/runtime/probe/capture.d.ts.map +1 -0
- package/dist/runtime/probe/capture.js +71 -0
- package/dist/runtime/probe/capture.js.map +1 -0
- package/dist/runtime/{probe-cleanup.d.ts → probe/cleanup.d.ts} +2 -2
- package/dist/runtime/probe/cleanup.d.ts.map +1 -0
- package/dist/runtime/{probe-cleanup.js → probe/cleanup.js} +3 -3
- package/dist/runtime/probe/cleanup.js.map +1 -0
- package/dist/runtime/probe/directory-key.d.ts +26 -0
- package/dist/runtime/probe/directory-key.d.ts.map +1 -0
- package/dist/runtime/probe/directory-key.js +46 -0
- package/dist/runtime/probe/directory-key.js.map +1 -0
- package/dist/runtime/probe/index.d.ts +25 -0
- package/dist/runtime/probe/index.d.ts.map +1 -0
- package/dist/runtime/probe/index.js +153 -0
- package/dist/runtime/probe/index.js.map +1 -0
- package/dist/runtime/probe/lookup.d.ts +12 -0
- package/dist/runtime/probe/lookup.d.ts.map +1 -0
- package/dist/runtime/probe/lookup.js +29 -0
- package/dist/runtime/probe/lookup.js.map +1 -0
- package/dist/runtime/probe/named-pipes.d.ts +35 -0
- package/dist/runtime/probe/named-pipes.d.ts.map +1 -0
- package/dist/runtime/probe/named-pipes.js +167 -0
- package/dist/runtime/probe/named-pipes.js.map +1 -0
- package/dist/runtime/probe/private-directory.d.ts +14 -0
- package/dist/runtime/probe/private-directory.d.ts.map +1 -0
- package/dist/runtime/probe/private-directory.js +50 -0
- package/dist/runtime/probe/private-directory.js.map +1 -0
- package/dist/runtime/probe/results.d.ts +14 -0
- package/dist/runtime/probe/results.d.ts.map +1 -0
- package/dist/runtime/probe/results.js +38 -0
- package/dist/runtime/probe/results.js.map +1 -0
- package/dist/runtime/probe/slots.d.ts +17 -0
- package/dist/runtime/probe/slots.d.ts.map +1 -0
- package/dist/runtime/probe/slots.js +35 -0
- package/dist/runtime/probe/slots.js.map +1 -0
- package/dist/runtime/probe/start.d.ts +64 -0
- package/dist/runtime/probe/start.d.ts.map +1 -0
- package/dist/runtime/probe/start.js +80 -0
- package/dist/runtime/probe/start.js.map +1 -0
- package/dist/runtime/probe-cache.d.ts +19 -0
- package/dist/runtime/probe-cache.d.ts.map +1 -0
- package/dist/runtime/probe-cache.js +56 -0
- package/dist/runtime/probe-cache.js.map +1 -0
- package/dist/runtime/readiness/initial-ready.d.ts +31 -5
- package/dist/runtime/readiness/initial-ready.d.ts.map +1 -1
- package/dist/runtime/readiness/initial-ready.js +64 -18
- package/dist/runtime/readiness/initial-ready.js.map +1 -1
- package/dist/runtime/seams.d.ts +14 -2
- package/dist/runtime/seams.d.ts.map +1 -1
- package/dist/runtime/seams.js +2 -2
- package/dist/runtime/seams.js.map +1 -1
- package/dist/runtime/session/base.d.ts.map +1 -1
- package/dist/runtime/session/base.js +6 -5
- package/dist/runtime/session/base.js.map +1 -1
- package/dist/runtime/session/commands.d.ts +5 -3
- package/dist/runtime/session/commands.d.ts.map +1 -1
- package/dist/runtime/session/commands.js +5 -2
- package/dist/runtime/session/commands.js.map +1 -1
- package/dist/runtime/session/frames.d.ts +12 -2
- package/dist/runtime/session/frames.d.ts.map +1 -1
- package/dist/runtime/session/frames.js +10 -3
- package/dist/runtime/session/frames.js.map +1 -1
- package/dist/runtime/session/image-attach.js +7 -2
- package/dist/runtime/session/image-attach.js.map +1 -1
- package/dist/runtime/session/launch-directory.d.ts +33 -0
- package/dist/runtime/session/launch-directory.d.ts.map +1 -0
- package/dist/runtime/session/launch-directory.js +84 -0
- package/dist/runtime/session/launch-directory.js.map +1 -0
- package/dist/runtime/session/lifecycle.d.ts +3 -3
- package/dist/runtime/session/lifecycle.d.ts.map +1 -1
- package/dist/runtime/session/lifecycle.js +1 -5
- package/dist/runtime/session/lifecycle.js.map +1 -1
- package/dist/runtime/session/loops.d.ts +1 -1
- package/dist/runtime/session/loops.d.ts.map +1 -1
- package/dist/runtime/session/loops.js +6 -3
- package/dist/runtime/session/loops.js.map +1 -1
- package/dist/runtime/session/picker-cleanup.d.ts +6 -21
- package/dist/runtime/session/picker-cleanup.d.ts.map +1 -1
- package/dist/runtime/session/picker-cleanup.js +19 -31
- package/dist/runtime/session/picker-cleanup.js.map +1 -1
- package/dist/runtime/session/picker-hold.d.ts +24 -0
- package/dist/runtime/session/picker-hold.d.ts.map +1 -0
- package/dist/runtime/session/picker-hold.js +42 -0
- package/dist/runtime/session/picker-hold.js.map +1 -0
- package/dist/runtime/session/picker.d.ts +13 -11
- package/dist/runtime/session/picker.d.ts.map +1 -1
- package/dist/runtime/session/picker.js +46 -24
- package/dist/runtime/session/picker.js.map +1 -1
- package/dist/runtime/session/prepare-state.d.ts +6 -0
- package/dist/runtime/session/prepare-state.d.ts.map +1 -0
- package/dist/runtime/session/prepare-state.js +14 -0
- package/dist/runtime/session/prepare-state.js.map +1 -0
- package/dist/runtime/session/questions.d.ts +2 -2
- package/dist/runtime/session/questions.d.ts.map +1 -1
- package/dist/runtime/session/questions.js.map +1 -1
- package/dist/runtime/session/readiness.d.ts +14 -5
- package/dist/runtime/session/readiness.d.ts.map +1 -1
- package/dist/runtime/session/readiness.js +22 -6
- package/dist/runtime/session/readiness.js.map +1 -1
- package/dist/runtime/session/reap.d.ts +11 -7
- package/dist/runtime/session/reap.d.ts.map +1 -1
- package/dist/runtime/session/reap.js +16 -10
- package/dist/runtime/session/reap.js.map +1 -1
- package/dist/runtime/session/runtime-cleanup.d.ts +18 -0
- package/dist/runtime/session/runtime-cleanup.d.ts.map +1 -0
- package/dist/runtime/session/runtime-cleanup.js +18 -0
- package/dist/runtime/session/runtime-cleanup.js.map +1 -0
- package/dist/runtime/session/session-input.d.ts +32 -0
- package/dist/runtime/session/session-input.d.ts.map +1 -0
- package/dist/runtime/session/{picker-input.js → session-input.js} +35 -7
- package/dist/runtime/session/session-input.js.map +1 -0
- package/dist/runtime/session/shutdown-binding.d.ts +12 -1
- package/dist/runtime/session/shutdown-binding.d.ts.map +1 -1
- package/dist/runtime/session/shutdown-binding.js +33 -1
- package/dist/runtime/session/shutdown-binding.js.map +1 -1
- package/dist/runtime/session/shutdown-cleanup.d.ts +17 -0
- package/dist/runtime/session/shutdown-cleanup.d.ts.map +1 -0
- package/dist/runtime/session/shutdown-cleanup.js +49 -0
- package/dist/runtime/session/shutdown-cleanup.js.map +1 -0
- package/dist/runtime/session/shutdown.d.ts +3 -2
- package/dist/runtime/session/shutdown.d.ts.map +1 -1
- package/dist/runtime/session/shutdown.js +13 -24
- package/dist/runtime/session/shutdown.js.map +1 -1
- package/dist/runtime/shell-quote.d.ts +8 -0
- package/dist/runtime/shell-quote.d.ts.map +1 -0
- package/dist/runtime/shell-quote.js +10 -0
- package/dist/runtime/shell-quote.js.map +1 -0
- package/dist/runtime/shell.d.ts +36 -12
- package/dist/runtime/shell.d.ts.map +1 -1
- package/dist/runtime/shell.js +90 -14
- package/dist/runtime/shell.js.map +1 -1
- package/dist/runtime/shutdown/coalesce.d.ts +15 -0
- package/dist/runtime/shutdown/coalesce.d.ts.map +1 -0
- package/dist/runtime/shutdown/coalesce.js +42 -0
- package/dist/runtime/shutdown/coalesce.js.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/failures.d.ts +24 -0
- package/dist/runtime/shutdown/detached-sweep/failures.d.ts.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/failures.js +32 -0
- package/dist/runtime/shutdown/detached-sweep/failures.js.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/index.d.ts +55 -0
- package/dist/runtime/shutdown/detached-sweep/index.d.ts.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/index.js +129 -0
- package/dist/runtime/shutdown/detached-sweep/index.js.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/kill.d.ts +37 -0
- package/dist/runtime/shutdown/detached-sweep/kill.d.ts.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/kill.js +87 -0
- package/dist/runtime/shutdown/detached-sweep/kill.js.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/record.d.ts +67 -0
- package/dist/runtime/shutdown/detached-sweep/record.d.ts.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/record.js +111 -0
- package/dist/runtime/shutdown/detached-sweep/record.js.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/rounds.d.ts +78 -0
- package/dist/runtime/shutdown/detached-sweep/rounds.d.ts.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/rounds.js +116 -0
- package/dist/runtime/shutdown/detached-sweep/rounds.js.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/survivors.d.ts +40 -0
- package/dist/runtime/shutdown/detached-sweep/survivors.d.ts.map +1 -0
- package/dist/runtime/shutdown/detached-sweep/survivors.js +112 -0
- package/dist/runtime/shutdown/detached-sweep/survivors.js.map +1 -0
- package/dist/runtime/shutdown/leader-group.d.ts +29 -0
- package/dist/runtime/shutdown/leader-group.d.ts.map +1 -0
- package/dist/runtime/shutdown/leader-group.js +35 -0
- package/dist/runtime/shutdown/leader-group.js.map +1 -0
- package/dist/runtime/shutdown/native-read-admission.d.ts +13 -0
- package/dist/runtime/shutdown/native-read-admission.d.ts.map +1 -0
- package/dist/runtime/shutdown/native-read-admission.js +64 -0
- package/dist/runtime/shutdown/native-read-admission.js.map +1 -0
- package/dist/runtime/shutdown/process-table.d.ts +80 -0
- package/dist/runtime/shutdown/process-table.d.ts.map +1 -0
- package/dist/runtime/shutdown/process-table.js +147 -0
- package/dist/runtime/shutdown/process-table.js.map +1 -0
- package/dist/runtime/shutdown/process-tree-ops.d.ts +39 -0
- package/dist/runtime/shutdown/process-tree-ops.d.ts.map +1 -0
- package/dist/runtime/shutdown/process-tree-ops.js +73 -0
- package/dist/runtime/shutdown/process-tree-ops.js.map +1 -0
- package/dist/runtime/shutdown/read-timeout.d.ts +4 -0
- package/dist/runtime/shutdown/read-timeout.d.ts.map +1 -0
- package/dist/runtime/shutdown/read-timeout.js +6 -0
- package/dist/runtime/shutdown/read-timeout.js.map +1 -0
- package/dist/runtime/shutdown/reap-queue.d.ts +10 -0
- package/dist/runtime/shutdown/reap-queue.d.ts.map +1 -0
- package/dist/runtime/shutdown/reap-queue.js +29 -0
- package/dist/runtime/shutdown/reap-queue.js.map +1 -0
- package/dist/runtime/shutdown/reap-tree.d.ts +42 -32
- package/dist/runtime/shutdown/reap-tree.d.ts.map +1 -1
- package/dist/runtime/shutdown/reap-tree.js +78 -71
- package/dist/runtime/shutdown/reap-tree.js.map +1 -1
- package/dist/runtime/shutdown/shared-daemon.d.ts +59 -0
- package/dist/runtime/shutdown/shared-daemon.d.ts.map +1 -0
- package/dist/runtime/shutdown/shared-daemon.js +139 -0
- package/dist/runtime/shutdown/shared-daemon.js.map +1 -0
- package/dist/runtime/shutdown/teardown.d.ts +15 -0
- package/dist/runtime/shutdown/teardown.d.ts.map +1 -1
- package/dist/runtime/shutdown/teardown.js +19 -6
- package/dist/runtime/shutdown/teardown.js.map +1 -1
- package/dist/runtime/shutdown/terminate.d.ts +21 -1
- package/dist/runtime/shutdown/terminate.d.ts.map +1 -1
- package/dist/runtime/shutdown/terminate.js +83 -56
- package/dist/runtime/shutdown/terminate.js.map +1 -1
- package/dist/runtime/startup/buffer.d.ts +26 -7
- package/dist/runtime/startup/buffer.d.ts.map +1 -1
- package/dist/runtime/startup/buffer.js +42 -19
- package/dist/runtime/startup/buffer.js.map +1 -1
- package/dist/runtime/startup/cleanup.d.ts +37 -11
- package/dist/runtime/startup/cleanup.d.ts.map +1 -1
- package/dist/runtime/startup/cleanup.js +55 -25
- package/dist/runtime/startup/cleanup.js.map +1 -1
- package/dist/runtime/startup/index.d.ts +13 -1
- package/dist/runtime/startup/index.d.ts.map +1 -1
- package/dist/runtime/startup/index.js +38 -6
- package/dist/runtime/startup/index.js.map +1 -1
- package/dist/runtime/stream-marker.d.ts +17 -0
- package/dist/runtime/stream-marker.d.ts.map +1 -0
- package/dist/runtime/stream-marker.js +35 -0
- package/dist/runtime/stream-marker.js.map +1 -0
- package/dist/runtime/update/acquire.d.ts +16 -0
- package/dist/runtime/update/acquire.d.ts.map +1 -0
- package/dist/runtime/update/acquire.js +62 -0
- package/dist/runtime/update/acquire.js.map +1 -0
- package/dist/runtime/update/completion.d.ts +12 -0
- package/dist/runtime/update/completion.d.ts.map +1 -0
- package/dist/runtime/update/completion.js +50 -0
- package/dist/runtime/update/completion.js.map +1 -0
- package/dist/runtime/update/lock.d.ts +1 -1
- package/dist/runtime/update/lock.d.ts.map +1 -1
- package/dist/runtime/update/lock.js +21 -38
- package/dist/runtime/update/lock.js.map +1 -1
- package/dist/runtime/update/once.d.ts +16 -13
- package/dist/runtime/update/once.d.ts.map +1 -1
- package/dist/runtime/update/once.js +41 -31
- package/dist/runtime/update/once.js.map +1 -1
- package/dist/runtime/update/owner.js +1 -1
- package/dist/runtime/update/retained-lease.js +1 -1
- package/dist/runtime/update/waiting.d.ts +14 -1
- package/dist/runtime/update/waiting.d.ts.map +1 -1
- package/dist/runtime/update/waiting.js +20 -12
- package/dist/runtime/update/waiting.js.map +1 -1
- package/dist/state/canonical-path.d.ts +5 -0
- package/dist/state/canonical-path.d.ts.map +1 -1
- package/dist/state/canonical-path.js +11 -5
- package/dist/state/canonical-path.js.map +1 -1
- package/dist/state/directories.d.ts +31 -1
- package/dist/state/directories.d.ts.map +1 -1
- package/dist/state/directories.js +75 -13
- package/dist/state/directories.js.map +1 -1
- package/dist/state/files.d.ts +3 -3
- package/dist/state/files.d.ts.map +1 -1
- package/dist/state/files.js +4 -10
- package/dist/state/files.js.map +1 -1
- package/dist/state/launch-ownership.d.ts +4 -2
- package/dist/state/launch-ownership.d.ts.map +1 -1
- package/dist/state/launch-ownership.js +18 -10
- package/dist/state/launch-ownership.js.map +1 -1
- package/dist/state/launch-publication.d.ts +7 -1
- package/dist/state/launch-publication.d.ts.map +1 -1
- package/dist/state/launch-publication.js +14 -2
- package/dist/state/launch-publication.js.map +1 -1
- package/dist/state/loop-store.d.ts +15 -4
- package/dist/state/loop-store.d.ts.map +1 -1
- package/dist/state/loop-store.js +13 -7
- package/dist/state/loop-store.js.map +1 -1
- package/dist/state/preparation/created-directories.d.ts +13 -0
- package/dist/state/preparation/created-directories.d.ts.map +1 -0
- package/dist/state/preparation/created-directories.js +45 -0
- package/dist/state/preparation/created-directories.js.map +1 -0
- package/dist/state/preparation/ignore-sync.d.ts +9 -0
- package/dist/state/preparation/ignore-sync.d.ts.map +1 -0
- package/dist/state/preparation/ignore-sync.js +47 -0
- package/dist/state/preparation/ignore-sync.js.map +1 -0
- package/dist/state/preparation/index.d.ts +25 -0
- package/dist/state/preparation/index.d.ts.map +1 -0
- package/dist/state/preparation/index.js +31 -0
- package/dist/state/preparation/index.js.map +1 -0
- package/dist/state/preparation/install-ignore.d.ts +6 -0
- package/dist/state/preparation/install-ignore.d.ts.map +1 -0
- package/dist/state/preparation/install-ignore.js +87 -0
- package/dist/state/preparation/install-ignore.js.map +1 -0
- package/dist/state/preparation/rollback-parent.d.ts +3 -0
- package/dist/state/preparation/rollback-parent.d.ts.map +1 -0
- package/dist/state/preparation/rollback-parent.js +18 -0
- package/dist/state/preparation/rollback-parent.js.map +1 -0
- package/dist/state/preparation/root-trust.d.ts +3 -0
- package/dist/state/preparation/root-trust.d.ts.map +1 -0
- package/dist/state/preparation/root-trust.js +70 -0
- package/dist/state/preparation/root-trust.js.map +1 -0
- package/dist/state/private-session.d.ts +5 -2
- package/dist/state/private-session.d.ts.map +1 -1
- package/dist/state/private-session.js +21 -9
- package/dist/state/private-session.js.map +1 -1
- package/dist/state/root.d.ts +25 -0
- package/dist/state/root.d.ts.map +1 -0
- package/dist/state/root.js +84 -0
- package/dist/state/root.js.map +1 -0
- package/dist/state/runtime-paths.d.ts +5 -4
- package/dist/state/runtime-paths.d.ts.map +1 -1
- package/dist/state/runtime-paths.js +5 -4
- package/dist/state/runtime-paths.js.map +1 -1
- package/dist/state/setup-failure.d.ts +3 -0
- package/dist/state/setup-failure.d.ts.map +1 -0
- package/dist/state/setup-failure.js +13 -0
- package/dist/state/setup-failure.js.map +1 -0
- package/dist/state/socket-home.d.ts +17 -12
- package/dist/state/socket-home.d.ts.map +1 -1
- package/dist/state/socket-home.js +31 -14
- package/dist/state/socket-home.js.map +1 -1
- package/dist/state/store.d.ts +1 -3
- package/dist/state/store.d.ts.map +1 -1
- package/dist/state/store.js +3 -18
- package/dist/state/store.js.map +1 -1
- package/dist/terminal/headless.d.ts +1 -1
- package/dist/terminal/headless.d.ts.map +1 -1
- package/dist/terminal/headless.js +1 -3
- package/dist/terminal/headless.js.map +1 -1
- package/docs/cli-behavior.md +1218 -28
- package/docs/cli.md +2 -0
- package/docs/codex/cli.md +4 -2
- package/package.json +4 -4
- package/prd/04-architecture.md +32 -0
- package/prd/05-api/5.1-starting-claude.md +17 -1
- package/prd/05-api/5.2-resuming-claude.md +5 -0
- package/prd/05-api/5.3-claude-session-api.md +267 -40
- package/prd/05-api/5.4-events.md +77 -10
- package/prd/05-api/5.5-starting-codex.md +3 -1
- package/prd/05-api/5.6-resuming-codex.md +4 -1
- package/prd/05-api/5.7-codex-session-api.md +87 -5
- package/prd/05-api/5.8-session-api.md +32 -1
- package/prd/06-claude-hook-bridge.md +2 -0
- package/prd/07a-codex-hook-bridge.md +5 -0
- package/prd/08-state.md +63 -7
- package/prd/09-lifecycle.md +126 -35
- package/prd/10-errors.md +11 -4
- package/prd/12-e2e.md +81 -0
- package/prd/12a-cli.md +63 -9
- package/prd/14-conformance.md +52 -35
- package/prd/16-maintainer-review.md +11 -0
- package/dist/claude/model-composer.d.ts +0 -2
- package/dist/claude/model-composer.d.ts.map +0 -1
- package/dist/claude/model-composer.js +0 -12
- package/dist/claude/model-composer.js.map +0 -1
- package/dist/claude/transcript/drain.d.ts +0 -33
- package/dist/claude/transcript/drain.d.ts.map +0 -1
- package/dist/claude/transcript/drain.js +0 -56
- package/dist/claude/transcript/drain.js.map +0 -1
- package/dist/codex/session/cli-exit.d.ts +0 -24
- package/dist/codex/session/cli-exit.d.ts.map +0 -1
- package/dist/codex/session/cli-exit.js +0 -43
- package/dist/codex/session/cli-exit.js.map +0 -1
- package/dist/codex/transcript/drain.d.ts +0 -30
- package/dist/codex/transcript/drain.d.ts.map +0 -1
- package/dist/codex/transcript/drain.js +0 -48
- package/dist/codex/transcript/drain.js.map +0 -1
- package/dist/runtime/probe-cleanup.d.ts.map +0 -1
- package/dist/runtime/probe-cleanup.js.map +0 -1
- package/dist/runtime/probe.d.ts +0 -11
- package/dist/runtime/probe.d.ts.map +0 -1
- package/dist/runtime/probe.js +0 -113
- package/dist/runtime/probe.js.map +0 -1
- package/dist/runtime/session/foreign-picker.d.ts +0 -8
- package/dist/runtime/session/foreign-picker.d.ts.map +0 -1
- package/dist/runtime/session/foreign-picker.js +0 -18
- package/dist/runtime/session/foreign-picker.js.map +0 -1
- package/dist/runtime/session/picker-input.d.ts +0 -17
- package/dist/runtime/session/picker-input.d.ts.map +0 -1
- package/dist/runtime/session/picker-input.js.map +0 -1
|
@@ -2,43 +2,57 @@
|
|
|
2
2
|
* In-memory Codex session object exposed to callers.
|
|
3
3
|
* Implements PRD §5.7, §7A, §8, and §9.
|
|
4
4
|
*/
|
|
5
|
-
import { isPickerIntervention } from "../../core/models/intervention.js";
|
|
6
5
|
import { sessionWaitForActivity, sessionWaitForStatus } from "../../core/session-wait.js";
|
|
7
6
|
import { registerNativeTurnReader } from "../../core/simple/submission-context.js";
|
|
8
7
|
import { emitSessionWarnings } from "../../core/warnings/session.js";
|
|
8
|
+
import { PtyExitLatch } from "../../pty/exit-latch.js";
|
|
9
9
|
import { AgentSessionBase } from "../../runtime/session/base.js";
|
|
10
10
|
import { updateSessionResumeId } from "../../state/store.js";
|
|
11
11
|
import { codexTurnIdentity } from "../accepted-turn.js";
|
|
12
|
-
import {
|
|
13
|
-
import { runCodexModelSwitch } from "../config/transaction.js";
|
|
12
|
+
import { withCodexDefault } from "../config/default-model.js";
|
|
14
13
|
import { attachCodexImages } from "../images/attach.js";
|
|
15
14
|
import { codexModelPicker } from "../model-picker.js";
|
|
16
15
|
import { codexSessionQuestions } from "../questions/session.js";
|
|
17
16
|
import { liveCodexClearance } from "../screen/live-clearance.js";
|
|
18
17
|
import { createCodexRecoveryComposer } from "../screen/staged-input.js";
|
|
18
|
+
import { confirmCodexRejection } from "../transcript/rejection.js";
|
|
19
19
|
import { stopCodexRuntime } from "./cleanup.js";
|
|
20
|
-
import {
|
|
20
|
+
import { switchCodexModel } from "./config-switch.js";
|
|
21
21
|
import { observeCodexInitialReady } from "./initial-ready.js";
|
|
22
|
-
import {
|
|
22
|
+
import { CodexTurnCommit } from "./turn-commit.js";
|
|
23
|
+
import { clipboardRestoreFailedWarning } from "./warnings.js";
|
|
24
|
+
/** How long a setModel interrupted by close waits for the CLI to exit before restoring. */
|
|
25
|
+
const cliExitWaitMs = 5_000;
|
|
23
26
|
export class CodexSessionImpl extends AgentSessionBase {
|
|
27
|
+
// The default and the setModel restore use the config of THIS session's Codex (C-CODEX-24).
|
|
24
28
|
picker = {
|
|
25
29
|
...codexModelPicker,
|
|
26
30
|
isClear: liveCodexClearance(() => this.terminal),
|
|
31
|
+
withDefaults: (options, signal) => withCodexDefault(options, signal, this.resolveConfigPath),
|
|
27
32
|
};
|
|
28
33
|
bridge;
|
|
29
34
|
emitter;
|
|
30
35
|
transcriptWatcher;
|
|
31
36
|
onInitialReady;
|
|
32
37
|
hookReadyObservation;
|
|
33
|
-
|
|
34
|
-
|
|
38
|
+
// The PTY's own exit. Session status cannot stand in for it: shutdown records stopped,
|
|
39
|
+
// killed, and torn_down even when its signal did not take.
|
|
40
|
+
cliExit = new PtyExitLatch(this.pty);
|
|
41
|
+
resolveConfigPath;
|
|
42
|
+
/** Holds `stop`/`teardown` for the turn a `Stop` hook ends to be recorded (C-LIFE-13). */
|
|
43
|
+
turnCommit;
|
|
44
|
+
constructor(record, stateDir, runtime, pty, terminal, bridge, emitter, terminalReplay, transcriptWatcher, loopDefinitions, resolveConfigPath) {
|
|
35
45
|
super("codex", record, stateDir, runtime, pty, terminal, emitter, terminalReplay, loopDefinitions);
|
|
36
46
|
registerNativeTurnReader(this, codexTurnIdentity);
|
|
37
47
|
this.configureQuestions((registry) => codexSessionQuestions(registry, this.elwoodSessionId, emitter));
|
|
38
48
|
this.bridge = bridge;
|
|
39
49
|
this.emitter = emitter;
|
|
40
50
|
this.transcriptWatcher = transcriptWatcher;
|
|
41
|
-
this.
|
|
51
|
+
this.turnCommit = new CodexTurnCommit(() => transcriptWatcher?.poll(), this.cliExit, this);
|
|
52
|
+
this.resolveConfigPath = resolveConfigPath;
|
|
53
|
+
// Codex fires no `Stop` for a turn it rejects; its failed `task_complete` ends it (C-API-60).
|
|
54
|
+
emitter.on("codex:transcript", ({ item }) => confirmCodexRejection(this, item));
|
|
55
|
+
emitter.on("codex:transcript", (event) => this.turnCommit.observe(event.item));
|
|
42
56
|
}
|
|
43
57
|
on(event, handler) {
|
|
44
58
|
// REGISTER before replaying buffered `terminal:data` (mirrors Claude): a throwing replay
|
|
@@ -47,41 +61,24 @@ export class CodexSessionImpl extends AgentSessionBase {
|
|
|
47
61
|
this.replayFor(event, handler);
|
|
48
62
|
return unsubscribe;
|
|
49
63
|
}
|
|
50
|
-
// Restore the user's config default after picker changes; the live CLI retains
|
|
51
|
-
// its selection. The process-wide transaction lock prevents interleaved snapshots
|
|
52
|
-
// and restores even when automation rejects after Codex writes (C-CODEX-14).
|
|
53
64
|
setModel(id, options) {
|
|
54
65
|
// The queue slot is claimed FIRST (by `super.setModel`), and the config transaction
|
|
55
66
|
// runs inside it via `around`. Reversing that let a following `sendMessage` dispatch
|
|
56
67
|
// while this call was still waiting for another session's lock, sending under the old
|
|
57
68
|
// model — a FIFO violation the slot exists to prevent.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
69
|
+
const session = {
|
|
70
|
+
elwoodSessionId: this.elwoodSessionId,
|
|
71
|
+
resolveConfigPath: this.resolveConfigPath,
|
|
61
72
|
waitForCliExit: () => this.waitForCliExit(),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
69
|
-
// A closing session rejects the picker at once, while the dying CLI can still persist
|
|
70
|
-
// the selection it had confirmed, so the restore waits on the PTY's own exit.
|
|
73
|
+
emitWarnings: (warnings) => this.emitWarnings(warnings),
|
|
74
|
+
};
|
|
75
|
+
return super.setModel(id, options, (flow, signal) => switchCodexModel(session, flow, signal));
|
|
76
|
+
}
|
|
77
|
+
// A closing session's dying CLI can still persist a confirmed selection: await its exit.
|
|
71
78
|
waitForCliExit() {
|
|
72
79
|
if (!this.closing.signal.aborted)
|
|
73
80
|
return undefined;
|
|
74
|
-
return this.cliExit.
|
|
75
|
-
}
|
|
76
|
-
restoreCodexDefault(snapshot, reason) {
|
|
77
|
-
const outcome = isPickerIntervention(reason)
|
|
78
|
-
? snapshotCodexConfig() === snapshot
|
|
79
|
-
? "unchanged"
|
|
80
|
-
: "interrupted"
|
|
81
|
-
: restoreCodexConfig(snapshot);
|
|
82
|
-
if (outcome === "restored" || outcome === "unchanged")
|
|
83
|
-
return;
|
|
84
|
-
this.emitWarnings([codexRestoreSkippedWarning(this.elwoodSessionId, outcome)]);
|
|
81
|
+
return this.cliExit.within(cliExitWaitMs, { unref: true }); // never holds the host open
|
|
85
82
|
}
|
|
86
83
|
off(event, handler) {
|
|
87
84
|
this.emitter.off(event, handler);
|
|
@@ -128,10 +125,18 @@ export class CodexSessionImpl extends AgentSessionBase {
|
|
|
128
125
|
if (path)
|
|
129
126
|
this.transcriptWatcher?.observe(path);
|
|
130
127
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this.
|
|
128
|
+
stop() {
|
|
129
|
+
this.closing.abort();
|
|
130
|
+
this.loops.pause();
|
|
131
|
+
return this.turnCommit.beforeShutdown(() => super.stop());
|
|
134
132
|
}
|
|
133
|
+
teardown() {
|
|
134
|
+
this.closing.abort();
|
|
135
|
+
this.loops.prepareClear();
|
|
136
|
+
return this.turnCommit.beforeShutdown(() => super.teardown());
|
|
137
|
+
}
|
|
138
|
+
/** One bounded per-pass scan of the committed transcript (an unblocked `Stop`, §7A.3). */
|
|
139
|
+
scanTranscript = () => this.transcriptWatcher?.scan();
|
|
135
140
|
emitWarnings(warnings) {
|
|
136
141
|
// No cast: each callback is the emitter's own `emit` bound to a correlated
|
|
137
142
|
// event name, so a map/payload drift is a compile error here.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance.js","sourceRoot":"","sources":["../../../src/codex/session/instance.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"instance.js","sourceRoot":"","sources":["../../../src/codex/session/instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex's initial-readiness gate: its deadline needs the configured composer (the model
|
|
3
|
+
* footer), and a release by the backstop without one is reported as a content-free
|
|
4
|
+
* `initial_ready_backstop` warning (PRD §5.3, §5.7, C-API-28).
|
|
5
|
+
*/
|
|
6
|
+
import type { InitialReadyBackstopWarning } from "../../core/warnings/lifecycle.ts";
|
|
7
|
+
import { type ReadinessGate } from "../../runtime/session/readiness.ts";
|
|
8
|
+
export declare function createCodexReadinessGate(onReady: () => void, resumed: boolean, elwoodSessionId: string, warnings: {
|
|
9
|
+
emitWarnings(warnings: readonly InitialReadyBackstopWarning[]): void;
|
|
10
|
+
}): ReadinessGate;
|
|
11
|
+
//# sourceMappingURL=readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../../src/codex/session/readiness.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAEpF,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAG7F,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,IAAI,EACnB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE;IAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,2BAA2B,EAAE,GAAG,IAAI,CAAA;CAAE,GACjF,aAAa,CAKf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { initialBackstopMs } from "../../runtime/readiness/initial-ready.js";
|
|
2
|
+
import { createReadinessGate } from "../../runtime/session/readiness.js";
|
|
3
|
+
import { codexComposerConfigured } from "../screen/clearance.js";
|
|
4
|
+
export function createCodexReadinessGate(onReady, resumed, elwoodSessionId, warnings) {
|
|
5
|
+
return createReadinessGate(onReady, resumed, {
|
|
6
|
+
configured: codexComposerConfigured,
|
|
7
|
+
onBackstopRelease: () => warnings.emitWarnings([backstopWarning(elwoodSessionId)]),
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
/** Live-only and content-free: it names the missing evidence, never the screen. */
|
|
11
|
+
function backstopWarning(elwoodSessionId) {
|
|
12
|
+
return {
|
|
13
|
+
elwoodSessionId,
|
|
14
|
+
agent: "codex",
|
|
15
|
+
source: "lifecycle",
|
|
16
|
+
code: "initial_ready_backstop",
|
|
17
|
+
severity: "warning",
|
|
18
|
+
message: `No configured Codex composer was recognized within ${initialBackstopMs / 1_000} seconds of the first frame; readiness was released without it.`,
|
|
19
|
+
raw: "initial_ready_backstop",
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=readiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../src/codex/session/readiness.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAsB,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,UAAU,wBAAwB,CACtC,OAAmB,EACnB,OAAgB,EAChB,eAAuB,EACvB,QAAkF;IAElF,OAAO,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE;QAC3C,UAAU,EAAE,uBAAuB;QACnC,iBAAiB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;KACnF,CAAC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,SAAS,eAAe,CAAC,eAAuB;IAC9C,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,sDAAsD,iBAAiB,GAAG,KAAK,iEAAiE;QACzJ,GAAG,EAAE,wBAAwB;KAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/codex/session/resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/codex/session/resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAsB,WAAW,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA8D1F"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { elwoodError } from "../../core/errors.js";
|
|
6
6
|
import { applyCodexHighTrust } from "../../core/high-trust.js";
|
|
7
|
+
import { assertLaunchDirectory, recheckLaunchDirectoryOnFailure, } from "../../runtime/session/launch-directory.js";
|
|
7
8
|
import { canonicalStatePath } from "../../state/canonical-path.js";
|
|
8
9
|
import { reserveLaunchOwnership } from "../../state/launch-ownership.js";
|
|
9
10
|
import { codexLaunchPosture, effectivePosture, withCodexLaunch, } from "../../state/launch-posture.js";
|
|
@@ -22,16 +23,20 @@ export async function resumeCodex(rawOptions) {
|
|
|
22
23
|
throw elwoodError("adapter_mismatch", "Cannot resume a non-Codex session as Codex.");
|
|
23
24
|
if (!record.codex.resumeId)
|
|
24
25
|
throw elwoodError("resume_unavailable", "Cannot resume Codex without a Codex session id.");
|
|
26
|
+
// Reserved before the first `await`: a teardown already running must see this successor
|
|
27
|
+
// before it decides which shared state to remove (C-API-20).
|
|
25
28
|
const ownership = reserveLaunchOwnership(sessionDir(stateDir, record.elwoodSessionId));
|
|
26
29
|
try {
|
|
27
|
-
|
|
30
|
+
// Codex relaunches where the session started (`--cd`); `cwd` only locates the state.
|
|
31
|
+
await assertLaunchDirectory("codex", record.cwd);
|
|
32
|
+
const warning = await recheckLaunchDirectoryOnFailure("codex", record.cwd, () => preflight.preflightCodex(options.strictVersionCheck ?? false, options.autoupdate ?? false, record.cwd));
|
|
28
33
|
// Resume defaults to the posture this session launched with; explicit options
|
|
29
34
|
// override field by field, and the effective posture is re-persisted (C-API-32,
|
|
30
35
|
// C-STATE-13). Terminal size is not persisted: it falls back to options.initialSize.
|
|
31
36
|
const launch = effectivePosture(record.codex.launch, codexLaunchPosture(options));
|
|
32
37
|
const resumedRecord = withCodexLaunch(record, launch);
|
|
33
|
-
const session = await startCodexFromRecord(resumedRecord, stateDir, {
|
|
34
|
-
cwd:
|
|
38
|
+
const session = await recheckLaunchDirectoryOnFailure("codex", record.cwd, () => startCodexFromRecord(resumedRecord, stateDir, {
|
|
39
|
+
cwd: record.cwd, // where Codex relaunches; `options.cwd` only located the state
|
|
35
40
|
stateDir,
|
|
36
41
|
...(options.hooks === undefined ? {} : { hooks: options.hooks }),
|
|
37
42
|
...(options.initialSize === undefined ? {} : { initialSize: options.initialSize }),
|
|
@@ -46,7 +51,7 @@ export async function resumeCodex(rawOptions) {
|
|
|
46
51
|
? {}
|
|
47
52
|
: { strictVersionCheck: options.strictVersionCheck }),
|
|
48
53
|
}, true, // resumed: mark ready on the first composer marker, not the 10s deadline
|
|
49
|
-
warning, ownership);
|
|
54
|
+
warning, ownership));
|
|
50
55
|
return session;
|
|
51
56
|
}
|
|
52
57
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/codex/session/resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAA8B;IAC9D,iFAAiF;IACjF,sEAAsE;IACtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChD,mFAAmF;IACnF,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,kBAAkB,CACjC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAClE,CAAC;IACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;QAC5B,MAAM,WAAW,CAAC,kBAAkB,EAAE,6CAA6C,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACxB,MAAM,WAAW,CAAC,oBAAoB,EAAE,iDAAiD,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/codex/session/resume.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../../src/codex/session/transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../../src/codex/session/transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EACL,sBAAsB,EAIvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,yFAAyF;AACzF,KAAK,2BAA2B,GAAG;IACjC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAC1C;2FACuF;IACvF,QAAQ,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,YAAY,CAAC,aAAa,CAAC,EACpC,OAAO,EAAE,MAAM,qBAAqB,GAAG,SAAS,GAC/C,2BAA2B,CAsF7B"}
|
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import * as activity from "../../core/activity/index.js";
|
|
11
11
|
import { createTranscriptWarningRouter, } from "../../core/transcript/warning-router.js";
|
|
12
|
+
import { CodexClipboardCopies } from "../images/clipboard-copies.js";
|
|
12
13
|
import { CodexTranscriptWatcher, codexDropWarning, codexPollStoppedWarning, codexReadErrorWarning, } from "../transcript/index.js";
|
|
14
|
+
import { imageCopyRemovalFailedWarning } from "./warnings.js";
|
|
13
15
|
/**
|
|
14
16
|
* Builds the transcript watcher, routing content-free drop/read-error notices to
|
|
15
17
|
* the session's warning sink. Notices seen before `getSink()` resolves are held in
|
|
@@ -58,7 +60,9 @@ export function createCodexTranscriptWatcher(elwoodSessionId, emitter, getSink)
|
|
|
58
60
|
}));
|
|
59
61
|
}
|
|
60
62
|
}
|
|
63
|
+
const clipboardCopies = new CodexClipboardCopies();
|
|
61
64
|
const watcher = new CodexTranscriptWatcher(elwoodSessionId, (event) => duringDelivery(() => {
|
|
65
|
+
clipboardCopies.observe(event.item);
|
|
62
66
|
deliver("codex:transcript", event);
|
|
63
67
|
deliver("activity", activity.activityFromCodexTranscript(event));
|
|
64
68
|
}), {
|
|
@@ -88,7 +92,14 @@ export function createCodexTranscriptWatcher(elwoodSessionId, emitter, getSink)
|
|
|
88
92
|
catch { } // a diagnostic-listener bug must not block lifecycle completion
|
|
89
93
|
}
|
|
90
94
|
finally {
|
|
91
|
-
|
|
95
|
+
// The CLI has exited and the flush has read its last records: remove the image
|
|
96
|
+
// copies they named, and report one that stays, before finishing the exit (C-API-46).
|
|
97
|
+
clipboardCopies.removeAll((failure) => {
|
|
98
|
+
// `route` contains a throwing listener, so the exit always finishes.
|
|
99
|
+
if (failure !== undefined)
|
|
100
|
+
route(imageCopyRemovalFailedWarning(elwoodSessionId, failure));
|
|
101
|
+
afterFlush();
|
|
102
|
+
});
|
|
92
103
|
}
|
|
93
104
|
};
|
|
94
105
|
return { watcher, duringDelivery, flushPendingWarnings, finishSafely };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../../src/codex/session/transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACL,6BAA6B,GAE9B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../../src/codex/session/transcript.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gives Codex a bounded time to record the turn its `Stop` hook ended before a graceful
|
|
3
|
+
* shutdown signals it. Implements PRD §5.7 (shutting down after a Codex turn) and C-LIFE-13.
|
|
4
|
+
*
|
|
5
|
+
* Codex runs the `Stop` hook before it records the turn's completion in its transcript,
|
|
6
|
+
* and Elwood reports `ready` from that hook. Codex 0.164.0 signaled after the hook returns
|
|
7
|
+
* but before that record is written exits without it, and the resumed conversation then
|
|
8
|
+
* ends in "Conversation interrupted" (docs/cli-behavior.md, "Resume lifecycle"). The wait
|
|
9
|
+
* also ends when the CLI exits or after `turnCommitWaitMs`; shutdown then proceeds, and a
|
|
10
|
+
* turn Codex has still not recorded can be lost, which the session is warned of.
|
|
11
|
+
*/
|
|
12
|
+
import type { ElwoodWarningEvent } from "../../core/types.ts";
|
|
13
|
+
import type { PtyExitLatch } from "../../pty/exit-latch.ts";
|
|
14
|
+
/** The longest `stop`/`teardown` wait for the record before signaling anyway. */
|
|
15
|
+
export declare const turnCommitWaitMs = 2000;
|
|
16
|
+
/** The session a wait the bound ended is reported to, as `turn_commit_wait_expired`. */
|
|
17
|
+
type ExpiryReport = {
|
|
18
|
+
readonly elwoodSessionId: string;
|
|
19
|
+
emitWarnings(warnings: readonly ElwoodWarningEvent[]): void;
|
|
20
|
+
};
|
|
21
|
+
export declare class CodexTurnCommit {
|
|
22
|
+
private pending;
|
|
23
|
+
private readonly poll;
|
|
24
|
+
private readonly cliExit;
|
|
25
|
+
private readonly session;
|
|
26
|
+
/**
|
|
27
|
+
* `poll` reads newly committed transcript items into `observe` and contains its own
|
|
28
|
+
* failures. `cliExit` is the session's shared latch on the CLI's exit; `session` is
|
|
29
|
+
* warned when the bound ends the wait.
|
|
30
|
+
*/
|
|
31
|
+
constructor(poll: () => void, cliExit: Pick<PtyExitLatch, "within">, session: ExpiryReport);
|
|
32
|
+
/**
|
|
33
|
+
* A `Stop` hook for `turnId` arrived. Registered before any observer of that hook runs,
|
|
34
|
+
* since an observer may shut the session down at once.
|
|
35
|
+
*/
|
|
36
|
+
expect(turnId: string): void;
|
|
37
|
+
/** Ends the wait for `turnId`: its end was recorded, or its `Stop` was blocked. */
|
|
38
|
+
release(turnId: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Reads one committed transcript item. Only a turn-end record carrying the pending
|
|
41
|
+
* turn's id releases the wait: every captured end record carries one, and a record
|
|
42
|
+
* without it could be an older turn's backlog.
|
|
43
|
+
*/
|
|
44
|
+
observe(item: unknown): void;
|
|
45
|
+
/**
|
|
46
|
+
* Runs `shutdown` once the pending turn is recorded, its `Stop` is blocked, the CLI
|
|
47
|
+
* exits, or `turnCommitWaitMs` passes, re-reading the transcript meanwhile. With no
|
|
48
|
+
* turn pending, `shutdown` starts in the same tick. A turn not recorded within the
|
|
49
|
+
* bound is reported to the session once and not waited for again. Callers close
|
|
50
|
+
* queued input and loops first: only the signal waits for the record.
|
|
51
|
+
*/
|
|
52
|
+
beforeShutdown(shutdown: () => Promise<void>): Promise<void>;
|
|
53
|
+
private waitFor;
|
|
54
|
+
/** A throwing listener of the warning must not keep Codex running. */
|
|
55
|
+
private reportExpired;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=turn-commit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-commit.d.ts","sourceRoot":"","sources":["../../../src/codex/session/turn-commit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAK5D,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAatC,wFAAwF;AACxF,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAAC;CAC7D,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC;;;;OAIG;gBACS,IAAI,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY;IAM1F;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B,mFAAmF;IACnF,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO7B;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAM5B;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D,OAAO,CAAC,OAAO;IAWf,sEAAsE;IACtE,OAAO,CAAC,aAAa;CAMtB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gives Codex a bounded time to record the turn its `Stop` hook ended before a graceful
|
|
3
|
+
* shutdown signals it. Implements PRD §5.7 (shutting down after a Codex turn) and C-LIFE-13.
|
|
4
|
+
*
|
|
5
|
+
* Codex runs the `Stop` hook before it records the turn's completion in its transcript,
|
|
6
|
+
* and Elwood reports `ready` from that hook. Codex 0.164.0 signaled after the hook returns
|
|
7
|
+
* but before that record is written exits without it, and the resumed conversation then
|
|
8
|
+
* ends in "Conversation interrupted" (docs/cli-behavior.md, "Resume lifecycle"). The wait
|
|
9
|
+
* also ends when the CLI exits or after `turnCommitWaitMs`; shutdown then proceeds, and a
|
|
10
|
+
* turn Codex has still not recorded can be lost, which the session is warned of.
|
|
11
|
+
*/
|
|
12
|
+
import { outsideStopInput } from "../../core/stop-input.js";
|
|
13
|
+
import { payloadOf } from "../transcript/payload.js";
|
|
14
|
+
import { isTurnEndPayload } from "../transcript/turn-end.js";
|
|
15
|
+
import { turnCommitWaitExpiredWarning } from "./warnings.js";
|
|
16
|
+
/** The longest `stop`/`teardown` wait for the record before signaling anyway. */
|
|
17
|
+
export const turnCommitWaitMs = 2_000;
|
|
18
|
+
/** Transcript re-read cadence while waiting; the watcher's own poll is 250 ms. */
|
|
19
|
+
const turnCommitPollMs = 20;
|
|
20
|
+
export class CodexTurnCommit {
|
|
21
|
+
pending;
|
|
22
|
+
poll;
|
|
23
|
+
cliExit;
|
|
24
|
+
session;
|
|
25
|
+
/**
|
|
26
|
+
* `poll` reads newly committed transcript items into `observe` and contains its own
|
|
27
|
+
* failures. `cliExit` is the session's shared latch on the CLI's exit; `session` is
|
|
28
|
+
* warned when the bound ends the wait.
|
|
29
|
+
*/
|
|
30
|
+
constructor(poll, cliExit, session) {
|
|
31
|
+
this.poll = poll;
|
|
32
|
+
this.cliExit = cliExit;
|
|
33
|
+
this.session = session;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A `Stop` hook for `turnId` arrived. Registered before any observer of that hook runs,
|
|
37
|
+
* since an observer may shut the session down at once.
|
|
38
|
+
*/
|
|
39
|
+
expect(turnId) {
|
|
40
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
41
|
+
this.pending = { turnId, waitFinished: promise, release: resolve };
|
|
42
|
+
}
|
|
43
|
+
/** Ends the wait for `turnId`: its end was recorded, or its `Stop` was blocked. */
|
|
44
|
+
release(turnId) {
|
|
45
|
+
const pending = this.pending;
|
|
46
|
+
if (pending?.turnId !== turnId)
|
|
47
|
+
return;
|
|
48
|
+
this.pending = undefined;
|
|
49
|
+
pending.release();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reads one committed transcript item. Only a turn-end record carrying the pending
|
|
53
|
+
* turn's id releases the wait: every captured end record carries one, and a record
|
|
54
|
+
* without it could be an older turn's backlog.
|
|
55
|
+
*/
|
|
56
|
+
observe(item) {
|
|
57
|
+
const payload = payloadOf(item);
|
|
58
|
+
const turnId = payload?.["turn_id"];
|
|
59
|
+
if (payload && isTurnEndPayload(payload) && typeof turnId === "string")
|
|
60
|
+
this.release(turnId);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Runs `shutdown` once the pending turn is recorded, its `Stop` is blocked, the CLI
|
|
64
|
+
* exits, or `turnCommitWaitMs` passes, re-reading the transcript meanwhile. With no
|
|
65
|
+
* turn pending, `shutdown` starts in the same tick. A turn not recorded within the
|
|
66
|
+
* bound is reported to the session once and not waited for again. Callers close
|
|
67
|
+
* queued input and loops first: only the signal waits for the record.
|
|
68
|
+
*/
|
|
69
|
+
beforeShutdown(shutdown) {
|
|
70
|
+
const pending = this.pending;
|
|
71
|
+
if (!pending)
|
|
72
|
+
return shutdown();
|
|
73
|
+
pending.wait ??= this.waitFor(pending);
|
|
74
|
+
return pending.wait.then(shutdown);
|
|
75
|
+
}
|
|
76
|
+
waitFor(pending) {
|
|
77
|
+
// Internal work outlives a Stop callback that called `stop()` (C-HOOK-22).
|
|
78
|
+
const poll = outsideStopInput(() => setInterval(this.poll, turnCommitPollMs));
|
|
79
|
+
const released = pending.waitFinished.then(() => true);
|
|
80
|
+
return Promise.race([released, this.cliExit.within(turnCommitWaitMs)]).then((ended) => {
|
|
81
|
+
clearInterval(poll);
|
|
82
|
+
if (this.pending === pending)
|
|
83
|
+
this.pending = undefined;
|
|
84
|
+
if (!ended)
|
|
85
|
+
this.reportExpired();
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/** A throwing listener of the warning must not keep Codex running. */
|
|
89
|
+
reportExpired() {
|
|
90
|
+
const warning = turnCommitWaitExpiredWarning(this.session.elwoodSessionId, turnCommitWaitMs);
|
|
91
|
+
try {
|
|
92
|
+
this.session.emitWarnings([warning]);
|
|
93
|
+
}
|
|
94
|
+
catch { } // the warning's listeners failed; the shutdown still proceeds
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=turn-commit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-commit.js","sourceRoot":"","sources":["../../../src/codex/session/turn-commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Builders for the Codex session's lifecycle warnings: the config.toml restore
|
|
3
|
-
* outcomes after a model switch (PRD §5.3, C-CODEX-14)
|
|
4
|
-
* failure after an image attach (§5.3, C-API-46)
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* outcomes after a model switch (PRD §5.3, C-CODEX-14), the clipboard-restore
|
|
4
|
+
* failure after an image attach and a pasted image's copy left after exit (§5.3, C-API-46),
|
|
5
|
+
* and a shutdown that signaled Codex
|
|
6
|
+
* before it recorded the ended turn (§5.7, C-LIFE-13). Every warning is live-only
|
|
7
|
+
* (§5.7) and content-free: `raw` carries a path, a fixed token, or a bounded errno
|
|
8
|
+
* code, never config contents, clipboard data, or a raw error message.
|
|
7
9
|
*/
|
|
8
10
|
import type { ElwoodWarningEvent } from "../../core/types.ts";
|
|
11
|
+
import type { ImageCopyErrorCode, ImageCopyRemovalFailedWarning } from "../../core/warnings/images.ts";
|
|
9
12
|
type RestoreWarning = Extract<ElwoodWarningEvent, {
|
|
10
13
|
readonly code: "codex_default_model_persisted";
|
|
11
14
|
}>;
|
|
@@ -15,14 +18,18 @@ declare const restoreSkippedMessages: {
|
|
|
15
18
|
readonly no_snapshot: "Codex persisted the picker selection as the user's default model in a config.toml that did not exist before the switch; Elwood left the new file in place because there was no prior config to restore.";
|
|
16
19
|
};
|
|
17
20
|
/** No restore: concurrent edits, raw takeover, or no prior snapshot left the default in place. */
|
|
18
|
-
export declare function codexRestoreSkippedWarning(elwoodSessionId: string, outcome: keyof typeof restoreSkippedMessages): RestoreWarning;
|
|
21
|
+
export declare function codexRestoreSkippedWarning(elwoodSessionId: string, outcome: keyof typeof restoreSkippedMessages, configPath: string): RestoreWarning;
|
|
19
22
|
/**
|
|
20
23
|
* Both the picker automation and the config restore failed: the primary error is
|
|
21
24
|
* preserved to the caller, so the swallowed restore failure is surfaced as a bounded
|
|
22
25
|
* diagnostic — otherwise the user gets no signal that config.toml may stay mutated.
|
|
23
26
|
*/
|
|
24
|
-
export declare function codexRestoreFailedWarning(elwoodSessionId: string, error: unknown): RestoreWarning;
|
|
27
|
+
export declare function codexRestoreFailedWarning(elwoodSessionId: string, error: unknown, configPath: string): RestoreWarning;
|
|
25
28
|
/** The clipboard text could not be restored after an image attach (content-free). */
|
|
26
29
|
export declare function clipboardRestoreFailedWarning(elwoodSessionId: string): ElwoodWarningEvent;
|
|
30
|
+
/** A copy Codex saved of a pasted image could not be removed (C-API-46). */
|
|
31
|
+
export declare function imageCopyRemovalFailedWarning(elwoodSessionId: string, errorCode: ImageCopyErrorCode): ImageCopyRemovalFailedWarning;
|
|
32
|
+
/** `stop`/`teardown` stopped waiting `waitMs` for the ended turn's record; shutdown proceeds. */
|
|
33
|
+
export declare function turnCommitWaitExpiredWarning(elwoodSessionId: string, waitMs: number): ElwoodWarningEvent;
|
|
27
34
|
export {};
|
|
28
35
|
//# sourceMappingURL=warnings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../../src/codex/session/warnings.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../../src/codex/session/warnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,+BAA+B,CAAC;AAIvC,KAAK,cAAc,GAAG,OAAO,CAC3B,kBAAkB,EAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAA;CAAE,CACnD,CAAC;AAEF,QAAA,MAAM,sBAAsB;;;;CAOlB,CAAC;AAEX,kGAAkG;AAClG,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,OAAO,sBAAsB,EAC5C,UAAU,EAAE,MAAM,GACjB,cAAc,CAUhB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,GACjB,cAAc,CAWhB;AAED,qFAAqF;AACrF,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,GAAG,kBAAkB,CAUzF;AAED,4EAA4E;AAC5E,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,kBAAkB,GAC5B,6BAA6B,CAW/B;AAED,iGAAiG;AACjG,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,GACb,kBAAkB,CAUpB"}
|