@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,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-UVH6FA5E.js";
4
+ } from "../chunk-7B5DQGXG.js";
5
5
  import {
6
6
  sessionScopeFilter
7
- } from "../chunk-H4YONWQX.js";
7
+ } from "../chunk-ONMRBKAX.js";
8
8
  import "../chunk-LOQCOHEW.js";
9
9
  import "../chunk-TXSJ2L5O.js";
10
10
  import "../chunk-64WZEXXA.js";
@@ -12,26 +12,27 @@ import "../chunk-3TXOH3SJ.js";
12
12
  import "../chunk-RLCZBSUB.js";
13
13
  import "../chunk-GZIAQYGI.js";
14
14
  import "../chunk-ZQX6UOP6.js";
15
- import "../chunk-G3VR3MJI.js";
15
+ import "../chunk-KIUU4PNX.js";
16
16
  import "../chunk-NGP6LSV2.js";
17
- import "../chunk-XEA6DSLR.js";
17
+ import "../chunk-AERGE6GC.js";
18
+ import "../chunk-OPU3NYOO.js";
18
19
  import "../chunk-CVYC6DUW.js";
19
20
  import "../chunk-GJV3WDWM.js";
20
21
  import "../chunk-MP2AFCGL.js";
21
- import "../chunk-Y2VVTK2E.js";
22
+ import "../chunk-DTLASDQM.js";
22
23
  import "../chunk-HYZV25LY.js";
23
24
  import {
24
25
  getClient
25
- } from "../chunk-NA3MXUU6.js";
26
- import "../chunk-6BUUY7FG.js";
26
+ } from "../chunk-TH6HTK2L.js";
27
+ import "../chunk-EOO32RJZ.js";
27
28
  import "../chunk-FXU7JOXK.js";
28
- import "../chunk-I5VJNTDL.js";
29
- import "../chunk-KHV55ME4.js";
30
- import "../chunk-GCMT6RWI.js";
29
+ import "../chunk-NNT2ZNMC.js";
30
+ import "../chunk-TOWAZ5IV.js";
31
+ import "../chunk-LYH5HE24.js";
31
32
  import {
32
33
  isMainModule
33
34
  } from "../chunk-6Y4B3QF6.js";
34
- import "../chunk-PNKVD2UK.js";
35
+ import "../chunk-MLKGABMK.js";
35
36
 
36
37
  // src/bin/cleanup-stale-review-tasks.ts
37
38
  async function findZombies(beforeIso, assignedTo) {
package/dist/bin/cli.js CHANGED
@@ -21,7 +21,7 @@ if (args.includes("--global")) {
21
21
  );
22
22
  await runClaudeInstall();
23
23
  } else if (args.includes("--commands-only")) {
24
- const { copySlashCommands, resolvePackageRoot } = await import("../installer-SSR2OOLO.js");
24
+ const { copySlashCommands, resolvePackageRoot } = await import("../installer-W4NY3OBF.js");
25
25
  try {
26
26
  const packageRoot = resolvePackageRoot();
27
27
  const result = await copySlashCommands(packageRoot);
@@ -81,12 +81,12 @@ if (args.includes("--global")) {
81
81
  break;
82
82
  }
83
83
  } else if (args[0] === "org") {
84
- const { main: runOrg } = await import("../exe-org-45OTYZZJ.js");
84
+ const { main: runOrg } = await import("../exe-org-OOO7KJVZ.js");
85
85
  await runOrg(args.slice(1));
86
86
  } else if (args[0] === "code-context") {
87
87
  await runCodeContext(args.slice(1));
88
88
  } else if (args[0] === "jobs") {
89
- const { cancelBackgroundJob, formatJobs, listBackgroundJobs } = await import("../background-jobs-4N4JSZVZ.js");
89
+ const { cancelBackgroundJob, formatJobs, listBackgroundJobs } = await import("../background-jobs-IUB22CRF.js");
90
90
  const sub = args[1] ?? "status";
91
91
  if (sub === "status" || sub === "list") {
92
92
  console.log(formatJobs(listBackgroundJobs()));
@@ -107,7 +107,7 @@ if (args.includes("--global")) {
107
107
  process.exit(1);
108
108
  }
109
109
  } else if (args[0] === "key") {
110
- const { main: runKey } = await import("../exe-key-U2JJH4MO.js");
110
+ const { main: runKey } = await import("../exe-key-4L32R46F.js");
111
111
  await runKey(args.slice(1));
112
112
  } else if (args[0] === "link") {
113
113
  console.error("`exe-os link` has been removed from the customer command surface.");
@@ -147,7 +147,7 @@ if (args.includes("--global")) {
147
147
  process.exit(1);
148
148
  }
149
149
  } else if (args[0] === "backfill-metadata") {
150
- const { backfillMetadata } = await import("../backfill-metadata-ZDJ5B37R.js");
150
+ const { backfillMetadata } = await import("../backfill-metadata-KMDWLDXU.js");
151
151
  let batchSize = 50;
152
152
  let limit = 0;
153
153
  let dryRun = false;
@@ -178,10 +178,10 @@ if (args.includes("--global")) {
178
178
  process.exit(1);
179
179
  }
180
180
  } else if (args[0] === "export") {
181
- const { runExeExport } = await import("../exe-export-YRACBEUY.js");
181
+ const { runExeExport } = await import("../exe-export-ADSWDE5U.js");
182
182
  await runExeExport(args.slice(1));
183
183
  } else if (args[0] === "import") {
184
- const { runExeImport } = await import("../exe-import-DY57L2OI.js");
184
+ const { runExeImport } = await import("../exe-import-WFLNGJZP.js");
185
185
  await runExeImport(args.slice(1));
186
186
  } else if (args[0] === "send-message" || args[0] === "send_message") {
187
187
  const target = args[1];
@@ -203,7 +203,7 @@ if (args.includes("--global")) {
203
203
  const { initStore } = await import("../lib/store.js");
204
204
  await initStore();
205
205
  const { sendMessage } = await import("../lib/messaging.js");
206
- const { getActiveAgent } = await import("../active-agent-GJOJUEMF.js");
206
+ const { getActiveAgent } = await import("../active-agent-NCZCDDZ2.js");
207
207
  const { agentId } = getActiveAgent();
208
208
  const result = await sendMessage({
209
209
  fromAgent: agentId,
@@ -221,7 +221,7 @@ ID: ${result.id}`);
221
221
  await runActivate(args[1]);
222
222
  } else if (args[0] === "doctor") {
223
223
  if (args.includes("--drift")) {
224
- const { runDrift } = await import("../exe-drift-YFWCC26O.js");
224
+ const { runDrift } = await import("../exe-drift-SED6KQTZ.js");
225
225
  await runDrift(args.slice(1));
226
226
  } else {
227
227
  const { runCcDoctor } = await import("./cc-doctor.js");
@@ -238,7 +238,7 @@ ID: ${result.id}`);
238
238
  }
239
239
  } else if (args[0] === "backup") {
240
240
  const sub = args[1];
241
- const { listBackups, createBackup, restoreBackup } = await import("../db-backup-E34JMBZD.js");
241
+ const { listBackups, createBackup, restoreBackup } = await import("../db-backup-W56YOLMC.js");
242
242
  if (sub === "list" || !sub) {
243
243
  const backups = listBackups();
244
244
  if (backups.length === 0) {
@@ -293,7 +293,7 @@ ID: ${result.id}`);
293
293
  process.exit(1);
294
294
  }
295
295
  } else if (args[0] === "setup" || args[0] === "-setup" || args[0] === "--setup") {
296
- const { runSetupWizard } = await import("../setup-wizard-NXWCEK63.js");
296
+ const { runSetupWizard } = await import("../setup-wizard-QVNTI3T4.js");
297
297
  await runSetupWizard({ skipModel: args.includes("--skip-model") });
298
298
  } else if (args[0] === "update") {
299
299
  const { runUpdate } = await import("./update.js");
@@ -304,7 +304,7 @@ ID: ${result.id}`);
304
304
  } else if (args[0] === "brand") {
305
305
  const configIdx = args.indexOf("--config");
306
306
  if (configIdx === -1 || !args[configIdx + 1]) {
307
- const { loadBranding, BRANDING_PATH } = await import("../branding-52J2ILJX.js");
307
+ const { loadBranding, BRANDING_PATH } = await import("../branding-EHDA3CCK.js");
308
308
  const b = loadBranding();
309
309
  console.log(`
310
310
  Brand: ${b.name}`);
@@ -323,7 +323,7 @@ ID: ${result.id}`);
323
323
  }
324
324
  try {
325
325
  const raw = JSON.parse(rf(configPath, "utf-8"));
326
- const { validateBranding, saveBranding } = await import("../branding-52J2ILJX.js");
326
+ const { validateBranding, saveBranding } = await import("../branding-EHDA3CCK.js");
327
327
  const result = validateBranding(raw);
328
328
  if (!result.valid) {
329
329
  console.error(`
@@ -408,7 +408,7 @@ cd into a project folder and run \x1B[1m${cooName}1\x1B[0m to boot your COO.
408
408
  }
409
409
  }
410
410
  async function runCodeContext(ccArgs) {
411
- const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-SRTAWCZQ.js");
411
+ const { buildCodeContextIndex, getCodeContextStats, searchCodeContext } = await import("../code-context-index-I5A7I4JQ.js");
412
412
  const sub = ccArgs[0] ?? "status";
413
413
  const projectRoot = valueAfter(ccArgs, "--project-root") ?? process.cwd();
414
414
  if (sub === "init" || sub === "index") {
@@ -484,7 +484,7 @@ function numberAfter(args2, flag) {
484
484
  return Number.isFinite(parsed) ? parsed : void 0;
485
485
  }
486
486
  async function runClaudeInstall() {
487
- const { runInstaller } = await import("../installer-SSR2OOLO.js");
487
+ const { runInstaller } = await import("../installer-W4NY3OBF.js");
488
488
  try {
489
489
  await runInstaller();
490
490
  } catch (err) {
@@ -496,7 +496,7 @@ async function runClaudeInstall() {
496
496
  }
497
497
  }
498
498
  async function runOpenCodeInstall() {
499
- const { runOpenCodeInstaller } = await import("../installer-ZONYB3XK.js");
499
+ const { runOpenCodeInstaller } = await import("../installer-X5FEYJIA.js");
500
500
  try {
501
501
  await runOpenCodeInstaller();
502
502
  } catch (err) {
@@ -508,7 +508,7 @@ async function runOpenCodeInstall() {
508
508
  }
509
509
  }
510
510
  async function runCodexInstall() {
511
- const { runCodexInstaller } = await import("../installer-PB63JTTG.js");
511
+ const { runCodexInstaller } = await import("../installer-RLKOACKG.js");
512
512
  try {
513
513
  await runCodexInstaller();
514
514
  } catch (err) {
@@ -520,7 +520,7 @@ async function runCodexInstall() {
520
520
  }
521
521
  }
522
522
  async function runClaudeCheck() {
523
- const { detectMcpNameCollisions } = await import("../installer-SSR2OOLO.js");
523
+ const { detectMcpNameCollisions } = await import("../installer-W4NY3OBF.js");
524
524
  const claudeDir = path.join(os.homedir(), ".claude");
525
525
  const settingsPath = path.join(claudeDir, "settings.json");
526
526
  const claudeJsonPath = path.join(os.homedir(), ".claude.json");
@@ -605,7 +605,7 @@ async function runClaudeCheck() {
605
605
  }
606
606
  }
607
607
  async function runClaudeMcpDoctor() {
608
- const { diagnoseClaudeMcpConfig, formatMcpDiagnosticReport } = await import("../mcp-diagnostics-CWMVPHVC.js");
608
+ const { diagnoseClaudeMcpConfig, formatMcpDiagnosticReport } = await import("../mcp-diagnostics-TSBY62UQ.js");
609
609
  const report = diagnoseClaudeMcpConfig(os.homedir(), process.cwd(), process.env);
610
610
  console.log(formatMcpDiagnosticReport(report));
611
611
  const hasError = report.issues.some((issue) => issue.severity === "error");
@@ -70,6 +70,53 @@ test("Session scoping \u2014 all task query files import scope helper", () => {
70
70
  if (unscoped.length > 0) return `${unscoped.length} files missing scope: ${unscoped.slice(0, 3).join(", ")}`;
71
71
  return true;
72
72
  });
73
+ test("No unscoped task queries \u2014 all task queries have session scope or PK guard", () => {
74
+ let rawOutput;
75
+ try {
76
+ rawOutput = execSync(
77
+ `grep -rn -B5 -A5 "FROM.*tasks\\|UPDATE.*tasks" src/ --include="*.ts" | grep -v tasks-crud.ts | grep -v "__tests__" | grep -v ".test." | grep -v "customer-readiness" | grep -v "task-scope.ts"`,
78
+ { encoding: "utf8", cwd: ROOT }
79
+ ).trim();
80
+ } catch {
81
+ return true;
82
+ }
83
+ if (!rawOutput) return true;
84
+ const blocks = rawOutput.split(/^--$/m);
85
+ const unscoped = [];
86
+ for (const block of blocks) {
87
+ const blockLower = block.toLowerCase();
88
+ const hasScope = blockLower.includes("scope.sql") || blockLower.includes("sessionscopefilter") || blockLower.includes("strictsessionscopefilter") || blockLower.includes("session_scope") || blockLower.includes("intentionally unscoped") || blockLower.includes("audited 2026") || blockLower.includes("querytaskrows");
89
+ const isSafe = hasScope || /where\s+id\s*=\s*\?/.test(blockLower) || // PK lookup by full UUID
90
+ /where\s+task_file\s*=\s*\?/.test(blockLower) || // task_file exact match
91
+ /select\s+count\s*\(\s*\*\s*\)/.test(blockLower) || // COUNT(*) stats
92
+ /assigned_to\s*=\s*\?.*where\s+id/.test(blockLower) || // UPDATE by PK
93
+ /parent_task_id\s*=\s*\?/.test(blockLower) || // Cascade by parent PK
94
+ /blocked_by\s*=\s*\w+\.id/.test(blockLower) || // JOIN on PK (auto-unblock)
95
+ /project_name\s*=\s*'/.test(blockLower) || // Migration: hardcoded project rename
96
+ /device_id\s*is\s*null/.test(blockLower) || // Migration: backfill device_id
97
+ /status\s*=\s*'completed'/.test(blockLower) || // Migration: status rename
98
+ /status\s*=\s*'done'.*result\s*is\s*not\s*null/.test(blockLower) || // Migration: bulk close
99
+ blockLower.includes("conditions.join") || // Dynamic WHERE builder (git-task-sweep)
100
+ blockLower.includes("exe-rename") || // Rename is intentionally global
101
+ blockLower.includes("cleanup-stale") || // One-time legacy cleanup script
102
+ blockLower.includes("title like") || // Cascade cleanup by title pattern
103
+ blockLower.includes("assigned_to is null");
104
+ if (!isSafe) {
105
+ const queryLine = block.split("\n").find(
106
+ (l) => /FROM.*tasks|UPDATE.*tasks/i.test(l) && !l.trim().startsWith("//") && !l.trim().startsWith("*")
107
+ );
108
+ if (queryLine) {
109
+ const match = queryLine.match(/^([^:]+):(\d+)/);
110
+ if (match) unscoped.push(`${match[1]}:${match[2]}`);
111
+ }
112
+ }
113
+ }
114
+ const unique = [...new Set(unscoped)];
115
+ if (unique.length > 0) {
116
+ return `${unique.length} unscoped task quer${unique.length === 1 ? "y" : "ies"}: ${unique.slice(0, 5).join(", ")}${unique.length > 5 ? ` (+${unique.length - 5} more)` : ""}`;
117
+ }
118
+ return true;
119
+ });
73
120
  test("Platform procedures \u2014 shipped as code (not DB only)", () => {
74
121
  const procs = readSrc("src/lib/platform-procedures.ts");
75
122
  const count = (procs.match(/title:/g) || []).length;
@@ -6,18 +6,18 @@ import {
6
6
  getAgentRuntime,
7
7
  loadAgentConfig,
8
8
  setAgentRuntime
9
- } from "../chunk-G3VR3MJI.js";
9
+ } from "../chunk-KIUU4PNX.js";
10
10
  import {
11
11
  DEFAULT_RUNTIME
12
12
  } from "../chunk-NGP6LSV2.js";
13
13
  import {
14
14
  loadEmployeesSync
15
- } from "../chunk-NA3MXUU6.js";
16
- import "../chunk-6BUUY7FG.js";
15
+ } from "../chunk-TH6HTK2L.js";
16
+ import "../chunk-EOO32RJZ.js";
17
17
  import "../chunk-FXU7JOXK.js";
18
- import "../chunk-KHV55ME4.js";
19
- import "../chunk-GCMT6RWI.js";
20
- import "../chunk-PNKVD2UK.js";
18
+ import "../chunk-TOWAZ5IV.js";
19
+ import "../chunk-LYH5HE24.js";
20
+ import "../chunk-MLKGABMK.js";
21
21
 
22
22
  // src/bin/exe-agent-config.ts
23
23
  function showAll() {
@@ -19,9 +19,9 @@ import {
19
19
  } from "../chunk-TMEE7AT7.js";
20
20
  import {
21
21
  getSessionPrompt
22
- } from "../chunk-53VUIKOE.js";
23
- import "../chunk-ER3UJ2VL.js";
24
- import "../chunk-MPXPPKJ4.js";
22
+ } from "../chunk-3MLGUSKS.js";
23
+ import "../chunk-UPMKSFBU.js";
24
+ import "../chunk-XWQKCCCO.js";
25
25
  import {
26
26
  createTerminalRenderer,
27
27
  renderAgentEvents
@@ -48,12 +48,12 @@ import {
48
48
  AnthropicProvider,
49
49
  OpenAICompatProvider
50
50
  } from "../chunk-ECGTESAP.js";
51
- import "../chunk-NA3MXUU6.js";
52
- import "../chunk-6BUUY7FG.js";
51
+ import "../chunk-TH6HTK2L.js";
52
+ import "../chunk-EOO32RJZ.js";
53
53
  import "../chunk-FXU7JOXK.js";
54
- import "../chunk-KHV55ME4.js";
55
- import "../chunk-GCMT6RWI.js";
56
- import "../chunk-PNKVD2UK.js";
54
+ import "../chunk-TOWAZ5IV.js";
55
+ import "../chunk-LYH5HE24.js";
56
+ import "../chunk-MLKGABMK.js";
57
57
 
58
58
  // src/bin/exe-agent.ts
59
59
  import { createInterface } from "readline";
@@ -1,36 +1,36 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  embed
4
- } from "../chunk-BY4OTURZ.js";
5
- import "../chunk-S465RWY7.js";
4
+ } from "../chunk-4MN44ORL.js";
5
+ import "../chunk-W6SKR3HZ.js";
6
6
  import "../chunk-3H4VU65X.js";
7
- import "../chunk-5WTYETQO.js";
7
+ import "../chunk-K4KAPZC7.js";
8
8
  import {
9
9
  flushBatch,
10
10
  initStore,
11
11
  searchMemories,
12
12
  writeMemory
13
- } from "../chunk-7APRWURX.js";
14
- import "../chunk-D5MPHVWH.js";
13
+ } from "../chunk-Y6TS42WD.js";
14
+ import "../chunk-524VLFFY.js";
15
15
  import {
16
16
  createAssignmentMemory,
17
17
  formatAssignmentOutput,
18
18
  routeTask
19
- } from "../chunk-W7NQE65M.js";
19
+ } from "../chunk-LJML7HT2.js";
20
20
  import "../chunk-MP2AFCGL.js";
21
21
  import {
22
22
  getEmployee,
23
23
  loadEmployees
24
- } from "../chunk-NA3MXUU6.js";
25
- import "../chunk-6BUUY7FG.js";
24
+ } from "../chunk-TH6HTK2L.js";
25
+ import "../chunk-EOO32RJZ.js";
26
26
  import "../chunk-FXU7JOXK.js";
27
27
  import "../chunk-6D23UNXU.js";
28
- import "../chunk-KHV55ME4.js";
29
- import "../chunk-GCMT6RWI.js";
28
+ import "../chunk-TOWAZ5IV.js";
29
+ import "../chunk-LYH5HE24.js";
30
30
  import {
31
31
  isMainModule
32
32
  } from "../chunk-6Y4B3QF6.js";
33
- import "../chunk-PNKVD2UK.js";
33
+ import "../chunk-MLKGABMK.js";
34
34
 
35
35
  // src/bin/exe-assign.ts
36
36
  async function main() {
@@ -5,17 +5,17 @@ import {
5
5
  import {
6
6
  DEFAULT_EXE,
7
7
  getSessionPrompt
8
- } from "../chunk-53VUIKOE.js";
9
- import "../chunk-ER3UJ2VL.js";
10
- import "../chunk-MPXPPKJ4.js";
8
+ } from "../chunk-3MLGUSKS.js";
9
+ import "../chunk-UPMKSFBU.js";
10
+ import "../chunk-XWQKCCCO.js";
11
11
  import {
12
12
  cleanupSessionMarkers,
13
13
  writeActiveAgent
14
- } from "../chunk-BXCJOACQ.js";
14
+ } from "../chunk-NFHFNPTN.js";
15
15
  import {
16
16
  initStore
17
- } from "../chunk-7APRWURX.js";
18
- import "../chunk-D5MPHVWH.js";
17
+ } from "../chunk-Y6TS42WD.js";
18
+ import "../chunk-524VLFFY.js";
19
19
  import {
20
20
  cleanupOldNotifications,
21
21
  getMySession,
@@ -26,7 +26,7 @@ import {
26
26
  resolveExeSession,
27
27
  sessionScopeFilter,
28
28
  updateTaskStatus
29
- } from "../chunk-H4YONWQX.js";
29
+ } from "../chunk-ONMRBKAX.js";
30
30
  import "../chunk-LOQCOHEW.js";
31
31
  import "../chunk-TXSJ2L5O.js";
32
32
  import {
@@ -37,13 +37,14 @@ import "../chunk-3TXOH3SJ.js";
37
37
  import "../chunk-RLCZBSUB.js";
38
38
  import "../chunk-GZIAQYGI.js";
39
39
  import "../chunk-ZQX6UOP6.js";
40
- import "../chunk-G3VR3MJI.js";
40
+ import "../chunk-KIUU4PNX.js";
41
41
  import "../chunk-NGP6LSV2.js";
42
- import "../chunk-XEA6DSLR.js";
42
+ import "../chunk-AERGE6GC.js";
43
+ import "../chunk-OPU3NYOO.js";
43
44
  import "../chunk-CVYC6DUW.js";
44
45
  import "../chunk-GJV3WDWM.js";
45
46
  import "../chunk-MP2AFCGL.js";
46
- import "../chunk-Y2VVTK2E.js";
47
+ import "../chunk-DTLASDQM.js";
47
48
  import "../chunk-HYZV25LY.js";
48
49
  import {
49
50
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
@@ -52,22 +53,21 @@ import {
52
53
  isCoordinatorName,
53
54
  loadEmployees,
54
55
  saveEmployees
55
- } from "../chunk-NA3MXUU6.js";
56
- import "../chunk-6BUUY7FG.js";
56
+ } from "../chunk-TH6HTK2L.js";
57
+ import "../chunk-EOO32RJZ.js";
57
58
  import "../chunk-FXU7JOXK.js";
58
59
  import "../chunk-6D23UNXU.js";
59
- import "../chunk-I5VJNTDL.js";
60
+ import "../chunk-NNT2ZNMC.js";
60
61
  import {
61
62
  EXE_AI_DIR,
62
- init_config,
63
63
  loadConfig,
64
64
  loadConfigSync
65
- } from "../chunk-KHV55ME4.js";
66
- import "../chunk-GCMT6RWI.js";
65
+ } from "../chunk-TOWAZ5IV.js";
66
+ import "../chunk-LYH5HE24.js";
67
67
  import {
68
68
  isMainModule
69
69
  } from "../chunk-6Y4B3QF6.js";
70
- import "../chunk-PNKVD2UK.js";
70
+ import "../chunk-MLKGABMK.js";
71
71
 
72
72
  // src/bin/exe-boot.ts
73
73
  import path from "path";
@@ -75,7 +75,6 @@ import { mkdir, writeFile } from "fs/promises";
75
75
  import { existsSync, readFileSync, readdirSync, unlinkSync } from "fs";
76
76
  import { execSync } from "child_process";
77
77
  import os from "os";
78
- init_config();
79
78
  async function boot(options) {
80
79
  const briefOnly = options?.briefOnly ?? false;
81
80
  let employees = await loadEmployees();
@@ -145,20 +144,22 @@ async function boot(options) {
145
144
  }
146
145
  if (!briefOnly) {
147
146
  await migrateJsonNotifications();
148
- await markDoneTaskNotificationsAsRead();
147
+ await markDoneTaskNotificationsAsRead(briefData.exeSession);
149
148
  try {
149
+ const orphanScope = sessionScopeFilter();
150
150
  await client.execute({
151
151
  sql: `DELETE FROM notifications
152
152
  WHERE task_file IS NOT NULL
153
- AND task_file NOT IN (SELECT task_file FROM tasks WHERE task_file IS NOT NULL)`,
154
- args: []
153
+ AND task_file NOT IN (SELECT task_file FROM tasks WHERE task_file IS NOT NULL)
154
+ ${orphanScope.sql}`,
155
+ args: [...orphanScope.args]
155
156
  });
156
157
  } catch {
157
158
  }
158
159
  try {
159
160
  const { readdirSync: readdirSync2, readFileSync: readFs } = await import("fs");
160
- const { STATUS_RE, PRIORITY_RE, TITLE_RE } = await import("../task-scanner-YHWRG4ZJ.js");
161
- const { getProjectName } = await import("../project-name-OBIDABHE.js");
161
+ const { STATUS_RE, PRIORITY_RE, TITLE_RE } = await import("../task-scanner-QEM5CO2Y.js");
162
+ const { getProjectName } = await import("../project-name-EWG5KAZP.js");
162
163
  const exeDir = "exe";
163
164
  const entries = readdirSync2(exeDir, { withFileTypes: true });
164
165
  const employeeDirs = entries.filter((e) => e.isDirectory() && !["output", "research"].includes(e.name));
@@ -220,13 +221,15 @@ async function boot(options) {
220
221
  process.stderr.write("[exe-boot] task reconciliation: " + (e instanceof Error ? e.message : String(e)) + "\n");
221
222
  }
222
223
  try {
224
+ const staleRevScope = sessionScopeFilter();
223
225
  await client.execute({
224
226
  sql: `UPDATE tasks SET status = 'done', updated_at = ?
225
227
  WHERE (assigned_to = ? OR assigned_to = ?)
226
228
  AND status = 'in_progress'
227
229
  AND task_file LIKE '%review-%'
228
- AND updated_at < datetime('now', '-1 hour')`,
229
- args: [(/* @__PURE__ */ new Date()).toISOString(), coordinatorName, DEFAULT_COORDINATOR_TEMPLATE_NAME]
230
+ AND updated_at < datetime('now', '-1 hour')
231
+ ${staleRevScope.sql}`,
232
+ args: [(/* @__PURE__ */ new Date()).toISOString(), coordinatorName, DEFAULT_COORDINATOR_TEMPLATE_NAME, ...staleRevScope.args]
230
233
  });
231
234
  } catch {
232
235
  }
@@ -508,12 +511,14 @@ async function boot(options) {
508
511
  ORDER BY completed DESC`,
509
512
  args: [...vScope.args]
510
513
  });
514
+ const errScope = sessionScopeFilter();
511
515
  const errorResult = await client.execute({
512
516
  sql: `SELECT agent_id, COUNT(*) as error_count
513
517
  FROM notifications
514
518
  WHERE event = 'error_spike' AND created_at > datetime('now', '-7 days')
519
+ ${errScope.sql}
515
520
  GROUP BY agent_id`,
516
- args: []
521
+ args: [...errScope.args]
517
522
  });
518
523
  const errorMap = /* @__PURE__ */ new Map();
519
524
  for (const row of errorResult.rows) {
@@ -566,11 +571,13 @@ async function boot(options) {
566
571
  // Failed messages
567
572
  (async () => {
568
573
  try {
574
+ const failScope = sessionScopeFilter();
569
575
  const result = await client.execute({
570
576
  sql: `SELECT id, target_agent, content, failure_reason
571
577
  FROM messages WHERE status = 'failed'
578
+ ${failScope.sql}
572
579
  ORDER BY created_at DESC LIMIT 10`,
573
- args: []
580
+ args: [...failScope.args]
574
581
  });
575
582
  briefData.failedMessages = result.rows.map((row) => ({
576
583
  id: row.id,
@@ -601,7 +608,7 @@ async function boot(options) {
601
608
  (async () => {
602
609
  const pScope = sessionScopeFilter();
603
610
  try {
604
- const { getProjectName } = await import("../project-name-OBIDABHE.js");
611
+ const { getProjectName } = await import("../project-name-EWG5KAZP.js");
605
612
  const currentProject = getProjectName(process.cwd());
606
613
  const result = await client.execute({
607
614
  sql: `SELECT p.project_name,
@@ -768,7 +775,7 @@ async function boot(options) {
768
775
  // Recent completed tasks for current project + git commits
769
776
  (async () => {
770
777
  try {
771
- const { getProjectName } = await import("../project-name-OBIDABHE.js");
778
+ const { getProjectName } = await import("../project-name-EWG5KAZP.js");
772
779
  const currentProject = getProjectName(process.cwd());
773
780
  briefData.currentProject = currentProject;
774
781
  const rctScope = sessionScopeFilter();
@@ -921,7 +928,7 @@ async function boot(options) {
921
928
  };
922
929
  if (nullCount > 0) {
923
930
  try {
924
- const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-3KDXLIJC.js");
931
+ const { tryAcquireWorkerSlot, registerWorkerPid } = await import("../worker-gate-Q5Y6B5N7.js");
925
932
  if (!tryAcquireWorkerSlot()) {
926
933
  process.stderr.write("[exe-boot] Backfill needed but worker gate full \u2014 skipping\n");
927
934
  } else {
@@ -972,7 +979,7 @@ async function boot(options) {
972
979
  } catch {
973
980
  }
974
981
  try {
975
- const { countKillsSince } = await import("../session-kill-telemetry-MUFET632.js");
982
+ const { countKillsSince } = await import("../session-kill-telemetry-DHSQV2CI.js");
976
983
  const { listSessions: listRegistrySessions } = await import("../lib/session-registry.js");
977
984
  const todayStart = /* @__PURE__ */ new Date();
978
985
  todayStart.setHours(0, 0, 0, 0);
@@ -1053,7 +1060,7 @@ async function updateIdleKillSuspectStreak(client, killsToday, liveSessions, tod
1053
1060
  IDLE_KILL_STREAK_META_KEY,
1054
1061
  computeIdleKillSuspectStreak,
1055
1062
  parseStreakState
1056
- } = await import("../session-kill-telemetry-MUFET632.js");
1063
+ } = await import("../session-kill-telemetry-DHSQV2CI.js");
1057
1064
  const prevResult = await client.execute({
1058
1065
  sql: "SELECT value FROM sync_meta WHERE key = ?",
1059
1066
  args: [IDLE_KILL_STREAK_META_KEY]
@@ -1,26 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getSessionPrompt
4
- } from "../chunk-53VUIKOE.js";
5
- import "../chunk-ER3UJ2VL.js";
6
- import "../chunk-MPXPPKJ4.js";
4
+ } from "../chunk-3MLGUSKS.js";
5
+ import "../chunk-UPMKSFBU.js";
6
+ import "../chunk-XWQKCCCO.js";
7
7
  import {
8
8
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
9
9
  getCoordinatorName,
10
10
  getEmployee,
11
11
  loadEmployees
12
- } from "../chunk-NA3MXUU6.js";
13
- import "../chunk-6BUUY7FG.js";
12
+ } from "../chunk-TH6HTK2L.js";
13
+ import "../chunk-EOO32RJZ.js";
14
14
  import "../chunk-FXU7JOXK.js";
15
15
  import {
16
- EXE_AI_DIR,
17
- init_config
18
- } from "../chunk-KHV55ME4.js";
19
- import "../chunk-GCMT6RWI.js";
16
+ EXE_AI_DIR
17
+ } from "../chunk-TOWAZ5IV.js";
18
+ import "../chunk-LYH5HE24.js";
20
19
  import {
21
20
  isMainModule
22
21
  } from "../chunk-6Y4B3QF6.js";
23
- import "../chunk-PNKVD2UK.js";
22
+ import "../chunk-MLKGABMK.js";
24
23
 
25
24
  // src/bin/exe-call.ts
26
25
  import path from "path";
@@ -28,7 +27,6 @@ import { existsSync, readFileSync } from "fs";
28
27
  import { mkdir, writeFile } from "fs/promises";
29
28
  import { execSync } from "child_process";
30
29
  import { fileURLToPath } from "url";
31
- init_config();
32
30
  function resolveEmployee(name, employees) {
33
31
  const resolved = name || getCoordinatorName(employees);
34
32
  const employee = getEmployee(employees, resolved);