@askexenow/exe-os 0.9.319 → 0.9.322

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 (294) hide show
  1. package/deploy/compose/docker-compose.yml +1 -1
  2. package/deploy/stack-manifests/v0.9.json +110 -2
  3. package/dist/{active-agent-EA2Q3KYR.js → active-agent-M5NJFEBM.js} +3 -3
  4. package/dist/{active-agent-XIPGXSQA.js → active-agent-SHM4QSRJ.js} +3 -3
  5. package/dist/{agentic-ontology-7ZUMZC2O.js → agentic-ontology-HQKCU7LG.js} +1 -1
  6. package/dist/{backfill-metadata-7RO5PSMN.js → backfill-metadata-CXWFCTBO.js} +4 -4
  7. package/dist/{behaviors-OEGZD5DH.js → behaviors-J47D342W.js} +5 -5
  8. package/dist/bin/agentic-ontology-backfill.js +5 -5
  9. package/dist/bin/agentic-reflection-backfill.js +6 -6
  10. package/dist/bin/agentic-semantic-label.js +5 -5
  11. package/dist/bin/backfill-conversations.js +6 -6
  12. package/dist/bin/backfill-responses.js +6 -6
  13. package/dist/bin/backfill-vectors.js +8 -8
  14. package/dist/bin/bulk-sync-postgres.js +12 -12
  15. package/dist/bin/cc-doctor.js +4 -4
  16. package/dist/bin/cleanup-stale-review-tasks.js +12 -12
  17. package/dist/bin/cli.js +56 -16
  18. package/dist/bin/deferred-daemon-restart.js +67 -67
  19. package/dist/bin/exe-agent-config.js +3 -3
  20. package/dist/bin/exe-agent.js +8 -8
  21. package/dist/bin/exe-assign.js +8 -8
  22. package/dist/bin/exe-boot.js +55 -30
  23. package/dist/bin/exe-call.js +4 -4
  24. package/dist/bin/exe-cloud.js +12 -12
  25. package/dist/bin/exe-config-dump.js +3 -3
  26. package/dist/bin/exe-dispatch.js +12 -12
  27. package/dist/bin/exe-doctor.js +4 -4
  28. package/dist/bin/exe-export-behaviors.js +7 -7
  29. package/dist/bin/exe-forget.js +6 -6
  30. package/dist/bin/exe-gateway.js +7 -7
  31. package/dist/bin/exe-healthcheck.js +4 -4
  32. package/dist/bin/exe-heartbeat.js +12 -12
  33. package/dist/bin/exe-kill.js +15 -15
  34. package/dist/bin/exe-launch-agent.js +33 -22
  35. package/dist/bin/exe-new-employee.js +8 -8
  36. package/dist/bin/exe-pending-messages.js +13 -13
  37. package/dist/bin/exe-pending-notifications.js +12 -12
  38. package/dist/bin/exe-pending-reviews.js +12 -12
  39. package/dist/bin/exe-rename.js +4 -4
  40. package/dist/bin/exe-review.js +14 -14
  41. package/dist/bin/exe-search.js +5 -5
  42. package/dist/bin/exe-session-cleanup.js +18 -18
  43. package/dist/bin/exe-settings.js +13 -13
  44. package/dist/bin/exe-start-codex.js +12 -12
  45. package/dist/bin/exe-start-opencode.js +8 -8
  46. package/dist/bin/exe-status.js +13 -13
  47. package/dist/bin/exe-support.js +3 -3
  48. package/dist/bin/exe-team.js +3 -3
  49. package/dist/bin/git-sweep.js +13 -13
  50. package/dist/bin/graph-backfill.js +4 -4
  51. package/dist/bin/graph-export.js +5 -5
  52. package/dist/bin/import-history.js +7 -7
  53. package/dist/bin/install-launchd.js +2 -2
  54. package/dist/bin/install.js +70 -70
  55. package/dist/bin/intercom-check.js +4 -4
  56. package/dist/bin/mcp-sessions.js +2 -2
  57. package/dist/bin/orchestration-metrics.js +4 -4
  58. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  59. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  60. package/dist/bin/registry-proxy.js +7 -1
  61. package/dist/bin/scan-tasks.js +12 -12
  62. package/dist/bin/setup.js +1 -1
  63. package/dist/bin/shard-migrate.js +4 -4
  64. package/dist/bin/stack-update.js +4 -4
  65. package/dist/bin/vps-health-gate.js +1 -1
  66. package/dist/{capability-cards-4BONYCI4.js → capability-cards-H7H3MU74.js} +2 -2
  67. package/dist/{capacity-monitor-SV2Q7CMC.js → capacity-monitor-WAEHVBL7.js} +13 -13
  68. package/dist/{catchup-brief-5ULTVKSE.js → catchup-brief-L42STIDR.js} +15 -15
  69. package/dist/{chunk-LQWCIW4K.js → chunk-2GBGIXKH.js} +1 -1
  70. package/dist/{chunk-C7QYH2YN.js → chunk-3JW3ZXCP.js} +1 -1
  71. package/dist/{chunk-KF6NBYV4.js → chunk-3M73L663.js} +2 -2
  72. package/dist/{chunk-MRB2BXIB.js → chunk-4Z47UMMM.js} +10 -10
  73. package/dist/{chunk-VTHR4DPE.js → chunk-5ZNY7IZI.js} +5 -1
  74. package/dist/{chunk-UQOCHKPX.js → chunk-657AQEPY.js} +1 -1
  75. package/dist/{chunk-B2FUBD6Z.js → chunk-6IBUQBMY.js} +9 -9
  76. package/dist/{chunk-Q774HAGE.js → chunk-6N4LYEDI.js} +1 -1
  77. package/dist/{chunk-EPZWVXKI.js → chunk-6SXJZHRJ.js} +1 -1
  78. package/dist/{chunk-XLQH263A.js → chunk-6UQRJCKK.js} +2 -2
  79. package/dist/{chunk-3ZOWUUKR.js → chunk-6XM6PZXQ.js} +1 -1
  80. package/dist/{chunk-DZJZAHTB.js → chunk-7BZ6TOZN.js} +2 -2
  81. package/dist/{chunk-E3WZA2WU.js → chunk-7CUF27OT.js} +1 -1
  82. package/dist/{chunk-V4UKBUUA.js → chunk-7FBPLVHM.js} +1 -1
  83. package/dist/{chunk-OXGNFT3L.js → chunk-7SDS5VCL.js} +5 -5
  84. package/dist/{chunk-FJUQ5L5R.js → chunk-A3KUGBDP.js} +92 -1
  85. package/dist/{chunk-TWPYSILC.js → chunk-ABGDTMKC.js} +1 -1
  86. package/dist/{chunk-VUZRAEF3.js → chunk-AZL3EUR3.js} +64 -18
  87. package/dist/{chunk-TRXBT24O.js → chunk-BFHBHQFA.js} +5 -5
  88. package/dist/{chunk-F3P34OHU.js → chunk-C4BIZXKB.js} +1 -1
  89. package/dist/{chunk-DFSR3UUL.js → chunk-CHSRSESS.js} +1 -1
  90. package/dist/{chunk-7XGDTKHX.js → chunk-CMDC5D7S.js} +2 -2
  91. package/dist/{chunk-CNFUVZLM.js → chunk-CXXERHNC.js} +1 -1
  92. package/dist/{chunk-N3ZLLKBN.js → chunk-DGFIXJ4S.js} +3 -3
  93. package/dist/{chunk-JNUYJRQX.js → chunk-E32KARET.js} +4 -4
  94. package/dist/{chunk-RJHOFX72.js → chunk-EOPSIIEH.js} +1 -1
  95. package/dist/{chunk-CQ2T4A2D.js → chunk-EPBB2OD3.js} +2 -2
  96. package/dist/{chunk-YTHZTDXH.js → chunk-ERSFOJGC.js} +1 -1
  97. package/dist/{chunk-MM7EYJJ3.js → chunk-EVUXF2G4.js} +1 -1
  98. package/dist/{chunk-V2GI2MJJ.js → chunk-F5FAD2YR.js} +2 -2
  99. package/dist/{chunk-7S3SRDPQ.js → chunk-FANIBYUO.js} +2 -2
  100. package/dist/{chunk-LJTXVAG4.js → chunk-G5TP2D2U.js} +3 -3
  101. package/dist/{chunk-36CFV3ZF.js → chunk-GA76RGSP.js} +3 -3
  102. package/dist/{chunk-B3SFW4LY.js → chunk-GN3IWZDH.js} +612 -536
  103. package/dist/{chunk-PHUKD7VK.js → chunk-H2SD2EA7.js} +9 -9
  104. package/dist/{chunk-LRWB35MD.js → chunk-HGM6NZQH.js} +1 -1
  105. package/dist/{chunk-WXQVFMNV.js → chunk-HIOO7DZ2.js} +5 -5
  106. package/dist/{chunk-7I4HQYPL.js → chunk-HKSJSW2V.js} +1 -1
  107. package/dist/{chunk-RVF6JBHW.js → chunk-HV5CUDOE.js} +1 -1
  108. package/dist/{chunk-5L62XXNH.js → chunk-HWC5W34K.js} +1 -1
  109. package/dist/{chunk-JJ2FFUFV.js → chunk-JXEMAB4M.js} +1 -1
  110. package/dist/{chunk-2OOCPANV.js → chunk-KK4ZOYXJ.js} +1 -1
  111. package/dist/{chunk-K6GZMAIA.js → chunk-KL5WYWS3.js} +2 -2
  112. package/dist/{chunk-RREJ2QQ4.js → chunk-KLG53B63.js} +1 -1
  113. package/dist/{chunk-IPD5ZSOK.js → chunk-KXP3CUTL.js} +2 -2
  114. package/dist/{chunk-AKD6IKYS.js → chunk-LB77CSLO.js} +3 -3
  115. package/dist/{chunk-T5O2EBHU.js → chunk-LCZ55G5G.js} +7 -7
  116. package/dist/{chunk-TDV3XEGQ.js → chunk-LOE2N23P.js} +1 -1
  117. package/dist/{chunk-JPTBLJLS.js → chunk-MYMA23KC.js} +1 -1
  118. package/dist/{chunk-PJH7JUWD.js → chunk-NAHAOFTY.js} +3 -3
  119. package/dist/{chunk-HFDFQ7CB.js → chunk-NFM6VHL7.js} +1 -1
  120. package/dist/{chunk-PM6XSS6R.js → chunk-NYFPFOYM.js} +1 -1
  121. package/dist/{chunk-DRA2FYUQ.js → chunk-OFR7KQ37.js} +3 -3
  122. package/dist/{chunk-OC222BAQ.js → chunk-OI63OVCR.js} +1 -1
  123. package/dist/{chunk-ZOCW4TGA.js → chunk-ORC5AO7E.js} +1 -1
  124. package/dist/{chunk-WUF5MYA5.js → chunk-PISGLNV7.js} +9 -9
  125. package/dist/{chunk-LWBOSHSS.js → chunk-PLBDXCYZ.js} +95 -29
  126. package/dist/{chunk-RAKFEXCN.js → chunk-QNUHDEPI.js} +4 -4
  127. package/dist/{chunk-C54QKE4O.js → chunk-QQOH3I4A.js} +1 -1
  128. package/dist/{chunk-Q26VSIXA.js → chunk-QVFJCFNM.js} +24 -0
  129. package/dist/{chunk-C2DFOF7O.js → chunk-QYLDCPNG.js} +1 -1
  130. package/dist/{chunk-C5SALMKH.js → chunk-ROMB2HH4.js} +5 -5
  131. package/dist/{chunk-GRB44WRN.js → chunk-SENJA7BZ.js} +1 -1
  132. package/dist/{chunk-NODTWD7N.js → chunk-SQ5JWDJ2.js} +1 -1
  133. package/dist/{chunk-KHM3TKOM.js → chunk-T6AUMO5X.js} +1 -1
  134. package/dist/{chunk-YJYE6MMJ.js → chunk-TI6YX3L5.js} +2 -2
  135. package/dist/{chunk-WL5K3R7W.js → chunk-TKBWBHFV.js} +1 -1
  136. package/dist/{chunk-7PUNIH6G.js → chunk-V2ESQU3S.js} +1 -1
  137. package/dist/{chunk-YZTOGIV7.js → chunk-VSXGFHJY.js} +1 -1
  138. package/dist/{chunk-QLVMJGUQ.js → chunk-VY7345RO.js} +46 -7
  139. package/dist/{chunk-YSSJOTVN.js → chunk-WCCR5IFR.js} +2 -2
  140. package/dist/{chunk-4XAYC77M.js → chunk-WFHYAKEU.js} +1 -1
  141. package/dist/{chunk-IDMIGP53.js → chunk-WSYKLS2Y.js} +3 -3
  142. package/dist/{chunk-DTP4HXM3.js → chunk-X62GD6QW.js} +1 -1
  143. package/dist/{chunk-GBUFDCLX.js → chunk-XC7C3GQ2.js} +2 -2
  144. package/dist/{chunk-WG4PRZGT.js → chunk-XEBN5CPD.js} +5 -5
  145. package/dist/{chunk-36SS3TE7.js → chunk-XLNF3CIO.js} +3 -3
  146. package/dist/{chunk-MNUFLCHT.js → chunk-XP53WEXP.js} +3 -3
  147. package/dist/{cleanup-graph-garbage-IXYSUIUH.js → cleanup-graph-garbage-MX5JDTJA.js} +4 -4
  148. package/dist/{co-activation-BQRXOZN2.js → co-activation-K44LGZ7A.js} +2 -2
  149. package/dist/{co-occurrence-QPLSUQ4O.js → co-occurrence-N62HJTRP.js} +2 -2
  150. package/dist/{code-context-index-NQFP6ED5.js → code-context-index-6YQ3DGCN.js} +3 -3
  151. package/dist/completion-nudge-dedup-DBZF24MM.js +74 -0
  152. package/dist/{crdt-sync-VLSJH6LL.js → crdt-sync-BO76VVRX.js} +1 -1
  153. package/dist/{crm-webhook-IZYJXHSK.js → crm-webhook-UZLTHXAS.js} +2 -2
  154. package/dist/{cto-delegation-gate-FU4HGNSN.js → cto-delegation-gate-NVMRONA2.js} +11 -11
  155. package/dist/{daemon-orchestration-IXSMZXGO.js → daemon-orchestration-JI3RD5EZ.js} +15 -15
  156. package/dist/{db-backup-7GJYDSXA.js → db-backup-ITRADB2J.js} +1 -1
  157. package/dist/{doc-graph-extractor-U7XGZQ7T.js → doc-graph-extractor-L7YESUSI.js} +2 -2
  158. package/dist/{documents-U47VG24Q.js → documents-7BFXA6V3.js} +8 -8
  159. package/dist/{dreaming-VBI4BI6R.js → dreaming-NRTMPNPZ.js} +12 -12
  160. package/dist/{exe-drift-BMSRHAT6.js → exe-drift-GLJIM7EI.js} +3 -3
  161. package/dist/{exe-export-CIRE2HZA.js → exe-export-THIAYHXK.js} +6 -6
  162. package/dist/{exe-import-X6U6VG7Q.js → exe-import-3Y4VOUYL.js} +6 -6
  163. package/dist/{exe-key-7VXVXX4Q.js → exe-key-IPGY4RMU.js} +67 -67
  164. package/dist/{exe-snapshot-P5BLEXQJ.js → exe-snapshot-2ZEWCDYK.js} +15 -15
  165. package/dist/{fast-db-init-SMBGFVXM.js → fast-db-init-TLYUWCDE.js} +1 -1
  166. package/dist/{founder-context-AMMO53S7.js → founder-context-J362DNU4.js} +2 -2
  167. package/dist/gateway/index.js +11 -11
  168. package/dist/{git-staleness-AJDPXQJF.js → git-staleness-BRDHTHNS.js} +2 -2
  169. package/dist/{git-task-sweep-EJ3HEH4Y.js → git-task-sweep-7GVUKDBW.js} +12 -12
  170. package/dist/{global-procedures-KV2SVX43.js → global-procedures-FNUKY2LF.js} +3 -3
  171. package/dist/{graph-auto-extract-HFXDXJC3.js → graph-auto-extract-AJZUV3PO.js} +2 -2
  172. package/dist/hooks/bug-report-worker.js +14 -14
  173. package/dist/hooks/codex-stop-task-finalizer.js +14 -14
  174. package/dist/hooks/commit-complete.js +14 -14
  175. package/dist/hooks/error-recall.js +6 -6
  176. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  177. package/dist/hooks/ingest-worker.js +3 -3
  178. package/dist/hooks/ingest.js +6 -6
  179. package/dist/hooks/instructions-loaded.js +4 -4
  180. package/dist/hooks/manifest.json +20 -20
  181. package/dist/hooks/notification.js +4 -4
  182. package/dist/hooks/post-compact.js +13 -13
  183. package/dist/hooks/post-tool-combined.js +8 -8
  184. package/dist/hooks/pre-compact.js +17 -17
  185. package/dist/hooks/pre-tool-use.js +24 -22
  186. package/dist/hooks/prompt-submit.js +26 -26
  187. package/dist/hooks/session-end.js +22 -22
  188. package/dist/hooks/session-start.js +12 -12
  189. package/dist/hooks/stop.js +37 -41
  190. package/dist/hooks/subagent-stop.js +13 -13
  191. package/dist/hooks/summary-worker.js +20 -20
  192. package/dist/index.js +22 -22
  193. package/dist/{installer-XLP5MIRG.js → installer-2EKTDQZB.js} +5 -5
  194. package/dist/{installer-MWRZB3RT.js → installer-SC7CQBYY.js} +5 -5
  195. package/dist/{installer-2SY3BEHJ.js → installer-UEF44TWQ.js} +5 -5
  196. package/dist/lib/agent-config.js +7 -1
  197. package/dist/lib/cloud-sync.js +12 -12
  198. package/dist/lib/consolidation.js +5 -5
  199. package/dist/lib/database.js +2 -2
  200. package/dist/lib/db-daemon-client.js +3 -3
  201. package/dist/lib/db.js +2 -2
  202. package/dist/lib/device-registry.js +1 -1
  203. package/dist/lib/embedder.js +3 -3
  204. package/dist/lib/employee-templates.js +4 -4
  205. package/dist/lib/employees.js +2 -2
  206. package/dist/lib/exe-daemon-client.js +2 -2
  207. package/dist/lib/exe-daemon.js +51 -51
  208. package/dist/lib/hybrid-search.js +5 -5
  209. package/dist/lib/identity.js +2 -2
  210. package/dist/lib/license.js +8 -2
  211. package/dist/lib/messaging.js +12 -12
  212. package/dist/lib/registry-proxy.js +1 -1
  213. package/dist/lib/reminders.js +3 -3
  214. package/dist/lib/schedules.js +5 -5
  215. package/dist/lib/session-registry.js +4 -4
  216. package/dist/lib/skill-learning.js +6 -6
  217. package/dist/lib/status-brief.js +1 -1
  218. package/dist/lib/store.js +4 -4
  219. package/dist/lib/task-router.js +3 -3
  220. package/dist/lib/tasks.js +13 -13
  221. package/dist/lib/tmux-routing.js +11 -11
  222. package/dist/lib/token-spend.js +3 -3
  223. package/dist/{license-gate-PHJLO2G6.js → license-gate-YUUSIPJ7.js} +3 -3
  224. package/dist/license-sync-LX73IEBH.js +238 -0
  225. package/dist/mcp/register-tools.js +66 -66
  226. package/dist/mcp/server.js +70 -70
  227. package/dist/mcp/tools/complete-reminder.js +4 -4
  228. package/dist/mcp/tools/create-reminder.js +4 -4
  229. package/dist/mcp/tools/create-task.js +15 -15
  230. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  231. package/dist/mcp/tools/list-reminders.js +4 -4
  232. package/dist/mcp/tools/list-tasks.js +15 -15
  233. package/dist/mcp/tools/send-message.js +14 -14
  234. package/dist/mcp/tools/update-task.js +14 -14
  235. package/dist/{mcp-http-config-6Q7SYJFY.js → mcp-http-config-MBG5AQNH.js} +3 -3
  236. package/dist/{memory-cards-IG3K6T7M.js → memory-cards-MGZ4P3AA.js} +4 -4
  237. package/dist/{memory-graph-extractor-WZ77ITZ3.js → memory-graph-extractor-44P2ATID.js} +3 -3
  238. package/dist/{memory-poisoning-defense-YQW6WVPL.js → memory-poisoning-defense-3CYFKNLA.js} +2 -2
  239. package/dist/{memory-pressure-watchdog-JPCLJAXH.js → memory-pressure-watchdog-6PFLEOUO.js} +12 -12
  240. package/dist/{memory-queue-client-W24ZZ6ZF.js → memory-queue-client-BZD6MXA5.js} +3 -3
  241. package/dist/{memory-reflection-UGK2I2T7.js → memory-reflection-AYPJRPU7.js} +2 -2
  242. package/dist/{notifications-3MO6HVJM.js → notifications-BBQ23ORD.js} +11 -11
  243. package/dist/{orchestration-events-SKESCF4F.js → orchestration-events-O5P5NEKS.js} +3 -3
  244. package/dist/{orchestrator-SM65YFE2.js → orchestrator-SERM6FDY.js} +13 -13
  245. package/dist/{pipeline-router-UGCC5XSO.js → pipeline-router-T673WGL3.js} +3 -3
  246. package/dist/{plan-limits-RUCNKVRH.js → plan-limits-QWBN2EKH.js} +5 -5
  247. package/dist/{projection-worker-FBFQ232A.js → projection-worker-K6TILAZH.js} +2 -2
  248. package/dist/{prospective-memory-X4UQTUC2.js → prospective-memory-XRNRMEDL.js} +2 -2
  249. package/dist/{reranker-FIRW3XMW.js → reranker-3XC5UM4F.js} +1 -1
  250. package/dist/{retrieval-health-NWYJEIZS.js → retrieval-health-ULVVOIPL.js} +1 -1
  251. package/dist/{review-polling-HUJMBGUY.js → review-polling-5YGDPJUX.js} +12 -12
  252. package/dist/runtime/index.js +19 -19
  253. package/dist/{session-events-UNCFJIK7.js → session-events-D52HNUJK.js} +12 -12
  254. package/dist/{session-kill-telemetry-VQ4JWWTI.js → session-kill-telemetry-IBNCJSI7.js} +12 -12
  255. package/dist/{session-scope-OLSNZJ24.js → session-scope-5FWZ4AYR.js} +11 -11
  256. package/dist/{setup-wizard-X72EV5E2.js → setup-wizard-KVTLSSRD.js} +1 -1
  257. package/dist/{skill-refinement-OJRBB3LD.js → skill-refinement-YLIAY7V4.js} +2 -2
  258. package/dist/{stack-update-PK2OYYR3.js → stack-update-OWWGTYRB.js} +3 -3
  259. package/dist/{steward-gate-5ZWUVNGD.js → steward-gate-3ZITRYVH.js} +3 -3
  260. package/dist/{task-enforcement-VFFLCP3N.js → task-enforcement-L4YTDOOX.js} +11 -11
  261. package/dist/{task-scope-75JK27V5.js → task-scope-OIHLMQOQ.js} +11 -11
  262. package/dist/{tasks-crud-ADVXVR7D.js → tasks-crud-QUIIRWE3.js} +11 -11
  263. package/dist/{tasks-notify-NAA6IHHW.js → tasks-notify-ANYLB5GU.js} +12 -12
  264. package/dist/{tasks-review-5A3JJR6R.js → tasks-review-BWSCXFMB.js} +11 -11
  265. package/dist/{telemetry-upload-HSXQYSVJ.js → telemetry-upload-XLDBCD7B.js} +7 -7
  266. package/dist/{token-budget-GD2VU7N4.js → token-budget-OQCLPV3A.js} +3 -3
  267. package/dist/{tool-capability-index-KA2HQ7A4.js → tool-capability-index-3UWKZZED.js} +1 -1
  268. package/dist/{tool-telemetry-UQY7GDGE.js → tool-telemetry-AQTFWOWG.js} +1 -1
  269. package/dist/tui/App.js +19 -19
  270. package/dist/{tui-data-VYSH7F2K.js → tui-data-3Y5L5LJB.js} +11 -11
  271. package/dist/{worker-gate-DRSX2SOW.js → worker-gate-WJS2MFNA.js} +1 -1
  272. package/dist/{workflow-engine-WFDIVYWP.js → workflow-engine-EPPZ226V.js} +2 -2
  273. package/dist/{worktree-LWVPNZ4L.js → worktree-OYGDGJP7.js} +4 -4
  274. package/dist/{worktree-sweep-3IZLGYYH.js → worktree-sweep-KV4H4766.js} +5 -5
  275. package/package.json +1 -1
  276. package/release-notes.json +47 -44
  277. /package/dist/{chunk-3YKA5BKT.js → chunk-72LWCZTJ.js} +0 -0
  278. /package/dist/{chunk-7NG77I33.js → chunk-DQJ3WZRK.js} +0 -0
  279. /package/dist/{chunk-HJSMIHEY.js → chunk-DY3J6GQO.js} +0 -0
  280. /package/dist/{chunk-XRJ3EFEF.js → chunk-IZY6V4FI.js} +0 -0
  281. /package/dist/{chunk-S6N7DLKL.js → chunk-Q5YKWFVO.js} +0 -0
  282. /package/dist/{chunk-4AHV3QBI.js → chunk-QTEHH4LG.js} +0 -0
  283. /package/dist/{chunk-UWVAG35C.js → chunk-RRQI5PSJ.js} +0 -0
  284. /package/dist/{chunk-NOPDNOGQ.js → chunk-SIJSFULW.js} +0 -0
  285. /package/dist/{chunk-SOIHGU5I.js → chunk-SJZT66LM.js} +0 -0
  286. /package/dist/{chunk-3EZQSPTG.js → chunk-WXRVHXVP.js} +0 -0
  287. /package/dist/{chunk-6DTSAEDS.js → chunk-YIFZZYQD.js} +0 -0
  288. /package/dist/{chunk-53ARJV2L.js → chunk-ZU6767WK.js} +0 -0
  289. /package/dist/{core-memory-5HNI2YLS.js → core-memory-DARTILJG.js} +0 -0
  290. /package/dist/{entity-boost-AQBUEMJK.js → entity-boost-VR5YOQCT.js} +0 -0
  291. /package/dist/{message-queue-client-JGOK7POW.js → message-queue-client-HVFR67QH.js} +0 -0
  292. /package/dist/{oauth-server-NZTPAFQ7.js → oauth-server-UQHCFVHT.js} +0 -0
  293. /package/dist/{project-boot-3UP6ETJY.js → project-boot-22ZZL2GE.js} +0 -0
  294. /package/dist/{wiki-acl-4W4CSCFO.js → wiki-acl-EZMGL6KW.js} +0 -0
package/dist/bin/cli.js CHANGED
@@ -76,6 +76,7 @@ Commands:
76
76
  logout Clear stored authentication session
77
77
  whoami Show current auth state (email, plan, expiry)
78
78
  setup First-time setup (encryption, license, team)
79
+ license Show plan/limits (status) or pick up an upgrade (refresh)
79
80
  update Check for and install updates
80
81
  channel View/set update channel (stable|canary|pinned)
81
82
  cloud Cloud sync setup and device linking
@@ -105,7 +106,7 @@ if (args.includes("--global")) {
105
106
  );
106
107
  await runClaudeInstall();
107
108
  } else if (args.includes("--commands-only")) {
108
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-MWRZB3RT.js");
109
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-SC7CQBYY.js");
109
110
  try {
110
111
  const packageRoot = resolvePackageRoot();
111
112
  const result = await copySlashCommands(packageRoot);
@@ -194,7 +195,7 @@ if (args.includes("--global")) {
194
195
  process.exit(1);
195
196
  }
196
197
  } else if (args[0] === "key") {
197
- const { main: runKey } = await import("../exe-key-7VXVXX4Q.js");
198
+ const { main: runKey } = await import("../exe-key-IPGY4RMU.js");
198
199
  await runKey(args.slice(1));
199
200
  } else if (args[0] === "link") {
200
201
  console.error("`exe-os link` has been removed from the customer command surface.");
@@ -246,7 +247,7 @@ if (args.includes("--global")) {
246
247
  process.exit(1);
247
248
  }
248
249
  } else if (args[0] === "backfill-metadata") {
249
- const { backfillMetadata } = await import("../backfill-metadata-7RO5PSMN.js");
250
+ const { backfillMetadata } = await import("../backfill-metadata-CXWFCTBO.js");
250
251
  let batchSize = 50;
251
252
  let limit = 0;
252
253
  let dryRun = false;
@@ -277,10 +278,10 @@ if (args.includes("--global")) {
277
278
  process.exit(1);
278
279
  }
279
280
  } else if (args[0] === "export") {
280
- const { runExeExport } = await import("../exe-export-CIRE2HZA.js");
281
+ const { runExeExport } = await import("../exe-export-THIAYHXK.js");
281
282
  await runExeExport(args.slice(1));
282
283
  } else if (args[0] === "import") {
283
- const { runExeImport } = await import("../exe-import-X6U6VG7Q.js");
284
+ const { runExeImport } = await import("../exe-import-3Y4VOUYL.js");
284
285
  await runExeImport(args.slice(1));
285
286
  } else if (args[0] === "import-history") {
286
287
  const { runImportHistory } = await import("./import-history.js");
@@ -305,7 +306,7 @@ if (args.includes("--global")) {
305
306
  const { initStore } = await import("../lib/store.js");
306
307
  await initStore();
307
308
  const { sendMessage } = await import("../lib/messaging.js");
308
- const { getActiveAgent } = await import("../active-agent-XIPGXSQA.js");
309
+ const { getActiveAgent } = await import("../active-agent-SHM4QSRJ.js");
309
310
  const { agentId } = getActiveAgent();
310
311
  const result = await sendMessage({
311
312
  fromAgent: agentId,
@@ -321,6 +322,8 @@ ID: ${result.id}`);
321
322
  await runRename();
322
323
  } else if (args[0] === "--activate" || args[0] === "activate") {
323
324
  await runActivate(args[1]);
325
+ } else if (args[0] === "license") {
326
+ await runLicense(args.slice(1));
324
327
  } else if (args[0] === "healthcheck") {
325
328
  const { runHealthCheck } = await import("./exe-healthcheck.js");
326
329
  const { results, passed, failed } = runHealthCheck();
@@ -338,7 +341,7 @@ ID: ${result.id}`);
338
341
  process.exit(failed > 0 ? 1 : 0);
339
342
  } else if (args[0] === "doctor") {
340
343
  if (args.includes("--drift")) {
341
- const { runDrift } = await import("../exe-drift-BMSRHAT6.js");
344
+ const { runDrift } = await import("../exe-drift-GLJIM7EI.js");
342
345
  await runDrift(args.slice(1));
343
346
  } else {
344
347
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -355,7 +358,7 @@ ID: ${result.id}`);
355
358
  }
356
359
  } else if (args[0] === "backup") {
357
360
  const sub = args[1];
358
- const { listBackups, createBackup, restoreBackup } = await import("../db-backup-7GJYDSXA.js");
361
+ const { listBackups, createBackup, restoreBackup } = await import("../db-backup-ITRADB2J.js");
359
362
  if (sub === "list" || !sub) {
360
363
  const backups = listBackups();
361
364
  if (backups.length === 0) {
@@ -410,7 +413,7 @@ ID: ${result.id}`);
410
413
  process.exit(1);
411
414
  }
412
415
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
413
- const { runSetupWizard } = await import("../setup-wizard-X72EV5E2.js");
416
+ const { runSetupWizard } = await import("../setup-wizard-KVTLSSRD.js");
414
417
  await runSetupWizard({
415
418
  skipModel: args.includes("--skip-model"),
416
419
  nonInteractive: args.includes("--non-interactive") || args.includes("-y") || args.includes("--yes"),
@@ -463,10 +466,10 @@ Post-deploy verification \u2014 8 runtime checks after stack-update.
463
466
  `);
464
467
  process.exit(report.failed > 0 ? 1 : 0);
465
468
  } else if (args[0] === "snapshot") {
466
- const { main: runSnapshot } = await import("../exe-snapshot-P5BLEXQJ.js");
469
+ const { main: runSnapshot } = await import("../exe-snapshot-2ZEWCDYK.js");
467
470
  await runSnapshot(args.slice(1));
468
471
  } else if (args[0] === "boot") {
469
- const { projectBoot, parseBootArgs } = await import("../project-boot-3UP6ETJY.js");
472
+ const { projectBoot, parseBootArgs } = await import("../project-boot-22ZZL2GE.js");
470
473
  const bootOpts = parseBootArgs(args.slice(1));
471
474
  console.log(await projectBoot(bootOpts));
472
475
  } else if (args[0] === "brand") {
@@ -580,7 +583,7 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
580
583
  }
581
584
  }
582
585
  async function runCodeContext(ccArgs) {
583
- const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-NQFP6ED5.js");
586
+ const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-6YQ3DGCN.js");
584
587
  const sub = ccArgs[0] ?? "status";
585
588
  const projectRoot = valueAfter(ccArgs, "--project-root") ?? process.cwd();
586
589
  if (sub === "init" || sub === "index") {
@@ -656,7 +659,7 @@ function numberAfter(args2, flag) {
656
659
  return Number.isFinite(parsed) ? parsed : void 0;
657
660
  }
658
661
  async function runClaudeInstall() {
659
- const { runInstaller } = await import("../installer-MWRZB3RT.js");
662
+ const { runInstaller } = await import("../installer-SC7CQBYY.js");
660
663
  try {
661
664
  await runInstaller();
662
665
  } catch (err) {
@@ -668,7 +671,7 @@ async function runClaudeInstall() {
668
671
  }
669
672
  }
670
673
  async function runOpenCodeInstall() {
671
- const { runOpenCodeInstaller } = await import("../installer-XLP5MIRG.js");
674
+ const { runOpenCodeInstaller } = await import("../installer-2EKTDQZB.js");
672
675
  try {
673
676
  await runOpenCodeInstaller();
674
677
  } catch (err) {
@@ -680,7 +683,7 @@ async function runOpenCodeInstall() {
680
683
  }
681
684
  }
682
685
  async function runCodexInstall() {
683
- const { runCodexInstaller } = await import("../installer-2SY3BEHJ.js");
686
+ const { runCodexInstaller } = await import("../installer-UEF44TWQ.js");
684
687
  try {
685
688
  await runCodexInstaller();
686
689
  } catch (err) {
@@ -692,7 +695,7 @@ async function runCodexInstall() {
692
695
  }
693
696
  }
694
697
  async function runClaudeCheck() {
695
- const { detectMcpNameCollisions } = await import("../installer-MWRZB3RT.js");
698
+ const { detectMcpNameCollisions } = await import("../installer-SC7CQBYY.js");
696
699
  const claudeDir = path.join(os.homedir(), ".claude");
697
700
  const settingsPath = path.join(claudeDir, "settings.json");
698
701
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -1149,6 +1152,43 @@ async function runActivate(key) {
1149
1152
  process.exit(1);
1150
1153
  }
1151
1154
  }
1155
+ async function runLicense(subArgs) {
1156
+ const sub = subArgs[0] ?? "status";
1157
+ const { checkLicense, refreshLicense } = await import("../lib/license.js");
1158
+ const fmtLimit = (n) => n === -1 ? "unlimited" : n.toLocaleString();
1159
+ if (sub === "refresh") {
1160
+ console.log("Checking your plan with the license server\u2026");
1161
+ const result = await refreshLicense();
1162
+ if (!result.reachedCloud) {
1163
+ console.log("\n \x1B[33m\u26A0 Could not reach the license server.\x1B[0m");
1164
+ console.log(` Your cached plan is unchanged: \x1B[36m${result.license.plan}\x1B[0m`);
1165
+ console.log(" Retry once https://api.askexe.com is reachable.\n");
1166
+ return;
1167
+ }
1168
+ const lic = result.license;
1169
+ if (result.changed && result.oldPlan) {
1170
+ console.log(`
1171
+ \x1B[32m\u2713 Plan updated:\x1B[0m ${result.oldPlan} \u2192 \x1B[36m${lic.plan}\x1B[0m`);
1172
+ } else {
1173
+ console.log(`
1174
+ \x1B[32m\u2713 Plan is up to date:\x1B[0m \x1B[36m${lic.plan}\x1B[0m`);
1175
+ }
1176
+ console.log(` Employees: ${fmtLimit(lic.employeeLimit)} | Devices: ${fmtLimit(lic.deviceLimit)} | Memories: ${fmtLimit(lic.memoryLimit)}
1177
+ `);
1178
+ return;
1179
+ }
1180
+ if (sub === "status") {
1181
+ const lic = await checkLicense();
1182
+ console.log(`
1183
+ Plan: \x1B[36m${lic.plan}\x1B[0m (valid: ${lic.valid ? "yes" : "no"})`);
1184
+ console.log(` Employees: ${fmtLimit(lic.employeeLimit)} | Devices: ${fmtLimit(lic.deviceLimit)} | Memories: ${fmtLimit(lic.memoryLimit)}`);
1185
+ console.log(` Expires: ${lic.expiresAt ? lic.expiresAt.split("T")[0] : "never"}`);
1186
+ console.log("\n Upgraded your plan? Pick it up with \x1B[36mexe-os license refresh\x1B[0m\n");
1187
+ return;
1188
+ }
1189
+ process.stderr.write("Usage: exe-os license [refresh|status]\n");
1190
+ process.exit(1);
1191
+ }
1152
1192
  async function runCloudSync() {
1153
1193
  const { loadConfig } = await import("../lib/config.js");
1154
1194
  const config = await loadConfig();
@@ -1,128 +1,128 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  computeMcpSurfaceHash
4
- } from "../chunk-NODTWD7N.js";
4
+ } from "../chunk-SQ5JWDJ2.js";
5
5
  import "../chunk-WCGNCH3Q.js";
6
- import "../chunk-B3SFW4LY.js";
7
- import "../chunk-IPD5ZSOK.js";
8
- import "../chunk-Q774HAGE.js";
6
+ import "../chunk-GN3IWZDH.js";
9
7
  import "../chunk-557C2IGL.js";
10
- import "../chunk-RAKFEXCN.js";
11
- import "../chunk-OC222BAQ.js";
12
- import "../chunk-E3WZA2WU.js";
13
- import "../chunk-PJH7JUWD.js";
14
- import "../chunk-UWVAG35C.js";
8
+ import "../chunk-KXP3CUTL.js";
9
+ import "../chunk-6N4LYEDI.js";
10
+ import "../chunk-QNUHDEPI.js";
11
+ import "../chunk-OI63OVCR.js";
12
+ import "../chunk-7CUF27OT.js";
13
+ import "../chunk-NAHAOFTY.js";
14
+ import "../chunk-RRQI5PSJ.js";
15
15
  import "../chunk-CRCB5S7I.js";
16
- import "../chunk-JJ2FFUFV.js";
16
+ import "../chunk-AZL3EUR3.js";
17
+ import "../chunk-JXEMAB4M.js";
17
18
  import "../chunk-PVYR4FCQ.js";
18
- import "../chunk-SOIHGU5I.js";
19
+ import "../chunk-Q5YKWFVO.js";
20
+ import "../chunk-SJZT66LM.js";
19
21
  import "../chunk-E6ORBQHP.js";
20
- import "../chunk-VUZRAEF3.js";
21
- import "../chunk-3ZOWUUKR.js";
22
- import "../chunk-S6N7DLKL.js";
22
+ import "../chunk-6XM6PZXQ.js";
23
23
  import "../chunk-32SXNM3G.js";
24
- import "../chunk-WXQVFMNV.js";
25
- import "../chunk-MNUFLCHT.js";
26
- import "../chunk-PM6XSS6R.js";
27
- import "../chunk-EPZWVXKI.js";
28
- import "../chunk-4XAYC77M.js";
29
- import "../chunk-JNUYJRQX.js";
30
- import "../chunk-MM7EYJJ3.js";
31
- import "../chunk-YSSJOTVN.js";
32
- import "../chunk-B2FUBD6Z.js";
24
+ import "../chunk-HIOO7DZ2.js";
25
+ import "../chunk-XP53WEXP.js";
26
+ import "../chunk-NYFPFOYM.js";
27
+ import "../chunk-6SXJZHRJ.js";
28
+ import "../chunk-WFHYAKEU.js";
29
+ import "../chunk-E32KARET.js";
30
+ import "../chunk-EVUXF2G4.js";
31
+ import "../chunk-WCCR5IFR.js";
32
+ import "../chunk-6IBUQBMY.js";
33
33
  import "../chunk-HMP5VT6A.js";
34
- import "../chunk-N3ZLLKBN.js";
35
- import "../chunk-LJTXVAG4.js";
36
- import "../chunk-AKD6IKYS.js";
37
- import "../chunk-V2GI2MJJ.js";
38
- import "../chunk-XLQH263A.js";
39
- import "../chunk-IDMIGP53.js";
40
- import "../chunk-YZTOGIV7.js";
34
+ import "../chunk-DGFIXJ4S.js";
35
+ import "../chunk-G5TP2D2U.js";
36
+ import "../chunk-LB77CSLO.js";
37
+ import "../chunk-F5FAD2YR.js";
38
+ import "../chunk-6UQRJCKK.js";
39
+ import "../chunk-WSYKLS2Y.js";
40
+ import "../chunk-VSXGFHJY.js";
41
41
  import "../chunk-3OEVDGIY.js";
42
- import "../chunk-GRB44WRN.js";
43
- import "../chunk-7I4HQYPL.js";
42
+ import "../chunk-SENJA7BZ.js";
43
+ import "../chunk-HKSJSW2V.js";
44
44
  import "../chunk-X2FHTDIU.js";
45
45
  import "../chunk-SSC7EKY2.js";
46
- import "../chunk-DRA2FYUQ.js";
46
+ import "../chunk-OFR7KQ37.js";
47
47
  import "../chunk-75H4R62K.js";
48
- import "../chunk-C5SALMKH.js";
49
- import "../chunk-4AHV3QBI.js";
48
+ import "../chunk-ROMB2HH4.js";
49
+ import "../chunk-QTEHH4LG.js";
50
50
  import "../chunk-KQ4Z2G24.js";
51
51
  import "../chunk-L3TB7CC3.js";
52
- import "../chunk-7PUNIH6G.js";
52
+ import "../chunk-V2ESQU3S.js";
53
53
  import "../chunk-MMRUBN3I.js";
54
54
  import "../chunk-2XZ6X3PJ.js";
55
- import "../chunk-TDV3XEGQ.js";
56
- import "../chunk-ZOCW4TGA.js";
55
+ import "../chunk-LOE2N23P.js";
56
+ import "../chunk-ORC5AO7E.js";
57
57
  import "../chunk-DDKDN4HV.js";
58
- import "../chunk-T5O2EBHU.js";
59
- import "../chunk-3YKA5BKT.js";
58
+ import "../chunk-LCZ55G5G.js";
59
+ import "../chunk-72LWCZTJ.js";
60
60
  import "../chunk-X2Z5GT3V.js";
61
- import "../chunk-YJYE6MMJ.js";
62
- import "../chunk-7S3SRDPQ.js";
63
- import "../chunk-GBUFDCLX.js";
61
+ import "../chunk-TI6YX3L5.js";
62
+ import "../chunk-FANIBYUO.js";
63
+ import "../chunk-XC7C3GQ2.js";
64
64
  import "../chunk-7UMCQQWS.js";
65
65
  import "../chunk-Z6BZQHP5.js";
66
66
  import "../chunk-GUMRIUI5.js";
67
67
  import "../chunk-PROQW3NL.js";
68
68
  import "../chunk-LO6L5ADL.js";
69
- import "../chunk-LQWCIW4K.js";
70
- import "../chunk-DFSR3UUL.js";
69
+ import "../chunk-2GBGIXKH.js";
70
+ import "../chunk-CHSRSESS.js";
71
71
  import "../chunk-CWQAXO3O.js";
72
72
  import "../chunk-QGGH7LOU.js";
73
- import "../chunk-OXGNFT3L.js";
74
- import "../chunk-TRXBT24O.js";
75
- import "../chunk-53ARJV2L.js";
76
- import "../chunk-WL5K3R7W.js";
77
- import "../chunk-C7QYH2YN.js";
73
+ import "../chunk-7SDS5VCL.js";
74
+ import "../chunk-BFHBHQFA.js";
75
+ import "../chunk-ZU6767WK.js";
76
+ import "../chunk-TKBWBHFV.js";
77
+ import "../chunk-3JW3ZXCP.js";
78
78
  import {
79
79
  requestDeployRestart
80
80
  } from "../chunk-AFNRE2RV.js";
81
81
  import "../chunk-3NGZ4PL7.js";
82
82
  import {
83
83
  computeDaemonHeapCapMb
84
- } from "../chunk-7XGDTKHX.js";
85
- import "../chunk-MRB2BXIB.js";
84
+ } from "../chunk-CMDC5D7S.js";
85
+ import "../chunk-4Z47UMMM.js";
86
86
  import "../chunk-AB4PAQYK.js";
87
- import "../chunk-PHUKD7VK.js";
87
+ import "../chunk-H2SD2EA7.js";
88
88
  import "../chunk-CHCA3ZM2.js";
89
89
  import "../chunk-OTVEIJUQ.js";
90
- import "../chunk-NOPDNOGQ.js";
91
- import "../chunk-RJHOFX72.js";
90
+ import "../chunk-SIJSFULW.js";
91
+ import "../chunk-EOPSIIEH.js";
92
92
  import "../chunk-Y25OJWOQ.js";
93
- import "../chunk-LWBOSHSS.js";
94
- import "../chunk-5L62XXNH.js";
95
- import "../chunk-RREJ2QQ4.js";
93
+ import "../chunk-PLBDXCYZ.js";
94
+ import "../chunk-HWC5W34K.js";
95
+ import "../chunk-KLG53B63.js";
96
96
  import "../chunk-4FVVJ7ME.js";
97
97
  import "../chunk-E23LNUWJ.js";
98
98
  import "../chunk-4JERP7NT.js";
99
- import "../chunk-TWPYSILC.js";
99
+ import "../chunk-ABGDTMKC.js";
100
100
  import "../chunk-SSTLTIF3.js";
101
101
  import "../chunk-RMOBQ6A5.js";
102
102
  import "../chunk-54QCG45Y.js";
103
- import "../chunk-RVF6JBHW.js";
104
- import "../chunk-Q26VSIXA.js";
103
+ import "../chunk-HV5CUDOE.js";
104
+ import "../chunk-QVFJCFNM.js";
105
105
  import "../chunk-NGP6LSV2.js";
106
- import "../chunk-CQ2T4A2D.js";
106
+ import "../chunk-EPBB2OD3.js";
107
107
  import "../chunk-CVYC6DUW.js";
108
108
  import "../chunk-OPU3NYOO.js";
109
109
  import "../chunk-HYZV25LY.js";
110
110
  import "../chunk-GJV3WDWM.js";
111
111
  import "../chunk-YGAAZN3E.js";
112
- import "../chunk-XRJ3EFEF.js";
112
+ import "../chunk-IZY6V4FI.js";
113
113
  import "../chunk-ONKIWA3R.js";
114
114
  import "../chunk-MP2AFCGL.js";
115
- import "../chunk-36SS3TE7.js";
115
+ import "../chunk-XLNF3CIO.js";
116
116
  import "../chunk-2I23RPSI.js";
117
- import "../chunk-3EZQSPTG.js";
117
+ import "../chunk-WXRVHXVP.js";
118
118
  import "../chunk-PNQDP3OA.js";
119
119
  import "../chunk-H73TUI4Y.js";
120
120
  import "../chunk-7HLWBYH7.js";
121
121
  import "../chunk-FXU7JOXK.js";
122
122
  import "../chunk-Z42MXYWW.js";
123
123
  import "../chunk-XQNNB5GY.js";
124
- import "../chunk-QLVMJGUQ.js";
125
- import "../chunk-7NG77I33.js";
124
+ import "../chunk-VY7345RO.js";
125
+ import "../chunk-DQJ3WZRK.js";
126
126
  import "../chunk-7Y5UDEVM.js";
127
127
  import "../chunk-SHIICYJW.js";
128
128
  import "../chunk-6Y4B3QF6.js";
@@ -6,15 +6,15 @@ import {
6
6
  getAgentRuntime,
7
7
  loadAgentConfig,
8
8
  setAgentRuntime
9
- } from "../chunk-Q26VSIXA.js";
9
+ } from "../chunk-QVFJCFNM.js";
10
10
  import {
11
11
  DEFAULT_RUNTIME
12
12
  } from "../chunk-NGP6LSV2.js";
13
13
  import {
14
14
  loadEmployeesSync
15
- } from "../chunk-36SS3TE7.js";
15
+ } from "../chunk-XLNF3CIO.js";
16
16
  import "../chunk-2I23RPSI.js";
17
- import "../chunk-3EZQSPTG.js";
17
+ import "../chunk-WXRVHXVP.js";
18
18
  import "../chunk-PNQDP3OA.js";
19
19
  import "../chunk-H73TUI4Y.js";
20
20
  import "../chunk-7HLWBYH7.js";
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ FileReadTool
4
+ } from "../chunk-TMEE7AT7.js";
2
5
  import {
3
6
  GlobTool
4
7
  } from "../chunk-KCUYRZSX.js";
@@ -14,15 +17,12 @@ import {
14
17
  import {
15
18
  BashTool
16
19
  } from "../chunk-TQDARPML.js";
17
- import {
18
- FileReadTool
19
- } from "../chunk-TMEE7AT7.js";
20
20
  import {
21
21
  createTerminalRenderer,
22
22
  renderAgentEvents
23
23
  } from "../chunk-YZFZDJWZ.js";
24
- import "../chunk-CMCYL2JC.js";
25
24
  import "../chunk-NGVOA6ZQ.js";
25
+ import "../chunk-CMCYL2JC.js";
26
26
  import {
27
27
  agentLoop
28
28
  } from "../chunk-KSVLBATT.js";
@@ -45,12 +45,12 @@ import {
45
45
  } from "../chunk-ECGTESAP.js";
46
46
  import {
47
47
  getSessionPrompt
48
- } from "../chunk-TDV3XEGQ.js";
49
- import "../chunk-ZOCW4TGA.js";
48
+ } from "../chunk-LOE2N23P.js";
49
+ import "../chunk-ORC5AO7E.js";
50
50
  import "../chunk-DDKDN4HV.js";
51
- import "../chunk-36SS3TE7.js";
51
+ import "../chunk-XLNF3CIO.js";
52
52
  import "../chunk-2I23RPSI.js";
53
- import "../chunk-3EZQSPTG.js";
53
+ import "../chunk-WXRVHXVP.js";
54
54
  import "../chunk-PNQDP3OA.js";
55
55
  import "../chunk-H73TUI4Y.js";
56
56
  import "../chunk-7HLWBYH7.js";
@@ -3,31 +3,31 @@ import {
3
3
  createAssignmentMemory,
4
4
  formatAssignmentOutput,
5
5
  routeTask
6
- } from "../chunk-C54QKE4O.js";
6
+ } from "../chunk-QQOH3I4A.js";
7
7
  import {
8
8
  embed
9
- } from "../chunk-DFSR3UUL.js";
10
- import "../chunk-C7QYH2YN.js";
9
+ } from "../chunk-CHSRSESS.js";
10
+ import "../chunk-3JW3ZXCP.js";
11
11
  import "../chunk-AFNRE2RV.js";
12
12
  import "../chunk-3NGZ4PL7.js";
13
- import "../chunk-7XGDTKHX.js";
13
+ import "../chunk-CMDC5D7S.js";
14
14
  import {
15
15
  flushBatch,
16
16
  initStore,
17
17
  searchMemories,
18
18
  writeMemory
19
- } from "../chunk-PHUKD7VK.js";
19
+ } from "../chunk-H2SD2EA7.js";
20
20
  import "../chunk-CHCA3ZM2.js";
21
21
  import "../chunk-OTVEIJUQ.js";
22
- import "../chunk-NOPDNOGQ.js";
22
+ import "../chunk-SIJSFULW.js";
23
23
  import "../chunk-Y25OJWOQ.js";
24
24
  import "../chunk-MP2AFCGL.js";
25
25
  import {
26
26
  getEmployee,
27
27
  loadEmployees
28
- } from "../chunk-36SS3TE7.js";
28
+ } from "../chunk-XLNF3CIO.js";
29
29
  import "../chunk-2I23RPSI.js";
30
- import "../chunk-3EZQSPTG.js";
30
+ import "../chunk-WXRVHXVP.js";
31
31
  import "../chunk-PNQDP3OA.js";
32
32
  import "../chunk-H73TUI4Y.js";
33
33
  import "../chunk-7HLWBYH7.js";
@@ -1,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  generateStatusBrief
4
- } from "../chunk-VTHR4DPE.js";
4
+ } from "../chunk-5ZNY7IZI.js";
5
5
  import {
6
6
  DEFAULT_EXE,
7
7
  getSessionPrompt
8
- } from "../chunk-TDV3XEGQ.js";
9
- import "../chunk-ZOCW4TGA.js";
8
+ } from "../chunk-LOE2N23P.js";
9
+ import "../chunk-ORC5AO7E.js";
10
10
  import "../chunk-DDKDN4HV.js";
11
11
  import {
12
12
  initStore
13
- } from "../chunk-PHUKD7VK.js";
13
+ } from "../chunk-H2SD2EA7.js";
14
14
  import "../chunk-CHCA3ZM2.js";
15
15
  import "../chunk-OTVEIJUQ.js";
16
- import "../chunk-NOPDNOGQ.js";
16
+ import "../chunk-SIJSFULW.js";
17
17
  import {
18
18
  cleanupSessionMarkers,
19
19
  writeActiveAgent
20
- } from "../chunk-RJHOFX72.js";
20
+ } from "../chunk-EOPSIIEH.js";
21
21
  import "../chunk-Y25OJWOQ.js";
22
22
  import {
23
23
  cleanupOldNotifications,
@@ -29,23 +29,23 @@ import {
29
29
  resolveExeSession,
30
30
  sessionScopeFilter,
31
31
  updateTaskStatus
32
- } from "../chunk-LWBOSHSS.js";
33
- import "../chunk-5L62XXNH.js";
34
- import "../chunk-RREJ2QQ4.js";
32
+ } from "../chunk-PLBDXCYZ.js";
33
+ import "../chunk-HWC5W34K.js";
34
+ import "../chunk-KLG53B63.js";
35
35
  import "../chunk-4FVVJ7ME.js";
36
36
  import "../chunk-E23LNUWJ.js";
37
37
  import "../chunk-4JERP7NT.js";
38
38
  import {
39
39
  pruneStaleSessions,
40
40
  registerSession
41
- } from "../chunk-TWPYSILC.js";
41
+ } from "../chunk-ABGDTMKC.js";
42
42
  import "../chunk-SSTLTIF3.js";
43
43
  import "../chunk-RMOBQ6A5.js";
44
44
  import "../chunk-54QCG45Y.js";
45
- import "../chunk-RVF6JBHW.js";
46
- import "../chunk-Q26VSIXA.js";
45
+ import "../chunk-HV5CUDOE.js";
46
+ import "../chunk-QVFJCFNM.js";
47
47
  import "../chunk-NGP6LSV2.js";
48
- import "../chunk-CQ2T4A2D.js";
48
+ import "../chunk-EPBB2OD3.js";
49
49
  import "../chunk-CVYC6DUW.js";
50
50
  import "../chunk-OPU3NYOO.js";
51
51
  import "../chunk-HYZV25LY.js";
@@ -58,17 +58,17 @@ import {
58
58
  isCoordinatorName,
59
59
  loadEmployees,
60
60
  saveEmployees
61
- } from "../chunk-36SS3TE7.js";
61
+ } from "../chunk-XLNF3CIO.js";
62
62
  import "../chunk-2I23RPSI.js";
63
- import "../chunk-3EZQSPTG.js";
63
+ import "../chunk-WXRVHXVP.js";
64
64
  import "../chunk-PNQDP3OA.js";
65
65
  import "../chunk-H73TUI4Y.js";
66
66
  import "../chunk-7HLWBYH7.js";
67
67
  import "../chunk-FXU7JOXK.js";
68
68
  import "../chunk-TPHCZDE3.js";
69
69
  import "../chunk-Z42MXYWW.js";
70
- import "../chunk-QLVMJGUQ.js";
71
- import "../chunk-7NG77I33.js";
70
+ import "../chunk-VY7345RO.js";
71
+ import "../chunk-DQJ3WZRK.js";
72
72
  import {
73
73
  EXE_AI_DIR,
74
74
  loadConfig,
@@ -119,7 +119,7 @@ async function boot(options) {
119
119
  const coordinatorEmployee = getCoordinatorEmployee(employees) ?? DEFAULT_EXE;
120
120
  const coordinatorName = coordinatorEmployee.name;
121
121
  try {
122
- const { fastDbInit } = await import("../fast-db-init-SMBGFVXM.js");
122
+ const { fastDbInit } = await import("../fast-db-init-TLYUWCDE.js");
123
123
  await fastDbInit();
124
124
  } catch {
125
125
  await initStore();
@@ -128,17 +128,41 @@ async function boot(options) {
128
128
  writeActiveAgent(coordinatorName, coordinatorEmployee.role);
129
129
  let licensePlan;
130
130
  let employeeLimit;
131
+ let planChangeNotice;
131
132
  try {
132
- const { checkLicense, loadLicense } = await import("../lib/license.js");
133
+ const { checkLicense, loadLicense, refreshLicense, buildPlanChangeNotice, getLicenseCacheAgeMs } = await import("../lib/license.js");
133
134
  const hasKey = !!loadLicense();
134
135
  if (hasKey) {
135
- const license = await checkLicense();
136
- licensePlan = license.plan;
137
- employeeLimit = license.employeeLimit;
138
- if (!license.valid) {
139
- process.stderr.write(
140
- "\u26A0 License key present but not valid. Check plan status at https://askexe.com.\n"
141
- );
136
+ const BOOT_RECHECK_STALE_MS = 10 * 60 * 1e3;
137
+ const cacheAge = getLicenseCacheAgeMs();
138
+ const stale = cacheAge === null || cacheAge > BOOT_RECHECK_STALE_MS;
139
+ const raced = stale ? await Promise.race([
140
+ refreshLicense({ timeoutMs: 2500 }).catch(() => null),
141
+ new Promise((resolve) => {
142
+ const t = setTimeout(() => resolve(null), 3e3);
143
+ if (typeof t === "object" && "unref" in t) t.unref();
144
+ })
145
+ ]) : null;
146
+ if (raced && raced.reachedCloud) {
147
+ licensePlan = raced.license.plan;
148
+ employeeLimit = raced.license.employeeLimit;
149
+ if (raced.changed && raced.oldPlan) {
150
+ planChangeNotice = buildPlanChangeNotice(raced.oldPlan, raced.license);
151
+ }
152
+ if (!raced.license.valid) {
153
+ process.stderr.write(
154
+ "\u26A0 License key present but not valid. Check plan status at https://askexe.com.\n"
155
+ );
156
+ }
157
+ } else {
158
+ const license = await checkLicense();
159
+ licensePlan = license.plan;
160
+ employeeLimit = license.employeeLimit;
161
+ if (!license.valid) {
162
+ process.stderr.write(
163
+ "\u26A0 License key present but not valid. Check plan status at https://askexe.com.\n"
164
+ );
165
+ }
142
166
  }
143
167
  } else {
144
168
  licensePlan = "free";
@@ -173,7 +197,8 @@ async function boot(options) {
173
197
  cloudConnected: false,
174
198
  exeSession: resolveExeSession() ?? void 0,
175
199
  plan: licensePlan,
176
- employeeLimit
200
+ employeeLimit,
201
+ planChangeNotice
177
202
  };
178
203
  try {
179
204
  const config = await loadConfig();
@@ -988,7 +1013,7 @@ async function boot(options) {
988
1013
  const embeddingsOn = resolveEmbed(process.env.EXE_EMBEDDINGS, embedCfg);
989
1014
  if (nullCount > 0 && embeddingsOn) {
990
1015
  try {
991
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-DRSX2SOW.js");
1016
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-WJS2MFNA.js");
992
1017
  if (!tryAcquireWorkerSlot()) {
993
1018
  process.stderr.write("[exe-boot] Backfill needed but worker gate full \u2014 skipping\n");
994
1019
  } else {
@@ -1095,7 +1120,7 @@ async function boot(options) {
1095
1120
  } catch {
1096
1121
  }
1097
1122
  try {
1098
- const { countKillsSince } = await import("../session-kill-telemetry-VQ4JWWTI.js");
1123
+ const { countKillsSince } = await import("../session-kill-telemetry-IBNCJSI7.js");
1099
1124
  const { listSessions: listRegistrySessions } = await import("../lib/session-registry.js");
1100
1125
  const todayStart = /* @__PURE__ */ new Date();
1101
1126
  todayStart.setHours(0, 0, 0, 0);
@@ -1193,7 +1218,7 @@ async function updateIdleKillSuspectStreak(client, killsToday, liveSessions, tod
1193
1218
  IDLE_KILL_STREAK_META_KEY,
1194
1219
  computeIdleKillSuspectStreak,
1195
1220
  parseStreakState
1196
- } = await import("../session-kill-telemetry-VQ4JWWTI.js");
1221
+ } = await import("../session-kill-telemetry-IBNCJSI7.js");
1197
1222
  const prevResult = await client.execute({
1198
1223
  sql: "SELECT value FROM sync_meta WHERE key = ?",
1199
1224
  args: [IDLE_KILL_STREAK_META_KEY]