@askexenow/exe-os 0.9.357 → 0.9.359

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 (334) hide show
  1. package/deploy/stack-manifests/v0.9.json +3 -3
  2. package/dist/.dist-verified.json +6 -0
  3. package/dist/{active-agent-PYMOMGQ7.js → active-agent-DMKNHGSG.js} +6 -4
  4. package/dist/{active-agent-LCRV3HVS.js → active-agent-Y3DCBD7J.js} +6 -4
  5. package/dist/{agentic-ontology-TNKI4FOM.js → agentic-ontology-3233PNKV.js} +1 -1
  6. package/dist/{backfill-metadata-SFS4ARNR.js → backfill-metadata-4DS4A5U3.js} +8 -6
  7. package/dist/{backup-verify-7NLKR4S6.js → backup-verify-JNYKXIU2.js} +6 -1
  8. package/dist/{behavior-injection-OT7VX7M6.js → behavior-injection-CGAMI552.js} +10 -8
  9. package/dist/{behaviors-6GW5AFG4.js → behaviors-57AMN5IP.js} +9 -7
  10. package/dist/bin/agentic-ontology-backfill.js +9 -7
  11. package/dist/bin/agentic-reflection-backfill.js +10 -8
  12. package/dist/bin/agentic-semantic-label.js +9 -7
  13. package/dist/bin/backfill-conversations.js +8 -6
  14. package/dist/bin/backfill-responses.js +8 -6
  15. package/dist/bin/backfill-vectors.js +9 -7
  16. package/dist/bin/bulk-sync-postgres.js +18 -14
  17. package/dist/bin/cc-doctor.js +7 -5
  18. package/dist/bin/cleanup-stale-review-tasks.js +16 -14
  19. package/dist/bin/cli.js +19 -19
  20. package/dist/bin/deferred-daemon-restart.js +81 -77
  21. package/dist/bin/exe-agent-config.js +5 -3
  22. package/dist/bin/exe-agent.js +14 -12
  23. package/dist/bin/exe-assign.js +9 -7
  24. package/dist/bin/exe-boot.js +62 -28
  25. package/dist/bin/exe-call.js +8 -6
  26. package/dist/bin/exe-cloud.js +20 -16
  27. package/dist/bin/exe-config-dump.js +5 -3
  28. package/dist/bin/exe-dispatch.js +16 -14
  29. package/dist/bin/exe-doctor.js +9 -6
  30. package/dist/bin/exe-export-behaviors.js +11 -9
  31. package/dist/bin/exe-forget.js +10 -8
  32. package/dist/bin/exe-gateway.js +10 -8
  33. package/dist/bin/exe-grant.js +17 -4
  34. package/dist/bin/exe-healthcheck.js +7 -5
  35. package/dist/bin/exe-heartbeat.js +18 -16
  36. package/dist/bin/exe-kill.js +20 -18
  37. package/dist/bin/exe-launch-agent.js +27 -25
  38. package/dist/bin/exe-memory-reads.js +8 -6
  39. package/dist/bin/exe-new-employee.js +12 -10
  40. package/dist/bin/exe-os-mcp-proxy.js +6 -4
  41. package/dist/bin/exe-pending-messages.js +17 -15
  42. package/dist/bin/exe-pending-notifications.js +16 -14
  43. package/dist/bin/exe-pending-reviews.js +16 -14
  44. package/dist/bin/exe-rename.js +8 -6
  45. package/dist/bin/exe-review.js +19 -17
  46. package/dist/bin/exe-search.js +9 -7
  47. package/dist/bin/exe-session-cleanup.js +20 -18
  48. package/dist/bin/exe-settings.js +18 -14
  49. package/dist/bin/exe-start-codex.js +16 -14
  50. package/dist/bin/exe-start-opencode.js +12 -10
  51. package/dist/bin/exe-status.js +17 -15
  52. package/dist/bin/exe-support.js +3 -3
  53. package/dist/bin/exe-team.js +6 -4
  54. package/dist/bin/exe-timers.js +2 -1
  55. package/dist/bin/git-sweep.js +17 -15
  56. package/dist/bin/graph-backfill.js +10 -8
  57. package/dist/bin/graph-export.js +9 -7
  58. package/dist/bin/import-history.js +13 -11
  59. package/dist/bin/install.js +83 -79
  60. package/dist/bin/intercom-check.js +4 -4
  61. package/dist/bin/mcp-sessions.js +2 -2
  62. package/dist/bin/orchestration-metrics.js +7 -5
  63. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  64. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  65. package/dist/bin/pre-publish.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 +16 -14
  69. package/dist/bin/setup.js +1 -1
  70. package/dist/bin/shard-migrate.js +9 -7
  71. package/dist/bin/stack-update.js +4 -4
  72. package/dist/bin/vps-health-gate.js +1 -1
  73. package/dist/{boot-generation-7ZI7JYGR.js → boot-generation-4D3CTT7X.js} +6 -4
  74. package/dist/{boot-review-sections-3MSXM6V7.js → boot-review-sections-NDFE5443.js} +15 -13
  75. package/dist/build-manifest.json +2961 -0
  76. package/dist/{capability-cards-4RD2SB2K.js → capability-cards-OBB7BMMX.js} +5 -3
  77. package/dist/{capacity-monitor-5XUR3JTN.js → capacity-monitor-QLPEL6S5.js} +17 -15
  78. package/dist/{catchup-brief-AYJWMQUZ.js → catchup-brief-EN7QR6MP.js} +20 -18
  79. package/dist/{chunk-ZMVVKOOS.js → chunk-2EAYZ3BK.js} +7 -7
  80. package/dist/{chunk-4KCLB4TY.js → chunk-2KLVTRY2.js} +1 -1
  81. package/dist/{chunk-4VU2VCEU.js → chunk-2OVTGZYH.js} +1 -1
  82. package/dist/{chunk-5Q2J6P4T.js → chunk-2YGAKBRG.js} +3 -3
  83. package/dist/{chunk-2TL5RKMC.js → chunk-3BAGFZFN.js} +1 -1
  84. package/dist/{chunk-PM4TIRCR.js → chunk-3ODATKWH.js} +1 -1
  85. package/dist/{chunk-RUBXKPOT.js → chunk-3ZEVMZ4G.js} +1 -1
  86. package/dist/{chunk-H4ZSOAP6.js → chunk-44WFVMZ5.js} +1 -1
  87. package/dist/{chunk-Y4JA5V22.js → chunk-46RPEWTH.js} +1 -1
  88. package/dist/{chunk-EHL4RCND.js → chunk-4DYJ6NOK.js} +6 -5
  89. package/dist/{chunk-ZWXSO4FN.js → chunk-4FQIWAXA.js} +9 -9
  90. package/dist/{chunk-YG4LS7TI.js → chunk-4WSUP4CC.js} +8 -8
  91. package/dist/{chunk-EWOMZLR6.js → chunk-57GRYGDU.js} +1 -1
  92. package/dist/{chunk-VCKIV5WG.js → chunk-5I3YC7ER.js} +2 -2
  93. package/dist/{chunk-UQCYG6EI.js → chunk-5UAMBMNR.js} +1 -1
  94. package/dist/chunk-5YEUPUV4.js +53 -0
  95. package/dist/{chunk-34MIJGQS.js → chunk-6EOLGE7T.js} +1 -1
  96. package/dist/{chunk-AWB7M62V.js → chunk-6KREY2Q7.js} +4 -4
  97. package/dist/{chunk-FWJFKWYA.js → chunk-6LY3QSJA.js} +2 -2
  98. package/dist/{chunk-7FKC2TIB.js → chunk-6SK4MM5B.js} +1 -1
  99. package/dist/{chunk-P7EUKYSQ.js → chunk-6WHYSLGF.js} +1 -1
  100. package/dist/{chunk-YSUHXDQU.js → chunk-74R44E4S.js} +21 -19
  101. package/dist/{chunk-DF5K4JJL.js → chunk-A5WEEND7.js} +3 -3
  102. package/dist/{chunk-OBWTTM7E.js → chunk-AL7JMA54.js} +2 -2
  103. package/dist/{chunk-JZXHLDQN.js → chunk-APR556TY.js} +1 -1
  104. package/dist/{chunk-G2MXTLOD.js → chunk-C5YZMYQH.js} +1 -1
  105. package/dist/{chunk-X7CWCQ5S.js → chunk-CAEWPEBA.js} +1 -1
  106. package/dist/{chunk-SFSB64NK.js → chunk-DKRSKC5R.js} +1 -1
  107. package/dist/{chunk-IIHFSNL4.js → chunk-DQ75MEPU.js} +1 -1
  108. package/dist/{chunk-H4IZKSOY.js → chunk-DWKH2H7W.js} +1 -1
  109. package/dist/{chunk-M5DPPJLS.js → chunk-EA5FVACM.js} +39 -7
  110. package/dist/{chunk-S3THSOWV.js → chunk-EUQF3JOH.js} +28 -100
  111. package/dist/{chunk-2LM5GO5R.js → chunk-EX2SSLNU.js} +5 -5
  112. package/dist/{chunk-4GGP4Q5N.js → chunk-F3QTF4T7.js} +2 -2
  113. package/dist/{chunk-EQQYCP6D.js → chunk-FASR2WLT.js} +1 -1
  114. package/dist/{chunk-NT4GET5B.js → chunk-G2KK64UB.js} +4 -4
  115. package/dist/{chunk-ABM3DZF3.js → chunk-G37RG543.js} +1 -1
  116. package/dist/{chunk-AW3WT3TJ.js → chunk-GD7VXXW6.js} +141 -140
  117. package/dist/{chunk-IT4TFJTK.js → chunk-GSVQBBE5.js} +3 -3
  118. package/dist/{chunk-LVZZ7YS3.js → chunk-HK7SQDKJ.js} +5 -5
  119. package/dist/chunk-HKK7LLS5.js +408 -0
  120. package/dist/{chunk-W3IXTUCL.js → chunk-HLEZ5O5P.js} +77 -37
  121. package/dist/{chunk-A5P2MMII.js → chunk-HNPHPGGF.js} +2 -2
  122. package/dist/{chunk-QGLAMWQJ.js → chunk-HPHF5VTT.js} +3 -3
  123. package/dist/{chunk-IO5FR7BZ.js → chunk-IQWAYXVF.js} +3 -3
  124. package/dist/{chunk-PNTRRXAN.js → chunk-JBAMYKBL.js} +1 -1
  125. package/dist/{chunk-2WWGTOVP.js → chunk-JE34CB5H.js} +19 -1
  126. package/dist/{chunk-APRVAUOR.js → chunk-JY5GAZYC.js} +1 -0
  127. package/dist/{chunk-PUAA3P47.js → chunk-KIXNMTGC.js} +4 -4
  128. package/dist/{chunk-ES4XE6AU.js → chunk-LPKTGK7L.js} +4 -4
  129. package/dist/{chunk-KT4RUFYO.js → chunk-LRETL4I3.js} +3 -3
  130. package/dist/{chunk-JO6TS75M.js → chunk-LXG37RB2.js} +1 -1
  131. package/dist/{chunk-CI3YVCUY.js → chunk-MCNDZU5W.js} +1 -1
  132. package/dist/{chunk-JLXJMDKG.js → chunk-NE57GONM.js} +1 -1
  133. package/dist/{chunk-72GUU6Z4.js → chunk-NKDKB2RT.js} +3 -3
  134. package/dist/{chunk-KP3PLOGC.js → chunk-NP2Y7P3I.js} +2 -2
  135. package/dist/{chunk-ES6PDSEK.js → chunk-OAYTQ4RY.js} +8 -8
  136. package/dist/{chunk-Z5DTZ464.js → chunk-OIS5VIAH.js} +6 -0
  137. package/dist/{chunk-VPMAC5VB.js → chunk-OY2PWHYR.js} +1 -1
  138. package/dist/{chunk-YQ7IZPVC.js → chunk-PDRIIEFV.js} +1 -1
  139. package/dist/{chunk-W3REQ37P.js → chunk-PLOEFBFW.js} +2 -2
  140. package/dist/{chunk-X4EDW3FH.js → chunk-POZGQQEZ.js} +1 -1
  141. package/dist/{chunk-AJGTBW3N.js → chunk-QH2XAUZ5.js} +1 -1
  142. package/dist/{chunk-6CZXY5BD.js → chunk-QROIFRKI.js} +5 -5
  143. package/dist/{chunk-P2Y6S53G.js → chunk-R6LNQAUG.js} +1 -1
  144. package/dist/{chunk-JKOEOHOD.js → chunk-R7F6HKTH.js} +6 -21
  145. package/dist/{chunk-6WAJJN5W.js → chunk-RFUTLZ2U.js} +3 -3
  146. package/dist/{chunk-CQPFNVWY.js → chunk-RJ67HG2P.js} +3 -3
  147. package/dist/{chunk-6H4ZEU7P.js → chunk-SHEWTDPC.js} +4 -4
  148. package/dist/{chunk-XPGUSSG7.js → chunk-SIGAQQHW.js} +1 -1
  149. package/dist/{chunk-PUNCHUEX.js → chunk-SNWV44E5.js} +3 -3
  150. package/dist/{chunk-WJIGSNJM.js → chunk-SQBNN44X.js} +12 -12
  151. package/dist/{chunk-6UTP7AIH.js → chunk-STFR72YH.js} +1 -1
  152. package/dist/chunk-TWMWHDOY.js +79 -0
  153. package/dist/{chunk-RZSPCNLY.js → chunk-UZ5RJYL3.js} +1 -1
  154. package/dist/chunk-V3W3SATA.js +135 -0
  155. package/dist/{chunk-WL3CT5KX.js → chunk-VCCZQDCU.js} +2 -2
  156. package/dist/{chunk-VU2MZ7BP.js → chunk-VNK3MNZE.js} +40 -3
  157. package/dist/{chunk-MVYB76QG.js → chunk-VRTCVZND.js} +16 -20
  158. package/dist/{chunk-UEXJYSJX.js → chunk-VXL7PJ56.js} +39 -2
  159. package/dist/{chunk-4OMIENRX.js → chunk-VY5VU7SX.js} +1 -1
  160. package/dist/{chunk-JUE37LOD.js → chunk-W3XUU36X.js} +4 -4
  161. package/dist/{chunk-WHQYVFE2.js → chunk-W5YV2PZE.js} +22 -15
  162. package/dist/{chunk-DZNXWCJN.js → chunk-WA2MJGPT.js} +1 -1
  163. package/dist/{chunk-LDRMNJJJ.js → chunk-WCP4OQUL.js} +2 -2
  164. package/dist/{chunk-25X4JD2V.js → chunk-WDA2KAV7.js} +20 -3
  165. package/dist/{chunk-YNYISUMW.js → chunk-WRP5AG4D.js} +1 -1
  166. package/dist/{chunk-HAOZB4W6.js → chunk-X2F6Q7TW.js} +1 -1
  167. package/dist/{chunk-TQ4O5A4S.js → chunk-XV42EAVK.js} +1 -1
  168. package/dist/{chunk-TAR5J7WI.js → chunk-XVTKJEI2.js} +4 -4
  169. package/dist/{chunk-XQAELSOQ.js → chunk-XWWNRFRF.js} +2 -2
  170. package/dist/{chunk-6SAQSXT2.js → chunk-YKRNH5LU.js} +1 -1
  171. package/dist/{chunk-QXAE6S3A.js → chunk-YMCIZCNK.js} +3 -3
  172. package/dist/chunk-YQGMSXT5.js +33 -0
  173. package/dist/{chunk-LLXYWNCH.js → chunk-Z2PAVJJ4.js} +1 -1
  174. package/dist/{cleanup-graph-garbage-XUNHVCRR.js → cleanup-graph-garbage-XFGY4EEE.js} +11 -9
  175. package/dist/{cloud-sync-shutdown-JRAERBUO.js → cloud-sync-shutdown-XCOATIJW.js} +5 -3
  176. package/dist/{co-activation-5AN2CF23.js → co-activation-XNBLOGK3.js} +5 -3
  177. package/dist/{co-occurrence-A7E774ZX.js → co-occurrence-HO4PGQC4.js} +9 -7
  178. package/dist/{conversation-entity-extractor-2XI2GC4N.js → conversation-entity-extractor-5G5DGRJU.js} +4 -4
  179. package/dist/{crdt-sync-2IUU6GZ6.js → crdt-sync-6TD7LSZW.js} +3 -2
  180. package/dist/{crm-webhook-BQCP77TI.js → crm-webhook-WZAV5776.js} +2 -2
  181. package/dist/{cto-delegation-gate-UHHNMWCL.js → cto-delegation-gate-UHMYFM4D.js} +15 -13
  182. package/dist/{daemon-orchestration-7WS3X5DQ.js → daemon-orchestration-DT5M2ZAR.js} +20 -19
  183. package/dist/{daemon-ready-signal-TVCPSG7J.js → daemon-ready-signal-CKXPUMJ2.js} +3 -1
  184. package/dist/{daemon-restart-report-QDRGKLL6.js → daemon-restart-report-HZU5LWXN.js} +2 -1
  185. package/dist/{daemon-timer-report-NM44WQRH.js → daemon-timer-report-TNJH5SFY.js} +2 -1
  186. package/dist/{doc-graph-extractor-NFERAJNP.js → doc-graph-extractor-FNCYPFKY.js} +9 -7
  187. package/dist/{documents-SW2MJUXY.js → documents-GKDZDUED.js} +9 -7
  188. package/dist/{dreaming-KSNJVNFH.js → dreaming-WPMQJAXW.js} +19 -17
  189. package/dist/{exe-drift-NBLYKQBQ.js → exe-drift-QTKD2FHT.js} +6 -4
  190. package/dist/{exe-export-44IWTJHL.js → exe-export-ESJ6KP6J.js} +11 -9
  191. package/dist/{exe-import-PPECH3KO.js → exe-import-N4X3GEQB.js} +11 -9
  192. package/dist/{exe-key-ZCRJQYA7.js → exe-key-KZCCHX3W.js} +84 -77
  193. package/dist/{exe-snapshot-OVINJ6MC.js → exe-snapshot-SCRPHCPZ.js} +20 -18
  194. package/dist/{fast-db-init-B5Q3SJQG.js → fast-db-init-6H67K76Q.js} +1 -1
  195. package/dist/{founder-context-5OFTZNDO.js → founder-context-C7X7IRDA.js} +2 -2
  196. package/dist/founder-monitor-envelope-DHSUMBWU.js +83 -0
  197. package/dist/gateway/index.js +11 -9
  198. package/dist/{git-staleness-XQJTOSGZ.js → git-staleness-JCKVMWPO.js} +5 -3
  199. package/dist/{global-procedures-YCJ3JPAP.js → global-procedures-BR7WGSE7.js} +7 -5
  200. package/dist/{graph-auto-extract-XJN6PQH3.js → graph-auto-extract-EOXWQRBZ.js} +9 -7
  201. package/dist/{graph-rag-HCQCZ2W7.js → graph-rag-5FVC5JXH.js} +4 -4
  202. package/dist/{hook-prefetch-FKXDTCDS.js → hook-prefetch-2CN3MK4H.js} +16 -14
  203. package/dist/hooks/bug-report-worker.js +18 -16
  204. package/dist/hooks/codex-stop-task-finalizer.js +19 -17
  205. package/dist/hooks/commit-complete.js +18 -16
  206. package/dist/hooks/error-recall.js +10 -8
  207. package/dist/hooks/exe-heartbeat-hook.js +6 -4
  208. package/dist/hooks/ingest.js +14 -102
  209. package/dist/hooks/instructions-loaded.js +7 -5
  210. package/dist/hooks/manifest.json +19 -19
  211. package/dist/hooks/notification.js +7 -5
  212. package/dist/hooks/post-compact.js +17 -15
  213. package/dist/hooks/post-tool-combined.js +10 -10
  214. package/dist/hooks/pre-compact.js +18 -16
  215. package/dist/hooks/pre-tool-use.js +23 -21
  216. package/dist/hooks/prompt-submit.js +34 -38
  217. package/dist/hooks/session-end.js +22 -20
  218. package/dist/hooks/session-start.js +13 -18
  219. package/dist/hooks/stop.js +21 -19
  220. package/dist/hooks/subagent-stop.js +19 -17
  221. package/dist/hooks/summary-worker.js +22 -25
  222. package/dist/index.js +25 -23
  223. package/dist/{installer-YSCUE6MT.js → installer-7UV3CNWZ.js} +8 -6
  224. package/dist/{installer-YTT5OSRL.js → installer-VPNTM3X6.js} +8 -6
  225. package/dist/{installer-G3DVMNC6.js → installer-YDLSXGD2.js} +8 -6
  226. package/dist/{intercom-queue-5D52JF3Q.js → intercom-queue-KHKJJYCQ.js} +15 -13
  227. package/dist/lib/cloud-sync.js +18 -14
  228. package/dist/lib/consolidation.js +11 -9
  229. package/dist/lib/crypto.js +2 -1
  230. package/dist/lib/database.js +9 -3
  231. package/dist/lib/db-backup.js +1 -1
  232. package/dist/lib/db-checkpoint-worker.js +4 -0
  233. package/dist/lib/db-daemon-client.js +3 -1
  234. package/dist/lib/db-read-worker.js +4 -0
  235. package/dist/lib/db-write-worker.js +3 -3
  236. package/dist/lib/db.js +9 -3
  237. package/dist/lib/device-registry.js +1 -1
  238. package/dist/lib/employee-templates.js +8 -6
  239. package/dist/lib/employees.js +5 -3
  240. package/dist/lib/exe-daemon.js +202 -93
  241. package/dist/lib/hybrid-search.js +9 -7
  242. package/dist/lib/identity.js +5 -3
  243. package/dist/lib/license.js +2 -2
  244. package/dist/lib/messaging.js +16 -14
  245. package/dist/lib/registry-proxy.js +1 -1
  246. package/dist/lib/reminders.js +6 -4
  247. package/dist/lib/schedules.js +9 -7
  248. package/dist/lib/session-registry.js +7 -5
  249. package/dist/lib/skill-learning.js +10 -8
  250. package/dist/lib/store.js +8 -6
  251. package/dist/lib/task-router.js +6 -4
  252. package/dist/lib/tasks.js +17 -15
  253. package/dist/lib/tmux-routing.js +15 -13
  254. package/dist/lib/token-spend.js +8 -4
  255. package/dist/{license-gate-DKYHCAMN.js → license-gate-YXUSNA2I.js} +3 -3
  256. package/dist/{license-sync-JVEXPDHN.js → license-sync-XFDOXL3Z.js} +2 -2
  257. package/dist/mcp/register-tools.js +80 -76
  258. package/dist/mcp/server.js +81 -77
  259. package/dist/mcp/tools/complete-reminder.js +7 -5
  260. package/dist/mcp/tools/create-reminder.js +7 -5
  261. package/dist/mcp/tools/create-task.js +19 -17
  262. package/dist/mcp/tools/deactivate-behavior.js +11 -9
  263. package/dist/mcp/tools/list-reminders.js +7 -5
  264. package/dist/mcp/tools/list-tasks.js +19 -17
  265. package/dist/mcp/tools/send-message.js +18 -16
  266. package/dist/mcp/tools/update-task.js +18 -16
  267. package/dist/{mcp-health-WDOB6XUB.js → mcp-health-HNVSWKFA.js} +6 -1
  268. package/dist/{mcp-http-config-L5RDDU6P.js → mcp-http-config-HIP5CEDV.js} +6 -4
  269. package/dist/{mcp-session-identity-S6UCHBER.js → mcp-session-identity-RTNZ2ZLW.js} +15 -13
  270. package/dist/{memory-cards-65RGFT5M.js → memory-cards-KG4TPNKK.js} +8 -6
  271. package/dist/{memory-graph-extractor-ZDZ5VQUX.js → memory-graph-extractor-6HTBLO2N.js} +10 -8
  272. package/dist/{memory-poisoning-defense-EQUQNXRE.js → memory-poisoning-defense-3ZT57RSJ.js} +5 -3
  273. package/dist/{memory-pressure-watchdog-CC344JBH.js → memory-pressure-watchdog-ZOZBIMKC.js} +16 -14
  274. package/dist/{memory-reflection-Q4OT4V55.js → memory-reflection-EQC4FXSW.js} +5 -3
  275. package/dist/{monitor-grants-NWSQ7ZCQ.js → monitor-grants-BDLVFVDR.js} +3 -1
  276. package/dist/{notification-ledger-GL3ZPZNR.js → notification-ledger-NZ4HO3M5.js} +16 -14
  277. package/dist/{notifications-FGYNO2FY.js → notifications-74YECZ4V.js} +15 -13
  278. package/dist/{orchestration-events-N5FQ4SKU.js → orchestration-events-KRQI4ED5.js} +6 -4
  279. package/dist/{orchestrator-XUJDK4EW.js → orchestrator-WV2YCHTK.js} +17 -15
  280. package/dist/org-membership-B32NS5NI.js +34 -0
  281. package/dist/{pipeline-router-YQOZ4M62.js → pipeline-router-6ZZV7JMA.js} +6 -4
  282. package/dist/{plan-limits-VBHKYKSK.js → plan-limits-B7AZKZ6U.js} +8 -6
  283. package/dist/{platform-procedures-F3XB6WWM.js → platform-procedures-2VQGBJU7.js} +1 -1
  284. package/dist/{projection-worker-NJUNGEXE.js → projection-worker-LRFFQ6JB.js} +2 -2
  285. package/dist/{prospective-memory-3MKUPDVI.js → prospective-memory-A4GDTIWG.js} +5 -3
  286. package/dist/{reranker-LGSIL6TX.js → reranker-YVTLJCFC.js} +1 -1
  287. package/dist/{retrieval-health-AEEQ5IO6.js → retrieval-health-PK2ODTXM.js} +1 -1
  288. package/dist/{review-polling-2RMEZ5QO.js → review-polling-JFWRNQF6.js} +16 -14
  289. package/dist/runtime/index.js +19 -17
  290. package/dist/{session-events-5XSYCV4I.js → session-events-VMQBCUH3.js} +16 -14
  291. package/dist/{session-kill-telemetry-QJUHG3IG.js → session-kill-telemetry-Z3W256T5.js} +16 -14
  292. package/dist/{session-scope-LIJ746K2.js → session-scope-2ADEVY3C.js} +15 -13
  293. package/dist/{setup-wizard-RLUCGGA7.js → setup-wizard-26B36FMC.js} +1 -1
  294. package/dist/{shard-manager-3L2NMJVJ.js → shard-manager-DFLCDZT5.js} +2 -1
  295. package/dist/{skill-refinement-FMN3WFSG.js → skill-refinement-APBYOSGX.js} +6 -4
  296. package/dist/{stack-promote-BGDGAYKG.js → stack-promote-SZYIPTFT.js} +29 -4
  297. package/dist/{stack-release-SOIHMI3I.js → stack-release-EYRDEGPD.js} +4 -4
  298. package/dist/{stack-update-AXFHJRK5.js → stack-update-YWK2YXP6.js} +3 -3
  299. package/dist/{steward-gate-R2XWABMV.js → steward-gate-CIOBPNX6.js} +6 -4
  300. package/dist/{support-inbox-IITW66TG.js → support-inbox-OAWGFRKW.js} +3 -3
  301. package/dist/{support-outbox-WHGPUYL2.js → support-outbox-DSWU3IXH.js} +1 -1
  302. package/dist/{task-enforcement-SFZGBY27.js → task-enforcement-YAU6ZGDC.js} +16 -14
  303. package/dist/{task-scope-74ZIFQRH.js → task-scope-44N7XP5N.js} +15 -13
  304. package/dist/{tasks-crud-N54JZCXU.js → tasks-crud-IWVDREXG.js} +15 -13
  305. package/dist/{tasks-notify-62IJZW55.js → tasks-notify-WK5HA77D.js} +16 -14
  306. package/dist/{tasks-review-3LHBE6ZJ.js → tasks-review-VDFWFETP.js} +15 -13
  307. package/dist/{telemetry-upload-HR3QIWZV.js → telemetry-upload-3X5ESEKM.js} +20 -180
  308. package/dist/{token-budget-DBXHLCMN.js → token-budget-WZGO22ME.js} +6 -4
  309. package/dist/{tool-telemetry-UFUTCNE3.js → tool-telemetry-F7RWUNVK.js} +1 -1
  310. package/dist/tui/App.js +24 -22
  311. package/dist/{tui-data-BPXEJKRQ.js → tui-data-KT7YGVQS.js} +15 -13
  312. package/dist/{update-support-HLZ7KMVM.js → update-support-ZVRMECNQ.js} +13 -11
  313. package/dist/{work-state-heartbeat-IQI3LCHN.js → work-state-heartbeat-CA4CN7DQ.js} +1 -1
  314. package/dist/{worker-gate-5ABYGLC2.js → worker-gate-52MVKYGZ.js} +1 -1
  315. package/dist/{workflow-engine-XSUWZK6I.js → workflow-engine-ZAFBPVUP.js} +2 -2
  316. package/dist/{worktree-EUYBBABA.js → worktree-NNVXVV6A.js} +7 -5
  317. package/dist/{worktree-sweep-LSKFA2PK.js → worktree-sweep-IM2ZQG6Z.js} +8 -6
  318. package/package.json +14 -4
  319. package/release-notes.json +34 -30
  320. package/dist/chunk-7HLWBYH7.js +0 -60
  321. /package/dist/{chunk-AK77MITT.js → chunk-6JTKIXLU.js} +0 -0
  322. /package/dist/{chunk-HABPXFHZ.js → chunk-BGYCUZYK.js} +0 -0
  323. /package/dist/{chunk-GVU3BW6N.js → chunk-COHHVCFA.js} +0 -0
  324. /package/dist/{chunk-VML2UQK7.js → chunk-FVWI2AR4.js} +0 -0
  325. /package/dist/{chunk-2267TRAO.js → chunk-R62ITJDQ.js} +0 -0
  326. /package/dist/{chunk-HMBMHZ3S.js → chunk-U7RZIY74.js} +0 -0
  327. /package/dist/{chunk-7GOSAV25.js → chunk-XLEYCOHX.js} +0 -0
  328. /package/dist/{chunk-A627QFOE.js → chunk-YBX3G5OP.js} +0 -0
  329. /package/dist/{chunk-IHKRHGKT.js → chunk-ZMYXQU4L.js} +0 -0
  330. /package/dist/{core-memory-KXE4QMOA.js → core-memory-AATZRQEY.js} +0 -0
  331. /package/dist/{memory-isolation-VSKUKTN4.js → memory-isolation-CF6FYSXD.js} +0 -0
  332. /package/dist/{oauth-server-JELOVN5D.js → oauth-server-VE5ELXTF.js} +0 -0
  333. /package/dist/{project-boot-LQ4CF6BI.js → project-boot-WEQSKDD7.js} +0 -0
  334. /package/dist/{wiki-acl-VR4AFJ3T.js → wiki-acl-GNIXYWHJ.js} +0 -0
package/dist/tui/App.js CHANGED
@@ -1,27 +1,27 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getSessionPrompt
4
- } from "../chunk-P2Y6S53G.js";
5
- import "../chunk-KP3PLOGC.js";
6
- import "../chunk-2TL5RKMC.js";
4
+ } from "../chunk-R6LNQAUG.js";
5
+ import "../chunk-NP2Y7P3I.js";
6
+ import "../chunk-3BAGFZFN.js";
7
7
  import {
8
8
  sessionScopeFilter
9
- } from "../chunk-YSUHXDQU.js";
10
- import "../chunk-X7CWCQ5S.js";
11
- import "../chunk-TQ4O5A4S.js";
12
- import "../chunk-P7EUKYSQ.js";
9
+ } from "../chunk-74R44E4S.js";
10
+ import "../chunk-CAEWPEBA.js";
11
+ import "../chunk-XV42EAVK.js";
12
+ import "../chunk-6WHYSLGF.js";
13
+ import "../chunk-EIKATSE4.js";
13
14
  import "../chunk-E23LNUWJ.js";
14
15
  import "../chunk-4JERP7NT.js";
15
- import "../chunk-EIKATSE4.js";
16
- import "../chunk-PM4TIRCR.js";
16
+ import "../chunk-3ODATKWH.js";
17
17
  import "../chunk-UXLO7VHX.js";
18
18
  import "../chunk-DSOQUQTV.js";
19
19
  import "../chunk-SKGMF2SO.js";
20
- import "../chunk-X4EDW3FH.js";
20
+ import "../chunk-POZGQQEZ.js";
21
21
  import "../chunk-AJIXH5JF.js";
22
22
  import "../chunk-VAY6IXWY.js";
23
23
  import "../chunk-AM7S2TY6.js";
24
- import "../chunk-4GGP4Q5N.js";
24
+ import "../chunk-F3QTF4T7.js";
25
25
  import "../chunk-OSKWCKUC.js";
26
26
  import "../chunk-KI5PFRG6.js";
27
27
  import "../chunk-CVYC6DUW.js";
@@ -40,17 +40,19 @@ import {
40
40
  import {
41
41
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
42
42
  isCoordinatorName
43
- } from "../chunk-M5DPPJLS.js";
43
+ } from "../chunk-EA5FVACM.js";
44
44
  import "../chunk-2I23RPSI.js";
45
- import "../chunk-LLXYWNCH.js";
45
+ import "../chunk-5YEUPUV4.js";
46
+ import "../chunk-Z2PAVJJ4.js";
46
47
  import "../chunk-OMXJMOBD.js";
47
- import "../chunk-7HLWBYH7.js";
48
48
  import "../chunk-BBMTVAE3.js";
49
49
  import "../chunk-YMUZWC33.js";
50
+ import "../chunk-V3W3SATA.js";
51
+ import "../chunk-JY5GAZYC.js";
50
52
  import "../chunk-FXU7JOXK.js";
51
53
  import "../chunk-WNBZJSQT.js";
52
- import "../chunk-4VU2VCEU.js";
53
- import "../chunk-A627QFOE.js";
54
+ import "../chunk-2OVTGZYH.js";
55
+ import "../chunk-YBX3G5OP.js";
54
56
  import {
55
57
  THEME_MODES,
56
58
  tuiPalette
@@ -7423,7 +7425,7 @@ function useOrchestrator(enabled = true) {
7423
7425
  let cancelled = false;
7424
7426
  async function init() {
7425
7427
  try {
7426
- const { MultiAgentOrchestrator } = await import("../orchestrator-XUJDK4EW.js");
7428
+ const { MultiAgentOrchestrator } = await import("../orchestrator-WV2YCHTK.js");
7427
7429
  const { getCoordinatorName, isCoordinatorRole, loadEmployees } = await import("../lib/employees.js");
7428
7430
  const { isExeSession } = await import("../lib/tmux-routing.js");
7429
7431
  const { listTmuxSessions, inTmux } = await import("../lib/tmux-status.js");
@@ -7464,7 +7466,7 @@ function useOrchestrator(enabled = true) {
7464
7466
  setTotalInProgress(health.totalInProgress);
7465
7467
  try {
7466
7468
  const { getClient } = await import("../lib/database.js");
7467
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-74ZIFQRH.js");
7469
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-44N7XP5N.js");
7468
7470
  const client = getClient();
7469
7471
  const uoScope = sessionScopeFilter2();
7470
7472
  const result = await client.execute({
@@ -7496,7 +7498,7 @@ function useOrchestrator(enabled = true) {
7496
7498
  const spawnSession = useCallback5(
7497
7499
  async (agentId) => {
7498
7500
  try {
7499
- const { createTaskCore } = await import("../tasks-crud-N54JZCXU.js");
7501
+ const { createTaskCore } = await import("../tasks-crud-IWVDREXG.js");
7500
7502
  const { ensureEmployee } = await import("../lib/tmux-routing.js");
7501
7503
  const { getCoordinatorName } = await import("../lib/employees.js");
7502
7504
  await createTaskCore({
@@ -8120,7 +8122,7 @@ function TasksView({ onBack }) {
8120
8122
  const { withTrace } = await import("../telemetry-43X3GT3R.js");
8121
8123
  return withTrace("tui.tasks.loadTasks", async () => {
8122
8124
  try {
8123
- const { loadTaskList } = await import("../tui-data-BPXEJKRQ.js");
8125
+ const { loadTaskList } = await import("../tui-data-KT7YGVQS.js");
8124
8126
  const tasks = await loadTaskList();
8125
8127
  setAllTasks(
8126
8128
  tasks.map((task) => ({
@@ -8953,7 +8955,7 @@ function TeamView({ onBack, onViewSessions }) {
8953
8955
  let projectsByEmployee = /* @__PURE__ */ new Map();
8954
8956
  let currentTaskByEmployee = /* @__PURE__ */ new Map();
8955
8957
  try {
8956
- const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-BPXEJKRQ.js");
8958
+ const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-KT7YGVQS.js");
8957
8959
  setBadgeInFlight(true);
8958
8960
  const badgeCountsPromise = loadTeamBadgeCounts();
8959
8961
  const detailsPromise = loadTeamDetailMetrics(roster.map((emp) => emp.name));
@@ -9319,7 +9321,7 @@ function WikiView({ onBack }) {
9319
9321
  }
9320
9322
  setSearchLoading(true);
9321
9323
  try {
9322
- const { searchWikiMemoryRows } = await import("../tui-data-BPXEJKRQ.js");
9324
+ const { searchWikiMemoryRows } = await import("../tui-data-KT7YGVQS.js");
9323
9325
  setSearchResults(await searchWikiMemoryRows(query));
9324
9326
  } catch {
9325
9327
  setSearchResults([]);
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-YSUHXDQU.js";
4
- import "./chunk-X7CWCQ5S.js";
5
- import "./chunk-TQ4O5A4S.js";
6
- import "./chunk-P7EUKYSQ.js";
3
+ } from "./chunk-74R44E4S.js";
4
+ import "./chunk-CAEWPEBA.js";
5
+ import "./chunk-XV42EAVK.js";
6
+ import "./chunk-6WHYSLGF.js";
7
+ import "./chunk-EIKATSE4.js";
7
8
  import "./chunk-E23LNUWJ.js";
8
9
  import "./chunk-4JERP7NT.js";
9
- import "./chunk-EIKATSE4.js";
10
- import "./chunk-PM4TIRCR.js";
10
+ import "./chunk-3ODATKWH.js";
11
11
  import "./chunk-UXLO7VHX.js";
12
12
  import "./chunk-DSOQUQTV.js";
13
13
  import "./chunk-SKGMF2SO.js";
14
- import "./chunk-X4EDW3FH.js";
14
+ import "./chunk-POZGQQEZ.js";
15
15
  import "./chunk-AJIXH5JF.js";
16
16
  import "./chunk-VAY6IXWY.js";
17
17
  import "./chunk-AM7S2TY6.js";
18
- import "./chunk-4GGP4Q5N.js";
18
+ import "./chunk-F3QTF4T7.js";
19
19
  import "./chunk-OSKWCKUC.js";
20
20
  import "./chunk-KI5PFRG6.js";
21
21
  import "./chunk-CVYC6DUW.js";
@@ -31,17 +31,19 @@ import "./chunk-GJV3WDWM.js";
31
31
  import "./chunk-MP2AFCGL.js";
32
32
  import {
33
33
  getClient
34
- } from "./chunk-M5DPPJLS.js";
34
+ } from "./chunk-EA5FVACM.js";
35
35
  import "./chunk-2I23RPSI.js";
36
- import "./chunk-LLXYWNCH.js";
36
+ import "./chunk-5YEUPUV4.js";
37
+ import "./chunk-Z2PAVJJ4.js";
37
38
  import "./chunk-OMXJMOBD.js";
38
- import "./chunk-7HLWBYH7.js";
39
39
  import "./chunk-BBMTVAE3.js";
40
40
  import "./chunk-YMUZWC33.js";
41
+ import "./chunk-V3W3SATA.js";
42
+ import "./chunk-JY5GAZYC.js";
41
43
  import "./chunk-FXU7JOXK.js";
42
44
  import "./chunk-WNBZJSQT.js";
43
- import "./chunk-4VU2VCEU.js";
44
- import "./chunk-A627QFOE.js";
45
+ import "./chunk-2OVTGZYH.js";
46
+ import "./chunk-YBX3G5OP.js";
45
47
  import "./chunk-BCZF3AGJ.js";
46
48
  import "./chunk-HSGBZSCA.js";
47
49
  import "./chunk-MLKGABMK.js";
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  persistSupportArtifact
3
- } from "./chunk-CI3YVCUY.js";
3
+ } from "./chunk-MCNDZU5W.js";
4
4
  import {
5
5
  queueSupportStatusUpdateSync
6
- } from "./chunk-25X4JD2V.js";
6
+ } from "./chunk-WDA2KAV7.js";
7
7
  import {
8
8
  supportIdSchema,
9
9
  supportVersionSchema
10
10
  } from "./chunk-5H47VHB7.js";
11
11
  import "./chunk-MMRUBN3I.js";
12
12
  import "./chunk-I5AVZOL2.js";
13
- import "./chunk-WHQYVFE2.js";
14
- import "./chunk-IHKRHGKT.js";
13
+ import "./chunk-W5YV2PZE.js";
14
+ import "./chunk-ZMYXQU4L.js";
15
15
  import "./chunk-CHCA3ZM2.js";
16
16
  import "./chunk-OTVEIJUQ.js";
17
- import "./chunk-VML2UQK7.js";
17
+ import "./chunk-FVWI2AR4.js";
18
18
  import {
19
19
  getActiveAgent
20
- } from "./chunk-YNYISUMW.js";
20
+ } from "./chunk-WRP5AG4D.js";
21
21
  import "./chunk-5MOYSU5A.js";
22
22
  import {
23
23
  isTelemetryRedactionEnabled,
@@ -34,20 +34,22 @@ import "./chunk-VMR6M6GN.js";
34
34
  import "./chunk-NLEW62VC.js";
35
35
  import "./chunk-GJV3WDWM.js";
36
36
  import "./chunk-MP2AFCGL.js";
37
- import "./chunk-M5DPPJLS.js";
37
+ import "./chunk-EA5FVACM.js";
38
38
  import "./chunk-2I23RPSI.js";
39
- import "./chunk-LLXYWNCH.js";
39
+ import "./chunk-5YEUPUV4.js";
40
+ import "./chunk-Z2PAVJJ4.js";
40
41
  import "./chunk-OMXJMOBD.js";
41
- import "./chunk-7HLWBYH7.js";
42
42
  import "./chunk-BBMTVAE3.js";
43
43
  import "./chunk-YMUZWC33.js";
44
+ import "./chunk-V3W3SATA.js";
45
+ import "./chunk-JY5GAZYC.js";
44
46
  import "./chunk-FXU7JOXK.js";
45
47
  import "./chunk-QWVXN224.js";
46
48
  import {
47
49
  loadLicense,
48
50
  readCachedLicenseToken
49
- } from "./chunk-4VU2VCEU.js";
50
- import "./chunk-A627QFOE.js";
51
+ } from "./chunk-2OVTGZYH.js";
52
+ import "./chunk-YBX3G5OP.js";
51
53
  import {
52
54
  EXE_AI_DIR,
53
55
  loadConfig
@@ -9,7 +9,7 @@ import {
9
9
  runWorkStateTick,
10
10
  shouldWriteWorkState,
11
11
  upsertWorkState
12
- } from "./chunk-IHKRHGKT.js";
12
+ } from "./chunk-ZMYXQU4L.js";
13
13
  import "./chunk-CHCA3ZM2.js";
14
14
  import "./chunk-MLKGABMK.js";
15
15
  export {
@@ -6,7 +6,7 @@ import {
6
6
  releaseBackfillLock,
7
7
  tryAcquireBackfillLock,
8
8
  tryAcquireWorkerSlot
9
- } from "./chunk-XPGUSSG7.js";
9
+ } from "./chunk-SIGAQQHW.js";
10
10
  import "./chunk-BCZF3AGJ.js";
11
11
  import "./chunk-HSGBZSCA.js";
12
12
  import "./chunk-MLKGABMK.js";
@@ -10,8 +10,8 @@ import {
10
10
  persistWorkflows,
11
11
  runWorkflow,
12
12
  startWorkflow
13
- } from "./chunk-H4ZSOAP6.js";
14
- import "./chunk-GVU3BW6N.js";
13
+ } from "./chunk-44WFVMZ5.js";
14
+ import "./chunk-COHHVCFA.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
  export {
17
17
  advanceWorkflow,
@@ -16,15 +16,17 @@ import {
16
16
  resolveGitWithRetrySync,
17
17
  worktreeBranch,
18
18
  worktreePath
19
- } from "./chunk-TQ4O5A4S.js";
20
- import "./chunk-X4EDW3FH.js";
21
- import "./chunk-M5DPPJLS.js";
19
+ } from "./chunk-XV42EAVK.js";
20
+ import "./chunk-POZGQQEZ.js";
21
+ import "./chunk-EA5FVACM.js";
22
22
  import "./chunk-2I23RPSI.js";
23
- import "./chunk-LLXYWNCH.js";
23
+ import "./chunk-5YEUPUV4.js";
24
+ import "./chunk-Z2PAVJJ4.js";
24
25
  import "./chunk-OMXJMOBD.js";
25
- import "./chunk-7HLWBYH7.js";
26
26
  import "./chunk-BBMTVAE3.js";
27
27
  import "./chunk-YMUZWC33.js";
28
+ import "./chunk-V3W3SATA.js";
29
+ import "./chunk-JY5GAZYC.js";
28
30
  import "./chunk-FXU7JOXK.js";
29
31
  import "./chunk-BCZF3AGJ.js";
30
32
  import "./chunk-HSGBZSCA.js";
@@ -3,16 +3,18 @@ import {
3
3
  discoverRepoPaths,
4
4
  isWorktreePathOccupiedByCwd,
5
5
  sweepWorktrees
6
- } from "./chunk-ABM3DZF3.js";
7
- import "./chunk-TQ4O5A4S.js";
8
- import "./chunk-X4EDW3FH.js";
9
- import "./chunk-M5DPPJLS.js";
6
+ } from "./chunk-G37RG543.js";
7
+ import "./chunk-XV42EAVK.js";
8
+ import "./chunk-POZGQQEZ.js";
9
+ import "./chunk-EA5FVACM.js";
10
10
  import "./chunk-2I23RPSI.js";
11
- import "./chunk-LLXYWNCH.js";
11
+ import "./chunk-5YEUPUV4.js";
12
+ import "./chunk-Z2PAVJJ4.js";
12
13
  import "./chunk-OMXJMOBD.js";
13
- import "./chunk-7HLWBYH7.js";
14
14
  import "./chunk-BBMTVAE3.js";
15
15
  import "./chunk-YMUZWC33.js";
16
+ import "./chunk-V3W3SATA.js";
17
+ import "./chunk-JY5GAZYC.js";
16
18
  import "./chunk-FXU7JOXK.js";
17
19
  import "./chunk-BCZF3AGJ.js";
18
20
  import "./chunk-HSGBZSCA.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.9.357",
3
+ "version": "0.9.359",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",
@@ -64,6 +64,15 @@
64
64
  "deploy/compose"
65
65
  ],
66
66
  "exports": {
67
+ "./internal/*": null,
68
+ "./dist/internal/*": null,
69
+ "./dist/internal/*.js": null,
70
+ "./lib/founder-monitor-envelope": null,
71
+ "./lib/sync-cipher": null,
72
+ "./dist/lib/founder-monitor-envelope": null,
73
+ "./dist/lib/founder-monitor-envelope.js": null,
74
+ "./dist/lib/sync-cipher": null,
75
+ "./dist/lib/sync-cipher.js": null,
67
76
  ".": "./dist/index.js",
68
77
  "./runtime": "./dist/runtime/index.js",
69
78
  "./gateway": "./dist/gateway/index.js",
@@ -109,14 +118,15 @@
109
118
  "node": ">=20.0.0"
110
119
  },
111
120
  "scripts": {
121
+ "prepare": "git config core.hooksPath .githooks || true",
112
122
  "test": "vitest run",
113
123
  "test:watch": "vitest",
114
124
  "lint": "eslint src/ --max-warnings 53",
115
125
  "typecheck": "tsc --noEmit",
116
- "build": "bash scripts/build-lock.sh && mkdir -p dist/assets && cp src/assets/tmux.conf dist/assets/ && cp src/assets/ghostty.conf dist/assets/ && cp src/assets/statusline-command.sh dist/assets/ && cp src/assets/wezterm.lua dist/assets/ && cp src/assets/com.askexe.exed.plist dist/assets/ && cp src/bin/exe-start.sh dist/bin/exe-start.sh && (node dist/bin/generate-hook-manifest.js 2>/dev/null || true)",
117
- "deploy": "node dist/bin/pre-build-guard.js && npm run build && (node dist/bin/prune-orphan-chunks.js || true) && npm install -g . && node dist/bin/install.js --global && echo '[exe-os] Deploy complete. Run /mcp in active sessions to reconnect.'",
126
+ "build": "bash scripts/build-lock.sh && mkdir -p dist/assets && cp src/assets/tmux.conf dist/assets/ && cp src/assets/ghostty.conf dist/assets/ && cp src/assets/statusline-command.sh dist/assets/ && cp src/assets/wezterm.lua dist/assets/ && cp src/assets/com.askexe.exed.plist dist/assets/ && cp src/bin/exe-start.sh dist/bin/exe-start.sh && (node dist/bin/generate-hook-manifest.js 2>/dev/null || true) && node scripts/dist-integrity.mjs --record",
127
+ "deploy": "node dist/bin/pre-build-guard.js && EXE_DIST_CLEAN=1 npm run build && node scripts/dist-integrity.mjs --verify && (node dist/bin/prune-orphan-chunks.js || true) && npm install -g . && node dist/bin/install.js --global && echo '[exe-os] Deploy complete. Run /mcp in active sessions to reconnect.'",
118
128
  "postinstall": "[ ! -f dist/bin/install.js ] || node dist/bin/install.js --commands-only || true",
119
- "prepublishOnly": "npm run typecheck && npm run build && node dist/bin/prune-orphan-chunks.js --force && npm run guard:esm-require && npm run check:schema-version && node dist/bin/customer-readiness.js && node dist/bin/pre-publish.js",
129
+ "prepublishOnly": "npm run typecheck && EXE_DIST_CLEAN=1 npm run build && node dist/bin/prune-orphan-chunks.js --force && node scripts/dist-integrity.mjs --prune && npm run guard:esm-require && npm run check:schema-version && node dist/bin/customer-readiness.js && node dist/bin/pre-publish.js",
120
130
  "test:publish": "npx vitest run --maxWorkers=4 --exclude 'tests/tui/**' --exclude 'tests/lib/tmux-routing.test.ts' --exclude 'tests/lib/intercom-routing.test.ts' --exclude 'tests/gateway/**' --exclude 'tests/mcp/ingest-document.test.ts' --exclude 'tests/lib/hybrid-search.test.ts' --exclude 'tests/lib/worker-gate.test.ts' --exclude 'tests/daemon-perf-stress.test.ts' --exclude 'tests/lib/gateway-client.test.ts' --exclude 'tests/lib/ws-client.test.ts' --exclude 'tests/lib/ws-auth.test.ts' --exclude 'tests/integration/clean-stack-projection.test.ts' --exclude 'tests/orchestration/dispatch-chain.test.ts' --exclude 'tests/orchestration/e2e-flow.test.ts' && echo '::warning::clean-stack-projection and stack-update quarantined (need Docker + live DB; environmental, fail in CI runner — container unhealthy / DB not initialized); ws-client/ws-auth quarantined (30-120s timeouts flaky on Node 20 CI runner — passes locally). Quarantined to match build-and-test (required gate): dispatch-chain/e2e-flow (timing-sensitive, flaky under parallel load — bug dfb25bf1). device-id-split-brain/reaper-deps-async/find-free-instance/db-backup-recovery de-flaked and promoted to the required gate (chore/deflake-required-ci). See cicd-audit-2026-06-18.md.' && npx vitest run --maxWorkers=1 tests/daemon-perf-stress.test.ts tests/lib/gateway-client.test.ts",
121
131
  "benchmark:longmemeval": "npx tsx tests/benchmarks/longmemeval.ts",
122
132
  "guard:esm-require": "node scripts/check-no-runtime-require.mjs",
@@ -1,63 +1,67 @@
1
1
  {
2
- "current": "0.9.357",
2
+ "current": "0.9.359",
3
3
  "notes": {
4
- "0.9.357": {
5
- "version": "0.9.357",
6
- "date": "2026-07-28",
4
+ "0.9.359": {
5
+ "version": "0.9.359",
6
+ "date": "2026-07-30",
7
7
  "features": [],
8
8
  "fixes": [],
9
9
  "security": [],
10
10
  "other": [
11
- "v0.9.357image-pullability watchdog + upgrade.sh proxy login (#501)"
11
+ "v0.9.359keychain-dialog fix (#514) + telemetry-privacy P0 (#510) + dormant AI-Partner B1/B2 (#515)"
12
12
  ],
13
13
  "migration_notes": []
14
14
  },
15
- "0.9.356": {
16
- "version": "0.9.356",
17
- "date": "2026-07-27",
18
- "features": [],
15
+ "0.9.358": {
16
+ "version": "0.9.358",
17
+ "date": "2026-07-29",
18
+ "features": [
19
+ "budget: proactive global spend-cap alerting — the daemon now evaluates 24h spend against the configured cap on each agent-stats refresh and fires ONE notification per escalation (ok→near_cap→over_cap, re-arming on a drop), so a runaway agent that blows the budget is surfaced actively instead of only reactively via get_agent_spend (7c89b432) (#482)",
20
+ "security: repo-wide gitleaks pre-commit hook (staged-content scan, warn-and-allow when the tool is missing, CI full-history scan as the hard backstop) plus a fully triaged .gitleaksignore baseline — every entry is a documented false-positive (redaction-test fixtures, doc examples, public keys), with the standing policy that new untriaged findings still fail CI (caf65918) (#424)"
21
+ ],
19
22
  "fixes": [
20
- "memory reads no longer throw \"Database client not initialized\" memory(search)/recall_my_memory/ask_team_memory now guard on a shared ensureReadDbReady() and return an empty result gracefully when the DB adapter is unregistered (daemon down / degraded fastDbInit no-op), instead of crashing (extends the #474 fix to the read paths) (8167b9aa) (#495)",
21
- "spawn no longer emits a false \"Coordinator checkout refusal\" for worktree-isolated dispatch the coordinator-cwd refusal now only fires for an explicit spawn_worktree=false opt-out into the coordinator's live checkout; the main-checkout branch-stomp protection is preserved downstream, so code-role agents can again be dispatched from the coordinator's own repo (7af6e4a1) (#496)"
23
+ "db: reconcile the ADR-016 single-writer guard (supersedes #498+#487)isDaemonWriterAuthority() now fails SAFE on a frozen daemon (a socket-ping timeout is read as \"authority present\", refusing a second writer) and resolves the daemon PID/socket from the same EXE_OS_DIR-aware path the daemon writes to; adds an MCP-process unconditional direct-write block, a read-path short-circuit, a DB-open telemetry tripwire, and WAL/scope fixes; also folds in daemon stall-attribution, boot timing and cloud-sync-via-daemon diagnostics (df26c896) (#503)",
24
+ "ci: make two required-gate tests deterministic — the retrieval-telemetry \"hot path\" test now asserts the real invariant (synchronous void return + in-memory buffering, no DB I/O) instead of a wall-clock threshold, and the daemon-ready \"starting health window\" test uses fake timers; both previously flaked under self-hosted-runner load and stalled releases (a8817ab0) (#506)",
25
+ "release: drift-proof the stack-promote runbook + printed NEXT STEPS — re-sign the stack manifest and commit the SIGNED file BEFORE arming auto-merge (an armed auto-merge could otherwise land an unsigned manifest and brick fleet stack-update), and publish only after the signed manifest is on merged main; adds a doc-lint guard enforcing the ordering and a cli.ts --version routing regression test (5a6c6c52 #463, hardened by 53816038 #509)",
26
+ "daemon-report: exclude macOS host-sleep wake-clusters from the restart-report slowest-timer leaderboard too (shared with the timer report via a new daemon-sleep-filter module), so a laptop suspend no longer inflates the slowest-timer numbers with multi-minute sleep spans (#457)",
27
+ "procedures: raise the injected-procedures size cap to 27000 to fit the \"Done = LANDED\" terminal-state discipline addition, and teach merge/landing discipline in the platform procedures (#486)"
22
28
  ],
23
29
  "security": [],
24
30
  "other": [],
25
31
  "migration_notes": []
26
32
  },
27
- "0.9.355": {
28
- "version": "0.9.355",
29
- "date": "2026-07-27",
33
+ "0.9.357": {
34
+ "version": "0.9.357",
35
+ "date": "2026-07-28",
30
36
  "features": [
31
- "search: FTS queries now support exact \"quoted phrases\" and negative/NOT terms (`-term` / `NOT term`) parsed into FTS5 phrase + NOT clauses (query-construction only, no index/tokenizer change), with a safe fallback to a plain match on malformed input so a bad query never throws or returns nothing (91b92519) (#492)"
37
+ "release ops: nightly image-pullability drift watchdog a scheduled workflow HEAD-checks every pinned digest in the shipped stack manifests and fails loudly if any becomes un-pullable (registry GC, mirror rot, or proxy-auth drift), catching supply-chain breakage within ~24h instead of at a customer's deploy pre-flight (f4cbc12a) (#499)"
38
+ ],
39
+ "fixes": [
40
+ "deploy: the legacy deploy/upgrade.sh now docker-logins the update.askexe.com registry proxy (Basic auth, user token + EXE_REGISTRY_PROXY_PULL_TOKENS) before pulling — closes the one un-authenticated pull path that made manifest-pinned images fail with 401 on that flow (the primary `exe-os stack-update` path already re-auths per pull). Idempotent + guarded; skips cleanly when no proxy token is present (5f94882d) (#500)"
32
41
  ],
33
- "fixes": [],
34
42
  "security": [],
35
43
  "other": [],
36
44
  "migration_notes": []
37
45
  },
38
- "0.9.354": {
39
- "version": "0.9.354",
46
+ "0.9.356": {
47
+ "version": "0.9.356",
40
48
  "date": "2026-07-27",
41
- "features": [
42
- "diagnostics: new `memory_isolation` action scores how unique each agent's memory is vs how much it overlaps others — graph-entity-set Jaccard overlap + per-agent uniqueness score, read-only, no embeddings, session_scope-isolated (admin-only all_scopes opt-in) (d78ca1df) (#489)",
43
- "search-quality: aggregate precision@K reporting (micro + macro) over a window, computed read-only from existing memory_reads tasks telemetry and surfaced in `exe-memory-reads` (90bba6f0) (#490)"
49
+ "features": [],
50
+ "fixes": [
51
+ "memory reads no longer throw \"Database client not initialized\" — memory(search)/recall_my_memory/ask_team_memory now guard on a shared ensureReadDbReady() and return an empty result gracefully when the DB adapter is unregistered (daemon down / degraded fastDbInit no-op), instead of crashing (extends the #474 fix to the read paths) (8167b9aa) (#495)",
52
+ "spawn no longer emits a false \"Coordinator checkout refusal\" for worktree-isolated dispatch — the coordinator-cwd refusal now only fires for an explicit spawn_worktree=false opt-out into the coordinator's live checkout; the main-checkout branch-stomp protection is preserved downstream, so code-role agents can again be dispatched from the coordinator's own repo (7af6e4a1) (#496)"
44
53
  ],
45
- "fixes": [],
46
54
  "security": [],
47
55
  "other": [],
48
56
  "migration_notes": []
49
57
  },
50
- "0.9.353": {
51
- "version": "0.9.353",
58
+ "0.9.355": {
59
+ "version": "0.9.355",
52
60
  "date": "2026-07-27",
53
61
  "features": [
54
- "Opus 5.0 (claude-opus-5.0) is now a first-class selectable model across the claude + opencode runtimes, with aliases (opus, opus-5, opus5) and spawn-time validation fixes multi-customer reports that Opus 5.0 was rejected as unavailable (#480)"
55
- ],
56
- "fixes": [
57
- "employee-session spawn cwd is derived from the roster/project root instead of a prior task's stale or deleted worktree, and refuses cleanly (releasing the spawn lock) rather than hard-failing tmux new-session when no valid directory resolves (e1b1444b) (#481)",
58
- "intercom nudge delivery now confirms the Enter submission on an idle employee pane and re-queues half-delivered (typed-but-unsubmitted) nudges, so a dispatched agent no longer sits idle with an open task when the submit keystroke is dropped (e4889b61) (#483)",
59
- "ERP deploy health probe resolves its HTTP Host header from the configured stack domain (ERP_SITE_NAME) instead of a hardcoded 'localhost', so a Host-routed Frappe/ERPNext deployment no longer 404s and rolls back an otherwise-healthy release (9747e6e6) (#484)"
62
+ "search: FTS queries now support exact \"quoted phrases\" and negative/NOT terms (`-term` / `NOT term`) parsed into FTS5 phrase + NOT clauses (query-construction only, no index/tokenizer change), with a safe fallback to a plain match on malformed input so a bad query never throws or returns nothing (91b92519) (#492)"
60
63
  ],
64
+ "fixes": [],
61
65
  "security": [],
62
66
  "other": [],
63
67
  "migration_notes": []
@@ -1,60 +0,0 @@
1
- // src/lib/mcp-health.ts
2
- import { existsSync, readFileSync } from "fs";
3
- import path from "path";
4
- import { homedir } from "os";
5
- var PID_PATH = path.join(homedir(), ".exe-os", "exed.pid");
6
- function isDaemonAlive() {
7
- if (_isDaemonProcess) {
8
- return { alive: true, pid: process.pid };
9
- }
10
- try {
11
- if (!existsSync(PID_PATH)) {
12
- const socketPath = process.env.EXE_DAEMON_SOCK ?? path.join(homedir(), ".exe-os", "exed.sock");
13
- if (existsSync(socketPath)) return { alive: true, pid: null };
14
- return { alive: false, pid: null };
15
- }
16
- const pid = parseInt(readFileSync(PID_PATH, "utf8").trim(), 10);
17
- if (!Number.isFinite(pid) || pid <= 0) return { alive: false, pid: null };
18
- process.kill(pid, 0);
19
- return { alive: true, pid };
20
- } catch {
21
- return { alive: false, pid: null };
22
- }
23
- }
24
- function isMcpHealthy(_timeoutMs = 2e3) {
25
- if (_isDaemonProcess) return true;
26
- const { alive } = isDaemonAlive();
27
- if (!alive) return false;
28
- const socketPath = process.env.EXE_DAEMON_SOCK ?? process.env.EXE_EMBED_SOCK ?? path.join(homedir(), ".exe-os", "exed.sock");
29
- return existsSync(socketPath);
30
- }
31
- var _isDaemonProcess = false;
32
- function markAsDaemonProcess() {
33
- _isDaemonProcess = true;
34
- }
35
- var EVENT_LOOP_DEGRADED_THRESHOLD_MS = 5e3;
36
- var _eventLoopLagMs = 0;
37
- var _eventLoopLagUpdatedAt = 0;
38
- function setEventLoopLagMs(lagMs) {
39
- _eventLoopLagMs = lagMs;
40
- _eventLoopLagUpdatedAt = Date.now();
41
- }
42
- function getEventLoopLagMs() {
43
- return _eventLoopLagMs;
44
- }
45
- function getEventLoopLagUpdatedAt() {
46
- return _eventLoopLagUpdatedAt;
47
- }
48
- function isEventLoopDegraded() {
49
- return _eventLoopLagMs > EVENT_LOOP_DEGRADED_THRESHOLD_MS;
50
- }
51
-
52
- export {
53
- isDaemonAlive,
54
- isMcpHealthy,
55
- markAsDaemonProcess,
56
- setEventLoopLagMs,
57
- getEventLoopLagMs,
58
- getEventLoopLagUpdatedAt,
59
- isEventLoopDegraded
60
- };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes