@coreyuan/vector-mind 1.0.54 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +107 -72
  2. package/admin-panel/README.md +77 -0
  3. package/admin-panel/dist/client/assets/index-Bzyjdhh2.css +1 -0
  4. package/admin-panel/dist/client/assets/index-Ph73ewzt.js +9 -0
  5. package/admin-panel/dist/client/index.html +14 -0
  6. package/admin-panel/package.json +25 -0
  7. package/admin-panel/server/index.mjs +1424 -0
  8. package/admin-panel/server/security.mjs +117 -0
  9. package/admin-panel/server/security.test.mjs +113 -0
  10. package/admin-panel/server/storage.mjs +49 -0
  11. package/admin-panel/server/storage.test.mjs +36 -0
  12. package/dist/builtin-conventions.js +6 -1
  13. package/dist/builtin-conventions.js.map +1 -1
  14. package/dist/builtin-instructions.d.ts +1 -1
  15. package/dist/builtin-instructions.js +1 -1
  16. package/dist/builtin-instructions.js.map +1 -1
  17. package/dist/checkpoint-snapshot.d.ts +56 -0
  18. package/dist/checkpoint-snapshot.js +411 -0
  19. package/dist/checkpoint-snapshot.js.map +1 -0
  20. package/dist/config.d.ts +1 -1
  21. package/dist/config.js +1 -1
  22. package/dist/config.js.map +1 -1
  23. package/dist/context-governance.d.ts +56 -0
  24. package/dist/context-governance.js +176 -0
  25. package/dist/context-governance.js.map +1 -0
  26. package/dist/database-runtime.d.ts +3 -1
  27. package/dist/database-runtime.js +232 -127
  28. package/dist/database-runtime.js.map +1 -1
  29. package/dist/development-warnings.d.ts +2 -1
  30. package/dist/development-warnings.js +90 -20
  31. package/dist/development-warnings.js.map +1 -1
  32. package/dist/file-indexing.d.ts +2 -1
  33. package/dist/file-indexing.js +127 -47
  34. package/dist/file-indexing.js.map +1 -1
  35. package/dist/grep.js +4 -0
  36. package/dist/grep.js.map +1 -1
  37. package/dist/index.js +5 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/large-file-split.d.ts +52 -8
  40. package/dist/large-file-split.js +290 -76
  41. package/dist/large-file-split.js.map +1 -1
  42. package/dist/memory-maintenance/compaction.js +3 -2
  43. package/dist/memory-maintenance/compaction.js.map +1 -1
  44. package/dist/memory-maintenance/metrics.d.ts +1 -1
  45. package/dist/memory-maintenance/metrics.js +11 -3
  46. package/dist/memory-maintenance/metrics.js.map +1 -1
  47. package/dist/memory-maintenance/purge.js +1 -1
  48. package/dist/memory-maintenance/purge.js.map +1 -1
  49. package/dist/memory-maintenance/runner.d.ts +1 -0
  50. package/dist/memory-maintenance/runner.js +15 -3
  51. package/dist/memory-maintenance/runner.js.map +1 -1
  52. package/dist/memory-maintenance/types.d.ts +1 -0
  53. package/dist/memory-mutations.d.ts +3 -3
  54. package/dist/memory-mutations.js +109 -43
  55. package/dist/memory-mutations.js.map +1 -1
  56. package/dist/memory-recall.js +16 -1
  57. package/dist/memory-recall.js.map +1 -1
  58. package/dist/operation-scope.js +42 -12
  59. package/dist/operation-scope.js.map +1 -1
  60. package/dist/path-containment.d.ts +5 -0
  61. package/dist/path-containment.js +64 -0
  62. package/dist/path-containment.js.map +1 -0
  63. package/dist/path-filters.d.ts +1 -1
  64. package/dist/path-filters.js +7 -6
  65. package/dist/path-filters.js.map +1 -1
  66. package/dist/pending-changes.d.ts +5 -0
  67. package/dist/pending-changes.js +26 -16
  68. package/dist/pending-changes.js.map +1 -1
  69. package/dist/project-files.d.ts +1 -0
  70. package/dist/project-files.js +19 -10
  71. package/dist/project-files.js.map +1 -1
  72. package/dist/root.d.ts +4 -1
  73. package/dist/root.js +34 -4
  74. package/dist/root.js.map +1 -1
  75. package/dist/rtk-integrity.d.ts +5 -0
  76. package/dist/rtk-integrity.js +35 -0
  77. package/dist/rtk-integrity.js.map +1 -0
  78. package/dist/rtk-shim.js +22 -9
  79. package/dist/rtk-shim.js.map +1 -1
  80. package/dist/rtk-tools.d.ts +8 -0
  81. package/dist/rtk-tools.js +59 -42
  82. package/dist/rtk-tools.js.map +1 -1
  83. package/dist/server-instructions.js +9 -88
  84. package/dist/server-instructions.js.map +1 -1
  85. package/dist/tool-catalog.d.ts +2 -0
  86. package/dist/tool-catalog.js +76 -23
  87. package/dist/tool-catalog.js.map +1 -1
  88. package/dist/tool-handlers/context-recovery.js +79 -54
  89. package/dist/tool-handlers/context-recovery.js.map +1 -1
  90. package/dist/tool-handlers/large-files.js +600 -44
  91. package/dist/tool-handlers/large-files.js.map +1 -1
  92. package/dist/tool-handlers/memory-diagnostics.js +240 -45
  93. package/dist/tool-handlers/memory-diagnostics.js.map +1 -1
  94. package/dist/tool-handlers/memory.js +167 -22
  95. package/dist/tool-handlers/memory.js.map +1 -1
  96. package/dist/tool-handlers/operations.js +28 -8
  97. package/dist/tool-handlers/operations.js.map +1 -1
  98. package/dist/tool-handlers/requirement-status.d.ts +5 -0
  99. package/dist/tool-handlers/requirement-status.js +267 -0
  100. package/dist/tool-handlers/requirement-status.js.map +1 -0
  101. package/dist/tool-handlers/requirements.js +786 -97
  102. package/dist/tool-handlers/requirements.js.map +1 -1
  103. package/dist/tool-handlers.d.ts +4 -0
  104. package/dist/tool-handlers.js +183 -10
  105. package/dist/tool-handlers.js.map +1 -1
  106. package/dist/tool-output.d.ts +32 -1
  107. package/dist/tool-output.js +31 -12
  108. package/dist/tool-output.js.map +1 -1
  109. package/dist/tool-schemas.d.ts +235 -0
  110. package/dist/tool-schemas.js +98 -26
  111. package/dist/tool-schemas.js.map +1 -1
  112. package/dist/types.d.ts +1 -0
  113. package/docs/capability-matrix.md +24 -17
  114. package/package.json +19 -6
  115. package/skills/vector-mind-autopilot/SKILL.md +82 -23
  116. package/skills/vector-mind-autopilot/references/claude-project-instructions.md +14 -11
  117. package/skills/vector-mind-autopilot/references/universal-system-prompt.md +24 -16
@@ -9,17 +9,19 @@ let dbPath = "";
9
9
  let ftsAvailable = false;
10
10
  let insertRequirementStmt;
11
11
  let getActiveRequirementStmt;
12
+ let getActiveRequirementByIdStmt;
13
+ let getActiveRequirementByGoalKeyStmt;
12
14
  let listActiveRequirementsStmt;
13
15
  let listRecentRequirementsStmt;
14
16
  let completeAllActiveRequirementsStmt;
15
17
  let completeRequirementByIdStmt;
16
- let completeAllActiveRequirementMemoryItemsStmt;
17
18
  let completeRequirementMemoryItemByReqIdStmt;
18
19
  let listChangeLogsForRequirementStmt;
19
20
  let insertChangeLogStmt;
20
21
  let upsertSyncedFileStateStmt;
21
22
  let getSyncedFileStateStmt;
22
23
  let insertMcpGuardEventStmt;
24
+ let insertMcpToolMetricStmt;
23
25
  let insertMemoryItemStmt;
24
26
  let getMemoryItemByIdStmt;
25
27
  let getRequirementMemoryItemIdStmt;
@@ -54,66 +56,69 @@ let indexFileSymbolsTx = null;
54
56
  function initMemoryItemsFts() {
55
57
  ftsAvailable = false;
56
58
  try {
57
- const existed = db
58
- .prepare(`SELECT 1 FROM sqlite_master WHERE type='table' AND name=?`)
59
- .get(FTS_TABLE_NAME);
60
- const alreadyExists = !!existed;
61
- if (!alreadyExists) {
62
- try {
63
- db.exec(`
64
- CREATE VIRTUAL TABLE ${FTS_TABLE_NAME} USING fts5(
65
- kind,
66
- title,
67
- content,
68
- file_path,
69
- metadata_json,
70
- content='memory_items',
71
- content_rowid='id',
72
- tokenize='trigram'
73
- );
74
- `);
75
- }
76
- catch {
77
- db.exec(`
78
- CREATE VIRTUAL TABLE ${FTS_TABLE_NAME} USING fts5(
79
- kind,
80
- title,
81
- content,
82
- file_path,
83
- metadata_json,
84
- content='memory_items',
85
- content_rowid='id'
86
- );
87
- `);
88
- }
89
- try {
90
- db.exec(`INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}) VALUES('rebuild');`);
91
- }
92
- catch (err) {
93
- console.error("[vectormind] fts rebuild failed:", err);
59
+ const initializeFts = db.transaction(() => {
60
+ const existed = db
61
+ .prepare(`SELECT 1 FROM sqlite_master WHERE type='table' AND name=?`)
62
+ .get(FTS_TABLE_NAME);
63
+ const alreadyExists = !!existed;
64
+ if (!alreadyExists) {
65
+ try {
66
+ db.exec(`
67
+ CREATE VIRTUAL TABLE ${FTS_TABLE_NAME} USING fts5(
68
+ kind,
69
+ title,
70
+ content,
71
+ file_path,
72
+ metadata_json,
73
+ content='memory_items',
74
+ content_rowid='id',
75
+ tokenize='trigram'
76
+ );
77
+ `);
78
+ }
79
+ catch {
80
+ db.exec(`
81
+ CREATE VIRTUAL TABLE ${FTS_TABLE_NAME} USING fts5(
82
+ kind,
83
+ title,
84
+ content,
85
+ file_path,
86
+ metadata_json,
87
+ content='memory_items',
88
+ content_rowid='id'
89
+ );
90
+ `);
91
+ }
92
+ try {
93
+ db.exec(`INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}) VALUES('rebuild');`);
94
+ }
95
+ catch (err) {
96
+ console.error("[vectormind] fts rebuild failed:", err);
97
+ }
94
98
  }
95
- }
96
- db.exec(`
97
- CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_ai
98
- AFTER INSERT ON memory_items BEGIN
99
- INSERT INTO ${FTS_TABLE_NAME}(rowid, kind, title, content, file_path, metadata_json)
100
- VALUES (new.id, new.kind, new.title, new.content, new.file_path, new.metadata_json);
101
- END;
102
-
103
- CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_ad
104
- AFTER DELETE ON memory_items BEGIN
105
- INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}, rowid, kind, title, content, file_path, metadata_json)
106
- VALUES ('delete', old.id, old.kind, old.title, old.content, old.file_path, old.metadata_json);
107
- END;
108
-
109
- CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_au
110
- AFTER UPDATE ON memory_items BEGIN
111
- INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}, rowid, kind, title, content, file_path, metadata_json)
112
- VALUES ('delete', old.id, old.kind, old.title, old.content, old.file_path, old.metadata_json);
113
- INSERT INTO ${FTS_TABLE_NAME}(rowid, kind, title, content, file_path, metadata_json)
114
- VALUES (new.id, new.kind, new.title, new.content, new.file_path, new.metadata_json);
115
- END;
116
- `);
99
+ db.exec(`
100
+ CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_ai
101
+ AFTER INSERT ON memory_items BEGIN
102
+ INSERT INTO ${FTS_TABLE_NAME}(rowid, kind, title, content, file_path, metadata_json)
103
+ VALUES (new.id, new.kind, new.title, new.content, new.file_path, new.metadata_json);
104
+ END;
105
+
106
+ CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_ad
107
+ AFTER DELETE ON memory_items BEGIN
108
+ INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}, rowid, kind, title, content, file_path, metadata_json)
109
+ VALUES ('delete', old.id, old.kind, old.title, old.content, old.file_path, old.metadata_json);
110
+ END;
111
+
112
+ CREATE TRIGGER IF NOT EXISTS vectormind_memory_items_fts_au
113
+ AFTER UPDATE ON memory_items BEGIN
114
+ INSERT INTO ${FTS_TABLE_NAME}(${FTS_TABLE_NAME}, rowid, kind, title, content, file_path, metadata_json)
115
+ VALUES ('delete', old.id, old.kind, old.title, old.content, old.file_path, old.metadata_json);
116
+ INSERT INTO ${FTS_TABLE_NAME}(rowid, kind, title, content, file_path, metadata_json)
117
+ VALUES (new.id, new.kind, new.title, new.content, new.file_path, new.metadata_json);
118
+ END;
119
+ `);
120
+ });
121
+ initializeFts.immediate();
117
122
  db.prepare(`SELECT rowid FROM ${FTS_TABLE_NAME} LIMIT 1`).get();
118
123
  ftsAvailable = true;
119
124
  }
@@ -226,6 +231,18 @@ function repairDuplicateChangeLogs() {
226
231
  const rows = selectGroupRows.all(group.req_id, group.timestamp, group.intent_summary);
227
232
  if (rows.length <= 1)
228
233
  continue;
234
+ const distinctLegacyFiles = new Set(rows.map((row) => row.file_path).filter((value) => !!value));
235
+ const hasAggregateRows = rows.some((row) => {
236
+ try {
237
+ const parsed = row.files_json ? JSON.parse(row.files_json) : null;
238
+ return Array.isArray(parsed) && parsed.length > 0;
239
+ }
240
+ catch {
241
+ return false;
242
+ }
243
+ });
244
+ if (hasAggregateRows || distinctLegacyFiles.size < 2)
245
+ continue;
229
246
  const filesByPath = new Map();
230
247
  for (const row of rows) {
231
248
  addMigrationFilesFromMetadata(filesByPath, safeParseObject(row.files_json));
@@ -274,6 +291,9 @@ function repairDuplicateChangeIntentMemoryItems() {
274
291
  continue;
275
292
  const filesByPath = new Map();
276
293
  const metadataList = rows.map((row) => safeParseObject(row.metadata_json));
294
+ const distinctLegacyFiles = new Set(rows.map((row) => row.file_path).filter((value) => !!value));
295
+ if (metadataList.some((metadata) => Array.isArray(metadata.files)) || distinctLegacyFiles.size < 2)
296
+ continue;
277
297
  for (let i = 0; i < rows.length; i += 1) {
278
298
  const row = rows[i];
279
299
  const metadata = metadataList[i] ?? {};
@@ -346,11 +366,15 @@ function backfillSyncedFileStatesFromChangeIntentMemory() {
346
366
  if (!rows.length)
347
367
  return 0;
348
368
  const upsert = db.prepare(`INSERT INTO synced_file_states (file_path, file_state_hash, source_change_id, updated_at)
349
- VALUES (?, ?, ?, CURRENT_TIMESTAMP)
369
+ VALUES (?, ?, ?, COALESCE(?, CURRENT_TIMESTAMP))
350
370
  ON CONFLICT(file_path) DO UPDATE SET
351
371
  file_state_hash = excluded.file_state_hash,
352
372
  source_change_id = excluded.source_change_id,
353
- updated_at = CURRENT_TIMESTAMP`);
373
+ updated_at = CASE
374
+ WHEN synced_file_states.updated_at IS NULL OR synced_file_states.updated_at <= excluded.updated_at
375
+ THEN excluded.updated_at
376
+ ELSE synced_file_states.updated_at
377
+ END`);
354
378
  let written = 0;
355
379
  const tx = db.transaction(() => {
356
380
  for (const row of rows) {
@@ -366,7 +390,7 @@ function backfillSyncedFileStatesFromChangeIntentMemory() {
366
390
  for (const file of filesByPath.values()) {
367
391
  if (typeof file.file_state_hash !== "string")
368
392
  continue;
369
- upsert.run(file.file_path, file.file_state_hash, sourceChangeId);
393
+ upsert.run(file.file_path, file.file_state_hash, sourceChangeId, row.updated_at);
370
394
  written += 1;
371
395
  }
372
396
  }
@@ -375,20 +399,26 @@ function backfillSyncedFileStatesFromChangeIntentMemory() {
375
399
  return written;
376
400
  }
377
401
  function repairHistoricalDuplicateChangeRecords() {
402
+ const migrationKey = "migration:aggregate_change_records:v1";
378
403
  try {
404
+ if (db.prepare(`SELECT 1 FROM meta_kv WHERE key = ? LIMIT 1`).get(migrationKey))
405
+ return;
379
406
  const removedChangeLogs = repairDuplicateChangeLogs();
380
407
  const removedChangeIntentMemory = repairDuplicateChangeIntentMemoryItems();
381
408
  const syncedFileStates = backfillSyncedFileStatesFromChangeIntentMemory();
382
- if (removedChangeLogs || removedChangeIntentMemory || syncedFileStates) {
409
+ const result = JSON.stringify({
410
+ removed_change_logs: removedChangeLogs,
411
+ removed_change_intent_memory: removedChangeIntentMemory,
412
+ synced_file_states: syncedFileStates,
413
+ ran_at: new Date().toISOString(),
414
+ });
415
+ db.transaction(() => {
416
+ db.prepare(`INSERT INTO meta_kv (key, value, updated_at)
417
+ VALUES (?, ?, CURRENT_TIMESTAMP)`).run(migrationKey, result);
383
418
  db.prepare(`INSERT INTO meta_kv (key, value, updated_at)
384
419
  VALUES ('maintenance:dedupe_change_records:last_run', ?, CURRENT_TIMESTAMP)
385
- ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = CURRENT_TIMESTAMP`).run(JSON.stringify({
386
- removed_change_logs: removedChangeLogs,
387
- removed_change_intent_memory: removedChangeIntentMemory,
388
- synced_file_states: syncedFileStates,
389
- ran_at: new Date().toISOString(),
390
- }));
391
- }
420
+ ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = CURRENT_TIMESTAMP`).run(result);
421
+ })();
392
422
  }
393
423
  catch (err) {
394
424
  console.error("[vectormind] historical duplicate change-record repair failed:", err);
@@ -407,13 +437,14 @@ export function openDatabaseRuntime(projectRoot) {
407
437
  db.pragma("journal_mode = WAL");
408
438
  db.pragma("foreign_keys = ON");
409
439
  db.exec(`
410
- CREATE TABLE IF NOT EXISTS requirements (
411
- id INTEGER PRIMARY KEY AUTOINCREMENT,
412
- title TEXT NOT NULL,
413
- status TEXT DEFAULT 'active',
414
- context_data TEXT,
415
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
416
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
440
+ CREATE TABLE IF NOT EXISTS requirements (
441
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
442
+ title TEXT NOT NULL,
443
+ status TEXT DEFAULT 'active',
444
+ context_data TEXT,
445
+ goal_key TEXT,
446
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
447
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
417
448
  );
418
449
 
419
450
  CREATE TABLE IF NOT EXISTS change_logs (
@@ -465,6 +496,23 @@ export function openDatabaseRuntime(projectRoot) {
465
496
  CREATE INDEX IF NOT EXISTS idx_mcp_guard_events_type_created_at
466
497
  ON mcp_guard_events(event_type, created_at DESC);
467
498
 
499
+ CREATE TABLE IF NOT EXISTS mcp_tool_metrics (
500
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
501
+ tool_name TEXT NOT NULL,
502
+ duration_ms REAL NOT NULL,
503
+ raw_output_chars INTEGER NOT NULL,
504
+ output_chars INTEGER NOT NULL,
505
+ is_error INTEGER NOT NULL DEFAULT 0,
506
+ root_source TEXT,
507
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP
508
+ );
509
+
510
+ CREATE INDEX IF NOT EXISTS idx_mcp_tool_metrics_created_at
511
+ ON mcp_tool_metrics(created_at DESC, id DESC);
512
+
513
+ CREATE INDEX IF NOT EXISTS idx_mcp_tool_metrics_tool_created_at
514
+ ON mcp_tool_metrics(tool_name, created_at DESC);
515
+
468
516
  CREATE INDEX IF NOT EXISTS idx_symbols_name
469
517
  ON symbols(name);
470
518
 
@@ -556,66 +604,118 @@ export function openDatabaseRuntime(projectRoot) {
556
604
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
557
605
  );
558
606
  `);
559
- if (!columnExists("requirements", "updated_at")) {
560
- db.exec(`ALTER TABLE requirements ADD COLUMN updated_at DATETIME`);
561
- db.exec(`UPDATE requirements SET updated_at = COALESCE(created_at, CURRENT_TIMESTAMP) WHERE updated_at IS NULL`);
562
- }
563
- if (!columnExists("change_logs", "files_json")) {
564
- db.exec(`ALTER TABLE change_logs ADD COLUMN files_json TEXT`);
565
- }
566
- if (!columnExists("change_logs", "file_count")) {
567
- db.exec(`ALTER TABLE change_logs ADD COLUMN file_count INTEGER DEFAULT 1`);
568
- db.exec(`UPDATE change_logs SET file_count = 1 WHERE file_count IS NULL`);
569
- }
570
- db.exec(`
571
- UPDATE requirements SET updated_at = COALESCE(updated_at, created_at, CURRENT_TIMESTAMP) WHERE updated_at IS NULL;
572
- CREATE INDEX IF NOT EXISTS idx_requirements_status_updated_at
573
- ON requirements(status, updated_at DESC, id DESC);
574
- CREATE TRIGGER IF NOT EXISTS vectormind_requirements_touch_updated_at
575
- AFTER UPDATE ON requirements
576
- FOR EACH ROW
577
- WHEN NEW.updated_at = OLD.updated_at
578
- BEGIN
579
- UPDATE requirements SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
580
- END;
581
- `);
607
+ const migrateLegacyColumns = db.transaction(() => {
608
+ if (!columnExists("requirements", "updated_at")) {
609
+ db.exec(`ALTER TABLE requirements ADD COLUMN updated_at DATETIME`);
610
+ db.exec(`UPDATE requirements SET updated_at = COALESCE(created_at, CURRENT_TIMESTAMP) WHERE updated_at IS NULL`);
611
+ }
612
+ if (!columnExists("requirements", "goal_key")) {
613
+ db.exec(`ALTER TABLE requirements ADD COLUMN goal_key TEXT`);
614
+ }
615
+ if (!columnExists("change_logs", "files_json")) {
616
+ db.exec(`ALTER TABLE change_logs ADD COLUMN files_json TEXT`);
617
+ }
618
+ if (!columnExists("change_logs", "file_count")) {
619
+ db.exec(`ALTER TABLE change_logs ADD COLUMN file_count INTEGER DEFAULT 1`);
620
+ db.exec(`UPDATE change_logs SET file_count = 1 WHERE file_count IS NULL`);
621
+ }
622
+ });
623
+ migrateLegacyColumns.immediate();
624
+ db.transaction(() => {
625
+ db.exec(`
626
+ UPDATE requirements SET updated_at = COALESCE(updated_at, created_at, CURRENT_TIMESTAMP) WHERE updated_at IS NULL;
627
+ UPDATE requirements
628
+ SET updated_at = (
629
+ SELECT MAX(mi.updated_at)
630
+ FROM memory_items mi
631
+ WHERE mi.kind = 'requirement' AND mi.req_id = requirements.id
632
+ )
633
+ WHERE (
634
+ SELECT MAX(mi.updated_at)
635
+ FROM memory_items mi
636
+ WHERE mi.kind = 'requirement' AND mi.req_id = requirements.id
637
+ ) IS NOT NULL
638
+ AND datetime((
639
+ SELECT MAX(mi.updated_at)
640
+ FROM memory_items mi
641
+ WHERE mi.kind = 'requirement' AND mi.req_id = requirements.id
642
+ )) > datetime(COALESCE(requirements.updated_at, requirements.created_at, '1970-01-01 00:00:00'));
643
+ UPDATE requirements
644
+ SET status = 'superseded', updated_at = CURRENT_TIMESTAMP
645
+ WHERE status = 'active'
646
+ AND goal_key IS NOT NULL
647
+ AND EXISTS (
648
+ SELECT 1 FROM requirements newer
649
+ WHERE newer.status = 'active'
650
+ AND newer.goal_key = requirements.goal_key
651
+ AND newer.id > requirements.id
652
+ );
653
+ UPDATE memory_items
654
+ SET metadata_json = json_set(
655
+ CASE
656
+ WHEN json_valid(COALESCE(metadata_json, '{}')) THEN COALESCE(metadata_json, '{}')
657
+ ELSE '{}'
658
+ END,
659
+ '$.status',
660
+ 'superseded',
661
+ '$.superseded',
662
+ json('true')
663
+ ),
664
+ updated_at = CURRENT_TIMESTAMP
665
+ WHERE kind = 'requirement'
666
+ AND req_id IN (
667
+ SELECT id FROM requirements WHERE status = 'superseded'
668
+ )
669
+ AND COALESCE(json_extract(
670
+ CASE
671
+ WHEN json_valid(COALESCE(metadata_json, '{}')) THEN COALESCE(metadata_json, '{}')
672
+ ELSE '{}'
673
+ END,
674
+ '$.status'
675
+ ), 'active') <> 'superseded';
676
+ CREATE INDEX IF NOT EXISTS idx_requirements_status_updated_at
677
+ ON requirements(status, updated_at DESC, id DESC);
678
+ CREATE INDEX IF NOT EXISTS idx_requirements_goal_key_status
679
+ ON requirements(goal_key, status, updated_at DESC, id DESC);
680
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_requirements_active_goal_key_unique
681
+ ON requirements(goal_key) WHERE status = 'active' AND goal_key IS NOT NULL;
682
+ CREATE TRIGGER IF NOT EXISTS vectormind_requirements_touch_updated_at
683
+ AFTER UPDATE ON requirements
684
+ FOR EACH ROW
685
+ WHEN NEW.updated_at = OLD.updated_at
686
+ BEGIN
687
+ UPDATE requirements SET updated_at = CURRENT_TIMESTAMP WHERE id = NEW.id;
688
+ END;
689
+ `);
690
+ })();
582
691
  initMemoryItemsFts();
583
692
  repairHistoricalDuplicateChangeRecords();
584
- insertRequirementStmt = db.prepare(`INSERT INTO requirements (title, context_data, status) VALUES (?, ?, 'active')`);
585
- completeAllActiveRequirementsStmt = db.prepare(`UPDATE requirements SET status = 'completed' WHERE status = 'active'`);
586
- completeRequirementByIdStmt = db.prepare(`UPDATE requirements SET status = 'completed' WHERE id = ?`);
587
- getActiveRequirementStmt = db.prepare(`SELECT id, title, status, context_data, created_at
588
- FROM requirements
693
+ insertRequirementStmt = db.prepare(`INSERT INTO requirements (title, context_data, goal_key, status) VALUES (?, ?, ?, 'active')`);
694
+ completeAllActiveRequirementsStmt = db.prepare(`UPDATE requirements SET status = 'completed', updated_at = CURRENT_TIMESTAMP WHERE status = 'active'`);
695
+ completeRequirementByIdStmt = db.prepare(`UPDATE requirements SET status = 'completed', updated_at = CURRENT_TIMESTAMP WHERE id = ?`);
696
+ getActiveRequirementStmt = db.prepare(`SELECT id, title, status, context_data, goal_key, created_at
697
+ FROM requirements
589
698
  WHERE status = 'active'
590
699
  ORDER BY updated_at DESC, created_at DESC, id DESC
591
700
  LIMIT 1`);
592
- listActiveRequirementsStmt = db.prepare(`SELECT id, title, status, context_data, created_at
701
+ getActiveRequirementByIdStmt = db.prepare(`SELECT id, title, status, context_data, goal_key, created_at
702
+ FROM requirements
703
+ WHERE status = 'active' AND id = ?
704
+ LIMIT 1`);
705
+ getActiveRequirementByGoalKeyStmt = db.prepare(`SELECT id, title, status, context_data, goal_key, created_at
706
+ FROM requirements
707
+ WHERE status = 'active' AND goal_key = ?
708
+ ORDER BY updated_at DESC, created_at DESC, id DESC
709
+ LIMIT 1`);
710
+ listActiveRequirementsStmt = db.prepare(`SELECT id, title, status, context_data, goal_key, created_at
593
711
  FROM requirements
594
712
  WHERE status = 'active'
595
713
  ORDER BY updated_at DESC, created_at DESC, id DESC
596
714
  LIMIT ?`);
597
- listRecentRequirementsStmt = db.prepare(`SELECT id, title, status, context_data, created_at
715
+ listRecentRequirementsStmt = db.prepare(`SELECT id, title, status, context_data, goal_key, created_at
598
716
  FROM requirements
599
717
  ORDER BY updated_at DESC, created_at DESC, id DESC
600
718
  LIMIT ?`);
601
- completeAllActiveRequirementMemoryItemsStmt = db.prepare(`UPDATE memory_items
602
- SET metadata_json = json_set(
603
- CASE
604
- WHEN json_valid(COALESCE(metadata_json, '{}')) THEN COALESCE(metadata_json, '{}')
605
- ELSE '{}'
606
- END,
607
- '$.status',
608
- ?
609
- ),
610
- updated_at = CURRENT_TIMESTAMP
611
- WHERE kind = 'requirement'
612
- AND json_extract(
613
- CASE
614
- WHEN json_valid(COALESCE(metadata_json, '{}')) THEN COALESCE(metadata_json, '{}')
615
- ELSE '{}'
616
- END,
617
- '$.status'
618
- ) = ?`);
619
719
  completeRequirementMemoryItemByReqIdStmt = db.prepare(`UPDATE memory_items
620
720
  SET metadata_json = json_set(
621
721
  CASE
@@ -649,6 +749,9 @@ export function openDatabaseRuntime(projectRoot) {
649
749
  (tool_name, event_type, severity, title, detail, metadata_json)
650
750
  VALUES
651
751
  (?, ?, ?, ?, ?, ?)`);
752
+ insertMcpToolMetricStmt = db.prepare(`INSERT INTO mcp_tool_metrics
753
+ (tool_name, duration_ms, raw_output_chars, output_chars, is_error, root_source)
754
+ VALUES (?, ?, ?, ?, ?, ?)`);
652
755
  insertMemoryItemStmt = db.prepare(`INSERT INTO memory_items
653
756
  (kind, title, content, file_path, start_line, end_line, req_id, metadata_json, content_hash)
654
757
  VALUES
@@ -788,17 +891,19 @@ export function openDatabaseRuntime(projectRoot) {
788
891
  statements: {
789
892
  insertRequirementStmt,
790
893
  getActiveRequirementStmt,
894
+ getActiveRequirementByIdStmt,
895
+ getActiveRequirementByGoalKeyStmt,
791
896
  listActiveRequirementsStmt,
792
897
  listRecentRequirementsStmt,
793
898
  completeAllActiveRequirementsStmt,
794
899
  completeRequirementByIdStmt,
795
- completeAllActiveRequirementMemoryItemsStmt,
796
900
  completeRequirementMemoryItemByReqIdStmt,
797
901
  listChangeLogsForRequirementStmt,
798
902
  insertChangeLogStmt,
799
903
  upsertSyncedFileStateStmt,
800
904
  getSyncedFileStateStmt,
801
905
  insertMcpGuardEventStmt,
906
+ insertMcpToolMetricStmt,
802
907
  insertMemoryItemStmt,
803
908
  getMemoryItemByIdStmt,
804
909
  getRequirementMemoryItemIdStmt,
@@ -1 +1 @@
1
- {"version":3,"file":"database-runtime.js","sourceRoot":"","sources":["../src/database-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-runtime.js","sourceRoot":"","sources":["../src/database-runtime.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ type DevelopmentWarningsContext = {
12
12
  };
13
13
  export declare function configureDevelopmentWarnings(context: DevelopmentWarningsContext): void;
14
14
  type DevelopmentWarning = {
15
- code: "large_file" | "very_large_file" | "huge_file_modularization_required" | "many_pending_files" | "broad_change_surface" | "unspecified_change_target" | "large_file_read" | "cross_project_path" | "multiple_active_requirements" | "broad_requirement_scope" | "scope_drift" | "scope_contract_missing" | "requirement_mapping_missing";
15
+ code: "large_file" | "very_large_file" | "huge_file_modularization_required" | "generated_source_not_editable" | "many_pending_files" | "broad_change_surface" | "unspecified_change_target" | "large_file_read" | "cross_project_path" | "multiple_active_requirements" | "broad_requirement_scope" | "scope_drift" | "scope_contract_missing" | "requirement_mapping_missing";
16
16
  severity: "info" | "warning" | "blocker";
17
17
  message: string;
18
18
  files?: string[];
@@ -77,6 +77,7 @@ export declare function buildRequirementScopeContract(args: {
77
77
  }): RequirementScopeContract;
78
78
  export declare function getRequirementScopeContract(reqId: number): RequirementScopeContract | null;
79
79
  export declare function mergeScopeContracts(base: RequirementScopeContract | null | undefined, extra: RequirementScopeContract | null | undefined): RequirementScopeContract | null;
80
+ export declare function scopeContractHasRules(contract: RequirementScopeContract | null | undefined): boolean;
80
81
  export declare function buildScopeDriftWarnings(args: {
81
82
  requirement?: RequirementRow;
82
83
  contract?: RequirementScopeContract | null;