sqlew 4.1.1 → 4.3.0
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 +1862 -1817
- package/README.md +25 -165
- package/assets/claude-md-snippets/plan-mode-integration.md +48 -24
- package/assets/sample-skills/sqlew-decision-format/SKILL.md +73 -0
- package/dist/cli/hooks/check-completion.d.ts.map +1 -1
- package/dist/cli/hooks/check-completion.js +90 -2
- package/dist/cli/hooks/check-completion.js.map +1 -1
- package/dist/cli/hooks/init-hooks.d.ts.map +1 -1
- package/dist/cli/hooks/init-hooks.js +97 -5
- package/dist/cli/hooks/init-hooks.js.map +1 -1
- package/dist/cli/hooks/on-enter-plan.d.ts +22 -0
- package/dist/cli/hooks/on-enter-plan.d.ts.map +1 -0
- package/dist/cli/hooks/on-enter-plan.js +51 -0
- package/dist/cli/hooks/on-enter-plan.js.map +1 -0
- package/dist/cli/hooks/on-exit-plan.d.ts +20 -0
- package/dist/cli/hooks/on-exit-plan.d.ts.map +1 -0
- package/dist/cli/hooks/on-exit-plan.js +66 -0
- package/dist/cli/hooks/on-exit-plan.js.map +1 -0
- package/dist/cli/hooks/on-stop.d.ts +19 -0
- package/dist/cli/hooks/on-stop.d.ts.map +1 -0
- package/dist/cli/hooks/on-stop.js +152 -0
- package/dist/cli/hooks/on-stop.js.map +1 -0
- package/dist/cli/hooks/on-subagent-stop.d.ts +20 -0
- package/dist/cli/hooks/on-subagent-stop.d.ts.map +1 -0
- package/dist/cli/hooks/on-subagent-stop.js +94 -0
- package/dist/cli/hooks/on-subagent-stop.js.map +1 -0
- package/dist/cli/hooks/plan-pattern-extractor.d.ts +87 -0
- package/dist/cli/hooks/plan-pattern-extractor.d.ts.map +1 -0
- package/dist/cli/hooks/plan-pattern-extractor.js +218 -0
- package/dist/cli/hooks/plan-pattern-extractor.js.map +1 -0
- package/dist/cli/hooks/plan-processor.d.ts +43 -0
- package/dist/cli/hooks/plan-processor.d.ts.map +1 -0
- package/dist/cli/hooks/plan-processor.js +115 -0
- package/dist/cli/hooks/plan-processor.js.map +1 -0
- package/dist/cli/hooks/plan-toml-parser.d.ts +42 -0
- package/dist/cli/hooks/plan-toml-parser.d.ts.map +1 -0
- package/dist/cli/hooks/plan-toml-parser.js +178 -0
- package/dist/cli/hooks/plan-toml-parser.js.map +1 -0
- package/dist/cli/hooks/save.d.ts +7 -9
- package/dist/cli/hooks/save.d.ts.map +1 -1
- package/dist/cli/hooks/save.js +50 -25
- package/dist/cli/hooks/save.js.map +1 -1
- package/dist/cli/hooks/stdin-parser.d.ts +66 -2
- package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
- package/dist/cli/hooks/stdin-parser.js +57 -2
- package/dist/cli/hooks/stdin-parser.js.map +1 -1
- package/dist/cli/hooks/suggest.d.ts +8 -4
- package/dist/cli/hooks/suggest.d.ts.map +1 -1
- package/dist/cli/hooks/suggest.js +21 -123
- package/dist/cli/hooks/suggest.js.map +1 -1
- package/dist/cli/hooks/track-plan.d.ts +8 -1
- package/dist/cli/hooks/track-plan.d.ts.map +1 -1
- package/dist/cli/hooks/track-plan.js +64 -66
- package/dist/cli/hooks/track-plan.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +139 -38
- package/dist/cli.js.map +1 -1
- package/dist/config/global-config.d.ts +90 -0
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +86 -1
- package/dist/config/global-config.js.map +1 -1
- package/dist/database/initialization/init.js +3 -3
- package/dist/database/initialization/init.js.map +1 -1
- package/dist/database/initialization/schema-version.js +1 -1
- package/dist/database/initialization/schema-version.js.map +1 -1
- package/dist/database/migrations/v4/20251126000000_v4_bootstrap.js +32 -32
- package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.d.ts +14 -0
- package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.js +201 -0
- package/dist/database/migrations/v4/20251225000000_v4_seed_missing_help_data.js.map +1 -0
- package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.d.ts +12 -0
- package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.d.ts.map +1 -0
- package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.js +61 -0
- package/dist/database/migrations/v4/20251225000001_v4_fix_help_params.js.map +1 -0
- package/dist/database/migrations/v4/20260102204000_v4_fix_decision_set_example.d.ts +15 -0
- package/dist/database/migrations/v4/20260102204000_v4_fix_decision_set_example.d.ts.map +1 -0
- package/dist/database/migrations/v4/20260102204000_v4_fix_decision_set_example.js +74 -0
- package/dist/database/migrations/v4/20260102204000_v4_fix_decision_set_example.js.map +1 -0
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/init-skills.d.ts +6 -1
- package/dist/init-skills.d.ts.map +1 -1
- package/dist/init-skills.js +50 -1
- package/dist/init-skills.js.map +1 -1
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +16 -12
- package/dist/knexfile.js.map +1 -1
- package/dist/server/setup.d.ts.map +1 -1
- package/dist/server/setup.js +33 -11
- package/dist/server/setup.js.map +1 -1
- package/dist/server/tool-handlers.d.ts.map +1 -1
- package/dist/server/tool-handlers.js +7 -1
- package/dist/server/tool-handlers.js.map +1 -1
- package/dist/server/tool-registry.js +1 -1
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/tests/database/sql-dump/table-ordering.test.js +6 -1
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.js +74 -137
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.js +52 -40
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
- package/dist/tests/docker/native/help-system.test.d.ts +3 -2
- package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
- package/dist/tests/docker/native/help-system.test.js +90 -80
- package/dist/tests/docker/native/help-system.test.js.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.d.ts +2 -2
- package/dist/tests/docker/native/suggest-tool.test.js +130 -63
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
- package/dist/tests/docker/native/task-operations.test.js +9 -19
- package/dist/tests/docker/native/task-operations.test.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +6 -5
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +7 -8
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
- package/dist/tests/feature/decision/context-modular.test.js +1 -3
- package/dist/tests/feature/decision/context-modular.test.js.map +1 -1
- package/dist/tests/feature/decision/truncate.test.d.ts +8 -0
- package/dist/tests/feature/decision/truncate.test.d.ts.map +1 -0
- package/dist/tests/feature/decision/truncate.test.js +192 -0
- package/dist/tests/feature/decision/truncate.test.js.map +1 -0
- package/dist/tests/feature/help/help-system.test.d.ts +1 -13
- package/dist/tests/feature/help/help-system.test.d.ts.map +1 -1
- package/dist/tests/feature/help/help-system.test.js +107 -331
- package/dist/tests/feature/help/help-system.test.js.map +1 -1
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js +2 -4
- package/dist/tests/feature/task/auto-pruning-decision-link.test.js.map +1 -1
- package/dist/tests/integration/all-features.standalone.js +1 -3
- package/dist/tests/integration/all-features.standalone.js.map +1 -1
- package/dist/tests/migrations/test-all-versions-real.js +2 -4
- package/dist/tests/migrations/test-all-versions-real.js.map +1 -1
- package/dist/tests/migrations/test-all-versions.js +3 -7
- package/dist/tests/migrations/test-all-versions.js.map +1 -1
- package/dist/tests/unit/config/plan-toml-cache.test.d.ts +9 -0
- package/dist/tests/unit/config/plan-toml-cache.test.d.ts.map +1 -0
- package/dist/tests/unit/config/plan-toml-cache.test.js +230 -0
- package/dist/tests/unit/config/plan-toml-cache.test.js.map +1 -0
- package/dist/tests/unit/hooks/plan-toml-parser.test.d.ts +10 -0
- package/dist/tests/unit/hooks/plan-toml-parser.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/plan-toml-parser.test.js +316 -0
- package/dist/tests/unit/hooks/plan-toml-parser.test.js.map +1 -0
- package/dist/tests/unit/universal-knex.test.js +3 -0
- package/dist/tests/unit/universal-knex.test.js.map +1 -1
- package/dist/tests/unit/utils/config-loader.test.js +130 -191
- package/dist/tests/unit/utils/config-loader.test.js.map +1 -1
- package/dist/tests/unit/utils/project-detector.test.js +24 -0
- package/dist/tests/unit/utils/project-detector.test.js.map +1 -1
- package/dist/tests/unit/validation/parameter-validation.test.js +2 -2
- package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
- package/dist/tests/unit/validation/policy-validation.test.js +1 -3
- package/dist/tests/unit/validation/policy-validation.test.js.map +1 -1
- package/dist/tools/constraints/actions/activate.d.ts +46 -0
- package/dist/tools/constraints/actions/activate.d.ts.map +1 -0
- package/dist/tools/constraints/actions/activate.js +105 -0
- package/dist/tools/constraints/actions/activate.js.map +1 -0
- package/dist/tools/constraints/actions/add.d.ts.map +1 -1
- package/dist/tools/constraints/actions/add.js +30 -13
- package/dist/tools/constraints/actions/add.js.map +1 -1
- package/dist/tools/constraints/actions/deactivate.d.ts.map +1 -1
- package/dist/tools/constraints/actions/deactivate.js +7 -4
- package/dist/tools/constraints/actions/deactivate.js.map +1 -1
- package/dist/tools/constraints/actions/get.d.ts.map +1 -1
- package/dist/tools/constraints/actions/get.js +10 -7
- package/dist/tools/constraints/actions/get.js.map +1 -1
- package/dist/tools/constraints/actions/suggest-pending.d.ts +41 -0
- package/dist/tools/constraints/actions/suggest-pending.d.ts.map +1 -0
- package/dist/tools/constraints/actions/suggest-pending.js +71 -0
- package/dist/tools/constraints/actions/suggest-pending.js.map +1 -0
- package/dist/tools/constraints/help/example.d.ts.map +1 -1
- package/dist/tools/constraints/help/example.js +65 -1
- package/dist/tools/constraints/help/example.js.map +1 -1
- package/dist/tools/constraints/help/help.d.ts.map +1 -1
- package/dist/tools/constraints/help/help.js +10 -5
- package/dist/tools/constraints/help/help.js.map +1 -1
- package/dist/tools/constraints/index.d.ts +2 -0
- package/dist/tools/constraints/index.d.ts.map +1 -1
- package/dist/tools/constraints/index.js +2 -0
- package/dist/tools/constraints/index.js.map +1 -1
- package/dist/tools/context/actions/add-context.d.ts.map +1 -1
- package/dist/tools/context/actions/add-context.js +13 -6
- package/dist/tools/context/actions/add-context.js.map +1 -1
- package/dist/tools/context/actions/list-contexts.d.ts.map +1 -1
- package/dist/tools/context/actions/list-contexts.js +12 -7
- package/dist/tools/context/actions/list-contexts.js.map +1 -1
- package/dist/tools/context/actions/list.d.ts.map +1 -1
- package/dist/tools/context/actions/list.js +8 -0
- package/dist/tools/context/actions/list.js.map +1 -1
- package/dist/tools/context/actions/search-advanced.d.ts.map +1 -1
- package/dist/tools/context/actions/search-advanced.js +41 -27
- package/dist/tools/context/actions/search-advanced.js.map +1 -1
- package/dist/tools/context/actions/search-layer.d.ts.map +1 -1
- package/dist/tools/context/actions/search-layer.js +8 -0
- package/dist/tools/context/actions/search-layer.js.map +1 -1
- package/dist/tools/context/actions/search-tags.d.ts.map +1 -1
- package/dist/tools/context/actions/search-tags.js +8 -0
- package/dist/tools/context/actions/search-tags.js.map +1 -1
- package/dist/tools/files/actions/check-lock.d.ts.map +1 -1
- package/dist/tools/files/actions/check-lock.js +9 -3
- package/dist/tools/files/actions/check-lock.js.map +1 -1
- package/dist/tools/files/actions/get.d.ts.map +1 -1
- package/dist/tools/files/actions/get.js +18 -13
- package/dist/tools/files/actions/get.js.map +1 -1
- package/dist/tools/files/actions/record-batch.d.ts.map +1 -1
- package/dist/tools/files/actions/record-batch.js +11 -6
- package/dist/tools/files/actions/record-batch.js.map +1 -1
- package/dist/tools/files/actions/record.d.ts.map +1 -1
- package/dist/tools/files/actions/record.js +8 -2
- package/dist/tools/files/actions/record.js.map +1 -1
- package/dist/tools/files/help/example.js +8 -8
- package/dist/tools/files/help/example.js.map +1 -1
- package/dist/tools/files/help/help.js +4 -4
- package/dist/tools/files/help/help.js.map +1 -1
- package/dist/tools/files/internal/validation.d.ts.map +1 -1
- package/dist/tools/files/internal/validation.js +1 -2
- package/dist/tools/files/internal/validation.js.map +1 -1
- package/dist/tools/help-queries.d.ts.map +1 -1
- package/dist/tools/help-queries.js +57 -27
- package/dist/tools/help-queries.js.map +1 -1
- package/dist/tools/suggest/actions/by-tags.d.ts.map +1 -1
- package/dist/tools/suggest/actions/by-tags.js +3 -1
- package/dist/tools/suggest/actions/by-tags.js.map +1 -1
- package/dist/tools/suggest/help/constraint-help.js +2 -2
- package/dist/tools/suggest/help/constraint-help.js.map +1 -1
- package/dist/tools/tasks/help/example.d.ts.map +1 -1
- package/dist/tools/tasks/help/example.js +10 -0
- package/dist/tools/tasks/help/example.js.map +1 -1
- package/dist/tools/tasks/help/help.d.ts.map +1 -1
- package/dist/tools/tasks/help/help.js +10 -0
- package/dist/tools/tasks/help/help.js.map +1 -1
- package/dist/tools/use_case/actions/search.js +5 -5
- package/dist/tools/use_case/actions/search.js.map +1 -1
- package/dist/tools/use_case/help/example.d.ts +2 -7
- package/dist/tools/use_case/help/example.d.ts.map +1 -1
- package/dist/tools/use_case/help/example.js +24 -37
- package/dist/tools/use_case/help/example.js.map +1 -1
- package/dist/tools/use_case/help/help.js +1 -1
- package/dist/tools/use_case/help/help.js.map +1 -1
- package/dist/types/actions.d.ts +1 -1
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types.d.ts +11 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/action-specs/constraint-specs.d.ts +1 -1
- package/dist/utils/action-specs/constraint-specs.d.ts.map +1 -1
- package/dist/utils/action-specs/constraint-specs.js +22 -5
- package/dist/utils/action-specs/constraint-specs.js.map +1 -1
- package/dist/utils/action-specs/decision-specs.js +13 -13
- package/dist/utils/action-specs/decision-specs.js.map +1 -1
- package/dist/utils/action-specs/file-specs.d.ts.map +1 -1
- package/dist/utils/action-specs/file-specs.js +8 -10
- package/dist/utils/action-specs/file-specs.js.map +1 -1
- package/dist/utils/db-aggregations.d.ts.map +1 -1
- package/dist/utils/db-aggregations.js +44 -1
- package/dist/utils/db-aggregations.js.map +1 -1
- package/dist/utils/hook-queue.d.ts +43 -3
- package/dist/utils/hook-queue.d.ts.map +1 -1
- package/dist/utils/hook-queue.js +326 -32
- package/dist/utils/hook-queue.js.map +1 -1
- package/dist/utils/param-normalizer.d.ts +52 -0
- package/dist/utils/param-normalizer.d.ts.map +1 -0
- package/dist/utils/param-normalizer.js +70 -0
- package/dist/utils/param-normalizer.js.map +1 -0
- package/dist/utils/parameter-validator.d.ts.map +1 -1
- package/dist/utils/parameter-validator.js +2 -0
- package/dist/utils/parameter-validator.js.map +1 -1
- package/dist/utils/project-detector.js +21 -6
- package/dist/utils/project-detector.js.map +1 -1
- package/dist/utils/suggestion-scorer.d.ts.map +1 -1
- package/dist/utils/suggestion-scorer.js +5 -0
- package/dist/utils/suggestion-scorer.js.map +1 -1
- package/dist/utils/text-truncate.d.ts +13 -0
- package/dist/utils/text-truncate.d.ts.map +1 -0
- package/dist/utils/text-truncate.js +18 -0
- package/dist/utils/text-truncate.js.map +1 -0
- package/dist/utils/validators.d.ts +1 -1
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +1 -1
- package/dist/utils/validators.js.map +1 -1
- package/dist/watcher/base-watcher.d.ts.map +1 -1
- package/dist/watcher/base-watcher.js +4 -3
- package/dist/watcher/base-watcher.js.map +1 -1
- package/dist/watcher/file-watcher.d.ts.map +1 -1
- package/dist/watcher/file-watcher.js +5 -1
- package/dist/watcher/file-watcher.js.map +1 -1
- package/dist/watcher/queue-watcher.d.ts +12 -1
- package/dist/watcher/queue-watcher.d.ts.map +1 -1
- package/dist/watcher/queue-watcher.js +92 -12
- package/dist/watcher/queue-watcher.js.map +1 -1
- package/docs/ADR_CONCEPTS.md +4 -0
- package/docs/HOOKS_GUIDE.md +1 -1
- package/package.json +87 -123
- package/dist/tests/feature/vcs/git-aware-completion.test.d.ts +0 -6
- package/dist/tests/feature/vcs/git-aware-completion.test.d.ts.map +0 -1
- package/dist/tests/feature/vcs/git-aware-completion.test.js +0 -197
- package/dist/tests/feature/vcs/git-aware-completion.test.js.map +0 -1
- package/dist/tests/feature/vcs/two-step-git-completion.test.d.ts +0 -6
- package/dist/tests/feature/vcs/two-step-git-completion.test.d.ts.map +0 -1
- package/dist/tests/feature/vcs/two-step-git-completion.test.js +0 -305
- package/dist/tests/feature/vcs/two-step-git-completion.test.js.map +0 -1
- package/dist/tests/feature/vcs/vcs-staging.test.d.ts +0 -6
- package/dist/tests/feature/vcs/vcs-staging.test.d.ts.map +0 -1
- package/dist/tests/feature/vcs/vcs-staging.test.js +0 -142
- package/dist/tests/feature/vcs/vcs-staging.test.js.map +0 -1
|
@@ -22,7 +22,24 @@ import { isGitHooksEnabled } from '../../config/global-config.js';
|
|
|
22
22
|
// ============================================================================
|
|
23
23
|
// Constants
|
|
24
24
|
// ============================================================================
|
|
25
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Claude Code hooks to install
|
|
27
|
+
*
|
|
28
|
+
* IMPORTANT: Valid PreToolUse/PostToolUse matchers include:
|
|
29
|
+
* Task, Bash, Glob, Grep, Read, Edit, Write, WebFetch, WebSearch, TodoWrite
|
|
30
|
+
*
|
|
31
|
+
* Note: TodoWrite works even though not in official docs (verified v4.1.2)
|
|
32
|
+
*
|
|
33
|
+
* INVALID matchers (do not work):
|
|
34
|
+
* - SubagentStart: Not supported
|
|
35
|
+
*
|
|
36
|
+
* Testing matchers (may or may not work):
|
|
37
|
+
* - EnterPlanMode: Seems to work for plan mode entry detection (v4.2.4)
|
|
38
|
+
* - ExitPlanMode: Testing - may or may not work
|
|
39
|
+
*
|
|
40
|
+
* @since v4.2.0 - Restored PostToolUse hooks + SubagentStop/Stop events
|
|
41
|
+
* @modified v4.2.4 - Re-added EnterPlanMode to track-plan matcher for plan entry detection
|
|
42
|
+
*/
|
|
26
43
|
const CLAUDE_HOOKS = {
|
|
27
44
|
PreToolUse: [
|
|
28
45
|
{
|
|
@@ -30,7 +47,7 @@ const CLAUDE_HOOKS = {
|
|
|
30
47
|
hooks: [{ type: 'command', command: 'sqlew suggest' }],
|
|
31
48
|
},
|
|
32
49
|
{
|
|
33
|
-
matcher: 'Write',
|
|
50
|
+
matcher: 'Write|EnterPlanMode',
|
|
34
51
|
hooks: [{ type: 'command', command: 'sqlew track-plan' }],
|
|
35
52
|
},
|
|
36
53
|
],
|
|
@@ -43,6 +60,24 @@ const CLAUDE_HOOKS = {
|
|
|
43
60
|
matcher: 'TodoWrite',
|
|
44
61
|
hooks: [{ type: 'command', command: 'sqlew check-completion' }],
|
|
45
62
|
},
|
|
63
|
+
{
|
|
64
|
+
// ExitPlanMode - extract decisions/constraints after plan approval
|
|
65
|
+
// Note: Testing - may or may not work as a valid matcher
|
|
66
|
+
matcher: 'ExitPlanMode',
|
|
67
|
+
hooks: [{ type: 'command', command: 'sqlew on-exit-plan' }],
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
SubagentStop: [
|
|
71
|
+
// Fires when any subagent (Plan, Explore, etc.) completes
|
|
72
|
+
{
|
|
73
|
+
hooks: [{ type: 'command', command: 'sqlew on-subagent-stop' }],
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
Stop: [
|
|
77
|
+
// Fires when main agent response completes
|
|
78
|
+
{
|
|
79
|
+
hooks: [{ type: 'command', command: 'sqlew on-stop' }],
|
|
80
|
+
},
|
|
46
81
|
],
|
|
47
82
|
};
|
|
48
83
|
/** Git post-merge hook content */
|
|
@@ -104,7 +139,7 @@ function saveSettings(settingsPath, settings) {
|
|
|
104
139
|
writeFileSync(settingsPath, content, 'utf-8');
|
|
105
140
|
}
|
|
106
141
|
/**
|
|
107
|
-
* Merge hook configurations
|
|
142
|
+
* Merge hook configurations (with matcher)
|
|
108
143
|
*
|
|
109
144
|
* Adds new hooks without duplicating existing ones.
|
|
110
145
|
*
|
|
@@ -134,6 +169,53 @@ function mergeHooks(existing, newHooks) {
|
|
|
134
169
|
}
|
|
135
170
|
return result;
|
|
136
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Merge hook configurations (without matcher)
|
|
174
|
+
*
|
|
175
|
+
* For SubagentStop, Stop, and other events that don't use matchers.
|
|
176
|
+
*
|
|
177
|
+
* @param existing - Existing hook configs
|
|
178
|
+
* @param newHooks - New hooks to add
|
|
179
|
+
* @returns Merged hook configs
|
|
180
|
+
*/
|
|
181
|
+
function mergeHooksNoMatcher(existing, newHooks) {
|
|
182
|
+
const result = [...(existing || [])];
|
|
183
|
+
for (const newHook of newHooks) {
|
|
184
|
+
for (const cmd of newHook.hooks) {
|
|
185
|
+
// Check if command already exists in any existing hook
|
|
186
|
+
const cmdExists = result.some(h => h.hooks.some(c => c.type === cmd.type && c.command === cmd.command));
|
|
187
|
+
if (!cmdExists) {
|
|
188
|
+
// Add to first hook or create new one
|
|
189
|
+
if (result.length > 0) {
|
|
190
|
+
result[0].hooks.push(cmd);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
result.push({ hooks: [cmd] });
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Remove invalid hooks from previous versions
|
|
202
|
+
*
|
|
203
|
+
* Cleans up hooks that used invalid matchers like ExitPlanMode or TodoWrite.
|
|
204
|
+
*
|
|
205
|
+
* @param settings - Claude settings to clean up
|
|
206
|
+
*/
|
|
207
|
+
function removeInvalidHooks(settings) {
|
|
208
|
+
// Invalid matchers that should be removed
|
|
209
|
+
// Note: TodoWrite works even though not in official docs (verified v4.1.2)
|
|
210
|
+
// Note: Testing ExitPlanMode and EnterPlanMode - may or may not work (v4.2.4)
|
|
211
|
+
const invalidMatchers = ['SubagentStart'];
|
|
212
|
+
if (settings.hooks?.PostToolUse) {
|
|
213
|
+
settings.hooks.PostToolUse = settings.hooks.PostToolUse.filter(h => !invalidMatchers.includes(h.matcher));
|
|
214
|
+
}
|
|
215
|
+
if (settings.hooks?.PreToolUse) {
|
|
216
|
+
settings.hooks.PreToolUse = settings.hooks.PreToolUse.filter(h => !invalidMatchers.includes(h.matcher));
|
|
217
|
+
}
|
|
218
|
+
}
|
|
137
219
|
// ============================================================================
|
|
138
220
|
// Git Hooks
|
|
139
221
|
// ============================================================================
|
|
@@ -254,6 +336,10 @@ export async function initHooksCommand(args = []) {
|
|
|
254
336
|
settings.hooks = settings.hooks || {};
|
|
255
337
|
settings.hooks.PreToolUse = mergeHooks(settings.hooks.PreToolUse, CLAUDE_HOOKS.PreToolUse);
|
|
256
338
|
settings.hooks.PostToolUse = mergeHooks(settings.hooks.PostToolUse, CLAUDE_HOOKS.PostToolUse);
|
|
339
|
+
settings.hooks.SubagentStop = mergeHooksNoMatcher(settings.hooks.SubagentStop, CLAUDE_HOOKS.SubagentStop);
|
|
340
|
+
settings.hooks.Stop = mergeHooksNoMatcher(settings.hooks.Stop, CLAUDE_HOOKS.Stop);
|
|
341
|
+
// Remove invalid hooks that might exist from previous versions
|
|
342
|
+
removeInvalidHooks(settings);
|
|
257
343
|
// Save settings
|
|
258
344
|
saveSettings(settingsPath, settings);
|
|
259
345
|
console.log(`[sqlew init] Updated Claude settings: ${settingsPath}`);
|
|
@@ -295,10 +381,12 @@ function hasHooksConfigured(projectPath) {
|
|
|
295
381
|
}
|
|
296
382
|
try {
|
|
297
383
|
const settings = loadSettings(settingsPath);
|
|
298
|
-
// Check if sqlew hooks exist
|
|
384
|
+
// Check if sqlew hooks exist in any event type
|
|
299
385
|
const hasPreToolUse = settings.hooks?.PreToolUse?.some(h => h.hooks?.some(cmd => cmd.command?.startsWith('sqlew ')));
|
|
300
386
|
const hasPostToolUse = settings.hooks?.PostToolUse?.some(h => h.hooks?.some(cmd => cmd.command?.startsWith('sqlew ')));
|
|
301
|
-
|
|
387
|
+
const hasSubagentStop = settings.hooks?.SubagentStop?.some(h => h.hooks?.some(cmd => cmd.command?.startsWith('sqlew ')));
|
|
388
|
+
const hasStop = settings.hooks?.Stop?.some(h => h.hooks?.some(cmd => cmd.command?.startsWith('sqlew ')));
|
|
389
|
+
return !!(hasPreToolUse || hasPostToolUse || hasSubagentStop || hasStop);
|
|
302
390
|
}
|
|
303
391
|
catch {
|
|
304
392
|
return false;
|
|
@@ -327,6 +415,10 @@ export function autoInitializeHooks(projectPath) {
|
|
|
327
415
|
settings.hooks = settings.hooks || {};
|
|
328
416
|
settings.hooks.PreToolUse = mergeHooks(settings.hooks.PreToolUse, CLAUDE_HOOKS.PreToolUse);
|
|
329
417
|
settings.hooks.PostToolUse = mergeHooks(settings.hooks.PostToolUse, CLAUDE_HOOKS.PostToolUse);
|
|
418
|
+
settings.hooks.SubagentStop = mergeHooksNoMatcher(settings.hooks.SubagentStop, CLAUDE_HOOKS.SubagentStop);
|
|
419
|
+
settings.hooks.Stop = mergeHooksNoMatcher(settings.hooks.Stop, CLAUDE_HOOKS.Stop);
|
|
420
|
+
// Remove invalid hooks that might exist from previous versions
|
|
421
|
+
removeInvalidHooks(settings);
|
|
330
422
|
// Save settings
|
|
331
423
|
saveSettings(settingsPath, settings);
|
|
332
424
|
// Install Git hooks if enabled (silent mode)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-hooks.js","sourceRoot":"","sources":["../../../src/cli/hooks/init-hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init-hooks.js","sourceRoot":"","sources":["../../../src/cli/hooks/init-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAoDlE,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAAkB;IAClC,UAAU,EAAE;QACV;YACE,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;SACvD;QACD;YACE,OAAO,EAAE,qBAAqB;YAC9B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;SAC1D;KACF;IACD,WAAW,EAAE;QACX;YACE,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;SACpD;QACD;YACE,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;SAChE;QACD;YACE,mEAAmE;YACnE,yDAAyD;YACzD,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;SAC5D;KACF;IACD,YAAY,EAAE;QACZ,0DAA0D;QAC1D;YACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;SAChE;KACF;IACD,IAAI,EAAE;QACJ,2CAA2C;QAC3C;YACE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;SACvD;KACF;CACF,CAAC;AAEF,kCAAkC;AAClC,MAAM,eAAe,GAAG;;;CAGvB,CAAC;AAEF,oCAAoC;AACpC,MAAM,iBAAiB,GAAG;;;;;CAKzB,CAAC;AAEF,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,WAAmB;IAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,YAAoB;IACxC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,YAAoB,EAAE,QAAwB;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,QAAkC,EAAE,QAAsB;IAC5E,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,mDAAmD;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAE3E,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACvB,iBAAiB;YACjB,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CACtD,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAC1B,QAA2C,EAC3C,QAA+B;IAE/B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,uDAAuD;YACvD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC,CACpE,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,sCAAsC;gBACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,QAAwB;IAClD,0CAA0C;IAC1C,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,eAAe,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1C,IAAI,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QAChC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;QAC/B,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1D,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAC1C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAS,eAAe,CAAC,WAAmB;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEzC,0DAA0D;IAC1D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4BAA4B;IAC5B,IAAI,QAAgB,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,wCAAwC;YACxC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;gBAC1E,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe;YACf,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,0BAA0B;IAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnD,eAAe,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IAE9D,4BAA4B;IAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,eAAe,CAAC,eAAe,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAEpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAY;IACtE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,yCAAyC;QACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,gCAAgC,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC;QACtD,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAc;IACnC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;KACjC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAiB,EAAE;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpC,yBAAyB;QACzB,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;QAEzD,yBAAyB;QACzB,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAE5C,cAAc;QACd,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3F,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9F,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC1G,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAElF,+DAA+D;QAC/D,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE7B,gBAAgB;QAChB,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;QAErE,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,iBAAiB,EAAE,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAE5C,+CAA+C;QAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CACpD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC7D,CAAC;QACF,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CACtD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC7D,CAAC;QACF,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CACxD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC7D,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CACxC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC7D,CAAC;QAEF,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,cAAc,IAAI,eAAe,IAAI,OAAO,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,6BAA6B;IAC7B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAE5C,cAAc;QACd,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3F,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9F,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAC1G,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAElF,+DAA+D;QAC/D,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE7B,gBAAgB;QAChB,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAErC,6CAA6C;QAC7C,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,WAAmB;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAE1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,QAAgB,CAAC;IAErB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,6CAA6C;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,6CAA6C;gBAC7C,8BAA8B;gBAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC7D,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;oBAC3D,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,wBAAwB;oBACxB,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBACzD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;wBACpB,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;wBACrD,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,yBAAyB;IACzB,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,eAAe,CAAC,CAAC;IACrE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,QAAgB,EAAE,OAAe;IAC9D,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,oBAAoB;YAC9B,CAAC;YACD,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Enter-Plan Hook Command
|
|
3
|
+
*
|
|
4
|
+
* PostToolUse hook for EnterPlanMode - clears stale caches when plan mode starts.
|
|
5
|
+
*
|
|
6
|
+
* NOTE: Template injection removed in v4.2.2.
|
|
7
|
+
* Using Skills-based template injection instead (sqlew-decision-format skill).
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* echo '{"tool_name": "EnterPlanMode"}' | sqlew on-enter-plan
|
|
11
|
+
*
|
|
12
|
+
* @since v4.2.0
|
|
13
|
+
* @modified v4.2.2 - Removed template injection, simplified to cache management
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Main on-enter-plan command entry point
|
|
17
|
+
*
|
|
18
|
+
* Called as PostToolUse hook when EnterPlanMode is invoked.
|
|
19
|
+
* Clears stale caches from previous sessions.
|
|
20
|
+
*/
|
|
21
|
+
export declare function onEnterPlanCommand(): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=on-enter-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-enter-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/on-enter-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH;;;;;GAKG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0BxD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Enter-Plan Hook Command
|
|
3
|
+
*
|
|
4
|
+
* PostToolUse hook for EnterPlanMode - clears stale caches when plan mode starts.
|
|
5
|
+
*
|
|
6
|
+
* NOTE: Template injection removed in v4.2.2.
|
|
7
|
+
* Using Skills-based template injection instead (sqlew-decision-format skill).
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* echo '{"tool_name": "EnterPlanMode"}' | sqlew on-enter-plan
|
|
11
|
+
*
|
|
12
|
+
* @since v4.2.0
|
|
13
|
+
* @modified v4.2.2 - Removed template injection, simplified to cache management
|
|
14
|
+
*/
|
|
15
|
+
import { readStdinJson, sendContinue, getProjectPath } from './stdin-parser.js';
|
|
16
|
+
import { clearCurrentPlan, clearPlanTomlCache } from '../../config/global-config.js';
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Main Entry Point
|
|
19
|
+
// ============================================================================
|
|
20
|
+
/**
|
|
21
|
+
* Main on-enter-plan command entry point
|
|
22
|
+
*
|
|
23
|
+
* Called as PostToolUse hook when EnterPlanMode is invoked.
|
|
24
|
+
* Clears stale caches from previous sessions.
|
|
25
|
+
*/
|
|
26
|
+
export async function onEnterPlanCommand() {
|
|
27
|
+
try {
|
|
28
|
+
const input = await readStdinJson();
|
|
29
|
+
// Only process EnterPlanMode
|
|
30
|
+
if (input.tool_name !== 'EnterPlanMode') {
|
|
31
|
+
sendContinue();
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const projectPath = getProjectPath(input);
|
|
35
|
+
if (projectPath) {
|
|
36
|
+
// Clear stale caches from previous sessions
|
|
37
|
+
// This ensures fresh start for new plan mode session
|
|
38
|
+
clearCurrentPlan(projectPath);
|
|
39
|
+
clearPlanTomlCache(projectPath);
|
|
40
|
+
}
|
|
41
|
+
// Continue without additional context
|
|
42
|
+
// Skills will handle template injection
|
|
43
|
+
sendContinue();
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
47
|
+
console.error(`[sqlew on-enter-plan] Error: ${message}`);
|
|
48
|
+
sendContinue();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=on-enter-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-enter-plan.js","sourceRoot":"","sources":["../../../src/cli/hooks/on-enter-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAErF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QAEpC,6BAA6B;QAC7B,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACxC,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,WAAW,EAAE,CAAC;YAChB,4CAA4C;YAC5C,qDAAqD;YACrD,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9B,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAED,sCAAsC;QACtC,wCAAwC;QACxC,YAAY,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACzD,YAAY,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Exit-Plan Hook Command
|
|
3
|
+
*
|
|
4
|
+
* PostToolUse hook for ExitPlanMode - extracts and auto-registers decisions/constraints.
|
|
5
|
+
* Delegates to plan-processor.ts for actual processing.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* echo '{"tool_name": "ExitPlanMode"}' | sqlew on-exit-plan
|
|
9
|
+
*
|
|
10
|
+
* @since v4.2.0
|
|
11
|
+
* @modified v4.2.5 - Refactored to use plan-processor.ts (DRY)
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Main on-exit-plan command entry point
|
|
15
|
+
*
|
|
16
|
+
* Called as PostToolUse hook when ExitPlanMode is invoked.
|
|
17
|
+
* Delegates to processPlanPatterns for extraction and registration.
|
|
18
|
+
*/
|
|
19
|
+
export declare function onExitPlanCommand(): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=on-exit-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-exit-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/on-exit-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CvD"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Exit-Plan Hook Command
|
|
3
|
+
*
|
|
4
|
+
* PostToolUse hook for ExitPlanMode - extracts and auto-registers decisions/constraints.
|
|
5
|
+
* Delegates to plan-processor.ts for actual processing.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* echo '{"tool_name": "ExitPlanMode"}' | sqlew on-exit-plan
|
|
9
|
+
*
|
|
10
|
+
* @since v4.2.0
|
|
11
|
+
* @modified v4.2.5 - Refactored to use plan-processor.ts (DRY)
|
|
12
|
+
*/
|
|
13
|
+
import { readStdinJson, sendContinue, sendPostToolUseContext, getProjectPath } from './stdin-parser.js';
|
|
14
|
+
import { processPlanPatterns } from './plan-processor.js';
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// Main Entry Point
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* Main on-exit-plan command entry point
|
|
20
|
+
*
|
|
21
|
+
* Called as PostToolUse hook when ExitPlanMode is invoked.
|
|
22
|
+
* Delegates to processPlanPatterns for extraction and registration.
|
|
23
|
+
*/
|
|
24
|
+
export async function onExitPlanCommand() {
|
|
25
|
+
try {
|
|
26
|
+
const input = await readStdinJson();
|
|
27
|
+
// Only process ExitPlanMode
|
|
28
|
+
if (input.tool_name !== 'ExitPlanMode') {
|
|
29
|
+
sendContinue();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const projectPath = getProjectPath(input);
|
|
33
|
+
if (!projectPath) {
|
|
34
|
+
sendContinue();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
// Delegate to shared processor
|
|
38
|
+
const result = processPlanPatterns(projectPath);
|
|
39
|
+
if (!result.processed) {
|
|
40
|
+
// Map skip reasons to user-friendly messages
|
|
41
|
+
const messages = {
|
|
42
|
+
no_active_plan: '[sqlew] No active plan tracked.',
|
|
43
|
+
already_recorded: '[sqlew] Patterns already extracted.',
|
|
44
|
+
plan_file_not_found: '[sqlew] Plan file not found.',
|
|
45
|
+
read_error: '[sqlew] Could not read plan file.',
|
|
46
|
+
no_patterns: '[sqlew] No decisions or constraints detected in plan.',
|
|
47
|
+
no_valid_patterns: '[sqlew] No valid decisions or constraints found.',
|
|
48
|
+
};
|
|
49
|
+
sendContinue(messages[result.skipReason || ''] || '');
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// Send confirmation message
|
|
53
|
+
if (result.confirmationMessage) {
|
|
54
|
+
sendPostToolUseContext(result.confirmationMessage);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
sendContinue();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
62
|
+
console.error(`[sqlew on-exit-plan] Error: ${message}`);
|
|
63
|
+
sendContinue();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=on-exit-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-exit-plan.js","sourceRoot":"","sources":["../../../src/cli/hooks/on-exit-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QAEpC,4BAA4B;QAC5B,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;YACvC,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,YAAY,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,6CAA6C;YAC7C,MAAM,QAAQ,GAA2B;gBACvC,cAAc,EAAE,iCAAiC;gBACjD,gBAAgB,EAAE,qCAAqC;gBACvD,mBAAmB,EAAE,8BAA8B;gBACnD,UAAU,EAAE,mCAAmC;gBAC/C,WAAW,EAAE,uDAAuD;gBACpE,iBAAiB,EAAE,kDAAkD;aACtE,CAAC;YACF,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,sBAAsB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;QACxD,YAAY,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Stop Hook Command
|
|
3
|
+
*
|
|
4
|
+
* Stop hook - fires when main Claude Code agent response completes.
|
|
5
|
+
* Checks for tracked plan and processes TOML decisions/constraints.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* echo '{"hook_event_name": "Stop"}' | sqlew on-stop
|
|
9
|
+
*
|
|
10
|
+
* @since v4.2.0
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Main on-stop command entry point
|
|
14
|
+
*
|
|
15
|
+
* Called as Stop hook when main agent response completes.
|
|
16
|
+
* Processes TOML decisions/constraints if a plan is being tracked.
|
|
17
|
+
*/
|
|
18
|
+
export declare function onStopCommand(): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=on-stop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-stop.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/on-stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmGH;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CnD"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Stop Hook Command
|
|
3
|
+
*
|
|
4
|
+
* Stop hook - fires when main Claude Code agent response completes.
|
|
5
|
+
* Checks for tracked plan and processes TOML decisions/constraints.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* echo '{"hook_event_name": "Stop"}' | sqlew on-stop
|
|
9
|
+
*
|
|
10
|
+
* @since v4.2.0
|
|
11
|
+
*/
|
|
12
|
+
import { readStdinJson, sendContinue, getProjectPath } from './stdin-parser.js';
|
|
13
|
+
import { loadCurrentPlan, loadPlanTomlCache, savePlanTomlCache, } from '../../config/global-config.js';
|
|
14
|
+
import { enqueueDecisionCreate } from '../../utils/hook-queue.js';
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// TOML Decision/Constraint Processing
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/**
|
|
19
|
+
* Format constraint candidates as a registration prompt
|
|
20
|
+
*
|
|
21
|
+
* @param cache - Plan TOML cache with constraint candidates
|
|
22
|
+
* @returns Formatted prompt string with MCP command examples
|
|
23
|
+
*/
|
|
24
|
+
function formatConstraintPrompt(cache) {
|
|
25
|
+
if (cache.constraints.length === 0) {
|
|
26
|
+
return '';
|
|
27
|
+
}
|
|
28
|
+
const lines = [
|
|
29
|
+
'',
|
|
30
|
+
'🎯 **Constraint Candidates Ready for Registration**',
|
|
31
|
+
'',
|
|
32
|
+
`Found ${cache.constraints.length} constraint candidate(s) from plan TOML:`,
|
|
33
|
+
'',
|
|
34
|
+
];
|
|
35
|
+
cache.constraints.forEach((c, i) => {
|
|
36
|
+
const priority = c.priority || 'medium';
|
|
37
|
+
lines.push(`${i + 1}. [${c.category}/${priority}] ${c.text}`);
|
|
38
|
+
if (c.rationale) {
|
|
39
|
+
lines.push(` Rationale: ${c.rationale}`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
lines.push('');
|
|
43
|
+
lines.push('To register, use mcp__sqlew__constraint with action="add":');
|
|
44
|
+
lines.push('```');
|
|
45
|
+
// Show example for first constraint
|
|
46
|
+
const first = cache.constraints[0];
|
|
47
|
+
lines.push(`mcp__sqlew__constraint action="add" constraint_text="${first.text}" category="${first.category}" priority="${first.priority || 'medium'}"`);
|
|
48
|
+
lines.push('```');
|
|
49
|
+
lines.push('');
|
|
50
|
+
return lines.join('\n');
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Process TOML decisions and constraints from plan cache
|
|
54
|
+
*
|
|
55
|
+
* @param projectPath - Project root path
|
|
56
|
+
* @param cache - Plan TOML cache
|
|
57
|
+
* @returns Context message with results
|
|
58
|
+
*/
|
|
59
|
+
function processPlanTomlCache(projectPath, cache) {
|
|
60
|
+
const messages = [];
|
|
61
|
+
// Auto-register decisions (queued for MCP server processing)
|
|
62
|
+
if (!cache.decisions_registered && cache.decisions.length > 0) {
|
|
63
|
+
for (const d of cache.decisions) {
|
|
64
|
+
enqueueDecisionCreate(projectPath, {
|
|
65
|
+
key: d.key,
|
|
66
|
+
value: d.value,
|
|
67
|
+
status: d.status || 'active',
|
|
68
|
+
layer: d.layer || 'cross-cutting',
|
|
69
|
+
tags: d.tags || [],
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
cache.decisions_registered = true;
|
|
73
|
+
messages.push(`✅ Registered ${cache.decisions.length} decision(s) to queue`);
|
|
74
|
+
}
|
|
75
|
+
// Prompt for constraints (user decision required)
|
|
76
|
+
if (!cache.constraints_prompted && cache.constraints.length > 0) {
|
|
77
|
+
messages.push(formatConstraintPrompt(cache));
|
|
78
|
+
cache.constraints_prompted = true;
|
|
79
|
+
}
|
|
80
|
+
// Save updated cache
|
|
81
|
+
if (cache.decisions_registered || cache.constraints_prompted) {
|
|
82
|
+
savePlanTomlCache(projectPath, cache);
|
|
83
|
+
}
|
|
84
|
+
return messages.join('\n');
|
|
85
|
+
}
|
|
86
|
+
// ============================================================================
|
|
87
|
+
// Main Entry Point
|
|
88
|
+
// ============================================================================
|
|
89
|
+
/**
|
|
90
|
+
* Main on-stop command entry point
|
|
91
|
+
*
|
|
92
|
+
* Called as Stop hook when main agent response completes.
|
|
93
|
+
* Processes TOML decisions/constraints if a plan is being tracked.
|
|
94
|
+
*/
|
|
95
|
+
export async function onStopCommand() {
|
|
96
|
+
try {
|
|
97
|
+
const input = await readStdinJson();
|
|
98
|
+
// Check stop_hook_active to prevent infinite loops
|
|
99
|
+
if (isStopHookActive(input)) {
|
|
100
|
+
sendContinue();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const projectPath = getProjectPath(input);
|
|
104
|
+
if (!projectPath) {
|
|
105
|
+
sendContinue();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
// Check if there's a current plan being tracked
|
|
109
|
+
const planInfo = loadCurrentPlan(projectPath);
|
|
110
|
+
if (!planInfo) {
|
|
111
|
+
// No plan being tracked
|
|
112
|
+
sendContinue();
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
// Only process if the plan has been recorded (implementation in progress)
|
|
116
|
+
if (!planInfo.recorded) {
|
|
117
|
+
sendContinue();
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
// Process TOML decisions and constraints
|
|
121
|
+
const tomlCache = loadPlanTomlCache(projectPath);
|
|
122
|
+
if (tomlCache && tomlCache.plan_id === planInfo.plan_id) {
|
|
123
|
+
const tomlContext = processPlanTomlCache(projectPath, tomlCache);
|
|
124
|
+
if (tomlContext) {
|
|
125
|
+
sendContinue(tomlContext);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
sendContinue();
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
// On error, log to stderr but continue execution
|
|
133
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
134
|
+
console.error(`[sqlew on-stop] Error: ${message}`);
|
|
135
|
+
sendContinue();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// ============================================================================
|
|
139
|
+
// Helpers
|
|
140
|
+
// ============================================================================
|
|
141
|
+
/**
|
|
142
|
+
* Check if stop hook is already active (infinite loop prevention)
|
|
143
|
+
*
|
|
144
|
+
* @param input - Hook input
|
|
145
|
+
* @returns true if stop hook is already active
|
|
146
|
+
*/
|
|
147
|
+
function isStopHookActive(input) {
|
|
148
|
+
// stop_hook_active is set by Claude Code when a Stop/SubagentStop hook
|
|
149
|
+
// is already in progress, to prevent infinite loops
|
|
150
|
+
return input.stop_hook_active === true;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=on-stop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-stop.js","sourceRoot":"","sources":["../../../src/cli/hooks/on-stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Subagent-Stop Hook Command
|
|
3
|
+
*
|
|
4
|
+
* SubagentStop hook - fires when any subagent (Plan, Explore, etc.) completes.
|
|
5
|
+
* Delegates pattern extraction to plan-processor.ts for DRY.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* echo '{"hook_event_name": "SubagentStop"}' | sqlew on-subagent-stop
|
|
9
|
+
*
|
|
10
|
+
* @since v4.2.0
|
|
11
|
+
* @modified v4.2.5 - Refactored to use plan-processor.ts (DRY)
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Main on-subagent-stop command entry point
|
|
15
|
+
*
|
|
16
|
+
* Called as SubagentStop hook when any subagent completes.
|
|
17
|
+
* Delegates pattern extraction to processPlanPatterns.
|
|
18
|
+
*/
|
|
19
|
+
export declare function onSubagentStopCommand(): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=on-subagent-stop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-subagent-stop.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/on-subagent-stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH;;;;;GAKG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C3D"}
|