@askexenow/exe-os 0.9.140 → 0.9.142

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 (277) hide show
  1. package/dist/{active-agent-GFBVE3ES.js → active-agent-OTOFSYIV.js} +6 -4
  2. package/dist/{active-agent-M3ZT74AM.js → active-agent-PNV6PKJK.js} +6 -4
  3. package/dist/{agentic-ontology-QRNPGDIM.js → agentic-ontology-GYJZMRNB.js} +1 -1
  4. package/dist/{backfill-metadata-DI7R3MXV.js → backfill-metadata-EDLDTB2G.js} +9 -11
  5. package/dist/{background-jobs-LUEOBAVF.js → background-jobs-TBUOKMJR.js} +3 -3
  6. package/dist/{behaviors-KTEEQ3KG.js → behaviors-GE4RY2HA.js} +5 -6
  7. package/dist/bin/age-ontology-load.js +3 -3
  8. package/dist/bin/agentic-ontology-backfill.js +9 -10
  9. package/dist/bin/agentic-reflection-backfill.js +10 -11
  10. package/dist/bin/agentic-semantic-label.js +9 -10
  11. package/dist/bin/backfill-conversations.js +11 -13
  12. package/dist/bin/backfill-responses.js +11 -13
  13. package/dist/bin/backfill-vectors.js +11 -12
  14. package/dist/bin/bulk-sync-postgres.js +10 -11
  15. package/dist/bin/cc-doctor.js +4 -4
  16. package/dist/bin/cleanup-stale-review-tasks.js +11 -12
  17. package/dist/bin/cli.js +18 -18
  18. package/dist/bin/exe-agent-config.js +6 -4
  19. package/dist/bin/exe-agent.js +7 -8
  20. package/dist/bin/exe-assign.js +12 -13
  21. package/dist/bin/exe-boot.js +23 -25
  22. package/dist/bin/exe-call.js +8 -9
  23. package/dist/bin/exe-cloud.js +9 -10
  24. package/dist/bin/exe-dispatch.js +11 -12
  25. package/dist/bin/exe-doctor.js +1 -1
  26. package/dist/bin/exe-export-behaviors.js +10 -11
  27. package/dist/bin/exe-forget.js +9 -10
  28. package/dist/bin/exe-gateway.js +9 -10
  29. package/dist/bin/exe-healthcheck.js +4 -4
  30. package/dist/bin/exe-heartbeat.js +13 -15
  31. package/dist/bin/exe-kill.js +9 -10
  32. package/dist/bin/exe-launch-agent.js +31 -19
  33. package/dist/bin/exe-new-employee.js +11 -12
  34. package/dist/bin/exe-pending-messages.js +12 -13
  35. package/dist/bin/exe-pending-notifications.js +11 -12
  36. package/dist/bin/exe-pending-reviews.js +11 -12
  37. package/dist/bin/exe-rename.js +13 -10
  38. package/dist/bin/exe-review.js +16 -18
  39. package/dist/bin/exe-search.js +8 -9
  40. package/dist/bin/exe-session-cleanup.js +16 -17
  41. package/dist/bin/exe-settings.js +9 -10
  42. package/dist/bin/exe-start-codex.js +16 -17
  43. package/dist/bin/exe-start-opencode.js +12 -13
  44. package/dist/bin/exe-status.js +12 -13
  45. package/dist/bin/exe-support.js +4 -4
  46. package/dist/bin/exe-team.js +7 -9
  47. package/dist/bin/git-sweep.js +11 -12
  48. package/dist/bin/graph-backfill.js +10 -10
  49. package/dist/bin/graph-export.js +8 -9
  50. package/dist/bin/install.js +10 -8
  51. package/dist/bin/intercom-check.js +4 -4
  52. package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
  53. package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
  54. package/dist/bin/pre-publish.js +1 -1
  55. package/dist/bin/scan-tasks.js +11 -12
  56. package/dist/bin/setup.js +4 -4
  57. package/dist/bin/shard-migrate.js +8 -9
  58. package/dist/bin/stack-update.js +3 -3
  59. package/dist/{branding-EKPE6CWW.js → branding-EKI27T6K.js} +2 -2
  60. package/dist/{capacity-monitor-HGD2C6CP.js → capacity-monitor-D3RGDLMN.js} +12 -13
  61. package/dist/{catchup-brief-OMDCLETB.js → catchup-brief-LD2QLE2D.js} +14 -15
  62. package/dist/{chunk-2JAEWE7P.js → chunk-25QUV6FU.js} +6 -6
  63. package/dist/{chunk-OIUPHIN2.js → chunk-2NWMGMNH.js} +9 -9
  64. package/dist/{chunk-CLIW2CES.js → chunk-32Z4GK25.js} +8 -10
  65. package/dist/{chunk-3SPQNGRT.js → chunk-4AZYVT6A.js} +1 -1
  66. package/dist/{chunk-5K3CCPNX.js → chunk-4CBBN2XD.js} +245 -111
  67. package/dist/{chunk-3WSH4P4Z.js → chunk-4GA5XZWY.js} +2 -2
  68. package/dist/{chunk-XUHFQHGZ.js → chunk-4JZNDVZH.js} +37 -4
  69. package/dist/{chunk-CSVYC6HH.js → chunk-4OHIVMHS.js} +1 -1
  70. package/dist/{chunk-STVJLWSA.js → chunk-4YSDLTCT.js} +4 -4
  71. package/dist/{chunk-UEWGUOXB.js → chunk-55LEDLDE.js} +499 -27
  72. package/dist/{chunk-UOCQQHZT.js → chunk-5PZ3HSGP.js} +87 -48
  73. package/dist/{chunk-7SVGVGE3.js → chunk-5UCBVXKO.js} +1 -1
  74. package/dist/{chunk-SQLEKC4E.js → chunk-6EZRMPDA.js} +1 -1
  75. package/dist/{chunk-35FFFDS2.js → chunk-6V6UTSOP.js} +1 -1
  76. package/dist/{chunk-LPG22IL5.js → chunk-7BPUBHGW.js} +2 -2
  77. package/dist/{chunk-4YNGDNDI.js → chunk-7M3DNYMR.js} +4 -4
  78. package/dist/{chunk-H24OVCAN.js → chunk-AJOZXJLJ.js} +1 -1
  79. package/dist/{chunk-YWCPAQBH.js → chunk-AOJHEMHE.js} +36 -15
  80. package/dist/{chunk-YYB6HGEY.js → chunk-BI3GMMTP.js} +1 -1
  81. package/dist/{chunk-3TTJPQAE.js → chunk-BKEJSHDE.js} +1 -1
  82. package/dist/{chunk-SCGCHM2H.js → chunk-BSSSCUQJ.js} +3 -3
  83. package/dist/{chunk-XDJWGR2S.js → chunk-CBSUVFZ7.js} +2 -2
  84. package/dist/{chunk-54MB5TNF.js → chunk-CHXX73NX.js} +2 -2
  85. package/dist/{chunk-5LJQSXUG.js → chunk-CK5ZAMWX.js} +3 -3
  86. package/dist/{chunk-VTZ4QOBS.js → chunk-CQX2WDI5.js} +1 -1
  87. package/dist/{chunk-7HZFWAIR.js → chunk-DH6N5G4T.js} +1 -1
  88. package/dist/{chunk-QVVV6DHI.js → chunk-DKWTDULH.js} +2 -2
  89. package/dist/{chunk-GUDCQBRY.js → chunk-DU4ZN7VF.js} +1 -1
  90. package/dist/{chunk-PS4UUDIG.js → chunk-DUDPJVAC.js} +5 -7
  91. package/dist/{chunk-5PB6BRLA.js → chunk-E2KEN3PG.js} +1 -1
  92. package/dist/{chunk-Q3MIJPXM.js → chunk-EAVACBVO.js} +2 -2
  93. package/dist/{chunk-FCO2K73K.js → chunk-EENNKZMN.js} +3 -3
  94. package/dist/{chunk-QUG6EMZQ.js → chunk-EZUWMBWA.js} +1 -1
  95. package/dist/{chunk-YKOW7KMK.js → chunk-F4OU2ETP.js} +23 -7
  96. package/dist/chunk-FZ23OZL3.js +78 -0
  97. package/dist/{chunk-KNEH2MGD.js → chunk-GIGLGGYL.js} +5 -5
  98. package/dist/{chunk-KNS5ETKF.js → chunk-GLVF7ENO.js} +1 -1
  99. package/dist/{chunk-D7BPHQGX.js → chunk-GOCW7Z6D.js} +2 -2
  100. package/dist/chunk-GUMRIUI5.js +63 -0
  101. package/dist/{chunk-HO4C7QMH.js → chunk-ITJMONDK.js} +1 -1
  102. package/dist/{chunk-OYBQKDV5.js → chunk-JAFHOB5P.js} +1 -1
  103. package/dist/{chunk-UE3BYGWY.js → chunk-JMMY24KD.js} +30 -15
  104. package/dist/{chunk-CYCRC2KN.js → chunk-JSVRX6IW.js} +30 -11
  105. package/dist/{chunk-ABCDEJUD.js → chunk-KCLL5ECT.js} +1 -1
  106. package/dist/{chunk-SPMZRVXK.js → chunk-LCZRXRB7.js} +2 -2
  107. package/dist/{chunk-XNWXVGEA.js → chunk-LD6WE7DK.js} +2 -2
  108. package/dist/{chunk-6EBG7VWN.js → chunk-LFVL3R6H.js} +2 -2
  109. package/dist/{chunk-RGKPVKUO.js → chunk-LGPTAJZC.js} +1 -1
  110. package/dist/{chunk-OX6D5AF3.js → chunk-LNX37VPO.js} +2 -2
  111. package/dist/{chunk-IU3CXV4S.js → chunk-LR3QFARI.js} +11 -11
  112. package/dist/{chunk-EWGZPTII.js → chunk-MQB2BE3I.js} +1 -1
  113. package/dist/{chunk-4ITOWLHX.js → chunk-MRX42FAS.js} +4 -6
  114. package/dist/{chunk-UCNCSKGH.js → chunk-N5MH3CN2.js} +3 -3
  115. package/dist/{chunk-QCJ3Y52V.js → chunk-NFX6MDEO.js} +1 -1
  116. package/dist/{chunk-F6PIXTHZ.js → chunk-NMG76472.js} +5 -7
  117. package/dist/{chunk-LUOLBU54.js → chunk-NMT6QFEE.js} +1 -1
  118. package/dist/{chunk-DEHYRM3I.js → chunk-NWUWTV7B.js} +1 -1
  119. package/dist/{chunk-2XUXMKX5.js → chunk-OC7FNHGA.js} +4 -4
  120. package/dist/{chunk-SPKE5ANC.js → chunk-OI3REUP5.js} +1 -1
  121. package/dist/{chunk-FLVDAA3Z.js → chunk-P2YTTKPR.js} +1 -1
  122. package/dist/{chunk-NX4WEVG6.js → chunk-Q53ZYTIU.js} +12 -8
  123. package/dist/{chunk-NTIWZFOJ.js → chunk-RZK7BZHP.js} +1 -1
  124. package/dist/{chunk-5WIEDLGY.js → chunk-S3FDCJNF.js} +6 -6
  125. package/dist/{chunk-SL47NHTE.js → chunk-SDYBAMPW.js} +2 -2
  126. package/dist/{chunk-2ZWYALO4.js → chunk-SFURTBMT.js} +1 -1
  127. package/dist/{chunk-HHV26QTD.js → chunk-SOHGHGWU.js} +5 -6
  128. package/dist/{chunk-73JE5PVU.js → chunk-TJI7DMBT.js} +7 -7
  129. package/dist/{chunk-O2RVWP3S.js → chunk-TSPBIMZV.js} +1 -1
  130. package/dist/{chunk-BZHXUKVC.js → chunk-U3Q3WNGY.js} +2 -2
  131. package/dist/{chunk-Z6BTUUPK.js → chunk-U7M7ZURS.js} +2 -2
  132. package/dist/{chunk-34O6PRWE.js → chunk-UB7E2FEB.js} +4 -6
  133. package/dist/{chunk-POU4ZLBM.js → chunk-UKCSMGNM.js} +2 -2
  134. package/dist/{chunk-BBVMIH76.js → chunk-UYFPFO6Q.js} +8 -8
  135. package/dist/{chunk-HIOFKHTO.js → chunk-UYNFWD54.js} +3 -3
  136. package/dist/{chunk-IG5XFUYJ.js → chunk-VA42PIIY.js} +25 -7
  137. package/dist/{chunk-DMFM77DV.js → chunk-WZDI6UJ6.js} +1 -1
  138. package/dist/{chunk-6LKDJ5WX.js → chunk-XOVQ43JR.js} +52 -10
  139. package/dist/{chunk-762FPANW.js → chunk-XRPIVNFS.js} +1 -1
  140. package/dist/{code-context-index-PIC37JSG.js → code-context-index-XCX6HB3T.js} +5 -5
  141. package/dist/{conversation-entity-extractor-HKSNDF4L.js → conversation-entity-extractor-FJNOZ4DO.js} +2 -1
  142. package/dist/{conversation-wiki-populator-7M5YYPXH.js → conversation-wiki-populator-HAW3EQD5.js} +1 -1
  143. package/dist/{crdt-sync-MDW6THU7.js → crdt-sync-WXVYQ5ZO.js} +1 -1
  144. package/dist/{crm-webhook-YZKCH7QB.js → crm-webhook-HGUHXI6W.js} +2 -2
  145. package/dist/{cto-delegation-gate-7SQNLKN7.js → cto-delegation-gate-RJ5EVOY3.js} +12 -14
  146. package/dist/{daemon-auth-6XMF4JG5.js → daemon-auth-VXM7MOF4.js} +3 -3
  147. package/dist/{daemon-orchestration-7YUD2H64.js → daemon-orchestration-3E3BIK7E.js} +14 -15
  148. package/dist/{db-backup-R4DLUO4C.js → db-backup-YHDR4SXR.js} +3 -3
  149. package/dist/{entity-boost-YQFREESI.js → entity-boost-27ENEPYC.js} +1 -1
  150. package/dist/{exe-drift-HKJONDA5.js → exe-drift-DBY7PC3H.js} +5 -7
  151. package/dist/{exe-export-TSZJEMWC.js → exe-export-FQPQCBDA.js} +9 -11
  152. package/dist/{exe-import-LAKNLCWI.js → exe-import-7CML2REU.js} +9 -11
  153. package/dist/{exe-key-ODHZVEGR.js → exe-key-KNR4LT2L.js} +5 -6
  154. package/dist/{exe-org-EVOEZY6H.js → exe-org-QKK7M6FR.js} +3 -3
  155. package/dist/{fast-db-init-6SRLEIFS.js → fast-db-init-ADRYLHUA.js} +1 -1
  156. package/dist/gateway/index.js +9 -10
  157. package/dist/{gateway-client-VFKE2WJX.js → gateway-client-CJNSI4GG.js} +1 -1
  158. package/dist/{git-staleness-H774CLPX.js → git-staleness-OL7J5CXL.js} +4 -5
  159. package/dist/{git-task-sweep-FMRECHV7.js → git-task-sweep-O4OIPQB3.js} +11 -12
  160. package/dist/{global-procedures-PYYMCJIW.js → global-procedures-L7AN2A5W.js} +6 -7
  161. package/dist/{graph-query-657O5JYJ.js → graph-query-JBQDJJFP.js} +2 -1
  162. package/dist/{graph-rag-ZE5N7C65.js → graph-rag-V3JU7GYG.js} +2 -1
  163. package/dist/{hook-integrity-S5EUKBL6.js → hook-integrity-HESSTSAK.js} +1 -1
  164. package/dist/hooks/bug-report-worker.js +13 -14
  165. package/dist/hooks/codex-stop-task-finalizer.js +13 -14
  166. package/dist/hooks/commit-complete.js +13 -14
  167. package/dist/hooks/error-recall.js +10 -11
  168. package/dist/hooks/exe-heartbeat-hook.js +6 -4
  169. package/dist/hooks/ingest-worker.js +6 -6
  170. package/dist/hooks/ingest.js +14 -12
  171. package/dist/hooks/instructions-loaded.js +10 -10
  172. package/dist/hooks/notification.js +7 -5
  173. package/dist/hooks/post-compact.js +12 -13
  174. package/dist/hooks/post-tool-combined.js +5 -5
  175. package/dist/hooks/pre-compact.js +17 -18
  176. package/dist/hooks/pre-tool-use.js +34 -17
  177. package/dist/hooks/prompt-submit.js +22 -23
  178. package/dist/hooks/session-end.js +21 -22
  179. package/dist/hooks/session-start.js +8 -8
  180. package/dist/hooks/stop.js +18 -19
  181. package/dist/hooks/subagent-stop.js +12 -13
  182. package/dist/hooks/summary-worker.js +23 -25
  183. package/dist/index.js +18 -19
  184. package/dist/{installer-MIBTZDDM.js → installer-4YA7JGL4.js} +9 -7
  185. package/dist/{installer-3RTZXZ57.js → installer-JF7ARD2O.js} +9 -7
  186. package/dist/{installer-4G4YDLGY.js → installer-ZF7VAXAE.js} +9 -7
  187. package/dist/{key-backup-status-6BBOUM2S.js → key-backup-status-M4W77D3P.js} +2 -2
  188. package/dist/lib/agent-config.js +3 -3
  189. package/dist/lib/cloud-sync.js +7 -8
  190. package/dist/lib/config.js +2 -2
  191. package/dist/lib/consolidation.js +8 -9
  192. package/dist/lib/database.js +4 -5
  193. package/dist/lib/db-daemon-client.js +4 -4
  194. package/dist/lib/db.js +4 -5
  195. package/dist/lib/device-registry.js +2 -2
  196. package/dist/lib/embedder.js +5 -5
  197. package/dist/lib/employee-templates.js +7 -8
  198. package/dist/lib/employees.js +7 -3
  199. package/dist/lib/exe-daemon-client.js +4 -4
  200. package/dist/lib/exe-daemon.js +151 -59
  201. package/dist/lib/hybrid-search.js +8 -9
  202. package/dist/lib/identity-templates.js +1 -1
  203. package/dist/lib/identity.js +6 -6
  204. package/dist/lib/keychain.js +1 -1
  205. package/dist/lib/license.js +3 -3
  206. package/dist/lib/messaging.js +11 -12
  207. package/dist/lib/reminders.js +5 -6
  208. package/dist/lib/schedules.js +8 -9
  209. package/dist/lib/skill-learning.js +6 -7
  210. package/dist/lib/status-brief.js +1 -1
  211. package/dist/lib/store.js +7 -8
  212. package/dist/lib/task-router.js +6 -4
  213. package/dist/lib/tasks.js +12 -13
  214. package/dist/lib/tmux-routing.js +10 -11
  215. package/dist/lib/token-spend.js +5 -6
  216. package/dist/lib/ws-client.js +1 -1
  217. package/dist/{license-gate-746LFKMY.js → license-gate-P6NDW4Z3.js} +4 -4
  218. package/dist/mcp/register-tools.js +64 -65
  219. package/dist/mcp/server.js +66 -67
  220. package/dist/mcp/tools/complete-reminder.js +6 -7
  221. package/dist/mcp/tools/create-reminder.js +6 -7
  222. package/dist/mcp/tools/create-task.js +14 -15
  223. package/dist/mcp/tools/deactivate-behavior.js +7 -8
  224. package/dist/mcp/tools/list-reminders.js +6 -7
  225. package/dist/mcp/tools/list-tasks.js +14 -15
  226. package/dist/mcp/tools/send-message.js +13 -14
  227. package/dist/mcp/tools/update-task.js +13 -14
  228. package/dist/{mcp-http-config-RD5MJYJD.js → mcp-http-config-TIY7CLWB.js} +6 -4
  229. package/dist/{memory-cards-CS3QQQST.js → memory-cards-MQBULX5V.js} +4 -5
  230. package/dist/{memory-poisoning-defense-XPM34UJQ.js → memory-poisoning-defense-EHSL5PZW.js} +4 -5
  231. package/dist/{memory-queue-B332RRFX.js → memory-queue-6YCGHJLQ.js} +3 -3
  232. package/dist/memory-queue-client-SZZDOZXE.js +14 -0
  233. package/dist/{memory-reflection-GH5BOH7A.js → memory-reflection-OTJBCQWK.js} +4 -5
  234. package/dist/message-queue-client-2YTGEB5H.js +92 -0
  235. package/dist/{notifications-WWROKWFT.js → notifications-APKWB63A.js} +10 -11
  236. package/dist/{orchestration-phase-SBCILK4O.js → orchestration-phase-365P32CD.js} +3 -3
  237. package/dist/{orchestrator-V3EMR3AU.js → orchestrator-W62CLQLP.js} +12 -13
  238. package/dist/{plan-limits-AMJUHUCR.js → plan-limits-BO2HMJ6S.js} +6 -7
  239. package/dist/{preferences-MW3BYTQ5.js → preferences-M7KQYRR2.js} +2 -2
  240. package/dist/{projection-worker-2YXEQRKI.js → projection-worker-6TGUPMLY.js} +3 -3
  241. package/dist/{push-notifications-NYQZGUJT.js → push-notifications-2SBCAIA2.js} +3 -3
  242. package/dist/{reranker-ZU3GWEBG.js → reranker-LV5BQIF4.js} +3 -3
  243. package/dist/runtime/index.js +13 -14
  244. package/dist/{session-events-RCAUFPNG.js → session-events-SR2WX2X4.js} +11 -12
  245. package/dist/{session-kill-telemetry-GUN2M2LJ.js → session-kill-telemetry-N2IKZK33.js} +5 -6
  246. package/dist/{session-scope-NGLL42BM.js → session-scope-S5DODJU4.js} +11 -12
  247. package/dist/setup-wizard-H4TZHU36.js +12 -0
  248. package/dist/{shard-manager-CIDCCPJ4.js → shard-manager-3MDFLDOZ.js} +3 -3
  249. package/dist/{task-enforcement-YMGIERU4.js → task-enforcement-L7EGD6LJ.js} +10 -11
  250. package/dist/{task-scope-RMJLXJ7S.js → task-scope-QNRAYD7S.js} +10 -11
  251. package/dist/{tasks-crud-ZRXPR3UB.js → tasks-crud-JHHIROCS.js} +10 -11
  252. package/dist/{tasks-review-NQUJR52I.js → tasks-review-TXMVOOFN.js} +10 -11
  253. package/dist/{tool-capability-index-6EKGND6H.js → tool-capability-index-7OF3LF4X.js} +1 -1
  254. package/dist/{tool-telemetry-4C6LTIPM.js → tool-telemetry-QPGPBV5R.js} +1 -1
  255. package/dist/tui/App.js +25 -26
  256. package/dist/{tui-data-A4GTAXBL.js → tui-data-65WM7L5Q.js} +10 -11
  257. package/dist/{worker-gate-H43H32OF.js → worker-gate-WM2RGEZE.js} +3 -3
  258. package/dist/{workflow-engine-EPWKDGHR.js → workflow-engine-PK2TC7UE.js} +2 -2
  259. package/package.json +1 -1
  260. package/release-notes.json +207 -199
  261. package/dist/chunk-MQV4UKTS.js +0 -142
  262. package/dist/chunk-X2IMCCM5.js +0 -49
  263. package/dist/chunk-ZHJNMC4W.js +0 -292
  264. package/dist/memory-queue-client-MPJ2B7RU.js +0 -14
  265. package/dist/setup-wizard-JAFJRWKE.js +0 -12
  266. /package/dist/{chunk-3RNNTTBH.js → chunk-267IKUT5.js} +0 -0
  267. /package/dist/{chunk-VEGDNUBO.js → chunk-72O7CSKA.js} +0 -0
  268. /package/dist/{chunk-ELXPFTBJ.js → chunk-7A2YCQNM.js} +0 -0
  269. /package/dist/{chunk-NBYMO4RZ.js → chunk-HBV3HSER.js} +0 -0
  270. /package/dist/{chunk-RCNCUSAF.js → chunk-JZB67O4M.js} +0 -0
  271. /package/dist/{chunk-OJ6Z2ZS2.js → chunk-NGAZPQQY.js} +0 -0
  272. /package/dist/{chunk-GSI6OPPH.js → chunk-NSA2JWNP.js} +0 -0
  273. /package/dist/{chunk-GLGWGMPD.js → chunk-XIIVMIS4.js} +0 -0
  274. /package/dist/{core-memory-JOTETVSY.js → core-memory-N74JWH4M.js} +0 -0
  275. /package/dist/{webhook-pipe-AFXVZ6YL.js → webhook-pipe-VOUF2Y43.js} +0 -0
  276. /package/dist/{wiki-acl-P7WEIMJV.js → wiki-acl-BIEVKTJC.js} +0 -0
  277. /package/dist/{wiki-client-UFR4R7YH.js → wiki-client-NGWOSMCV.js} +0 -0
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  fastDbInit
3
- } from "./chunk-ELXPFTBJ.js";
3
+ } from "./chunk-7A2YCQNM.js";
4
4
  import {
5
5
  init_task_scope,
6
6
  sessionScopeFilter
7
- } from "./chunk-YWCPAQBH.js";
7
+ } from "./chunk-AOJHEMHE.js";
8
8
  import {
9
9
  formatStatusAll,
10
10
  formatStatusDeep,
@@ -14,13 +14,11 @@ import {
14
14
  } from "./chunk-DC4ZD76Y.js";
15
15
  import {
16
16
  getClient,
17
- init_database
18
- } from "./chunk-UEWGUOXB.js";
19
- import {
17
+ init_database,
20
18
  init_employees,
21
19
  isCoordinatorRole,
22
20
  loadEmployees
23
- } from "./chunk-ZHJNMC4W.js";
21
+ } from "./chunk-55LEDLDE.js";
24
22
  import {
25
23
  isMainModule
26
24
  } from "./chunk-6Y4B3QF6.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  init_behaviors,
3
3
  storeBehavior
4
- } from "./chunk-QCJ3Y52V.js";
4
+ } from "./chunk-NFX6MDEO.js";
5
5
  import {
6
6
  getClient,
7
7
  init_database
8
- } from "./chunk-UEWGUOXB.js";
8
+ } from "./chunk-55LEDLDE.js";
9
9
  import {
10
10
  init_config,
11
11
  loadConfig
12
- } from "./chunk-IG5XFUYJ.js";
12
+ } from "./chunk-VA42PIIY.js";
13
13
  import {
14
14
  __esm
15
15
  } from "./chunk-KFQGP6VL.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getClient,
3
3
  init_database
4
- } from "./chunk-UEWGUOXB.js";
4
+ } from "./chunk-55LEDLDE.js";
5
5
  import {
6
6
  __esm
7
7
  } from "./chunk-KFQGP6VL.js";
@@ -1,23 +1,21 @@
1
1
  import {
2
+ EMPLOYEES_PATH,
2
3
  getClient,
3
4
  init_database,
4
- isInitialized
5
- } from "./chunk-UEWGUOXB.js";
6
- import {
7
- EMPLOYEES_PATH,
8
5
  init_employees,
6
+ isInitialized,
9
7
  loadEmployees
10
- } from "./chunk-ZHJNMC4W.js";
8
+ } from "./chunk-55LEDLDE.js";
11
9
  import {
12
10
  PLAN_LIMITS,
13
11
  checkLicense,
14
12
  init_license,
15
13
  isFeatureAllowed
16
- } from "./chunk-KNS5ETKF.js";
14
+ } from "./chunk-GLVF7ENO.js";
17
15
  import {
18
16
  EXE_AI_DIR,
19
17
  init_config
20
- } from "./chunk-IG5XFUYJ.js";
18
+ } from "./chunk-VA42PIIY.js";
21
19
  import {
22
20
  __esm
23
21
  } from "./chunk-KFQGP6VL.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EXE_AI_DIR,
3
3
  init_config
4
- } from "./chunk-IG5XFUYJ.js";
4
+ } from "./chunk-VA42PIIY.js";
5
5
 
6
6
  // src/lib/mcp-transport-health.ts
7
7
  init_config();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-VEGDNUBO.js";
3
+ } from "./chunk-72O7CSKA.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -111,13 +111,13 @@ function buildFirstBootBrief(employees, dateStr, sessionTag) {
111
111
  }
112
112
  bodyLines.push("");
113
113
  bodyLines.push(" \u{1F9ED} Orchestration:");
114
- bodyLines.push(" \u2022 Phase 1 \u2014 COO / Chief of Staff mode");
114
+ bodyLines.push(" \u2022 Phase 1 \u2014 Coordinator / Chief of Staff mode");
115
115
  bodyLines.push(" \u2022 Recommended start: build company context first");
116
116
  bodyLines.push(" \u2022 You can unlock executives or parallel mode anytime");
117
117
  bodyLines.push("");
118
118
  bodyLines.push(" \u{1F4A1} Quick start:");
119
119
  bodyLines.push(" \u2022 Run `exe-os backfill-conversations` to import Claude Code history");
120
- bodyLines.push(" \u2022 Say `/exe` to launch your COO with a full status brief");
120
+ bodyLines.push(" \u2022 Say `/exe` to launch your coordinator with a full status brief");
121
121
  bodyLines.push(" \u2022 Say `/exe-team` to manage your team");
122
122
  let maxW = 0;
123
123
  for (const line of [...lines, ...bodyLines]) {
@@ -196,7 +196,7 @@ function buildOrchestrationPhase(data, employees) {
196
196
  return [
197
197
  "\u{1F9ED} ORCHESTRATION",
198
198
  " Phase 2 \u2014 Executive bench",
199
- " Focus: COO works with CTO/CMO/domain executives before specialist fan-out",
199
+ " Focus: Coordinator works with CTO/CMO/domain executives before specialist fan-out",
200
200
  " You can switch phases anytime: exe-os org phase"
201
201
  ];
202
202
  }
@@ -210,7 +210,7 @@ function buildOrchestrationPhase(data, employees) {
210
210
  }
211
211
  return [
212
212
  "\u{1F9ED} ORCHESTRATION",
213
- " Phase 1 \u2014 COO / Chief of Staff mode",
213
+ " Phase 1 \u2014 Coordinator / Chief of Staff mode",
214
214
  " Focus: building company context before delegation",
215
215
  phase1Signal ? " Signal: repeated domain work detected. Consider: exe-os org unlock executives" : " Ready later? exe-os org unlock executives"
216
216
  ];
@@ -2,7 +2,7 @@ import {
2
2
  enforcePrivateFileSync,
3
3
  ensurePrivateDirSync,
4
4
  init_secure_files
5
- } from "./chunk-X2IMCCM5.js";
5
+ } from "./chunk-FZ23OZL3.js";
6
6
 
7
7
  // src/lib/preferences.ts
8
8
  init_secure_files();
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  EXE_AI_DIR,
3
3
  init_config
4
- } from "./chunk-IG5XFUYJ.js";
4
+ } from "./chunk-VA42PIIY.js";
5
5
 
6
6
  // src/lib/background-jobs.ts
7
7
  init_config();
@@ -1,20 +1,25 @@
1
1
  import {
2
2
  PLATFORM_PROCEDURE_TITLES
3
- } from "./chunk-DMFM77DV.js";
3
+ } from "./chunk-WZDI6UJ6.js";
4
4
  import {
5
+ getClient,
5
6
  getIdentity,
7
+ init_database,
8
+ init_identity,
6
9
  listIdentities,
7
10
  updateIdentity
8
- } from "./chunk-MQV4UKTS.js";
11
+ } from "./chunk-55LEDLDE.js";
9
12
  import {
10
- getClient,
11
- init_database
12
- } from "./chunk-UEWGUOXB.js";
13
+ atomicWriteJsonSync,
14
+ init_secure_files
15
+ } from "./chunk-FZ23OZL3.js";
13
16
 
14
17
  // src/lib/orchestration-package.ts
18
+ init_secure_files();
15
19
  init_database();
20
+ init_identity();
16
21
  import { randomUUID } from "crypto";
17
- import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
22
+ import { copyFileSync, existsSync, mkdirSync, readFileSync } from "fs";
18
23
  import os from "os";
19
24
  import path from "path";
20
25
  var PACKAGE_VERSION = "1.0";
@@ -112,8 +117,7 @@ function writeRosterFile(roster) {
112
117
  }
113
118
  copyFileSync(rosterPath, getBackupPath());
114
119
  }
115
- writeFileSync(rosterPath, `${JSON.stringify(roster, null, 2)}
116
- `, "utf-8");
120
+ atomicWriteJsonSync(rosterPath, roster);
117
121
  }
118
122
  function buildImportedRosterEntries(roster, timestamp) {
119
123
  return roster.map((entry) => ({
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_employees,
3
3
  isCoordinatorRole
4
- } from "./chunk-ZHJNMC4W.js";
4
+ } from "./chunk-55LEDLDE.js";
5
5
 
6
6
  // src/lib/task-router.ts
7
7
  init_employees();
@@ -589,7 +589,7 @@ function auditHookOwnership() {
589
589
  }
590
590
  async function auditShards() {
591
591
  try {
592
- const { auditShardHealth } = await import("./shard-manager-CIDCCPJ4.js");
592
+ const { auditShardHealth } = await import("./shard-manager-3MDFLDOZ.js");
593
593
  const report = await auditShardHealth();
594
594
  return {
595
595
  total: report.total,
@@ -605,7 +605,7 @@ async function auditShards() {
605
605
  async function auditKeyHealth() {
606
606
  try {
607
607
  const { getMasterKey } = await import("./lib/keychain.js");
608
- const { getKeyBackupStatus } = await import("./key-backup-status-6BBOUM2S.js");
608
+ const { getKeyBackupStatus } = await import("./key-backup-status-M4W77D3P.js");
609
609
  const key = await getMasterKey();
610
610
  const backup = getKeyBackupStatus();
611
611
  return {
@@ -830,7 +830,7 @@ function formatReport(report, flags) {
830
830
  return lines.join("\n");
831
831
  }
832
832
  async function fixNullVectors() {
833
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-H43H32OF.js");
833
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("./worker-gate-WM2RGEZE.js");
834
834
  if (!tryAcquireWorkerSlot()) {
835
835
  process.stderr.write("[exe-doctor] Worker gate full \u2014 waiting for existing backfill workers to finish\n");
836
836
  await new Promise((r) => setTimeout(r, 5e3));
@@ -914,7 +914,7 @@ async function fixBloated(client, bloated, dryRun) {
914
914
  return chunksCreated;
915
915
  }
916
916
  async function fixShards(dryRun) {
917
- const { auditShardHealth } = await import("./shard-manager-CIDCCPJ4.js");
917
+ const { auditShardHealth } = await import("./shard-manager-3MDFLDOZ.js");
918
918
  const report = await auditShardHealth({ repair: true, dryRun });
919
919
  return {
920
920
  total: report.total,
@@ -951,7 +951,7 @@ function splitAtSentences(text, maxChunkSize) {
951
951
  }
952
952
  async function main(argv = process.argv.slice(2)) {
953
953
  const flags = parseFlags(argv);
954
- const { fastDbInit } = await import("./fast-db-init-6SRLEIFS.js");
954
+ const { fastDbInit } = await import("./fast-db-init-ADRYLHUA.js");
955
955
  const client = await fastDbInit();
956
956
  const report = await runAudit(client, flags);
957
957
  console.log(formatReport(report, flags));
@@ -962,7 +962,7 @@ ${mode} Applying repairs...
962
962
  `);
963
963
  if (!flags.dryRun) {
964
964
  try {
965
- const { createBackup } = await import("./db-backup-R4DLUO4C.js");
965
+ const { createBackup } = await import("./db-backup-YHDR4SXR.js");
966
966
  const backupPath = createBackup("pre-fix");
967
967
  if (backupPath) {
968
968
  console.log(` Backup created: ${backupPath.split("/").pop()}`);
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  EXE_AI_DIR,
3
3
  init_config
4
- } from "./chunk-IG5XFUYJ.js";
4
+ } from "./chunk-VA42PIIY.js";
5
5
  import {
6
6
  enforcePrivateFileSync,
7
7
  ensurePrivateDirSync,
8
8
  init_secure_files
9
- } from "./chunk-X2IMCCM5.js";
9
+ } from "./chunk-FZ23OZL3.js";
10
10
  import {
11
11
  __esm
12
12
  } from "./chunk-KFQGP6VL.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getClient,
3
3
  init_database
4
- } from "./chunk-UEWGUOXB.js";
4
+ } from "./chunk-55LEDLDE.js";
5
5
 
6
6
  // src/lib/token-spend.ts
7
7
  init_database();
@@ -6,12 +6,12 @@ import {
6
6
  import {
7
7
  EXE_AI_DIR,
8
8
  init_config
9
- } from "./chunk-IG5XFUYJ.js";
9
+ } from "./chunk-VA42PIIY.js";
10
10
  import {
11
- enforcePrivateFileSync,
11
+ atomicWriteJsonSync,
12
12
  ensurePrivateDirSync,
13
13
  init_secure_files
14
- } from "./chunk-X2IMCCM5.js";
14
+ } from "./chunk-FZ23OZL3.js";
15
15
  import {
16
16
  __esm,
17
17
  __export
@@ -32,7 +32,7 @@ __export(agent_config_exports, {
32
32
  setAgentMcps: () => setAgentMcps,
33
33
  setAgentRuntime: () => setAgentRuntime
34
34
  });
35
- import { readFileSync, writeFileSync, existsSync } from "fs";
35
+ import { readFileSync, existsSync } from "fs";
36
36
  import path from "path";
37
37
  function loadAgentConfig() {
38
38
  if (!existsSync(AGENT_CONFIG_PATH)) return {};
@@ -45,8 +45,7 @@ function loadAgentConfig() {
45
45
  function saveAgentConfig(config) {
46
46
  const dir = path.dirname(AGENT_CONFIG_PATH);
47
47
  ensurePrivateDirSync(dir);
48
- writeFileSync(AGENT_CONFIG_PATH, JSON.stringify(config, null, 2) + "\n", "utf-8");
49
- enforcePrivateFileSync(AGENT_CONFIG_PATH);
48
+ atomicWriteJsonSync(AGENT_CONFIG_PATH, config);
50
49
  }
51
50
  function getAgentRuntime(agentId) {
52
51
  const config = loadAgentConfig();
@@ -2,7 +2,7 @@ import {
2
2
  listWorkflowDefinitions,
3
3
  runWorkflow,
4
4
  startWorkflow
5
- } from "./chunk-5PB6BRLA.js";
5
+ } from "./chunk-E2KEN3PG.js";
6
6
  import {
7
7
  initCRMBridge
8
8
  } from "./chunk-GCNWCYJI.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  getClient,
15
15
  init_database
16
- } from "./chunk-UEWGUOXB.js";
16
+ } from "./chunk-55LEDLDE.js";
17
17
 
18
18
  // src/gateway/router.ts
19
19
  function matchesPlatform(msgPlatform, matchPlatform) {
@@ -334,12 +334,12 @@ async function sinkCRM(msg, agentResponse, agentName) {
334
334
  }
335
335
  async function sinkWiki(msg, agentResponse) {
336
336
  try {
337
- const { createWikiClient } = await import("./wiki-client-UFR4R7YH.js");
337
+ const { createWikiClient } = await import("./wiki-client-NGWOSMCV.js");
338
338
  const client = await createWikiClient();
339
339
  if (!client) return false;
340
340
  const content = msg.text ?? "";
341
341
  if (content.length < 50) return false;
342
- const { chatInWorkspace } = await import("./wiki-client-UFR4R7YH.js");
342
+ const { chatInWorkspace } = await import("./wiki-client-NGWOSMCV.js");
343
343
  const ingestText = [
344
344
  `[${msg.platform}] Message from ${msg.senderName ?? msg.senderId} (${msg.timestamp}):`,
345
345
  content,
@@ -358,8 +358,8 @@ Agent response: ${agentResponse}` : ""
358
358
  }
359
359
  async function sinkEntityExtraction(msg, agentResponse, agentName) {
360
360
  try {
361
- const { extractFromConversation } = await import("./conversation-entity-extractor-HKSNDF4L.js");
362
- const { storeExtraction } = await import("./graph-rag-ZE5N7C65.js");
361
+ const { extractFromConversation } = await import("./conversation-entity-extractor-FJNOZ4DO.js");
362
+ const { storeExtraction } = await import("./graph-rag-V3JU7GYG.js");
363
363
  if ((msg.text?.length ?? 0) < 20) return false;
364
364
  if (msg.isHistorical) return false;
365
365
  const extraction = await extractFromConversation(msg, agentResponse, agentName);
@@ -367,7 +367,7 @@ async function sinkEntityExtraction(msg, agentResponse, agentName) {
367
367
  const client = getClient();
368
368
  const memoryId = `conv:${msg.messageId}`;
369
369
  await storeExtraction(client, extraction, memoryId, msg.timestamp);
370
- import("./conversation-wiki-populator-7M5YYPXH.js").then(
370
+ import("./conversation-wiki-populator-HAW3EQD5.js").then(
371
371
  ({ populateWikiFromExtraction }) => populateWikiFromExtraction(extraction, msg, agentResponse, agentName)
372
372
  ).catch((err) => {
373
373
  process.stderr.write(
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listReminders
3
- } from "./chunk-3TTJPQAE.js";
3
+ } from "./chunk-BKEJSHDE.js";
4
4
 
5
5
  // src/mcp/tools/list-reminders.ts
6
6
  import { z } from "zod";
@@ -8,11 +8,11 @@ import {
8
8
  connectEmbedDaemon,
9
9
  embedBatchViaClient,
10
10
  init_exe_daemon_client
11
- } from "./chunk-POU4ZLBM.js";
11
+ } from "./chunk-UKCSMGNM.js";
12
12
  import {
13
13
  EXE_AI_DIR,
14
14
  init_config
15
- } from "./chunk-IG5XFUYJ.js";
15
+ } from "./chunk-VA42PIIY.js";
16
16
 
17
17
  // src/lib/code-context-index.ts
18
18
  init_config();
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  vectorToBlob
3
- } from "./chunk-IU3CXV4S.js";
3
+ } from "./chunk-LR3QFARI.js";
4
4
  import {
5
5
  init_employees,
6
6
  isCoordinatorName
7
- } from "./chunk-ZHJNMC4W.js";
7
+ } from "./chunk-55LEDLDE.js";
8
8
 
9
9
  // src/lib/consolidation.ts
10
10
  import { randomUUID } from "crypto";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_session_kill_telemetry,
3
3
  recordSessionKill
4
- } from "./chunk-QUG6EMZQ.js";
4
+ } from "./chunk-EZUWMBWA.js";
5
5
  import {
6
6
  init_notifications,
7
7
  init_task_scope,
@@ -9,7 +9,7 @@ import {
9
9
  sessionScopeFilter,
10
10
  verifyPaneAtCapacity,
11
11
  writeNotification
12
- } from "./chunk-YWCPAQBH.js";
12
+ } from "./chunk-AOJHEMHE.js";
13
13
  import {
14
14
  init_session_registry,
15
15
  listSessions
@@ -20,12 +20,10 @@ import {
20
20
  } from "./chunk-57HCNSFO.js";
21
21
  import {
22
22
  getClient,
23
- init_database
24
- } from "./chunk-UEWGUOXB.js";
25
- import {
23
+ init_database,
26
24
  init_employees,
27
25
  isCoordinatorName
28
- } from "./chunk-ZHJNMC4W.js";
26
+ } from "./chunk-55LEDLDE.js";
29
27
  import {
30
28
  __esm
31
29
  } from "./chunk-KFQGP6VL.js";
@@ -2,11 +2,11 @@ import {
2
2
  ensureDaemonToken,
3
3
  init_daemon_auth,
4
4
  readDaemonToken
5
- } from "./chunk-SL47NHTE.js";
5
+ } from "./chunk-SDYBAMPW.js";
6
6
  import {
7
7
  EXE_AI_DIR,
8
8
  init_config
9
- } from "./chunk-IG5XFUYJ.js";
9
+ } from "./chunk-VA42PIIY.js";
10
10
  import {
11
11
  __esm
12
12
  } from "./chunk-KFQGP6VL.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  getMasterKey,
3
3
  setMasterKey
4
- } from "./chunk-XUHFQHGZ.js";
4
+ } from "./chunk-4JZNDVZH.js";
5
5
  import {
6
6
  LEGACY_LANCE_PATH,
7
7
  MODELS_DIR,
8
8
  init_config,
9
9
  loadConfig,
10
10
  saveConfig
11
- } from "./chunk-IG5XFUYJ.js";
11
+ } from "./chunk-VA42PIIY.js";
12
12
  import {
13
13
  __require
14
14
  } from "./chunk-KFQGP6VL.js";
@@ -337,7 +337,7 @@ async function runSetupWizard(opts = {}) {
337
337
  "Setup cancelled: recovery phrase was not confirmed. Save the 24-word phrase before continuing \u2014 it is required to recover encrypted memories."
338
338
  );
339
339
  }
340
- const { markKeyBackupConfirmed } = await import("./key-backup-status-6BBOUM2S.js");
340
+ const { markKeyBackupConfirmed } = await import("./key-backup-status-M4W77D3P.js");
341
341
  markKeyBackupConfirmed("setup-wizard");
342
342
  }
343
343
  state.completedSteps.push(1);
@@ -485,7 +485,7 @@ async function runSetupWizard(opts = {}) {
485
485
  if (cloudConfig) {
486
486
  config.cloud = cloudConfig;
487
487
  }
488
- const { applyDefaultOrchestrationPhase } = await import("./orchestration-phase-SBCILK4O.js");
488
+ const { applyDefaultOrchestrationPhase } = await import("./orchestration-phase-365P32CD.js");
489
489
  applyDefaultOrchestrationPhase(config);
490
490
  await saveConfig(config);
491
491
  log("");
@@ -511,7 +511,7 @@ async function runSetupWizard(opts = {}) {
511
511
  log("Step 5 already complete \u2014 skipping.");
512
512
  }
513
513
  if (!state.completedSteps.includes(55)) {
514
- const { savePreferences, loadPreferences: loadPrefs } = await import("./preferences-MW3BYTQ5.js");
514
+ const { savePreferences, loadPreferences: loadPrefs } = await import("./preferences-M7KQYRR2.js");
515
515
  const existingPrefs = loadPrefs();
516
516
  const prefs = { ...existingPrefs };
517
517
  log("=== Config Defaults ===");
@@ -660,7 +660,7 @@ async function runSetupWizard(opts = {}) {
660
660
  } else if (!state.completedSteps.includes(6)) {
661
661
  log("=== Your First Hire ===");
662
662
  log("");
663
- log("Your new COO will hold all your vision, your roadmap, all your");
663
+ log("Your new coordinator will hold all your vision, your roadmap, all your");
664
664
  log("projects and everything you think about in business, life and beyond.");
665
665
  log("They can call and hire new employees, executives, and coordinate");
666
666
  log("your entire team. Engineers, marketers, specialists, all working");
@@ -668,7 +668,7 @@ async function runSetupWizard(opts = {}) {
668
668
  log("");
669
669
  const cooNameInput = await ask(
670
670
  rl,
671
- `Name your COO (default: ${DEFAULT_COORDINATOR_TEMPLATE_NAME}): `
671
+ `Name your coordinator (default: ${DEFAULT_COORDINATOR_TEMPLATE_NAME}): `
672
672
  );
673
673
  cooName = (cooNameInput || DEFAULT_COORDINATOR_TEMPLATE_NAME).toLowerCase();
674
674
  let employees = await loadEmployees(EMPLOYEES_PATH).catch(() => []);
@@ -768,7 +768,7 @@ async function runSetupWizard(opts = {}) {
768
768
  log(" Phase 3: Parallel org \u2014 specialists execute in parallel with reviews");
769
769
  log("");
770
770
  const unlockExecutives = (await ask(rl, "Unlock Phase 2 executives now? (y/N): ")).toLowerCase() === "y";
771
- const { setOrchestrationPhase } = await import("./orchestration-phase-SBCILK4O.js");
771
+ const { setOrchestrationPhase } = await import("./orchestration-phase-365P32CD.js");
772
772
  if (!unlockExecutives) {
773
773
  await setOrchestrationPhase("phase_1_coo", "setup-wizard");
774
774
  log("");
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  routeTask
3
- } from "./chunk-NTIWZFOJ.js";
3
+ } from "./chunk-RZK7BZHP.js";
4
4
  import {
5
5
  createTaskCore,
6
6
  employeeSessionName,
@@ -12,12 +12,12 @@ import {
12
12
  isEmployeeAlive,
13
13
  sessionScopeFilter,
14
14
  updateTaskStatus
15
- } from "./chunk-YWCPAQBH.js";
15
+ } from "./chunk-AOJHEMHE.js";
16
16
  import {
17
17
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
18
18
  getCoordinatorName,
19
19
  init_employees
20
- } from "./chunk-ZHJNMC4W.js";
20
+ } from "./chunk-55LEDLDE.js";
21
21
 
22
22
  // src/runtime/orchestrator.ts
23
23
  init_employees();
@@ -1,8 +1,8 @@
1
1
  import {
2
- enforcePrivateFile,
2
+ atomicWriteJson,
3
3
  ensurePrivateDir,
4
4
  init_secure_files
5
- } from "./chunk-X2IMCCM5.js";
5
+ } from "./chunk-FZ23OZL3.js";
6
6
  import {
7
7
  __esm,
8
8
  __export
@@ -122,7 +122,27 @@ async function loadConfig() {
122
122
  if (!existsSync(configPath)) {
123
123
  return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
124
124
  }
125
- const raw = await readFile(configPath, "utf-8");
125
+ let raw;
126
+ try {
127
+ raw = await readFile(configPath, "utf-8");
128
+ JSON.parse(raw);
129
+ } catch {
130
+ const bakPath = configPath + ".bak";
131
+ if (existsSync(bakPath)) {
132
+ process.stderr.write("[exe-os] config.json corrupt \u2014 restoring from config.json.bak\n");
133
+ try {
134
+ raw = await readFile(bakPath, "utf-8");
135
+ JSON.parse(raw);
136
+ await writeFile(configPath, raw);
137
+ } catch {
138
+ process.stderr.write("[exe-os] config.json.bak also corrupt \u2014 using defaults\n");
139
+ return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
140
+ }
141
+ } else {
142
+ process.stderr.write("[exe-os] config.json corrupt, no backup available \u2014 using defaults\n");
143
+ return { ...DEFAULT_CONFIG, dbPath: path.join(dir, "memories.db") };
144
+ }
145
+ }
126
146
  try {
127
147
  let parsed = JSON.parse(raw);
128
148
  parsed = migrateLegacyConfig(parsed);
@@ -131,8 +151,7 @@ async function loadConfig() {
131
151
  process.stderr.write(`[exe-os] Config migrated from v${fromVersion} to v${migratedCfg.config_version}
132
152
  `);
133
153
  try {
134
- await writeFile(configPath, JSON.stringify(migratedCfg, null, 2) + "\n");
135
- await enforcePrivateFile(configPath);
154
+ await atomicWriteJson(configPath, migratedCfg);
136
155
  } catch {
137
156
  }
138
157
  }
@@ -189,8 +208,7 @@ async function saveConfig(config) {
189
208
  const dir = process.env.EXE_OS_DIR ?? process.env.EXE_MEM_DIR ?? EXE_AI_DIR;
190
209
  await ensurePrivateDir(dir);
191
210
  const configPath = path.join(dir, "config.json");
192
- await writeFile(configPath, JSON.stringify(config, null, 2) + "\n");
193
- await enforcePrivateFile(configPath);
211
+ await atomicWriteJson(configPath, config);
194
212
  }
195
213
  async function loadConfigFrom(configPath) {
196
214
  const raw = await readFile(configPath, "utf-8");
@@ -260,7 +260,7 @@ var PLATFORM_PROCEDURES = [
260
260
  title: "MCP disconnect \u2014 ask the user, never work around it",
261
261
  domain: "workflow",
262
262
  priority: "p0",
263
- content: "If MCP tools are unavailable, disconnected, or returning connection errors: STOP. Tell the user clearly: 'MCP server is disconnected. Please run /mcp to reconnect.' Do NOT attempt workarounds \u2014 no raw Node imports, no direct DB access, no CLI hacks, no daemon socket calls. MCP is the ONLY data interface. Working around it wastes time, hits bundling issues, and bypasses the contract boundary. Ask once, wait, proceed when reconnected."
263
+ content: "If MCP tools are unavailable, disconnected, or returning connection errors: STOP. Tell the user clearly: 'MCP server is disconnected. Please run /mcp to reconnect.' Do NOT attempt workarounds \u2014 no raw Node imports, no direct DB access, no CLI hacks, no daemon socket calls, no tmux send-keys to other sessions, no cross-session intercoms. MCP is the ONLY data interface AND the ONLY dispatch path. When MCP is down, you cannot create tasks, send messages, or coordinate agents. Falling back to tmux send-keys bypasses session scoping, task tracking, and review gates. Ask once, wait, proceed when reconnected."
264
264
  },
265
265
  // --- MCP Tool Catalog (Layer 0 — every agent knows what tools exist) ---
266
266
  {