@soleri/core 2.4.0 → 2.6.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 (328) hide show
  1. package/dist/brain/brain.d.ts +7 -0
  2. package/dist/brain/brain.d.ts.map +1 -1
  3. package/dist/brain/brain.js +56 -9
  4. package/dist/brain/brain.js.map +1 -1
  5. package/dist/brain/intelligence.d.ts +1 -0
  6. package/dist/brain/intelligence.d.ts.map +1 -1
  7. package/dist/brain/intelligence.js +164 -148
  8. package/dist/brain/intelligence.js.map +1 -1
  9. package/dist/brain/types.d.ts +2 -2
  10. package/dist/brain/types.d.ts.map +1 -1
  11. package/dist/cognee/client.d.ts +3 -0
  12. package/dist/cognee/client.d.ts.map +1 -1
  13. package/dist/cognee/client.js +17 -0
  14. package/dist/cognee/client.js.map +1 -1
  15. package/dist/cognee/sync-manager.d.ts +94 -0
  16. package/dist/cognee/sync-manager.d.ts.map +1 -0
  17. package/dist/cognee/sync-manager.js +293 -0
  18. package/dist/cognee/sync-manager.js.map +1 -0
  19. package/dist/control/identity-manager.d.ts +3 -1
  20. package/dist/control/identity-manager.d.ts.map +1 -1
  21. package/dist/control/identity-manager.js +49 -51
  22. package/dist/control/identity-manager.js.map +1 -1
  23. package/dist/control/intent-router.d.ts +1 -0
  24. package/dist/control/intent-router.d.ts.map +1 -1
  25. package/dist/control/intent-router.js +32 -32
  26. package/dist/control/intent-router.js.map +1 -1
  27. package/dist/curator/curator.d.ts +9 -1
  28. package/dist/curator/curator.d.ts.map +1 -1
  29. package/dist/curator/curator.js +104 -92
  30. package/dist/curator/curator.js.map +1 -1
  31. package/dist/errors/classify.d.ts +13 -0
  32. package/dist/errors/classify.d.ts.map +1 -0
  33. package/dist/errors/classify.js +97 -0
  34. package/dist/errors/classify.js.map +1 -0
  35. package/dist/errors/index.d.ts +6 -0
  36. package/dist/errors/index.d.ts.map +1 -0
  37. package/dist/errors/index.js +4 -0
  38. package/dist/errors/index.js.map +1 -0
  39. package/dist/errors/retry.d.ts +40 -0
  40. package/dist/errors/retry.d.ts.map +1 -0
  41. package/dist/errors/retry.js +97 -0
  42. package/dist/errors/retry.js.map +1 -0
  43. package/dist/errors/types.d.ts +48 -0
  44. package/dist/errors/types.d.ts.map +1 -0
  45. package/dist/errors/types.js +59 -0
  46. package/dist/errors/types.js.map +1 -0
  47. package/dist/governance/governance.d.ts +1 -0
  48. package/dist/governance/governance.d.ts.map +1 -1
  49. package/dist/governance/governance.js +51 -68
  50. package/dist/governance/governance.js.map +1 -1
  51. package/dist/index.d.ts +26 -5
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +22 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/intake/content-classifier.d.ts +14 -0
  56. package/dist/intake/content-classifier.d.ts.map +1 -0
  57. package/dist/intake/content-classifier.js +125 -0
  58. package/dist/intake/content-classifier.js.map +1 -0
  59. package/dist/intake/dedup-gate.d.ts +17 -0
  60. package/dist/intake/dedup-gate.d.ts.map +1 -0
  61. package/dist/intake/dedup-gate.js +66 -0
  62. package/dist/intake/dedup-gate.js.map +1 -0
  63. package/dist/intake/intake-pipeline.d.ts +63 -0
  64. package/dist/intake/intake-pipeline.d.ts.map +1 -0
  65. package/dist/intake/intake-pipeline.js +373 -0
  66. package/dist/intake/intake-pipeline.js.map +1 -0
  67. package/dist/intake/types.d.ts +65 -0
  68. package/dist/intake/types.d.ts.map +1 -0
  69. package/dist/intake/types.js +3 -0
  70. package/dist/intake/types.js.map +1 -0
  71. package/dist/intelligence/loader.js +1 -1
  72. package/dist/intelligence/loader.js.map +1 -1
  73. package/dist/intelligence/types.d.ts +3 -1
  74. package/dist/intelligence/types.d.ts.map +1 -1
  75. package/dist/loop/loop-manager.d.ts +58 -7
  76. package/dist/loop/loop-manager.d.ts.map +1 -1
  77. package/dist/loop/loop-manager.js +280 -6
  78. package/dist/loop/loop-manager.js.map +1 -1
  79. package/dist/loop/types.d.ts +69 -1
  80. package/dist/loop/types.d.ts.map +1 -1
  81. package/dist/loop/types.js +4 -1
  82. package/dist/loop/types.js.map +1 -1
  83. package/dist/persistence/index.d.ts +4 -0
  84. package/dist/persistence/index.d.ts.map +1 -0
  85. package/dist/persistence/index.js +3 -0
  86. package/dist/persistence/index.js.map +1 -0
  87. package/dist/persistence/postgres-provider.d.ts +46 -0
  88. package/dist/persistence/postgres-provider.d.ts.map +1 -0
  89. package/dist/persistence/postgres-provider.js +115 -0
  90. package/dist/persistence/postgres-provider.js.map +1 -0
  91. package/dist/persistence/sqlite-provider.d.ts +28 -0
  92. package/dist/persistence/sqlite-provider.d.ts.map +1 -0
  93. package/dist/persistence/sqlite-provider.js +97 -0
  94. package/dist/persistence/sqlite-provider.js.map +1 -0
  95. package/dist/persistence/types.d.ts +58 -0
  96. package/dist/persistence/types.d.ts.map +1 -0
  97. package/dist/persistence/types.js +8 -0
  98. package/dist/persistence/types.js.map +1 -0
  99. package/dist/planning/gap-analysis.d.ts +47 -4
  100. package/dist/planning/gap-analysis.d.ts.map +1 -1
  101. package/dist/planning/gap-analysis.js +190 -13
  102. package/dist/planning/gap-analysis.js.map +1 -1
  103. package/dist/planning/gap-types.d.ts +1 -1
  104. package/dist/planning/gap-types.d.ts.map +1 -1
  105. package/dist/planning/gap-types.js.map +1 -1
  106. package/dist/planning/planner.d.ts +277 -9
  107. package/dist/planning/planner.d.ts.map +1 -1
  108. package/dist/planning/planner.js +611 -46
  109. package/dist/planning/planner.js.map +1 -1
  110. package/dist/playbooks/generic/brainstorming.d.ts +9 -0
  111. package/dist/playbooks/generic/brainstorming.d.ts.map +1 -0
  112. package/dist/playbooks/generic/brainstorming.js +105 -0
  113. package/dist/playbooks/generic/brainstorming.js.map +1 -0
  114. package/dist/playbooks/generic/code-review.d.ts +11 -0
  115. package/dist/playbooks/generic/code-review.d.ts.map +1 -0
  116. package/dist/playbooks/generic/code-review.js +176 -0
  117. package/dist/playbooks/generic/code-review.js.map +1 -0
  118. package/dist/playbooks/generic/subagent-execution.d.ts +9 -0
  119. package/dist/playbooks/generic/subagent-execution.d.ts.map +1 -0
  120. package/dist/playbooks/generic/subagent-execution.js +68 -0
  121. package/dist/playbooks/generic/subagent-execution.js.map +1 -0
  122. package/dist/playbooks/generic/systematic-debugging.d.ts +9 -0
  123. package/dist/playbooks/generic/systematic-debugging.d.ts.map +1 -0
  124. package/dist/playbooks/generic/systematic-debugging.js +87 -0
  125. package/dist/playbooks/generic/systematic-debugging.js.map +1 -0
  126. package/dist/playbooks/generic/tdd.d.ts +9 -0
  127. package/dist/playbooks/generic/tdd.d.ts.map +1 -0
  128. package/dist/playbooks/generic/tdd.js +70 -0
  129. package/dist/playbooks/generic/tdd.js.map +1 -0
  130. package/dist/playbooks/generic/verification.d.ts +9 -0
  131. package/dist/playbooks/generic/verification.d.ts.map +1 -0
  132. package/dist/playbooks/generic/verification.js +74 -0
  133. package/dist/playbooks/generic/verification.js.map +1 -0
  134. package/dist/playbooks/index.d.ts +4 -0
  135. package/dist/playbooks/index.d.ts.map +1 -0
  136. package/dist/playbooks/index.js +5 -0
  137. package/dist/playbooks/index.js.map +1 -0
  138. package/dist/playbooks/playbook-registry.d.ts +42 -0
  139. package/dist/playbooks/playbook-registry.d.ts.map +1 -0
  140. package/dist/playbooks/playbook-registry.js +227 -0
  141. package/dist/playbooks/playbook-registry.js.map +1 -0
  142. package/dist/playbooks/playbook-seeder.d.ts +47 -0
  143. package/dist/playbooks/playbook-seeder.d.ts.map +1 -0
  144. package/dist/playbooks/playbook-seeder.js +104 -0
  145. package/dist/playbooks/playbook-seeder.js.map +1 -0
  146. package/dist/playbooks/playbook-types.d.ts +132 -0
  147. package/dist/playbooks/playbook-types.d.ts.map +1 -0
  148. package/dist/playbooks/playbook-types.js +12 -0
  149. package/dist/playbooks/playbook-types.js.map +1 -0
  150. package/dist/project/project-registry.d.ts +4 -4
  151. package/dist/project/project-registry.d.ts.map +1 -1
  152. package/dist/project/project-registry.js +30 -57
  153. package/dist/project/project-registry.js.map +1 -1
  154. package/dist/prompts/index.d.ts +4 -0
  155. package/dist/prompts/index.d.ts.map +1 -0
  156. package/dist/prompts/index.js +3 -0
  157. package/dist/prompts/index.js.map +1 -0
  158. package/dist/prompts/parser.d.ts +17 -0
  159. package/dist/prompts/parser.d.ts.map +1 -0
  160. package/dist/prompts/parser.js +47 -0
  161. package/dist/prompts/parser.js.map +1 -0
  162. package/dist/prompts/template-manager.d.ts +25 -0
  163. package/dist/prompts/template-manager.d.ts.map +1 -0
  164. package/dist/prompts/template-manager.js +71 -0
  165. package/dist/prompts/template-manager.js.map +1 -0
  166. package/dist/prompts/types.d.ts +26 -0
  167. package/dist/prompts/types.d.ts.map +1 -0
  168. package/dist/prompts/types.js +5 -0
  169. package/dist/prompts/types.js.map +1 -0
  170. package/dist/runtime/admin-extra-ops.d.ts +5 -3
  171. package/dist/runtime/admin-extra-ops.d.ts.map +1 -1
  172. package/dist/runtime/admin-extra-ops.js +348 -11
  173. package/dist/runtime/admin-extra-ops.js.map +1 -1
  174. package/dist/runtime/admin-ops.d.ts.map +1 -1
  175. package/dist/runtime/admin-ops.js +10 -3
  176. package/dist/runtime/admin-ops.js.map +1 -1
  177. package/dist/runtime/capture-ops.d.ts.map +1 -1
  178. package/dist/runtime/capture-ops.js +20 -2
  179. package/dist/runtime/capture-ops.js.map +1 -1
  180. package/dist/runtime/cognee-sync-ops.d.ts +12 -0
  181. package/dist/runtime/cognee-sync-ops.d.ts.map +1 -0
  182. package/dist/runtime/cognee-sync-ops.js +55 -0
  183. package/dist/runtime/cognee-sync-ops.js.map +1 -0
  184. package/dist/runtime/core-ops.d.ts +8 -6
  185. package/dist/runtime/core-ops.d.ts.map +1 -1
  186. package/dist/runtime/core-ops.js +226 -9
  187. package/dist/runtime/core-ops.js.map +1 -1
  188. package/dist/runtime/curator-extra-ops.d.ts +2 -2
  189. package/dist/runtime/curator-extra-ops.d.ts.map +1 -1
  190. package/dist/runtime/curator-extra-ops.js +15 -3
  191. package/dist/runtime/curator-extra-ops.js.map +1 -1
  192. package/dist/runtime/domain-ops.js +2 -2
  193. package/dist/runtime/domain-ops.js.map +1 -1
  194. package/dist/runtime/grading-ops.d.ts.map +1 -1
  195. package/dist/runtime/grading-ops.js.map +1 -1
  196. package/dist/runtime/intake-ops.d.ts +14 -0
  197. package/dist/runtime/intake-ops.d.ts.map +1 -0
  198. package/dist/runtime/intake-ops.js +110 -0
  199. package/dist/runtime/intake-ops.js.map +1 -0
  200. package/dist/runtime/loop-ops.d.ts +5 -4
  201. package/dist/runtime/loop-ops.d.ts.map +1 -1
  202. package/dist/runtime/loop-ops.js +84 -12
  203. package/dist/runtime/loop-ops.js.map +1 -1
  204. package/dist/runtime/memory-cross-project-ops.d.ts.map +1 -1
  205. package/dist/runtime/memory-cross-project-ops.js.map +1 -1
  206. package/dist/runtime/memory-extra-ops.js +5 -5
  207. package/dist/runtime/memory-extra-ops.js.map +1 -1
  208. package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
  209. package/dist/runtime/orchestrate-ops.js +8 -2
  210. package/dist/runtime/orchestrate-ops.js.map +1 -1
  211. package/dist/runtime/planning-extra-ops.d.ts +13 -5
  212. package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
  213. package/dist/runtime/planning-extra-ops.js +381 -18
  214. package/dist/runtime/planning-extra-ops.js.map +1 -1
  215. package/dist/runtime/playbook-ops.d.ts +14 -0
  216. package/dist/runtime/playbook-ops.d.ts.map +1 -0
  217. package/dist/runtime/playbook-ops.js +141 -0
  218. package/dist/runtime/playbook-ops.js.map +1 -0
  219. package/dist/runtime/project-ops.d.ts.map +1 -1
  220. package/dist/runtime/project-ops.js +7 -2
  221. package/dist/runtime/project-ops.js.map +1 -1
  222. package/dist/runtime/runtime.d.ts.map +1 -1
  223. package/dist/runtime/runtime.js +28 -9
  224. package/dist/runtime/runtime.js.map +1 -1
  225. package/dist/runtime/types.d.ts +8 -0
  226. package/dist/runtime/types.d.ts.map +1 -1
  227. package/dist/runtime/vault-extra-ops.d.ts +4 -2
  228. package/dist/runtime/vault-extra-ops.d.ts.map +1 -1
  229. package/dist/runtime/vault-extra-ops.js +383 -4
  230. package/dist/runtime/vault-extra-ops.js.map +1 -1
  231. package/dist/vault/playbook.d.ts +34 -0
  232. package/dist/vault/playbook.d.ts.map +1 -0
  233. package/dist/vault/playbook.js +60 -0
  234. package/dist/vault/playbook.js.map +1 -0
  235. package/dist/vault/vault.d.ts +52 -32
  236. package/dist/vault/vault.d.ts.map +1 -1
  237. package/dist/vault/vault.js +300 -181
  238. package/dist/vault/vault.js.map +1 -1
  239. package/package.json +9 -3
  240. package/src/__tests__/admin-extra-ops.test.ts +62 -15
  241. package/src/__tests__/admin-ops.test.ts +2 -2
  242. package/src/__tests__/brain.test.ts +3 -3
  243. package/src/__tests__/cognee-integration.test.ts +80 -0
  244. package/src/__tests__/cognee-sync-manager.test.ts +103 -0
  245. package/src/__tests__/core-ops.test.ts +36 -4
  246. package/src/__tests__/curator-extra-ops.test.ts +24 -2
  247. package/src/__tests__/errors.test.ts +388 -0
  248. package/src/__tests__/grading-ops.test.ts +28 -7
  249. package/src/__tests__/intake-pipeline.test.ts +162 -0
  250. package/src/__tests__/loop-ops.test.ts +74 -3
  251. package/src/__tests__/memory-cross-project-ops.test.ts +3 -1
  252. package/src/__tests__/orchestrate-ops.test.ts +8 -3
  253. package/src/__tests__/persistence.test.ts +291 -0
  254. package/src/__tests__/planner.test.ts +99 -21
  255. package/src/__tests__/planning-extra-ops.test.ts +168 -10
  256. package/src/__tests__/playbook-registry.test.ts +326 -0
  257. package/src/__tests__/playbook-seeder.test.ts +163 -0
  258. package/src/__tests__/playbook.test.ts +389 -0
  259. package/src/__tests__/postgres-provider.test.ts +58 -0
  260. package/src/__tests__/project-ops.test.ts +18 -4
  261. package/src/__tests__/template-manager.test.ts +222 -0
  262. package/src/__tests__/vault-extra-ops.test.ts +82 -7
  263. package/src/__tests__/vault.test.ts +184 -0
  264. package/src/brain/brain.ts +71 -9
  265. package/src/brain/intelligence.ts +258 -307
  266. package/src/brain/types.ts +2 -2
  267. package/src/cognee/client.ts +18 -0
  268. package/src/cognee/sync-manager.ts +389 -0
  269. package/src/control/identity-manager.ts +77 -75
  270. package/src/control/intent-router.ts +55 -57
  271. package/src/curator/curator.ts +199 -139
  272. package/src/errors/classify.ts +102 -0
  273. package/src/errors/index.ts +5 -0
  274. package/src/errors/retry.ts +132 -0
  275. package/src/errors/types.ts +81 -0
  276. package/src/governance/governance.ts +90 -107
  277. package/src/index.ts +116 -3
  278. package/src/intake/content-classifier.ts +146 -0
  279. package/src/intake/dedup-gate.ts +92 -0
  280. package/src/intake/intake-pipeline.ts +503 -0
  281. package/src/intake/types.ts +69 -0
  282. package/src/intelligence/loader.ts +1 -1
  283. package/src/intelligence/types.ts +3 -1
  284. package/src/loop/loop-manager.ts +325 -7
  285. package/src/loop/types.ts +72 -1
  286. package/src/persistence/index.ts +9 -0
  287. package/src/persistence/postgres-provider.ts +157 -0
  288. package/src/persistence/sqlite-provider.ts +115 -0
  289. package/src/persistence/types.ts +74 -0
  290. package/src/planning/gap-analysis.ts +286 -17
  291. package/src/planning/gap-types.ts +4 -1
  292. package/src/planning/planner.ts +828 -55
  293. package/src/playbooks/generic/brainstorming.ts +110 -0
  294. package/src/playbooks/generic/code-review.ts +181 -0
  295. package/src/playbooks/generic/subagent-execution.ts +74 -0
  296. package/src/playbooks/generic/systematic-debugging.ts +92 -0
  297. package/src/playbooks/generic/tdd.ts +75 -0
  298. package/src/playbooks/generic/verification.ts +79 -0
  299. package/src/playbooks/index.ts +27 -0
  300. package/src/playbooks/playbook-registry.ts +284 -0
  301. package/src/playbooks/playbook-seeder.ts +119 -0
  302. package/src/playbooks/playbook-types.ts +162 -0
  303. package/src/project/project-registry.ts +81 -74
  304. package/src/prompts/index.ts +3 -0
  305. package/src/prompts/parser.ts +59 -0
  306. package/src/prompts/template-manager.ts +77 -0
  307. package/src/prompts/types.ts +28 -0
  308. package/src/runtime/admin-extra-ops.ts +391 -13
  309. package/src/runtime/admin-ops.ts +17 -6
  310. package/src/runtime/capture-ops.ts +25 -6
  311. package/src/runtime/cognee-sync-ops.ts +63 -0
  312. package/src/runtime/core-ops.ts +258 -8
  313. package/src/runtime/curator-extra-ops.ts +17 -3
  314. package/src/runtime/domain-ops.ts +2 -2
  315. package/src/runtime/grading-ops.ts +11 -2
  316. package/src/runtime/intake-ops.ts +126 -0
  317. package/src/runtime/loop-ops.ts +96 -13
  318. package/src/runtime/memory-cross-project-ops.ts +1 -2
  319. package/src/runtime/memory-extra-ops.ts +5 -5
  320. package/src/runtime/orchestrate-ops.ts +8 -2
  321. package/src/runtime/planning-extra-ops.ts +414 -23
  322. package/src/runtime/playbook-ops.ts +169 -0
  323. package/src/runtime/project-ops.ts +9 -3
  324. package/src/runtime/runtime.ts +36 -10
  325. package/src/runtime/types.ts +8 -0
  326. package/src/runtime/vault-extra-ops.ts +425 -4
  327. package/src/vault/playbook.ts +87 -0
  328. package/src/vault/vault.ts +419 -235
@@ -0,0 +1,293 @@
1
+ /**
2
+ * CogneeSyncManager — queued, resilient sync between the Vault SQLite DB and Cognee.
3
+ *
4
+ * Maintains a persistent queue (`cognee_sync_queue`) so that ingestions, updates,
5
+ * and deletions survive process restarts. Drain is idempotent and retry-safe.
6
+ * Health-flip detection auto-drains when Cognee comes back online.
7
+ *
8
+ * Ported from Salvador MCP's battle-tested cognee-sync module.
9
+ */
10
+ import { createHash } from 'node:crypto';
11
+ // ─── Constants ──────────────────────────────────────────────────────
12
+ const MAX_BATCH = 10;
13
+ const MAX_RETRIES = 3;
14
+ // ─── CogneeSyncManager ─────────────────────────────────────────────
15
+ export class CogneeSyncManager {
16
+ db;
17
+ cognee;
18
+ dataset;
19
+ lastDrainAt = null;
20
+ drainTimer = null;
21
+ wasAvailable = false;
22
+ constructor(db, cognee, dataset) {
23
+ this.db = db;
24
+ this.cognee = cognee;
25
+ this.dataset = dataset;
26
+ this.initSchema();
27
+ this.wasAvailable = cognee.isAvailable;
28
+ }
29
+ // ─── Schema ────────────────────────────────────────────────────
30
+ initSchema() {
31
+ this.db.execSql(`
32
+ CREATE TABLE IF NOT EXISTS cognee_sync_queue (
33
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
34
+ op TEXT NOT NULL,
35
+ entry_id TEXT NOT NULL,
36
+ dataset TEXT NOT NULL,
37
+ content_hash TEXT,
38
+ status TEXT NOT NULL DEFAULT 'pending',
39
+ attempts INTEGER NOT NULL DEFAULT 0,
40
+ error TEXT,
41
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
42
+ processed_at INTEGER
43
+ )
44
+ `);
45
+ // Add cognee_ingested_hash column to entries table for reconciliation.
46
+ // ALTER TABLE ... ADD COLUMN is a no-op error when the column already exists.
47
+ try {
48
+ this.db.run('ALTER TABLE entries ADD COLUMN cognee_ingested_hash TEXT');
49
+ }
50
+ catch {
51
+ // Column already exists — expected on subsequent runs.
52
+ }
53
+ }
54
+ // ─── Content hashing ──────────────────────────────────────────
55
+ /**
56
+ * SHA-256 of the serialized entry fields, truncated to 16 hex characters.
57
+ * Deterministic for identical content — used to detect drift.
58
+ */
59
+ static contentHash(entry) {
60
+ const payload = JSON.stringify({
61
+ id: entry.id,
62
+ type: entry.type,
63
+ domain: entry.domain,
64
+ title: entry.title,
65
+ severity: entry.severity,
66
+ description: entry.description,
67
+ context: entry.context ?? null,
68
+ example: entry.example ?? null,
69
+ counterExample: entry.counterExample ?? null,
70
+ why: entry.why ?? null,
71
+ tags: entry.tags,
72
+ appliesTo: entry.appliesTo ?? [],
73
+ });
74
+ return createHash('sha256').update(payload).digest('hex').slice(0, 16);
75
+ }
76
+ // ─── Enqueue ──────────────────────────────────────────────────
77
+ /**
78
+ * Add an operation to the sync queue.
79
+ *
80
+ * @param op The operation type (ingest | update | delete).
81
+ * @param entryId The vault entry ID.
82
+ * @param entry Optional entry for hash computation. If omitted, hash is null.
83
+ */
84
+ enqueue(op, entryId, entry) {
85
+ const contentHash = entry ? CogneeSyncManager.contentHash(entry) : null;
86
+ this.db.run(`INSERT INTO cognee_sync_queue (op, entry_id, dataset, content_hash)
87
+ VALUES (@op, @entryId, @dataset, @contentHash)`, {
88
+ op,
89
+ entryId,
90
+ dataset: this.dataset,
91
+ contentHash,
92
+ });
93
+ }
94
+ // ─── Drain ────────────────────────────────────────────────────
95
+ /**
96
+ * Process up to MAX_BATCH pending items from the queue.
97
+ * Returns the number of items successfully processed.
98
+ *
99
+ * If Cognee is not available, returns 0 without touching the queue.
100
+ */
101
+ async drain() {
102
+ if (!this.cognee.isAvailable)
103
+ return 0;
104
+ // Claim a batch: move pending → processing
105
+ const items = this.db.all(`SELECT * FROM cognee_sync_queue
106
+ WHERE status = 'pending' AND dataset = @dataset
107
+ ORDER BY created_at ASC
108
+ LIMIT @limit`, { dataset: this.dataset, limit: MAX_BATCH });
109
+ if (items.length === 0)
110
+ return 0;
111
+ let processed = 0;
112
+ for (const raw of items) {
113
+ const item = rowToQueueItem(raw);
114
+ // Mark as processing
115
+ this.db.run(`UPDATE cognee_sync_queue SET status = 'processing', attempts = attempts + 1 WHERE id = @id`, { id: item.id });
116
+ try {
117
+ if (item.op === 'ingest' || item.op === 'update') {
118
+ const entry = this.readEntry(item.entryId);
119
+ if (!entry) {
120
+ // Entry was deleted from vault before we could sync — mark completed
121
+ this.markCompleted(item.id);
122
+ processed++;
123
+ continue;
124
+ }
125
+ const result = await this.cognee.addEntries([entry]);
126
+ if (result.added === 0) {
127
+ throw new Error('Cognee addEntries returned 0 added');
128
+ }
129
+ // Update the ingested hash on the entries table
130
+ const hash = CogneeSyncManager.contentHash(entry);
131
+ this.db.run(`UPDATE entries SET cognee_ingested_hash = @hash WHERE id = @id`, {
132
+ hash,
133
+ id: item.entryId,
134
+ });
135
+ this.markCompleted(item.id);
136
+ processed++;
137
+ }
138
+ else if (item.op === 'delete') {
139
+ // deleteEntries may not exist yet — graceful degradation
140
+ const client = this.cognee;
141
+ if (typeof client.deleteEntries === 'function') {
142
+ await client.deleteEntries([item.entryId]);
143
+ }
144
+ // Clear the ingested hash (entry may already be gone from entries table)
145
+ this.db.run(`UPDATE entries SET cognee_ingested_hash = NULL WHERE id = @id`, {
146
+ id: item.entryId,
147
+ });
148
+ this.markCompleted(item.id);
149
+ processed++;
150
+ }
151
+ }
152
+ catch (err) {
153
+ const errorMsg = err instanceof Error ? err.message : String(err);
154
+ const attempts = item.attempts + 1; // Already incremented above
155
+ if (attempts >= MAX_RETRIES) {
156
+ this.db.run(`UPDATE cognee_sync_queue SET status = 'failed', error = @error, processed_at = unixepoch() WHERE id = @id`, { id: item.id, error: errorMsg });
157
+ }
158
+ else {
159
+ // Back to pending for retry
160
+ this.db.run(`UPDATE cognee_sync_queue SET status = 'pending', error = @error WHERE id = @id`, { id: item.id, error: errorMsg });
161
+ }
162
+ }
163
+ }
164
+ this.lastDrainAt = Math.floor(Date.now() / 1000);
165
+ return processed;
166
+ }
167
+ // ─── Reconciliation ───────────────────────────────────────────
168
+ /**
169
+ * Find entries whose cognee_ingested_hash is NULL or doesn't match the
170
+ * current content hash. Enqueue dirty entries for re-ingestion.
171
+ *
172
+ * Returns the number of entries enqueued.
173
+ */
174
+ reconcile() {
175
+ // Get all entries that either have never been ingested or whose content changed
176
+ const rows = this.db.all(`SELECT * FROM entries WHERE cognee_ingested_hash IS NULL
177
+ UNION ALL
178
+ SELECT * FROM entries WHERE cognee_ingested_hash IS NOT NULL`);
179
+ let enqueued = 0;
180
+ for (const raw of rows) {
181
+ const entry = this.rowToEntry(raw);
182
+ const currentHash = CogneeSyncManager.contentHash(entry);
183
+ const ingestedHash = raw.cognee_ingested_hash;
184
+ if (ingestedHash === currentHash)
185
+ continue;
186
+ // Determine op: null hash means never ingested, mismatched means update
187
+ const op = ingestedHash === null ? 'ingest' : 'update';
188
+ // Avoid duplicate pending items for the same entry
189
+ const existing = this.db.get(`SELECT id FROM cognee_sync_queue
190
+ WHERE entry_id = @entryId AND dataset = @dataset AND status = 'pending'`, { entryId: entry.id, dataset: this.dataset });
191
+ if (!existing) {
192
+ this.enqueue(op, entry.id, entry);
193
+ enqueued++;
194
+ }
195
+ }
196
+ return enqueued;
197
+ }
198
+ // ─── Stats ────────────────────────────────────────────────────
199
+ getStats() {
200
+ const countByStatus = (status) => {
201
+ const row = this.db.get(`SELECT COUNT(*) as count FROM cognee_sync_queue WHERE status = @status AND dataset = @dataset`, { status, dataset: this.dataset });
202
+ return row?.count ?? 0;
203
+ };
204
+ const pending = countByStatus('pending');
205
+ const processing = countByStatus('processing');
206
+ const completed = countByStatus('completed');
207
+ const failed = countByStatus('failed');
208
+ return {
209
+ pending,
210
+ processing,
211
+ completed,
212
+ failed,
213
+ queueSize: pending + processing,
214
+ lastDrainAt: this.lastDrainAt,
215
+ };
216
+ }
217
+ // ─── Health-flip detection ────────────────────────────────────
218
+ /**
219
+ * Detects an unavailable-to-available transition on the Cognee client.
220
+ * When Cognee comes back online, automatically triggers a drain.
221
+ *
222
+ * Call this periodically (e.g. after each health check).
223
+ */
224
+ async checkHealthFlip() {
225
+ const nowAvailable = this.cognee.isAvailable;
226
+ if (nowAvailable && !this.wasAvailable) {
227
+ // Cognee just came back online — drain the queue
228
+ await this.drain();
229
+ }
230
+ this.wasAvailable = nowAvailable;
231
+ }
232
+ // ─── Cleanup ──────────────────────────────────────────────────
233
+ /**
234
+ * Clear any periodic drain timer.
235
+ */
236
+ close() {
237
+ if (this.drainTimer) {
238
+ clearInterval(this.drainTimer);
239
+ this.drainTimer = null;
240
+ }
241
+ }
242
+ // ─── Private helpers ──────────────────────────────────────────
243
+ markCompleted(id) {
244
+ this.db.run(`UPDATE cognee_sync_queue SET status = 'completed', processed_at = unixepoch() WHERE id = @id`, { id });
245
+ }
246
+ /**
247
+ * Read an entry from the entries table by ID.
248
+ * Returns null if the entry doesn't exist.
249
+ */
250
+ readEntry(id) {
251
+ const row = this.db.get('SELECT * FROM entries WHERE id = @id', {
252
+ id,
253
+ });
254
+ return row ? this.rowToEntry(row) : null;
255
+ }
256
+ /**
257
+ * Convert a raw DB row into an IntelligenceEntry.
258
+ */
259
+ rowToEntry(row) {
260
+ return {
261
+ id: row.id,
262
+ type: row.type,
263
+ domain: row.domain,
264
+ title: row.title,
265
+ severity: row.severity,
266
+ description: row.description,
267
+ context: row.context ?? undefined,
268
+ example: row.example ?? undefined,
269
+ counterExample: row.counter_example ?? undefined,
270
+ why: row.why ?? undefined,
271
+ tags: JSON.parse(row.tags || '[]'),
272
+ appliesTo: JSON.parse(row.applies_to || '[]'),
273
+ validFrom: row.valid_from ?? undefined,
274
+ validUntil: row.valid_until ?? undefined,
275
+ };
276
+ }
277
+ }
278
+ // ─── Module-level helpers ─────────────────────────────────────────
279
+ function rowToQueueItem(row) {
280
+ return {
281
+ id: row.id,
282
+ op: row.op,
283
+ entryId: row.entry_id,
284
+ dataset: row.dataset,
285
+ contentHash: row.content_hash ?? null,
286
+ status: row.status,
287
+ attempts: row.attempts,
288
+ error: row.error ?? null,
289
+ createdAt: row.created_at,
290
+ processedAt: row.processed_at ?? null,
291
+ };
292
+ }
293
+ //# sourceMappingURL=sync-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../../src/cognee/sync-manager.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,14 @@
2
2
  * IdentityManager — Agent identity CRUD with versioning and rollback.
3
3
  *
4
4
  * Follows the Curator/BrainIntelligence pattern: separate class, own SQLite
5
- * tables, takes Vault as constructor dep. All methods synchronous (better-sqlite3).
5
+ * tables, takes Vault as constructor dep. Uses PersistenceProvider abstraction
6
+ * for all database access.
6
7
  */
7
8
  import type { Vault } from '../vault/vault.js';
8
9
  import type { AgentIdentity, IdentityVersion, IdentityUpdateInput, Guideline, GuidelineInput, GuidelineCategory } from './types.js';
9
10
  export declare class IdentityManager {
10
11
  private vault;
12
+ private provider;
11
13
  constructor(vault: Vault);
12
14
  private initializeTables;
13
15
  getIdentity(agentId: string): AgentIdentity | null;
@@ -1 +1 @@
1
- {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../src/control/identity-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAQ;gBAET,KAAK,EAAE,KAAK;IAOxB,OAAO,CAAC,gBAAgB;IA2CxB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAWlD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,aAAa;IAuDvE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS;IAc/D,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM7C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,SAAS,EAAE;IAoBzE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,eAAe,EAAE;IAUjE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa;IA6CzD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAmChD"}
1
+ {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../src/control/identity-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,QAAQ,CAAsB;gBAE1B,KAAK,EAAE,KAAK;IAQxB,OAAO,CAAC,gBAAgB;IA0CxB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAWlD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,aAAa;IAyDvE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS;IAiB/D,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAQ7C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,SAAS,EAAE;IAiBzE,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,eAAe,EAAE;IAQjE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa;IA+CzD,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAmChD"}
@@ -2,20 +2,22 @@
2
2
  * IdentityManager — Agent identity CRUD with versioning and rollback.
3
3
  *
4
4
  * Follows the Curator/BrainIntelligence pattern: separate class, own SQLite
5
- * tables, takes Vault as constructor dep. All methods synchronous (better-sqlite3).
5
+ * tables, takes Vault as constructor dep. Uses PersistenceProvider abstraction
6
+ * for all database access.
6
7
  */
7
8
  import { randomUUID } from 'node:crypto';
8
9
  // ─── Class ──────────────────────────────────────────────────────────
9
10
  export class IdentityManager {
10
11
  vault;
12
+ provider;
11
13
  constructor(vault) {
12
14
  this.vault = vault;
15
+ this.provider = vault.getProvider();
13
16
  this.initializeTables();
14
17
  }
15
18
  // ─── Table Initialization ───────────────────────────────────────────
16
19
  initializeTables() {
17
- const db = this.vault.getDb();
18
- db.exec(`
20
+ this.provider.execSql(`
19
21
  CREATE TABLE IF NOT EXISTS agent_identity (
20
22
  agent_id TEXT PRIMARY KEY,
21
23
  name TEXT NOT NULL,
@@ -23,7 +25,7 @@ export class IdentityManager {
23
25
  description TEXT NOT NULL DEFAULT '',
24
26
  personality TEXT NOT NULL DEFAULT '[]',
25
27
  version INTEGER NOT NULL DEFAULT 1,
26
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
28
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
27
29
  );
28
30
 
29
31
  CREATE TABLE IF NOT EXISTS agent_identity_versions (
@@ -33,7 +35,7 @@ export class IdentityManager {
33
35
  snapshot TEXT NOT NULL,
34
36
  changed_by TEXT NOT NULL DEFAULT 'system',
35
37
  change_reason TEXT NOT NULL DEFAULT '',
36
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
38
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
37
39
  UNIQUE(agent_id, version)
38
40
  );
39
41
 
@@ -43,8 +45,8 @@ export class IdentityManager {
43
45
  category TEXT NOT NULL CHECK(category IN ('behavior', 'preference', 'restriction', 'style')),
44
46
  text TEXT NOT NULL,
45
47
  priority INTEGER NOT NULL DEFAULT 0,
46
- created_at TEXT NOT NULL DEFAULT (datetime('now')),
47
- updated_at TEXT NOT NULL DEFAULT (datetime('now'))
48
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
49
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
48
50
  );
49
51
 
50
52
  CREATE INDEX IF NOT EXISTS idx_guidelines_agent
@@ -55,22 +57,26 @@ export class IdentityManager {
55
57
  }
56
58
  // ─── Identity CRUD ──────────────────────────────────────────────────
57
59
  getIdentity(agentId) {
58
- const db = this.vault.getDb();
59
- const row = db.prepare('SELECT * FROM agent_identity WHERE agent_id = ?').get(agentId);
60
+ const row = this.provider.get('SELECT * FROM agent_identity WHERE agent_id = ?', [agentId]);
60
61
  if (!row)
61
62
  return null;
62
63
  const guidelines = this.getGuidelines(agentId);
63
64
  return rowToIdentity(row, guidelines);
64
65
  }
65
66
  setIdentity(agentId, input) {
66
- const db = this.vault.getDb();
67
- db.transaction(() => {
68
- const existing = db.prepare('SELECT * FROM agent_identity WHERE agent_id = ?').get(agentId);
67
+ this.provider.transaction(() => {
68
+ const existing = this.provider.get('SELECT * FROM agent_identity WHERE agent_id = ?', [agentId]);
69
69
  if (existing) {
70
70
  // Snapshot current state before updating
71
71
  const snapshot = JSON.stringify(rowToIdentitySnapshot(existing));
72
- db.prepare(`INSERT INTO agent_identity_versions (agent_id, version, snapshot, changed_by, change_reason)
73
- VALUES (?, ?, ?, ?, ?)`).run(agentId, existing.version, snapshot, input.changedBy ?? 'system', input.changeReason ?? '');
72
+ this.provider.run(`INSERT INTO agent_identity_versions (agent_id, version, snapshot, changed_by, change_reason)
73
+ VALUES (?, ?, ?, ?, ?)`, [
74
+ agentId,
75
+ existing.version,
76
+ snapshot,
77
+ input.changedBy ?? 'system',
78
+ input.changeReason ?? '',
79
+ ]);
74
80
  const newVersion = existing.version + 1;
75
81
  const name = input.name ?? existing.name;
76
82
  const role = input.role ?? existing.role;
@@ -78,10 +84,10 @@ export class IdentityManager {
78
84
  const personality = input.personality
79
85
  ? JSON.stringify(input.personality)
80
86
  : existing.personality;
81
- db.prepare(`UPDATE agent_identity
87
+ this.provider.run(`UPDATE agent_identity
82
88
  SET name = ?, role = ?, description = ?, personality = ?,
83
- version = ?, updated_at = datetime('now')
84
- WHERE agent_id = ?`).run(name, role, description, personality, newVersion, agentId);
89
+ version = ?, updated_at = unixepoch()
90
+ WHERE agent_id = ?`, [name, role, description, personality, newVersion, agentId]);
85
91
  }
86
92
  else {
87
93
  // First identity creation — version 1
@@ -89,71 +95,63 @@ export class IdentityManager {
89
95
  const role = input.role ?? '';
90
96
  const description = input.description ?? '';
91
97
  const personality = JSON.stringify(input.personality ?? []);
92
- db.prepare(`INSERT INTO agent_identity (agent_id, name, role, description, personality, version)
93
- VALUES (?, ?, ?, ?, ?, 1)`).run(agentId, name, role, description, personality);
98
+ this.provider.run(`INSERT INTO agent_identity (agent_id, name, role, description, personality, version)
99
+ VALUES (?, ?, ?, ?, ?, 1)`, [agentId, name, role, description, personality]);
94
100
  }
95
- })();
101
+ });
96
102
  return this.getIdentity(agentId);
97
103
  }
98
104
  // ─── Guidelines ─────────────────────────────────────────────────────
99
105
  addGuideline(agentId, input) {
100
- const db = this.vault.getDb();
101
106
  const id = randomUUID();
102
107
  const priority = input.priority ?? 0;
103
- db.prepare(`INSERT INTO agent_guidelines (id, agent_id, category, text, priority)
104
- VALUES (?, ?, ?, ?, ?)`).run(id, agentId, input.category, input.text, priority);
105
- const row = db.prepare('SELECT * FROM agent_guidelines WHERE id = ?').get(id);
108
+ this.provider.run(`INSERT INTO agent_guidelines (id, agent_id, category, text, priority)
109
+ VALUES (?, ?, ?, ?, ?)`, [id, agentId, input.category, input.text, priority]);
110
+ const row = this.provider.get('SELECT * FROM agent_guidelines WHERE id = ?', [id]);
106
111
  return rowToGuideline(row);
107
112
  }
108
113
  removeGuideline(guidelineId) {
109
- const db = this.vault.getDb();
110
- const result = db.prepare('DELETE FROM agent_guidelines WHERE id = ?').run(guidelineId);
114
+ const result = this.provider.run('DELETE FROM agent_guidelines WHERE id = ?', [guidelineId]);
111
115
  return result.changes > 0;
112
116
  }
113
117
  getGuidelines(agentId, category) {
114
- const db = this.vault.getDb();
115
118
  if (category) {
116
- const rows = db
117
- .prepare('SELECT * FROM agent_guidelines WHERE agent_id = ? AND category = ? ORDER BY priority DESC, created_at ASC')
118
- .all(agentId, category);
119
+ const rows = this.provider.all('SELECT * FROM agent_guidelines WHERE agent_id = ? AND category = ? ORDER BY priority DESC, created_at ASC', [agentId, category]);
119
120
  return rows.map(rowToGuideline);
120
121
  }
121
- const rows = db
122
- .prepare('SELECT * FROM agent_guidelines WHERE agent_id = ? ORDER BY priority DESC, created_at ASC')
123
- .all(agentId);
122
+ const rows = this.provider.all('SELECT * FROM agent_guidelines WHERE agent_id = ? ORDER BY priority DESC, created_at ASC', [agentId]);
124
123
  return rows.map(rowToGuideline);
125
124
  }
126
125
  // ─── Versioning ─────────────────────────────────────────────────────
127
126
  getVersionHistory(agentId, limit = 20) {
128
- const db = this.vault.getDb();
129
- const rows = db
130
- .prepare('SELECT * FROM agent_identity_versions WHERE agent_id = ? ORDER BY version DESC LIMIT ?')
131
- .all(agentId, limit);
127
+ const rows = this.provider.all('SELECT * FROM agent_identity_versions WHERE agent_id = ? ORDER BY version DESC LIMIT ?', [agentId, limit]);
132
128
  return rows.map(rowToVersion);
133
129
  }
134
130
  rollback(agentId, version) {
135
- const db = this.vault.getDb();
136
- db.transaction(() => {
137
- const versionRow = db
138
- .prepare('SELECT * FROM agent_identity_versions WHERE agent_id = ? AND version = ?')
139
- .get(agentId, version);
131
+ this.provider.transaction(() => {
132
+ const versionRow = this.provider.get('SELECT * FROM agent_identity_versions WHERE agent_id = ? AND version = ?', [agentId, version]);
140
133
  if (!versionRow) {
141
134
  throw new Error(`Version ${version} not found for agent ${agentId}`);
142
135
  }
143
136
  const snapshot = JSON.parse(versionRow.snapshot);
144
- const current = db
145
- .prepare('SELECT * FROM agent_identity WHERE agent_id = ?')
146
- .get(agentId);
137
+ const current = this.provider.get('SELECT * FROM agent_identity WHERE agent_id = ?', [agentId]);
147
138
  // Snapshot current state before rollback
148
139
  const currentSnapshot = JSON.stringify(rowToIdentitySnapshot(current));
149
- db.prepare(`INSERT INTO agent_identity_versions (agent_id, version, snapshot, changed_by, change_reason)
150
- VALUES (?, ?, ?, ?, ?)`).run(agentId, current.version, currentSnapshot, 'system', `Before rollback to v${version}`);
140
+ this.provider.run(`INSERT INTO agent_identity_versions (agent_id, version, snapshot, changed_by, change_reason)
141
+ VALUES (?, ?, ?, ?, ?)`, [agentId, current.version, currentSnapshot, 'system', `Before rollback to v${version}`]);
151
142
  const newVersion = current.version + 1;
152
- db.prepare(`UPDATE agent_identity
143
+ this.provider.run(`UPDATE agent_identity
153
144
  SET name = ?, role = ?, description = ?, personality = ?,
154
- version = ?, updated_at = datetime('now')
155
- WHERE agent_id = ?`).run(snapshot.name, snapshot.role, snapshot.description, JSON.stringify(snapshot.personality), newVersion, agentId);
156
- })();
145
+ version = ?, updated_at = unixepoch()
146
+ WHERE agent_id = ?`, [
147
+ snapshot.name,
148
+ snapshot.role,
149
+ snapshot.description,
150
+ JSON.stringify(snapshot.personality),
151
+ newVersion,
152
+ agentId,
153
+ ]);
154
+ });
157
155
  return this.getIdentity(agentId);
158
156
  }
159
157
  // ─── Rendering ──────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../src/control/identity-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../src/control/identity-manager.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import type { Vault } from '../vault/vault.js';
11
11
  import type { OperationalMode, IntentClassification, ModeConfig, MorphResult } from './types.js';
12
12
  export declare class IntentRouter {
13
13
  private vault;
14
+ private provider;
14
15
  private currentMode;
15
16
  constructor(vault: Vault);
16
17
  private initializeTables;
@@ -1 +1 @@
1
- {"version":3,"file":"intent-router.d.ts","sourceRoot":"","sources":["../../src/control/intent-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAEV,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AA+EpB,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAmC;gBAE1C,KAAK,EAAE,KAAK;IAQxB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,gBAAgB;IAmBxB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IA6CjD,OAAO,CAAC,UAAU;IAgBlB,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;IAiBzC,cAAc,IAAI,eAAe;IAIjC,gBAAgB,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE;IAWlD,QAAQ,IAAI,UAAU,EAAE;IAMxB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IActC,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAY7D,eAAe,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC;CAwBF"}
1
+ {"version":3,"file":"intent-router.d.ts","sourceRoot":"","sources":["../../src/control/intent-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAEV,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AA+EpB,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,WAAW,CAAmC;gBAE1C,KAAK,EAAE,KAAK;IASxB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,gBAAgB;IAcxB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IA6CjD,OAAO,CAAC,UAAU;IAgBlB,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;IAczC,cAAc,IAAI,eAAe;IAIjC,gBAAgB,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE;IAWlD,QAAQ,IAAI,UAAU,EAAE;IAKxB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IActC,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAY7D,eAAe,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC;CAuBF"}