@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,34 +1,34 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-WKUX5PFV.js";
3
+ } from "./chunk-PO64LWTM.js";
4
4
  import "./chunk-AB4PAQYK.js";
5
- import "./chunk-GGHH54QD.js";
6
- import "./chunk-WPQ5LWMW.js";
5
+ import "./chunk-TQSAPNFW.js";
6
+ import "./chunk-FFUEDKYK.js";
7
7
  import "./chunk-CHCA3ZM2.js";
8
8
  import "./chunk-OTVEIJUQ.js";
9
- import "./chunk-W7JPRQM2.js";
9
+ import "./chunk-VBHLE3TR.js";
10
10
  import "./chunk-5MOYSU5A.js";
11
11
  import "./chunk-4QCFFW2H.js";
12
12
  import "./chunk-76CJBM36.js";
13
13
  import {
14
14
  sessionScopeFilter,
15
15
  strictSessionScopeFilter
16
- } from "./chunk-PJOHJ7Q4.js";
17
- import "./chunk-E6TLQG2T.js";
18
- import "./chunk-OZLNCLS3.js";
19
- import "./chunk-EDC57TDH.js";
16
+ } from "./chunk-EWWCMMES.js";
17
+ import "./chunk-XOVHWGPV.js";
18
+ import "./chunk-7667KFAG.js";
19
+ import "./chunk-JLYQD2XF.js";
20
20
  import "./chunk-E23LNUWJ.js";
21
21
  import "./chunk-4JERP7NT.js";
22
22
  import "./chunk-EIKATSE4.js";
23
- import "./chunk-3WELJGZN.js";
23
+ import "./chunk-FDOURKUO.js";
24
24
  import "./chunk-AD2VCHSS.js";
25
25
  import "./chunk-WOYADZF5.js";
26
26
  import "./chunk-SKGMF2SO.js";
27
- import "./chunk-EU2GUT67.js";
28
- import "./chunk-GSIJL4YA.js";
29
- import "./chunk-OIF65HXR.js";
27
+ import "./chunk-MT6YGWJ6.js";
28
+ import "./chunk-AJIXH5JF.js";
29
+ import "./chunk-3EMAJBBN.js";
30
30
  import "./chunk-AM7S2TY6.js";
31
- import "./chunk-6I6OMBYY.js";
31
+ import "./chunk-Y7637VDZ.js";
32
32
  import "./chunk-OSKWCKUC.js";
33
33
  import "./chunk-KI5PFRG6.js";
34
34
  import "./chunk-CVYC6DUW.js";
@@ -44,17 +44,17 @@ import "./chunk-GJV3WDWM.js";
44
44
  import "./chunk-MP2AFCGL.js";
45
45
  import {
46
46
  getClient
47
- } from "./chunk-3QYE5U6D.js";
47
+ } from "./chunk-ZY2ABBVR.js";
48
48
  import "./chunk-2I23RPSI.js";
49
- import "./chunk-Q6ZQIX7L.js";
49
+ import "./chunk-FM4ZI5ZP.js";
50
50
  import "./chunk-OMXJMOBD.js";
51
51
  import "./chunk-7HLWBYH7.js";
52
52
  import "./chunk-BBMTVAE3.js";
53
53
  import "./chunk-FXU7JOXK.js";
54
54
  import "./chunk-QWVXN224.js";
55
- import "./chunk-NGP6LSV2.js";
56
- import "./chunk-BUDVHNV2.js";
57
- import "./chunk-DY7WDHMC.js";
55
+ import "./chunk-WNBZJSQT.js";
56
+ import "./chunk-ZK53K7OR.js";
57
+ import "./chunk-SJLZ53ZR.js";
58
58
  import "./chunk-BCZF3AGJ.js";
59
59
  import "./chunk-HSGBZSCA.js";
60
60
  import "./chunk-MLKGABMK.js";
@@ -163,7 +163,7 @@ ${msgLines}`);
163
163
  } catch {
164
164
  }
165
165
  try {
166
- const { getPendingProspective, markSurfaced } = await import("./prospective-memory-JEWS5GFU.js");
166
+ const { getPendingProspective, markSurfaced } = await import("./prospective-memory-UDQWFP5Y.js");
167
167
  const due = await getPendingProspective(agentId, { projectName, limit: 5 });
168
168
  if (due.length > 0) {
169
169
  const now = Date.now();
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-GGHH54QD.js";
7
+ } from "./chunk-TQSAPNFW.js";
8
8
  import {
9
9
  redactSecrets
10
10
  } from "./chunk-4QCFFW2H.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  completeReminder
3
- } from "./chunk-2LC2ASCN.js";
3
+ } from "./chunk-XDVLCS64.js";
4
4
 
5
5
  // src/mcp/tools/complete-reminder.ts
6
6
  import { z } from "zod";
@@ -1,7 +1,3 @@
1
- import {
2
- releaseDispatchClaim,
3
- tryAcquireDispatchClaim
4
- } from "./chunk-Y7GJ6HXA.js";
5
1
  import {
6
2
  employeeSessionName,
7
3
  ensureEmployee,
@@ -10,16 +6,20 @@ import {
10
6
  queryTaskRows,
11
7
  resolveExeSession,
12
8
  sendIntercom
13
- } from "./chunk-PJOHJ7Q4.js";
9
+ } from "./chunk-EWWCMMES.js";
14
10
  import {
15
11
  getTransport
16
12
  } from "./chunk-AD2VCHSS.js";
17
13
  import {
18
14
  recordOrchestrationEventBestEffort
19
- } from "./chunk-EU2GUT67.js";
15
+ } from "./chunk-MT6YGWJ6.js";
16
+ import {
17
+ releaseDispatchClaim,
18
+ tryAcquireDispatchClaim
19
+ } from "./chunk-AJIXH5JF.js";
20
20
  import {
21
21
  getAgentRuntime
22
- } from "./chunk-OIF65HXR.js";
22
+ } from "./chunk-3EMAJBBN.js";
23
23
  import {
24
24
  getSessionKey
25
25
  } from "./chunk-CVYC6DUW.js";
@@ -27,7 +27,7 @@ import {
27
27
  isCoordinatorName,
28
28
  isMultiInstance,
29
29
  shouldAutoInstance
30
- } from "./chunk-3QYE5U6D.js";
30
+ } from "./chunk-ZY2ABBVR.js";
31
31
 
32
32
  // src/lib/tasks-notify.ts
33
33
  var VERIFY_DELAY_MS = 1e4;
@@ -89,7 +89,7 @@ async function dispatchTaskToEmployee(input) {
89
89
  let crossProject = false;
90
90
  if (input.projectName) {
91
91
  try {
92
- const { assertSessionScope } = await import("./session-scope-MRIE7ZKS.js");
92
+ const { assertSessionScope } = await import("./session-scope-TXCBVOSN.js");
93
93
  const check = assertSessionScope("dispatch_task", input.projectName);
94
94
  if (check.reason === "cross_session_denied") {
95
95
  crossProject = true;
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  DEFAULT_RUNTIME,
8
8
  RUNTIME_TABLE
9
- } from "./chunk-NGP6LSV2.js";
9
+ } from "./chunk-WNBZJSQT.js";
10
10
  import {
11
11
  EXE_AI_DIR
12
12
  } from "./chunk-BCZF3AGJ.js";
@@ -19,6 +19,8 @@ import {
19
19
  import { readFileSync, existsSync } from "fs";
20
20
  import path from "path";
21
21
  var AGENT_CONFIG_PATH = path.join(EXE_AI_DIR, "agent-config.json");
22
+ var CODEX_DEFAULT_MODEL = RUNTIME_TABLE.codex?.defaultModel ?? "gpt-5.5";
23
+ var CODEX_BASE_MODELS = ["gpt-5.4", "gpt-5.5", "gpt-5.3-codex-spark", "o3", "o4-mini"];
22
24
  var KNOWN_RUNTIMES = {
23
25
  claude: ["claude-opus-4.8", "claude-opus-4.8-1m", "claude-opus-4.6", "claude-sonnet-4.8", "claude-sonnet-4.6", "claude-haiku-4.5", "claude-fable-5"],
24
26
  // Bug fbf99272: this list MUST contain RUNTIME_TABLE.codex.defaultModel — the
@@ -29,7 +31,7 @@ var KNOWN_RUNTIMES = {
29
31
  // "gpt-5.6" here: VERIFIED 2026-07-10 to 400 ("not supported … with a ChatGPT
30
32
  // account"). "gpt-5.3-codex" (the Codex CLI's own default) is likewise NOT
31
33
  // whitelisted for the same reason — exe-start-codex pins a listed model instead.
32
- codex: ["gpt-5.4", "gpt-5.5", "gpt-5.3-codex-spark", "o3", "o4-mini"],
34
+ codex: Array.from(/* @__PURE__ */ new Set([CODEX_DEFAULT_MODEL, ...CODEX_BASE_MODELS])),
33
35
  opencode: ["anthropic/claude-opus-4-8", "anthropic/claude-sonnet-4-8", "anthropic/claude-sonnet-4-6", "openai/gpt-5.4", "google/gemini-2.5-pro", "deepseek/deepseek-r3", "minimax/minimax-m2.5", "opencode-go/kimi-k3", "xai/grok-4", "xai/grok-3", "xai/grok-2-latest", "xai/grok-2-1212", "xai/grok-beta"]
34
36
  };
35
37
  var RETIRED_MODELS = {
@@ -65,7 +67,7 @@ var DEFAULT_MODELS = {
65
67
  // default here, so any agent without an explicit config booted onto a dead
66
68
  // model and idled forever. Default now points at the live claude-sonnet-4.6.
67
69
  claude: "claude-sonnet-4.6",
68
- codex: RUNTIME_TABLE.codex?.defaultModel ?? "gpt-5.4",
70
+ codex: CODEX_DEFAULT_MODEL,
69
71
  opencode: RUNTIME_TABLE.opencode?.defaultModel ?? "anthropic/claude-sonnet-4-6"
70
72
  };
71
73
  function loadAgentConfig() {
@@ -132,10 +134,12 @@ function isClaudeModel(model) {
132
134
  }
133
135
  function resolveSpawnRuntimeConfig(agentId, runtimeOverride, modelOverride) {
134
136
  const base = getAgentRuntime(agentId);
137
+ const runtime = runtimeOverride ?? base.runtime;
138
+ const model = modelOverride ?? (runtimeOverride && runtimeOverride !== base.runtime && DEFAULT_MODELS[runtimeOverride] ? DEFAULT_MODELS[runtimeOverride] : base.model);
135
139
  return {
136
140
  ...base,
137
- ...runtimeOverride ? { runtime: runtimeOverride } : {},
138
- ...modelOverride ? { model: modelOverride } : {}
141
+ runtime,
142
+ model
139
143
  };
140
144
  }
141
145
  function assertRuntimeModelCompatible(runtime, model, opts) {
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  createCRMWebhookHandler,
12
12
  parseTwentyWebhook
13
- } from "./chunk-LSTIMHL4.js";
13
+ } from "./chunk-Z7DWUHDP.js";
14
14
  import {
15
15
  WhatsAppAdapter
16
16
  } from "./chunk-WSOA3WMC.js";
@@ -42,7 +42,7 @@ import {
42
42
  retryWithBackoff,
43
43
  routeMessage,
44
44
  validateGatewayConfig
45
- } from "./chunk-RPAMFCPP.js";
45
+ } from "./chunk-53VXPGZ2.js";
46
46
  import {
47
47
  OllamaProvider
48
48
  } from "./chunk-FWFFZGSC.js";
@@ -4,10 +4,10 @@ import {
4
4
  extractIdentifiers,
5
5
  isGarbageEntity,
6
6
  normalizeEntityName
7
- } from "./chunk-EYGMCOTV.js";
7
+ } from "./chunk-VTMSGELG.js";
8
8
  import {
9
9
  getClient
10
- } from "./chunk-3QYE5U6D.js";
10
+ } from "./chunk-ZY2ABBVR.js";
11
11
 
12
12
  // src/lib/memory-graph-extractor.ts
13
13
  function relationshipId(sourceId, targetId, relType) {
@@ -404,7 +404,7 @@ async function upsertMemoryGraph(result, memoryId) {
404
404
  });
405
405
  }
406
406
  try {
407
- const { createCoOccurrenceEdges } = await import("./co-occurrence-PZAEUDAP.js");
407
+ const { createCoOccurrenceEdges } = await import("./co-occurrence-QZFT5ORJ.js");
408
408
  await createCoOccurrenceEdges(result.entities, memoryId);
409
409
  } catch {
410
410
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3QYE5U6D.js";
3
+ } from "./chunk-ZY2ABBVR.js";
4
4
  import {
5
5
  loadConfigSync
6
6
  } from "./chunk-BCZF3AGJ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3QYE5U6D.js";
3
+ } from "./chunk-ZY2ABBVR.js";
4
4
 
5
5
  // src/lib/boot-generation.ts
6
6
  var SYNC_META_KEY = "daemon_boot_generation";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  vectorToSqlLiteral
3
- } from "./chunk-GGHH54QD.js";
3
+ } from "./chunk-TQSAPNFW.js";
4
4
  import {
5
5
  blobToVector
6
6
  } from "./chunk-OTVEIJUQ.js";
7
7
  import {
8
8
  getClient
9
- } from "./chunk-3QYE5U6D.js";
9
+ } from "./chunk-ZY2ABBVR.js";
10
10
 
11
11
  // src/lib/behaviors.ts
12
12
  import crypto from "crypto";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ingest
3
- } from "./chunk-MHZAUM7G.js";
3
+ } from "./chunk-7AD4GSRT.js";
4
4
  import {
5
5
  listWorkflowDefinitions,
6
6
  runWorkflow,
7
7
  startWorkflow
8
- } from "./chunk-CFA4T2HP.js";
8
+ } from "./chunk-G6IANQKD.js";
9
9
  import {
10
10
  initCRMBridge
11
11
  } from "./chunk-ML4S5SHZ.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  recordOrchestrationEventBestEffort
3
- } from "./chunk-EU2GUT67.js";
3
+ } from "./chunk-MT6YGWJ6.js";
4
4
 
5
5
  // src/lib/worktree.ts
6
6
  import { execFile, execFileSync, execSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3QYE5U6D.js";
3
+ } from "./chunk-ZY2ABBVR.js";
4
4
 
5
5
  // src/lib/pipeline-router.ts
6
6
  import crypto from "crypto";
@@ -140,8 +140,8 @@ Agent response: ${agentResponse}` : ""
140
140
  }
141
141
  async function sinkEntityExtraction(msg, agentResponse, agentName) {
142
142
  try {
143
- const { extractFromConversation } = await import("./conversation-entity-extractor-AU55E6YT.js");
144
- const { storeExtraction } = await import("./graph-rag-2I24BQC2.js");
143
+ const { extractFromConversation } = await import("./conversation-entity-extractor-YC3A2ODD.js");
144
+ const { storeExtraction } = await import("./graph-rag-LWKKHY72.js");
145
145
  if ((msg.text?.length ?? 0) < 20) return false;
146
146
  if (msg.isHistorical) return false;
147
147
  const extraction = await extractFromConversation(msg, agentResponse, agentName);
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clean,
3
3
  stableId
4
- } from "./chunk-PDN25UJU.js";
4
+ } from "./chunk-MA22RV3T.js";
5
5
 
6
6
  // src/lib/reflection-checkpoints.ts
7
7
  function parsePayload(payload) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-PJOHJ7Q4.js";
3
+ } from "./chunk-EWWCMMES.js";
4
4
  import {
5
5
  leaseExpiryIso
6
6
  } from "./chunk-E23LNUWJ.js";
@@ -1,35 +1,88 @@
1
- import {
2
- appendDispatchJournalEvent
3
- } from "./chunk-GSIJL4YA.js";
4
-
5
1
  // src/lib/dispatch-ack.ts
6
2
  import {
7
- existsSync,
8
- mkdirSync,
3
+ existsSync as existsSync2,
4
+ mkdirSync as mkdirSync2,
9
5
  readFileSync,
10
6
  writeFileSync,
11
- unlinkSync,
12
- readdirSync,
7
+ unlinkSync as unlinkSync2,
8
+ readdirSync as readdirSync2,
13
9
  rmSync
14
10
  } from "fs";
15
11
  import path from "path";
16
12
  import os from "os";
13
+
14
+ // src/lib/dispatch-journal.ts
15
+ import { appendFileSync, existsSync, mkdirSync, readdirSync, renameSync, statSync, unlinkSync } from "fs";
16
+ import { join } from "path";
17
+ import { homedir } from "os";
18
+ var MAX_JSONL_BYTES = Number(process.env.EXE_DISPATCH_JOURNAL_MAX_BYTES) || 1e6;
19
+ var MAX_ARCHIVES = Number(process.env.EXE_DISPATCH_JOURNAL_MAX_ARCHIVES) || 3;
20
+ function dispatchJournalDir() {
21
+ const base = process.env.EXE_OS_DIR || join(homedir(), ".exe-os");
22
+ return join(base, "dispatch-journal");
23
+ }
24
+ function journalPath() {
25
+ return join(dispatchJournalDir(), "events.jsonl");
26
+ }
27
+ function rotateIfNeeded(file) {
28
+ try {
29
+ if (!existsSync(file)) return;
30
+ if (statSync(file).size < MAX_JSONL_BYTES) return;
31
+ for (let i = MAX_ARCHIVES; i >= 1; i--) {
32
+ const src = `${file}.${i}`;
33
+ const dst = `${file}.${i + 1}`;
34
+ if (!existsSync(src)) continue;
35
+ if (i === MAX_ARCHIVES) unlinkSync(src);
36
+ else renameSync(src, dst);
37
+ }
38
+ renameSync(file, `${file}.1`);
39
+ } catch {
40
+ }
41
+ }
42
+ function appendDispatchJournalEvent(input) {
43
+ try {
44
+ const dir = dispatchJournalDir();
45
+ mkdirSync(dir, { recursive: true });
46
+ const file = journalPath();
47
+ rotateIfNeeded(file);
48
+ appendFileSync(
49
+ file,
50
+ JSON.stringify({
51
+ ts: (/* @__PURE__ */ new Date()).toISOString(),
52
+ ...input
53
+ }) + "\n",
54
+ "utf-8"
55
+ );
56
+ for (const entry of readdirSync(dir)) {
57
+ const match = entry.match(/^events\.jsonl\.(\d+)$/);
58
+ if (match && Number(match[1]) > MAX_ARCHIVES) {
59
+ try {
60
+ unlinkSync(join(dir, entry));
61
+ } catch {
62
+ }
63
+ }
64
+ }
65
+ } catch {
66
+ }
67
+ }
68
+
69
+ // src/lib/dispatch-ack.ts
17
70
  function ackDir() {
18
71
  return process.env.EXE_DISPATCH_ACK_DIR || path.join(os.homedir(), ".exe-os", "dispatch-acks");
19
72
  }
20
73
  var DISPATCH_DEDUP_WINDOW_MS = 90 * 1e3;
21
74
  function ensureAckDir() {
22
75
  const dir = ackDir();
23
- if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
76
+ if (!existsSync2(dir)) mkdirSync2(dir, { recursive: true });
24
77
  }
25
78
  function writeDispatchPending(taskId, assignedTo, sessionName) {
26
79
  ensureAckDir();
27
80
  try {
28
- unlinkSync(path.join(ackDir(), `${taskId}.failed`));
81
+ unlinkSync2(path.join(ackDir(), `${taskId}.failed`));
29
82
  } catch {
30
83
  }
31
84
  try {
32
- unlinkSync(path.join(ackDir(), `${taskId}.ack`));
85
+ unlinkSync2(path.join(ackDir(), `${taskId}.ack`));
33
86
  } catch {
34
87
  }
35
88
  const signal = {
@@ -71,11 +124,11 @@ function tryAcquireDispatchClaim(taskId, assignedTo, sessionName, windowMs = DIS
71
124
  const curLock = path.join(dir, spawnLockName(taskId, bucket));
72
125
  const prevLock = path.join(dir, spawnLockName(taskId, bucket - 1));
73
126
  try {
74
- if (existsSync(prevLock) && ownerPidAlive(prevLock)) return false;
127
+ if (existsSync2(prevLock) && ownerPidAlive(prevLock)) return false;
75
128
  } catch {
76
129
  }
77
130
  try {
78
- mkdirSync(curLock);
131
+ mkdirSync2(curLock);
79
132
  } catch (err) {
80
133
  if (err?.code === "EEXIST") return false;
81
134
  return true;
@@ -105,7 +158,7 @@ function removeSpawnLockdirs(taskId) {
105
158
  const dir = ackDir();
106
159
  try {
107
160
  const prefix = `${taskId}.spawnlock.b`;
108
- for (const entry of readdirSync(dir)) {
161
+ for (const entry of readdirSync2(dir)) {
109
162
  if (entry.startsWith(prefix)) {
110
163
  try {
111
164
  rmSync(path.join(dir, entry), { recursive: true, force: true });
@@ -144,7 +197,7 @@ function writeDispatchAck(taskId, agentId) {
144
197
  signal.ackedAt = (/* @__PURE__ */ new Date()).toISOString();
145
198
  writeFileSync(ackPath, JSON.stringify(signal), "utf-8");
146
199
  try {
147
- unlinkSync(pendingPath);
200
+ unlinkSync2(pendingPath);
148
201
  } catch {
149
202
  }
150
203
  removeSpawnLockdirs(taskId);
@@ -170,7 +223,7 @@ function writeDispatchFailed(taskId, assignedTo, error, sessionName) {
170
223
  if (sessionName) signal.sessionName = sessionName;
171
224
  writeFileSync(path.join(ackDir(), `${taskId}.failed`), JSON.stringify(signal), "utf-8");
172
225
  try {
173
- unlinkSync(pendingPath);
226
+ unlinkSync2(pendingPath);
174
227
  } catch {
175
228
  }
176
229
  appendDispatchJournalEvent({
@@ -188,7 +241,7 @@ function checkDispatchStatus(taskId) {
188
241
  const ackPath = path.join(ackDir(), `${taskId}.ack`);
189
242
  const failedPath = path.join(ackDir(), `${taskId}.failed`);
190
243
  const pendingPath = path.join(ackDir(), `${taskId}.pending`);
191
- if (existsSync(ackPath)) {
244
+ if (existsSync2(ackPath)) {
192
245
  try {
193
246
  const signal = JSON.parse(readFileSync(ackPath, "utf-8"));
194
247
  return { status: "acked", signal };
@@ -196,7 +249,7 @@ function checkDispatchStatus(taskId) {
196
249
  return { status: "acked" };
197
250
  }
198
251
  }
199
- if (existsSync(failedPath)) {
252
+ if (existsSync2(failedPath)) {
200
253
  try {
201
254
  const signal = JSON.parse(readFileSync(failedPath, "utf-8"));
202
255
  return { status: "failed", signal };
@@ -204,7 +257,7 @@ function checkDispatchStatus(taskId) {
204
257
  return { status: "failed" };
205
258
  }
206
259
  }
207
- if (existsSync(pendingPath)) {
260
+ if (existsSync2(pendingPath)) {
208
261
  try {
209
262
  const signal = JSON.parse(readFileSync(pendingPath, "utf-8"));
210
263
  return { status: "pending", signal };
@@ -222,7 +275,7 @@ function terminalFailurePath(agentId, scope, baseDir) {
222
275
  }
223
276
  function writeTerminalLauncherFailure(rec, baseDir = TERMINAL_FAILURE_DIR) {
224
277
  try {
225
- if (!existsSync(baseDir)) mkdirSync(baseDir, { recursive: true });
278
+ if (!existsSync2(baseDir)) mkdirSync2(baseDir, { recursive: true });
226
279
  const payload = {
227
280
  reason: rec.reason,
228
281
  ...rec.detail ? { detail: rec.detail } : {},
@@ -239,7 +292,7 @@ function readTerminalLauncherFailure(agentId, scope, opts) {
239
292
  const now = opts?.now ?? Date.now();
240
293
  try {
241
294
  const p = terminalFailurePath(agentId, scope, baseDir);
242
- if (!existsSync(p)) return null;
295
+ if (!existsSync2(p)) return null;
243
296
  const rec = JSON.parse(readFileSync(p, "utf-8"));
244
297
  if (!rec || typeof rec.reason !== "string" || rec.reason.trim().length === 0) return null;
245
298
  if (typeof rec.ts !== "string") return null;
@@ -254,7 +307,7 @@ function readTerminalLauncherFailure(agentId, scope, opts) {
254
307
  }
255
308
  function clearTerminalLauncherFailure(agentId, scope, baseDir = TERMINAL_FAILURE_DIR) {
256
309
  try {
257
- unlinkSync(terminalFailurePath(agentId, scope, baseDir));
310
+ unlinkSync2(terminalFailurePath(agentId, scope, baseDir));
258
311
  } catch {
259
312
  }
260
313
  }
@@ -264,7 +317,7 @@ function cleanStaleDispatchAcks(maxAgeMs = 60 * 60 * 1e3) {
264
317
  let cleaned = 0;
265
318
  try {
266
319
  const dir = ackDir();
267
- for (const file of readdirSync(dir)) {
320
+ for (const file of readdirSync2(dir)) {
268
321
  const fullPath = path.join(dir, file);
269
322
  if (file.includes(".spawnlock.b")) {
270
323
  try {
@@ -287,12 +340,12 @@ function cleanStaleDispatchAcks(maxAgeMs = 60 * 60 * 1e3) {
287
340
  const signal = JSON.parse(readFileSync(fullPath, "utf-8"));
288
341
  const ts = signal.ackedAt ?? signal.dispatchedAt;
289
342
  if (now - new Date(ts).getTime() > maxAgeMs) {
290
- unlinkSync(fullPath);
343
+ unlinkSync2(fullPath);
291
344
  cleaned++;
292
345
  }
293
346
  } catch {
294
347
  try {
295
- unlinkSync(fullPath);
348
+ unlinkSync2(fullPath);
296
349
  cleaned++;
297
350
  } catch {
298
351
  }
@@ -304,6 +357,7 @@ function cleanStaleDispatchAcks(maxAgeMs = 60 * 60 * 1e3) {
304
357
  }
305
358
 
306
359
  export {
360
+ appendDispatchJournalEvent,
307
361
  DISPATCH_DEDUP_WINDOW_MS,
308
362
  writeDispatchPending,
309
363
  tryAcquireDispatchClaim,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-3QYE5U6D.js";
3
+ } from "./chunk-ZY2ABBVR.js";
4
4
 
5
5
  // src/lib/token-budget.ts
6
6
  var WARN_THRESHOLD = 0.8;
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  isExeSession,
3
3
  strictSessionScopeFilter
4
- } from "./chunk-PJOHJ7Q4.js";
4
+ } from "./chunk-EWWCMMES.js";
5
5
  import {
6
6
  recordOrchestrationEventBestEffort
7
- } from "./chunk-EU2GUT67.js";
7
+ } from "./chunk-MT6YGWJ6.js";
8
8
  import {
9
9
  getProjectName
10
10
  } from "./chunk-OPU3NYOO.js";
11
11
  import {
12
12
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
13
13
  getCoordinatorName
14
- } from "./chunk-3QYE5U6D.js";
14
+ } from "./chunk-ZY2ABBVR.js";
15
15
  import {
16
16
  loadConfigSync
17
17
  } from "./chunk-BCZF3AGJ.js";
@@ -260,7 +260,7 @@ function createRealDeps(getClient) {
260
260
  });
261
261
  },
262
262
  createReviewForOrphan: async (task) => {
263
- const { createReviewForCompletedTask } = await import("./tasks-review-INJKVN63.js");
263
+ const { createReviewForCompletedTask } = await import("./tasks-review-ZY3S65OV.js");
264
264
  const cwd = process.cwd();
265
265
  await createReviewForCompletedTask(
266
266
  task,
@@ -212,7 +212,7 @@ async function main(args) {
212
212
  console.log("[health-gate] Starting rollback...");
213
213
  restorePreDeployBackup();
214
214
  try {
215
- const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-5BPENFJK.js");
215
+ const { rollbackStackUpdate, defaultStackPaths } = await import("./stack-update-CBP5S5BG.js");
216
216
  const paths = defaultStackPaths();
217
217
  await rollbackStackUpdate({
218
218
  manifestRef: paths.manifestRef,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  checkLicense,
3
3
  loadLicense
4
- } from "./chunk-BUDVHNV2.js";
4
+ } from "./chunk-ZK53K7OR.js";
5
5
 
6
6
  // src/lib/license-gate.ts
7
7
  var _cachedLicense = null;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  formatDegradations,
3
3
  getRetrievalHealth
4
- } from "./chunk-HIN6X5QB.js";
4
+ } from "./chunk-CYI2YR56.js";
5
5
  import {
6
6
  buildRestartReport,
7
7
  formatRestartReport
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-OTVEIJUQ.js";
21
21
  import {
22
22
  offloadReadIfMain
23
- } from "./chunk-3QYE5U6D.js";
23
+ } from "./chunk-ZY2ABBVR.js";
24
24
  import {
25
25
  isMainModule
26
26
  } from "./chunk-6Y4B3QF6.js";
@@ -1023,7 +1023,7 @@ function formatReport(report, flags) {
1023
1023
  return lines.join("\n");
1024
1024
  }
1025
1025
  async function fixNullVectors() {
1026
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-BLJENHMV.js");
1026
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-NZRA426F.js");
1027
1027
  if (!tryAcquireWorkerSlot()) {
1028
1028
  process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
1029
1029
  await new Promise((r) => setTimeout(r, 5e3));
@@ -1209,7 +1209,7 @@ async function main(argv = process.argv.slice(2)) {
1209
1209
  console.log(formatRestartReport(restartReport));
1210
1210
  return emptyAuditReport();
1211
1211
  }
1212
- const { fastDbInit } = await import("./fast-db-init-BXLBA6II.js");
1212
+ const { fastDbInit } = await import("./fast-db-init-O7AECNTB.js");
1213
1213
  const client = await fastDbInit();
1214
1214
  const report = await runAudit(client, flags);
1215
1215
  console.log(formatReport(report, flags));
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getGlobalProceduresBlock
3
- } from "./chunk-KQ3HRA6Q.js";
3
+ } from "./chunk-T7ZLJZAO.js";
4
4
 
5
5
  // src/lib/employee-templates.ts
6
6
  var BASE_OPERATING_PROCEDURES = `