@with-logic/elwood 0.2.0 → 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 +571 -1
- package/CONTRIBUTING.md +3 -0
- package/README.md +6 -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 +9 -6
- package/dist/runtime/session/base.js.map +1 -1
- package/dist/runtime/session/commands.d.ts +6 -4
- 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 +15 -13
- package/dist/runtime/session/picker.d.ts.map +1 -1
- package/dist/runtime/session/picker.js +49 -27
- 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/cursor.d.ts +1 -1
- package/dist/terminal/cursor.d.ts.map +1 -1
- package/dist/terminal/cursor.js +36 -1
- package/dist/terminal/cursor.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/docs/embedding.md +7 -0
- package/docs/performance/terminal-engines.md +88 -0
- package/docs/performance.md +120 -0
- 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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Releases a launch's socket when its hook bridge stops (PRD §8.1): the bridge unlinks
|
|
3
|
+
* its socket file, and the session's socket home goes too once no other launch's socket
|
|
4
|
+
* is in it. Wraps each adapter's bridge factory seam, so every bridge a launch builds,
|
|
5
|
+
* including a test's, releases its socket on `stop`, `kill`, the agent exiting, and a
|
|
6
|
+
* failed start.
|
|
7
|
+
*/
|
|
8
|
+
import { releaseLaunchSocket } from "../state/socket-home.js";
|
|
9
|
+
/** `factory`, with each bridge's successful `stop()` followed by its socket's release. */
|
|
10
|
+
export function releasingSocketOnStop(factory) {
|
|
11
|
+
return (socketPath, ...rest) => {
|
|
12
|
+
const bridge = factory(socketPath, ...rest);
|
|
13
|
+
return {
|
|
14
|
+
start: () => bridge.start(),
|
|
15
|
+
stop: async () => {
|
|
16
|
+
await bridge.stop();
|
|
17
|
+
releaseLaunchSocket(socketPath);
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=socket-release.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket-release.js","sourceRoot":"","sources":["../../src/bridge/socket-release.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9D,0FAA0F;AAC1F,MAAM,UAAU,qBAAqB,CACnC,OAAsD;IAEtD,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;QAC5C,OAAO;YACL,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;YAC3B,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude's prompt-box border in a named session (PRD §5.3, C-TRUST-01, C-QUESTION-03).
|
|
3
|
+
*
|
|
4
|
+
* `claude --name` (Elwood's `name` option) insets the session's label near the right end
|
|
5
|
+
* of the prompt box's border: `──── Question Asker ─`. It sits on the composer's top rule
|
|
6
|
+
* while the composer is shown, and on the border under a questionnaire's footer while a
|
|
7
|
+
* dialog replaces the composer. The other rules stay plain.
|
|
8
|
+
*/
|
|
9
|
+
/** The inset label after a rule's dashes (` Question Asker ─`), as a single-line fragment. */
|
|
10
|
+
export declare const claudeNamedLabel: string;
|
|
11
|
+
export declare const claudeNamedBorder: RegExp;
|
|
12
|
+
//# sourceMappingURL=border.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/border.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,QAA6B,CAAC;AAC3D,eAAO,MAAM,iBAAiB,QAA2D,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude's prompt-box border in a named session (PRD §5.3, C-TRUST-01, C-QUESTION-03).
|
|
3
|
+
*
|
|
4
|
+
* `claude --name` (Elwood's `name` option) insets the session's label near the right end
|
|
5
|
+
* of the prompt box's border: `──── Question Asker ─`. It sits on the composer's top rule
|
|
6
|
+
* while the composer is shown, and on the border under a questionnaire's footer while a
|
|
7
|
+
* dialog replaces the composer. The other rules stay plain.
|
|
8
|
+
*/
|
|
9
|
+
/** The inset label after a rule's dashes (` Question Asker ─`), as a single-line fragment. */
|
|
10
|
+
export const claudeNamedLabel = String.raw ` \S[^\n]* [─━]`;
|
|
11
|
+
export const claudeNamedBorder = new RegExp(String.raw `^[─━]{3,}${claudeNamedLabel}\s*$`);
|
|
12
|
+
//# sourceMappingURL=border.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"border.js","sourceRoot":"","sources":["../../../src/claude/composer/border.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,YAAY,gBAAgB,MAAM,CAAC,CAAC"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import type { ElwoodTerminal } from "../../terminal/headless.ts";
|
|
2
2
|
export declare function claudeEmptyInputFrame(terminal: ElwoodTerminal): import("../../index.ts").TerminalSnapshot | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* Whether viewport `rows` show Claude's live, empty composer (PRD §5.3, §5.4; C-API-56).
|
|
5
|
+
*
|
|
6
|
+
* `cursorRow` is the viewport index of the terminal cursor's row. That row must be the empty
|
|
7
|
+
* `❯` composer, with the composer's top rule (plain, or labelled by a named session) at
|
|
8
|
+
* `cursorRow - 1` and a plain bottom rule at `cursorRow + 1`.
|
|
9
|
+
*
|
|
10
|
+
* The footer is the row directly under the bottom rule, `cursorRow + 2`: a permission-mode
|
|
11
|
+
* footer (`claudeComposerFooter`) or, when the caller passes `stagedFooter`, one of its
|
|
12
|
+
* staged-input hint rows. That row is the composer's chrome. Without it, the row must be
|
|
13
|
+
* blank or absent and the version banner must be visible somewhere in `rows`; a footer
|
|
14
|
+
* further down never counts. Every non-blank row after it must be a footer item on its own
|
|
15
|
+
* row (`claudeFooterOverflow`: a token count or effort level), the login-renewal notice, or
|
|
16
|
+
* a `stagedFooter` row.
|
|
17
|
+
*/
|
|
3
18
|
export declare function claudeEmptyInputRows(rows: readonly string[], cursorRow: number, stagedFooter?: RegExp): boolean;
|
|
4
19
|
//# sourceMappingURL=empty-input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty-input.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/empty-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"empty-input.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/empty-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAOjE,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,yDAE7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAuBT"}
|
|
@@ -2,27 +2,46 @@
|
|
|
2
2
|
import { emptyInputFrame } from "../../core/input/empty-frame.js";
|
|
3
3
|
import { loginRenewalNotice } from "../login/notice.js";
|
|
4
4
|
import { claudeComposerRow } from "../screen-table.js";
|
|
5
|
-
import {
|
|
5
|
+
import { claudeNamedBorder } from "./border.js";
|
|
6
|
+
import { claudeComposerFooter, claudeFooterOverflow } from "./footer.js";
|
|
6
7
|
const rule = /^[─━]{3,}\s*$/;
|
|
7
|
-
const mode = /^\s*(?:-- INSERT -- )?(?:⏵⏵ (?:bypass permissions|don['’]t ask|auto mode) on \(shift\+tab to cycle\)|⏸ manual mode on)(?: · ← for agents)?(?: +[\d,.]+[kKmM]? tokens)?\s*$/;
|
|
8
|
-
// Separate effort footer captured below collapsed text in Claude 2.1.281.
|
|
9
|
-
const effort = /^\s*◐ medium · \/effort\s*$/;
|
|
10
8
|
export function claudeEmptyInputFrame(terminal) {
|
|
11
9
|
return emptyInputFrame(terminal, claudeEmptyInputRows);
|
|
12
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Whether viewport `rows` show Claude's live, empty composer (PRD §5.3, §5.4; C-API-56).
|
|
13
|
+
*
|
|
14
|
+
* `cursorRow` is the viewport index of the terminal cursor's row. That row must be the empty
|
|
15
|
+
* `❯` composer, with the composer's top rule (plain, or labelled by a named session) at
|
|
16
|
+
* `cursorRow - 1` and a plain bottom rule at `cursorRow + 1`.
|
|
17
|
+
*
|
|
18
|
+
* The footer is the row directly under the bottom rule, `cursorRow + 2`: a permission-mode
|
|
19
|
+
* footer (`claudeComposerFooter`) or, when the caller passes `stagedFooter`, one of its
|
|
20
|
+
* staged-input hint rows. That row is the composer's chrome. Without it, the row must be
|
|
21
|
+
* blank or absent and the version banner must be visible somewhere in `rows`; a footer
|
|
22
|
+
* further down never counts. Every non-blank row after it must be a footer item on its own
|
|
23
|
+
* row (`claudeFooterOverflow`: a token count or effort level), the login-renewal notice, or
|
|
24
|
+
* a `stagedFooter` row.
|
|
25
|
+
*/
|
|
13
26
|
export function claudeEmptyInputRows(rows, cursorRow, stagedFooter) {
|
|
14
27
|
const composer = rows[cursorRow];
|
|
15
28
|
if (!(composer?.startsWith("❯") && claudeComposerRow.test(composer)))
|
|
16
29
|
return false;
|
|
17
|
-
|
|
30
|
+
// A named session labels only the top rule; the rule below the composer stays plain.
|
|
31
|
+
const topRule = rows[cursorRow - 1] ?? "";
|
|
32
|
+
const hasComposerTopRule = rule.test(topRule) || claudeNamedBorder.test(topRule);
|
|
33
|
+
const hasPlainBottomRule = rule.test(rows[cursorRow + 1] ?? "");
|
|
34
|
+
if (!(hasComposerTopRule && hasPlainBottomRule))
|
|
18
35
|
return false;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
36
|
+
const footer = rows[cursorRow + 2] ?? "";
|
|
37
|
+
const footed = claudeComposerFooter.test(footer) || stagedFooter?.test(footer) === true;
|
|
38
|
+
const bannered = footer.trim() === "" && rows.some((row) => /Claude Code v[\d.]+/.test(row));
|
|
39
|
+
return ((footed || bannered) &&
|
|
40
|
+
rows
|
|
41
|
+
.slice(cursorRow + 3)
|
|
42
|
+
.every((row) => row.trim() === "" ||
|
|
43
|
+
claudeFooterOverflow.test(row) ||
|
|
24
44
|
loginRenewalNotice.test(row) ||
|
|
25
|
-
effort.test(row) ||
|
|
26
45
|
stagedFooter?.test(row)));
|
|
27
46
|
}
|
|
28
47
|
//# sourceMappingURL=empty-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty-input.js","sourceRoot":"","sources":["../../../src/claude/composer/empty-input.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"empty-input.js","sourceRoot":"","sources":["../../../src/claude/composer/empty-input.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,IAAI,GAAG,eAAe,CAAC;AAC7B,MAAM,UAAU,qBAAqB,CAAC,QAAwB;IAC5D,OAAO,eAAe,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAuB,EACvB,SAAiB,EACjB,YAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,qFAAqF;IACrF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACxF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,OAAO,CACL,CAAC,MAAM,IAAI,QAAQ,CAAC;QACpB,IAAI;aACD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;aACpB,KAAK,CACJ,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;YACjB,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;YAC9B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAC1B,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Claude's native composer footer: the row directly beneath the composer's bottom rule
|
|
3
|
+
* (PRD §5.3, §5.4; C-TRUST-01, C-API-55, C-API-56).
|
|
4
|
+
*
|
|
5
|
+
* Captured on Claude Code 2.1.310 for every `--permission-mode` (see
|
|
6
|
+
* `tests/fixtures/claude-2.1.310/mode-footers/`), on top of the 2.1.278 to 2.1.305 rows:
|
|
7
|
+
*
|
|
8
|
+
* -- INSERT -- ⏵⏵ bypass permissions on (shift+tab to cycle) · ← for agents 0 tokens
|
|
9
|
+
* ⏸ manual mode on · ? for shortcuts · ← for agents ● high · /effort
|
|
10
|
+
*
|
|
11
|
+
* Vim's `-- INSERT --` shows only in vim insert mode. Manual mode has no cycle hint.
|
|
12
|
+
* Claude hides `← for agents` after the session has been open a while (it was gone 27 s
|
|
13
|
+
* after launch in the captures). The right edge holds the token count when `verbose` is on,
|
|
14
|
+
* otherwise the effort level, and can be empty. The version banner scrolls away in a long
|
|
15
|
+
* session, so this row is what proves an idle composer.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* A token count as Claude prints it: 2.1.310 formats with compact notation, lowercased
|
|
19
|
+
* (`0`, `999`, `1.0k`, `12.3k`, `2.1m`); the grouped and uppercase forms stay accepted.
|
|
20
|
+
*/
|
|
21
|
+
export declare const claudeTokenCount: string;
|
|
22
|
+
/** One footer row, as a single-line fragment with no anchors. */
|
|
23
|
+
export declare const claudeComposerFooterRow: string;
|
|
24
|
+
export declare const claudeComposerFooter: RegExp;
|
|
25
|
+
/** A footer item on its own row: effort below a token count, or the count when narrow. */
|
|
26
|
+
export declare const claudeFooterOverflow: RegExp;
|
|
3
27
|
//# sourceMappingURL=footer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/footer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/footer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAoC,CAAC;AAGlE,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,QAAyG,CAAC;AAC9I,eAAO,MAAM,oBAAoB,QAA6C,CAAC;AAE/E,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,QAEhC,CAAC"}
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Claude's native composer footer: the row directly beneath the composer's bottom rule
|
|
3
|
+
* (PRD §5.3, §5.4; C-TRUST-01, C-API-55, C-API-56).
|
|
4
|
+
*
|
|
5
|
+
* Captured on Claude Code 2.1.310 for every `--permission-mode` (see
|
|
6
|
+
* `tests/fixtures/claude-2.1.310/mode-footers/`), on top of the 2.1.278 to 2.1.305 rows:
|
|
7
|
+
*
|
|
8
|
+
* -- INSERT -- ⏵⏵ bypass permissions on (shift+tab to cycle) · ← for agents 0 tokens
|
|
9
|
+
* ⏸ manual mode on · ? for shortcuts · ← for agents ● high · /effort
|
|
10
|
+
*
|
|
11
|
+
* Vim's `-- INSERT --` shows only in vim insert mode. Manual mode has no cycle hint.
|
|
12
|
+
* Claude hides `← for agents` after the session has been open a while (it was gone 27 s
|
|
13
|
+
* after launch in the captures). The right edge holds the token count when `verbose` is on,
|
|
14
|
+
* otherwise the effort level, and can be empty. The version banner scrolls away in a long
|
|
15
|
+
* session, so this row is what proves an idle composer.
|
|
16
|
+
*/
|
|
17
|
+
const mode = "(?:⏸ (?:manual|plan) mode|⏵⏵ (?:accept edits|auto mode|don['’]t ask|bypass permissions)) on";
|
|
18
|
+
const hints = String.raw `(?: \(shift\+tab to cycle\))?(?: · \? for shortcuts)?(?: · ← for agents)?`;
|
|
19
|
+
/**
|
|
20
|
+
* A token count as Claude prints it: 2.1.310 formats with compact notation, lowercased
|
|
21
|
+
* (`0`, `999`, `1.0k`, `12.3k`, `2.1m`); the grouped and uppercase forms stay accepted.
|
|
22
|
+
*/
|
|
23
|
+
export const claudeTokenCount = String.raw `[\d,.]+[kKmM]? tokens`;
|
|
24
|
+
const effortLevel = String.raw `[○◐●◉◈] (?:low|medium|high|xhigh|max) · \/effort`;
|
|
25
|
+
/** One footer row, as a single-line fragment with no anchors. */
|
|
26
|
+
export const claudeComposerFooterRow = String.raw `[ \t]*(?:-- INSERT -- )?${mode}${hints}(?: +(?:${claudeTokenCount}|${effortLevel}))?[ \t]*`;
|
|
27
|
+
export const claudeComposerFooter = new RegExp(`^${claudeComposerFooterRow}$`);
|
|
28
|
+
/** A footer item on its own row: effort below a token count, or the count when narrow. */
|
|
29
|
+
export const claudeFooterOverflow = new RegExp(String.raw `^\s*(?:${claudeTokenCount}|${effortLevel})\s*$`);
|
|
3
30
|
//# sourceMappingURL=footer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/claude/composer/footer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/claude/composer/footer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,IAAI,GACR,6FAA6F,CAAC;AAChG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA,2EAA2E,CAAC;AACpG;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA,uBAAuB,CAAC;AAClE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA,kDAAkD,CAAC;AAEjF,iEAAiE;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA,2BAA2B,IAAI,GAAG,KAAK,WAAW,gBAAgB,IAAI,WAAW,WAAW,CAAC;AAC9I,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,IAAI,uBAAuB,GAAG,CAAC,CAAC;AAE/E,0FAA0F;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAC5C,MAAM,CAAC,GAAG,CAAA,UAAU,gBAAgB,IAAI,WAAW,OAAO,CAC3D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude's live idle composer, by either verified path (PRD §5.3, §5.4; C-ATTN-02,
|
|
3
|
+
* C-TRUST-01, C-API-56). It is what proves a session's blocking dialog or startup trust
|
|
4
|
+
* gate is gone. The whole-frame path rejects any earlier caret row, and Claude keeps the
|
|
5
|
+
* conversation's own carets in its transcript: each submitted prompt is echoed as
|
|
6
|
+
* `❯ <prompt>`, a resumed session repaints them, and `/model` stays as `❯ /model` after
|
|
7
|
+
* the picker closes. So a frame whose transcript still shows one is proved idle by the
|
|
8
|
+
* last composer, its enclosing rules, and its native footer instead. Both paths read the
|
|
9
|
+
* same completed render and its visible input cursor, which is checked once for both.
|
|
10
|
+
*/
|
|
11
|
+
import type { TrustClearance } from "../../core/trust/clearance.ts";
|
|
12
|
+
import type { ElwoodTerminal } from "../../terminal/headless.ts";
|
|
13
|
+
export declare function liveClaudeIdleComposer(readTerminal: () => ElwoodTerminal): TrustClearance;
|
|
14
|
+
//# sourceMappingURL=idle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idle.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/idle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,cAAc,GAAG,cAAc,CAMzF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude's live idle composer, by either verified path (PRD §5.3, §5.4; C-ATTN-02,
|
|
3
|
+
* C-TRUST-01, C-API-56). It is what proves a session's blocking dialog or startup trust
|
|
4
|
+
* gate is gone. The whole-frame path rejects any earlier caret row, and Claude keeps the
|
|
5
|
+
* conversation's own carets in its transcript: each submitted prompt is echoed as
|
|
6
|
+
* `❯ <prompt>`, a resumed session repaints them, and `/model` stays as `❯ /model` after
|
|
7
|
+
* the picker closes. So a frame whose transcript still shows one is proved idle by the
|
|
8
|
+
* last composer, its enclosing rules, and its native footer instead. Both paths read the
|
|
9
|
+
* same completed render and its visible input cursor, which is checked once for both.
|
|
10
|
+
*/
|
|
11
|
+
import { claudeTrustClearance, liveClaudeClearance } from "../screen-table.js";
|
|
12
|
+
import { claudeLastComposerClearance } from "./last.js";
|
|
13
|
+
export function liveClaudeIdleComposer(readTerminal) {
|
|
14
|
+
// One check of the live render and cursor, then either text path.
|
|
15
|
+
return liveClaudeClearance(readTerminal, (text) => claudeTrustClearance(text) || claudeLastComposerClearance(text));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=idle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idle.js","sourceRoot":"","sources":["../../../src/claude/composer/idle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,UAAU,sBAAsB,CAAC,YAAkC;IACvE,kEAAkE;IAClE,OAAO,mBAAmB,CACxB,YAAY,EACZ,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"last.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/last.ts"],"names":[],"mappings":"AAQA,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKlE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude's last composer as proof of an idle screen (PRD §5.3, §5.4; C-API-55, C-ATTN-02).
|
|
3
|
+
* Earlier carets stay in Claude's transcript: each submitted prompt is echoed as
|
|
4
|
+
* `❯ <prompt>`, and `/model` stays as `❯ /model` after the picker closes. Only the last
|
|
5
|
+
* composer, its enclosing rules, and its own native footer establish clearance.
|
|
6
|
+
*/
|
|
7
|
+
import { claudeTrustClearance } from "../screen-table.js";
|
|
8
|
+
export function claudeLastComposerClearance(frame) {
|
|
9
|
+
if (/esc to interrupt/i.test(frame))
|
|
10
|
+
return false;
|
|
11
|
+
const rows = frame.split("\n");
|
|
12
|
+
const composer = rows.findLastIndex((row) => /^\s*❯/.test(row));
|
|
13
|
+
return composer > 0 && claudeTrustClearance(rows.slice(composer - 1).join("\n"));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=last.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"last.js","sourceRoot":"","sources":["../../../src/claude/composer/last.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,QAAQ,GAAG,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staged-input.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/staged-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"staged-input.d.ts","sourceRoot":"","sources":["../../../src/claude/composer/staged-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAYjE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAKnE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,cAAc;;;EAKpE"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { readStagedComposer } from "../../core/input/staged-composer.js";
|
|
3
3
|
import { claudeScreenFactTable } from "../screen-table.js";
|
|
4
4
|
import { claudeEmptyInputFrame, claudeEmptyInputRows } from "./empty-input.js";
|
|
5
|
+
import { claudeTokenCount } from "./footer.js";
|
|
5
6
|
// Captured Claude 2.1.281 staged-only hints; these do not establish empty input.
|
|
6
|
-
const stagedFooter =
|
|
7
|
+
const stagedFooter = new RegExp(String.raw `^\s*(?:paste again to expand(?: +${claudeTokenCount})?|Ctrl\+Y to paste deleted text|ctrl\+g to edit in Nvim)\s*$`);
|
|
7
8
|
const matchesEmptyInputWithStagedFooter = (rows, viewportCursorRow) => claudeEmptyInputRows(rows, viewportCursorRow, stagedFooter);
|
|
8
9
|
export function claudeInputStaged(terminal) {
|
|
9
10
|
return /\[Pasted text|\[Image #\d+\]/.test(readStagedComposer(terminal, matchesEmptyInputWithStagedFooter, claudeScreenFactTable, "❯ ") ??
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staged-input.js","sourceRoot":"","sources":["../../../src/claude/composer/staged-input.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"staged-input.js","sourceRoot":"","sources":["../../../src/claude/composer/staged-input.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,iFAAiF;AACjF,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,MAAM,CAAC,GAAG,CAAA,oCAAoC,gBAAgB,+DAA+D,CAC9H,CAAC;AACF,MAAM,iCAAiC,GAAG,CAAC,IAAuB,EAAE,iBAAyB,EAAE,EAAE,CAC/F,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;AAE9D,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACxD,OAAO,8BAA8B,CAAC,IAAI,CACxC,kBAAkB,CAAC,QAAQ,EAAE,iCAAiC,EAAE,qBAAqB,EAAE,IAAI,CAAC;QAC1F,EAAE,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAwB;IACnE,OAAO;QACL,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACtD,UAAU,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC;KAClD,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Bounded diagnostics for Claude rejection hooks, implementing PRD §6.1 / C-HOOK-20, and
|
|
3
|
+
* Claude's turn-boundary reader, which turns `StopFailure` into a rejection (PRD §5.8, C-API-59).
|
|
4
|
+
*/
|
|
5
|
+
import { type BoundarySignalReader } from "../../core/simple/turn-types.ts";
|
|
2
6
|
/** Accepts the structural diagnostic fields so internal adapters share one selector. */
|
|
3
7
|
export declare function stopFailureDiagnostic(event: {
|
|
4
8
|
readonly error?: unknown;
|
|
5
9
|
readonly error_details?: unknown;
|
|
6
10
|
}): {
|
|
7
11
|
readonly message: string;
|
|
8
|
-
readonly
|
|
12
|
+
readonly agentError?: string;
|
|
9
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Claude fires `StopFailure` INSTEAD of `Stop` when it rejects a turn (an unknown model, an API
|
|
16
|
+
* error). It is a boundary that carries no completeness text plus the rejection; `Stop` and every
|
|
17
|
+
* other hook keep the default reading. Its `last_assistant_message` is Claude's own error text,
|
|
18
|
+
* so it is deliberately not the diagnostic (§6.1). Claude 2.1.310 names the submission with the
|
|
19
|
+
* same `prompt_id` on `UserPromptSubmit` and `StopFailure`; a rejection naming another
|
|
20
|
+
* submission belongs to an earlier turn whose hook arrived late (C-API-59).
|
|
21
|
+
*/
|
|
22
|
+
export declare const claudeBoundarySignal: BoundarySignalReader;
|
|
10
23
|
//# sourceMappingURL=stop-failure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-failure.d.ts","sourceRoot":"","sources":["../../../src/claude/hooks/stop-failure.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"stop-failure.d.ts","sourceRoot":"","sources":["../../../src/claude/hooks/stop-failure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,KAAK,oBAAoB,EAG1B,MAAM,iCAAiC,CAAC;AAEzC,wFAAwF;AACxF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAS7D;AASD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBASlC,CAAC"}
|
|
@@ -1,18 +1,41 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Bounded diagnostics for Claude rejection hooks, implementing PRD §6.1 / C-HOOK-20, and
|
|
3
|
+
* Claude's turn-boundary reader, which turns `StopFailure` into a rejection (PRD §5.8, C-API-59).
|
|
4
|
+
*/
|
|
5
|
+
import { boundedDiagnostic } from "../../core/simple/boundary-signal.js";
|
|
6
|
+
import { defaultBoundarySignal, } from "../../core/simple/turn-types.js";
|
|
3
7
|
/** Accepts the structural diagnostic fields so internal adapters share one selector. */
|
|
4
8
|
export function stopFailureDiagnostic(event) {
|
|
5
|
-
const error =
|
|
6
|
-
const details =
|
|
9
|
+
const error = boundedDiagnostic(event.error);
|
|
10
|
+
const details = boundedDiagnostic(event.error_details);
|
|
7
11
|
return {
|
|
8
12
|
message: details ??
|
|
9
13
|
(error === undefined ? "Claude rejected the turn." : `Claude rejected the turn: ${error}`),
|
|
10
|
-
...(error === undefined ? {} : {
|
|
14
|
+
...(error === undefined ? {} : { agentError: error }),
|
|
11
15
|
};
|
|
12
16
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Claude fires `StopFailure` INSTEAD of `Stop` when it rejects a turn (an unknown model, an API
|
|
19
|
+
* error). It is a boundary that carries no completeness text plus the rejection; `Stop` and every
|
|
20
|
+
* other hook keep the default reading. Its `last_assistant_message` is Claude's own error text,
|
|
21
|
+
* so it is deliberately not the diagnostic (§6.1). Claude 2.1.310 names the submission with the
|
|
22
|
+
* same `prompt_id` on `UserPromptSubmit` and `StopFailure`; a rejection naming another
|
|
23
|
+
* submission belongs to an earlier turn whose hook arrived late (C-API-59).
|
|
24
|
+
*/
|
|
25
|
+
export const claudeBoundarySignal = (event) => {
|
|
26
|
+
if (event.hook_event_name !== "StopFailure")
|
|
27
|
+
return defaultBoundarySignal(event);
|
|
28
|
+
const { message, agentError } = stopFailureDiagnostic(event);
|
|
29
|
+
const rejected = promptId(event);
|
|
30
|
+
const belongsTo = (acceptedBy) => {
|
|
31
|
+
const own = promptId(acceptedBy);
|
|
32
|
+
return rejected === undefined || own === undefined || own === rejected;
|
|
33
|
+
};
|
|
34
|
+
return { text: "", failure: { message, agentError, belongsTo } };
|
|
35
|
+
};
|
|
36
|
+
function promptId(event) {
|
|
37
|
+
return typeof event.prompt_id === "string" && event.prompt_id !== ""
|
|
38
|
+
? event.prompt_id
|
|
39
|
+
: undefined;
|
|
17
40
|
}
|
|
18
41
|
//# sourceMappingURL=stop-failure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-failure.js","sourceRoot":"","sources":["../../../src/claude/hooks/stop-failure.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stop-failure.js","sourceRoot":"","sources":["../../../src/claude/hooks/stop-failure.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAEL,qBAAqB,GAEtB,MAAM,iCAAiC,CAAC;AAEzC,wFAAwF;AACxF,MAAM,UAAU,qBAAqB,CAAC,KAGrC;IACC,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvD,OAAO;QACL,OAAO,EACL,OAAO;YACP,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,6BAA6B,KAAK,EAAE,CAAC;QAC5F,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAyB,CAAC,KAAyB,EAAE,EAAE;IACtF,IAAI,KAAK,CAAC,eAAe,KAAK,aAAa;QAAE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACjF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,CAAC,UAA8B,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,QAAQ,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,CAAC;IACzE,CAAC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAyB;IACzC,OAAO,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,EAAE;QAClE,CAAC,CAAC,KAAK,CAAC,SAAS;QACjB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../src/claude/login/stages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../src/claude/login/stages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,KAAK,EAAqB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAuBxE,mFAAmF;AACnF,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* are validated before they are reported or written.
|
|
7
7
|
*/
|
|
8
8
|
import { elwoodError } from "../../core/errors.js";
|
|
9
|
+
import { arrowDown } from "../../core/input/constants.js";
|
|
9
10
|
import { abortError, holdWhileBlocked, pollDelay, raceSettle } from "./abort.js";
|
|
10
11
|
import { activeRegion, authUrlVisible, extractAuthUrl, loginFailed, loginSucceeded, methodPickerVisible, pasteCodePrompt, } from "./screens.js";
|
|
11
12
|
import { isSafeAuthCode, safeAuthUrl } from "./validate.js";
|
|
@@ -16,7 +17,6 @@ const loginMethodRow = {
|
|
|
16
17
|
console: 1,
|
|
17
18
|
third_party: 2,
|
|
18
19
|
};
|
|
19
|
-
const cursorDown = "\u001b[B";
|
|
20
20
|
const enter = "\r";
|
|
21
21
|
/** True once the flow has clearly moved past the method picker (or ended). */
|
|
22
22
|
function pastPicker(text) {
|
|
@@ -32,7 +32,7 @@ export async function selectMethodIfShown(io, options, signal) {
|
|
|
32
32
|
return;
|
|
33
33
|
const rows = loginMethodRow[options.method ?? "claudeai"];
|
|
34
34
|
for (let i = 0; i < rows; i += 1)
|
|
35
|
-
await write(io,
|
|
35
|
+
await write(io, arrowDown, signal);
|
|
36
36
|
await write(io, enter, signal);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/claude/login/stages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/claude/login/stages.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* Claude /model picker automation spec.
|
|
3
3
|
* Implements PRD §5.3, C-API-23, and C-API-24.
|
|
4
4
|
*/
|
|
5
|
-
import type
|
|
5
|
+
import { type ModelPickerSpec } from "../core/models/picker.ts";
|
|
6
6
|
export declare const claudeModelPicker: ModelPickerSpec;
|
|
7
7
|
//# sourceMappingURL=model-picker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-picker.d.ts","sourceRoot":"","sources":["../../src/claude/model-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"model-picker.d.ts","sourceRoot":"","sources":["../../src/claude/model-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAoCrF,eAAO,MAAM,iBAAiB,EAAE,eAyD/B,CAAC"}
|
|
@@ -2,19 +2,36 @@
|
|
|
2
2
|
* Claude /model picker automation spec.
|
|
3
3
|
* Implements PRD §5.3, C-API-23, and C-API-24.
|
|
4
4
|
*/
|
|
5
|
+
import { arrowDown, arrowUp } from "../core/input/constants.js";
|
|
5
6
|
import { sendPickerInput } from "../core/models/input.js";
|
|
6
|
-
import {
|
|
7
|
+
import { isOwnCompletePicker } from "../core/models/picker.js";
|
|
8
|
+
import { bottomDialogCandidate, bottomDialogRow, claudeModelPickerHeader, parseClaudeModelPicker, } from "../core/models/rows.js";
|
|
7
9
|
import { waitForScreen } from "../core/models/tui-screen.js";
|
|
8
|
-
import {
|
|
10
|
+
import { claudeLastComposerClearance } from "./composer/last.js";
|
|
9
11
|
import { isClaudeIdleComposer, isClaudeSwitchConfirmation, isClaudeSwitchShell, parseClaudeSwitchConfirmation, } from "./model-switch-confirmation.js";
|
|
10
12
|
const enterKey = "\r";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Claude's picker closes with `Esc to cancel`, windows a list longer than ten rows, and
|
|
15
|
+
* paints a radio-style effort row between its rows and that footer. The effort row follows
|
|
16
|
+
* the HIGHLIGHTED model (2.1.310): ○ low, ◐ medium, ● high, ◉ xhigh, ◈ max, or
|
|
17
|
+
* `○ Effort not supported for Haiku 4.5`. It is matched by its own copy because `●` is also
|
|
18
|
+
* a reply bullet, which the region grammar otherwise rejects as transcript.
|
|
19
|
+
*/
|
|
20
|
+
const pickerGrammar = {
|
|
21
|
+
header: claudeModelPickerHeader,
|
|
22
|
+
footer: /\besc to cancel\b/i,
|
|
23
|
+
controlRow: /^\s*[○◐●◉◈] (?:\S.* ←\/→ to adjust|Effort not supported for \S.*?)\s*$/,
|
|
24
|
+
// `↑ 3.` marks the window's first row while rows are hidden above it, `↓ 10.` its last
|
|
25
|
+
// while rows are hidden below, with `… +3 models` (`… +1 model`) directly under it. The
|
|
26
|
+
// cursor glyph replaces either marker on its own row.
|
|
27
|
+
scroll: { above: /^\s*↑/, below: /^\s*↓/, overflow: /^\s*…\s*\+(?<hidden>\d+) models?\s*$/ },
|
|
28
|
+
};
|
|
13
29
|
export const claudeModelPicker = {
|
|
14
30
|
agent: "claude",
|
|
15
|
-
isClear:
|
|
16
|
-
isCandidate: (text) => bottomDialogCandidate(text,
|
|
17
|
-
|
|
31
|
+
isClear: claudeLastComposerClearance,
|
|
32
|
+
isCandidate: (text) => bottomDialogCandidate(text, pickerGrammar) || isClaudeSwitchShell(text),
|
|
33
|
+
hasPickerHeader: (text) => claudeModelPickerHeader.test(text),
|
|
34
|
+
isCallerDialog: (text) => parseClaudeSwitchConfirmation(text)?.isCacheWarning === false,
|
|
18
35
|
// A PreModelSwitch hook confirmation shares the warning's shell but is the caller's.
|
|
19
36
|
activeDialog: (text, authority) => {
|
|
20
37
|
// Nothing on screen is our dialog unless we opened one; the grammar below only has to
|
|
@@ -29,16 +46,16 @@ export const claudeModelPicker = {
|
|
|
29
46
|
// The title without its options yet: hold input on it, but never write to it.
|
|
30
47
|
if (isClaudeSwitchShell(text))
|
|
31
48
|
return "painting";
|
|
32
|
-
return bottomDialogRow(text,
|
|
49
|
+
return bottomDialogRow(text, pickerGrammar) < 0 ? undefined : "picker";
|
|
33
50
|
},
|
|
34
|
-
parse: parseClaudeModelPicker,
|
|
51
|
+
parse: (text) => parseClaudeModelPicker(text, pickerGrammar.scroll),
|
|
35
52
|
// "s" applies for this session only. Enter or a number key would save the
|
|
36
53
|
// selection as the user's default for new sessions, which §4.5 forbids.
|
|
37
54
|
apply: async (io, timeoutMs) => {
|
|
38
55
|
// The `s` key applies a model, so it is revalidated against the OPERATION'S OWN picker
|
|
39
56
|
// rather than a bare header: transcript or agent output can print `Select model`, and
|
|
40
57
|
// this key would then select whatever that screen is showing (C-API-24).
|
|
41
|
-
await sendPickerInput(io, "s", (
|
|
58
|
+
await sendPickerInput(io, "s", isOwnCompletePicker(claudeModelPicker));
|
|
42
59
|
const next = await waitForScreen(io.terminal, (text) => cacheConfirmationWithCursor(text) || switchSettled(text), timeoutMs, "claude model switch confirmation or idle composer", io.signal);
|
|
43
60
|
const confirmation = parseClaudeSwitchConfirmation(next);
|
|
44
61
|
if (confirmation?.isCacheWarning === true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/claude/model-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/claude/model-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare const minimumClaudeVersion = "2.1.144";
|
|
|
8
8
|
export type ClaudePreflightWarning = DistributiveOmit<Extract<ElwoodWarningEvent, {
|
|
9
9
|
readonly code: "version_unparseable" | "agent_update_failed";
|
|
10
10
|
}>, "elwoodSessionId">;
|
|
11
|
-
export declare function preflightClaude(strictVersionCheck: boolean, autoupdate?: boolean): Promise<ClaudePreflightWarning | undefined>;
|
|
11
|
+
export declare function preflightClaude(strictVersionCheck: boolean, autoupdate?: boolean, cwd?: string): Promise<ClaudePreflightWarning | undefined>;
|
|
12
12
|
type WithSessionId<W> = W extends unknown ? W & {
|
|
13
13
|
readonly elwoodSessionId: string;
|
|
14
14
|
} : never;
|