@askexenow/exe-os 0.9.239 → 0.9.243

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 (316) hide show
  1. package/deploy/compose/.env.customer.example +12 -0
  2. package/deploy/compose/.env.example +13 -1
  3. package/deploy/compose/cloudflared/config.yml.example +23 -4
  4. package/deploy/compose/docker-compose.yml +27 -7
  5. package/deploy/compose/generate-env.ts +49 -1
  6. package/deploy/compose/init-db.sql +10 -2
  7. package/deploy/stack-manifests/v0.9.json +113 -9
  8. package/dist/{active-agent-7MIVNARP.js → active-agent-KO4ZWDXE.js} +4 -4
  9. package/dist/{active-agent-55C5Y3XL.js → active-agent-KP2O52HA.js} +4 -4
  10. package/dist/{agentic-ontology-NCAQIQQI.js → agentic-ontology-DXE5J6I5.js} +1 -1
  11. package/dist/{backfill-metadata-3JP7EZ2U.js → backfill-metadata-DFTIGPXP.js} +7 -7
  12. package/dist/{background-jobs-RWL46VRD.js → background-jobs-CRXY7T4Y.js} +2 -2
  13. package/dist/{behaviors-6BGALYGW.js → behaviors-BL3QCHBT.js} +4 -4
  14. package/dist/bin/age-ontology-load.js +2 -2
  15. package/dist/bin/agentic-ontology-backfill.js +9 -9
  16. package/dist/bin/agentic-reflection-backfill.js +10 -10
  17. package/dist/bin/agentic-semantic-label.js +9 -9
  18. package/dist/bin/backfill-conversations.js +9 -9
  19. package/dist/bin/backfill-responses.js +9 -9
  20. package/dist/bin/backfill-vectors.js +11 -11
  21. package/dist/bin/bulk-sync-postgres.js +10 -10
  22. package/dist/bin/cc-doctor.js +3 -3
  23. package/dist/bin/cleanup-stale-review-tasks.js +13 -13
  24. package/dist/bin/cli.js +27 -22
  25. package/dist/bin/exe-agent-config.js +4 -4
  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 +22 -22
  29. package/dist/bin/exe-call.js +5 -5
  30. package/dist/bin/exe-cloud.js +8 -8
  31. package/dist/bin/exe-dispatch.js +13 -13
  32. package/dist/bin/exe-doctor.js +1 -1
  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 +8 -8
  36. package/dist/bin/exe-healthcheck.js +3 -3
  37. package/dist/bin/exe-heartbeat.js +13 -13
  38. package/dist/bin/exe-kill.js +18 -18
  39. package/dist/bin/exe-launch-agent.js +22 -22
  40. package/dist/bin/exe-new-employee.js +8 -8
  41. package/dist/bin/exe-pending-messages.js +14 -14
  42. package/dist/bin/exe-pending-notifications.js +13 -13
  43. package/dist/bin/exe-pending-reviews.js +13 -13
  44. package/dist/bin/exe-rename.js +5 -5
  45. package/dist/bin/exe-review.js +17 -17
  46. package/dist/bin/exe-search.js +8 -8
  47. package/dist/bin/exe-session-cleanup.js +20 -20
  48. package/dist/bin/exe-settings.js +7 -7
  49. package/dist/bin/exe-start-codex.js +14 -14
  50. package/dist/bin/exe-start-opencode.js +11 -11
  51. package/dist/bin/exe-status.js +14 -14
  52. package/dist/bin/exe-support.js +3 -3
  53. package/dist/bin/exe-team.js +4 -4
  54. package/dist/bin/git-sweep.js +13 -13
  55. package/dist/bin/graph-backfill.js +8 -8
  56. package/dist/bin/graph-export.js +8 -8
  57. package/dist/bin/import-history.js +10 -10
  58. package/dist/bin/install.js +7 -7
  59. package/dist/bin/intercom-check.js +4 -4
  60. package/dist/bin/mcp-sessions.js +2 -2
  61. package/dist/bin/orchestration-metrics.js +5 -5
  62. package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
  63. package/dist/bin/postgres-agentic-semantic-backfill.js +3 -3
  64. package/dist/bin/scan-tasks.js +13 -13
  65. package/dist/bin/setup.js +3 -3
  66. package/dist/bin/shard-migrate.js +8 -8
  67. package/dist/bin/stack-update.js +324 -20
  68. package/dist/bin/verify-stack.js +3 -383
  69. package/dist/bin/vps-backup.js +8 -160
  70. package/dist/bin/vps-health-gate.js +10 -220
  71. package/dist/{branding-I7YYX4FM.js → branding-XWMO5EDR.js} +1 -1
  72. package/dist/{capacity-monitor-IFCZKRPG.js → capacity-monitor-4CSBC7AP.js} +14 -14
  73. package/dist/{catchup-brief-PIDRWXOW.js → catchup-brief-LF5Z6Q6E.js} +17 -17
  74. package/dist/{chunk-FGJUGDNM.js → chunk-222SI7QC.js} +14 -14
  75. package/dist/{chunk-JZMVLAZ2.js → chunk-2WBBVEIB.js} +1 -1
  76. package/dist/{chunk-JDOE33C2.js → chunk-3V53HH5T.js} +4 -4
  77. package/dist/{chunk-2KZSKURT.js → chunk-57SULZJ2.js} +3 -3
  78. package/dist/{chunk-QI4IXJN7.js → chunk-5CHYEKMH.js} +7 -4
  79. package/dist/chunk-5DMAMQNU.js +168 -0
  80. package/dist/{chunk-PLQAFB3Z.js → chunk-5JIG2FP2.js} +1 -1
  81. package/dist/{chunk-UWQ3XCDG.js → chunk-5WK7X5CF.js} +2 -2
  82. package/dist/{chunk-DDPAQ4LT.js → chunk-6JAGJN77.js} +2 -2
  83. package/dist/{chunk-7F37NMKB.js → chunk-73UE2PHT.js} +1 -1
  84. package/dist/{chunk-JL3K5OTS.js → chunk-7IZWLMTP.js} +1 -1
  85. package/dist/{chunk-ELRRL2NC.js → chunk-A4K2ZT6N.js} +4 -4
  86. package/dist/{chunk-GWYADLIW.js → chunk-AHXEU5XB.js} +1 -1
  87. package/dist/{chunk-WSHMBME6.js → chunk-AWRL5FGM.js} +19 -78
  88. package/dist/{chunk-OMPCFLWA.js → chunk-BSPOEYAO.js} +1 -1
  89. package/dist/{chunk-DHVC4RN7.js → chunk-CBDPEJOR.js} +5 -5
  90. package/dist/{chunk-2H55BIV2.js → chunk-CEJO7244.js} +2 -2
  91. package/dist/{chunk-FKWZVO2T.js → chunk-CPXGLSIL.js} +3 -3
  92. package/dist/{chunk-HX5G4AS4.js → chunk-CWITU7DW.js} +2 -2
  93. package/dist/{chunk-5GG7MTRJ.js → chunk-DGBGIXCC.js} +4 -4
  94. package/dist/{chunk-IQXPMK46.js → chunk-DLZYAYVM.js} +60 -14
  95. package/dist/{chunk-PPYWQV2M.js → chunk-DR5BGWFR.js} +2 -2
  96. package/dist/{chunk-BZWKTFEB.js → chunk-ENVRFBTB.js} +2 -2
  97. package/dist/{chunk-DUVO2PUJ.js → chunk-F3GM6OOP.js} +4 -4
  98. package/dist/{chunk-HNLPLLE6.js → chunk-F7JLZXHC.js} +60 -26
  99. package/dist/{chunk-AL4DRC5H.js → chunk-FFLILAG6.js} +1 -1
  100. package/dist/{chunk-BZNI4OK5.js → chunk-GHEWRYMY.js} +18 -2
  101. package/dist/{chunk-C7SFJO5F.js → chunk-GHT4REOS.js} +5 -5
  102. package/dist/{chunk-FBWUJEXS.js → chunk-HANG6NLF.js} +4 -6
  103. package/dist/{chunk-5NJ4A4ZA.js → chunk-HCBMPZDT.js} +1 -1
  104. package/dist/chunk-HOGTZLVU.js +244 -0
  105. package/dist/{chunk-IQSCZDBQ.js → chunk-I5PIBL56.js} +3 -3
  106. package/dist/chunk-IRHNV4GY.js +388 -0
  107. package/dist/{chunk-F4TCKCKK.js → chunk-ITZVPCBQ.js} +33 -12
  108. package/dist/{chunk-4HROS3GJ.js → chunk-IZVKWBIP.js} +1 -1
  109. package/dist/{chunk-DKI5BTBC.js → chunk-J7V7LPPX.js} +2 -2
  110. package/dist/{chunk-TOZ5NN5V.js → chunk-JLKUVK5J.js} +1 -1
  111. package/dist/{chunk-4SC65UBG.js → chunk-JLNXKG3K.js} +1 -1
  112. package/dist/{chunk-KVSQOG3W.js → chunk-K2BDE2B5.js} +4 -4
  113. package/dist/{chunk-KDJRFJDL.js → chunk-K333WOW4.js} +30 -2
  114. package/dist/{chunk-6LBCUA2A.js → chunk-KEZXW3RP.js} +1 -1
  115. package/dist/{chunk-W7G3GY4I.js → chunk-KLQI7QY4.js} +3 -3
  116. package/dist/{chunk-UODVZGBQ.js → chunk-KN7LPTIB.js} +1 -1
  117. package/dist/{chunk-ESKBZN4Q.js → chunk-L4WRH3DL.js} +1 -1
  118. package/dist/{chunk-VFQKKMKE.js → chunk-LAOB5BKV.js} +2 -2
  119. package/dist/{chunk-MAN5LZQ4.js → chunk-LQSFP2BV.js} +1 -1
  120. package/dist/{chunk-EJ7LOTV2.js → chunk-LSFHEMVI.js} +9 -9
  121. package/dist/{chunk-RA2RO27E.js → chunk-MCESA5UW.js} +2 -2
  122. package/dist/{chunk-UPMHG7ET.js → chunk-MEIHREPM.js} +1 -1
  123. package/dist/{chunk-D5C56WO3.js → chunk-MOZ2YQ54.js} +1 -1
  124. package/dist/{chunk-CLGB3FGL.js → chunk-MPX3TRMQ.js} +2 -2
  125. package/dist/{chunk-5R75ODPS.js → chunk-NBY6R37W.js} +61 -232
  126. package/dist/{chunk-RWFGXC35.js → chunk-NEYQAEYU.js} +7 -7
  127. package/dist/{chunk-MBHZDXGN.js → chunk-NL35XNLI.js} +1 -1
  128. package/dist/{chunk-TPQVLYSV.js → chunk-NLGMHPEN.js} +1 -1
  129. package/dist/{chunk-5LMH4YHG.js → chunk-NRVV4Y5V.js} +4 -4
  130. package/dist/{chunk-GN5VHPPR.js → chunk-NVZR7T4E.js} +1 -1
  131. package/dist/{chunk-Y2L7RMGH.js → chunk-NWBHL5PI.js} +1 -1
  132. package/dist/{chunk-YPYDLW75.js → chunk-OEMX65EA.js} +1 -1
  133. package/dist/{chunk-UAFUGPKO.js → chunk-ONAQAL3O.js} +1 -1
  134. package/dist/{chunk-AVM7XZE4.js → chunk-OWQ3CCYJ.js} +7 -6
  135. package/dist/{chunk-K525WLL7.js → chunk-PI6V23GF.js} +5 -4
  136. package/dist/{chunk-AURM7FOT.js → chunk-Q2OAQPWY.js} +1 -1
  137. package/dist/{chunk-FB5VRO5S.js → chunk-QLDWASTX.js} +28 -32
  138. package/dist/{chunk-EPWDTS2Q.js → chunk-QMTGMCWB.js} +1 -1
  139. package/dist/{chunk-VI2FJY2M.js → chunk-QP4FHME2.js} +2 -2
  140. package/dist/{chunk-NJWK6J4N.js → chunk-QUNKPR6Y.js} +5 -5
  141. package/dist/{chunk-O6DAF2TY.js → chunk-QUZVAHO7.js} +2 -2
  142. package/dist/{chunk-VHKL4S4T.js → chunk-RRHSONV5.js} +2 -2
  143. package/dist/{chunk-GPF6X6HE.js → chunk-RYDHEWYY.js} +2 -2
  144. package/dist/{chunk-C2YS2AA6.js → chunk-U7WOVXBB.js} +2 -2
  145. package/dist/chunk-UIRWDGMB.js +230 -0
  146. package/dist/{chunk-FE45RXGC.js → chunk-V2GZMY6O.js} +1 -1
  147. package/dist/{chunk-PATCHPNY.js → chunk-VHALWCUO.js} +1 -1
  148. package/dist/{chunk-HLZSC5WK.js → chunk-VQAP35DA.js} +20 -18
  149. package/dist/{chunk-452XB7OZ.js → chunk-VRIMTCX2.js} +1 -1
  150. package/dist/{chunk-SUNYJ6YE.js → chunk-VT2B5BHM.js} +1 -1
  151. package/dist/{chunk-UZIJDYDA.js → chunk-VWVJVQDH.js} +2 -2
  152. package/dist/{chunk-TRZ5KA2R.js → chunk-VXIMSRTO.js} +2 -2
  153. package/dist/{chunk-DAZIV4QZ.js → chunk-WCXZF42W.js} +1 -1
  154. package/dist/{chunk-6OJJF4WP.js → chunk-XJUUWHVN.js} +1 -1
  155. package/dist/{chunk-F7LU65PQ.js → chunk-Y25OJWOQ.js} +14 -2
  156. package/dist/{chunk-2ORPA23Y.js → chunk-YMXXD2GW.js} +36 -8
  157. package/dist/{chunk-5WLMF6PL.js → chunk-YMZHTTOQ.js} +1 -1
  158. package/dist/{chunk-7DIDOQCX.js → chunk-YRVW57UW.js} +139 -125
  159. package/dist/{chunk-BRFH5X7G.js → chunk-Z7VDUS6L.js} +1 -1
  160. package/dist/{chunk-YFE6W75D.js → chunk-ZKFPHJIJ.js} +1 -1
  161. package/dist/{chunk-5WUTKDH6.js → chunk-ZVXJSQOR.js} +1 -1
  162. package/dist/{co-activation-VB4CJQZB.js → co-activation-L6I2LSJO.js} +3 -3
  163. package/dist/{co-occurrence-XZQJJIBM.js → co-occurrence-QARWYUAY.js} +3 -3
  164. package/dist/{code-context-index-FCQOPUEA.js → code-context-index-UIYQRDHD.js} +4 -4
  165. package/dist/{content-extractor-SPSH5X33.js → content-extractor-EYRVGD6O.js} +2 -2
  166. package/dist/{conversation-wiki-populator-YU35LNRK.js → conversation-wiki-populator-L7O6F3BB.js} +1 -1
  167. package/dist/{crdt-sync-KXETGV45.js → crdt-sync-R6YROKDH.js} +1 -1
  168. package/dist/{crm-webhook-JMOAHTJ6.js → crm-webhook-WK3PYJJK.js} +2 -2
  169. package/dist/{cto-delegation-gate-IJ3KQIKF.js → cto-delegation-gate-5JZORQIT.js} +12 -12
  170. package/dist/{daemon-auth-2IZACWSG.js → daemon-auth-2HEOL6VG.js} +2 -2
  171. package/dist/{daemon-orchestration-ZCY4GEI3.js → daemon-orchestration-BJ3T5MMF.js} +16 -15
  172. package/dist/{db-backup-HLX5OLIV.js → db-backup-EWS52P2W.js} +2 -2
  173. package/dist/{dreaming-2CJML3TU.js → dreaming-BOSBDRI3.js} +13 -13
  174. package/dist/{entity-boost-T5IYWWDZ.js → entity-boost-6ZVX7DFB.js} +26 -2
  175. package/dist/{exe-drift-P5OIRNSH.js → exe-drift-WRE6RADZ.js} +4 -4
  176. package/dist/{exe-export-QQL2H322.js → exe-export-7N5PBCMK.js} +8 -8
  177. package/dist/{exe-import-V4RJCUEP.js → exe-import-YOOE7S3H.js} +8 -8
  178. package/dist/{exe-key-MENJGDD7.js → exe-key-GXJSTCX2.js} +4 -4
  179. package/dist/{exe-org-3FNET2J7.js → exe-org-42YMQL75.js} +2 -2
  180. package/dist/{exe-snapshot-YRARQE7F.js → exe-snapshot-ODUCFW7G.js} +18 -18
  181. package/dist/{fast-db-init-HIJWWKAO.js → fast-db-init-YSR7RMVZ.js} +1 -1
  182. package/dist/{founder-context-BQ5NBDUV.js → founder-context-Q2HUCZX4.js} +2 -2
  183. package/dist/gateway/index.js +9 -9
  184. package/dist/{gateway-client-YGSA5QMC.js → gateway-client-4QXHKN5C.js} +1 -1
  185. package/dist/{git-staleness-IHTKCUMN.js → git-staleness-BJDTCDPC.js} +3 -3
  186. package/dist/{git-task-sweep-5ZPNQS7Y.js → git-task-sweep-L3U3T5HM.js} +13 -13
  187. package/dist/{global-procedures-XHDIZRJU.js → global-procedures-HCHEHKY2.js} +4 -4
  188. package/dist/{graph-auto-extract-5TPT67GP.js → graph-auto-extract-FP5C76LS.js} +3 -3
  189. package/dist/{hook-integrity-SB53Y7UK.js → hook-integrity-2OU3T6UC.js} +1 -1
  190. package/dist/hooks/bug-report-worker.js +15 -14
  191. package/dist/hooks/codex-stop-task-finalizer.js +15 -14
  192. package/dist/hooks/commit-complete.js +16 -16
  193. package/dist/hooks/error-recall.js +10 -10
  194. package/dist/hooks/exe-heartbeat-hook.js +5 -5
  195. package/dist/hooks/ingest-worker.js +8 -8
  196. package/dist/hooks/ingest.js +13 -13
  197. package/dist/hooks/instructions-loaded.js +7 -7
  198. package/dist/hooks/manifest.json +20 -20
  199. package/dist/hooks/notification.js +6 -6
  200. package/dist/hooks/post-compact.js +15 -15
  201. package/dist/hooks/post-tool-combined.js +7 -7
  202. package/dist/hooks/pre-compact.js +20 -20
  203. package/dist/hooks/pre-tool-use.js +28 -25
  204. package/dist/hooks/prompt-submit.js +62 -31
  205. package/dist/hooks/session-end.js +26 -26
  206. package/dist/hooks/session-start.js +39 -15
  207. package/dist/hooks/stop.js +22 -22
  208. package/dist/hooks/subagent-stop.js +15 -15
  209. package/dist/hooks/summary-worker.js +32 -27
  210. package/dist/index.js +21 -21
  211. package/dist/{installer-AMZM4MLS.js → installer-AWMUCRN4.js} +7 -7
  212. package/dist/{installer-KT5FW4CN.js → installer-HB3NH6FG.js} +9 -9
  213. package/dist/{installer-HW74W3IT.js → installer-RU6EVOBL.js} +6 -6
  214. package/dist/{intercom-queue-RNM6EPGA.js → intercom-queue-A6UJEFIF.js} +1 -1
  215. package/dist/{key-backup-status-OZ2CXUDW.js → key-backup-status-4YKCV4ZV.js} +1 -1
  216. package/dist/lib/agent-config.js +2 -2
  217. package/dist/lib/cloud-sync.js +10 -8
  218. package/dist/lib/config.js +1 -1
  219. package/dist/lib/consolidation.js +8 -8
  220. package/dist/lib/database.js +3 -3
  221. package/dist/lib/db-daemon-client.js +3 -3
  222. package/dist/lib/db.js +3 -3
  223. package/dist/lib/device-registry.js +1 -1
  224. package/dist/lib/embedder.js +4 -4
  225. package/dist/lib/employee-templates.js +5 -5
  226. package/dist/lib/employees.js +3 -3
  227. package/dist/lib/exe-daemon-client.js +3 -3
  228. package/dist/lib/exe-daemon.js +105 -74
  229. package/dist/lib/hybrid-search.js +8 -8
  230. package/dist/lib/identity.js +3 -3
  231. package/dist/lib/keychain.js +1 -1
  232. package/dist/lib/license.js +2 -2
  233. package/dist/lib/messaging.js +13 -13
  234. package/dist/lib/post-tool-memory.js +3 -3
  235. package/dist/lib/reminders.js +4 -4
  236. package/dist/lib/schedules.js +8 -8
  237. package/dist/lib/session-registry.js +5 -5
  238. package/dist/lib/skill-learning.js +5 -5
  239. package/dist/lib/store.js +7 -7
  240. package/dist/lib/task-router.js +4 -4
  241. package/dist/lib/tasks.js +14 -13
  242. package/dist/lib/tmux-routing.js +12 -12
  243. package/dist/lib/token-spend.js +4 -4
  244. package/dist/lib/ws-client.js +1 -1
  245. package/dist/{license-gate-XJDIL6OZ.js → license-gate-6JQQFBHS.js} +3 -3
  246. package/dist/mcp/register-tools.js +68 -67
  247. package/dist/mcp/server.js +70 -69
  248. package/dist/mcp/tools/complete-reminder.js +5 -5
  249. package/dist/mcp/tools/create-reminder.js +5 -5
  250. package/dist/mcp/tools/create-task.js +16 -15
  251. package/dist/mcp/tools/deactivate-behavior.js +6 -6
  252. package/dist/mcp/tools/list-reminders.js +5 -5
  253. package/dist/mcp/tools/list-tasks.js +16 -15
  254. package/dist/mcp/tools/send-message.js +15 -15
  255. package/dist/mcp/tools/update-task.js +15 -14
  256. package/dist/{mcp-http-config-BXX3RZPR.js → mcp-http-config-XIJR5P2Z.js} +4 -4
  257. package/dist/{memory-cards-KRTP5GFM.js → memory-cards-H4BJJ5OK.js} +3 -3
  258. package/dist/{memory-graph-extractor-G532PUHC.js → memory-graph-extractor-SDGM3GVR.js} +4 -4
  259. package/dist/{memory-poisoning-defense-HJM3FQA3.js → memory-poisoning-defense-UVU67DGJ.js} +3 -3
  260. package/dist/{memory-queue-FTNBWLS4.js → memory-queue-FNT5WHXP.js} +2 -2
  261. package/dist/{memory-queue-client-DHSHEIHQ.js → memory-queue-client-JZCFYTWQ.js} +5 -5
  262. package/dist/{memory-reflection-RANRFUQL.js → memory-reflection-GGB5K35L.js} +3 -3
  263. package/dist/{notifications-4P2PVEOT.js → notifications-P3XQZDTH.js} +12 -12
  264. package/dist/{orchestration-events-IYTASMSN.js → orchestration-events-25WEKUKH.js} +4 -4
  265. package/dist/{orchestration-phase-SGA7PJ5G.js → orchestration-phase-C26XVKLZ.js} +2 -2
  266. package/dist/{orchestrator-VKVHZ4MV.js → orchestrator-VIXTY4E4.js} +14 -14
  267. package/dist/{pipeline-router-E4L5BDXN.js → pipeline-router-S5PE5U6B.js} +4 -4
  268. package/dist/{plan-limits-5O5QG55H.js → plan-limits-DGIVM42H.js} +5 -5
  269. package/dist/{prediction-log-OMWHW7FL.js → prediction-log-DOEOHDHS.js} +1 -1
  270. package/dist/{project-boot-WMI6CWRX.js → project-boot-4ZL2W7DN.js} +12 -2
  271. package/dist/{projection-worker-54KRNQSO.js → projection-worker-GG2W5OM3.js} +3 -3
  272. package/dist/{push-notifications-E2XXEWJZ.js → push-notifications-AMHVR6DF.js} +2 -2
  273. package/dist/{reranker-4NTUFNYT.js → reranker-UCPLQZE2.js} +2 -2
  274. package/dist/{review-polling-BFRJDLUA.js → review-polling-P2MWEXLR.js} +13 -13
  275. package/dist/runtime/index.js +15 -15
  276. package/dist/{session-events-KCZCWGE4.js → session-events-5CD66R6U.js} +13 -13
  277. package/dist/{session-kill-telemetry-TMNIDYWY.js → session-kill-telemetry-7FBHTEDN.js} +4 -4
  278. package/dist/{session-scope-DRZBQ32Y.js → session-scope-VMIPAZU7.js} +12 -12
  279. package/dist/{setup-wizard-TQKGDAHO.js → setup-wizard-BNR47URR.js} +3 -3
  280. package/dist/{shard-manager-G6MHCO7X.js → shard-manager-VGA2TYHM.js} +2 -2
  281. package/dist/{skill-refinement-Z5SWD3AM.js → skill-refinement-NRG4WWRW.js} +3 -3
  282. package/dist/stack-release-PFZI22WC.js +521 -0
  283. package/dist/{stack-update-NO5MNARG.js → stack-update-JIWJGGLX.js} +3 -3
  284. package/dist/{steward-gate-7DWYS5AT.js → steward-gate-L7DJMF4C.js} +4 -4
  285. package/dist/{task-enforcement-2VL5J6JJ.js → task-enforcement-XQL77PZH.js} +52 -12
  286. package/dist/{task-scope-YHALISIB.js → task-scope-R3XKBIHL.js} +12 -12
  287. package/dist/{tasks-crud-JXZEBZFR.js → tasks-crud-DQOG2NPG.js} +12 -12
  288. package/dist/tasks-notify-4EQYG52H.js +37 -0
  289. package/dist/{tasks-review-PGPYJQF5.js → tasks-review-XPFJ4DSJ.js} +12 -12
  290. package/dist/{telemetry-upload-H7OJNBIF.js → telemetry-upload-OT5B5HUY.js} +7 -7
  291. package/dist/{token-budget-JJ7JQIA2.js → token-budget-D2LQKCAV.js} +3 -3
  292. package/dist/{tool-capability-index-WIV4K3FB.js → tool-capability-index-FAJ5ZHDF.js} +1 -1
  293. package/dist/{tool-telemetry-W4LFCHFT.js → tool-telemetry-QIF5BCLF.js} +1 -1
  294. package/dist/tui/App.js +26 -26
  295. package/dist/{tui-data-72U6N2DC.js → tui-data-UEV2QOR3.js} +108 -12
  296. package/dist/{whatsapp-config-W63RQ3AU.js → whatsapp-config-GOSELKTE.js} +7 -0
  297. package/dist/{worker-gate-SCSN6IHI.js → worker-gate-PRCKA23W.js} +2 -2
  298. package/dist/{workflow-engine-OICYBE4F.js → workflow-engine-7X6LLH3M.js} +2 -2
  299. package/dist/{worktree-JXN4RCWC.js → worktree-RICSCT2S.js} +5 -5
  300. package/package.json +1 -1
  301. package/release-notes.json +137 -297
  302. package/stack.release.json +4 -3
  303. package/dist/preflight-EAH2MI76.js +0 -287
  304. /package/dist/{chunk-H42LEGLB.js → chunk-AQBEG33D.js} +0 -0
  305. /package/dist/{chunk-AU5426YP.js → chunk-B7JGEDVE.js} +0 -0
  306. /package/dist/{chunk-YFDDTHNM.js → chunk-JXI4XUTV.js} +0 -0
  307. /package/dist/{chunk-SNYDRHV3.js → chunk-U3DUFHOT.js} +0 -0
  308. /package/dist/{chunk-N2XUH2HQ.js → chunk-VBPC7IC7.js} +0 -0
  309. /package/dist/{chunk-HTUJBTBM.js → chunk-VUS6WXQ3.js} +0 -0
  310. /package/dist/{chunk-NOLIN2YI.js → chunk-XAYRZHLV.js} +0 -0
  311. /package/dist/{core-memory-VOBGGB2Q.js → core-memory-4KAIKQRQ.js} +0 -0
  312. /package/dist/{message-queue-client-KAJN6TIJ.js → message-queue-client-S6W5VMJV.js} +0 -0
  313. /package/dist/{oauth-server-QEXRSXEP.js → oauth-server-2ESBZB7F.js} +0 -0
  314. /package/dist/{webhook-pipe-LY4XEDL7.js → webhook-pipe-ZRUVOG5H.js} +0 -0
  315. /package/dist/{wiki-acl-M3OR547L.js → wiki-acl-MFLSS6DE.js} +0 -0
  316. /package/dist/{wiki-client-MAFYBXCQ.js → wiki-client-GBPR45BQ.js} +0 -0
@@ -23,29 +23,29 @@ import {
23
23
  slugify,
24
24
  updateTaskStatus,
25
25
  writeCheckpoint
26
- } from "./chunk-HNLPLLE6.js";
27
- import "./chunk-YFE6W75D.js";
28
- import "./chunk-QI4IXJN7.js";
26
+ } from "./chunk-F7JLZXHC.js";
27
+ import "./chunk-ZKFPHJIJ.js";
28
+ import "./chunk-5CHYEKMH.js";
29
29
  import "./chunk-4JERP7NT.js";
30
- import "./chunk-BZNI4OK5.js";
30
+ import "./chunk-GHEWRYMY.js";
31
31
  import "./chunk-MVW62NIZ.js";
32
32
  import "./chunk-OYNKIAVW.js";
33
33
  import "./chunk-CX6GL3ZJ.js";
34
- import "./chunk-5NJ4A4ZA.js";
35
- import "./chunk-6OJJF4WP.js";
34
+ import "./chunk-HCBMPZDT.js";
35
+ import "./chunk-XJUUWHVN.js";
36
36
  import "./chunk-NGP6LSV2.js";
37
- import "./chunk-IQSCZDBQ.js";
37
+ import "./chunk-I5PIBL56.js";
38
38
  import "./chunk-CVYC6DUW.js";
39
39
  import "./chunk-OPU3NYOO.js";
40
40
  import "./chunk-GJV3WDWM.js";
41
41
  import "./chunk-MP2AFCGL.js";
42
- import "./chunk-4SC65UBG.js";
42
+ import "./chunk-JLNXKG3K.js";
43
43
  import "./chunk-HYZV25LY.js";
44
- import "./chunk-2H55BIV2.js";
45
- import "./chunk-WSHMBME6.js";
44
+ import "./chunk-CEJO7244.js";
45
+ import "./chunk-AWRL5FGM.js";
46
46
  import "./chunk-FXU7JOXK.js";
47
- import "./chunk-D5C56WO3.js";
48
- import "./chunk-TRZ5KA2R.js";
47
+ import "./chunk-MOZ2YQ54.js";
48
+ import "./chunk-VXIMSRTO.js";
49
49
  import "./chunk-LYH5HE24.js";
50
50
  import "./chunk-MLKGABMK.js";
51
51
  export {
@@ -0,0 +1,37 @@
1
+ import {
2
+ dispatchTaskToEmployee,
3
+ markTaskNotificationsRead,
4
+ notifyTaskDone,
5
+ verifyDispatch
6
+ } from "./chunk-HOGTZLVU.js";
7
+ import "./chunk-F7JLZXHC.js";
8
+ import "./chunk-ZKFPHJIJ.js";
9
+ import "./chunk-5CHYEKMH.js";
10
+ import "./chunk-4JERP7NT.js";
11
+ import "./chunk-GHEWRYMY.js";
12
+ import "./chunk-MVW62NIZ.js";
13
+ import "./chunk-OYNKIAVW.js";
14
+ import "./chunk-CX6GL3ZJ.js";
15
+ import "./chunk-HCBMPZDT.js";
16
+ import "./chunk-XJUUWHVN.js";
17
+ import "./chunk-NGP6LSV2.js";
18
+ import "./chunk-I5PIBL56.js";
19
+ import "./chunk-CVYC6DUW.js";
20
+ import "./chunk-OPU3NYOO.js";
21
+ import "./chunk-GJV3WDWM.js";
22
+ import "./chunk-MP2AFCGL.js";
23
+ import "./chunk-JLNXKG3K.js";
24
+ import "./chunk-HYZV25LY.js";
25
+ import "./chunk-CEJO7244.js";
26
+ import "./chunk-AWRL5FGM.js";
27
+ import "./chunk-FXU7JOXK.js";
28
+ import "./chunk-MOZ2YQ54.js";
29
+ import "./chunk-VXIMSRTO.js";
30
+ import "./chunk-LYH5HE24.js";
31
+ import "./chunk-MLKGABMK.js";
32
+ export {
33
+ dispatchTaskToEmployee,
34
+ markTaskNotificationsRead,
35
+ notifyTaskDone,
36
+ verifyDispatch
37
+ };
@@ -8,29 +8,29 @@ import {
8
8
  getReviewChecklist,
9
9
  isStale,
10
10
  listPendingReviews
11
- } from "./chunk-HNLPLLE6.js";
12
- import "./chunk-YFE6W75D.js";
13
- import "./chunk-QI4IXJN7.js";
11
+ } from "./chunk-F7JLZXHC.js";
12
+ import "./chunk-ZKFPHJIJ.js";
13
+ import "./chunk-5CHYEKMH.js";
14
14
  import "./chunk-4JERP7NT.js";
15
- import "./chunk-BZNI4OK5.js";
15
+ import "./chunk-GHEWRYMY.js";
16
16
  import "./chunk-MVW62NIZ.js";
17
17
  import "./chunk-OYNKIAVW.js";
18
18
  import "./chunk-CX6GL3ZJ.js";
19
- import "./chunk-5NJ4A4ZA.js";
20
- import "./chunk-6OJJF4WP.js";
19
+ import "./chunk-HCBMPZDT.js";
20
+ import "./chunk-XJUUWHVN.js";
21
21
  import "./chunk-NGP6LSV2.js";
22
- import "./chunk-IQSCZDBQ.js";
22
+ import "./chunk-I5PIBL56.js";
23
23
  import "./chunk-CVYC6DUW.js";
24
24
  import "./chunk-OPU3NYOO.js";
25
25
  import "./chunk-GJV3WDWM.js";
26
26
  import "./chunk-MP2AFCGL.js";
27
- import "./chunk-4SC65UBG.js";
27
+ import "./chunk-JLNXKG3K.js";
28
28
  import "./chunk-HYZV25LY.js";
29
- import "./chunk-2H55BIV2.js";
30
- import "./chunk-WSHMBME6.js";
29
+ import "./chunk-CEJO7244.js";
30
+ import "./chunk-AWRL5FGM.js";
31
31
  import "./chunk-FXU7JOXK.js";
32
- import "./chunk-D5C56WO3.js";
33
- import "./chunk-TRZ5KA2R.js";
32
+ import "./chunk-MOZ2YQ54.js";
33
+ import "./chunk-VXIMSRTO.js";
34
34
  import "./chunk-LYH5HE24.js";
35
35
  import "./chunk-MLKGABMK.js";
36
36
  export {
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  getOrchestrationMetrics
3
- } from "./chunk-5NJ4A4ZA.js";
4
- import "./chunk-2H55BIV2.js";
5
- import "./chunk-WSHMBME6.js";
3
+ } from "./chunk-HCBMPZDT.js";
4
+ import "./chunk-CEJO7244.js";
5
+ import "./chunk-AWRL5FGM.js";
6
6
  import "./chunk-FXU7JOXK.js";
7
7
  import {
8
8
  loadLicense,
9
9
  readCachedLicenseToken
10
- } from "./chunk-D5C56WO3.js";
10
+ } from "./chunk-MOZ2YQ54.js";
11
11
  import {
12
12
  loadConfig
13
- } from "./chunk-TRZ5KA2R.js";
13
+ } from "./chunk-VXIMSRTO.js";
14
14
  import "./chunk-LYH5HE24.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
 
@@ -390,14 +390,14 @@ async function buildTelemetryPayload(sinceHours = 24) {
390
390
  }
391
391
  let toolUsage;
392
392
  try {
393
- const { getToolUsageSummary } = await import("./tool-telemetry-W4LFCHFT.js");
393
+ const { getToolUsageSummary } = await import("./tool-telemetry-QIF5BCLF.js");
394
394
  const summary = getToolUsageSummary();
395
395
  if (Object.keys(summary).length > 0) toolUsage = summary;
396
396
  } catch {
397
397
  }
398
398
  let calibration;
399
399
  try {
400
- const { DreamingEngine } = await import("./dreaming-2CJML3TU.js");
400
+ const { DreamingEngine } = await import("./dreaming-BOSBDRI3.js");
401
401
  const engine = new DreamingEngine();
402
402
  const cal = await engine.computeCalibration("*", sinceHours);
403
403
  if (cal.assertions.total > 0 || cal.estimation.total > 0) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-2H55BIV2.js";
4
- import "./chunk-WSHMBME6.js";
3
+ } from "./chunk-CEJO7244.js";
4
+ import "./chunk-AWRL5FGM.js";
5
5
  import "./chunk-FXU7JOXK.js";
6
- import "./chunk-TRZ5KA2R.js";
6
+ import "./chunk-VXIMSRTO.js";
7
7
  import "./chunk-LYH5HE24.js";
8
8
  import "./chunk-MLKGABMK.js";
9
9
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ToolCapabilityIndex,
3
3
  getToolCapabilityIndex
4
- } from "./chunk-SNYDRHV3.js";
4
+ } from "./chunk-U3DUFHOT.js";
5
5
  import "./chunk-FXU7JOXK.js";
6
6
  import "./chunk-MLKGABMK.js";
7
7
  export {
@@ -5,7 +5,7 @@ import {
5
5
  startToolTelemetryFlush,
6
6
  stopToolTelemetryFlush,
7
7
  wrapServerWithTelemetry
8
- } from "./chunk-N2XUH2HQ.js";
8
+ } from "./chunk-VBPC7IC7.js";
9
9
  import "./chunk-MLKGABMK.js";
10
10
  export {
11
11
  getToolUsageStats,
package/dist/tui/App.js CHANGED
@@ -1,39 +1,39 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getSessionPrompt
4
- } from "../chunk-TOZ5NN5V.js";
5
- import "../chunk-GN5VHPPR.js";
4
+ } from "../chunk-JLKUVK5J.js";
5
+ import "../chunk-NVZR7T4E.js";
6
6
  import "../chunk-K77WC6HA.js";
7
7
  import {
8
8
  sessionScopeFilter
9
- } from "../chunk-HNLPLLE6.js";
10
- import "../chunk-YFE6W75D.js";
11
- import "../chunk-QI4IXJN7.js";
9
+ } from "../chunk-F7JLZXHC.js";
10
+ import "../chunk-ZKFPHJIJ.js";
11
+ import "../chunk-5CHYEKMH.js";
12
12
  import "../chunk-4JERP7NT.js";
13
- import "../chunk-BZNI4OK5.js";
13
+ import "../chunk-GHEWRYMY.js";
14
14
  import "../chunk-MVW62NIZ.js";
15
15
  import "../chunk-OYNKIAVW.js";
16
16
  import "../chunk-CX6GL3ZJ.js";
17
- import "../chunk-5NJ4A4ZA.js";
18
- import "../chunk-6OJJF4WP.js";
17
+ import "../chunk-HCBMPZDT.js";
18
+ import "../chunk-XJUUWHVN.js";
19
19
  import "../chunk-NGP6LSV2.js";
20
- import "../chunk-IQSCZDBQ.js";
20
+ import "../chunk-I5PIBL56.js";
21
21
  import "../chunk-CVYC6DUW.js";
22
22
  import "../chunk-OPU3NYOO.js";
23
23
  import "../chunk-GJV3WDWM.js";
24
24
  import {
25
25
  orgBus
26
26
  } from "../chunk-MP2AFCGL.js";
27
- import "../chunk-4SC65UBG.js";
27
+ import "../chunk-JLNXKG3K.js";
28
28
  import "../chunk-HYZV25LY.js";
29
29
  import {
30
30
  DEFAULT_COORDINATOR_TEMPLATE_NAME,
31
31
  isCoordinatorName
32
- } from "../chunk-2H55BIV2.js";
33
- import "../chunk-WSHMBME6.js";
32
+ } from "../chunk-CEJO7244.js";
33
+ import "../chunk-AWRL5FGM.js";
34
34
  import "../chunk-FXU7JOXK.js";
35
- import "../chunk-D5C56WO3.js";
36
- import "../chunk-TRZ5KA2R.js";
35
+ import "../chunk-MOZ2YQ54.js";
36
+ import "../chunk-VXIMSRTO.js";
37
37
  import "../chunk-LYH5HE24.js";
38
38
  import "../chunk-MLKGABMK.js";
39
39
 
@@ -7402,7 +7402,7 @@ function useOrchestrator(enabled = true) {
7402
7402
  let cancelled = false;
7403
7403
  async function init() {
7404
7404
  try {
7405
- const { MultiAgentOrchestrator } = await import("../orchestrator-VKVHZ4MV.js");
7405
+ const { MultiAgentOrchestrator } = await import("../orchestrator-VIXTY4E4.js");
7406
7406
  const { getCoordinatorName, isCoordinatorRole, loadEmployees } = await import("../lib/employees.js");
7407
7407
  const { isExeSession } = await import("../lib/tmux-routing.js");
7408
7408
  const { listTmuxSessions, inTmux } = await import("../lib/tmux-status.js");
@@ -7443,7 +7443,7 @@ function useOrchestrator(enabled = true) {
7443
7443
  setTotalInProgress(health.totalInProgress);
7444
7444
  try {
7445
7445
  const { getClient } = await import("../lib/database.js");
7446
- const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-YHALISIB.js");
7446
+ const { sessionScopeFilter: sessionScopeFilter2 } = await import("../task-scope-R3XKBIHL.js");
7447
7447
  const client = getClient();
7448
7448
  const uoScope = sessionScopeFilter2();
7449
7449
  const result = await client.execute({
@@ -7475,7 +7475,7 @@ function useOrchestrator(enabled = true) {
7475
7475
  const spawnSession = useCallback5(
7476
7476
  async (agentId) => {
7477
7477
  try {
7478
- const { createTaskCore } = await import("../tasks-crud-JXZEBZFR.js");
7478
+ const { createTaskCore } = await import("../tasks-crud-DQOG2NPG.js");
7479
7479
  const { ensureEmployee } = await import("../lib/tmux-routing.js");
7480
7480
  const { getCoordinatorName } = await import("../lib/employees.js");
7481
7481
  await createTaskCore({
@@ -8097,7 +8097,7 @@ function TasksView({ onBack }) {
8097
8097
  const { withTrace } = await import("../telemetry-43X3GT3R.js");
8098
8098
  return withTrace("tui.tasks.loadTasks", async () => {
8099
8099
  try {
8100
- const { loadTaskList } = await import("../tui-data-72U6N2DC.js");
8100
+ const { loadTaskList } = await import("../tui-data-UEV2QOR3.js");
8101
8101
  const tasks = await loadTaskList();
8102
8102
  setAllTasks(
8103
8103
  tasks.map((task) => ({
@@ -8577,7 +8577,7 @@ function GatewayView({ onBack }) {
8577
8577
  setLoading(false);
8578
8578
  if (!state.gatewayUrl) return;
8579
8579
  try {
8580
- const { connectGateway } = await import("../gateway-client-YGSA5QMC.js");
8580
+ const { connectGateway } = await import("../gateway-client-4QXHKN5C.js");
8581
8581
  const client = await connectGateway(state.gatewayUrl);
8582
8582
  if (!client) return;
8583
8583
  clientRef.current = client;
@@ -8930,7 +8930,7 @@ function TeamView({ onBack, onViewSessions }) {
8930
8930
  let projectsByEmployee = /* @__PURE__ */ new Map();
8931
8931
  let currentTaskByEmployee = /* @__PURE__ */ new Map();
8932
8932
  try {
8933
- const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-72U6N2DC.js");
8933
+ const { loadTeamBadgeCounts, loadTeamDetailMetrics } = await import("../tui-data-UEV2QOR3.js");
8934
8934
  setBadgeInFlight(true);
8935
8935
  const badgeCountsPromise = loadTeamBadgeCounts();
8936
8936
  const detailsPromise = loadTeamDetailMetrics(roster.map((emp) => emp.name));
@@ -9210,7 +9210,7 @@ function WikiView({ onBack }) {
9210
9210
  }, []);
9211
9211
  async function loadWiki() {
9212
9212
  try {
9213
- const { createWikiClient, listWorkspaces: fetchWorkspaces } = await import("../wiki-client-MAFYBXCQ.js");
9213
+ const { createWikiClient, listWorkspaces: fetchWorkspaces } = await import("../wiki-client-GBPR45BQ.js");
9214
9214
  const client = await createWikiClient();
9215
9215
  if (!client) {
9216
9216
  setConnected(false);
@@ -9230,7 +9230,7 @@ function WikiView({ onBack }) {
9230
9230
  }
9231
9231
  async function loadDocuments(client, workspaceSlug) {
9232
9232
  try {
9233
- const { listDocuments: fetchDocuments } = await import("../wiki-client-MAFYBXCQ.js");
9233
+ const { listDocuments: fetchDocuments } = await import("../wiki-client-GBPR45BQ.js");
9234
9234
  const docs = await fetchDocuments(client, workspaceSlug);
9235
9235
  setDocuments(docs.map((d) => ({
9236
9236
  filename: d.filename,
@@ -9244,7 +9244,7 @@ function WikiView({ onBack }) {
9244
9244
  }
9245
9245
  async function loadChatHistory(client, workspaceSlug) {
9246
9246
  try {
9247
- const { getChatHistory: fetchHistory } = await import("../wiki-client-MAFYBXCQ.js");
9247
+ const { getChatHistory: fetchHistory } = await import("../wiki-client-GBPR45BQ.js");
9248
9248
  const history = await fetchHistory(client, workspaceSlug);
9249
9249
  setChatHistory(history);
9250
9250
  } catch {
@@ -9259,7 +9259,7 @@ function WikiView({ onBack }) {
9259
9259
  setChatInput("");
9260
9260
  setSending(true);
9261
9261
  try {
9262
- const { createWikiClient, chatInWorkspace } = await import("../wiki-client-MAFYBXCQ.js");
9262
+ const { createWikiClient, chatInWorkspace } = await import("../wiki-client-GBPR45BQ.js");
9263
9263
  const client = await createWikiClient();
9264
9264
  if (!client) {
9265
9265
  setChatHistory((prev) => [
@@ -9296,7 +9296,7 @@ function WikiView({ onBack }) {
9296
9296
  }
9297
9297
  setSearchLoading(true);
9298
9298
  try {
9299
- const { searchWikiMemoryRows } = await import("../tui-data-72U6N2DC.js");
9299
+ const { searchWikiMemoryRows } = await import("../tui-data-UEV2QOR3.js");
9300
9300
  setSearchResults(await searchWikiMemoryRows(query));
9301
9301
  } catch {
9302
9302
  setSearchResults([]);
@@ -9326,7 +9326,7 @@ function WikiView({ onBack }) {
9326
9326
  return;
9327
9327
  }
9328
9328
  try {
9329
- const { createWikiClient } = await import("../wiki-client-MAFYBXCQ.js");
9329
+ const { createWikiClient } = await import("../wiki-client-GBPR45BQ.js");
9330
9330
  const client = await createWikiClient();
9331
9331
  if (!client) return;
9332
9332
  await loadDocuments(client, ws.slug);
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  sessionScopeFilter
3
- } from "./chunk-HNLPLLE6.js";
4
- import "./chunk-YFE6W75D.js";
5
- import "./chunk-QI4IXJN7.js";
3
+ } from "./chunk-F7JLZXHC.js";
4
+ import "./chunk-ZKFPHJIJ.js";
5
+ import "./chunk-5CHYEKMH.js";
6
6
  import "./chunk-4JERP7NT.js";
7
- import "./chunk-BZNI4OK5.js";
7
+ import "./chunk-GHEWRYMY.js";
8
8
  import "./chunk-MVW62NIZ.js";
9
9
  import "./chunk-OYNKIAVW.js";
10
10
  import "./chunk-CX6GL3ZJ.js";
11
- import "./chunk-5NJ4A4ZA.js";
12
- import "./chunk-6OJJF4WP.js";
11
+ import "./chunk-HCBMPZDT.js";
12
+ import "./chunk-XJUUWHVN.js";
13
13
  import "./chunk-NGP6LSV2.js";
14
- import "./chunk-IQSCZDBQ.js";
14
+ import "./chunk-I5PIBL56.js";
15
15
  import "./chunk-CVYC6DUW.js";
16
16
  import "./chunk-OPU3NYOO.js";
17
17
  import "./chunk-GJV3WDWM.js";
18
18
  import "./chunk-MP2AFCGL.js";
19
- import "./chunk-4SC65UBG.js";
19
+ import "./chunk-JLNXKG3K.js";
20
20
  import "./chunk-HYZV25LY.js";
21
21
  import {
22
22
  getClient
23
- } from "./chunk-2H55BIV2.js";
24
- import "./chunk-WSHMBME6.js";
23
+ } from "./chunk-CEJO7244.js";
24
+ import "./chunk-AWRL5FGM.js";
25
25
  import "./chunk-FXU7JOXK.js";
26
- import "./chunk-D5C56WO3.js";
27
- import "./chunk-TRZ5KA2R.js";
26
+ import "./chunk-MOZ2YQ54.js";
27
+ import "./chunk-VXIMSRTO.js";
28
28
  import "./chunk-LYH5HE24.js";
29
29
  import "./chunk-MLKGABMK.js";
30
30
 
@@ -151,11 +151,107 @@ async function searchWikiMemoryRows(query) {
151
151
  projectName: String(row.project_name ?? "")
152
152
  }));
153
153
  }
154
+ async function loadEntityProfile(entityName) {
155
+ const client = getClient();
156
+ const { getEntityByName, getRelationships, getEntityTimeline } = await import("./graph-query-UTLL5MKN.js");
157
+ const entity = await getEntityByName(client, entityName);
158
+ if (!entity) return null;
159
+ const [relationships, timelineRaw] = await Promise.all([
160
+ getRelationships(client, entity.id, { direction: "both" }),
161
+ getEntityTimeline(client, entity.id)
162
+ ]);
163
+ const neighbors = relationships.map((r) => {
164
+ const isOutgoing = r.sourceEntityId === entity.id;
165
+ return {
166
+ name: isOutgoing ? r.targetName : r.sourceName,
167
+ type: isOutgoing ? "target" : "source",
168
+ relType: r.type,
169
+ direction: isOutgoing ? "outgoing" : "incoming",
170
+ weight: r.weight,
171
+ confidence: r.confidence
172
+ };
173
+ });
174
+ const timeline = timelineRaw.slice(0, 20).map((t) => {
175
+ const isOutgoing = t.relationship.sourceEntityId === entity.id;
176
+ return {
177
+ timestamp: t.timestamp,
178
+ relType: t.relationship.type,
179
+ partnerName: isOutgoing ? t.relationship.targetName : t.relationship.sourceName,
180
+ direction: isOutgoing ? "outgoing" : "incoming"
181
+ };
182
+ });
183
+ const relationshipTypes = {};
184
+ for (const r of relationships) {
185
+ relationshipTypes[r.type] = (relationshipTypes[r.type] ?? 0) + 1;
186
+ }
187
+ return {
188
+ entity,
189
+ neighbors,
190
+ timeline,
191
+ stats: {
192
+ totalRelationships: relationships.length,
193
+ relationshipTypes
194
+ }
195
+ };
196
+ }
197
+ async function searchEntitiesList(query, limit = 20) {
198
+ const client = getClient();
199
+ const { searchEntities } = await import("./graph-query-UTLL5MKN.js");
200
+ const entities = await searchEntities(client, query, limit);
201
+ if (entities.length === 0) return [];
202
+ const placeholders = entities.map(() => "?").join(",");
203
+ const ids = entities.map((e) => e.id);
204
+ const countResult = await client.execute({
205
+ sql: `SELECT source_entity_id as eid, COUNT(*) as cnt FROM relationships WHERE source_entity_id IN (${placeholders}) AND valid_until IS NULL GROUP BY source_entity_id
206
+ UNION ALL
207
+ SELECT target_entity_id as eid, COUNT(*) as cnt FROM relationships WHERE target_entity_id IN (${placeholders}) AND valid_until IS NULL GROUP BY target_entity_id`,
208
+ args: [...ids, ...ids]
209
+ });
210
+ const countMap = /* @__PURE__ */ new Map();
211
+ for (const row of countResult.rows) {
212
+ const eid = String(row.eid);
213
+ countMap.set(eid, (countMap.get(eid) ?? 0) + Number(row.cnt));
214
+ }
215
+ return entities.map((e) => ({
216
+ id: e.id,
217
+ name: e.name,
218
+ type: e.type,
219
+ lastSeen: e.lastSeen,
220
+ relationshipCount: countMap.get(e.id) ?? 0
221
+ }));
222
+ }
223
+ async function loadHotEntities(limit = 15) {
224
+ const client = getClient();
225
+ const { getHotEntities } = await import("./graph-query-UTLL5MKN.js");
226
+ const since = new Date(Date.now() - 7 * 24 * 60 * 60 * 1e3);
227
+ const hot = await getHotEntities(client, since, limit);
228
+ return hot.map((h) => ({
229
+ id: h.entity.id,
230
+ name: h.entity.name,
231
+ type: h.entity.type,
232
+ lastSeen: h.entity.lastSeen,
233
+ relationshipCount: h.newRelationships
234
+ }));
235
+ }
236
+ async function loadGraphOverview() {
237
+ const client = getClient();
238
+ const { getGraphStats } = await import("./graph-query-UTLL5MKN.js");
239
+ const stats = await getGraphStats(client);
240
+ return {
241
+ totalEntities: stats.entities,
242
+ totalRelationships: stats.relationships,
243
+ entityTypes: stats.types
244
+ };
245
+ }
154
246
  export {
247
+ loadEntityProfile,
248
+ loadGraphOverview,
249
+ loadHotEntities,
155
250
  loadMemoryDashboard,
156
251
  loadTaskList,
157
252
  loadTeamBadgeCounts,
158
253
  loadTeamDetailMetrics,
159
254
  loadTeamMetrics,
255
+ searchEntitiesList,
160
256
  searchWikiMemoryRows
161
257
  };
@@ -97,6 +97,13 @@ async function configureWhatsApp(config) {
97
97
  }
98
98
  function getWhatsAppStatus() {
99
99
  _resetCache();
100
+ if (!existsSync(ACCOUNTS_PATH)) {
101
+ return {
102
+ connected: false,
103
+ accounts: 0,
104
+ error: "No WhatsApp accounts configured. Use gateway(action='configure_whatsapp') to set up."
105
+ };
106
+ }
100
107
  const accounts = loadAccounts();
101
108
  if (accounts.length === 0) {
102
109
  return {
@@ -6,8 +6,8 @@ import {
6
6
  releaseBackfillLock,
7
7
  tryAcquireBackfillLock,
8
8
  tryAcquireWorkerSlot
9
- } from "./chunk-VFQKKMKE.js";
10
- import "./chunk-TRZ5KA2R.js";
9
+ } from "./chunk-LAOB5BKV.js";
10
+ import "./chunk-VXIMSRTO.js";
11
11
  import "./chunk-LYH5HE24.js";
12
12
  import "./chunk-MLKGABMK.js";
13
13
  export {
@@ -10,8 +10,8 @@ import {
10
10
  persistWorkflows,
11
11
  runWorkflow,
12
12
  startWorkflow
13
- } from "./chunk-FE45RXGC.js";
14
- import "./chunk-AU5426YP.js";
13
+ } from "./chunk-V2GZMY6O.js";
14
+ import "./chunk-B7JGEDVE.js";
15
15
  import "./chunk-MLKGABMK.js";
16
16
  export {
17
17
  advanceWorkflow,
@@ -6,12 +6,12 @@ import {
6
6
  isWorktreeDirty,
7
7
  worktreeBranch,
8
8
  worktreePath
9
- } from "./chunk-YFE6W75D.js";
10
- import "./chunk-5NJ4A4ZA.js";
11
- import "./chunk-2H55BIV2.js";
12
- import "./chunk-WSHMBME6.js";
9
+ } from "./chunk-ZKFPHJIJ.js";
10
+ import "./chunk-HCBMPZDT.js";
11
+ import "./chunk-CEJO7244.js";
12
+ import "./chunk-AWRL5FGM.js";
13
13
  import "./chunk-FXU7JOXK.js";
14
- import "./chunk-TRZ5KA2R.js";
14
+ import "./chunk-VXIMSRTO.js";
15
15
  import "./chunk-LYH5HE24.js";
16
16
  import "./chunk-MLKGABMK.js";
17
17
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askexenow/exe-os",
3
- "version": "0.9.239",
3
+ "version": "0.9.243",
4
4
  "description": "AI employee operating system — persistent memory, task management, and multi-agent coordination for Claude Code.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "type": "module",