sdlc-agent-4-enterprise-server 1.43.0 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +3 -2
  2. package/dist/database/adapters/SqliteAdapter.d.ts +11 -0
  3. package/dist/database/adapters/SqliteAdapter.js +60 -7
  4. package/dist/database/adapters/SqliteAdapter.js.map +1 -1
  5. package/dist/database/migration/ensure-pega-category-counters.js +4 -2
  6. package/dist/database/migration/ensure-pega-category-counters.js.map +1 -1
  7. package/dist/database/migrations/000-init-system-tables.cjs +126 -0
  8. package/dist/database/migrations/000-init-system-tables.cjs.map +1 -0
  9. package/dist/database/migrations/000-init-system-tables.d.cts +2 -0
  10. package/dist/database/schema-registry/ensure-engine-schema.d.ts +14 -0
  11. package/dist/database/schema-registry/ensure-engine-schema.js +36 -0
  12. package/dist/database/schema-registry/ensure-engine-schema.js.map +1 -0
  13. package/dist/database/schema-registry/ensure-sa4e-300.js +19 -0
  14. package/dist/database/schema-registry/ensure-sa4e-300.js.map +1 -1
  15. package/dist/database/schema-registry/ensure-sa4e-303.d.ts +1 -0
  16. package/dist/database/schema-registry/ensure-sa4e-303.js +43 -8
  17. package/dist/database/schema-registry/ensure-sa4e-303.js.map +1 -1
  18. package/dist/engine/graph/migrator.js +4 -1
  19. package/dist/engine/graph/migrator.js.map +1 -1
  20. package/dist/index.js +42 -10
  21. package/dist/index.js.map +1 -1
  22. package/dist/modules/kb-graph/service/sync.js +15 -0
  23. package/dist/modules/kb-graph/service/sync.js.map +1 -1
  24. package/dist/modules/memory/engine/edge-on-ingest.d.ts +7 -0
  25. package/dist/modules/memory/engine/edge-on-ingest.js +14 -4
  26. package/dist/modules/memory/engine/edge-on-ingest.js.map +1 -1
  27. package/dist/modules/memory/migrations/001-add-scope-columns.d.ts +3 -1
  28. package/dist/modules/memory/migrations/001-add-scope-columns.js +11 -16
  29. package/dist/modules/memory/migrations/001-add-scope-columns.js.map +1 -1
  30. package/dist/modules/memory/migrations/002-add-evolution-columns.d.ts +3 -0
  31. package/dist/modules/memory/migrations/002-add-evolution-columns.js +32 -28
  32. package/dist/modules/memory/migrations/002-add-evolution-columns.js.map +1 -1
  33. package/dist/modules/memory/migrations/003-pending-tasks.d.ts +2 -0
  34. package/dist/modules/memory/migrations/003-pending-tasks.js +12 -11
  35. package/dist/modules/memory/migrations/003-pending-tasks.js.map +1 -1
  36. package/dist/rag/async-queue.d.ts +16 -0
  37. package/dist/rag/async-queue.js +20 -0
  38. package/dist/rag/async-queue.js.map +1 -0
  39. package/dist/rag/query-router.d.ts +12 -0
  40. package/dist/rag/query-router.js +42 -0
  41. package/dist/rag/query-router.js.map +1 -0
  42. package/dist/rag/semantic-cache.d.ts +14 -0
  43. package/dist/rag/semantic-cache.js +20 -0
  44. package/dist/rag/semantic-cache.js.map +1 -0
  45. package/dist/rag/summary-tree.d.ts +20 -0
  46. package/dist/rag/summary-tree.js +28 -0
  47. package/dist/rag/summary-tree.js.map +1 -0
  48. package/dist/routes/rag.d.ts +2 -0
  49. package/dist/routes/rag.js +62 -0
  50. package/dist/routes/rag.js.map +1 -0
  51. package/dist/server/HttpServer.js +7 -1
  52. package/dist/server/HttpServer.js.map +1 -1
  53. package/dist/server/routes/admin/kb-graph.js +27 -10
  54. package/dist/server/routes/admin/kb-graph.js.map +1 -1
  55. package/dist/server/routes/api-index.d.ts +31 -0
  56. package/dist/server/routes/api-index.js +270 -71
  57. package/dist/server/routes/api-index.js.map +1 -1
  58. package/dist/server/routes/auth/unified.js +9 -1
  59. package/dist/server/routes/auth/unified.js.map +1 -1
  60. package/dist/viewer/admin/index.html +71 -14
  61. package/knexfile.cjs +91 -0
  62. package/package.json +5 -2
  63. package/src/database/adapters/SqliteAdapter.ts +58 -7
  64. package/src/database/migration/ensure-pega-category-counters.ts +4 -2
  65. package/src/database/migrations/000-init-system-tables.cjs +131 -0
  66. package/src/database/schema-registry/ensure-engine-schema.ts +37 -0
  67. package/src/database/schema-registry/ensure-sa4e-300.ts +25 -1
  68. package/src/database/schema-registry/ensure-sa4e-303.ts +50 -9
  69. package/src/engine/graph/migrator.ts +8 -1
  70. package/src/index.ts +50 -14
  71. package/src/modules/kb-graph/service/sync.ts +14 -0
  72. package/src/modules/memory/__tests__/edge-on-ingest.test.ts +30 -0
  73. package/src/modules/memory/engine/edge-on-ingest.ts +18 -4
  74. package/src/modules/memory/migrations/001-add-scope-columns.ts +20 -20
  75. package/src/modules/memory/migrations/002-add-evolution-columns.ts +39 -33
  76. package/src/modules/memory/migrations/003-pending-tasks.ts +17 -11
  77. package/src/modules/memory/migrations/004-reset-sequences.ts +1 -1
  78. package/src/rag/__tests__/async-queue.test.ts +12 -0
  79. package/src/rag/__tests__/query-router.test.ts +20 -0
  80. package/src/rag/__tests__/semantic-cache.test.ts +11 -0
  81. package/src/rag/__tests__/summary-tree.test.ts +12 -0
  82. package/src/rag/async-queue.ts +29 -0
  83. package/src/rag/query-router.ts +41 -0
  84. package/src/rag/semantic-cache.ts +21 -0
  85. package/src/rag/summary-tree.ts +40 -0
  86. package/src/routes/rag.ts +60 -0
  87. package/src/server/HttpServer.ts +7 -1
  88. package/src/server/routes/__tests__/admin.test.ts +37 -0
  89. package/src/server/routes/__tests__/api-index-errors.test.ts +424 -0
  90. package/src/server/routes/admin/kb-graph.ts +29 -13
  91. package/src/server/routes/api-index.ts +255 -71
  92. package/src/server/routes/auth/unified.ts +9 -1
  93. package/src/viewer/admin/index.html +71 -14
  94. package/tests/e2e/reindex.e2e.test.ts +4 -0
  95. package/vitest.e2e.config.ts +8 -5
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </p>
7
7
 
8
8
  <p align="center">
9
- <img src="https://img.shields.io/badge/version-1.43.0-blue?style=for-the-badge" alt="Version">
9
+ <img src="https://img.shields.io/badge/version-1.44.0-blue?style=for-the-badge" alt="Version">
10
10
  <img src="https://img.shields.io/badge/tools-66+-teal?style=for-the-badge" alt="Tools">
11
11
  <img src="https://img.shields.io/badge/node-%3E%3D18-green?style=for-the-badge" alt="Node">
12
12
  </p>
@@ -38,7 +38,7 @@ Server starts at **http://localhost:48721**. Verify it's running:
38
38
 
39
39
  ```bash
40
40
  curl http://localhost:48721/health
41
- # → {"status":"healthy","version":"1.43.0","uptime":5,"tools_loaded":52}
41
+ # → {"status":"healthy","version":"1.44.0","uptime":5,"tools_loaded":52}
42
42
  ```
43
43
 
44
44
  ### Development Mode (auto-reload)
@@ -233,6 +233,7 @@ The embedding model is expected at `.code-intel/models/model.onnx`. Download it:
233
233
 
234
234
  | Version | Date | Ticket | Changes |
235
235
  |---------|------|--------|---------|
236
+ | 1.44.0 | 2026-09-23 | SA4E-320/323 | Extension-side release: opt-in HTTPS bypass for remote backend (workspace-scoped `allowInsecureRemote`, runtime apply without reload, restrictedConfigurations + trust gate, Pega endpoint HTTPS enforcement); per-workspace isolation of Pega/Atlassian settings with keychain namespacing + one-time migration. No backend runtime code changes — version aligned. |
236
237
  | 1.43.0 | 2026-09-22 | SA4E-262 | Multi-provider SSO unified on `sso_providers` (Entra/Google/GitHub, Strategy pattern). Entra email verification via Microsoft `xms_edov` claim (Entra omits standard `email_verified`); loopback SSO sessions no longer User-Agent-bound so extension `/api/admin/auth/me` works; JIT provisioning rejections return `403 provisioning_rejected` with a clear reason. |
237
238
  | 1.42.2 | 2026-09-11 | SA4E-257 | Wire DB-backed MCP server config to McpClientManager: McpServerConfigRepository loads `mcp_servers` table, initializeAll reads enabled servers from DB, real-time hooks auto connect/reconnect/disconnect on CRUD, transport normalization `streamable-http → httpStream`, mock logs removed. Regression tests pass. |
238
239
  | 1.42.1 | 2026-09-10 | SA4E-258 | Tenant scope stamping for tool execution: `/api/tools/execute` + `/api/code/search` stamp trusted scope onto tool args via canonical `__projectId`/`__userId` (not only `_projectContext`), fixing code-intel tools (fail-closed on missing `__projectId`) that returned "No results found". Covers MCP call path (mcpServer) + KB API route. Graph migrator idempotency, query-layer scope resolution, indexing-engine fixes. KB Graph: FileContainsSymbolStrategy dir-based match for LWC/Aura components (LWC_COMPONENT no longer isolated). Regression tests added (tools-execute-scope, orchestration dynamic IT, mcpServer calltool IT). |
@@ -10,7 +10,18 @@ export declare class SqliteAdapter implements DatabaseAdapter {
10
10
  private db;
11
11
  private connected;
12
12
  private dirty;
13
+ /**
14
+ * Root-cause fix for sibling-adapter divergence: sqlite-wasm keeps a
15
+ * private in-memory DB per `new DB()` instance, so N adapters on the same
16
+ * host file each saw a different database (migrations visible on one,
17
+ * `no such table` on the others). File-backed adapters now share a single
18
+ * live DB per resolved path for the process lifetime (refcounted).
19
+ * `:memory:` adapters stay fully isolated (unit tests rely on it).
20
+ */
21
+ private static shared;
22
+ private sharedKey;
13
23
  constructor(dbPath: string, nativeBinding?: string | undefined);
24
+ private markDirty;
14
25
  connect(): Promise<void>;
15
26
  /**
16
27
  * Load a previously exported host DB file into the live in-memory database.
@@ -14,10 +14,28 @@ export class SqliteAdapter {
14
14
  db = null;
15
15
  connected = false;
16
16
  dirty = false;
17
+ /**
18
+ * Root-cause fix for sibling-adapter divergence: sqlite-wasm keeps a
19
+ * private in-memory DB per `new DB()` instance, so N adapters on the same
20
+ * host file each saw a different database (migrations visible on one,
21
+ * `no such table` on the others). File-backed adapters now share a single
22
+ * live DB per resolved path for the process lifetime (refcounted).
23
+ * `:memory:` adapters stay fully isolated (unit tests rely on it).
24
+ */
25
+ static shared = new Map();
26
+ sharedKey = null;
17
27
  constructor(dbPath, nativeBinding) {
18
28
  this.dbPath = dbPath;
19
29
  this.nativeBinding = nativeBinding;
20
30
  }
31
+ markDirty() {
32
+ this.dirty = true;
33
+ if (this.sharedKey) {
34
+ const entry = SqliteAdapter.shared.get(this.sharedKey);
35
+ if (entry)
36
+ entry.dirty = true;
37
+ }
38
+ }
21
39
  async connect() {
22
40
  if (this.connected && this.db)
23
41
  return;
@@ -29,6 +47,19 @@ export class SqliteAdapter {
29
47
  fs.mkdirSync(dir, { recursive: true });
30
48
  }
31
49
  }
50
+ // Shared-DB fast path: another adapter already owns the live DB for
51
+ // this file — reuse it so every consumer sees the same tables/rows.
52
+ const useShared = useFile;
53
+ if (useShared) {
54
+ const existing = SqliteAdapter.shared.get(this.dbPath);
55
+ if (existing) {
56
+ this.db = existing.db;
57
+ this.sharedKey = this.dbPath;
58
+ existing.refs++;
59
+ this.connected = true;
60
+ return;
61
+ }
62
+ }
32
63
  // Root cause of SQLITE_CANTOPEN on Linux CI: @sqlite.org/sqlite-wasm in
33
64
  // Node.js only supports in-memory databases (see its README). Host file
34
65
  // paths are NOT visible inside the WASM MEMFS virtual FS, so
@@ -44,6 +75,10 @@ export class SqliteAdapter {
44
75
  this.importHostFile(this.dbPath);
45
76
  deserialized = true;
46
77
  }
78
+ if (useShared) {
79
+ SqliteAdapter.shared.set(this.dbPath, { db: this.db, refs: 1, dirty: false });
80
+ this.sharedKey = this.dbPath;
81
+ }
47
82
  // SA4E-262 fix: WAL is a file-system journal mode. On the WASM in-memory /
48
83
  // deserialized DB it attempts to create WAL files inside MEMFS and throws
49
84
  // SQLITE_CANTOPEN. Skip it — durability for host-file DBs is provided by
@@ -97,12 +132,30 @@ export class SqliteAdapter {
97
132
  }
98
133
  async disconnect() {
99
134
  if (this.db) {
100
- if (this.dbPath !== ':memory:' && this.dbPath !== '' && this.dirty) {
135
+ const entry = this.sharedKey ? SqliteAdapter.shared.get(this.sharedKey) : undefined;
136
+ // The shared live object is always current, so export when any holder
137
+ // dirtied it — one export persists everyone's changes.
138
+ if (this.dbPath !== ':memory:' && this.dbPath !== '' && (this.dirty || entry?.dirty)) {
101
139
  const data = sqlite3.capi.sqlite3_js_db_export(this.db, 'main');
102
140
  fs.writeFileSync(this.dbPath, Buffer.from(data));
141
+ this.dirty = false;
142
+ if (entry)
143
+ entry.dirty = false;
144
+ }
145
+ if (entry && this.sharedKey) {
146
+ entry.refs--;
147
+ // Last holder closes the shared DB; a later connect re-imports
148
+ // from the exported host file, preserving persistence semantics.
149
+ if (entry.refs <= 0) {
150
+ this.db.close();
151
+ SqliteAdapter.shared.delete(this.sharedKey);
152
+ }
153
+ }
154
+ else {
155
+ this.db.close();
103
156
  }
104
- this.db.close();
105
157
  this.db = null;
158
+ this.sharedKey = null;
106
159
  this.connected = false;
107
160
  }
108
161
  }
@@ -126,7 +179,7 @@ export class SqliteAdapter {
126
179
  }
127
180
  execInternal(sql, params) {
128
181
  const normalized = normalizeSqlitePlaceholders(sql);
129
- this.dirty = true;
182
+ this.markDirty();
130
183
  const db = this.getDb();
131
184
  if (params && params.length > 0) {
132
185
  const stmt = db.prepare(normalized);
@@ -146,7 +199,7 @@ export class SqliteAdapter {
146
199
  }
147
200
  run(sql, params) {
148
201
  const normalized = normalizeSqlitePlaceholders(sql);
149
- this.dirty = true;
202
+ this.markDirty();
150
203
  const db = this.getDb();
151
204
  if (params && params.length) {
152
205
  const stmt = db.prepare(normalized);
@@ -177,7 +230,7 @@ export class SqliteAdapter {
177
230
  return rows;
178
231
  }
179
232
  exec(sql) {
180
- this.dirty = true;
233
+ this.markDirty();
181
234
  try {
182
235
  this.getDb().exec(normalizeSqlitePlaceholders(sql));
183
236
  }
@@ -190,7 +243,7 @@ export class SqliteAdapter {
190
243
  }
191
244
  }
192
245
  transaction(fn) {
193
- this.dirty = true;
246
+ this.markDirty();
194
247
  this.db.exec('BEGIN TRANSACTION;');
195
248
  try {
196
249
  const result = fn();
@@ -207,7 +260,7 @@ export class SqliteAdapter {
207
260
  const db = this.getDb();
208
261
  return {
209
262
  run: (...params) => {
210
- this.dirty = true;
263
+ this.markDirty();
211
264
  const stmt = db.prepare(normalized);
212
265
  if (params.length > 0)
213
266
  stmt.bind(params);
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteAdapter.js","sourceRoot":"","sources":["../../../src/database/adapters/SqliteAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteAdapter.js","sourceRoot":"","sources":["../../../src/database/adapters/SqliteAdapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAQ7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,MAAM,iBAAiB,GAAG,CAAC,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5E,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;AAE1C,MAAM,OAAO,aAAa;IAeK;IAAiC;IAdtD,EAAE,GAAQ,IAAI,CAAC;IACf,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,GAAG,KAAK,CAAC;IACtB;;;;;;;OAOG;IACK,MAAM,CAAC,MAAM,GAA2D,IAAI,GAAG,EAAE,CAAC;IAClF,SAAS,GAAkB,IAAI,CAAC;IAExC,YAA6B,MAAc,EAAmB,aAAsB;QAAvD,WAAM,GAAN,MAAM,CAAQ;QAAmB,kBAAa,GAAb,aAAa,CAAS;IAAG,CAAC;IAEhF,SAAS;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC;YACjE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,oEAAoE;YACpE,oEAAoE;YACpE,MAAM,SAAS,GAAG,OAAO,CAAC;YAC1B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;oBAC7B,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,OAAO;gBACT,CAAC;YACH,CAAC;YACD,wEAAwE;YACxE,wEAAwE;YACxE,6DAA6D;YAC7D,gEAAgE;YAChE,kEAAkE;YAClE,yEAAyE;YACzE,uEAAuE;YACvE,8DAA8D;YAC9D,0DAA0D;YAC1D,IAAI,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC/E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/B,CAAC;YACD,2EAA2E;YAC3E,0EAA0E;YAC1E,yEAAyE;YACzE,4CAA4C;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,MAAc;QACnC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,EAAE,CAAC,OAAO,EACf,MAAM,EACN,KAAK,EACL,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,6BAA6B,CACzE,CAAC;YACF,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzE,CAAC;YACD,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,sEAAsE;YACtE,uDAAuD;YACvD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBACrF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAChE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,KAAK;oBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACjC,CAAC;YACD,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,+DAA+D;gBAC/D,iEAAiE;gBACjE,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;oBAChB,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAChC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,SAA6B,CAAC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnF,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE;SAC1C,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,GAAW,EAAE,MAAkB;QAClD,MAAM,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAQ,CAAC;YACvF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAQ,CAAC;YACvF,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,MAAkB;QACjC,MAAM,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAQ,CAAC;YACvF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAQ,CAAC;YACvF,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,GAAG,CAAc,GAAW,EAAE,MAAkB;QAC9C,MAAM,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACnG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAU,CAAC;QAC1D,OAAO,IAAI,EAAE,CAAC,CAAC,CAAkB,CAAC;IACpC,CAAC;IAED,GAAG,CAAc,GAAW,EAAE,MAAkB;QAC9C,MAAM,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACnG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAU,CAAC;QAC1D,OAAO,IAAW,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACnI,OAAO;YACT,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,WAAW,CAAI,EAAW;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,MAAM,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO;YACL,GAAG,EAAE,CAAC,GAAG,MAAiB,EAAE,EAAE;gBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAQ,CAAC;gBACvF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YACtC,CAAC;YACD,GAAG,EAAE,CAAI,GAAG,MAAiB,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAiB,EAAE,CAAC;gBAC/G,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAU,CAAC;gBAChD,OAAO,IAAI,EAAE,CAAC,CAAC,CAAkB,CAAC;YACpC,CAAC;YACD,GAAG,EAAE,CAAI,GAAG,MAAiB,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAiB,EAAE,CAAC;gBAC/G,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAU,CAAC;gBAChD,OAAO,IAAW,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,MAAkB,IAAwB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACrG,KAAK,CAAC,QAAQ,CAAc,GAAW,EAAE,MAAkB,IAA4B,OAAO,IAAI,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzH,KAAK,CAAC,QAAQ,CAAc,GAAW,EAAE,MAAkB,IAAkB,OAAO,IAAI,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/G,KAAK,CAAC,SAAS,CAAC,GAAW,IAAmB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,KAAK,CAAC,gBAAgB,CAAI,EAAoB,IAAgB,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5E,SAAS;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,IAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAsB,oCAAoC,CAAC,CAAC;QAChF,OAAO,UAAU,GAAG,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,8FAA8F,CAC/F,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAkB,gCAAgC,KAAK,GAAG,CAAC,CAAC;QAChF,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC"}
@@ -7,10 +7,12 @@
7
7
  */
8
8
  export async function ensurePegaCategoryCountersTable(db) {
9
9
  const isPg = db.getEngine() === 'postgresql';
10
- // PG: gen_random_uuid() (pgcrypto/pg13+) + now(); SQLite: randomblob UUID + datetime('now').
10
+ // PG: gen_random_uuid() (pgcrypto/pg13+); SQLite: 32-char random hex.
11
+ // (The previous UUID-formatting expression had unbalanced parentheses and
12
+ // broke with `near "||": syntax error` — keep the default simple and valid.)
11
13
  const idDefault = isPg
12
14
  ? `DEFAULT gen_random_uuid()::text`
13
- : `DEFAULT (lower(hex(randomblob(4)) || '-' || substr(hex(randomblob(2)) || '4-', 1, 8)) || '-' || substr('89ab', random() % 4 + 1, 1) || '-' || substr(hex(randomblob(2)) || '10', 1, 4)) || '-' || substr(hex(randomblob(6)), 1, 12))`;
15
+ : `DEFAULT (lower(hex(randomblob(16))))`;
14
16
  const nowDefault = isPg ? `now()` : `(datetime('now'))`;
15
17
  await db.execAsync(`
16
18
  CREATE TABLE IF NOT EXISTS pega_category_counters (
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-pega-category-counters.js","sourceRoot":"","sources":["../../../src/database/migration/ensure-pega-category-counters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,EAAmB;IACvE,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,YAAY,CAAC;IAC7C,6FAA6F;IAC7F,MAAM,SAAS,GAAG,IAAI;QACpB,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,sOAAsO,CAAC;IAC3O,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAExD,MAAM,EAAE,CAAC,SAAS,CAAC;;4BAEO,SAAS;;;2CAGM,UAAU;;;;GAIlD,CAAC,CAAC;IAEH,8FAA8F;IAC9F,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,sGAAsG,CAAC,CAAC;IAC7H,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gDAAgD;QAChD,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,YAAY,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ensure-pega-category-counters.js","sourceRoot":"","sources":["../../../src/database/migration/ensure-pega-category-counters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,EAAmB;IACvE,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,YAAY,CAAC;IAC7C,sEAAsE;IACtE,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,SAAS,GAAG,IAAI;QACpB,CAAC,CAAC,iCAAiC;QACnC,CAAC,CAAC,sCAAsC,CAAC;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAExD,MAAM,EAAE,CAAC,SAAS,CAAC;;4BAEO,SAAS;;;2CAGM,UAAU;;;;GAIlD,CAAC,CAAC;IAEH,8FAA8F;IAC9F,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,sGAAsG,CAAC,CAAC;IAC7H,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gDAAgD;QAChD,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,gEAAgE,EAAE,YAAY,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Migration 000: Initialize system tables (Knex manual-migration snapshot).
3
+ *
4
+ * Canonical schemas — copied from the runtime sources of truth so a manual
5
+ * `npx knex migrate:latest` produces the same tables the dev server creates:
6
+ * - mcp_tools <- src/engine/db/schema.ts SCHEMA_V1
7
+ * - knowledge_entries <- src/modules/memory/schema/tables.ts TABLES (+FTS/triggers)
8
+ * - pending_tasks <- src/modules/memory/migrations/003-pending-tasks.ts
9
+ *
10
+ * SQLite flavor (staging/dev). Production uses PostgreSQL via DATABASE_URL.
11
+ * NOTE: the dev server does NOT run Knex at startup; it uses its own
12
+ * engine/db migrations + schema-registry ensures. This file is for manual
13
+ * provisioning / fresh environments only. Run with the same env as the server:
14
+ * CODE_INTEL_DATA_DIR=C:\staging\data CODE_INTEL_DB=index-staging.db
15
+ * npx knex migrate:latest --knexfile knexfile.cjs
16
+ */
17
+ 'use strict';
18
+ const up = async function (knex) {
19
+ // 1. mcp_tools — registered MCP tools (canonical: schema.ts)
20
+ await knex.raw(`
21
+ CREATE TABLE IF NOT EXISTS mcp_tools (
22
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
23
+ name TEXT NOT NULL UNIQUE,
24
+ description TEXT NOT NULL,
25
+ schema_json TEXT NOT NULL,
26
+ category TEXT,
27
+ server TEXT,
28
+ vector BLOB
29
+ )
30
+ `);
31
+ await knex.raw(`CREATE INDEX IF NOT EXISTS idx_mcp_tools_server ON mcp_tools(server)`);
32
+ // 2. knowledge_entries — knowledge base (canonical: memory/schema/tables.ts)
33
+ await knex.raw(`
34
+ CREATE TABLE IF NOT EXISTS knowledge_entries (
35
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
36
+ content TEXT NOT NULL,
37
+ summary TEXT NOT NULL,
38
+ type TEXT NOT NULL,
39
+ tier TEXT NOT NULL DEFAULT 'WORKING',
40
+ scope TEXT NOT NULL DEFAULT 'USER',
41
+ user_id TEXT DEFAULT NULL,
42
+ project_id TEXT DEFAULT NULL,
43
+ source TEXT,
44
+ source_ref TEXT,
45
+ tags TEXT NOT NULL DEFAULT '',
46
+ confidence REAL NOT NULL DEFAULT 1.0,
47
+ access_count INTEGER NOT NULL DEFAULT 0,
48
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
49
+ updated_at TEXT NOT NULL DEFAULT (datetime('now')),
50
+ last_accessed_at TEXT,
51
+ expires_at TEXT,
52
+ pinned INTEGER NOT NULL DEFAULT 0,
53
+ pin_order INTEGER NOT NULL DEFAULT 0,
54
+ structured_map TEXT NOT NULL DEFAULT '{}',
55
+ quality_score INTEGER DEFAULT NULL,
56
+ archived INTEGER NOT NULL DEFAULT 0,
57
+ agent_name TEXT DEFAULT NULL,
58
+ owner TEXT DEFAULT NULL,
59
+ needs_verification INTEGER NOT NULL DEFAULT 0,
60
+ epoch_id TEXT DEFAULT NULL,
61
+ superseded_by INTEGER DEFAULT NULL
62
+ )
63
+ `);
64
+ await knex.raw(`
65
+ CREATE VIRTUAL TABLE IF NOT EXISTS knowledge_fts USING fts5(
66
+ summary, content, tags, type,
67
+ content=knowledge_entries, content_rowid=id,
68
+ tokenize='porter unicode61'
69
+ )
70
+ `);
71
+ await knex.raw(`
72
+ CREATE TRIGGER IF NOT EXISTS knowledge_fts_ai AFTER INSERT ON knowledge_entries BEGIN
73
+ INSERT INTO knowledge_fts(rowid, summary, content, tags, type)
74
+ VALUES (new.id, new.summary, new.content, new.tags, new.type);
75
+ END
76
+ `);
77
+ await knex.raw(`
78
+ CREATE TRIGGER IF NOT EXISTS knowledge_fts_ad AFTER DELETE ON knowledge_entries BEGIN
79
+ INSERT INTO knowledge_fts(knowledge_fts, rowid, summary, content, tags, type)
80
+ VALUES ('delete', old.id, old.summary, old.content, old.tags, old.type);
81
+ END
82
+ `);
83
+ await knex.raw(`
84
+ CREATE TRIGGER IF NOT EXISTS knowledge_fts_au AFTER UPDATE ON knowledge_entries BEGIN
85
+ INSERT INTO knowledge_fts(knowledge_fts, rowid, summary, content, tags, type)
86
+ VALUES ('delete', old.id, old.summary, old.content, old.tags, old.type);
87
+ INSERT INTO knowledge_fts(rowid, summary, content, tags, type)
88
+ VALUES (new.id, new.summary, new.content, new.tags, new.type);
89
+ END
90
+ `);
91
+ // 3. pending_tasks — SDLC pipeline queue (canonical: migration 003)
92
+ await knex.raw(`
93
+ CREATE TABLE IF NOT EXISTS pending_tasks (
94
+ id INTEGER PRIMARY KEY,
95
+ task_type TEXT NOT NULL,
96
+ entry_id INTEGER NOT NULL,
97
+ status TEXT NOT NULL DEFAULT 'pending',
98
+ payload TEXT NOT NULL,
99
+ error TEXT,
100
+ error_message TEXT,
101
+ retry_count INTEGER NOT NULL DEFAULT 0,
102
+ max_retries INTEGER NOT NULL DEFAULT 3,
103
+ priority INTEGER NOT NULL DEFAULT 5,
104
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
105
+ started_at TEXT,
106
+ completed_at TEXT,
107
+ updated_at TEXT,
108
+ claimed_at TEXT,
109
+ dead_lettered_at TEXT,
110
+ FOREIGN KEY (entry_id) REFERENCES knowledge_entries(id) ON DELETE CASCADE
111
+ )
112
+ `);
113
+ await knex.raw(`CREATE INDEX IF NOT EXISTS idx_pending_tasks_status_created ON pending_tasks(status, created_at)`);
114
+ await knex.raw(`CREATE INDEX IF NOT EXISTS idx_pending_tasks_entry_id ON pending_tasks(entry_id)`);
115
+ };
116
+ const down = async function (knex) {
117
+ await knex.raw(`DROP TABLE IF EXISTS pending_tasks`);
118
+ await knex.raw(`DROP TRIGGER IF EXISTS knowledge_fts_au`);
119
+ await knex.raw(`DROP TRIGGER IF EXISTS knowledge_fts_ad`);
120
+ await knex.raw(`DROP TRIGGER IF EXISTS knowledge_fts_ai`);
121
+ await knex.raw(`DROP TABLE IF EXISTS knowledge_fts`);
122
+ await knex.raw(`DROP TABLE IF EXISTS knowledge_entries`);
123
+ await knex.raw(`DROP TABLE IF EXISTS mcp_tools`);
124
+ };
125
+ module.exports = { up, down };
126
+ //# sourceMappingURL=000-init-system-tables.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"000-init-system-tables.cjs","sourceRoot":"","sources":["../../../src/database/migrations/000-init-system-tables.cjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,YAAY,CAAC;AAEb,MAAM,EAAE,GAAG,KAAK,WAAU,IAAI;IAC5B,6DAA6D;IAC7D,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;GAUd,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IAEvF,6EAA6E;IAC7E,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8Bd,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;GAMd,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;GAKd,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;GAKd,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;;GAOd,CAAC,CAAC;IAEH,oEAAoE;IACpE,MAAM,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;GAoBd,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;IACnH,MAAM,IAAI,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;AACrG,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,WAAU,IAAI;IAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACrD,MAAM,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC1D,MAAM,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC1D,MAAM,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC1D,MAAM,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACrD,MAAM,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACzD,MAAM,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export function up(knex: any): Promise<void>;
2
+ export function down(knex: any): Promise<void>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Ensure engine index schema on the serving adapter (unified DB).
3
+ *
4
+ * Root cause: SqliteAdapter (sqlite-wasm) keeps a private in-memory DB per
5
+ * instance and only exports to the host file on disconnect(). The versioned
6
+ * migrations in engine/db run on database-manager's adapter, so sibling
7
+ * adapters (the one serving tools/queries) can miss the index tables
8
+ * (files/symbols/modules/symbols_fts) and every code-intel tool fails with
9
+ * `no such table`. Re-applying the canonical SCHEMA_V1 here is idempotent
10
+ * (all statements are CREATE TABLE/INDEX IF NOT EXISTS) and makes the
11
+ * serving adapter self-sufficient on every boot, on any engine path that
12
+ * lands on SQLite.
13
+ */
14
+ export declare function ensureEngineIndexSchema(): Promise<void>;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Ensure engine index schema on the serving adapter (unified DB).
3
+ *
4
+ * Root cause: SqliteAdapter (sqlite-wasm) keeps a private in-memory DB per
5
+ * instance and only exports to the host file on disconnect(). The versioned
6
+ * migrations in engine/db run on database-manager's adapter, so sibling
7
+ * adapters (the one serving tools/queries) can miss the index tables
8
+ * (files/symbols/modules/symbols_fts) and every code-intel tool fails with
9
+ * `no such table`. Re-applying the canonical SCHEMA_V1 here is idempotent
10
+ * (all statements are CREATE TABLE/INDEX IF NOT EXISTS) and makes the
11
+ * serving adapter self-sufficient on every boot, on any engine path that
12
+ * lands on SQLite.
13
+ */
14
+ import pino from 'pino';
15
+ import { getDbAdapter } from '../../admin/db/core.js';
16
+ import { SCHEMA_V1 } from '../../engine/db/schema.js';
17
+ const logger = pino({ name: 'engine-schema' });
18
+ export async function ensureEngineIndexSchema() {
19
+ const adapter = getDbAdapter();
20
+ // SCHEMA_V1 is SQLite-flavored DDL (AUTOINCREMENT, datetime('now')) — only
21
+ // meaningful for sqlite-wasm siblings. PostgreSQL schema is managed by
22
+ // database-manager migrations + pg-schema-ensure; running SQLite DDL there
23
+ // is a syntax error, so skip on non-sqlite engines.
24
+ if (adapter.getEngine() !== 'sqlite') {
25
+ logger.debug('[engine-schema] non-sqlite engine, skipping');
26
+ return;
27
+ }
28
+ try {
29
+ await adapter.execAsync(SCHEMA_V1);
30
+ logger.info('[engine-schema] index tables ensured (files/symbols/modules/fts)');
31
+ }
32
+ catch (err) {
33
+ logger.warn({ err }, '[engine-schema] ensure failed (non-fatal)');
34
+ }
35
+ }
36
+ //# sourceMappingURL=ensure-engine-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-engine-schema.js","sourceRoot":"","sources":["../../../src/database/schema-registry/ensure-engine-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;IACpE,CAAC;AACH,CAAC"}
@@ -10,6 +10,25 @@ import { getDbAdapter } from '../../admin/db/core.js';
10
10
  const logger = pino({ name: 'sa4e-300-cleanup' });
11
11
  export async function ensureSa4e300Cleanup() {
12
12
  const adapter = getDbAdapter();
13
+ // Engine-aware existence check (use allAsync: runAsync returns only {changes}).
14
+ let tableExists = false;
15
+ try {
16
+ if (adapter.getEngine() === 'postgresql') {
17
+ const rows = await adapter.allAsync(`SELECT table_name FROM information_schema.tables WHERE table_name = $1`, ['pending_tasks']);
18
+ tableExists = rows.length > 0;
19
+ }
20
+ else {
21
+ const rows = await adapter.allAsync(`SELECT name FROM sqlite_master WHERE type='table' AND name='pending_tasks'`);
22
+ tableExists = rows.length > 0;
23
+ }
24
+ }
25
+ catch (err) {
26
+ console.debug('[sa4e-300] Table check failed:', err.message);
27
+ }
28
+ if (!tableExists) {
29
+ console.debug('[sa4e-300] pending_tasks table not found, skipping cleanup');
30
+ return;
31
+ }
13
32
  try {
14
33
  const result = await adapter.runAsync(`DELETE FROM pending_tasks
15
34
  WHERE task_type = 'CODE_ENRICHMENT'
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-sa4e-300.js","sourceRoot":"","sources":["../../../src/database/schema-registry/ensure-sa4e-300.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CACnC;;;kDAG4C,EAC5C,EAAE,CACH,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,iDAAiD,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,uDAAuD,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ensure-sa4e-300.js","sourceRoot":"","sources":["../../../src/database/schema-registry/ensure-sa4e-300.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,gFAAgF;IAChF,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC,wEAAwE,EACxE,CAAC,eAAe,CAAC,CAClB,CAAC;YACF,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC,4EAA4E,CAC7E,CAAC;YACF,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CACnC;;;kDAG4C,EAC5C,EAAE,CACH,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,iDAAiD,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,uDAAuD,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * SA4E-303 — Cleanup unused edge tables
3
3
  * Drops code_dependencies and code_call_graph which are unused in tree-sitter pipeline.
4
+ * Safe to run on every boot (idempotent).
4
5
  */
5
6
  export declare function ensureSa4e303DropUnusedTables(): Promise<void>;
@@ -1,20 +1,55 @@
1
1
  /**
2
2
  * SA4E-303 — Cleanup unused edge tables
3
3
  * Drops code_dependencies and code_call_graph which are unused in tree-sitter pipeline.
4
+ * Safe to run on every boot (idempotent).
4
5
  */
5
6
  import pino from 'pino';
6
- import { getDbAdapter, getActiveEngine } from '../../admin/db/core.js';
7
+ import { getDbAdapter } from '../../admin/db/core.js';
7
8
  const logger = pino({ name: 'sa4e-303-cleanup' });
8
9
  export async function ensureSa4e303DropUnusedTables() {
9
- const engine = getActiveEngine();
10
10
  const adapter = getDbAdapter();
11
- try {
12
- await adapter.runAsync(`DROP TABLE IF EXISTS code_dependencies`, []);
13
- await adapter.runAsync(`DROP TABLE IF EXISTS code_call_graph`, []);
14
- logger.info('[sa4e-303] Unused tables dropped');
11
+ const isPg = adapter.getEngine() === 'postgresql';
12
+ const tableExists = async (name) => {
13
+ try {
14
+ if (isPg) {
15
+ const rows = await adapter.allAsync(`SELECT table_name FROM information_schema.tables WHERE table_name = $1`, [name]);
16
+ return rows.length > 0;
17
+ }
18
+ const rows = await adapter.allAsync(`SELECT name FROM sqlite_master WHERE type='table' AND name=?`, [name]);
19
+ return rows.length > 0;
20
+ }
21
+ catch (err) {
22
+ console.debug('[sa4e-303] Table check failed:', err.message);
23
+ return false;
24
+ }
25
+ };
26
+ // Check if code_dependencies table exists (use allAsync: runAsync returns only {changes}).
27
+ const depsExists = await tableExists('code_dependencies');
28
+ // Check if code_call_graph table exists
29
+ const graphExists = await tableExists('code_call_graph');
30
+ if (depsExists) {
31
+ try {
32
+ await adapter.runAsync(`DROP TABLE IF EXISTS code_dependencies`, []);
33
+ logger.info('[sa4e-303] Dropped code_dependencies table');
34
+ }
35
+ catch (err) {
36
+ logger.warn({ err }, '[sa4e-303] Could not drop code_dependencies (non-fatal)');
37
+ }
15
38
  }
16
- catch (err) {
17
- logger.warn({ err }, '[sa4e-303] Drop tables failed (non-fatal)');
39
+ else {
40
+ console.debug('[sa4e-303] code_dependencies table not found, skipping');
41
+ }
42
+ if (graphExists) {
43
+ try {
44
+ await adapter.runAsync(`DROP TABLE IF EXISTS code_call_graph`, []);
45
+ logger.info('[sa4e-303] Dropped code_call_graph table');
46
+ }
47
+ catch (err) {
48
+ logger.warn({ err }, '[sa4e-303] Could not drop code_call_graph (non-fatal)');
49
+ }
50
+ }
51
+ else {
52
+ console.debug('[sa4e-303] code_call_graph table not found, skipping');
18
53
  }
19
54
  }
20
55
  //# sourceMappingURL=ensure-sa4e-303.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-sa4e-303.js","sourceRoot":"","sources":["../../../src/database/schema-registry/ensure-sa4e-303.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,QAAQ,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,CAAC,QAAQ,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,2CAA2C,CAAC,CAAC;IACpE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ensure-sa4e-303.js","sourceRoot":"","sources":["../../../src/database/schema-registry/ensure-sa4e-303.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,YAAY,CAAC;IAClD,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAoB,EAAE;QAC3D,IAAI,CAAC;YACH,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC,wEAAwE,EACxE,CAAC,IAAI,CAAC,CACP,CAAC;gBACF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC,8DAA8D,EAC9D,CAAC,IAAI,CAAC,CACP,CAAC;YACF,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,2FAA2F;IAC3F,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAE1D,wCAAwC;IACxC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAEzD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,QAAQ,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,yDAAyD,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,QAAQ,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
@@ -115,11 +115,14 @@ export async function runGraphMigrations(adapter) {
115
115
  await ensurePostgresSymbolFts(adapter);
116
116
  logger.error('[graph-migrator] PostgreSQL symbol FTS (tsvector) ready');
117
117
  }
118
- // Update schema version
118
+ // Update schema version (ensure tracking table exists first — fresh DBs may
119
+ // reach here before engine/db SCHEMA_V1 has created it).
119
120
  if (engine === 'sqlite') {
121
+ await adapter.execAsync(`CREATE TABLE IF NOT EXISTS schema_version (version INTEGER PRIMARY KEY, applied_at TEXT NOT NULL DEFAULT (datetime('now')))`);
120
122
  await adapter.runAsync('INSERT OR REPLACE INTO schema_version (version) VALUES (?)', [3]);
121
123
  }
122
124
  else {
125
+ await adapter.execAsync(`CREATE TABLE IF NOT EXISTS schema_version (version INTEGER PRIMARY KEY, applied_at TIMESTAMPTZ NOT NULL DEFAULT current_timestamp)`);
123
126
  await adapter.runAsync('INSERT INTO schema_version (version) VALUES ($1) ON CONFLICT (version) DO NOTHING', [3]);
124
127
  }
125
128
  logger.error('[graph-migrator] Schema version set to 3');
@@ -1 +1 @@
1
- {"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../../src/engine/graph/migrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAEhD,mEAAmE;AACnE,MAAM,uBAAuB,GAAG;IAC9B,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;IACpC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;IAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;IACpC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;IACvC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAClD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE;IAC1C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;CAC3B,CAAC;AAEX,+DAA+D;AAC/D,MAAM,kBAAkB,GAAG;IACzB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IAClC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;CAC7B,CAAC;AAEX,0DAA0D;AAC1D,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClF,OAAO;;SAEA,MAAM;;;;;;;;;;;;;;CAcd,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,EAAE,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC3E,OAAO;;;;;;yCAMgC,EAAE;;;;CAI1C,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC;IAC9E,OAAO;;;;;EAKP,QAAQ,+DAA+D,UAAU;EACjF,QAAQ,+DAA+D,UAAU;EACjF,QAAQ,4DAA4D,UAAU;EAC9E,QAAQ,4DAA4D,UAAU;CAC/E,CAAC;AACF,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAChG,MAAM,EAAE,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC3E,OAAO;;SAEA,MAAM;;;;;uCAKwB,EAAE;;;;;CAKxC,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAwB;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,CAAC,KAAK,CAAC,6DAA6D,MAAM,MAAM,CAAC,CAAC;IAExF,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAExC,mCAAmC;IACnC,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEpC,MAAM,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAE3D,MAAM,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAExD,MAAM,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAE5D,MAAM,cAAc,CAAC,OAAO,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAE7D,qEAAqE;IACrE,mFAAmF;IACnF,gFAAgF;IAChF,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC1E,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,QAAQ,CAAC,4DAA4D,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,CAAC,QAAQ,CACpB,mFAAmF,EACnF,CAAC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAwB;IACpE,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,YAAY;QAAE,OAAO;IACjD,MAAM,KAAK,GAAG;QACZ,kEAAkE;QAClE,qFAAqF;QACrF;;;;;;;;0BAQsB;QACtB,mDAAmD;QACnD;;0DAEsD;QACtD;;;;+BAI2B;KAC5B,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,KAAK,UAAU,cAAc,CAAC,OAAwB,EAAE,GAAW;IACjE,8DAA8D;IAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,EAAE,CAAC;YACzC,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAAE,SAAS;YACjF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAAwB;IAC9D,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,kCAAkC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClF,KAAK,EAAE,CAAC;YACV,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,0DAA0D,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,0BAA0B,CAAC,CAAC;QACxE,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC,wEAAwE,CAAC,CAAC;YAClG,MAAM,OAAO,CAAC,SAAS,CAAC,qEAAqE,CAAC,CAAC;YAC/F,MAAM,OAAO,CAAC,SAAS,CAAC,wEAAwE,CAAC,CAAC;QACpG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0DAA0D,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,oBAAoB,CAAC,OAAwB;IAC1D,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,SAAS,CAAC,kCAAkC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClF,KAAK,EAAE,CAAC;YACV,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,0DAA0D,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,qBAAqB,CAAC,CAAC;IACrE,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,SAAS,CAAC,wFAAwF,CAAC,CAAC;QAClH,MAAM,OAAO,CAAC,SAAS,CAAC,qGAAqG,CAAC,CAAC;IACjI,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,0DAA0D,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAwB,EAAE,KAAa;IACvE,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAC/B,0EAA0E,EAC1E,CAAC,KAAK,CAAC,CACR,CAAC;QACF,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAAC,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CACnC,uCAAuC,KAAK,IAAI,CACjD,CAAC;QACF,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,+CAA+C,CAAC,CAAC;QAAC,OAAO,IAAI,GAAG,EAAE,CAAC;IAAC,CAAC;AACpH,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAwB;IAC/D,IAAI,CAAC;QACH,aAAa;QACb,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAC/B,qFAAqF,CACtF,CAAC;QACF,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,yCAAyC,CAAC,CAAC;IAAC,CAAC;IACnF,IAAI,CAAC;QACH,SAAS;QACT,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CACjC,4EAA4E,CAC7E,CAAC;QACF,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACzG,CAAC"}
1
+ {"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../../src/engine/graph/migrator.ts"],"names":[],"mappings":"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"}