@askexenow/exe-os 0.9.200 → 0.9.202

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 (217) hide show
  1. package/dist/{active-agent-LCEW3PSL.js → active-agent-3MLX4YOU.js} +2 -2
  2. package/dist/{active-agent-J3YKAXE2.js → active-agent-MTJPQ57G.js} +2 -2
  3. package/dist/{agentic-ontology-N5HXDWIN.js → agentic-ontology-HPFKQFA2.js} +1 -1
  4. package/dist/{backfill-metadata-LIACQP2F.js → backfill-metadata-IR5SAR3G.js} +3 -3
  5. package/dist/{behaviors-GXMZW7B3.js → behaviors-TIOFWD4T.js} +2 -2
  6. package/dist/bin/agentic-ontology-backfill.js +4 -4
  7. package/dist/bin/agentic-reflection-backfill.js +5 -5
  8. package/dist/bin/agentic-semantic-label.js +4 -4
  9. package/dist/bin/backfill-conversations.js +3 -3
  10. package/dist/bin/backfill-responses.js +3 -3
  11. package/dist/bin/backfill-vectors.js +4 -4
  12. package/dist/bin/bulk-sync-postgres.js +5 -5
  13. package/dist/bin/cleanup-stale-review-tasks.js +8 -8
  14. package/dist/bin/cli.js +12 -12
  15. package/dist/bin/exe-agent-config.js +1 -1
  16. package/dist/bin/exe-agent.js +3 -3
  17. package/dist/bin/exe-assign.js +4 -4
  18. package/dist/bin/exe-boot.js +15 -15
  19. package/dist/bin/exe-call.js +3 -3
  20. package/dist/bin/exe-cloud.js +3 -3
  21. package/dist/bin/exe-dispatch.js +8 -8
  22. package/dist/bin/exe-doctor.js +1 -1
  23. package/dist/bin/exe-export-behaviors.js +6 -6
  24. package/dist/bin/exe-forget.js +5 -5
  25. package/dist/bin/exe-gateway.js +5 -5
  26. package/dist/bin/exe-heartbeat.js +8 -8
  27. package/dist/bin/exe-kill.js +11 -11
  28. package/dist/bin/exe-launch-agent.js +9 -9
  29. package/dist/bin/exe-new-employee.js +5 -5
  30. package/dist/bin/exe-pending-messages.js +9 -9
  31. package/dist/bin/exe-pending-notifications.js +8 -8
  32. package/dist/bin/exe-pending-reviews.js +8 -8
  33. package/dist/bin/exe-rename.js +3 -3
  34. package/dist/bin/exe-review.js +10 -10
  35. package/dist/bin/exe-search.js +4 -4
  36. package/dist/bin/exe-session-cleanup.js +12 -12
  37. package/dist/bin/exe-settings.js +3 -3
  38. package/dist/bin/exe-start-codex.js +10 -10
  39. package/dist/bin/exe-start-opencode.js +7 -7
  40. package/dist/bin/exe-status.js +9 -9
  41. package/dist/bin/exe-team.js +2 -2
  42. package/dist/bin/git-sweep.js +8 -8
  43. package/dist/bin/graph-backfill.js +3 -3
  44. package/dist/bin/graph-export.js +4 -4
  45. package/dist/bin/import-history.js +4 -4
  46. package/dist/bin/install.js +5 -5
  47. package/dist/bin/intercom-check.js +5 -7
  48. package/dist/bin/orchestration-metrics.js +22 -9
  49. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  50. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  51. package/dist/bin/scan-tasks.js +8 -8
  52. package/dist/bin/setup.js +1 -1
  53. package/dist/bin/shard-migrate.js +4 -4
  54. package/dist/{capacity-monitor-HJSJ2PCF.js → capacity-monitor-ELS3ONND.js} +9 -9
  55. package/dist/{catchup-brief-XD7IJBMN.js → catchup-brief-RGH23CWV.js} +10 -10
  56. package/dist/{chunk-P4LUVVX4.js → chunk-3M5LROTK.js} +2 -2
  57. package/dist/{chunk-SUNFUS3O.js → chunk-3YP46SPZ.js} +1 -1
  58. package/dist/{chunk-TXWQPL2U.js → chunk-5YDHBZCO.js} +1 -1
  59. package/dist/{chunk-X33TOTUD.js → chunk-6IKN6AJE.js} +2 -2
  60. package/dist/{chunk-XZQWEY5S.js → chunk-6NLHVC6U.js} +1 -1
  61. package/dist/{chunk-HVUBZOOT.js → chunk-7VU6CZCK.js} +2 -2
  62. package/dist/{chunk-BDRSCPCG.js → chunk-7ZIRLFIF.js} +1 -1
  63. package/dist/{chunk-IOEK5ZX6.js → chunk-A4NG62X6.js} +1 -1
  64. package/dist/{chunk-HGO5VFED.js → chunk-AVHQPIJS.js} +1 -1
  65. package/dist/{chunk-NOSCV7MH.js → chunk-B4K3OTWE.js} +3 -3
  66. package/dist/{chunk-X2KLWLCB.js → chunk-B4K4EJH7.js} +1 -1
  67. package/dist/{chunk-ZB3TDCXG.js → chunk-BCTU72UR.js} +1 -1
  68. package/dist/{chunk-K3FJHQ3F.js → chunk-BO7GOBQK.js} +2 -2
  69. package/dist/{chunk-PIJSZELU.js → chunk-BWRDZFPN.js} +2 -2
  70. package/dist/{chunk-HUIYZHN3.js → chunk-C2YR6BZY.js} +1 -1
  71. package/dist/{chunk-VQB4VBEQ.js → chunk-CCYOB56Q.js} +1 -1
  72. package/dist/{chunk-LLYF22CH.js → chunk-CL3YN3HD.js} +2 -2
  73. package/dist/{chunk-43HRNKQX.js → chunk-CY755JMZ.js} +53 -53
  74. package/dist/{chunk-AVRQWLQR.js → chunk-DDH7QVQN.js} +5 -5
  75. package/dist/{chunk-OW4QI3K4.js → chunk-DFQY6G4L.js} +3 -3
  76. package/dist/{chunk-LKBN6BFL.js → chunk-DSL243RL.js} +2 -2
  77. package/dist/{chunk-Z4FV45FW.js → chunk-DXFNVS44.js} +1 -1
  78. package/dist/{chunk-GSKJ72LT.js → chunk-DZ7FHBK6.js} +5 -5
  79. package/dist/{chunk-CSTJQDOE.js → chunk-G4QFC45N.js} +1 -1
  80. package/dist/{chunk-KEJ3HOBN.js → chunk-GKKMANTG.js} +1 -1
  81. package/dist/{chunk-WXQRFDY4.js → chunk-JUKSHMDE.js} +9 -9
  82. package/dist/{chunk-6UZHYTLV.js → chunk-KMAYFYW7.js} +10 -10
  83. package/dist/{chunk-LWYXWPZZ.js → chunk-KPUVDGLP.js} +8 -7
  84. package/dist/{chunk-XPOMXVWI.js → chunk-L756L654.js} +84 -7
  85. package/dist/{chunk-ZZODXCWK.js → chunk-LT26OOIB.js} +1 -1
  86. package/dist/{chunk-ATVB6CY7.js → chunk-MLQFGVFJ.js} +1 -1
  87. package/dist/{chunk-GR53PEEH.js → chunk-NC3NOZHH.js} +1 -1
  88. package/dist/{chunk-F3QROFHP.js → chunk-NF7JH5IY.js} +2 -2
  89. package/dist/{chunk-KVVCXK3J.js → chunk-P7QVZZBS.js} +3 -3
  90. package/dist/{chunk-YZNGBIXU.js → chunk-POS4PUM7.js} +1 -1
  91. package/dist/{chunk-AWYLVIGA.js → chunk-PQMCT335.js} +2 -2
  92. package/dist/{chunk-QOW5EEYO.js → chunk-Q3FTA4GX.js} +1 -1
  93. package/dist/{chunk-TJHE2HYS.js → chunk-Q4XGOMGF.js} +3 -3
  94. package/dist/{chunk-EEG6E34W.js → chunk-QR7CQJVJ.js} +1 -1
  95. package/dist/{chunk-P6PKNRFD.js → chunk-T2WX4H6T.js} +3 -3
  96. package/dist/{chunk-GKQXZZBT.js → chunk-T4EQ5SKI.js} +1 -1
  97. package/dist/{chunk-K6A7ZE2F.js → chunk-UCDMLKE5.js} +1 -1
  98. package/dist/{chunk-7YTVWNSS.js → chunk-VBKEAVEU.js} +2 -2
  99. package/dist/{chunk-OOMA2AEM.js → chunk-W3LYG7QF.js} +1 -1
  100. package/dist/{chunk-WVNKXOWZ.js → chunk-WFE44FUV.js} +1 -1
  101. package/dist/{chunk-E5P2TY4E.js → chunk-XASY3SCH.js} +1 -1
  102. package/dist/{chunk-LWM3FUGY.js → chunk-XIXDMUGJ.js} +1 -1
  103. package/dist/{chunk-TBZB4PPZ.js → chunk-XKFIU4UF.js} +4 -4
  104. package/dist/{chunk-C5A3L3HS.js → chunk-XTHI2OPC.js} +4 -4
  105. package/dist/{chunk-3HM6MZ4O.js → chunk-YCEJCFU5.js} +22 -2
  106. package/dist/{chunk-QQXMGLSN.js → chunk-YRSYMLEP.js} +8 -8
  107. package/dist/{chunk-2EYYW724.js → chunk-ZE36U2GK.js} +2 -2
  108. package/dist/{chunk-7Y4F7IPJ.js → chunk-ZQKD7DKB.js} +4 -4
  109. package/dist/{co-occurrence-6OAMOUTF.js → co-occurrence-J5WOOCWD.js} +1 -1
  110. package/dist/{crdt-sync-6EI7LAPI.js → crdt-sync-NGSP5WQE.js} +1 -1
  111. package/dist/{crm-webhook-LEWQNEDD.js → crm-webhook-SMFGNXKL.js} +2 -2
  112. package/dist/{cto-delegation-gate-GXRHD4WX.js → cto-delegation-gate-DKSKMR4E.js} +7 -7
  113. package/dist/{daemon-orchestration-QOKZVECP.js → daemon-orchestration-NWTSPSZV.js} +10 -10
  114. package/dist/{exe-drift-N2IDPAQ7.js → exe-drift-BUVZV7DK.js} +2 -2
  115. package/dist/{exe-export-63FYZTV3.js → exe-export-2QAZRK2C.js} +4 -4
  116. package/dist/{exe-import-T5OPTK5T.js → exe-import-7KPJXDV5.js} +4 -4
  117. package/dist/{exe-key-ROFJ6HUG.js → exe-key-7TW2INXT.js} +1 -1
  118. package/dist/{fast-db-init-GC4SYSFV.js → fast-db-init-BCU67WEQ.js} +1 -1
  119. package/dist/gateway/index.js +6 -6
  120. package/dist/{git-staleness-QKURDEMW.js → git-staleness-WTDE4H4D.js} +1 -1
  121. package/dist/{git-task-sweep-5YHZF2E5.js → git-task-sweep-R4DADTK5.js} +8 -8
  122. package/dist/{global-procedures-PQKUKKM6.js → global-procedures-K3B3GTHA.js} +2 -2
  123. package/dist/{graph-auto-extract-GUEMG3Q3.js → graph-auto-extract-ZCVUFK6M.js} +1 -1
  124. package/dist/hooks/bug-report-worker.js +9 -9
  125. package/dist/hooks/codex-stop-task-finalizer.js +9 -9
  126. package/dist/hooks/commit-complete.js +10 -10
  127. package/dist/hooks/error-recall.js +5 -5
  128. package/dist/hooks/exe-heartbeat-hook.js +2 -2
  129. package/dist/hooks/ingest.js +5 -5
  130. package/dist/hooks/instructions-loaded.js +3 -3
  131. package/dist/hooks/manifest.json +19 -19
  132. package/dist/hooks/notification.js +3 -3
  133. package/dist/hooks/post-compact.js +9 -9
  134. package/dist/hooks/post-tool-combined.js +4 -4
  135. package/dist/hooks/pre-compact.js +10 -10
  136. package/dist/hooks/pre-tool-use.js +13 -13
  137. package/dist/hooks/prompt-submit.js +18 -18
  138. package/dist/hooks/session-end.js +12 -12
  139. package/dist/hooks/session-start.js +7 -7
  140. package/dist/hooks/stop.js +13 -13
  141. package/dist/hooks/subagent-stop.js +9 -9
  142. package/dist/hooks/summary-worker.js +13 -13
  143. package/dist/index.js +15 -15
  144. package/dist/{installer-Z4LBQTL6.js → installer-D47RNEJB.js} +4 -4
  145. package/dist/{installer-AYN7WB62.js → installer-WVQDUS7O.js} +4 -4
  146. package/dist/{installer-D4XB27FY.js → installer-YBYJZLUT.js} +4 -4
  147. package/dist/lib/cloud-sync.js +3 -3
  148. package/dist/lib/consolidation.js +4 -4
  149. package/dist/lib/database.js +1 -1
  150. package/dist/lib/db.js +1 -1
  151. package/dist/lib/employee-templates.js +3 -3
  152. package/dist/lib/employees.js +1 -1
  153. package/dist/lib/exe-daemon.js +24 -24
  154. package/dist/lib/hybrid-search.js +4 -4
  155. package/dist/lib/identity.js +1 -1
  156. package/dist/lib/messaging.js +8 -8
  157. package/dist/lib/reminders.js +2 -2
  158. package/dist/lib/schedules.js +4 -4
  159. package/dist/lib/skill-learning.js +3 -3
  160. package/dist/lib/store.js +3 -3
  161. package/dist/lib/task-router.js +2 -2
  162. package/dist/lib/tasks.js +8 -8
  163. package/dist/lib/tmux-routing.js +7 -7
  164. package/dist/lib/tmux-transport.js +1 -1
  165. package/dist/lib/token-spend.js +2 -2
  166. package/dist/lib/transport.js +2 -2
  167. package/dist/mcp/register-tools.js +46 -46
  168. package/dist/mcp/server.js +47 -47
  169. package/dist/mcp/tools/complete-reminder.js +3 -3
  170. package/dist/mcp/tools/create-reminder.js +3 -3
  171. package/dist/mcp/tools/create-task.js +10 -10
  172. package/dist/mcp/tools/deactivate-behavior.js +4 -4
  173. package/dist/mcp/tools/list-reminders.js +3 -3
  174. package/dist/mcp/tools/list-tasks.js +10 -10
  175. package/dist/mcp/tools/send-message.js +10 -10
  176. package/dist/mcp/tools/update-task.js +9 -9
  177. package/dist/{mcp-http-config-JFGNXQ5M.js → mcp-http-config-DWN2POKM.js} +2 -2
  178. package/dist/{memory-cards-QHCHERFV.js → memory-cards-VIKEUPGO.js} +1 -1
  179. package/dist/{memory-graph-extractor-RAF4M3YY.js → memory-graph-extractor-OP2BSF43.js} +2 -2
  180. package/dist/{memory-poisoning-defense-M4E6D6NI.js → memory-poisoning-defense-EKMAAXMH.js} +1 -1
  181. package/dist/{memory-reflection-OVQDAOKW.js → memory-reflection-AAST2U2M.js} +1 -1
  182. package/dist/{notifications-QCZJTMU4.js → notifications-EN4LRYGN.js} +7 -7
  183. package/dist/{orchestrator-RETZBZNU.js → orchestrator-USY2S6CW.js} +9 -9
  184. package/dist/{plan-limits-KY5FB6FM.js → plan-limits-J2BJEBN6.js} +2 -2
  185. package/dist/{projection-worker-B4FYF4FS.js → projection-worker-QPE2JIKS.js} +1 -1
  186. package/dist/{reranker-DLESU7S4.js → reranker-ZLTHZ2QV.js} +1 -1
  187. package/dist/{review-polling-S4HD536T.js → review-polling-STO2A64Z.js} +8 -8
  188. package/dist/runtime/index.js +10 -10
  189. package/dist/{session-events-TRCSYKGW.js → session-events-WD4N65IU.js} +8 -8
  190. package/dist/{session-kill-telemetry-WBB7YHWC.js → session-kill-telemetry-GBNUQABY.js} +2 -2
  191. package/dist/{session-scope-H6H7EVMH.js → session-scope-6D22DUTP.js} +7 -7
  192. package/dist/{setup-wizard-QGJEHEJP.js → setup-wizard-FQBIZQWP.js} +1 -1
  193. package/dist/{shard-manager-KXLEDDBB.js → shard-manager-4PWRZW4V.js} +1 -1
  194. package/dist/{skill-refinement-DDFALKOD.js → skill-refinement-QKMHEVFO.js} +1 -1
  195. package/dist/{task-enforcement-7NCE6NJC.js → task-enforcement-RVG3CLR4.js} +7 -7
  196. package/dist/{task-scope-C7QECQSB.js → task-scope-SSM56VHZ.js} +7 -7
  197. package/dist/{tasks-crud-4VGXAUW5.js → tasks-crud-JGUYPAYP.js} +7 -7
  198. package/dist/{tasks-review-ATHR7IZK.js → tasks-review-WNZ5LJUB.js} +7 -7
  199. package/dist/{token-budget-2ZZRFSHF.js → token-budget-ES3IEZPJ.js} +1 -1
  200. package/dist/{tool-telemetry-EWE2YR2K.js → tool-telemetry-JVQX5FJV.js} +1 -1
  201. package/dist/tui/App.js +15 -15
  202. package/dist/{tui-data-LQQ66HCW.js → tui-data-7F5DOFTZ.js} +7 -7
  203. package/dist/{worker-gate-POIBNVX7.js → worker-gate-BFVWIKDF.js} +1 -1
  204. package/dist/{workflow-engine-MA2H5JEZ.js → workflow-engine-AHMVTNEX.js} +2 -2
  205. package/package.json +1 -1
  206. package/release-notes.json +80 -80
  207. /package/dist/{chunk-I3B4QG5C.js → chunk-25YHJFSE.js} +0 -0
  208. /package/dist/{chunk-GOA7VQT7.js → chunk-5QVJ5TBF.js} +0 -0
  209. /package/dist/{chunk-Z6AUK6YH.js → chunk-FMKXO3B6.js} +0 -0
  210. /package/dist/{chunk-SY4TZ224.js → chunk-HGU4YCR3.js} +0 -0
  211. /package/dist/{chunk-JMMYWY7C.js → chunk-HIECEYMN.js} +0 -0
  212. /package/dist/{chunk-6YFGFW4V.js → chunk-LNKK5HOA.js} +0 -0
  213. /package/dist/{chunk-35ES3HTI.js → chunk-QMNDQQTA.js} +0 -0
  214. /package/dist/{chunk-LZPZ67IT.js → chunk-TFV7MDCX.js} +0 -0
  215. /package/dist/{chunk-2GHDAIDB.js → chunk-YLBBPZO3.js} +0 -0
  216. /package/dist/{core-memory-4QNM6MZ5.js → core-memory-65BZJEXX.js} +0 -0
  217. /package/dist/{wiki-acl-UTITDXLT.js → wiki-acl-UOSBRX3O.js} +0 -0
@@ -6,7 +6,7 @@ import {
6
6
  findScopedDuplicate,
7
7
  governMemoryRecord,
8
8
  schedulePostWriteMemoryHygiene
9
- } from "./chunk-SY4TZ224.js";
9
+ } from "./chunk-HGU4YCR3.js";
10
10
  import {
11
11
  orgBus
12
12
  } from "./chunk-MP2AFCGL.js";
@@ -15,7 +15,7 @@ import {
15
15
  ensureSchema,
16
16
  getClient,
17
17
  initTurso
18
- } from "./chunk-3HM6MZ4O.js";
18
+ } from "./chunk-YCEJCFU5.js";
19
19
  import {
20
20
  EMBEDDING_DIM
21
21
  } from "./chunk-FXU7JOXK.js";
@@ -139,7 +139,7 @@ async function initStore(options) {
139
139
  if (!options?.lightweight) {
140
140
  try {
141
141
  if (process.env.EXE_DISABLE_SHARDING !== "1") {
142
- const { initShardManager } = await import("./shard-manager-KXLEDDBB.js");
142
+ const { initShardManager } = await import("./shard-manager-4PWRZW4V.js");
143
143
  initShardManager(hexKey);
144
144
  }
145
145
  } catch (e) {
@@ -152,7 +152,7 @@ async function initStore(options) {
152
152
  );
153
153
  _nextVersion = (Number(vResult.rows[0]?.max_v) || 0) + 1;
154
154
  try {
155
- const { loadGlobalProcedures } = await import("./global-procedures-PQKUKKM6.js");
155
+ const { loadGlobalProcedures } = await import("./global-procedures-K3B3GTHA.js");
156
156
  await loadGlobalProcedures();
157
157
  } catch (e) {
158
158
  logStoreWarn("catch", e);
@@ -279,7 +279,7 @@ async function writeMemory(record) {
279
279
  keywords: record.keywords ?? keywordsToString(extractKeywords(record.raw_text))
280
280
  };
281
281
  try {
282
- const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-M4E6D6NI.js");
282
+ const { checkMemoryPoisoning } = await import("./memory-poisoning-defense-EKMAAXMH.js");
283
283
  const poisonResult = await checkMemoryPoisoning({
284
284
  memoryId: dbRow.id,
285
285
  vector: Array.isArray(dbRow.vector) ? dbRow.vector : void 0,
@@ -465,19 +465,19 @@ async function flushBatch() {
465
465
  }
466
466
  _nextVersion = baseVersion;
467
467
  try {
468
- const { insertMemoryCardsForBatch } = await import("./memory-cards-QHCHERFV.js");
468
+ const { insertMemoryCardsForBatch } = await import("./memory-cards-VIKEUPGO.js");
469
469
  await insertMemoryCardsForBatch(batch);
470
470
  } catch (e) {
471
471
  logStoreWarn("catch", e);
472
472
  }
473
473
  try {
474
- const { insertOntologyForBatch } = await import("./agentic-ontology-N5HXDWIN.js");
474
+ const { insertOntologyForBatch } = await import("./agentic-ontology-HPFKQFA2.js");
475
475
  await insertOntologyForBatch(batch);
476
476
  } catch (e) {
477
477
  logStoreWarn("catch", e);
478
478
  }
479
479
  try {
480
- const { extractGraphForBatch } = await import("./memory-graph-extractor-RAF4M3YY.js");
480
+ const { extractGraphForBatch } = await import("./memory-graph-extractor-OP2BSF43.js");
481
481
  await extractGraphForBatch(batch);
482
482
  } catch (e) {
483
483
  logStoreWarn("catch", e);
@@ -485,7 +485,7 @@ async function flushBatch() {
485
485
  schedulePostWriteMemoryHygiene(batch.map((row) => row.id));
486
486
  _pendingRecords.splice(0, batch.length);
487
487
  try {
488
- const { isShardingEnabled, getReadyShardClient } = await import("./shard-manager-KXLEDDBB.js");
488
+ const { isShardingEnabled, getReadyShardClient } = await import("./shard-manager-4PWRZW4V.js");
489
489
  if (process.env.EXE_DISABLE_SHARDING !== "1" && isShardingEnabled()) {
490
490
  const byProject = /* @__PURE__ */ new Map();
491
491
  let skippedUnknown = 0;
@@ -562,7 +562,7 @@ function buildRawVisibilityFilter(options, columnPrefix) {
562
562
  async function searchMemories(queryVector, agentId, options) {
563
563
  let client;
564
564
  try {
565
- const { isShardingEnabled, shardExists, getReadyShardClient } = await import("./shard-manager-KXLEDDBB.js");
565
+ const { isShardingEnabled, shardExists, getReadyShardClient } = await import("./shard-manager-4PWRZW4V.js");
566
566
  if (isShardingEnabled() && options?.projectName && shardExists(options.projectName)) {
567
567
  client = await getReadyShardClient(options.projectName);
568
568
  } else {
@@ -3,24 +3,24 @@ import {
3
3
  } from "./chunk-MLXJ5EZG.js";
4
4
  import {
5
5
  createTask
6
- } from "./chunk-AVRQWLQR.js";
6
+ } from "./chunk-DDH7QVQN.js";
7
7
  import {
8
8
  getActiveAgent
9
- } from "./chunk-QOW5EEYO.js";
9
+ } from "./chunk-Q3FTA4GX.js";
10
10
  import {
11
11
  ensureEmployee,
12
12
  logTaskDispatch,
13
13
  resolveExeSession
14
- } from "./chunk-WXQRFDY4.js";
14
+ } from "./chunk-JUKSHMDE.js";
15
15
  import {
16
16
  getLicenseSync
17
- } from "./chunk-VQB4VBEQ.js";
17
+ } from "./chunk-CCYOB56Q.js";
18
18
  import {
19
19
  getAgentContext
20
20
  } from "./chunk-GJV3WDWM.js";
21
21
  import {
22
22
  isCoordinatorName
23
- } from "./chunk-3HM6MZ4O.js";
23
+ } from "./chunk-YCEJCFU5.js";
24
24
 
25
25
  // src/mcp/tools/create-task.ts
26
26
  import { z } from "zod";
@@ -33,7 +33,8 @@ async function resolveProjectDir(projectName, callerSession) {
33
33
  try {
34
34
  const { listSessions } = await import("./lib/session-registry.js");
35
35
  const sessions = listSessions();
36
- const coordSession = sessions.find((s) => s.windowName === callerSession);
36
+ const coordName = callerSession.includes("-") ? callerSession.slice(callerSession.indexOf("-") + 1) : callerSession;
37
+ const coordSession = sessions.find((s) => s.windowName === coordName) ?? sessions.find((s) => s.windowName === callerSession);
37
38
  if (coordSession?.projectDir && existsSync(coordSession.projectDir)) {
38
39
  const dirBasename = (await import("path")).basename(coordSession.projectDir).toLowerCase();
39
40
  const normalizedProject = projectName.toLowerCase();
@@ -208,7 +209,7 @@ function registerCreateTask(server) {
208
209
  let projectConflictOpts = {};
209
210
  try {
210
211
  const { getClient } = await import("./lib/database.js");
211
- const { sessionScopeFilter } = await import("./task-scope-C7QECQSB.js");
212
+ const { sessionScopeFilter } = await import("./task-scope-SSM56VHZ.js");
212
213
  const client = getClient();
213
214
  const scope = sessionScopeFilter();
214
215
  const existing = await client.execute({
@@ -196,24 +196,50 @@ async function ensureShardSchema(client) {
196
196
  CREATE INDEX IF NOT EXISTS idx_memories_agent_project ON memories(agent_id, project_name);
197
197
  CREATE INDEX IF NOT EXISTS idx_memories_version ON memories(version);
198
198
  `);
199
+ let needsFtsMigration = false;
200
+ try {
201
+ await client.execute("SELECT keywords FROM memories_fts LIMIT 0");
202
+ } catch {
203
+ needsFtsMigration = true;
204
+ }
205
+ if (needsFtsMigration) {
206
+ for (const drop of [
207
+ "DROP TRIGGER IF EXISTS memories_fts_ai",
208
+ "DROP TRIGGER IF EXISTS memories_fts_ad",
209
+ "DROP TRIGGER IF EXISTS memories_fts_au",
210
+ "DROP TRIGGER IF EXISTS memories_fts_soft_delete",
211
+ "DROP TABLE IF EXISTS memories_fts"
212
+ ]) {
213
+ try {
214
+ await client.execute(drop);
215
+ } catch {
216
+ }
217
+ }
218
+ }
199
219
  await client.executeMultiple(`
200
220
  CREATE VIRTUAL TABLE IF NOT EXISTS memories_fts USING fts5(
201
221
  raw_text,
222
+ keywords,
202
223
  content='memories',
203
224
  content_rowid='rowid'
204
225
  );
205
226
 
206
227
  CREATE TRIGGER IF NOT EXISTS memories_fts_ai AFTER INSERT ON memories BEGIN
207
- INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
228
+ INSERT INTO memories_fts(rowid, raw_text, keywords) VALUES (new.rowid, new.raw_text, COALESCE(new.keywords, ''));
208
229
  END;
209
230
 
210
231
  CREATE TRIGGER IF NOT EXISTS memories_fts_ad AFTER DELETE ON memories BEGIN
211
- INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
232
+ INSERT INTO memories_fts(memories_fts, rowid, raw_text, keywords) VALUES('delete', old.rowid, old.raw_text, COALESCE(old.keywords, ''));
212
233
  END;
213
234
 
214
235
  CREATE TRIGGER IF NOT EXISTS memories_fts_au AFTER UPDATE ON memories BEGIN
215
- INSERT INTO memories_fts(memories_fts, rowid, raw_text) VALUES('delete', old.rowid, old.raw_text);
216
- INSERT INTO memories_fts(rowid, raw_text) VALUES (new.rowid, new.raw_text);
236
+ INSERT INTO memories_fts(memories_fts, rowid, raw_text, keywords) VALUES('delete', old.rowid, old.raw_text, COALESCE(old.keywords, ''));
237
+ INSERT INTO memories_fts(rowid, raw_text, keywords) VALUES (new.rowid, new.raw_text, COALESCE(new.keywords, ''));
238
+ END;
239
+
240
+ CREATE TRIGGER IF NOT EXISTS memories_fts_soft_delete AFTER UPDATE OF status ON memories
241
+ WHEN new.status = 'deleted' AND (old.status IS NULL OR old.status != 'deleted') BEGIN
242
+ INSERT INTO memories_fts(memories_fts, rowid, raw_text, keywords) VALUES('delete', old.rowid, old.raw_text, COALESCE(old.keywords, ''));
217
243
  END;
218
244
  `);
219
245
  for (const col of [
@@ -271,7 +297,7 @@ async function ensureShardSchema(client) {
271
297
  // Memory strength scoring — Ebbinghaus decay (must match database.ts)
272
298
  "ALTER TABLE memories ADD COLUMN strength REAL DEFAULT 1.0",
273
299
  // Source trust level (must match database.ts)
274
- "ALTER TABLE memories ADD COLUMN source_trust_level TEXT",
300
+ "ALTER TABLE memories ADD COLUMN source_trust_level TEXT DEFAULT 'unknown'",
275
301
  // Poisoning defense (must match database.ts)
276
302
  "ALTER TABLE memories ADD COLUMN quarantined INTEGER DEFAULT 0",
277
303
  "ALTER TABLE memories ADD COLUMN quarantine_reason TEXT",
@@ -280,7 +306,9 @@ async function ensureShardSchema(client) {
280
306
  "ALTER TABLE memories ADD COLUMN media_type TEXT",
281
307
  "ALTER TABLE memories ADD COLUMN media_meta TEXT",
282
308
  // Session scope (must match database.ts)
283
- "ALTER TABLE memories ADD COLUMN session_scope TEXT"
309
+ "ALTER TABLE memories ADD COLUMN session_scope TEXT",
310
+ // Keywords for FTS5 dual-column search (must match database.ts)
311
+ "ALTER TABLE memories ADD COLUMN keywords TEXT DEFAULT ''"
284
312
  ]) {
285
313
  try {
286
314
  await client.execute(col);
@@ -367,13 +395,62 @@ async function ensureShardSchema(client) {
367
395
  `);
368
396
  for (const col of [
369
397
  "ALTER TABLE relationships ADD COLUMN confidence REAL DEFAULT 1.0",
370
- "ALTER TABLE relationships ADD COLUMN confidence_label TEXT DEFAULT 'extracted'"
398
+ "ALTER TABLE relationships ADD COLUMN confidence_label TEXT DEFAULT 'extracted'",
399
+ // Temporal validity (must match database.ts)
400
+ "ALTER TABLE relationships ADD COLUMN valid_from TEXT",
401
+ "ALTER TABLE relationships ADD COLUMN valid_until TEXT"
371
402
  ]) {
372
403
  try {
373
404
  await client.execute(col);
374
405
  } catch {
375
406
  }
376
407
  }
408
+ try {
409
+ await client.execute("ALTER TABLE entities ADD COLUMN parent_type TEXT");
410
+ } catch {
411
+ }
412
+ for (const idx of [
413
+ "CREATE INDEX IF NOT EXISTS idx_memories_session ON memories(session_id)",
414
+ "CREATE INDEX IF NOT EXISTS idx_memories_project ON memories(project_name)",
415
+ "CREATE INDEX IF NOT EXISTS idx_memories_tool ON memories(tool_name)",
416
+ "CREATE INDEX IF NOT EXISTS idx_memories_content_hash ON memories(content_hash, agent_id)",
417
+ "CREATE INDEX IF NOT EXISTS idx_memories_quarantined ON memories(quarantined) WHERE quarantined = 1",
418
+ "CREATE INDEX IF NOT EXISTS idx_memories_draft ON memories(draft) WHERE draft = 1",
419
+ "CREATE INDEX IF NOT EXISTS idx_memories_type ON memories(memory_type)",
420
+ "CREATE INDEX IF NOT EXISTS idx_memories_agent_scope_project ON memories(agent_id, session_scope, project_name)",
421
+ // UNIQUE dedup index — prevents duplicate memories at DB level
422
+ "CREATE UNIQUE INDEX IF NOT EXISTS idx_memories_unique_scoped_hash ON memories(content_hash, agent_id, project_name, memory_type) WHERE content_hash IS NOT NULL AND COALESCE(status, 'active') != 'deleted'",
423
+ // Entity indexes
424
+ "CREATE INDEX IF NOT EXISTS idx_entities_type_name ON entities(type, name)",
425
+ // Relationship temporal indexes
426
+ "CREATE INDEX IF NOT EXISTS idx_relationships_valid_from ON relationships(valid_from)",
427
+ "CREATE INDEX IF NOT EXISTS idx_relationships_valid_until ON relationships(valid_until)"
428
+ ]) {
429
+ try {
430
+ await client.execute(idx);
431
+ } catch {
432
+ }
433
+ }
434
+ await client.executeMultiple(`
435
+ CREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(
436
+ name,
437
+ content='entities',
438
+ content_rowid='rowid'
439
+ );
440
+
441
+ CREATE TRIGGER IF NOT EXISTS entities_fts_ai AFTER INSERT ON entities BEGIN
442
+ INSERT INTO entities_fts(rowid, name) VALUES (new.rowid, new.name);
443
+ END;
444
+
445
+ CREATE TRIGGER IF NOT EXISTS entities_fts_ad AFTER DELETE ON entities BEGIN
446
+ INSERT INTO entities_fts(entities_fts, rowid, name) VALUES('delete', old.rowid, old.name);
447
+ END;
448
+
449
+ CREATE TRIGGER IF NOT EXISTS entities_fts_au AFTER UPDATE ON entities BEGIN
450
+ INSERT INTO entities_fts(entities_fts, rowid, name) VALUES('delete', old.rowid, old.name);
451
+ INSERT INTO entities_fts(rowid, name) VALUES (new.rowid, new.name);
452
+ END;
453
+ `);
377
454
  }
378
455
  async function getReadyShardClient(projectName) {
379
456
  if (!_keyValidated) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3HM6MZ4O.js";
3
+ } from "./chunk-YCEJCFU5.js";
4
4
 
5
5
  // src/lib/session-kill-telemetry.ts
6
6
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadEmployees
3
- } from "./chunk-3HM6MZ4O.js";
3
+ } from "./chunk-YCEJCFU5.js";
4
4
 
5
5
  // src/lib/agent-symlinks.ts
6
6
  import os from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getGlobalProceduresBlock
3
- } from "./chunk-E5P2TY4E.js";
3
+ } from "./chunk-XASY3SCH.js";
4
4
 
5
5
  // src/lib/employee-templates.ts
6
6
  var BASE_OPERATING_PROCEDURES = `
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-6UZHYTLV.js";
3
+ } from "./chunk-KMAYFYW7.js";
4
4
  import {
5
5
  extractKeywords,
6
6
  keywordsToString
7
7
  } from "./chunk-CHCA3ZM2.js";
8
8
  import {
9
9
  isCoordinatorName
10
- } from "./chunk-3HM6MZ4O.js";
10
+ } from "./chunk-YCEJCFU5.js";
11
11
 
12
12
  // src/lib/consolidation.ts
13
13
  import { randomUUID } from "crypto";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  deactivateBehavior
3
- } from "./chunk-ZB3TDCXG.js";
3
+ } from "./chunk-BCTU72UR.js";
4
4
  import {
5
5
  getActiveAgent
6
- } from "./chunk-QOW5EEYO.js";
6
+ } from "./chunk-Q3FTA4GX.js";
7
7
  import {
8
8
  canCoordinate,
9
9
  getClient
10
- } from "./chunk-3HM6MZ4O.js";
10
+ } from "./chunk-YCEJCFU5.js";
11
11
 
12
12
  // src/mcp/tools/deactivate-behavior.ts
13
13
  import { z } from "zod";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clean,
3
3
  stableId
4
- } from "./chunk-LZPZ67IT.js";
4
+ } from "./chunk-TFV7MDCX.js";
5
5
 
6
6
  // src/lib/reflection-checkpoints.ts
7
7
  function parsePayload(payload) {
@@ -2,7 +2,7 @@ import {
2
2
  listWorkflowDefinitions,
3
3
  runWorkflow,
4
4
  startWorkflow
5
- } from "./chunk-SUNFUS3O.js";
5
+ } from "./chunk-3YP46SPZ.js";
6
6
  import {
7
7
  initCRMBridge
8
8
  } from "./chunk-ONKIWA3R.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-MP2AFCGL.js";
12
12
  import {
13
13
  getClient
14
- } from "./chunk-3HM6MZ4O.js";
14
+ } from "./chunk-YCEJCFU5.js";
15
15
 
16
16
  // src/gateway/router.ts
17
17
  function matchesPlatform(msgPlatform, matchPlatform) {
@@ -9,7 +9,7 @@ import {
9
9
  getCoordinatorEmployee,
10
10
  getEmployee,
11
11
  loadEmployeesSync
12
- } from "./chunk-3HM6MZ4O.js";
12
+ } from "./chunk-YCEJCFU5.js";
13
13
  import {
14
14
  EXE_AI_DIR
15
15
  } from "./chunk-4GXRETYL.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-AVRQWLQR.js";
3
+ } from "./chunk-DDH7QVQN.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX
6
- } from "./chunk-WXQRFDY4.js";
6
+ } from "./chunk-JUKSHMDE.js";
7
7
 
8
8
  // src/mcp/tools/update-task.ts
9
9
  import { z } from "zod";
@@ -23,7 +23,7 @@ function registerUpdateTask(server) {
23
23
  const status = rawStatus;
24
24
  let callerAgentId;
25
25
  try {
26
- const { getActiveAgent: getAgent } = await import("./active-agent-J3YKAXE2.js");
26
+ const { getActiveAgent: getAgent } = await import("./active-agent-MTJPQ57G.js");
27
27
  callerAgentId = getAgent().agentId;
28
28
  } catch {
29
29
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listReminders
3
- } from "./chunk-Z4FV45FW.js";
3
+ } from "./chunk-DXFNVS44.js";
4
4
 
5
5
  // src/mcp/tools/list-reminders.ts
6
6
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  routeTask
3
- } from "./chunk-X2KLWLCB.js";
3
+ } from "./chunk-B4K4EJH7.js";
4
4
  import {
5
5
  createTaskCore,
6
6
  employeeSessionName,
@@ -9,11 +9,11 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-WXQRFDY4.js";
12
+ } from "./chunk-JUKSHMDE.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
16
- } from "./chunk-3HM6MZ4O.js";
16
+ } from "./chunk-YCEJCFU5.js";
17
17
 
18
18
  // src/runtime/orchestrator.ts
19
19
  var STALE_THRESHOLD_MS = 2 * 60 * 60 * 1e3;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  completeReminder
3
- } from "./chunk-Z4FV45FW.js";
3
+ } from "./chunk-DXFNVS44.js";
4
4
 
5
5
  // src/mcp/tools/complete-reminder.ts
6
6
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadEmployeesSync
3
- } from "./chunk-3HM6MZ4O.js";
3
+ } from "./chunk-YCEJCFU5.js";
4
4
 
5
5
  // src/adapters/mcp-http-config.ts
6
6
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3HM6MZ4O.js";
3
+ } from "./chunk-YCEJCFU5.js";
4
4
 
5
5
  // src/lib/memory-graph-extractor.ts
6
6
  function entityId(type, name) {
@@ -179,7 +179,7 @@ async function upsertMemoryGraph(result, memoryId) {
179
179
  });
180
180
  }
181
181
  try {
182
- const { createCoOccurrenceEdges } = await import("./co-occurrence-6OAMOUTF.js");
182
+ const { createCoOccurrenceEdges } = await import("./co-occurrence-J5WOOCWD.js");
183
183
  await createCoOccurrenceEdges(result.entities, memoryId);
184
184
  } catch {
185
185
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-I3B4QG5C.js";
3
+ } from "./chunk-25YHJFSE.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -111,7 +111,7 @@ function releaseBackfillLock() {
111
111
  }
112
112
  async function getTaskAwareCapacity() {
113
113
  const { getClient } = await import("./lib/database.js");
114
- const { sessionScopeFilter } = await import("./task-scope-C7QECQSB.js");
114
+ const { sessionScopeFilter } = await import("./task-scope-SSM56VHZ.js");
115
115
  const client = getClient();
116
116
  const scope = sessionScopeFilter();
117
117
  const result = await client.execute({
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-2ZYEO7U7.js";
5
5
  import {
6
6
  getClient
7
- } from "./chunk-3HM6MZ4O.js";
7
+ } from "./chunk-YCEJCFU5.js";
8
8
 
9
9
  // src/lib/global-procedures.ts
10
10
  import { randomUUID } from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-WXQRFDY4.js";
4
+ } from "./chunk-JUKSHMDE.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  recordSessionKill
3
- } from "./chunk-ZZODXCWK.js";
3
+ } from "./chunk-LT26OOIB.js";
4
4
  import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-WXQRFDY4.js";
8
+ } from "./chunk-JUKSHMDE.js";
9
9
  import {
10
10
  listSessions
11
11
  } from "./chunk-64WZEXXA.js";
12
12
  import {
13
13
  getTransport
14
- } from "./chunk-TXWQPL2U.js";
14
+ } from "./chunk-5YDHBZCO.js";
15
15
  import {
16
16
  getClient,
17
17
  isCoordinatorName
18
- } from "./chunk-3HM6MZ4O.js";
18
+ } from "./chunk-YCEJCFU5.js";
19
19
 
20
20
  // src/lib/capacity-monitor.ts
21
21
  var CAPACITY_PATTERNS = [
@@ -589,7 +589,7 @@ function auditHookOwnership() {
589
589
  }
590
590
  async function auditShards() {
591
591
  try {
592
- const { auditShardHealth } = await import("./shard-manager-KXLEDDBB.js");
592
+ const { auditShardHealth } = await import("./shard-manager-4PWRZW4V.js");
593
593
  const report = await auditShardHealth();
594
594
  return {
595
595
  total: report.total,
@@ -849,7 +849,7 @@ function formatReport(report, flags) {
849
849
  return lines.join("\n");
850
850
  }
851
851
  async function fixNullVectors() {
852
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-POIBNVX7.js");
852
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-BFVWIKDF.js");
853
853
  if (!tryAcquireWorkerSlot()) {
854
854
  process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
855
855
  await new Promise((r) => setTimeout(r, 5e3));
@@ -933,7 +933,7 @@ async function fixBloated(client, bloated, dryRun) {
933
933
  return chunksCreated;
934
934
  }
935
935
  async function fixShards(dryRun) {
936
- const { auditShardHealth } = await import("./shard-manager-KXLEDDBB.js");
936
+ const { auditShardHealth } = await import("./shard-manager-4PWRZW4V.js");
937
937
  const report = await auditShardHealth({ repair: true, dryRun });
938
938
  return {
939
939
  total: report.total,
@@ -970,7 +970,7 @@ function splitAtSentences(text, maxChunkSize) {
970
970
  }
971
971
  async function main(argv = process.argv.slice(2)) {
972
972
  const flags = parseFlags(argv);
973
- const { fastDbInit } = await import("./fast-db-init-GC4SYSFV.js");
973
+ const { fastDbInit } = await import("./fast-db-init-BCU67WEQ.js");
974
974
  const client = await fastDbInit();
975
975
  const report = await runAudit(client, flags);
976
976
  console.log(formatReport(report, flags));
@@ -13,10 +13,10 @@ import {
13
13
  } from "./chunk-LYH5HE24.js";
14
14
 
15
15
  // src/lib/database.ts
16
- import { chmodSync, existsSync as existsSync3, statSync, copyFileSync, unlinkSync as unlinkSync2, openSync, closeSync, mkdirSync as mkdirSync2, renameSync as renameSync2 } from "fs";
16
+ import { chmodSync, existsSync as existsSync3, statSync, copyFileSync, unlinkSync as unlinkSync2, openSync, closeSync, mkdirSync as mkdirSync2, renameSync as renameSync2, readdirSync as readdirSync2 } from "fs";
17
17
  import { createClient } from "@libsql/client";
18
18
  import { homedir } from "os";
19
- import { join } from "path";
19
+ import { join, dirname, basename } from "path";
20
20
 
21
21
  // src/lib/db-retry.ts
22
22
  var MAX_RETRIES = 5;
@@ -1307,6 +1307,26 @@ async function initDatabase(config) {
1307
1307
  _adapterClient = _resilientClient;
1308
1308
  }
1309
1309
  }
1310
+ try {
1311
+ const dbDir = dirname(config.dbPath);
1312
+ const dbBase = basename(config.dbPath);
1313
+ const maxAge = 7 * 24 * 60 * 60 * 1e3;
1314
+ const now = Date.now();
1315
+ for (const f of readdirSync2(dbDir)) {
1316
+ if (!f.startsWith(dbBase + ".corrupt-") && !f.startsWith(dbBase + ".zeroed-")) continue;
1317
+ const filePath = join(dbDir, f);
1318
+ try {
1319
+ const st = statSync(filePath);
1320
+ if (now - st.mtimeMs > maxAge) {
1321
+ unlinkSync2(filePath);
1322
+ process.stderr.write(`[database] Cleaned up old corrupt backup: ${f} (${Math.round(st.size / 1024 / 1024)}MB)
1323
+ `);
1324
+ }
1325
+ } catch {
1326
+ }
1327
+ }
1328
+ } catch {
1329
+ }
1310
1330
  if (_walCheckpointTimer) clearInterval(_walCheckpointTimer);
1311
1331
  _walCheckpointTimer = setInterval(() => {
1312
1332
  _client?.execute("PRAGMA wal_checkpoint(PASSIVE)").catch(() => {