@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
|
@@ -1,11 +1,13 @@
|
|
|
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
|
-
import {
|
|
10
|
+
import { restoreFailureRaw } from "../config/restore.js";
|
|
9
11
|
import { CLIPBOARD_RESTORE_FAILED_MESSAGE } from "../images/clipboard.js";
|
|
10
12
|
const restoreSkippedMessages = {
|
|
11
13
|
interrupted: "Raw input took over the model picker; Elwood left changed model defaults in place because it could no longer attribute the change to its own operation.",
|
|
@@ -13,7 +15,7 @@ const restoreSkippedMessages = {
|
|
|
13
15
|
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.",
|
|
14
16
|
};
|
|
15
17
|
/** No restore: concurrent edits, raw takeover, or no prior snapshot left the default in place. */
|
|
16
|
-
export function codexRestoreSkippedWarning(elwoodSessionId, outcome) {
|
|
18
|
+
export function codexRestoreSkippedWarning(elwoodSessionId, outcome, configPath) {
|
|
17
19
|
return {
|
|
18
20
|
elwoodSessionId,
|
|
19
21
|
agent: "codex",
|
|
@@ -21,7 +23,7 @@ export function codexRestoreSkippedWarning(elwoodSessionId, outcome) {
|
|
|
21
23
|
code: "codex_default_model_persisted",
|
|
22
24
|
severity: "warning",
|
|
23
25
|
message: restoreSkippedMessages[outcome],
|
|
24
|
-
raw:
|
|
26
|
+
raw: configPath,
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
@@ -29,7 +31,7 @@ export function codexRestoreSkippedWarning(elwoodSessionId, outcome) {
|
|
|
29
31
|
* preserved to the caller, so the swallowed restore failure is surfaced as a bounded
|
|
30
32
|
* diagnostic — otherwise the user gets no signal that config.toml may stay mutated.
|
|
31
33
|
*/
|
|
32
|
-
export function codexRestoreFailedWarning(elwoodSessionId, error) {
|
|
34
|
+
export function codexRestoreFailedWarning(elwoodSessionId, error, configPath) {
|
|
33
35
|
return {
|
|
34
36
|
elwoodSessionId,
|
|
35
37
|
agent: "codex",
|
|
@@ -37,7 +39,7 @@ export function codexRestoreFailedWarning(elwoodSessionId, error) {
|
|
|
37
39
|
code: "codex_default_model_persisted",
|
|
38
40
|
severity: "warning",
|
|
39
41
|
message: "Codex may have persisted the picker selection as the user's default model: the model switch failed and restoring config.toml also failed.",
|
|
40
|
-
raw: restoreFailureRaw(
|
|
42
|
+
raw: restoreFailureRaw(configPath, error),
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
/** The clipboard text could not be restored after an image attach (content-free). */
|
|
@@ -52,4 +54,29 @@ export function clipboardRestoreFailedWarning(elwoodSessionId) {
|
|
|
52
54
|
raw: "clipboard_restore_failed",
|
|
53
55
|
};
|
|
54
56
|
}
|
|
57
|
+
/** A copy Codex saved of a pasted image could not be removed (C-API-46). */
|
|
58
|
+
export function imageCopyRemovalFailedWarning(elwoodSessionId, errorCode) {
|
|
59
|
+
return {
|
|
60
|
+
elwoodSessionId,
|
|
61
|
+
agent: "codex",
|
|
62
|
+
source: "lifecycle",
|
|
63
|
+
code: "image_copy_removal_failed",
|
|
64
|
+
severity: "warning",
|
|
65
|
+
message: `Could not remove a temp copy Codex saved of a pasted image (${errorCode}); it is left for the OS to reap.`,
|
|
66
|
+
errorCode,
|
|
67
|
+
raw: `image_copy_removal_failed code=${errorCode}`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/** `stop`/`teardown` stopped waiting `waitMs` for the ended turn's record; shutdown proceeds. */
|
|
71
|
+
export function turnCommitWaitExpiredWarning(elwoodSessionId, waitMs) {
|
|
72
|
+
return {
|
|
73
|
+
elwoodSessionId,
|
|
74
|
+
agent: "codex",
|
|
75
|
+
source: "lifecycle",
|
|
76
|
+
code: "turn_commit_wait_expired",
|
|
77
|
+
severity: "warning",
|
|
78
|
+
message: `Elwood did not see Codex record the turn its Stop hook ended within ${waitMs / 1000} seconds of the shutdown request, and is shutting Codex down anyway. A resumed conversation may show that turn as interrupted.`,
|
|
79
|
+
raw: "turn_commit_wait_expired",
|
|
80
|
+
};
|
|
81
|
+
}
|
|
55
82
|
//# sourceMappingURL=warnings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../../src/codex/session/warnings.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../../src/codex/session/warnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAO1E,MAAM,sBAAsB,GAAG;IAC7B,WAAW,EACT,yJAAyJ;IAC3J,OAAO,EACL,+JAA+J;IACjK,WAAW,EACT,yMAAyM;CACnM,CAAC;AAEX,kGAAkG;AAClG,MAAM,UAAU,0BAA0B,CACxC,eAAuB,EACvB,OAA4C,EAC5C,UAAkB;IAElB,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,+BAA+B;QACrC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;QACxC,GAAG,EAAE,UAAU;KAChB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,eAAuB,EACvB,KAAc,EACd,UAAkB;IAElB,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,+BAA+B;QACrC,QAAQ,EAAE,SAAS;QACnB,OAAO,EACL,2IAA2I;QAC7I,GAAG,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,6BAA6B,CAAC,eAAuB;IACnE,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,gCAAgC;QACzC,GAAG,EAAE,0BAA0B;KAChC,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,6BAA6B,CAC3C,eAAuB,EACvB,SAA6B;IAE7B,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,2BAA2B;QACjC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,+DAA+D,SAAS,mCAAmC;QACpH,SAAS;QACT,GAAG,EAAE,kCAAkC,SAAS,EAAE;KACnD,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,4BAA4B,CAC1C,eAAuB,EACvB,MAAc;IAEd,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,uEAAuE,MAAM,GAAG,IAAI,gIAAgI;QAC7N,GAAG,EAAE,0BAA0B;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -22,6 +22,7 @@ export declare class CodexStartupPromptResponder {
|
|
|
22
22
|
private readonly lifetime;
|
|
23
23
|
private skipGeneration;
|
|
24
24
|
private updateAttempt;
|
|
25
|
+
private updateCallerOwned;
|
|
25
26
|
private warnedBanners;
|
|
26
27
|
private conversationStarted;
|
|
27
28
|
constructor(elwoodSessionId?: string, autotrust?: boolean, onStateChange?: () => void, clearance?: TrustClearance, sessionInputHeld?: () => boolean);
|
|
@@ -29,6 +30,8 @@ export declare class CodexStartupPromptResponder {
|
|
|
29
30
|
get closingSignal(): AbortSignal;
|
|
30
31
|
get blockedPrompt(): "workspace_trust" | "hook_trust" | undefined;
|
|
31
32
|
dispose(): void;
|
|
33
|
+
/** Raw caller input owns the startup prompt on screen (C-TRUST-01, C-CODEX-12). */
|
|
34
|
+
callerInput(): void;
|
|
32
35
|
get inputBlocking(): boolean;
|
|
33
36
|
/**
|
|
34
37
|
* `write` answers trust; `writeAutomation` (default `write`) handles other prompts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-prompts.d.ts","sourceRoot":"","sources":["../../src/codex/startup-prompts.ts"],"names":[],"mappings":"AAAA;0CAC0C;AAE1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"startup-prompts.d.ts","sourceRoot":"","sources":["../../src/codex/startup-prompts.ts"],"names":[],"mappings":"AAAA;0CAC0C;AAE1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQ3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,iFAAiF;AACjF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAExE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACzD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAGlD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,aAAa,CAAsD;IAE3E,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,mBAAmB,CAAS;gBAGlC,eAAe,SAAK,EACpB,SAAS,UAAQ,EACjB,aAAa,CAAC,EAAE,MAAM,IAAI,EAC1B,SAAS,GAAE,cAAoC,EAC/C,gBAAgB,CAAC,EAAE,MAAM,OAAO;IAYlC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMrC,IAAI,aAAa,IAAI,WAAW,CAE/B;IAED,IAAI,aAAa,iDAEhB;IAED,OAAO,IAAI,IAAI;IAKf,mFAAmF;IACnF,WAAW,IAAI,IAAI;IAMnB,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAC1C,SAAS,CAAC,EAAE,MAAM,MAAM,EACxB,eAAe,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAS,EAC7F,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,GACxC,wBAAwB;IAqE3B,0FAA0F;IAC1F,UAAU,IAAI,IAAI;IAIlB,OAAO,CAAC,WAAW;CAapB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE/E"}
|
|
@@ -4,7 +4,8 @@ import { numberedOptions } from "../core/terminal-options.js";
|
|
|
4
4
|
import { trustGateVisible } from "../core/trust/blocking.js";
|
|
5
5
|
import { TrustPromptResponder } from "../core/trust/responder.js";
|
|
6
6
|
import { codexTrustClearance } from "./screen-table.js";
|
|
7
|
-
import { codexWarningsFromText } from "./startup-warnings.js";
|
|
7
|
+
import { codexBannerKey, codexWarningsFromText } from "./startup-warnings.js";
|
|
8
|
+
import { codexNumberedRetry } from "./trust-retry.js";
|
|
8
9
|
import { safeUpdateOption } from "./update/selection.js";
|
|
9
10
|
import { startCodexUpdateSkip } from "./update/skip-attempt.js";
|
|
10
11
|
import { CodexUpdatePromptTracker } from "./update/tracker.js";
|
|
@@ -20,6 +21,8 @@ export class CodexStartupPromptResponder {
|
|
|
20
21
|
// generation's own completion may release it; a stale completion is a no-op.
|
|
21
22
|
skipGeneration = 0;
|
|
22
23
|
updateAttempt;
|
|
24
|
+
// Raw caller input owns an unresolved update until a native composer clears it.
|
|
25
|
+
updateCallerOwned = false;
|
|
23
26
|
// Emit only newly appearing warning banners; clearing re-arms a later occurrence.
|
|
24
27
|
warnedBanners = new Set();
|
|
25
28
|
conversationStarted = false;
|
|
@@ -28,12 +31,14 @@ export class CodexStartupPromptResponder {
|
|
|
28
31
|
this.clearance = clearance;
|
|
29
32
|
this.sessionInputHeld = sessionInputHeld ?? (() => false);
|
|
30
33
|
this.updatePrompt = new CodexUpdatePromptTracker(clearance, sessionInputHeld !== undefined);
|
|
31
|
-
this.trust = new TrustPromptResponder("codex", clearance, autotrust,
|
|
34
|
+
this.trust = new TrustPromptResponder("codex", clearance, autotrust, {
|
|
35
|
+
onStateChange,
|
|
36
|
+
numberedRetry: codexNumberedRetry,
|
|
37
|
+
});
|
|
32
38
|
}
|
|
33
39
|
observeClearance(frame) {
|
|
34
|
-
if (this.updatePrompt.needsClearance)
|
|
40
|
+
if (this.updatePrompt.needsClearance)
|
|
35
41
|
this.updatePrompt.observeClearance(!this.sessionInputHeld() && this.clearance(frame));
|
|
36
|
-
}
|
|
37
42
|
this.updateAttempt?.observeClearance(frame);
|
|
38
43
|
}
|
|
39
44
|
get closingSignal() {
|
|
@@ -46,6 +51,12 @@ export class CodexStartupPromptResponder {
|
|
|
46
51
|
this.lifetime.abort();
|
|
47
52
|
this.trust.dispose();
|
|
48
53
|
}
|
|
54
|
+
/** Raw caller input owns the startup prompt on screen (C-TRUST-01, C-CODEX-12). */
|
|
55
|
+
callerInput() {
|
|
56
|
+
this.trust.callerInput();
|
|
57
|
+
this.updateAttempt?.cancel();
|
|
58
|
+
this.updateCallerOwned ||= this.updatePrompt.unresolved;
|
|
59
|
+
}
|
|
49
60
|
get inputBlocking() {
|
|
50
61
|
return this.trust.inputBlocking;
|
|
51
62
|
}
|
|
@@ -77,6 +88,7 @@ export class CodexStartupPromptResponder {
|
|
|
77
88
|
// reauthorization immediately; a fresh banner with a valid current safe-option
|
|
78
89
|
// block or authoritative native clearance can rearm it. The live observer confirms
|
|
79
90
|
// clearance after this frame's retained hold is classified, before queued input can repaint it.
|
|
91
|
+
this.updateCallerOwned &&= this.updatePrompt.unresolved; // a later appearance is new
|
|
80
92
|
const renewUpdateAttention = this.updatePrompt.renewsAttention(screenText);
|
|
81
93
|
const onUpdateScreen = this.updatePrompt.observe(screenText);
|
|
82
94
|
const generation = this.updatePrompt.currentGeneration;
|
|
@@ -85,7 +97,8 @@ export class CodexStartupPromptResponder {
|
|
|
85
97
|
// gates the WRITE only: `updatePrompt.observe` above still tracks such a frame as an
|
|
86
98
|
// update appearance, so generation latching and re-arming are unaffected.
|
|
87
99
|
const noTrustGate = (frame) => !trustGateVisible(frame, "codex");
|
|
88
|
-
|
|
100
|
+
const automatable = onUpdateScreen && !this.updateCallerOwned;
|
|
101
|
+
if (automatable && this.skipGeneration !== generation && noTrustGate(screenText)) {
|
|
89
102
|
const parsed = this.updatePrompt.classify(screenText);
|
|
90
103
|
const option = safeUpdateOption(screenText, parsed.options ?? [])?.number ?? null;
|
|
91
104
|
if (option && this.updatePrompt.currentFramePredicate()(screenText)) {
|
|
@@ -139,17 +152,11 @@ export class CodexStartupPromptResponder {
|
|
|
139
152
|
if (this.conversationStarted)
|
|
140
153
|
return [];
|
|
141
154
|
const matched = codexWarningsFromText(screenText, this.elwoodSessionId);
|
|
142
|
-
const fresh = matched.filter((warning) => !this.warnedBanners.has(
|
|
143
|
-
this.warnedBanners = new Set(matched.map(
|
|
155
|
+
const fresh = matched.filter((warning) => !this.warnedBanners.has(codexBannerKey(warning)));
|
|
156
|
+
this.warnedBanners = new Set(matched.map(codexBannerKey));
|
|
144
157
|
return fresh;
|
|
145
158
|
}
|
|
146
159
|
}
|
|
147
|
-
/** A stable identity for a startup banner: its code plus the server(s) it names. */
|
|
148
|
-
function bannerKey(warning) {
|
|
149
|
-
return warning.code === "mcp_server_not_logged_in"
|
|
150
|
-
? `login:${warning.mcpServerName}`
|
|
151
|
-
: `startup:${warning.failedServers.join(",")}`;
|
|
152
|
-
}
|
|
153
160
|
export function findNumberedOption(text, pattern) {
|
|
154
161
|
return numberedOptions(text).find((option) => pattern.test(option.label))?.number ?? null;
|
|
155
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-prompts.js","sourceRoot":"","sources":["../../src/codex/startup-prompts.ts"],"names":[],"mappings":"AAAA;0CAC0C;AAI1C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAyB,MAAM,4BAA4B,CAAC;AAEzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"startup-prompts.js","sourceRoot":"","sources":["../../src/codex/startup-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,4 +7,6 @@ export type CodexBannerWarning = Extract<ElwoodWarningEvent, {
|
|
|
7
7
|
readonly code: "mcp_server_not_logged_in" | "mcp_startup_incomplete";
|
|
8
8
|
}>;
|
|
9
9
|
export declare function codexWarningsFromText(text: string, elwoodSessionId: string): readonly CodexBannerWarning[];
|
|
10
|
+
/** A stable identity for a startup banner: its code plus the server(s) it names. */
|
|
11
|
+
export declare function codexBannerKey(warning: CodexBannerWarning): string;
|
|
10
12
|
//# sourceMappingURL=startup-warnings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-warnings.d.ts","sourceRoot":"","sources":["../../src/codex/startup-warnings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,kBAAkB,EAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,0BAA0B,GAAG,wBAAwB,CAAA;CAAE,CACzE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,SAAS,kBAAkB,EAAE,CAc/B"}
|
|
1
|
+
{"version":3,"file":"startup-warnings.d.ts","sourceRoot":"","sources":["../../src/codex/startup-warnings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,kBAAkB,EAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,0BAA0B,GAAG,wBAAwB,CAAA;CAAE,CACzE,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,SAAS,kBAAkB,EAAE,CAc/B;AAqDD,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAIlE"}
|
|
@@ -62,4 +62,10 @@ function mcpStartupWarning(elwoodSessionId, failed) {
|
|
|
62
62
|
raw: `MCP startup incomplete (failed: ${failedServers.join(", ")})`,
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
|
+
/** A stable identity for a startup banner: its code plus the server(s) it names. */
|
|
66
|
+
export function codexBannerKey(warning) {
|
|
67
|
+
return warning.code === "mcp_server_not_logged_in"
|
|
68
|
+
? `login:${warning.mcpServerName}`
|
|
69
|
+
: `startup:${warning.failedServers.join(",")}`;
|
|
70
|
+
}
|
|
65
71
|
//# sourceMappingURL=startup-warnings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup-warnings.js","sourceRoot":"","sources":["../../src/codex/startup-warnings.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,eAAuB;IAEvB,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,KAAK,GAAG,4EAA4E,CAAC,IAAI,CAC7F,IAAI,CACL,CAAC;QACF,IAAI,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,kEAAkE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7F,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wFAAwF;AACxF,QAAQ,CAAC,CAAC,iBAAiB,CAAC,IAAY;IACtC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,8EAA8E;QAC9E,2EAA2E;QAC3E,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM;QACnC,IAAI,qCAAqC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,IAAI,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,IAAI,GAAG,IAAI,CAAC;iBAC/C,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM;YAC7C,SAAS;QACX,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,eAAuB,EACvB,aAAqB,EACrB,eAAuB;IAEvB,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,OAAO,aAAa,+BAA+B;QAC5D,aAAa;QACb,eAAe;QACf,GAAG,EAAE,OAAO,aAAa,uCAAuC,eAAe,KAAK;KACrF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,eAAuB,EAAE,MAAc;IAChE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,OAAO;QACL,eAAe;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,2BAA2B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC/D,aAAa;QACb,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,MAAM,EAAE,CAAC;QAC5E,GAAG,EAAE,mCAAmC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;KACpE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"startup-warnings.js","sourceRoot":"","sources":["../../src/codex/startup-warnings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads the `payload` envelope that every committed Codex transcript item carries, for
|
|
3
|
+
* each reader of those items: the native question lifecycle (PRD §5.10) and the shutdown
|
|
4
|
+
* wait on a turn's record (§5.7, C-LIFE-13). Implements PRD §7A.3.
|
|
5
|
+
*/
|
|
6
|
+
/** The item's `payload` object, or `undefined` when the item has none. */
|
|
7
|
+
export declare function payloadOf(item: unknown): Record<string, unknown> | undefined;
|
|
8
|
+
//# sourceMappingURL=payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../../src/codex/transcript/payload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAE5E"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads the `payload` envelope that every committed Codex transcript item carries, for
|
|
3
|
+
* each reader of those items: the native question lifecycle (PRD §5.10) and the shutdown
|
|
4
|
+
* wait on a turn's record (§5.7, C-LIFE-13). Implements PRD §7A.3.
|
|
5
|
+
*/
|
|
6
|
+
import { isRecord } from "../../core/predicates.js";
|
|
7
|
+
/** The item's `payload` object, or `undefined` when the item has none. */
|
|
8
|
+
export function payloadOf(item) {
|
|
9
|
+
return isRecord(item) && isRecord(item["payload"]) ? item["payload"] : undefined;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/codex/transcript/payload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex's turn-rejection evidence, read from its committed transcript (PRD §5.8, C-API-60).
|
|
3
|
+
* Codex fires no `Stop` hook for a turn it rejects (an unknown model, an API error). Its only
|
|
4
|
+
* evidence is the `task_complete` event that carries an `error`, tagged with the turn id the
|
|
5
|
+
* turn's own `UserPromptSubmit` reported. That event ends the turn as a native boundary.
|
|
6
|
+
*/
|
|
7
|
+
import { type TurnFailure } from "../../core/simple/boundary-signal.ts";
|
|
8
|
+
/** A rejected turn's id and failure, or `undefined` for every other transcript item. */
|
|
9
|
+
export declare function codexTurnRejection(item: unknown): {
|
|
10
|
+
readonly turnId: string;
|
|
11
|
+
readonly failure: TurnFailure;
|
|
12
|
+
} | undefined;
|
|
13
|
+
/** Ends the rejected turn whose id the item names; any other item is ignored. */
|
|
14
|
+
export declare function confirmCodexRejection(session: object, item: unknown): void;
|
|
15
|
+
//# sourceMappingURL=rejection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rejection.d.ts","sourceRoot":"","sources":["../../../src/codex/transcript/rejection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAG3F,wFAAwF;AACxF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,GACZ;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CAcxE;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAK1E"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex's turn-rejection evidence, read from its committed transcript (PRD §5.8, C-API-60).
|
|
3
|
+
* Codex fires no `Stop` hook for a turn it rejects (an unknown model, an API error). Its only
|
|
4
|
+
* evidence is the `task_complete` event that carries an `error`, tagged with the turn id the
|
|
5
|
+
* turn's own `UserPromptSubmit` reported. That event ends the turn as a native boundary.
|
|
6
|
+
*/
|
|
7
|
+
import { isRecord } from "../../core/predicates.js";
|
|
8
|
+
import { boundedDiagnostic } from "../../core/simple/boundary-signal.js";
|
|
9
|
+
import { confirmNativeBoundary } from "../../core/simple/native-boundary.js";
|
|
10
|
+
/** A rejected turn's id and failure, or `undefined` for every other transcript item. */
|
|
11
|
+
export function codexTurnRejection(item) {
|
|
12
|
+
if (!isRecord(item) || item["type"] !== "event_msg")
|
|
13
|
+
return undefined;
|
|
14
|
+
const payload = item["payload"];
|
|
15
|
+
if (!isRecord(payload) || payload["type"] !== "task_complete")
|
|
16
|
+
return undefined;
|
|
17
|
+
const error = payload["error"];
|
|
18
|
+
const turnId = payload["turn_id"];
|
|
19
|
+
if (!isRecord(error) || typeof turnId !== "string" || turnId.trim() === "")
|
|
20
|
+
return undefined;
|
|
21
|
+
const agentError = errorInfoName(error["codex_error_info"]);
|
|
22
|
+
const message = boundedDiagnostic(error["message"]) ??
|
|
23
|
+
(agentError === undefined
|
|
24
|
+
? "Codex rejected the turn."
|
|
25
|
+
: `Codex rejected the turn: ${agentError}`);
|
|
26
|
+
return { turnId, failure: { message, agentError } };
|
|
27
|
+
}
|
|
28
|
+
/** Ends the rejected turn whose id the item names; any other item is ignored. */
|
|
29
|
+
export function confirmCodexRejection(session, item) {
|
|
30
|
+
const rejection = codexTurnRejection(item);
|
|
31
|
+
if (rejection === undefined)
|
|
32
|
+
return;
|
|
33
|
+
const signal = { text: "", failure: rejection.failure };
|
|
34
|
+
confirmNativeBoundary(session, { kind: "stop", turnId: rejection.turnId, signal });
|
|
35
|
+
}
|
|
36
|
+
// Codex's `CodexErrorInfo` is a bare variant name (`"other"`, `"usage_limit_exceeded"`) or a
|
|
37
|
+
// one-key object for a variant with fields (`{"http_connection_failed":{...}}`).
|
|
38
|
+
function errorInfoName(info) {
|
|
39
|
+
if (!isRecord(info))
|
|
40
|
+
return boundedDiagnostic(info);
|
|
41
|
+
const names = Object.keys(info);
|
|
42
|
+
return names.length === 1 ? boundedDiagnostic(names[0]) : undefined;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=rejection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rejection.js","sourceRoot":"","sources":["../../../src/codex/transcript/rejection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAoB,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,wFAAwF;AACxF,MAAM,UAAU,kBAAkB,CAChC,IAAa;IAEb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC7F,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GACX,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC,UAAU,KAAK,SAAS;YACvB,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,IAAa;IAClE,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IACpC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;IACxD,qBAAqB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,6FAA6F;AAC7F,iFAAiF;AACjF,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recognizes the committed Codex transcript records that end a turn.
|
|
3
|
+
* Implements PRD §7A.3 for the native question lifecycle (§5.10) and for the shutdown
|
|
4
|
+
* wait on a turn's commit (§5.7, C-LIFE-13), so both read one list.
|
|
5
|
+
*/
|
|
6
|
+
/** Whether a rollout item's `payload` records that a turn ended. */
|
|
7
|
+
export declare function isTurnEndPayload(payload: Readonly<Record<string, unknown>>): boolean;
|
|
8
|
+
//# sourceMappingURL=turn-end.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-end.d.ts","sourceRoot":"","sources":["../../../src/codex/transcript/turn-end.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAGpF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recognizes the committed Codex transcript records that end a turn.
|
|
3
|
+
* Implements PRD §7A.3 for the native question lifecycle (§5.10) and for the shutdown
|
|
4
|
+
* wait on a turn's commit (§5.7, C-LIFE-13), so both read one list.
|
|
5
|
+
*/
|
|
6
|
+
const turnEndPayloadTypes = new Set([
|
|
7
|
+
"task_complete",
|
|
8
|
+
"turn_complete",
|
|
9
|
+
"turn_aborted",
|
|
10
|
+
"turn_failed",
|
|
11
|
+
]);
|
|
12
|
+
/** Whether a rollout item's `payload` records that a turn ended. */
|
|
13
|
+
export function isTurnEndPayload(payload) {
|
|
14
|
+
const type = payload["type"];
|
|
15
|
+
return typeof type === "string" && turnEndPayloadTypes.has(type);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=turn-end.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-end.js","sourceRoot":"","sources":["../../../src/codex/transcript/turn-end.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,eAAe;IACf,eAAe;IACf,cAAc;IACd,aAAa;CACd,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,OAA0C;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* are sourced from the JSONL transcript Codex writes; reads are bounded (fixed-size
|
|
5
5
|
* chunks, a max-pending ceiling, a per-scan chunk budget) so a hundreds-of-MiB file
|
|
6
6
|
* never OOMs or blocks the event loop, and lost committed data is surfaced through
|
|
7
|
-
* bounded, content-free drop notices.
|
|
7
|
+
* bounded, content-free drop notices. A transcript not created yet is waited on silently;
|
|
8
|
+
* one removed after it existed is a read race that warns (§5.7, C-CODEX-23).
|
|
8
9
|
*/
|
|
9
10
|
import type { CodexTranscriptEvent } from "./types.ts";
|
|
10
11
|
import type { CodexTranscriptNotices } from "./watcher-config.ts";
|
|
@@ -23,7 +24,9 @@ export declare class CodexTranscriptWatcher {
|
|
|
23
24
|
private readonly now;
|
|
24
25
|
constructor(elwoodSessionId: string, emit: (event: CodexTranscriptEvent) => void, notices?: CodexTranscriptNotices);
|
|
25
26
|
observe(path: string): void;
|
|
26
|
-
|
|
27
|
+
/** One `scan()` that never throws, as the poll timer runs it: a failure finishes the
|
|
28
|
+
* watcher and reports `onPollError`. For callers that scan from their own timers. */
|
|
29
|
+
poll(): void;
|
|
27
30
|
scan(): void;
|
|
28
31
|
flush(): void;
|
|
29
32
|
finish(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../../src/codex/transcript/watcher.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../../src/codex/transcript/watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,YAAY,EACV,oBAAoB,IAAI,eAAe,EACvC,yBAAyB,IAAI,oBAAoB,GAClD,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAMlE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAA6C;IAE7D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyC;IAErE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAEpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;gBAG/C,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,EAC3C,OAAO,GAAE,sBAA2B;IActC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc3B;yFACqF;IACrF,IAAI,IAAI,IAAI;IAUZ,IAAI,IAAI,IAAI;IAoBZ,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,IAAI;IAUd,IAAI,IAAI,IAAI;IASZ,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,YAAY;CAQrB"}
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
* are sourced from the JSONL transcript Codex writes; reads are bounded (fixed-size
|
|
5
5
|
* chunks, a max-pending ceiling, a per-scan chunk budget) so a hundreds-of-MiB file
|
|
6
6
|
* never OOMs or blocks the event loop, and lost committed data is surfaced through
|
|
7
|
-
* bounded, content-free drop notices.
|
|
7
|
+
* bounded, content-free drop notices. A transcript not created yet is waited on silently;
|
|
8
|
+
* one removed after it existed is a read race that warns (§5.7, C-CODEX-23).
|
|
8
9
|
*/
|
|
9
10
|
import { outsideStopInput } from "../../core/stop-input.js";
|
|
10
11
|
import { BoundedTranscriptCursor } from "../../core/transcript/cursor.js";
|
|
12
|
+
import { drainToBudget, newTerminalBudget, } from "../../core/transcript/drain.js";
|
|
11
13
|
import { DropReporter, ReadErrorReporter } from "../../core/transcript/drops.js";
|
|
12
|
-
import { drainToBudget, newTerminalBudget } from "./drain.js";
|
|
13
14
|
import { CodexLineEmitter } from "./emit.js";
|
|
14
15
|
import { CodexTranscriptFsGuard } from "./fs-guard.js";
|
|
15
16
|
const defaultScanIntervalMs = 250; // poll cadence: transcript activity is not latency-critical
|
|
@@ -51,10 +52,12 @@ export class CodexTranscriptWatcher {
|
|
|
51
52
|
// A scan() throw (a throwing drop/activity/warning listener) must not escape the
|
|
52
53
|
// timer as an uncaught exception — contain it, stop, and route a bounded live
|
|
53
54
|
// diagnostic (non-throwing recovery), mirroring Claude's poll recovery.
|
|
54
|
-
this.interval = outsideStopInput(() => setInterval(() => this.
|
|
55
|
+
this.interval = outsideStopInput(() => setInterval(() => this.poll(), this.scanIntervalMs ?? defaultScanIntervalMs));
|
|
55
56
|
this.interval.unref?.();
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
+
/** One `scan()` that never throws, as the poll timer runs it: a failure finishes the
|
|
59
|
+
* watcher and reports `onPollError`. For callers that scan from their own timers. */
|
|
60
|
+
poll() {
|
|
58
61
|
try {
|
|
59
62
|
this.scan();
|
|
60
63
|
}
|
|
@@ -71,7 +74,9 @@ export class CodexTranscriptWatcher {
|
|
|
71
74
|
const budget = { chunks: scanChunksPerScan };
|
|
72
75
|
while (budget.chunks > 0) {
|
|
73
76
|
budget.chunks -= 1;
|
|
74
|
-
|
|
77
|
+
// Each read is sized by its own stat: a file not created yet reads nothing, and a
|
|
78
|
+
// removal after it existed throws for the guard rather than reading as a truncation.
|
|
79
|
+
const chunk = this.guard.read(cursor.path, () => cursor.readLiveChunk());
|
|
75
80
|
if (!chunk)
|
|
76
81
|
break; // contained FS failure; keep last offset
|
|
77
82
|
if (chunk.text.length > 0)
|
|
@@ -88,7 +93,7 @@ export class CodexTranscriptWatcher {
|
|
|
88
93
|
flush() {
|
|
89
94
|
if (this.finished || !this.cursor)
|
|
90
95
|
return;
|
|
91
|
-
drainToBudget(this.drainContext(), this.cursor, this.terminalBudget);
|
|
96
|
+
drainToBudget(this.drainContext(), [this.cursor], this.terminalBudget);
|
|
92
97
|
}
|
|
93
98
|
// Flush trailing partials, then permanently stop. Idempotent (`finished` gates a
|
|
94
99
|
// second call) and terminal; `stop()` runs in `finally` so a throwing drain still
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/codex/transcript/watcher.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/codex/transcript/watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAGL,aAAa,EACb,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAUvD,MAAM,qBAAqB,GAAG,GAAG,CAAC,CAAC,4DAA4D;AAC/F,gGAAgG;AAChG,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAsC;IAC5C,QAAQ,CAA6C;IAC7D,gFAAgF;IACxE,QAAQ,GAAG,KAAK,CAAC;IACR,KAAK,CAAyB;IAC9B,KAAK,CAAe;IACpB,KAAK,CAAmB;IACxB,WAAW,CAAyC;IACrE,yEAAyE;IACxD,cAAc,GAAgB,iBAAiB,EAAE,CAAC;IAClD,cAAc,CAAqB;IACpD,qEAAqE;IACpD,GAAG,CAA6B;IAEjD,YACE,eAAuB,EACvB,IAA2C,EAC3C,UAAkC,EAAE;QAEpC,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,CAAC;IAED,mFAAmF;IACnF,oFAAoF;IACpF,+DAA+D;IAC/D,OAAO,CAAC,IAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI;YAAE,OAAO;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,iFAAiF;QACjF,8EAA8E;QAC9E,wEAAwE;QACxE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,CACpC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAC7E,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;IAC1B,CAAC;IAED;yFACqF;IACrF,IAAI;QACF,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,iFAAiF;IACjF,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YACnB,kFAAkF;YAClF,qFAAqF;YACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,yCAAyC;YAC5D,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,cAAc;gBAAE,MAAM;QACnC,CAAC,CAAC,uEAAuE;QACzE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,gEAAgE;IAC1F,CAAC;IAED,gFAAgF;IAChF,mFAAmF;IACnF,iFAAiF;IACjF,iFAAiF;IACjF,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC1C,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACzE,CAAC;IAED,iFAAiF;IACjF,kFAAkF;IAClF,yCAAyC;IACzC,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ;YAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,gFAAgF;IAChF,gFAAgF;IAChF,kFAAkF;IAClF,6EAA6E;IACrE,oBAAoB,CAAC,KAAc;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC,CAAC,yEAAyE;QACpF,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC,CAAC,2DAA2D;IACxE,CAAC;IAEO,YAAY;QAClB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACxC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;SACrD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex's numbered trust retry (PRD §5.4, C-TRUST-01). Under load Codex 0.164 takes the
|
|
3
|
+
* directory-trust answer `1\r` but can paint its composer after the retry interval, so
|
|
4
|
+
* typing the number again would submit "1" as a user turn. Enter on its gate confirms
|
|
5
|
+
* the highlighted option, and Enter on its empty composer submits nothing
|
|
6
|
+
* (docs/cli-behavior.md), so Codex retries with Enter alone while the caret is on the
|
|
7
|
+
* affirmative. Its hook gate opens with the caret on `Review hooks`, so that gate falls
|
|
8
|
+
* back to retyping after a rendered frame.
|
|
9
|
+
*/
|
|
10
|
+
import { type NumberedRetry } from "../core/trust/step.ts";
|
|
11
|
+
export declare const codexNumberedRetry: NumberedRetry;
|
|
12
|
+
//# sourceMappingURL=trust-retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trust-retry.d.ts","sourceRoot":"","sources":["../../src/codex/trust-retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE/E,eAAO,MAAM,kBAAkB,EAAE,aAAkC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Codex's numbered trust retry (PRD §5.4, C-TRUST-01). Under load Codex 0.164 takes the
|
|
3
|
+
* directory-trust answer `1\r` but can paint its composer after the retry interval, so
|
|
4
|
+
* typing the number again would submit "1" as a user turn. Enter on its gate confirms
|
|
5
|
+
* the highlighted option, and Enter on its empty composer submits nothing
|
|
6
|
+
* (docs/cli-behavior.md), so Codex retries with Enter alone while the caret is on the
|
|
7
|
+
* affirmative. Its hook gate opens with the caret on `Review hooks`, so that gate falls
|
|
8
|
+
* back to retyping after a rendered frame.
|
|
9
|
+
*/
|
|
10
|
+
import { enterWhileSelected } from "../core/trust/step.js";
|
|
11
|
+
export const codexNumberedRetry = enterWhileSelected;
|
|
12
|
+
//# sourceMappingURL=trust-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trust-retry.js","sourceRoot":"","sources":["../../src/codex/trust-retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAkB,kBAAkB,CAAC"}
|
|
@@ -19,6 +19,8 @@ type UpdateSkipRequest = {
|
|
|
19
19
|
type UpdateSkipAttempt = {
|
|
20
20
|
readonly settled: Promise<StartupWriteCompletion>;
|
|
21
21
|
readonly observeClearance: (frame: string) => void;
|
|
22
|
+
/** Raw caller input owns this appearance: no retry or pending write follows it. */
|
|
23
|
+
readonly cancel: () => void;
|
|
22
24
|
};
|
|
23
25
|
export declare function startCodexUpdateSkip(request: UpdateSkipRequest): UpdateSkipAttempt;
|
|
24
26
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-attempt.d.ts","sourceRoot":"","sources":["../../../src/codex/update/skip-attempt.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"skip-attempt.d.ts","sourceRoot":"","sources":["../../../src/codex/update/skip-attempt.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CAmElF"}
|
|
@@ -49,6 +49,10 @@ export function startCodexUpdateSkip(request) {
|
|
|
49
49
|
});
|
|
50
50
|
return {
|
|
51
51
|
settled: completion.promise,
|
|
52
|
+
cancel: () => {
|
|
53
|
+
if (!retries.signal.aborted)
|
|
54
|
+
finish("cancelled");
|
|
55
|
+
},
|
|
52
56
|
observeClearance(frame) {
|
|
53
57
|
if (retries.signal.aborted || readFrame === undefined || !ownsAttempt())
|
|
54
58
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-attempt.js","sourceRoot":"","sources":["../../../src/codex/update/skip-attempt.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"skip-attempt.js","sourceRoot":"","sources":["../../../src/codex/update/skip-attempt.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ export declare class CodexUpdatePromptTracker {
|
|
|
15
15
|
constructor(clearance?: TrustClearance, deferClearance?: boolean);
|
|
16
16
|
/** Identifies the current appearance; it changes when the screen clears, appears, or revokes an attempt. */
|
|
17
17
|
get currentGeneration(): number;
|
|
18
|
+
/** An appearance is on screen, or left it without a positive native clearance since. */
|
|
19
|
+
get unresolved(): boolean;
|
|
18
20
|
/** Ordinary frames need no clearance parsing without a pending or revoked update. */
|
|
19
21
|
get needsClearance(): boolean;
|
|
20
22
|
/** A replacement revokes the attempt; its positive clear is only `generation + 1`. */
|