@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,25 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { newEpisode } from "./types.js";
|
|
1
|
+
import { GateDeadline, gateBudgetMs } from "./deadline.js";
|
|
2
|
+
import { attempted, leaveFrame, newEpisode } from "./types.js";
|
|
3
3
|
import { choiceIdentity, readTrustView, trustView } from "./view.js";
|
|
4
4
|
import { TrustAttempt } from "./write.js";
|
|
5
5
|
export { trustPromptVisible } from "./view.js";
|
|
6
|
-
const episodeTimeoutMs = 5_000;
|
|
7
6
|
export class TrustPromptResponder {
|
|
8
7
|
episode;
|
|
9
8
|
humanPrompt;
|
|
10
|
-
|
|
9
|
+
deadline = new GateDeadline();
|
|
11
10
|
attempts = new Set();
|
|
12
11
|
disposed = false;
|
|
13
12
|
agent;
|
|
14
13
|
autotrust;
|
|
15
|
-
|
|
14
|
+
hooks;
|
|
16
15
|
/** The ADAPTER's clearance grammar; the coordinator never encodes a CLI's layout. */
|
|
17
16
|
clearance;
|
|
18
|
-
constructor(agent, clearance, autotrust = false,
|
|
17
|
+
constructor(agent, clearance, autotrust = false, hooks = {}) {
|
|
19
18
|
this.agent = agent;
|
|
20
19
|
this.clearance = clearance;
|
|
21
20
|
this.autotrust = autotrust;
|
|
22
|
-
this.
|
|
21
|
+
this.hooks = hooks;
|
|
23
22
|
}
|
|
24
23
|
get inputBlocking() {
|
|
25
24
|
return this.humanPrompt !== undefined || this.episode !== undefined;
|
|
@@ -36,6 +35,10 @@ export class TrustPromptResponder {
|
|
|
36
35
|
const priorIdentity = this.episode?.lastIdentity;
|
|
37
36
|
const view = trustView(frame, this.agent, this.clearance);
|
|
38
37
|
this.observe(view);
|
|
38
|
+
// A rendered frame is evidence for the gate's next attempt as well as its current one.
|
|
39
|
+
if (this.episode !== undefined)
|
|
40
|
+
this.episode.phase.renderedSinceWrite = true;
|
|
41
|
+
this.episode?.attempt?.wake();
|
|
39
42
|
const episode = this.episode;
|
|
40
43
|
if (view.kind !== "candidate" || episode === undefined || view.key !== episode.candidate.key)
|
|
41
44
|
return undefined;
|
|
@@ -60,19 +63,20 @@ export class TrustPromptResponder {
|
|
|
60
63
|
episode.reportedPending = true;
|
|
61
64
|
return { kind: "option_pending", prompt: view.spec.id };
|
|
62
65
|
}
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
// Running now, answered without a reader, or this choice was already attempted.
|
|
67
|
+
const attemptAlreadyHandled = episode.attempt !== undefined ||
|
|
65
68
|
episode.legacyAnswered ||
|
|
66
|
-
episode.attemptedIdentity === identity
|
|
69
|
+
episode.attemptedIdentity === identity;
|
|
70
|
+
if (episode.expired || episode.callerOwned || attemptAlreadyHandled)
|
|
67
71
|
return undefined;
|
|
68
72
|
const read = readFrame === undefined
|
|
69
73
|
? undefined
|
|
70
74
|
: () => readTrustView(readFrame, this.agent, this.clearance);
|
|
71
|
-
const attempt = new TrustAttempt(view, identity);
|
|
75
|
+
const attempt = new TrustAttempt(view, identity, episode.phase, this.hooks.numberedRetry);
|
|
72
76
|
episode.attempt = attempt;
|
|
73
77
|
episode.attemptedIdentity = identity;
|
|
74
78
|
this.attempts.add(attempt);
|
|
75
|
-
const settled = attempt.start(write, read,
|
|
79
|
+
const settled = attempt.start(write, read, this.deadline).then((completion) => {
|
|
76
80
|
this.attempts.delete(attempt);
|
|
77
81
|
if (this.disposed || attempt.invalidated)
|
|
78
82
|
return "cancelled";
|
|
@@ -83,7 +87,7 @@ export class TrustPromptResponder {
|
|
|
83
87
|
episode.attemptedIdentity = undefined;
|
|
84
88
|
if (read === undefined && completion === "answered") {
|
|
85
89
|
episode.legacyAnswered = true;
|
|
86
|
-
|
|
90
|
+
this.deadline.cancel();
|
|
87
91
|
}
|
|
88
92
|
if (read === undefined)
|
|
89
93
|
return completion;
|
|
@@ -107,19 +111,22 @@ export class TrustPromptResponder {
|
|
|
107
111
|
episode.attemptedIdentity = undefined;
|
|
108
112
|
throw error;
|
|
109
113
|
});
|
|
110
|
-
return
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
return attempted(view.spec.id, view.option, settled);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Raw caller input owns the gate on screen: its attempt is cancelled before the caller's
|
|
118
|
+
* keys are written, and automation writes nothing more to that gate (C-TRUST-01).
|
|
119
|
+
*/
|
|
120
|
+
callerInput() {
|
|
121
|
+
if (this.episode === undefined)
|
|
122
|
+
return;
|
|
123
|
+
this.episode.callerOwned = true;
|
|
124
|
+
this.episode.attempt?.cancel();
|
|
118
125
|
}
|
|
119
126
|
/** Session closing owns all cancellation, including writes whose promises settle late. */
|
|
120
127
|
dispose() {
|
|
121
128
|
this.disposed = true;
|
|
122
|
-
|
|
129
|
+
this.deadline.cancel();
|
|
123
130
|
for (const attempt of this.attempts)
|
|
124
131
|
attempt.cancel();
|
|
125
132
|
this.episode = undefined;
|
|
@@ -133,10 +140,9 @@ export class TrustPromptResponder {
|
|
|
133
140
|
if (view.kind === "unknown") {
|
|
134
141
|
// Unknown/partial replacements retain human ownership until verified clearance.
|
|
135
142
|
if (this.episode) {
|
|
136
|
-
this.episode.
|
|
137
|
-
|
|
138
|
-
this.
|
|
139
|
-
this.episode.lastIdentity = undefined;
|
|
143
|
+
leaveFrame(this.episode, view.gate === true);
|
|
144
|
+
// No human can act on a gate that left the frame; its budget waits for its return.
|
|
145
|
+
this.deadline.pause();
|
|
140
146
|
}
|
|
141
147
|
return;
|
|
142
148
|
}
|
|
@@ -148,6 +154,7 @@ export class TrustPromptResponder {
|
|
|
148
154
|
}
|
|
149
155
|
if (this.episode?.candidate.key === view.key) {
|
|
150
156
|
this.episode.lastIdentity = choiceIdentity(view);
|
|
157
|
+
this.deadline.resume();
|
|
151
158
|
return;
|
|
152
159
|
}
|
|
153
160
|
const blocked = this.blockedPrompt !== undefined;
|
|
@@ -162,28 +169,25 @@ export class TrustPromptResponder {
|
|
|
162
169
|
this.arm(episode);
|
|
163
170
|
}
|
|
164
171
|
arm(episode) {
|
|
165
|
-
clearTimeout(this.timer);
|
|
166
172
|
episode.expired = false;
|
|
167
|
-
|
|
168
|
-
this.timer = setTimeout(() => {
|
|
173
|
+
this.deadline.start(gateBudgetMs, () => {
|
|
169
174
|
episode.expired = true;
|
|
170
175
|
episode.expiredIdentity = episode.lastIdentity;
|
|
171
176
|
episode.blocked = true;
|
|
172
177
|
episode.attempt?.cancel();
|
|
173
178
|
episode.attempt = undefined;
|
|
174
179
|
this.notify();
|
|
175
|
-
}
|
|
176
|
-
this.timer.unref();
|
|
180
|
+
});
|
|
177
181
|
}
|
|
178
182
|
release(cleared) {
|
|
179
|
-
|
|
183
|
+
this.deadline.cancel();
|
|
180
184
|
this.episode?.attempt?.cancel(cleared);
|
|
181
185
|
this.episode = undefined;
|
|
182
186
|
this.humanPrompt = undefined;
|
|
183
187
|
}
|
|
184
188
|
notify() {
|
|
185
189
|
try {
|
|
186
|
-
this.onStateChange?.();
|
|
190
|
+
this.hooks.onStateChange?.();
|
|
187
191
|
}
|
|
188
192
|
catch {
|
|
189
193
|
/* An observer cannot retain owned timers or writes. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responder.js","sourceRoot":"","sources":["../../../src/core/trust/responder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"responder.js","sourceRoot":"","sources":["../../../src/core/trust/responder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The keys one trust answer writes, and what a retry of it may write (PRD §5.4,
|
|
3
|
+
* C-TRUST-01). Kept apart from the attempt's lifecycle in `write.ts`.
|
|
4
|
+
*/
|
|
5
|
+
import { type SelectableOption } from "../terminal-options.ts";
|
|
6
|
+
export declare const retryMs = 250;
|
|
7
|
+
export declare const observationMs = 20;
|
|
8
|
+
export type TrustStep = {
|
|
9
|
+
/** The raw PTY keystrokes, not the printable answer summary activity reports. */
|
|
10
|
+
readonly keys: string;
|
|
11
|
+
/** The write confirms the answer (it carries Enter). */
|
|
12
|
+
readonly confirm: boolean;
|
|
13
|
+
readonly pollMs: number;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* A cursor answer never sends a relative arrow or a bare Enter (docs/cli-behavior.md).
|
|
17
|
+
* Claude 2.1.310 remounts its dialog with the cursor back on "No, exit" once its input
|
|
18
|
+
* guard settles, and a retried arrow can land after the first already moved; a bare
|
|
19
|
+
* Enter decided from the earlier frame then confirms the decline. The absolute selection
|
|
20
|
+
* lands on the same row however often it repeats, and Enter travels only in the same
|
|
21
|
+
* write as it, once the rendered cursor sits on the affirmative.
|
|
22
|
+
*/
|
|
23
|
+
export declare function trustStep(option: SelectableOption): TrustStep;
|
|
24
|
+
/**
|
|
25
|
+
* Shared by every attempt at one gate, so a later attempt (after a rejected write, a lost
|
|
26
|
+
* choice, or expiry) retries as after the gate's last write, never by typing a number
|
|
27
|
+
* blind. Only another complete dialog replacing the gate makes its return a fresh one.
|
|
28
|
+
*/
|
|
29
|
+
export type TrustPhase = {
|
|
30
|
+
/**
|
|
31
|
+
* A confirming write was started, whatever its outcome: a rejected or abandoned write
|
|
32
|
+
* may still have reached the CLI, so the gate's later numbered steps are retries.
|
|
33
|
+
*/
|
|
34
|
+
confirmationWriteAttempted: boolean;
|
|
35
|
+
/** A confirming write fulfilled. That is not clearance, which only a frame verifies. */
|
|
36
|
+
confirmationWriteFulfilled: boolean;
|
|
37
|
+
/** A frame rendered after the last write: only such a frame can show it was ignored. */
|
|
38
|
+
renderedSinceWrite: boolean;
|
|
39
|
+
};
|
|
40
|
+
/** The phase of a gate the CLI drew afresh: nothing written to it yet. */
|
|
41
|
+
export declare function freshPhase(): TrustPhase;
|
|
42
|
+
type SelectableNumberedOption = Extract<SelectableOption, {
|
|
43
|
+
style: "numbered";
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* What a numbered answer's retry writes after its first write typed the number
|
|
47
|
+
* (`trustStep`); `undefined` waits for the next rendered frame. A frame still showing
|
|
48
|
+
* the gate does not prove the CLI ignored the answer: under load Codex 0.164 takes `1\r`
|
|
49
|
+
* but paints its composer after the retry interval, and the same keys typed again submit
|
|
50
|
+
* "1" as a user turn. Each adapter chooses its retry beside its clearance grammar
|
|
51
|
+
* (C-TRUST-01).
|
|
52
|
+
*/
|
|
53
|
+
export type NumberedRetry = (option: SelectableNumberedOption, renderedSinceWrite: boolean) => TrustStep | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* The default: the number again, but only once a frame rendered from output received
|
|
56
|
+
* after the last write still shows the gate. Claude needs this: its list remounts with
|
|
57
|
+
* the caret on the decline, so a bare Enter could exit.
|
|
58
|
+
*/
|
|
59
|
+
export declare const retypeAfterRender: NumberedRetry;
|
|
60
|
+
/**
|
|
61
|
+
* For a CLI whose gate confirms its highlighted option on Enter and whose empty composer
|
|
62
|
+
* ignores a bare Enter: Enter alone while the rendered caret is on the affirmative, which
|
|
63
|
+
* confirms the gate or does nothing; otherwise `retypeAfterRender`.
|
|
64
|
+
*/
|
|
65
|
+
export declare const enterWhileSelected: NumberedRetry;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/core/trust/step.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,eAAO,MAAM,OAAO,MAAM,CAAC;AAC3B,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,MAAM,MAAM,SAAS,GAAG;IACtB,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAM7D;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC,wFAAwF;IACxF,0BAA0B,EAAE,OAAO,CAAC;IACpC,wFAAwF;IACxF,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,UAAU,IAAI,UAAU,CAMvC;AAED,KAAK,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,EAAE;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,wBAAwB,EAChC,kBAAkB,EAAE,OAAO,KACxB,SAAS,GAAG,SAAS,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,aACoB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAGkB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The keys one trust answer writes, and what a retry of it may write (PRD §5.4,
|
|
3
|
+
* C-TRUST-01). Kept apart from the attempt's lifecycle in `write.ts`.
|
|
4
|
+
*/
|
|
5
|
+
import { cursorSelection } from "../terminal-options.js";
|
|
6
|
+
export const retryMs = 250;
|
|
7
|
+
export const observationMs = 20;
|
|
8
|
+
/**
|
|
9
|
+
* A cursor answer never sends a relative arrow or a bare Enter (docs/cli-behavior.md).
|
|
10
|
+
* Claude 2.1.310 remounts its dialog with the cursor back on "No, exit" once its input
|
|
11
|
+
* guard settles, and a retried arrow can land after the first already moved; a bare
|
|
12
|
+
* Enter decided from the earlier frame then confirms the decline. The absolute selection
|
|
13
|
+
* lands on the same row however often it repeats, and Enter travels only in the same
|
|
14
|
+
* write as it, once the rendered cursor sits on the affirmative.
|
|
15
|
+
*/
|
|
16
|
+
export function trustStep(option) {
|
|
17
|
+
if (option.style === "numbered")
|
|
18
|
+
return { keys: `${option.number}\r`, confirm: true, pollMs: retryMs };
|
|
19
|
+
const select = cursorSelection(option);
|
|
20
|
+
const confirm = option.offset === 0;
|
|
21
|
+
return { keys: confirm ? `${select}\r` : select, confirm, pollMs: observationMs };
|
|
22
|
+
}
|
|
23
|
+
/** The phase of a gate the CLI drew afresh: nothing written to it yet. */
|
|
24
|
+
export function freshPhase() {
|
|
25
|
+
return {
|
|
26
|
+
confirmationWriteAttempted: false,
|
|
27
|
+
confirmationWriteFulfilled: false,
|
|
28
|
+
renderedSinceWrite: false,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The default: the number again, but only once a frame rendered from output received
|
|
33
|
+
* after the last write still shows the gate. Claude needs this: its list remounts with
|
|
34
|
+
* the caret on the decline, so a bare Enter could exit.
|
|
35
|
+
*/
|
|
36
|
+
export const retypeAfterRender = (option, renderedSinceWrite) => renderedSinceWrite ? trustStep(option) : undefined;
|
|
37
|
+
/**
|
|
38
|
+
* For a CLI whose gate confirms its highlighted option on Enter and whose empty composer
|
|
39
|
+
* ignores a bare Enter: Enter alone while the rendered caret is on the affirmative, which
|
|
40
|
+
* confirms the gate or does nothing; otherwise `retypeAfterRender`.
|
|
41
|
+
*/
|
|
42
|
+
export const enterWhileSelected = (option, renderedSinceWrite) => option.selected === true
|
|
43
|
+
? { keys: "\r", confirm: true, pollMs: retryMs }
|
|
44
|
+
: retypeAfterRender(option, renderedSinceWrite);
|
|
45
|
+
//# sourceMappingURL=step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/core/trust/step.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAyB,MAAM,wBAAwB,CAAC;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAUhC;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,MAAwB;IAChD,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU;QAC7B,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AACpF,CAAC;AAmBD,0EAA0E;AAC1E,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,0BAA0B,EAAE,KAAK;QACjC,0BAA0B,EAAE,KAAK;QACjC,kBAAkB,EAAE,KAAK;KAC1B,CAAC;AACJ,CAAC;AAiBD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAC7E,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAC9E,MAAM,CAAC,QAAQ,KAAK,IAAI;IACtB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAChD,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
/** Attempt descriptors distinguish trust input from confirmed clearance (PRD §5.4). */
|
|
2
2
|
import type { ElwoodAgentKind } from "../activity/index.ts";
|
|
3
3
|
import type { StartupWriteCompletion } from "../startup/write.ts";
|
|
4
|
+
import { type SelectableOption } from "../terminal-options.ts";
|
|
4
5
|
import type { TrustPromptIdFor } from "./prompts.ts";
|
|
6
|
+
import { type NumberedRetry, type TrustPhase } from "./step.ts";
|
|
5
7
|
import { type TrustCandidate } from "./view.ts";
|
|
6
8
|
import type { TrustAttempt } from "./write.ts";
|
|
7
9
|
export type TrustPromptAutomation<A extends ElwoodAgentKind = ElwoodAgentKind> = {
|
|
8
10
|
readonly prompt: TrustPromptIdFor<A>;
|
|
9
11
|
readonly input: string;
|
|
10
12
|
};
|
|
13
|
+
/** What an adapter supplies beside its clearance grammar (C-TRUST-01). */
|
|
14
|
+
export type TrustHooks = {
|
|
15
|
+
/** Told when blocking state changes without a frame (expiry, settlement). */
|
|
16
|
+
readonly onStateChange?: (() => void) | undefined;
|
|
17
|
+
/** What a numbered retry writes; the default retypes only after a rendered frame. */
|
|
18
|
+
readonly numberedRetry?: NumberedRetry;
|
|
19
|
+
};
|
|
11
20
|
/** Raw PTY result; the coordinator separately owns cancellation and clearance. */
|
|
12
21
|
export type TrustWriteResult = void | Promise<void>;
|
|
13
22
|
export type TrustPromptResult<A extends ElwoodAgentKind = ElwoodAgentKind> = {
|
|
@@ -21,7 +30,6 @@ export type TrustPromptResult<A extends ElwoodAgentKind = ElwoodAgentKind> = {
|
|
|
21
30
|
/** Mutable coordinator state stays owned by a single observed trust generation. */
|
|
22
31
|
export type Episode = {
|
|
23
32
|
candidate: TrustCandidate;
|
|
24
|
-
deadlineAtMs: number;
|
|
25
33
|
blocked: boolean;
|
|
26
34
|
expired: boolean;
|
|
27
35
|
expiredIdentity: string | undefined;
|
|
@@ -29,8 +37,20 @@ export type Episode = {
|
|
|
29
37
|
attemptedIdentity: string | undefined;
|
|
30
38
|
reportedPending: boolean;
|
|
31
39
|
legacyAnswered: boolean;
|
|
40
|
+
/** Raw caller input reached this gate; automation writes nothing more to it. */
|
|
41
|
+
callerOwned: boolean;
|
|
42
|
+
/** Every attempt at this gate shares it, so its writes and frames outlive each attempt. */
|
|
43
|
+
readonly phase: TrustPhase;
|
|
32
44
|
attempt: TrustAttempt | undefined;
|
|
33
45
|
};
|
|
34
46
|
/** A fresh episode for a newly observed candidate; only `blocked` carries over. */
|
|
35
47
|
export declare function newEpisode(candidate: TrustCandidate, blocked: boolean): Episode;
|
|
48
|
+
/** The result announcing an attempt at `prompt`'s affirmative `option`. */
|
|
49
|
+
export declare function attempted<A extends ElwoodAgentKind>(prompt: TrustPromptIdFor<A>, option: SelectableOption, settled: Promise<StartupWriteCompletion>): TrustPromptResult<A>;
|
|
50
|
+
/**
|
|
51
|
+
* The gate left the frame. An unconfirmed attempt lost its choice; a confirmed answer
|
|
52
|
+
* keeps waiting for verified clearance or the gate's return, unless an off-allowlist
|
|
53
|
+
* gate a human must answer replaced it (C-TRUST-01).
|
|
54
|
+
*/
|
|
55
|
+
export declare function leaveFrame(episode: Episode, offAllowlistGate: boolean): void;
|
|
36
56
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI;IAC/E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IACrE;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACnD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,GACzE,SAAS,CAAC;AAEd,mFAAmF;AACnF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAc,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI;IAC/E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClD,qFAAqF;IACrF,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC,CAAC;AACF,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IACrE;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACnD,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CAAE,GACzE,SAAS,CAAC;AAEd,mFAAmF;AACnF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAc/E;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,CAAC,SAAS,eAAe,EACjD,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACvC,iBAAiB,CAAC,CAAC,CAAC,CAEtB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAS5E"}
|
package/dist/core/trust/types.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { optionInput } from "../terminal-options.js";
|
|
2
|
+
import { freshPhase } from "./step.js";
|
|
1
3
|
import { choiceIdentity } from "./view.js";
|
|
2
4
|
/** A fresh episode for a newly observed candidate; only `blocked` carries over. */
|
|
3
5
|
export function newEpisode(candidate, blocked) {
|
|
4
6
|
return {
|
|
5
7
|
candidate,
|
|
6
|
-
deadlineAtMs: 0,
|
|
7
8
|
blocked,
|
|
8
9
|
expired: false,
|
|
9
10
|
expiredIdentity: undefined,
|
|
@@ -11,7 +12,30 @@ export function newEpisode(candidate, blocked) {
|
|
|
11
12
|
attemptedIdentity: undefined,
|
|
12
13
|
reportedPending: false,
|
|
13
14
|
legacyAnswered: false,
|
|
15
|
+
callerOwned: false,
|
|
16
|
+
phase: freshPhase(),
|
|
14
17
|
attempt: undefined,
|
|
15
18
|
};
|
|
16
19
|
}
|
|
20
|
+
/** The result announcing an attempt at `prompt`'s affirmative `option`. */
|
|
21
|
+
export function attempted(prompt, option, settled) {
|
|
22
|
+
return { kind: "attempted", automation: { prompt, input: optionInput(option) }, settled };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The gate left the frame. An unconfirmed attempt lost its choice; a confirmed answer
|
|
26
|
+
* keeps waiting for verified clearance or the gate's return, unless an off-allowlist
|
|
27
|
+
* gate a human must answer replaced it (C-TRUST-01).
|
|
28
|
+
*/
|
|
29
|
+
export function leaveFrame(episode, offAllowlistGate) {
|
|
30
|
+
episode.lastIdentity = undefined;
|
|
31
|
+
const confirmed = episode.phase.confirmationWriteFulfilled;
|
|
32
|
+
if (episode.attempt !== undefined && confirmed && !offAllowlistGate)
|
|
33
|
+
return;
|
|
34
|
+
episode.attempt?.cancel();
|
|
35
|
+
episode.attempt = undefined;
|
|
36
|
+
episode.attemptedIdentity = undefined;
|
|
37
|
+
// Another complete dialog replaced the gate, so the CLI drew its return afresh.
|
|
38
|
+
if (offAllowlistGate)
|
|
39
|
+
Object.assign(episode.phase, freshPhase());
|
|
40
|
+
}
|
|
17
41
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/trust/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAyB,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAuC,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAuB,MAAM,WAAW,CAAC;AA0ChE,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,SAAyB,EAAE,OAAgB;IACpE,OAAO;QACL,SAAS;QACT,OAAO;QACP,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,cAAc,CAAC,SAAS,CAAC;QACvC,iBAAiB,EAAE,SAAS;QAC5B,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,KAAK;QAClB,KAAK,EAAE,UAAU,EAAE;QACnB,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CACvB,MAA2B,EAC3B,MAAwB,EACxB,OAAwC;IAExC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,gBAAyB;IACpE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC;IAC3D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,SAAS,IAAI,CAAC,gBAAgB;QAAE,OAAO;IAC5E,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACtC,gFAAgF;IAChF,IAAI,gBAAgB;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -16,10 +16,12 @@ export type TrustCandidate = {
|
|
|
16
16
|
readonly valid: boolean;
|
|
17
17
|
readonly option: SelectableOption | undefined;
|
|
18
18
|
};
|
|
19
|
+
/** `gate` marks a complete off-allowlist dialog, which a human must answer. */
|
|
19
20
|
export type TrustView = TrustCandidate | {
|
|
20
21
|
readonly kind: "clear";
|
|
21
22
|
} | {
|
|
22
23
|
readonly kind: "unknown";
|
|
24
|
+
readonly gate?: true;
|
|
23
25
|
};
|
|
24
26
|
/** A present reader with unavailable output must never become the permissive no-reader mode. */
|
|
25
27
|
export declare function readTrustView(readFrame: () => string | undefined, agent: ElwoodAgentKind, clearance: TrustClearance): TrustView | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAA4B,KAAK,eAAe,EAAwB,MAAM,cAAc,CAAC;AAEpG,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC/C,CAAC;AACF,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GACjB,cAAc,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvD,gGAAgG;AAChG,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,EACnC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,GACxB,SAAS,GAAG,SAAS,CAGvB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAKhF;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,GACxB,SAAS,CAwBX;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CASvE"}
|
package/dist/core/trust/view.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { unknownGateVisible } from "./blocking.js";
|
|
1
2
|
import { parseTrustCandidates, parseTrustDialog } from "./dialog.js";
|
|
2
3
|
import { activeTrustDialogVisible, trustPromptAllowlist } from "./prompts.js";
|
|
3
4
|
/** A present reader with unavailable output must never become the permissive no-reader mode. */
|
|
@@ -33,6 +34,8 @@ export function trustView(frame, agent, clearance) {
|
|
|
33
34
|
};
|
|
34
35
|
}
|
|
35
36
|
}
|
|
37
|
+
if (unknownGateVisible(regions, agent))
|
|
38
|
+
return { kind: "unknown", gate: true };
|
|
36
39
|
if (regions.length > 0)
|
|
37
40
|
return { kind: "unknown" };
|
|
38
41
|
return { kind: clearance(frame) ? "clear" : "unknown" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/core/trust/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
/** One abortable, generation-owned trust attempt for both layouts (PRD §5.4/C-TRUST-01). */
|
|
2
2
|
import type { StartupWriteCompletion } from "../startup/write.ts";
|
|
3
|
+
import type { GateDeadline } from "./deadline.ts";
|
|
4
|
+
import { type NumberedRetry, type TrustPhase } from "./step.ts";
|
|
3
5
|
import type { TrustWriteResult } from "./types.ts";
|
|
4
6
|
import { type TrustCandidate, type TrustView } from "./view.ts";
|
|
5
7
|
export declare class TrustAttempt {
|
|
6
8
|
readonly candidate: TrustCandidate;
|
|
7
9
|
readonly identity: string;
|
|
8
10
|
private readonly controller;
|
|
9
|
-
private confirmationWriteFulfilled;
|
|
10
11
|
private clearance;
|
|
12
|
+
private retryAt;
|
|
13
|
+
private previousKeys;
|
|
14
|
+
private wakeWaiter;
|
|
11
15
|
invalidated: boolean;
|
|
12
16
|
/** The polled choice vanished mid-attempt; its return deserves a fresh attempt. */
|
|
13
17
|
lostChoice: boolean;
|
|
14
|
-
|
|
18
|
+
private readonly numberedRetry;
|
|
19
|
+
/** The gate's write phase, shared with its earlier and later attempts. */
|
|
20
|
+
readonly phase: TrustPhase;
|
|
21
|
+
constructor(candidate: TrustCandidate, identity: string, phase: TrustPhase, numberedRetry?: NumberedRetry);
|
|
15
22
|
get cleared(): boolean;
|
|
16
|
-
|
|
23
|
+
/** A frame rendered: a waiting answer or retry re-reads it (`awaiting`, `numberedRetry`). */
|
|
24
|
+
wake(): void;
|
|
25
|
+
/** The deadline is read live, so a gate that returns writes within its resumed budget. */
|
|
26
|
+
start(write: (input: string) => TrustWriteResult, read: (() => TrustView | undefined) | undefined, deadline: Pick<GateDeadline, "deadlineAtMs">): Promise<StartupWriteCompletion>;
|
|
17
27
|
/**
|
|
18
28
|
* With a live reader, only an observed clear/successor after a fulfilled confirmation
|
|
19
29
|
* permits success. Without one (`atomic`), a fulfilled numbered write is the only evidence.
|
|
@@ -22,10 +32,25 @@ export declare class TrustAttempt {
|
|
|
22
32
|
private completion;
|
|
23
33
|
private atomic;
|
|
24
34
|
private run;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
/**
|
|
36
|
+
* `view`'s choice settled, or the wait for the next read: false once aborted. Not async,
|
|
37
|
+
* so a rejected write reaches `run` in as few turns as a direct `send` would.
|
|
38
|
+
*/
|
|
39
|
+
private answer;
|
|
40
|
+
private stepFor;
|
|
41
|
+
/**
|
|
42
|
+
* A confirmed answer whose gate left the frame (the CLI erased it and is painting its
|
|
43
|
+
* next screen), or whose frame is unavailable, writes nothing and is not lost: it waits,
|
|
44
|
+
* unbounded here and without polling, for verified clearance or the gate's return. The
|
|
45
|
+
* coordinator owns that wait's end: clearance, expiry, a changed gate, an off-allowlist
|
|
46
|
+
* gate (which a human must answer), or closing (C-TRUST-01).
|
|
47
|
+
*/
|
|
48
|
+
private awaiting;
|
|
49
|
+
private nextFrame;
|
|
28
50
|
private own;
|
|
29
51
|
private pause;
|
|
52
|
+
/** Write `step` unless it repeats the last input within the retry interval, then pause. */
|
|
53
|
+
private send;
|
|
54
|
+
private readChoice;
|
|
30
55
|
}
|
|
31
56
|
//# sourceMappingURL=write.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/core/trust/write.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../src/core/trust/write.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,UAAU,EAGhB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAkB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEhF,qBAAa,YAAY;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAA2B;IAC7C,WAAW,UAAS;IACpB,mFAAmF;IACnF,UAAU,UAAS;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;gBAGzB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EACjB,aAAa,GAAE,aAAiC;IAQlD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,6FAA6F;IAC7F,IAAI,IAAI,IAAI;IAOZ,0FAA0F;IAC1F,KAAK,CACH,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAC1C,IAAI,EAAE,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,SAAS,EAC/C,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,GAC3C,OAAO,CAAC,sBAAsB,CAAC;IAQlC;;;OAGG;IACH,MAAM,CAAC,OAAO,UAAQ,GAAG,IAAI;IAM7B,OAAO,CAAC,UAAU;YAKJ,MAAM;YASN,GAAG;IA2BjB;;;OAGG;IACH,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,OAAO;IAKf;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIb,2FAA2F;YAC7E,IAAI;IAoBlB,OAAO,CAAC,UAAU;CAanB"}
|