@with-logic/elwood 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +182 -3
- package/CONTRIBUTING.md +104 -0
- package/LICENSE +1 -1
- package/README.md +295 -26
- package/SECURITY.md +42 -0
- 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/model-picker.d.ts.map +1 -1
- package/dist/claude/model-picker.js +4 -3
- package/dist/claude/model-picker.js.map +1 -1
- package/dist/claude/model-switch-confirmation.js +9 -1
- package/dist/claude/model-switch-confirmation.js.map +1 -1
- package/dist/claude/screen-table.js +1 -1
- package/dist/claude/screen-table.js.map +1 -1
- package/dist/claude/session/build.d.ts.map +1 -1
- package/dist/claude/session/build.js +3 -0
- package/dist/claude/session/build.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/session/start-or-resume.js +1 -0
- package/dist/claude/session/start-or-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 +53 -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 +63 -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/layers.d.ts +2 -0
- package/dist/cli/request/layers.d.ts.map +1 -1
- package/dist/cli/request/layers.js +9 -5
- package/dist/cli/request/layers.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 +30 -0
- package/dist/cli/sessions/index.d.ts.map +1 -0
- package/dist/cli/sessions/index.js +61 -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/sessions/settings.d.ts +11 -0
- package/dist/cli/sessions/settings.d.ts.map +1 -0
- package/dist/cli/sessions/settings.js +26 -0
- package/dist/cli/sessions/settings.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/model-picker.d.ts.map +1 -1
- package/dist/codex/model-picker.js +3 -2
- package/dist/codex/model-picker.js.map +1 -1
- package/dist/codex/session/build.d.ts.map +1 -1
- package/dist/codex/session/build.js +5 -7
- package/dist/codex/session/build.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/start-or-resume.js +1 -0
- package/dist/codex/session/start-or-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/input/index.d.ts.map +1 -1
- package/dist/core/input/index.js +15 -3
- package/dist/core/input/index.js.map +1 -1
- package/dist/core/models/input.d.ts +3 -0
- package/dist/core/models/input.d.ts.map +1 -0
- package/dist/core/models/input.js +9 -0
- package/dist/core/models/input.js.map +1 -0
- package/dist/core/models/picker.d.ts +2 -1
- package/dist/core/models/picker.d.ts.map +1 -1
- package/dist/core/models/picker.js +6 -5
- package/dist/core/models/picker.js.map +1 -1
- package/dist/core/models/tui-screen.d.ts +1 -1
- package/dist/core/models/tui-screen.d.ts.map +1 -1
- package/dist/core/models/tui-screen.js +26 -3
- package/dist/core/models/tui-screen.js.map +1 -1
- 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/dist/runtime/session/base.d.ts.map +1 -1
- package/dist/runtime/session/base.js +4 -1
- package/dist/runtime/session/base.js.map +1 -1
- package/dist/runtime/session/commands.d.ts +2 -1
- package/dist/runtime/session/commands.d.ts.map +1 -1
- package/dist/runtime/session/commands.js +10 -4
- package/dist/runtime/session/commands.js.map +1 -1
- package/dist/runtime/session/lifecycle.d.ts +3 -4
- package/dist/runtime/session/lifecycle.d.ts.map +1 -1
- package/dist/runtime/session/lifecycle.js +6 -5
- package/dist/runtime/session/lifecycle.js.map +1 -1
- package/dist/state/directories.d.ts +4 -0
- package/dist/state/directories.d.ts.map +1 -0
- package/dist/state/directories.js +41 -0
- package/dist/state/directories.js.map +1 -0
- package/dist/state/files.d.ts.map +1 -1
- package/dist/state/files.js +25 -11
- package/dist/state/files.js.map +1 -1
- package/dist/state/private-session.d.ts.map +1 -1
- package/dist/state/private-session.js +2 -0
- package/dist/state/private-session.js.map +1 -1
- package/dist/state/store.d.ts.map +1 -1
- package/dist/state/store.js +7 -1
- package/dist/state/store.js.map +1 -1
- package/docs/cli-behavior.md +89 -1
- package/docs/cli-output.md +60 -0
- package/docs/cli.md +10 -2
- package/docs/codex/cli.md +57 -0
- package/docs/codex/config.md +47 -0
- package/docs/codex/hooks.md +70 -0
- package/examples/README.md +56 -0
- package/examples/full.ts +113 -0
- package/examples/minimal.ts +15 -0
- package/examples/stream.ts +39 -0
- package/examples/support.ts +71 -0
- package/package.json +17 -10
- package/prd/01-overview.md +21 -0
- package/prd/02-goals.md +47 -0
- package/prd/03-terminology.md +32 -0
- package/prd/04-architecture.md +121 -0
- package/prd/05-api/5.1-starting-claude.md +108 -0
- package/prd/05-api/5.2-resuming-claude.md +86 -0
- package/prd/05-api/5.3-claude-session-api.md +658 -0
- package/prd/05-api/5.4-events.md +145 -0
- package/prd/05-api/5.5-starting-codex.md +106 -0
- package/prd/05-api/5.6-resuming-codex.md +48 -0
- package/prd/05-api/5.7-codex-session-api.md +425 -0
- package/prd/05-api/5.8-session-api.md +122 -0
- package/prd/05-api/5.9-loops.md +170 -0
- package/prd/05-api/README.md +19 -0
- package/prd/06-claude-hook-bridge.md +164 -0
- package/prd/07-claude-policy.md +15 -0
- package/prd/07a-codex-hook-bridge.md +76 -0
- package/prd/08-state.md +127 -0
- package/prd/09-lifecycle.md +222 -0
- package/prd/10-errors.md +55 -0
- package/prd/11-test-app.md +53 -0
- package/prd/12-e2e.md +23 -0
- package/prd/12a-cli.md +375 -0
- package/prd/13-latitude.md +12 -0
- package/prd/14-conformance.md +333 -0
- package/prd/15-open-notes.md +8 -0
- package/prd/README.md +45 -0
- 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
package/dist/core/warnings.d.ts
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The typed non-fatal warning contract shared across adapters.
|
|
3
|
-
* Implements PRD §5.7 and §8.2: every warning is a named variant carrying only
|
|
4
|
-
* diagnostics (cause/phase labels, error codes, recovery hints) — no counts or
|
|
5
|
-
* byte magnitudes — and never raw prompts, transcripts, or conversation content.
|
|
6
|
-
* Most error-code fields are allowlisted tokens (`warning-reasons.ts`); the one
|
|
7
|
-
* exception is `transcript_read_error.lastErrorCode`, which the PRD types as the
|
|
8
|
-
* raw fs errno string (a system-controlled code, never transcript content).
|
|
9
|
-
* Warnings are live-only: emitted once when observed, never persisted.
|
|
10
|
-
*/
|
|
11
|
-
import type { ElwoodAgentKind } from "./activity.ts";
|
|
12
|
-
import type { StartupPromptLabelFor } from "./startup-automation.ts";
|
|
13
|
-
import type { AgentUpdateFailedWarning } from "./warning-lifecycle.ts";
|
|
14
|
-
import type { DropCause, PollErrorReason, PollPhase, ReapErrorCode, ResizeErrorCode } from "./warning-reasons.ts";
|
|
15
|
-
export type ElwoodWarningEvent = {
|
|
16
|
-
readonly elwoodSessionId: string;
|
|
17
|
-
readonly agent: ElwoodAgentKind;
|
|
18
|
-
readonly source: "lifecycle";
|
|
19
|
-
readonly code: "version_unparseable";
|
|
20
|
-
readonly severity: "warning";
|
|
21
|
-
readonly message: string;
|
|
22
|
-
readonly raw: string;
|
|
23
|
-
} | AgentUpdateFailedWarning | {
|
|
24
|
-
readonly elwoodSessionId: string;
|
|
25
|
-
readonly agent: "codex";
|
|
26
|
-
readonly source: "terminal";
|
|
27
|
-
readonly code: "mcp_server_not_logged_in";
|
|
28
|
-
readonly severity: "warning";
|
|
29
|
-
readonly message: string;
|
|
30
|
-
readonly mcpServerName: string;
|
|
31
|
-
readonly recoveryCommand: string;
|
|
32
|
-
readonly raw: string;
|
|
33
|
-
} | {
|
|
34
|
-
readonly elwoodSessionId: string;
|
|
35
|
-
readonly agent: "claude";
|
|
36
|
-
readonly source: "terminal";
|
|
37
|
-
readonly code: "login_expired";
|
|
38
|
-
readonly severity: "warning";
|
|
39
|
-
readonly message: string;
|
|
40
|
-
readonly recoveryCommand: "/login";
|
|
41
|
-
readonly raw: string;
|
|
42
|
-
} | {
|
|
43
|
-
readonly elwoodSessionId: string;
|
|
44
|
-
readonly agent: "codex";
|
|
45
|
-
readonly source: "terminal";
|
|
46
|
-
readonly code: "mcp_startup_incomplete";
|
|
47
|
-
readonly severity: "warning";
|
|
48
|
-
readonly message: string;
|
|
49
|
-
readonly failedServers: readonly string[];
|
|
50
|
-
readonly recoveryCommands: readonly string[];
|
|
51
|
-
readonly raw: string;
|
|
52
|
-
} | {
|
|
53
|
-
readonly elwoodSessionId: string;
|
|
54
|
-
readonly agent: "codex";
|
|
55
|
-
readonly source: "lifecycle";
|
|
56
|
-
readonly code: "codex_default_model_persisted";
|
|
57
|
-
readonly severity: "warning";
|
|
58
|
-
readonly message: string;
|
|
59
|
-
readonly raw: string;
|
|
60
|
-
} | {
|
|
61
|
-
readonly elwoodSessionId: string;
|
|
62
|
-
readonly agent: "codex";
|
|
63
|
-
readonly source: "lifecycle";
|
|
64
|
-
readonly code: "clipboard_restore_failed";
|
|
65
|
-
readonly severity: "warning";
|
|
66
|
-
readonly message: string;
|
|
67
|
-
readonly raw: string;
|
|
68
|
-
} | {
|
|
69
|
-
readonly elwoodSessionId: string;
|
|
70
|
-
readonly agent: ElwoodAgentKind;
|
|
71
|
-
readonly source: "terminal";
|
|
72
|
-
readonly code: "transcript_records_dropped";
|
|
73
|
-
readonly severity: "warning";
|
|
74
|
-
readonly message: string;
|
|
75
|
-
readonly cause: DropCause;
|
|
76
|
-
readonly transcriptPath: string;
|
|
77
|
-
readonly raw: string;
|
|
78
|
-
} | {
|
|
79
|
-
readonly elwoodSessionId: string;
|
|
80
|
-
readonly agent: ElwoodAgentKind;
|
|
81
|
-
readonly source: "terminal";
|
|
82
|
-
readonly code: "transcript_read_error";
|
|
83
|
-
readonly severity: "warning";
|
|
84
|
-
readonly message: string;
|
|
85
|
-
readonly lastErrorCode: string;
|
|
86
|
-
readonly transcriptPath: string;
|
|
87
|
-
readonly raw: string;
|
|
88
|
-
} | {
|
|
89
|
-
readonly elwoodSessionId: string;
|
|
90
|
-
readonly agent: ElwoodAgentKind;
|
|
91
|
-
readonly source: "terminal";
|
|
92
|
-
readonly code: "transcript_poll_stopped";
|
|
93
|
-
readonly severity: "warning";
|
|
94
|
-
readonly message: string;
|
|
95
|
-
readonly reason: PollErrorReason;
|
|
96
|
-
readonly phase: PollPhase;
|
|
97
|
-
readonly raw: string;
|
|
98
|
-
} | StartupPromptWriteFailed<"claude"> | StartupPromptWriteFailed<"codex"> | {
|
|
99
|
-
readonly elwoodSessionId: string;
|
|
100
|
-
readonly agent: ElwoodAgentKind;
|
|
101
|
-
readonly source: "lifecycle";
|
|
102
|
-
readonly code: "reap_failed";
|
|
103
|
-
readonly severity: "warning";
|
|
104
|
-
readonly message: string;
|
|
105
|
-
readonly processGroupId: number;
|
|
106
|
-
readonly errorCode: ReapErrorCode;
|
|
107
|
-
readonly raw: string;
|
|
108
|
-
} | {
|
|
109
|
-
readonly elwoodSessionId: string;
|
|
110
|
-
readonly agent: "claude";
|
|
111
|
-
readonly source: "lifecycle";
|
|
112
|
-
readonly code: "resize_restore_failed";
|
|
113
|
-
readonly severity: "warning";
|
|
114
|
-
readonly message: string;
|
|
115
|
-
readonly requestedCols: number;
|
|
116
|
-
readonly requestedRows: number;
|
|
117
|
-
readonly errorCode: ResizeErrorCode;
|
|
118
|
-
readonly raw: string;
|
|
119
|
-
} | {
|
|
120
|
-
readonly elwoodSessionId: string;
|
|
121
|
-
readonly agent: ElwoodAgentKind;
|
|
122
|
-
readonly source: "lifecycle";
|
|
123
|
-
readonly code: "initial_ready_fallback";
|
|
124
|
-
readonly severity: "warning";
|
|
125
|
-
readonly message: string;
|
|
126
|
-
readonly raw: string;
|
|
127
|
-
};
|
|
128
|
-
/**
|
|
129
|
-
* A rejected startup-prompt PTY write, discriminated by agent so the LABEL is
|
|
130
|
-
* agent-correlated: an impossible pairing like Claude + `update` or Codex +
|
|
131
|
-
* `browser_tools` is unrepresentable (§5.4). The label is a bounded id from the
|
|
132
|
-
* agent's fixed startup-prompt set only — never raw prompt/screen content — and
|
|
133
|
-
* the prompt is left retryable so a later frame re-attempts the write.
|
|
134
|
-
*/
|
|
135
|
-
export type StartupPromptWriteFailed<A extends ElwoodAgentKind> = {
|
|
136
|
-
readonly elwoodSessionId: string;
|
|
137
|
-
readonly agent: A;
|
|
138
|
-
readonly source: "terminal";
|
|
139
|
-
readonly code: "startup_prompt_write_failed";
|
|
140
|
-
readonly severity: "warning";
|
|
141
|
-
readonly message: string;
|
|
142
|
-
readonly label: StartupPromptLabelFor<A>;
|
|
143
|
-
readonly raw: string;
|
|
144
|
-
};
|
|
145
|
-
//# sourceMappingURL=warnings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../../src/core/warnings.ts"],"names":[],"mappings":"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"}
|
package/dist/core/warnings.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The typed non-fatal warning contract shared across adapters.
|
|
3
|
-
* Implements PRD §5.7 and §8.2: every warning is a named variant carrying only
|
|
4
|
-
* diagnostics (cause/phase labels, error codes, recovery hints) — no counts or
|
|
5
|
-
* byte magnitudes — and never raw prompts, transcripts, or conversation content.
|
|
6
|
-
* Most error-code fields are allowlisted tokens (`warning-reasons.ts`); the one
|
|
7
|
-
* exception is `transcript_read_error.lastErrorCode`, which the PRD types as the
|
|
8
|
-
* raw fs errno string (a system-controlled code, never transcript content).
|
|
9
|
-
* Warnings are live-only: emitted once when observed, never persisted.
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=warnings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/core/warnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Coalesces runtime-cleanup attempts while keeping a FAILED cleanup retryable.
|
|
3
|
-
* PRD §9.4 requires that a settled cleanup failure is not permanently sticky — a
|
|
4
|
-
* later explicit stop/kill/teardown must run a fresh attempt. A plain `??=` cache
|
|
5
|
-
* would latch a rejected promise forever, so this latch clears its cache the moment
|
|
6
|
-
* the attempt rejects. `cachedAttempt` is therefore only ever the reusable non-rejected
|
|
7
|
-
* attempt (in flight or successfully settled). Implements PRD §9.4.
|
|
8
|
-
*/
|
|
9
|
-
export declare class CleanupLatch {
|
|
10
|
-
private cachedAttempt;
|
|
11
|
-
private readonly run;
|
|
12
|
-
constructor(run: () => Promise<void>);
|
|
13
|
-
/**
|
|
14
|
-
* Runs cleanup, coalescing concurrent callers onto one in-flight attempt. On
|
|
15
|
-
* failure the cache is cleared so the NEXT call re-runs `run` instead of
|
|
16
|
-
* replaying the old rejection; the rejection still propagates to this caller.
|
|
17
|
-
*/
|
|
18
|
-
attempt(): Promise<void>;
|
|
19
|
-
/**
|
|
20
|
-
* Runs cleanup from a path with no caller to reject to (an unsolicited exit).
|
|
21
|
-
* Owns the rejection so it never becomes an unhandled rejection; the failure is
|
|
22
|
-
* swallowed because `attempt` cleared its cache, so a later explicit shutdown
|
|
23
|
-
* retries cleanup and surfaces any persistent failure through its own error.
|
|
24
|
-
*/
|
|
25
|
-
float(): void;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=cleanup-latch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-latch.d.ts","sourceRoot":"","sources":["../../src/runtime/cleanup-latch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;gBAE9B,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAaxB;;;;;OAKG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Coalesces runtime-cleanup attempts while keeping a FAILED cleanup retryable.
|
|
3
|
-
* PRD §9.4 requires that a settled cleanup failure is not permanently sticky — a
|
|
4
|
-
* later explicit stop/kill/teardown must run a fresh attempt. A plain `??=` cache
|
|
5
|
-
* would latch a rejected promise forever, so this latch clears its cache the moment
|
|
6
|
-
* the attempt rejects. `cachedAttempt` is therefore only ever the reusable non-rejected
|
|
7
|
-
* attempt (in flight or successfully settled). Implements PRD §9.4.
|
|
8
|
-
*/
|
|
9
|
-
export class CleanupLatch {
|
|
10
|
-
cachedAttempt;
|
|
11
|
-
run;
|
|
12
|
-
constructor(run) {
|
|
13
|
-
this.run = run;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Runs cleanup, coalescing concurrent callers onto one in-flight attempt. On
|
|
17
|
-
* failure the cache is cleared so the NEXT call re-runs `run` instead of
|
|
18
|
-
* replaying the old rejection; the rejection still propagates to this caller.
|
|
19
|
-
*/
|
|
20
|
-
attempt() {
|
|
21
|
-
// A cached attempt is reused only when it is in flight or already settled
|
|
22
|
-
// SUCCESSFULLY; a rejecting attempt clears the cache below before any other
|
|
23
|
-
// caller can observe it, so no identity guard is needed on the clear.
|
|
24
|
-
if (this.cachedAttempt)
|
|
25
|
-
return this.cachedAttempt;
|
|
26
|
-
const attempt = this.run().catch((error) => {
|
|
27
|
-
this.cachedAttempt = undefined;
|
|
28
|
-
throw error;
|
|
29
|
-
});
|
|
30
|
-
this.cachedAttempt = attempt;
|
|
31
|
-
return attempt;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Runs cleanup from a path with no caller to reject to (an unsolicited exit).
|
|
35
|
-
* Owns the rejection so it never becomes an unhandled rejection; the failure is
|
|
36
|
-
* swallowed because `attempt` cleared its cache, so a later explicit shutdown
|
|
37
|
-
* retries cleanup and surfaces any persistent failure through its own error.
|
|
38
|
-
*/
|
|
39
|
-
float() {
|
|
40
|
-
void this.attempt().catch(() => undefined);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=cleanup-latch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-latch.js","sourceRoot":"","sources":["../../src/runtime/cleanup-latch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,OAAO,YAAY;IACf,aAAa,CAA4B;IAChC,GAAG,CAAsB;IAE1C,YAAY,GAAwB;QAClC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,0EAA0E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAClD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The one-shot initial-ready transition with an anti-starvation completion boundary,
|
|
3
|
-
* shared by BOTH adapters (PRD §5.3, C-API-42). The status engine commits
|
|
4
|
-
* `current = ready` BEFORE it emits and releases the queue, so a lifecycle-listener
|
|
5
|
-
* throw there would leave the queue suspended AND make a retry a no-op (status is
|
|
6
|
-
* already `ready`). On any throw this releases the queue DIRECTLY and surfaces the
|
|
7
|
-
* risk as a typed, content-free `initial_ready_fallback` warning (emitted lifecycle
|
|
8
|
-
* events may be stale), so queued input is never starved by a partially-committed
|
|
9
|
-
* ready transition.
|
|
10
|
-
*/
|
|
11
|
-
import type { ElwoodAgentKind } from "../core/activity.ts";
|
|
12
|
-
import type { ElwoodWarningEvent } from "../core/types.ts";
|
|
13
|
-
/** The narrow session surface the initial-ready advance needs. */
|
|
14
|
-
export type InitialReadyAdvanceDeps = {
|
|
15
|
-
readonly agent: ElwoodAgentKind;
|
|
16
|
-
readonly elwoodSessionId: string;
|
|
17
|
-
readonly submitInitialReady: () => void;
|
|
18
|
-
readonly markReady: () => void;
|
|
19
|
-
readonly emitWarnings: (warnings: readonly ElwoodWarningEvent[]) => void;
|
|
20
|
-
};
|
|
21
|
-
export declare function advanceInitialReady(deps: InitialReadyAdvanceDeps): void;
|
|
22
|
-
//# sourceMappingURL=initial-ready-advance.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initial-ready-advance.d.ts","sourceRoot":"","sources":["../../src/runtime/initial-ready-advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,KAAK,IAAI,CAAC;CAC1E,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAavE"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The one-shot initial-ready transition with an anti-starvation completion boundary,
|
|
3
|
-
* shared by BOTH adapters (PRD §5.3, C-API-42). The status engine commits
|
|
4
|
-
* `current = ready` BEFORE it emits and releases the queue, so a lifecycle-listener
|
|
5
|
-
* throw there would leave the queue suspended AND make a retry a no-op (status is
|
|
6
|
-
* already `ready`). On any throw this releases the queue DIRECTLY and surfaces the
|
|
7
|
-
* risk as a typed, content-free `initial_ready_fallback` warning (emitted lifecycle
|
|
8
|
-
* events may be stale), so queued input is never starved by a partially-committed
|
|
9
|
-
* ready transition.
|
|
10
|
-
*/
|
|
11
|
-
export function advanceInitialReady(deps) {
|
|
12
|
-
try {
|
|
13
|
-
deps.submitInitialReady();
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
// A lifecycle-event LISTENER threw after `current` committed to `ready`; release
|
|
17
|
-
// the queue unconditionally so queued input is never starved, then warn.
|
|
18
|
-
deps.markReady();
|
|
19
|
-
try {
|
|
20
|
-
deps.emitWarnings([fallbackWarning(deps.agent, deps.elwoodSessionId)]);
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
// A warning-sink/listener failure must never block the readiness release.
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
/** Live-only and content-free: no raw system message, no listener error text. */
|
|
28
|
-
function fallbackWarning(agent, elwoodSessionId) {
|
|
29
|
-
return {
|
|
30
|
-
elwoodSessionId,
|
|
31
|
-
agent,
|
|
32
|
-
source: "lifecycle",
|
|
33
|
-
code: "initial_ready_fallback",
|
|
34
|
-
severity: "warning",
|
|
35
|
-
message: "Recording the initial-ready transition failed; released the queue directly, so lifecycle events may be stale.",
|
|
36
|
-
raw: "initial_ready_fallback",
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=initial-ready-advance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initial-ready-advance.js","sourceRoot":"","sources":["../../src/runtime/initial-ready-advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;QACjF,yEAAyE;QACzE,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe,CAAC,KAAsB,EAAE,eAAuB;IACtE,OAAO;QACL,eAAe;QACf,KAAK;QACL,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,OAAO,EACL,+GAA+G;QACjH,GAAG,EAAE,wBAAwB;KAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The live, content-free warning for a fallback initial-ready transition.
|
|
3
|
-
* Implements PRD §5.3 and C-API-42: when recording a session's one-shot initial-ready
|
|
4
|
-
* transition throws (a lifecycle-event listener), Elwood still releases the control
|
|
5
|
-
* queue directly so queued input is never starved, but emitted lifecycle events may be
|
|
6
|
-
* stale. This surfaces that risk as a typed `initial_ready_fallback` warning carrying
|
|
7
|
-
* no raw system message or session content. Both adapters.
|
|
8
|
-
*/
|
|
9
|
-
import type { ElwoodAgentKind } from "../core/activity.ts";
|
|
10
|
-
import type { ElwoodWarningEvent } from "../core/types.ts";
|
|
11
|
-
export declare function initialReadyFallbackWarning(agent: ElwoodAgentKind, elwoodSessionId: string): ElwoodWarningEvent;
|
|
12
|
-
//# sourceMappingURL=initial-ready-fallback.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initial-ready-fallback.d.ts","sourceRoot":"","sources":["../../src/runtime/initial-ready-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,eAAe,EAAE,MAAM,GACtB,kBAAkB,CAWpB"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The live, content-free warning for a fallback initial-ready transition.
|
|
3
|
-
* Implements PRD §5.3 and C-API-42: when recording a session's one-shot initial-ready
|
|
4
|
-
* transition throws (a lifecycle-event listener), Elwood still releases the control
|
|
5
|
-
* queue directly so queued input is never starved, but emitted lifecycle events may be
|
|
6
|
-
* stale. This surfaces that risk as a typed `initial_ready_fallback` warning carrying
|
|
7
|
-
* no raw system message or session content. Both adapters.
|
|
8
|
-
*/
|
|
9
|
-
export function initialReadyFallbackWarning(agent, elwoodSessionId) {
|
|
10
|
-
return {
|
|
11
|
-
elwoodSessionId,
|
|
12
|
-
agent,
|
|
13
|
-
source: "lifecycle",
|
|
14
|
-
code: "initial_ready_fallback",
|
|
15
|
-
severity: "warning",
|
|
16
|
-
message: "Recording the initial-ready transition failed; released the queue directly, so lifecycle events may be stale.",
|
|
17
|
-
raw: "initial_ready_fallback",
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=initial-ready-fallback.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initial-ready-fallback.js","sourceRoot":"","sources":["../../src/runtime/initial-ready-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,UAAU,2BAA2B,CACzC,KAAsB,EACtB,eAAuB;IAEvB,OAAO;QACL,eAAe;QACf,KAAK;QACL,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,SAAS;QACnB,OAAO,EACL,+GAA+G;QACjH,GAAG,EAAE,wBAAwB;KAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared hook-backed initial-readiness marker with a starvation deadline.
|
|
3
|
-
* Implements PRD §5.3, C-API-19, and C-API-28.
|
|
4
|
-
*
|
|
5
|
-
* On a COLD start both adapters gate the first queued message on a pre-input
|
|
6
|
-
* readiness hook — Claude's `InstructionsLoaded`, Codex's `SessionStart` — the CLI's
|
|
7
|
-
* authoritative "initialized and accepting input" signal, fired via `mark`. The
|
|
8
|
-
* rendered composer is NOT a readiness signal on cold start: it paints as a boot
|
|
9
|
-
* placeholder before input is accepted, so releasing the first queued message on it
|
|
10
|
-
* would swallow the message. On RESUME the input loop is live when the composer paints,
|
|
11
|
-
* so `markReadyOnResumeComposer` releases readiness on the first composer marker
|
|
12
|
-
* (verified accepted, not swallowed) — UNLESS a blocking dialog is on screen, whose
|
|
13
|
-
* option caret is byte-identical to the composer marker. The hooks differ on resume:
|
|
14
|
-
* Codex does NOT re-fire `SessionStart` (so the composer is the fast signal), while
|
|
15
|
-
* Claude's `InstructionsLoaded` DOES re-fire — so a resumed Claude is a hook/composer
|
|
16
|
-
* race, whichever arrives first (readiness is idempotent). `armDeadline` is the ultimate
|
|
17
|
-
* fallback for both start and resume so a missing readiness signal never starves the
|
|
18
|
-
* queue forever.
|
|
19
|
-
*/
|
|
20
|
-
export type InitialReady = {
|
|
21
|
-
readonly cancel: () => void;
|
|
22
|
-
readonly replay: () => void;
|
|
23
|
-
readonly armDeadline: () => void;
|
|
24
|
-
/** Fire readiness now (one-shot) — the pre-input readiness hook path. */
|
|
25
|
-
readonly mark: () => void;
|
|
26
|
-
/**
|
|
27
|
-
* Re-attempt a readiness mark that a hook/deadline requested while a blocking
|
|
28
|
-
* dialog was on screen. Call per rendered frame with the frame's blocking fact:
|
|
29
|
-
* once the dialog clears, the deferred readiness fires so the queue is never
|
|
30
|
-
* drained INTO the dialog and is never permanently starved BY it (C-API-28).
|
|
31
|
-
*/
|
|
32
|
-
readonly retryWhenUnblocked: (blockingVisible: boolean) => void;
|
|
33
|
-
};
|
|
34
|
-
/** The rendered-frame facts the resume-composer readiness path inspects. */
|
|
35
|
-
export type ComposerReadyFacts = {
|
|
36
|
-
readonly composer_visible: boolean;
|
|
37
|
-
readonly blocking_prompt_visible: boolean;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* On RESUME, mark readiness on the first genuine composer frame: the composer is
|
|
41
|
-
* visible AND no blocking dialog is on screen. The dialog's option caret (`›`/`❯`) is
|
|
42
|
-
* byte-identical to the composer marker, so a dialog frame must NOT latch readiness —
|
|
43
|
-
* otherwise a draining queued message's Enter could approve the dialog; readiness waits
|
|
44
|
-
* for the dialog to clear. Cold start (`resumed: false`) never fires here, so the
|
|
45
|
-
* composer stays an unsafe signal there (C-API-28).
|
|
46
|
-
*/
|
|
47
|
-
export declare function markReadyOnResumeComposer(ready: Pick<InitialReady, "mark">, resumed: boolean, facts: ComposerReadyFacts): void;
|
|
48
|
-
export declare function initialReady(callback: () => void, maxWaitMs?: number, isBlocked?: () => boolean): InitialReady;
|
|
49
|
-
//# sourceMappingURL=initial-ready.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initial-ready.d.ts","sourceRoot":"","sources":["../../src/runtime/initial-ready.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,EACjC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,GACxB,IAAI,CAEN;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,IAAI,EACpB,SAAS,SAAS,EAClB,SAAS,GAAE,MAAM,OAAqB,GACrC,YAAY,CA4Cd"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared hook-backed initial-readiness marker with a starvation deadline.
|
|
3
|
-
* Implements PRD §5.3, C-API-19, and C-API-28.
|
|
4
|
-
*
|
|
5
|
-
* On a COLD start both adapters gate the first queued message on a pre-input
|
|
6
|
-
* readiness hook — Claude's `InstructionsLoaded`, Codex's `SessionStart` — the CLI's
|
|
7
|
-
* authoritative "initialized and accepting input" signal, fired via `mark`. The
|
|
8
|
-
* rendered composer is NOT a readiness signal on cold start: it paints as a boot
|
|
9
|
-
* placeholder before input is accepted, so releasing the first queued message on it
|
|
10
|
-
* would swallow the message. On RESUME the input loop is live when the composer paints,
|
|
11
|
-
* so `markReadyOnResumeComposer` releases readiness on the first composer marker
|
|
12
|
-
* (verified accepted, not swallowed) — UNLESS a blocking dialog is on screen, whose
|
|
13
|
-
* option caret is byte-identical to the composer marker. The hooks differ on resume:
|
|
14
|
-
* Codex does NOT re-fire `SessionStart` (so the composer is the fast signal), while
|
|
15
|
-
* Claude's `InstructionsLoaded` DOES re-fire — so a resumed Claude is a hook/composer
|
|
16
|
-
* race, whichever arrives first (readiness is idempotent). `armDeadline` is the ultimate
|
|
17
|
-
* fallback for both start and resume so a missing readiness signal never starves the
|
|
18
|
-
* queue forever.
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* On RESUME, mark readiness on the first genuine composer frame: the composer is
|
|
22
|
-
* visible AND no blocking dialog is on screen. The dialog's option caret (`›`/`❯`) is
|
|
23
|
-
* byte-identical to the composer marker, so a dialog frame must NOT latch readiness —
|
|
24
|
-
* otherwise a draining queued message's Enter could approve the dialog; readiness waits
|
|
25
|
-
* for the dialog to clear. Cold start (`resumed: false`) never fires here, so the
|
|
26
|
-
* composer stays an unsafe signal there (C-API-28).
|
|
27
|
-
*/
|
|
28
|
-
export function markReadyOnResumeComposer(ready, resumed, facts) {
|
|
29
|
-
if (resumed && facts.composer_visible && !facts.blocking_prompt_visible)
|
|
30
|
-
ready.mark();
|
|
31
|
-
}
|
|
32
|
-
export function initialReady(callback, maxWaitMs = 10_000, isBlocked = () => false) {
|
|
33
|
-
let ready = false;
|
|
34
|
-
let deferredByBlock = false;
|
|
35
|
-
let deadline;
|
|
36
|
-
const mark = () => {
|
|
37
|
-
if (ready)
|
|
38
|
-
return;
|
|
39
|
-
// A blocking dialog is on screen (it may have rendered while still `starting`,
|
|
40
|
-
// so it never latched `blocked`): do NOT release the queue into it. Remember the
|
|
41
|
-
// request and re-fire it from `retryWhenUnblocked` once the dialog clears — never
|
|
42
|
-
// latch here, so readiness is neither drained into the dialog nor starved by it.
|
|
43
|
-
if (isBlocked()) {
|
|
44
|
-
deferredByBlock = true;
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
deferredByBlock = false;
|
|
48
|
-
// Latch AFTER the callback returns, so if it throws (a throwing status/activity
|
|
49
|
-
// listener) readiness is NOT consumed and a later hook/deadline/frame retries —
|
|
50
|
-
// a failed transition must never permanently starve the queue (C-API-28).
|
|
51
|
-
callback();
|
|
52
|
-
ready = true;
|
|
53
|
-
};
|
|
54
|
-
return {
|
|
55
|
-
cancel: () => {
|
|
56
|
-
if (deadline)
|
|
57
|
-
clearTimeout(deadline);
|
|
58
|
-
},
|
|
59
|
-
mark,
|
|
60
|
-
retryWhenUnblocked: (blockingVisible) => {
|
|
61
|
-
if (!ready && deferredByBlock && !blockingVisible)
|
|
62
|
-
mark();
|
|
63
|
-
},
|
|
64
|
-
replay: () => void (ready && callback()),
|
|
65
|
-
// Arms on the first frame regardless of hook arrival, so a missing or failed
|
|
66
|
-
// readiness hook cannot starve readiness forever. The deadline's mark is contained
|
|
67
|
-
// (a throwing callback on a timer would otherwise be an uncaught exception); if it
|
|
68
|
-
// fails, `ready` stays false so a later hook or composer frame still retries.
|
|
69
|
-
armDeadline: () => {
|
|
70
|
-
deadline ??= setTimeout(() => {
|
|
71
|
-
try {
|
|
72
|
-
mark();
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
// Retried by a subsequent readiness hook or rendered composer frame.
|
|
76
|
-
}
|
|
77
|
-
}, maxWaitMs);
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=initial-ready.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initial-ready.js","sourceRoot":"","sources":["../../src/runtime/initial-ready.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAuBH;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAiC,EACjC,OAAgB,EAChB,KAAyB;IAEzB,IAAI,OAAO,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,uBAAuB;QAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAoB,EACpB,SAAS,GAAG,MAAM,EAClB,YAA2B,GAAG,EAAE,CAAC,KAAK;IAEtC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,QAAmD,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,KAAK;YAAE,OAAO;QAClB,+EAA+E;QAC/E,iFAAiF;QACjF,kFAAkF;QAClF,iFAAiF;QACjF,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO;QACT,CAAC;QACD,eAAe,GAAG,KAAK,CAAC;QACxB,gFAAgF;QAChF,gFAAgF;QAChF,0EAA0E;QAC1E,QAAQ,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,CAAC;IACf,CAAC,CAAC;IACF,OAAO;QACL,MAAM,EAAE,GAAG,EAAE;YACX,IAAI,QAAQ;gBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,IAAI;QACJ,kBAAkB,EAAE,CAAC,eAAe,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,eAAe;gBAAE,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QACxC,6EAA6E;QAC7E,mFAAmF;QACnF,mFAAmF;QACnF,8EAA8E;QAC9E,WAAW,EAAE,GAAG,EAAE;YAChB,QAAQ,KAAK,UAAU,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC;oBACH,IAAI,EAAE,CAAC;gBACT,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;gBACvE,CAAC;YACH,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reaps the process tree of a PTY leader on session teardown.
|
|
3
|
-
* Implements PRD §5.3 and §9.4 (C-LIFE-10): a CLI-spawned helper such as the
|
|
4
|
-
* Claude hook bridge is a descendant of the PTY leader. Because POSIX reparents
|
|
5
|
-
* a surviving descendant to PID 1 the instant its parent exits, a parent-pid
|
|
6
|
-
* walk (`pgrep -P`) cannot find it afterwards — but node-pty starts the leader
|
|
7
|
-
* as its own session/process-group leader, and group membership is inherited
|
|
8
|
-
* and survives reparenting. So we reap by SIGKILLing the leader's process group,
|
|
9
|
-
* which reaches every descendant in one in-process syscall: no subprocess, no
|
|
10
|
-
* PATH lookup, no post-exit reparenting blind spot.
|
|
11
|
-
*/
|
|
12
|
-
/** Injectable so tests never signal real process groups; production uses `process.kill`. */
|
|
13
|
-
export type ProcessGroupKiller = {
|
|
14
|
-
/** SIGKILLs the process group `pgid` (via `kill(-pgid)`); tolerates an empty/dead group. */
|
|
15
|
-
readonly killGroup: (pgid: number) => void;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* SIGKILLs the process group led by `leaderPid`, reaping every descendant still
|
|
19
|
-
* in the group — including one already reparented to PID 1. node-pty starts the
|
|
20
|
-
* leader via `setsid()`, so it heads its own session and its pgid equals its pid;
|
|
21
|
-
* that group is always distinct from the host's own group, so this cannot signal
|
|
22
|
-
* the host process. Refuses only pids the kernel would misroute (see
|
|
23
|
-
* `isReapableGroupId`), never an arbitrary numeric floor. An already-dead group
|
|
24
|
-
* (leader and children exited together) is the normal case and its `ESRCH` is
|
|
25
|
-
* swallowed; a real kill failure such as `EPERM` propagates.
|
|
26
|
-
*/
|
|
27
|
-
export declare function reapProcessGroup(leaderPid: number, ops?: ProcessGroupKiller): void;
|
|
28
|
-
export declare function setGroupKillerForTests(killer: ProcessGroupKiller): void;
|
|
29
|
-
export declare function resetGroupKillerForTests(): void;
|
|
30
|
-
/**
|
|
31
|
-
* Swallows the ESRCH raised when the group is already empty (the normal case:
|
|
32
|
-
* the leader and its children exited together) and re-throws any other error —
|
|
33
|
-
* a real failure (e.g. EPERM) that must not be reported as a successful reap.
|
|
34
|
-
* Reads the errno through `errnoCode`, which narrows object-ness first, so a
|
|
35
|
-
* thrown `null`/non-Error is preserved and rethrown rather than triggering a
|
|
36
|
-
* secondary TypeError while inspecting it (C-ERR-01). Exported for focused
|
|
37
|
-
* coverage of both branches without an unsafe real signal.
|
|
38
|
-
*/
|
|
39
|
-
export declare function rethrowUnlessGroupGone(error: unknown): void;
|
|
40
|
-
/**
|
|
41
|
-
* Owns a single PTY leader's group reap. A SUCCESSFUL reap MUST happen at most
|
|
42
|
-
* once: `stop()` then a later `teardown()` both want to guarantee the group is
|
|
43
|
-
* gone, but signaling the same numeric pgid twice is unsafe — once the group is
|
|
44
|
-
* empty the kernel may recycle the pid, and a second `kill(-pgid)` would hit an
|
|
45
|
-
* unrelated group. So the latch is set only AFTER the kill succeeds (an already
|
|
46
|
-
* empty group's `ESRCH` is normalized to success by `reapProcessGroup`). A real
|
|
47
|
-
* failure (e.g. EPERM) leaves the latch OPEN and rethrows, so a later teardown
|
|
48
|
-
* call can retry rather than leaving the descendant leak permanently unreaped.
|
|
49
|
-
*/
|
|
50
|
-
export declare class SessionReaper {
|
|
51
|
-
private readonly leaderPid;
|
|
52
|
-
private readonly ops;
|
|
53
|
-
private done;
|
|
54
|
-
constructor(leaderPid: number, ops?: ProcessGroupKiller);
|
|
55
|
-
/**
|
|
56
|
-
* Reap the group once it succeeds; a successful call latches so subsequent
|
|
57
|
-
* calls no-op (no recycled-pgid double-kill). A failed kill does NOT latch and
|
|
58
|
-
* rethrows, keeping the reap retryable on a later lifecycle call.
|
|
59
|
-
*/
|
|
60
|
-
reap(): void;
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=reap-tree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reap-tree.d.ts","sourceRoot":"","sources":["../../src/runtime/reap-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,4FAA4F;AAC5F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAoBF;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,kBAAiC,GAAG,IAAI,CAGhG;AAiBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAEvE;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE3D;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,IAAI,CAAS;gBAET,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,kBAAiC;IAKrE;;;;OAIG;IACH,IAAI,IAAI,IAAI;CAKb"}
|