sqlew 5.0.5 โ 5.0.6
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 +26 -0
- package/README.md +5 -6
- package/dist/cli/hooks/on-prompt.d.ts +31 -0
- package/dist/cli/hooks/on-prompt.d.ts.map +1 -0
- package/dist/cli/hooks/on-prompt.js +55 -0
- package/dist/cli/hooks/on-prompt.js.map +1 -0
- package/dist/cli/hooks/track-plan.d.ts.map +1 -1
- package/dist/cli/hooks/track-plan.js +17 -16
- package/dist/cli/hooks/track-plan.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +14 -7
- package/dist/cli.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/init-rules.d.ts +15 -16
- package/dist/init-rules.d.ts.map +1 -1
- package/dist/init-rules.js +36 -92
- package/dist/init-rules.js.map +1 -1
- package/dist/tools/constraints/actions/get.js +5 -5
- package/package.json +1 -1
- package/assets/claude-md-snippets/plan-mode-integration.md +0 -107
- package/assets/claude-md-snippets/queue-monitoring.md +0 -84
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [5.0.6] - 2026-02-14
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
**๐งน CLAUDE.md Injection Removed โ Hook-based Plan Mode Enforcement**
|
|
15
|
+
|
|
16
|
+
Plan mode enforcement migrated from `~/.claude/CLAUDE.md` injection (~193 lines always loaded) to `UserPromptSubmit` hook with `permission_mode` check (~5 lines, plan mode only).
|
|
17
|
+
|
|
18
|
+
- New `on-prompt` CLI command: `UserPromptSubmit` hook handler that detects `permission_mode === "plan"` and injects enforcement context via plain text stdout
|
|
19
|
+
- `track-plan` hook (EnterPlanMode): shares same enforcement context for agent-initiated plan mode coverage
|
|
20
|
+
- Legacy `injectToGlobalClaudeMd()` replaced with `cleanupGlobalClaudeMd()` โ auto-removes `<!-- sqlew:auto-injected -->` markers from `~/.claude/CLAUDE.md` on MCP startup
|
|
21
|
+
- Removed `assets/claude-md-snippets/` directory (`plan-mode-integration.md`, `queue-monitoring.md`)
|
|
22
|
+
|
|
23
|
+
### Plugin Changes (sqlew-plugin)
|
|
24
|
+
|
|
25
|
+
- Added `UserPromptSubmit` hook entry in `hooks.json` (`sqlew on-prompt`, timeout: 10s)
|
|
26
|
+
- Skills descriptions strengthened to REQUIRED/MUST tone (`sqlew-decision-format`, `sqlew-plan-guidance`)
|
|
27
|
+
- `sqlew-plan-guidance` expanded: suggest search steps, Related Context template, queue monitoring, failed queue resolution
|
|
28
|
+
|
|
29
|
+
### Technical Notes
|
|
30
|
+
|
|
31
|
+
- `UserPromptSubmit` hook requires **plain text stdout** (not JSON `additionalContext` format). This is different from `SessionStart`/`PostToolUse` hooks which use JSON format.
|
|
32
|
+
- Non-plan mode: hook outputs nothing and exits 0 (transparent, no system-reminder shown)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
10
36
|
## [5.0.4] - 2026-02-04
|
|
11
37
|
|
|
12
38
|
### Added
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ claude plugin install sqlew
|
|
|
30
30
|
- โ
Claude Code Skills (Plan Mode guidance)
|
|
31
31
|
- โ
Claude Code Hooks (automatic decision capture)
|
|
32
32
|
|
|
33
|
-
> **Note:**
|
|
33
|
+
> **Note:** Plan mode enforcement is handled by the plugin's `UserPromptSubmit` hook โ no manual configuration needed.
|
|
34
34
|
|
|
35
35
|
### 3. Connect to sqlew.io (For Teams) ๐
|
|
36
36
|
|
|
@@ -69,7 +69,6 @@ For offline or single-developer use, **no setup required**:
|
|
|
69
69
|
|
|
70
70
|
- Database (`.sqlew/sqlew.db`) is auto-created on first MCP server start
|
|
71
71
|
- Config file (`.sqlew/config.toml`) is auto-generated with detected project name
|
|
72
|
-
- Global rules (`~/.claude/rules/sqlew/`) are auto-installed
|
|
73
72
|
|
|
74
73
|
Just start using Claude Code - everything initializes automatically!
|
|
75
74
|
|
|
@@ -295,15 +294,15 @@ Support development via [GitHub Sponsors](https://github.com/sponsors/sqlew-io)
|
|
|
295
294
|
|
|
296
295
|
## Version
|
|
297
296
|
|
|
298
|
-
Current version: **5.0.
|
|
297
|
+
Current version: **5.0.6**
|
|
299
298
|
See [CHANGELOG.md](CHANGELOG.md) for release history.
|
|
300
299
|
|
|
301
|
-
**What's New in v5.0.
|
|
300
|
+
**What's New in v5.0.6:**
|
|
302
301
|
|
|
302
|
+
- ๐งน **CLAUDE.md injection removed** - Plan mode enforcement via `UserPromptSubmit` hook (no more global file pollution)
|
|
303
|
+
- ๐ **Plugin-first Architecture** - Simplified setup via sqlew-plugin
|
|
303
304
|
- ๐ **SaaS Backend** - Connect to [sqlew.io](https://sqlew.io) for team-shared decisions
|
|
304
305
|
- ๐ณ **Git Worktree Support** - Seamless multi-branch development
|
|
305
|
-
- ๐ **Plugin-first Architecture** - Simplified setup via sqlew-plugin
|
|
306
|
-
- ๐ง **Queue Tool** - Hook queue management (list, remove, clear)
|
|
307
306
|
|
|
308
307
|
See [docs/HOOKS_GUIDE.md](docs/HOOKS_GUIDE.md) for Claude Code Hooks details.
|
|
309
308
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Prompt Hook Command
|
|
3
|
+
*
|
|
4
|
+
* UserPromptSubmit hook - injects plan mode enforcement context.
|
|
5
|
+
* Fires on every user prompt. When permission_mode is "plan",
|
|
6
|
+
* injects REQUIRED steps for sqlew plan integration.
|
|
7
|
+
*
|
|
8
|
+
* This replaces the previous CLAUDE.md injection approach,
|
|
9
|
+
* providing equivalent always-on enforcement without polluting
|
|
10
|
+
* the user's global ~/.claude/CLAUDE.md.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* echo '{"hook_event_name":"UserPromptSubmit","permission_mode":"plan"}' | sqlew on-prompt
|
|
14
|
+
*
|
|
15
|
+
* @since v5.0.6
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Enforcement context injected when plan mode is active.
|
|
19
|
+
*
|
|
20
|
+
* Condensed from the previous ~193-line CLAUDE.md injection into ~5 lines.
|
|
21
|
+
* Detailed format/workflow available via Skills (sqlew-decision-format, sqlew-plan-guidance).
|
|
22
|
+
*/
|
|
23
|
+
export declare const PLAN_MODE_ENFORCEMENT = "[sqlew] Plan mode active. REQUIRED steps:\n1. Suggest Search BEFORE Planning: suggest { action: \"by_context\", key: \"<keyword>\" } and suggest { action: \"by_context\", target: \"constraint\", text: \"<topic>\" }\n2. Include \"Related Context (from sqlew)\" section in plan (MANDATORY - plans without this = INVALID)\n3. Use \uD83D\uDCCC/\uD83D\uDEAB format for decisions/constraints (invoke sqlew-decision-format skill for template)\n4. Check failed queue: queue { action: \"list\" }";
|
|
24
|
+
/**
|
|
25
|
+
* Main on-prompt command entry point
|
|
26
|
+
*
|
|
27
|
+
* Called as UserPromptSubmit hook on every user prompt.
|
|
28
|
+
* Only injects enforcement context when permission_mode is "plan".
|
|
29
|
+
*/
|
|
30
|
+
export declare function onPromptCommand(): Promise<void>;
|
|
31
|
+
//# sourceMappingURL=on-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-prompt.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/on-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,2eAIc,CAAC;AAMjD;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAarD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* On-Prompt Hook Command
|
|
3
|
+
*
|
|
4
|
+
* UserPromptSubmit hook - injects plan mode enforcement context.
|
|
5
|
+
* Fires on every user prompt. When permission_mode is "plan",
|
|
6
|
+
* injects REQUIRED steps for sqlew plan integration.
|
|
7
|
+
*
|
|
8
|
+
* This replaces the previous CLAUDE.md injection approach,
|
|
9
|
+
* providing equivalent always-on enforcement without polluting
|
|
10
|
+
* the user's global ~/.claude/CLAUDE.md.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* echo '{"hook_event_name":"UserPromptSubmit","permission_mode":"plan"}' | sqlew on-prompt
|
|
14
|
+
*
|
|
15
|
+
* @since v5.0.6
|
|
16
|
+
*/
|
|
17
|
+
import { readStdinJson } from './stdin-parser.js';
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Plan Mode Enforcement Context
|
|
20
|
+
// ============================================================================
|
|
21
|
+
/**
|
|
22
|
+
* Enforcement context injected when plan mode is active.
|
|
23
|
+
*
|
|
24
|
+
* Condensed from the previous ~193-line CLAUDE.md injection into ~5 lines.
|
|
25
|
+
* Detailed format/workflow available via Skills (sqlew-decision-format, sqlew-plan-guidance).
|
|
26
|
+
*/
|
|
27
|
+
export const PLAN_MODE_ENFORCEMENT = `[sqlew] Plan mode active. REQUIRED steps:
|
|
28
|
+
1. Suggest Search BEFORE Planning: suggest { action: "by_context", key: "<keyword>" } and suggest { action: "by_context", target: "constraint", text: "<topic>" }
|
|
29
|
+
2. Include "Related Context (from sqlew)" section in plan (MANDATORY - plans without this = INVALID)
|
|
30
|
+
3. Use ๐/๐ซ format for decisions/constraints (invoke sqlew-decision-format skill for template)
|
|
31
|
+
4. Check failed queue: queue { action: "list" }`;
|
|
32
|
+
// ============================================================================
|
|
33
|
+
// Main Entry Point
|
|
34
|
+
// ============================================================================
|
|
35
|
+
/**
|
|
36
|
+
* Main on-prompt command entry point
|
|
37
|
+
*
|
|
38
|
+
* Called as UserPromptSubmit hook on every user prompt.
|
|
39
|
+
* Only injects enforcement context when permission_mode is "plan".
|
|
40
|
+
*/
|
|
41
|
+
export async function onPromptCommand() {
|
|
42
|
+
try {
|
|
43
|
+
const input = await readStdinJson();
|
|
44
|
+
if (input.permission_mode === 'plan') {
|
|
45
|
+
// UserPromptSubmit: plain text stdout is added as context directly
|
|
46
|
+
// (JSON format with "continue"/"additionalContext" does NOT work for UserPromptSubmit)
|
|
47
|
+
process.stdout.write(PLAN_MODE_ENFORCEMENT);
|
|
48
|
+
}
|
|
49
|
+
// Non-plan mode: output nothing (exit 0 = allow, no context injection)
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Non-fatal: silent exit (allow)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=on-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"on-prompt.js","sourceRoot":"","sources":["../../../src/cli/hooks/on-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;gDAIW,CAAC;AAEjD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QAEpC,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;YACrC,mEAAmE;YACnE,uFAAuF;YACvF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC9C,CAAC;QACD,uEAAuE;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"track-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAiCvC;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FtD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE"}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* @modified v4.2.3 - Added template injection on new plan creation
|
|
18
18
|
*/
|
|
19
19
|
import { readStdinJson, sendContinue, isPlanFile, getProjectPath } from './stdin-parser.js';
|
|
20
|
+
import { PLAN_MODE_ENFORCEMENT } from './on-prompt.js';
|
|
20
21
|
import { extractPlanFileName, parseFrontmatter, generatePlanId, getPlanId } from './plan-id-utils.js';
|
|
21
22
|
import { saveCurrentPlan, loadCurrentPlan, clearPlanCache, clearCurrentPlan, } from '../../config/global-config.js';
|
|
22
23
|
import { existsSync, readFileSync } from 'fs';
|
|
@@ -28,21 +29,21 @@ import { resolve } from 'path';
|
|
|
28
29
|
* Decision/Constraint template to inject on new plan creation
|
|
29
30
|
* Compact format for context window efficiency
|
|
30
31
|
*/
|
|
31
|
-
const PLAN_TEMPLATE = `
|
|
32
|
-
---
|
|
33
|
-
## ๐ Decision/Constraint Recording (auto-detected on ExitPlanMode)
|
|
34
|
-
|
|
35
|
-
### ๐ Decision: [key/path]
|
|
36
|
-
- **Value**: Description
|
|
37
|
-
- **Layer**: presentation | business | data | infrastructure | cross-cutting
|
|
38
|
-
- **Rationale**: Why this decision was made
|
|
39
|
-
|
|
40
|
-
### ๐ซ Constraint: [category]
|
|
41
|
-
- **Rule**: Description (category: architecture | security | code-style | performance)
|
|
42
|
-
- **Priority**: critical | high | medium | low
|
|
43
|
-
- **Tags**: comma-separated tags
|
|
44
|
-
|
|
45
|
-
---
|
|
32
|
+
const PLAN_TEMPLATE = `
|
|
33
|
+
---
|
|
34
|
+
## ๐ Decision/Constraint Recording (auto-detected on ExitPlanMode)
|
|
35
|
+
|
|
36
|
+
### ๐ Decision: [key/path]
|
|
37
|
+
- **Value**: Description
|
|
38
|
+
- **Layer**: presentation | business | data | infrastructure | cross-cutting
|
|
39
|
+
- **Rationale**: Why this decision was made
|
|
40
|
+
|
|
41
|
+
### ๐ซ Constraint: [category]
|
|
42
|
+
- **Rule**: Description (category: architecture | security | code-style | performance)
|
|
43
|
+
- **Priority**: critical | high | medium | low
|
|
44
|
+
- **Tags**: comma-separated tags
|
|
45
|
+
|
|
46
|
+
---
|
|
46
47
|
`.trim();
|
|
47
48
|
// ============================================================================
|
|
48
49
|
// Main Entry Point
|
|
@@ -66,7 +67,7 @@ export async function trackPlanCommand() {
|
|
|
66
67
|
clearPlanCache(projectPath);
|
|
67
68
|
clearCurrentPlan(projectPath);
|
|
68
69
|
}
|
|
69
|
-
sendContinue(
|
|
70
|
+
sendContinue(PLAN_MODE_ENFORCEMENT);
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
73
|
// Only process plan files for Write tool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track-plan.js","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;CAerB,CAAC,IAAI,EAAE,CAAC;AAET,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QAEpC,uEAAuE;QACvE,IAAI,KAAK,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,WAAW,EAAE,CAAC;gBAChB,yEAAyE;gBACzE,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC5B,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YACD,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"track-plan.js","sourceRoot":"","sources":["../../../src/cli/hooks/track-plan.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAgUH;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJ7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASrD"}
|
package/dist/cli.js
CHANGED
|
@@ -14,12 +14,13 @@ import { trackPlanCommand } from './cli/hooks/track-plan.js';
|
|
|
14
14
|
import { saveCommand } from './cli/hooks/save.js';
|
|
15
15
|
import { checkCompletionCommand } from './cli/hooks/check-completion.js';
|
|
16
16
|
import { markDoneCommand } from './cli/hooks/mark-done.js';
|
|
17
|
-
import {
|
|
17
|
+
import { cleanupGlobalClaudeMd, initializeGitignore } from './init-rules.js';
|
|
18
18
|
import { onSubagentStopCommand } from './cli/hooks/on-subagent-stop.js';
|
|
19
19
|
import { onStopCommand } from './cli/hooks/on-stop.js';
|
|
20
20
|
import { onEnterPlanCommand } from './cli/hooks/on-enter-plan.js';
|
|
21
21
|
import { onExitPlanCommand } from './cli/hooks/on-exit-plan.js';
|
|
22
22
|
import { onSessionStartCommand } from './cli/hooks/on-session-start.js';
|
|
23
|
+
import { onPromptCommand } from './cli/hooks/on-prompt.js';
|
|
23
24
|
// ============================================================================
|
|
24
25
|
// Helper Functions
|
|
25
26
|
// ============================================================================
|
|
@@ -146,6 +147,7 @@ LEGACY COMMANDS:
|
|
|
146
147
|
on-exit-plan Prompt TOML documentation (PostToolUse hook for ExitPlanMode)
|
|
147
148
|
on-subagent-stop Process Plan agent completion (SubagentStop hook)
|
|
148
149
|
on-stop Process main agent stop (Stop hook)
|
|
150
|
+
on-prompt Plan mode enforcement (UserPromptSubmit hook)
|
|
149
151
|
|
|
150
152
|
OPTIONS:
|
|
151
153
|
--init Legacy initialization
|
|
@@ -242,14 +244,14 @@ async function initAllCommand() {
|
|
|
242
244
|
console.log('[sqlew --init] Starting initialization...');
|
|
243
245
|
console.log(`[sqlew --init] Project root: ${projectPath}`);
|
|
244
246
|
console.log('');
|
|
245
|
-
// 1.
|
|
246
|
-
console.log('[1/2]
|
|
247
|
+
// 1. Clean up legacy CLAUDE.md injection
|
|
248
|
+
console.log('[1/2] Cleaning up legacy CLAUDE.md injection...');
|
|
247
249
|
try {
|
|
248
|
-
|
|
249
|
-
console.log(' โ
|
|
250
|
+
cleanupGlobalClaudeMd();
|
|
251
|
+
console.log(' โ Legacy injection cleaned up (plan mode now enforced via Hooks)');
|
|
250
252
|
}
|
|
251
253
|
catch (error) {
|
|
252
|
-
console.log(` โ CLAUDE.md
|
|
254
|
+
console.log(` โ CLAUDE.md cleanup failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
253
255
|
}
|
|
254
256
|
// 2. Initialize gitignore
|
|
255
257
|
console.log('[2/2] Updating .sqlew/.gitignore...');
|
|
@@ -339,6 +341,11 @@ export async function runCli(rawArgs) {
|
|
|
339
341
|
await onSessionStartCommand();
|
|
340
342
|
return;
|
|
341
343
|
}
|
|
344
|
+
// UserPromptSubmit hook (v5.0.6+) - plan mode enforcement
|
|
345
|
+
if (args.command === 'on-prompt') {
|
|
346
|
+
await onPromptCommand();
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
342
349
|
// --init flag: comprehensive initialization (Skills + CLAUDE.md + Hooks + gitignore)
|
|
343
350
|
if (args.init) {
|
|
344
351
|
await initAllCommand();
|
|
@@ -408,7 +415,7 @@ export function isCliCommand(command) {
|
|
|
408
415
|
// Claude Code Hooks commands (v4.1.0+)
|
|
409
416
|
'suggest', 'track-plan', 'save', 'check-completion', 'mark-done', 'init',
|
|
410
417
|
// Hook events (v4.2.0+, v5.0.0+)
|
|
411
|
-
'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start',
|
|
418
|
+
'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start', 'on-prompt',
|
|
412
419
|
];
|
|
413
420
|
return cliCommands.includes(command);
|
|
414
421
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AA4BxE,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,6BAA6B;gBAC7B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACL,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;gBACD,CAAC,EAAE,CAAC,CAAC,mCAAmC;YAC1C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAW,EAAE,OAAiB;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,MAAM,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE,aAAa;IACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YACrC,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDb,CAAC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,IAAa;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAE3C,qBAAqB;IACrB,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAE5C,iBAAiB;IACjB,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACnG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,IAAa;IACxC,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,KAAc;IACtC,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,8CAA8C;IAC9C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,sBAAsB,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;AAC3E,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAiB;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,6EAA6E;IAC7E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,gBAAgB,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,sBAAsB,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QACrC,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,oEAAoE;IACpE,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,qFAAqF;IACrF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,yCAAyC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEjC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,WAAW;oBACd,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;oBACvB,MAAM;gBACR;oBACE,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO;QAC5C,uCAAuC;QACvC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM;QACxE,iCAAiC;QACjC,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB;KACnF,CAAC;IACF,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,iCAAiC;AACjC,+CAA+C;AAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrG,IAAI,iBAAiB,EAAE,CAAC;IACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,6BAA6B;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA4B3D,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,6BAA6B;gBAC7B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpC,CAAC;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACL,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC/B,CAAC;gBACD,CAAC,EAAE,CAAC,CAAC,mCAAmC;YAC1C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAW,EAAE,OAAiB;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,MAAM,GAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE,aAAa;IACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;YACrC,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDb,CAAC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,IAAa;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAE3C,qBAAqB;IACrB,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAE5C,iBAAiB;IACjB,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,UAAU,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACnG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,IAAa;IACxC,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,KAAc;IACtC,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,yCAAyC;IACzC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,qBAAqB,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;AAC3E,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAiB;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEhC,6EAA6E;IAC7E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,gBAAgB,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,sBAAsB,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,aAAa,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;QACrC,MAAM,kBAAkB,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,oEAAoE;IACpE,IAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,0DAA0D;IAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,qFAAqF;IACrF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,yCAAyC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEjC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,WAAW;oBACd,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC3B,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;oBACvB,MAAM;gBACR;oBACE,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;oBACxD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO;QAC5C,uCAAuC;QACvC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM;QACxE,iCAAiC;QACjC,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW;KAChG,CAAC;IACF,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,iCAAiC;AACjC,+CAA+C;AAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrG,IAAI,iBAAiB,EAAE,CAAC;IACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ const cliCommands = [
|
|
|
17
17
|
'db:dump', 'db:export', 'db:import', 'query',
|
|
18
18
|
'suggest', 'track-plan', 'save', 'check-completion', 'mark-done', 'init',
|
|
19
19
|
// Hook events (v4.2.0+, v5.0.0+)
|
|
20
|
-
'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start',
|
|
20
|
+
'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start', 'on-prompt',
|
|
21
21
|
];
|
|
22
22
|
// CLI flags that should route to CLI (not MCP server)
|
|
23
23
|
const cliFlags = ['--init', '--help', '--version'];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,gEAAgE;AAChE,+EAA+E;AAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAElC,yCAAyC;AACzC,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO;IAC5C,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM;IACxE,iCAAiC;IACjC,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/init-rules.d.ts
CHANGED
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-initialize sqlew on server startup
|
|
3
3
|
*
|
|
4
|
-
* As of v5.0.
|
|
5
|
-
* -
|
|
4
|
+
* As of v5.0.6, this module handles:
|
|
5
|
+
* - Cleanup of legacy CLAUDE.md injection (~/.claude/CLAUDE.md)
|
|
6
6
|
* - Project .gitignore updates
|
|
7
7
|
*
|
|
8
|
+
* Plan mode enforcement is now handled by:
|
|
9
|
+
* - UserPromptSubmit hook (on-prompt.ts) with permission_mode check
|
|
10
|
+
* - PreToolUse hook (track-plan.ts) for EnterPlanMode
|
|
11
|
+
* - Enhanced Skills (sqlew-decision-format, sqlew-plan-guidance)
|
|
12
|
+
*
|
|
8
13
|
* Skills and Hooks are managed by the sqlew-plugin (Claude Code Plugin).
|
|
9
14
|
* @see https://github.com/sqlew-io/sqlew-plugin for Skills/Hooks/Agents
|
|
10
15
|
*/
|
|
11
16
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* As of v5.0.0, snippets are injected directly into CLAUDE.md instead of
|
|
15
|
-
* being copied to ~/.claude/rules/sqlew/. This ensures higher priority
|
|
16
|
-
* and better compatibility with other CLI tools (Codex, Gemini CLI).
|
|
17
|
+
* Clean up legacy sqlew injection from global ~/.claude/CLAUDE.md
|
|
17
18
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* - No impact on Markdown rendering
|
|
19
|
+
* As of v5.0.6, plan mode enforcement is handled by Hooks (UserPromptSubmit)
|
|
20
|
+
* instead of CLAUDE.md injection. This function removes the legacy injected
|
|
21
|
+
* section (between <!-- sqlew:auto-injected:start/end --> markers).
|
|
22
22
|
*
|
|
23
|
-
*
|
|
24
|
-
* Use server.getClientVersion() after MCP initialization
|
|
23
|
+
* Safe to call multiple times - does nothing if no markers found.
|
|
25
24
|
*/
|
|
26
|
-
export declare function
|
|
25
|
+
export declare function cleanupGlobalClaudeMd(): void;
|
|
27
26
|
/**
|
|
28
27
|
* Initialize sqlew on MCP server startup
|
|
29
28
|
*
|
|
30
|
-
* As of v5.0.
|
|
31
|
-
* -
|
|
29
|
+
* As of v5.0.6:
|
|
30
|
+
* - Cleans up legacy CLAUDE.md injection (one-time)
|
|
32
31
|
* - Updates project .gitignore
|
|
33
32
|
*
|
|
34
33
|
* @param projectRoot - Project root directory (for .gitignore updates)
|
package/dist/init-rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-rules.d.ts","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"init-rules.d.ts","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CA8B5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ9D;AAoBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAkE7D"}
|
package/dist/init-rules.js
CHANGED
|
@@ -1,133 +1,77 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-initialize sqlew on server startup
|
|
3
3
|
*
|
|
4
|
-
* As of v5.0.
|
|
5
|
-
* -
|
|
4
|
+
* As of v5.0.6, this module handles:
|
|
5
|
+
* - Cleanup of legacy CLAUDE.md injection (~/.claude/CLAUDE.md)
|
|
6
6
|
* - Project .gitignore updates
|
|
7
7
|
*
|
|
8
|
+
* Plan mode enforcement is now handled by:
|
|
9
|
+
* - UserPromptSubmit hook (on-prompt.ts) with permission_mode check
|
|
10
|
+
* - PreToolUse hook (track-plan.ts) for EnterPlanMode
|
|
11
|
+
* - Enhanced Skills (sqlew-decision-format, sqlew-plan-guidance)
|
|
12
|
+
*
|
|
8
13
|
* Skills and Hooks are managed by the sqlew-plugin (Claude Code Plugin).
|
|
9
14
|
* @see https://github.com/sqlew-io/sqlew-plugin for Skills/Hooks/Agents
|
|
10
15
|
*/
|
|
11
16
|
import * as fs from 'fs';
|
|
12
17
|
import * as path from 'path';
|
|
13
18
|
import * as os from 'os';
|
|
14
|
-
import { fileURLToPath } from 'url';
|
|
15
19
|
import { debugLog } from './utils/debug-logger.js';
|
|
16
|
-
|
|
17
|
-
const
|
|
20
|
+
/** Marker for sqlew auto-injected section in CLAUDE.md (legacy) */
|
|
21
|
+
const CLAUDE_MD_MARKER_START = '<!-- sqlew:auto-injected:start -->';
|
|
22
|
+
const CLAUDE_MD_MARKER_END = '<!-- sqlew:auto-injected:end -->';
|
|
18
23
|
/**
|
|
19
|
-
*
|
|
24
|
+
* Escape special regex characters in a string
|
|
20
25
|
*/
|
|
21
|
-
function
|
|
22
|
-
|
|
23
|
-
const packageRoot = path.dirname(distDir); // .../mcp-sqlew
|
|
24
|
-
return path.join(packageRoot, 'assets');
|
|
26
|
+
function escapeRegex(str) {
|
|
27
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
25
28
|
}
|
|
26
|
-
/** Marker for sqlew auto-injected section in CLAUDE.md */
|
|
27
|
-
const CLAUDE_MD_MARKER_START = '<!-- sqlew:auto-injected:start -->';
|
|
28
|
-
const CLAUDE_MD_MARKER_END = '<!-- sqlew:auto-injected:end -->';
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Clean up legacy sqlew injection from global ~/.claude/CLAUDE.md
|
|
31
31
|
*
|
|
32
|
-
* As of v5.0.
|
|
33
|
-
*
|
|
34
|
-
*
|
|
32
|
+
* As of v5.0.6, plan mode enforcement is handled by Hooks (UserPromptSubmit)
|
|
33
|
+
* instead of CLAUDE.md injection. This function removes the legacy injected
|
|
34
|
+
* section (between <!-- sqlew:auto-injected:start/end --> markers).
|
|
35
35
|
*
|
|
36
|
-
*
|
|
37
|
-
* - Easy identification of auto-managed content
|
|
38
|
-
* - Safe updates (replace existing section)
|
|
39
|
-
* - No impact on Markdown rendering
|
|
40
|
-
*
|
|
41
|
-
* TODO: Add client detection to conditionally inject based on CLI type
|
|
42
|
-
* Use server.getClientVersion() after MCP initialization
|
|
36
|
+
* Safe to call multiple times - does nothing if no markers found.
|
|
43
37
|
*/
|
|
44
|
-
export function
|
|
38
|
+
export function cleanupGlobalClaudeMd() {
|
|
45
39
|
const home = os.homedir();
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// Check if snippets directory exists
|
|
50
|
-
if (!fs.existsSync(snippetsDir)) {
|
|
51
|
-
debugLog('WARN', 'Claude MD snippets directory not found', { snippetsDir });
|
|
40
|
+
const claudeMdPath = path.join(home, '.claude', 'CLAUDE.md');
|
|
41
|
+
// Skip if file doesn't exist
|
|
42
|
+
if (!fs.existsSync(claudeMdPath)) {
|
|
52
43
|
return;
|
|
53
44
|
}
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
debugLog('INFO', 'Created ~/.claude directory', { claudeDir });
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
debugLog('WARN', 'Failed to create ~/.claude directory', { error });
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// Read current CLAUDE.md content (or empty string if doesn't exist)
|
|
66
|
-
let content = '';
|
|
67
|
-
if (fs.existsSync(claudeMdPath)) {
|
|
68
|
-
content = fs.readFileSync(claudeMdPath, 'utf-8');
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
debugLog('INFO', 'Creating new ~/.claude/CLAUDE.md', { claudeMdPath });
|
|
72
|
-
}
|
|
73
|
-
// Find all .md files in snippets directory
|
|
74
|
-
const snippetFiles = fs.readdirSync(snippetsDir).filter(f => f.endsWith('.md'));
|
|
75
|
-
if (snippetFiles.length === 0) {
|
|
76
|
-
debugLog('WARN', 'No snippet files found', { snippetsDir });
|
|
45
|
+
const content = fs.readFileSync(claudeMdPath, 'utf-8');
|
|
46
|
+
// Skip if no markers found (already clean)
|
|
47
|
+
if (!content.includes(CLAUDE_MD_MARKER_START)) {
|
|
48
|
+
debugLog('DEBUG', 'CLAUDE.md has no sqlew injection markers (already clean)');
|
|
77
49
|
return;
|
|
78
50
|
}
|
|
79
|
-
//
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
.join('\n\n');
|
|
83
|
-
// Build the injected section
|
|
84
|
-
const injectedSection = `${CLAUDE_MD_MARKER_START}\n${snippetContent}\n${CLAUDE_MD_MARKER_END}`;
|
|
85
|
-
// Check if section already exists
|
|
86
|
-
if (content.includes(CLAUDE_MD_MARKER_START)) {
|
|
87
|
-
// Check if content is the same (no update needed)
|
|
88
|
-
const regex = new RegExp(`${escapeRegex(CLAUDE_MD_MARKER_START)}[\\s\\S]*?${escapeRegex(CLAUDE_MD_MARKER_END)}`, 'g');
|
|
89
|
-
const existingMatch = content.match(regex);
|
|
90
|
-
if (existingMatch && existingMatch[0] === injectedSection) {
|
|
91
|
-
debugLog('DEBUG', 'CLAUDE.md sqlew section is up-to-date');
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
// Replace existing section
|
|
95
|
-
content = content.replace(regex, injectedSection);
|
|
96
|
-
debugLog('INFO', 'Updated sqlew section in CLAUDE.md', { files: snippetFiles.length });
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
// Append new section
|
|
100
|
-
content = content.trimEnd() + '\n\n' + injectedSection + '\n';
|
|
101
|
-
debugLog('INFO', 'Injected sqlew section into CLAUDE.md', { files: snippetFiles.length });
|
|
102
|
-
}
|
|
103
|
-
// Write updated content
|
|
51
|
+
// Remove the injected section
|
|
52
|
+
const regex = new RegExp(`\\n?\\n?${escapeRegex(CLAUDE_MD_MARKER_START)}[\\s\\S]*?${escapeRegex(CLAUDE_MD_MARKER_END)}\\n?`, 'g');
|
|
53
|
+
const cleaned = content.replace(regex, '').trimEnd() + '\n';
|
|
104
54
|
try {
|
|
105
|
-
fs.writeFileSync(claudeMdPath,
|
|
55
|
+
fs.writeFileSync(claudeMdPath, cleaned, 'utf-8');
|
|
56
|
+
debugLog('INFO', 'Removed legacy sqlew injection from ~/.claude/CLAUDE.md');
|
|
106
57
|
}
|
|
107
58
|
catch (error) {
|
|
108
|
-
debugLog('WARN', 'Failed to
|
|
59
|
+
debugLog('WARN', 'Failed to clean up CLAUDE.md', { error });
|
|
109
60
|
}
|
|
110
61
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Escape special regex characters in a string
|
|
113
|
-
*/
|
|
114
|
-
function escapeRegex(str) {
|
|
115
|
-
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
116
|
-
}
|
|
117
62
|
/**
|
|
118
63
|
* Initialize sqlew on MCP server startup
|
|
119
64
|
*
|
|
120
|
-
* As of v5.0.
|
|
121
|
-
* -
|
|
65
|
+
* As of v5.0.6:
|
|
66
|
+
* - Cleans up legacy CLAUDE.md injection (one-time)
|
|
122
67
|
* - Updates project .gitignore
|
|
123
68
|
*
|
|
124
69
|
* @param projectRoot - Project root directory (for .gitignore updates)
|
|
125
70
|
*/
|
|
126
71
|
export function initializeSqlewRules(projectRoot) {
|
|
127
72
|
debugLog('DEBUG', 'Initializing sqlew', { projectRoot });
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
injectToGlobalClaudeMd();
|
|
73
|
+
// Clean up legacy CLAUDE.md injection (safe to call multiple times)
|
|
74
|
+
cleanupGlobalClaudeMd();
|
|
131
75
|
// Initialize .gitignore entries for sqlew-generated files
|
|
132
76
|
initializeGitignore(projectRoot);
|
|
133
77
|
}
|
package/dist/init-rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-rules.js","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"init-rules.js","sourceRoot":"","sources":["../src/init-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,11 +86,11 @@ export async function getConstraints(params, adapter) {
|
|
|
86
86
|
'c.priority',
|
|
87
87
|
knex.raw(`${db.dateFunction('c.ts')} as created_at`),
|
|
88
88
|
// Tags subquery
|
|
89
|
-
knex.raw(`(
|
|
90
|
-
SELECT ${db.stringAgg('t2.name', ',')}
|
|
91
|
-
FROM t_constraint_tags ct2
|
|
92
|
-
JOIN m_tags t2 ON ct2.tag_id = t2.id
|
|
93
|
-
WHERE ct2.constraint_id = c.id
|
|
89
|
+
knex.raw(`(
|
|
90
|
+
SELECT ${db.stringAgg('t2.name', ',')}
|
|
91
|
+
FROM t_constraint_tags ct2
|
|
92
|
+
JOIN m_tags t2 ON ct2.tag_id = t2.id
|
|
93
|
+
WHERE ct2.constraint_id = c.id
|
|
94
94
|
) as tags`),
|
|
95
95
|
]);
|
|
96
96
|
// Convert priority integer to string and parse tags
|
package/package.json
CHANGED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
## Plan Mode Integration
|
|
2
|
-
|
|
3
|
-
### REQUIRED: Suggest Search BEFORE Planning
|
|
4
|
-
|
|
5
|
-
**CRITICAL**: Before writing any plan, you MUST search for related context.
|
|
6
|
-
|
|
7
|
-
**Step 1**: Extract keywords from the user's task (e.g., migration, auth, database)
|
|
8
|
-
|
|
9
|
-
**Step 2**: Run suggest search:
|
|
10
|
-
```
|
|
11
|
-
suggest { action: "by_context", key: "<keyword>", tags: ["<relevant-tags>"] }
|
|
12
|
-
suggest { action: "by_context", target: "constraint", text: "<topic>" }
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
**Step 3**: Include results in plan (MANDATORY section):
|
|
16
|
-
```markdown
|
|
17
|
-
## Related Context (from sqlew)
|
|
18
|
-
|
|
19
|
-
### Past Decisions
|
|
20
|
-
| Key | Value | Score |
|
|
21
|
-
|-----|-------|-------|
|
|
22
|
-
| path/to/decision | description | 85 |
|
|
23
|
-
|
|
24
|
-
> If empty: "No related decisions found for: <keywords>"
|
|
25
|
-
|
|
26
|
-
### Applicable Constraints
|
|
27
|
-
- **[category]**: constraint text (Priority: high)
|
|
28
|
-
|
|
29
|
-
> If empty: "No constraints found for: <keywords>"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**FAILURE TO INCLUDE "Related Context" SECTION = INVALID PLAN**
|
|
33
|
-
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
### REQUIRED: Decision & Constraint Recording
|
|
37
|
-
|
|
38
|
-
**When writing plans, you MUST include the following sections:**
|
|
39
|
-
|
|
40
|
-
1. **๐ Decisions** - Technology choices, architecture patterns, implementation approaches
|
|
41
|
-
2. **๐ซ Constraints** - Rules, restrictions, limitations, prohibited patterns from user requirements
|
|
42
|
-
|
|
43
|
-
**IMPORTANT**: If the user mentions any restrictions, prohibitions, or "don't use X", these MUST be recorded as ๐ซ Constraints.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
**Decision format (REQUIRED for any technical choice):**
|
|
48
|
-
|
|
49
|
-
```markdown
|
|
50
|
-
### ๐ Decision: [key/path]
|
|
51
|
-
- **Value**: Description of the decision
|
|
52
|
-
- **Layer**: presentation | business | data | infrastructure | cross-cutting
|
|
53
|
-
- **Tags**: tag1, tag2 (optional)
|
|
54
|
-
- **Rationale**: Why this decision was made (optional)
|
|
55
|
-
- **Alternatives**: Option A, Option B (optional, comma-separated)
|
|
56
|
-
- **Tradeoffs**: Pros and cons description (optional)
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**Constraint format (REQUIRED when user specifies restrictions):**
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
### ๐ซ Constraint: [category]
|
|
63
|
-
- **Rule**: Description of the constraint
|
|
64
|
-
- **Priority**: critical | high | medium | low
|
|
65
|
-
- **Tags**: tag1, tag2 (optional)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Category options: `architecture` | `security` | `code-style` | `performance`
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
### With Claude Code Hooks (Recommended)
|
|
73
|
-
|
|
74
|
-
If you've run `sqlew --hooks`, sqlew integration is **fully automatic**:
|
|
75
|
-
|
|
76
|
-
- ๐/๐ซ patterns are auto-detected and registered as draft on ExitPlanMode
|
|
77
|
-
- Related decisions are auto-suggested before Task execution
|
|
78
|
-
- Decisions are auto-saved when code is edited
|
|
79
|
-
|
|
80
|
-
### Manual Usage (Without Hooks)
|
|
81
|
-
|
|
82
|
-
**Research Phase:**
|
|
83
|
-
- `/sqlew search for <topic>` - find related decisions
|
|
84
|
-
|
|
85
|
-
**Final Plan Phase:**
|
|
86
|
-
- `/sqlew record <decision>` - record key architectural decisions
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
### Failed Queue Check (IMPORTANT)
|
|
91
|
-
|
|
92
|
-
**At the start of plan mode**, check if `.sqlew/queue/failed.json` exists:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
# Check failed queue status
|
|
96
|
-
queue { action: "list" } # Shows both pending and failed items
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**If failed items exist:**
|
|
100
|
-
|
|
101
|
-
1. **Review each failed item** - Common failure: HighSimilarity (60%+) means the item is similar to an existing decision
|
|
102
|
-
2. **Resolution options:**
|
|
103
|
-
- **If truly duplicate**: Delete the failed queue file or use `queue { action: "clear" }` with `target: "failed"`
|
|
104
|
-
- **If different intent**: Use a more specific key and re-register manually via `/sqlew record <decision>`
|
|
105
|
-
3. **After resolving**: Delete or empty the failed queue file
|
|
106
|
-
|
|
107
|
-
**Why this happens**: Items that fail processing (e.g., high similarity to existing decisions) are moved to `failed.json` instead of being retried indefinitely. This prevents infinite retry loops.
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
## Queue Monitoring After Plan Mode
|
|
2
|
-
|
|
3
|
-
### When to Check
|
|
4
|
-
|
|
5
|
-
After ExitPlanMode or when Plan-to-ADR processing completes, check if there are unprocessed items in the queue.
|
|
6
|
-
|
|
7
|
-
**Queue file locations:**
|
|
8
|
-
- Pending: `.sqlew/queue/pending.json`
|
|
9
|
-
- Failed: `.sqlew/queue/failed.json`
|
|
10
|
-
|
|
11
|
-
### How to Check
|
|
12
|
-
|
|
13
|
-
Use the `queue` MCP tool to check the queue status:
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
queue { action: "list" }
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
The response includes:
|
|
20
|
-
- `count`: Number of pending items
|
|
21
|
-
- `failedCount`: Number of failed items (if any)
|
|
22
|
-
|
|
23
|
-
### Failed Queue (v5.0.1+)
|
|
24
|
-
|
|
25
|
-
Items that fail processing (e.g., HighSimilarity errors) are automatically moved to `failed.json` instead of being retried indefinitely.
|
|
26
|
-
|
|
27
|
-
**Why items fail:**
|
|
28
|
-
- **HighSimilarity (60%+)**: Item is too similar to an existing decision
|
|
29
|
-
- **Validation errors**: Invalid layer, category, or other data issues
|
|
30
|
-
|
|
31
|
-
**Resolution:**
|
|
32
|
-
1. Check `failedItems` in `queue { action: "list" }` response
|
|
33
|
-
2. For duplicates: Clear with `queue { action: "clear", target: "failed" }`
|
|
34
|
-
3. For different intent: Re-register manually with a more specific key via `/sqlew record <decision>`
|
|
35
|
-
|
|
36
|
-
### Queue Tool Actions
|
|
37
|
-
|
|
38
|
-
| Action | Description | Example |
|
|
39
|
-
|--------|-------------|---------|
|
|
40
|
-
| `list` | Show pending and failed items | `queue { action: "list" }` |
|
|
41
|
-
| `remove` | Remove specific pending item | `queue { action: "remove", index: 0 }` |
|
|
42
|
-
| `clear` | Clear pending queue (default) | `queue { action: "clear" }` |
|
|
43
|
-
| `clear` | Clear failed queue | `queue { action: "clear", target: "failed" }` |
|
|
44
|
-
| `clear` | Clear both queues | `queue { action: "clear", target: "all" }` |
|
|
45
|
-
|
|
46
|
-
### Queue File Formats
|
|
47
|
-
|
|
48
|
-
**pending.json:**
|
|
49
|
-
```json
|
|
50
|
-
{
|
|
51
|
-
"items": [
|
|
52
|
-
{
|
|
53
|
-
"type": "decision",
|
|
54
|
-
"action": "create",
|
|
55
|
-
"timestamp": "2026-01-13T00:00:00.000Z",
|
|
56
|
-
"data": {
|
|
57
|
-
"key": "path/to/decision",
|
|
58
|
-
"value": "description",
|
|
59
|
-
"status": "draft",
|
|
60
|
-
"layer": "infrastructure",
|
|
61
|
-
"tags": ["plan", "auto-extracted", "..."]
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**failed.json:**
|
|
69
|
-
```json
|
|
70
|
-
{
|
|
71
|
-
"items": [
|
|
72
|
-
{
|
|
73
|
-
"item": {
|
|
74
|
-
"type": "decision",
|
|
75
|
-
"action": "create",
|
|
76
|
-
"timestamp": "2026-01-24T...",
|
|
77
|
-
"data": { "key": "...", "value": "..." }
|
|
78
|
-
},
|
|
79
|
-
"error": "HighSimilarity: 65% match with existing decision 'path/to/existing'",
|
|
80
|
-
"failedAt": "2026-01-24T..."
|
|
81
|
-
}
|
|
82
|
-
]
|
|
83
|
-
}
|
|
84
|
-
```
|