sqlew 4.1.2 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -0
- package/README.md +268 -409
- package/assets/claude-md-snippets/plan-mode-integration.md +36 -10
- package/assets/config.example.toml +120 -282
- 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 +107 -6
- 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/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 +12 -3
- package/dist/init-skills.d.ts.map +1 -1
- package/dist/init-skills.js +96 -24
- 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.js +5 -5
- 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/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/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/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/has-updates.d.ts.map +1 -1
- package/dist/tools/context/actions/has-updates.js +0 -4
- package/dist/tools/context/actions/has-updates.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.d.ts.map +1 -1
- package/dist/tools/files/help/example.js +11 -0
- package/dist/tools/files/help/example.js.map +1 -1
- package/dist/tools/files/help/help.d.ts.map +1 -1
- package/dist/tools/files/help/help.js +11 -0
- package/dist/tools/files/help/help.js.map +1 -1
- package/dist/tools/suggest/actions/by-context.d.ts.map +1 -1
- package/dist/tools/suggest/actions/by-context.js +5 -15
- package/dist/tools/suggest/actions/by-context.js.map +1 -1
- package/dist/tools/suggest/actions/by-key.d.ts.map +1 -1
- package/dist/tools/suggest/actions/by-key.js +5 -15
- package/dist/tools/suggest/actions/by-key.js.map +1 -1
- package/dist/tools/suggest/actions/by-tags.d.ts.map +1 -1
- package/dist/tools/suggest/actions/by-tags.js +5 -15
- package/dist/tools/suggest/actions/by-tags.js.map +1 -1
- package/dist/tools/suggest/actions/constraint-by-context.d.ts +1 -1
- package/dist/tools/suggest/actions/constraint-by-context.d.ts.map +1 -1
- package/dist/tools/suggest/actions/constraint-by-context.js +9 -16
- package/dist/tools/suggest/actions/constraint-by-context.js.map +1 -1
- package/dist/tools/suggest/actions/constraint-by-tags.d.ts +1 -1
- package/dist/tools/suggest/actions/constraint-by-tags.d.ts.map +1 -1
- package/dist/tools/suggest/actions/constraint-by-tags.js +11 -17
- package/dist/tools/suggest/actions/constraint-by-tags.js.map +1 -1
- package/dist/tools/suggest/actions/constraint-by-text.d.ts +1 -1
- package/dist/tools/suggest/actions/constraint-by-text.d.ts.map +1 -1
- package/dist/tools/suggest/actions/constraint-by-text.js +6 -15
- package/dist/tools/suggest/actions/constraint-by-text.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 +9 -230
- 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.d.ts.map +1 -1
- package/dist/utils/action-specs/decision-specs.js +11 -10
- package/dist/utils/action-specs/decision-specs.js.map +1 -1
- package/dist/utils/action-specs/file-specs.js +4 -4
- package/dist/utils/action-specs/file-specs.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/suggest-helpers.d.ts +82 -0
- package/dist/utils/suggest-helpers.d.ts.map +1 -0
- package/dist/utils/suggest-helpers.js +93 -0
- package/dist/utils/suggest-helpers.js.map +1 -0
- 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 +1 -1
|
@@ -17,6 +17,8 @@ import { BaseWatcher } from './base-watcher.js';
|
|
|
17
17
|
import { getQueuePath, hasQueueItems, processQueue } from '../utils/hook-queue.js';
|
|
18
18
|
import { quickSetDecision } from '../tools/context/actions/quick-set.js';
|
|
19
19
|
import { setDecision } from '../tools/context/actions/set.js';
|
|
20
|
+
import { addConstraint } from '../tools/constraints/actions/add.js';
|
|
21
|
+
import { activateConstraintsByTag } from '../tools/constraints/actions/activate.js';
|
|
20
22
|
import { debugLog } from '../utils/debug-logger.js';
|
|
21
23
|
/**
|
|
22
24
|
* QueueWatcher - Singleton for monitoring hook queue
|
|
@@ -25,6 +27,7 @@ export class QueueWatcher extends BaseWatcher {
|
|
|
25
27
|
static instance = null;
|
|
26
28
|
projectRoot;
|
|
27
29
|
processing = false;
|
|
30
|
+
currentCallId = '';
|
|
28
31
|
constructor(projectRoot) {
|
|
29
32
|
super('QueueWatcher', 500); // 500ms debounce for queue changes
|
|
30
33
|
this.projectRoot = projectRoot;
|
|
@@ -98,9 +101,15 @@ export class QueueWatcher extends BaseWatcher {
|
|
|
98
101
|
if (!path.endsWith('pending.json')) {
|
|
99
102
|
return;
|
|
100
103
|
}
|
|
101
|
-
|
|
104
|
+
const eventId = Math.random().toString(36).slice(2, 6);
|
|
105
|
+
debugLog('INFO', `${this.watcherName}: Queue file changed`, {
|
|
106
|
+
eventId,
|
|
107
|
+
path,
|
|
108
|
+
hasDebounceTimer: this.debounceTimers.has('queue-process'),
|
|
109
|
+
});
|
|
102
110
|
// Debounce to avoid processing during rapid writes
|
|
103
111
|
this.debounce('queue-process', async () => {
|
|
112
|
+
debugLog('INFO', `${this.watcherName}: Debounce callback fired`, { eventId });
|
|
104
113
|
await this.processQueueIfNeeded();
|
|
105
114
|
});
|
|
106
115
|
}
|
|
@@ -108,33 +117,57 @@ export class QueueWatcher extends BaseWatcher {
|
|
|
108
117
|
* Process queue if items exist
|
|
109
118
|
*/
|
|
110
119
|
async processQueueIfNeeded() {
|
|
111
|
-
|
|
120
|
+
const callId = Math.random().toString(36).slice(2, 8);
|
|
121
|
+
this.currentCallId = callId; // Store for use in item processors
|
|
122
|
+
// CRITICAL: Set processing flag IMMEDIATELY to prevent race conditions
|
|
123
|
+
// Multiple calls can arrive before the first one finishes checking hasQueueItems
|
|
112
124
|
if (this.processing) {
|
|
125
|
+
debugLog('WARN', `${this.watcherName}: Skipping - already processing`, { callId });
|
|
113
126
|
return;
|
|
114
127
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
128
|
+
this.processing = true; // SET IMMEDIATELY after check!
|
|
129
|
+
debugLog('INFO', `${this.watcherName}: processQueueIfNeeded called`, {
|
|
130
|
+
callId,
|
|
131
|
+
processing: true,
|
|
132
|
+
});
|
|
119
133
|
try {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
if (!hasQueueItems(this.projectRoot)) {
|
|
135
|
+
debugLog('INFO', `${this.watcherName}: Queue is empty, nothing to process`, { callId });
|
|
136
|
+
return;
|
|
123
137
|
}
|
|
138
|
+
debugLog('INFO', `${this.watcherName}: Starting queue processing`, { callId });
|
|
139
|
+
const count = await processQueue(this.projectRoot, this.processItem.bind(this), callId);
|
|
140
|
+
debugLog('INFO', `${this.watcherName}: Processed ${count} queue items`, { callId });
|
|
124
141
|
}
|
|
125
142
|
catch (error) {
|
|
126
|
-
debugLog('ERROR', `${this.watcherName}: Error processing queue`, { error });
|
|
143
|
+
debugLog('ERROR', `${this.watcherName}: Error processing queue`, { callId, error });
|
|
127
144
|
}
|
|
128
145
|
finally {
|
|
129
146
|
this.processing = false;
|
|
147
|
+
debugLog('INFO', `${this.watcherName}: Processing flag reset`, { callId });
|
|
130
148
|
}
|
|
131
149
|
}
|
|
132
150
|
/**
|
|
133
|
-
* Process a single queue item
|
|
151
|
+
* Process a single queue item (decision or constraint)
|
|
152
|
+
* @since v4.2.1 - Added constraint support
|
|
134
153
|
*/
|
|
135
154
|
async processItem(item) {
|
|
155
|
+
if (item.type === 'decision') {
|
|
156
|
+
await this.processDecisionItem(item);
|
|
157
|
+
}
|
|
158
|
+
else if (item.type === 'constraint') {
|
|
159
|
+
await this.processConstraintItem(item);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Process a decision queue item
|
|
164
|
+
*/
|
|
165
|
+
async processDecisionItem(item) {
|
|
136
166
|
const { action, data } = item;
|
|
137
|
-
debugLog('INFO', `${this.watcherName}: Processing ${action}`, {
|
|
167
|
+
debugLog('INFO', `${this.watcherName}: Processing decision ${action}`, {
|
|
168
|
+
callId: this.currentCallId,
|
|
169
|
+
key: data.key,
|
|
170
|
+
});
|
|
138
171
|
if (action === 'create') {
|
|
139
172
|
await quickSetDecision({
|
|
140
173
|
key: data.key,
|
|
@@ -154,6 +187,53 @@ export class QueueWatcher extends BaseWatcher {
|
|
|
154
187
|
});
|
|
155
188
|
}
|
|
156
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Process a constraint queue item
|
|
192
|
+
* @since v4.2.1
|
|
193
|
+
*/
|
|
194
|
+
async processConstraintItem(item) {
|
|
195
|
+
const { action, data } = item;
|
|
196
|
+
debugLog('INFO', `${this.watcherName}: Processing constraint ${action}`, {
|
|
197
|
+
callId: this.currentCallId,
|
|
198
|
+
text: data.text?.slice(0, 50),
|
|
199
|
+
category: data.category,
|
|
200
|
+
timestamp: item.timestamp,
|
|
201
|
+
});
|
|
202
|
+
if (action === 'create') {
|
|
203
|
+
const priority = data.priority;
|
|
204
|
+
debugLog('INFO', `${this.watcherName}: Calling addConstraint`, {
|
|
205
|
+
callId: this.currentCallId,
|
|
206
|
+
text: data.text?.slice(0, 30),
|
|
207
|
+
category: data.category || 'architecture',
|
|
208
|
+
priority: priority || 'medium',
|
|
209
|
+
});
|
|
210
|
+
const result = await addConstraint({
|
|
211
|
+
constraint_text: data.text,
|
|
212
|
+
category: data.category || 'architecture',
|
|
213
|
+
priority: priority || 'medium',
|
|
214
|
+
layer: data.layer,
|
|
215
|
+
tags: data.tags,
|
|
216
|
+
active: data.active ?? true,
|
|
217
|
+
});
|
|
218
|
+
debugLog('INFO', `${this.watcherName}: addConstraint returned`, {
|
|
219
|
+
callId: this.currentCallId,
|
|
220
|
+
success: result.success,
|
|
221
|
+
constraint_id: result.constraint_id,
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
else if (action === 'activate') {
|
|
225
|
+
// Activate constraints by plan_id tag
|
|
226
|
+
if (data.plan_id) {
|
|
227
|
+
const tag = data.plan_id.slice(0, 8); // Short form of plan_id
|
|
228
|
+
const result = await activateConstraintsByTag(tag);
|
|
229
|
+
debugLog('INFO', `${this.watcherName}: Activated constraints`, {
|
|
230
|
+
callId: this.currentCallId,
|
|
231
|
+
activated_count: result.activated_count,
|
|
232
|
+
plan_tag: tag,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
157
237
|
/**
|
|
158
238
|
* Get watcher status
|
|
159
239
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-watcher.js","sourceRoot":"","sources":["../../src/watcher/queue-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"queue-watcher.js","sourceRoot":"","sources":["../../src/watcher/queue-watcher.ts"],"names":[],"mappings":"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"}
|
package/docs/ADR_CONCEPTS.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
**Architecture Decision Records (ADR)** document the architectural decisions made on a project, including context, consequences, and alternatives considered. sqlew extends this proven pattern to AI agents.
|
|
4
4
|
|
|
5
|
+
## Plan-to-ADR (v4.3.0+)
|
|
6
|
+
|
|
7
|
+
**Plan-to-ADR** is sqlew's automatic ADR generation feature. Write decisions in your plan files using Markdown patterns (`📌 Decision` / `🚫 Constraint`), and they're automatically extracted and registered as structured ADR entries.
|
|
8
|
+
|
|
5
9
|
## How It Works
|
|
6
10
|
|
|
7
11
|
```mermaid
|
package/docs/HOOKS_GUIDE.md
CHANGED
|
@@ -4,7 +4,7 @@ Integration guide for sqlew with Claude Code hooks.
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
sqlew integrates with Claude Code through PreToolUse and PostToolUse hooks, enabling automatic
|
|
7
|
+
sqlew integrates with Claude Code through PreToolUse and PostToolUse hooks, enabling **Plan-to-ADR** (v4.3.0+): automatic Architecture Decision Record generation during AI-assisted development.
|
|
8
8
|
|
|
9
9
|
## Architecture
|
|
10
10
|
|
package/package.json
CHANGED