@askexenow/exe-os 0.9.365 → 0.9.367

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 (342) hide show
  1. package/dist/.dist-verified.json +3 -3
  2. package/dist/{active-agent-C6DPH43L.js → active-agent-R6Q7UEUD.js} +3 -3
  3. package/dist/{active-agent-MGF7J3HB.js → active-agent-V3CUDNED.js} +3 -3
  4. package/dist/{agent-defs-generator-X7TVMPVB.js → agent-defs-generator-MLPRGY75.js} +2 -2
  5. package/dist/agent-heartbeat-CQPGJIFF.js +13 -0
  6. package/dist/{agent-loop-E7RZCFDB.js → agent-loop-FOK2IRZQ.js} +1 -1
  7. package/dist/{agentic-ontology-CARDCG37.js → agentic-ontology-5FMQWGDZ.js} +1 -1
  8. package/dist/{backfill-metadata-ANCJA6LA.js → backfill-metadata-YXUMCKRV.js} +5 -5
  9. package/dist/{backup-verify-F7BHVEF7.js → backup-verify-GYHKAX7K.js} +1 -1
  10. package/dist/{behavior-injection-XQ4B7DCF.js → behavior-injection-7VGYY2KO.js} +7 -7
  11. package/dist/{behaviors-R2IE3PEN.js → behaviors-O6HKTSOF.js} +6 -6
  12. package/dist/bin/agentic-ontology-backfill.js +6 -6
  13. package/dist/bin/agentic-reflection-backfill.js +7 -7
  14. package/dist/bin/agentic-semantic-label.js +6 -6
  15. package/dist/bin/backfill-conversations.js +5 -5
  16. package/dist/bin/backfill-responses.js +5 -5
  17. package/dist/bin/backfill-vectors.js +6 -6
  18. package/dist/bin/bulk-sync-postgres.js +10 -10
  19. package/dist/bin/cc-doctor.js +5 -5
  20. package/dist/bin/cleanup-stale-review-tasks.js +14 -13
  21. package/dist/bin/cli.js +20 -20
  22. package/dist/bin/deferred-daemon-restart.js +78 -75
  23. package/dist/bin/exe-agent-config.js +2 -2
  24. package/dist/bin/exe-agent.js +251 -13
  25. package/dist/bin/exe-assign.js +6 -6
  26. package/dist/bin/exe-boot.js +29 -27
  27. package/dist/bin/exe-call.js +4 -4
  28. package/dist/bin/exe-cloud.js +11 -11
  29. package/dist/bin/exe-config-dump.js +2 -2
  30. package/dist/bin/exe-dispatch.js +15 -14
  31. package/dist/bin/exe-doctor.js +5 -5
  32. package/dist/bin/exe-export-behaviors.js +8 -8
  33. package/dist/bin/exe-forget.js +7 -7
  34. package/dist/bin/exe-gateway.js +7 -7
  35. package/dist/bin/exe-healthcheck.js +5 -5
  36. package/dist/bin/exe-heartbeat.js +17 -16
  37. package/dist/bin/exe-kill.js +18 -17
  38. package/dist/bin/exe-launch-agent.js +23 -22
  39. package/dist/bin/exe-mcp.js +3 -3
  40. package/dist/bin/exe-memory-reads.js +5 -5
  41. package/dist/bin/exe-new-employee.js +8 -8
  42. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  43. package/dist/bin/exe-pending-messages.js +15 -14
  44. package/dist/bin/exe-pending-notifications.js +14 -13
  45. package/dist/bin/exe-pending-reviews.js +14 -13
  46. package/dist/bin/exe-rename.js +4 -4
  47. package/dist/bin/exe-review.js +17 -16
  48. package/dist/bin/exe-search.js +6 -6
  49. package/dist/bin/exe-session-cleanup.js +18 -17
  50. package/dist/bin/exe-settings.js +10 -10
  51. package/dist/bin/exe-start-codex.js +21 -13
  52. package/dist/bin/exe-start-opencode.js +9 -9
  53. package/dist/bin/exe-status.js +16 -15
  54. package/dist/bin/exe-support.js +3 -3
  55. package/dist/bin/exe-team.js +4 -4
  56. package/dist/bin/git-sweep.js +23 -14
  57. package/dist/bin/graph-backfill.js +6 -6
  58. package/dist/bin/graph-export.js +6 -6
  59. package/dist/bin/import-history.js +9 -9
  60. package/dist/bin/install.js +80 -77
  61. package/dist/bin/intercom-check.js +4 -4
  62. package/dist/bin/mcp-sessions.js +2 -2
  63. package/dist/bin/orchestration-metrics.js +4 -4
  64. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  65. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  66. package/dist/bin/reconcile-backlog.js +2 -2
  67. package/dist/bin/registry-proxy.js +1 -1
  68. package/dist/bin/scan-tasks.js +14 -13
  69. package/dist/bin/setup.js +1 -1
  70. package/dist/bin/shard-migrate.js +5 -5
  71. package/dist/bin/stack-update.js +34 -6
  72. package/dist/bin/verify-stack.js +6 -1
  73. package/dist/bin/vps-health-gate.js +1 -1
  74. package/dist/{boot-generation-X45BSVZY.js → boot-generation-EZ2Y74IG.js} +3 -3
  75. package/dist/{boot-review-sections-OBVRXXSF.js → boot-review-sections-7CNQTAYR.js} +13 -12
  76. package/dist/build-manifest.json +865 -835
  77. package/dist/{capability-cards-57FURUMR.js → capability-cards-ZTFMK4VJ.js} +2 -2
  78. package/dist/{capacity-monitor-QEL62JDO.js → capacity-monitor-B2XU4YHP.js} +15 -14
  79. package/dist/{catchup-brief-PMXTCASA.js → catchup-brief-3BEOL7EV.js} +18 -17
  80. package/dist/{chunk-J6I7X272.js → chunk-267QB6VB.js} +1 -1
  81. package/dist/{chunk-IXEFO6HD.js → chunk-2IZH6W73.js} +3 -3
  82. package/dist/{chunk-6GQYPJPG.js → chunk-4DJDC4Y2.js} +8 -8
  83. package/dist/{chunk-LZKYVMBY.js → chunk-4WOOCTON.js} +2 -2
  84. package/dist/{chunk-RHX6MNWY.js → chunk-52CFP2AV.js} +1 -1
  85. package/dist/{chunk-EWZYFG5Q.js → chunk-53LCVVX5.js} +2 -2
  86. package/dist/{chunk-52TIQJEQ.js → chunk-5CH6XKVC.js} +1 -1
  87. package/dist/{chunk-22YQBVMO.js → chunk-66BFQOWR.js} +4 -4
  88. package/dist/{chunk-ESTR7QUP.js → chunk-6MCUXRIP.js} +1 -1
  89. package/dist/{chunk-LHOKWZKL.js → chunk-6NJURKRG.js} +1 -1
  90. package/dist/{chunk-VGE6IHZB.js → chunk-7W5LCREK.js} +80 -12
  91. package/dist/{chunk-FXPAUDCZ.js → chunk-7W6FDHHY.js} +1 -1
  92. package/dist/{chunk-E6ORBQHP.js → chunk-AAMGHW5W.js} +1 -0
  93. package/dist/{chunk-EMZHB767.js → chunk-AE3PYLLS.js} +9 -9
  94. package/dist/{chunk-JUOZLXLH.js → chunk-AEVE654G.js} +1 -1
  95. package/dist/{chunk-PPGPCWRC.js → chunk-ALKYXAMB.js} +4 -4
  96. package/dist/{chunk-MPQXQ5IE.js → chunk-ALYI3P5D.js} +1 -1
  97. package/dist/{chunk-4QKKLK3C.js → chunk-BQYQES2Z.js} +10 -10
  98. package/dist/{chunk-WYLFDSIE.js → chunk-BTMX2D4X.js} +5 -5
  99. package/dist/chunk-BTSWFMEH.js +14 -0
  100. package/dist/{chunk-EKVTRI3N.js → chunk-BY3V5CLX.js} +5 -4
  101. package/dist/{chunk-ZSZPMUNX.js → chunk-CKKLSY7B.js} +126 -7
  102. package/dist/{chunk-6Q263OZE.js → chunk-CTPG4KYZ.js} +1 -1
  103. package/dist/{chunk-C3UAQ3JG.js → chunk-CX4MVEM3.js} +1 -1
  104. package/dist/{chunk-DEFSN2FQ.js → chunk-CYNL3ZFD.js} +3 -3
  105. package/dist/{chunk-RD4E5G3B.js → chunk-DTTISDTI.js} +1 -1
  106. package/dist/{chunk-ZRKEUCUZ.js → chunk-DXCTHNEF.js} +12 -10
  107. package/dist/{chunk-KSVLBATT.js → chunk-E5QQZDQN.js} +53 -0
  108. package/dist/{chunk-DQ5KHWFD.js → chunk-EDZ5URGR.js} +1 -1
  109. package/dist/{chunk-ZDUO6QBH.js → chunk-F3PIHVVY.js} +1 -1
  110. package/dist/{chunk-EJ4522YM.js → chunk-FSIAGX55.js} +1 -1
  111. package/dist/{chunk-RVWALVDT.js → chunk-GUOMZ3JM.js} +2 -2
  112. package/dist/{chunk-BRLS5OLZ.js → chunk-HSBKV5LB.js} +35 -4
  113. package/dist/{chunk-QFIVK3G5.js → chunk-IIVFXD6P.js} +1 -1
  114. package/dist/{chunk-SBAU735L.js → chunk-J6VQ7HYV.js} +4 -4
  115. package/dist/{chunk-EWCEUO65.js → chunk-JFOZHVNO.js} +1 -1
  116. package/dist/{chunk-T6S45OLV.js → chunk-JJRZE2LD.js} +1 -1
  117. package/dist/{chunk-DYWGIPVP.js → chunk-JOKKIFRN.js} +3 -3
  118. package/dist/{chunk-X6A2VWVJ.js → chunk-K2OFS57E.js} +2 -2
  119. package/dist/{chunk-NV6A5HDN.js → chunk-KDD26FUY.js} +1 -1
  120. package/dist/{chunk-L3TB7CC3.js → chunk-KM6XSFHP.js} +12 -2
  121. package/dist/{chunk-CKG6CVKI.js → chunk-LIZ3QQGK.js} +1 -1
  122. package/dist/{chunk-OFGFRT5J.js → chunk-LW5WRSDD.js} +1 -1
  123. package/dist/{chunk-JITNFE4W.js → chunk-MLPPG2OG.js} +1 -1
  124. package/dist/{chunk-3JNVB5LG.js → chunk-MQ3N4KZY.js} +1 -1
  125. package/dist/{chunk-2FYIMTQE.js → chunk-N3JLNMPF.js} +2 -2
  126. package/dist/{chunk-RZIKSE6N.js → chunk-NPND34FS.js} +4 -4
  127. package/dist/{chunk-DWAQOEXL.js → chunk-O3F5P6Z5.js} +2 -2
  128. package/dist/{chunk-M7EES2KM.js → chunk-OADOH45L.js} +3 -3
  129. package/dist/{chunk-MZJBUAC3.js → chunk-OISZ2I4X.js} +4 -4
  130. package/dist/{chunk-R7RM766N.js → chunk-OPS7KUFV.js} +3 -3
  131. package/dist/{chunk-JNVQGLPX.js → chunk-P5XER5QY.js} +3 -3
  132. package/dist/{chunk-J4U5Z7VX.js → chunk-P76VYS6V.js} +4 -4
  133. package/dist/{chunk-KRUYQFSH.js → chunk-PFOJX6CR.js} +5 -5
  134. package/dist/chunk-PFR6EOUY.js +356 -0
  135. package/dist/{agent-heartbeat-I5UPGXAU.js → chunk-PHUHIVD5.js} +4 -5
  136. package/dist/{chunk-45EQTS7B.js → chunk-PQ6NRLKL.js} +1 -1
  137. package/dist/{chunk-5CBGH6RA.js → chunk-PR3AHVFW.js} +3 -3
  138. package/dist/{chunk-ODBRU6BF.js → chunk-PS4NA7PM.js} +1399 -943
  139. package/dist/{chunk-CPILYY2K.js → chunk-PS6VPW64.js} +1 -1
  140. package/dist/{chunk-YMJOLEPE.js → chunk-PWCZFIQH.js} +4 -4
  141. package/dist/{chunk-POPRJKAY.js → chunk-QS6HI4B6.js} +6 -0
  142. package/dist/{chunk-ZNEBZCZR.js → chunk-QWDZNQXA.js} +1 -1
  143. package/dist/{chunk-ORNCMRIX.js → chunk-QX33D4CH.js} +25 -31
  144. package/dist/{chunk-BATQKSLI.js → chunk-R3H3WW7H.js} +2 -2
  145. package/dist/chunk-R4AROSYI.js +496 -0
  146. package/dist/{chunk-F2S3M5MB.js → chunk-SFKIZYKK.js} +2 -2
  147. package/dist/{chunk-IIZITKBV.js → chunk-TCR7NBHD.js} +4 -4
  148. package/dist/{chunk-7C4FUNVO.js → chunk-TJSTWACD.js} +2 -2
  149. package/dist/chunk-TX3Q2GIL.js +97 -0
  150. package/dist/{chunk-2ESB5SDP.js → chunk-TZFOWWPM.js} +1 -1
  151. package/dist/{chunk-WR75WUEP.js → chunk-UI3K73LD.js} +1 -1
  152. package/dist/{chunk-DJK45U7B.js → chunk-URHJDUWO.js} +1 -1
  153. package/dist/{chunk-SP37DONS.js → chunk-V3ISR2QT.js} +1 -1
  154. package/dist/{chunk-EPNWEOOE.js → chunk-VY3QUSWS.js} +6 -6
  155. package/dist/{chunk-O2MEBF23.js → chunk-WBKIU6UJ.js} +2 -2
  156. package/dist/{chunk-TO6TB75E.js → chunk-WCDIDSLR.js} +2 -2
  157. package/dist/{chunk-EVPBYX2Z.js → chunk-WSLFGJBA.js} +1 -1
  158. package/dist/{chunk-OPNROU5B.js → chunk-WYVBWDFY.js} +1 -1
  159. package/dist/{chunk-JYFYIGYK.js → chunk-XA4EU3CW.js} +1 -1
  160. package/dist/{chunk-ZEKCHV43.js → chunk-XAMLDTRA.js} +4 -4
  161. package/dist/{chunk-EHHMNKOA.js → chunk-XKFMNAJ7.js} +1 -1
  162. package/dist/{chunk-5KLQCGI5.js → chunk-XKZD5FGK.js} +55 -0
  163. package/dist/{chunk-U373MEF5.js → chunk-XSXZVKJ7.js} +3 -3
  164. package/dist/{chunk-IM2I7OOS.js → chunk-XTEKGO44.js} +1 -1
  165. package/dist/{chunk-Q7BU5Q6I.js → chunk-XUGOVOID.js} +3 -3
  166. package/dist/{chunk-BEHLIRRJ.js → chunk-XVRQZCTS.js} +1 -1
  167. package/dist/{chunk-P47MPWNU.js → chunk-Y4JVM3SI.js} +1 -1
  168. package/dist/{chunk-NO3M2AFM.js → chunk-Y7OK5PJE.js} +1 -1
  169. package/dist/{chunk-ANPE3TT3.js → chunk-YA4PM3MV.js} +3 -3
  170. package/dist/{chunk-EPDNWY5P.js → chunk-YYLVHUYZ.js} +1 -1
  171. package/dist/{chunk-QYJANQWC.js → chunk-Z5Z3MYUW.js} +2 -2
  172. package/dist/{chunk-MXEIZUXG.js → chunk-ZSHLY5BS.js} +1 -1
  173. package/dist/{chunk-AGQAGOQN.js → chunk-ZZ3JQM5I.js} +9 -9
  174. package/dist/{cleanup-graph-garbage-CAA625RJ.js → cleanup-graph-garbage-XDIX3HLN.js} +7 -7
  175. package/dist/{cloud-sync-command-DBB7WRHL.js → cloud-sync-command-VPYE4FIH.js} +2 -2
  176. package/dist/{cloud-sync-db-init-V7IB23W5.js → cloud-sync-db-init-NSDBTFGI.js} +1 -1
  177. package/dist/{cloud-sync-shutdown-2D3B73CJ.js → cloud-sync-shutdown-6OUYTG4T.js} +2 -2
  178. package/dist/{co-activation-JVN7EBS6.js → co-activation-EAAKGGZH.js} +2 -2
  179. package/dist/{co-occurrence-526PTFGT.js → co-occurrence-OFVF55RX.js} +5 -5
  180. package/dist/codex-consolidation-PPXNBXCV.js +96 -0
  181. package/dist/{conversation-entity-extractor-JO56DB2E.js → conversation-entity-extractor-ZR5GFKAI.js} +3 -3
  182. package/dist/{crdt-sync-LIJLZKFE.js → crdt-sync-FGH4SBFW.js} +1 -1
  183. package/dist/{crm-webhook-55F7Y6D2.js → crm-webhook-PJATR2DC.js} +2 -2
  184. package/dist/{cto-delegation-gate-QIYV4KFO.js → cto-delegation-gate-PO4LSSQ4.js} +13 -12
  185. package/dist/{daemon-orchestration-Q3GJA2JJ.js → daemon-orchestration-IJFZFQUX.js} +18 -17
  186. package/dist/{doc-graph-extractor-P46R4QME.js → doc-graph-extractor-CAYUAM5A.js} +5 -5
  187. package/dist/{documents-7KFEREWO.js → documents-W2G477QE.js} +6 -6
  188. package/dist/{dreaming-JMUXBAPU.js → dreaming-FVXSIIWV.js} +17 -16
  189. package/dist/{employee-boot-brief-HN63D2BY.js → employee-boot-brief-OYMSHFHA.js} +19 -18
  190. package/dist/{exe-drift-7J7GX7DP.js → exe-drift-67RGJOBX.js} +3 -3
  191. package/dist/{exe-export-KJ7B2OBU.js → exe-export-SGYX6XZG.js} +7 -7
  192. package/dist/{exe-import-HPZDWKGE.js → exe-import-UABVA5N3.js} +7 -7
  193. package/dist/{exe-key-2PREP464.js → exe-key-XNYDCVFE.js} +78 -75
  194. package/dist/{exe-org-VEIISATF.js → exe-org-XJVSU5HN.js} +8 -8
  195. package/dist/{exe-snapshot-JXQFLUKA.js → exe-snapshot-YXOGYZUX.js} +18 -17
  196. package/dist/{fast-db-init-SCXJXOYX.js → fast-db-init-GDFJY5UH.js} +1 -1
  197. package/dist/{founder-context-U2SZPLYV.js → founder-context-KUXSNXKS.js} +2 -2
  198. package/dist/gateway/index.js +8 -8
  199. package/dist/{git-staleness-S4NDR7NX.js → git-staleness-NN6RWNLW.js} +2 -2
  200. package/dist/{global-procedures-ZOFTOXIR.js → global-procedures-XDNA3TNA.js} +3 -3
  201. package/dist/{graph-auto-extract-CLVTSUSB.js → graph-auto-extract-KTOR45V4.js} +5 -5
  202. package/dist/{graph-rag-LSJLWGXV.js → graph-rag-L5NV5YWD.js} +3 -3
  203. package/dist/{hook-integrity-SGTKBL6W.js → hook-integrity-X3YAVGUW.js} +1 -1
  204. package/dist/{hook-prefetch-BDSLB6F4.js → hook-prefetch-WE4MIXBM.js} +14 -13
  205. package/dist/hooks/bug-report-worker.js +18 -17
  206. package/dist/hooks/codex-stop-task-finalizer.js +19 -18
  207. package/dist/hooks/commit-complete.js +33 -19
  208. package/dist/hooks/error-recall.js +8 -8
  209. package/dist/hooks/exe-heartbeat-hook.js +4 -4
  210. package/dist/hooks/ingest-worker.js +2 -2
  211. package/dist/hooks/ingest.js +11 -11
  212. package/dist/hooks/instructions-loaded.js +5 -5
  213. package/dist/hooks/manifest.json +20 -20
  214. package/dist/hooks/notification.js +5 -5
  215. package/dist/hooks/post-compact.js +4 -4
  216. package/dist/hooks/post-tool-combined.js +12 -12
  217. package/dist/hooks/pre-compact.js +17 -16
  218. package/dist/hooks/pre-tool-use.js +68 -23
  219. package/dist/hooks/prompt-submit.js +30 -29
  220. package/dist/hooks/session-end.js +113 -99
  221. package/dist/hooks/session-start.js +16 -16
  222. package/dist/hooks/stop.js +82 -19
  223. package/dist/hooks/subagent-stop.js +18 -17
  224. package/dist/hooks/summary-worker.js +22 -21
  225. package/dist/index.js +24 -23
  226. package/dist/{installer-RC2JCKSE.js → installer-EAAYEEEF.js} +6 -6
  227. package/dist/{installer-KCEM4RCG.js → installer-EPQAOI6M.js} +152 -8
  228. package/dist/{installer-EA7T3PBD.js → installer-UDRMFY75.js} +6 -6
  229. package/dist/{intercom-queue-6DZPHHQ2.js → intercom-queue-IBOAVT2I.js} +13 -12
  230. package/dist/lib/cloud-sync.js +10 -10
  231. package/dist/lib/consolidation.js +7 -7
  232. package/dist/lib/database.js +2 -2
  233. package/dist/lib/db-backup.js +1 -1
  234. package/dist/lib/db-write-worker.js +3 -3
  235. package/dist/lib/db.js +2 -2
  236. package/dist/lib/device-registry.js +1 -1
  237. package/dist/lib/employee-templates.js +4 -4
  238. package/dist/lib/employees.js +2 -2
  239. package/dist/lib/exe-daemon.js +77 -76
  240. package/dist/lib/hybrid-search.js +6 -6
  241. package/dist/lib/identity.js +2 -2
  242. package/dist/lib/license.js +2 -2
  243. package/dist/lib/messaging.js +14 -13
  244. package/dist/lib/registry-proxy.js +1 -1
  245. package/dist/lib/reminders.js +3 -3
  246. package/dist/lib/schedules.js +6 -6
  247. package/dist/lib/session-registry.js +4 -4
  248. package/dist/lib/skill-learning.js +7 -7
  249. package/dist/lib/status-brief.js +2 -1
  250. package/dist/lib/store.js +5 -5
  251. package/dist/lib/task-router.js +3 -3
  252. package/dist/lib/tasks.js +15 -14
  253. package/dist/lib/tmux-routing.js +13 -12
  254. package/dist/lib/token-spend.js +3 -3
  255. package/dist/{license-gate-HMSMUIAU.js → license-gate-3TTWJABL.js} +3 -3
  256. package/dist/{license-sync-FBCMPC4J.js → license-sync-ZC6TPKVV.js} +2 -2
  257. package/dist/mcp/register-tools.js +77 -74
  258. package/dist/mcp/server.js +78 -75
  259. package/dist/mcp/tools/complete-reminder.js +4 -4
  260. package/dist/mcp/tools/create-reminder.js +4 -4
  261. package/dist/mcp/tools/create-task.js +17 -16
  262. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  263. package/dist/mcp/tools/list-reminders.js +4 -4
  264. package/dist/mcp/tools/list-tasks.js +17 -16
  265. package/dist/mcp/tools/send-message.js +16 -15
  266. package/dist/mcp/tools/update-task.js +16 -15
  267. package/dist/{mcp-http-config-YKJN52HG.js → mcp-http-config-ROF5EPEF.js} +3 -3
  268. package/dist/{mcp-session-identity-QLUVYWPR.js → mcp-session-identity-ERU6FEUB.js} +13 -12
  269. package/dist/{memory-cards-K2OSX4AW.js → memory-cards-3QTXI2SG.js} +5 -5
  270. package/dist/{memory-graph-extractor-YLTSKLSY.js → memory-graph-extractor-7GAILMYG.js} +6 -6
  271. package/dist/{memory-poisoning-defense-IPO4ADRL.js → memory-poisoning-defense-TPXSRJTQ.js} +2 -2
  272. package/dist/{memory-pressure-watchdog-ZI3TH2OF.js → memory-pressure-watchdog-ZSOP6T2F.js} +14 -13
  273. package/dist/{memory-reflection-ZKVRU3NT.js → memory-reflection-3AI4JBV2.js} +2 -2
  274. package/dist/{notification-ledger-4REL6M3T.js → notification-ledger-ZU7ZFJJX.js} +16 -14
  275. package/dist/{notifications-UXJUAP3C.js → notifications-S4GU22GF.js} +13 -12
  276. package/dist/{orchestration-events-GMRGGBMN.js → orchestration-events-HVG56HJ5.js} +3 -3
  277. package/dist/{orchestrator-5TV75HDJ.js → orchestrator-UW3Q3WYG.js} +15 -14
  278. package/dist/{org-brief-session-7AZZEO3F.js → org-brief-session-G36TJBN4.js} +5 -5
  279. package/dist/{org-consent-policy-XT6UZENB.js → org-consent-policy-RMYVMM3X.js} +1 -1
  280. package/dist/{org-partner-runtime-WLZAZJIY.js → org-partner-runtime-KXMGEYFW.js} +5 -5
  281. package/dist/{org-row-visibility-A5XM4MVO.js → org-row-visibility-UI5PGN76.js} +1 -1
  282. package/dist/{pipeline-router-UEVXDUHR.js → pipeline-router-IODWXDDI.js} +3 -3
  283. package/dist/{plan-limits-QEP32X4W.js → plan-limits-XMAQVEJZ.js} +5 -5
  284. package/dist/{projection-worker-GMRC6SBH.js → projection-worker-6LZUCI3B.js} +2 -2
  285. package/dist/{prospective-memory-QLHSAPSG.js → prospective-memory-G5VK5GCD.js} +2 -2
  286. package/dist/{push-notifications-GKRPXOGI.js → push-notifications-S2RYRXLF.js} +14 -13
  287. package/dist/{reranker-GB4VEMUV.js → reranker-EHQTAA3L.js} +1 -1
  288. package/dist/{retrieval-health-QIBPBGN6.js → retrieval-health-WZ4ICGNF.js} +1 -1
  289. package/dist/{review-polling-MU47NQ2N.js → review-polling-MAWLRDSP.js} +14 -13
  290. package/dist/runtime/index.js +18 -17
  291. package/dist/{session-events-YMQ3VGBJ.js → session-events-BRUIZ5E4.js} +14 -13
  292. package/dist/{session-kill-telemetry-VGPKE57M.js → session-kill-telemetry-PTZLHT33.js} +14 -13
  293. package/dist/{session-scope-P46KAHXQ.js → session-scope-G4RVJJGR.js} +13 -12
  294. package/dist/{setup-wizard-BRNHSJ4U.js → setup-wizard-WFEUB63Z.js} +1 -1
  295. package/dist/{skill-refinement-NLYDSFEH.js → skill-refinement-2OYPH7WD.js} +3 -3
  296. package/dist/{stack-promote-NHFTNIM2.js → stack-promote-DLYYQXQI.js} +5 -4
  297. package/dist/{stack-release-AQVKZUS7.js → stack-release-OPWARLXI.js} +5 -4
  298. package/dist/{stack-update-LLX5KT7G.js → stack-update-SJ43IEQE.js} +10 -3
  299. package/dist/{steward-gate-JKHYFAHA.js → steward-gate-V7PBGVFK.js} +3 -3
  300. package/dist/{subagent-brief-injection-VDVOHDOU.js → subagent-brief-injection-BLCRI2AJ.js} +20 -19
  301. package/dist/{support-inbox-S6YO5YZU.js → support-inbox-6HOQYFD2.js} +3 -3
  302. package/dist/{task-enforcement-LXW45H5Z.js → task-enforcement-EF6O2V26.js} +14 -13
  303. package/dist/{task-request-inbox-UCSKDC3R.js → task-request-inbox-OB2KIJWO.js} +1 -1
  304. package/dist/{task-scope-GDLFE26E.js → task-scope-74JBTKJN.js} +17 -15
  305. package/dist/{tasks-crud-W7VGWRUV.js → tasks-crud-ZU6RZDEZ.js} +13 -12
  306. package/dist/{tasks-notify-CT7NWCS4.js → tasks-notify-767DRYAA.js} +14 -13
  307. package/dist/{tasks-review-WCSKOUFW.js → tasks-review-4F6PZZ3B.js} +13 -12
  308. package/dist/{telemetry-upload-FK5WKXVB.js → telemetry-upload-2JM6KIAB.js} +7 -7
  309. package/dist/{token-budget-GBNGSIU3.js → token-budget-NH2RD4YX.js} +3 -3
  310. package/dist/{tool-gates-3IC7DK4R.js → tool-gates-2OZY3GZM.js} +1 -1
  311. package/dist/{tool-gates-GXSYBVK4.js → tool-gates-7PLIOLAL.js} +1 -1
  312. package/dist/{tool-telemetry-VKMRS6MP.js → tool-telemetry-CHCBD4OQ.js} +1 -1
  313. package/dist/tui/App.js +22 -21
  314. package/dist/{tui-data-FTPV2XBQ.js → tui-data-244GF3BI.js} +13 -12
  315. package/dist/{update-support-J6UWPUOC.js → update-support-P2LO3DAB.js} +9 -9
  316. package/dist/work-claims-4QOE7DT2.js +53 -0
  317. package/dist/{work-state-heartbeat-4LDF6DSM.js → work-state-heartbeat-GX3VWWWK.js} +1 -1
  318. package/dist/{worker-gate-35VZINZG.js → worker-gate-62PZATOV.js} +1 -1
  319. package/dist/{workflow-engine-4DA6RSHI.js → workflow-engine-7YIRU62F.js} +2 -2
  320. package/dist/{worktree-H3YFJ3NU.js → worktree-3TUKIZWY.js} +4 -4
  321. package/dist/{worktree-sweep-4EDLLQ2E.js → worktree-sweep-MYQHUXDE.js} +5 -5
  322. package/package.json +6 -2
  323. package/release-notes.json +68 -62
  324. package/dist/chunk-2RQT7TED.js +0 -275
  325. /package/dist/{chunk-7Y6AQWVT.js → chunk-25EN7XXN.js} +0 -0
  326. /package/dist/{chunk-3THNS2T7.js → chunk-62U63R3E.js} +0 -0
  327. /package/dist/{chunk-VS4LPG66.js → chunk-65ZSFW3O.js} +0 -0
  328. /package/dist/{chunk-LKYGSJ2E.js → chunk-BTFDA3UJ.js} +0 -0
  329. /package/dist/{chunk-JRPYLUXH.js → chunk-DAXFAXLN.js} +0 -0
  330. /package/dist/{chunk-3NBWARKC.js → chunk-FLP2BQOA.js} +0 -0
  331. /package/dist/{chunk-CMBF5WCL.js → chunk-GTOMDMJL.js} +0 -0
  332. /package/dist/{chunk-QYECRPGD.js → chunk-JLYHJJHU.js} +0 -0
  333. /package/dist/{chunk-MBBFL2SP.js → chunk-JZBZI36P.js} +0 -0
  334. /package/dist/{chunk-BY7WWPRM.js → chunk-OUIEDJFO.js} +0 -0
  335. /package/dist/{chunk-7DMCAGSC.js → chunk-WM7Y5ZV2.js} +0 -0
  336. /package/dist/{chunk-G2EAYH4U.js → chunk-XM7HJ5SS.js} +0 -0
  337. /package/dist/{chunk-UY6HRDB2.js → chunk-YNPOELAN.js} +0 -0
  338. /package/dist/{core-memory-CMPPHJN5.js → core-memory-EARETDZ6.js} +0 -0
  339. /package/dist/{memory-isolation-ZB5S5HCO.js → memory-isolation-XASOGA7G.js} +0 -0
  340. /package/dist/{oauth-server-NP7KGF7N.js → oauth-server-C3BXAKAW.js} +0 -0
  341. /package/dist/{project-boot-LEZSK3W7.js → project-boot-LCFBQ6NB.js} +0 -0
  342. /package/dist/{wiki-acl-5DKOWOIH.js → wiki-acl-XQH4UBP2.js} +0 -0
@@ -0,0 +1,356 @@
1
+ import {
2
+ getAgentLivenessReport
3
+ } from "./chunk-PHUHIVD5.js";
4
+ import {
5
+ isValidSessionScope
6
+ } from "./chunk-BTSWFMEH.js";
7
+ import {
8
+ leaseExpiryIso,
9
+ leaseNowIso
10
+ } from "./chunk-E23LNUWJ.js";
11
+ import {
12
+ getClient
13
+ } from "./chunk-HSBKV5LB.js";
14
+
15
+ // src/lib/work-claims.ts
16
+ var CLAIM_TTL_MINUTES = 90;
17
+ var CLAIM_GRACE_MINUTES = 30;
18
+ var MAX_CLAIM_AGE_HOURS = 24;
19
+ var UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
20
+ var SHORT_ID_RE = /^[0-9a-f]{8}$/;
21
+ function normalizeWorkRef(raw) {
22
+ const v = raw.trim().toLowerCase();
23
+ if (UUID_RE.test(v)) return v.slice(0, 8);
24
+ if (SHORT_ID_RE.test(v)) return v;
25
+ return v.replace(/\s+/g, " ");
26
+ }
27
+ function normalizePathTarget(raw, repoRoot) {
28
+ let v = raw.trim().replace(/\\/g, "/");
29
+ if (repoRoot) {
30
+ const root = repoRoot.replace(/\\/g, "/").replace(/\/+$/, "");
31
+ if (v.startsWith(root + "/")) v = v.slice(root.length + 1);
32
+ }
33
+ v = v.replace(/^\.\//, "").replace(/^\/+/, (m) => repoRoot ? "" : m);
34
+ return v;
35
+ }
36
+ function normalizeTarget(target, opts = {}) {
37
+ if (target.kind === "path") {
38
+ const rel = normalizePathTarget(target.value, opts.repoRoot);
39
+ const project = (opts.project ?? "").trim();
40
+ const key = project ? `${project}/${rel}` : rel;
41
+ return { kind: "path", key, label: project ? `${project}/${rel}` : rel };
42
+ }
43
+ return { kind: "work_ref", key: normalizeWorkRef(target.value), label: target.value.trim() };
44
+ }
45
+ function extractWorkRefCandidates(text) {
46
+ if (!text) return [];
47
+ const out = /* @__PURE__ */ new Set();
48
+ for (const m of text.toLowerCase().matchAll(/\b[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}\b/g)) {
49
+ out.add(m[0].slice(0, 8));
50
+ }
51
+ for (const m of text.toLowerCase().matchAll(/\b[0-9a-f]{8}\b/g)) {
52
+ out.add(m[0]);
53
+ }
54
+ return [...out];
55
+ }
56
+ function rootScope(sessionName) {
57
+ const raw = (sessionName ?? "").trim();
58
+ if (!raw) return "";
59
+ const lastDash = raw.lastIndexOf("-");
60
+ return lastDash >= 0 ? raw.slice(lastDash + 1) : raw;
61
+ }
62
+ function liveSessionScopes() {
63
+ const live = /* @__PURE__ */ new Set();
64
+ try {
65
+ for (const r of getAgentLivenessReport()) {
66
+ if (r.status === "dead") continue;
67
+ const root = rootScope(r.sessionName);
68
+ if (root) live.add(root);
69
+ }
70
+ } catch {
71
+ }
72
+ return live;
73
+ }
74
+ var SELECT_COLS = "id, claim_group, target_kind, target_key, target_label, task_id, holder_session, holder_agent, note, claimed_at, lease_expires_at, updated_at";
75
+ function toRow(r) {
76
+ return {
77
+ id: String(r.id),
78
+ claimGroup: String(r.claim_group),
79
+ targetKind: String(r.target_kind),
80
+ targetKey: String(r.target_key),
81
+ targetLabel: r.target_label == null ? String(r.target_key) : String(r.target_label),
82
+ taskId: r.task_id == null ? null : String(r.task_id),
83
+ holderSession: String(r.holder_session),
84
+ holderAgent: r.holder_agent == null ? null : String(r.holder_agent),
85
+ note: r.note == null ? null : String(r.note),
86
+ claimedAt: String(r.claimed_at),
87
+ leaseExpiresAt: String(r.lease_expires_at),
88
+ updatedAt: String(r.updated_at)
89
+ };
90
+ }
91
+ function isUniqueViolation(err) {
92
+ const msg = err instanceof Error ? err.message : String(err);
93
+ return /UNIQUE constraint failed|SQLITE_CONSTRAINT_UNIQUE|duplicate key value/i.test(msg);
94
+ }
95
+ async function listClaims() {
96
+ const client = await getClient();
97
+ const res = await client.execute({
98
+ sql: `SELECT ${SELECT_COLS} FROM work_claims ORDER BY claimed_at DESC`,
99
+ args: []
100
+ });
101
+ return res.rows.map(toRow);
102
+ }
103
+ async function findConflicts(targets, holderSession) {
104
+ if (targets.length === 0) return [];
105
+ const client = await getClient();
106
+ const placeholders = targets.map(() => "(target_kind = ? AND target_key = ?)").join(" OR ");
107
+ const args = [];
108
+ for (const t of targets) args.push(t.kind, t.key);
109
+ const res = await client.execute({
110
+ sql: `SELECT ${SELECT_COLS} FROM work_claims WHERE (${placeholders})`,
111
+ args
112
+ });
113
+ const nowMs = Date.now();
114
+ const live = liveSessionScopes();
115
+ return res.rows.map(toRow).filter((r) => r.holderSession !== holderSession).filter((r) => {
116
+ const expiresMs = new Date(r.leaseExpiresAt).getTime();
117
+ if (Number.isNaN(expiresMs)) return true;
118
+ if (expiresMs >= nowMs) return true;
119
+ const ageMs = nowMs - new Date(r.claimedAt).getTime();
120
+ return live.has(r.holderSession) && ageMs < MAX_CLAIM_AGE_HOURS * 36e5;
121
+ });
122
+ }
123
+ async function findConflictsInText(text, holderSession) {
124
+ const candidates = extractWorkRefCandidates(text);
125
+ if (candidates.length === 0) return [];
126
+ return findConflicts(
127
+ candidates.map((c) => ({ kind: "work_ref", key: c, label: c })),
128
+ holderSession
129
+ );
130
+ }
131
+ async function acquireClaim(input) {
132
+ const holderSession = (input.holderSession ?? "").trim();
133
+ if (!isValidSessionScope(holderSession)) {
134
+ throw new Error(
135
+ `work-claims: refusing to claim for an invalid session scope "${holderSession}". A claim must name the owning coordinator session (e.g. exe2), not an agent or free text.`
136
+ );
137
+ }
138
+ if (input.force && !(input.reason ?? "").trim()) {
139
+ throw new Error(
140
+ "work-claims: force override requires a reason. Overriding another session's claim is a deliberate act and is recorded with who and why."
141
+ );
142
+ }
143
+ const targets = input.targets.map((t) => normalizeTarget(t, { repoRoot: input.repoRoot, project: input.project })).filter((t) => t.key.length > 0);
144
+ if (targets.length === 0) {
145
+ throw new Error("work-claims: no valid targets to claim.");
146
+ }
147
+ const seen = /* @__PURE__ */ new Set();
148
+ const unique = targets.filter((t) => {
149
+ const k = `${t.kind}\0${t.key}`;
150
+ if (seen.has(k)) return false;
151
+ seen.add(k);
152
+ return true;
153
+ });
154
+ const client = await getClient();
155
+ const now = leaseNowIso();
156
+ const nowMs = Date.parse(now);
157
+ const expiry = leaseExpiryIso(now, input.ttlMinutes ?? CLAIM_TTL_MINUTES);
158
+ const graceExpiry = leaseExpiryIso(now, CLAIM_GRACE_MINUTES);
159
+ const minClaimedAt = new Date(nowMs - MAX_CLAIM_AGE_HOURS * 36e5).toISOString();
160
+ const live = [...liveSessionScopes()];
161
+ const stmts = [];
162
+ if (live.length > 0) {
163
+ stmts.push({
164
+ sql: `UPDATE work_claims SET lease_expires_at = ?, updated_at = ? WHERE lease_expires_at < ? AND claimed_at > ? AND holder_session IN (${live.map(() => "?").join(",")})`,
165
+ args: [graceExpiry, now, now, minClaimedAt, ...live]
166
+ });
167
+ }
168
+ stmts.push({
169
+ sql: `DELETE FROM work_claims WHERE lease_expires_at < ?`,
170
+ args: [now]
171
+ });
172
+ for (const t of unique) {
173
+ if (input.force) {
174
+ stmts.push({
175
+ sql: `DELETE FROM work_claims WHERE target_kind = ? AND target_key = ?`,
176
+ args: [t.kind, t.key]
177
+ });
178
+ } else {
179
+ stmts.push({
180
+ sql: `DELETE FROM work_claims WHERE target_kind = ? AND target_key = ? AND holder_session = ?`,
181
+ args: [t.kind, t.key, holderSession]
182
+ });
183
+ }
184
+ }
185
+ const claimGroup = crypto.randomUUID();
186
+ for (const t of unique) {
187
+ stmts.push({
188
+ sql: `INSERT INTO work_claims (id, claim_group, target_kind, target_key, target_label, task_id, holder_session, holder_agent, note, claimed_at, lease_expires_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
189
+ args: [
190
+ crypto.randomUUID(),
191
+ claimGroup,
192
+ t.kind,
193
+ t.key,
194
+ t.label,
195
+ input.taskId ?? null,
196
+ holderSession,
197
+ input.holderAgent ?? null,
198
+ input.note ?? null,
199
+ now,
200
+ expiry,
201
+ now
202
+ ]
203
+ });
204
+ }
205
+ let displaced = [];
206
+ if (input.force) {
207
+ try {
208
+ displaced = await findConflicts(unique, holderSession);
209
+ } catch {
210
+ }
211
+ }
212
+ try {
213
+ await client.batch(stmts, "write");
214
+ } catch (err) {
215
+ if (!isUniqueViolation(err)) throw err;
216
+ if (live.length > 0) {
217
+ try {
218
+ await client.execute({
219
+ sql: `UPDATE work_claims SET lease_expires_at = ?, updated_at = ? WHERE lease_expires_at < ? AND claimed_at > ? AND holder_session IN (${live.map(() => "?").join(",")})`,
220
+ args: [graceExpiry, now, now, minClaimedAt, ...live]
221
+ });
222
+ } catch {
223
+ }
224
+ }
225
+ let conflicts = [];
226
+ try {
227
+ conflicts = await findConflicts(unique, holderSession);
228
+ } catch {
229
+ }
230
+ return { ok: false, claimGroup: null, claimed: [], conflicts };
231
+ }
232
+ await recordClaimEvent(
233
+ input.force ? "claim.override" : "claim.acquired",
234
+ holderSession,
235
+ input.holderAgent ?? null,
236
+ {
237
+ claimGroup,
238
+ targets: unique.map((t) => `${t.kind}:${t.key}`),
239
+ note: input.note ?? null,
240
+ reason: input.reason ?? null,
241
+ displaced: displaced.map((d) => ({
242
+ target: `${d.targetKind}:${d.targetKey}`,
243
+ holderSession: d.holderSession,
244
+ holderAgent: d.holderAgent,
245
+ claimedAt: d.claimedAt
246
+ }))
247
+ },
248
+ input.force ? "warn" : "info"
249
+ );
250
+ return { ok: true, claimGroup, claimed: unique, conflicts: [] };
251
+ }
252
+ async function releaseClaim(input) {
253
+ const holderSession = (input.holderSession ?? "").trim();
254
+ if (input.force && !(input.reason ?? "").trim()) {
255
+ throw new Error("work-claims: force release requires a reason.");
256
+ }
257
+ const client = await getClient();
258
+ let released = 0;
259
+ if (!input.claimGroup && !input.taskId && (input.targets ?? []).length === 0) {
260
+ return { released: 0 };
261
+ }
262
+ if (input.claimGroup) {
263
+ const sql = input.force ? `DELETE FROM work_claims WHERE claim_group = ?` : `DELETE FROM work_claims WHERE claim_group = ? AND holder_session = ?`;
264
+ const args = input.force ? [input.claimGroup] : [input.claimGroup, holderSession];
265
+ const res = await client.execute({ sql, args });
266
+ released += Number(res.rowsAffected ?? 0);
267
+ }
268
+ if (input.taskId) {
269
+ const sql = input.force ? `DELETE FROM work_claims WHERE task_id = ?` : `DELETE FROM work_claims WHERE task_id = ? AND holder_session = ?`;
270
+ const args = input.force ? [input.taskId] : [input.taskId, holderSession];
271
+ const res = await client.execute({ sql, args });
272
+ released += Number(res.rowsAffected ?? 0);
273
+ }
274
+ for (const raw of input.targets ?? []) {
275
+ const t = normalizeTarget(raw, { repoRoot: input.repoRoot, project: input.project });
276
+ if (!t.key) continue;
277
+ const sql = input.force ? `DELETE FROM work_claims WHERE target_kind = ? AND target_key = ?` : `DELETE FROM work_claims WHERE target_kind = ? AND target_key = ? AND holder_session = ?`;
278
+ const args = input.force ? [t.kind, t.key] : [t.kind, t.key, holderSession];
279
+ const res = await client.execute({ sql, args });
280
+ released += Number(res.rowsAffected ?? 0);
281
+ }
282
+ if (released > 0) {
283
+ await recordClaimEvent(
284
+ input.force ? "claim.force_released" : "claim.released",
285
+ holderSession,
286
+ null,
287
+ {
288
+ claimGroup: input.claimGroup ?? null,
289
+ taskId: input.taskId ?? null,
290
+ released,
291
+ reason: input.reason ?? null
292
+ },
293
+ input.force ? "warn" : "info"
294
+ );
295
+ }
296
+ return { released };
297
+ }
298
+ async function heartbeatClaims(holderSession, ttlMinutes = CLAIM_TTL_MINUTES) {
299
+ const client = await getClient();
300
+ const now = leaseNowIso();
301
+ const res = await client.execute({
302
+ sql: `UPDATE work_claims SET lease_expires_at = ?, updated_at = ? WHERE holder_session = ?`,
303
+ args: [leaseExpiryIso(now, ttlMinutes), now, holderSession]
304
+ });
305
+ return { renewed: Number(res.rowsAffected ?? 0) };
306
+ }
307
+ async function recordClaimEvent(eventType, sessionScope, agentId, payload, severity) {
308
+ try {
309
+ const { recordOrchestrationEventBestEffort } = await import("./orchestration-events-HVG56HJ5.js");
310
+ recordOrchestrationEventBestEffort({
311
+ eventType,
312
+ source: "work-claims",
313
+ severity,
314
+ sessionScope: sessionScope || null,
315
+ agentId: agentId ?? void 0,
316
+ payload
317
+ });
318
+ } catch {
319
+ }
320
+ }
321
+ async function resolveHolderSession() {
322
+ let raw = "";
323
+ try {
324
+ const { getAgentContext } = await import("./agent-context-AZTTMUHP.js");
325
+ raw = getAgentContext()?.sessionHint ?? "";
326
+ } catch {
327
+ }
328
+ if (!raw) raw = process.env.EXE_SESSION_NAME || process.env.EXE_SESSION || "";
329
+ const root = rootScope(raw);
330
+ return isValidSessionScope(root) ? root : "";
331
+ }
332
+ function describeConflict(row, nowMs = Date.now()) {
333
+ const ageMin = Math.max(0, Math.round((nowMs - new Date(row.claimedAt).getTime()) / 6e4));
334
+ const who = row.holderAgent ? `${row.holderSession} (${row.holderAgent})` : row.holderSession;
335
+ const note = row.note ? ` \u2014 "${row.note}"` : "";
336
+ return `${row.targetKind}:${row.targetLabel} held by ${who}, ${ageMin}m ago${note}`;
337
+ }
338
+
339
+ export {
340
+ CLAIM_TTL_MINUTES,
341
+ CLAIM_GRACE_MINUTES,
342
+ MAX_CLAIM_AGE_HOURS,
343
+ normalizeWorkRef,
344
+ normalizePathTarget,
345
+ normalizeTarget,
346
+ extractWorkRefCandidates,
347
+ liveSessionScopes,
348
+ listClaims,
349
+ findConflicts,
350
+ findConflictsInText,
351
+ acquireClaim,
352
+ releaseClaim,
353
+ heartbeatClaims,
354
+ resolveHolderSession,
355
+ describeConflict
356
+ };
@@ -1,5 +1,3 @@
1
- import "./chunk-MLKGABMK.js";
2
-
3
1
  // src/lib/agent-heartbeat.ts
4
2
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
5
3
  import path from "path";
@@ -52,9 +50,10 @@ function getAgentLivenessReport() {
52
50
  };
53
51
  });
54
52
  }
53
+
55
54
  export {
56
- classifyLiveness,
57
- getAgentLivenessReport,
58
55
  loadHeartbeats,
59
- recordHeartbeat
56
+ recordHeartbeat,
57
+ classifyLiveness,
58
+ getAgentLivenessReport
60
59
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listReminders
3
- } from "./chunk-RD4E5G3B.js";
3
+ } from "./chunk-DTTISDTI.js";
4
4
 
5
5
  // src/mcp/tools/list-reminders.ts
6
6
  import { z } from "zod";
@@ -4,10 +4,10 @@ import {
4
4
  import {
5
5
  reserveVersions,
6
6
  vectorToBlob
7
- } from "./chunk-4QKKLK3C.js";
7
+ } from "./chunk-BQYQES2Z.js";
8
8
  import {
9
9
  getClient
10
- } from "./chunk-BRLS5OLZ.js";
10
+ } from "./chunk-HSBKV5LB.js";
11
11
 
12
12
  // src/lib/documents.ts
13
13
  import crypto from "crypto";
@@ -270,7 +270,7 @@ async function ingestDocument(input) {
270
270
  await client.batch([documentStmt, ...chunkStmts], "write");
271
271
  const embedded = vectors.filter((v) => v !== null).length;
272
272
  const originalTexts = input.chunks.map((c) => c.text);
273
- import("./doc-graph-extractor-P46R4QME.js").then(
273
+ import("./doc-graph-extractor-CAYUAM5A.js").then(
274
274
  ({ extractAndStoreDocumentGraph }) => extractAndStoreDocumentGraph(documentId, originalTexts)
275
275
  ).catch((err) => {
276
276
  process.stderr.write(