@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,147 +0,0 @@
|
|
|
1
|
-
/** Builds a live ClaudeSessionApi from a record + runtime. Implements PRD §5, §6, §8, §9. */
|
|
2
|
-
import { defaultTerminalSize } from "../core/defaults.js";
|
|
3
|
-
import { causeDetails, elwoodError } from "../core/errors.js";
|
|
4
|
-
import { observeRenderedFrame } from "../core/rendered-observers.js";
|
|
5
|
-
import { createStartupWarningGate, deliverFrameWarnings } from "../core/startup-frame.js";
|
|
6
|
-
import { emitSettledStartupOutcomes } from "../core/startup-write.js";
|
|
7
|
-
import { TerminalReplayBuffer } from "../core/terminal-replay.js";
|
|
8
|
-
import { TypedEmitter } from "../events/emitter.js";
|
|
9
|
-
import { loadRuntimeLoopDefinitions as loadLoops } from "../runtime/loop-restore.js";
|
|
10
|
-
import { createReadinessGate } from "../runtime/session-readiness.js";
|
|
11
|
-
import { assertStartupThenRelease, createStartupBuffer } from "../runtime/startup-buffer.js";
|
|
12
|
-
import { cleanupStartupResources, guardStartupRegion } from "../runtime/startup-cleanup.js";
|
|
13
|
-
import { secureMkdir } from "../state/files.js";
|
|
14
|
-
import { writeSessionRecord } from "../state/store.js";
|
|
15
|
-
import { attachPtyTerminal } from "../terminal/headless.js";
|
|
16
|
-
import { preflightEvent } from "./preflight.js";
|
|
17
|
-
import { currentClaudeHookBridgeFactory } from "./session-bridge.js";
|
|
18
|
-
import { buildClaudeHookErrorHandler, buildClaudeHookHandler } from "./session-hook-handler.js";
|
|
19
|
-
import { ClaudeSessionImpl } from "./session-instance.js";
|
|
20
|
-
import { buildClaudeObservers, handleClaudeExit, registerInitialHooks, spawnClaudePty, writeRuntimeFiles, } from "./session-runtime.js";
|
|
21
|
-
import { createTranscriptWatcher, observeTranscript } from "./session-transcript.js";
|
|
22
|
-
import { ClaudeStartupPromptResponder } from "./startup-prompts.js";
|
|
23
|
-
import { CLAUDE_STARTUP_MIN_COLS } from "./startup-size.js";
|
|
24
|
-
export async function buildClaudeSession(input) {
|
|
25
|
-
const { record, stateDir, runtime, options, resumed, preflightWarning } = input;
|
|
26
|
-
secureMkdir(runtime.sessionDir);
|
|
27
|
-
writeSessionRecord(record, runtime.sessionDir);
|
|
28
|
-
const loopDefinitions = resumed ? loadLoops(stateDir, record.elwoodSessionId) : [];
|
|
29
|
-
writeRuntimeFiles(runtime, options);
|
|
30
|
-
const emitter = new TypedEmitter();
|
|
31
|
-
registerInitialHooks(emitter, options.hooks);
|
|
32
|
-
let session;
|
|
33
|
-
// ALL startup-region warnings — startup-prompt (frame path) AND transcript
|
|
34
|
-
// drop/read-error diagnostics — route through ONE gate that buffers anything emitted
|
|
35
|
-
// before startClaude resolves and flushes it on a deferred macrotask after return,
|
|
36
|
-
// so every source stays observable without late-subscriber replay (C-API-14).
|
|
37
|
-
const warnGate = createStartupWarningGate({
|
|
38
|
-
emitWarnings: (w) => deliverFrameWarnings(session, w),
|
|
39
|
-
});
|
|
40
|
-
const wired = createTranscriptWatcher(record.elwoodSessionId, emitter, () => warnGate);
|
|
41
|
-
const { watcher: transcriptWatcher, flushPendingWarnings, finishSafely } = wired;
|
|
42
|
-
// Initial readiness is hook-backed (`InstructionsLoaded` fires `mark`); the first
|
|
43
|
-
// frame arms a starvation deadline so a missing/failed hook cannot starve the queue,
|
|
44
|
-
// and on resume the first composer frame also marks ready (PRD §5.3, C-API-28).
|
|
45
|
-
const autotrust = options.autotrust ?? false;
|
|
46
|
-
// Observers are built BEFORE the readiness gate so its callback never closes
|
|
47
|
-
// over a binding declared later in this function.
|
|
48
|
-
const observers = buildClaudeObservers(record.elwoodSessionId, autotrust, emitter);
|
|
49
|
-
const turnWatcher = observers.turn;
|
|
50
|
-
const { ready, observeReadinessFrame } = createReadinessGate(() => {
|
|
51
|
-
turnWatcher.arm(resumed); // resume arms in settling mode (no phantom replay turn)
|
|
52
|
-
// completeInitialReady advances readiness in a finally, isolating restore/warning
|
|
53
|
-
// failures internally, so its promise never rejects (not awaited).
|
|
54
|
-
void session?.completeInitialReady();
|
|
55
|
-
}, resumed);
|
|
56
|
-
const bridge = currentClaudeHookBridgeFactory()(runtime.socketPath, runtime.bridgeToken, record.elwoodSessionId, buildClaudeHookHandler({
|
|
57
|
-
record,
|
|
58
|
-
options,
|
|
59
|
-
emitter,
|
|
60
|
-
transcriptWatcher,
|
|
61
|
-
ready,
|
|
62
|
-
getSession: () => session,
|
|
63
|
-
getTurnWatcher: () => turnWatcher,
|
|
64
|
-
observeHookTranscript: (event) => observeTranscript(transcriptWatcher, event),
|
|
65
|
-
}), buildClaudeHookErrorHandler(record, emitter));
|
|
66
|
-
try {
|
|
67
|
-
await bridge.start();
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
// Best-effort shut down a partially-started bridge so its listener/socket is not
|
|
71
|
-
// leaked; contained so the original bridge-start error is the one that rejects.
|
|
72
|
-
await bridge.stop().catch(() => undefined);
|
|
73
|
-
throw elwoodError("hook_bridge_failed", "Could not start Elwood hook bridge.", {
|
|
74
|
-
...causeDetails(error),
|
|
75
|
-
socketPath: runtime.socketPath,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
const requestedSize = options.initialSize ?? defaultTerminalSize;
|
|
79
|
-
const startupSize = {
|
|
80
|
-
...requestedSize,
|
|
81
|
-
cols: Math.max(requestedSize.cols, CLAUDE_STARTUP_MIN_COLS),
|
|
82
|
-
};
|
|
83
|
-
let pty;
|
|
84
|
-
try {
|
|
85
|
-
pty = spawnClaudePty(record, runtime.settingsPath, { ...options, initialSize: startupSize });
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
await cleanupStartupResources({ bridge });
|
|
89
|
-
throw error;
|
|
90
|
-
}
|
|
91
|
-
const startupOutput = createStartupBuffer();
|
|
92
|
-
let startupExit;
|
|
93
|
-
const terminalReplay = new TerminalReplayBuffer(record.elwoodSessionId);
|
|
94
|
-
terminalReplay.captureStartupAttention(emitter);
|
|
95
|
-
const promptResponder = new ClaudeStartupPromptResponder(autotrust);
|
|
96
|
-
let latestRenderedText = "";
|
|
97
|
-
const terminal = attachPtyTerminal(startupSize, pty, (data, renderedTerminal) => {
|
|
98
|
-
startupOutput.push(data);
|
|
99
|
-
terminalReplay.push(data);
|
|
100
|
-
latestRenderedText = renderedTerminal.snapshot().text;
|
|
101
|
-
const frame = { text: latestRenderedText, title: renderedTerminal.title };
|
|
102
|
-
// The write RETURNS its `sendInput` completion (no longer swallowed): the
|
|
103
|
-
// responder settles the prompt and its `startup_prompt` activity only after
|
|
104
|
-
// the write fulfills, and a rejected write stays retryable + warns (C-CLAUDE-16).
|
|
105
|
-
const autos = promptResponder.handle(frame.text, (input) => renderedTerminal.sendInput(input), () => latestRenderedText);
|
|
106
|
-
// Warning delivery is CONTAINED on the frame path: a throwing `warning`/`activity`
|
|
107
|
-
// listener must never skip readiness, login detection, or terminal:data (§5.7).
|
|
108
|
-
emitSettledStartupOutcomes(emitter, "claude", record.elwoodSessionId, autos, {
|
|
109
|
-
emitWarnings: (warnings) => warnGate.emitWarnings(warnings),
|
|
110
|
-
});
|
|
111
|
-
// Hook-backed readiness + deadline fallback; on resume the first composer also marks ready (C-API-28).
|
|
112
|
-
ready.armDeadline();
|
|
113
|
-
const reading = observeRenderedFrame(observers, frame, session);
|
|
114
|
-
observeReadinessFrame(reading.facts); // blocking gate + resume-composer mark
|
|
115
|
-
// Surface a mid-session login-expiry banner once (C-CLAUDE-18); no-op pre-readiness.
|
|
116
|
-
session?.noteLoginExpiry(frame.text);
|
|
117
|
-
emitter.emit("terminal:data", { elwoodSessionId: record.elwoodSessionId, data });
|
|
118
|
-
});
|
|
119
|
-
session = new ClaudeSessionImpl(record, stateDir, runtime, pty, terminal, bridge, emitter, terminalReplay, requestedSize, loopDefinitions);
|
|
120
|
-
const active = session;
|
|
121
|
-
const beforeCleanup = () => active.pauseLoopsForStartupCleanup(ready.cancel);
|
|
122
|
-
// Guard every live-resource step after session creation: a failure in any of them
|
|
123
|
-
// tears down the now-live PTY, bridge, terminal, and watcher first (PRD §9.1, §9.4).
|
|
124
|
-
await guardStartupRegion(async () => {
|
|
125
|
-
active.startLoops();
|
|
126
|
-
flushPendingWarnings(); // sink now exists: flush any early-buffered diagnostic (§5.7)
|
|
127
|
-
// A hook or deadline that fired before the session existed submitted nothing
|
|
128
|
-
// (evidence is `session?.`-guarded); replay it now the session can consume it.
|
|
129
|
-
ready.replay();
|
|
130
|
-
pty.onExit((exit) => {
|
|
131
|
-
startupExit = exit;
|
|
132
|
-
ready.cancel(); // No queued message can release after exit; drop the pending deadline.
|
|
133
|
-
handleClaudeExit(emitter, record.elwoodSessionId, exit, finishSafely, () => active.submitExit());
|
|
134
|
-
});
|
|
135
|
-
// Release the startup buffer once the check settles (§9.4).
|
|
136
|
-
await assertStartupThenRelease("claude", startupOutput, () => startupExit);
|
|
137
|
-
active.submitEvidence("startup_usable");
|
|
138
|
-
}, { before: beforeCleanup, pty, bridge, terminal, after: () => transcriptWatcher.stop() });
|
|
139
|
-
// Open buffered startup warnings after return so synchronous subscribers see them (C-API-14).
|
|
140
|
-
if (preflightWarning !== undefined) {
|
|
141
|
-
warnGate.emitWarnings([preflightEvent(record.elwoodSessionId, preflightWarning)]);
|
|
142
|
-
}
|
|
143
|
-
warnGate.openAfterReturn();
|
|
144
|
-
terminalReplay.releaseStartupAttentionAfterReturn();
|
|
145
|
-
return session;
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=session-build.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-build.js","sourceRoot":"","sources":["../../src/claude/session-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude hook-bridge message and error handlers that `session-build.ts` hands
|
|
3
|
-
* to the bridge factory. Implements PRD §5.3, §5.4, §6, and §8:
|
|
4
|
-
* normalize each hook, emit its `hook`/`activity` events, run the caller's hook
|
|
5
|
-
* with a bounded timeout, and drive readiness/turn state — initial readiness on
|
|
6
|
-
* `InstructionsLoaded` (C-API-28), turn-end on an unblocked `Stop` (C-CLAUDE-15).
|
|
7
|
-
*/
|
|
8
|
-
import type { BridgeProcessResult } from "../bridge/types.ts";
|
|
9
|
-
import type { TurnStateWatcher } from "../core/turn-state.ts";
|
|
10
|
-
import type { ClaudeEventMap, HookErrorEvent, StartClaudeOptions } from "../core/types.ts";
|
|
11
|
-
import type { TypedEmitter } from "../events/emitter.ts";
|
|
12
|
-
import type { InitialReady } from "../runtime/initial-ready.ts";
|
|
13
|
-
import type { SessionRecord } from "../state/store.ts";
|
|
14
|
-
import type { ClaudeHookEvent } from "./hooks.ts";
|
|
15
|
-
import type { ClaudeSessionImpl } from "./session-instance.ts";
|
|
16
|
-
/** The live pieces the Claude hook handler drives; `session`/`turnWatcher` are read
|
|
17
|
-
* lazily because both are assigned after the bridge is constructed. */
|
|
18
|
-
export type ClaudeHookHandlerDeps = {
|
|
19
|
-
readonly record: SessionRecord;
|
|
20
|
-
readonly options: StartClaudeOptions;
|
|
21
|
-
readonly emitter: TypedEmitter<ClaudeEventMap>;
|
|
22
|
-
readonly transcriptWatcher: {
|
|
23
|
-
readonly scan: () => void;
|
|
24
|
-
};
|
|
25
|
-
readonly ready: InitialReady;
|
|
26
|
-
readonly getSession: () => ClaudeSessionImpl | undefined;
|
|
27
|
-
readonly getTurnWatcher: () => TurnStateWatcher;
|
|
28
|
-
readonly observeHookTranscript: (event: ClaudeHookEvent) => void;
|
|
29
|
-
};
|
|
30
|
-
/** Builds the async hook-message handler passed to the Claude hook bridge factory. */
|
|
31
|
-
export declare function buildClaudeHookHandler(deps: ClaudeHookHandlerDeps): (input: unknown) => Promise<BridgeProcessResult>;
|
|
32
|
-
/** Builds the hook-error handler passed to the Claude hook bridge factory. */
|
|
33
|
-
export declare function buildClaudeHookErrorHandler(record: SessionRecord, emitter: TypedEmitter<ClaudeEventMap>): (event: Omit<HookErrorEvent, "elwoodSessionId">) => void;
|
|
34
|
-
//# sourceMappingURL=session-hook-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-hook-handler.d.ts","sourceRoot":"","sources":["../../src/claude/session-hook-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;uEACuE;AACvE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,MAAM,gBAAgB,CAAC;IAChD,QAAQ,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,qBAAqB,GAC1B,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAiClD;AAED,8EAA8E;AAC9E,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,GACpC,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAM1D"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude hook-bridge message and error handlers that `session-build.ts` hands
|
|
3
|
-
* to the bridge factory. Implements PRD §5.3, §5.4, §6, and §8:
|
|
4
|
-
* normalize each hook, emit its `hook`/`activity` events, run the caller's hook
|
|
5
|
-
* with a bounded timeout, and drive readiness/turn state — initial readiness on
|
|
6
|
-
* `InstructionsLoaded` (C-API-28), turn-end on an unblocked `Stop` (C-CLAUDE-15).
|
|
7
|
-
*/
|
|
8
|
-
import * as activity from "../core/activity.js";
|
|
9
|
-
import { isBlock, requestHook } from "./hook-dispatch.js";
|
|
10
|
-
import { normalizeClaudeHookEvent } from "./normalize.js";
|
|
11
|
-
import { serializeHookResult } from "./serialize.js";
|
|
12
|
-
/** Builds the async hook-message handler passed to the Claude hook bridge factory. */
|
|
13
|
-
export function buildClaudeHookHandler(deps) {
|
|
14
|
-
const { record, options, emitter, transcriptWatcher, ready } = deps;
|
|
15
|
-
return async (input) => {
|
|
16
|
-
const event = normalizeClaudeHookEvent(input);
|
|
17
|
-
if (event.hook_event_name === "SessionStart")
|
|
18
|
-
deps.getSession()?.rememberClaudeSessionId(event.session_id);
|
|
19
|
-
deps.observeHookTranscript(event);
|
|
20
|
-
emitter.emit("hook", event);
|
|
21
|
-
emitter.emit("activity", activity.activityFromClaudeHook(record.elwoodSessionId, event));
|
|
22
|
-
const outcome = await requestHook(emitter, event, options.hookTimeoutMs ?? 25_000, record.elwoodSessionId);
|
|
23
|
-
emitter.emit("activity", activity.activityFromHookResult("claude", record.elwoodSessionId, event.hook_event_name, outcome.result, outcome.failedOpen));
|
|
24
|
-
if (event.hook_event_name === "InstructionsLoaded")
|
|
25
|
-
ready.mark();
|
|
26
|
-
if (event.hook_event_name === "Stop" && !isBlock(outcome.result)) {
|
|
27
|
-
transcriptWatcher.scan(); // Committed turn is on disk; read it now (C-CLAUDE-15).
|
|
28
|
-
deps.getTurnWatcher().arm();
|
|
29
|
-
deps.getSession()?.submitEvidence("hook_turn_ended");
|
|
30
|
-
}
|
|
31
|
-
return serializeHookResult(event.hook_event_name, outcome.result);
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/** Builds the hook-error handler passed to the Claude hook bridge factory. */
|
|
35
|
-
export function buildClaudeHookErrorHandler(record, emitter) {
|
|
36
|
-
return (event) => {
|
|
37
|
-
const hookError = { elwoodSessionId: record.elwoodSessionId, ...event };
|
|
38
|
-
emitter.emit("hookError", hookError);
|
|
39
|
-
emitter.emit("activity", activity.activityFromHookError("claude", hookError));
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=session-hook-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-hook-handler.js","sourceRoot":"","sources":["../../src/claude/session-hook-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAMhD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAgBrD,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CACpC,IAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACpE,OAAO,KAAK,EAAE,KAAc,EAAgC,EAAE;QAC5D,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,eAAe,KAAK,cAAc;YAC1C,IAAI,CAAC,UAAU,EAAE,EAAE,uBAAuB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,OAAO,EACP,KAAK,EACL,OAAO,CAAC,aAAa,IAAI,MAAM,EAC/B,MAAM,CAAC,eAAe,CACvB,CAAC;QACF,OAAO,CAAC,IAAI,CACV,UAAU,EACV,QAAQ,CAAC,sBAAsB,CAC7B,QAAQ,EACR,MAAM,CAAC,eAAe,EACtB,KAAK,CAAC,eAAe,EACrB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,CACnB,CACF,CAAC;QACF,IAAI,KAAK,CAAC,eAAe,KAAK,oBAAoB;YAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACjE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,wDAAwD;YAClF,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,EAAE,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,2BAA2B,CACzC,MAAqB,EACrB,OAAqC;IAErC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,SAAS,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,GAAG,KAAK,EAAE,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/** In-memory Claude session object exposed to callers. Implements PRD §4.1, §5, §6, §7, §8. */
|
|
2
|
-
import type { ElwoodActivityEvent } from "../core/activity.ts";
|
|
3
|
-
import type { TerminalReplayBuffer } from "../core/terminal-replay.ts";
|
|
4
|
-
import type { ClaudeEventMap, ElwoodEventHandler, ElwoodEventName, ElwoodSessionStatus, ElwoodWarningEvent, TerminalSize } from "../core/types.ts";
|
|
5
|
-
import type { TypedEmitter } from "../events/emitter.ts";
|
|
6
|
-
import type { PtyProcess } from "../pty/types.ts";
|
|
7
|
-
import { AgentSessionBase } from "../runtime/session-base.ts";
|
|
8
|
-
import type { PersistedLoopDefinition } from "../state/loop-store.ts";
|
|
9
|
-
import type { SessionRuntime } from "../state/runtime-paths.ts";
|
|
10
|
-
import { type SessionRecord } from "../state/store.ts";
|
|
11
|
-
import type { ElwoodTerminal } from "../terminal/headless.ts";
|
|
12
|
-
import type { ClaudeLoginOptions } from "./login/types.ts";
|
|
13
|
-
import type { ClaudeSessionApi } from "./session-interface.ts";
|
|
14
|
-
export type HookBridge = {
|
|
15
|
-
readonly start: () => Promise<void>;
|
|
16
|
-
readonly stop: () => Promise<void>;
|
|
17
|
-
};
|
|
18
|
-
export declare class ClaudeSessionImpl extends AgentSessionBase implements ClaudeSessionApi {
|
|
19
|
-
protected readonly picker: import("../core/model-picker.ts").ModelPickerSpec;
|
|
20
|
-
private readonly bridge;
|
|
21
|
-
private readonly emitter;
|
|
22
|
-
private requestedSize;
|
|
23
|
-
private awaitingInitialReady;
|
|
24
|
-
private initialReadyDone;
|
|
25
|
-
private readonly loginExpiredWatcher;
|
|
26
|
-
constructor(record: SessionRecord, stateDir: string, runtime: SessionRuntime, pty: PtyProcess, terminal: ElwoodTerminal, bridge: HookBridge, emitter: TypedEmitter<ClaudeEventMap>, terminalReplay: TerminalReplayBuffer, requestedSize: TerminalSize, loopDefinitions: readonly PersistedLoopDefinition[]);
|
|
27
|
-
on<E extends ElwoodEventName>(event: E, handler: ElwoodEventHandler<E>): import("../index.ts").Unsubscribe;
|
|
28
|
-
off<E extends ElwoodEventName>(event: E, handler: ElwoodEventHandler<E>): void;
|
|
29
|
-
waitForStatus(match: (status: ElwoodSessionStatus) => boolean, timeoutMs?: number): Promise<"starting" | "running" | "ready" | "blocked" | "exited" | "stopped" | "killed" | "torn_down">;
|
|
30
|
-
waitForActivity(match: (event: ElwoodActivityEvent) => boolean, timeoutMs?: number): Promise<ElwoodActivityEvent>;
|
|
31
|
-
protected stagedPaste(screen: string): boolean;
|
|
32
|
-
protected attachImages: (paths: readonly string[], signal: AbortSignal) => Promise<void>;
|
|
33
|
-
resize(size: TerminalSize): Promise<void>;
|
|
34
|
-
completeInitialReady(): Promise<void>;
|
|
35
|
-
private restoreRequestedSize;
|
|
36
|
-
rememberClaudeSessionId(sessionId: string): void;
|
|
37
|
-
emitWarnings(warnings: readonly ElwoodWarningEvent[]): void;
|
|
38
|
-
noteLoginExpiry(screenText: string): void;
|
|
39
|
-
login(options: ClaudeLoginOptions): Promise<void>;
|
|
40
|
-
protected stopRuntime(): Promise<void>;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=session-instance.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-instance.d.ts","sourceRoot":"","sources":["../../src/claude/session-instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { sessionWaitForActivity, sessionWaitForStatus } from "../core/session-wait.js";
|
|
2
|
-
import { emitSessionWarnings } from "../core/session-warnings.js";
|
|
3
|
-
import { terminalStatuses } from "../core/status-categories.js";
|
|
4
|
-
import { AgentSessionBase } from "../runtime/session-base.js";
|
|
5
|
-
import { runCleanupSteps } from "../runtime/teardown.js";
|
|
6
|
-
import { updateSessionResumeId } from "../state/store.js";
|
|
7
|
-
import { attachClaudeImages } from "./attach-images.js";
|
|
8
|
-
import { runSessionLogin } from "./login/session-login.js";
|
|
9
|
-
import { LoginExpiredWatcher, loginExpiredWarning } from "./login-expired.js";
|
|
10
|
-
import { claudeModelPicker } from "./model-picker.js";
|
|
11
|
-
import { resizeRestoreFailedWarning } from "./resize-restore.js";
|
|
12
|
-
import { CLAUDE_STARTUP_MIN_COLS } from "./startup-size.js";
|
|
13
|
-
export class ClaudeSessionImpl extends AgentSessionBase {
|
|
14
|
-
picker = claudeModelPicker;
|
|
15
|
-
bridge;
|
|
16
|
-
emitter;
|
|
17
|
-
requestedSize;
|
|
18
|
-
// Only a session requested BELOW the 100-column startup floor bootstraps wide and
|
|
19
|
-
// defers its restore to readiness (C-API-36); a 100+ session resizes immediately.
|
|
20
|
-
awaitingInitialReady;
|
|
21
|
-
// Whether the one-shot initial-ready transition has already run (idempotent).
|
|
22
|
-
initialReadyDone = false;
|
|
23
|
-
// Edge-detects a mid-session login-expiry banner so it warns once per occurrence.
|
|
24
|
-
loginExpiredWatcher = new LoginExpiredWatcher();
|
|
25
|
-
constructor(record, stateDir, runtime, pty, terminal, bridge, emitter, terminalReplay, requestedSize, loopDefinitions) {
|
|
26
|
-
super("claude", record, stateDir, runtime, pty, terminal, emitter, terminalReplay, loopDefinitions);
|
|
27
|
-
this.bridge = bridge;
|
|
28
|
-
this.emitter = emitter;
|
|
29
|
-
this.requestedSize = requestedSize;
|
|
30
|
-
this.awaitingInitialReady = requestedSize.cols < CLAUDE_STARTUP_MIN_COLS;
|
|
31
|
-
}
|
|
32
|
-
on(event, handler) {
|
|
33
|
-
// REGISTER before replaying buffered `terminal:data`: a throwing replay handler must still be
|
|
34
|
-
// subscribed for FUTURE data (otherwise startup telemetry silently disappears). Replay is of
|
|
35
|
-
// already-buffered past data and runs synchronously, so no live event interleaves.
|
|
36
|
-
const unsubscribe = this.emitter.on(event, handler);
|
|
37
|
-
this.replayFor(event, handler);
|
|
38
|
-
return unsubscribe;
|
|
39
|
-
}
|
|
40
|
-
off(event, handler) {
|
|
41
|
-
this.emitter.off(event, handler);
|
|
42
|
-
}
|
|
43
|
-
waitForStatus(match, timeoutMs) {
|
|
44
|
-
return sessionWaitForStatus(this, match, timeoutMs);
|
|
45
|
-
}
|
|
46
|
-
waitForActivity(match, timeoutMs) {
|
|
47
|
-
return sessionWaitForActivity(this, match, timeoutMs);
|
|
48
|
-
}
|
|
49
|
-
// Captured staged chip: "❯ [Pasted text #1 +15 lines]" (claude 2.1.201).
|
|
50
|
-
stagedPaste(screen) {
|
|
51
|
-
return /\[Pasted text/.test(screen);
|
|
52
|
-
}
|
|
53
|
-
// Claude reads a pasted absolute path; the paste is held while a dialog shows (C-API-45/37).
|
|
54
|
-
attachImages = (paths, signal) => attachClaudeImages(this.terminal, paths, signal, () => this.status === "blocked");
|
|
55
|
-
// A narrow session holds the PHYSICAL resize until readiness; it just records the
|
|
56
|
-
// requested geometry now and restores it at the initial-ready transition. A wide
|
|
57
|
-
// session (100+ cols) never deferred; it resizes now.
|
|
58
|
-
resize(size) {
|
|
59
|
-
if (!(this.awaitingInitialReady && !terminalStatuses.has(this.status))) {
|
|
60
|
-
this.requestedSize = size;
|
|
61
|
-
return super.resize(size);
|
|
62
|
-
}
|
|
63
|
-
// Non-terminal here: capture the requested geometry to restore at readiness
|
|
64
|
-
// without disturbing the live bootstrap width (C-API-25/39).
|
|
65
|
-
this.requestedSize = size;
|
|
66
|
-
return Promise.resolve();
|
|
67
|
-
}
|
|
68
|
-
// Restore deferred geometry (narrow only) then advance readiness — which MUST run even
|
|
69
|
-
// if the restore/warning throws, or queued messages starve (C-API-39/36). Idempotent.
|
|
70
|
-
completeInitialReady() {
|
|
71
|
-
if (this.initialReadyDone)
|
|
72
|
-
return Promise.resolve();
|
|
73
|
-
this.initialReadyDone = true;
|
|
74
|
-
const wasNarrowBootstrap = this.awaitingInitialReady;
|
|
75
|
-
this.awaitingInitialReady = false;
|
|
76
|
-
try {
|
|
77
|
-
if (wasNarrowBootstrap)
|
|
78
|
-
this.restoreRequestedSize();
|
|
79
|
-
}
|
|
80
|
-
finally {
|
|
81
|
-
this.advanceInitialReady();
|
|
82
|
-
}
|
|
83
|
-
return Promise.resolve();
|
|
84
|
-
}
|
|
85
|
-
// Apply the deferred physical geometry, so only a genuine native resize failure
|
|
86
|
-
// reports as staying at bootstrap width (C-API-39).
|
|
87
|
-
restoreRequestedSize() {
|
|
88
|
-
try {
|
|
89
|
-
this.restoreHeldSize(this.requestedSize);
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
// Isolated so a throwing warning/activity listener cannot skip readiness.
|
|
93
|
-
try {
|
|
94
|
-
this.emitWarnings([
|
|
95
|
-
resizeRestoreFailedWarning(this.elwoodSessionId, this.requestedSize, error),
|
|
96
|
-
]);
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
// A warning-sink/listener failure must never block readiness release.
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
rememberClaudeSessionId(sessionId) {
|
|
104
|
-
if (this.record.claude.resumeId)
|
|
105
|
-
return;
|
|
106
|
-
this.persist(updateSessionResumeId(this.record, "claude", sessionId));
|
|
107
|
-
}
|
|
108
|
-
emitWarnings(warnings) {
|
|
109
|
-
emitSessionWarnings(warnings, {
|
|
110
|
-
warning: (event) => this.emitter.emit("warning", event),
|
|
111
|
-
activity: (event) => this.emitter.emit("activity", event),
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
// Surface a mid-session login-expiry banner once (C-CLAUDE-18): gated on prior
|
|
115
|
-
// readiness (startup handles it fatally), edge-detected. FULLY non-throwing — runs
|
|
116
|
-
// in the frame callback's detached continuation, so a listener failure can't become
|
|
117
|
-
// an unhandled rejection or skip `terminal:data`. COMMIT the edge BEFORE the live
|
|
118
|
-
// fan-out: warnings are live-only (fire exactly once), and emitWarnings delivers to
|
|
119
|
-
// every listener before rethrowing a listener error — committing after would treat
|
|
120
|
-
// a throwing listener as non-delivery and re-fire the SAME incident to the listeners
|
|
121
|
-
// that already received it (a duplicate). A throwing listener is contained here.
|
|
122
|
-
noteLoginExpiry(screenText) {
|
|
123
|
-
if (!(this.everReady && this.loginExpiredWatcher.peek(screenText)))
|
|
124
|
-
return;
|
|
125
|
-
this.loginExpiredWatcher.commit();
|
|
126
|
-
try {
|
|
127
|
-
this.emitWarnings([loginExpiredWarning(this.elwoodSessionId)]);
|
|
128
|
-
}
|
|
129
|
-
catch {
|
|
130
|
-
// Live-only: a throwing listener is contained and the warning is dropped, not
|
|
131
|
-
// re-fired — the edge is already committed so a persistent banner warns once.
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// Drive `/login` re-auth as an exclusive, abort-aware queue transaction (C-API-43).
|
|
135
|
-
login(options) {
|
|
136
|
-
const onReady = (handler) => this.emitter.on("status", (e) => e.status === "ready" && handler());
|
|
137
|
-
const blocked = () => this.status === "blocked";
|
|
138
|
-
const deps = { controlQueue: this.controlQueue, terminal: this.terminal, blocked, onReady };
|
|
139
|
-
return this.inSession(() => runSessionLogin(deps, options));
|
|
140
|
-
}
|
|
141
|
-
stopRuntime() {
|
|
142
|
-
// Dispose the terminal even if the bridge stop rejects — no first-failure leak (§9.4).
|
|
143
|
-
return runCleanupSteps([() => this.bridge.stop(), () => this.terminal.dispose()]);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=session-instance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-instance.js","sourceRoot":"","sources":["../../src/claude/session-instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude-typed live-session surface (`ClaudeSessionApi`): the shape the PTY-backed
|
|
3
|
-
* session object satisfies. It is the PUBLIC low-level interface returned by the eager
|
|
4
|
-
* `startClaude`/`resumeClaude` factories and exposed through `ClaudeSession.session`;
|
|
5
|
-
* `src/index.ts` exports it and the CHANGELOG documents it as the supported low-level type.
|
|
6
|
-
* Most callers should prefer the ergonomic `ClaudeSession` class (src/claude/simple.ts),
|
|
7
|
-
* which wraps and delegates to this. Implements PRD §5 public API.
|
|
8
|
-
*/
|
|
9
|
-
import type { ElwoodActivityEvent } from "../core/activity.ts";
|
|
10
|
-
import type { SendOptions } from "../core/images/types.ts";
|
|
11
|
-
import type { LoopControls } from "../core/loops/loop-controls.ts";
|
|
12
|
-
import type { AgentModelOption } from "../core/model-rows.ts";
|
|
13
|
-
import type { ActivityMatch, ElwoodEventHandler, ElwoodEventName, ElwoodSessionStatus, ElwoodStatusDecision, StatusMatch, TerminalSize, Unsubscribe } from "../core/types.ts";
|
|
14
|
-
import type { ElwoodTerminal } from "../terminal/headless.ts";
|
|
15
|
-
import type { ClaudeLoginOptions } from "./login/types.ts";
|
|
16
|
-
export interface ClaudeSessionApi extends LoopControls {
|
|
17
|
-
readonly elwoodSessionId: string;
|
|
18
|
-
readonly cwd: string;
|
|
19
|
-
readonly status: ElwoodSessionStatus;
|
|
20
|
-
readonly terminal: ElwoodTerminal;
|
|
21
|
-
statusDecisions(): readonly ElwoodStatusDecision[];
|
|
22
|
-
waitForStatus(match: StatusMatch, timeoutMs?: number): Promise<ElwoodSessionStatus>;
|
|
23
|
-
waitForActivity(match: ActivityMatch, timeoutMs?: number): Promise<ElwoodActivityEvent>;
|
|
24
|
-
on<E extends ElwoodEventName>(event: E, handler: ElwoodEventHandler<E>): Unsubscribe;
|
|
25
|
-
off<E extends ElwoodEventName>(event: E, handler: ElwoodEventHandler<E>): void;
|
|
26
|
-
sendPrompt(prompt: string, options?: SendOptions): Promise<void>;
|
|
27
|
-
sendMessage(message: string, options?: SendOptions): Promise<void>;
|
|
28
|
-
sendGuidance(message: string, options?: SendOptions): Promise<void>;
|
|
29
|
-
sendKeys(input: string | Uint8Array): Promise<void>;
|
|
30
|
-
resize(size: TerminalSize): Promise<void>;
|
|
31
|
-
interrupt(options?: {
|
|
32
|
-
readonly timeoutMs?: number;
|
|
33
|
-
}): Promise<void>;
|
|
34
|
-
compact(options?: {
|
|
35
|
-
readonly timeoutMs?: number;
|
|
36
|
-
}): Promise<void>;
|
|
37
|
-
listModels(options?: {
|
|
38
|
-
readonly timeoutMs?: number;
|
|
39
|
-
}): Promise<readonly AgentModelOption[]>;
|
|
40
|
-
setModel(id: string, options?: {
|
|
41
|
-
readonly timeoutMs?: number;
|
|
42
|
-
}): Promise<void>;
|
|
43
|
-
/** Drive the interactive `/login` re-authentication flow to recover a lapsed login (C-API-43). */
|
|
44
|
-
login(options: ClaudeLoginOptions): Promise<void>;
|
|
45
|
-
stop(): Promise<void>;
|
|
46
|
-
kill(): Promise<void>;
|
|
47
|
-
teardown(): Promise<void>;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=session-interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-interface.d.ts","sourceRoot":"","sources":["../../src/claude/session-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude-typed live-session surface (`ClaudeSessionApi`): the shape the PTY-backed
|
|
3
|
-
* session object satisfies. It is the PUBLIC low-level interface returned by the eager
|
|
4
|
-
* `startClaude`/`resumeClaude` factories and exposed through `ClaudeSession.session`;
|
|
5
|
-
* `src/index.ts` exports it and the CHANGELOG documents it as the supported low-level type.
|
|
6
|
-
* Most callers should prefer the ergonomic `ClaudeSession` class (src/claude/simple.ts),
|
|
7
|
-
* which wraps and delegates to this. Implements PRD §5 public API.
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=session-interface.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-interface.js","sourceRoot":"","sources":["../../src/claude/session-interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude session resume entry point built on the shared start path.
|
|
3
|
-
* Implements PRD §5.2, §9.3, and C-API-16.
|
|
4
|
-
*/
|
|
5
|
-
import type { ResumeClaudeOptions } from "../core/types.ts";
|
|
6
|
-
import type { ClaudeSessionApi } from "./session-interface.ts";
|
|
7
|
-
export declare function resumeClaude(options: ResumeClaudeOptions): Promise<ClaudeSessionApi>;
|
|
8
|
-
//# sourceMappingURL=session-resume.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-resume.d.ts","sourceRoot":"","sources":["../../src/claude/session-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAS5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2C1F"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude session resume entry point built on the shared start path.
|
|
3
|
-
* Implements PRD §5.2, §9.3, and C-API-16.
|
|
4
|
-
*/
|
|
5
|
-
import { resolve } from "node:path";
|
|
6
|
-
import { elwoodError } from "../core/errors.js";
|
|
7
|
-
import { claudeLaunchPosture, effectivePosture, withClaudeLaunch, } from "../state/launch-posture.js";
|
|
8
|
-
import { defaultStateDir, readSessionRecord } from "../state/store.js";
|
|
9
|
-
import { preflightClaude } from "./preflight.js";
|
|
10
|
-
import { startClaudeFromRecord } from "./session.js";
|
|
11
|
-
export async function resumeClaude(options) {
|
|
12
|
-
// Resolve stateDir to ABSOLUTE ONCE, before any read or `await`: a relative path
|
|
13
|
-
// re-resolved after a `process.chdir()` between the record read and the runtime-file
|
|
14
|
-
// writes would read one session and write another's files (PRD §8.1). (C-STATE)
|
|
15
|
-
const stateDir = resolve(options.stateDir ?? defaultStateDir(options.cwd ?? process.cwd()));
|
|
16
|
-
const record = readSessionRecord(stateDir, options.elwoodSessionId);
|
|
17
|
-
if (record.adapter !== "claude") {
|
|
18
|
-
throw elwoodError("adapter_mismatch", "Cannot resume a non-Claude session as Claude.");
|
|
19
|
-
}
|
|
20
|
-
if (!record.claude.resumeId) {
|
|
21
|
-
throw elwoodError("resume_unavailable", "Cannot resume Claude without a Claude session id.");
|
|
22
|
-
}
|
|
23
|
-
const warning = await preflightClaude(options.strictVersionCheck ?? false, options.autoupdate ?? false);
|
|
24
|
-
// Resume defaults to the posture this session launched with; explicit options
|
|
25
|
-
// override field by field, and the effective posture is re-persisted (C-API-32,
|
|
26
|
-
// C-STATE-13). Terminal size is not persisted: it falls back to options.initialSize.
|
|
27
|
-
const launch = effectivePosture(record.claude.launch, claudeLaunchPosture(options));
|
|
28
|
-
const resumedRecord = withClaudeLaunch(record, launch);
|
|
29
|
-
return await startClaudeFromRecord(resumedRecord, stateDir, {
|
|
30
|
-
cwd: options.cwd ?? record.cwd,
|
|
31
|
-
stateDir,
|
|
32
|
-
...(options.hooks === undefined ? {} : { hooks: options.hooks }),
|
|
33
|
-
...(options.initialSize === undefined ? {} : { initialSize: options.initialSize }),
|
|
34
|
-
...(options.hookTimeoutMs === undefined ? {} : { hookTimeoutMs: options.hookTimeoutMs }),
|
|
35
|
-
...(options.autotrust === undefined ? {} : { autotrust: options.autotrust }),
|
|
36
|
-
// Reasoning effort is NOT persisted posture — re-supply it per resume (C-CLAUDE-20).
|
|
37
|
-
...(options.reasoningEffort === undefined
|
|
38
|
-
? {}
|
|
39
|
-
: { reasoningEffort: options.reasoningEffort }),
|
|
40
|
-
...launch,
|
|
41
|
-
...(options.strictVersionCheck === undefined
|
|
42
|
-
? {}
|
|
43
|
-
: { strictVersionCheck: options.strictVersionCheck }),
|
|
44
|
-
}, true, // resumed: mark ready on the first composer marker, symmetric with Codex
|
|
45
|
-
warning);
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=session-resume.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-resume.js","sourceRoot":"","sources":["../../src/claude/session-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,iFAAiF;IACjF,qFAAqF;IACrF,gFAAgF;IAChF,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,WAAW,CAAC,kBAAkB,EAAE,+CAA+C,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,WAAW,CAAC,oBAAoB,EAAE,mDAAmD,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,OAAO,CAAC,kBAAkB,IAAI,KAAK,EACnC,OAAO,CAAC,UAAU,IAAI,KAAK,CAC5B,CAAC;IACF,8EAA8E;IAC9E,gFAAgF;IAChF,qFAAqF;IACrF,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IACpF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,OAAO,MAAM,qBAAqB,CAChC,aAAa,EACb,QAAQ,EACR;QACE,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG;QAC9B,QAAQ;QACR,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;QAClF,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;QACxF,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,qFAAqF;QACrF,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QACjD,GAAG,MAAM;QACT,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;KACxD,EACD,IAAI,EAAE,yEAAyE;IAC/E,OAAO,CACR,CAAC;AACJ,CAAC"}
|