@askexenow/exe-os 0.9.340 → 0.9.342

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 (417) hide show
  1. package/README.md +159 -196
  2. package/deploy/compose/.env.customer.example +1 -0
  3. package/deploy/compose/.env.example +1 -0
  4. package/deploy/compose/docker-compose.yml +13 -4
  5. package/deploy/compose/generate-env.ts +4 -0
  6. package/dist/{active-agent-EC6M7KTX.js → active-agent-PVGE57FY.js} +5 -5
  7. package/dist/{active-agent-WHIUCHLA.js → active-agent-TNIO6IY3.js} +5 -5
  8. package/dist/{agentic-ontology-RNSXGXW4.js → agentic-ontology-3FXYMHKW.js} +1 -1
  9. package/dist/{backfill-gate-J7UXFNXU.js → backfill-gate-65LSYVE5.js} +3 -3
  10. package/dist/{backfill-metadata-MFY6BHKE.js → backfill-metadata-ZSMZC45J.js} +8 -8
  11. package/dist/{background-jobs-STURKDCS.js → background-jobs-EXR5RVGG.js} +3 -3
  12. package/dist/backup-verify-3Y2FHGZU.js +425 -0
  13. package/dist/{behaviors-HLZUJSMP.js → behaviors-KYRB3NGJ.js} +9 -9
  14. package/dist/bin/age-ontology-load.js +3 -3
  15. package/dist/bin/agentic-ontology-backfill.js +10 -10
  16. package/dist/bin/agentic-reflection-backfill.js +11 -11
  17. package/dist/bin/agentic-semantic-label.js +10 -10
  18. package/dist/bin/backfill-conversations.js +10 -10
  19. package/dist/bin/backfill-responses.js +10 -10
  20. package/dist/bin/backfill-vectors.js +14 -14
  21. package/dist/bin/bulk-sync-postgres.js +19 -19
  22. package/dist/bin/cc-doctor.js +10 -8
  23. package/dist/bin/cleanup-stale-review-tasks.js +26 -24
  24. package/dist/bin/cli.js +111 -25
  25. package/dist/bin/customer-readiness.js +1 -1
  26. package/dist/bin/deferred-daemon-restart.js +97 -90
  27. package/dist/bin/exe-agent-config.js +9 -8
  28. package/dist/bin/exe-agent.js +20 -20
  29. package/dist/bin/exe-assign.js +12 -12
  30. package/dist/bin/exe-boot.js +201 -68
  31. package/dist/bin/exe-call.js +7 -7
  32. package/dist/bin/exe-cloud.js +20 -20
  33. package/dist/bin/exe-config-dump.js +9 -8
  34. package/dist/bin/exe-dispatch.js +26 -24
  35. package/dist/bin/exe-doctor.js +10 -6
  36. package/dist/bin/exe-export-behaviors.js +11 -11
  37. package/dist/bin/exe-forget.js +12 -10
  38. package/dist/bin/exe-gateway.js +15 -10
  39. package/dist/bin/exe-grant.js +5 -5
  40. package/dist/bin/exe-healthcheck.js +14 -8
  41. package/dist/bin/exe-heartbeat.js +29 -28
  42. package/dist/bin/exe-kill.js +31 -29
  43. package/dist/bin/exe-launch-agent.js +129 -68
  44. package/dist/bin/exe-memory-reads.js +257 -0
  45. package/dist/bin/exe-new-employee.js +12 -11
  46. package/dist/bin/exe-pending-messages.js +27 -25
  47. package/dist/bin/exe-pending-notifications.js +26 -24
  48. package/dist/bin/exe-pending-reviews.js +26 -24
  49. package/dist/bin/exe-rename.js +7 -7
  50. package/dist/bin/exe-review.js +30 -28
  51. package/dist/bin/exe-search.js +11 -9
  52. package/dist/bin/exe-session-cleanup.js +116 -86
  53. package/dist/bin/exe-settings.js +24 -23
  54. package/dist/bin/exe-start-codex.js +163 -41
  55. package/dist/bin/exe-start-opencode.js +15 -15
  56. package/dist/bin/exe-status.js +27 -25
  57. package/dist/bin/exe-support.js +5 -5
  58. package/dist/bin/exe-team.js +5 -5
  59. package/dist/bin/exe-timers.js +32 -213
  60. package/dist/bin/exe-watchdog.js +6 -5
  61. package/dist/bin/git-sweep.js +27 -25
  62. package/dist/bin/graph-backfill.js +9 -9
  63. package/dist/bin/graph-export.js +9 -9
  64. package/dist/bin/import-history.js +11 -11
  65. package/dist/bin/install.js +102 -95
  66. package/dist/bin/intercom-check.js +4 -4
  67. package/dist/bin/mcp-sessions.js +2 -2
  68. package/dist/bin/orchestration-metrics.js +6 -6
  69. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
  70. package/dist/bin/postgres-agentic-semantic-backfill.js +7 -7
  71. package/dist/bin/pre-publish.js +5 -3
  72. package/dist/bin/reconcile-backlog.js +484 -0
  73. package/dist/bin/registry-proxy.js +1 -1
  74. package/dist/bin/scan-tasks.js +26 -24
  75. package/dist/bin/setup.js +6 -5
  76. package/dist/bin/shard-migrate.js +9 -9
  77. package/dist/bin/stack-update.js +15 -9
  78. package/dist/bin/update.js +1 -1
  79. package/dist/bin/vps-health-gate.js +1 -1
  80. package/dist/boot-generation-BL2ISK4U.js +22 -0
  81. package/dist/boot-review-sections-DBMQJT5N.js +107 -0
  82. package/dist/branch-hygiene-TZWK6QCF.js +224 -0
  83. package/dist/{branding-JTEOF4ZV.js → branding-DVXBGVDH.js} +3 -3
  84. package/dist/{browser-session-store-CXQMOSEC.js → browser-session-store-B2NR3LIX.js} +2 -1
  85. package/dist/{capability-cards-YOKVMMOL.js → capability-cards-DN5UIKVN.js} +4 -4
  86. package/dist/{capacity-monitor-S54IOWRL.js → capacity-monitor-ZG5GGFR2.js} +27 -25
  87. package/dist/{catchup-brief-DRRQCMKA.js → catchup-brief-D6HH6DWS.js} +32 -29
  88. package/dist/{support-outbox-MGUVVGHT.js → chunk-25X4JD2V.js} +28 -12
  89. package/dist/{chunk-IYB2NIW3.js → chunk-2KZNGDSW.js} +1 -1
  90. package/dist/{chunk-FUIIVSW6.js → chunk-2WAVZ5UJ.js} +1 -1
  91. package/dist/{chunk-K5WFKEXQ.js → chunk-2ZYO73KO.js} +4 -3
  92. package/dist/{chunk-CLAYNAXC.js → chunk-3EUMUSLE.js} +1 -1
  93. package/dist/{chunk-BVV6NHKQ.js → chunk-3SW4OEHB.js} +5 -5
  94. package/dist/{task-enforcement-VI7L43DC.js → chunk-4CMVFVFC.js} +173 -69
  95. package/dist/{chunk-BU2QQWBQ.js → chunk-4J4PMPXZ.js} +3 -2
  96. package/dist/{chunk-JD5S5AAV.js → chunk-4N2NRGCM.js} +2 -2
  97. package/dist/chunk-4QCFFW2H.js +378 -0
  98. package/dist/{chunk-7EA7LYW4.js → chunk-4VSV5P4D.js} +4 -4
  99. package/dist/{chunk-52KNOQMK.js → chunk-4ZCD2UWW.js} +39 -10
  100. package/dist/{chunk-DZ6OQM67.js → chunk-5ERDIOV3.js} +2 -2
  101. package/dist/chunk-5H47VHB7.js +30 -0
  102. package/dist/{chunk-UCQITDLM.js → chunk-5TY4FPH6.js} +1 -1
  103. package/dist/{chunk-R44Z32O2.js → chunk-6CH3TPHR.js} +2 -2
  104. package/dist/{chunk-WYLV4S6A.js → chunk-6WQ3NNCE.js} +3 -3
  105. package/dist/{chunk-HHIBOU3P.js → chunk-6XWTQUO4.js} +1 -1
  106. package/dist/chunk-76CJBM36.js +88 -0
  107. package/dist/{chunk-H2L4PHGH.js → chunk-7CTRGNLW.js} +2 -2
  108. package/dist/{chunk-XUKPALWT.js → chunk-7V4JADD6.js} +2 -2
  109. package/dist/{chunk-RMOBQ6A5.js → chunk-AD2VCHSS.js} +1 -1
  110. package/dist/{chunk-QXSBB26A.js → chunk-AJYCFKJR.js} +1 -1
  111. package/dist/chunk-AM7S2TY6.js +54 -0
  112. package/dist/{chunk-HEPR6QTL.js → chunk-AOHXREB7.js} +334 -66
  113. package/dist/{chunk-FNZR3B7U.js → chunk-ASAFVDVR.js} +1 -1
  114. package/dist/{chunk-TALWBVZE.js → chunk-BUCXNV32.js} +1 -1
  115. package/dist/{chunk-SHIICYJW.js → chunk-BYTDMAGB.js} +4 -2
  116. package/dist/{chunk-32SXNM3G.js → chunk-C5QAPURN.js} +1 -1
  117. package/dist/{chunk-XCTGRD4S.js → chunk-CE7F6RHG.js} +587 -77
  118. package/dist/{chunk-7WPOJDTA.js → chunk-CNVBKDEY.js} +21 -15
  119. package/dist/{chunk-KPIN44GZ.js → chunk-CWXVH7WV.js} +1 -1
  120. package/dist/chunk-D74XYSA3.js +621 -0
  121. package/dist/{chunk-A47MXY2I.js → chunk-EQHQF5IM.js} +50 -32
  122. package/dist/{chunk-AOO77BDE.js → chunk-EUS4QUKP.js} +1 -1
  123. package/dist/{chunk-RLRT2BVM.js → chunk-EV46QTD3.js} +1 -1
  124. package/dist/{chunk-PAEXYFMY.js → chunk-F27XXN6C.js} +1 -1
  125. package/dist/{chunk-XQNNB5GY.js → chunk-F55P3H4S.js} +37 -2
  126. package/dist/{chunk-MWZFF3Q7.js → chunk-F5O7V7UK.js} +1 -1
  127. package/dist/{chunk-LMZISHSJ.js → chunk-FPFPLPUY.js} +6 -6
  128. package/dist/{chunk-7TS64TBG.js → chunk-G4RGKBCA.js} +8 -3
  129. package/dist/{chunk-4IYSBPX3.js → chunk-G5T6KDG4.js} +1 -1
  130. package/dist/{chunk-7WDXEKUL.js → chunk-GBTTBXAF.js} +4 -4
  131. package/dist/{chunk-6MRWJMI5.js → chunk-GDIJE6D7.js} +1 -1
  132. package/dist/{chunk-AVKXCSBI.js → chunk-GG5NDQNN.js} +2 -2
  133. package/dist/{chunk-I3XKO3KQ.js → chunk-GJ26DULE.js} +2 -2
  134. package/dist/chunk-GL57PO3K.js +104 -0
  135. package/dist/chunk-GWDSB25T.js +6 -0
  136. package/dist/{chunk-F55JF43M.js → chunk-H6BV5TKD.js} +39 -24
  137. package/dist/{chunk-HCJCW7X4.js → chunk-H7I47RS5.js} +34 -1
  138. package/dist/{chunk-65SVQELL.js → chunk-HA5R6USD.js} +31 -5
  139. package/dist/{chunk-VJHUVFIW.js → chunk-HAF2DJYV.js} +3 -3
  140. package/dist/chunk-HJ447YER.js +224 -0
  141. package/dist/chunk-HV4KESRY.js +395 -0
  142. package/dist/{chunk-B76TSEP3.js → chunk-I26FWCSP.js} +216 -9
  143. package/dist/{chunk-X2FHTDIU.js → chunk-IBYL4DHM.js} +1 -1
  144. package/dist/{chunk-JCBKARSK.js → chunk-IOEUAQWP.js} +1 -1
  145. package/dist/{chunk-MW2GJJ53.js → chunk-JGIPOUIK.js} +3 -3
  146. package/dist/{chunk-2233TQCA.js → chunk-JLZ4RYSD.js} +2 -2
  147. package/dist/{chunk-Q7L6G6KV.js → chunk-JMYHW3AL.js} +2 -2
  148. package/dist/{chunk-OJTJYEMX.js → chunk-JPUZPAAF.js} +4 -4
  149. package/dist/{chunk-XWHE4LZK.js → chunk-JTBIS4R5.js} +21 -2
  150. package/dist/{chunk-5Z5NATNS.js → chunk-K7KFGDWF.js} +1 -1
  151. package/dist/{chunk-UIV2WPBT.js → chunk-KGWRTRKC.js} +2 -2
  152. package/dist/{chunk-KTPG4XKI.js → chunk-KP3U5QGJ.js} +1 -1
  153. package/dist/{chunk-TLYAEISW.js → chunk-KW2SD2FL.js} +2 -2
  154. package/dist/{chunk-X7H3HMFH.js → chunk-KWZMQACA.js} +11 -7
  155. package/dist/{chunk-OFX5B2S7.js → chunk-L2R3LN2P.js} +1 -1
  156. package/dist/{chunk-T4KZ2Z2N.js → chunk-L4A5DL6Z.js} +3 -3
  157. package/dist/{chunk-X425OEYF.js → chunk-LU2FALL6.js} +3 -3
  158. package/dist/{chunk-6M36JFFD.js → chunk-MKYFAKDW.js} +4 -4
  159. package/dist/{chunk-I5RLNOFK.js → chunk-MOPUCPXK.js} +12 -4
  160. package/dist/{chunk-ZIVEA3NB.js → chunk-MR6LHP4F.js} +1 -1
  161. package/dist/chunk-MVYB76QG.js +341 -0
  162. package/dist/{chunk-2SG2UGCH.js → chunk-MZM6EJCU.js} +4 -4
  163. package/dist/{chunk-ZREGOV2Q.js → chunk-N7QJKQMX.js} +258 -14
  164. package/dist/{chunk-QLFRCA6I.js → chunk-NBZL5CGA.js} +93 -12
  165. package/dist/{chunk-QFPTDSY2.js → chunk-NN2B2QKU.js} +1 -1
  166. package/dist/chunk-NX5INHHG.js +40 -0
  167. package/dist/{chunk-B75BOKEI.js → chunk-NXUSDL37.js} +2 -2
  168. package/dist/{chunk-TPHCZDE3.js → chunk-O5V57XYE.js} +1 -1
  169. package/dist/chunk-O7LWR36Z.js +269 -0
  170. package/dist/{chunk-ATOU6CYR.js → chunk-OLMQ4UOF.js} +57 -11
  171. package/dist/{chunk-6HBURYON.js → chunk-OTF44GXL.js} +4 -4
  172. package/dist/{chunk-DILD54TU.js → chunk-OZEBAGKR.js} +277 -137
  173. package/dist/{chunk-DADMPMYX.js → chunk-P5HIWY2E.js} +1 -1
  174. package/dist/{chunk-EIF2LQHZ.js → chunk-PDWS3E22.js} +55 -4
  175. package/dist/{chunk-KTY7I7UH.js → chunk-PPCDBE6Z.js} +1 -1
  176. package/dist/{chunk-XACL67CS.js → chunk-PQIDGXSG.js} +13 -4
  177. package/dist/chunk-PWUFMX75.js +186 -0
  178. package/dist/{chunk-UPWE5NOG.js → chunk-QDGZJ653.js} +3 -3
  179. package/dist/{chunk-MQRFKSLI.js → chunk-QOO5RW3K.js} +6 -5
  180. package/dist/{chunk-KCC5A7YL.js → chunk-QQ4E2RYW.js} +95 -18
  181. package/dist/{chunk-BPC5LZ6Y.js → chunk-QRYVCDWS.js} +2 -2
  182. package/dist/{chunk-Z42MXYWW.js → chunk-QWVXN224.js} +110 -28
  183. package/dist/{chunk-542EWGY3.js → chunk-QYZJHTNE.js} +26 -27
  184. package/dist/{chunk-I7Z6KTGF.js → chunk-R2NN3JKH.js} +43 -6
  185. package/dist/{chunk-3OBWSCJN.js → chunk-RACAOE2Z.js} +14 -14
  186. package/dist/{chunk-5RACW3LX.js → chunk-RAXVPNMR.js} +1 -1
  187. package/dist/{chunk-2HZY3ECT.js → chunk-RHWZUUS4.js} +6 -6
  188. package/dist/{chunk-RNAYCUNM.js → chunk-S3THSOWV.js} +1 -1
  189. package/dist/{chunk-W7DHFGCB.js → chunk-S7QUM2UK.js} +2 -2
  190. package/dist/{chunk-SSTLTIF3.js → chunk-SKGMF2SO.js} +25 -2
  191. package/dist/{chunk-GN45PBWI.js → chunk-SQKXKV2Y.js} +2 -2
  192. package/dist/{chunk-QZLIZAS7.js → chunk-TLT7NZCW.js} +4 -4
  193. package/dist/chunk-TTCUG2CF.js +91 -0
  194. package/dist/chunk-UEA3LXOB.js +40 -0
  195. package/dist/{chunk-DRCRZIIJ.js → chunk-UNXQBELK.js} +1 -1
  196. package/dist/{chunk-PLRIJALF.js → chunk-UP75Z5X7.js} +921 -176
  197. package/dist/{chunk-TNJRWUCE.js → chunk-USSB56WK.js} +1 -1
  198. package/dist/{chunk-KMBEL7VB.js → chunk-UUEKJDK6.js} +90 -10
  199. package/dist/{chunk-XJI7Z6LZ.js → chunk-UUQBZPJJ.js} +1 -1
  200. package/dist/{chunk-RRWDYOQS.js → chunk-V3EEVY4L.js} +1 -1
  201. package/dist/{chunk-N5I7RL3I.js → chunk-VPZHJCKW.js} +2 -2
  202. package/dist/chunk-VRAQTFD6.js +265 -0
  203. package/dist/{chunk-H37HHX3E.js → chunk-VSRPS3J7.js} +14 -14
  204. package/dist/{chunk-5ZNY7IZI.js → chunk-WMESXBJM.js} +37 -3
  205. package/dist/{chunk-54QCG45Y.js → chunk-WOYADZF5.js} +56 -5
  206. package/dist/{chunk-7Y5UDEVM.js → chunk-WZHZCDDO.js} +6 -5
  207. package/dist/{chunk-3NGZ4PL7.js → chunk-X2Q5NLUL.js} +11 -2
  208. package/dist/{chunk-YE7NH53A.js → chunk-X33NYQYJ.js} +2 -2
  209. package/dist/{chunk-UXBD22CD.js → chunk-XHK3FS3W.js} +3 -2
  210. package/dist/{chunk-3QDSCJ3F.js → chunk-XZXBB3TN.js} +2 -2
  211. package/dist/{chunk-JSKBHUR7.js → chunk-YCANDMI2.js} +2 -2
  212. package/dist/{chunk-JBSCL2XT.js → chunk-YLXTKI6M.js} +1 -1
  213. package/dist/{chunk-G7WO77Z2.js → chunk-YTCFACP4.js} +812 -896
  214. package/dist/{chunk-LTVCRHHD.js → chunk-Z6RSN7KS.js} +7 -6
  215. package/dist/{cleanup-graph-garbage-KUABW6LS.js → cleanup-graph-garbage-XWUFAMFO.js} +6 -6
  216. package/dist/{co-activation-XMPHKGHR.js → co-activation-ZCHPLLP6.js} +4 -4
  217. package/dist/{co-occurrence-SHKSJ6CV.js → co-occurrence-KG3LKALN.js} +4 -4
  218. package/dist/{code-context-index-EXXDY3QZ.js → code-context-index-WSOJQ72R.js} +5 -5
  219. package/dist/{content-extractor-RHITF2KM.js → content-extractor-NXYNEF5K.js} +2 -2
  220. package/dist/{conversation-wiki-populator-WU4HEQ7C.js → conversation-wiki-populator-WQN3IUU6.js} +1 -1
  221. package/dist/{crdt-sync-UJELKSNX.js → crdt-sync-4PFGPZXV.js} +8 -1
  222. package/dist/{crm-webhook-HHNBS7LY.js → crm-webhook-II7Z45Q6.js} +2 -2
  223. package/dist/cto-delegation-gate-JWWOJPNC.js +669 -0
  224. package/dist/{daemon-auth-7IFSV5FG.js → daemon-auth-3FEAHFWC.js} +5 -3
  225. package/dist/{daemon-orchestration-7QB6QOXT.js → daemon-orchestration-FX4XZDR5.js} +46 -27
  226. package/dist/{daemon-ready-5XI5BIJD.js → daemon-ready-4JTSFKAY.js} +1 -1
  227. package/dist/{daemon-ready-signal-E7VMIQ6I.js → daemon-ready-signal-LPAZWQOV.js} +5 -1
  228. package/dist/daemon-restart-circuit-breaker-PEGEIP6H.js +35 -0
  229. package/dist/daemon-timer-report-NM44WQRH.js +25 -0
  230. package/dist/{db-backup-DLD4QZBO.js → db-backup-W2QFSYQC.js} +15 -5
  231. package/dist/{db-restore-events-JVEEP52Z.js → db-restore-events-MQ2DBGEQ.js} +2 -2
  232. package/dist/dispatch-ack-VYH3ONSS.js +27 -0
  233. package/dist/{doc-graph-extractor-3TRLGD7M.js → doc-graph-extractor-F6ODFIID.js} +4 -4
  234. package/dist/{documents-FHIBU7KJ.js → documents-23WX2FPQ.js} +12 -12
  235. package/dist/dreaming-NWD22UQ5.js +46 -0
  236. package/dist/{exe-drift-KY2KHZEL.js → exe-drift-CW72FBGE.js} +5 -5
  237. package/dist/{exe-export-SP6G3QF6.js → exe-export-AUJ7CV7G.js} +11 -11
  238. package/dist/{exe-import-KJU7FBVQ.js → exe-import-JX4I52VE.js} +11 -11
  239. package/dist/{exe-key-M6TYHNUW.js → exe-key-2N6LY2BU.js} +241 -226
  240. package/dist/{exe-org-BGZNNE4H.js → exe-org-X4CSNCKS.js} +3 -3
  241. package/dist/{exe-snapshot-ZNPGUKRZ.js → exe-snapshot-XZ7FVCYZ.js} +31 -29
  242. package/dist/{fast-db-init-QQB6IVWV.js → fast-db-init-4CWHSOOR.js} +1 -1
  243. package/dist/{founder-context-PQR3BUS7.js → founder-context-7L3CFPYN.js} +4 -4
  244. package/dist/gateway/index.js +14 -14
  245. package/dist/{gateway-client-GRBOJQYC.js → gateway-client-7LMZKHTH.js} +1 -1
  246. package/dist/git-main-guard-UZP3KXYI.js +39 -0
  247. package/dist/{git-staleness-UGB5J3K7.js → git-staleness-CI2R4QOJ.js} +4 -4
  248. package/dist/{global-procedures-R7KRREEK.js → global-procedures-XQX3LUH6.js} +6 -6
  249. package/dist/{graph-auto-extract-LKIQ57PL.js → graph-auto-extract-OURWMGBS.js} +4 -4
  250. package/dist/{hook-integrity-WURH6DS3.js → hook-integrity-XY47IM7G.js} +1 -1
  251. package/dist/hook-prefetch-PHRRKY4C.js +137 -0
  252. package/dist/hooks/bug-report-worker.js +32 -28
  253. package/dist/hooks/codex-stop-task-finalizer.js +32 -28
  254. package/dist/hooks/commit-complete.js +29 -27
  255. package/dist/hooks/error-recall.js +12 -11
  256. package/dist/hooks/exe-heartbeat-hook.js +6 -6
  257. package/dist/hooks/ingest-worker.js +11 -11
  258. package/dist/hooks/ingest.js +18 -18
  259. package/dist/hooks/instructions-loaded.js +7 -7
  260. package/dist/hooks/manifest.json +20 -20
  261. package/dist/hooks/notification.js +7 -7
  262. package/dist/hooks/post-compact.js +28 -26
  263. package/dist/hooks/post-tool-combined.js +12 -12
  264. package/dist/hooks/pre-compact.js +29 -27
  265. package/dist/hooks/pre-tool-use.js +180 -47
  266. package/dist/hooks/prompt-submit.js +324 -273
  267. package/dist/hooks/session-end.js +35 -33
  268. package/dist/hooks/session-start.js +28 -21
  269. package/dist/hooks/stop.js +35 -33
  270. package/dist/hooks/subagent-stop.js +28 -26
  271. package/dist/hooks/summary-worker.js +36 -34
  272. package/dist/index.js +39 -37
  273. package/dist/{installer-SB2N5NKH.js → installer-G3JAO3NT.js} +9 -9
  274. package/dist/{installer-MZWWBXM6.js → installer-JND3RJ6Q.js} +9 -9
  275. package/dist/{installer-MNPXDLGG.js → installer-L7EVH5U5.js} +9 -9
  276. package/dist/{intercom-queue-VU2G6F5R.js → intercom-queue-ZFEQALR3.js} +25 -23
  277. package/dist/{key-backup-status-TNEHXA2X.js → key-backup-status-LOSMVATJ.js} +2 -2
  278. package/dist/lib/agent-config.js +4 -3
  279. package/dist/lib/cloud-sync.js +19 -19
  280. package/dist/lib/config.js +2 -2
  281. package/dist/lib/consolidation.js +9 -9
  282. package/dist/lib/crypto.js +3 -3
  283. package/dist/lib/database.js +6 -4
  284. package/dist/lib/db-daemon-client.js +5 -5
  285. package/dist/lib/db-read-worker-client.js +9 -3
  286. package/dist/lib/db.js +6 -4
  287. package/dist/lib/device-registry.js +3 -3
  288. package/dist/lib/embed-worker.js +2 -2
  289. package/dist/lib/embedder.js +5 -5
  290. package/dist/lib/employee-templates.js +7 -7
  291. package/dist/lib/employees.js +10 -4
  292. package/dist/lib/exe-daemon-client.js +4 -4
  293. package/dist/lib/exe-daemon.js +651 -158
  294. package/dist/lib/hybrid-search.js +11 -9
  295. package/dist/lib/identity.js +4 -4
  296. package/dist/lib/keychain.js +1 -1
  297. package/dist/lib/license.js +4 -4
  298. package/dist/lib/messaging.js +28 -24
  299. package/dist/lib/post-tool-memory.js +3 -3
  300. package/dist/lib/registry-proxy.js +1 -1
  301. package/dist/lib/reminders.js +15 -7
  302. package/dist/lib/schedules.js +9 -9
  303. package/dist/lib/session-registry.js +6 -6
  304. package/dist/lib/skill-learning.js +10 -10
  305. package/dist/lib/status-brief.js +4 -4
  306. package/dist/lib/store.js +8 -8
  307. package/dist/lib/task-router.js +5 -5
  308. package/dist/lib/tasks.js +29 -25
  309. package/dist/lib/tmux-routing.js +56 -25
  310. package/dist/lib/tmux-status.js +9 -3
  311. package/dist/lib/tmux-transport.js +1 -1
  312. package/dist/lib/token-spend.js +5 -5
  313. package/dist/lib/transport.js +2 -2
  314. package/dist/lib/ws-client.js +1 -1
  315. package/dist/{license-gate-BYDMFMFT.js → license-gate-QTRQHV4F.js} +5 -5
  316. package/dist/{license-sync-N3RNYVP2.js → license-sync-N3UJFWAW.js} +4 -4
  317. package/dist/mcp/register-tools.js +96 -89
  318. package/dist/mcp/server.js +98 -91
  319. package/dist/mcp/tools/complete-reminder.js +6 -6
  320. package/dist/mcp/tools/create-reminder.js +6 -6
  321. package/dist/mcp/tools/create-task.js +37 -28
  322. package/dist/mcp/tools/deactivate-behavior.js +11 -11
  323. package/dist/mcp/tools/list-reminders.js +6 -6
  324. package/dist/mcp/tools/list-tasks.js +35 -29
  325. package/dist/mcp/tools/send-message.js +28 -26
  326. package/dist/mcp/tools/update-task.js +34 -28
  327. package/dist/{mcp-http-config-EMAVS2JI.js → mcp-http-config-BDL36JZ3.js} +6 -6
  328. package/dist/{mcp-port-config-FFAMMLLE.js → mcp-port-config-6HYY6J7K.js} +2 -2
  329. package/dist/mcp-session-identity-T7H2EKFQ.js +177 -0
  330. package/dist/{memory-cards-TQRLZI4D.js → memory-cards-ZRDW7QBX.js} +8 -8
  331. package/dist/{memory-graph-extractor-IWGNVAFU.js → memory-graph-extractor-QLXDMHRS.js} +5 -5
  332. package/dist/{memory-poisoning-defense-T4ITBGSG.js → memory-poisoning-defense-HJTXYCWH.js} +4 -4
  333. package/dist/{memory-pressure-watchdog-RRIAXPXQ.js → memory-pressure-watchdog-HN5X7AVN.js} +76 -37
  334. package/dist/{memory-queue-X2CSEAKE.js → memory-queue-2UOOF27L.js} +5 -3
  335. package/dist/{memory-queue-client-BKQHTYTH.js → memory-queue-client-O5U6F6XP.js} +6 -6
  336. package/dist/{memory-reflection-6N4J2FL7.js → memory-reflection-WVNFBJAA.js} +4 -4
  337. package/dist/{monitor-grants-RZOVSYVO.js → monitor-grants-E3ELDEWD.js} +5 -5
  338. package/dist/{monitor-identity-MOXISYNG.js → monitor-identity-GLFZSEAH.js} +2 -2
  339. package/dist/notification-ledger-SZEPGJQ7.js +409 -0
  340. package/dist/{notifications-KONB3C62.js → notifications-4UT53CDG.js} +25 -23
  341. package/dist/{orchestration-events-5SIJOE4H.js → orchestration-events-WV4NWKZH.js} +5 -5
  342. package/dist/{orchestration-phase-CXRCBCK7.js → orchestration-phase-AWBXPO52.js} +3 -3
  343. package/dist/orchestrator-UAC3RW2T.js +47 -0
  344. package/dist/{pipeline-router-O6HU7DKH.js → pipeline-router-LM53NMWJ.js} +5 -5
  345. package/dist/{plan-limits-GRNBOBB3.js → plan-limits-2FEY2GOS.js} +7 -7
  346. package/dist/platform-procedures-X5DFJFV7.js +13 -0
  347. package/dist/{preferences-TYTGDXQZ.js → preferences-TWIXZBKS.js} +2 -2
  348. package/dist/{project-boot-SD7GM24K.js → project-boot-4NUH5FRU.js} +2 -2
  349. package/dist/{projection-worker-ZVOFHTXT.js → projection-worker-FZ7YSN3G.js} +5 -5
  350. package/dist/{prospective-memory-W6S67LZZ.js → prospective-memory-6D2ASWM3.js} +4 -4
  351. package/dist/{push-notifications-W5JRXLKJ.js → push-notifications-U6FIBQRW.js} +3 -3
  352. package/dist/{reranker-QATGTAPC.js → reranker-GYYRPANK.js} +3 -3
  353. package/dist/{retrieval-health-TWHKYCRK.js → retrieval-health-4Z242P3B.js} +1 -1
  354. package/dist/{review-polling-PCMD5BFN.js → review-polling-HXAFJZDA.js} +26 -24
  355. package/dist/runtime/index.js +37 -35
  356. package/dist/{session-events-3LCVQEL7.js → session-events-O3BV56ZX.js} +26 -24
  357. package/dist/{session-kill-telemetry-CZSPN5V6.js → session-kill-telemetry-AELE4JDK.js} +26 -24
  358. package/dist/session-mcp-config-YKNXG5DW.js +50 -0
  359. package/dist/{session-scope-CFHVSVAQ.js → session-scope-5EAPUT45.js} +25 -23
  360. package/dist/setup-wizard-NB6R4QVS.js +14 -0
  361. package/dist/{shard-manager-MBWQEYNG.js → shard-manager-35PWFR3B.js} +3 -3
  362. package/dist/{skill-refinement-74T6VDFM.js → skill-refinement-DVSYXBBP.js} +5 -5
  363. package/dist/stack-promote-RSOWO6EY.js +130 -0
  364. package/dist/{stack-release-XXMV7SPX.js → stack-release-HGFFFCGC.js} +112 -22
  365. package/dist/{stack-update-E2TKHHSQ.js → stack-update-ATCJFOEK.js} +7 -5
  366. package/dist/{steward-gate-WT7WXQIE.js → steward-gate-3GQ5XKMJ.js} +5 -5
  367. package/dist/support-inbox-4L62P4EP.js +33 -0
  368. package/dist/support-outbox-WHGPUYL2.js +16 -0
  369. package/dist/task-enforcement-IPIZX2MM.js +90 -0
  370. package/dist/{task-scope-CQEG5SSJ.js → task-scope-FOIW25HR.js} +27 -23
  371. package/dist/{tasks-crud-UGK5A25L.js → tasks-crud-HBDKE6C5.js} +35 -23
  372. package/dist/tasks-notify-G2U2U2YA.js +53 -0
  373. package/dist/{tasks-review-JKBRACII.js → tasks-review-27SFX5XN.js} +27 -23
  374. package/dist/{telemetry-upload-7LBYGPCB.js → telemetry-upload-ZOXHRWR5.js} +9 -9
  375. package/dist/tmux-command-guard-KSJKIX3C.js +117 -0
  376. package/dist/{token-budget-QBRJR4M5.js → token-budget-5Y4YPDO3.js} +5 -5
  377. package/dist/{tool-capability-index-Q6YQDL7I.js → tool-capability-index-VYF5GNJ2.js} +1 -1
  378. package/dist/{tool-telemetry-ULIDUK3P.js → tool-telemetry-KBXSBDTK.js} +1 -1
  379. package/dist/tui/App.js +40 -38
  380. package/dist/{tui-data-NPTGKT37.js → tui-data-NLFMBIQI.js} +25 -23
  381. package/dist/{update-check-HFO4VHO4.js → update-check-3FHAWIG2.js} +7 -3
  382. package/dist/update-support-UVUSZG7R.js +355 -0
  383. package/dist/{whatsapp-accounts-BWRZUY23.js → whatsapp-accounts-BFIOXYW5.js} +1 -1
  384. package/dist/{whatsapp-config-GOSELKTE.js → whatsapp-config-FAX6EA5K.js} +20 -13
  385. package/dist/{worker-gate-MXUQUG4M.js → worker-gate-3KUBAU32.js} +3 -3
  386. package/dist/{workflow-engine-EWCOLD47.js → workflow-engine-YITHXZR5.js} +2 -2
  387. package/dist/{working-memory-PY4AG577.js → working-memory-NUVB5SFV.js} +1 -1
  388. package/dist/worktree-LL62PLQB.js +47 -0
  389. package/dist/{worktree-sweep-ZAG3V24E.js → worktree-sweep-WTK3MTKH.js} +7 -7
  390. package/package.json +3 -2
  391. package/release-notes.json +86 -76
  392. package/dist/branch-hygiene-R5NVTRAY.js +0 -138
  393. package/dist/chunk-6IRVGOUL.js +0 -30
  394. package/dist/chunk-HMP5VT6A.js +0 -118
  395. package/dist/chunk-PVYR4FCQ.js +0 -113
  396. package/dist/chunk-UFAXZ2PY.js +0 -138
  397. package/dist/chunk-Y25OJWOQ.js +0 -45
  398. package/dist/chunk-YGAAZN3E.js +0 -47
  399. package/dist/cto-delegation-gate-DXNF5HVW.js +0 -290
  400. package/dist/dispatch-ack-4S44HBWB.js +0 -15
  401. package/dist/dreaming-OMFUEUCQ.js +0 -44
  402. package/dist/orchestrator-DUUX7FQV.js +0 -45
  403. package/dist/setup-wizard-TOFEJPLF.js +0 -13
  404. package/dist/tasks-notify-SMLDFBWM.js +0 -50
  405. package/dist/worktree-GVF2I5FP.js +0 -31
  406. /package/dist/{chunk-FLNSJ2TC.js → chunk-GIBYNT6W.js} +0 -0
  407. /package/dist/{chunk-NQBRGXYR.js → chunk-JRM4TAGS.js} +0 -0
  408. /package/dist/{chunk-WHRTDN5J.js → chunk-MGGOSFCR.js} +0 -0
  409. /package/dist/{chunk-D3QASX2W.js → chunk-QIFYLIUF.js} +0 -0
  410. /package/dist/{chunk-OADURIIN.js → chunk-WTH4CSAP.js} +0 -0
  411. /package/dist/{core-memory-VO5ZIBKH.js → core-memory-GAC6EWOQ.js} +0 -0
  412. /package/dist/{entity-boost-DNI4A5I7.js → entity-boost-NT6UO2Z3.js} +0 -0
  413. /package/dist/{message-queue-client-Q5BW3O5W.js → message-queue-client-4EOQRUXW.js} +0 -0
  414. /package/dist/{oauth-server-ROQFOEMM.js → oauth-server-67YBDP32.js} +0 -0
  415. /package/dist/{webhook-pipe-FZYLO6RR.js → webhook-pipe-LEXMUQ5B.js} +0 -0
  416. /package/dist/{wiki-acl-JA5UCQZ4.js → wiki-acl-74BLWG6J.js} +0 -0
  417. /package/dist/{wiki-client-VNDOBK63.js → wiki-client-EAN7F5LV.js} +0 -0
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  assertSecureEndpoint
3
- } from "../chunk-7WPOJDTA.js";
4
- import "../chunk-B75BOKEI.js";
5
- import "../chunk-QLFRCA6I.js";
6
- import "../chunk-TLYAEISW.js";
7
- import "../chunk-RNAYCUNM.js";
8
- import "../chunk-JCBKARSK.js";
9
- import "../chunk-UCQITDLM.js";
3
+ } from "../chunk-CNVBKDEY.js";
4
+ import "../chunk-NXUSDL37.js";
5
+ import "../chunk-NBZL5CGA.js";
6
+ import "../chunk-KW2SD2FL.js";
7
+ import "../chunk-S3THSOWV.js";
8
+ import "../chunk-IOEUAQWP.js";
9
+ import "../chunk-5TY4FPH6.js";
10
10
  import "../chunk-QGGH7LOU.js";
11
11
  import {
12
12
  resolveEmbeddingsEnabled,
13
13
  setEmbeddingsEnabled
14
14
  } from "../chunk-KWOAM7TA.js";
15
- import "../chunk-H37HHX3E.js";
15
+ import "../chunk-VSRPS3J7.js";
16
16
  import "../chunk-CHCA3ZM2.js";
17
17
  import "../chunk-OTVEIJUQ.js";
18
- import "../chunk-HHIBOU3P.js";
19
- import "../chunk-Y25OJWOQ.js";
18
+ import "../chunk-6XWTQUO4.js";
19
+ import "../chunk-4QCFFW2H.js";
20
20
  import {
21
21
  DEFAULT_MODELS,
22
22
  KNOWN_RUNTIMES,
@@ -24,32 +24,33 @@ import {
24
24
  clearAgentRuntime,
25
25
  loadAgentConfig,
26
26
  setAgentRuntime
27
- } from "../chunk-65SVQELL.js";
28
- import {
29
- DEFAULT_RUNTIME
30
- } from "../chunk-NGP6LSV2.js";
31
- import "../chunk-7TS64TBG.js";
27
+ } from "../chunk-HA5R6USD.js";
28
+ import "../chunk-AM7S2TY6.js";
29
+ import "../chunk-G4RGKBCA.js";
32
30
  import "../chunk-AFNRE2RV.js";
33
- import "../chunk-3NGZ4PL7.js";
31
+ import "../chunk-X2Q5NLUL.js";
34
32
  import "../chunk-NLEW62VC.js";
35
33
  import "../chunk-MP2AFCGL.js";
36
34
  import {
37
35
  loadEmployeesSync
38
- } from "../chunk-HEPR6QTL.js";
36
+ } from "../chunk-AOHXREB7.js";
39
37
  import "../chunk-2I23RPSI.js";
40
- import "../chunk-ATOU6CYR.js";
38
+ import "../chunk-OLMQ4UOF.js";
41
39
  import "../chunk-PNQDP3OA.js";
42
40
  import "../chunk-H73TUI4Y.js";
43
41
  import "../chunk-7HLWBYH7.js";
44
42
  import "../chunk-FXU7JOXK.js";
45
- import "../chunk-Z42MXYWW.js";
46
- import "../chunk-XACL67CS.js";
47
- import "../chunk-5Z5NATNS.js";
43
+ import "../chunk-QWVXN224.js";
44
+ import {
45
+ DEFAULT_RUNTIME
46
+ } from "../chunk-NGP6LSV2.js";
47
+ import "../chunk-PQIDGXSG.js";
48
+ import "../chunk-K7KFGDWF.js";
48
49
  import {
49
50
  loadConfig,
50
51
  saveConfig
51
- } from "../chunk-7Y5UDEVM.js";
52
- import "../chunk-SHIICYJW.js";
52
+ } from "../chunk-WZHZCDDO.js";
53
+ import "../chunk-BYTDMAGB.js";
53
54
  import {
54
55
  isMainModule
55
56
  } from "../chunk-6Y4B3QF6.js";
@@ -1,33 +1,42 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exportBehaviorsForAgent
4
- } from "../chunk-YE7NH53A.js";
5
- import "../chunk-TLYAEISW.js";
4
+ } from "../chunk-X33NYQYJ.js";
5
+ import "../chunk-KW2SD2FL.js";
6
+ import {
7
+ clearTerminalLauncherFailure,
8
+ writeTerminalLauncherFailure
9
+ } from "../chunk-O7LWR36Z.js";
6
10
  import {
7
11
  disposeStore,
8
12
  initStore
9
- } from "../chunk-H37HHX3E.js";
13
+ } from "../chunk-VSRPS3J7.js";
10
14
  import "../chunk-CHCA3ZM2.js";
11
15
  import "../chunk-OTVEIJUQ.js";
12
- import "../chunk-HHIBOU3P.js";
13
- import "../chunk-Y25OJWOQ.js";
16
+ import "../chunk-6XWTQUO4.js";
17
+ import "../chunk-4QCFFW2H.js";
14
18
  import {
15
- RUNTIME_TABLE
16
- } from "../chunk-NGP6LSV2.js";
19
+ CODEX_CHATGPT_UNSUPPORTED_MODELS,
20
+ assertCodexModelForAuth,
21
+ detectCodexAuthType
22
+ } from "../chunk-AM7S2TY6.js";
17
23
  import "../chunk-MP2AFCGL.js";
18
24
  import {
19
25
  baseAgentName,
20
26
  loadEmployeesSync
21
- } from "../chunk-HEPR6QTL.js";
27
+ } from "../chunk-AOHXREB7.js";
22
28
  import "../chunk-2I23RPSI.js";
23
- import "../chunk-ATOU6CYR.js";
29
+ import "../chunk-OLMQ4UOF.js";
24
30
  import "../chunk-PNQDP3OA.js";
25
31
  import "../chunk-H73TUI4Y.js";
26
32
  import "../chunk-7HLWBYH7.js";
27
33
  import "../chunk-FXU7JOXK.js";
28
- import "../chunk-Z42MXYWW.js";
29
- import "../chunk-7Y5UDEVM.js";
30
- import "../chunk-SHIICYJW.js";
34
+ import "../chunk-QWVXN224.js";
35
+ import {
36
+ RUNTIME_TABLE
37
+ } from "../chunk-NGP6LSV2.js";
38
+ import "../chunk-WZHZCDDO.js";
39
+ import "../chunk-BYTDMAGB.js";
31
40
  import "../chunk-MLKGABMK.js";
32
41
 
33
42
  // src/bin/exe-start-codex.ts
@@ -82,6 +91,9 @@ which forces a fresh connection. If mcp_ping also fails, tell the user: "MCP dae
82
91
  was restarted. Run /mcp to reconnect."
83
92
  `;
84
93
  var CODEX_AUTONOMOUS_BOOT_PROMPT = `You are an AI employee with exe-os consolidated MCP tools: task, memory, behavior, message, identity, decision, session, and mcp_ping. DO NOT ask for confirmation \u2014 work autonomously. If task/memory are not visible in the initial tool list, first call tool_search with query "exe-os task memory MCP consolidated" because Codex may defer MCP tools behind discovery; only tell the user to run 'exe-os codex' if discovery fails or returns no exe-os task/memory tools. Immediately: 1) Call task with action="list" to see your assigned tasks. 2) Call task with action="get" on the highest priority open task. 3) Call memory with action="recall" before starting work. 4) Start working on the task. 5) When done, call task with action="update", status="done", and a result summary. 6) Call memory with action="store" to persist important findings. 7) Check task with action="list" again for the next task. 8) If NO open tasks remain, wait 30 seconds then check task(action="list") ONE more time \u2014 a new task may have been dispatched while you were completing the previous one. If still empty after the recheck, say 'All tasks complete. Standing by.' and STOP.`;
94
+ function buildCodexBootPrompt(_detectedProject) {
95
+ return CODEX_AUTONOMOUS_BOOT_PROMPT;
96
+ }
85
97
  function resolveAgent(argv) {
86
98
  const invokedAs = path.basename(argv[1] ?? "");
87
99
  if (invokedAs && invokedAs !== "exe-start-codex" && !invokedAs.endsWith(".js")) {
@@ -192,6 +204,116 @@ function buildCodexLaunchArgs(input) {
192
204
  args.push(input.projectAwarePrompt);
193
205
  return args;
194
206
  }
207
+ var CODEX_MAXBUFFER = 256 * 1024 * 1024;
208
+ function decodeStdio(v) {
209
+ if (v == null) return "";
210
+ return typeof v === "string" ? v : v.toString("utf8");
211
+ }
212
+ function detectCodexModelNotSupported(...texts) {
213
+ const hay = texts.map(decodeStdio).filter((t) => t.length > 0).join("\n");
214
+ if (!hay) return null;
215
+ const lc = hay.toLowerCase();
216
+ const pickLine = (needle) => {
217
+ const line = hay.split(/\r?\n/).find((l) => l.toLowerCase().includes(needle));
218
+ return (line ?? hay).trim().slice(0, 400);
219
+ };
220
+ if (lc.includes("not supported when using codex with a chatgpt account")) {
221
+ return pickLine("not supported when using codex");
222
+ }
223
+ const isBadRequest = lc.includes("invalid_request_error") || /(^|[^\d])400([^\d]|$)/.test(lc);
224
+ const modelUnavailable = lc.includes("model") && (lc.includes("is not supported") || lc.includes("not supported when using") || lc.includes("does not exist") || lc.includes("you do not have access") || lc.includes("you may not have access") || lc.includes("may not exist"));
225
+ if (isBadRequest && modelUnavailable) {
226
+ return pickLine(lc.includes("not supported") ? "not supported" : "model");
227
+ }
228
+ return null;
229
+ }
230
+ function codexModelUnavailableHint(model, authType, available) {
231
+ const usable = available.filter((m) => !CODEX_CHATGPT_UNSUPPORTED_MODELS.has(m));
232
+ const usableStr = usable.length > 0 ? usable.join(", ") : "gpt-5.5, gpt-5.4";
233
+ const authStr = authType === "chatgpt-account" ? "ChatGPT account" : authType === "api-key" ? "OpenAI API key" : "unknown";
234
+ return `Model "${model}" is not usable with your Codex auth (detected: ${authStr}). Use one of: ${usableStr} \u2014 or authenticate Codex with an OpenAI API key (set OPENAI_API_KEY) if you need "${model}".`;
235
+ }
236
+ var PERMANENT_SPAWN_ERRNOS = /* @__PURE__ */ new Set(["ENOENT", "EACCES", "EPERM", "ENOEXEC"]);
237
+ function launchCodex(input) {
238
+ const { binary, args, agent, effectiveModel, authType, availableModels } = input;
239
+ const spawn = input.spawn ?? spawnSync;
240
+ const recordFailure = input.recordTerminalFailure ?? writeTerminalLauncherFailure;
241
+ const clearFailure = input.clearTerminalFailure ?? clearTerminalLauncherFailure;
242
+ const markerScope = (() => {
243
+ const s = input.sessionName;
244
+ if (!s) return null;
245
+ const dash = s.indexOf("-");
246
+ return dash > 0 ? s.slice(dash + 1) : null;
247
+ })();
248
+ const markerAgent = baseAgentName(agent);
249
+ const emitTerminalFailure = (reason) => {
250
+ if (!markerScope) return;
251
+ recordFailure({
252
+ agentId: markerAgent,
253
+ scope: markerScope,
254
+ reason,
255
+ detail: `model=${effectiveModel} auth=${authType} usable=${availableModels.join(",")}`,
256
+ runtime: "codex"
257
+ });
258
+ };
259
+ const preflight = assertCodexModelForAuth(effectiveModel, authType, availableModels);
260
+ if (!preflight.ok) {
261
+ process.stderr.write(
262
+ `
263
+ \u274C exe-start-codex: refusing to spawn ${agent} \u2014 ${preflight.error}
264
+ Detected Codex auth: ${authType}. NOT spawning \u2014 terminal dispatch failure, not a retryable crash (bug fbf99272).
265
+
266
+ `
267
+ );
268
+ emitTerminalFailure(preflight.error ?? `Model "${effectiveModel}" rejected by auth preflight`);
269
+ return { exitCode: 3, spawned: false, failureReason: preflight.error };
270
+ }
271
+ const child = spawn(binary, args, {
272
+ stdio: ["inherit", "inherit", "pipe"],
273
+ maxBuffer: CODEX_MAXBUFFER
274
+ });
275
+ const childStderr = decodeStdio(child.stderr);
276
+ if (childStderr) process.stderr.write(childStderr);
277
+ if (child.error) {
278
+ const err = child.error;
279
+ const permanent = err.code != null && PERMANENT_SPAWN_ERRNOS.has(err.code);
280
+ if (err.code === "ENOENT") {
281
+ process.stderr.write(
282
+ `exe-start-codex: \`${binary}\` not found in PATH. Install Codex CLI (npm i -g @openai/codex) and try again.
283
+ `
284
+ );
285
+ emitTerminalFailure(`codex binary not found (ENOENT): \`${binary}\` is not in PATH`);
286
+ return { exitCode: 127, spawned: true };
287
+ }
288
+ process.stderr.write(`exe-start-codex: failed to spawn ${binary}: ${err.message}
289
+ `);
290
+ if (permanent) {
291
+ emitTerminalFailure(`codex binary/config permanently unusable (${err.code}): ${err.message}`);
292
+ }
293
+ return { exitCode: 1, spawned: true };
294
+ }
295
+ const backstopLine = detectCodexModelNotSupported(childStderr, decodeStdio(child.stdout));
296
+ if (backstopLine) {
297
+ const hint = codexModelUnavailableHint(effectiveModel, authType, availableModels);
298
+ process.stderr.write(
299
+ `
300
+ \u274C exe-start-codex: ${agent} hit a provider 400 on model "${effectiveModel}" \u2014 ${backstopLine}
301
+ ${hint}
302
+ Terminal dispatch failure \u2014 NOT returning codex's exit status, so the auto-wake loop does not respawn this unusable model (bug fbf99272).
303
+
304
+ `
305
+ );
306
+ emitTerminalFailure(hint);
307
+ return { exitCode: 3, spawned: true, failureReason: hint };
308
+ }
309
+ if (markerScope) {
310
+ try {
311
+ clearFailure(markerAgent, markerScope);
312
+ } catch {
313
+ }
314
+ }
315
+ return { exitCode: child.status ?? 0, spawned: true };
316
+ }
195
317
  async function main() {
196
318
  let agent;
197
319
  let passthrough;
@@ -251,7 +373,7 @@ async function main() {
251
373
  await initStore();
252
374
  behaviorsPath = await exportBehaviorsForAgent(baseAgent, "");
253
375
  try {
254
- const { loadGlobalProcedures, getGlobalProceduresBlock } = await import("../global-procedures-R7KRREEK.js");
376
+ const { loadGlobalProcedures, getGlobalProceduresBlock } = await import("../global-procedures-XQX3LUH6.js");
255
377
  await loadGlobalProcedures();
256
378
  const block = getGlobalProceduresBlock();
257
379
  if (block) globalProcedures = block;
@@ -300,8 +422,8 @@ async function main() {
300
422
  let codexProfileName = null;
301
423
  if (exeSessionName) {
302
424
  try {
303
- const { readOrCreateDaemonToken } = await import("../mcp-http-config-EMAVS2JI.js");
304
- const { mcpHttpUrl } = await import("../mcp-http-config-EMAVS2JI.js");
425
+ const { readOrCreateDaemonToken } = await import("../mcp-http-config-BDL36JZ3.js");
426
+ const { mcpHttpUrl } = await import("../mcp-http-config-BDL36JZ3.js");
305
427
  const token = readOrCreateDaemonToken();
306
428
  const profileContent = [
307
429
  `# Auto-generated per-session MCP config for ${memoryAgent} in ${exeSessionName}`,
@@ -330,12 +452,12 @@ async function main() {
330
452
  }
331
453
  }
332
454
  try {
333
- const { writeActiveAgent } = await import("../active-agent-EC6M7KTX.js");
455
+ const { writeActiveAgent } = await import("../active-agent-PVGE57FY.js");
334
456
  writeActiveAgent(memoryAgent, empRole);
335
457
  } catch {
336
458
  }
337
459
  try {
338
- const { verifyCodexHooks, runCodexInstaller } = await import("../installer-MZWWBXM6.js");
460
+ const { verifyCodexHooks, runCodexInstaller } = await import("../installer-JND3RJ6Q.js");
339
461
  if (!verifyCodexHooks()) {
340
462
  process.stderr.write("[exe-start-codex] hooks missing \u2014 registering now\n");
341
463
  await runCodexInstaller();
@@ -353,7 +475,7 @@ async function main() {
353
475
  `);
354
476
  if (WORKTREE_ROLES.has(empRole)) {
355
477
  try {
356
- const { ensureWorktree, parseInstanceLabel } = await import("../worktree-GVF2I5FP.js");
478
+ const { ensureWorktree, parseInstanceLabel } = await import("../worktree-LL62PLQB.js");
357
479
  const { base, instance } = parseInstanceLabel(worktreeName);
358
480
  worktreePath = ensureWorktree(process.cwd(), base, instance);
359
481
  if (worktreePath) {
@@ -385,10 +507,7 @@ async function main() {
385
507
  }
386
508
  const effectiveModel = process.env.EXE_AGENT_MODEL ?? configModel ?? CODEX.defaultModel;
387
509
  const reasoningEffort = process.env.EXE_AGENT_REASONING_EFFORT ?? configReasoning;
388
- const projectAwarePrompt = detectedProject ? CODEX_AUTONOMOUS_BOOT_PROMPT.replace(
389
- 'Call task with action="list"',
390
- `Call task with action="list", project_name="${detectedProject}"`
391
- ) : CODEX_AUTONOMOUS_BOOT_PROMPT;
510
+ const projectAwarePrompt = buildCodexBootPrompt(detectedProject);
392
511
  const args = buildCodexLaunchArgs({
393
512
  effectiveModel,
394
513
  passthrough,
@@ -402,25 +521,25 @@ async function main() {
402
521
  `[exe-start-codex] launching ${agent} on ${CODEX.binary} (${effectiveModel}) \u2014 non-interactive exec
403
522
  `
404
523
  );
405
- const child = spawnSync(CODEX.binary, args, {
406
- stdio: "inherit"
407
- });
408
- if (child.error) {
409
- const err = child.error;
410
- if (err.code === "ENOENT") {
411
- process.stderr.write(
412
- `exe-start-codex: \`${CODEX.binary}\` not found in PATH. Install Codex CLI (npm i -g @openai/codex) and try again.
413
- `
414
- );
415
- return 127;
416
- }
417
- process.stderr.write(
418
- `exe-start-codex: failed to spawn ${CODEX.binary}: ${err.message}
419
- `
420
- );
421
- return 1;
524
+ const codexAuthType = detectCodexAuthType();
525
+ let availableModels = [];
526
+ try {
527
+ const { KNOWN_RUNTIMES } = await import("../lib/agent-config.js");
528
+ availableModels = KNOWN_RUNTIMES.codex ?? [];
529
+ } catch {
422
530
  }
423
- return child.status ?? 0;
531
+ const { exitCode } = launchCodex({
532
+ binary: CODEX.binary,
533
+ args,
534
+ agent,
535
+ effectiveModel,
536
+ authType: codexAuthType,
537
+ availableModels,
538
+ // Bug b2b1dc31: pass the full session name so a terminal preflight/backstop
539
+ // failure writes a marker keyed on baseAgent::scope for auto-wake to read.
540
+ sessionName
541
+ });
542
+ return exitCode;
424
543
  }
425
544
  if (!process.env.VITEST) {
426
545
  main().then((code) => process.exit(code));
@@ -428,5 +547,8 @@ if (!process.env.VITEST) {
428
547
  export {
429
548
  CODEX_AUTONOMOUS_BOOT_PROMPT,
430
549
  CODEX_BOOT_INSTRUCTIONS,
431
- buildCodexLaunchArgs
550
+ buildCodexBootPrompt,
551
+ buildCodexLaunchArgs,
552
+ detectCodexModelNotSupported,
553
+ launchCodex
432
554
  };
@@ -1,33 +1,33 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exportBehaviorsForAgent
4
- } from "../chunk-YE7NH53A.js";
5
- import "../chunk-TLYAEISW.js";
4
+ } from "../chunk-X33NYQYJ.js";
5
+ import "../chunk-KW2SD2FL.js";
6
6
  import {
7
7
  disposeStore,
8
8
  initStore
9
- } from "../chunk-H37HHX3E.js";
9
+ } from "../chunk-VSRPS3J7.js";
10
10
  import "../chunk-CHCA3ZM2.js";
11
11
  import "../chunk-OTVEIJUQ.js";
12
- import "../chunk-HHIBOU3P.js";
13
- import "../chunk-Y25OJWOQ.js";
14
- import {
15
- RUNTIME_TABLE
16
- } from "../chunk-NGP6LSV2.js";
12
+ import "../chunk-6XWTQUO4.js";
13
+ import "../chunk-4QCFFW2H.js";
17
14
  import "../chunk-MP2AFCGL.js";
18
15
  import {
19
16
  baseAgentName,
20
17
  loadEmployeesSync
21
- } from "../chunk-HEPR6QTL.js";
18
+ } from "../chunk-AOHXREB7.js";
22
19
  import "../chunk-2I23RPSI.js";
23
- import "../chunk-ATOU6CYR.js";
20
+ import "../chunk-OLMQ4UOF.js";
24
21
  import "../chunk-PNQDP3OA.js";
25
22
  import "../chunk-H73TUI4Y.js";
26
23
  import "../chunk-7HLWBYH7.js";
27
24
  import "../chunk-FXU7JOXK.js";
28
- import "../chunk-Z42MXYWW.js";
29
- import "../chunk-7Y5UDEVM.js";
30
- import "../chunk-SHIICYJW.js";
25
+ import "../chunk-QWVXN224.js";
26
+ import {
27
+ RUNTIME_TABLE
28
+ } from "../chunk-NGP6LSV2.js";
29
+ import "../chunk-WZHZCDDO.js";
30
+ import "../chunk-BYTDMAGB.js";
31
31
  import "../chunk-MLKGABMK.js";
32
32
 
33
33
  // src/bin/exe-start-opencode.ts
@@ -181,12 +181,12 @@ async function main() {
181
181
  })();
182
182
  process.env.AGENT_ROLE = empRole;
183
183
  try {
184
- const { writeActiveAgent } = await import("../active-agent-EC6M7KTX.js");
184
+ const { writeActiveAgent } = await import("../active-agent-PVGE57FY.js");
185
185
  writeActiveAgent(memoryAgent, empRole);
186
186
  } catch {
187
187
  }
188
188
  try {
189
- const { verifyOpenCodeHooks, runOpenCodeInstaller } = await import("../installer-SB2N5NKH.js");
189
+ const { verifyOpenCodeHooks, runOpenCodeInstaller } = await import("../installer-G3JAO3NT.js");
190
190
  if (!verifyOpenCodeHooks()) {
191
191
  process.stderr.write("[exe-start-opencode] hooks missing \u2014 registering now\n");
192
192
  await runOpenCodeInstaller();
@@ -1,45 +1,47 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  status
4
- } from "../chunk-OJTJYEMX.js";
5
- import "../chunk-UFAXZ2PY.js";
6
- import "../chunk-PLRIJALF.js";
7
- import "../chunk-OFX5B2S7.js";
8
- import "../chunk-B76TSEP3.js";
9
- import "../chunk-RLRT2BVM.js";
4
+ } from "../chunk-JPUZPAAF.js";
5
+ import "../chunk-PWUFMX75.js";
6
+ import "../chunk-UP75Z5X7.js";
7
+ import "../chunk-L2R3LN2P.js";
8
+ import "../chunk-I26FWCSP.js";
9
+ import "../chunk-EV46QTD3.js";
10
+ import "../chunk-E23LNUWJ.js";
10
11
  import "../chunk-4JERP7NT.js";
11
12
  import "../chunk-EIKATSE4.js";
12
- import "../chunk-E23LNUWJ.js";
13
- import "../chunk-UIV2WPBT.js";
14
- import "../chunk-SSTLTIF3.js";
15
- import "../chunk-RMOBQ6A5.js";
16
- import "../chunk-54QCG45Y.js";
17
- import "../chunk-FUIIVSW6.js";
18
- import "../chunk-65SVQELL.js";
19
- import "../chunk-NGP6LSV2.js";
20
- import "../chunk-MW2GJJ53.js";
13
+ import "../chunk-KGWRTRKC.js";
14
+ import "../chunk-AD2VCHSS.js";
15
+ import "../chunk-WOYADZF5.js";
16
+ import "../chunk-SKGMF2SO.js";
17
+ import "../chunk-2WAVZ5UJ.js";
18
+ import "../chunk-HA5R6USD.js";
19
+ import "../chunk-AM7S2TY6.js";
20
+ import "../chunk-JGIPOUIK.js";
21
+ import "../chunk-GWDSB25T.js";
21
22
  import "../chunk-CVYC6DUW.js";
22
- import "../chunk-2233TQCA.js";
23
- import "../chunk-HCJCW7X4.js";
23
+ import "../chunk-JLZ4RYSD.js";
24
+ import "../chunk-H7I47RS5.js";
24
25
  import "../chunk-OPU3NYOO.js";
25
- import "../chunk-7TS64TBG.js";
26
+ import "../chunk-G4RGKBCA.js";
26
27
  import "../chunk-AFNRE2RV.js";
27
- import "../chunk-3NGZ4PL7.js";
28
+ import "../chunk-X2Q5NLUL.js";
28
29
  import "../chunk-NLEW62VC.js";
29
30
  import "../chunk-HYZV25LY.js";
30
31
  import "../chunk-GJV3WDWM.js";
31
32
  import "../chunk-MP2AFCGL.js";
32
- import "../chunk-HEPR6QTL.js";
33
+ import "../chunk-AOHXREB7.js";
33
34
  import "../chunk-2I23RPSI.js";
34
- import "../chunk-ATOU6CYR.js";
35
+ import "../chunk-OLMQ4UOF.js";
35
36
  import "../chunk-PNQDP3OA.js";
36
37
  import "../chunk-H73TUI4Y.js";
37
38
  import "../chunk-7HLWBYH7.js";
38
39
  import "../chunk-FXU7JOXK.js";
39
- import "../chunk-XACL67CS.js";
40
- import "../chunk-5Z5NATNS.js";
41
- import "../chunk-7Y5UDEVM.js";
42
- import "../chunk-SHIICYJW.js";
40
+ import "../chunk-NGP6LSV2.js";
41
+ import "../chunk-PQIDGXSG.js";
42
+ import "../chunk-K7KFGDWF.js";
43
+ import "../chunk-WZHZCDDO.js";
44
+ import "../chunk-BYTDMAGB.js";
43
45
  import "../chunk-6Y4B3QF6.js";
44
46
  import "../chunk-MLKGABMK.js";
45
47
  export {
@@ -4,13 +4,13 @@ import {
4
4
  main,
5
5
  runHealth,
6
6
  runTest
7
- } from "../chunk-6HBURYON.js";
7
+ } from "../chunk-OTF44GXL.js";
8
8
  import "../chunk-MMRUBN3I.js";
9
9
  import "../chunk-2XZ6X3PJ.js";
10
- import "../chunk-XACL67CS.js";
11
- import "../chunk-5Z5NATNS.js";
12
- import "../chunk-7Y5UDEVM.js";
13
- import "../chunk-SHIICYJW.js";
10
+ import "../chunk-PQIDGXSG.js";
11
+ import "../chunk-K7KFGDWF.js";
12
+ import "../chunk-WZHZCDDO.js";
13
+ import "../chunk-BYTDMAGB.js";
14
14
  import "../chunk-MLKGABMK.js";
15
15
  export {
16
16
  hasFailures,
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-UFAXZ2PY.js";
4
+ } from "../chunk-PWUFMX75.js";
5
5
  import {
6
6
  getClient,
7
7
  loadEmployees
8
- } from "../chunk-HEPR6QTL.js";
8
+ } from "../chunk-AOHXREB7.js";
9
9
  import "../chunk-2I23RPSI.js";
10
- import "../chunk-ATOU6CYR.js";
10
+ import "../chunk-OLMQ4UOF.js";
11
11
  import "../chunk-PNQDP3OA.js";
12
12
  import "../chunk-H73TUI4Y.js";
13
13
  import "../chunk-7HLWBYH7.js";
14
14
  import "../chunk-FXU7JOXK.js";
15
- import "../chunk-7Y5UDEVM.js";
16
- import "../chunk-SHIICYJW.js";
15
+ import "../chunk-WZHZCDDO.js";
16
+ import "../chunk-BYTDMAGB.js";
17
17
  import {
18
18
  isMainModule
19
19
  } from "../chunk-6Y4B3QF6.js";