@with-logic/elwood 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +166 -1
- package/LICENSE +1 -1
- package/README.md +276 -13
- package/dist/claude/command.d.ts +9 -2
- package/dist/claude/command.d.ts.map +1 -1
- package/dist/claude/command.js +23 -16
- package/dist/claude/command.js.map +1 -1
- package/dist/claude/session/index.d.ts.map +1 -1
- package/dist/claude/session/index.js +5 -2
- package/dist/claude/session/index.js.map +1 -1
- package/dist/claude/session/resume.d.ts +1 -1
- package/dist/claude/session/resume.d.ts.map +1 -1
- package/dist/claude/session/resume.js +5 -1
- package/dist/claude/session/resume.js.map +1 -1
- package/dist/claude/simple.d.ts.map +1 -1
- package/dist/claude/simple.js +4 -0
- package/dist/claude/simple.js.map +1 -1
- package/dist/cli/args/index.d.ts +3 -1
- package/dist/cli/args/index.d.ts.map +1 -1
- package/dist/cli/args/index.js +10 -2
- package/dist/cli/args/index.js.map +1 -1
- package/dist/cli/args/options.d.ts.map +1 -1
- package/dist/cli/args/options.js +2 -0
- package/dist/cli/args/options.js.map +1 -1
- package/dist/cli/args-commands.d.ts +10 -0
- package/dist/cli/args-commands.d.ts.map +1 -0
- package/dist/cli/args-commands.js +113 -0
- package/dist/cli/args-commands.js.map +1 -0
- package/dist/cli/command-types.d.ts +26 -0
- package/dist/cli/command-types.d.ts.map +1 -0
- package/dist/cli/command-types.js +9 -0
- package/dist/cli/command-types.js.map +1 -0
- package/dist/cli/config/codec-primitives.d.ts +20 -0
- package/dist/cli/config/codec-primitives.d.ts.map +1 -0
- package/dist/cli/config/codec-primitives.js +51 -0
- package/dist/cli/config/codec-primitives.js.map +1 -0
- package/dist/cli/config/codec.d.ts.map +1 -1
- package/dist/cli/config/codec.js +4 -46
- package/dist/cli/config/codec.js.map +1 -1
- package/dist/cli/config/effective.d.ts.map +1 -1
- package/dist/cli/config/effective.js +1 -0
- package/dist/cli/config/effective.js.map +1 -1
- package/dist/cli/config/keys.d.ts +1 -1
- package/dist/cli/config/keys.d.ts.map +1 -1
- package/dist/cli/config/keys.js +1 -0
- package/dist/cli/config/keys.js.map +1 -1
- package/dist/cli/entry.d.ts +4 -2
- package/dist/cli/entry.d.ts.map +1 -1
- package/dist/cli/entry.js +2 -1
- package/dist/cli/entry.js.map +1 -1
- package/dist/cli/help.d.ts +2 -2
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +40 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/interactive/index.d.ts +26 -0
- package/dist/cli/interactive/index.d.ts.map +1 -0
- package/dist/cli/interactive/index.js +33 -0
- package/dist/cli/interactive/index.js.map +1 -0
- package/dist/cli/interactive/launch.d.ts +14 -0
- package/dist/cli/interactive/launch.d.ts.map +1 -0
- package/dist/cli/interactive/launch.js +66 -0
- package/dist/cli/interactive/launch.js.map +1 -0
- package/dist/cli/interactive/spawn.d.ts +18 -0
- package/dist/cli/interactive/spawn.d.ts.map +1 -0
- package/dist/cli/interactive/spawn.js +32 -0
- package/dist/cli/interactive/spawn.js.map +1 -0
- package/dist/cli/main-failure.d.ts +28 -0
- package/dist/cli/main-failure.d.ts.map +1 -0
- package/dist/cli/main-failure.js +78 -0
- package/dist/cli/main-failure.js.map +1 -0
- package/dist/cli/main.d.ts +12 -4
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +27 -73
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/models/index.d.ts +20 -0
- package/dist/cli/models/index.d.ts.map +1 -0
- package/dist/cli/models/index.js +60 -0
- package/dist/cli/models/index.js.map +1 -0
- package/dist/cli/models/render.d.ts +9 -0
- package/dist/cli/models/render.d.ts.map +1 -0
- package/dist/cli/models/render.js +33 -0
- package/dist/cli/models/render.js.map +1 -0
- package/dist/cli/request/index.d.ts.map +1 -1
- package/dist/cli/request/index.js +8 -2
- package/dist/cli/request/index.js.map +1 -1
- package/dist/cli/request/posture.d.ts +28 -0
- package/dist/cli/request/posture.d.ts.map +1 -0
- package/dist/cli/request/posture.js +70 -0
- package/dist/cli/request/posture.js.map +1 -0
- package/dist/cli/request/resolution-types.d.ts +1 -0
- package/dist/cli/request/resolution-types.d.ts.map +1 -1
- package/dist/cli/request/settings.d.ts +2 -12
- package/dist/cli/request/settings.d.ts.map +1 -1
- package/dist/cli/request/settings.js +2 -25
- package/dist/cli/request/settings.js.map +1 -1
- package/dist/cli/request/validation.d.ts +12 -0
- package/dist/cli/request/validation.d.ts.map +1 -1
- package/dist/cli/request/validation.js +30 -10
- package/dist/cli/request/validation.js.map +1 -1
- package/dist/cli/request/values.d.ts +1 -0
- package/dist/cli/request/values.d.ts.map +1 -1
- package/dist/cli/request/values.js +1 -0
- package/dist/cli/request/values.js.map +1 -1
- package/dist/cli/run/index.d.ts.map +1 -1
- package/dist/cli/run/index.js +5 -41
- package/dist/cli/run/index.js.map +1 -1
- package/dist/cli/run/subscribe.d.ts +19 -0
- package/dist/cli/run/subscribe.d.ts.map +1 -0
- package/dist/cli/run/subscribe.js +47 -0
- package/dist/cli/run/subscribe.js.map +1 -0
- package/dist/cli/session/launch.d.ts +3 -0
- package/dist/cli/session/launch.d.ts.map +1 -1
- package/dist/cli/session/launch.js +11 -0
- package/dist/cli/session/launch.js.map +1 -1
- package/dist/cli/sessions/index.d.ts +23 -0
- package/dist/cli/sessions/index.d.ts.map +1 -0
- package/dist/cli/sessions/index.js +65 -0
- package/dist/cli/sessions/index.js.map +1 -0
- package/dist/cli/sessions/list.d.ts +28 -0
- package/dist/cli/sessions/list.d.ts.map +1 -0
- package/dist/cli/sessions/list.js +63 -0
- package/dist/cli/sessions/list.js.map +1 -0
- package/dist/cli/table.d.ts +7 -0
- package/dist/cli/table.d.ts.map +1 -0
- package/dist/cli/table.js +14 -0
- package/dist/cli/table.js.map +1 -0
- package/dist/cli/types.d.ts +5 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/codex/command.d.ts +18 -2
- package/dist/codex/command.d.ts.map +1 -1
- package/dist/codex/command.js +39 -24
- package/dist/codex/command.js.map +1 -1
- package/dist/codex/session/index.d.ts.map +1 -1
- package/dist/codex/session/index.js +5 -2
- package/dist/codex/session/index.js.map +1 -1
- package/dist/codex/session/resume.d.ts +1 -1
- package/dist/codex/session/resume.d.ts.map +1 -1
- package/dist/codex/session/resume.js +5 -1
- package/dist/codex/session/resume.js.map +1 -1
- package/dist/codex/session/types.d.ts +3 -0
- package/dist/codex/session/types.d.ts.map +1 -1
- package/dist/codex/simple.d.ts.map +1 -1
- package/dist/codex/simple.js +4 -0
- package/dist/codex/simple.js.map +1 -1
- package/dist/core/errors.d.ts +1 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/core/high-trust.d.ts +41 -0
- package/dist/core/high-trust.d.ts.map +1 -0
- package/dist/core/high-trust.js +50 -0
- package/dist/core/high-trust.js.map +1 -0
- package/dist/core/trust/allowlist.d.ts +56 -0
- package/dist/core/trust/allowlist.d.ts.map +1 -0
- package/dist/core/{trust-prompts.js → trust/allowlist.js} +21 -38
- package/dist/core/trust/allowlist.js.map +1 -0
- package/dist/core/trust/prompts.d.ts +4 -46
- package/dist/core/trust/prompts.d.ts.map +1 -1
- package/dist/core/trust/prompts.js +2 -73
- package/dist/core/trust/prompts.js.map +1 -1
- package/dist/core/trust/responder.d.ts +2 -0
- package/dist/core/trust/responder.d.ts.map +1 -1
- package/dist/core/trust/responder.js +4 -0
- package/dist/core/trust/responder.js.map +1 -1
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/runtime/launch-arguments.d.ts +12 -0
- package/dist/runtime/launch-arguments.d.ts.map +1 -0
- package/dist/runtime/launch-arguments.js +15 -0
- package/dist/runtime/launch-arguments.js.map +1 -0
- package/docs/cli-behavior.md +88 -0
- package/docs/cli-output.md +60 -0
- package/docs/cli.md +10 -2
- package/package.json +8 -6
- package/dist/claude/hook-dispatch.d.ts +0 -9
- package/dist/claude/hook-dispatch.d.ts.map +0 -1
- package/dist/claude/hook-dispatch.js +0 -12
- package/dist/claude/hook-dispatch.js.map +0 -1
- package/dist/claude/hook-events-extra.d.ts +0 -81
- package/dist/claude/hook-events-extra.d.ts.map +0 -1
- package/dist/claude/hook-events-extra.js +0 -6
- package/dist/claude/hook-events-extra.js.map +0 -1
- package/dist/claude/hook-events.d.ts +0 -101
- package/dist/claude/hook-events.d.ts.map +0 -1
- package/dist/claude/hook-events.js +0 -6
- package/dist/claude/hook-events.js.map +0 -1
- package/dist/claude/hook-names.d.ts +0 -24
- package/dist/claude/hook-names.d.ts.map +0 -1
- package/dist/claude/hook-names.js +0 -45
- package/dist/claude/hook-names.js.map +0 -1
- package/dist/claude/hooks.d.ts +0 -78
- package/dist/claude/hooks.d.ts.map +0 -1
- package/dist/claude/hooks.js +0 -6
- package/dist/claude/hooks.js.map +0 -1
- package/dist/claude/session-bridge.d.ts +0 -11
- package/dist/claude/session-bridge.d.ts.map +0 -1
- package/dist/claude/session-bridge.js +0 -18
- package/dist/claude/session-bridge.js.map +0 -1
- package/dist/claude/session-build.d.ts +0 -15
- package/dist/claude/session-build.d.ts.map +0 -1
- package/dist/claude/session-build.js +0 -147
- package/dist/claude/session-build.js.map +0 -1
- package/dist/claude/session-hook-handler.d.ts +0 -34
- package/dist/claude/session-hook-handler.d.ts.map +0 -1
- package/dist/claude/session-hook-handler.js +0 -42
- package/dist/claude/session-hook-handler.js.map +0 -1
- package/dist/claude/session-instance.d.ts +0 -42
- package/dist/claude/session-instance.d.ts.map +0 -1
- package/dist/claude/session-instance.js +0 -146
- package/dist/claude/session-instance.js.map +0 -1
- package/dist/claude/session-interface.d.ts +0 -49
- package/dist/claude/session-interface.d.ts.map +0 -1
- package/dist/claude/session-interface.js +0 -10
- package/dist/claude/session-interface.js.map +0 -1
- package/dist/claude/session-resume.d.ts +0 -8
- package/dist/claude/session-resume.d.ts.map +0 -1
- package/dist/claude/session-resume.js +0 -47
- package/dist/claude/session-resume.js.map +0 -1
- package/dist/claude/session-runtime.d.ts +0 -43
- package/dist/claude/session-runtime.d.ts.map +0 -1
- package/dist/claude/session-runtime.js +0 -105
- package/dist/claude/session-runtime.js.map +0 -1
- package/dist/claude/session-transcript.d.ts +0 -62
- package/dist/claude/session-transcript.d.ts.map +0 -1
- package/dist/claude/session-transcript.js +0 -88
- package/dist/claude/session-transcript.js.map +0 -1
- package/dist/claude/session.d.ts +0 -18
- package/dist/claude/session.d.ts.map +0 -1
- package/dist/claude/session.js +0 -58
- package/dist/claude/session.js.map +0 -1
- package/dist/claude/start-or-resume.d.ts +0 -12
- package/dist/claude/start-or-resume.d.ts.map +0 -1
- package/dist/claude/start-or-resume.js +0 -32
- package/dist/claude/start-or-resume.js.map +0 -1
- package/dist/claude/tool-hook-events.d.ts +0 -10
- package/dist/claude/tool-hook-events.d.ts.map +0 -1
- package/dist/claude/tool-hook-events.js +0 -18
- package/dist/claude/tool-hook-events.js.map +0 -1
- package/dist/claude/tool-types.d.ts +0 -158
- package/dist/claude/tool-types.d.ts.map +0 -1
- package/dist/claude/tool-types.js +0 -6
- package/dist/claude/tool-types.js.map +0 -1
- package/dist/claude/validate-input.d.ts +0 -8
- package/dist/claude/validate-input.d.ts.map +0 -1
- package/dist/claude/validate-input.js +0 -137
- package/dist/claude/validate-input.js.map +0 -1
- package/dist/claude/validate-permission-update.d.ts +0 -10
- package/dist/claude/validate-permission-update.d.ts.map +0 -1
- package/dist/claude/validate-permission-update.js +0 -72
- package/dist/claude/validate-permission-update.js.map +0 -1
- package/dist/claude/validate-result.d.ts +0 -7
- package/dist/claude/validate-result.d.ts.map +0 -1
- package/dist/claude/validate-result.js +0 -118
- package/dist/claude/validate-result.js.map +0 -1
- package/dist/claude/validate-shapes.d.ts +0 -22
- package/dist/claude/validate-shapes.d.ts.map +0 -1
- package/dist/claude/validate-shapes.js +0 -15
- package/dist/claude/validate-shapes.js.map +0 -1
- package/dist/claude/validate-tool-update.d.ts +0 -15
- package/dist/claude/validate-tool-update.d.ts.map +0 -1
- package/dist/claude/validate-tool-update.js +0 -122
- package/dist/claude/validate-tool-update.js.map +0 -1
- package/dist/cli/agent-detect.d.ts +0 -44
- package/dist/cli/agent-detect.d.ts.map +0 -1
- package/dist/cli/agent-detect.js +0 -66
- package/dist/cli/agent-detect.js.map +0 -1
- package/dist/cli/arg-errors.d.ts +0 -6
- package/dist/cli/arg-errors.d.ts.map +0 -1
- package/dist/cli/arg-errors.js +0 -44
- package/dist/cli/arg-errors.js.map +0 -1
- package/dist/cli/arg-options.d.ts +0 -26
- package/dist/cli/arg-options.d.ts.map +0 -1
- package/dist/cli/arg-options.js +0 -50
- package/dist/cli/arg-options.js.map +0 -1
- package/dist/cli/args.d.ts +0 -7
- package/dist/cli/args.d.ts.map +0 -1
- package/dist/cli/args.js +0 -70
- package/dist/cli/args.js.map +0 -1
- package/dist/cli/lifecycle-outcome.d.ts +0 -13
- package/dist/cli/lifecycle-outcome.d.ts.map +0 -1
- package/dist/cli/lifecycle-outcome.js +0 -20
- package/dist/cli/lifecycle-outcome.js.map +0 -1
- package/dist/cli/lifecycle.d.ts +0 -61
- package/dist/cli/lifecycle.d.ts.map +0 -1
- package/dist/cli/lifecycle.js +0 -152
- package/dist/cli/lifecycle.js.map +0 -1
- package/dist/cli/request-finalize.d.ts +0 -10
- package/dist/cli/request-finalize.d.ts.map +0 -1
- package/dist/cli/request-finalize.js +0 -135
- package/dist/cli/request-finalize.js.map +0 -1
- package/dist/cli/request-layers.d.ts +0 -30
- package/dist/cli/request-layers.d.ts.map +0 -1
- package/dist/cli/request-layers.js +0 -44
- package/dist/cli/request-layers.js.map +0 -1
- package/dist/cli/request-settings.d.ts +0 -34
- package/dist/cli/request-settings.d.ts.map +0 -1
- package/dist/cli/request-settings.js +0 -66
- package/dist/cli/request-settings.js.map +0 -1
- package/dist/cli/request-sources.d.ts +0 -13
- package/dist/cli/request-sources.d.ts.map +0 -1
- package/dist/cli/request-sources.js +0 -23
- package/dist/cli/request-sources.js.map +0 -1
- package/dist/cli/request-validation.d.ts +0 -18
- package/dist/cli/request-validation.d.ts.map +0 -1
- package/dist/cli/request-validation.js +0 -84
- package/dist/cli/request-validation.js.map +0 -1
- package/dist/cli/request-values.d.ts +0 -33
- package/dist/cli/request-values.d.ts.map +0 -1
- package/dist/cli/request-values.js +0 -73
- package/dist/cli/request-values.js.map +0 -1
- package/dist/cli/request.d.ts +0 -12
- package/dist/cli/request.d.ts.map +0 -1
- package/dist/cli/request.js +0 -103
- package/dist/cli/request.js.map +0 -1
- package/dist/cli/resolution-types.d.ts +0 -35
- package/dist/cli/resolution-types.d.ts.map +0 -1
- package/dist/cli/resolution-types.js +0 -6
- package/dist/cli/resolution-types.js.map +0 -1
- package/dist/cli/run-output-lines.d.ts +0 -14
- package/dist/cli/run-output-lines.d.ts.map +0 -1
- package/dist/cli/run-output-lines.js +0 -42
- package/dist/cli/run-output-lines.js.map +0 -1
- package/dist/cli/run-output.d.ts +0 -48
- package/dist/cli/run-output.d.ts.map +0 -1
- package/dist/cli/run-output.js +0 -150
- package/dist/cli/run-output.js.map +0 -1
- package/dist/cli/run.d.ts +0 -20
- package/dist/cli/run.d.ts.map +0 -1
- package/dist/cli/run.js +0 -126
- package/dist/cli/run.js.map +0 -1
- package/dist/cli/session-launch.d.ts +0 -23
- package/dist/cli/session-launch.d.ts.map +0 -1
- package/dist/cli/session-launch.js +0 -57
- package/dist/cli/session-launch.js.map +0 -1
- package/dist/cli/session.d.ts +0 -68
- package/dist/cli/session.d.ts.map +0 -1
- package/dist/cli/session.js +0 -124
- package/dist/cli/session.js.map +0 -1
- package/dist/codex/attach-images.d.ts +0 -20
- package/dist/codex/attach-images.d.ts.map +0 -1
- package/dist/codex/attach-images.js +0 -66
- package/dist/codex/attach-images.js.map +0 -1
- package/dist/codex/clipboard-lock.d.ts +0 -15
- package/dist/codex/clipboard-lock.d.ts.map +0 -1
- package/dist/codex/clipboard-lock.js +0 -16
- package/dist/codex/clipboard-lock.js.map +0 -1
- package/dist/codex/clipboard.d.ts +0 -32
- package/dist/codex/clipboard.d.ts.map +0 -1
- package/dist/codex/clipboard.js +0 -92
- package/dist/codex/clipboard.js.map +0 -1
- package/dist/codex/config-lock.d.ts +0 -21
- package/dist/codex/config-lock.d.ts.map +0 -1
- package/dist/codex/config-lock.js +0 -22
- package/dist/codex/config-lock.js.map +0 -1
- package/dist/codex/config-restore.d.ts +0 -33
- package/dist/codex/config-restore.d.ts.map +0 -1
- package/dist/codex/config-restore.js +0 -90
- package/dist/codex/config-restore.js.map +0 -1
- package/dist/codex/config-transaction.d.ts +0 -26
- package/dist/codex/config-transaction.d.ts.map +0 -1
- package/dist/codex/config-transaction.js +0 -47
- package/dist/codex/config-transaction.js.map +0 -1
- package/dist/codex/hook-dispatch.d.ts +0 -9
- package/dist/codex/hook-dispatch.d.ts.map +0 -1
- package/dist/codex/hook-dispatch.js +0 -14
- package/dist/codex/hook-dispatch.js.map +0 -1
- package/dist/codex/hook-names.d.ts +0 -19
- package/dist/codex/hook-names.d.ts.map +0 -1
- package/dist/codex/hook-names.js +0 -17
- package/dist/codex/hook-names.js.map +0 -1
- package/dist/codex/hooks.d.ts +0 -99
- package/dist/codex/hooks.d.ts.map +0 -1
- package/dist/codex/hooks.js +0 -6
- package/dist/codex/hooks.js.map +0 -1
- package/dist/codex/initial-ready.d.ts +0 -19
- package/dist/codex/initial-ready.d.ts.map +0 -1
- package/dist/codex/initial-ready.js +0 -19
- package/dist/codex/initial-ready.js.map +0 -1
- package/dist/codex/serialize.d.ts +0 -8
- package/dist/codex/serialize.d.ts.map +0 -1
- package/dist/codex/serialize.js +0 -48
- package/dist/codex/serialize.js.map +0 -1
- package/dist/codex/session-bridge.d.ts +0 -14
- package/dist/codex/session-bridge.d.ts.map +0 -1
- package/dist/codex/session-bridge.js +0 -20
- package/dist/codex/session-bridge.js.map +0 -1
- package/dist/codex/session-build.d.ts +0 -15
- package/dist/codex/session-build.d.ts.map +0 -1
- package/dist/codex/session-build.js +0 -144
- package/dist/codex/session-build.js.map +0 -1
- package/dist/codex/session-cleanup.d.ts +0 -12
- package/dist/codex/session-cleanup.d.ts.map +0 -1
- package/dist/codex/session-cleanup.js +0 -15
- package/dist/codex/session-cleanup.js.map +0 -1
- package/dist/codex/session-hooks.d.ts +0 -13
- package/dist/codex/session-hooks.d.ts.map +0 -1
- package/dist/codex/session-hooks.js +0 -54
- package/dist/codex/session-hooks.js.map +0 -1
- package/dist/codex/session-instance.d.ts +0 -50
- package/dist/codex/session-instance.d.ts.map +0 -1
- package/dist/codex/session-instance.js +0 -117
- package/dist/codex/session-instance.js.map +0 -1
- package/dist/codex/session-resume.d.ts +0 -7
- package/dist/codex/session-resume.d.ts.map +0 -1
- package/dist/codex/session-resume.js +0 -44
- package/dist/codex/session-resume.js.map +0 -1
- package/dist/codex/session-runtime.d.ts +0 -7
- package/dist/codex/session-runtime.d.ts.map +0 -1
- package/dist/codex/session-runtime.js +0 -10
- package/dist/codex/session-runtime.js.map +0 -1
- package/dist/codex/session-transcript.d.ts +0 -30
- package/dist/codex/session-transcript.d.ts.map +0 -1
- package/dist/codex/session-transcript.js +0 -53
- package/dist/codex/session-transcript.js.map +0 -1
- package/dist/codex/session-types.d.ts +0 -87
- package/dist/codex/session-types.d.ts.map +0 -1
- package/dist/codex/session-types.js +0 -6
- package/dist/codex/session-types.js.map +0 -1
- package/dist/codex/session-warnings.d.ts +0 -27
- package/dist/codex/session-warnings.d.ts.map +0 -1
- package/dist/codex/session-warnings.js +0 -54
- package/dist/codex/session-warnings.js.map +0 -1
- package/dist/codex/session.d.ts +0 -16
- package/dist/codex/session.d.ts.map +0 -1
- package/dist/codex/session.js +0 -61
- package/dist/codex/session.js.map +0 -1
- package/dist/codex/start-or-resume.d.ts +0 -12
- package/dist/codex/start-or-resume.d.ts.map +0 -1
- package/dist/codex/start-or-resume.js +0 -31
- package/dist/codex/start-or-resume.js.map +0 -1
- package/dist/codex/transcript/cursor-io.d.ts +0 -7
- package/dist/codex/transcript/cursor-io.d.ts.map +0 -1
- package/dist/codex/transcript/cursor-io.js +0 -7
- package/dist/codex/transcript/cursor-io.js.map +0 -1
- package/dist/codex/transcript/cursor.d.ts +0 -8
- package/dist/codex/transcript/cursor.d.ts.map +0 -1
- package/dist/codex/transcript/cursor.js +0 -8
- package/dist/codex/transcript/cursor.js.map +0 -1
- package/dist/codex/transcript/drops.d.ts +0 -9
- package/dist/codex/transcript/drops.d.ts.map +0 -1
- package/dist/codex/transcript/drops.js +0 -9
- package/dist/codex/transcript/drops.js.map +0 -1
- package/dist/codex/transcript.d.ts +0 -12
- package/dist/codex/transcript.d.ts.map +0 -1
- package/dist/codex/transcript.js +0 -10
- package/dist/codex/transcript.js.map +0 -1
- package/dist/codex/validate-result.d.ts +0 -7
- package/dist/codex/validate-result.d.ts.map +0 -1
- package/dist/codex/validate-result.js +0 -84
- package/dist/codex/validate-result.js.map +0 -1
- package/dist/codex/validate.d.ts +0 -11
- package/dist/codex/validate.d.ts.map +0 -1
- package/dist/codex/validate.js +0 -88
- package/dist/codex/validate.js.map +0 -1
- package/dist/core/activity-lifecycle.d.ts +0 -21
- package/dist/core/activity-lifecycle.d.ts.map +0 -1
- package/dist/core/activity-lifecycle.js +0 -45
- package/dist/core/activity-lifecycle.js.map +0 -1
- package/dist/core/activity-meta.d.ts +0 -13
- package/dist/core/activity-meta.d.ts.map +0 -1
- package/dist/core/activity-meta.js +0 -67
- package/dist/core/activity-meta.js.map +0 -1
- package/dist/core/activity-transcript.d.ts +0 -19
- package/dist/core/activity-transcript.d.ts.map +0 -1
- package/dist/core/activity-transcript.js +0 -60
- package/dist/core/activity-transcript.js.map +0 -1
- package/dist/core/activity.d.ts +0 -51
- package/dist/core/activity.d.ts.map +0 -1
- package/dist/core/activity.js +0 -81
- package/dist/core/activity.js.map +0 -1
- package/dist/core/control-queue-state.d.ts +0 -29
- package/dist/core/control-queue-state.d.ts.map +0 -1
- package/dist/core/control-queue-state.js +0 -95
- package/dist/core/control-queue-state.js.map +0 -1
- package/dist/core/control-queue-traits.d.ts +0 -54
- package/dist/core/control-queue-traits.d.ts.map +0 -1
- package/dist/core/control-queue-traits.js +0 -118
- package/dist/core/control-queue-traits.js.map +0 -1
- package/dist/core/control-queue-types.d.ts +0 -45
- package/dist/core/control-queue-types.d.ts.map +0 -1
- package/dist/core/control-queue-types.js +0 -7
- package/dist/core/control-queue-types.js.map +0 -1
- package/dist/core/control-queue.d.ts +0 -21
- package/dist/core/control-queue.d.ts.map +0 -1
- package/dist/core/control-queue.js +0 -98
- package/dist/core/control-queue.js.map +0 -1
- package/dist/core/list-models.d.ts +0 -44
- package/dist/core/list-models.d.ts.map +0 -1
- package/dist/core/list-models.js +0 -73
- package/dist/core/list-models.js.map +0 -1
- package/dist/core/model-picker.d.ts +0 -22
- package/dist/core/model-picker.d.ts.map +0 -1
- package/dist/core/model-picker.js +0 -58
- package/dist/core/model-picker.js.map +0 -1
- package/dist/core/model-rows.d.ts +0 -21
- package/dist/core/model-rows.d.ts.map +0 -1
- package/dist/core/model-rows.js +0 -57
- package/dist/core/model-rows.js.map +0 -1
- package/dist/core/probe-state.d.ts +0 -21
- package/dist/core/probe-state.d.ts.map +0 -1
- package/dist/core/probe-state.js +0 -39
- package/dist/core/probe-state.js.map +0 -1
- package/dist/core/session-input-abort.d.ts +0 -10
- package/dist/core/session-input-abort.d.ts.map +0 -1
- package/dist/core/session-input-abort.js +0 -44
- package/dist/core/session-input-abort.js.map +0 -1
- package/dist/core/session-input.d.ts +0 -37
- package/dist/core/session-input.d.ts.map +0 -1
- package/dist/core/session-input.js +0 -154
- package/dist/core/session-input.js.map +0 -1
- package/dist/core/session-warnings.d.ts +0 -20
- package/dist/core/session-warnings.d.ts.map +0 -1
- package/dist/core/session-warnings.js +0 -32
- package/dist/core/session-warnings.js.map +0 -1
- package/dist/core/simple/loop-controls.d.ts +0 -7
- package/dist/core/simple/loop-controls.d.ts.map +0 -1
- package/dist/core/simple/loop-controls.js +0 -7
- package/dist/core/simple/loop-controls.js.map +0 -1
- package/dist/core/startup-automation.d.ts +0 -54
- package/dist/core/startup-automation.d.ts.map +0 -1
- package/dist/core/startup-automation.js +0 -40
- package/dist/core/startup-automation.js.map +0 -1
- package/dist/core/startup-frame.d.ts +0 -39
- package/dist/core/startup-frame.d.ts.map +0 -1
- package/dist/core/startup-frame.js +0 -60
- package/dist/core/startup-frame.js.map +0 -1
- package/dist/core/startup-write.d.ts +0 -47
- package/dist/core/startup-write.d.ts.map +0 -1
- package/dist/core/startup-write.js +0 -73
- package/dist/core/startup-write.js.map +0 -1
- package/dist/core/trust-blocking.d.ts +0 -22
- package/dist/core/trust-blocking.d.ts.map +0 -1
- package/dist/core/trust-blocking.js +0 -38
- package/dist/core/trust-blocking.js.map +0 -1
- package/dist/core/trust-prompts.d.ts +0 -135
- package/dist/core/trust-prompts.d.ts.map +0 -1
- package/dist/core/trust-prompts.js.map +0 -1
- package/dist/core/trust-responder.d.ts +0 -48
- package/dist/core/trust-responder.d.ts.map +0 -1
- package/dist/core/trust-responder.js +0 -119
- package/dist/core/trust-responder.js.map +0 -1
- package/dist/core/tui-screen.d.ts +0 -21
- package/dist/core/tui-screen.d.ts.map +0 -1
- package/dist/core/tui-screen.js +0 -56
- package/dist/core/tui-screen.js.map +0 -1
- package/dist/core/update-warning.d.ts +0 -25
- package/dist/core/update-warning.d.ts.map +0 -1
- package/dist/core/update-warning.js +0 -33
- package/dist/core/update-warning.js.map +0 -1
- package/dist/core/warning-lifecycle.d.ts +0 -23
- package/dist/core/warning-lifecycle.d.ts.map +0 -1
- package/dist/core/warning-lifecycle.js +0 -6
- package/dist/core/warning-lifecycle.js.map +0 -1
- package/dist/core/warning-reasons.d.ts +0 -62
- package/dist/core/warning-reasons.d.ts.map +0 -1
- package/dist/core/warning-reasons.js +0 -121
- package/dist/core/warning-reasons.js.map +0 -1
- package/dist/core/warnings.d.ts +0 -145
- package/dist/core/warnings.d.ts.map +0 -1
- package/dist/core/warnings.js +0 -12
- package/dist/core/warnings.js.map +0 -1
- package/dist/runtime/cleanup-latch.d.ts +0 -27
- package/dist/runtime/cleanup-latch.d.ts.map +0 -1
- package/dist/runtime/cleanup-latch.js +0 -43
- package/dist/runtime/cleanup-latch.js.map +0 -1
- package/dist/runtime/initial-ready-advance.d.ts +0 -22
- package/dist/runtime/initial-ready-advance.d.ts.map +0 -1
- package/dist/runtime/initial-ready-advance.js +0 -39
- package/dist/runtime/initial-ready-advance.js.map +0 -1
- package/dist/runtime/initial-ready-fallback.d.ts +0 -12
- package/dist/runtime/initial-ready-fallback.d.ts.map +0 -1
- package/dist/runtime/initial-ready-fallback.js +0 -20
- package/dist/runtime/initial-ready-fallback.js.map +0 -1
- package/dist/runtime/initial-ready.d.ts +0 -49
- package/dist/runtime/initial-ready.d.ts.map +0 -1
- package/dist/runtime/initial-ready.js +0 -81
- package/dist/runtime/initial-ready.js.map +0 -1
- package/dist/runtime/reap-tree.d.ts +0 -62
- package/dist/runtime/reap-tree.d.ts.map +0 -1
- package/dist/runtime/reap-tree.js +0 -108
- package/dist/runtime/reap-tree.js.map +0 -1
- package/dist/runtime/session-base-types.d.ts +0 -36
- package/dist/runtime/session-base-types.d.ts.map +0 -1
- package/dist/runtime/session-base-types.js +0 -14
- package/dist/runtime/session-base-types.js.map +0 -1
- package/dist/runtime/session-base.d.ts +0 -48
- package/dist/runtime/session-base.d.ts.map +0 -1
- package/dist/runtime/session-base.js +0 -76
- package/dist/runtime/session-base.js.map +0 -1
- package/dist/runtime/session-commands.d.ts +0 -43
- package/dist/runtime/session-commands.d.ts.map +0 -1
- package/dist/runtime/session-commands.js +0 -52
- package/dist/runtime/session-commands.js.map +0 -1
- package/dist/runtime/session-exit.d.ts +0 -16
- package/dist/runtime/session-exit.d.ts.map +0 -1
- package/dist/runtime/session-exit.js +0 -32
- package/dist/runtime/session-exit.js.map +0 -1
- package/dist/runtime/session-image-attach.d.ts +0 -45
- package/dist/runtime/session-image-attach.d.ts.map +0 -1
- package/dist/runtime/session-image-attach.js +0 -82
- package/dist/runtime/session-image-attach.js.map +0 -1
- package/dist/runtime/session-lifecycle.d.ts +0 -61
- package/dist/runtime/session-lifecycle.d.ts.map +0 -1
- package/dist/runtime/session-lifecycle.js +0 -164
- package/dist/runtime/session-lifecycle.js.map +0 -1
- package/dist/runtime/session-loops.d.ts +0 -32
- package/dist/runtime/session-loops.d.ts.map +0 -1
- package/dist/runtime/session-loops.js +0 -62
- package/dist/runtime/session-loops.js.map +0 -1
- package/dist/runtime/session-readiness.d.ts +0 -18
- package/dist/runtime/session-readiness.d.ts.map +0 -1
- package/dist/runtime/session-readiness.js +0 -22
- package/dist/runtime/session-readiness.js.map +0 -1
- package/dist/runtime/session-reap.d.ts +0 -28
- package/dist/runtime/session-reap.d.ts.map +0 -1
- package/dist/runtime/session-reap.js +0 -51
- package/dist/runtime/session-reap.js.map +0 -1
- package/dist/runtime/session-resize.d.ts +0 -20
- package/dist/runtime/session-resize.d.ts.map +0 -1
- package/dist/runtime/session-resize.js +0 -26
- package/dist/runtime/session-resize.js.map +0 -1
- package/dist/runtime/session-shutdown-binding.d.ts +0 -30
- package/dist/runtime/session-shutdown-binding.d.ts.map +0 -1
- package/dist/runtime/session-shutdown-binding.js +0 -37
- package/dist/runtime/session-shutdown-binding.js.map +0 -1
- package/dist/runtime/session-shutdown.d.ts +0 -60
- package/dist/runtime/session-shutdown.d.ts.map +0 -1
- package/dist/runtime/session-shutdown.js +0 -140
- package/dist/runtime/session-shutdown.js.map +0 -1
- package/dist/runtime/session-status-wiring.d.ts +0 -38
- package/dist/runtime/session-status-wiring.d.ts.map +0 -1
- package/dist/runtime/session-status-wiring.js +0 -41
- package/dist/runtime/session-status-wiring.js.map +0 -1
- package/dist/runtime/session-status.d.ts +0 -7
- package/dist/runtime/session-status.d.ts.map +0 -1
- package/dist/runtime/session-status.js +0 -22
- package/dist/runtime/session-status.js.map +0 -1
- package/dist/runtime/shutdown-coordinator.d.ts +0 -57
- package/dist/runtime/shutdown-coordinator.d.ts.map +0 -1
- package/dist/runtime/shutdown-coordinator.js +0 -77
- package/dist/runtime/shutdown-coordinator.js.map +0 -1
- package/dist/runtime/startup-buffer.d.ts +0 -33
- package/dist/runtime/startup-buffer.d.ts.map +0 -1
- package/dist/runtime/startup-buffer.js +0 -53
- package/dist/runtime/startup-buffer.js.map +0 -1
- package/dist/runtime/startup-cleanup.d.ts +0 -43
- package/dist/runtime/startup-cleanup.d.ts.map +0 -1
- package/dist/runtime/startup-cleanup.js +0 -89
- package/dist/runtime/startup-cleanup.js.map +0 -1
- package/dist/runtime/startup.d.ts +0 -17
- package/dist/runtime/startup.d.ts.map +0 -1
- package/dist/runtime/startup.js +0 -47
- package/dist/runtime/startup.js.map +0 -1
- package/dist/runtime/status-emit.d.ts +0 -14
- package/dist/runtime/status-emit.d.ts.map +0 -1
- package/dist/runtime/status-emit.js +0 -15
- package/dist/runtime/status-emit.js.map +0 -1
- package/dist/runtime/teardown.d.ts +0 -15
- package/dist/runtime/teardown.d.ts.map +0 -1
- package/dist/runtime/teardown.js +0 -40
- package/dist/runtime/teardown.js.map +0 -1
- package/dist/runtime/terminate.d.ts +0 -22
- package/dist/runtime/terminate.d.ts.map +0 -1
- package/dist/runtime/terminate.js +0 -129
- package/dist/runtime/terminate.js.map +0 -1
- package/dist/runtime/update-lock.d.ts +0 -19
- package/dist/runtime/update-lock.d.ts.map +0 -1
- package/dist/runtime/update-lock.js +0 -183
- package/dist/runtime/update-lock.js.map +0 -1
- package/dist/runtime/update-once.d.ts +0 -40
- package/dist/runtime/update-once.d.ts.map +0 -1
- package/dist/runtime/update-once.js +0 -88
- package/dist/runtime/update-once.js.map +0 -1
|
@@ -1,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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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime validation for Claude `updatedPermissions` (PermissionUpdate[]).
|
|
3
|
-
*
|
|
4
|
-
* Implements PRD §6.4: a `PermissionRequest` result may return
|
|
5
|
-
* `updatedPermissions`, which is serialized to Claude. Each entry must match one
|
|
6
|
-
* of the documented PermissionUpdate variants (see permissions.ts) rather than
|
|
7
|
-
* merely being an array, so a malformed entry cannot slip through.
|
|
8
|
-
*/
|
|
9
|
-
export declare function isPermissionUpdateArray(value: unknown): boolean;
|
|
10
|
-
//# sourceMappingURL=validate-permission-update.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-permission-update.d.ts","sourceRoot":"","sources":["../../src/claude/validate-permission-update.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuCH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/D"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime validation for Claude `updatedPermissions` (PermissionUpdate[]).
|
|
3
|
-
*
|
|
4
|
-
* Implements PRD §6.4: a `PermissionRequest` result may return
|
|
5
|
-
* `updatedPermissions`, which is serialized to Claude. Each entry must match one
|
|
6
|
-
* of the documented PermissionUpdate variants (see permissions.ts) rather than
|
|
7
|
-
* merely being an array, so a malformed entry cannot slip through.
|
|
8
|
-
*/
|
|
9
|
-
import { isOneOf, isRecord, optionalString } from "../core/predicates.js";
|
|
10
|
-
import { claudeHookPermissionModes } from "./hook-names.js";
|
|
11
|
-
const destinations = ["session", "localSettings", "projectSettings", "userSettings"];
|
|
12
|
-
const ruleBehaviors = ["allow", "deny", "ask"];
|
|
13
|
-
const updateTypes = [
|
|
14
|
-
"addRules",
|
|
15
|
-
"replaceRules",
|
|
16
|
-
"removeRules",
|
|
17
|
-
"setMode",
|
|
18
|
-
"addDirectories",
|
|
19
|
-
"removeDirectories",
|
|
20
|
-
];
|
|
21
|
-
// Bidirectional exactness guards (see Exact above). Each stops compiling the moment
|
|
22
|
-
// its allowlist and the public union disagree.
|
|
23
|
-
const _destinationsExact = destinations[0];
|
|
24
|
-
const _behaviorsExact = ruleBehaviors[0];
|
|
25
|
-
const _typesExact = updateTypes[0];
|
|
26
|
-
void _destinationsExact;
|
|
27
|
-
void _behaviorsExact;
|
|
28
|
-
void _typesExact;
|
|
29
|
-
export function isPermissionUpdateArray(value) {
|
|
30
|
-
return Array.isArray(value) && value.every(isPermissionUpdate);
|
|
31
|
-
}
|
|
32
|
-
function isPermissionUpdate(value) {
|
|
33
|
-
if (!isRecord(value))
|
|
34
|
-
return false;
|
|
35
|
-
if (!isOneOf(value["destination"], destinations))
|
|
36
|
-
return false;
|
|
37
|
-
const type = value["type"];
|
|
38
|
-
if (type === "addRules" || type === "replaceRules" || type === "removeRules") {
|
|
39
|
-
return isRulesUpdate(value);
|
|
40
|
-
}
|
|
41
|
-
if (type === "setMode")
|
|
42
|
-
return isSetModeUpdate(value);
|
|
43
|
-
if (type === "addDirectories" || type === "removeDirectories")
|
|
44
|
-
return isDirectoriesUpdate(value);
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
function isRulesUpdate(value) {
|
|
48
|
-
return (keysAllowed(value, ["type", "rules", "behavior", "destination"]) &&
|
|
49
|
-
isOneOf(value["behavior"], ruleBehaviors) &&
|
|
50
|
-
Array.isArray(value["rules"]) &&
|
|
51
|
-
value["rules"].every(isPermissionRule));
|
|
52
|
-
}
|
|
53
|
-
function isSetModeUpdate(value) {
|
|
54
|
-
return (keysAllowed(value, ["type", "mode", "destination"]) &&
|
|
55
|
-
isOneOf(value["mode"], claudeHookPermissionModes));
|
|
56
|
-
}
|
|
57
|
-
function isDirectoriesUpdate(value) {
|
|
58
|
-
return (keysAllowed(value, ["type", "directories", "destination"]) &&
|
|
59
|
-
Array.isArray(value["directories"]) &&
|
|
60
|
-
value["directories"].every((entry) => typeof entry === "string"));
|
|
61
|
-
}
|
|
62
|
-
function isPermissionRule(value) {
|
|
63
|
-
if (!isRecord(value))
|
|
64
|
-
return false;
|
|
65
|
-
return (keysAllowed(value, ["toolName", "ruleContent"]) &&
|
|
66
|
-
typeof value["toolName"] === "string" &&
|
|
67
|
-
optionalString(value["ruleContent"]));
|
|
68
|
-
}
|
|
69
|
-
function keysAllowed(value, allowed) {
|
|
70
|
-
return Object.keys(value).every((key) => allowed.includes(key));
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=validate-permission-update.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-permission-update.js","sourceRoot":"","sources":["../../src/claude/validate-permission-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime validation for Claude hook handler results.
|
|
3
|
-
* Implements PRD §6.4.
|
|
4
|
-
*/
|
|
5
|
-
import type { ClaudeHookEvent, ClaudeHookEventName, ClaudeHookResult } from "./hooks.ts";
|
|
6
|
-
export declare function isClaudeHookResult(event: ClaudeHookEventName | ClaudeHookEvent, value: unknown): value is ClaudeHookResult;
|
|
7
|
-
//# sourceMappingURL=validate-result.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-result.d.ts","sourceRoot":"","sources":["../../src/claude/validate-result.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAkBzF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,mBAAmB,GAAG,eAAe,EAC5C,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,gBAAgB,CAuB3B"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime validation for Claude hook handler results.
|
|
3
|
-
* Implements PRD §6.4.
|
|
4
|
-
*/
|
|
5
|
-
import { isOneOf, isRecord, optionalBoolean, optionalString, optionalStringArray, } from "../core/predicates.js";
|
|
6
|
-
import { isPermissionUpdateArray } from "./validate-permission-update.js";
|
|
7
|
-
import { isClaudeToolInputUpdate } from "./validate-tool-update.js";
|
|
8
|
-
const contextResultEvents = new Set(["SessionStart", "Setup", "SubagentStart"]);
|
|
9
|
-
const blockResultEvents = new Set([
|
|
10
|
-
"UserPromptSubmit",
|
|
11
|
-
"UserPromptExpansion",
|
|
12
|
-
"PostToolUse",
|
|
13
|
-
"PostToolUseFailure",
|
|
14
|
-
"PostToolBatch",
|
|
15
|
-
"Stop",
|
|
16
|
-
"SubagentStop",
|
|
17
|
-
"ConfigChange",
|
|
18
|
-
"PreCompact",
|
|
19
|
-
]);
|
|
20
|
-
const continueFalseEvents = new Set(["TeammateIdle", "TaskCreated", "TaskCompleted"]);
|
|
21
|
-
export function isClaudeHookResult(event, value) {
|
|
22
|
-
const eventName = typeof event === "string" ? event : event.hook_event_name;
|
|
23
|
-
const toolName = typeof event === "string" || !("tool_name" in event) || typeof event.tool_name !== "string"
|
|
24
|
-
? undefined
|
|
25
|
-
: event.tool_name;
|
|
26
|
-
if (value === undefined)
|
|
27
|
-
return true;
|
|
28
|
-
if (!isRecord(value))
|
|
29
|
-
return false;
|
|
30
|
-
if ("permissionDecision" in value)
|
|
31
|
-
return isPreToolUseResult(eventName, value, toolName);
|
|
32
|
-
if (eventName === "PreToolUse" && "additionalContext" in value) {
|
|
33
|
-
return isPreToolUseResult(eventName, value, toolName);
|
|
34
|
-
}
|
|
35
|
-
if ("behavior" in value)
|
|
36
|
-
return isPermissionRequestResult(eventName, value, toolName);
|
|
37
|
-
if ("retry" in value)
|
|
38
|
-
return eventName === "PermissionDenied" && value["retry"] === true;
|
|
39
|
-
if ("worktreePath" in value) {
|
|
40
|
-
return eventName === "WorktreeCreate" && typeof value["worktreePath"] === "string";
|
|
41
|
-
}
|
|
42
|
-
if ("action" in value)
|
|
43
|
-
return isElicitationResult(eventName, value);
|
|
44
|
-
if ("decision" in value)
|
|
45
|
-
return isBlockResult(eventName, value);
|
|
46
|
-
if ("continue" in value)
|
|
47
|
-
return isContinueFalseResult(eventName, value);
|
|
48
|
-
if (eventName === "PostToolUse")
|
|
49
|
-
return isPostToolUseResult(value);
|
|
50
|
-
if (!contextResultEvents.has(eventName))
|
|
51
|
-
return false;
|
|
52
|
-
return isContextResult(value);
|
|
53
|
-
}
|
|
54
|
-
function isPreToolUseResult(eventName, value, toolName) {
|
|
55
|
-
if (eventName !== "PreToolUse")
|
|
56
|
-
return false;
|
|
57
|
-
if (!("permissionDecision" in value)) {
|
|
58
|
-
return keysAre(value, ["additionalContext"]) && typeof value["additionalContext"] === "string";
|
|
59
|
-
}
|
|
60
|
-
return (keysAre(value, [
|
|
61
|
-
"permissionDecision",
|
|
62
|
-
"permissionDecisionReason",
|
|
63
|
-
"updatedInput",
|
|
64
|
-
"additionalContext",
|
|
65
|
-
]) &&
|
|
66
|
-
isOneOf(value["permissionDecision"], ["allow", "deny", "ask", "defer"]) &&
|
|
67
|
-
optionalString(value["permissionDecisionReason"]) &&
|
|
68
|
-
optionalString(value["additionalContext"]) &&
|
|
69
|
-
isClaudeToolInputUpdate(toolName, value["updatedInput"]));
|
|
70
|
-
}
|
|
71
|
-
function isPermissionRequestResult(eventName, value, toolName) {
|
|
72
|
-
return (eventName === "PermissionRequest" &&
|
|
73
|
-
keysAre(value, ["behavior", "updatedInput", "updatedPermissions", "message", "interrupt"]) &&
|
|
74
|
-
isOneOf(value["behavior"], ["allow", "deny"]) &&
|
|
75
|
-
optionalString(value["message"]) &&
|
|
76
|
-
optionalBoolean(value["interrupt"]) &&
|
|
77
|
-
optionalPermissionUpdates(value["updatedPermissions"]) &&
|
|
78
|
-
isClaudeToolInputUpdate(toolName, value["updatedInput"]));
|
|
79
|
-
}
|
|
80
|
-
function optionalPermissionUpdates(value) {
|
|
81
|
-
return value === undefined || isPermissionUpdateArray(value);
|
|
82
|
-
}
|
|
83
|
-
function isElicitationResult(eventName, value) {
|
|
84
|
-
return ((eventName === "Elicitation" || eventName === "ElicitationResult") &&
|
|
85
|
-
keysAre(value, ["action", "content"]) &&
|
|
86
|
-
isOneOf(value["action"], ["accept", "decline", "cancel"]) &&
|
|
87
|
-
// `content` is an OPTIONAL non-array record; a string/array/null must fail
|
|
88
|
-
// rather than be serialized as if valid (matches ElicitationResult.content).
|
|
89
|
-
(value["content"] === undefined || isRecord(value["content"])));
|
|
90
|
-
}
|
|
91
|
-
function isBlockResult(eventName, value) {
|
|
92
|
-
return (blockResultEvents.has(eventName) &&
|
|
93
|
-
keysAre(value, ["decision", "reason", "additionalContext"]) &&
|
|
94
|
-
value["decision"] === "block" &&
|
|
95
|
-
typeof value["reason"] === "string" &&
|
|
96
|
-
optionalString(value["additionalContext"]));
|
|
97
|
-
}
|
|
98
|
-
function isContinueFalseResult(eventName, value) {
|
|
99
|
-
return (continueFalseEvents.has(eventName) &&
|
|
100
|
-
keysAre(value, ["continue", "stopReason"]) &&
|
|
101
|
-
value["continue"] === false &&
|
|
102
|
-
optionalString(value["stopReason"]));
|
|
103
|
-
}
|
|
104
|
-
function keysAre(value, allowed) {
|
|
105
|
-
return Object.keys(value).every((key) => allowed.includes(key));
|
|
106
|
-
}
|
|
107
|
-
// Every field is optional, so `{}` is a valid (no-op) result, as it is for context events.
|
|
108
|
-
function isPostToolUseResult(value) {
|
|
109
|
-
return (keysAre(value, ["additionalContext", "updatedToolOutput", "updatedMCPToolOutput"]) &&
|
|
110
|
-
optionalString(value["additionalContext"]));
|
|
111
|
-
}
|
|
112
|
-
function isContextResult(value) {
|
|
113
|
-
return (keysAre(value, ["additionalContext", "initialUserMessage", "watchPaths"]) &&
|
|
114
|
-
optionalString(value["additionalContext"]) &&
|
|
115
|
-
optionalString(value["initialUserMessage"]) &&
|
|
116
|
-
optionalStringArray(value["watchPaths"]));
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=validate-result.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-result.js","sourceRoot":"","sources":["../../src/claude/validate-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Field-shape validation tables for Claude hook payloads, built on the shared
|
|
3
|
-
* trust-boundary predicates in core/predicates.ts.
|
|
4
|
-
* Implements PRD §6.4: value TYPES, not merely key names, are validated.
|
|
5
|
-
*/
|
|
6
|
-
export { isRecord, optionalBoolean, optionalNumber, optionalString, optionalStringArray, } from "../core/predicates.ts";
|
|
7
|
-
export type FieldCheck = (value: unknown) => boolean;
|
|
8
|
-
/**
|
|
9
|
-
* A validator table COUPLED to a public tool input `T`: exactly one field check per
|
|
10
|
-
* key of `T` (required, so adding a field to the public type forces a matching check
|
|
11
|
-
* and can't silently pass validation). Declare each table `satisfies FieldChecks<T>`.
|
|
12
|
-
*/
|
|
13
|
-
export type FieldChecks<T> = {
|
|
14
|
-
readonly [K in keyof Required<T>]-?: FieldCheck;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Validates a partial record: every present key must be one of `checks` and its
|
|
18
|
-
* value must pass that field's check. Absent keys pass (partial rewrites and
|
|
19
|
-
* optional fields), unknown keys fail.
|
|
20
|
-
*/
|
|
21
|
-
export declare function partial(value: Readonly<Record<string, unknown>>, checks: Readonly<Record<string, FieldCheck>>): boolean;
|
|
22
|
-
//# sourceMappingURL=validate-shapes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-shapes.d.ts","sourceRoot":"","sources":["../../src/claude/validate-shapes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU;CAAE,CAAC;AAEjF;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,GAC3C,OAAO,CAIT"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Field-shape validation tables for Claude hook payloads, built on the shared
|
|
3
|
-
* trust-boundary predicates in core/predicates.ts.
|
|
4
|
-
* Implements PRD §6.4: value TYPES, not merely key names, are validated.
|
|
5
|
-
*/
|
|
6
|
-
export { isRecord, optionalBoolean, optionalNumber, optionalString, optionalStringArray, } from "../core/predicates.js";
|
|
7
|
-
/**
|
|
8
|
-
* Validates a partial record: every present key must be one of `checks` and its
|
|
9
|
-
* value must pass that field's check. Absent keys pass (partial rewrites and
|
|
10
|
-
* optional fields), unknown keys fail.
|
|
11
|
-
*/
|
|
12
|
-
export function partial(value, checks) {
|
|
13
|
-
return Object.keys(value).every((key) => Object.hasOwn(checks, key) && checks[key](value[key]));
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=validate-shapes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-shapes.js","sourceRoot":"","sources":["../../src/claude/validate-shapes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAW/B;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,KAAwC,EACxC,MAA4C;IAE5C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAC7B,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAK,MAAM,CAAC,GAAG,CAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAC/E,CAAC;AACJ,CAAC"}
|