sqlew 3.2.4 → 3.5.3
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 +843 -0
- package/README.md +53 -2
- package/assets/schema.sql +6 -1
- package/dist/config/loader.d.ts +46 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +151 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/types.d.ts +77 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +28 -0
- package/dist/config/types.js.map +1 -0
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -1
- package/dist/database.d.ts +1 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +84 -15
- package/dist/database.js.map +1 -1
- package/dist/index.js +21 -3
- package/dist/index.js.map +1 -1
- package/dist/migrations/add-v3.5.0-pruned-files.d.ts +26 -0
- package/dist/migrations/add-v3.5.0-pruned-files.d.ts.map +1 -0
- package/dist/migrations/add-v3.5.0-pruned-files.js +107 -0
- package/dist/migrations/add-v3.5.0-pruned-files.js.map +1 -0
- package/dist/migrations/index.d.ts +2 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +16 -1
- package/dist/migrations/index.js.map +1 -1
- package/dist/tests/git-aware-completion.test.d.ts +6 -0
- package/dist/tests/git-aware-completion.test.d.ts.map +1 -0
- package/dist/tests/git-aware-completion.test.js +141 -0
- package/dist/tests/git-aware-completion.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.d.ts +6 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.js +250 -0
- package/dist/tests/tasks.auto-pruning-decision-link.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-partial.test.d.ts +6 -0
- package/dist/tests/tasks.auto-pruning-partial.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-partial.test.js +274 -0
- package/dist/tests/tasks.auto-pruning-partial.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.d.ts +6 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.js +232 -0
- package/dist/tests/tasks.auto-pruning-persistence.test.js.map +1 -0
- package/dist/tests/tasks.auto-pruning-safety.test.d.ts +12 -0
- package/dist/tests/tasks.auto-pruning-safety.test.d.ts.map +1 -0
- package/dist/tests/tasks.auto-pruning-safety.test.js +196 -0
- package/dist/tests/tasks.auto-pruning-safety.test.js.map +1 -0
- package/dist/tests/tasks.link-file-backward-compat.test.d.ts +6 -0
- package/dist/tests/tasks.link-file-backward-compat.test.d.ts.map +1 -0
- package/dist/tests/tasks.link-file-backward-compat.test.js +235 -0
- package/dist/tests/tasks.link-file-backward-compat.test.js.map +1 -0
- package/dist/tests/tasks.watch-files-action.test.d.ts +6 -0
- package/dist/tests/tasks.watch-files-action.test.d.ts.map +1 -0
- package/dist/tests/tasks.watch-files-action.test.js +351 -0
- package/dist/tests/tasks.watch-files-action.test.js.map +1 -0
- package/dist/tests/tasks.watch-files-parameter.test.d.ts +6 -0
- package/dist/tests/tasks.watch-files-parameter.test.d.ts.map +1 -0
- package/dist/tests/tasks.watch-files-parameter.test.js +249 -0
- package/dist/tests/tasks.watch-files-parameter.test.js.map +1 -0
- package/dist/tests/two-step-git-completion.test.d.ts +6 -0
- package/dist/tests/two-step-git-completion.test.d.ts.map +1 -0
- package/dist/tests/two-step-git-completion.test.js +283 -0
- package/dist/tests/two-step-git-completion.test.js.map +1 -0
- package/dist/tests/vcs-staging.test.d.ts +6 -0
- package/dist/tests/vcs-staging.test.d.ts.map +1 -0
- package/dist/tests/vcs-staging.test.js +137 -0
- package/dist/tests/vcs-staging.test.js.map +1 -0
- package/dist/tools/config.d.ts +4 -2
- package/dist/tools/config.d.ts.map +1 -1
- package/dist/tools/config.js +13 -11
- package/dist/tools/config.js.map +1 -1
- package/dist/tools/constraints.d.ts +7 -4
- package/dist/tools/constraints.d.ts.map +1 -1
- package/dist/tools/constraints.js +19 -16
- package/dist/tools/constraints.js.map +1 -1
- package/dist/tools/context.d.ts +33 -17
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +84 -68
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/files.d.ts +9 -5
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +19 -15
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/messaging.d.ts +9 -5
- package/dist/tools/messaging.d.ts.map +1 -1
- package/dist/tools/messaging.js +20 -16
- package/dist/tools/messaging.js.map +1 -1
- package/dist/tools/tasks.d.ts +40 -12
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +475 -87
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/utils.d.ts +11 -6
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +56 -44
- package/dist/tools/utils.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/file-pruning.d.ts +69 -0
- package/dist/utils/file-pruning.d.ts.map +1 -0
- package/dist/utils/file-pruning.js +185 -0
- package/dist/utils/file-pruning.js.map +1 -0
- package/dist/utils/quality-checks.d.ts +60 -0
- package/dist/utils/quality-checks.d.ts.map +1 -0
- package/dist/utils/quality-checks.js +228 -0
- package/dist/utils/quality-checks.js.map +1 -0
- package/dist/utils/retention.d.ts +8 -0
- package/dist/utils/retention.d.ts.map +1 -1
- package/dist/utils/retention.js +12 -0
- package/dist/utils/retention.js.map +1 -1
- package/dist/utils/task-stale-detection.d.ts +69 -1
- package/dist/utils/task-stale-detection.d.ts.map +1 -1
- package/dist/utils/task-stale-detection.js +494 -17
- package/dist/utils/task-stale-detection.js.map +1 -1
- package/dist/utils/validators.d.ts +2 -2
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +11 -2
- package/dist/utils/validators.js.map +1 -1
- package/dist/utils/vcs-adapter.d.ts +68 -0
- package/dist/utils/vcs-adapter.d.ts.map +1 -0
- package/dist/utils/vcs-adapter.js +187 -0
- package/dist/utils/vcs-adapter.js.map +1 -0
- package/dist/watcher/file-watcher.d.ts +54 -4
- package/dist/watcher/file-watcher.d.ts.map +1 -1
- package/dist/watcher/file-watcher.js +312 -30
- package/dist/watcher/file-watcher.js.map +1 -1
- package/dist/watcher/gitignore-parser.d.ts +70 -0
- package/dist/watcher/gitignore-parser.d.ts.map +1 -0
- package/dist/watcher/gitignore-parser.js +191 -0
- package/dist/watcher/gitignore-parser.js.map +1 -0
- package/dist/watcher/index.d.ts +1 -0
- package/dist/watcher/index.d.ts.map +1 -1
- package/dist/watcher/index.js +1 -0
- package/dist/watcher/index.js.map +1 -1
- package/docs/AI_AGENT_GUIDE.md +1 -1
- package/docs/ARCHITECTURE.md +12 -0
- package/docs/AUTO_FILE_TRACKING.md +486 -82
- package/docs/CONFIGURATION.md +908 -0
- package/docs/GIT_AWARE_AUTO_COMPLETE.md +645 -0
- package/docs/MIGRATION_v3.3.md +602 -0
- package/docs/SHARED_CONCEPTS.md +2 -1
- package/docs/TASK_ACTIONS.md +12 -0
- package/docs/TASK_OVERVIEW.md +124 -23
- package/docs/TASK_PRUNING.md +589 -0
- package/docs/TASK_SYSTEM.md +83 -13
- package/docs/TOOL_REFERENCE.md +94 -6
- package/package.json +8 -6
package/dist/tools/context.js
CHANGED
|
@@ -108,14 +108,15 @@ function setDecisionInternal(params, db) {
|
|
|
108
108
|
* Supports tags, layers, scopes, and version tracking
|
|
109
109
|
*
|
|
110
110
|
* @param params - Decision parameters
|
|
111
|
+
* @param db - Optional database instance (for testing)
|
|
111
112
|
* @returns Response with success status and metadata
|
|
112
113
|
*/
|
|
113
|
-
export function setDecision(params) {
|
|
114
|
-
const
|
|
114
|
+
export function setDecision(params, db) {
|
|
115
|
+
const actualDb = db ?? getDatabase();
|
|
115
116
|
try {
|
|
116
117
|
// Use transaction for atomicity
|
|
117
|
-
return transaction(
|
|
118
|
-
return setDecisionInternal(params,
|
|
118
|
+
return transaction(actualDb, () => {
|
|
119
|
+
return setDecisionInternal(params, actualDb);
|
|
119
120
|
});
|
|
120
121
|
}
|
|
121
122
|
catch (error) {
|
|
@@ -129,10 +130,11 @@ export function setDecision(params) {
|
|
|
129
130
|
* Supports filtering by status, layer, tags, and scope
|
|
130
131
|
*
|
|
131
132
|
* @param params - Filter parameters
|
|
133
|
+
* @param db - Optional database instance (for testing)
|
|
132
134
|
* @returns Array of t_decisions with metadata
|
|
133
135
|
*/
|
|
134
|
-
export function getContext(params = {}) {
|
|
135
|
-
const
|
|
136
|
+
export function getContext(params = {}, db) {
|
|
137
|
+
const actualDb = db ?? getDatabase();
|
|
136
138
|
try {
|
|
137
139
|
// Build query dynamically based on filters
|
|
138
140
|
let query = 'SELECT * FROM v_tagged_decisions WHERE 1=1';
|
|
@@ -178,7 +180,7 @@ export function getContext(params = {}) {
|
|
|
178
180
|
// Order by most recent
|
|
179
181
|
query += ' ORDER BY updated DESC';
|
|
180
182
|
// Execute query
|
|
181
|
-
const stmt =
|
|
183
|
+
const stmt = actualDb.prepare(query);
|
|
182
184
|
const rows = stmt.all(...queryParams);
|
|
183
185
|
return {
|
|
184
186
|
decisions: rows,
|
|
@@ -196,10 +198,11 @@ export function getContext(params = {}) {
|
|
|
196
198
|
* Optionally includes decision context (v3.2.2)
|
|
197
199
|
*
|
|
198
200
|
* @param params - Decision key and optional include_context flag
|
|
201
|
+
* @param db - Optional database instance (for testing)
|
|
199
202
|
* @returns Decision details or not found
|
|
200
203
|
*/
|
|
201
|
-
export function getDecision(params) {
|
|
202
|
-
const
|
|
204
|
+
export function getDecision(params, db) {
|
|
205
|
+
const actualDb = db ?? getDatabase();
|
|
203
206
|
// Validate parameter
|
|
204
207
|
if (!params.key || params.key.trim() === '') {
|
|
205
208
|
throw new Error('Parameter "key" is required and cannot be empty');
|
|
@@ -207,7 +210,7 @@ export function getDecision(params) {
|
|
|
207
210
|
try {
|
|
208
211
|
// If include_context is true, use the context-aware function
|
|
209
212
|
if (params.include_context) {
|
|
210
|
-
const result = dbGetDecisionWithContext(
|
|
213
|
+
const result = dbGetDecisionWithContext(actualDb, params.key);
|
|
211
214
|
if (!result) {
|
|
212
215
|
return {
|
|
213
216
|
found: false
|
|
@@ -235,7 +238,7 @@ export function getDecision(params) {
|
|
|
235
238
|
};
|
|
236
239
|
}
|
|
237
240
|
// Standard query without context (backward compatible)
|
|
238
|
-
const stmt =
|
|
241
|
+
const stmt = actualDb.prepare('SELECT * FROM v_tagged_decisions WHERE key = ?');
|
|
239
242
|
const row = stmt.get(params.key);
|
|
240
243
|
if (!row) {
|
|
241
244
|
return {
|
|
@@ -257,10 +260,11 @@ export function getDecision(params) {
|
|
|
257
260
|
* Provides flexible tag-based filtering with status and layer support
|
|
258
261
|
*
|
|
259
262
|
* @param params - Search parameters (tags, match_mode, status, layer)
|
|
263
|
+
* @param db - Optional database instance (for testing)
|
|
260
264
|
* @returns Array of t_decisions matching tag criteria
|
|
261
265
|
*/
|
|
262
|
-
export function searchByTags(params) {
|
|
263
|
-
const
|
|
266
|
+
export function searchByTags(params, db) {
|
|
267
|
+
const actualDb = db ?? getDatabase();
|
|
264
268
|
// Validate required parameters
|
|
265
269
|
if (!params.tags || params.tags.length === 0) {
|
|
266
270
|
throw new Error('Parameter "tags" is required and must contain at least one tag');
|
|
@@ -299,7 +303,7 @@ export function searchByTags(params) {
|
|
|
299
303
|
// Optional layer filter
|
|
300
304
|
if (params.layer) {
|
|
301
305
|
// Validate layer exists
|
|
302
|
-
const layerId = getLayerId(
|
|
306
|
+
const layerId = getLayerId(actualDb, params.layer);
|
|
303
307
|
if (layerId === null) {
|
|
304
308
|
throw new Error(`Invalid layer: ${params.layer}. Must be one of: presentation, business, data, infrastructure, cross-cutting`);
|
|
305
309
|
}
|
|
@@ -309,7 +313,7 @@ export function searchByTags(params) {
|
|
|
309
313
|
// Order by most recent
|
|
310
314
|
query += ' ORDER BY updated DESC';
|
|
311
315
|
// Execute query
|
|
312
|
-
const stmt =
|
|
316
|
+
const stmt = actualDb.prepare(query);
|
|
313
317
|
const rows = stmt.all(...queryParams);
|
|
314
318
|
return {
|
|
315
319
|
decisions: rows,
|
|
@@ -326,17 +330,18 @@ export function searchByTags(params) {
|
|
|
326
330
|
* Returns all historical versions ordered by timestamp (newest first)
|
|
327
331
|
*
|
|
328
332
|
* @param params - Decision key to get history for
|
|
333
|
+
* @param db - Optional database instance (for testing)
|
|
329
334
|
* @returns Array of historical versions with metadata
|
|
330
335
|
*/
|
|
331
|
-
export function getVersions(params) {
|
|
332
|
-
const
|
|
336
|
+
export function getVersions(params, db) {
|
|
337
|
+
const actualDb = db ?? getDatabase();
|
|
333
338
|
// Validate required parameter
|
|
334
339
|
if (!params.key || params.key.trim() === '') {
|
|
335
340
|
throw new Error('Parameter "key" is required and cannot be empty');
|
|
336
341
|
}
|
|
337
342
|
try {
|
|
338
343
|
// Get key_id for the decision
|
|
339
|
-
const keyResult =
|
|
344
|
+
const keyResult = actualDb.prepare('SELECT id FROM m_context_keys WHERE key = ?').get(params.key);
|
|
340
345
|
if (!keyResult) {
|
|
341
346
|
// Key doesn't exist, return empty history
|
|
342
347
|
return {
|
|
@@ -347,7 +352,7 @@ export function getVersions(params) {
|
|
|
347
352
|
}
|
|
348
353
|
const keyId = keyResult.id;
|
|
349
354
|
// Query t_decision_history with agent join
|
|
350
|
-
const stmt =
|
|
355
|
+
const stmt = actualDb.prepare(`
|
|
351
356
|
SELECT
|
|
352
357
|
dh.version,
|
|
353
358
|
dh.value,
|
|
@@ -382,17 +387,18 @@ export function getVersions(params) {
|
|
|
382
387
|
* Supports status filtering and optional tag inclusion
|
|
383
388
|
*
|
|
384
389
|
* @param params - Layer name, optional status and include_tags
|
|
390
|
+
* @param db - Optional database instance (for testing)
|
|
385
391
|
* @returns Array of t_decisions in the specified layer
|
|
386
392
|
*/
|
|
387
|
-
export function searchByLayer(params) {
|
|
388
|
-
const
|
|
393
|
+
export function searchByLayer(params, db) {
|
|
394
|
+
const actualDb = db ?? getDatabase();
|
|
389
395
|
// Validate required parameter
|
|
390
396
|
if (!params.layer || params.layer.trim() === '') {
|
|
391
397
|
throw new Error('Parameter "layer" is required and cannot be empty');
|
|
392
398
|
}
|
|
393
399
|
try {
|
|
394
400
|
// Validate layer exists
|
|
395
|
-
const layerId = getLayerId(
|
|
401
|
+
const layerId = getLayerId(actualDb, params.layer);
|
|
396
402
|
if (layerId === null) {
|
|
397
403
|
throw new Error(`Invalid layer: ${params.layer}. Must be one of: presentation, business, data, infrastructure, cross-cutting`);
|
|
398
404
|
}
|
|
@@ -464,7 +470,7 @@ export function searchByLayer(params) {
|
|
|
464
470
|
queryParams.push(params.layer, statusValue);
|
|
465
471
|
}
|
|
466
472
|
// Execute query
|
|
467
|
-
const stmt =
|
|
473
|
+
const stmt = actualDb.prepare(query);
|
|
468
474
|
const rows = stmt.all(...queryParams);
|
|
469
475
|
return {
|
|
470
476
|
layer: params.layer,
|
|
@@ -502,9 +508,10 @@ export function searchByLayer(params) {
|
|
|
502
508
|
* All inferred fields can be overridden via optional parameters.
|
|
503
509
|
*
|
|
504
510
|
* @param params - Quick set parameters (key and value required)
|
|
511
|
+
* @param db - Optional database instance (for testing)
|
|
505
512
|
* @returns Response with success status and inferred metadata
|
|
506
513
|
*/
|
|
507
|
-
export function quickSetDecision(params) {
|
|
514
|
+
export function quickSetDecision(params, db) {
|
|
508
515
|
// Validate required parameters
|
|
509
516
|
if (!params.key || params.key.trim() === '') {
|
|
510
517
|
throw new Error('Parameter "key" is required and cannot be empty');
|
|
@@ -568,8 +575,8 @@ export function quickSetDecision(params) {
|
|
|
568
575
|
tags: inferredTags,
|
|
569
576
|
scopes: inferredScopes
|
|
570
577
|
};
|
|
571
|
-
// Call setDecision with full params
|
|
572
|
-
const result = setDecision(fullParams);
|
|
578
|
+
// Call setDecision with full params (pass db if provided)
|
|
579
|
+
const result = setDecision(fullParams, db);
|
|
573
580
|
// Return response with inferred metadata
|
|
574
581
|
return {
|
|
575
582
|
success: result.success,
|
|
@@ -596,10 +603,11 @@ export function quickSetDecision(params) {
|
|
|
596
603
|
* - search_text: Full-text search in value field
|
|
597
604
|
*
|
|
598
605
|
* @param params - Advanced search parameters with filtering, sorting, pagination
|
|
606
|
+
* @param db - Optional database instance (for testing)
|
|
599
607
|
* @returns Filtered decisions with total count for pagination
|
|
600
608
|
*/
|
|
601
|
-
export function searchAdvanced(params = {}) {
|
|
602
|
-
const
|
|
609
|
+
export function searchAdvanced(params = {}, db) {
|
|
610
|
+
const actualDb = db ?? getDatabase();
|
|
603
611
|
try {
|
|
604
612
|
// Parse relative time to Unix timestamp
|
|
605
613
|
const parseRelativeTime = (relativeTime) => {
|
|
@@ -712,7 +720,7 @@ export function searchAdvanced(params = {}) {
|
|
|
712
720
|
}
|
|
713
721
|
// Count total matching records (before pagination)
|
|
714
722
|
const countQuery = query.replace('SELECT * FROM', 'SELECT COUNT(*) as total FROM');
|
|
715
|
-
const countStmt =
|
|
723
|
+
const countStmt = actualDb.prepare(countQuery);
|
|
716
724
|
const countResult = countStmt.get(...queryParams);
|
|
717
725
|
const totalCount = countResult.total;
|
|
718
726
|
// Sorting
|
|
@@ -739,7 +747,7 @@ export function searchAdvanced(params = {}) {
|
|
|
739
747
|
query += ' LIMIT ? OFFSET ?';
|
|
740
748
|
queryParams.push(limit, offset);
|
|
741
749
|
// Execute query
|
|
742
|
-
const stmt =
|
|
750
|
+
const stmt = actualDb.prepare(query);
|
|
743
751
|
const rows = stmt.all(...queryParams);
|
|
744
752
|
return {
|
|
745
753
|
decisions: rows,
|
|
@@ -758,17 +766,18 @@ export function searchAdvanced(params = {}) {
|
|
|
758
766
|
* Limit: 50 items per batch (constraint #3)
|
|
759
767
|
*
|
|
760
768
|
* @param params - Batch parameters with array of decisions and atomic flag
|
|
769
|
+
* @param db - Optional database instance (for testing)
|
|
761
770
|
* @returns Response with success status and detailed results for each item
|
|
762
771
|
*/
|
|
763
|
-
export function setDecisionBatch(params) {
|
|
764
|
-
const
|
|
772
|
+
export function setDecisionBatch(params, db) {
|
|
773
|
+
const actualDb = db ?? getDatabase();
|
|
765
774
|
// Validate required parameters
|
|
766
775
|
if (!params.decisions || !Array.isArray(params.decisions)) {
|
|
767
776
|
throw new Error('Parameter "decisions" is required and must be an array');
|
|
768
777
|
}
|
|
769
778
|
const atomic = params.atomic !== undefined ? params.atomic : true;
|
|
770
779
|
// Use processBatch utility
|
|
771
|
-
const batchResult = processBatch(
|
|
780
|
+
const batchResult = processBatch(actualDb, params.decisions, (decision, db) => {
|
|
772
781
|
const result = setDecisionInternal(decision, db);
|
|
773
782
|
return {
|
|
774
783
|
key: decision.key,
|
|
@@ -796,10 +805,11 @@ export function setDecisionBatch(params) {
|
|
|
796
805
|
* Token cost: ~5-10 tokens per check
|
|
797
806
|
*
|
|
798
807
|
* @param params - Agent name and since_timestamp (ISO 8601)
|
|
808
|
+
* @param db - Optional database instance (for testing)
|
|
799
809
|
* @returns Boolean flag and counts for decisions, messages, files
|
|
800
810
|
*/
|
|
801
|
-
export function hasUpdates(params) {
|
|
802
|
-
const
|
|
811
|
+
export function hasUpdates(params, db) {
|
|
812
|
+
const actualDb = db ?? getDatabase();
|
|
803
813
|
// Validate required parameters
|
|
804
814
|
if (!params.agent_name || params.agent_name.trim() === '') {
|
|
805
815
|
throw new Error('Parameter "agent_name" is required and cannot be empty');
|
|
@@ -815,7 +825,7 @@ export function hasUpdates(params) {
|
|
|
815
825
|
}
|
|
816
826
|
const sinceTs = Math.floor(sinceDate.getTime() / 1000);
|
|
817
827
|
// Count decisions updated since timestamp (both string and numeric tables)
|
|
818
|
-
const decisionCountStmt =
|
|
828
|
+
const decisionCountStmt = actualDb.prepare(`
|
|
819
829
|
SELECT COUNT(*) as count FROM (
|
|
820
830
|
SELECT ts FROM t_decisions WHERE ts > ?
|
|
821
831
|
UNION ALL
|
|
@@ -825,12 +835,12 @@ export function hasUpdates(params) {
|
|
|
825
835
|
const decisionResult = decisionCountStmt.get(sinceTs, sinceTs);
|
|
826
836
|
const decisionsCount = decisionResult.count;
|
|
827
837
|
// Get agent_id for the requesting agent
|
|
828
|
-
const agentResult =
|
|
838
|
+
const agentResult = actualDb.prepare('SELECT id FROM m_agents WHERE name = ?').get(params.agent_name);
|
|
829
839
|
// Count messages for the agent (received messages - to_agent_id matches OR broadcast messages)
|
|
830
840
|
let messagesCount = 0;
|
|
831
841
|
if (agentResult) {
|
|
832
842
|
const agentId = agentResult.id;
|
|
833
|
-
const messageCountStmt =
|
|
843
|
+
const messageCountStmt = actualDb.prepare(`
|
|
834
844
|
SELECT COUNT(*) as count FROM t_agent_messages
|
|
835
845
|
WHERE ts > ? AND (to_agent_id = ? OR to_agent_id IS NULL)
|
|
836
846
|
`);
|
|
@@ -838,7 +848,7 @@ export function hasUpdates(params) {
|
|
|
838
848
|
messagesCount = messageResult.count;
|
|
839
849
|
}
|
|
840
850
|
// Count file changes since timestamp
|
|
841
|
-
const fileCountStmt =
|
|
851
|
+
const fileCountStmt = actualDb.prepare(`
|
|
842
852
|
SELECT COUNT(*) as count FROM t_file_changes WHERE ts > ?
|
|
843
853
|
`);
|
|
844
854
|
const fileResult = fileCountStmt.get(sinceTs);
|
|
@@ -865,10 +875,11 @@ export function hasUpdates(params) {
|
|
|
865
875
|
* Validates required fields if template specifies any
|
|
866
876
|
*
|
|
867
877
|
* @param params - Template name, key, value, and optional overrides
|
|
878
|
+
* @param db - Optional database instance (for testing)
|
|
868
879
|
* @returns Response with success status and applied defaults metadata
|
|
869
880
|
*/
|
|
870
|
-
export function setFromTemplate(params) {
|
|
871
|
-
const
|
|
881
|
+
export function setFromTemplate(params, db) {
|
|
882
|
+
const actualDb = db ?? getDatabase();
|
|
872
883
|
// Validate required parameters
|
|
873
884
|
if (!params.template || params.template.trim() === '') {
|
|
874
885
|
throw new Error('Parameter "template" is required and cannot be empty');
|
|
@@ -881,7 +892,7 @@ export function setFromTemplate(params) {
|
|
|
881
892
|
}
|
|
882
893
|
try {
|
|
883
894
|
// Get template
|
|
884
|
-
const templateRow =
|
|
895
|
+
const templateRow = actualDb.prepare('SELECT * FROM t_decision_templates WHERE name = ?').get(params.template);
|
|
885
896
|
if (!templateRow) {
|
|
886
897
|
throw new Error(`Template not found: ${params.template}`);
|
|
887
898
|
}
|
|
@@ -919,8 +930,8 @@ export function setFromTemplate(params) {
|
|
|
919
930
|
if (!params.status && defaults.status) {
|
|
920
931
|
appliedDefaults.status = defaults.status;
|
|
921
932
|
}
|
|
922
|
-
// Call setDecision with merged params
|
|
923
|
-
const result = setDecision(decisionParams);
|
|
933
|
+
// Call setDecision with merged params (pass db if provided)
|
|
934
|
+
const result = setDecision(decisionParams, actualDb);
|
|
924
935
|
return {
|
|
925
936
|
success: result.success,
|
|
926
937
|
key: result.key,
|
|
@@ -941,10 +952,11 @@ export function setFromTemplate(params) {
|
|
|
941
952
|
* Defines reusable defaults and required fields for decisions
|
|
942
953
|
*
|
|
943
954
|
* @param params - Template name, defaults, required fields, and creator
|
|
955
|
+
* @param db - Optional database instance (for testing)
|
|
944
956
|
* @returns Response with success status and template ID
|
|
945
957
|
*/
|
|
946
|
-
export function createTemplate(params) {
|
|
947
|
-
const
|
|
958
|
+
export function createTemplate(params, db) {
|
|
959
|
+
const actualDb = db ?? getDatabase();
|
|
948
960
|
// Validate required parameters
|
|
949
961
|
if (!params.name || params.name.trim() === '') {
|
|
950
962
|
throw new Error('Parameter "name" is required and cannot be empty');
|
|
@@ -953,10 +965,10 @@ export function createTemplate(params) {
|
|
|
953
965
|
throw new Error('Parameter "defaults" is required and must be an object');
|
|
954
966
|
}
|
|
955
967
|
try {
|
|
956
|
-
return transaction(
|
|
968
|
+
return transaction(actualDb, () => {
|
|
957
969
|
// Validate layer if provided in defaults
|
|
958
970
|
if (params.defaults.layer) {
|
|
959
|
-
const layerId = getLayerId(
|
|
971
|
+
const layerId = getLayerId(actualDb, params.defaults.layer);
|
|
960
972
|
if (layerId === null) {
|
|
961
973
|
throw new Error(`Invalid layer in defaults: ${params.defaults.layer}. Must be one of: presentation, business, data, infrastructure, cross-cutting`);
|
|
962
974
|
}
|
|
@@ -968,13 +980,13 @@ export function createTemplate(params) {
|
|
|
968
980
|
// Get or create agent if creator specified
|
|
969
981
|
let createdById = null;
|
|
970
982
|
if (params.created_by) {
|
|
971
|
-
createdById = getOrCreateAgent(
|
|
983
|
+
createdById = getOrCreateAgent(actualDb, params.created_by);
|
|
972
984
|
}
|
|
973
985
|
// Serialize defaults and required fields
|
|
974
986
|
const defaultsJson = JSON.stringify(params.defaults);
|
|
975
987
|
const requiredFieldsJson = params.required_fields ? JSON.stringify(params.required_fields) : null;
|
|
976
988
|
// Insert template
|
|
977
|
-
const stmt =
|
|
989
|
+
const stmt = actualDb.prepare(`
|
|
978
990
|
INSERT INTO t_decision_templates (name, defaults, required_fields, created_by)
|
|
979
991
|
VALUES (?, ?, ?, ?)
|
|
980
992
|
`);
|
|
@@ -997,12 +1009,13 @@ export function createTemplate(params) {
|
|
|
997
1009
|
* Returns all templates with their defaults and metadata
|
|
998
1010
|
*
|
|
999
1011
|
* @param params - No parameters required
|
|
1012
|
+
* @param db - Optional database instance (for testing)
|
|
1000
1013
|
* @returns Array of all templates with parsed JSON fields
|
|
1001
1014
|
*/
|
|
1002
|
-
export function listTemplates(params = {}) {
|
|
1003
|
-
const
|
|
1015
|
+
export function listTemplates(params = {}, db) {
|
|
1016
|
+
const actualDb = db ?? getDatabase();
|
|
1004
1017
|
try {
|
|
1005
|
-
const stmt =
|
|
1018
|
+
const stmt = actualDb.prepare(`
|
|
1006
1019
|
SELECT
|
|
1007
1020
|
t.id,
|
|
1008
1021
|
t.name,
|
|
@@ -1047,18 +1060,19 @@ export function listTemplates(params = {}) {
|
|
|
1047
1060
|
* (tags, scopes) will also be deleted due to CASCADE constraints.
|
|
1048
1061
|
*
|
|
1049
1062
|
* @param params - Decision key to delete
|
|
1063
|
+
* @param db - Optional database instance (for testing)
|
|
1050
1064
|
* @returns Response with success status
|
|
1051
1065
|
*/
|
|
1052
|
-
export function hardDeleteDecision(params) {
|
|
1053
|
-
const
|
|
1066
|
+
export function hardDeleteDecision(params, db) {
|
|
1067
|
+
const actualDb = db ?? getDatabase();
|
|
1054
1068
|
// Validate parameter
|
|
1055
1069
|
if (!params.key || params.key.trim() === '') {
|
|
1056
1070
|
throw new Error('Parameter "key" is required and cannot be empty');
|
|
1057
1071
|
}
|
|
1058
1072
|
try {
|
|
1059
|
-
return transaction(
|
|
1073
|
+
return transaction(actualDb, () => {
|
|
1060
1074
|
// Get key_id
|
|
1061
|
-
const keyResult =
|
|
1075
|
+
const keyResult = actualDb.prepare('SELECT id FROM m_context_keys WHERE key = ?').get(params.key);
|
|
1062
1076
|
if (!keyResult) {
|
|
1063
1077
|
// Key doesn't exist - still return success (idempotent)
|
|
1064
1078
|
return {
|
|
@@ -1069,15 +1083,15 @@ export function hardDeleteDecision(params) {
|
|
|
1069
1083
|
}
|
|
1070
1084
|
const keyId = keyResult.id;
|
|
1071
1085
|
// Delete from t_decisions (if exists)
|
|
1072
|
-
const deletedString =
|
|
1086
|
+
const deletedString = actualDb.prepare('DELETE FROM t_decisions WHERE key_id = ?').run(keyId);
|
|
1073
1087
|
// Delete from t_decisions_numeric (if exists)
|
|
1074
|
-
const deletedNumeric =
|
|
1088
|
+
const deletedNumeric = actualDb.prepare('DELETE FROM t_decisions_numeric WHERE key_id = ?').run(keyId);
|
|
1075
1089
|
// Delete from t_decision_history (CASCADE should handle this, but explicit for clarity)
|
|
1076
|
-
const deletedHistory =
|
|
1090
|
+
const deletedHistory = actualDb.prepare('DELETE FROM t_decision_history WHERE key_id = ?').run(keyId);
|
|
1077
1091
|
// Delete from t_decision_tags (CASCADE should handle this)
|
|
1078
|
-
const deletedTags =
|
|
1092
|
+
const deletedTags = actualDb.prepare('DELETE FROM t_decision_tags WHERE decision_key_id = ?').run(keyId);
|
|
1079
1093
|
// Delete from t_decision_scopes (CASCADE should handle this)
|
|
1080
|
-
const deletedScopes =
|
|
1094
|
+
const deletedScopes = actualDb.prepare('DELETE FROM t_decision_scopes WHERE decision_key_id = ?').run(keyId);
|
|
1081
1095
|
// Calculate total deleted records
|
|
1082
1096
|
const totalDeleted = deletedString.changes + deletedNumeric.changes + deletedHistory.changes + deletedTags.changes + deletedScopes.changes;
|
|
1083
1097
|
if (totalDeleted === 0) {
|
|
@@ -1107,10 +1121,11 @@ export function hardDeleteDecision(params) {
|
|
|
1107
1121
|
* Adds rich context (rationale, alternatives, tradeoffs) to a decision
|
|
1108
1122
|
*
|
|
1109
1123
|
* @param params - Context parameters
|
|
1124
|
+
* @param db - Optional database instance (for testing)
|
|
1110
1125
|
* @returns Response with success status
|
|
1111
1126
|
*/
|
|
1112
|
-
export function addDecisionContextAction(params) {
|
|
1113
|
-
const
|
|
1127
|
+
export function addDecisionContextAction(params, db) {
|
|
1128
|
+
const actualDb = db ?? getDatabase();
|
|
1114
1129
|
// Validate required parameters
|
|
1115
1130
|
if (!params.key || params.key.trim() === '') {
|
|
1116
1131
|
throw new Error('Parameter "key" is required and cannot be empty');
|
|
@@ -1129,7 +1144,7 @@ export function addDecisionContextAction(params) {
|
|
|
1129
1144
|
if (tradeoffs && typeof tradeoffs === 'object') {
|
|
1130
1145
|
tradeoffs = JSON.stringify(tradeoffs);
|
|
1131
1146
|
}
|
|
1132
|
-
const contextId = dbAddDecisionContext(
|
|
1147
|
+
const contextId = dbAddDecisionContext(actualDb, params.key, params.rationale, alternatives, tradeoffs, params.decided_by || null, params.related_task_id || null, params.related_constraint_id || null);
|
|
1133
1148
|
return {
|
|
1134
1149
|
success: true,
|
|
1135
1150
|
context_id: contextId,
|
|
@@ -1147,12 +1162,13 @@ export function addDecisionContextAction(params) {
|
|
|
1147
1162
|
* Query decision contexts with optional filters
|
|
1148
1163
|
*
|
|
1149
1164
|
* @param params - Filter parameters
|
|
1165
|
+
* @param db - Optional database instance (for testing)
|
|
1150
1166
|
* @returns Array of decision contexts
|
|
1151
1167
|
*/
|
|
1152
|
-
export function listDecisionContextsAction(params) {
|
|
1153
|
-
const
|
|
1168
|
+
export function listDecisionContextsAction(params, db) {
|
|
1169
|
+
const actualDb = db ?? getDatabase();
|
|
1154
1170
|
try {
|
|
1155
|
-
const contexts = dbListDecisionContexts(
|
|
1171
|
+
const contexts = dbListDecisionContexts(actualDb, {
|
|
1156
1172
|
decisionKey: params.decision_key,
|
|
1157
1173
|
relatedTaskId: params.related_task_id,
|
|
1158
1174
|
relatedConstraintId: params.related_constraint_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"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"}
|