@askexenow/exe-os 0.9.145 → 0.9.147

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 (342) hide show
  1. package/dist/{active-agent-HUDSZRUG.js → active-agent-KMQCNXXD.js} +6 -6
  2. package/dist/{active-agent-GJOJUEMF.js → active-agent-NCZCDDZ2.js} +6 -6
  3. package/dist/{agent-context-HH7TL5ZP.js → agent-context-AZTTMUHP.js} +1 -1
  4. package/dist/agent-heartbeat-I5UPGXAU.js +60 -0
  5. package/dist/{agent-loop-OCJFYO72.js → agent-loop-NUIWAL3Z.js} +1 -1
  6. package/dist/{agentic-ontology-5PGUVMDP.js → agentic-ontology-SQR74CO7.js} +2 -2
  7. package/dist/{asana-BSDR6NW4.js → asana-MRQ2OQMJ.js} +1 -1
  8. package/dist/assets/wezterm.lua +68 -0
  9. package/dist/{backfill-metadata-ZDJ5B37R.js → backfill-metadata-KMDWLDXU.js} +7 -7
  10. package/dist/{background-jobs-4N4JSZVZ.js → background-jobs-IUB22CRF.js} +4 -4
  11. package/dist/{bash-X54PZMOG.js → bash-HOHKSOU3.js} +1 -1
  12. package/dist/{behaviors-TXLHEM5J.js → behaviors-4U2N5L4E.js} +6 -6
  13. package/dist/bin/age-ontology-load.js +4 -4
  14. package/dist/bin/agentic-ontology-backfill.js +9 -9
  15. package/dist/bin/agentic-reflection-backfill.js +10 -10
  16. package/dist/bin/agentic-semantic-label.js +9 -9
  17. package/dist/bin/backfill-conversations.js +9 -9
  18. package/dist/bin/backfill-responses.js +9 -9
  19. package/dist/bin/backfill-vectors.js +12 -14
  20. package/dist/bin/bulk-sync-postgres.js +10 -10
  21. package/dist/bin/cc-doctor.js +5 -5
  22. package/dist/bin/cleanup-stale-review-tasks.js +12 -11
  23. package/dist/bin/cli.js +19 -19
  24. package/dist/bin/customer-readiness.js +47 -0
  25. package/dist/bin/exe-agent-config.js +6 -6
  26. package/dist/bin/exe-agent.js +8 -8
  27. package/dist/bin/exe-assign.js +11 -11
  28. package/dist/bin/exe-boot.js +39 -32
  29. package/dist/bin/exe-call.js +9 -11
  30. package/dist/bin/exe-cloud.js +10 -12
  31. package/dist/bin/exe-dispatch.js +12 -11
  32. package/dist/bin/exe-doctor.js +2 -2
  33. package/dist/bin/exe-export-behaviors.js +10 -10
  34. package/dist/bin/exe-forget.js +9 -9
  35. package/dist/bin/exe-gateway.js +18 -18
  36. package/dist/bin/exe-healthcheck.js +5 -5
  37. package/dist/bin/exe-heartbeat.js +19 -14
  38. package/dist/bin/exe-kill.js +9 -9
  39. package/dist/bin/exe-launch-agent.js +16 -18
  40. package/dist/bin/exe-new-employee.js +11 -11
  41. package/dist/bin/exe-pending-messages.js +13 -12
  42. package/dist/bin/exe-pending-notifications.js +12 -11
  43. package/dist/bin/exe-pending-reviews.js +20 -13
  44. package/dist/bin/exe-rename.js +9 -11
  45. package/dist/bin/exe-review.js +14 -13
  46. package/dist/bin/exe-search.js +8 -10
  47. package/dist/bin/exe-session-cleanup.js +19 -19
  48. package/dist/bin/exe-settings.js +11 -13
  49. package/dist/bin/exe-start-codex.js +15 -15
  50. package/dist/bin/exe-start-opencode.js +11 -11
  51. package/dist/bin/exe-status.js +13 -12
  52. package/dist/bin/exe-support.js +5 -5
  53. package/dist/bin/exe-team.js +6 -6
  54. package/dist/bin/git-sweep.js +12 -11
  55. package/dist/bin/graph-backfill.js +10 -10
  56. package/dist/bin/graph-export.js +8 -8
  57. package/dist/bin/graph-layer-benchmark.js +1 -1
  58. package/dist/bin/install.js +38 -12
  59. package/dist/bin/intercom-check.js +14 -8
  60. package/dist/bin/list-providers.js +1 -1
  61. package/dist/bin/postgres-agentic-reflection-backfill.js +6 -6
  62. package/dist/bin/postgres-agentic-semantic-backfill.js +5 -5
  63. package/dist/bin/pre-publish.js +2 -2
  64. package/dist/bin/registry-proxy.js +1 -1
  65. package/dist/bin/scan-tasks.js +48 -49
  66. package/dist/bin/setup.js +6 -5
  67. package/dist/bin/shard-migrate.js +8 -8
  68. package/dist/bin/stack-update.js +66 -10
  69. package/dist/bin/update.js +1 -1
  70. package/dist/{branding-52J2ILJX.js → branding-EHDA3CCK.js} +4 -6
  71. package/dist/{capacity-monitor-HWN2JX5W.js → capacity-monitor-Q5M5SVRC.js} +13 -12
  72. package/dist/{catchup-brief-UERCIVM5.js → catchup-brief-IPNSW7RQ.js} +14 -13
  73. package/dist/{chunk-GK5VMHSN.js → chunk-26UVGP3I.js} +1 -1
  74. package/dist/{chunk-CDDRSIGK.js → chunk-2BPO7VQF.js} +80 -70
  75. package/dist/{chunk-7PTII6F4.js → chunk-2OATM2JZ.js} +1 -1
  76. package/dist/{chunk-AJ2XDY27.js → chunk-3FIWKONP.js} +10 -12
  77. package/dist/{chunk-53VUIKOE.js → chunk-3MLGUSKS.js} +1 -1
  78. package/dist/{chunk-OYCQ6PFC.js → chunk-4EINMZNO.js} +6 -6
  79. package/dist/{chunk-JUITBJ7J.js → chunk-4GLEFA2X.js} +1 -1
  80. package/dist/{chunk-BY4OTURZ.js → chunk-4MN44ORL.js} +1 -1
  81. package/dist/{chunk-MUVPQCQA.js → chunk-6HFZ2KUC.js} +1 -3
  82. package/dist/{chunk-F7JVVLGH.js → chunk-6YUACQQA.js} +2 -4
  83. package/dist/{chunk-UVH6FA5E.js → chunk-7B5DQGXG.js} +1 -1
  84. package/dist/{chunk-XEA6DSLR.js → chunk-AERGE6GC.js} +4 -6
  85. package/dist/{chunk-NQAZ2CP7.js → chunk-AGFWOII2.js} +11 -11
  86. package/dist/{chunk-RWJY7KMP.js → chunk-ARGBV4PP.js} +46 -13
  87. package/dist/{chunk-VRD452MQ.js → chunk-B4HAUSVQ.js} +2 -2
  88. package/dist/{chunk-VX4X2O6J.js → chunk-CGQ5PWS3.js} +6 -6
  89. package/dist/{chunk-RNN4MZDN.js → chunk-DBXKWFTK.js} +3 -3
  90. package/dist/{chunk-Y2VVTK2E.js → chunk-DTLASDQM.js} +1 -1
  91. package/dist/{chunk-K3PSCQLK.js → chunk-DW6P7UVY.js} +4 -6
  92. package/dist/{chunk-B6Q6WAD7.js → chunk-EHNSK2Y4.js} +1 -1
  93. package/dist/{chunk-7PEYIW53.js → chunk-EHXOWGQG.js} +2 -2
  94. package/dist/{chunk-6BUUY7FG.js → chunk-EOO32RJZ.js} +2 -4
  95. package/dist/{chunk-MFGARIVE.js → chunk-EYQIEK5M.js} +2 -4
  96. package/dist/{chunk-NT6R4ATM.js → chunk-FG4Z2XFU.js} +1 -1
  97. package/dist/{chunk-32LFUJVG.js → chunk-FNMNKYVH.js} +221 -110
  98. package/dist/{chunk-CWPE6QVM.js → chunk-GNHN5HRQ.js} +2 -4
  99. package/dist/{chunk-WLEVAIL5.js → chunk-GP6G6EQI.js} +1 -1
  100. package/dist/{chunk-KLRP6ZG3.js → chunk-HHMHL4FB.js} +251 -96
  101. package/dist/{chunk-O7YD7JYE.js → chunk-I7AW4237.js} +18 -4
  102. package/dist/{chunk-TFZZL3QF.js → chunk-ICKEGWWP.js} +2 -4
  103. package/dist/{chunk-SR6D65DA.js → chunk-IFACD7E6.js} +3 -3
  104. package/dist/{chunk-I4WAKJ6W.js → chunk-J4RAXKTC.js} +3 -3
  105. package/dist/{chunk-65UQ7H5U.js → chunk-JF3Q5YKI.js} +4 -6
  106. package/dist/{chunk-RWURKLS3.js → chunk-JH7Z2AZ7.js} +1 -1
  107. package/dist/{chunk-5WTYETQO.js → chunk-K4KAPZC7.js} +4 -8
  108. package/dist/{chunk-G3VR3MJI.js → chunk-KIUU4PNX.js} +4 -8
  109. package/dist/{chunk-4F56OUR7.js → chunk-LC53LVOT.js} +2 -2
  110. package/dist/{chunk-W7NQE65M.js → chunk-LJML7HT2.js} +1 -1
  111. package/dist/{chunk-V4O2APMI.js → chunk-LL5EY6OQ.js} +1 -1
  112. package/dist/{chunk-DCJ42FEN.js → chunk-LWJ4AMMY.js} +2 -4
  113. package/dist/{chunk-GCMT6RWI.js → chunk-LYH5HE24.js} +3 -14
  114. package/dist/{chunk-63UVIM7S.js → chunk-MBA4NNTS.js} +2 -4
  115. package/dist/{chunk-7KR5PV4P.js → chunk-MKPSMRVX.js} +1 -1
  116. package/dist/{chunk-C4EVFN7J.js → chunk-MKUVEDUE.js} +2 -2
  117. package/dist/chunk-MLKGABMK.js +9 -0
  118. package/dist/chunk-MLXJ5EZG.js +90 -0
  119. package/dist/{chunk-BXCJOACQ.js → chunk-NFHFNPTN.js} +3 -5
  120. package/dist/{chunk-2R3N4DQY.js → chunk-NJKERRSG.js} +3 -3
  121. package/dist/{chunk-I5VJNTDL.js → chunk-NNT2ZNMC.js} +5 -7
  122. package/dist/{chunk-O7CTVDC3.js → chunk-ODEGQCWW.js} +8 -8
  123. package/dist/{chunk-H4YONWQX.js → chunk-ONMRBKAX.js} +229 -108
  124. package/dist/{chunk-NE6RPW5C.js → chunk-PMWDO5FR.js} +1 -1
  125. package/dist/{chunk-IPSFAUK5.js → chunk-QB66MH2V.js} +4 -4
  126. package/dist/{chunk-XAHIVBTU.js → chunk-QHQJ7DLL.js} +6 -6
  127. package/dist/{chunk-NA3MXUU6.js → chunk-TH6HTK2L.js} +17 -15
  128. package/dist/{chunk-H4KUTL2T.js → chunk-TKEDF7KV.js} +1 -1
  129. package/dist/{chunk-KHV55ME4.js → chunk-TOWAZ5IV.js} +95 -118
  130. package/dist/{chunk-IBVB2NGY.js → chunk-TOXHEZN5.js} +47 -4
  131. package/dist/{chunk-H6OEU54G.js → chunk-UJMDHPIN.js} +91 -39
  132. package/dist/{chunk-UWBU44UP.js → chunk-UPL5FEZY.js} +1 -1
  133. package/dist/{chunk-ER3UJ2VL.js → chunk-UPMKSFBU.js} +2 -2
  134. package/dist/{chunk-X7DJ2QZW.js → chunk-V4MKR32F.js} +4 -6
  135. package/dist/{chunk-HV75RBMK.js → chunk-VB23RNNI.js} +1 -1
  136. package/dist/{chunk-56T5TMNK.js → chunk-VK2AWQ6D.js} +2 -2
  137. package/dist/{chunk-UXDQ4ERA.js → chunk-VNTDQUOG.js} +21 -18
  138. package/dist/{chunk-KQTGSD23.js → chunk-VYVESELG.js} +13 -9
  139. package/dist/{chunk-S465RWY7.js → chunk-W6SKR3HZ.js} +3 -5
  140. package/dist/{chunk-CQCURHDV.js → chunk-X2XE65WV.js} +12 -10
  141. package/dist/{chunk-XQ2ZBOAD.js → chunk-XK7VZFCC.js} +22 -9
  142. package/dist/{chunk-5F3EXHT7.js → chunk-XMRDT4PB.js} +2 -4
  143. package/dist/{chunk-MPXPPKJ4.js → chunk-XWQKCCCO.js} +3 -3
  144. package/dist/{chunk-7APRWURX.js → chunk-Y6TS42WD.js} +10 -12
  145. package/dist/{chunk-WTJS6PCC.js → chunk-YOG7TWMO.js} +1 -1
  146. package/dist/{chunk-QSSABSCM.js → chunk-YPSN64BU.js} +6 -6
  147. package/dist/{chunk-WJW564IP.js → chunk-ZBA74MMX.js} +2 -2
  148. package/dist/{chunk-VXQDZH5T.js → chunk-ZMJHXDZR.js} +3 -3
  149. package/dist/{chunk-BHV7PX5V.js → chunk-ZUAXTH6Z.js} +2 -2
  150. package/dist/{chunk-K6MMN6AW.js → chunk-ZZLTJXKR.js} +3 -5
  151. package/dist/{code-context-index-SRTAWCZQ.js → code-context-index-I5A7I4JQ.js} +7 -7
  152. package/dist/{content-extractor-H4IPL533.js → content-extractor-M7ISRONU.js} +1 -1
  153. package/dist/{conversation-entity-extractor-IZ3ECP4A.js → conversation-entity-extractor-EYSI4DKM.js} +3 -3
  154. package/dist/{conversation-wiki-populator-K4BQXHHO.js → conversation-wiki-populator-RSJ44BRO.js} +2 -2
  155. package/dist/{core-memory-JZ34WT5R.js → core-memory-C3JLISAU.js} +1 -1
  156. package/dist/{crdt-sync-4TOVD4QN.js → crdt-sync-XMC6LT2Q.js} +2 -2
  157. package/dist/{crm-bridge-27QVOWPI.js → crm-bridge-4QZRMOF7.js} +1 -1
  158. package/dist/{crm-webhook-77XHBWL7.js → crm-webhook-QMHD5YYQ.js} +3 -3
  159. package/dist/{cto-delegation-gate-AWENA4VT.js → cto-delegation-gate-BTZWAA4E.js} +11 -10
  160. package/dist/{daemon-auth-Z7O3LO23.js → daemon-auth-F47P6HTC.js} +4 -4
  161. package/dist/{daemon-orchestration-BG4NPWOK.js → daemon-orchestration-HFODCB52.js} +14 -13
  162. package/dist/{daemon-protocol-N7MOJ4U3.js → daemon-protocol-XW2OLNBS.js} +1 -1
  163. package/dist/{db-backup-E34JMBZD.js → db-backup-W56YOLMC.js} +4 -4
  164. package/dist/{devtools-ZL5NCINM.js → devtools-5PEATRYE.js} +1 -1
  165. package/dist/{discord-QOFQKX6S.js → discord-LMZKIYWB.js} +1 -1
  166. package/dist/dispatch-ack-JYCKAWKZ.js +13 -0
  167. package/dist/{email-NY5HB4WA.js → email-UENAIKRN.js} +1 -1
  168. package/dist/{entity-boost-V6KSRGG4.js → entity-boost-LIBVNNXO.js} +2 -2
  169. package/dist/{exe-drift-YFWCC26O.js → exe-drift-SED6KQTZ.js} +6 -6
  170. package/dist/{exe-export-YRACBEUY.js → exe-export-ADSWDE5U.js} +9 -9
  171. package/dist/{exe-import-DY57L2OI.js → exe-import-WFLNGJZP.js} +9 -9
  172. package/dist/{exe-key-U2JJH4MO.js → exe-key-4L32R46F.js} +5 -7
  173. package/dist/{exe-org-45OTYZZJ.js → exe-org-OOO7KJVZ.js} +4 -4
  174. package/dist/{factory-2PB537KA.js → factory-CTFAGZUA.js} +1 -1
  175. package/dist/fast-db-init-HVAVS35N.js +7 -0
  176. package/dist/{file-edit-GSXUFUDC.js → file-edit-AZAJPCA3.js} +1 -1
  177. package/dist/{file-read-Z3F3PUCK.js → file-read-VACF23NC.js} +1 -1
  178. package/dist/{file-write-X77JXZ2C.js → file-write-B2RPT5U7.js} +1 -1
  179. package/dist/gateway/index.js +10 -10
  180. package/dist/{gateway-client-IPKKEYKY.js → gateway-client-5EUMMEZZ.js} +2 -2
  181. package/dist/{git-staleness-I662R7RL.js → git-staleness-BY4ZK6MW.js} +5 -5
  182. package/dist/{git-task-sweep-XWFCP2HA.js → git-task-sweep-RSRASAHB.js} +12 -11
  183. package/dist/{glob-2PWAXTZ2.js → glob-7PWH7WKL.js} +1 -1
  184. package/dist/{global-procedures-IEIJBCAH.js → global-procedures-EKYSVONR.js} +7 -7
  185. package/dist/graph-auto-extract-HWZ5GVXZ.js +161 -0
  186. package/dist/{graph-query-NCDYOT4Y.js → graph-query-SE6T5XC4.js} +1 -1
  187. package/dist/{graph-rag-2YLGRBW5.js → graph-rag-G3EG5Q6L.js} +3 -3
  188. package/dist/{grep-GTV6WAZ4.js → grep-HWIDXHRC.js} +1 -1
  189. package/dist/{hook-integrity-LLPJPAXW.js → hook-integrity-PR4BPZBT.js} +2 -2
  190. package/dist/hooks/bug-report-worker.js +13 -12
  191. package/dist/hooks/codex-stop-task-finalizer.js +16 -13
  192. package/dist/hooks/commit-complete.js +14 -13
  193. package/dist/hooks/error-recall.js +9 -12
  194. package/dist/hooks/exe-heartbeat-hook.js +6 -6
  195. package/dist/hooks/ingest-worker.js +9 -9
  196. package/dist/hooks/ingest.js +16 -19
  197. package/dist/hooks/instructions-loaded.js +7 -7
  198. package/dist/hooks/notification.js +12 -10
  199. package/dist/hooks/post-compact.js +13 -12
  200. package/dist/hooks/post-tool-combined.js +6 -6
  201. package/dist/hooks/pre-compact.js +18 -17
  202. package/dist/hooks/pre-tool-use.js +19 -20
  203. package/dist/hooks/prompt-submit.js +78 -39
  204. package/dist/hooks/session-end.js +22 -21
  205. package/dist/hooks/session-start.js +31 -25
  206. package/dist/hooks/stop.js +20 -22
  207. package/dist/hooks/subagent-stop.js +13 -12
  208. package/dist/hooks/summary-worker.js +21 -20
  209. package/dist/{hooks-UK2AYRCA.js → hooks-LDCFYHDF.js} +1 -1
  210. package/dist/{imessage-LINH4V4D.js → imessage-6UOZB5VN.js} +1 -1
  211. package/dist/index.js +19 -18
  212. package/dist/{installer-PB63JTTG.js → installer-RLKOACKG.js} +9 -9
  213. package/dist/{installer-SSR2OOLO.js → installer-W4NY3OBF.js} +13 -11
  214. package/dist/{installer-ZONYB3XK.js → installer-X5FEYJIA.js} +9 -9
  215. package/dist/{intercom-queue-MMZT2MA2.js → intercom-queue-K3DVKSPJ.js} +1 -1
  216. package/dist/{key-backup-status-4WKIQOAS.js → key-backup-status-ORNMJEEA.js} +4 -6
  217. package/dist/lib/agent-config.js +4 -4
  218. package/dist/lib/cloud-sync.js +8 -8
  219. package/dist/lib/cloudflare-dns.js +1 -1
  220. package/dist/lib/config.js +3 -5
  221. package/dist/lib/consolidation.js +8 -8
  222. package/dist/lib/crypto.js +1 -1
  223. package/dist/lib/database.js +5 -5
  224. package/dist/lib/db-daemon-client.js +5 -5
  225. package/dist/lib/db.js +5 -5
  226. package/dist/lib/device-registry.js +4 -6
  227. package/dist/lib/embedder.js +6 -6
  228. package/dist/lib/employee-templates.js +8 -8
  229. package/dist/lib/employees.js +7 -5
  230. package/dist/lib/error-detector.js +1 -1
  231. package/dist/lib/exe-daemon-client.js +5 -5
  232. package/dist/lib/exe-daemon.js +143 -52
  233. package/dist/lib/file-grep.js +1 -1
  234. package/dist/lib/hybrid-search.js +8 -8
  235. package/dist/lib/identity-templates.js +1 -1
  236. package/dist/lib/identity.js +5 -5
  237. package/dist/lib/keychain.js +1 -1
  238. package/dist/lib/license.js +4 -4
  239. package/dist/lib/messaging.js +12 -11
  240. package/dist/lib/post-tool-memory.js +3 -3
  241. package/dist/lib/registry-proxy.js +1 -1
  242. package/dist/lib/reminders.js +6 -6
  243. package/dist/lib/runtime-table.js +1 -1
  244. package/dist/lib/schedules.js +8 -8
  245. package/dist/lib/session-registry.js +1 -1
  246. package/dist/lib/session-wrappers.js +1 -1
  247. package/dist/lib/skill-learning.js +7 -7
  248. package/dist/lib/status-brief.js +1 -1
  249. package/dist/lib/store.js +7 -7
  250. package/dist/lib/task-router.js +6 -6
  251. package/dist/lib/tasks.js +14 -11
  252. package/dist/lib/tmux-routing.js +11 -10
  253. package/dist/lib/tmux-status.js +1 -1
  254. package/dist/lib/tmux-transport.js +1 -1
  255. package/dist/lib/token-spend.js +6 -6
  256. package/dist/lib/transport.js +1 -1
  257. package/dist/lib/ws-auth.js +1 -1
  258. package/dist/lib/ws-client.js +2 -2
  259. package/dist/license-gate-J5YN264E.js +14 -0
  260. package/dist/mcp/register-tools.js +63 -62
  261. package/dist/mcp/server.js +65 -64
  262. package/dist/mcp/tools/complete-reminder.js +7 -7
  263. package/dist/mcp/tools/create-reminder.js +7 -7
  264. package/dist/mcp/tools/create-task.js +15 -13
  265. package/dist/mcp/tools/deactivate-behavior.js +8 -8
  266. package/dist/mcp/tools/list-reminders.js +7 -7
  267. package/dist/mcp/tools/list-tasks.js +14 -14
  268. package/dist/mcp/tools/send-message.js +14 -13
  269. package/dist/mcp/tools/update-task.js +13 -12
  270. package/dist/{mcp-diagnostics-CWMVPHVC.js → mcp-diagnostics-TSBY62UQ.js} +1 -1
  271. package/dist/{mcp-disconnect-tracker-RM3GEERR.js → mcp-disconnect-tracker-MB23DRS6.js} +1 -1
  272. package/dist/{mcp-http-config-PDGSOYNQ.js → mcp-http-config-6YLW4PFG.js} +6 -6
  273. package/dist/{memory-cards-OLE6MGO7.js → memory-cards-UAQCO4QR.js} +5 -5
  274. package/dist/{memory-poisoning-defense-OOHJIXIX.js → memory-poisoning-defense-VWITZ4WO.js} +5 -7
  275. package/dist/{memory-queue-TGWXMENR.js → memory-queue-NYIGZNCG.js} +4 -4
  276. package/dist/memory-queue-client-YJOLYALV.js +15 -0
  277. package/dist/{memory-reflection-Z7CT6JLY.js → memory-reflection-JQC4ZSUD.js} +5 -5
  278. package/dist/{message-queue-client-TWIA2GIH.js → message-queue-client-NTLKYGVO.js} +1 -1
  279. package/dist/{notifications-SREXGSAQ.js → notifications-YDOKTVCH.js} +11 -10
  280. package/dist/{oauth-server-NSWGKLLA.js → oauth-server-TOWAZR4K.js} +1 -1
  281. package/dist/{orchestration-phase-WLQMEP4M.js → orchestration-phase-FXKZYK6R.js} +4 -4
  282. package/dist/{orchestrator-CHQURQSC.js → orchestrator-BZ2D6ZM6.js} +13 -12
  283. package/dist/{permission-presets-3XKJNM6N.js → permission-presets-E3DZK46K.js} +1 -1
  284. package/dist/{permissions-EZH3ULLD.js → permissions-6MCWUDCD.js} +1 -1
  285. package/dist/{pg-ssl-4ZNXKUNH.js → pg-ssl-7JXQFL4I.js} +1 -1
  286. package/dist/{plan-limits-7L75PB33.js → plan-limits-KUTODKG6.js} +7 -7
  287. package/dist/{preferences-K2GKUQSJ.js → preferences-ERXO6SMJ.js} +3 -3
  288. package/dist/{project-name-OBIDABHE.js → project-name-EWG5KAZP.js} +1 -1
  289. package/dist/{projection-worker-HSGE44JA.js → projection-worker-UY7R2EQJ.js} +85 -8
  290. package/dist/{push-notifications-EOTMKJ6B.js → push-notifications-KDYFOJRI.js} +4 -4
  291. package/dist/{reranker-ME4CK2ZQ.js → reranker-OMADCS3D.js} +4 -4
  292. package/dist/{review-gate-M3U2YAW6.js → review-gate-IUNS6GQU.js} +1 -1
  293. package/dist/{review-polling-DQCN4TNM.js → review-polling-DORNZ2KI.js} +12 -11
  294. package/dist/runtime/index.js +14 -13
  295. package/dist/{self-query-router-TRPHL54X.js → self-query-router-37VB3PKQ.js} +1 -1
  296. package/dist/{session-events-ZZBFYL5Z.js → session-events-5WR5RVDK.js} +12 -12
  297. package/dist/{session-kill-telemetry-MUFET632.js → session-kill-telemetry-DHSQV2CI.js} +6 -6
  298. package/dist/{session-scope-QUUDZM2L.js → session-scope-D4Q62ZOZ.js} +13 -13
  299. package/dist/setup-wizard-QVNTI3T4.js +12 -0
  300. package/dist/{shard-manager-VYMJM7NR.js → shard-manager-SP4YL5JQ.js} +4 -4
  301. package/dist/{signal-C263RUND.js → signal-7UIRTYGZ.js} +1 -1
  302. package/dist/{slack-N7PL6QMX.js → slack-GCOYBZUK.js} +1 -1
  303. package/dist/{task-enforcement-WJ3S6JTL.js → task-enforcement-OYCQXBBC.js} +11 -10
  304. package/dist/{task-scanner-YHWRG4ZJ.js → task-scanner-QEM5CO2Y.js} +1 -1
  305. package/dist/{task-scope-V2CTRHG7.js → task-scope-WWRNU2LU.js} +11 -10
  306. package/dist/{tasks-crud-W2XPUGKK.js → tasks-crud-75AUVZPO.js} +13 -10
  307. package/dist/{tasks-review-BR2SBSYG.js → tasks-review-UMZN5ZPQ.js} +11 -10
  308. package/dist/{telegram-B54FFOXD.js → telegram-RGVD4LUY.js} +1 -1
  309. package/dist/{telemetry-7IQCPV4Q.js → telemetry-43X3GT3R.js} +1 -1
  310. package/dist/{token-budget-H2XSWO4D.js → token-budget-62TYDIMI.js} +5 -5
  311. package/dist/{tool-capability-index-5X2CCGIK.js → tool-capability-index-OBZXORBP.js} +2 -2
  312. package/dist/{tool-gates-SGFMDREY.js → tool-gates-3IC7DK4R.js} +1 -1
  313. package/dist/{tool-gates-3DNTD7G3.js → tool-gates-GXSYBVK4.js} +1 -1
  314. package/dist/{tool-registry-2VUAZXTW.js → tool-registry-5XN3FUYL.js} +1 -1
  315. package/dist/{tool-telemetry-NVPSPRYP.js → tool-telemetry-JL6NY3KP.js} +2 -2
  316. package/dist/tui/App.js +44 -43
  317. package/dist/{tui-data-QN4O565C.js → tui-data-C5I2YU4C.js} +11 -10
  318. package/dist/{update-check-ERUKV2G6.js → update-check-MKHO7H6B.js} +1 -1
  319. package/dist/{webhook-L5FGAUPJ.js → webhook-LCW7UP4L.js} +1 -1
  320. package/dist/{webhook-pipe-B7GJCJAI.js → webhook-pipe-PJOFVBD3.js} +1 -1
  321. package/dist/{whatsapp-7FK2PRWO.js → whatsapp-SILL4V64.js} +1 -1
  322. package/dist/{whatsapp-accounts-VIHRSLGB.js → whatsapp-accounts-BWRZUY23.js} +1 -1
  323. package/dist/{wiki-acl-R4IIHICT.js → wiki-acl-5EC5VNYG.js} +1 -1
  324. package/dist/{wiki-client-EUDJA7O2.js → wiki-client-MMVRPTPK.js} +1 -1
  325. package/dist/{worker-gate-3KDXLIJC.js → worker-gate-Q5Y6B5N7.js} +4 -4
  326. package/dist/{workflow-engine-GISKRYSO.js → workflow-engine-KAKVU7NC.js} +3 -3
  327. package/dist/{worktree-B3FHAHEM.js → worktree-OMPQEJH7.js} +1 -1
  328. package/package.json +2 -2
  329. package/release-notes.json +126 -126
  330. package/src/commands/exe/setup.md +1 -1
  331. package/dist/chunk-PNKVD2UK.js +0 -26
  332. package/dist/fast-db-init-67TQTHWT.js +0 -7
  333. package/dist/license-gate-JY2KFIKO.js +0 -14
  334. package/dist/memory-queue-client-RZP5F4EA.js +0 -15
  335. package/dist/setup-wizard-NXWCEK63.js +0 -12
  336. package/dist/{chunk-D5MPHVWH.js → chunk-524VLFFY.js} +0 -0
  337. package/dist/{chunk-HIQ5RDA7.js → chunk-A3A2E42I.js} +0 -0
  338. package/dist/{chunk-APRP5D27.js → chunk-H6ADW3YC.js} +0 -0
  339. package/dist/{chunk-AAVODJ4F.js → chunk-J2OPV5FE.js} +0 -0
  340. package/dist/{chunk-DBLBWWFS.js → chunk-S6DA6UKC.js} +3 -3
  341. /package/dist/{chunk-F3ULERRZ.js → chunk-TSCZMB3P.js} +0 -0
  342. /package/dist/{chunk-2HV2EQW2.js → chunk-WRU72I4S.js} +0 -0
@@ -1,21 +1,16 @@
1
1
  import {
2
2
  listBackups
3
- } from "./chunk-6BUUY7FG.js";
3
+ } from "./chunk-EOO32RJZ.js";
4
4
  import {
5
5
  EMBEDDING_DIM
6
6
  } from "./chunk-FXU7JOXK.js";
7
7
  import {
8
8
  EXE_AI_DIR,
9
- config_exports,
10
- init_config
11
- } from "./chunk-KHV55ME4.js";
9
+ loadConfigSync
10
+ } from "./chunk-TOWAZ5IV.js";
12
11
  import {
13
- atomicWriteJson,
14
- init_secure_files
15
- } from "./chunk-GCMT6RWI.js";
16
- import {
17
- __toCommonJS
18
- } from "./chunk-PNKVD2UK.js";
12
+ atomicWriteJson
13
+ } from "./chunk-LYH5HE24.js";
19
14
 
20
15
  // src/lib/database.ts
21
16
  import { chmodSync, existsSync as existsSync3, statSync, copyFileSync, unlinkSync as unlinkSync2, openSync, closeSync, mkdirSync as mkdirSync2, renameSync as renameSync2 } from "fs";
@@ -73,8 +68,6 @@ function wrapWithRetry(client) {
73
68
  }
74
69
 
75
70
  // src/lib/employees.ts
76
- init_secure_files();
77
- init_config();
78
71
  import { readFile, mkdir } from "fs/promises";
79
72
  import { existsSync as existsSync2, symlinkSync, readlinkSync, readFileSync as readFileSync2, renameSync, unlinkSync, writeFileSync as writeFileSync2 } from "fs";
80
73
  import { execSync } from "child_process";
@@ -82,7 +75,6 @@ import path2 from "path";
82
75
  import os from "os";
83
76
 
84
77
  // src/lib/identity.ts
85
- init_config();
86
78
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
87
79
  import { readdirSync } from "fs";
88
80
  import path from "path";
@@ -208,6 +200,7 @@ ${teamLines.join("\n")}`);
208
200
 
209
201
  // src/lib/employees.ts
210
202
  var EMPLOYEES_PATH = path2.join(EXE_AI_DIR, "exe-employees.json");
203
+ var DEFAULT_BOOT_TIMEOUT_MS = 45e3;
211
204
  var DEFAULT_COORDINATOR_TEMPLATE_NAME = "exe";
212
205
  var COORDINATOR_ROLE = "COO";
213
206
  function normalizeRole(role) {
@@ -330,8 +323,8 @@ function shouldAutoInstance(agentName, employees) {
330
323
  if (!multi) return { autoInstance: false, maxAutoInstances: void 0 };
331
324
  let max = 10;
332
325
  try {
333
- const { loadConfigSync } = (init_config(), __toCommonJS(config_exports));
334
- max = loadConfigSync().sessionLifecycle.maxAutoInstances;
326
+ const config = loadConfigSync();
327
+ max = config.sessionLifecycle?.maxAutoInstances ?? 10;
335
328
  } catch {
336
329
  }
337
330
  return { autoInstance: true, maxAutoInstances: max };
@@ -3094,6 +3087,14 @@ async function ensureSchema() {
3094
3087
  } catch (e) {
3095
3088
  logCatchDebug("migration", e);
3096
3089
  }
3090
+ try {
3091
+ await client.execute({
3092
+ sql: `ALTER TABLE behaviors ADD COLUMN device_id TEXT`,
3093
+ args: []
3094
+ });
3095
+ } catch (e) {
3096
+ logCatchDebug("migration", e);
3097
+ }
3097
3098
  }
3098
3099
  var disposeTurso = disposeDatabase;
3099
3100
  async function disposeDatabase() {
@@ -3142,6 +3143,7 @@ export {
3142
3143
  listIdentities,
3143
3144
  getIdentityInjection,
3144
3145
  EMPLOYEES_PATH,
3146
+ DEFAULT_BOOT_TIMEOUT_MS,
3145
3147
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
3146
3148
  COORDINATOR_ROLE,
3147
3149
  normalizeRole,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeMemoryViaDaemon
3
- } from "./chunk-7PEYIW53.js";
3
+ } from "./chunk-EHXOWGQG.js";
4
4
 
5
5
  // src/lib/auto-checkpoint.ts
6
6
  var FILE_RE = /(?:^|\s)([\w./-]+\.(?:ts|tsx|js|jsx|json|md|yml|yaml|sql|go|py|css|scss|html|sh))(?:\b|$)/g;
@@ -1,29 +1,9 @@
1
1
  import {
2
2
  atomicWriteJson,
3
- ensurePrivateDir,
4
- init_secure_files
5
- } from "./chunk-GCMT6RWI.js";
6
- import {
7
- __esm,
8
- __export
9
- } from "./chunk-PNKVD2UK.js";
3
+ ensurePrivateDir
4
+ } from "./chunk-LYH5HE24.js";
10
5
 
11
6
  // src/lib/config.ts
12
- var config_exports = {};
13
- __export(config_exports, {
14
- CONFIG_MIGRATIONS: () => CONFIG_MIGRATIONS,
15
- CONFIG_PATH: () => CONFIG_PATH,
16
- CURRENT_CONFIG_VERSION: () => CURRENT_CONFIG_VERSION,
17
- DB_PATH: () => DB_PATH,
18
- EXE_AI_DIR: () => EXE_AI_DIR,
19
- LEGACY_LANCE_PATH: () => LEGACY_LANCE_PATH,
20
- MODELS_DIR: () => MODELS_DIR,
21
- loadConfig: () => loadConfig,
22
- loadConfigFrom: () => loadConfigFrom,
23
- loadConfigSync: () => loadConfigSync,
24
- migrateConfig: () => migrateConfig,
25
- saveConfig: () => saveConfig
26
- });
27
7
  import { readFile, writeFile } from "fs/promises";
28
8
  import { readFileSync, existsSync, renameSync } from "fs";
29
9
  import path from "path";
@@ -44,6 +24,81 @@ function resolveDataDir() {
44
24
  }
45
25
  return newDir;
46
26
  }
27
+ var EXE_AI_DIR = resolveDataDir();
28
+ var DB_PATH = path.join(EXE_AI_DIR, "memories.db");
29
+ var MODELS_DIR = path.join(EXE_AI_DIR, "models");
30
+ var CONFIG_PATH = path.join(EXE_AI_DIR, "config.json");
31
+ var LEGACY_LANCE_PATH = path.join(EXE_AI_DIR, "local.lance");
32
+ var CURRENT_CONFIG_VERSION = 1;
33
+ var DEFAULT_CONFIG = {
34
+ config_version: CURRENT_CONFIG_VERSION,
35
+ dbPath: DB_PATH,
36
+ modelFile: "jina-embeddings-v5-small-q4_k_m.gguf",
37
+ embeddingDim: 1024,
38
+ batchSize: 20,
39
+ flushIntervalMs: 1e4,
40
+ autoIngestion: true,
41
+ autoRetrieval: true,
42
+ searchMode: "hybrid",
43
+ hookSearchMode: "hybrid",
44
+ fileGrepEnabled: true,
45
+ splashEffect: true,
46
+ consolidationEnabled: true,
47
+ consolidationIntervalMs: 6 * 60 * 60 * 1e3,
48
+ consolidationModel: "claude-haiku-4-5-20251001",
49
+ consolidationMaxCallsPerRun: 20,
50
+ selfQueryRouter: true,
51
+ selfQueryModel: "claude-haiku-4-5-20251001",
52
+ rerankerEnabled: true,
53
+ scalingRoadmap: {
54
+ rerankerAutoTrigger: {
55
+ enabled: true,
56
+ broadQueryMinCardinality: 5e4,
57
+ fetchTopK: 150,
58
+ returnTopK: 5
59
+ }
60
+ },
61
+ graphRagEnabled: true,
62
+ wikiEnabled: false,
63
+ wikiUrl: "",
64
+ wikiApiKey: "",
65
+ wikiSyncIntervalMs: 30 * 60 * 1e3,
66
+ wikiWorkspaceMapping: {},
67
+ wikiAutoUpdate: true,
68
+ wikiAutoUpdateThreshold: 0.5,
69
+ wikiAutoUpdateCreateNew: true,
70
+ skillLearning: true,
71
+ skillThreshold: 3,
72
+ skillModel: "claude-haiku-4-5-20251001",
73
+ exeHeartbeat: {
74
+ enabled: true,
75
+ intervalSeconds: 60,
76
+ staleInProgressThresholdHours: 2
77
+ },
78
+ sessionLifecycle: {
79
+ idleKillEnabled: true,
80
+ idleKillTicksRequired: 10,
81
+ idleKillIntercomAckWindowMs: 6e4,
82
+ maxAutoInstances: 10,
83
+ autoRelaunchCoordinator: true
84
+ },
85
+ apiWatchdog: {
86
+ enabled: true,
87
+ cooldownMinutes: 10
88
+ },
89
+ autoUpdate: {
90
+ checkOnBoot: true,
91
+ autoInstall: false,
92
+ checkIntervalMs: 24 * 60 * 60 * 1e3
93
+ },
94
+ support: {
95
+ bugReportEndpoint: "https://api.askexe.com/v1/support/bug-reports"
96
+ },
97
+ orchestration: {
98
+ phase: "phase_1_coo",
99
+ phaseSetBy: "default"
100
+ }
101
+ };
47
102
  function migrateLegacyConfig(raw) {
48
103
  if ("r2" in raw) {
49
104
  process.stderr.write(
@@ -56,6 +111,16 @@ function migrateLegacyConfig(raw) {
56
111
  }
57
112
  return raw;
58
113
  }
114
+ var CONFIG_MIGRATIONS = [
115
+ {
116
+ from: 0,
117
+ to: 1,
118
+ migrate: (cfg) => {
119
+ cfg.config_version = 1;
120
+ return cfg;
121
+ }
122
+ }
123
+ ];
59
124
  function migrateConfig(raw) {
60
125
  const fromVersion = typeof raw.config_version === "number" ? raw.config_version : 0;
61
126
  let currentVersion = fromVersion;
@@ -109,9 +174,14 @@ function normalizeCloudEndpoint(raw) {
109
174
  if (!cloud?.endpoint) return;
110
175
  const ep = String(cloud.endpoint);
111
176
  if (ep === "https://askexe.com/cloud" || ep === "https://askexe.com/cloud/") {
112
- cloud.endpoint = "https://cloud.askexe.com";
177
+ cloud.endpoint = "https://api.askexe.com";
113
178
  process.stderr.write(
114
- "[config] Auto-migrated cloud endpoint: askexe.com/cloud \u2192 cloud.askexe.com\n"
179
+ "[config] Auto-migrated cloud endpoint: askexe.com/cloud \u2192 api.askexe.com\n"
180
+ );
181
+ } else if (ep === "https://cloud.askexe.com" || ep === "https://cloud.askexe.com/") {
182
+ cloud.endpoint = "https://api.askexe.com";
183
+ process.stderr.write(
184
+ "[config] Auto-migrated cloud endpoint: cloud.askexe.com \u2192 api.askexe.com\n"
115
185
  );
116
186
  }
117
187
  }
@@ -226,97 +296,6 @@ async function loadConfigFrom(configPath) {
226
296
  return { ...DEFAULT_CONFIG };
227
297
  }
228
298
  }
229
- var EXE_AI_DIR, DB_PATH, MODELS_DIR, CONFIG_PATH, LEGACY_LANCE_PATH, CURRENT_CONFIG_VERSION, DEFAULT_CONFIG, CONFIG_MIGRATIONS;
230
- var init_config = __esm({
231
- "src/lib/config.ts"() {
232
- init_secure_files();
233
- EXE_AI_DIR = resolveDataDir();
234
- DB_PATH = path.join(EXE_AI_DIR, "memories.db");
235
- MODELS_DIR = path.join(EXE_AI_DIR, "models");
236
- CONFIG_PATH = path.join(EXE_AI_DIR, "config.json");
237
- LEGACY_LANCE_PATH = path.join(EXE_AI_DIR, "local.lance");
238
- CURRENT_CONFIG_VERSION = 1;
239
- DEFAULT_CONFIG = {
240
- config_version: CURRENT_CONFIG_VERSION,
241
- dbPath: DB_PATH,
242
- modelFile: "jina-embeddings-v5-small-q4_k_m.gguf",
243
- embeddingDim: 1024,
244
- batchSize: 20,
245
- flushIntervalMs: 1e4,
246
- autoIngestion: true,
247
- autoRetrieval: true,
248
- searchMode: "hybrid",
249
- hookSearchMode: "hybrid",
250
- fileGrepEnabled: true,
251
- splashEffect: true,
252
- consolidationEnabled: true,
253
- consolidationIntervalMs: 6 * 60 * 60 * 1e3,
254
- consolidationModel: "claude-haiku-4-5-20251001",
255
- consolidationMaxCallsPerRun: 20,
256
- selfQueryRouter: true,
257
- selfQueryModel: "claude-haiku-4-5-20251001",
258
- rerankerEnabled: true,
259
- scalingRoadmap: {
260
- rerankerAutoTrigger: {
261
- enabled: true,
262
- broadQueryMinCardinality: 5e4,
263
- fetchTopK: 150,
264
- returnTopK: 5
265
- }
266
- },
267
- graphRagEnabled: true,
268
- wikiEnabled: false,
269
- wikiUrl: "",
270
- wikiApiKey: "",
271
- wikiSyncIntervalMs: 30 * 60 * 1e3,
272
- wikiWorkspaceMapping: {},
273
- wikiAutoUpdate: true,
274
- wikiAutoUpdateThreshold: 0.5,
275
- wikiAutoUpdateCreateNew: true,
276
- skillLearning: true,
277
- skillThreshold: 3,
278
- skillModel: "claude-haiku-4-5-20251001",
279
- exeHeartbeat: {
280
- enabled: true,
281
- intervalSeconds: 60,
282
- staleInProgressThresholdHours: 2
283
- },
284
- sessionLifecycle: {
285
- idleKillEnabled: true,
286
- idleKillTicksRequired: 10,
287
- idleKillIntercomAckWindowMs: 6e4,
288
- maxAutoInstances: 10,
289
- autoRelaunchCoordinator: true
290
- },
291
- apiWatchdog: {
292
- enabled: true,
293
- cooldownMinutes: 10
294
- },
295
- autoUpdate: {
296
- checkOnBoot: true,
297
- autoInstall: false,
298
- checkIntervalMs: 24 * 60 * 60 * 1e3
299
- },
300
- support: {
301
- bugReportEndpoint: "https://cloud.askexe.com/v1/support/bug-reports"
302
- },
303
- orchestration: {
304
- phase: "phase_1_coo",
305
- phaseSetBy: "default"
306
- }
307
- };
308
- CONFIG_MIGRATIONS = [
309
- {
310
- from: 0,
311
- to: 1,
312
- migrate: (cfg) => {
313
- cfg.config_version = 1;
314
- return cfg;
315
- }
316
- }
317
- ];
318
- }
319
- });
320
299
 
321
300
  export {
322
301
  EXE_AI_DIR,
@@ -330,7 +309,5 @@ export {
330
309
  loadConfig,
331
310
  loadConfigSync,
332
311
  saveConfig,
333
- loadConfigFrom,
334
- config_exports,
335
- init_config
312
+ loadConfigFrom
336
313
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  loadPreferences
3
- } from "./chunk-CWPE6QVM.js";
3
+ } from "./chunk-GNHN5HRQ.js";
4
4
  import {
5
5
  buildClaudeHttpMcpEntry
6
- } from "./chunk-B6Q6WAD7.js";
6
+ } from "./chunk-EHNSK2Y4.js";
7
7
  import {
8
8
  EXE_HOOKS,
9
9
  isLegacyHomeDirHookCommand,
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-L3TB7CC3.js";
12
12
  import {
13
13
  ensureAllAgentSymlinks
14
- } from "./chunk-Y2VVTK2E.js";
14
+ } from "./chunk-DTLASDQM.js";
15
15
  import {
16
16
  MCP_LEGACY_KEY,
17
17
  MCP_PRIMARY_KEY
@@ -963,6 +963,48 @@ ${existing}`);
963
963
  }
964
964
  process.stderr.write("exe-os: Ghostty config installed\n");
965
965
  }
966
+ function setupWezterm(home) {
967
+ const homeDir = home ?? os.homedir();
968
+ const weztermLua = path.join(homeDir, ".wezterm.lua");
969
+ const weztermDir = path.join(homeDir, ".config", "wezterm");
970
+ const weztermInstalled = existsSync(weztermLua) || existsSync(weztermDir) || (() => {
971
+ try {
972
+ execSync("which wezterm 2>/dev/null", { encoding: "utf8", timeout: 5e3 });
973
+ return true;
974
+ } catch {
975
+ return false;
976
+ }
977
+ })();
978
+ if (!weztermInstalled) {
979
+ return;
980
+ }
981
+ const pkgRoot = resolvePackageRoot();
982
+ const assetPath = path.join(pkgRoot, "dist", "assets", "wezterm.lua");
983
+ if (!existsSync(assetPath)) {
984
+ process.stderr.write("exe-os: wezterm.lua asset not found \u2014 skipping WezTerm setup\n");
985
+ return;
986
+ }
987
+ const configPath = weztermLua;
988
+ const START_MARKER = "-- \u2500\u2500 exe-os:wezterm-start \u2500\u2500";
989
+ const END_MARKER = "-- \u2500\u2500 exe-os:wezterm-end \u2500\u2500";
990
+ const assetContent = readFileSync(assetPath, "utf8").trim();
991
+ if (existsSync(configPath)) {
992
+ const existing = readFileSync(configPath, "utf8");
993
+ if (existing.includes(START_MARKER) && existing.includes(END_MARKER)) {
994
+ process.stderr.write("exe-os: WezTerm config already installed \u2014 preserving local settings\n");
995
+ return;
996
+ }
997
+ process.stderr.write(
998
+ "exe-os: existing WezTerm config found at ~/.wezterm.lua \u2014 skipping (manual integration needed)\nexe-os: see ~/.exe-os/assets/wezterm.lua for exe-os defaults you can merge\n"
999
+ );
1000
+ const refDir = path.join(homeDir, ".exe-os", "assets");
1001
+ mkdirSync(refDir, { recursive: true });
1002
+ copyFileSync(assetPath, path.join(refDir, "wezterm.lua"));
1003
+ return;
1004
+ }
1005
+ writeFileSync(configPath, assetContent + "\n");
1006
+ process.stderr.write("exe-os: WezTerm config installed\n");
1007
+ }
966
1008
  function summarizeSymlinkResults(results) {
967
1009
  if (results.length === 0) return "no employees in roster";
968
1010
  const created = results.filter((r) => r.action === "created").length;
@@ -986,5 +1028,6 @@ export {
986
1028
  installStatusLine,
987
1029
  runInstaller,
988
1030
  setupTmux,
989
- setupGhostty
1031
+ setupGhostty,
1032
+ setupWezterm
990
1033
  };