@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
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wires the Claude transcript watcher into the session's activity stream.
|
|
3
|
-
* Implements PRD §5.4 (C-CLAUDE-15): committed assistant text and tool activity
|
|
4
|
-
* come from the transcript(s), so an un-sent ghost-text suggestion never posts.
|
|
5
|
-
*/
|
|
6
|
-
import * as activity from "../core/activity.js";
|
|
7
|
-
import { createTranscriptWarningRouter, } from "../core/transcript/warning-router.js";
|
|
8
|
-
import { ClaudeTranscriptWatcher } from "./transcript/index.js";
|
|
9
|
-
import { dropWarning, readErrorWarning, transcriptFailureWarning } from "./transcript/warnings.js";
|
|
10
|
-
/**
|
|
11
|
-
* Builds a transcript watcher that emits committed items and bounded diagnostics
|
|
12
|
-
* (drops, contained fs errors, and a poll-error stop). Diagnostics are routed
|
|
13
|
-
* through the session's warning sink so they are emitted through the
|
|
14
|
-
* `warning`/`activity` contract (live-only, never persisted). The sink is resolved
|
|
15
|
-
* lazily because the session object is constructed after the watcher (PRD §5.7). A
|
|
16
|
-
* diagnostic observed BEFORE the sink exists is BUFFERED and flushed through
|
|
17
|
-
* `emitWarnings` once it does — never silently dropped.
|
|
18
|
-
*/
|
|
19
|
-
export function createTranscriptWatcher(elwoodSessionId, emitter, sink,
|
|
20
|
-
// Poll-cadence override forwarded to the watcher's existing test seam; production
|
|
21
|
-
// omits it and the watcher uses its default cadence. Internal only (not a PRD flag).
|
|
22
|
-
pollIntervalMs) {
|
|
23
|
-
// The shared router buffers diagnostics observed BEFORE the sink exists (the watcher
|
|
24
|
-
// is built first) and delivers each exactly once with clear-before-delivery + throw
|
|
25
|
-
// containment (see core/transcript/warning-router). `sink` is optional here; when
|
|
26
|
-
// omitted the router simply buffers with no sink to flush to.
|
|
27
|
-
const { route, flushPendingWarnings } = createTranscriptWarningRouter(() => sink?.());
|
|
28
|
-
const watcher = new ClaudeTranscriptWatcher(elwoodSessionId, (event) => emitter.emit("activity", activity.activityFromClaudeTranscript(event)), {
|
|
29
|
-
onDrop: (notice) => route(dropWarning(notice)),
|
|
30
|
-
onReadError: (notice) => route(readErrorWarning(notice)),
|
|
31
|
-
onPollError: (error) => route(transcriptFailureWarning(elwoodSessionId, error)),
|
|
32
|
-
...(pollIntervalMs === undefined ? {} : { pollIntervalMs }),
|
|
33
|
-
});
|
|
34
|
-
// C-LIFE-10: flush trailing committed items behind an error boundary, then run
|
|
35
|
-
// `afterFlush` (terminal:exit emission, status, reap) in a `finally` so a throwing
|
|
36
|
-
// flush listener can never abort lifecycle completion. A flush failure is contained
|
|
37
|
-
// and surfaced as a bounded diagnostic; a throwing diagnostic route is swallowed.
|
|
38
|
-
const noop = () => undefined;
|
|
39
|
-
const finishSafely = (afterFlush = noop) => {
|
|
40
|
-
try {
|
|
41
|
-
watcher.finish();
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
try {
|
|
45
|
-
// A failed FINAL flush at exit is phase-labelled so an operator can tell
|
|
46
|
-
// lost trailing shutdown activity from a live poll failure.
|
|
47
|
-
route(transcriptFailureWarning(elwoodSessionId, error, "final_flush"));
|
|
48
|
-
}
|
|
49
|
-
catch { } // a diagnostic-listener bug must not block lifecycle completion
|
|
50
|
-
}
|
|
51
|
-
finally {
|
|
52
|
-
afterFlush();
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
return { watcher, flushPendingWarnings, finishSafely };
|
|
56
|
-
}
|
|
57
|
-
/** Turn-boundary hooks: a first observe here recovers the already-committed tail. */
|
|
58
|
-
const turnBoundaryHooks = new Set(["Stop", "SubagentStop"]);
|
|
59
|
-
/**
|
|
60
|
-
* Points the watcher at every transcript path the hook payload carries. A
|
|
61
|
-
* `SubagentStop` event has both a main `transcript_path` and a required
|
|
62
|
-
* `agent_transcript_path`; both must be observed (PRD §5.4). The watcher keeps
|
|
63
|
-
* an independent cursor per path and no-ops on an already-observed path.
|
|
64
|
-
*
|
|
65
|
-
* Backward tail recovery runs only when the FIRST observe of a path lands on a
|
|
66
|
-
* turn-boundary hook (`Stop`/`SubagentStop`) — the case where a just-committed
|
|
67
|
-
* turn would otherwise be missed. On `SessionStart`/resume the first observe
|
|
68
|
-
* baselines at EOF with no recovery, so a resumed session never republishes the
|
|
69
|
-
* prior conversation's final assistant/tool turn (PRD §5.4, C-CLAUDE-15).
|
|
70
|
-
*/
|
|
71
|
-
export function observeTranscript(watcher, event) {
|
|
72
|
-
const hook = event["hook_event_name"];
|
|
73
|
-
const recoverTail = turnBoundaryHooks.has(hook);
|
|
74
|
-
for (const key of ["transcript_path", "agent_transcript_path"]) {
|
|
75
|
-
const path = event[key];
|
|
76
|
-
if (typeof path !== "string" || path.length === 0)
|
|
77
|
-
continue;
|
|
78
|
-
watcher.observe(path, recoverTail);
|
|
79
|
-
// A SubagentStop's agent transcript is a one-shot input: flush it now and
|
|
80
|
-
// retire it from active polling so a long session with many subagents does
|
|
81
|
-
// not accumulate cursors statted twice a second forever (PRD §5.4). The flush
|
|
82
|
-
// shares the watcher-wide terminal budget and a wall-clock slice, so it cannot
|
|
83
|
-
// stall the hook-dispatch path with a hundreds-of-MiB synchronous loop (§9.2).
|
|
84
|
-
if (hook === "SubagentStop" && key === "agent_transcript_path")
|
|
85
|
-
watcher.retire(path);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=session-transcript.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-transcript.js","sourceRoot":"","sources":["../../src/claude/session-transcript.ts"],"names":[],"mappings":"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"}
|
package/dist/claude/session.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/** ClaudeSessionApi entry points: preflight, record creation, and socket-home-guarded start. Implements PRD §5, §6, §8, §9. */
|
|
2
|
-
import type { StartClaudeOptions } from "../core/types.ts";
|
|
3
|
-
import type { SessionRecord } from "../state/store.ts";
|
|
4
|
-
import type { ClaudePreflightWarning } from "./preflight.ts";
|
|
5
|
-
import { resetClaudeHookBridgeFactoryForTests, setHookBridgeFactoryForTests } from "./session-bridge.ts";
|
|
6
|
-
import type { ClaudeSessionApi } from "./session-interface.ts";
|
|
7
|
-
export { resetClaudeHookBridgeFactoryForTests as resetClaudeSessionSeamsForTests, setHookBridgeFactoryForTests, };
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated Prefer the `ClaudeSession` class (`new ClaudeSession(options)`), which starts
|
|
10
|
-
* lazily and exposes both `send`/`stream` and this full control surface. `startClaude`
|
|
11
|
-
* remains the low-level eager factory and is used internally; it will be removed once the
|
|
12
|
-
* sole consumer migrates.
|
|
13
|
-
*/
|
|
14
|
-
export declare function startClaude(rawOptions: StartClaudeOptions): Promise<ClaudeSessionApi>;
|
|
15
|
-
/** Internal deterministic-identity start used by owners that must clean failed launch state. */
|
|
16
|
-
export declare function startClaudeWithId(rawOptions: StartClaudeOptions, elwoodSessionId: string): Promise<ClaudeSessionApi>;
|
|
17
|
-
export declare function startClaudeFromRecord(record: SessionRecord, stateDir: string, options: StartClaudeOptions, resumed: boolean, preflightWarning: ClaudePreflightWarning | undefined): Promise<import("./session-instance.ts").ClaudeSessionImpl>;
|
|
18
|
-
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"AAAA,+HAA+H;AAM/H,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EACL,oCAAoC,EACpC,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EACL,oCAAoC,IAAI,+BAA+B,EACvE,4BAA4B,GAC7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAErF;AAED,gGAAgG;AAChG,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,kBAAkB,EAC9B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,8DAwBrD"}
|
package/dist/claude/session.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/** ClaudeSessionApi entry points: preflight, record creation, and socket-home-guarded start. Implements PRD §5, §6, §8, §9. */
|
|
2
|
-
import { randomUUID } from "node:crypto";
|
|
3
|
-
import { resolve } from "node:path";
|
|
4
|
-
import { queuePersonaMessage } from "../core/persona.js";
|
|
5
|
-
import { claudeReasoningEfforts, validateReasoningEffort } from "../core/reasoning-effort.js";
|
|
6
|
-
import { withSocketHomeCleanup } from "../runtime/startup-cleanup.js";
|
|
7
|
-
import { claudeLaunchPosture, withClaudeLaunch } from "../state/launch-posture.js";
|
|
8
|
-
import { sessionRuntime } from "../state/runtime-paths.js";
|
|
9
|
-
import { removeOwnSocketFile } from "../state/socket-home.js";
|
|
10
|
-
import { createSessionRecord, defaultStateDir, prepareStateDir } from "../state/store.js";
|
|
11
|
-
import { preflightClaude } from "./preflight.js";
|
|
12
|
-
import { resetClaudeHookBridgeFactoryForTests, setHookBridgeFactoryForTests, } from "./session-bridge.js";
|
|
13
|
-
import { buildClaudeSession } from "./session-build.js";
|
|
14
|
-
export { resetClaudeHookBridgeFactoryForTests as resetClaudeSessionSeamsForTests, setHookBridgeFactoryForTests, };
|
|
15
|
-
/**
|
|
16
|
-
* @deprecated Prefer the `ClaudeSession` class (`new ClaudeSession(options)`), which starts
|
|
17
|
-
* lazily and exposes both `send`/`stream` and this full control surface. `startClaude`
|
|
18
|
-
* remains the low-level eager factory and is used internally; it will be removed once the
|
|
19
|
-
* sole consumer migrates.
|
|
20
|
-
*/
|
|
21
|
-
export function startClaude(rawOptions) {
|
|
22
|
-
return startClaudeWithId(rawOptions, randomUUID());
|
|
23
|
-
}
|
|
24
|
-
/** Internal deterministic-identity start used by owners that must clean failed launch state. */
|
|
25
|
-
export async function startClaudeWithId(rawOptions, elwoodSessionId) {
|
|
26
|
-
// Resolve BOTH cwd and stateDir to ABSOLUTE before the preflight `await`: a relative
|
|
27
|
-
// path resolved after the await could point elsewhere if the caller's (or preflight's)
|
|
28
|
-
// process.cwd() changed during it, splitting where state is written from where the CLI
|
|
29
|
-
// launches (§8.1, §8.2). Thread the resolved cwd everywhere so the record, launch, and
|
|
30
|
-
// PTY spawn all agree.
|
|
31
|
-
const options = { ...rawOptions, cwd: resolve(rawOptions.cwd) };
|
|
32
|
-
const stateDir = resolve(options.stateDir ?? defaultStateDir(options.cwd));
|
|
33
|
-
const strict = options.strictVersionCheck ?? false;
|
|
34
|
-
const warning = await preflightClaude(strict, options.autoupdate ?? false);
|
|
35
|
-
prepareStateDir(stateDir, { gitignore: options.stateDir === undefined });
|
|
36
|
-
const createdRecord = createSessionRecord({ cwd: options.cwd, id: elwoodSessionId });
|
|
37
|
-
const record = withClaudeLaunch(createdRecord, claudeLaunchPosture(options));
|
|
38
|
-
const session = await startClaudeFromRecord(record, stateDir, options, false, warning);
|
|
39
|
-
return queuePersonaMessage(session, options.persona);
|
|
40
|
-
}
|
|
41
|
-
export function startClaudeFromRecord(record, stateDir, options, resumed, preflightWarning) {
|
|
42
|
-
// Validate the effort enum before any spawn (C-CLAUDE-20): both start and resume
|
|
43
|
-
// funnel through here, so a bad value fails fast at the single chokepoint.
|
|
44
|
-
validateReasoningEffort(options.reasoningEffort, claudeReasoningEfforts, "claude_invalid_reasoning_effort");
|
|
45
|
-
// `sessionRuntime` ensures the session's STABLE out-of-tree home and reserves a FRESH
|
|
46
|
-
// per-launch socket PATH inside it; the socket is bound later, by `bridge.start()`
|
|
47
|
-
// (after the state/runtime files are written). Wrap the WHOLE build so ANY failure
|
|
48
|
-
// before the session takes ownership removes THIS launch's own socket file — never the
|
|
49
|
-
// shared home, which a concurrent launch may own (§9.1). On success ownership transfers
|
|
50
|
-
// to the returned session, whose teardown removes the whole home via removeSessionFiles.
|
|
51
|
-
const runtime = sessionRuntime({
|
|
52
|
-
stateDir,
|
|
53
|
-
elwoodSessionId: record.elwoodSessionId,
|
|
54
|
-
adapter: "claude",
|
|
55
|
-
});
|
|
56
|
-
return withSocketHomeCleanup(() => removeOwnSocketFile(runtime.socketPath), () => buildClaudeSession({ record, stateDir, runtime, options, resumed, preflightWarning }));
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude try-resume-else-start convenience entry point.
|
|
3
|
-
* Implements PRD §5.2 and C-API-26.
|
|
4
|
-
*/
|
|
5
|
-
import { type StartOrResumeResult } from "../core/start-or-resume.ts";
|
|
6
|
-
import type { StartClaudeOptions } from "../core/types.ts";
|
|
7
|
-
import type { ClaudeSessionApi } from "./session-interface.ts";
|
|
8
|
-
export type StartOrResumeClaudeOptions = StartClaudeOptions & {
|
|
9
|
-
readonly elwoodSessionId?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function startOrResumeClaude(options: StartOrResumeClaudeOptions): Promise<StartOrResumeResult<ClaudeSessionApi>>;
|
|
12
|
-
//# sourceMappingURL=start-or-resume.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start-or-resume.d.ts","sourceRoot":"","sources":["../../src/claude/start-or-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,mBAAmB,EAAiB,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,GAAG;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAOhD"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude try-resume-else-start convenience entry point.
|
|
3
|
-
* Implements PRD §5.2 and C-API-26.
|
|
4
|
-
*/
|
|
5
|
-
import { startOrResume } from "../core/start-or-resume.js";
|
|
6
|
-
import { compact } from "../state/launch-posture.js";
|
|
7
|
-
import { startClaude } from "./session.js";
|
|
8
|
-
import { resumeClaude } from "./session-resume.js";
|
|
9
|
-
export function startOrResumeClaude(options) {
|
|
10
|
-
const { elwoodSessionId, ...startOptions } = options;
|
|
11
|
-
return startOrResume(elwoodSessionId, (id) => resumeClaude(resumeOptions(id, startOptions)), () => startClaude(startOptions));
|
|
12
|
-
}
|
|
13
|
-
// Every resume-relevant start option is forwarded (PRD §5.2); `compact` drops the
|
|
14
|
-
// absent ones so `exactOptionalPropertyTypes` sees no explicit `undefined`.
|
|
15
|
-
function resumeOptions(elwoodSessionId, start) {
|
|
16
|
-
const forwarded = compact({
|
|
17
|
-
stateDir: start.stateDir,
|
|
18
|
-
hooks: start.hooks,
|
|
19
|
-
initialSize: start.initialSize,
|
|
20
|
-
reasoningEffort: start.reasoningEffort,
|
|
21
|
-
permissionMode: start.permissionMode,
|
|
22
|
-
allowedTools: start.allowedTools,
|
|
23
|
-
disallowedTools: start.disallowedTools,
|
|
24
|
-
tools: start.tools,
|
|
25
|
-
autoupdate: start.autoupdate,
|
|
26
|
-
autotrust: start.autotrust,
|
|
27
|
-
hookTimeoutMs: start.hookTimeoutMs,
|
|
28
|
-
strictVersionCheck: start.strictVersionCheck,
|
|
29
|
-
});
|
|
30
|
-
return { elwoodSessionId, cwd: start.cwd, ...forwarded };
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=start-or-resume.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start-or-resume.js","sourceRoot":"","sources":["../../src/claude/start-or-resume.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA4B,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,MAAM,UAAU,mBAAmB,CACjC,OAAmC;IAEnC,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;IACrD,OAAO,aAAa,CAClB,eAAe,EACf,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,EACrD,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,4EAA4E;AAC5E,SAAS,aAAa,CAAC,eAAuB,EAAE,KAAyB;IACvE,MAAM,SAAS,GAAG,OAAO,CAAuD;QAC9E,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;KAC7C,CAAC,CAAC;IACH,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude hook events that carry `tool_name`/`tool_input`, as one runtime list
|
|
3
|
-
* with its derived union so validation, settings matchers, and event typing cannot
|
|
4
|
-
* drift apart. Implements PRD §6.1.
|
|
5
|
-
*/
|
|
6
|
-
/** The hook events that carry `tool_name`/`tool_input`; the union is derived from it. */
|
|
7
|
-
export declare const toolHookEventNames: readonly ["PermissionDenied", "PermissionRequest", "PostToolUse", "PostToolUseFailure", "PreToolUse"];
|
|
8
|
-
export type ToolHookEventName = (typeof toolHookEventNames)[number];
|
|
9
|
-
export declare function isToolHookEventName(value: unknown): value is ToolHookEventName;
|
|
10
|
-
//# sourceMappingURL=tool-hook-events.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-hook-events.d.ts","sourceRoot":"","sources":["../../src/claude/tool-hook-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,uGAMrB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude hook events that carry `tool_name`/`tool_input`, as one runtime list
|
|
3
|
-
* with its derived union so validation, settings matchers, and event typing cannot
|
|
4
|
-
* drift apart. Implements PRD §6.1.
|
|
5
|
-
*/
|
|
6
|
-
import { isOneOf } from "../core/predicates.js";
|
|
7
|
-
/** The hook events that carry `tool_name`/`tool_input`; the union is derived from it. */
|
|
8
|
-
export const toolHookEventNames = [
|
|
9
|
-
"PermissionDenied",
|
|
10
|
-
"PermissionRequest",
|
|
11
|
-
"PostToolUse",
|
|
12
|
-
"PostToolUseFailure",
|
|
13
|
-
"PreToolUse",
|
|
14
|
-
];
|
|
15
|
-
export function isToolHookEventName(value) {
|
|
16
|
-
return isOneOf(value, toolHookEventNames);
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=tool-hook-events.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-hook-events.js","sourceRoot":"","sources":["../../src/claude/tool-hook-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,kBAAkB;IAClB,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,YAAY;CACJ,CAAC;AAIX,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude built-in and extensible tool input types.
|
|
3
|
-
* Implements PRD §6.
|
|
4
|
-
*/
|
|
5
|
-
import type { ClaudeCommonHookFields } from "./hook-names.ts";
|
|
6
|
-
import type { PermissionUpdate } from "./permissions.ts";
|
|
7
|
-
import type { ToolHookEventName } from "./tool-hook-events.ts";
|
|
8
|
-
export type BashInput = {
|
|
9
|
-
readonly command: string;
|
|
10
|
-
readonly description?: string;
|
|
11
|
-
readonly timeout?: number;
|
|
12
|
-
readonly run_in_background?: boolean;
|
|
13
|
-
};
|
|
14
|
-
export type FileInput = {
|
|
15
|
-
readonly file_path: string;
|
|
16
|
-
};
|
|
17
|
-
export type ReadInput = FileInput & {
|
|
18
|
-
readonly offset?: number;
|
|
19
|
-
readonly limit?: number;
|
|
20
|
-
};
|
|
21
|
-
export type WriteInput = FileInput & {
|
|
22
|
-
readonly content: string;
|
|
23
|
-
};
|
|
24
|
-
export type EditInput = FileInput & {
|
|
25
|
-
readonly old_string: string;
|
|
26
|
-
readonly new_string: string;
|
|
27
|
-
readonly replace_all?: boolean;
|
|
28
|
-
};
|
|
29
|
-
export type GlobInput = {
|
|
30
|
-
readonly pattern: string;
|
|
31
|
-
readonly path?: string;
|
|
32
|
-
};
|
|
33
|
-
export type GrepInput = {
|
|
34
|
-
readonly pattern: string;
|
|
35
|
-
readonly path?: string;
|
|
36
|
-
readonly glob?: string;
|
|
37
|
-
readonly output_mode?: "content" | "files_with_matches" | "count";
|
|
38
|
-
readonly "-i"?: boolean;
|
|
39
|
-
readonly multiline?: boolean;
|
|
40
|
-
};
|
|
41
|
-
export type WebFetchInput = {
|
|
42
|
-
readonly url: string;
|
|
43
|
-
readonly prompt: string;
|
|
44
|
-
};
|
|
45
|
-
export type WebSearchInput = {
|
|
46
|
-
readonly query: string;
|
|
47
|
-
readonly allowed_domains?: readonly string[];
|
|
48
|
-
readonly blocked_domains?: readonly string[];
|
|
49
|
-
};
|
|
50
|
-
export type AgentInput = {
|
|
51
|
-
readonly prompt: string;
|
|
52
|
-
readonly description?: string;
|
|
53
|
-
readonly subagent_type?: string;
|
|
54
|
-
readonly model?: string;
|
|
55
|
-
};
|
|
56
|
-
export type SimplePromptInput = {
|
|
57
|
-
readonly prompt?: string;
|
|
58
|
-
readonly description?: string;
|
|
59
|
-
};
|
|
60
|
-
export type IdInput = {
|
|
61
|
-
readonly id: string;
|
|
62
|
-
};
|
|
63
|
-
export type ExitPlanModeInput = {
|
|
64
|
-
readonly allowedPrompts?: readonly string[];
|
|
65
|
-
readonly plan?: string;
|
|
66
|
-
readonly planFilePath?: string;
|
|
67
|
-
};
|
|
68
|
-
export type AskUserQuestionInput = {
|
|
69
|
-
readonly questions: readonly {
|
|
70
|
-
readonly question: string;
|
|
71
|
-
readonly header: string;
|
|
72
|
-
readonly options: readonly {
|
|
73
|
-
readonly label: string;
|
|
74
|
-
readonly description?: string;
|
|
75
|
-
}[];
|
|
76
|
-
readonly multiSelect?: boolean;
|
|
77
|
-
}[];
|
|
78
|
-
readonly answers?: Readonly<Record<string, string>>;
|
|
79
|
-
};
|
|
80
|
-
export type KnownClaudeToolName = "Agent" | "AskUserQuestion" | "Bash" | "CronCreate" | "CronDelete" | "CronList" | "Edit" | "EnterPlanMode" | "EnterWorktree" | "ExitPlanMode" | "ExitWorktree" | "Glob" | "Grep" | "LS" | "ListMcpResourcesTool" | "LSP" | "Monitor" | "MultiEdit" | "NotebookEdit" | "PowerShell" | "PushNotification" | "Read" | "ReadMcpResourceTool" | "RemoteTrigger" | "ScheduleWakeup" | "SendMessage" | "ShareOnboardingGuide" | "Skill" | "TaskCreate" | "TaskGet" | "TaskList" | "TaskOutput" | "TaskStop" | "TaskUpdate" | "TeamCreate" | "TeamDelete" | "TodoWrite" | "ToolSearch" | "WaitForMcpServers" | "WebFetch" | "WebSearch" | "Write";
|
|
81
|
-
export type UnknownClaudeToolName = `mcp__${string}` | `unknown:${string}`;
|
|
82
|
-
export type GenericToolInput = Readonly<Record<string, unknown>>;
|
|
83
|
-
export type ClaudeToolInputByName = {
|
|
84
|
-
readonly tool_name: "Agent";
|
|
85
|
-
readonly tool_input: AgentInput;
|
|
86
|
-
} | {
|
|
87
|
-
readonly tool_name: "AskUserQuestion";
|
|
88
|
-
readonly tool_input: AskUserQuestionInput;
|
|
89
|
-
} | {
|
|
90
|
-
readonly tool_name: "Bash";
|
|
91
|
-
readonly tool_input: BashInput;
|
|
92
|
-
} | {
|
|
93
|
-
readonly tool_name: "CronDelete" | "TaskGet" | "TaskOutput" | "TaskStop";
|
|
94
|
-
readonly tool_input: IdInput;
|
|
95
|
-
} | {
|
|
96
|
-
readonly tool_name: "Edit";
|
|
97
|
-
readonly tool_input: EditInput;
|
|
98
|
-
} | {
|
|
99
|
-
readonly tool_name: "ExitPlanMode";
|
|
100
|
-
readonly tool_input: ExitPlanModeInput;
|
|
101
|
-
} | {
|
|
102
|
-
readonly tool_name: "Glob";
|
|
103
|
-
readonly tool_input: GlobInput;
|
|
104
|
-
} | {
|
|
105
|
-
readonly tool_name: "Grep";
|
|
106
|
-
readonly tool_input: GrepInput;
|
|
107
|
-
} | {
|
|
108
|
-
readonly tool_name: "PowerShell";
|
|
109
|
-
readonly tool_input: BashInput;
|
|
110
|
-
} | {
|
|
111
|
-
readonly tool_name: "SendMessage" | "Skill" | "TaskCreate";
|
|
112
|
-
readonly tool_input: SimplePromptInput;
|
|
113
|
-
} | {
|
|
114
|
-
readonly tool_name: "Read";
|
|
115
|
-
readonly tool_input: ReadInput;
|
|
116
|
-
} | {
|
|
117
|
-
readonly tool_name: "WebFetch";
|
|
118
|
-
readonly tool_input: WebFetchInput;
|
|
119
|
-
} | {
|
|
120
|
-
readonly tool_name: "WebSearch";
|
|
121
|
-
readonly tool_input: WebSearchInput;
|
|
122
|
-
} | {
|
|
123
|
-
readonly tool_name: "Write";
|
|
124
|
-
readonly tool_input: WriteInput;
|
|
125
|
-
} | {
|
|
126
|
-
readonly tool_name: GenericKnownToolName;
|
|
127
|
-
readonly tool_input: GenericToolInput;
|
|
128
|
-
} | {
|
|
129
|
-
readonly tool_name: UnknownClaudeToolName;
|
|
130
|
-
readonly tool_input: GenericToolInput;
|
|
131
|
-
};
|
|
132
|
-
type GenericKnownToolName = Exclude<KnownClaudeToolName, "Agent" | "AskUserQuestion" | "Bash" | "CronDelete" | "Edit" | "ExitPlanMode" | "Glob" | "Grep" | "PowerShell" | "Read" | "SendMessage" | "Skill" | "TaskCreate" | "TaskGet" | "TaskOutput" | "TaskStop" | "WebFetch" | "WebSearch" | "Write">;
|
|
133
|
-
export type ClaudeToolInputUpdate<Tool extends ClaudeToolInputByName = ClaudeToolInputByName> = Partial<Tool["tool_input"]>;
|
|
134
|
-
export type ClaudeToolEventFields<E extends ToolHookEventName> = E extends "PreToolUse" ? {
|
|
135
|
-
readonly tool_use_id?: string;
|
|
136
|
-
} : E extends "PermissionRequest" ? {
|
|
137
|
-
readonly permission_suggestions?: readonly PermissionUpdate[];
|
|
138
|
-
} : E extends "PostToolUse" ? {
|
|
139
|
-
readonly tool_use_id?: string;
|
|
140
|
-
readonly tool_response: unknown;
|
|
141
|
-
readonly duration_ms?: number;
|
|
142
|
-
} : E extends "PostToolUseFailure" ? {
|
|
143
|
-
readonly tool_use_id?: string;
|
|
144
|
-
readonly error: string;
|
|
145
|
-
readonly is_interrupt?: boolean;
|
|
146
|
-
readonly duration_ms?: number;
|
|
147
|
-
} : E extends "PermissionDenied" ? {
|
|
148
|
-
readonly tool_use_id: string;
|
|
149
|
-
readonly reason: string;
|
|
150
|
-
} : Record<string, never>;
|
|
151
|
-
export type ClaudeToolEventForName<E extends ToolHookEventName> = ClaudeCommonHookFields & {
|
|
152
|
-
readonly hook_event_name: E;
|
|
153
|
-
} & ClaudeToolInputByName & ClaudeToolEventFields<E>;
|
|
154
|
-
export type ClaudeToolEvent = {
|
|
155
|
-
readonly [E in ToolHookEventName]: ClaudeToolEventForName<E>;
|
|
156
|
-
}[ToolHookEventName];
|
|
157
|
-
export {};
|
|
158
|
-
//# sourceMappingURL=tool-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-types.d.ts","sourceRoot":"","sources":["../../src/claude/tool-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-types.js","sourceRoot":"","sources":["../../src/claude/tool-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime validation for Claude hook inputs crossing the bridge: common fields,
|
|
3
|
-
* then a per-event predicate table keyed by `hook_event_name`.
|
|
4
|
-
* Implements PRD §6.4.
|
|
5
|
-
*/
|
|
6
|
-
import type { ClaudeHookEvent } from "./hooks.ts";
|
|
7
|
-
export declare function isClaudeHookInput(value: unknown): value is ClaudeHookEvent;
|
|
8
|
-
//# sourceMappingURL=validate-input.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-input.d.ts","sourceRoot":"","sources":["../../src/claude/validate-input.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0DlD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAW1E"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime validation for Claude hook inputs crossing the bridge: common fields,
|
|
3
|
-
* then a per-event predicate table keyed by `hook_event_name`.
|
|
4
|
-
* Implements PRD §6.4.
|
|
5
|
-
*/
|
|
6
|
-
import { isOneOf, isRecord, isString, optionalBoolean, optionalString, } from "../core/predicates.js";
|
|
7
|
-
import { claudeHookPermissionModes, } from "./hook-names.js";
|
|
8
|
-
import { isToolHookEventName } from "./tool-hook-events.js";
|
|
9
|
-
const effortLevels = ["low", "medium", "high", "xhigh", "max"];
|
|
10
|
-
const _effortLevelsCoupled = true;
|
|
11
|
-
void _effortLevelsCoupled;
|
|
12
|
-
const compactTrigger = (value) => isOneOf(value["trigger"], ["manual", "auto"]);
|
|
13
|
-
const strings = (...keys) => (value) => hasStrings(value, keys);
|
|
14
|
-
// One predicate per non-tool event; tool events share `hasToolEventFields`. The
|
|
15
|
-
// table is keyed by the public union so a new event name cannot be forgotten.
|
|
16
|
-
const eventChecks = {
|
|
17
|
-
SessionStart: strings("source"),
|
|
18
|
-
Setup: (value) => isOneOf(value["trigger"], ["init", "maintenance"]),
|
|
19
|
-
InstructionsLoaded: hasInstructionsLoaded,
|
|
20
|
-
UserPromptSubmit: strings("prompt"),
|
|
21
|
-
UserPromptExpansion: hasUserPromptExpansion,
|
|
22
|
-
PostToolBatch: (value) => hasPostToolBatch(value["tool_calls"]),
|
|
23
|
-
Notification: strings("message", "notification_type"),
|
|
24
|
-
SubagentStart: strings("agent_id", "agent_type"),
|
|
25
|
-
SubagentStop: strings("agent_id", "agent_type", "agent_transcript_path"),
|
|
26
|
-
TaskCreated: strings("task_id", "task_subject"),
|
|
27
|
-
TaskCompleted: strings("task_id", "task_subject"),
|
|
28
|
-
Stop: (value) => optionalBoolean(value["stop_hook_active"]),
|
|
29
|
-
StopFailure: strings("error"),
|
|
30
|
-
TeammateIdle: strings("teammate_name", "team_name"),
|
|
31
|
-
ConfigChange: strings("source"),
|
|
32
|
-
CwdChanged: strings("old_cwd", "new_cwd"),
|
|
33
|
-
FileChanged: (value) => hasStrings(value, ["file_path"]) && isOneOf(value["event"], ["change", "add", "unlink"]),
|
|
34
|
-
WorktreeCreate: strings("name"),
|
|
35
|
-
WorktreeRemove: strings("worktree_path"),
|
|
36
|
-
PreCompact: (value) => compactTrigger(value) && isNullableOptionalString(value["custom_instructions"]),
|
|
37
|
-
PostCompact: (value) => compactTrigger(value) && hasStrings(value, ["compact_summary"]),
|
|
38
|
-
SessionEnd: strings("reason"),
|
|
39
|
-
Elicitation: strings("mcp_server_name", "message"),
|
|
40
|
-
ElicitationResult: strings("mcp_server_name", "action"),
|
|
41
|
-
};
|
|
42
|
-
export function isClaudeHookInput(value) {
|
|
43
|
-
if (!(isRecord(value) && hasStrings(value, ["hook_event_name", "session_id", "cwd"]))) {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
if (!hasValidCommonFields(value))
|
|
47
|
-
return false;
|
|
48
|
-
const eventName = value["hook_event_name"];
|
|
49
|
-
if (isToolHookEventName(eventName))
|
|
50
|
-
return hasToolEventFields(eventName, value);
|
|
51
|
-
return (Object.hasOwn(eventChecks, eventName) &&
|
|
52
|
-
eventChecks[eventName](value));
|
|
53
|
-
}
|
|
54
|
-
// C-HOOK-07 / C-HOOK-17: typed optional common fields present on every hook
|
|
55
|
-
// event must match ClaudeCommonHookFields, not merely be ignored.
|
|
56
|
-
function hasValidCommonFields(value) {
|
|
57
|
-
return (optionalString(value["transcript_path"]) &&
|
|
58
|
-
(value["permission_mode"] === undefined ||
|
|
59
|
-
isOneOf(value["permission_mode"], claudeHookPermissionModes)) &&
|
|
60
|
-
isValidEffort(value["effort"]));
|
|
61
|
-
}
|
|
62
|
-
function isValidEffort(value) {
|
|
63
|
-
if (value === undefined)
|
|
64
|
-
return true;
|
|
65
|
-
return isRecord(value) && isOneOf(value["level"], effortLevels);
|
|
66
|
-
}
|
|
67
|
-
function hasToolEventFields(eventName, value) {
|
|
68
|
-
return (typeof value["tool_name"] === "string" &&
|
|
69
|
-
isToolInput(value["tool_name"], value["tool_input"]) &&
|
|
70
|
-
hasToolSpecificEventFields(eventName, value));
|
|
71
|
-
}
|
|
72
|
-
function hasToolSpecificEventFields(eventName, value) {
|
|
73
|
-
if (eventName === "PostToolUse")
|
|
74
|
-
return "tool_response" in value;
|
|
75
|
-
if (eventName === "PostToolUseFailure")
|
|
76
|
-
return typeof value["error"] === "string";
|
|
77
|
-
if (eventName === "PermissionDenied")
|
|
78
|
-
return hasStrings(value, ["tool_use_id", "reason"]);
|
|
79
|
-
return true;
|
|
80
|
-
}
|
|
81
|
-
const toolInputChecks = {
|
|
82
|
-
Agent: (input) => typeof input["prompt"] === "string",
|
|
83
|
-
AskUserQuestion: isAskUserQuestionInput,
|
|
84
|
-
Bash: (input) => typeof input["command"] === "string",
|
|
85
|
-
Edit: (input) => hasStrings(input, ["file_path", "old_string", "new_string"]),
|
|
86
|
-
Glob: (input) => typeof input["pattern"] === "string",
|
|
87
|
-
Grep: (input) => typeof input["pattern"] === "string",
|
|
88
|
-
Read: (input) => typeof input["file_path"] === "string",
|
|
89
|
-
WebFetch: (input) => hasStrings(input, ["url", "prompt"]),
|
|
90
|
-
WebSearch: (input) => typeof input["query"] === "string",
|
|
91
|
-
Write: (input) => hasStrings(input, ["file_path", "content"]),
|
|
92
|
-
};
|
|
93
|
-
function isToolInput(toolName, input) {
|
|
94
|
-
if (!isRecord(input))
|
|
95
|
-
return false;
|
|
96
|
-
const check = Object.hasOwn(toolInputChecks, toolName) ? toolInputChecks[toolName] : undefined;
|
|
97
|
-
return check === undefined || check(input);
|
|
98
|
-
}
|
|
99
|
-
function hasInstructionsLoaded(value) {
|
|
100
|
-
return (hasStrings(value, ["file_path"]) &&
|
|
101
|
-
isOneOf(value["memory_type"], ["User", "Project", "Local", "Managed"]) &&
|
|
102
|
-
isOneOf(value["load_reason"], [
|
|
103
|
-
"session_start",
|
|
104
|
-
"nested_traversal",
|
|
105
|
-
"path_glob_match",
|
|
106
|
-
"include",
|
|
107
|
-
"compact",
|
|
108
|
-
]));
|
|
109
|
-
}
|
|
110
|
-
function hasUserPromptExpansion(value) {
|
|
111
|
-
return (hasStrings(value, ["prompt", "command_name"]) &&
|
|
112
|
-
isOneOf(value["expansion_type"], ["slash_command", "mcp_prompt"]));
|
|
113
|
-
}
|
|
114
|
-
function hasPostToolBatch(value) {
|
|
115
|
-
return (Array.isArray(value) &&
|
|
116
|
-
value.every((item) => isRecord(item) && hasToolEventFields("PostToolUse", item)));
|
|
117
|
-
}
|
|
118
|
-
function isAskUserQuestionInput(input) {
|
|
119
|
-
return Array.isArray(input["questions"]) && input["questions"].every(isQuestion);
|
|
120
|
-
}
|
|
121
|
-
function isQuestion(value) {
|
|
122
|
-
return (isRecord(value) &&
|
|
123
|
-
hasStrings(value, ["question", "header"]) &&
|
|
124
|
-
Array.isArray(value["options"]) &&
|
|
125
|
-
value["options"].every(isQuestionOption) &&
|
|
126
|
-
optionalBoolean(value["multiSelect"]));
|
|
127
|
-
}
|
|
128
|
-
function isQuestionOption(value) {
|
|
129
|
-
return isRecord(value) && isString(value["label"]) && optionalString(value["description"]);
|
|
130
|
-
}
|
|
131
|
-
function hasStrings(value, keys) {
|
|
132
|
-
return keys.every((key) => isString(value[key]));
|
|
133
|
-
}
|
|
134
|
-
function isNullableOptionalString(value) {
|
|
135
|
-
return value === undefined || value === null || typeof value === "string";
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=validate-input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-input.js","sourceRoot":"","sources":["../../src/claude/validate-input.ts"],"names":[],"mappings":"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"}
|