@askexenow/exe-os 0.9.362 → 0.9.365

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 (450) hide show
  1. package/deploy/compose/.env.customer.example +46 -2
  2. package/deploy/compose/.env.example +49 -2
  3. package/deploy/compose/cloudflared/config.yml.example +15 -8
  4. package/deploy/compose/docker-compose.yml +240 -34
  5. package/deploy/compose/generate-env.ts +88 -2
  6. package/deploy/compose/status.sh +30 -0
  7. package/deploy/compose/uptime-check.sh +39 -2
  8. package/deploy/compose/wiki-schema-guard.sh +302 -0
  9. package/deploy/stack-manifests/v0.9.json +232 -2
  10. package/dist/.dist-verified.json +3 -3
  11. package/dist/{active-agent-BPNEBKHI.js → active-agent-C6DPH43L.js} +10 -5
  12. package/dist/{active-agent-3FV5V7SS.js → active-agent-MGF7J3HB.js} +10 -5
  13. package/dist/agent-defs-generator-X7TVMPVB.js +240 -0
  14. package/dist/{agentic-ontology-RCVCJ6WB.js → agentic-ontology-CARDCG37.js} +1 -1
  15. package/dist/artifact-backup-767STHSW.js +209 -0
  16. package/dist/artifact-provenance-C7HQ267L.js +13 -0
  17. package/dist/{backfill-gate-LRX77SUD.js → backfill-gate-VX2RZTQV.js} +2 -2
  18. package/dist/{backfill-metadata-Y3DGVCK5.js → backfill-metadata-ANCJA6LA.js} +7 -7
  19. package/dist/{background-jobs-Z6KHCWES.js → background-jobs-LTPWCMA3.js} +2 -2
  20. package/dist/{backup-verify-TZPPUCLU.js → backup-verify-F7BHVEF7.js} +27 -14
  21. package/dist/{behavior-injection-JMGGWCWG.js → behavior-injection-XQ4B7DCF.js} +13 -12
  22. package/dist/{behaviors-TT6CMEKC.js → behaviors-R2IE3PEN.js} +12 -11
  23. package/dist/bin/age-ontology-load.js +2 -2
  24. package/dist/bin/agentic-ontology-backfill.js +9 -9
  25. package/dist/bin/agentic-reflection-backfill.js +10 -10
  26. package/dist/bin/agentic-semantic-label.js +9 -9
  27. package/dist/bin/backfill-conversations.js +10 -9
  28. package/dist/bin/backfill-responses.js +10 -9
  29. package/dist/bin/backfill-vectors.js +14 -13
  30. package/dist/bin/bulk-sync-postgres.js +23 -19
  31. package/dist/bin/cc-doctor.js +11 -8
  32. package/dist/bin/cleanup-stale-review-tasks.js +26 -24
  33. package/dist/bin/cli.js +29 -102
  34. package/dist/bin/customer-readiness.js +3 -1
  35. package/dist/bin/deferred-daemon-restart.js +115 -103
  36. package/dist/bin/exe-agent-config.js +5 -5
  37. package/dist/bin/exe-agent.js +14 -14
  38. package/dist/bin/exe-assign.js +12 -11
  39. package/dist/bin/exe-boot.js +60 -51
  40. package/dist/bin/exe-call.js +7 -7
  41. package/dist/bin/exe-cloud.js +26 -22
  42. package/dist/bin/exe-config-dump.js +5 -5
  43. package/dist/bin/exe-dispatch.js +30 -24
  44. package/dist/bin/exe-doctor.js +10 -9
  45. package/dist/bin/exe-export-behaviors.js +14 -13
  46. package/dist/bin/exe-forget.js +9 -9
  47. package/dist/bin/exe-gateway.js +9 -9
  48. package/dist/bin/exe-grant.js +5 -5
  49. package/dist/bin/exe-healthcheck.js +13 -8
  50. package/dist/bin/exe-heartbeat.js +36 -29
  51. package/dist/bin/exe-kill.js +30 -28
  52. package/dist/bin/exe-launch-agent.js +41 -37
  53. package/dist/bin/exe-mcp.js +5 -5
  54. package/dist/bin/exe-memory-reads.js +7 -7
  55. package/dist/bin/exe-new-employee.js +12 -11
  56. package/dist/bin/exe-os-mcp-proxy.js +5 -5
  57. package/dist/bin/exe-pending-messages.js +27 -25
  58. package/dist/bin/exe-pending-notifications.js +26 -24
  59. package/dist/bin/exe-pending-reviews.js +27 -25
  60. package/dist/bin/exe-rename.js +7 -7
  61. package/dist/bin/exe-review.js +29 -27
  62. package/dist/bin/exe-search.js +8 -8
  63. package/dist/bin/exe-session-cleanup.js +31 -29
  64. package/dist/bin/exe-settings.js +24 -20
  65. package/dist/bin/exe-start-codex.js +36 -21
  66. package/dist/bin/exe-start-opencode.js +15 -14
  67. package/dist/bin/exe-status.js +28 -25
  68. package/dist/bin/exe-support.js +5 -4
  69. package/dist/bin/exe-team.js +12 -6
  70. package/dist/bin/exe-verify-running-images.js +145 -0
  71. package/dist/bin/exe-watchdog.js +16 -6
  72. package/dist/bin/git-sweep.js +27 -25
  73. package/dist/bin/graph-backfill.js +10 -9
  74. package/dist/bin/graph-export.js +8 -8
  75. package/dist/bin/import-history.js +13 -11
  76. package/dist/bin/install.js +119 -107
  77. package/dist/bin/intercom-check.js +5 -5
  78. package/dist/bin/mcp-sessions.js +2 -2
  79. package/dist/bin/orchestration-metrics.js +6 -6
  80. package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
  81. package/dist/bin/postgres-agentic-semantic-backfill.js +3 -3
  82. package/dist/bin/pre-publish.js +1 -1
  83. package/dist/bin/reconcile-backlog.js +2 -2
  84. package/dist/bin/registry-proxy.js +1 -1
  85. package/dist/bin/scan-tasks.js +26 -24
  86. package/dist/bin/setup.js +4 -3
  87. package/dist/bin/shard-migrate.js +8 -8
  88. package/dist/bin/stack-update.js +87 -38
  89. package/dist/bin/vps-health-gate.js +1 -1
  90. package/dist/{boot-generation-XABYKF5P.js → boot-generation-X45BSVZY.js} +5 -5
  91. package/dist/{boot-review-sections-2X5TFIGU.js → boot-review-sections-OBVRXXSF.js} +25 -23
  92. package/dist/{branch-hygiene-Z4IBWAOX.js → branch-hygiene-HFJ3HA62.js} +17 -10
  93. package/dist/{branding-7MZDHTKN.js → branding-GH43W3PU.js} +2 -2
  94. package/dist/build-manifest.json +1189 -1049
  95. package/dist/{capability-cards-O5UXDOOA.js → capability-cards-57FURUMR.js} +4 -4
  96. package/dist/{capacity-monitor-IPXM726A.js → capacity-monitor-QEL62JDO.js} +27 -25
  97. package/dist/{catchup-brief-EBIGDXOK.js → catchup-brief-PMXTCASA.js} +30 -28
  98. package/dist/{chunk-UO5QJ2RX.js → chunk-22YQBVMO.js} +4 -4
  99. package/dist/chunk-2ADYTOHQ.js +189 -0
  100. package/dist/{chunk-NO5KHKKB.js → chunk-2CWS374F.js} +1 -1
  101. package/dist/{chunk-NAHCSQWT.js → chunk-2ESB5SDP.js} +19 -7
  102. package/dist/{chunk-CY5NVDTH.js → chunk-2FYIMTQE.js} +9 -5
  103. package/dist/{chunk-SC6WDF3Q.js → chunk-2RQT7TED.js} +2 -2
  104. package/dist/{chunk-UWEFIIEG.js → chunk-3CIMDFXG.js} +1 -1
  105. package/dist/{chunk-E7PL3T2U.js → chunk-3JNVB5LG.js} +1 -1
  106. package/dist/{chunk-7SY2NOMQ.js → chunk-3THNS2T7.js} +1 -1
  107. package/dist/{chunk-XJIRUTGJ.js → chunk-45EQTS7B.js} +1 -1
  108. package/dist/{chunk-YZUHSV24.js → chunk-4LWBC7CM.js} +1 -1
  109. package/dist/{chunk-DKRDU2AX.js → chunk-4QKKLK3C.js} +14 -14
  110. package/dist/{chunk-WP2TGH5R.js → chunk-52TIQJEQ.js} +2 -2
  111. package/dist/{chunk-LG37UBBE.js → chunk-5CBGH6RA.js} +5 -5
  112. package/dist/{chunk-W3LKIQJ2.js → chunk-6GQYPJPG.js} +22 -16
  113. package/dist/{chunk-I3SF6QGV.js → chunk-6Q263OZE.js} +1 -1
  114. package/dist/{chunk-XSYQ5EPE.js → chunk-7C4FUNVO.js} +11 -11
  115. package/dist/{chunk-P7CV4SHQ.js → chunk-7Y6AQWVT.js} +21 -10
  116. package/dist/{chunk-NGDXBN3M.js → chunk-A6PDF4BO.js} +2 -2
  117. package/dist/chunk-A7XLR3K7.js +45 -0
  118. package/dist/{chunk-7H3AZNQ7.js → chunk-AGQAGOQN.js} +9 -9
  119. package/dist/{chunk-VDMFVUSY.js → chunk-ANPE3TT3.js} +3 -3
  120. package/dist/{chunk-NE4QI2GX.js → chunk-BATQKSLI.js} +2 -2
  121. package/dist/{chunk-AOMFYUPT.js → chunk-BEHLIRRJ.js} +2 -2
  122. package/dist/{chunk-6EM6USV7.js → chunk-BNHAZ65R.js} +42 -50
  123. package/dist/{chunk-HLU52KTO.js → chunk-BRLS5OLZ.js} +257 -36
  124. package/dist/{chunk-QCJT265O.js → chunk-BY7WWPRM.js} +1 -1
  125. package/dist/{chunk-Z67DIJKT.js → chunk-C3UAQ3JG.js} +1 -1
  126. package/dist/{chunk-MZYNW5OY.js → chunk-CDUB5Q6J.js} +1 -1
  127. package/dist/{chunk-5H3RHWRE.js → chunk-CKG6CVKI.js} +1 -1
  128. package/dist/{chunk-WH2VVEGD.js → chunk-CMBF5WCL.js} +56 -2
  129. package/dist/{chunk-JYKZVAS6.js → chunk-CPILYY2K.js} +1 -1
  130. package/dist/{chunk-XTGR3LMF.js → chunk-CW2UCKHS.js} +2 -2
  131. package/dist/{chunk-32FEF5BW.js → chunk-CWBFOAGM.js} +2 -2
  132. package/dist/{chunk-V5I5N7NC.js → chunk-DEFSN2FQ.js} +3 -3
  133. package/dist/{chunk-HAXCUCJC.js → chunk-DJK45U7B.js} +1 -1
  134. package/dist/{chunk-MZZN5GFC.js → chunk-DQ5KHWFD.js} +1 -1
  135. package/dist/{chunk-SLBOKYYQ.js → chunk-DWAQOEXL.js} +2 -2
  136. package/dist/{chunk-T2RZU7JA.js → chunk-DYWGIPVP.js} +7 -7
  137. package/dist/{chunk-6DTALXOA.js → chunk-E5HAY3DQ.js} +1 -1
  138. package/dist/{chunk-D5CY4E7I.js → chunk-EHHMNKOA.js} +1 -1
  139. package/dist/{chunk-54USDN5Q.js → chunk-EJ4522YM.js} +1 -1
  140. package/dist/{chunk-URNVIZXU.js → chunk-EKVTRI3N.js} +52 -6
  141. package/dist/{chunk-KID6T2A4.js → chunk-EMZHB767.js} +44 -35
  142. package/dist/{chunk-KBI4FVBZ.js → chunk-EPDNWY5P.js} +111 -22
  143. package/dist/{chunk-AQO3BT3I.js → chunk-EPNWEOOE.js} +13 -13
  144. package/dist/{chunk-5C6ZIJ7J.js → chunk-ESTR7QUP.js} +1 -1
  145. package/dist/{chunk-Q2VQNAPU.js → chunk-EVPBYX2Z.js} +2 -2
  146. package/dist/{chunk-CVYDJ2TW.js → chunk-EWCEUO65.js} +1 -1
  147. package/dist/{chunk-RNSAVQEU.js → chunk-EWZYFG5Q.js} +8 -3
  148. package/dist/{chunk-R7F6HKTH.js → chunk-EXDW3E2R.js} +3 -1
  149. package/dist/{chunk-TY4JLBFO.js → chunk-F2S3M5MB.js} +3 -3
  150. package/dist/{chunk-BT2PUK3S.js → chunk-FXPAUDCZ.js} +1 -1
  151. package/dist/{chunk-3C7NE4JE.js → chunk-G2EAYH4U.js} +1 -1
  152. package/dist/{chunk-WDA2KAV7.js → chunk-GSJLB6JI.js} +1 -1
  153. package/dist/{chunk-M67ARGXY.js → chunk-H37FSTF2.js} +1 -1
  154. package/dist/{chunk-ZR4CQBAP.js → chunk-H74466TM.js} +1 -1
  155. package/dist/{chunk-3BAGFZFN.js → chunk-HHGOCBVQ.js} +9 -9
  156. package/dist/{working-memory-BACVOAIV.js → chunk-HSFBNCNC.js} +3 -3
  157. package/dist/{chunk-PF7EQSE5.js → chunk-IIZITKBV.js} +6 -6
  158. package/dist/{chunk-2FA4PYYX.js → chunk-IM2I7OOS.js} +1 -1
  159. package/dist/{chunk-DSKEYEL2.js → chunk-IXEFO6HD.js} +3 -3
  160. package/dist/{chunk-TN2E6ZCM.js → chunk-J4U5Z7VX.js} +214 -58
  161. package/dist/{chunk-PU7UYQRC.js → chunk-J5EYOBFF.js} +1 -1
  162. package/dist/{chunk-RWKX2TK5.js → chunk-J6I7X272.js} +1 -1
  163. package/dist/{chunk-BDLRTLXY.js → chunk-JITNFE4W.js} +6 -2
  164. package/dist/{chunk-PUMH7JSB.js → chunk-JNVQGLPX.js} +3 -3
  165. package/dist/{chunk-VAOUB2TK.js → chunk-JTB5V6BV.js} +1 -1
  166. package/dist/{chunk-QYRI25IP.js → chunk-JUOZLXLH.js} +2 -2
  167. package/dist/{chunk-RYRNY6IF.js → chunk-JYFYIGYK.js} +2 -2
  168. package/dist/{chunk-2PRAXZWM.js → chunk-KOYGRP2L.js} +10 -5
  169. package/dist/{chunk-4AFD4R35.js → chunk-KRUYQFSH.js} +5 -5
  170. package/dist/chunk-L25OAFOU.js +93 -0
  171. package/dist/{chunk-FUQ2OSDV.js → chunk-L2VZBPJJ.js} +25 -8
  172. package/dist/{chunk-LCDW2HUL.js → chunk-LHOKWZKL.js} +1 -1
  173. package/dist/{chunk-BN26LSME.js → chunk-LKYGSJ2E.js} +13 -2
  174. package/dist/chunk-LNOS24GV.js +214 -0
  175. package/dist/{chunk-O32HTNRX.js → chunk-LZKYVMBY.js} +13 -4
  176. package/dist/{chunk-35FD67ZB.js → chunk-M7EES2KM.js} +3 -3
  177. package/dist/chunk-MBBFL2SP.js +45 -0
  178. package/dist/{chunk-4R2WD6T3.js → chunk-MPQXQ5IE.js} +2 -2
  179. package/dist/{chunk-QQMYD4M7.js → chunk-MXEIZUXG.js} +1 -1
  180. package/dist/{chunk-6QJXFLNN.js → chunk-MZJBUAC3.js} +5 -5
  181. package/dist/chunk-NEHOQ3P2.js +19 -0
  182. package/dist/{chunk-BRZR76TS.js → chunk-NJFJWQNN.js} +49 -14
  183. package/dist/{chunk-Q7J2SQJ6.js → chunk-NO3M2AFM.js} +100 -32
  184. package/dist/{gotrue-session-2IT7MDGW.js → chunk-NUTZJZKW.js} +7 -8
  185. package/dist/{chunk-6UZDGEGQ.js → chunk-NV6A5HDN.js} +71 -1
  186. package/dist/{chunk-ZI3HA3XW.js → chunk-O2MEBF23.js} +3 -3
  187. package/dist/{chunk-V6YLIDLK.js → chunk-ODBRU6BF.js} +577 -230
  188. package/dist/{chunk-6N3HUOV3.js → chunk-OFGFRT5J.js} +2 -2
  189. package/dist/{chunk-HKQ7UTSE.js → chunk-OPNROU5B.js} +1 -1
  190. package/dist/{chunk-SQM4ZTL2.js → chunk-ORNCMRIX.js} +60 -33
  191. package/dist/{chunk-RUUX2ZST.js → chunk-P47MPWNU.js} +1 -1
  192. package/dist/{org-key-admin-4W6LZ5KZ.js → chunk-P5XTVIEC.js} +62 -17
  193. package/dist/{chunk-OZNCAMS3.js → chunk-POPRJKAY.js} +122 -20
  194. package/dist/{chunk-SRFRUN66.js → chunk-PPGPCWRC.js} +5 -5
  195. package/dist/{chunk-B6PFGUYJ.js → chunk-PVEM537A.js} +46 -5
  196. package/dist/{chunk-QJBX3MBV.js → chunk-Q7BU5Q6I.js} +3 -3
  197. package/dist/{chunk-SXKIGBNF.js → chunk-QFIVK3G5.js} +1 -1
  198. package/dist/{chunk-BRIZ6OZ3.js → chunk-QMSEL5YS.js} +81 -23
  199. package/dist/{chunk-BJEQBKGH.js → chunk-QYJANQWC.js} +8 -8
  200. package/dist/{chunk-4U56FZ7B.js → chunk-R7RM766N.js} +3 -3
  201. package/dist/{chunk-QI25QRUP.js → chunk-RD4E5G3B.js} +2 -2
  202. package/dist/{chunk-QP53XLC5.js → chunk-RHX6MNWY.js} +1 -1
  203. package/dist/chunk-RIECV7SR.js +234 -0
  204. package/dist/{chunk-3YBJ36UX.js → chunk-RLDMUSRM.js} +2 -2
  205. package/dist/{chunk-CXQ724WH.js → chunk-RVWALVDT.js} +2 -2
  206. package/dist/{chunk-VWTUKKUF.js → chunk-RZIKSE6N.js} +10 -4
  207. package/dist/chunk-SBAU735L.js +328 -0
  208. package/dist/{chunk-XRCX6R5S.js → chunk-SBJV2PCU.js} +1 -1
  209. package/dist/chunk-SO7KTH3Q.js +27 -0
  210. package/dist/{chunk-327Q53AS.js → chunk-SP37DONS.js} +17 -6
  211. package/dist/{chunk-KA4WVDLX.js → chunk-T6S45OLV.js} +4 -4
  212. package/dist/chunk-TCTED52S.js +120 -0
  213. package/dist/{chunk-HLQ4MS42.js → chunk-TO6TB75E.js} +4 -4
  214. package/dist/{chunk-465RCKVI.js → chunk-U373MEF5.js} +6 -6
  215. package/dist/{chunk-AL4HXKDJ.js → chunk-VGE6IHZB.js} +10 -10
  216. package/dist/{chunk-WBG7XYVR.js → chunk-VHJVD3MZ.js} +8 -0
  217. package/dist/{chunk-ZZEKOI2M.js → chunk-VMJ2UH4S.js} +1 -1
  218. package/dist/{chunk-3ICF4IAZ.js → chunk-VS4LPG66.js} +1 -1
  219. package/dist/{chunk-E3YI6FVJ.js → chunk-VV5EZZNT.js} +1 -1
  220. package/dist/{chunk-OPU3NYOO.js → chunk-W2IRQJ6R.js} +12 -0
  221. package/dist/{chunk-PV5BIXT6.js → chunk-WR75WUEP.js} +1 -1
  222. package/dist/{chunk-XUB4GFPN.js → chunk-WYLFDSIE.js} +144 -99
  223. package/dist/{chunk-4L33OFU4.js → chunk-X2P43TB2.js} +6 -3
  224. package/dist/chunk-X2X3IGZU.js +215 -0
  225. package/dist/{chunk-KIKB6FY3.js → chunk-X6A2VWVJ.js} +2 -2
  226. package/dist/chunk-XMVSLLED.js +38 -0
  227. package/dist/{chunk-KDMVVHZH.js → chunk-XTWHNLGD.js} +95 -23
  228. package/dist/{chunk-QY3TM2T3.js → chunk-YMJOLEPE.js} +4 -4
  229. package/dist/{chunk-RFKRCVGW.js → chunk-YYA5LXCT.js} +1 -1
  230. package/dist/{chunk-HSKABJE6.js → chunk-ZDUO6QBH.js} +5 -10
  231. package/dist/{chunk-PDJWHL63.js → chunk-ZEKCHV43.js} +4 -4
  232. package/dist/{chunk-23KWUA7Z.js → chunk-ZNEBZCZR.js} +53 -2
  233. package/dist/chunk-ZNUJFX7L.js +135 -0
  234. package/dist/{chunk-TP7RXGMP.js → chunk-ZRKEUCUZ.js} +315 -67
  235. package/dist/{chunk-6Y3KUO7Q.js → chunk-ZSZPMUNX.js} +244 -21
  236. package/dist/{chunk-4P2BFNSB.js → chunk-ZVTKWWLV.js} +2 -2
  237. package/dist/{chunk-RCOIKTHM.js → chunk-ZZXMB5F2.js} +1 -1
  238. package/dist/{cleanup-graph-garbage-6F22Y5SD.js → cleanup-graph-garbage-CAA625RJ.js} +10 -9
  239. package/dist/cloud-sync-command-DBB7WRHL.js +96 -0
  240. package/dist/cloud-sync-db-init-V7IB23W5.js +46 -0
  241. package/dist/{cloud-sync-shutdown-FWERMZB5.js → cloud-sync-shutdown-2D3B73CJ.js} +10 -4
  242. package/dist/{cloud-sync-state-DJRZORFI.js → cloud-sync-state-5DFKLWNB.js} +1 -1
  243. package/dist/{co-activation-UEEDCM5U.js → co-activation-JVN7EBS6.js} +4 -4
  244. package/dist/{co-occurrence-W6OPFRSY.js → co-occurrence-526PTFGT.js} +8 -7
  245. package/dist/{code-context-index-DWR6HS35.js → code-context-index-XOP6TLPZ.js} +5 -4
  246. package/dist/{conversation-entity-extractor-LWUIH3UB.js → conversation-entity-extractor-JO56DB2E.js} +9 -4
  247. package/dist/{conversation-wiki-populator-5EGRW2UZ.js → conversation-wiki-populator-EBUZXYEU.js} +1 -1
  248. package/dist/{crdt-sync-NHJX3ZJD.js → crdt-sync-LIJLZKFE.js} +2 -2
  249. package/dist/{crm-webhook-OY467ATC.js → crm-webhook-55F7Y6D2.js} +2 -2
  250. package/dist/{cto-delegation-gate-XH4YSQVC.js → cto-delegation-gate-QIYV4KFO.js} +41 -24
  251. package/dist/daemon-auth-SSPY5ODS.js +46 -0
  252. package/dist/{daemon-orchestration-7425ZVNH.js → daemon-orchestration-Q3GJA2JJ.js} +46 -30
  253. package/dist/{daemon-ready-VGPSRI3Z.js → daemon-ready-MKBH4QWD.js} +1 -1
  254. package/dist/{daemon-restart-report-HZU5LWXN.js → daemon-restart-report-EIVD6WDJ.js} +1 -1
  255. package/dist/db-integrity-events-5DTASXJF.js +22 -0
  256. package/dist/{db-restore-events-TFCZ4CPM.js → db-restore-events-2FI4ZMKA.js} +1 -1
  257. package/dist/{doc-graph-extractor-RR2VSO4W.js → doc-graph-extractor-P46R4QME.js} +13 -8
  258. package/dist/{documents-TRZ4R2ZW.js → documents-7KFEREWO.js} +12 -11
  259. package/dist/{dreaming-MAMZAPYW.js → dreaming-JMUXBAPU.js} +29 -27
  260. package/dist/employee-boot-brief-HN63D2BY.js +71 -0
  261. package/dist/{exe-drift-VBWB5E6S.js → exe-drift-7J7GX7DP.js} +5 -5
  262. package/dist/{exe-export-XJJTVVT7.js → exe-export-KJ7B2OBU.js} +14 -13
  263. package/dist/{exe-import-G6O7JFNZ.js → exe-import-HPZDWKGE.js} +14 -13
  264. package/dist/{exe-key-A2WJLLTM.js → exe-key-2PREP464.js} +117 -105
  265. package/dist/{exe-org-HXF4XBB3.js → exe-org-VEIISATF.js} +88 -26
  266. package/dist/{exe-snapshot-TL3TLKLR.js → exe-snapshot-JXQFLUKA.js} +33 -40
  267. package/dist/{fast-db-init-SO2XUQ7T.js → fast-db-init-SCXJXOYX.js} +1 -1
  268. package/dist/{founder-context-IOCADC66.js → founder-context-U2SZPLYV.js} +4 -3
  269. package/dist/{founder-monitor-envelope-SMILO4BT.js → founder-monitor-envelope-5KTKNL5G.js} +4 -4
  270. package/dist/fts-integrity-LKAZEZJE.js +96 -0
  271. package/dist/gateway/index.js +19 -19
  272. package/dist/{git-staleness-I6WT7EXV.js → git-staleness-S4NDR7NX.js} +4 -4
  273. package/dist/{global-procedures-3RMO6C3C.js → global-procedures-ZOFTOXIR.js} +6 -6
  274. package/dist/gotrue-session-ODZ2ERJX.js +25 -0
  275. package/dist/{graph-auto-extract-NKTYPD2I.js → graph-auto-extract-CLVTSUSB.js} +8 -7
  276. package/dist/{graph-rag-EOGPZOYI.js → graph-rag-LSJLWGXV.js} +4 -3
  277. package/dist/{hook-integrity-RTBF2BL2.js → hook-integrity-SGTKBL6W.js} +1 -1
  278. package/dist/{hook-prefetch-V5KCGW2N.js → hook-prefetch-BDSLB6F4.js} +26 -24
  279. package/dist/hooks/bug-report-worker.js +30 -28
  280. package/dist/hooks/codex-stop-task-finalizer.js +32 -30
  281. package/dist/hooks/commit-complete.js +29 -27
  282. package/dist/hooks/error-recall.js +11 -10
  283. package/dist/hooks/exe-heartbeat-hook.js +7 -6
  284. package/dist/hooks/ingest-worker.js +10 -9
  285. package/dist/hooks/ingest.js +18 -16
  286. package/dist/hooks/instructions-loaded.js +12 -8
  287. package/dist/hooks/manifest.json +20 -20
  288. package/dist/hooks/notification.js +8 -7
  289. package/dist/hooks/post-compact.js +7 -6
  290. package/dist/hooks/post-tool-combined.js +33 -14
  291. package/dist/hooks/pre-compact.js +31 -28
  292. package/dist/hooks/pre-tool-use.js +61 -34
  293. package/dist/hooks/prompt-submit.js +45 -42
  294. package/dist/hooks/session-end.js +40 -35
  295. package/dist/hooks/session-start.js +29 -71
  296. package/dist/hooks/stop.js +42 -36
  297. package/dist/hooks/subagent-stop.js +49 -33
  298. package/dist/hooks/summary-worker.js +35 -33
  299. package/dist/index.js +40 -38
  300. package/dist/{installer-G67M3DME.js → installer-EA7T3PBD.js} +7 -7
  301. package/dist/{installer-L3ZKMOPU.js → installer-KCEM4RCG.js} +7 -7
  302. package/dist/{installer-QBWZSYDG.js → installer-RC2JCKSE.js} +9 -7
  303. package/dist/{intercom-queue-R5LSXD3V.js → intercom-queue-6DZPHHQ2.js} +25 -23
  304. package/dist/{key-backup-status-3RC6XTUX.js → key-backup-status-6L2ARCXW.js} +1 -1
  305. package/dist/lib/agent-config.js +2 -2
  306. package/dist/lib/cloud-sync.js +25 -19
  307. package/dist/lib/config.js +1 -1
  308. package/dist/lib/consolidation.js +9 -9
  309. package/dist/lib/crypto.js +3 -1
  310. package/dist/lib/database.js +18 -4
  311. package/dist/lib/db-backup.js +4 -2
  312. package/dist/lib/db-daemon-client.js +5 -4
  313. package/dist/lib/db-write-worker.js +3 -3
  314. package/dist/lib/db.js +18 -4
  315. package/dist/lib/device-registry.js +2 -2
  316. package/dist/lib/embed-worker.js +1 -1
  317. package/dist/lib/embedder.js +5 -4
  318. package/dist/lib/employee-templates.js +7 -7
  319. package/dist/lib/employees.js +4 -4
  320. package/dist/lib/exe-daemon-client.js +4 -3
  321. package/dist/lib/exe-daemon.js +473 -206
  322. package/dist/lib/hybrid-search.js +8 -8
  323. package/dist/lib/identity-templates.js +1 -1
  324. package/dist/lib/identity.js +4 -4
  325. package/dist/lib/license.js +6 -4
  326. package/dist/lib/messaging.js +26 -24
  327. package/dist/lib/post-tool-memory.js +2 -2
  328. package/dist/lib/registry-proxy.js +3 -1
  329. package/dist/lib/reminders.js +5 -5
  330. package/dist/lib/schedules.js +8 -8
  331. package/dist/lib/session-registry.js +6 -6
  332. package/dist/lib/skill-learning.js +14 -12
  333. package/dist/lib/stack-invariants.js +21 -0
  334. package/dist/lib/status-brief.js +3 -3
  335. package/dist/lib/store.js +7 -7
  336. package/dist/lib/task-router.js +5 -5
  337. package/dist/lib/tasks.js +27 -25
  338. package/dist/lib/tmux-routing.js +25 -23
  339. package/dist/lib/token-spend.js +5 -5
  340. package/dist/{license-gate-6R3F3NQR.js → license-gate-HMSMUIAU.js} +5 -4
  341. package/dist/{license-sync-VBJCXBAP.js → license-sync-FBCMPC4J.js} +4 -3
  342. package/dist/{mailbox-inbox-CP2VRBXZ.js → mailbox-inbox-4MEUOL3J.js} +2 -2
  343. package/dist/{mailbox-outbox-HXI7DYNC.js → mailbox-outbox-J6WIF3UY.js} +1 -1
  344. package/dist/mcp/register-tools.js +114 -102
  345. package/dist/mcp/server.js +120 -108
  346. package/dist/mcp/tools/complete-reminder.js +6 -6
  347. package/dist/mcp/tools/create-reminder.js +6 -6
  348. package/dist/mcp/tools/create-task.js +30 -27
  349. package/dist/mcp/tools/deactivate-behavior.js +15 -13
  350. package/dist/mcp/tools/list-reminders.js +6 -6
  351. package/dist/mcp/tools/list-tasks.js +30 -27
  352. package/dist/mcp/tools/send-message.js +29 -26
  353. package/dist/mcp/tools/update-task.js +28 -26
  354. package/dist/{mcp-http-config-BWX7AMAZ.js → mcp-http-config-YKJN52HG.js} +5 -5
  355. package/dist/{mcp-session-identity-GOBGICLI.js → mcp-session-identity-QLUVYWPR.js} +25 -23
  356. package/dist/{memory-cards-4EXX3BQS.js → memory-cards-K2OSX4AW.js} +7 -7
  357. package/dist/{memory-graph-extractor-OYVZIJ3R.js → memory-graph-extractor-YLTSKLSY.js} +9 -8
  358. package/dist/{memory-poisoning-defense-AHOD2EBX.js → memory-poisoning-defense-IPO4ADRL.js} +4 -4
  359. package/dist/{memory-pressure-watchdog-COJC3OYS.js → memory-pressure-watchdog-ZI3TH2OF.js} +26 -24
  360. package/dist/{memory-queue-4VN3DTOE.js → memory-queue-QJNWKWKG.js} +2 -2
  361. package/dist/{memory-queue-client-OI4LDT4W.js → memory-queue-client-HIHCA3W4.js} +6 -5
  362. package/dist/{memory-reflection-V2SNAUIB.js → memory-reflection-ZKVRU3NT.js} +4 -4
  363. package/dist/{monitor-grants-W3ISOLMC.js → monitor-grants-BW2WL4IU.js} +3 -3
  364. package/dist/{notification-ledger-J6Q2GAYU.js → notification-ledger-4REL6M3T.js} +27 -25
  365. package/dist/{notifications-56TP36IK.js → notifications-UXJUAP3C.js} +25 -23
  366. package/dist/{orchestration-events-CKQ756NA.js → orchestration-events-GMRGGBMN.js} +5 -5
  367. package/dist/{orchestration-phase-ZJ4XVNFO.js → orchestration-phase-UDS24CVQ.js} +2 -2
  368. package/dist/{orchestrator-ERSQ3KNT.js → orchestrator-5TV75HDJ.js} +27 -25
  369. package/dist/{org-brief-session-FSZ3QJDN.js → org-brief-session-7AZZEO3F.js} +13 -13
  370. package/dist/{org-consent-policy-BN7MKCZ2.js → org-consent-policy-XT6UZENB.js} +2 -2
  371. package/dist/{org-join-HTQ57JYH.js → org-join-BMBQDMVF.js} +10 -7
  372. package/dist/org-key-admin-SCCVVE2H.js +38 -0
  373. package/dist/{org-key-pin-OTOKAELD.js → org-key-pin-5WUSPGVN.js} +3 -3
  374. package/dist/{org-membership-SML6GCHP.js → org-membership-ESALTLLN.js} +4 -4
  375. package/dist/{org-partner-config-XQGOB7EJ.js → org-partner-config-YKHPDPZR.js} +6 -6
  376. package/dist/{org-partner-runtime-RNNUL5IN.js → org-partner-runtime-WLZAZJIY.js} +14 -14
  377. package/dist/{org-row-visibility-JZFJ3YRJ.js → org-row-visibility-A5XM4MVO.js} +1 -1
  378. package/dist/{pipeline-router-IUENNTAY.js → pipeline-router-UEVXDUHR.js} +5 -5
  379. package/dist/{plan-limits-ZUII366B.js → plan-limits-QEP32X4W.js} +8 -7
  380. package/dist/{platform-procedures-2VQGBJU7.js → platform-procedures-44NDFTB6.js} +1 -1
  381. package/dist/{postinstall-failure-A7WTAXD6.js → postinstall-failure-B2JHNFPM.js} +2 -2
  382. package/dist/{project-boot-3DFY5F35.js → project-boot-LEZSK3W7.js} +9 -1
  383. package/dist/project-name-ILJTETUE.js +14 -0
  384. package/dist/{projection-worker-MBWUPB5O.js → projection-worker-GMRC6SBH.js} +4 -4
  385. package/dist/{prospective-memory-GHE5ORN4.js → prospective-memory-QLHSAPSG.js} +4 -4
  386. package/dist/{push-notifications-PTQ5DHCD.js → push-notifications-GKRPXOGI.js} +26 -24
  387. package/dist/reproject-worktree-memories-IXYGHTGA.js +224 -0
  388. package/dist/{reranker-NUIGAPA3.js → reranker-GB4VEMUV.js} +2 -2
  389. package/dist/{retrieval-health-XHCERQPG.js → retrieval-health-QIBPBGN6.js} +5 -1
  390. package/dist/{review-polling-CYBCBHZA.js → review-polling-MU47NQ2N.js} +26 -24
  391. package/dist/runtime/index.js +37 -35
  392. package/dist/seat-benefit-VDQJYJOB.js +17 -0
  393. package/dist/{session-events-X33W4JNA.js → session-events-YMQ3VGBJ.js} +26 -24
  394. package/dist/{session-kill-telemetry-I2F5PUIW.js → session-kill-telemetry-VGPKE57M.js} +26 -24
  395. package/dist/{session-mcp-config-YKNXG5DW.js → session-mcp-config-F7KATWOF.js} +10 -1
  396. package/dist/{session-scope-WXP4F7OF.js → session-scope-P46KAHXQ.js} +26 -24
  397. package/dist/{setup-wizard-2CTVITIX.js → setup-wizard-BRNHSJ4U.js} +4 -3
  398. package/dist/{shard-manager-YEOHEOHL.js → shard-manager-UROHZE46.js} +2 -2
  399. package/dist/{skill-refinement-VDR5OT4V.js → skill-refinement-NLYDSFEH.js} +5 -5
  400. package/dist/{stack-promote-XVC7FRJW.js → stack-promote-NHFTNIM2.js} +7 -5
  401. package/dist/{stack-release-6PWAACRM.js → stack-release-AQVKZUS7.js} +7 -5
  402. package/dist/{stack-update-24VRBQ3U.js → stack-update-LLX5KT7G.js} +38 -6
  403. package/dist/{steward-gate-2ZNYDVFO.js → steward-gate-JKHYFAHA.js} +5 -5
  404. package/dist/subagent-brief-injection-VDVOHDOU.js +97 -0
  405. package/dist/subagent-spawn-ledger-USYZXU3M.js +22 -0
  406. package/dist/{support-inbox-ZHKLDETT.js → support-inbox-S6YO5YZU.js} +5 -4
  407. package/dist/{support-outbox-DSWU3IXH.js → support-outbox-HFJWG52M.js} +1 -1
  408. package/dist/{task-enforcement-GQDUTIFY.js → task-enforcement-LXW45H5Z.js} +26 -24
  409. package/dist/{task-request-inbox-BFXNUU44.js → task-request-inbox-UCSKDC3R.js} +2 -2
  410. package/dist/{task-scope-ERHPHLUM.js → task-scope-GDLFE26E.js} +25 -23
  411. package/dist/{tasks-crud-NVNF3NRA.js → tasks-crud-W7VGWRUV.js} +25 -23
  412. package/dist/{tasks-notify-DXLU5VCT.js → tasks-notify-CT7NWCS4.js} +26 -24
  413. package/dist/{tasks-review-BST6N34P.js → tasks-review-WCSKOUFW.js} +25 -23
  414. package/dist/{telemetry-upload-NY3EKOGY.js → telemetry-upload-FK5WKXVB.js} +10 -9
  415. package/dist/{token-budget-CLB3GUIX.js → token-budget-GBNGSIU3.js} +5 -5
  416. package/dist/{tool-capability-index-WZWVBI2R.js → tool-capability-index-BT2GGLLI.js} +1 -1
  417. package/dist/{tool-telemetry-PALAZUXT.js → tool-telemetry-VKMRS6MP.js} +1 -1
  418. package/dist/tui/App.js +39 -37
  419. package/dist/{tui-data-CNFSRZP7.js → tui-data-FTPV2XBQ.js} +25 -23
  420. package/dist/{update-support-ZVB3CNGY.js → update-support-J6UWPUOC.js} +18 -15
  421. package/dist/{work-state-heartbeat-O7UMB6SE.js → work-state-heartbeat-4LDF6DSM.js} +1 -1
  422. package/dist/{worker-gate-6DQQWDNB.js → worker-gate-35VZINZG.js} +2 -2
  423. package/dist/{workflow-engine-5ZULFH7O.js → workflow-engine-4DA6RSHI.js} +2 -2
  424. package/dist/working-memory-DPFRSKH3.js +18 -0
  425. package/dist/{worktree-ZWA35PKW.js → worktree-H3YFJ3NU.js} +6 -6
  426. package/dist/{worktree-sweep-5LCVT46V.js → worktree-sweep-4EDLLQ2E.js} +9 -7
  427. package/package.json +11 -5
  428. package/release-notes.json +86 -34
  429. package/src/commands/exe/call.md +6 -4
  430. package/src/commands/exe-reference.md +11 -7
  431. package/src/commands/exe.md +16 -20
  432. package/dist/chunk-HISFWAAK.js +0 -90
  433. package/dist/daemon-auth-OCHW2U6B.js +0 -20
  434. package/dist/project-name-EWG5KAZP.js +0 -10
  435. package/dist/session-summary-5EYI4XW4.js +0 -128
  436. /package/dist/{chunk-YAZ5ECEG.js → chunk-3NBWARKC.js} +0 -0
  437. /package/dist/{chunk-6C4UAKMS.js → chunk-6CAX7YH4.js} +0 -0
  438. /package/dist/{chunk-FIPUVCKC.js → chunk-7DMCAGSC.js} +0 -0
  439. /package/dist/{chunk-X7LY3IOB.js → chunk-JRPYLUXH.js} +0 -0
  440. /package/dist/{chunk-L4LPJMPV.js → chunk-QYECRPGD.js} +0 -0
  441. /package/dist/{chunk-UELGUVNL.js → chunk-UY6HRDB2.js} +0 -0
  442. /package/dist/{chunk-YWN3XMPU.js → chunk-YSDIJ3VI.js} +0 -0
  443. /package/dist/{core-memory-BZFPVS43.js → core-memory-CMPPHJN5.js} +0 -0
  444. /package/dist/{entity-boost-VXXED26D.js → entity-boost-CDFAXVYL.js} +0 -0
  445. /package/dist/{memory-isolation-3PIOWLYP.js → memory-isolation-ZB5S5HCO.js} +0 -0
  446. /package/dist/{message-queue-client-5XW7ZOK2.js → message-queue-client-PL2POQOV.js} +0 -0
  447. /package/dist/{oauth-server-KW5M437C.js → oauth-server-NP7KGF7N.js} +0 -0
  448. /package/dist/{webhook-pipe-QJRFZVKA.js → webhook-pipe-UQSEHFPO.js} +0 -0
  449. /package/dist/{wiki-acl-RXFV5OEU.js → wiki-acl-5DKOWOIH.js} +0 -0
  450. /package/dist/{wiki-client-57QWZIHQ.js → wiki-client-AXNM5FWY.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "latest": "0.9.33",
3
+ "latest": "0.9.35",
4
4
  "stacks": {
5
5
  "0.9.0": {
6
6
  "version": "0.9.0",
@@ -2459,11 +2459,241 @@
2459
2459
  }
2460
2460
  },
2461
2461
  "rolloutStage": "ga"
2462
+ },
2463
+ "0.9.34": {
2464
+ "version": "0.9.34",
2465
+ "releasedAt": "2026-08-10T07:05:25Z",
2466
+ "notes": "Monitor UID-1001 runtime regression fix (exe-monitor PR #25, squash-merged d6585d22; images built from PR commit 10660eb4, verified live against a 1001-owned volume). Bumps exe-monitor-hub + exe-monitor-agent digests only; gitSha pins the image-label commit 10660eb4 (provenance ancestry break-glass: PR commit squash-merged to main). ERP queue/scheduler healthcheck fix ships compose-only via exe-os #580 (VPS CLI 0.9.362) — erp IMAGE unchanged from 0.9.33. All other pins identical to 0.9.33. Founder-approved GO 2026-08-10.",
2467
+ "npmVersion": "0.9.324",
2468
+ "services": {
2469
+ "exe-db": {
2470
+ "image": "update.askexe.com/askexe/pgvector:0.8.0-pg16@sha256:a132765ec351c65111b5b675928a3a0515a466a40f97277329db8b8209ad8bc9",
2471
+ "env": "EXE_DB_IMAGE",
2472
+ "composeService": "exe-db",
2473
+ "required": true,
2474
+ "category": "core",
2475
+ "description": "Postgres (pgvector) — digest-pinned (bug 32d6e02f; was tag-only in 0.9.25, regressed from 0.9.24)"
2476
+ },
2477
+ "exe-os": {
2478
+ "image": "update.askexe.com/askexe/exe-os:v0.9.324@sha256:3ce6406e0f7f279ff2568bbbb7d55de51a46fdf35c49691f24fd959d6fd2d3fa",
2479
+ "env": "EXE_OS_IMAGE_TAG",
2480
+ "composeService": "exe-os",
2481
+ "healthUrl": "http://127.0.0.1:8765/health",
2482
+ "required": true,
2483
+ "category": "core",
2484
+ "description": "exe-os daemon + MCP server"
2485
+ },
2486
+ "crm": {
2487
+ "image": "update.askexe.com/askexe/exe-crm:v0.9.53@sha256:a586dcc8bbd992538e3caa18c44e772d30f31155dfef0a2b7466ca3fc7c553d8",
2488
+ "env": "CRM_IMAGE_TAG",
2489
+ "composeService": "exe-crm",
2490
+ "healthUrl": "http://127.0.0.1:3000/healthz",
2491
+ "category": "app"
2492
+ },
2493
+ "wiki": {
2494
+ "image": "update.askexe.com/askexe/exe-wiki:v0.9.28@sha256:61856a4c6b97ce62c62ecdc3a377139287be5860eb807d9fbb737115758d7856",
2495
+ "env": "WIKI_IMAGE_TAG",
2496
+ "composeService": "exe-wiki",
2497
+ "healthUrl": "http://127.0.0.1:3001/api/ping",
2498
+ "category": "app"
2499
+ },
2500
+ "gateway": {
2501
+ "image": "update.askexe.com/askexe/exe-gateway:v2026.08.07-c15f093-stamped@sha256:1bc11a2a0ad1f3929d59d2685696f22a72042b9fca9c75e15c02dc7d3c640105",
2502
+ "env": "GATEWAY_IMAGE_TAG",
2503
+ "composeService": "exe-gateway",
2504
+ "healthUrl": "http://127.0.0.1:3100/health",
2505
+ "category": "app",
2506
+ "description": "WhatsApp/messaging gateway — provenance-stamped rebuild of main (outbound message persistence fix); pinned by digest, dated immutable tag.",
2507
+ "gitSha": "c15f093a0f59730bd5c2c73791ff77059dfa7cc1"
2508
+ },
2509
+ "monitorAgent": {
2510
+ "image": "update.askexe.com/askexe/exe-monitor-agent:v2026.08.09-10660eb4-stamped@sha256:29fbd445f79484df04f000603e4ff445e76f0380f86d687a0033e3a0ef7d1b7a",
2511
+ "env": "MONITOR_AGENT_IMAGE_TAG",
2512
+ "composeService": "exe-monitor-agent",
2513
+ "category": "monitoring",
2514
+ "gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
2515
+ },
2516
+ "monitorHub": {
2517
+ "image": "update.askexe.com/askexe/exe-monitor-hub:v2026.08.09-10660eb4-stamped@sha256:c9a9218c2713b8dffea7e1cf8c0702a614657d311a7a4e821c6a543bab29bb97",
2518
+ "env": "MONITOR_HUB_IMAGE_TAG",
2519
+ "composeService": "exe-monitor-hub",
2520
+ "healthUrl": "http://127.0.0.1:8090/api/health",
2521
+ "category": "monitoring",
2522
+ "gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
2523
+ },
2524
+ "auth": {
2525
+ "image": "update.askexe.com/askexe/exe-auth:v0.4.0@sha256:d92b50e812ca3dbd5e3a828be3cdd7a7b73967f00f53640f09288d44a8ea1716",
2526
+ "env": "AUTH_IMAGE_TAG",
2527
+ "composeService": "exe-auth",
2528
+ "healthUrl": "http://127.0.0.1:3300/api/health",
2529
+ "category": "auth",
2530
+ "description": "Corrects the 0.9.29 exe-auth downgrade regression to v0.1.0; pins v0.3.0 (bug 5f5b4795).",
2531
+ "gitSha": "72475df3d19f9614897910bae90550a414604954"
2532
+ },
2533
+ "erp": {
2534
+ "image": "update.askexe.com/askexe/exe-erp:v2026.08.07-d185286-stamped@sha256:1c655f3f7819c797afd13c79561354f0276cf337403f32aee3e406a497e8827b",
2535
+ "env": "ERP_IMAGE_TAG",
2536
+ "composeService": "exe-erp",
2537
+ "healthUrl": "http://127.0.0.1:8069/api/method/ping",
2538
+ "healthHost": "localhost",
2539
+ "required": false,
2540
+ "category": "app",
2541
+ "description": "Enterprise Resource Planning",
2542
+ "gitSha": "d185286873dcfa11e4b3f9672c4e23efea240cc5"
2543
+ },
2544
+ "gotrue": {
2545
+ "image": "update.askexe.com/askexe/gotrue:v2.172.1@sha256:b0dd7aa28dd1f9a8bd31f136c8b912661f701d9b863171e5843cb08f18f49de4",
2546
+ "composeService": "gotrue",
2547
+ "healthUrl": "http://127.0.0.1:9999/health",
2548
+ "category": "infra"
2549
+ },
2550
+ "redis": {
2551
+ "image": "update.askexe.com/askexe/redis:7.4-alpine@sha256:6ab0b6e7381779332f97b8ca76193e45b0756f38d4c0dcda72dbb3c32061ab99",
2552
+ "composeService": "redis",
2553
+ "category": "infra"
2554
+ },
2555
+ "clickhouse": {
2556
+ "image": "update.askexe.com/askexe/clickhouse-server:24.8.4.13-alpine@sha256:88a45f9e328549b2579256c46ee38e5c0e25ae58303d9eb6d9c7ed8d6d2bbf3c",
2557
+ "composeService": "clickhouse",
2558
+ "category": "infra"
2559
+ },
2560
+ "cloudflared": {
2561
+ "image": "update.askexe.com/askexe/cloudflared:2026-07@sha256:ba461b8aa9c042156dbd39c38657fe7431bafa063220eab8d5330a523863da9f",
2562
+ "composeService": "cloudflared",
2563
+ "category": "infra"
2564
+ },
2565
+ "exe-sso-edge": {
2566
+ "image": "update.askexe.com/askexe/nginx:alpine@sha256:20316569d8f81a160065d7d2a5eeffc7ca97d79022462ee255fd23fa103a6b5c",
2567
+ "composeService": "exe-sso-edge",
2568
+ "category": "infra"
2569
+ },
2570
+ "exe-otel-collector": {
2571
+ "image": "update.askexe.com/askexe/otel-collector-contrib:0.114.0@sha256:37fa87091cfaaec7234a27e4e395a40c31c2bfaea97a349a4afef6d9e9681197",
2572
+ "composeService": "exe-otel-collector",
2573
+ "category": "infra"
2574
+ }
2575
+ },
2576
+ "rolloutStage": "ga"
2577
+ },
2578
+ "0.9.35": {
2579
+ "version": "0.9.35",
2580
+ "releasedAt": "2026-08-13T00:16:05Z",
2581
+ "notes": "exe-auth v0.5.0 — the shared SSO login page is now one front door with one identity: the logo reads EXE INTELLIGENCE regardless of which product bounced the visitor here (?product= no longer rebrands it), configurable per-deploy via AUTH_BRAND_NAME. Includes the brand-word escaping fix (every '<' encoded for the JS/HTML context) so a white-label value can never break the login page. Bumps the auth image digest ONLY; every other pin is identical to 0.9.34. Founder-approved GO 2026-08-12.",
2582
+ "npmVersion": "0.9.324",
2583
+ "services": {
2584
+ "exe-db": {
2585
+ "image": "update.askexe.com/askexe/pgvector:0.8.0-pg16@sha256:a132765ec351c65111b5b675928a3a0515a466a40f97277329db8b8209ad8bc9",
2586
+ "env": "EXE_DB_IMAGE",
2587
+ "composeService": "exe-db",
2588
+ "required": true,
2589
+ "category": "core",
2590
+ "description": "Postgres (pgvector) — digest-pinned (bug 32d6e02f; was tag-only in 0.9.25, regressed from 0.9.24)"
2591
+ },
2592
+ "exe-os": {
2593
+ "image": "update.askexe.com/askexe/exe-os:v0.9.324@sha256:3ce6406e0f7f279ff2568bbbb7d55de51a46fdf35c49691f24fd959d6fd2d3fa",
2594
+ "env": "EXE_OS_IMAGE_TAG",
2595
+ "composeService": "exe-os",
2596
+ "healthUrl": "http://127.0.0.1:8765/health",
2597
+ "required": true,
2598
+ "category": "core",
2599
+ "description": "exe-os daemon + MCP server"
2600
+ },
2601
+ "crm": {
2602
+ "image": "update.askexe.com/askexe/exe-crm:v0.9.53@sha256:a586dcc8bbd992538e3caa18c44e772d30f31155dfef0a2b7466ca3fc7c553d8",
2603
+ "env": "CRM_IMAGE_TAG",
2604
+ "composeService": "exe-crm",
2605
+ "healthUrl": "http://127.0.0.1:3000/healthz",
2606
+ "category": "app"
2607
+ },
2608
+ "wiki": {
2609
+ "image": "update.askexe.com/askexe/exe-wiki:v0.9.28@sha256:61856a4c6b97ce62c62ecdc3a377139287be5860eb807d9fbb737115758d7856",
2610
+ "env": "WIKI_IMAGE_TAG",
2611
+ "composeService": "exe-wiki",
2612
+ "healthUrl": "http://127.0.0.1:3001/api/ping",
2613
+ "category": "app"
2614
+ },
2615
+ "gateway": {
2616
+ "image": "update.askexe.com/askexe/exe-gateway:v2026.08.07-c15f093-stamped@sha256:1bc11a2a0ad1f3929d59d2685696f22a72042b9fca9c75e15c02dc7d3c640105",
2617
+ "env": "GATEWAY_IMAGE_TAG",
2618
+ "composeService": "exe-gateway",
2619
+ "healthUrl": "http://127.0.0.1:3100/health",
2620
+ "category": "app",
2621
+ "description": "WhatsApp/messaging gateway — provenance-stamped rebuild of main (outbound message persistence fix); pinned by digest, dated immutable tag.",
2622
+ "gitSha": "c15f093a0f59730bd5c2c73791ff77059dfa7cc1"
2623
+ },
2624
+ "monitorAgent": {
2625
+ "image": "update.askexe.com/askexe/exe-monitor-agent:v2026.08.09-10660eb4-stamped@sha256:29fbd445f79484df04f000603e4ff445e76f0380f86d687a0033e3a0ef7d1b7a",
2626
+ "env": "MONITOR_AGENT_IMAGE_TAG",
2627
+ "composeService": "exe-monitor-agent",
2628
+ "category": "monitoring",
2629
+ "gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
2630
+ },
2631
+ "monitorHub": {
2632
+ "image": "update.askexe.com/askexe/exe-monitor-hub:v2026.08.09-10660eb4-stamped@sha256:c9a9218c2713b8dffea7e1cf8c0702a614657d311a7a4e821c6a543bab29bb97",
2633
+ "env": "MONITOR_HUB_IMAGE_TAG",
2634
+ "composeService": "exe-monitor-hub",
2635
+ "healthUrl": "http://127.0.0.1:8090/api/health",
2636
+ "category": "monitoring",
2637
+ "gitSha": "10660eb4abdeffbcba2aad13549aa58e208ac7a3"
2638
+ },
2639
+ "auth": {
2640
+ "image": "update.askexe.com/askexe/exe-auth:v0.5.0@sha256:ecc57f92b1f2c2d9df4fafe648622fe1fdd87c27012048d950e3f6b82086ccf9",
2641
+ "env": "AUTH_IMAGE_TAG",
2642
+ "composeService": "exe-auth",
2643
+ "healthUrl": "http://127.0.0.1:3300/api/health",
2644
+ "category": "auth",
2645
+ "description": "exe-auth v0.5.0 — one front door, one identity: logo reads EXE INTELLIGENCE (config-driven via AUTH_BRAND_NAME, escaped for the JS/HTML context).",
2646
+ "gitSha": "874941df74041299d829fbc0b37887d64fae6f78"
2647
+ },
2648
+ "erp": {
2649
+ "image": "update.askexe.com/askexe/exe-erp:v2026.08.07-d185286-stamped@sha256:1c655f3f7819c797afd13c79561354f0276cf337403f32aee3e406a497e8827b",
2650
+ "env": "ERP_IMAGE_TAG",
2651
+ "composeService": "exe-erp",
2652
+ "healthUrl": "http://127.0.0.1:8069/api/method/ping",
2653
+ "healthHost": "localhost",
2654
+ "required": false,
2655
+ "category": "app",
2656
+ "description": "Enterprise Resource Planning",
2657
+ "gitSha": "d185286873dcfa11e4b3f9672c4e23efea240cc5"
2658
+ },
2659
+ "gotrue": {
2660
+ "image": "update.askexe.com/askexe/gotrue:v2.172.1@sha256:b0dd7aa28dd1f9a8bd31f136c8b912661f701d9b863171e5843cb08f18f49de4",
2661
+ "composeService": "gotrue",
2662
+ "healthUrl": "http://127.0.0.1:9999/health",
2663
+ "category": "infra"
2664
+ },
2665
+ "redis": {
2666
+ "image": "update.askexe.com/askexe/redis:7.4-alpine@sha256:6ab0b6e7381779332f97b8ca76193e45b0756f38d4c0dcda72dbb3c32061ab99",
2667
+ "composeService": "redis",
2668
+ "category": "infra"
2669
+ },
2670
+ "clickhouse": {
2671
+ "image": "update.askexe.com/askexe/clickhouse-server:24.8.4.13-alpine@sha256:88a45f9e328549b2579256c46ee38e5c0e25ae58303d9eb6d9c7ed8d6d2bbf3c",
2672
+ "composeService": "clickhouse",
2673
+ "category": "infra"
2674
+ },
2675
+ "cloudflared": {
2676
+ "image": "update.askexe.com/askexe/cloudflared:2026-07@sha256:ba461b8aa9c042156dbd39c38657fe7431bafa063220eab8d5330a523863da9f",
2677
+ "composeService": "cloudflared",
2678
+ "category": "infra"
2679
+ },
2680
+ "exe-sso-edge": {
2681
+ "image": "update.askexe.com/askexe/nginx:alpine@sha256:20316569d8f81a160065d7d2a5eeffc7ca97d79022462ee255fd23fa103a6b5c",
2682
+ "composeService": "exe-sso-edge",
2683
+ "category": "infra"
2684
+ },
2685
+ "exe-otel-collector": {
2686
+ "image": "update.askexe.com/askexe/otel-collector-contrib:0.114.0@sha256:37fa87091cfaaec7234a27e4e395a40c31c2bfaea97a349a4afef6d9e9681197",
2687
+ "composeService": "exe-otel-collector",
2688
+ "category": "infra"
2689
+ }
2690
+ },
2691
+ "rolloutStage": "ga"
2462
2692
  }
2463
2693
  },
2464
2694
  "signature": {
2465
2695
  "keyId": "exe-stack-1",
2466
2696
  "alg": "ed25519",
2467
- "signature": "VW+ZpPYfHUN1/Y5uUEfyQwltQ89sP4RQJb/riKJVitTnUnJJBjbh/ohiVgx+N9Iltl7iItKabnYyIDjtxbp+AQ=="
2697
+ "signature": "pm9jH5HQp+Wo+eSqsFKBYekhFmSFUdJp1YYyBMqaufsnbOxj7JXakBGL4ssrzzi8s+xuNRY6SVXgXTT4biIpAg=="
2468
2698
  }
2469
2699
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "verified_at": "2026-08-08T13:21:22.734Z",
4
- "manifest_sha256": "65ad07af0fc465cc0be08a2fba13ea3c07499aec441fbcda18142d607d4b4047",
5
- "package_version": "0.9.362"
3
+ "verified_at": "2026-08-13T09:09:34.865Z",
4
+ "manifest_sha256": "7b888c6c383a6b1593354b24c308b42228573a170b04256dff851cca5050e317",
5
+ "package_version": "0.9.365"
6
6
  }
@@ -4,21 +4,24 @@ import {
4
4
  getActiveAgent,
5
5
  getAllActiveAgents,
6
6
  resolveActiveAgentFromTmuxSession,
7
+ resolveAgentAttribution,
8
+ resolveAgentForPayload,
7
9
  writeActiveAgent
8
- } from "./chunk-23KWUA7Z.js";
10
+ } from "./chunk-ZNEBZCZR.js";
11
+ import "./chunk-2ADYTOHQ.js";
9
12
  import "./chunk-CVYC6DUW.js";
10
13
  import "./chunk-GJV3WDWM.js";
11
- import "./chunk-HLU52KTO.js";
14
+ import "./chunk-BRLS5OLZ.js";
12
15
  import "./chunk-TKDITWDN.js";
13
16
  import "./chunk-BBMTVAE3.js";
14
17
  import "./chunk-5YEUPUV4.js";
15
- import "./chunk-Q7J2SQJ6.js";
18
+ import "./chunk-NO3M2AFM.js";
16
19
  import "./chunk-YYB5PMTK.js";
17
- import "./chunk-BRZR76TS.js";
20
+ import "./chunk-NJFJWQNN.js";
18
21
  import "./chunk-V3W3SATA.js";
19
22
  import "./chunk-JY5GAZYC.js";
20
23
  import "./chunk-FXU7JOXK.js";
21
- import "./chunk-BRIZ6OZ3.js";
24
+ import "./chunk-QMSEL5YS.js";
22
25
  import "./chunk-HSGBZSCA.js";
23
26
  import "./chunk-JKKZGDLP.js";
24
27
  import "./chunk-MLKGABMK.js";
@@ -28,5 +31,7 @@ export {
28
31
  getActiveAgent,
29
32
  getAllActiveAgents,
30
33
  resolveActiveAgentFromTmuxSession,
34
+ resolveAgentAttribution,
35
+ resolveAgentForPayload,
31
36
  writeActiveAgent
32
37
  };
@@ -5,21 +5,24 @@ import {
5
5
  getActiveAgent,
6
6
  getAllActiveAgents,
7
7
  resolveActiveAgentFromTmuxSession,
8
+ resolveAgentAttribution,
9
+ resolveAgentForPayload,
8
10
  writeActiveAgent
9
- } from "./chunk-23KWUA7Z.js";
11
+ } from "./chunk-ZNEBZCZR.js";
12
+ import "./chunk-2ADYTOHQ.js";
10
13
  import "./chunk-CVYC6DUW.js";
11
14
  import "./chunk-GJV3WDWM.js";
12
- import "./chunk-HLU52KTO.js";
15
+ import "./chunk-BRLS5OLZ.js";
13
16
  import "./chunk-TKDITWDN.js";
14
17
  import "./chunk-BBMTVAE3.js";
15
18
  import "./chunk-5YEUPUV4.js";
16
- import "./chunk-Q7J2SQJ6.js";
19
+ import "./chunk-NO3M2AFM.js";
17
20
  import "./chunk-YYB5PMTK.js";
18
- import "./chunk-BRZR76TS.js";
21
+ import "./chunk-NJFJWQNN.js";
19
22
  import "./chunk-V3W3SATA.js";
20
23
  import "./chunk-JY5GAZYC.js";
21
24
  import "./chunk-FXU7JOXK.js";
22
- import "./chunk-BRIZ6OZ3.js";
25
+ import "./chunk-QMSEL5YS.js";
23
26
  import "./chunk-HSGBZSCA.js";
24
27
  import "./chunk-JKKZGDLP.js";
25
28
  import "./chunk-MLKGABMK.js";
@@ -29,5 +32,7 @@ export {
29
32
  getActiveAgent,
30
33
  getAllActiveAgents,
31
34
  resolveActiveAgentFromTmuxSession,
35
+ resolveAgentAttribution,
36
+ resolveAgentForPayload,
32
37
  writeActiveAgent
33
38
  };
@@ -0,0 +1,240 @@
1
+ import {
2
+ loadAgentConfig
3
+ } from "./chunk-XTWHNLGD.js";
4
+ import "./chunk-AM7S2TY6.js";
5
+ import {
6
+ loadEmployeesSync,
7
+ validateEmployeeName
8
+ } from "./chunk-BRLS5OLZ.js";
9
+ import "./chunk-TKDITWDN.js";
10
+ import "./chunk-BBMTVAE3.js";
11
+ import "./chunk-5YEUPUV4.js";
12
+ import "./chunk-NO3M2AFM.js";
13
+ import "./chunk-YYB5PMTK.js";
14
+ import "./chunk-NJFJWQNN.js";
15
+ import "./chunk-V3W3SATA.js";
16
+ import "./chunk-JY5GAZYC.js";
17
+ import "./chunk-FXU7JOXK.js";
18
+ import "./chunk-WNBZJSQT.js";
19
+ import "./chunk-QMSEL5YS.js";
20
+ import "./chunk-HSGBZSCA.js";
21
+ import "./chunk-JKKZGDLP.js";
22
+ import "./chunk-MLKGABMK.js";
23
+
24
+ // src/adapters/claude/agent-defs-generator.ts
25
+ import {
26
+ existsSync,
27
+ lstatSync,
28
+ mkdirSync,
29
+ readFileSync,
30
+ readlinkSync,
31
+ renameSync,
32
+ unlinkSync,
33
+ writeFileSync
34
+ } from "fs";
35
+ import os from "os";
36
+ import path from "path";
37
+ import { randomBytes } from "crypto";
38
+ var AGENT_DEF_MARKER = "<!-- generated-by: exe-os agent-defs-generator -->";
39
+ function parseIdentityFile(raw) {
40
+ const match = raw.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
41
+ if (!match) return { fields: {}, body: raw.trim() };
42
+ const fields = {};
43
+ for (const line of match[1].split("\n")) {
44
+ const kv = line.match(/^(\w+):\s*(.+)$/);
45
+ if (kv) fields[kv[1]] = kv[2].trim();
46
+ }
47
+ return { fields, body: (match[2] ?? "").trim() };
48
+ }
49
+ function oneLine(value) {
50
+ return value.replace(/\s+/g, " ").replace(/"/g, "'").trim();
51
+ }
52
+ var CC_MODEL_ALIASES = /* @__PURE__ */ new Set(["opus", "sonnet", "haiku", "fable"]);
53
+ var CC_EFFORT_VALUES = /* @__PURE__ */ new Set(["low", "medium", "high", "xhigh", "max"]);
54
+ function toClaudeCodeFrontmatterModel(model) {
55
+ if (!model) return null;
56
+ const bare = model.trim().toLowerCase().replace(/\x1b\[[0-9;]*m/g, "").replace(/\[(?:0|1)m\]/g, "").replace(/^[a-z0-9.-]+\//, "").trim();
57
+ if (!bare) return null;
58
+ if (CC_MODEL_ALIASES.has(bare)) return bare;
59
+ if (/^claude-(opus|sonnet|haiku|fable)-\d+(?:[.-]\d+)*-\d{8}$/.test(bare)) return bare;
60
+ const family = bare.match(/^claude-(opus|sonnet|haiku|fable)-\d/);
61
+ if (family) return family[1];
62
+ return null;
63
+ }
64
+ function toClaudeCodeFrontmatterEffort(effort) {
65
+ if (!effort) return void 0;
66
+ const v = effort.trim().toLowerCase();
67
+ return CC_EFFORT_VALUES.has(v) ? v : void 0;
68
+ }
69
+ function renderAgentDef(input) {
70
+ const lines = ["---", `name: ${input.name}`, `description: ${oneLine(input.description)}`];
71
+ if (input.model) lines.push(`model: ${input.model}`);
72
+ if (input.effort) lines.push(`effort: ${input.effort}`);
73
+ lines.push(
74
+ "---",
75
+ AGENT_DEF_MARKER,
76
+ "",
77
+ '[generated bootstrap] FIRST ACTION: run Bash("true") before any real work so exe-os can deliver your employee memory brief.',
78
+ "",
79
+ input.body,
80
+ ""
81
+ );
82
+ return lines.join("\n");
83
+ }
84
+ function isGeneratedAgentDef(raw) {
85
+ if (!raw.startsWith("---\n")) return false;
86
+ const fmEnd = raw.indexOf("\n---\n");
87
+ if (fmEnd < 0) return false;
88
+ const afterFrontmatter = raw.slice(fmEnd + "\n---\n".length);
89
+ const firstLine = afterFrontmatter.split("\n", 1)[0] ?? "";
90
+ return firstLine.trim() === AGENT_DEF_MARKER;
91
+ }
92
+ function isContainedIn(child, dir) {
93
+ return path.resolve(child).startsWith(path.resolve(dir) + path.sep);
94
+ }
95
+ function isOurIdentitySymlink(linkTarget, identityDir, agentId) {
96
+ const expected = path.join(identityDir, `${agentId}.md`);
97
+ return path.resolve(linkTarget) === path.resolve(expected) || linkTarget === expected;
98
+ }
99
+ function generateAgentDefs(options = {}) {
100
+ const homeDir = options.homeDir ?? os.homedir();
101
+ const identityDir = path.join(homeDir, ".exe-os", "identity");
102
+ const rosterPath = path.join(homeDir, ".exe-os", "exe-employees.json");
103
+ const employees = options.employees ?? loadEmployeesSync(rosterPath);
104
+ let agentConfig = {};
105
+ try {
106
+ agentConfig = options.agentConfig ?? loadAgentConfig();
107
+ } catch {
108
+ }
109
+ const agentsDir = path.join(homeDir, ".claude", "agents");
110
+ const results = [];
111
+ for (const emp of employees) {
112
+ const name = String(emp.name ?? "").toLowerCase();
113
+ const validation = validateEmployeeName(name);
114
+ if (!validation.valid) {
115
+ process.stderr.write(
116
+ `[agent-defs] skipping invalid roster name ${JSON.stringify(emp.name)}: ${validation.error}
117
+ `
118
+ );
119
+ results.push({ agentId: name, action: "skipped", path: "", reason: "invalid_name" });
120
+ continue;
121
+ }
122
+ const identityPath = path.join(identityDir, `${name}.md`);
123
+ const destPath = path.join(agentsDir, `${name}.md`);
124
+ if (!isContainedIn(identityPath, identityDir) || !isContainedIn(destPath, agentsDir)) {
125
+ process.stderr.write(`[agent-defs] path containment violation for ${JSON.stringify(name)} \u2014 skipping
126
+ `);
127
+ results.push({ agentId: name, action: "skipped", path: destPath, reason: "path_escape" });
128
+ continue;
129
+ }
130
+ if (!existsSync(identityPath)) {
131
+ results.push({ agentId: name, action: "skipped", path: destPath, reason: "no_identity" });
132
+ continue;
133
+ }
134
+ let identityRaw;
135
+ try {
136
+ identityRaw = readFileSync(identityPath, "utf-8");
137
+ } catch {
138
+ results.push({ agentId: name, action: "skipped", path: destPath, reason: "identity_unreadable" });
139
+ continue;
140
+ }
141
+ const { fields, body } = parseIdentityFile(identityRaw);
142
+ const runtime = agentConfig[name];
143
+ const ccModel = runtime?.runtime === "claude" ? toClaudeCodeFrontmatterModel(runtime.model) : null;
144
+ if (runtime?.runtime === "claude" && runtime.model && !ccModel) {
145
+ process.stderr.write(
146
+ `[agent-defs] omitting non-Claude-Code model for ${name}: ${JSON.stringify(runtime.model)}
147
+ `
148
+ );
149
+ }
150
+ const content = renderAgentDef({
151
+ name,
152
+ description: fields.title && fields.title !== emp.role ? `${fields.title} (${emp.role})` : emp.role,
153
+ model: ccModel ?? void 0,
154
+ // Couple effort to a present model (as before) and only emit CC-valid enum values.
155
+ effort: ccModel ? toClaudeCodeFrontmatterEffort(runtime?.reasoning_effort) : void 0,
156
+ body
157
+ });
158
+ let existing;
159
+ try {
160
+ const stat = lstatSync(destPath);
161
+ if (stat.isSymbolicLink()) {
162
+ let target = "";
163
+ try {
164
+ target = readlinkSync(destPath);
165
+ } catch {
166
+ }
167
+ existing = isOurIdentitySymlink(target, identityDir, name) ? { kind: "our_symlink" } : { kind: "foreign_symlink" };
168
+ } else {
169
+ existing = { kind: "file", raw: readFileSync(destPath, "utf-8") };
170
+ }
171
+ } catch {
172
+ existing = { kind: "absent" };
173
+ }
174
+ if (existing.kind === "foreign_symlink") {
175
+ results.push({ agentId: name, action: "skipped", path: destPath, reason: "foreign_symlink" });
176
+ continue;
177
+ }
178
+ if (existing.kind === "file") {
179
+ if (!isGeneratedAgentDef(existing.raw)) {
180
+ results.push({ agentId: name, action: "skipped", path: destPath, reason: "user_file" });
181
+ continue;
182
+ }
183
+ if (existing.raw === content) {
184
+ results.push({ agentId: name, action: "unchanged", path: destPath });
185
+ continue;
186
+ }
187
+ }
188
+ try {
189
+ mkdirSync(agentsDir, { recursive: true });
190
+ const tempPath = path.join(agentsDir, `.tmp-agent-def-${name}-${process.pid}-${randomBytes(4).toString("hex")}`);
191
+ writeFileSync(tempPath, content, "utf-8");
192
+ try {
193
+ let preStat;
194
+ try {
195
+ preStat = lstatSync(destPath);
196
+ } catch {
197
+ preStat = null;
198
+ }
199
+ if (preStat?.isSymbolicLink()) {
200
+ if (existing.kind !== "our_symlink") {
201
+ unlinkSync(tempPath);
202
+ results.push({ agentId: name, action: "skipped", path: destPath, reason: "symlink_appeared" });
203
+ continue;
204
+ }
205
+ unlinkSync(destPath);
206
+ }
207
+ renameSync(tempPath, destPath);
208
+ } catch (err) {
209
+ try {
210
+ unlinkSync(tempPath);
211
+ } catch {
212
+ }
213
+ throw err;
214
+ }
215
+ results.push({
216
+ agentId: name,
217
+ action: existing.kind === "file" ? "updated" : "created",
218
+ path: destPath
219
+ });
220
+ } catch (err) {
221
+ results.push({
222
+ agentId: name,
223
+ action: "skipped",
224
+ path: destPath,
225
+ reason: `write_failed:${err instanceof Error ? err.message : String(err)}`
226
+ });
227
+ }
228
+ }
229
+ return results;
230
+ }
231
+ function summarizeAgentDefResults(results) {
232
+ const count = (action) => results.filter((r) => r.action === action).length;
233
+ return `${count("created")} created, ${count("updated")} updated, ${count("unchanged")} unchanged, ${count("skipped")} skipped`;
234
+ }
235
+ export {
236
+ AGENT_DEF_MARKER,
237
+ generateAgentDefs,
238
+ isGeneratedAgentDef,
239
+ summarizeAgentDefResults
240
+ };
@@ -10,7 +10,7 @@ import {
10
10
  insertOntologyForMemory,
11
11
  ontologyPayload,
12
12
  stableId
13
- } from "./chunk-YAZ5ECEG.js";
13
+ } from "./chunk-3NBWARKC.js";
14
14
  import "./chunk-MLKGABMK.js";
15
15
  export {
16
16
  ONTOLOGY_YIELD_EVERY,