@with-logic/elwood 0.1.0 → 0.1.1
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 +166 -1
- package/LICENSE +1 -1
- package/README.md +276 -13
- package/dist/claude/command.d.ts +9 -2
- package/dist/claude/command.d.ts.map +1 -1
- package/dist/claude/command.js +23 -16
- package/dist/claude/command.js.map +1 -1
- package/dist/claude/session/index.d.ts.map +1 -1
- package/dist/claude/session/index.js +5 -2
- package/dist/claude/session/index.js.map +1 -1
- package/dist/claude/session/resume.d.ts +1 -1
- package/dist/claude/session/resume.d.ts.map +1 -1
- package/dist/claude/session/resume.js +5 -1
- package/dist/claude/session/resume.js.map +1 -1
- package/dist/claude/simple.d.ts.map +1 -1
- package/dist/claude/simple.js +4 -0
- package/dist/claude/simple.js.map +1 -1
- package/dist/cli/args/index.d.ts +3 -1
- package/dist/cli/args/index.d.ts.map +1 -1
- package/dist/cli/args/index.js +10 -2
- package/dist/cli/args/index.js.map +1 -1
- package/dist/cli/args/options.d.ts.map +1 -1
- package/dist/cli/args/options.js +2 -0
- package/dist/cli/args/options.js.map +1 -1
- package/dist/cli/args-commands.d.ts +10 -0
- package/dist/cli/args-commands.d.ts.map +1 -0
- package/dist/cli/args-commands.js +113 -0
- package/dist/cli/args-commands.js.map +1 -0
- package/dist/cli/command-types.d.ts +26 -0
- package/dist/cli/command-types.d.ts.map +1 -0
- package/dist/cli/command-types.js +9 -0
- package/dist/cli/command-types.js.map +1 -0
- package/dist/cli/config/codec-primitives.d.ts +20 -0
- package/dist/cli/config/codec-primitives.d.ts.map +1 -0
- package/dist/cli/config/codec-primitives.js +51 -0
- package/dist/cli/config/codec-primitives.js.map +1 -0
- package/dist/cli/config/codec.d.ts.map +1 -1
- package/dist/cli/config/codec.js +4 -46
- package/dist/cli/config/codec.js.map +1 -1
- package/dist/cli/config/effective.d.ts.map +1 -1
- package/dist/cli/config/effective.js +1 -0
- package/dist/cli/config/effective.js.map +1 -1
- package/dist/cli/config/keys.d.ts +1 -1
- package/dist/cli/config/keys.d.ts.map +1 -1
- package/dist/cli/config/keys.js +1 -0
- package/dist/cli/config/keys.js.map +1 -1
- package/dist/cli/entry.d.ts +4 -2
- package/dist/cli/entry.d.ts.map +1 -1
- package/dist/cli/entry.js +2 -1
- package/dist/cli/entry.js.map +1 -1
- package/dist/cli/help.d.ts +2 -2
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +40 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interactive/index.d.ts +26 -0
- package/dist/cli/interactive/index.d.ts.map +1 -0
- package/dist/cli/interactive/index.js +33 -0
- package/dist/cli/interactive/index.js.map +1 -0
- package/dist/cli/interactive/launch.d.ts +14 -0
- package/dist/cli/interactive/launch.d.ts.map +1 -0
- package/dist/cli/interactive/launch.js +66 -0
- package/dist/cli/interactive/launch.js.map +1 -0
- package/dist/cli/interactive/spawn.d.ts +18 -0
- package/dist/cli/interactive/spawn.d.ts.map +1 -0
- package/dist/cli/interactive/spawn.js +32 -0
- package/dist/cli/interactive/spawn.js.map +1 -0
- package/dist/cli/main-failure.d.ts +28 -0
- package/dist/cli/main-failure.d.ts.map +1 -0
- package/dist/cli/main-failure.js +78 -0
- package/dist/cli/main-failure.js.map +1 -0
- package/dist/cli/main.d.ts +12 -4
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +27 -73
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/models/index.d.ts +20 -0
- package/dist/cli/models/index.d.ts.map +1 -0
- package/dist/cli/models/index.js +60 -0
- package/dist/cli/models/index.js.map +1 -0
- package/dist/cli/models/render.d.ts +9 -0
- package/dist/cli/models/render.d.ts.map +1 -0
- package/dist/cli/models/render.js +33 -0
- package/dist/cli/models/render.js.map +1 -0
- package/dist/cli/request/index.d.ts.map +1 -1
- package/dist/cli/request/index.js +8 -2
- package/dist/cli/request/index.js.map +1 -1
- package/dist/cli/request/posture.d.ts +28 -0
- package/dist/cli/request/posture.d.ts.map +1 -0
- package/dist/cli/request/posture.js +70 -0
- package/dist/cli/request/posture.js.map +1 -0
- package/dist/cli/request/resolution-types.d.ts +1 -0
- package/dist/cli/request/resolution-types.d.ts.map +1 -1
- package/dist/cli/request/settings.d.ts +2 -12
- package/dist/cli/request/settings.d.ts.map +1 -1
- package/dist/cli/request/settings.js +2 -25
- package/dist/cli/request/settings.js.map +1 -1
- package/dist/cli/request/validation.d.ts +12 -0
- package/dist/cli/request/validation.d.ts.map +1 -1
- package/dist/cli/request/validation.js +30 -10
- package/dist/cli/request/validation.js.map +1 -1
- package/dist/cli/request/values.d.ts +1 -0
- package/dist/cli/request/values.d.ts.map +1 -1
- package/dist/cli/request/values.js +1 -0
- package/dist/cli/request/values.js.map +1 -1
- package/dist/cli/run/index.d.ts.map +1 -1
- package/dist/cli/run/index.js +5 -41
- package/dist/cli/run/index.js.map +1 -1
- package/dist/cli/run/subscribe.d.ts +19 -0
- package/dist/cli/run/subscribe.d.ts.map +1 -0
- package/dist/cli/run/subscribe.js +47 -0
- package/dist/cli/run/subscribe.js.map +1 -0
- package/dist/cli/session/launch.d.ts +3 -0
- package/dist/cli/session/launch.d.ts.map +1 -1
- package/dist/cli/session/launch.js +11 -0
- package/dist/cli/session/launch.js.map +1 -1
- package/dist/cli/sessions/index.d.ts +23 -0
- package/dist/cli/sessions/index.d.ts.map +1 -0
- package/dist/cli/sessions/index.js +65 -0
- package/dist/cli/sessions/index.js.map +1 -0
- package/dist/cli/sessions/list.d.ts +28 -0
- package/dist/cli/sessions/list.d.ts.map +1 -0
- package/dist/cli/sessions/list.js +63 -0
- package/dist/cli/sessions/list.js.map +1 -0
- package/dist/cli/table.d.ts +7 -0
- package/dist/cli/table.d.ts.map +1 -0
- package/dist/cli/table.js +14 -0
- package/dist/cli/table.js.map +1 -0
- package/dist/cli/types.d.ts +5 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/codex/command.d.ts +18 -2
- package/dist/codex/command.d.ts.map +1 -1
- package/dist/codex/command.js +39 -24
- package/dist/codex/command.js.map +1 -1
- package/dist/codex/session/index.d.ts.map +1 -1
- package/dist/codex/session/index.js +5 -2
- package/dist/codex/session/index.js.map +1 -1
- package/dist/codex/session/resume.d.ts +1 -1
- package/dist/codex/session/resume.d.ts.map +1 -1
- package/dist/codex/session/resume.js +5 -1
- package/dist/codex/session/resume.js.map +1 -1
- package/dist/codex/session/types.d.ts +3 -0
- package/dist/codex/session/types.d.ts.map +1 -1
- package/dist/codex/simple.d.ts.map +1 -1
- package/dist/codex/simple.js +4 -0
- package/dist/codex/simple.js.map +1 -1
- package/dist/core/errors.d.ts +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/high-trust.d.ts +41 -0
- package/dist/core/high-trust.d.ts.map +1 -0
- package/dist/core/high-trust.js +50 -0
- package/dist/core/high-trust.js.map +1 -0
- package/dist/core/trust/allowlist.d.ts +56 -0
- package/dist/core/trust/allowlist.d.ts.map +1 -0
- package/dist/core/{trust-prompts.js → trust/allowlist.js} +21 -38
- package/dist/core/trust/allowlist.js.map +1 -0
- package/dist/core/trust/prompts.d.ts +4 -46
- package/dist/core/trust/prompts.d.ts.map +1 -1
- package/dist/core/trust/prompts.js +2 -73
- package/dist/core/trust/prompts.js.map +1 -1
- package/dist/core/trust/responder.d.ts +2 -0
- package/dist/core/trust/responder.d.ts.map +1 -1
- package/dist/core/trust/responder.js +4 -0
- package/dist/core/trust/responder.js.map +1 -1
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/runtime/launch-arguments.d.ts +12 -0
- package/dist/runtime/launch-arguments.d.ts.map +1 -0
- package/dist/runtime/launch-arguments.js +15 -0
- package/dist/runtime/launch-arguments.js.map +1 -0
- package/docs/cli-behavior.md +88 -0
- package/docs/cli-output.md +60 -0
- package/docs/cli.md +10 -2
- package/package.json +8 -6
- package/dist/claude/hook-dispatch.d.ts +0 -9
- package/dist/claude/hook-dispatch.d.ts.map +0 -1
- package/dist/claude/hook-dispatch.js +0 -12
- package/dist/claude/hook-dispatch.js.map +0 -1
- package/dist/claude/hook-events-extra.d.ts +0 -81
- package/dist/claude/hook-events-extra.d.ts.map +0 -1
- package/dist/claude/hook-events-extra.js +0 -6
- package/dist/claude/hook-events-extra.js.map +0 -1
- package/dist/claude/hook-events.d.ts +0 -101
- package/dist/claude/hook-events.d.ts.map +0 -1
- package/dist/claude/hook-events.js +0 -6
- package/dist/claude/hook-events.js.map +0 -1
- package/dist/claude/hook-names.d.ts +0 -24
- package/dist/claude/hook-names.d.ts.map +0 -1
- package/dist/claude/hook-names.js +0 -45
- package/dist/claude/hook-names.js.map +0 -1
- package/dist/claude/hooks.d.ts +0 -78
- package/dist/claude/hooks.d.ts.map +0 -1
- package/dist/claude/hooks.js +0 -6
- package/dist/claude/hooks.js.map +0 -1
- package/dist/claude/session-bridge.d.ts +0 -11
- package/dist/claude/session-bridge.d.ts.map +0 -1
- package/dist/claude/session-bridge.js +0 -18
- package/dist/claude/session-bridge.js.map +0 -1
- package/dist/claude/session-build.d.ts +0 -15
- package/dist/claude/session-build.d.ts.map +0 -1
- package/dist/claude/session-build.js +0 -147
- package/dist/claude/session-build.js.map +0 -1
- package/dist/claude/session-hook-handler.d.ts +0 -34
- package/dist/claude/session-hook-handler.d.ts.map +0 -1
- package/dist/claude/session-hook-handler.js +0 -42
- package/dist/claude/session-hook-handler.js.map +0 -1
- package/dist/claude/session-instance.d.ts +0 -42
- package/dist/claude/session-instance.d.ts.map +0 -1
- package/dist/claude/session-instance.js +0 -146
- package/dist/claude/session-instance.js.map +0 -1
- package/dist/claude/session-interface.d.ts +0 -49
- package/dist/claude/session-interface.d.ts.map +0 -1
- package/dist/claude/session-interface.js +0 -10
- package/dist/claude/session-interface.js.map +0 -1
- package/dist/claude/session-resume.d.ts +0 -8
- package/dist/claude/session-resume.d.ts.map +0 -1
- package/dist/claude/session-resume.js +0 -47
- package/dist/claude/session-resume.js.map +0 -1
- package/dist/claude/session-runtime.d.ts +0 -43
- package/dist/claude/session-runtime.d.ts.map +0 -1
- package/dist/claude/session-runtime.js +0 -105
- package/dist/claude/session-runtime.js.map +0 -1
- package/dist/claude/session-transcript.d.ts +0 -62
- package/dist/claude/session-transcript.d.ts.map +0 -1
- package/dist/claude/session-transcript.js +0 -88
- package/dist/claude/session-transcript.js.map +0 -1
- package/dist/claude/session.d.ts +0 -18
- package/dist/claude/session.d.ts.map +0 -1
- package/dist/claude/session.js +0 -58
- package/dist/claude/session.js.map +0 -1
- package/dist/claude/start-or-resume.d.ts +0 -12
- package/dist/claude/start-or-resume.d.ts.map +0 -1
- package/dist/claude/start-or-resume.js +0 -32
- package/dist/claude/start-or-resume.js.map +0 -1
- package/dist/claude/tool-hook-events.d.ts +0 -10
- package/dist/claude/tool-hook-events.d.ts.map +0 -1
- package/dist/claude/tool-hook-events.js +0 -18
- package/dist/claude/tool-hook-events.js.map +0 -1
- package/dist/claude/tool-types.d.ts +0 -158
- package/dist/claude/tool-types.d.ts.map +0 -1
- package/dist/claude/tool-types.js +0 -6
- package/dist/claude/tool-types.js.map +0 -1
- package/dist/claude/validate-input.d.ts +0 -8
- package/dist/claude/validate-input.d.ts.map +0 -1
- package/dist/claude/validate-input.js +0 -137
- package/dist/claude/validate-input.js.map +0 -1
- package/dist/claude/validate-permission-update.d.ts +0 -10
- package/dist/claude/validate-permission-update.d.ts.map +0 -1
- package/dist/claude/validate-permission-update.js +0 -72
- package/dist/claude/validate-permission-update.js.map +0 -1
- package/dist/claude/validate-result.d.ts +0 -7
- package/dist/claude/validate-result.d.ts.map +0 -1
- package/dist/claude/validate-result.js +0 -118
- package/dist/claude/validate-result.js.map +0 -1
- package/dist/claude/validate-shapes.d.ts +0 -22
- package/dist/claude/validate-shapes.d.ts.map +0 -1
- package/dist/claude/validate-shapes.js +0 -15
- package/dist/claude/validate-shapes.js.map +0 -1
- package/dist/claude/validate-tool-update.d.ts +0 -15
- package/dist/claude/validate-tool-update.d.ts.map +0 -1
- package/dist/claude/validate-tool-update.js +0 -122
- package/dist/claude/validate-tool-update.js.map +0 -1
- package/dist/cli/agent-detect.d.ts +0 -44
- package/dist/cli/agent-detect.d.ts.map +0 -1
- package/dist/cli/agent-detect.js +0 -66
- package/dist/cli/agent-detect.js.map +0 -1
- package/dist/cli/arg-errors.d.ts +0 -6
- package/dist/cli/arg-errors.d.ts.map +0 -1
- package/dist/cli/arg-errors.js +0 -44
- package/dist/cli/arg-errors.js.map +0 -1
- package/dist/cli/arg-options.d.ts +0 -26
- package/dist/cli/arg-options.d.ts.map +0 -1
- package/dist/cli/arg-options.js +0 -50
- package/dist/cli/arg-options.js.map +0 -1
- package/dist/cli/args.d.ts +0 -7
- package/dist/cli/args.d.ts.map +0 -1
- package/dist/cli/args.js +0 -70
- package/dist/cli/args.js.map +0 -1
- package/dist/cli/lifecycle-outcome.d.ts +0 -13
- package/dist/cli/lifecycle-outcome.d.ts.map +0 -1
- package/dist/cli/lifecycle-outcome.js +0 -20
- package/dist/cli/lifecycle-outcome.js.map +0 -1
- package/dist/cli/lifecycle.d.ts +0 -61
- package/dist/cli/lifecycle.d.ts.map +0 -1
- package/dist/cli/lifecycle.js +0 -152
- package/dist/cli/lifecycle.js.map +0 -1
- package/dist/cli/request-finalize.d.ts +0 -10
- package/dist/cli/request-finalize.d.ts.map +0 -1
- package/dist/cli/request-finalize.js +0 -135
- package/dist/cli/request-finalize.js.map +0 -1
- package/dist/cli/request-layers.d.ts +0 -30
- package/dist/cli/request-layers.d.ts.map +0 -1
- package/dist/cli/request-layers.js +0 -44
- package/dist/cli/request-layers.js.map +0 -1
- package/dist/cli/request-settings.d.ts +0 -34
- package/dist/cli/request-settings.d.ts.map +0 -1
- package/dist/cli/request-settings.js +0 -66
- package/dist/cli/request-settings.js.map +0 -1
- package/dist/cli/request-sources.d.ts +0 -13
- package/dist/cli/request-sources.d.ts.map +0 -1
- package/dist/cli/request-sources.js +0 -23
- package/dist/cli/request-sources.js.map +0 -1
- package/dist/cli/request-validation.d.ts +0 -18
- package/dist/cli/request-validation.d.ts.map +0 -1
- package/dist/cli/request-validation.js +0 -84
- package/dist/cli/request-validation.js.map +0 -1
- package/dist/cli/request-values.d.ts +0 -33
- package/dist/cli/request-values.d.ts.map +0 -1
- package/dist/cli/request-values.js +0 -73
- package/dist/cli/request-values.js.map +0 -1
- package/dist/cli/request.d.ts +0 -12
- package/dist/cli/request.d.ts.map +0 -1
- package/dist/cli/request.js +0 -103
- package/dist/cli/request.js.map +0 -1
- package/dist/cli/resolution-types.d.ts +0 -35
- package/dist/cli/resolution-types.d.ts.map +0 -1
- package/dist/cli/resolution-types.js +0 -6
- package/dist/cli/resolution-types.js.map +0 -1
- package/dist/cli/run-output-lines.d.ts +0 -14
- package/dist/cli/run-output-lines.d.ts.map +0 -1
- package/dist/cli/run-output-lines.js +0 -42
- package/dist/cli/run-output-lines.js.map +0 -1
- package/dist/cli/run-output.d.ts +0 -48
- package/dist/cli/run-output.d.ts.map +0 -1
- package/dist/cli/run-output.js +0 -150
- package/dist/cli/run-output.js.map +0 -1
- package/dist/cli/run.d.ts +0 -20
- package/dist/cli/run.d.ts.map +0 -1
- package/dist/cli/run.js +0 -126
- package/dist/cli/run.js.map +0 -1
- package/dist/cli/session-launch.d.ts +0 -23
- package/dist/cli/session-launch.d.ts.map +0 -1
- package/dist/cli/session-launch.js +0 -57
- package/dist/cli/session-launch.js.map +0 -1
- package/dist/cli/session.d.ts +0 -68
- package/dist/cli/session.d.ts.map +0 -1
- package/dist/cli/session.js +0 -124
- package/dist/cli/session.js.map +0 -1
- package/dist/codex/attach-images.d.ts +0 -20
- package/dist/codex/attach-images.d.ts.map +0 -1
- package/dist/codex/attach-images.js +0 -66
- package/dist/codex/attach-images.js.map +0 -1
- package/dist/codex/clipboard-lock.d.ts +0 -15
- package/dist/codex/clipboard-lock.d.ts.map +0 -1
- package/dist/codex/clipboard-lock.js +0 -16
- package/dist/codex/clipboard-lock.js.map +0 -1
- package/dist/codex/clipboard.d.ts +0 -32
- package/dist/codex/clipboard.d.ts.map +0 -1
- package/dist/codex/clipboard.js +0 -92
- package/dist/codex/clipboard.js.map +0 -1
- package/dist/codex/config-lock.d.ts +0 -21
- package/dist/codex/config-lock.d.ts.map +0 -1
- package/dist/codex/config-lock.js +0 -22
- package/dist/codex/config-lock.js.map +0 -1
- package/dist/codex/config-restore.d.ts +0 -33
- package/dist/codex/config-restore.d.ts.map +0 -1
- package/dist/codex/config-restore.js +0 -90
- package/dist/codex/config-restore.js.map +0 -1
- package/dist/codex/config-transaction.d.ts +0 -26
- package/dist/codex/config-transaction.d.ts.map +0 -1
- package/dist/codex/config-transaction.js +0 -47
- package/dist/codex/config-transaction.js.map +0 -1
- package/dist/codex/hook-dispatch.d.ts +0 -9
- package/dist/codex/hook-dispatch.d.ts.map +0 -1
- package/dist/codex/hook-dispatch.js +0 -14
- package/dist/codex/hook-dispatch.js.map +0 -1
- package/dist/codex/hook-names.d.ts +0 -19
- package/dist/codex/hook-names.d.ts.map +0 -1
- package/dist/codex/hook-names.js +0 -17
- package/dist/codex/hook-names.js.map +0 -1
- package/dist/codex/hooks.d.ts +0 -99
- package/dist/codex/hooks.d.ts.map +0 -1
- package/dist/codex/hooks.js +0 -6
- package/dist/codex/hooks.js.map +0 -1
- package/dist/codex/initial-ready.d.ts +0 -19
- package/dist/codex/initial-ready.d.ts.map +0 -1
- package/dist/codex/initial-ready.js +0 -19
- package/dist/codex/initial-ready.js.map +0 -1
- package/dist/codex/serialize.d.ts +0 -8
- package/dist/codex/serialize.d.ts.map +0 -1
- package/dist/codex/serialize.js +0 -48
- package/dist/codex/serialize.js.map +0 -1
- package/dist/codex/session-bridge.d.ts +0 -14
- package/dist/codex/session-bridge.d.ts.map +0 -1
- package/dist/codex/session-bridge.js +0 -20
- package/dist/codex/session-bridge.js.map +0 -1
- package/dist/codex/session-build.d.ts +0 -15
- package/dist/codex/session-build.d.ts.map +0 -1
- package/dist/codex/session-build.js +0 -144
- package/dist/codex/session-build.js.map +0 -1
- package/dist/codex/session-cleanup.d.ts +0 -12
- package/dist/codex/session-cleanup.d.ts.map +0 -1
- package/dist/codex/session-cleanup.js +0 -15
- package/dist/codex/session-cleanup.js.map +0 -1
- package/dist/codex/session-hooks.d.ts +0 -13
- package/dist/codex/session-hooks.d.ts.map +0 -1
- package/dist/codex/session-hooks.js +0 -54
- package/dist/codex/session-hooks.js.map +0 -1
- package/dist/codex/session-instance.d.ts +0 -50
- package/dist/codex/session-instance.d.ts.map +0 -1
- package/dist/codex/session-instance.js +0 -117
- package/dist/codex/session-instance.js.map +0 -1
- package/dist/codex/session-resume.d.ts +0 -7
- package/dist/codex/session-resume.d.ts.map +0 -1
- package/dist/codex/session-resume.js +0 -44
- package/dist/codex/session-resume.js.map +0 -1
- package/dist/codex/session-runtime.d.ts +0 -7
- package/dist/codex/session-runtime.d.ts.map +0 -1
- package/dist/codex/session-runtime.js +0 -10
- package/dist/codex/session-runtime.js.map +0 -1
- package/dist/codex/session-transcript.d.ts +0 -30
- package/dist/codex/session-transcript.d.ts.map +0 -1
- package/dist/codex/session-transcript.js +0 -53
- package/dist/codex/session-transcript.js.map +0 -1
- package/dist/codex/session-types.d.ts +0 -87
- package/dist/codex/session-types.d.ts.map +0 -1
- package/dist/codex/session-types.js +0 -6
- package/dist/codex/session-types.js.map +0 -1
- package/dist/codex/session-warnings.d.ts +0 -27
- package/dist/codex/session-warnings.d.ts.map +0 -1
- package/dist/codex/session-warnings.js +0 -54
- package/dist/codex/session-warnings.js.map +0 -1
- package/dist/codex/session.d.ts +0 -16
- package/dist/codex/session.d.ts.map +0 -1
- package/dist/codex/session.js +0 -61
- package/dist/codex/session.js.map +0 -1
- package/dist/codex/start-or-resume.d.ts +0 -12
- package/dist/codex/start-or-resume.d.ts.map +0 -1
- package/dist/codex/start-or-resume.js +0 -31
- package/dist/codex/start-or-resume.js.map +0 -1
- package/dist/codex/transcript/cursor-io.d.ts +0 -7
- package/dist/codex/transcript/cursor-io.d.ts.map +0 -1
- package/dist/codex/transcript/cursor-io.js +0 -7
- package/dist/codex/transcript/cursor-io.js.map +0 -1
- package/dist/codex/transcript/cursor.d.ts +0 -8
- package/dist/codex/transcript/cursor.d.ts.map +0 -1
- package/dist/codex/transcript/cursor.js +0 -8
- package/dist/codex/transcript/cursor.js.map +0 -1
- package/dist/codex/transcript/drops.d.ts +0 -9
- package/dist/codex/transcript/drops.d.ts.map +0 -1
- package/dist/codex/transcript/drops.js +0 -9
- package/dist/codex/transcript/drops.js.map +0 -1
- package/dist/codex/transcript.d.ts +0 -12
- package/dist/codex/transcript.d.ts.map +0 -1
- package/dist/codex/transcript.js +0 -10
- package/dist/codex/transcript.js.map +0 -1
- package/dist/codex/validate-result.d.ts +0 -7
- package/dist/codex/validate-result.d.ts.map +0 -1
- package/dist/codex/validate-result.js +0 -84
- package/dist/codex/validate-result.js.map +0 -1
- package/dist/codex/validate.d.ts +0 -11
- package/dist/codex/validate.d.ts.map +0 -1
- package/dist/codex/validate.js +0 -88
- package/dist/codex/validate.js.map +0 -1
- package/dist/core/activity-lifecycle.d.ts +0 -21
- package/dist/core/activity-lifecycle.d.ts.map +0 -1
- package/dist/core/activity-lifecycle.js +0 -45
- package/dist/core/activity-lifecycle.js.map +0 -1
- package/dist/core/activity-meta.d.ts +0 -13
- package/dist/core/activity-meta.d.ts.map +0 -1
- package/dist/core/activity-meta.js +0 -67
- package/dist/core/activity-meta.js.map +0 -1
- package/dist/core/activity-transcript.d.ts +0 -19
- package/dist/core/activity-transcript.d.ts.map +0 -1
- package/dist/core/activity-transcript.js +0 -60
- package/dist/core/activity-transcript.js.map +0 -1
- package/dist/core/activity.d.ts +0 -51
- package/dist/core/activity.d.ts.map +0 -1
- package/dist/core/activity.js +0 -81
- package/dist/core/activity.js.map +0 -1
- package/dist/core/control-queue-state.d.ts +0 -29
- package/dist/core/control-queue-state.d.ts.map +0 -1
- package/dist/core/control-queue-state.js +0 -95
- package/dist/core/control-queue-state.js.map +0 -1
- package/dist/core/control-queue-traits.d.ts +0 -54
- package/dist/core/control-queue-traits.d.ts.map +0 -1
- package/dist/core/control-queue-traits.js +0 -118
- package/dist/core/control-queue-traits.js.map +0 -1
- package/dist/core/control-queue-types.d.ts +0 -45
- package/dist/core/control-queue-types.d.ts.map +0 -1
- package/dist/core/control-queue-types.js +0 -7
- package/dist/core/control-queue-types.js.map +0 -1
- package/dist/core/control-queue.d.ts +0 -21
- package/dist/core/control-queue.d.ts.map +0 -1
- package/dist/core/control-queue.js +0 -98
- package/dist/core/control-queue.js.map +0 -1
- package/dist/core/list-models.d.ts +0 -44
- package/dist/core/list-models.d.ts.map +0 -1
- package/dist/core/list-models.js +0 -73
- package/dist/core/list-models.js.map +0 -1
- package/dist/core/model-picker.d.ts +0 -22
- package/dist/core/model-picker.d.ts.map +0 -1
- package/dist/core/model-picker.js +0 -58
- package/dist/core/model-picker.js.map +0 -1
- package/dist/core/model-rows.d.ts +0 -21
- package/dist/core/model-rows.d.ts.map +0 -1
- package/dist/core/model-rows.js +0 -57
- package/dist/core/model-rows.js.map +0 -1
- package/dist/core/probe-state.d.ts +0 -21
- package/dist/core/probe-state.d.ts.map +0 -1
- package/dist/core/probe-state.js +0 -39
- package/dist/core/probe-state.js.map +0 -1
- package/dist/core/session-input-abort.d.ts +0 -10
- package/dist/core/session-input-abort.d.ts.map +0 -1
- package/dist/core/session-input-abort.js +0 -44
- package/dist/core/session-input-abort.js.map +0 -1
- package/dist/core/session-input.d.ts +0 -37
- package/dist/core/session-input.d.ts.map +0 -1
- package/dist/core/session-input.js +0 -154
- package/dist/core/session-input.js.map +0 -1
- package/dist/core/session-warnings.d.ts +0 -20
- package/dist/core/session-warnings.d.ts.map +0 -1
- package/dist/core/session-warnings.js +0 -32
- package/dist/core/session-warnings.js.map +0 -1
- package/dist/core/simple/loop-controls.d.ts +0 -7
- package/dist/core/simple/loop-controls.d.ts.map +0 -1
- package/dist/core/simple/loop-controls.js +0 -7
- package/dist/core/simple/loop-controls.js.map +0 -1
- package/dist/core/startup-automation.d.ts +0 -54
- package/dist/core/startup-automation.d.ts.map +0 -1
- package/dist/core/startup-automation.js +0 -40
- package/dist/core/startup-automation.js.map +0 -1
- package/dist/core/startup-frame.d.ts +0 -39
- package/dist/core/startup-frame.d.ts.map +0 -1
- package/dist/core/startup-frame.js +0 -60
- package/dist/core/startup-frame.js.map +0 -1
- package/dist/core/startup-write.d.ts +0 -47
- package/dist/core/startup-write.d.ts.map +0 -1
- package/dist/core/startup-write.js +0 -73
- package/dist/core/startup-write.js.map +0 -1
- package/dist/core/trust-blocking.d.ts +0 -22
- package/dist/core/trust-blocking.d.ts.map +0 -1
- package/dist/core/trust-blocking.js +0 -38
- package/dist/core/trust-blocking.js.map +0 -1
- package/dist/core/trust-prompts.d.ts +0 -135
- package/dist/core/trust-prompts.d.ts.map +0 -1
- package/dist/core/trust-prompts.js.map +0 -1
- package/dist/core/trust-responder.d.ts +0 -48
- package/dist/core/trust-responder.d.ts.map +0 -1
- package/dist/core/trust-responder.js +0 -119
- package/dist/core/trust-responder.js.map +0 -1
- package/dist/core/tui-screen.d.ts +0 -21
- package/dist/core/tui-screen.d.ts.map +0 -1
- package/dist/core/tui-screen.js +0 -56
- package/dist/core/tui-screen.js.map +0 -1
- package/dist/core/update-warning.d.ts +0 -25
- package/dist/core/update-warning.d.ts.map +0 -1
- package/dist/core/update-warning.js +0 -33
- package/dist/core/update-warning.js.map +0 -1
- package/dist/core/warning-lifecycle.d.ts +0 -23
- package/dist/core/warning-lifecycle.d.ts.map +0 -1
- package/dist/core/warning-lifecycle.js +0 -6
- package/dist/core/warning-lifecycle.js.map +0 -1
- package/dist/core/warning-reasons.d.ts +0 -62
- package/dist/core/warning-reasons.d.ts.map +0 -1
- package/dist/core/warning-reasons.js +0 -121
- package/dist/core/warning-reasons.js.map +0 -1
- package/dist/core/warnings.d.ts +0 -145
- package/dist/core/warnings.d.ts.map +0 -1
- package/dist/core/warnings.js +0 -12
- package/dist/core/warnings.js.map +0 -1
- package/dist/runtime/cleanup-latch.d.ts +0 -27
- package/dist/runtime/cleanup-latch.d.ts.map +0 -1
- package/dist/runtime/cleanup-latch.js +0 -43
- package/dist/runtime/cleanup-latch.js.map +0 -1
- package/dist/runtime/initial-ready-advance.d.ts +0 -22
- package/dist/runtime/initial-ready-advance.d.ts.map +0 -1
- package/dist/runtime/initial-ready-advance.js +0 -39
- package/dist/runtime/initial-ready-advance.js.map +0 -1
- package/dist/runtime/initial-ready-fallback.d.ts +0 -12
- package/dist/runtime/initial-ready-fallback.d.ts.map +0 -1
- package/dist/runtime/initial-ready-fallback.js +0 -20
- package/dist/runtime/initial-ready-fallback.js.map +0 -1
- package/dist/runtime/initial-ready.d.ts +0 -49
- package/dist/runtime/initial-ready.d.ts.map +0 -1
- package/dist/runtime/initial-ready.js +0 -81
- package/dist/runtime/initial-ready.js.map +0 -1
- package/dist/runtime/reap-tree.d.ts +0 -62
- package/dist/runtime/reap-tree.d.ts.map +0 -1
- package/dist/runtime/reap-tree.js +0 -108
- package/dist/runtime/reap-tree.js.map +0 -1
- package/dist/runtime/session-base-types.d.ts +0 -36
- package/dist/runtime/session-base-types.d.ts.map +0 -1
- package/dist/runtime/session-base-types.js +0 -14
- package/dist/runtime/session-base-types.js.map +0 -1
- package/dist/runtime/session-base.d.ts +0 -48
- package/dist/runtime/session-base.d.ts.map +0 -1
- package/dist/runtime/session-base.js +0 -76
- package/dist/runtime/session-base.js.map +0 -1
- package/dist/runtime/session-commands.d.ts +0 -43
- package/dist/runtime/session-commands.d.ts.map +0 -1
- package/dist/runtime/session-commands.js +0 -52
- package/dist/runtime/session-commands.js.map +0 -1
- package/dist/runtime/session-exit.d.ts +0 -16
- package/dist/runtime/session-exit.d.ts.map +0 -1
- package/dist/runtime/session-exit.js +0 -32
- package/dist/runtime/session-exit.js.map +0 -1
- package/dist/runtime/session-image-attach.d.ts +0 -45
- package/dist/runtime/session-image-attach.d.ts.map +0 -1
- package/dist/runtime/session-image-attach.js +0 -82
- package/dist/runtime/session-image-attach.js.map +0 -1
- package/dist/runtime/session-lifecycle.d.ts +0 -61
- package/dist/runtime/session-lifecycle.d.ts.map +0 -1
- package/dist/runtime/session-lifecycle.js +0 -164
- package/dist/runtime/session-lifecycle.js.map +0 -1
- package/dist/runtime/session-loops.d.ts +0 -32
- package/dist/runtime/session-loops.d.ts.map +0 -1
- package/dist/runtime/session-loops.js +0 -62
- package/dist/runtime/session-loops.js.map +0 -1
- package/dist/runtime/session-readiness.d.ts +0 -18
- package/dist/runtime/session-readiness.d.ts.map +0 -1
- package/dist/runtime/session-readiness.js +0 -22
- package/dist/runtime/session-readiness.js.map +0 -1
- package/dist/runtime/session-reap.d.ts +0 -28
- package/dist/runtime/session-reap.d.ts.map +0 -1
- package/dist/runtime/session-reap.js +0 -51
- package/dist/runtime/session-reap.js.map +0 -1
- package/dist/runtime/session-resize.d.ts +0 -20
- package/dist/runtime/session-resize.d.ts.map +0 -1
- package/dist/runtime/session-resize.js +0 -26
- package/dist/runtime/session-resize.js.map +0 -1
- package/dist/runtime/session-shutdown-binding.d.ts +0 -30
- package/dist/runtime/session-shutdown-binding.d.ts.map +0 -1
- package/dist/runtime/session-shutdown-binding.js +0 -37
- package/dist/runtime/session-shutdown-binding.js.map +0 -1
- package/dist/runtime/session-shutdown.d.ts +0 -60
- package/dist/runtime/session-shutdown.d.ts.map +0 -1
- package/dist/runtime/session-shutdown.js +0 -140
- package/dist/runtime/session-shutdown.js.map +0 -1
- package/dist/runtime/session-status-wiring.d.ts +0 -38
- package/dist/runtime/session-status-wiring.d.ts.map +0 -1
- package/dist/runtime/session-status-wiring.js +0 -41
- package/dist/runtime/session-status-wiring.js.map +0 -1
- package/dist/runtime/session-status.d.ts +0 -7
- package/dist/runtime/session-status.d.ts.map +0 -1
- package/dist/runtime/session-status.js +0 -22
- package/dist/runtime/session-status.js.map +0 -1
- package/dist/runtime/shutdown-coordinator.d.ts +0 -57
- package/dist/runtime/shutdown-coordinator.d.ts.map +0 -1
- package/dist/runtime/shutdown-coordinator.js +0 -77
- package/dist/runtime/shutdown-coordinator.js.map +0 -1
- package/dist/runtime/startup-buffer.d.ts +0 -33
- package/dist/runtime/startup-buffer.d.ts.map +0 -1
- package/dist/runtime/startup-buffer.js +0 -53
- package/dist/runtime/startup-buffer.js.map +0 -1
- package/dist/runtime/startup-cleanup.d.ts +0 -43
- package/dist/runtime/startup-cleanup.d.ts.map +0 -1
- package/dist/runtime/startup-cleanup.js +0 -89
- package/dist/runtime/startup-cleanup.js.map +0 -1
- package/dist/runtime/startup.d.ts +0 -17
- package/dist/runtime/startup.d.ts.map +0 -1
- package/dist/runtime/startup.js +0 -47
- package/dist/runtime/startup.js.map +0 -1
- package/dist/runtime/status-emit.d.ts +0 -14
- package/dist/runtime/status-emit.d.ts.map +0 -1
- package/dist/runtime/status-emit.js +0 -15
- package/dist/runtime/status-emit.js.map +0 -1
- package/dist/runtime/teardown.d.ts +0 -15
- package/dist/runtime/teardown.d.ts.map +0 -1
- package/dist/runtime/teardown.js +0 -40
- package/dist/runtime/teardown.js.map +0 -1
- package/dist/runtime/terminate.d.ts +0 -22
- package/dist/runtime/terminate.d.ts.map +0 -1
- package/dist/runtime/terminate.js +0 -129
- package/dist/runtime/terminate.js.map +0 -1
- package/dist/runtime/update-lock.d.ts +0 -19
- package/dist/runtime/update-lock.d.ts.map +0 -1
- package/dist/runtime/update-lock.js +0 -183
- package/dist/runtime/update-lock.js.map +0 -1
- package/dist/runtime/update-once.d.ts +0 -40
- package/dist/runtime/update-once.d.ts.map +0 -1
- package/dist/runtime/update-once.js +0 -88
- package/dist/runtime/update-once.js.map +0 -1
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/** Serialized adapter controls with readiness semantics (PRD §5.3/§5.9). */
|
|
2
|
-
import { ControlQueueState } from "./control-queue-state.ts";
|
|
3
|
-
import { type ControlOperationKind, type ControlQueueError } from "./control-queue-traits.ts";
|
|
4
|
-
import type { AbortableQueueTask, Cancel, ControlSendOptions, ControlSubmissionOrigin, ControlSubmitter } from "./control-queue-types.ts";
|
|
5
|
-
export type { ControlOperationKind, ControlOperationTraits, ControlQueueError, ControlSubmitMode, ReadinessPolicy, } from "./control-queue-traits.ts";
|
|
6
|
-
export { controlOperationTraits } from "./control-queue-traits.ts";
|
|
7
|
-
export type { AbortableQueueTask, Cancel, ControlSendOptions, ControlSubmissionOrigin, ControlSubmitter, } from "./control-queue-types.ts";
|
|
8
|
-
export declare class ControlQueue extends ControlQueueState {
|
|
9
|
-
private readonly submit;
|
|
10
|
-
private readonly onTurnStarted;
|
|
11
|
-
private readonly guidanceMayBypass;
|
|
12
|
-
constructor(submit: ControlSubmitter, stoppedError: ControlQueueError, onTurnStarted: (origin: ControlSubmissionOrigin) => void, guidanceMayBypass?: () => boolean);
|
|
13
|
-
send(input: string, kind: ControlOperationKind, attach?: AbortableQueueTask, options?: ControlSendOptions): Promise<void>;
|
|
14
|
-
runExclusive(kind: ControlOperationKind, run: AbortableQueueTask, cancel?: Cancel): Promise<void>;
|
|
15
|
-
protected drain(): void;
|
|
16
|
-
private submitWithAttach;
|
|
17
|
-
private beginSubmission;
|
|
18
|
-
private commit;
|
|
19
|
-
private rollback;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=control-queue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-queue.d.ts","sourceRoot":"","sources":["../../src/core/control-queue.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,iBAAiB,EAIvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,kBAAkB,EAClB,MAAM,EACN,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,MAAM,EACN,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAIlC,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgB;gBAGhD,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,iBAAiB,EAC/B,aAAa,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,EACxD,iBAAiB,GAAE,MAAM,OAAqB;IAQhD,IAAI,CACF,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB,EAC1B,MAAM,CAAC,EAAE,kBAAkB,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC;IAiBhB,YAAY,CACV,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE,kBAAkB,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAahB,SAAS,CAAC,KAAK,IAAI,IAAI;YA8BT,gBAAgB;IAa9B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,QAAQ;CASjB"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/** Serialized adapter controls with readiness semantics (PRD §5.3/§5.9). */
|
|
2
|
-
import { runContained } from "./contained.js";
|
|
3
|
-
import { ControlQueueState } from "./control-queue-state.js";
|
|
4
|
-
import { controlOperationTraits, nextDispatchIndex, overtakesReadiness, } from "./control-queue-traits.js";
|
|
5
|
-
import { toError } from "./errors.js";
|
|
6
|
-
export { controlOperationTraits } from "./control-queue-traits.js";
|
|
7
|
-
const callerOrigin = { kind: "caller" };
|
|
8
|
-
export class ControlQueue extends ControlQueueState {
|
|
9
|
-
submit;
|
|
10
|
-
onTurnStarted;
|
|
11
|
-
guidanceMayBypass;
|
|
12
|
-
constructor(submit, stoppedError, onTurnStarted, guidanceMayBypass = () => false) {
|
|
13
|
-
super(stoppedError);
|
|
14
|
-
this.submit = submit;
|
|
15
|
-
this.onTurnStarted = onTurnStarted;
|
|
16
|
-
this.guidanceMayBypass = guidanceMayBypass;
|
|
17
|
-
}
|
|
18
|
-
send(input, kind, attach, options = {}) {
|
|
19
|
-
const mayBypassReadiness = controlOperationTraits[kind].readiness === "running_after_ready" &&
|
|
20
|
-
this.everReady &&
|
|
21
|
-
this.guidanceMayBypass();
|
|
22
|
-
return this.enqueue({
|
|
23
|
-
input,
|
|
24
|
-
kind,
|
|
25
|
-
mayBypassReadiness,
|
|
26
|
-
origin: options.origin ?? callerOrigin,
|
|
27
|
-
...(attach ? { attach } : {}),
|
|
28
|
-
}, options.cancel);
|
|
29
|
-
}
|
|
30
|
-
runExclusive(kind, run, cancel) {
|
|
31
|
-
return this.enqueue({
|
|
32
|
-
input: "",
|
|
33
|
-
kind,
|
|
34
|
-
mayBypassReadiness: false,
|
|
35
|
-
origin: callerOrigin,
|
|
36
|
-
run,
|
|
37
|
-
}, cancel);
|
|
38
|
-
}
|
|
39
|
-
drain() {
|
|
40
|
-
if (this.inFlight || this.queue.length === 0)
|
|
41
|
-
return;
|
|
42
|
-
const index = nextDispatchIndex(this.queue, this.ready, this.bypassable);
|
|
43
|
-
if (index < 0)
|
|
44
|
-
return;
|
|
45
|
-
const operation = this.queue.splice(index, 1)[0];
|
|
46
|
-
if (overtakesReadiness(operation))
|
|
47
|
-
this.bypassable -= 1;
|
|
48
|
-
this.inFlight = operation;
|
|
49
|
-
const traits = controlOperationTraits[operation.kind];
|
|
50
|
-
const priorReady = this.ready;
|
|
51
|
-
const epoch = this.readinessEpoch;
|
|
52
|
-
let dispatched;
|
|
53
|
-
try {
|
|
54
|
-
const signal = this.armAbort();
|
|
55
|
-
if (!operation.attach)
|
|
56
|
-
this.beginSubmission(operation, traits);
|
|
57
|
-
dispatched = operation.run
|
|
58
|
-
? operation.run(signal)
|
|
59
|
-
: this.submitWithAttach(operation, traits, signal);
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
this.rollback(operation, priorReady, epoch, toError(error));
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
dispatched.then(() => this.commit(operation, traits), (error) => {
|
|
66
|
-
const cancellation = this.cancellation.errorFor(operation);
|
|
67
|
-
this.rollback(operation, priorReady, epoch, cancellation ?? toError(error));
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
async submitWithAttach(operation, traits, signal) {
|
|
71
|
-
if (operation.attach) {
|
|
72
|
-
await operation.attach(signal);
|
|
73
|
-
if (signal.aborted)
|
|
74
|
-
throw this.abortError(signal);
|
|
75
|
-
this.beginSubmission(operation, traits);
|
|
76
|
-
}
|
|
77
|
-
await this.submit(operation.input, traits.submitMode, signal);
|
|
78
|
-
}
|
|
79
|
-
beginSubmission(operation, traits) {
|
|
80
|
-
if (traits.consumesReadiness)
|
|
81
|
-
this.ready = false;
|
|
82
|
-
if (traits.reportsCallerSubmission && operation.origin.kind === "caller") {
|
|
83
|
-
runContained(() => this.onTurnStarted(operation.origin));
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
commit(operation, traits) {
|
|
87
|
-
if (traits.reportsCallerSubmission && operation.origin.kind === "loop") {
|
|
88
|
-
runContained(() => this.onTurnStarted(operation.origin));
|
|
89
|
-
}
|
|
90
|
-
this.settle(operation, () => operation.resolve());
|
|
91
|
-
}
|
|
92
|
-
rollback(operation, priorReady, epoch, error) {
|
|
93
|
-
if (!this.closed && this.readinessEpoch === epoch)
|
|
94
|
-
this.ready = priorReady;
|
|
95
|
-
this.settle(operation, () => operation.reject(error));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=control-queue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-queue.js","sourceRoot":"","sources":["../../src/core/control-queue.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAIL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AASnC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAStC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AASnE,MAAM,YAAY,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAEjE,MAAM,OAAO,YAAa,SAAQ,iBAAiB;IAChC,MAAM,CAAmB;IACzB,aAAa,CAA4C;IACzD,iBAAiB,CAAgB;IAElD,YACE,MAAwB,EACxB,YAA+B,EAC/B,aAAwD,EACxD,oBAAmC,GAAG,EAAE,CAAC,KAAK;QAE9C,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,IAAI,CACF,KAAa,EACb,IAA0B,EAC1B,MAA2B,EAC3B,UAA8B,EAAE;QAEhC,MAAM,kBAAkB,GACtB,sBAAsB,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,qBAAqB;YAChE,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,KAAK;YACL,IAAI;YACJ,kBAAkB;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY;YACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,EACD,OAAO,CAAC,MAAM,CACf,CAAC;IACJ,CAAC;IAED,YAAY,CACV,IAA0B,EAC1B,GAAuB,EACvB,MAAe;QAEf,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,KAAK,EAAE,EAAE;YACT,IAAI;YACJ,kBAAkB,EAAE,KAAK;YACzB,MAAM,EAAE,YAAY;YACpB,GAAG;SACJ,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAES,KAAK;QACb,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAoB,CAAC;QACpE,IAAI,kBAAkB,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,MAAM,MAAM,GAAG,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,IAAI,UAAyB,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/D,UAAU,GAAG,SAAS,CAAC,GAAG;gBACxB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,UAAU,CAAC,IAAI,CACb,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EACpC,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,SAA0B,EAC1B,MAA8B,EAC9B,MAAmB;QAEnB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAEO,eAAe,CAAC,SAA0B,EAAE,MAA8B;QAChF,IAAI,MAAM,CAAC,iBAAiB;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACjD,IAAI,MAAM,CAAC,uBAAuB,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,SAA0B,EAAE,MAA8B;QACvE,IAAI,MAAM,CAAC,uBAAuB,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvE,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,QAAQ,CACd,SAA0B,EAC1B,UAAmB,EACnB,KAAa,EACb,KAAY;QAEZ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session-less model enumeration: start a throwaway session, list its models,
|
|
3
|
-
* and always tear it down. Implements PRD §5.3 and C-API-41.
|
|
4
|
-
*/
|
|
5
|
-
import type { ElwoodAgentSession } from "./agent-session.ts";
|
|
6
|
-
import type { AgentModelOption } from "./model-rows.ts";
|
|
7
|
-
/** Launch-relevant options for a throwaway model-listing probe (C-API-41). */
|
|
8
|
-
export type ListModelsOptions = {
|
|
9
|
-
readonly cwd: string;
|
|
10
|
-
readonly stateDir?: string;
|
|
11
|
-
readonly autoupdate?: boolean;
|
|
12
|
-
readonly hookTimeoutMs?: number;
|
|
13
|
-
readonly strictVersionCheck?: boolean;
|
|
14
|
-
/** Bounds the picker automation, exactly as on a live session's `listModels`. */
|
|
15
|
-
readonly timeoutMs?: number;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* The throwaway session surface a probe drives: wait for ready, list, tear down.
|
|
19
|
-
* Derived from the public session contract so it uses the SAME closed
|
|
20
|
-
* `ElwoodSessionStatus` type and cannot drift from the real methods.
|
|
21
|
-
*/
|
|
22
|
-
type ProbeSession = Pick<ElwoodAgentSession, "waitForStatus" | "listModels" | "teardown">;
|
|
23
|
-
/** Adapter hooks for a probe: how to start the session and how to remove ALL its state. */
|
|
24
|
-
export type ProbeAdapter<S extends ProbeSession> = {
|
|
25
|
-
/** Starts the throwaway session against the probe's owned state directory. */
|
|
26
|
-
readonly start: () => Promise<S>;
|
|
27
|
-
/**
|
|
28
|
-
* Removes ALL probe state (its owned temp directory and everything under it).
|
|
29
|
-
* Runs on EVERY outcome — success, readiness/picker failure, AND a start failure
|
|
30
|
-
* that already allocated a state directory or runtime files — so nothing leaks
|
|
31
|
-
* regardless of how far startup got (C-API-41). Best-effort and non-throwing.
|
|
32
|
-
*/
|
|
33
|
-
readonly removeState: () => void;
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Runs a throwaway session to its first readiness, lists its models, and cleans
|
|
37
|
-
* up EVERYTHING it allocated — the session (via `teardown`) and its owned state
|
|
38
|
-
* directory (via `removeState`) — on every outcome, so nothing is leaked (C-API-41).
|
|
39
|
-
* The probe only opens and cancels the picker, so the user's default stays
|
|
40
|
-
* untouched. A teardown/cleanup failure never masks a real list/readiness error.
|
|
41
|
-
*/
|
|
42
|
-
export declare function probeModels<S extends ProbeSession>(adapter: ProbeAdapter<S>, options: ListModelsOptions): Promise<readonly AgentModelOption[]>;
|
|
43
|
-
export {};
|
|
44
|
-
//# sourceMappingURL=list-models.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../src/core/list-models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,KAAK,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,YAAY,GAAG,UAAU,CAAC,CAAC;AAE1F,2FAA2F;AAC3F,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,YAAY,IAAI;IACjD,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;CAClC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS,YAAY,EACtD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACxB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAiBtC"}
|
package/dist/core/list-models.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session-less model enumeration: start a throwaway session, list its models,
|
|
3
|
-
* and always tear it down. Implements PRD §5.3 and C-API-41.
|
|
4
|
-
*/
|
|
5
|
-
import { errnoCode, toError } from "./errors.js";
|
|
6
|
-
/**
|
|
7
|
-
* Runs a throwaway session to its first readiness, lists its models, and cleans
|
|
8
|
-
* up EVERYTHING it allocated — the session (via `teardown`) and its owned state
|
|
9
|
-
* directory (via `removeState`) — on every outcome, so nothing is leaked (C-API-41).
|
|
10
|
-
* The probe only opens and cancels the picker, so the user's default stays
|
|
11
|
-
* untouched. A teardown/cleanup failure never masks a real list/readiness error.
|
|
12
|
-
*/
|
|
13
|
-
export async function probeModels(adapter, options) {
|
|
14
|
-
let session;
|
|
15
|
-
try {
|
|
16
|
-
session = await adapter.start();
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
// Adapter startup can allocate a state directory / runtime files BEFORE the
|
|
20
|
-
// bridge or PTY fails, so "no returned session" does not mean "nothing
|
|
21
|
-
// allocated": remove the owned state directory before rethrowing (C-API-41).
|
|
22
|
-
adapter.removeState();
|
|
23
|
-
throw error;
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
return await runProbe(session, options);
|
|
27
|
-
}
|
|
28
|
-
finally {
|
|
29
|
-
// Always sweep the owned state directory, even after a successful teardown.
|
|
30
|
-
adapter.removeState();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
async function runProbe(session, options) {
|
|
34
|
-
let models;
|
|
35
|
-
try {
|
|
36
|
-
await session.waitForStatus((status) => status === "ready");
|
|
37
|
-
models = await session.listModels(options.timeoutMs === undefined ? undefined : { timeoutMs: options.timeoutMs });
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
// The list/readiness error is what the caller must see, so it stays the thrown
|
|
41
|
-
// error and teardown never masks it. But a FAILED teardown here can leak a
|
|
42
|
-
// probe process tree, so surface it as a bounded `cause` rather than silently
|
|
43
|
-
// discarding it: the caller keeps the primary error AND learns of the leak.
|
|
44
|
-
await teardownWithoutMasking(session, toError(error));
|
|
45
|
-
throw error;
|
|
46
|
-
}
|
|
47
|
-
// The clean path DOES surface a genuine teardown failure — a leaked probe
|
|
48
|
-
// session is a real defect the caller should learn about (C-API-41).
|
|
49
|
-
await session.teardown();
|
|
50
|
-
return models;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Tear down the probe on the error path without masking the primary error. A
|
|
54
|
-
* rejecting teardown can leave a probe process tree alive, so instead of
|
|
55
|
-
* discarding it we attach a bounded diagnostic (the teardown error's allowlisted
|
|
56
|
-
* errno, or its name) to the primary error's `cause` — visible to the caller,
|
|
57
|
-
* never overriding the readiness/picker error that actually explains the failure.
|
|
58
|
-
*/
|
|
59
|
-
async function teardownWithoutMasking(session, primary) {
|
|
60
|
-
try {
|
|
61
|
-
await session.teardown();
|
|
62
|
-
}
|
|
63
|
-
catch (teardownError) {
|
|
64
|
-
// `cause` may already be set by the primary error; only fill it when empty so
|
|
65
|
-
// we never clobber a more specific upstream cause. The token is bounded — an
|
|
66
|
-
// errno like `EPERM` or the error's constructor name — never a raw message.
|
|
67
|
-
if (primary.cause === undefined) {
|
|
68
|
-
const token = errnoCode(teardownError) ?? toError(teardownError).name;
|
|
69
|
-
primary.cause = `probe_teardown_failed:${token}`;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=list-models.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../src/core/list-models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkCjD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAwB,EACxB,OAA0B;IAE1B,IAAI,OAAU,CAAC;IACf,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4EAA4E;QAC5E,uEAAuE;QACvE,6EAA6E;QAC7E,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,4EAA4E;QAC5E,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,OAAU,EACV,OAA0B;IAE1B,IAAI,MAAmC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAC/B,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAC/E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+EAA+E;QAC/E,2EAA2E;QAC3E,8EAA8E;QAC9E,4EAA4E;QAC5E,MAAM,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,OAAqB,EAAE,OAAc;IACzE,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,aAAa,EAAE,CAAC;QACvB,8EAA8E;QAC9E,6EAA6E;QAC7E,4EAA4E;QAC5E,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;YACtE,OAAO,CAAC,KAAK,GAAG,yBAAyB,KAAK,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared /model picker automation for adapter sessions.
|
|
3
|
-
* Implements PRD §5.3, §5.7, C-API-23, and C-API-24.
|
|
4
|
-
*/
|
|
5
|
-
import type { AgentModelOption, ParsedModelPicker } from "./model-rows.ts";
|
|
6
|
-
import { type ScreenTerminal } from "./tui-screen.ts";
|
|
7
|
-
export declare function pickerTimeout(options?: {
|
|
8
|
-
readonly timeoutMs?: number;
|
|
9
|
-
}): number;
|
|
10
|
-
export type ModelPickerIo = {
|
|
11
|
-
readonly terminal: ScreenTerminal;
|
|
12
|
-
readonly submit: (command: string) => Promise<void>;
|
|
13
|
-
};
|
|
14
|
-
export type ModelPickerSpec = {
|
|
15
|
-
readonly agent: string;
|
|
16
|
-
readonly isOpen: (text: string) => boolean;
|
|
17
|
-
readonly parse: (text: string) => ParsedModelPicker;
|
|
18
|
-
readonly apply: (io: ModelPickerIo, timeoutMs: number) => Promise<void>;
|
|
19
|
-
};
|
|
20
|
-
export declare function listPickerModels(io: ModelPickerIo, spec: ModelPickerSpec, timeoutMs: number): Promise<readonly AgentModelOption[]>;
|
|
21
|
-
export declare function setPickerModel(io: ModelPickerIo, spec: ModelPickerSpec, id: string, timeoutMs: number): Promise<void>;
|
|
22
|
-
//# sourceMappingURL=model-picker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-picker.d.ts","sourceRoot":"","sources":["../../src/core/model-picker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE/E;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE,CAAC;AAOF,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAUtC;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared /model picker automation for adapter sessions.
|
|
3
|
-
* Implements PRD §5.3, §5.7, C-API-23, and C-API-24.
|
|
4
|
-
*/
|
|
5
|
-
import { delay } from "./delay.js";
|
|
6
|
-
import { elwoodError } from "./errors.js";
|
|
7
|
-
import { defaultModelTimeoutMs, openCommandScreen, waitForScreen, } from "./tui-screen.js";
|
|
8
|
-
export function pickerTimeout(options) {
|
|
9
|
-
return options?.timeoutMs ?? defaultModelTimeoutMs;
|
|
10
|
-
}
|
|
11
|
-
const escapeKey = "\u001b";
|
|
12
|
-
const arrowDown = "\u001b[B";
|
|
13
|
-
const arrowUp = "\u001b[A";
|
|
14
|
-
const arrowStepMs = 80;
|
|
15
|
-
export async function listPickerModels(io, spec, timeoutMs) {
|
|
16
|
-
const parsed = await openAndParse(io, spec, timeoutMs);
|
|
17
|
-
await io.terminal.sendInput(escapeKey);
|
|
18
|
-
await waitForScreen(io.terminal, (text) => !spec.isOpen(text), timeoutMs, `${spec.agent} model picker to close`);
|
|
19
|
-
return parsed.options;
|
|
20
|
-
}
|
|
21
|
-
export async function setPickerModel(io, spec, id, timeoutMs) {
|
|
22
|
-
const parsed = await openAndParse(io, spec, timeoutMs);
|
|
23
|
-
const wanted = id.toLowerCase();
|
|
24
|
-
// Row ids are already lower-cased labels (`model-rows.ts`), so matching the id
|
|
25
|
-
// alone covers a caller that passes the display label in any case.
|
|
26
|
-
const target = parsed.options.findIndex((option) => option.id === wanted);
|
|
27
|
-
if (target === -1 || parsed.cursorIndex === -1) {
|
|
28
|
-
await io.terminal.sendInput(escapeKey);
|
|
29
|
-
const reason = target === -1 ? `Unknown model id "${id}".` : "Could not locate the picker cursor.";
|
|
30
|
-
throw elwoodError("model_automation_failed", reason, {
|
|
31
|
-
available: parsed.options.map((option) => option.id),
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
const delta = target - parsed.cursorIndex;
|
|
35
|
-
const key = delta > 0 ? arrowDown : arrowUp;
|
|
36
|
-
for (let step = 0; step < Math.abs(delta); step += 1) {
|
|
37
|
-
await io.terminal.sendInput(key);
|
|
38
|
-
await delay(arrowStepMs);
|
|
39
|
-
}
|
|
40
|
-
await waitForScreen(io.terminal, (text) => spec.parse(text).cursorIndex === target, timeoutMs, `${spec.agent} picker cursor on "${id}"`);
|
|
41
|
-
await spec.apply(io, timeoutMs);
|
|
42
|
-
}
|
|
43
|
-
async function openAndParse(io, spec, timeoutMs) {
|
|
44
|
-
const text = await openCommandScreen({
|
|
45
|
-
terminal: io.terminal,
|
|
46
|
-
submit: () => io.submit("/model"),
|
|
47
|
-
isOpen: spec.isOpen,
|
|
48
|
-
timeoutMs,
|
|
49
|
-
label: `${spec.agent} model picker`,
|
|
50
|
-
});
|
|
51
|
-
const parsed = spec.parse(text);
|
|
52
|
-
if (parsed.options.length === 0) {
|
|
53
|
-
await io.terminal.sendInput(escapeKey);
|
|
54
|
-
throw elwoodError("model_automation_failed", "Could not parse any model picker rows.");
|
|
55
|
-
}
|
|
56
|
-
return parsed;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=model-picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/core/model-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parses rendered adapter model picker rows into typed options.
|
|
3
|
-
* Implements PRD §5.3 AgentModelOption and C-API-23.
|
|
4
|
-
*/
|
|
5
|
-
export type AgentModelOption = {
|
|
6
|
-
readonly id: string;
|
|
7
|
-
readonly label: string;
|
|
8
|
-
readonly description?: string;
|
|
9
|
-
readonly isCurrent: boolean;
|
|
10
|
-
readonly isDefault: boolean;
|
|
11
|
-
readonly raw: string;
|
|
12
|
-
};
|
|
13
|
-
export type ParsedModelPicker = {
|
|
14
|
-
readonly options: readonly AgentModelOption[];
|
|
15
|
-
readonly cursorIndex: number;
|
|
16
|
-
};
|
|
17
|
-
export declare const claudeModelPickerHeader: RegExp;
|
|
18
|
-
export declare const codexModelPickerHeader: RegExp;
|
|
19
|
-
export declare function parseClaudeModelPicker(text: string): ParsedModelPicker;
|
|
20
|
-
export declare function parseCodexModelPicker(text: string): ParsedModelPicker;
|
|
21
|
-
//# sourceMappingURL=model-rows.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-rows.d.ts","sourceRoot":"","sources":["../../src/core/model-rows.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AACtD,eAAO,MAAM,sBAAsB,QAA4B,CAAC;AAIhE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAUtE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAarE"}
|
package/dist/core/model-rows.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parses rendered adapter model picker rows into typed options.
|
|
3
|
-
* Implements PRD §5.3 AgentModelOption and C-API-23.
|
|
4
|
-
*/
|
|
5
|
-
export const claudeModelPickerHeader = /Select model/;
|
|
6
|
-
export const codexModelPickerHeader = /Select Model and Effort/;
|
|
7
|
-
const rowPattern = /^\s*(❯|›)?\s*\d+\.\s+(.+?)\s{2,}(\S.*?)\s*$/;
|
|
8
|
-
export function parseClaudeModelPicker(text) {
|
|
9
|
-
return parseRows(pickerRegion(text, claudeModelPickerHeader), (labelText) => {
|
|
10
|
-
const isCurrent = labelText.includes("✔");
|
|
11
|
-
const isDefault = /\(recommended\)/i.test(labelText);
|
|
12
|
-
const label = labelText
|
|
13
|
-
.replace("✔", "")
|
|
14
|
-
.replace(/\(recommended\)/i, "")
|
|
15
|
-
.trim();
|
|
16
|
-
return { label, id: label.toLowerCase(), isCurrent, isDefault };
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
export function parseCodexModelPicker(text) {
|
|
20
|
-
const parsed = parseRows(pickerRegion(text, codexModelPickerHeader), (labelText) => {
|
|
21
|
-
const isCurrent = /\(current\)/i.test(labelText);
|
|
22
|
-
const isDefault = /\(default\)/i.test(labelText);
|
|
23
|
-
const label = labelText.replace(/\((?:current|default)\)/gi, "").trim();
|
|
24
|
-
return { label, id: label.toLowerCase(), isCurrent, isDefault };
|
|
25
|
-
});
|
|
26
|
-
// Codex omits the default marker when the current model is the default.
|
|
27
|
-
if (parsed.options.some((option) => option.isDefault))
|
|
28
|
-
return parsed;
|
|
29
|
-
const options = parsed.options.map((option) => option.isCurrent ? { ...option, isDefault: true } : option);
|
|
30
|
-
return { options, cursorIndex: parsed.cursorIndex };
|
|
31
|
-
}
|
|
32
|
-
function parseRows(region, decorate) {
|
|
33
|
-
const options = [];
|
|
34
|
-
let cursorIndex = -1;
|
|
35
|
-
for (const line of region.split("\n")) {
|
|
36
|
-
const match = rowPattern.exec(line);
|
|
37
|
-
if (!match)
|
|
38
|
-
continue;
|
|
39
|
-
if (match[1])
|
|
40
|
-
cursorIndex = options.length;
|
|
41
|
-
options.push({
|
|
42
|
-
...decorate(match[2]),
|
|
43
|
-
description: match[3],
|
|
44
|
-
raw: line.trim(),
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
return { options, cursorIndex };
|
|
48
|
-
}
|
|
49
|
-
function pickerRegion(text, header) {
|
|
50
|
-
const lines = text.split("\n");
|
|
51
|
-
for (let index = lines.length - 1; index >= 0; index -= 1) {
|
|
52
|
-
if (header.test(lines[index]))
|
|
53
|
-
return lines.slice(index).join("\n");
|
|
54
|
-
}
|
|
55
|
-
return "";
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=model-rows.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-rows.js","sourceRoot":"","sources":["../../src/core/model-rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Elwood-owned temp state directory for a session-less probe (C-API-41).
|
|
3
|
-
* The probe creates a fresh directory it fully owns, so it can remove EVERYTHING
|
|
4
|
-
* it allocated — even when adapter startup fails after writing the session
|
|
5
|
-
* directory or runtime files — without touching any caller-owned state.
|
|
6
|
-
*/
|
|
7
|
-
export type OwnedProbeStateDir = {
|
|
8
|
-
/** The fresh, probe-owned state directory to launch the throwaway session in. */
|
|
9
|
-
readonly dir: string;
|
|
10
|
-
/** Removes the owned directory and everything under it; best-effort, never throws. */
|
|
11
|
-
readonly remove: () => void;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Creates a fresh probe-owned state directory. When the caller supplies a `parent`
|
|
15
|
-
* (the `ListModelsOptions.stateDir`), the temp directory is created inside it so
|
|
16
|
-
* the caller can locate the probe's state; otherwise it lands under the OS temp
|
|
17
|
-
* dir. Either way Elwood OWNS the created directory and removes exactly it — never
|
|
18
|
-
* a caller-owned tree — on cleanup.
|
|
19
|
-
*/
|
|
20
|
-
export declare function ownedProbeStateDir(agent: string, parent?: string): OwnedProbeStateDir;
|
|
21
|
-
//# sourceMappingURL=probe-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"probe-state.d.ts","sourceRoot":"","sources":["../../src/core/probe-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAMrF"}
|
package/dist/core/probe-state.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Elwood-owned temp state directory for a session-less probe (C-API-41).
|
|
3
|
-
* The probe creates a fresh directory it fully owns, so it can remove EVERYTHING
|
|
4
|
-
* it allocated — even when adapter startup fails after writing the session
|
|
5
|
-
* directory or runtime files — without touching any caller-owned state.
|
|
6
|
-
*/
|
|
7
|
-
import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
|
|
8
|
-
import { tmpdir } from "node:os";
|
|
9
|
-
import { join } from "node:path";
|
|
10
|
-
/**
|
|
11
|
-
* Creates a fresh probe-owned state directory. When the caller supplies a `parent`
|
|
12
|
-
* (the `ListModelsOptions.stateDir`), the temp directory is created inside it so
|
|
13
|
-
* the caller can locate the probe's state; otherwise it lands under the OS temp
|
|
14
|
-
* dir. Either way Elwood OWNS the created directory and removes exactly it — never
|
|
15
|
-
* a caller-owned tree — on cleanup.
|
|
16
|
-
*/
|
|
17
|
-
export function ownedProbeStateDir(agent, parent) {
|
|
18
|
-
const root = parent ?? tmpdir();
|
|
19
|
-
// A caller-supplied `stateDir` need not exist yet; mkdtemp requires its parent.
|
|
20
|
-
if (parent !== undefined)
|
|
21
|
-
mkdirSync(root, { recursive: true });
|
|
22
|
-
const dir = mkdtempSync(join(root, `elwood-${agent}-models-`));
|
|
23
|
-
return { dir, remove: () => removeProbeStateDir(dir) };
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Removes a probe-owned directory and everything under it. Best-effort: `force`
|
|
27
|
-
* already ignores an already-gone directory, and any other fs error (EPERM, a
|
|
28
|
-
* file where a directory was expected, and so on) is swallowed so a cleanup
|
|
29
|
-
* failure never masks the probe's real result.
|
|
30
|
-
*/
|
|
31
|
-
function removeProbeStateDir(dir) {
|
|
32
|
-
try {
|
|
33
|
-
rmSync(dir, { recursive: true, force: true });
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
// Best-effort cleanup: a failure here is never surfaced to the caller.
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=probe-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"probe-state.js","sourceRoot":"","sources":["../../src/core/probe-state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,MAAe;IAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAChC,gFAAgF;IAChF,IAAI,MAAM,KAAK,SAAS;QAAE,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/** Abort-aware timing and composer cleanup for queued input (PRD §5.3/§5.9). */
|
|
2
|
-
/** The narrow PTY write surface the queued-input helpers drive. */
|
|
3
|
-
export type InputTerminal = {
|
|
4
|
-
sendInput(data: string | Uint8Array): void | Promise<void>;
|
|
5
|
-
};
|
|
6
|
-
export declare function waitForInput(ms: number, signal?: AbortSignal): Promise<void>;
|
|
7
|
-
export declare function throwIfInputAborted(signal?: AbortSignal): void;
|
|
8
|
-
export declare function inputAbortError(signal: AbortSignal): Error;
|
|
9
|
-
export declare function clearStagedComposer(terminal: InputTerminal): Promise<void>;
|
|
10
|
-
//# sourceMappingURL=session-input-abort.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-input-abort.d.ts","sourceRoot":"","sources":["../../src/core/session-input-abort.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG;IAAE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAE3F,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB5E;AAUD,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAE9D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAE1D;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhF"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/** Abort-aware timing and composer cleanup for queued input (PRD §5.3/§5.9). */
|
|
2
|
-
export function waitForInput(ms, signal) {
|
|
3
|
-
if (signal === undefined)
|
|
4
|
-
return delayUnref(ms);
|
|
5
|
-
return new Promise((resolve, reject) => {
|
|
6
|
-
if (signal.aborted) {
|
|
7
|
-
reject(inputAbortError(signal));
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
const aborted = () => {
|
|
11
|
-
clearTimeout(timer);
|
|
12
|
-
reject(inputAbortError(signal));
|
|
13
|
-
};
|
|
14
|
-
const timer = setTimeout(() => {
|
|
15
|
-
signal.removeEventListener("abort", aborted);
|
|
16
|
-
resolve();
|
|
17
|
-
}, ms);
|
|
18
|
-
timer.unref?.();
|
|
19
|
-
signal.addEventListener("abort", aborted, { once: true });
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
/** An unreferenced sleep: a pending settle delay never keeps the host alive by itself. */
|
|
23
|
-
function delayUnref(ms) {
|
|
24
|
-
return new Promise((resolve) => {
|
|
25
|
-
const timer = setTimeout(resolve, ms);
|
|
26
|
-
timer.unref?.();
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
export function throwIfInputAborted(signal) {
|
|
30
|
-
if (signal?.aborted)
|
|
31
|
-
throw inputAbortError(signal);
|
|
32
|
-
}
|
|
33
|
-
export function inputAbortError(signal) {
|
|
34
|
-
return signal.reason instanceof Error ? signal.reason : new Error("Submission aborted.");
|
|
35
|
-
}
|
|
36
|
-
export async function clearStagedComposer(terminal) {
|
|
37
|
-
try {
|
|
38
|
-
await terminal.sendInput("\u0015\u000b");
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
// Best-effort: preserve the cancellation as the primary outcome.
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=session-input-abort.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-input-abort.js","sourceRoot":"","sources":["../../src/core/session-input-abort.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAKhF,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,MAAoB;IAC3D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,IAAI,MAAM,EAAE,OAAO;QAAE,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAuB;IAC/D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared PTY input submission helpers for adapter sessions.
|
|
3
|
-
* Implements PRD §5.3 prompt and command submission semantics (C-API-31).
|
|
4
|
-
*/
|
|
5
|
-
import type { ControlSubmitMode } from "./control-queue.ts";
|
|
6
|
-
import { type InputTerminal } from "./session-input-abort.ts";
|
|
7
|
-
/** Adapter view of "the paste is still staged in the composer". */
|
|
8
|
-
export type PasteGuard = {
|
|
9
|
-
readonly snapshot: () => string;
|
|
10
|
-
readonly staged: (screen: string, prompt: string) => boolean;
|
|
11
|
-
/**
|
|
12
|
-
* True when a blocking human-decision dialog is on screen. A dialog can
|
|
13
|
-
* appear during the paste-settle window; sending the submitting Enter then
|
|
14
|
-
* would confirm the dialog's highlighted option (e.g. approve a tool). The
|
|
15
|
-
* Enter is therefore held while this is true and retried once it clears.
|
|
16
|
-
*/
|
|
17
|
-
readonly blocked?: () => boolean;
|
|
18
|
-
};
|
|
19
|
-
export declare const commandEnterDelayMs = 150;
|
|
20
|
-
export declare const pasteSettleDelayMs = 150;
|
|
21
|
-
export declare const pasteNudgeDelayMs = 1000;
|
|
22
|
-
export declare const pasteNudgeAttempts = 2;
|
|
23
|
-
/** How often the submitting Enter re-checks a blocking dialog before firing. */
|
|
24
|
-
export declare const blockedPollMs = 50;
|
|
25
|
-
/** Explicitly best-effort input for startup/recovery automation. */
|
|
26
|
-
export declare function ignoreInputFailure(input: void | Promise<void>): void;
|
|
27
|
-
/**
|
|
28
|
-
* Neutralizes caller/model text before it is framed as a bracketed paste (§5.3).
|
|
29
|
-
* Message text is data, so an embedded `ESC[201~` end sentinel (or a bare control
|
|
30
|
-
* byte) MUST NOT terminate paste mode early and turn following bytes into live
|
|
31
|
-
* keystrokes — e.g. an Enter that confirms a permission dialog. Tab, newline, and
|
|
32
|
-
* carriage return survive as legitimate multi-line text; everything else is
|
|
33
|
-
* stripped. `sendKeys` is the raw escape hatch and never goes through here.
|
|
34
|
-
*/
|
|
35
|
-
export declare function sanitizePasteText(text: string): string;
|
|
36
|
-
export declare function writeQueuedInput(terminal: InputTerminal, input: string, mode: ControlSubmitMode, guard?: PasteGuard, signal?: AbortSignal, enterDelayMs?: number): Promise<void>;
|
|
37
|
-
//# sourceMappingURL=session-input.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-input.d.ts","sourceRoot":"","sources":["../../src/core/session-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AAElC,mEAAmE;AACnE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AACvC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,gFAAgF;AAChF,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEpE;AASD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAwGD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,iBAAiB,EACvB,KAAK,CAAC,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,WAAW,EACpB,YAAY,SAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|