@askexenow/exe-os 0.9.201 → 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 (136) hide show
  1. package/dist/{backfill-metadata-5INYRXJX.js → backfill-metadata-IR5SAR3G.js} +1 -1
  2. package/dist/bin/agentic-ontology-backfill.js +1 -1
  3. package/dist/bin/agentic-reflection-backfill.js +1 -1
  4. package/dist/bin/agentic-semantic-label.js +1 -1
  5. package/dist/bin/backfill-conversations.js +1 -1
  6. package/dist/bin/backfill-responses.js +1 -1
  7. package/dist/bin/backfill-vectors.js +2 -2
  8. package/dist/bin/bulk-sync-postgres.js +1 -1
  9. package/dist/bin/cleanup-stale-review-tasks.js +4 -4
  10. package/dist/bin/cli.js +4 -4
  11. package/dist/bin/exe-assign.js +1 -1
  12. package/dist/bin/exe-boot.js +5 -5
  13. package/dist/bin/exe-dispatch.js +4 -4
  14. package/dist/bin/exe-doctor.js +1 -1
  15. package/dist/bin/exe-export-behaviors.js +2 -2
  16. package/dist/bin/exe-forget.js +3 -3
  17. package/dist/bin/exe-gateway.js +4 -4
  18. package/dist/bin/exe-heartbeat.js +4 -4
  19. package/dist/bin/exe-kill.js +5 -5
  20. package/dist/bin/exe-launch-agent.js +2 -2
  21. package/dist/bin/exe-pending-messages.js +5 -5
  22. package/dist/bin/exe-pending-notifications.js +4 -4
  23. package/dist/bin/exe-pending-reviews.js +4 -4
  24. package/dist/bin/exe-review.js +5 -5
  25. package/dist/bin/exe-search.js +2 -2
  26. package/dist/bin/exe-session-cleanup.js +7 -7
  27. package/dist/bin/exe-start-codex.js +1 -1
  28. package/dist/bin/exe-start-opencode.js +1 -1
  29. package/dist/bin/exe-status.js +5 -5
  30. package/dist/bin/exe-team.js +1 -1
  31. package/dist/bin/git-sweep.js +4 -4
  32. package/dist/bin/graph-backfill.js +1 -1
  33. package/dist/bin/graph-export.js +2 -2
  34. package/dist/bin/import-history.js +1 -1
  35. package/dist/bin/intercom-check.js +4 -6
  36. package/dist/bin/orchestration-metrics.js +20 -7
  37. package/dist/bin/scan-tasks.js +4 -4
  38. package/dist/bin/shard-migrate.js +2 -2
  39. package/dist/{capacity-monitor-4VPGKKQH.js → capacity-monitor-ELS3ONND.js} +4 -4
  40. package/dist/{catchup-brief-K2A2NCMS.js → catchup-brief-RGH23CWV.js} +5 -5
  41. package/dist/{chunk-M6S7HVFP.js → chunk-3M5LROTK.js} +2 -2
  42. package/dist/{chunk-AJN3W6XB.js → chunk-3YP46SPZ.js} +1 -1
  43. package/dist/{chunk-TXWQPL2U.js → chunk-5YDHBZCO.js} +1 -1
  44. package/dist/{chunk-I5IWVRZY.js → chunk-6IKN6AJE.js} +1 -1
  45. package/dist/{chunk-MYVI6V7L.js → chunk-B4K3OTWE.js} +2 -2
  46. package/dist/{chunk-AIOJFN5D.js → chunk-BO7GOBQK.js} +1 -1
  47. package/dist/{chunk-HF7Y4UZO.js → chunk-BWRDZFPN.js} +2 -2
  48. package/dist/{chunk-IAPOGI6M.js → chunk-CL3YN3HD.js} +1 -1
  49. package/dist/{chunk-EDFYSZ4U.js → chunk-CY755JMZ.js} +23 -23
  50. package/dist/{chunk-J6CSL7AY.js → chunk-DDH7QVQN.js} +4 -4
  51. package/dist/{chunk-RC35BWOO.js → chunk-DSL243RL.js} +1 -1
  52. package/dist/{chunk-OOTPPSOX.js → chunk-DZ7FHBK6.js} +3 -3
  53. package/dist/{chunk-CSTJQDOE.js → chunk-G4QFC45N.js} +1 -1
  54. package/dist/{chunk-J2TSYNVM.js → chunk-JUKSHMDE.js} +5 -5
  55. package/dist/{chunk-MXLB2M2O.js → chunk-KMAYFYW7.js} +3 -3
  56. package/dist/{chunk-4WQIB264.js → chunk-KPUVDGLP.js} +5 -4
  57. package/dist/{chunk-K7XLE7UI.js → chunk-L756L654.js} +81 -6
  58. package/dist/{chunk-WI6BQ4T3.js → chunk-NF7JH5IY.js} +1 -1
  59. package/dist/{chunk-MSUJ3UBS.js → chunk-PQMCT335.js} +1 -1
  60. package/dist/{chunk-3V7D5SCM.js → chunk-Q4XGOMGF.js} +2 -2
  61. package/dist/{chunk-66LJM3KL.js → chunk-T2WX4H6T.js} +1 -1
  62. package/dist/{chunk-TRQJQYG5.js → chunk-W3LYG7QF.js} +1 -1
  63. package/dist/{chunk-MBFVJSSH.js → chunk-WFE44FUV.js} +1 -1
  64. package/dist/{chunk-EJM2YUF4.js → chunk-XIXDMUGJ.js} +1 -1
  65. package/dist/{chunk-B5N4DMXM.js → chunk-XKFIU4UF.js} +2 -2
  66. package/dist/{chunk-SXTHSDJQ.js → chunk-XTHI2OPC.js} +4 -4
  67. package/dist/{chunk-7LC5HGA3.js → chunk-YRSYMLEP.js} +4 -4
  68. package/dist/{chunk-GSV24ZVZ.js → chunk-ZQKD7DKB.js} +3 -3
  69. package/dist/{crm-webhook-ZQUDBLHY.js → crm-webhook-SMFGNXKL.js} +2 -2
  70. package/dist/{cto-delegation-gate-A77BCIAB.js → cto-delegation-gate-DKSKMR4E.js} +3 -3
  71. package/dist/{daemon-orchestration-AVB5PPC5.js → daemon-orchestration-NWTSPSZV.js} +5 -5
  72. package/dist/{exe-export-QJEIYCKB.js → exe-export-2QAZRK2C.js} +1 -1
  73. package/dist/{exe-import-SGSX3QML.js → exe-import-7KPJXDV5.js} +1 -1
  74. package/dist/{fast-db-init-UTA7SHEE.js → fast-db-init-BCU67WEQ.js} +1 -1
  75. package/dist/gateway/index.js +5 -5
  76. package/dist/{git-task-sweep-SHTK3F7G.js → git-task-sweep-R4DADTK5.js} +4 -4
  77. package/dist/hooks/bug-report-worker.js +5 -5
  78. package/dist/hooks/codex-stop-task-finalizer.js +5 -5
  79. package/dist/hooks/commit-complete.js +6 -6
  80. package/dist/hooks/error-recall.js +2 -2
  81. package/dist/hooks/ingest.js +2 -2
  82. package/dist/hooks/instructions-loaded.js +1 -1
  83. package/dist/hooks/manifest.json +18 -18
  84. package/dist/hooks/notification.js +1 -1
  85. package/dist/hooks/post-compact.js +4 -4
  86. package/dist/hooks/post-tool-combined.js +2 -2
  87. package/dist/hooks/pre-compact.js +5 -5
  88. package/dist/hooks/pre-tool-use.js +8 -8
  89. package/dist/hooks/prompt-submit.js +10 -10
  90. package/dist/hooks/session-end.js +6 -6
  91. package/dist/hooks/session-start.js +4 -4
  92. package/dist/hooks/stop.js +7 -7
  93. package/dist/hooks/subagent-stop.js +4 -4
  94. package/dist/hooks/summary-worker.js +7 -7
  95. package/dist/index.js +10 -10
  96. package/dist/lib/consolidation.js +2 -2
  97. package/dist/lib/exe-daemon.js +15 -15
  98. package/dist/lib/hybrid-search.js +2 -2
  99. package/dist/lib/messaging.js +4 -4
  100. package/dist/lib/schedules.js +2 -2
  101. package/dist/lib/store.js +1 -1
  102. package/dist/lib/tasks.js +4 -4
  103. package/dist/lib/tmux-routing.js +3 -3
  104. package/dist/lib/tmux-transport.js +1 -1
  105. package/dist/lib/transport.js +2 -2
  106. package/dist/mcp/register-tools.js +23 -23
  107. package/dist/mcp/server.js +24 -24
  108. package/dist/mcp/tools/create-task.js +5 -5
  109. package/dist/mcp/tools/list-tasks.js +5 -5
  110. package/dist/mcp/tools/send-message.js +5 -5
  111. package/dist/mcp/tools/update-task.js +5 -5
  112. package/dist/{notifications-SWILJ3AV.js → notifications-EN4LRYGN.js} +3 -3
  113. package/dist/{orchestrator-L6OFTLK5.js → orchestrator-USY2S6CW.js} +4 -4
  114. package/dist/{reranker-342RISOC.js → reranker-ZLTHZ2QV.js} +1 -1
  115. package/dist/{review-polling-TKQXLTIA.js → review-polling-STO2A64Z.js} +4 -4
  116. package/dist/runtime/index.js +5 -5
  117. package/dist/{session-events-OPOXDEPH.js → session-events-WD4N65IU.js} +4 -4
  118. package/dist/{session-scope-J2ODEL37.js → session-scope-6D22DUTP.js} +3 -3
  119. package/dist/{shard-manager-GWMFNY2I.js → shard-manager-4PWRZW4V.js} +1 -1
  120. package/dist/{task-enforcement-IPXSAJA5.js → task-enforcement-RVG3CLR4.js} +3 -3
  121. package/dist/{task-scope-JREB33TH.js → task-scope-SSM56VHZ.js} +3 -3
  122. package/dist/{tasks-crud-V3IQ5GLV.js → tasks-crud-JGUYPAYP.js} +3 -3
  123. package/dist/{tasks-review-PEEMO6RY.js → tasks-review-WNZ5LJUB.js} +3 -3
  124. package/dist/tui/App.js +9 -9
  125. package/dist/{tui-data-NJUK2RNW.js → tui-data-7F5DOFTZ.js} +3 -3
  126. package/dist/{worker-gate-4KF5ZRWT.js → worker-gate-BFVWIKDF.js} +1 -1
  127. package/dist/{workflow-engine-DHMTGUAO.js → workflow-engine-AHMVTNEX.js} +2 -2
  128. package/package.json +1 -1
  129. package/release-notes.json +51 -51
  130. /package/dist/{chunk-MYESASW3.js → chunk-25YHJFSE.js} +0 -0
  131. /package/dist/{chunk-KGSFR6V3.js → chunk-FMKXO3B6.js} +0 -0
  132. /package/dist/{chunk-XZCSY5ID.js → chunk-LNKK5HOA.js} +0 -0
  133. /package/dist/{chunk-ZOX6DPP3.js → chunk-QMNDQQTA.js} +0 -0
  134. /package/dist/{core-memory-B7VPSYUP.js → core-memory-65BZJEXX.js} +0 -0
  135. /package/dist/{exe-key-Y7DAEMSK.js → exe-key-7TW2INXT.js} +0 -0
  136. /package/dist/{skill-refinement-GYK7FZCH.js → skill-refinement-QKMHEVFO.js} +0 -0
@@ -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",
@@ -369,13 +395,62 @@ async function ensureShardSchema(client) {
369
395
  `);
370
396
  for (const col of [
371
397
  "ALTER TABLE relationships ADD COLUMN confidence REAL DEFAULT 1.0",
372
- "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"
373
402
  ]) {
374
403
  try {
375
404
  await client.execute(col);
376
405
  } catch {
377
406
  }
378
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
+ `);
379
454
  }
380
455
  async function getReadyShardClient(projectName) {
381
456
  if (!_keyValidated) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-MXLB2M2O.js";
3
+ } from "./chunk-KMAYFYW7.js";
4
4
  import {
5
5
  extractKeywords,
6
6
  keywordsToString
@@ -2,7 +2,7 @@ import {
2
2
  listWorkflowDefinitions,
3
3
  runWorkflow,
4
4
  startWorkflow
5
- } from "./chunk-AJN3W6XB.js";
5
+ } from "./chunk-3YP46SPZ.js";
6
6
  import {
7
7
  initCRMBridge
8
8
  } from "./chunk-ONKIWA3R.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  updateTask
3
- } from "./chunk-J6CSL7AY.js";
3
+ } from "./chunk-DDH7QVQN.js";
4
4
  import {
5
5
  TASK_ALREADY_CLAIMED_PREFIX
6
- } from "./chunk-J2TSYNVM.js";
6
+ } from "./chunk-JUKSHMDE.js";
7
7
 
8
8
  // src/mcp/tools/update-task.ts
9
9
  import { z } from "zod";
@@ -9,7 +9,7 @@ import {
9
9
  isEmployeeAlive,
10
10
  sessionScopeFilter,
11
11
  updateTaskStatus
12
- } from "./chunk-J2TSYNVM.js";
12
+ } from "./chunk-JUKSHMDE.js";
13
13
  import {
14
14
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
15
15
  getCoordinatorName
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-MYESASW3.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-JREB33TH.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({
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCurrentSessionScope,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-J2TSYNVM.js";
4
+ } from "./chunk-JUKSHMDE.js";
5
5
  import {
6
6
  getProjectName
7
7
  } from "./chunk-OPU3NYOO.js";
@@ -5,13 +5,13 @@ import {
5
5
  sessionScopeFilter,
6
6
  verifyPaneAtCapacity,
7
7
  writeNotification
8
- } from "./chunk-J2TSYNVM.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
@@ -589,7 +589,7 @@ function auditHookOwnership() {
589
589
  }
590
590
  async function auditShards() {
591
591
  try {
592
- const { auditShardHealth } = await import("./shard-manager-GWMFNY2I.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-4KF5ZRWT.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-GWMFNY2I.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-UTA7SHEE.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));
@@ -3,7 +3,7 @@ import {
3
3
  buildRawVisibilityFilter,
4
4
  buildWikiScopeFilter,
5
5
  searchMemories
6
- } from "./chunk-MXLB2M2O.js";
6
+ } from "./chunk-KMAYFYW7.js";
7
7
  import {
8
8
  getClient
9
9
  } from "./chunk-YCEJCFU5.js";
@@ -233,7 +233,7 @@ async function hybridSearch(queryText, agentId, options) {
233
233
  let rerankerAvailable = false;
234
234
  if (process.env.EXE_IS_DAEMON === "1") {
235
235
  try {
236
- const { isRerankerAvailable } = await import("./reranker-342RISOC.js");
236
+ const { isRerankerAvailable } = await import("./reranker-ZLTHZ2QV.js");
237
237
  rerankerAvailable = isRerankerAvailable();
238
238
  } catch {
239
239
  }
@@ -397,7 +397,7 @@ async function hybridSearch(queryText, agentId, options) {
397
397
  try {
398
398
  let rerankedRecords;
399
399
  if (graphContextMap.size > 0) {
400
- const { rerankWithContext } = await import("./reranker-342RISOC.js");
400
+ const { rerankWithContext } = await import("./reranker-ZLTHZ2QV.js");
401
401
  const candidates = merged.map((m) => ({
402
402
  text: m.raw_text,
403
403
  context: graphContextMap.get(m.id)
@@ -405,7 +405,7 @@ async function hybridSearch(queryText, agentId, options) {
405
405
  const scored = await rerankWithContext(effectiveQuery, candidates, rerankReturnLimit);
406
406
  rerankedRecords = scored.map((s) => merged[s.index]);
407
407
  } else {
408
- const { rerank } = await import("./reranker-342RISOC.js");
408
+ const { rerank } = await import("./reranker-ZLTHZ2QV.js");
409
409
  rerankedRecords = await rerank(effectiveQuery, merged, rerankReturnLimit);
410
410
  }
411
411
  if (rerankedRecords.length > 0) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MultiAgentOrchestrator
3
- } from "./chunk-66LJM3KL.js";
3
+ } from "./chunk-T2WX4H6T.js";
4
4
  import {
5
5
  createQuietRenderer,
6
6
  createTerminalRenderer,
@@ -327,7 +327,7 @@ function createExeOSHooks(config) {
327
327
  async onSubagentStop(_reason) {
328
328
  try {
329
329
  const { getClient } = await import("./lib/database.js");
330
- const { sessionScopeFilter } = await import("./task-scope-JREB33TH.js");
330
+ const { sessionScopeFilter } = await import("./task-scope-SSM56VHZ.js");
331
331
  const client = getClient();
332
332
  const ehScope = sessionScopeFilter();
333
333
  const tasks = await client.execute({
@@ -419,7 +419,7 @@ function createExeOSHooks(config) {
419
419
  try {
420
420
  const { writeMemory, flushBatch } = await import("./lib/store.js");
421
421
  const { getClient } = await import("./lib/database.js");
422
- const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-JREB33TH.js");
422
+ const { sessionScopeFilter: cpScopeFilter } = await import("./task-scope-SSM56VHZ.js");
423
423
  const client = getClient();
424
424
  const cpScope = cpScopeFilter();
425
425
  const tasks = await client.execute({
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createCRMWebhookHandler,
3
3
  parseTwentyWebhook
4
- } from "./chunk-TRQJQYG5.js";
5
- import "./chunk-MYESASW3.js";
4
+ } from "./chunk-W3LYG7QF.js";
5
+ import "./chunk-25YHJFSE.js";
6
6
  import "./chunk-MLKGABMK.js";
7
7
  export {
8
8
  createCRMWebhookHandler,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-J2TSYNVM.js";
3
+ } from "./chunk-JUKSHMDE.js";
4
4
  import "./chunk-RN6XYY7U.js";
5
5
  import "./chunk-QI4IXJN7.js";
6
6
  import "./chunk-64WZEXXA.js";
7
- import "./chunk-TXWQPL2U.js";
8
- import "./chunk-CSTJQDOE.js";
7
+ import "./chunk-5YDHBZCO.js";
8
+ import "./chunk-G4QFC45N.js";
9
9
  import "./chunk-GZIAQYGI.js";
10
10
  import "./chunk-7ZIRLFIF.js";
11
11
  import "./chunk-ZQX6UOP6.js";
@@ -48,15 +48,15 @@ import {
48
48
  shouldKillIdleSession,
49
49
  shouldKillSession,
50
50
  shouldNudgeEmployee
51
- } from "./chunk-OOTPPSOX.js";
51
+ } from "./chunk-DZ7FHBK6.js";
52
52
  import "./chunk-LT26OOIB.js";
53
- import "./chunk-J6CSL7AY.js";
54
- import "./chunk-J2TSYNVM.js";
53
+ import "./chunk-DDH7QVQN.js";
54
+ import "./chunk-JUKSHMDE.js";
55
55
  import "./chunk-RN6XYY7U.js";
56
56
  import "./chunk-QI4IXJN7.js";
57
57
  import "./chunk-64WZEXXA.js";
58
- import "./chunk-TXWQPL2U.js";
59
- import "./chunk-CSTJQDOE.js";
58
+ import "./chunk-5YDHBZCO.js";
59
+ import "./chunk-G4QFC45N.js";
60
60
  import "./chunk-GZIAQYGI.js";
61
61
  import "./chunk-7ZIRLFIF.js";
62
62
  import "./chunk-ZQX6UOP6.js";
@@ -6,7 +6,7 @@ import "./chunk-2ZYEO7U7.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "./chunk-MXLB2M2O.js";
9
+ } from "./chunk-KMAYFYW7.js";
10
10
  import "./chunk-CHCA3ZM2.js";
11
11
  import "./chunk-HGU4YCR3.js";
12
12
  import "./chunk-MP2AFCGL.js";
@@ -7,7 +7,7 @@ import "./chunk-2ZYEO7U7.js";
7
7
  import {
8
8
  disposeStore,
9
9
  initStore
10
- } from "./chunk-MXLB2M2O.js";
10
+ } from "./chunk-KMAYFYW7.js";
11
11
  import "./chunk-CHCA3ZM2.js";
12
12
  import "./chunk-HGU4YCR3.js";
13
13
  import "./chunk-MP2AFCGL.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-ZOX6DPP3.js";
3
+ } from "./chunk-QMNDQQTA.js";
4
4
  import "./chunk-MLKGABMK.js";
5
5
  export {
6
6
  fastDbInit
@@ -11,11 +11,11 @@ import {
11
11
  createSignupBot,
12
12
  ensureCRMContact,
13
13
  formatAlert
14
- } from "../chunk-M6S7HVFP.js";
14
+ } from "../chunk-3M5LROTK.js";
15
15
  import {
16
16
  createCRMWebhookHandler,
17
17
  parseTwentyWebhook
18
- } from "../chunk-TRQJQYG5.js";
18
+ } from "../chunk-W3LYG7QF.js";
19
19
  import {
20
20
  WhatsAppAdapter
21
21
  } from "../chunk-ECSNSHZ7.js";
@@ -56,8 +56,8 @@ import {
56
56
  retryWithBackoff,
57
57
  routeMessage,
58
58
  validateGatewayConfig
59
- } from "../chunk-MSUJ3UBS.js";
60
- import "../chunk-AJN3W6XB.js";
59
+ } from "../chunk-PQMCT335.js";
60
+ import "../chunk-3YP46SPZ.js";
61
61
  import {
62
62
  OllamaProvider
63
63
  } from "../chunk-FWFFZGSC.js";
@@ -71,7 +71,7 @@ import {
71
71
  getDefaultAccount,
72
72
  loadAccounts
73
73
  } from "../chunk-YGAAZN3E.js";
74
- import "../chunk-MYESASW3.js";
74
+ import "../chunk-25YHJFSE.js";
75
75
  import {
76
76
  createPerson,
77
77
  findPersonByContact,
@@ -4,13 +4,13 @@ import {
4
4
  getRecentCommits,
5
5
  matchScore,
6
6
  sweepTasks
7
- } from "./chunk-HF7Y4UZO.js";
8
- import "./chunk-J2TSYNVM.js";
7
+ } from "./chunk-BWRDZFPN.js";
8
+ import "./chunk-JUKSHMDE.js";
9
9
  import "./chunk-RN6XYY7U.js";
10
10
  import "./chunk-QI4IXJN7.js";
11
11
  import "./chunk-64WZEXXA.js";
12
- import "./chunk-TXWQPL2U.js";
13
- import "./chunk-CSTJQDOE.js";
12
+ import "./chunk-5YDHBZCO.js";
13
+ import "./chunk-G4QFC45N.js";
14
14
  import "./chunk-GZIAQYGI.js";
15
15
  import "./chunk-7ZIRLFIF.js";
16
16
  import "./chunk-ZQX6UOP6.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  createTask
3
- } from "../chunk-J6CSL7AY.js";
3
+ } from "../chunk-DDH7QVQN.js";
4
4
  import {
5
5
  fastDbInit
6
- } from "../chunk-ZOX6DPP3.js";
7
- import "../chunk-J2TSYNVM.js";
6
+ } from "../chunk-QMNDQQTA.js";
7
+ import "../chunk-JUKSHMDE.js";
8
8
  import "../chunk-RN6XYY7U.js";
9
9
  import "../chunk-QI4IXJN7.js";
10
10
  import "../chunk-64WZEXXA.js";
11
- import "../chunk-TXWQPL2U.js";
12
- import "../chunk-CSTJQDOE.js";
11
+ import "../chunk-5YDHBZCO.js";
12
+ import "../chunk-G4QFC45N.js";
13
13
  import "../chunk-GZIAQYGI.js";
14
14
  import "../chunk-7ZIRLFIF.js";
15
15
  import "../chunk-ZQX6UOP6.js";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  updateTask
3
- } from "../chunk-J6CSL7AY.js";
3
+ } from "../chunk-DDH7QVQN.js";
4
4
  import {
5
5
  fastDbInit
6
- } from "../chunk-ZOX6DPP3.js";
6
+ } from "../chunk-QMNDQQTA.js";
7
7
  import {
8
8
  listTasks
9
- } from "../chunk-J2TSYNVM.js";
9
+ } from "../chunk-JUKSHMDE.js";
10
10
  import "../chunk-RN6XYY7U.js";
11
11
  import "../chunk-QI4IXJN7.js";
12
12
  import "../chunk-64WZEXXA.js";
13
- import "../chunk-TXWQPL2U.js";
14
- import "../chunk-CSTJQDOE.js";
13
+ import "../chunk-5YDHBZCO.js";
14
+ import "../chunk-G4QFC45N.js";
15
15
  import "../chunk-GZIAQYGI.js";
16
16
  import "../chunk-7ZIRLFIF.js";
17
17
  import "../chunk-ZQX6UOP6.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  extractKeywords,
3
3
  matchScore
4
- } from "../chunk-HF7Y4UZO.js";
5
- import "../chunk-J2TSYNVM.js";
4
+ } from "../chunk-BWRDZFPN.js";
5
+ import "../chunk-JUKSHMDE.js";
6
6
  import "../chunk-RN6XYY7U.js";
7
7
  import "../chunk-QI4IXJN7.js";
8
8
  import "../chunk-64WZEXXA.js";
9
- import "../chunk-TXWQPL2U.js";
10
- import "../chunk-CSTJQDOE.js";
9
+ import "../chunk-5YDHBZCO.js";
10
+ import "../chunk-G4QFC45N.js";
11
11
  import "../chunk-GZIAQYGI.js";
12
12
  import "../chunk-7ZIRLFIF.js";
13
13
  import "../chunk-ZQX6UOP6.js";
@@ -75,13 +75,13 @@ async function main() {
75
75
  const changedFiles = getChangedFiles(commitHash);
76
76
  let client;
77
77
  try {
78
- const { fastDbInit } = await import("../fast-db-init-UTA7SHEE.js");
78
+ const { fastDbInit } = await import("../fast-db-init-BCU67WEQ.js");
79
79
  client = await fastDbInit();
80
80
  } catch {
81
81
  process.stderr.write("[commit-complete] DB init failed \u2014 skipping\n");
82
82
  return;
83
83
  }
84
- const { listTasks, updateTaskStatus } = await import("../tasks-crud-V3IQ5GLV.js");
84
+ const { listTasks, updateTaskStatus } = await import("../tasks-crud-JGUYPAYP.js");
85
85
  const tasks = await listTasks({
86
86
  assignedTo: agentId,
87
87
  status: "in_progress",
@@ -4,10 +4,10 @@ import {
4
4
  import {
5
5
  hybridSearch,
6
6
  lightweightSearch
7
- } from "../chunk-7LC5HGA3.js";
7
+ } from "../chunk-YRSYMLEP.js";
8
8
  import {
9
9
  initStore
10
- } from "../chunk-MXLB2M2O.js";
10
+ } from "../chunk-KMAYFYW7.js";
11
11
  import "../chunk-CHCA3ZM2.js";
12
12
  import "../chunk-HGU4YCR3.js";
13
13
  import "../chunk-SH45SJQW.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  registerWorkerPid,
3
3
  tryAcquireWorkerSlot
4
- } from "../chunk-MBFVJSSH.js";
4
+ } from "../chunk-WFE44FUV.js";
5
5
  import {
6
6
  classifyError,
7
7
  detectError,
@@ -320,7 +320,7 @@ Your output files must start with: exe/output/${agent.agentId}-`
320
320
  if (taskData.taskId) {
321
321
  const { initStore: cpInit } = await import("../lib/store.js");
322
322
  await cpInit();
323
- const { writeCheckpoint } = await import("../tasks-crud-V3IQ5GLV.js");
323
+ const { writeCheckpoint } = await import("../tasks-crud-JGUYPAYP.js");
324
324
  await writeCheckpoint({
325
325
  taskId: taskData.taskId,
326
326
  step: `auto_checkpoint_${counter.total}`,
@@ -49,7 +49,7 @@ process.stdin.on("end", async () => {
49
49
  pass = false;
50
50
  }
51
51
  try {
52
- const { fastDbInit } = await import("../fast-db-init-UTA7SHEE.js");
52
+ const { fastDbInit } = await import("../fast-db-init-BCU67WEQ.js");
53
53
  await fastDbInit();
54
54
  const { getClient } = await import("../lib/database.js");
55
55
  const client = getClient();
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-06-03T04:28:18.924Z",
3
+ "generatedAt": "2026-06-03T04:42:18.841Z",
4
4
  "hashes": {
5
- "bug-report-worker.js": "20a81829e944e0edd836312c278f9bd80d7f961825c2585f63051efb0a9b4d95",
6
- "codex-stop-task-finalizer.js": "b00fb63cd726821c0cf4753c510e424851b4b9b4eafa9225214d55cdef870d60",
7
- "commit-complete.js": "827df0c4c054fd471a0dee2c32492d48afe7e1a7eb829423c828f7c4fee573b8",
8
- "error-recall.js": "8b695978c4a9f075a57ac587bce58c725fb32cf6d4e0587c87afa55f2c6a819b",
5
+ "bug-report-worker.js": "e09e4ce9bbf4afffb655905c7c89c110e88f556d779a30604029f4591c0369eb",
6
+ "codex-stop-task-finalizer.js": "29b87387ed96fdfa7cc0b9f7269309087defb3c08f7f1c31f06cf4c84ca3df66",
7
+ "commit-complete.js": "313c5365eae1f3fcdab64c6d0f6bf3362c5b56ee7f748e31c77c448d7e95fcd7",
8
+ "error-recall.js": "4be9b35a5ecaf99c3e844c2e90152e5262455d386be689355dea73d6c1be20b5",
9
9
  "exe-heartbeat-hook.js": "cb7cc243fd1523e88402bd857d67496ff036cafc50176c3f436c87c022f98171",
10
10
  "ingest-worker.js": "f823b1a6ef69e0176dd6fe1477d84ce1f0d00331e4459273602e497c1d91073f",
11
- "ingest.js": "fa6c5f7c3f2bc49930347b2ea9612321c06be088e230b179fb9c1402410e7f83",
12
- "instructions-loaded.js": "c4084515e90205db2d58a1da8b5628307fd3e2d28fe2fd45a4e8c136e77556a9",
13
- "notification.js": "456f6b51ec2ea7e7780f2066308114801fcc0ee7ea476f357a223a470de0fb18",
14
- "post-compact.js": "8e7bd4cfa936ca5fff7170739d0bad80b5c75a7aa5c1584e3315ce59fc2ffcc8",
15
- "post-tool-combined.js": "e780ef912ca2d3c1a5eb2ca75d9dd16a6423d1e7d0c8bbfb358395460fe4a78b",
16
- "pre-compact.js": "40cd6220b8329e3c1e72795660268b5bac86534f617ae7cb604ea95a30ec8edb",
17
- "pre-tool-use.js": "5c6901438f8ab2170d4c8ace1219e4745db55897da4ca0090d4037571431b644",
18
- "prompt-submit.js": "440ff87196f8c68c647ac18befc90cfc780835db3c741327aa11c6e3635c3ac7",
19
- "session-end.js": "3777237dc3744e6ff6f9567a3730ebf6d0bc776915eb8a36ea37fdb4d544fa71",
20
- "session-start.js": "9efe54e6f9aedef5084bf70b45ebea097c2b291827e249f5e7265e36545dffec",
21
- "stop.js": "57387513d9af089e6a219d1e2f8d909f603fe31d156202897f121c2fdb8852b1",
22
- "subagent-stop.js": "b82fe7abf4f654485499c6ea72b038b0655caa44aaef417ca712575d859b7c65",
23
- "summary-worker.js": "99b31e47d7989689c952e152bbc658a80d98950d4dd696e9d2b654443f15f008"
11
+ "ingest.js": "9676279d091925fe6260f16fa3b05ccd0146192dec4f01019095b6cb9d93bf26",
12
+ "instructions-loaded.js": "06c7c1cbe7926aa9872276782b8b9169461aaaa188b05d580405cc23bea217d9",
13
+ "notification.js": "772cef9065e12ed8f3c939df333693714c0f70ed066e1bede8659324698cd38a",
14
+ "post-compact.js": "693045901d74d67f4f126216caf89a92697df4ac2def96e4fae08e43d40ec63f",
15
+ "post-tool-combined.js": "c9e3d17251c603dfdd2a6272ad5c5a3377fda13ff794305dcf44768ba4b6f754",
16
+ "pre-compact.js": "f13a20a166ec21402a6b644f73e76e47685182da37be92dcfa966e91286b323b",
17
+ "pre-tool-use.js": "033f5afa14f5dfb85b652e28094e45630edc8228c283630699314049ebb82bd0",
18
+ "prompt-submit.js": "c3d6e07771d97cf941888f297d484678682b0541dd52dcde09dead06379d56d7",
19
+ "session-end.js": "ddd9182c9ab13505732b5c47d1faeeb178e40f5eee0ba07baa5e0d637a9a823c",
20
+ "session-start.js": "dca98fe7354845ecfd0f67a1c5a520e4fe54ca0d5eee2ab78310dcbcf0d5e3be",
21
+ "stop.js": "afa6fc69e03a11ab6285e1df24d9282f643a36c51d92091fe1ca04915fb00b75",
22
+ "subagent-stop.js": "0b23e85539eb8c239ef6d0d09e0daa2284cd1370a56c32fa71a9cbdc8db5e342",
23
+ "summary-worker.js": "a32152937eebe34e83cb12142ba4d020ad6d9f0d4e8152d8e12f20ee8aedd592"
24
24
  }
25
25
  }
@@ -36,7 +36,7 @@ process.stdin.on("end", async () => {
36
36
  process.exit(0);
37
37
  }
38
38
  try {
39
- const { fastDbInit } = await import("../fast-db-init-UTA7SHEE.js");
39
+ const { fastDbInit } = await import("../fast-db-init-BCU67WEQ.js");
40
40
  await fastDbInit();
41
41
  const { getClient } = await import("../lib/database.js");
42
42
  const { randomUUID } = await import("crypto");