@askexenow/exe-os 0.9.346 → 0.9.347

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 (301) hide show
  1. package/dist/{active-agent-Y7B6SUEV.js → active-agent-CMY7WTJL.js} +3 -3
  2. package/dist/{active-agent-JXJFAZMM.js → active-agent-US4KO4LV.js} +3 -3
  3. package/dist/{agentic-ontology-AUJAVTHS.js → agentic-ontology-3Y37SQYR.js} +1 -1
  4. package/dist/{backfill-metadata-3LUJK7D4.js → backfill-metadata-GK66TYQE.js} +5 -5
  5. package/dist/{backup-verify-6UAZ5ETR.js → backup-verify-72XBKKHL.js} +1 -1
  6. package/dist/{behaviors-BVOBYS73.js → behaviors-G7TR6LBM.js} +6 -6
  7. package/dist/bin/agentic-ontology-backfill.js +6 -6
  8. package/dist/bin/agentic-reflection-backfill.js +7 -7
  9. package/dist/bin/agentic-semantic-label.js +6 -6
  10. package/dist/bin/backfill-conversations.js +5 -5
  11. package/dist/bin/backfill-responses.js +5 -5
  12. package/dist/bin/backfill-vectors.js +6 -6
  13. package/dist/bin/bulk-sync-postgres.js +10 -10
  14. package/dist/bin/cc-doctor.js +4 -4
  15. package/dist/bin/cleanup-stale-review-tasks.js +15 -15
  16. package/dist/bin/cli.js +16 -16
  17. package/dist/bin/deferred-daemon-restart.js +69 -70
  18. package/dist/bin/exe-agent-config.js +4 -4
  19. package/dist/bin/exe-agent.js +4 -4
  20. package/dist/bin/exe-assign.js +6 -6
  21. package/dist/bin/exe-boot.js +27 -27
  22. package/dist/bin/exe-call.js +4 -4
  23. package/dist/bin/exe-cloud.js +10 -10
  24. package/dist/bin/exe-config-dump.js +4 -4
  25. package/dist/bin/exe-dispatch.js +15 -15
  26. package/dist/bin/exe-doctor.js +4 -4
  27. package/dist/bin/exe-export-behaviors.js +8 -8
  28. package/dist/bin/exe-forget.js +7 -7
  29. package/dist/bin/exe-gateway.js +7 -7
  30. package/dist/bin/exe-healthcheck.js +4 -4
  31. package/dist/bin/exe-heartbeat.js +17 -17
  32. package/dist/bin/exe-kill.js +19 -19
  33. package/dist/bin/exe-launch-agent.js +24 -24
  34. package/dist/bin/exe-memory-reads.js +5 -5
  35. package/dist/bin/exe-new-employee.js +8 -8
  36. package/dist/bin/exe-os-mcp-proxy.js +3 -3
  37. package/dist/bin/exe-pending-messages.js +16 -16
  38. package/dist/bin/exe-pending-notifications.js +15 -15
  39. package/dist/bin/exe-pending-reviews.js +15 -15
  40. package/dist/bin/exe-rename.js +4 -4
  41. package/dist/bin/exe-review.js +18 -18
  42. package/dist/bin/exe-search.js +6 -6
  43. package/dist/bin/exe-session-cleanup.js +19 -19
  44. package/dist/bin/exe-settings.js +12 -12
  45. package/dist/bin/exe-start-codex.js +18 -19
  46. package/dist/bin/exe-start-opencode.js +10 -10
  47. package/dist/bin/exe-status.js +16 -16
  48. package/dist/bin/exe-support.js +3 -3
  49. package/dist/bin/exe-team.js +3 -3
  50. package/dist/bin/git-sweep.js +16 -16
  51. package/dist/bin/graph-backfill.js +6 -6
  52. package/dist/bin/graph-export.js +6 -6
  53. package/dist/bin/import-history.js +9 -9
  54. package/dist/bin/install.js +71 -72
  55. package/dist/bin/intercom-check.js +4 -4
  56. package/dist/bin/mcp-sessions.js +2 -2
  57. package/dist/bin/orchestration-metrics.js +4 -4
  58. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  59. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  60. package/dist/bin/reconcile-backlog.js +2 -2
  61. package/dist/bin/registry-proxy.js +1 -1
  62. package/dist/bin/scan-tasks.js +15 -15
  63. package/dist/bin/setup.js +2 -2
  64. package/dist/bin/shard-migrate.js +5 -5
  65. package/dist/bin/stack-update.js +4 -4
  66. package/dist/bin/vps-health-gate.js +1 -1
  67. package/dist/{boot-generation-IF4J6UEJ.js → boot-generation-KG43UYL4.js} +3 -3
  68. package/dist/{boot-review-sections-WEEFCSBX.js → boot-review-sections-56BRURLM.js} +14 -14
  69. package/dist/{capability-cards-C65NRVTL.js → capability-cards-4MN3IVJO.js} +2 -2
  70. package/dist/{capacity-monitor-PGYDR35M.js → capacity-monitor-4NJTN5QQ.js} +16 -16
  71. package/dist/{catchup-brief-QB7M3OY7.js → catchup-brief-AMBXLHXU.js} +19 -19
  72. package/dist/{chunk-QCM3YWL7.js → chunk-2BOEUPL6.js} +1 -1
  73. package/dist/{chunk-CR7XPLLC.js → chunk-2ESYTX6F.js} +1 -1
  74. package/dist/{chunk-JNEVNS5R.js → chunk-2LZMDOC6.js} +9 -9
  75. package/dist/{chunk-OIF65HXR.js → chunk-3EMAJBBN.js} +9 -5
  76. package/dist/{chunk-VQLGFSML.js → chunk-3HGAAWNZ.js} +2 -2
  77. package/dist/{chunk-OM2XM5HU.js → chunk-3LQMUO5D.js} +3 -3
  78. package/dist/{chunk-HVZKJMJX.js → chunk-3T4BRBSH.js} +1 -1
  79. package/dist/{chunk-BCFWDNH7.js → chunk-4K2PLZKF.js} +1 -1
  80. package/dist/{chunk-4JDRUXQV.js → chunk-4VLRGKNY.js} +2 -2
  81. package/dist/{chunk-RPAMFCPP.js → chunk-53VXPGZ2.js} +2 -2
  82. package/dist/{chunk-EDC57TDH.js → chunk-7667KFAG.js} +1 -1
  83. package/dist/{chunk-MHZAUM7G.js → chunk-7AD4GSRT.js} +3 -3
  84. package/dist/{chunk-DKKMBEU6.js → chunk-7DAJHBFH.js} +1 -1
  85. package/dist/{chunk-TIZE727O.js → chunk-AHR3F7HW.js} +1 -1
  86. package/dist/{chunk-Y7GJ6HXA.js → chunk-AJIXH5JF.js} +79 -25
  87. package/dist/{chunk-MCZWZEVE.js → chunk-BMTUSSHV.js} +1 -1
  88. package/dist/{chunk-BDFRAQG5.js → chunk-BRVDGE7N.js} +4 -4
  89. package/dist/{chunk-YKIQF6EY.js → chunk-CNIAEIWV.js} +1 -1
  90. package/dist/{chunk-6YABSGAW.js → chunk-DBDMZTU5.js} +1 -1
  91. package/dist/{chunk-XTGZDP2L.js → chunk-DNN27P35.js} +4 -4
  92. package/dist/{chunk-ZASZQDAI.js → chunk-DZJL775P.js} +1 -1
  93. package/dist/{chunk-PJOHJ7Q4.js → chunk-EWWCMMES.js} +172 -35
  94. package/dist/{chunk-24BHZNOP.js → chunk-EYWB6526.js} +3 -3
  95. package/dist/{chunk-WMJK4GBF.js → chunk-F4ZW76IX.js} +1 -1
  96. package/dist/{chunk-NCMFMJMZ.js → chunk-F6NABQJ4.js} +2 -2
  97. package/dist/{chunk-FEIACXDV.js → chunk-FAH7JUNS.js} +16 -16
  98. package/dist/{chunk-VPY4CMD6.js → chunk-FBSAXAXQ.js} +2 -2
  99. package/dist/{chunk-3WELJGZN.js → chunk-FDOURKUO.js} +1 -1
  100. package/dist/{chunk-4KLQ4GH5.js → chunk-FJPZ7KHN.js} +1 -1
  101. package/dist/{chunk-Q6ZQIX7L.js → chunk-FM4ZI5ZP.js} +1 -1
  102. package/dist/{chunk-GGPLVRYZ.js → chunk-G4HOMQY7.js} +1 -1
  103. package/dist/{chunk-CFA4T2HP.js → chunk-G6IANQKD.js} +1 -1
  104. package/dist/{chunk-HMVGXC4I.js → chunk-H44V3Y6D.js} +1 -1
  105. package/dist/{chunk-6LLDY7AL.js → chunk-HWK5GKE6.js} +1 -1
  106. package/dist/{chunk-HBJAMWHT.js → chunk-I3XN3G3H.js} +194 -152
  107. package/dist/{chunk-LYNELMA2.js → chunk-ILLBFFY6.js} +2 -2
  108. package/dist/{chunk-X7NSCRCD.js → chunk-IMHERTUL.js} +2 -2
  109. package/dist/{chunk-CMTS2MLG.js → chunk-IRMJHC23.js} +2 -2
  110. package/dist/{chunk-OZLNCLS3.js → chunk-JLYQD2XF.js} +1 -1
  111. package/dist/{chunk-2WEUQWFQ.js → chunk-JYFBQH5O.js} +5 -5
  112. package/dist/{chunk-ZK6I3PUX.js → chunk-K3ZHVW26.js} +4 -4
  113. package/dist/{chunk-IXIQSWHV.js → chunk-KWRO4RMT.js} +3 -3
  114. package/dist/{chunk-MWXXVXJL.js → chunk-LJGHAZYU.js} +7 -7
  115. package/dist/{chunk-2UA263BM.js → chunk-M3NSYVE3.js} +5 -5
  116. package/dist/{chunk-X2PLFBVG.js → chunk-M722B4DA.js} +1 -1
  117. package/dist/{chunk-4BQYN4IJ.js → chunk-MESFJRIT.js} +1 -1
  118. package/dist/{chunk-EU2GUT67.js → chunk-MT6YGWJ6.js} +1 -1
  119. package/dist/{chunk-LP6EJVVN.js → chunk-OE6D2IJI.js} +4 -4
  120. package/dist/{chunk-SQIH3TDK.js → chunk-PEVOVM3W.js} +4 -4
  121. package/dist/{chunk-WKUX5PFV.js → chunk-PO64LWTM.js} +9 -9
  122. package/dist/{chunk-OQB5SKO4.js → chunk-PRUZNNEF.js} +3 -3
  123. package/dist/{chunk-H5RS3XRJ.js → chunk-PYNWGP72.js} +1 -1
  124. package/dist/{chunk-YLLUGK6J.js → chunk-QFGUAJ6T.js} +2 -2
  125. package/dist/{chunk-2KOQKLDF.js → chunk-QIALRZZG.js} +1 -1
  126. package/dist/{chunk-25CXLXZQ.js → chunk-QZA5NG6Z.js} +1 -1
  127. package/dist/{chunk-N4XVAP7Z.js → chunk-SUG5P42S.js} +4 -4
  128. package/dist/{chunk-KQ3HRA6Q.js → chunk-T7ZLJZAO.js} +1 -1
  129. package/dist/{chunk-GGHH54QD.js → chunk-TQSAPNFW.js} +10 -10
  130. package/dist/{chunk-QS6KVXUN.js → chunk-UMK7TNCF.js} +107 -47
  131. package/dist/{chunk-ZZQ4AEYB.js → chunk-UO56K55W.js} +1 -1
  132. package/dist/{chunk-4A6RX2N6.js → chunk-UVPLZ6AK.js} +1 -1
  133. package/dist/{chunk-LNMTCTSH.js → chunk-VA3ZUIWG.js} +1 -1
  134. package/dist/{chunk-OELDRRCZ.js → chunk-VALVWYAK.js} +104 -11
  135. package/dist/{chunk-RLULWMUL.js → chunk-VDJUATQJ.js} +1 -1
  136. package/dist/{chunk-Q7UHMUCE.js → chunk-VDKDW5IA.js} +15 -15
  137. package/dist/{chunk-6OEMGMOV.js → chunk-VMTKHDFM.js} +3 -3
  138. package/dist/{chunk-EYGMCOTV.js → chunk-VTMSGELG.js} +2 -2
  139. package/dist/{chunk-HXIBVZC3.js → chunk-W666YWFU.js} +3 -3
  140. package/dist/{chunk-R6C6UGVG.js → chunk-W7HKGDJO.js} +3 -3
  141. package/dist/{chunk-NGP6LSV2.js → chunk-WNBZJSQT.js} +10 -1
  142. package/dist/{chunk-RYTY7KNZ.js → chunk-WOKPKILI.js} +1 -1
  143. package/dist/{chunk-2LC2ASCN.js → chunk-XDVLCS64.js} +1 -1
  144. package/dist/{chunk-E6TLQG2T.js → chunk-XOVHWGPV.js} +1 -1
  145. package/dist/{chunk-44ZGOBMU.js → chunk-XRX7F7XW.js} +1 -1
  146. package/dist/{chunk-6I6OMBYY.js → chunk-Y7637VDZ.js} +2 -2
  147. package/dist/{chunk-ACYZER3P.js → chunk-YJK4JZ35.js} +3 -3
  148. package/dist/{chunk-6F3OMSZJ.js → chunk-YSTIPPZK.js} +1 -1
  149. package/dist/{chunk-LSTIMHL4.js → chunk-Z7DWUHDP.js} +1 -1
  150. package/dist/{chunk-BUDVHNV2.js → chunk-ZK53K7OR.js} +1 -1
  151. package/dist/{chunk-3QYE5U6D.js → chunk-ZY2ABBVR.js} +3 -3
  152. package/dist/{chunk-YGTKGAWM.js → chunk-ZYNQXN73.js} +4 -4
  153. package/dist/{cleanup-graph-garbage-INHZJESS.js → cleanup-graph-garbage-5HKGGUS3.js} +7 -7
  154. package/dist/{cloud-sync-shutdown-HNQ7T3LA.js → cloud-sync-shutdown-2JAEIAW6.js} +2 -2
  155. package/dist/{co-activation-IMZM3IXG.js → co-activation-SYSIFY66.js} +2 -2
  156. package/dist/{co-occurrence-PZAEUDAP.js → co-occurrence-QZFT5ORJ.js} +5 -5
  157. package/dist/{conversation-entity-extractor-AU55E6YT.js → conversation-entity-extractor-YC3A2ODD.js} +3 -3
  158. package/dist/{crdt-sync-LI6FL3DG.js → crdt-sync-W45AKWCU.js} +1 -1
  159. package/dist/{crm-webhook-NOLMWTAP.js → crm-webhook-ZAGDYWB3.js} +2 -2
  160. package/dist/{cto-delegation-gate-SZCLR4PI.js → cto-delegation-gate-PLSICYEK.js} +14 -14
  161. package/dist/{daemon-orchestration-R5HT252K.js → daemon-orchestration-QX3FS4L2.js} +19 -20
  162. package/dist/{dispatch-ack-VUGMAGNL.js → dispatch-ack-AZL3WKCK.js} +1 -2
  163. package/dist/{doc-graph-extractor-E5SXO6NZ.js → doc-graph-extractor-NK6CP4LE.js} +5 -5
  164. package/dist/{documents-PYKWTZBA.js → documents-FGXV6BDL.js} +6 -6
  165. package/dist/{dreaming-JAHOTVRJ.js → dreaming-YIESEME7.js} +18 -18
  166. package/dist/{exe-drift-DGIY5YBT.js → exe-drift-TLY7MCXW.js} +3 -3
  167. package/dist/{exe-export-A6MC7LZ7.js → exe-export-32J4WPS6.js} +7 -7
  168. package/dist/{exe-import-HKA6LKHC.js → exe-import-MDEWE325.js} +7 -7
  169. package/dist/{exe-key-6QXOAVR4.js → exe-key-NW42YUA3.js} +69 -70
  170. package/dist/{exe-snapshot-BUPXYKMH.js → exe-snapshot-NNEEAGYI.js} +19 -19
  171. package/dist/{fast-db-init-BXLBA6II.js → fast-db-init-O7AECNTB.js} +1 -1
  172. package/dist/{founder-context-5KQR3ER3.js → founder-context-3WDZ6LIS.js} +2 -2
  173. package/dist/gateway/index.js +8 -8
  174. package/dist/{git-staleness-OTIXXNBN.js → git-staleness-GEJ7U4MW.js} +2 -2
  175. package/dist/{global-procedures-ACYUMLIG.js → global-procedures-HY3BJXY4.js} +3 -3
  176. package/dist/{graph-auto-extract-QWVENG4K.js → graph-auto-extract-DBAIFNDK.js} +5 -5
  177. package/dist/{graph-rag-2I24BQC2.js → graph-rag-LWKKHY72.js} +3 -3
  178. package/dist/{hook-prefetch-22IJRGX4.js → hook-prefetch-KNHZNI4L.js} +15 -15
  179. package/dist/hooks/bug-report-worker.js +17 -18
  180. package/dist/hooks/codex-stop-task-finalizer.js +18 -19
  181. package/dist/hooks/commit-complete.js +17 -17
  182. package/dist/hooks/error-recall.js +7 -7
  183. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  184. package/dist/hooks/ingest.js +6 -6
  185. package/dist/hooks/instructions-loaded.js +4 -4
  186. package/dist/hooks/manifest.json +19 -19
  187. package/dist/hooks/notification.js +4 -4
  188. package/dist/hooks/post-compact.js +16 -16
  189. package/dist/hooks/post-tool-combined.js +9 -9
  190. package/dist/hooks/pre-compact.js +17 -17
  191. package/dist/hooks/pre-tool-use.js +22 -22
  192. package/dist/hooks/prompt-submit.js +30 -30
  193. package/dist/hooks/session-end.js +21 -21
  194. package/dist/hooks/session-start.js +13 -13
  195. package/dist/hooks/stop.js +20 -20
  196. package/dist/hooks/subagent-stop.js +18 -18
  197. package/dist/hooks/summary-worker.js +21 -21
  198. package/dist/index.js +24 -24
  199. package/dist/{installer-RWPVEBMJ.js → installer-AWALPCAX.js} +5 -5
  200. package/dist/{installer-QYXL3HBG.js → installer-R2S64Q6T.js} +5 -5
  201. package/dist/{installer-NZ76KPYJ.js → installer-SQF5I6YS.js} +5 -5
  202. package/dist/{intercom-queue-TAARE4O7.js → intercom-queue-SJL4G3J5.js} +14 -14
  203. package/dist/lib/agent-config.js +2 -2
  204. package/dist/lib/cloud-sync.js +14 -10
  205. package/dist/lib/consolidation.js +7 -7
  206. package/dist/lib/database.js +2 -2
  207. package/dist/lib/db-backup.js +1 -1
  208. package/dist/lib/db-write-worker.js +2 -2
  209. package/dist/lib/db.js +2 -2
  210. package/dist/lib/device-registry.js +1 -1
  211. package/dist/lib/employee-templates.js +4 -4
  212. package/dist/lib/employees.js +2 -2
  213. package/dist/lib/exe-daemon.js +188 -163
  214. package/dist/lib/hybrid-search.js +6 -6
  215. package/dist/lib/identity.js +2 -2
  216. package/dist/lib/license.js +2 -2
  217. package/dist/lib/messaging.js +15 -15
  218. package/dist/lib/registry-proxy.js +1 -1
  219. package/dist/lib/reminders.js +3 -3
  220. package/dist/lib/runtime-table.js +9 -3
  221. package/dist/lib/schedules.js +6 -6
  222. package/dist/lib/session-registry.js +4 -4
  223. package/dist/lib/skill-learning.js +7 -7
  224. package/dist/lib/store.js +5 -5
  225. package/dist/lib/task-router.js +3 -3
  226. package/dist/lib/tasks.js +16 -17
  227. package/dist/lib/tmux-routing.js +14 -14
  228. package/dist/lib/token-spend.js +3 -3
  229. package/dist/{license-gate-CVHDQZJV.js → license-gate-ZYZQGPKW.js} +3 -3
  230. package/dist/{license-sync-72S7BWQY.js → license-sync-GU3L66JR.js} +2 -2
  231. package/dist/mcp/register-tools.js +68 -69
  232. package/dist/mcp/server.js +69 -70
  233. package/dist/mcp/tools/complete-reminder.js +4 -4
  234. package/dist/mcp/tools/create-reminder.js +4 -4
  235. package/dist/mcp/tools/create-task.js +18 -19
  236. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  237. package/dist/mcp/tools/list-reminders.js +4 -4
  238. package/dist/mcp/tools/list-tasks.js +18 -19
  239. package/dist/mcp/tools/send-message.js +17 -17
  240. package/dist/mcp/tools/update-task.js +17 -18
  241. package/dist/{mcp-http-config-JP3XSY2X.js → mcp-http-config-BV2GO7P4.js} +3 -3
  242. package/dist/{mcp-session-identity-DDAM464U.js → mcp-session-identity-3QQPOGNI.js} +14 -14
  243. package/dist/{memory-cards-XJ2JMF3V.js → memory-cards-NISTO4EP.js} +5 -5
  244. package/dist/{memory-graph-extractor-FJVF7RTG.js → memory-graph-extractor-CO3R5K7L.js} +6 -6
  245. package/dist/{memory-poisoning-defense-GM3GQPRI.js → memory-poisoning-defense-QZCG3BMC.js} +2 -2
  246. package/dist/{memory-pressure-watchdog-HB572OZG.js → memory-pressure-watchdog-VWQM3GXR.js} +15 -15
  247. package/dist/{memory-reflection-WIMMTW7M.js → memory-reflection-G32OQ3X3.js} +2 -2
  248. package/dist/{notification-ledger-5TQXBYY2.js → notification-ledger-C3J4HFMM.js} +15 -15
  249. package/dist/{notifications-LA3X57YT.js → notifications-JIARMDZ5.js} +14 -14
  250. package/dist/{orchestration-events-KFZMGU3D.js → orchestration-events-AL7AWHBX.js} +3 -3
  251. package/dist/{orchestrator-MOJEAZ3K.js → orchestrator-LWVALDUO.js} +16 -16
  252. package/dist/{pipeline-router-2V5NFQ2O.js → pipeline-router-HK5BI3LQ.js} +3 -3
  253. package/dist/{plan-limits-2LHFEYOT.js → plan-limits-4LMRHOUW.js} +5 -5
  254. package/dist/{projection-worker-ZMHVILPW.js → projection-worker-Z5U6UWCE.js} +2 -2
  255. package/dist/{prospective-memory-JEWS5GFU.js → prospective-memory-UDQWFP5Y.js} +2 -2
  256. package/dist/{reranker-TBQV76K4.js → reranker-FX4QOK2G.js} +1 -1
  257. package/dist/{retrieval-health-HYXDUNFE.js → retrieval-health-2LIKKDMW.js} +1 -1
  258. package/dist/{review-polling-OFGP5Q7M.js → review-polling-B2EP4KGE.js} +15 -15
  259. package/dist/runtime/index.js +18 -18
  260. package/dist/{session-events-ABAI2KE3.js → session-events-HVYX42HD.js} +15 -15
  261. package/dist/{session-kill-telemetry-2MHLK4Z4.js → session-kill-telemetry-BHKUHSK2.js} +15 -15
  262. package/dist/{session-scope-MRIE7ZKS.js → session-scope-TXCBVOSN.js} +14 -14
  263. package/dist/{setup-wizard-UQ3B2E6D.js → setup-wizard-QMKBAK6B.js} +2 -2
  264. package/dist/{skill-refinement-46QDGAGE.js → skill-refinement-G6BPD6QK.js} +3 -3
  265. package/dist/{stack-update-5BPENFJK.js → stack-update-CBP5S5BG.js} +3 -3
  266. package/dist/{steward-gate-GXINMHNV.js → steward-gate-CGP6U7KC.js} +3 -3
  267. package/dist/{support-inbox-TCOASPLK.js → support-inbox-3ATAP7KN.js} +3 -3
  268. package/dist/{task-enforcement-OJAG2BGJ.js → task-enforcement-YINAK3T6.js} +15 -15
  269. package/dist/{task-scope-5GKJTQL2.js → task-scope-5OSP2MUP.js} +14 -14
  270. package/dist/{tasks-crud-ZWKPTGPU.js → tasks-crud-PTN36B5F.js} +16 -14
  271. package/dist/{tasks-notify-IUDI6SYJ.js → tasks-notify-QCJXVZCJ.js} +15 -16
  272. package/dist/{tasks-review-INJKVN63.js → tasks-review-ZY3S65OV.js} +14 -14
  273. package/dist/{telemetry-upload-LIC7M7AY.js → telemetry-upload-Z47OEELW.js} +7 -7
  274. package/dist/{token-budget-PABF5ZBO.js → token-budget-B3OKOYDA.js} +3 -3
  275. package/dist/{tool-telemetry-PDHE36YD.js → tool-telemetry-KIHAHUPT.js} +1 -1
  276. package/dist/tui/App.js +22 -22
  277. package/dist/{tui-data-Y6X7A4U4.js → tui-data-YIFXHE2D.js} +14 -14
  278. package/dist/{update-support-COJYGU2V.js → update-support-IZUWVU2U.js} +9 -9
  279. package/dist/{work-state-heartbeat-YV3MAIQY.js → work-state-heartbeat-WIURKX3N.js} +1 -1
  280. package/dist/{worker-gate-BLJENHMV.js → worker-gate-NZRA426F.js} +1 -1
  281. package/dist/{workflow-engine-AAPPPMFS.js → workflow-engine-LAB6TGBZ.js} +2 -2
  282. package/dist/{worktree-MGYTWKCA.js → worktree-TBUUZJHY.js} +4 -4
  283. package/dist/{worktree-sweep-HNNHNAXN.js → worktree-sweep-LXDNIZPM.js} +5 -5
  284. package/package.json +1 -1
  285. package/release-notes.json +34 -71
  286. package/dist/chunk-GSIJL4YA.js +0 -58
  287. /package/dist/{chunk-O3XAKSKI.js → chunk-4P7NUL4D.js} +0 -0
  288. /package/dist/{chunk-HIN6X5QB.js → chunk-CYI2YR56.js} +0 -0
  289. /package/dist/{chunk-CHDPANT4.js → chunk-D4UCBR4O.js} +0 -0
  290. /package/dist/{chunk-WPQ5LWMW.js → chunk-FFUEDKYK.js} +0 -0
  291. /package/dist/{chunk-A3MGVYSP.js → chunk-G4JZ22KK.js} +0 -0
  292. /package/dist/{chunk-PDN25UJU.js → chunk-MA22RV3T.js} +0 -0
  293. /package/dist/{chunk-PDWIUSQH.js → chunk-MDK7E653.js} +0 -0
  294. /package/dist/{chunk-RYWVPACG.js → chunk-OG2RT4IY.js} +0 -0
  295. /package/dist/{chunk-GH5YKFE7.js → chunk-QPNXYGWG.js} +0 -0
  296. /package/dist/{chunk-DY7WDHMC.js → chunk-SJLZ53ZR.js} +0 -0
  297. /package/dist/{chunk-W7JPRQM2.js → chunk-VBHLE3TR.js} +0 -0
  298. /package/dist/{core-memory-TBLZ2YQQ.js → core-memory-FOW4BCPN.js} +0 -0
  299. /package/dist/{oauth-server-IB7OWY4H.js → oauth-server-OR4RAQYM.js} +0 -0
  300. /package/dist/{project-boot-TI3PUQNN.js → project-boot-WP54EOAG.js} +0 -0
  301. /package/dist/{wiki-acl-V5IRECJ3.js → wiki-acl-4DQQCP4V.js} +0 -0
@@ -1,9 +1,6 @@
1
1
  import {
2
2
  ensureAgentSymlink
3
- } from "./chunk-E6TLQG2T.js";
4
- import {
5
- incrementSkillSuccess
6
- } from "./chunk-OZLNCLS3.js";
3
+ } from "./chunk-XOVHWGPV.js";
7
4
  import {
8
5
  ensureWorktree,
9
6
  ensureWorktreeAsync,
@@ -11,7 +8,10 @@ import {
11
8
  getMainRepoRoot,
12
9
  isInsideGitRepo,
13
10
  isWorktreeDirty
14
- } from "./chunk-EDC57TDH.js";
11
+ } from "./chunk-7667KFAG.js";
12
+ import {
13
+ incrementSkillSuccess
14
+ } from "./chunk-JLYQD2XF.js";
15
15
  import {
16
16
  LEASE_MINUTES,
17
17
  isLeaseExpired,
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  listSessions,
30
30
  registerSession
31
- } from "./chunk-3WELJGZN.js";
31
+ } from "./chunk-FDOURKUO.js";
32
32
  import {
33
33
  getTransport
34
34
  } from "./chunk-AD2VCHSS.js";
@@ -37,20 +37,23 @@ import {
37
37
  } from "./chunk-SKGMF2SO.js";
38
38
  import {
39
39
  recordOrchestrationEventBestEffort
40
- } from "./chunk-EU2GUT67.js";
40
+ } from "./chunk-MT6YGWJ6.js";
41
41
  import {
42
- appendDispatchJournalEvent
43
- } from "./chunk-GSIJL4YA.js";
42
+ appendDispatchJournalEvent,
43
+ releaseDispatchClaim,
44
+ tryAcquireDispatchClaim,
45
+ writeDispatchAck
46
+ } from "./chunk-AJIXH5JF.js";
44
47
  import {
45
48
  assertRuntimeModelCompatible,
46
49
  getAgentRuntime,
47
50
  normalizeCcModelName,
48
51
  resolveSpawnRuntimeConfig
49
- } from "./chunk-OIF65HXR.js";
52
+ } from "./chunk-3EMAJBBN.js";
50
53
  import {
51
54
  PlanLimitError,
52
55
  assertEmployeeLimitSync
53
- } from "./chunk-6I6OMBYY.js";
56
+ } from "./chunk-Y7637VDZ.js";
54
57
  import {
55
58
  BUSY_PATTERN
56
59
  } from "./chunk-OSKWCKUC.js";
@@ -86,13 +89,13 @@ import {
86
89
  loadEmployeesSync,
87
90
  offloadReadIfMain,
88
91
  offloadReadQuery
89
- } from "./chunk-3QYE5U6D.js";
92
+ } from "./chunk-ZY2ABBVR.js";
90
93
  import {
91
94
  RUNTIME_TABLE
92
- } from "./chunk-NGP6LSV2.js";
95
+ } from "./chunk-WNBZJSQT.js";
93
96
  import {
94
97
  loadDeviceId
95
- } from "./chunk-BUDVHNV2.js";
98
+ } from "./chunk-ZK53K7OR.js";
96
99
  import {
97
100
  EXE_AI_DIR
98
101
  } from "./chunk-BCZF3AGJ.js";
@@ -948,7 +951,6 @@ function normalizeTaskPriority(value) {
948
951
  }
949
952
  var TASK_COMPLETION_REPORT_HEADING = "# Task Completion Report";
950
953
  var REPORTABLE_COMPLETION_STATUSES = /* @__PURE__ */ new Set(["needs_review"]);
951
- var FILE_PATH_RE = /(?:^|\s)([\w./-]+\.(?:ts|tsx|js|jsx|json|md|yml|yaml|sql|go|py|css|scss|html|sh))(?:\b|$)/g;
952
954
  function isStructuredTaskCompletionReport(text) {
953
955
  return (text ?? "").trimStart().startsWith(TASK_COMPLETION_REPORT_HEADING);
954
956
  }
@@ -985,13 +987,93 @@ function formatReportList(lines, fallback) {
985
987
  function linesMatching(lines, pattern) {
986
988
  return lines.filter((line) => pattern.test(line));
987
989
  }
988
- function extractMentionedArtifacts(text) {
989
- const artifacts = /* @__PURE__ */ new Set();
990
- for (const match of text.matchAll(FILE_PATH_RE)) {
991
- if (match[1]) artifacts.add(match[1]);
992
- if (artifacts.size >= 12) break;
990
+ function normalizeChangedFileList(files) {
991
+ if (!Array.isArray(files)) return [];
992
+ return [...new Set(
993
+ files.map((file) => String(file).trim().replace(/^\.\//, "")).filter((file) => file.length > 0)
994
+ )].sort((a, b) => a.localeCompare(b));
995
+ }
996
+ function parseGitNameList(output) {
997
+ if (!output) return [];
998
+ return output.toString("utf8").split("\0").map((file) => file.trim()).filter((file) => file.length > 0);
999
+ }
1000
+ function runGitBuffer(cwd, args) {
1001
+ try {
1002
+ return execFileSync("git", ["-C", cwd, ...args], {
1003
+ stdio: ["ignore", "pipe", "ignore"],
1004
+ timeout: 2e3
1005
+ });
1006
+ } catch {
1007
+ return null;
1008
+ }
1009
+ }
1010
+ function runGitText(cwd, args) {
1011
+ const output = runGitBuffer(cwd, args);
1012
+ const text = output?.toString("utf8").trim();
1013
+ return text ? text : null;
1014
+ }
1015
+ function resolveGitChangedFiles(baseDir) {
1016
+ const root = runGitText(baseDir, ["rev-parse", "--show-toplevel"]);
1017
+ if (!root) return null;
1018
+ const files = /* @__PURE__ */ new Set();
1019
+ for (const file of parseGitNameList(runGitBuffer(root, ["diff", "--name-only", "-z", "HEAD", "--"]))) {
1020
+ files.add(file);
1021
+ }
1022
+ for (const file of parseGitNameList(runGitBuffer(root, ["diff", "--name-only", "-z", "--cached", "--"]))) {
1023
+ files.add(file);
1024
+ }
1025
+ for (const file of parseGitNameList(runGitBuffer(root, ["ls-files", "-z", "--others", "--exclude-standard"]))) {
1026
+ files.add(file);
1027
+ }
1028
+ const head = runGitText(root, ["rev-parse", "--verify", "HEAD"]);
1029
+ if (head) {
1030
+ const upstream = runGitText(root, ["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"]);
1031
+ const baseRefs = [
1032
+ upstream,
1033
+ "origin/main",
1034
+ "main",
1035
+ "origin/master",
1036
+ "master"
1037
+ ].filter((ref) => Boolean(ref));
1038
+ for (const ref of [...new Set(baseRefs)]) {
1039
+ const baseSha = runGitText(root, ["rev-parse", "--verify", `${ref}^{commit}`]);
1040
+ if (!baseSha || baseSha === head) continue;
1041
+ const mergeBase = runGitText(root, ["merge-base", "HEAD", ref]);
1042
+ if (!mergeBase) continue;
1043
+ for (const file of parseGitNameList(runGitBuffer(root, ["diff", "--name-only", "-z", `${mergeBase}..HEAD`, "--"]))) {
1044
+ files.add(file);
1045
+ }
1046
+ break;
1047
+ }
1048
+ }
1049
+ return normalizeChangedFileList([...files]);
1050
+ }
1051
+ function resolveCheckpointChangedFiles(checkpoint) {
1052
+ if (checkpoint == null || checkpoint === "") return null;
1053
+ try {
1054
+ const parsed = typeof checkpoint === "string" ? JSON.parse(checkpoint) : checkpoint;
1055
+ if (!parsed || !Array.isArray(parsed.files_touched)) return null;
1056
+ return normalizeChangedFileList(parsed.files_touched);
1057
+ } catch {
1058
+ return null;
1059
+ }
1060
+ }
1061
+ function resolveCompletionChangedFiles(input) {
1062
+ if (input.baseDir) {
1063
+ const gitFiles = resolveGitChangedFiles(input.baseDir);
1064
+ if (gitFiles) return { files: gitFiles, source: "git" };
1065
+ }
1066
+ const checkpointFiles = resolveCheckpointChangedFiles(input.checkpoint);
1067
+ if (checkpointFiles) return { files: checkpointFiles, source: "checkpoint" };
1068
+ return { files: null, source: "unavailable" };
1069
+ }
1070
+ function formatChangedFilesList(files) {
1071
+ if (files == null) {
1072
+ return ["- Changed file list unavailable; no Git or checkpoint source of truth was available."];
993
1073
  }
994
- return [...artifacts];
1074
+ const cleaned = normalizeChangedFileList(files).slice(0, 12);
1075
+ if (cleaned.length === 0) return ["- No changed files reported by the source of truth."];
1076
+ return cleaned.map((file) => `- ${file}`);
995
1077
  }
996
1078
  function agentRoleForReport(agentId) {
997
1079
  try {
@@ -1005,7 +1087,6 @@ function buildTaskCompletionReport(input) {
1005
1087
  const rawResult = (input.result ?? "").trim();
1006
1088
  if (isStructuredTaskCompletionReport(rawResult)) return rawResult;
1007
1089
  const sourceLines = rawResult.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0);
1008
- const artifacts = extractMentionedArtifacts(rawResult);
1009
1090
  const verificationLines = linesMatching(
1010
1091
  sourceLines,
1011
1092
  /\b(test|tests|tested|verify|verified|verification|typecheck|build|vitest|npm run|curl|passed|failed)\b/i
@@ -1035,7 +1116,7 @@ function buildTaskCompletionReport(input) {
1035
1116
  ...formatReportList(sourceLines, "No result summary provided."),
1036
1117
  "",
1037
1118
  "## What Changed",
1038
- ...artifacts.length > 0 ? formatReportList(artifacts, "No changed files or artifacts specified.") : ["- See outcome above; no changed files or artifacts were explicitly listed."],
1119
+ ...formatChangedFilesList(input.changedFiles),
1039
1120
  "",
1040
1121
  "## Verification",
1041
1122
  ...formatReportList(verificationLines, "Not specified in completion result."),
@@ -1432,7 +1513,7 @@ async function createTaskCore(input) {
1432
1513
  if (isCoordinatorSession) {
1433
1514
  earlySessionScope = resolved;
1434
1515
  } else {
1435
- const { getSessionProject } = await import("./session-scope-MRIE7ZKS.js");
1516
+ const { getSessionProject } = await import("./session-scope-TXCBVOSN.js");
1436
1517
  const sessionProject = getSessionProject(resolved);
1437
1518
  if (sessionProject && sessionProject !== input.projectName) {
1438
1519
  scopeMismatchWarning = `session/project mismatch: session "${resolved}" owns "${sessionProject}" but task targets "${input.projectName}". Routed to default scope.`;
@@ -1729,7 +1810,7 @@ async function buildTaskRowsStatement(opts) {
1729
1810
  }
1730
1811
  if (opts.founderId !== null) {
1731
1812
  try {
1732
- const { founderScopeFilter } = await import("./founder-context-5KQR3ER3.js");
1813
+ const { founderScopeFilter } = await import("./founder-context-3WDZ6LIS.js");
1733
1814
  const founderFilter = founderScopeFilter(opts.founderId);
1734
1815
  const cleaned = founderFilter.sql.replace(/^\s*AND\s+/, "");
1735
1816
  conditions.push(cleaned);
@@ -2133,7 +2214,10 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2133
2214
  }
2134
2215
  }
2135
2216
  }
2136
- const hasStructuredFields = input.filesChanged || input.decisions || input.commits || input.testsStatus || input.buildStatus || input.prNumber || input.openQuestions;
2217
+ const shouldNormalizeCompletion = shouldNormalizeTaskResult(requestedStatus, input.status);
2218
+ const completionChangedFiles = shouldNormalizeCompletion ? resolveCompletionChangedFiles({ baseDir: input.baseDir, checkpoint: row.checkpoint }) : null;
2219
+ const filesChangedForStructured = completionChangedFiles ? completionChangedFiles.files ?? [] : input.filesChanged;
2220
+ const hasStructuredFields = Array.isArray(filesChangedForStructured) && filesChangedForStructured.length > 0 || input.decisions || input.commits || input.testsStatus || input.buildStatus || input.prNumber || input.openQuestions;
2137
2221
  let structuredSerialized = null;
2138
2222
  if (hasStructuredFields && (requestedStatus === "done" || input.status === "needs_review")) {
2139
2223
  const agentId = String(row.assigned_to ?? "unknown");
@@ -2141,7 +2225,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2141
2225
  from: agentId,
2142
2226
  task_id: taskId,
2143
2227
  summary: input.result ?? "",
2144
- files_changed: input.filesChanged,
2228
+ files_changed: filesChangedForStructured,
2145
2229
  decisions: input.decisions,
2146
2230
  commits: input.commits,
2147
2231
  tests: input.testsStatus,
@@ -2151,8 +2235,8 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2151
2235
  });
2152
2236
  structuredSerialized = serializeMessage(typedResult);
2153
2237
  }
2154
- const shouldWriteCompletionMemory = shouldNormalizeTaskResult(requestedStatus, input.status) && previousStatus !== input.status && (requestedStatus === "done" || input.status === "needs_review");
2155
- if (shouldNormalizeTaskResult(requestedStatus, input.status)) {
2238
+ const shouldWriteCompletionMemory = shouldNormalizeCompletion && previousStatus !== input.status && (requestedStatus === "done" || input.status === "needs_review");
2239
+ if (shouldNormalizeCompletion) {
2156
2240
  input.result = buildTaskCompletionReport({
2157
2241
  taskId,
2158
2242
  title: String(row.title),
@@ -2163,7 +2247,8 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2163
2247
  taskFile,
2164
2248
  reviewer: row.reviewer ? String(row.reviewer) : null,
2165
2249
  completedAt: now,
2166
- result: input.result
2250
+ result: input.result,
2251
+ changedFiles: completionChangedFiles?.files ?? null
2167
2252
  });
2168
2253
  }
2169
2254
  if (input.status === "in_progress") {
@@ -2177,6 +2262,51 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2177
2262
  AND (assigned_tmux IS NULL OR assigned_tmux = 'unknown' OR assigned_tmux = ? OR assigned_tmux LIKE ?)` : "";
2178
2263
  const claimGuardArgs = hasConcreteSessionName ? [tmuxSession, tmuxSession, `${tmuxSession}:%`] : [];
2179
2264
  const claimAgent = input.callerAgentId ?? process.env.AGENT_ID ?? String(row.assigned_to ?? "unknown");
2265
+ let blockedResumeDispatchClaimAcquired = false;
2266
+ const releaseBlockedResumeDispatchClaim = (reason) => {
2267
+ if (!blockedResumeDispatchClaimAcquired) return;
2268
+ blockedResumeDispatchClaimAcquired = false;
2269
+ try {
2270
+ releaseDispatchClaim(taskId, claimAgent, reason);
2271
+ } catch {
2272
+ }
2273
+ };
2274
+ const ackBlockedResumeDispatchClaim = () => {
2275
+ if (!blockedResumeDispatchClaimAcquired) return;
2276
+ blockedResumeDispatchClaimAcquired = false;
2277
+ try {
2278
+ writeDispatchAck(taskId, claimAgent);
2279
+ } catch {
2280
+ try {
2281
+ releaseDispatchClaim(taskId, claimAgent, "blocked resume claim picked up");
2282
+ } catch {
2283
+ }
2284
+ }
2285
+ };
2286
+ if (previousStatus === "blocked") {
2287
+ let resumeClaimWon = true;
2288
+ try {
2289
+ resumeClaimWon = tryAcquireDispatchClaim(taskId, claimAgent, tmuxSession);
2290
+ } catch {
2291
+ resumeClaimWon = true;
2292
+ }
2293
+ if (!resumeClaimWon) {
2294
+ appendDispatchJournalEvent({
2295
+ event: "claim.conflict",
2296
+ taskId,
2297
+ agentId: eventAgentId,
2298
+ sessionScope: eventSessionScope,
2299
+ sessionName: tmuxSession,
2300
+ sessionInstanceId,
2301
+ result: "blocked_resume_rejected",
2302
+ reason: "dispatch_claim_held"
2303
+ });
2304
+ throw new Error(
2305
+ `${TASK_ALREADY_CLAIMED_PREFIX}: task ${taskId} blocked resume rejected; a newer dispatch claim is already in flight`
2306
+ );
2307
+ }
2308
+ blockedResumeDispatchClaimAcquired = true;
2309
+ }
2180
2310
  const leaseMinutes = LEASE_MINUTES;
2181
2311
  const leaseExpiry = leaseExpiryIso(now, leaseMinutes);
2182
2312
  const estMin = input.estimatedMinutes != null ? Math.max(1, Math.round(input.estimatedMinutes)) : null;
@@ -2239,6 +2369,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2239
2369
  args: [tmuxSession, now, claimAgent, now, now, sessionInstanceId, leaseExpiry, now, estMin, estConf, taskId, ...claimGuardArgs]
2240
2370
  });
2241
2371
  if (retriedOpen.rowsAffected > 0) {
2372
+ ackBlockedResumeDispatchClaim();
2242
2373
  try {
2243
2374
  await writeCheckpoint({
2244
2375
  taskId,
@@ -2299,6 +2430,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2299
2430
  args: [tmuxSession, now, claimAgent, now, now, sessionInstanceId, leaseExpiry, taskId, ...claimGuardArgs]
2300
2431
  });
2301
2432
  if (retried.rowsAffected > 0) {
2433
+ ackBlockedResumeDispatchClaim();
2302
2434
  try {
2303
2435
  await writeCheckpoint({
2304
2436
  taskId,
@@ -2408,6 +2540,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2408
2540
  ]
2409
2541
  });
2410
2542
  if (reclaimed.rowsAffected > 0) {
2543
+ ackBlockedResumeDispatchClaim();
2411
2544
  try {
2412
2545
  await writeCheckpoint({
2413
2546
  taskId,
@@ -2479,6 +2612,7 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2479
2612
  ]
2480
2613
  });
2481
2614
  if (overridden.rowsAffected > 0) {
2615
+ ackBlockedResumeDispatchClaim();
2482
2616
  try {
2483
2617
  await writeCheckpoint({
2484
2618
  taskId,
@@ -2548,10 +2682,12 @@ ${input.result}` : `\u26A0\uFE0F ${warning}`;
2548
2682
  result: curStatus,
2549
2683
  reason: liveHolder ? "live_holder" : "claim_guard_failed"
2550
2684
  });
2685
+ releaseBlockedResumeDispatchClaim("blocked resume DB claim rejected");
2551
2686
  throw new Error(
2552
2687
  `${TASK_ALREADY_CLAIMED_PREFIX}: task ${taskId} is ${curStatus}${claimedBy}` + (liveHolder && claimedByInstanceId ? ` [holder_instance=${claimedByInstanceId}]` : "")
2553
2688
  );
2554
2689
  }
2690
+ ackBlockedResumeDispatchClaim();
2555
2691
  try {
2556
2692
  await writeCheckpoint({
2557
2693
  taskId,
@@ -5006,7 +5142,7 @@ async function verifyPaneAtCapacity(sessionName) {
5006
5142
  reason: `capture-pane failed: ${err instanceof Error ? err.message : String(err)}`
5007
5143
  };
5008
5144
  }
5009
- const { isAtCapacity } = await import("./capacity-monitor-PGYDR35M.js");
5145
+ const { isAtCapacity } = await import("./capacity-monitor-4NJTN5QQ.js");
5010
5146
  if (!isAtCapacity(pane)) {
5011
5147
  return {
5012
5148
  atCapacity: false,
@@ -5209,7 +5345,7 @@ async function countScopedPendingReviews(targetSession, reviewer) {
5209
5345
  }
5210
5346
  async function countScopedOpenTasks(targetSession, agentId) {
5211
5347
  try {
5212
- const { fastDbInit } = await import("./fast-db-init-BXLBA6II.js");
5348
+ const { fastDbInit } = await import("./fast-db-init-O7AECNTB.js");
5213
5349
  const client = await fastDbInit();
5214
5350
  const scope = extractRootExe(targetSession);
5215
5351
  if (!scope) return 0;
@@ -5264,7 +5400,7 @@ function buildScopedInProgressTaskQuery(targetSession) {
5264
5400
  async function findScopedInProgressTaskId(targetSession) {
5265
5401
  const q = buildScopedInProgressTaskQuery(targetSession);
5266
5402
  if (!q) return null;
5267
- const { fastDbInit } = await import("./fast-db-init-BXLBA6II.js");
5403
+ const { fastDbInit } = await import("./fast-db-init-O7AECNTB.js");
5268
5404
  const client = await fastDbInit();
5269
5405
  const result = await client.execute(q);
5270
5406
  const id = result.rows[0]?.id;
@@ -5384,7 +5520,7 @@ function sendIntercom(targetSession, opts) {
5384
5520
  }
5385
5521
  if ((process.env.EXE_NOTIFICATION_LEDGER ?? "").trim().toLowerCase() === "shadow") {
5386
5522
  const shadowScope = opts && "callerSessionScope" in opts ? opts.callerSessionScope : void 0;
5387
- void import("./notification-ledger-5TQXBYY2.js").then((m) => m.recordShadowNudge(targetSession, reason, shadowScope)).catch(() => {
5523
+ void import("./notification-ledger-C3J4HFMM.js").then((m) => m.recordShadowNudge(targetSession, reason, shadowScope)).catch(() => {
5388
5524
  });
5389
5525
  }
5390
5526
  if (!opts?.force && isDebounced(targetSession)) {
@@ -5505,7 +5641,7 @@ function scheduleDeferredSpawnNudge(input) {
5505
5641
  return;
5506
5642
  }
5507
5643
  queueIntercom(input.sessionName, `spawn nudge failed after ${attempt} attempts: ${msg}`, "signal");
5508
- void import("./notifications-LA3X57YT.js").then(({ writeNotification: writeNotification2 }) => writeNotification2({
5644
+ void import("./notifications-JIARMDZ5.js").then(({ writeNotification: writeNotification2 }) => writeNotification2({
5509
5645
  agentId: getCoordinatorName(),
5510
5646
  agentRole: "COO",
5511
5647
  event: "error_spike",
@@ -6982,6 +7118,7 @@ export {
6982
7118
  DEFAULT_TASK_PRIORITY,
6983
7119
  normalizeTaskPriority,
6984
7120
  isStructuredTaskCompletionReport,
7121
+ resolveCompletionChangedFiles,
6985
7122
  buildTaskCompletionReport,
6986
7123
  writeCheckpoint,
6987
7124
  extractParentFromContext,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  extractMemoryGraph
3
- } from "./chunk-OM2XM5HU.js";
3
+ } from "./chunk-3LQMUO5D.js";
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-GGHH54QD.js";
7
+ } from "./chunk-TQSAPNFW.js";
8
8
  import {
9
9
  extractKeywords
10
10
  } from "./chunk-CHCA3ZM2.js";
11
11
  import {
12
12
  getActiveAgent
13
- } from "./chunk-6LLDY7AL.js";
13
+ } from "./chunk-HWK5GKE6.js";
14
14
 
15
15
  // src/mcp/tools/import-conversations.ts
16
16
  import { z } from "zod";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  loadLicense,
10
10
  readCachedLicenseToken
11
- } from "./chunk-BUDVHNV2.js";
11
+ } from "./chunk-ZK53K7OR.js";
12
12
  import {
13
13
  EXE_AI_DIR,
14
14
  loadConfig
@@ -3,11 +3,11 @@ import {
3
3
  } from "./chunk-75H4R62K.js";
4
4
  import {
5
5
  initStore
6
- } from "./chunk-GGHH54QD.js";
6
+ } from "./chunk-TQSAPNFW.js";
7
7
  import {
8
8
  getClient,
9
9
  isInitialized
10
- } from "./chunk-3QYE5U6D.js";
10
+ } from "./chunk-ZY2ABBVR.js";
11
11
 
12
12
  // src/lib/schedules.ts
13
13
  import crypto from "crypto";
@@ -1,21 +1,15 @@
1
1
  import {
2
2
  isPaneBusy
3
- } from "./chunk-LP6EJVVN.js";
3
+ } from "./chunk-OE6D2IJI.js";
4
4
  import {
5
5
  recordSessionKill
6
- } from "./chunk-HXIBVZC3.js";
6
+ } from "./chunk-W666YWFU.js";
7
7
  import {
8
8
  eventLoopBlockedMarkerPath
9
9
  } from "./chunk-APRVAUOR.js";
10
10
  import {
11
11
  updateTask
12
- } from "./chunk-MWXXVXJL.js";
13
- import {
14
- checkDispatchStatus,
15
- readTerminalLauncherFailure,
16
- releaseDispatchClaim,
17
- tryAcquireDispatchClaim
18
- } from "./chunk-Y7GJ6HXA.js";
12
+ } from "./chunk-LJGHAZYU.js";
19
13
  import {
20
14
  countPendingReviews,
21
15
  ensureEmployeeAsync,
@@ -31,14 +25,14 @@ import {
31
25
  sessionScopeFilter,
32
26
  strictSessionScopeFilter,
33
27
  writeNotification
34
- } from "./chunk-PJOHJ7Q4.js";
28
+ } from "./chunk-EWWCMMES.js";
35
29
  import {
36
30
  LEASE_MINUTES,
37
31
  isLeaseExpired
38
32
  } from "./chunk-E23LNUWJ.js";
39
33
  import {
40
34
  listSessions
41
- } from "./chunk-3WELJGZN.js";
35
+ } from "./chunk-FDOURKUO.js";
42
36
  import {
43
37
  getTransport
44
38
  } from "./chunk-AD2VCHSS.js";
@@ -50,10 +44,16 @@ import {
50
44
  } from "./chunk-SKGMF2SO.js";
51
45
  import {
52
46
  recordOrchestrationEventBestEffort
53
- } from "./chunk-EU2GUT67.js";
47
+ } from "./chunk-MT6YGWJ6.js";
48
+ import {
49
+ checkDispatchStatus,
50
+ readTerminalLauncherFailure,
51
+ releaseDispatchClaim,
52
+ tryAcquireDispatchClaim
53
+ } from "./chunk-AJIXH5JF.js";
54
54
  import {
55
55
  getAgentRuntime
56
- } from "./chunk-OIF65HXR.js";
56
+ } from "./chunk-3EMAJBBN.js";
57
57
  import {
58
58
  BUSY_PATTERN
59
59
  } from "./chunk-OSKWCKUC.js";
@@ -62,7 +62,7 @@ import {
62
62
  getCoordinatorName,
63
63
  isCoordinatorName,
64
64
  shouldAutoInstance
65
- } from "./chunk-3QYE5U6D.js";
65
+ } from "./chunk-ZY2ABBVR.js";
66
66
  import {
67
67
  loadConfigSync
68
68
  } from "./chunk-BCZF3AGJ.js";
@@ -3066,7 +3066,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
3066
3066
  }
3067
3067
  async function createWorktreeReaperRealDeps() {
3068
3068
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
3069
- const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-MGYTWKCA.js");
3069
+ const { getGitRootAsync, isWorktreeDirtyAsync } = await import("./worktree-TBUUZJHY.js");
3070
3070
  const { statSync: statSync3 } = await import("fs");
3071
3071
  const { basename: basename2 } = await import("path");
3072
3072
  const { promisify: promisify2 } = await import("util");
@@ -3297,7 +3297,7 @@ async function gcStaleCheckpoints() {
3297
3297
  }
3298
3298
  async function pollTaskGroupBarriers() {
3299
3299
  try {
3300
- const { checkAndFireBarriers } = await import("./tasks-crud-ZWKPTGPU.js");
3300
+ const { checkAndFireBarriers } = await import("./tasks-crud-PTN36B5F.js");
3301
3301
  const firedGroupIds = await checkAndFireBarriers();
3302
3302
  if (firedGroupIds.length === 0) return 0;
3303
3303
  const { getClient } = await import("./lib/database.js");
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-CQN4IKRB.js";
4
4
  import {
5
5
  isGhostBehaviorRow
6
- } from "./chunk-4JDRUXQV.js";
6
+ } from "./chunk-4VLRGKNY.js";
7
7
  import {
8
8
  getClient,
9
9
  getIdentity,
10
10
  listIdentities,
11
11
  updateIdentity
12
- } from "./chunk-3QYE5U6D.js";
12
+ } from "./chunk-ZY2ABBVR.js";
13
13
  import {
14
14
  atomicWriteJsonSync
15
15
  } from "./chunk-HSGBZSCA.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recordOrchestrationEventBestEffort
3
- } from "./chunk-EU2GUT67.js";
3
+ } from "./chunk-MT6YGWJ6.js";
4
4
  import {
5
5
  atomicWriteJsonSync
6
6
  } from "./chunk-HSGBZSCA.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-WCGNCH3Q.js";
4
4
  import {
5
5
  registerAllTools
6
- } from "./chunk-HBJAMWHT.js";
6
+ } from "./chunk-I3XN3G3H.js";
7
7
 
8
8
  // src/mcp/mcp-surface-hash.ts
9
9
  function computeMcpSurfaceHash() {
@@ -244,7 +244,7 @@ async function createBackupAsync(reason = "manual", opts = {}) {
244
244
  }
245
245
  }
246
246
  try {
247
- const { manifestWriteEnabled, writeBackupManifest } = await import("./backup-verify-6UAZ5ETR.js");
247
+ const { manifestWriteEnabled, writeBackupManifest } = await import("./backup-verify-72XBKKHL.js");
248
248
  if (manifestWriteEnabled()) {
249
249
  await writeBackupManifest(backupPath, dbName);
250
250
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getIdentity,
3
3
  loadEmployeesSync
4
- } from "./chunk-3QYE5U6D.js";
4
+ } from "./chunk-ZY2ABBVR.js";
5
5
 
6
6
  // src/lib/drift-probes.ts
7
7
  var DRIFT_THRESHOLD = 80;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-PDWIUSQH.js";
4
+ } from "./chunk-MDK7E653.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCoordinatorRole
3
- } from "./chunk-3QYE5U6D.js";
3
+ } from "./chunk-ZY2ABBVR.js";
4
4
 
5
5
  // src/lib/task-router.ts
6
6
  import { randomUUID } from "crypto";
@@ -9,7 +9,7 @@ import {
9
9
  getCoordinatorEmployee,
10
10
  getEmployee,
11
11
  loadEmployeesSync
12
- } from "./chunk-3QYE5U6D.js";
12
+ } from "./chunk-ZY2ABBVR.js";
13
13
  import {
14
14
  EXE_AI_DIR
15
15
  } from "./chunk-BCZF3AGJ.js";