@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-events-extra.js","sourceRoot":"","sources":["../../src/claude/hook-events-extra.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude hook event payload types.
|
|
3
|
-
* Implements PRD §6.
|
|
4
|
-
*/
|
|
5
|
-
import type { ConfigChangeEvent, CwdChangedEvent, ElicitationEvent, ElicitationResultEvent, FileChangedEvent, PostCompactEvent, PreCompactEvent, SessionEndEvent, StopEvent, StopFailureEvent, TaskCompletedEvent, TaskCreatedEvent, TeammateIdleEvent, WorktreeCreateEvent, WorktreeRemoveEvent } from "./hook-events-extra.ts";
|
|
6
|
-
import type { ClaudeCommonHookFields, ClaudeHookEventName } from "./hook-names.ts";
|
|
7
|
-
import type { ClaudeToolEvent, ClaudeToolInputByName } from "./tool-types.ts";
|
|
8
|
-
export type ClaudePostToolBatchCall = ClaudeToolInputByName & {
|
|
9
|
-
readonly tool_use_id?: string;
|
|
10
|
-
readonly tool_response: unknown;
|
|
11
|
-
};
|
|
12
|
-
export type ClaudeNotificationType = "permission_prompt" | "idle_prompt" | "auth_success" | "elicitation_dialog" | "elicitation_complete" | "elicitation_response";
|
|
13
|
-
export type ClaudeBackgroundTask = {
|
|
14
|
-
readonly id: string;
|
|
15
|
-
readonly type: string;
|
|
16
|
-
readonly status: string;
|
|
17
|
-
readonly description?: string;
|
|
18
|
-
readonly command?: string;
|
|
19
|
-
readonly agent_type?: string;
|
|
20
|
-
readonly server?: string;
|
|
21
|
-
readonly tool?: string;
|
|
22
|
-
readonly name?: string;
|
|
23
|
-
};
|
|
24
|
-
export type ClaudeSessionCron = {
|
|
25
|
-
readonly id: string;
|
|
26
|
-
readonly schedule: string;
|
|
27
|
-
readonly recurring: boolean;
|
|
28
|
-
readonly prompt: string;
|
|
29
|
-
};
|
|
30
|
-
export type ClaudeStopFields = {
|
|
31
|
-
readonly stop_hook_active?: boolean;
|
|
32
|
-
readonly last_assistant_message?: string;
|
|
33
|
-
readonly background_tasks?: readonly ClaudeBackgroundTask[];
|
|
34
|
-
readonly session_crons?: readonly ClaudeSessionCron[];
|
|
35
|
-
};
|
|
36
|
-
export type ClaudeStopFailureError = "rate_limit" | "authentication_failed" | "oauth_org_not_allowed" | "billing_error" | "invalid_request" | "model_not_found" | "server_error" | "max_output_tokens" | "unknown";
|
|
37
|
-
export type ClaudeTaskFields = {
|
|
38
|
-
readonly task_id: string;
|
|
39
|
-
readonly task_subject: string;
|
|
40
|
-
readonly task_description?: string;
|
|
41
|
-
readonly teammate_name?: string;
|
|
42
|
-
readonly team_name?: string;
|
|
43
|
-
};
|
|
44
|
-
export type ClaudeHookEvent = ClaudeToolEvent | SessionStartEvent | SetupEvent | InstructionsLoadedEvent | UserPromptSubmitEvent | UserPromptExpansionEvent | PostToolBatchEvent | NotificationEvent | SubagentStartEvent | SubagentStopEvent | TaskCreatedEvent | TaskCompletedEvent | StopEvent | StopFailureEvent | TeammateIdleEvent | ConfigChangeEvent | CwdChangedEvent | FileChangedEvent | WorktreeCreateEvent | WorktreeRemoveEvent | PreCompactEvent | PostCompactEvent | SessionEndEvent | ElicitationEvent | ElicitationResultEvent;
|
|
45
|
-
export type ClaudeHookEventFor<K extends ClaudeHookEventName> = ClaudeHookEvent extends infer Event ? Event extends {
|
|
46
|
-
readonly hook_event_name: infer EventName;
|
|
47
|
-
} ? K extends EventName ? Event : never : never : never;
|
|
48
|
-
type SessionStartEvent = ClaudeCommonHookFields & {
|
|
49
|
-
readonly hook_event_name: "SessionStart";
|
|
50
|
-
readonly source: "startup" | "resume" | "clear" | "compact" | string;
|
|
51
|
-
readonly model?: string;
|
|
52
|
-
readonly agent_type?: string;
|
|
53
|
-
};
|
|
54
|
-
type SetupEvent = ClaudeCommonHookFields & {
|
|
55
|
-
readonly hook_event_name: "Setup";
|
|
56
|
-
readonly trigger: "init" | "maintenance";
|
|
57
|
-
};
|
|
58
|
-
type InstructionsLoadedEvent = ClaudeCommonHookFields & {
|
|
59
|
-
readonly hook_event_name: "InstructionsLoaded";
|
|
60
|
-
readonly file_path: string;
|
|
61
|
-
readonly memory_type: "User" | "Project" | "Local" | "Managed";
|
|
62
|
-
readonly load_reason: "session_start" | "nested_traversal" | "path_glob_match" | "include" | "compact";
|
|
63
|
-
readonly globs?: readonly string[];
|
|
64
|
-
readonly trigger_file_path?: string;
|
|
65
|
-
readonly parent_file_path?: string;
|
|
66
|
-
};
|
|
67
|
-
type UserPromptSubmitEvent = ClaudeCommonHookFields & {
|
|
68
|
-
readonly hook_event_name: "UserPromptSubmit";
|
|
69
|
-
readonly prompt: string;
|
|
70
|
-
};
|
|
71
|
-
type UserPromptExpansionEvent = ClaudeCommonHookFields & {
|
|
72
|
-
readonly hook_event_name: "UserPromptExpansion";
|
|
73
|
-
readonly expansion_type: "slash_command" | "mcp_prompt";
|
|
74
|
-
readonly command_name: string;
|
|
75
|
-
readonly command_args?: string;
|
|
76
|
-
readonly command_source?: string;
|
|
77
|
-
readonly prompt: string;
|
|
78
|
-
};
|
|
79
|
-
type PostToolBatchEvent = ClaudeCommonHookFields & {
|
|
80
|
-
readonly hook_event_name: "PostToolBatch";
|
|
81
|
-
readonly tool_calls: readonly ClaudePostToolBatchCall[];
|
|
82
|
-
};
|
|
83
|
-
type NotificationEvent = ClaudeCommonHookFields & {
|
|
84
|
-
readonly hook_event_name: "Notification";
|
|
85
|
-
readonly message: string;
|
|
86
|
-
readonly title?: string;
|
|
87
|
-
readonly notification_type: ClaudeNotificationType | string;
|
|
88
|
-
};
|
|
89
|
-
type SubagentStartEvent = ClaudeCommonHookFields & {
|
|
90
|
-
readonly hook_event_name: "SubagentStart";
|
|
91
|
-
readonly agent_id: string;
|
|
92
|
-
readonly agent_type: string;
|
|
93
|
-
};
|
|
94
|
-
type SubagentStopEvent = ClaudeCommonHookFields & ClaudeStopFields & {
|
|
95
|
-
readonly hook_event_name: "SubagentStop";
|
|
96
|
-
readonly agent_id: string;
|
|
97
|
-
readonly agent_type: string;
|
|
98
|
-
readonly agent_transcript_path: string;
|
|
99
|
-
};
|
|
100
|
-
export {};
|
|
101
|
-
//# sourceMappingURL=hook-events.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-events.d.ts","sourceRoot":"","sources":["../../src/claude/hook-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-events.js","sourceRoot":"","sources":["../../src/claude/hook-events.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude hook names and common hook fields.
|
|
3
|
-
* Implements PRD §6.
|
|
4
|
-
*/
|
|
5
|
-
export declare const claudeHookEventNames: readonly ["SessionStart", "Setup", "InstructionsLoaded", "UserPromptSubmit", "UserPromptExpansion", "PreToolUse", "PermissionRequest", "PostToolUse", "PostToolUseFailure", "PostToolBatch", "PermissionDenied", "Notification", "SubagentStart", "SubagentStop", "TaskCreated", "TaskCompleted", "Stop", "StopFailure", "TeammateIdle", "ConfigChange", "CwdChanged", "FileChanged", "WorktreeCreate", "WorktreeRemove", "PreCompact", "PostCompact", "SessionEnd", "Elicitation", "ElicitationResult"];
|
|
6
|
-
export type ClaudeHookEventName = (typeof claudeHookEventNames)[number];
|
|
7
|
-
/** The permission modes a hook payload may report; the union is derived from it. */
|
|
8
|
-
export declare const claudeHookPermissionModes: readonly ["default", "acceptEdits", "plan", "auto", "dontAsk", "bypassPermissions"];
|
|
9
|
-
export type ClaudeHookPermissionMode = (typeof claudeHookPermissionModes)[number];
|
|
10
|
-
export type ClaudeEffortLevel = "low" | "medium" | "high" | "xhigh" | "max";
|
|
11
|
-
export type ClaudeUnknownHookFields = {
|
|
12
|
-
readonly [key: string]: unknown;
|
|
13
|
-
};
|
|
14
|
-
export type ClaudeCommonHookFields = {
|
|
15
|
-
readonly session_id: string;
|
|
16
|
-
readonly transcript_path?: string;
|
|
17
|
-
readonly cwd: string;
|
|
18
|
-
readonly permission_mode?: ClaudeHookPermissionMode;
|
|
19
|
-
readonly effort?: {
|
|
20
|
-
readonly level: ClaudeEffortLevel;
|
|
21
|
-
};
|
|
22
|
-
readonly hook_event_name: ClaudeHookEventName;
|
|
23
|
-
} & ClaudeUnknownHookFields;
|
|
24
|
-
//# sourceMappingURL=hook-names.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-names.d.ts","sourceRoot":"","sources":["../../src/claude/hook-names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oBAAoB,0eA8BvB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,qFAO5B,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;CAC/C,GAAG,uBAAuB,CAAC"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude hook names and common hook fields.
|
|
3
|
-
* Implements PRD §6.
|
|
4
|
-
*/
|
|
5
|
-
export const claudeHookEventNames = [
|
|
6
|
-
"SessionStart",
|
|
7
|
-
"Setup",
|
|
8
|
-
"InstructionsLoaded",
|
|
9
|
-
"UserPromptSubmit",
|
|
10
|
-
"UserPromptExpansion",
|
|
11
|
-
"PreToolUse",
|
|
12
|
-
"PermissionRequest",
|
|
13
|
-
"PostToolUse",
|
|
14
|
-
"PostToolUseFailure",
|
|
15
|
-
"PostToolBatch",
|
|
16
|
-
"PermissionDenied",
|
|
17
|
-
"Notification",
|
|
18
|
-
"SubagentStart",
|
|
19
|
-
"SubagentStop",
|
|
20
|
-
"TaskCreated",
|
|
21
|
-
"TaskCompleted",
|
|
22
|
-
"Stop",
|
|
23
|
-
"StopFailure",
|
|
24
|
-
"TeammateIdle",
|
|
25
|
-
"ConfigChange",
|
|
26
|
-
"CwdChanged",
|
|
27
|
-
"FileChanged",
|
|
28
|
-
"WorktreeCreate",
|
|
29
|
-
"WorktreeRemove",
|
|
30
|
-
"PreCompact",
|
|
31
|
-
"PostCompact",
|
|
32
|
-
"SessionEnd",
|
|
33
|
-
"Elicitation",
|
|
34
|
-
"ElicitationResult",
|
|
35
|
-
];
|
|
36
|
-
/** The permission modes a hook payload may report; the union is derived from it. */
|
|
37
|
-
export const claudeHookPermissionModes = [
|
|
38
|
-
"default",
|
|
39
|
-
"acceptEdits",
|
|
40
|
-
"plan",
|
|
41
|
-
"auto",
|
|
42
|
-
"dontAsk",
|
|
43
|
-
"bypassPermissions",
|
|
44
|
-
];
|
|
45
|
-
//# sourceMappingURL=hook-names.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hook-names.js","sourceRoot":"","sources":["../../src/claude/hook-names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc;IACd,OAAO;IACP,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;IACrB,YAAY;IACZ,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,cAAc;IACd,aAAa;IACb,eAAe;IACf,MAAM;IACN,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,aAAa;IACb,mBAAmB;CACX,CAAC;AAIX,oFAAoF;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,aAAa;IACb,MAAM;IACN,MAAM;IACN,SAAS;IACT,mBAAmB;CACX,CAAC"}
|
package/dist/claude/hooks.d.ts
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Public Claude hook type barrel.
|
|
3
|
-
* Implements PRD §6 and §7.
|
|
4
|
-
*/
|
|
5
|
-
export type { ClaudeHookHandlers } from "./handler-types.ts";
|
|
6
|
-
export type { ClaudeBackgroundTask, ClaudeHookEvent, ClaudeHookEventFor, ClaudeNotificationType, ClaudePostToolBatchCall, ClaudeSessionCron, ClaudeStopFailureError, ClaudeStopFields, ClaudeTaskFields, } from "./hook-events.ts";
|
|
7
|
-
export { type ClaudeCommonHookFields, type ClaudeEffortLevel, type ClaudeHookEventName, type ClaudeHookPermissionMode, type ClaudeUnknownHookFields, claudeHookEventNames, } from "./hook-names.ts";
|
|
8
|
-
export type { PermissionRule, PermissionRuleBehavior, PermissionUpdate, PermissionUpdateDestination, } from "./permissions.ts";
|
|
9
|
-
export type { AgentInput, AskUserQuestionInput, BashInput, ClaudeToolInputUpdate, EditInput, ExitPlanModeInput, FileInput, GenericToolInput, GlobInput, GrepInput, KnownClaudeToolName, ReadInput, UnknownClaudeToolName, WebFetchInput, WebSearchInput, WriteInput, } from "./tool-types.ts";
|
|
10
|
-
import type { ClaudeHookEventFor } from "./hook-events.ts";
|
|
11
|
-
import type { ClaudeHookEventName } from "./hook-names.ts";
|
|
12
|
-
import type { PermissionUpdate } from "./permissions.ts";
|
|
13
|
-
export type { ToolHookEventName } from "./tool-hook-events.ts";
|
|
14
|
-
export type ClaudeToolInputUpdateForEvent<Event> = Event extends {
|
|
15
|
-
readonly tool_input: infer Input;
|
|
16
|
-
} ? Partial<Input> : never;
|
|
17
|
-
export type PreToolUseDecisionResultFor<Event> = {
|
|
18
|
-
readonly permissionDecision: "allow" | "deny" | "ask" | "defer";
|
|
19
|
-
readonly permissionDecisionReason?: string;
|
|
20
|
-
readonly updatedInput?: ClaudeToolInputUpdateForEvent<Event>;
|
|
21
|
-
readonly additionalContext?: string;
|
|
22
|
-
};
|
|
23
|
-
export type PreToolUseDecisionResult = PreToolUseDecisionResultFor<ClaudeHookEventFor<"PreToolUse">>;
|
|
24
|
-
export type PreToolUseCommonResult = (Omit<PreToolUseDecisionResult, "updatedInput"> & {
|
|
25
|
-
readonly updatedInput?: never;
|
|
26
|
-
}) | {
|
|
27
|
-
readonly additionalContext: string;
|
|
28
|
-
};
|
|
29
|
-
export type PreToolUseResultFor<Event> = PreToolUseDecisionResultFor<Event> | {
|
|
30
|
-
readonly additionalContext: string;
|
|
31
|
-
};
|
|
32
|
-
export type PreToolUseResult = PreToolUseResultFor<ClaudeHookEventFor<"PreToolUse">>;
|
|
33
|
-
export type TopLevelBlockResult = {
|
|
34
|
-
readonly decision: "block";
|
|
35
|
-
readonly reason: string;
|
|
36
|
-
readonly additionalContext?: string;
|
|
37
|
-
};
|
|
38
|
-
export type PermissionRequestResult = {
|
|
39
|
-
readonly behavior: "allow" | "deny";
|
|
40
|
-
readonly updatedInput?: ClaudeToolInputUpdateForEvent<ClaudeHookEventFor<"PermissionRequest">>;
|
|
41
|
-
readonly updatedPermissions?: readonly PermissionUpdate[];
|
|
42
|
-
readonly message?: string;
|
|
43
|
-
readonly interrupt?: boolean;
|
|
44
|
-
};
|
|
45
|
-
export type PermissionRequestCommonResult = Omit<PermissionRequestResult, "updatedInput"> & {
|
|
46
|
-
readonly updatedInput?: never;
|
|
47
|
-
};
|
|
48
|
-
export type PermissionDeniedResult = {
|
|
49
|
-
readonly retry: true;
|
|
50
|
-
};
|
|
51
|
-
export type ContextResult = {
|
|
52
|
-
readonly additionalContext?: string;
|
|
53
|
-
readonly initialUserMessage?: string;
|
|
54
|
-
readonly watchPaths?: readonly string[];
|
|
55
|
-
};
|
|
56
|
-
export type ContinueFalseResult = {
|
|
57
|
-
readonly continue: false;
|
|
58
|
-
readonly stopReason?: string;
|
|
59
|
-
};
|
|
60
|
-
export type PostToolUseResult = TopLevelBlockResult | {
|
|
61
|
-
readonly additionalContext?: string;
|
|
62
|
-
readonly updatedToolOutput?: unknown;
|
|
63
|
-
readonly updatedMCPToolOutput?: unknown;
|
|
64
|
-
};
|
|
65
|
-
export type ElicitationResult = {
|
|
66
|
-
readonly action: "accept" | "decline" | "cancel";
|
|
67
|
-
readonly content?: Readonly<Record<string, unknown>>;
|
|
68
|
-
};
|
|
69
|
-
export type WorktreeCreateResult = {
|
|
70
|
-
readonly worktreePath: string;
|
|
71
|
-
};
|
|
72
|
-
export type ClaudeContextHookEventName = Exclude<ClaudeHookEventName, "Elicitation" | "ElicitationResult" | "ConfigChange" | "CwdChanged" | "FileChanged" | "InstructionsLoaded" | "Notification" | "PermissionDenied" | "PermissionRequest" | "PostCompact" | "PostToolUse" | "PostToolUseFailure" | "PostToolBatch" | "PreCompact" | "PreToolUse" | "SessionEnd" | "StopFailure" | "Stop" | "SubagentStop" | "TaskCompleted" | "TaskCreated" | "TeammateIdle" | "UserPromptExpansion" | "UserPromptSubmit" | "WorktreeCreate" | "WorktreeRemove">;
|
|
73
|
-
export type ClaudeTopLevelBlockHookEventName = "UserPromptSubmit" | "UserPromptExpansion" | "PostToolUseFailure" | "PostToolBatch" | "Stop" | "SubagentStop" | "ConfigChange" | "PreCompact";
|
|
74
|
-
export type ClaudeContinueFalseHookEventName = "TeammateIdle" | "TaskCreated" | "TaskCompleted";
|
|
75
|
-
export type ClaudeHookResultFor<K extends ClaudeHookEventName> = K extends "PreToolUse" ? PreToolUseResult | undefined : K extends "PermissionRequest" ? PermissionRequestResult | undefined : K extends "PermissionDenied" ? PermissionDeniedResult | undefined : K extends "PostToolUse" ? PostToolUseResult | undefined : K extends ClaudeTopLevelBlockHookEventName ? TopLevelBlockResult | undefined : K extends ClaudeContinueFalseHookEventName ? ContinueFalseResult | undefined : K extends "Elicitation" | "ElicitationResult" ? ElicitationResult | undefined : K extends "WorktreeCreate" ? WorktreeCreateResult | undefined : K extends ClaudeContextHookEventName ? ContextResult | undefined : undefined;
|
|
76
|
-
export type ClaudeHookResultForEvent<Event extends ClaudeHookEventFor<ClaudeHookEventName>> = Event["hook_event_name"] extends "PreToolUse" ? PreToolUseResultFor<Event> | undefined : ClaudeHookResultFor<Event["hook_event_name"]>;
|
|
77
|
-
export type ClaudeHookResult = undefined | PreToolUseResult | TopLevelBlockResult | ContinueFalseResult | PermissionRequestResult | PermissionDeniedResult | ContextResult | PostToolUseResult | ElicitationResult | WorktreeCreateResult;
|
|
78
|
-
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/claude/hooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,6BAA6B,CAAC,KAAK,IAAI,KAAK,SAAS;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC;CAClC,GACG,OAAO,CAAC,KAAK,CAAC,GACd,KAAK,CAAC;AAEV,MAAM,MAAM,2BAA2B,CAAC,KAAK,IAAI;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IAChE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC7D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,CAChE,kBAAkB,CAAC,YAAY,CAAC,CACjC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAC9B,CAAC,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,GACpF;IAAE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3C,MAAM,MAAM,mBAAmB,CAAC,KAAK,IACjC,2BAA2B,CAAC,KAAK,CAAC,GAClC;IAAE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,6BAA6B,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC/F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,GAAG;IAC1F,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7F,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB;IACE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AACN,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,mBAAmB,EACjB,aAAa,GACb,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,aAAa,GACb,oBAAoB,GACpB,cAAc,GACd,kBAAkB,GAClB,mBAAmB,GACnB,aAAa,GACb,aAAa,GACb,oBAAoB,GACpB,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,MAAM,GACN,cAAc,GACd,eAAe,GACf,aAAa,GACb,cAAc,GACd,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,CACnB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GACxC,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,eAAe,GACf,MAAM,GACN,cAAc,GACd,cAAc,GACd,YAAY,CAAC;AAEjB,MAAM,MAAM,gCAAgC,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,CAAC;AAEhG,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,IAAI,CAAC,SAAS,YAAY,GACnF,gBAAgB,GAAG,SAAS,GAC5B,CAAC,SAAS,mBAAmB,GAC3B,uBAAuB,GAAG,SAAS,GACnC,CAAC,SAAS,kBAAkB,GAC1B,sBAAsB,GAAG,SAAS,GAClC,CAAC,SAAS,aAAa,GACrB,iBAAiB,GAAG,SAAS,GAC7B,CAAC,SAAS,gCAAgC,GACxC,mBAAmB,GAAG,SAAS,GAC/B,CAAC,SAAS,gCAAgC,GACxC,mBAAmB,GAAG,SAAS,GAC/B,CAAC,SAAS,aAAa,GAAG,mBAAmB,GAC3C,iBAAiB,GAAG,SAAS,GAC7B,CAAC,SAAS,gBAAgB,GACxB,oBAAoB,GAAG,SAAS,GAChC,CAAC,SAAS,0BAA0B,GAClC,aAAa,GAAG,SAAS,GACzB,SAAS,CAAC;AAE9B,MAAM,MAAM,wBAAwB,CAAC,KAAK,SAAS,kBAAkB,CAAC,mBAAmB,CAAC,IACxF,KAAK,CAAC,iBAAiB,CAAC,SAAS,YAAY,GACzC,mBAAmB,CAAC,KAAK,CAAC,GAAG,SAAS,GACtC,mBAAmB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,sBAAsB,GACtB,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,CAAC"}
|
package/dist/claude/hooks.js
DELETED
package/dist/claude/hooks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/claude/hooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EAML,oBAAoB,GACrB,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude session hook bridge factory seam.
|
|
3
|
-
* Implements PRD §6.2 and §13.
|
|
4
|
-
*/
|
|
5
|
-
import { HookBridgeServer } from "../bridge/server.ts";
|
|
6
|
-
import type { HookBridge } from "./session-instance.ts";
|
|
7
|
-
export type ClaudeHookBridgeFactory = (socketPath: string, token: string, elwoodSessionId: string, dispatch: ConstructorParameters<typeof HookBridgeServer>[2], onError: ConstructorParameters<typeof HookBridgeServer>[3]) => HookBridge;
|
|
8
|
-
export declare function currentClaudeHookBridgeFactory(): ClaudeHookBridgeFactory;
|
|
9
|
-
export declare function setHookBridgeFactoryForTests(next: ClaudeHookBridgeFactory): void;
|
|
10
|
-
export declare function resetClaudeHookBridgeFactoryForTests(): void;
|
|
11
|
-
//# sourceMappingURL=session-bridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-bridge.d.ts","sourceRoot":"","sources":["../../src/claude/session-bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,MAAM,uBAAuB,GAAG,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAC3D,OAAO,EAAE,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,KACvD,UAAU,CAAC;AAOhB,wBAAgB,8BAA8B,IAAI,uBAAuB,CAExE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAEhF;AAED,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude session hook bridge factory seam.
|
|
3
|
-
* Implements PRD §6.2 and §13.
|
|
4
|
-
*/
|
|
5
|
-
import { HookBridgeServer } from "../bridge/server.js";
|
|
6
|
-
import { isClaudeHookInput } from "./validate-input.js";
|
|
7
|
-
const realFactory = (socketPath, token, id, dispatch, onError) => new HookBridgeServer(socketPath, token, dispatch, onError, isClaudeHookInput, id);
|
|
8
|
-
let factory = realFactory;
|
|
9
|
-
export function currentClaudeHookBridgeFactory() {
|
|
10
|
-
return factory;
|
|
11
|
-
}
|
|
12
|
-
export function setHookBridgeFactoryForTests(next) {
|
|
13
|
-
factory = next;
|
|
14
|
-
}
|
|
15
|
-
export function resetClaudeHookBridgeFactoryForTests() {
|
|
16
|
-
factory = realFactory;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=session-bridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-bridge.js","sourceRoot":"","sources":["../../src/claude/session-bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAUxD,MAAM,WAAW,GAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CACxF,IAAI,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAEpF,IAAI,OAAO,GAAG,WAAW,CAAC;AAE1B,MAAM,UAAU,8BAA8B;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAA6B;IACxE,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oCAAoC;IAClD,OAAO,GAAG,WAAW,CAAC;AACxB,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { StartClaudeOptions } from "../core/types.ts";
|
|
2
|
-
import type { SessionRuntime } from "../state/runtime-paths.ts";
|
|
3
|
-
import { type SessionRecord } from "../state/store.ts";
|
|
4
|
-
import { type ClaudePreflightWarning } from "./preflight.ts";
|
|
5
|
-
import { ClaudeSessionImpl } from "./session-instance.ts";
|
|
6
|
-
export type BuildClaudeSessionInput = {
|
|
7
|
-
readonly record: SessionRecord;
|
|
8
|
-
readonly stateDir: string;
|
|
9
|
-
readonly runtime: SessionRuntime;
|
|
10
|
-
readonly options: StartClaudeOptions;
|
|
11
|
-
readonly resumed: boolean;
|
|
12
|
-
readonly preflightWarning: ClaudePreflightWarning | undefined;
|
|
13
|
-
};
|
|
14
|
-
export declare function buildClaudeSession(input: BuildClaudeSessionInput): Promise<ClaudeSessionImpl>;
|
|
15
|
-
//# sourceMappingURL=session-build.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-build.d.ts","sourceRoot":"","sources":["../../src/claude/session-build.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQ3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAsB,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,KAAK,sBAAsB,EAAkB,MAAM,gBAAgB,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY1D,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC/D,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAkJ5B"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
/** Builds a live ClaudeSessionApi from a record + runtime. Implements PRD §5, §6, §8, §9. */
|
|
2
|
-
import { defaultTerminalSize } from "../core/defaults.js";
|
|
3
|
-
import { causeDetails, elwoodError } from "../core/errors.js";
|
|
4
|
-
import { observeRenderedFrame } from "../core/rendered-observers.js";
|
|
5
|
-
import { createStartupWarningGate, deliverFrameWarnings } from "../core/startup-frame.js";
|
|
6
|
-
import { emitSettledStartupOutcomes } from "../core/startup-write.js";
|
|
7
|
-
import { TerminalReplayBuffer } from "../core/terminal-replay.js";
|
|
8
|
-
import { TypedEmitter } from "../events/emitter.js";
|
|
9
|
-
import { loadRuntimeLoopDefinitions as loadLoops } from "../runtime/loop-restore.js";
|
|
10
|
-
import { createReadinessGate } from "../runtime/session-readiness.js";
|
|
11
|
-
import { assertStartupThenRelease, createStartupBuffer } from "../runtime/startup-buffer.js";
|
|
12
|
-
import { cleanupStartupResources, guardStartupRegion } from "../runtime/startup-cleanup.js";
|
|
13
|
-
import { secureMkdir } from "../state/files.js";
|
|
14
|
-
import { writeSessionRecord } from "../state/store.js";
|
|
15
|
-
import { attachPtyTerminal } from "../terminal/headless.js";
|
|
16
|
-
import { preflightEvent } from "./preflight.js";
|
|
17
|
-
import { currentClaudeHookBridgeFactory } from "./session-bridge.js";
|
|
18
|
-
import { buildClaudeHookErrorHandler, buildClaudeHookHandler } from "./session-hook-handler.js";
|
|
19
|
-
import { ClaudeSessionImpl } from "./session-instance.js";
|
|
20
|
-
import { buildClaudeObservers, handleClaudeExit, registerInitialHooks, spawnClaudePty, writeRuntimeFiles, } from "./session-runtime.js";
|
|
21
|
-
import { createTranscriptWatcher, observeTranscript } from "./session-transcript.js";
|
|
22
|
-
import { ClaudeStartupPromptResponder } from "./startup-prompts.js";
|
|
23
|
-
import { CLAUDE_STARTUP_MIN_COLS } from "./startup-size.js";
|
|
24
|
-
export async function buildClaudeSession(input) {
|
|
25
|
-
const { record, stateDir, runtime, options, resumed, preflightWarning } = input;
|
|
26
|
-
secureMkdir(runtime.sessionDir);
|
|
27
|
-
writeSessionRecord(record, runtime.sessionDir);
|
|
28
|
-
const loopDefinitions = resumed ? loadLoops(stateDir, record.elwoodSessionId) : [];
|
|
29
|
-
writeRuntimeFiles(runtime, options);
|
|
30
|
-
const emitter = new TypedEmitter();
|
|
31
|
-
registerInitialHooks(emitter, options.hooks);
|
|
32
|
-
let session;
|
|
33
|
-
// ALL startup-region warnings — startup-prompt (frame path) AND transcript
|
|
34
|
-
// drop/read-error diagnostics — route through ONE gate that buffers anything emitted
|
|
35
|
-
// before startClaude resolves and flushes it on a deferred macrotask after return,
|
|
36
|
-
// so every source stays observable without late-subscriber replay (C-API-14).
|
|
37
|
-
const warnGate = createStartupWarningGate({
|
|
38
|
-
emitWarnings: (w) => deliverFrameWarnings(session, w),
|
|
39
|
-
});
|
|
40
|
-
const wired = createTranscriptWatcher(record.elwoodSessionId, emitter, () => warnGate);
|
|
41
|
-
const { watcher: transcriptWatcher, flushPendingWarnings, finishSafely } = wired;
|
|
42
|
-
// Initial readiness is hook-backed (`InstructionsLoaded` fires `mark`); the first
|
|
43
|
-
// frame arms a starvation deadline so a missing/failed hook cannot starve the queue,
|
|
44
|
-
// and on resume the first composer frame also marks ready (PRD §5.3, C-API-28).
|
|
45
|
-
const autotrust = options.autotrust ?? false;
|
|
46
|
-
// Observers are built BEFORE the readiness gate so its callback never closes
|
|
47
|
-
// over a binding declared later in this function.
|
|
48
|
-
const observers = buildClaudeObservers(record.elwoodSessionId, autotrust, emitter);
|
|
49
|
-
const turnWatcher = observers.turn;
|
|
50
|
-
const { ready, observeReadinessFrame } = createReadinessGate(() => {
|
|
51
|
-
turnWatcher.arm(resumed); // resume arms in settling mode (no phantom replay turn)
|
|
52
|
-
// completeInitialReady advances readiness in a finally, isolating restore/warning
|
|
53
|
-
// failures internally, so its promise never rejects (not awaited).
|
|
54
|
-
void session?.completeInitialReady();
|
|
55
|
-
}, resumed);
|
|
56
|
-
const bridge = currentClaudeHookBridgeFactory()(runtime.socketPath, runtime.bridgeToken, record.elwoodSessionId, buildClaudeHookHandler({
|
|
57
|
-
record,
|
|
58
|
-
options,
|
|
59
|
-
emitter,
|
|
60
|
-
transcriptWatcher,
|
|
61
|
-
ready,
|
|
62
|
-
getSession: () => session,
|
|
63
|
-
getTurnWatcher: () => turnWatcher,
|
|
64
|
-
observeHookTranscript: (event) => observeTranscript(transcriptWatcher, event),
|
|
65
|
-
}), buildClaudeHookErrorHandler(record, emitter));
|
|
66
|
-
try {
|
|
67
|
-
await bridge.start();
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
// Best-effort shut down a partially-started bridge so its listener/socket is not
|
|
71
|
-
// leaked; contained so the original bridge-start error is the one that rejects.
|
|
72
|
-
await bridge.stop().catch(() => undefined);
|
|
73
|
-
throw elwoodError("hook_bridge_failed", "Could not start Elwood hook bridge.", {
|
|
74
|
-
...causeDetails(error),
|
|
75
|
-
socketPath: runtime.socketPath,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
const requestedSize = options.initialSize ?? defaultTerminalSize;
|
|
79
|
-
const startupSize = {
|
|
80
|
-
...requestedSize,
|
|
81
|
-
cols: Math.max(requestedSize.cols, CLAUDE_STARTUP_MIN_COLS),
|
|
82
|
-
};
|
|
83
|
-
let pty;
|
|
84
|
-
try {
|
|
85
|
-
pty = spawnClaudePty(record, runtime.settingsPath, { ...options, initialSize: startupSize });
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
await cleanupStartupResources({ bridge });
|
|
89
|
-
throw error;
|
|
90
|
-
}
|
|
91
|
-
const startupOutput = createStartupBuffer();
|
|
92
|
-
let startupExit;
|
|
93
|
-
const terminalReplay = new TerminalReplayBuffer(record.elwoodSessionId);
|
|
94
|
-
terminalReplay.captureStartupAttention(emitter);
|
|
95
|
-
const promptResponder = new ClaudeStartupPromptResponder(autotrust);
|
|
96
|
-
let latestRenderedText = "";
|
|
97
|
-
const terminal = attachPtyTerminal(startupSize, pty, (data, renderedTerminal) => {
|
|
98
|
-
startupOutput.push(data);
|
|
99
|
-
terminalReplay.push(data);
|
|
100
|
-
latestRenderedText = renderedTerminal.snapshot().text;
|
|
101
|
-
const frame = { text: latestRenderedText, title: renderedTerminal.title };
|
|
102
|
-
// The write RETURNS its `sendInput` completion (no longer swallowed): the
|
|
103
|
-
// responder settles the prompt and its `startup_prompt` activity only after
|
|
104
|
-
// the write fulfills, and a rejected write stays retryable + warns (C-CLAUDE-16).
|
|
105
|
-
const autos = promptResponder.handle(frame.text, (input) => renderedTerminal.sendInput(input), () => latestRenderedText);
|
|
106
|
-
// Warning delivery is CONTAINED on the frame path: a throwing `warning`/`activity`
|
|
107
|
-
// listener must never skip readiness, login detection, or terminal:data (§5.7).
|
|
108
|
-
emitSettledStartupOutcomes(emitter, "claude", record.elwoodSessionId, autos, {
|
|
109
|
-
emitWarnings: (warnings) => warnGate.emitWarnings(warnings),
|
|
110
|
-
});
|
|
111
|
-
// Hook-backed readiness + deadline fallback; on resume the first composer also marks ready (C-API-28).
|
|
112
|
-
ready.armDeadline();
|
|
113
|
-
const reading = observeRenderedFrame(observers, frame, session);
|
|
114
|
-
observeReadinessFrame(reading.facts); // blocking gate + resume-composer mark
|
|
115
|
-
// Surface a mid-session login-expiry banner once (C-CLAUDE-18); no-op pre-readiness.
|
|
116
|
-
session?.noteLoginExpiry(frame.text);
|
|
117
|
-
emitter.emit("terminal:data", { elwoodSessionId: record.elwoodSessionId, data });
|
|
118
|
-
});
|
|
119
|
-
session = new ClaudeSessionImpl(record, stateDir, runtime, pty, terminal, bridge, emitter, terminalReplay, requestedSize, loopDefinitions);
|
|
120
|
-
const active = session;
|
|
121
|
-
const beforeCleanup = () => active.pauseLoopsForStartupCleanup(ready.cancel);
|
|
122
|
-
// Guard every live-resource step after session creation: a failure in any of them
|
|
123
|
-
// tears down the now-live PTY, bridge, terminal, and watcher first (PRD §9.1, §9.4).
|
|
124
|
-
await guardStartupRegion(async () => {
|
|
125
|
-
active.startLoops();
|
|
126
|
-
flushPendingWarnings(); // sink now exists: flush any early-buffered diagnostic (§5.7)
|
|
127
|
-
// A hook or deadline that fired before the session existed submitted nothing
|
|
128
|
-
// (evidence is `session?.`-guarded); replay it now the session can consume it.
|
|
129
|
-
ready.replay();
|
|
130
|
-
pty.onExit((exit) => {
|
|
131
|
-
startupExit = exit;
|
|
132
|
-
ready.cancel(); // No queued message can release after exit; drop the pending deadline.
|
|
133
|
-
handleClaudeExit(emitter, record.elwoodSessionId, exit, finishSafely, () => active.submitExit());
|
|
134
|
-
});
|
|
135
|
-
// Release the startup buffer once the check settles (§9.4).
|
|
136
|
-
await assertStartupThenRelease("claude", startupOutput, () => startupExit);
|
|
137
|
-
active.submitEvidence("startup_usable");
|
|
138
|
-
}, { before: beforeCleanup, pty, bridge, terminal, after: () => transcriptWatcher.stop() });
|
|
139
|
-
// Open buffered startup warnings after return so synchronous subscribers see them (C-API-14).
|
|
140
|
-
if (preflightWarning !== undefined) {
|
|
141
|
-
warnGate.emitWarnings([preflightEvent(record.elwoodSessionId, preflightWarning)]);
|
|
142
|
-
}
|
|
143
|
-
warnGate.openAfterReturn();
|
|
144
|
-
terminalReplay.releaseStartupAttentionAfterReturn();
|
|
145
|
-
return session;
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=session-build.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-build.js","sourceRoot":"","sources":["../../src/claude/session-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude hook-bridge message and error handlers that `session-build.ts` hands
|
|
3
|
-
* to the bridge factory. Implements PRD §5.3, §5.4, §6, and §8:
|
|
4
|
-
* normalize each hook, emit its `hook`/`activity` events, run the caller's hook
|
|
5
|
-
* with a bounded timeout, and drive readiness/turn state — initial readiness on
|
|
6
|
-
* `InstructionsLoaded` (C-API-28), turn-end on an unblocked `Stop` (C-CLAUDE-15).
|
|
7
|
-
*/
|
|
8
|
-
import type { BridgeProcessResult } from "../bridge/types.ts";
|
|
9
|
-
import type { TurnStateWatcher } from "../core/turn-state.ts";
|
|
10
|
-
import type { ClaudeEventMap, HookErrorEvent, StartClaudeOptions } from "../core/types.ts";
|
|
11
|
-
import type { TypedEmitter } from "../events/emitter.ts";
|
|
12
|
-
import type { InitialReady } from "../runtime/initial-ready.ts";
|
|
13
|
-
import type { SessionRecord } from "../state/store.ts";
|
|
14
|
-
import type { ClaudeHookEvent } from "./hooks.ts";
|
|
15
|
-
import type { ClaudeSessionImpl } from "./session-instance.ts";
|
|
16
|
-
/** The live pieces the Claude hook handler drives; `session`/`turnWatcher` are read
|
|
17
|
-
* lazily because both are assigned after the bridge is constructed. */
|
|
18
|
-
export type ClaudeHookHandlerDeps = {
|
|
19
|
-
readonly record: SessionRecord;
|
|
20
|
-
readonly options: StartClaudeOptions;
|
|
21
|
-
readonly emitter: TypedEmitter<ClaudeEventMap>;
|
|
22
|
-
readonly transcriptWatcher: {
|
|
23
|
-
readonly scan: () => void;
|
|
24
|
-
};
|
|
25
|
-
readonly ready: InitialReady;
|
|
26
|
-
readonly getSession: () => ClaudeSessionImpl | undefined;
|
|
27
|
-
readonly getTurnWatcher: () => TurnStateWatcher;
|
|
28
|
-
readonly observeHookTranscript: (event: ClaudeHookEvent) => void;
|
|
29
|
-
};
|
|
30
|
-
/** Builds the async hook-message handler passed to the Claude hook bridge factory. */
|
|
31
|
-
export declare function buildClaudeHookHandler(deps: ClaudeHookHandlerDeps): (input: unknown) => Promise<BridgeProcessResult>;
|
|
32
|
-
/** Builds the hook-error handler passed to the Claude hook bridge factory. */
|
|
33
|
-
export declare function buildClaudeHookErrorHandler(record: SessionRecord, emitter: TypedEmitter<ClaudeEventMap>): (event: Omit<HookErrorEvent, "elwoodSessionId">) => void;
|
|
34
|
-
//# sourceMappingURL=session-hook-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-hook-handler.d.ts","sourceRoot":"","sources":["../../src/claude/session-hook-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;uEACuE;AACvE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,iBAAiB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,MAAM,gBAAgB,CAAC;IAChD,QAAQ,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAClE,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,qBAAqB,GAC1B,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAiClD;AAED,8EAA8E;AAC9E,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,GACpC,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,KAAK,IAAI,CAM1D"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Claude hook-bridge message and error handlers that `session-build.ts` hands
|
|
3
|
-
* to the bridge factory. Implements PRD §5.3, §5.4, §6, and §8:
|
|
4
|
-
* normalize each hook, emit its `hook`/`activity` events, run the caller's hook
|
|
5
|
-
* with a bounded timeout, and drive readiness/turn state — initial readiness on
|
|
6
|
-
* `InstructionsLoaded` (C-API-28), turn-end on an unblocked `Stop` (C-CLAUDE-15).
|
|
7
|
-
*/
|
|
8
|
-
import * as activity from "../core/activity.js";
|
|
9
|
-
import { isBlock, requestHook } from "./hook-dispatch.js";
|
|
10
|
-
import { normalizeClaudeHookEvent } from "./normalize.js";
|
|
11
|
-
import { serializeHookResult } from "./serialize.js";
|
|
12
|
-
/** Builds the async hook-message handler passed to the Claude hook bridge factory. */
|
|
13
|
-
export function buildClaudeHookHandler(deps) {
|
|
14
|
-
const { record, options, emitter, transcriptWatcher, ready } = deps;
|
|
15
|
-
return async (input) => {
|
|
16
|
-
const event = normalizeClaudeHookEvent(input);
|
|
17
|
-
if (event.hook_event_name === "SessionStart")
|
|
18
|
-
deps.getSession()?.rememberClaudeSessionId(event.session_id);
|
|
19
|
-
deps.observeHookTranscript(event);
|
|
20
|
-
emitter.emit("hook", event);
|
|
21
|
-
emitter.emit("activity", activity.activityFromClaudeHook(record.elwoodSessionId, event));
|
|
22
|
-
const outcome = await requestHook(emitter, event, options.hookTimeoutMs ?? 25_000, record.elwoodSessionId);
|
|
23
|
-
emitter.emit("activity", activity.activityFromHookResult("claude", record.elwoodSessionId, event.hook_event_name, outcome.result, outcome.failedOpen));
|
|
24
|
-
if (event.hook_event_name === "InstructionsLoaded")
|
|
25
|
-
ready.mark();
|
|
26
|
-
if (event.hook_event_name === "Stop" && !isBlock(outcome.result)) {
|
|
27
|
-
transcriptWatcher.scan(); // Committed turn is on disk; read it now (C-CLAUDE-15).
|
|
28
|
-
deps.getTurnWatcher().arm();
|
|
29
|
-
deps.getSession()?.submitEvidence("hook_turn_ended");
|
|
30
|
-
}
|
|
31
|
-
return serializeHookResult(event.hook_event_name, outcome.result);
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/** Builds the hook-error handler passed to the Claude hook bridge factory. */
|
|
35
|
-
export function buildClaudeHookErrorHandler(record, emitter) {
|
|
36
|
-
return (event) => {
|
|
37
|
-
const hookError = { elwoodSessionId: record.elwoodSessionId, ...event };
|
|
38
|
-
emitter.emit("hookError", hookError);
|
|
39
|
-
emitter.emit("activity", activity.activityFromHookError("claude", hookError));
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=session-hook-handler.js.map
|