@askexenow/exe-os 0.9.221 → 0.9.224

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 (365) hide show
  1. package/deploy/compose/.env.example +14 -0
  2. package/deploy/compose/docker-compose.yml +182 -1
  3. package/deploy/compose/init-db.sql +1 -0
  4. package/deploy/compose/uptime-check.sh +4 -1
  5. package/deploy/stack-manifests/v0.9.json +47 -31
  6. package/dist/{active-agent-YNZ7YA74.js → active-agent-HWGGCRZZ.js} +3 -3
  7. package/dist/{active-agent-JYQI3DAH.js → active-agent-QN6UYVDF.js} +3 -3
  8. package/dist/{agent-context-AZTTMUHP.js → agent-context-ZPDQOAD2.js} +1 -1
  9. package/dist/{agent-heartbeat-I5UPGXAU.js → agent-heartbeat-AWTVGE4C.js} +1 -1
  10. package/dist/{agent-loop-NUIWAL3Z.js → agent-loop-7UM2ENGU.js} +1 -1
  11. package/dist/{agentic-ontology-6JMLSYYU.js → agentic-ontology-DOGTSZVP.js} +2 -2
  12. package/dist/{asana-MRQ2OQMJ.js → asana-JN2UF47A.js} +1 -1
  13. package/dist/{backfill-metadata-AGHTEOOS.js → backfill-metadata-LVC55ZQI.js} +4 -4
  14. package/dist/{background-jobs-Q4S27FCN.js → background-jobs-ZX3RLNWC.js} +1 -1
  15. package/dist/{bash-HOHKSOU3.js → bash-XA65M6T6.js} +1 -1
  16. package/dist/{behaviors-TT72JVF4.js → behaviors-MCOIXNLQ.js} +3 -3
  17. package/dist/bin/age-ontology-load.js +1 -1
  18. package/dist/bin/agentic-ontology-backfill.js +5 -5
  19. package/dist/bin/agentic-reflection-backfill.js +6 -6
  20. package/dist/bin/agentic-semantic-label.js +5 -5
  21. package/dist/bin/backfill-conversations.js +4 -4
  22. package/dist/bin/backfill-responses.js +4 -4
  23. package/dist/bin/backfill-vectors.js +5 -5
  24. package/dist/bin/bulk-sync-postgres.js +6 -6
  25. package/dist/bin/cc-doctor.js +1 -1
  26. package/dist/bin/cleanup-stale-review-tasks.js +10 -9
  27. package/dist/bin/cli.js +28 -39
  28. package/dist/bin/deferred-daemon-restart.js +1 -1
  29. package/dist/bin/exe-agent-config.js +2 -2
  30. package/dist/bin/exe-agent.js +12 -12
  31. package/dist/bin/exe-assign.js +6 -6
  32. package/dist/bin/exe-boot.js +22 -21
  33. package/dist/bin/exe-call.js +5 -5
  34. package/dist/bin/exe-cloud.js +10 -9
  35. package/dist/bin/exe-dispatch.js +10 -9
  36. package/dist/bin/exe-doctor.js +2 -2
  37. package/dist/bin/exe-export-behaviors.js +7 -7
  38. package/dist/bin/exe-forget.js +6 -6
  39. package/dist/bin/exe-gateway.js +33 -15
  40. package/dist/bin/exe-healthcheck.js +1 -1
  41. package/dist/bin/exe-heartbeat.js +11 -10
  42. package/dist/bin/exe-kill.js +13 -12
  43. package/dist/bin/exe-launch-agent.js +18 -17
  44. package/dist/bin/exe-new-employee.js +7 -7
  45. package/dist/bin/exe-pending-messages.js +11 -10
  46. package/dist/bin/exe-pending-notifications.js +10 -9
  47. package/dist/bin/exe-pending-reviews.js +11 -10
  48. package/dist/bin/exe-rename.js +5 -5
  49. package/dist/bin/exe-review.js +12 -11
  50. package/dist/bin/exe-search.js +5 -5
  51. package/dist/bin/exe-session-cleanup.js +15 -14
  52. package/dist/bin/exe-settings.js +4 -4
  53. package/dist/bin/exe-start-codex.js +12 -12
  54. package/dist/bin/exe-start-opencode.js +8 -8
  55. package/dist/bin/exe-status.js +11 -10
  56. package/dist/bin/exe-support.js +2 -2
  57. package/dist/bin/exe-team.js +3 -3
  58. package/dist/bin/git-sweep.js +10 -9
  59. package/dist/bin/graph-backfill.js +4 -4
  60. package/dist/bin/graph-export.js +5 -5
  61. package/dist/bin/graph-layer-benchmark.js +1 -1
  62. package/dist/bin/import-history.js +58 -146
  63. package/dist/bin/install.js +6 -6
  64. package/dist/bin/intercom-check.js +6 -6
  65. package/dist/bin/list-providers.js +1 -1
  66. package/dist/bin/mcp-sessions.js +3 -3
  67. package/dist/bin/orchestration-metrics.js +4 -4
  68. package/dist/bin/postgres-agentic-reflection-backfill.js +3 -3
  69. package/dist/bin/postgres-agentic-semantic-backfill.js +2 -2
  70. package/dist/bin/pre-publish.js +2 -2
  71. package/dist/bin/registry-proxy.js +1 -1
  72. package/dist/bin/scan-tasks.js +10 -9
  73. package/dist/bin/setup.js +2 -2
  74. package/dist/bin/shard-migrate.js +4 -4
  75. package/dist/bin/stack-update.js +27 -12
  76. package/dist/bin/update.js +1 -1
  77. package/dist/bin/verify-stack.js +1 -1
  78. package/dist/bin/vps-backup.js +1 -1
  79. package/dist/bin/vps-health-gate.js +2 -2
  80. package/dist/{branding-23ZRRPCE.js → branding-Q6HNW3JX.js} +1 -1
  81. package/dist/{browser-sanitizer-Q3GWRYKI.js → browser-sanitizer-MRSSEJZE.js} +1 -1
  82. package/dist/{browser-session-store-TSD4PCY7.js → browser-session-store-RF45DSJR.js} +1 -1
  83. package/dist/{capacity-monitor-BOAVNFBX.js → capacity-monitor-FNVWLAZL.js} +11 -10
  84. package/dist/{catchup-brief-H6GBODF6.js → catchup-brief-FHMT7TRP.js} +12 -11
  85. package/dist/{chunk-GM2SXBIN.js → chunk-24O54E7A.js} +8 -8
  86. package/dist/{chunk-A77WVNU2.js → chunk-2VKESAZB.js} +42 -0
  87. package/dist/{chunk-MPWYUOB7.js → chunk-32NB4ZYS.js} +1 -1
  88. package/dist/{chunk-6MMKWEGK.js → chunk-3FYSV5AI.js} +2 -2
  89. package/dist/chunk-4524GLEQ.js +204 -0
  90. package/dist/{chunk-4DCP2XYD.js → chunk-465VKMEV.js} +12 -3
  91. package/dist/chunk-4JERP7NT.js +132 -0
  92. package/dist/{chunk-X3ZMMUTS.js → chunk-4L35E6O7.js} +1 -1
  93. package/dist/{chunk-2H2XQJ62.js → chunk-4UKEZJMM.js} +2 -2
  94. package/dist/{chunk-OV2DYWB6.js → chunk-4ZEGEULO.js} +1 -1
  95. package/dist/{chunk-RUM6GJKH.js → chunk-54IWHLZU.js} +1 -1
  96. package/dist/{chunk-2ZYEO7U7.js → chunk-5NFBE376.js} +36 -0
  97. package/dist/{chunk-LZL5MGMH.js → chunk-5R7FJZWJ.js} +1 -1
  98. package/dist/{chunk-GKEEC3P7.js → chunk-6XDH5H5V.js} +1 -1
  99. package/dist/{chunk-X6UJ4CLH.js → chunk-7JGZWG4U.js} +3 -3
  100. package/dist/chunk-ABREUO7D.js +403 -0
  101. package/dist/{chunk-XISG35R2.js → chunk-ADNX3MBF.js} +2 -2
  102. package/dist/chunk-AFYZGDFX.js +356 -0
  103. package/dist/{chunk-NIXZDSJF.js → chunk-AH4IJYYP.js} +1 -1
  104. package/dist/{chunk-NLEWVXX4.js → chunk-AIAODMIW.js} +4 -4
  105. package/dist/{chunk-WSZS2KVV.js → chunk-AQX4SHLQ.js} +2 -2
  106. package/dist/{chunk-EFDIUJWC.js → chunk-ARWBYEVQ.js} +1 -1
  107. package/dist/{chunk-HR4WG32E.js → chunk-B4MV6W2S.js} +1 -1
  108. package/dist/chunk-B7K6C6T7.js +240 -0
  109. package/dist/{chunk-GUY5C7LF.js → chunk-BDHQMDCD.js} +1 -1
  110. package/dist/{chunk-IC6NXF2N.js → chunk-BDTCA647.js} +1 -1
  111. package/dist/{chunk-X4L6SQU5.js → chunk-BW2CW4LG.js} +5 -5
  112. package/dist/{chunk-QIWMGZOK.js → chunk-BXL7RBRI.js} +2 -2
  113. package/dist/{chunk-MSSB6VBT.js → chunk-C27C2OZM.js} +1 -1
  114. package/dist/{chunk-ILAG5VBR.js → chunk-CF6TE3YY.js} +9 -9
  115. package/dist/{chunk-44PHDWBT.js → chunk-DR75RGZS.js} +2 -2
  116. package/dist/{chunk-OQUWRF5K.js → chunk-EZEU2YJQ.js} +1 -1
  117. package/dist/{chunk-7TKOVU64.js → chunk-FI4ESHBS.js} +1 -1
  118. package/dist/{chunk-YKTV34T6.js → chunk-FOHKYDTJ.js} +9 -5
  119. package/dist/{chunk-G3RJSRAS.js → chunk-GKA5QAFL.js} +7 -204
  120. package/dist/{chunk-OFPDYF24.js → chunk-GNBOSFEX.js} +2 -2
  121. package/dist/{chunk-3YVPPYKT.js → chunk-HU2GB7EP.js} +1374 -646
  122. package/dist/{chunk-DANQ4YE4.js → chunk-IVUL6LTK.js} +2 -2
  123. package/dist/{chunk-QJ2MGXFX.js → chunk-JKBHO7HA.js} +33 -6
  124. package/dist/{chunk-DBZI5HYX.js → chunk-JMDBTBTS.js} +3 -3
  125. package/dist/{chunk-EM7QXDC2.js → chunk-KAUKA5JX.js} +23 -12
  126. package/dist/{chunk-BXQCL72Y.js → chunk-KVP2UQ7R.js} +1 -1
  127. package/dist/{chunk-UCHIXGLP.js → chunk-L6TSZOAD.js} +16 -4
  128. package/dist/{chunk-5Y5I65H6.js → chunk-LJ36AKUW.js} +2 -2
  129. package/dist/{chunk-LVAFZMP3.js → chunk-LNICJE6C.js} +7 -7
  130. package/dist/{chunk-SQBRX5GZ.js → chunk-N2EVTB35.js} +10 -10
  131. package/dist/{chunk-RA3NCLXH.js → chunk-NDAC3SSO.js} +9 -9
  132. package/dist/{chunk-P5IPATUA.js → chunk-NHAEAOJL.js} +10 -10
  133. package/dist/{chunk-FSIPRNGL.js → chunk-OADQCC5E.js} +1 -1
  134. package/dist/{chunk-NJR54FIF.js → chunk-OCR7A6VV.js} +27 -17
  135. package/dist/{chunk-OMJW5FZ5.js → chunk-OOKYLZTO.js} +69 -65
  136. package/dist/{chunk-J3GQXXQR.js → chunk-PZPQVIXS.js} +1 -1
  137. package/dist/chunk-R5U7XKVJ.js +16 -0
  138. package/dist/{chunk-3GUGE4K2.js → chunk-T2L43P65.js} +2 -2
  139. package/dist/{chunk-7FEIB32Y.js → chunk-TJ6VZK5N.js} +1 -1
  140. package/dist/{chunk-YUHKC2X2.js → chunk-TPSACMM2.js} +224 -23
  141. package/dist/{chunk-F65CKSBB.js → chunk-UKP2WIND.js} +27 -6
  142. package/dist/{chunk-A74RTD5M.js → chunk-VKACBTUG.js} +1 -1
  143. package/dist/{chunk-BPV3F7M6.js → chunk-VZ5ELOUC.js} +1 -1
  144. package/dist/{chunk-UTQTHZ4H.js → chunk-WHEFT5FS.js} +2 -2
  145. package/dist/{chunk-XFLVRS2F.js → chunk-WSKWSZQB.js} +1 -1
  146. package/dist/{chunk-BRGUJ76G.js → chunk-WWTYMPKI.js} +1 -1
  147. package/dist/{chunk-UVUA2DQM.js → chunk-XGOYEQMQ.js} +11 -13
  148. package/dist/{chunk-NERANZPH.js → chunk-Y2FNO5SU.js} +1 -1
  149. package/dist/co-activation-IC5XKEXV.js +71 -0
  150. package/dist/{co-occurrence-VWWDUBWI.js → co-occurrence-5X54MZDP.js} +2 -2
  151. package/dist/{code-context-index-DOKQN2Q5.js → code-context-index-3FHYHWV3.js} +1 -1
  152. package/dist/{content-extractor-SPSH5X33.js → content-extractor-CUJOBFBU.js} +1 -1
  153. package/dist/{conversation-entity-extractor-EYSI4DKM.js → conversation-entity-extractor-TW4W57K4.js} +1 -1
  154. package/dist/{conversation-wiki-populator-LW3EF62R.js → conversation-wiki-populator-MTRQYBQZ.js} +2 -2
  155. package/dist/{core-memory-XQKOWOID.js → core-memory-YHFDOGBC.js} +1 -1
  156. package/dist/{crdt-sync-RCMMFHSQ.js → crdt-sync-XHQ6HC2X.js} +2 -2
  157. package/dist/{crm-bridge-BVTB6LZK.js → crm-bridge-NG5WJMGF.js} +1 -1
  158. package/dist/{crm-webhook-YQULRX7T.js → crm-webhook-3JWHNIPR.js} +3 -3
  159. package/dist/{cto-delegation-gate-YQ443YVD.js → cto-delegation-gate-CNXEBVDU.js} +9 -8
  160. package/dist/{daemon-auth-PQFXH3J2.js → daemon-auth-6QSCVMPV.js} +1 -1
  161. package/dist/{daemon-orchestration-KCIQTAGO.js → daemon-orchestration-7BY7POV2.js} +12 -11
  162. package/dist/{daemon-protocol-XW2OLNBS.js → daemon-protocol-4FUHT5NH.js} +1 -1
  163. package/dist/{db-backup-YSZLJSVY.js → db-backup-XGB725XE.js} +1 -1
  164. package/dist/{devtools-5PEATRYE.js → devtools-J4QYYO7U.js} +1 -1
  165. package/dist/{discord-LMZKIYWB.js → discord-7UHIZNJ3.js} +1 -1
  166. package/dist/{dispatch-ack-JYCKAWKZ.js → dispatch-ack-RMVFHO4I.js} +1 -1
  167. package/dist/dreaming-KYPSZZA2.js +12 -0
  168. package/dist/{email-UENAIKRN.js → email-T6PQUUY6.js} +1 -1
  169. package/dist/{entity-boost-TM7ETI64.js → entity-boost-6PC4KAGM.js} +2 -2
  170. package/dist/{exe-drift-TFXY2LTU.js → exe-drift-HXATDG6V.js} +3 -3
  171. package/dist/{exe-export-Q357HALA.js → exe-export-JQSD3D4D.js} +6 -6
  172. package/dist/{exe-import-2BPJMJ6Z.js → exe-import-G4BFRTBN.js} +6 -6
  173. package/dist/{exe-key-DVU3FQ3N.js → exe-key-CORPDZ7F.js} +2 -2
  174. package/dist/{exe-org-G7IUSBCY.js → exe-org-DR7IKYC5.js} +1 -1
  175. package/dist/exe-snapshot-L6UZDFCH.js +145 -0
  176. package/dist/{factory-CTFAGZUA.js → factory-UQSRMKJW.js} +1 -1
  177. package/dist/fast-db-init-O3JWHJEE.js +7 -0
  178. package/dist/{file-edit-AZAJPCA3.js → file-edit-YORRFENG.js} +1 -1
  179. package/dist/{file-read-VACF23NC.js → file-read-RMQFDE5L.js} +1 -1
  180. package/dist/{file-write-B2RPT5U7.js → file-write-VO4MQW5Y.js} +1 -1
  181. package/dist/founder-context-DYPGK265.js +96 -0
  182. package/dist/gateway/index.js +14 -13
  183. package/dist/{gateway-client-5EUMMEZZ.js → gateway-client-4GDNTHMN.js} +2 -2
  184. package/dist/{git-staleness-WTLCKKNF.js → git-staleness-47T5DHHD.js} +2 -2
  185. package/dist/{git-task-sweep-FUOVATSV.js → git-task-sweep-CXLXWILF.js} +10 -9
  186. package/dist/{glob-7PWH7WKL.js → glob-2LXRC3F5.js} +1 -1
  187. package/dist/{global-procedures-S6ZVVLBM.js → global-procedures-A5OG775F.js} +4 -4
  188. package/dist/{graph-auto-extract-ZJ7LNTSH.js → graph-auto-extract-ATKNU47J.js} +2 -2
  189. package/dist/{graph-query-UTLL5MKN.js → graph-query-YZ4RZEIL.js} +1 -1
  190. package/dist/{graph-rag-G3EG5Q6L.js → graph-rag-S5SBJW5J.js} +1 -1
  191. package/dist/{grep-HWIDXHRC.js → grep-OY7KCRLQ.js} +1 -1
  192. package/dist/{hook-integrity-MCY73ZZL.js → hook-integrity-WNIRU724.js} +2 -2
  193. package/dist/hooks/bug-report-worker.js +11 -10
  194. package/dist/hooks/codex-stop-task-finalizer.js +12 -11
  195. package/dist/hooks/commit-complete.js +13 -12
  196. package/dist/hooks/error-recall.js +7 -7
  197. package/dist/hooks/exe-heartbeat-hook.js +4 -4
  198. package/dist/hooks/ingest-worker.js +1 -1
  199. package/dist/hooks/ingest.js +13 -13
  200. package/dist/hooks/instructions-loaded.js +5 -5
  201. package/dist/hooks/manifest.json +20 -20
  202. package/dist/hooks/notification.js +5 -5
  203. package/dist/hooks/post-compact.js +12 -11
  204. package/dist/hooks/post-tool-combined.js +7 -7
  205. package/dist/hooks/pre-compact.js +13 -12
  206. package/dist/hooks/pre-tool-use.js +17 -16
  207. package/dist/hooks/prompt-submit.js +47 -26
  208. package/dist/hooks/session-end.js +70 -18
  209. package/dist/hooks/session-start.js +24 -17
  210. package/dist/hooks/stop.js +19 -18
  211. package/dist/hooks/subagent-stop.js +12 -11
  212. package/dist/hooks/summary-worker.js +15 -14
  213. package/dist/{hooks-LDCFYHDF.js → hooks-RPTZV5KX.js} +1 -1
  214. package/dist/{imessage-6UOZB5VN.js → imessage-CE5USLTI.js} +1 -1
  215. package/dist/index.js +21 -19
  216. package/dist/{installer-VH4GYJQO.js → installer-6EN626JD.js} +5 -5
  217. package/dist/{installer-KZVGXCRL.js → installer-KLGJVSB7.js} +8 -8
  218. package/dist/{installer-42KVGDGD.js → installer-X7IYABLB.js} +6 -6
  219. package/dist/{intercom-queue-RNM6EPGA.js → intercom-queue-USIXVVJQ.js} +1 -1
  220. package/dist/{key-backup-status-JTPVS5K2.js → key-backup-status-PSBX547O.js} +1 -1
  221. package/dist/{keyword-extractor-UJHFWVZE.js → keyword-extractor-OGQRRVTB.js} +1 -1
  222. package/dist/lib/agent-config.js +1 -1
  223. package/dist/lib/cloud-sync.js +4 -4
  224. package/dist/lib/cloudflare-dns.js +1 -1
  225. package/dist/lib/config.js +1 -1
  226. package/dist/lib/consolidation.js +5 -5
  227. package/dist/lib/crypto.js +1 -1
  228. package/dist/lib/database.js +2 -2
  229. package/dist/lib/db-daemon-client.js +1 -1
  230. package/dist/lib/db.js +2 -2
  231. package/dist/lib/device-registry.js +1 -1
  232. package/dist/lib/embedder.js +2 -2
  233. package/dist/lib/employee-templates.js +5 -5
  234. package/dist/lib/employees.js +2 -2
  235. package/dist/lib/error-detector.js +1 -1
  236. package/dist/lib/exe-daemon-client.js +1 -1
  237. package/dist/lib/exe-daemon.js +154 -110
  238. package/dist/lib/file-grep.js +1 -1
  239. package/dist/lib/hybrid-search.js +5 -5
  240. package/dist/lib/identity-templates.js +1 -1
  241. package/dist/lib/identity.js +2 -2
  242. package/dist/lib/keychain.js +1 -1
  243. package/dist/lib/license.js +1 -1
  244. package/dist/lib/messaging.js +14 -9
  245. package/dist/lib/post-tool-memory.js +1 -1
  246. package/dist/lib/registry-proxy.js +1 -1
  247. package/dist/lib/reminders.js +3 -3
  248. package/dist/lib/runtime-table.js +1 -1
  249. package/dist/lib/schedules.js +5 -5
  250. package/dist/lib/session-registry.js +4 -4
  251. package/dist/lib/session-wrappers.js +1 -1
  252. package/dist/lib/skill-learning.js +4 -4
  253. package/dist/lib/status-brief.js +1 -1
  254. package/dist/lib/store.js +4 -4
  255. package/dist/lib/task-router.js +3 -3
  256. package/dist/lib/tasks.js +10 -9
  257. package/dist/lib/tmux-routing.js +9 -8
  258. package/dist/lib/tmux-status.js +1 -1
  259. package/dist/lib/tmux-transport.js +1 -1
  260. package/dist/lib/token-spend.js +3 -3
  261. package/dist/lib/transport.js +1 -1
  262. package/dist/lib/ws-auth.js +1 -1
  263. package/dist/lib/ws-client.js +2 -2
  264. package/dist/{license-gate-GJYKYTFK.js → license-gate-7MTUBAQ6.js} +1 -1
  265. package/dist/mcp/register-tools.js +56 -54
  266. package/dist/mcp/server.js +62 -60
  267. package/dist/mcp/tools/complete-reminder.js +4 -4
  268. package/dist/mcp/tools/create-reminder.js +4 -4
  269. package/dist/mcp/tools/create-task.js +12 -11
  270. package/dist/mcp/tools/deactivate-behavior.js +5 -5
  271. package/dist/mcp/tools/list-reminders.js +4 -4
  272. package/dist/mcp/tools/list-tasks.js +12 -11
  273. package/dist/mcp/tools/send-message.js +12 -11
  274. package/dist/mcp/tools/update-task.js +11 -10
  275. package/dist/{mcp-diagnostics-TSBY62UQ.js → mcp-diagnostics-5T5OZ52S.js} +1 -1
  276. package/dist/{mcp-disconnect-tracker-MB23DRS6.js → mcp-disconnect-tracker-VINUVEZJ.js} +1 -1
  277. package/dist/{mcp-http-config-QFVZZ4P6.js → mcp-http-config-MODBCWK5.js} +3 -3
  278. package/dist/{memory-cards-7TZMVN4S.js → memory-cards-33TRK6LU.js} +2 -2
  279. package/dist/{memory-graph-extractor-ZENXY3L6.js → memory-graph-extractor-OBPRJKLY.js} +3 -3
  280. package/dist/{memory-poisoning-defense-T6AN332J.js → memory-poisoning-defense-PQV674AN.js} +2 -2
  281. package/dist/{memory-queue-WM4BXLSR.js → memory-queue-EFSUQITE.js} +1 -1
  282. package/dist/{memory-queue-client-BKEAVZHZ.js → memory-queue-client-3RRVVVSZ.js} +1 -1
  283. package/dist/{memory-reflection-5AYMWWGN.js → memory-reflection-RFHRFSUD.js} +2 -2
  284. package/dist/{message-queue-client-TFMDQXJ7.js → message-queue-client-P2LRY5EG.js} +1 -1
  285. package/dist/{notifications-WDAAZ6FP.js → notifications-P7K3ZWXX.js} +9 -8
  286. package/dist/{oauth-server-ZD2RNARD.js → oauth-server-2QW23H7W.js} +1 -1
  287. package/dist/{orchestration-events-IDQXVP34.js → orchestration-events-CWG6V7CV.js} +3 -3
  288. package/dist/{orchestration-phase-VFGBKPDJ.js → orchestration-phase-ZMMLNZAY.js} +1 -1
  289. package/dist/{orchestrator-CZYRJJDL.js → orchestrator-O5BMUTIC.js} +11 -10
  290. package/dist/{permission-presets-E3DZK46K.js → permission-presets-UPVLJWZD.js} +1 -1
  291. package/dist/{permissions-6MCWUDCD.js → permissions-C4EMHPDD.js} +1 -1
  292. package/dist/{pg-ssl-7JXQFL4I.js → pg-ssl-GD3332YS.js} +1 -1
  293. package/dist/pipeline-router-SOF3OPQK.js +12 -0
  294. package/dist/{plan-limits-WAZUVFZQ.js → plan-limits-DQYHBNVM.js} +3 -3
  295. package/dist/prediction-log-4OYMLWU6.js +120 -0
  296. package/dist/{preferences-ERXO6SMJ.js → preferences-5ARPMYE7.js} +1 -1
  297. package/dist/{preflight-EAH2MI76.js → preflight-TZOGLBZU.js} +1 -1
  298. package/dist/project-boot-SC7HKBDP.js +254 -0
  299. package/dist/{project-name-EWG5KAZP.js → project-name-4SKOH2UO.js} +1 -1
  300. package/dist/{projection-worker-4DV5SIDZ.js → projection-worker-KP5ZNYQS.js} +4 -4
  301. package/dist/{push-notifications-ONUX3NPQ.js → push-notifications-IR3Z7WAT.js} +1 -1
  302. package/dist/{reranker-EZRCPPL4.js → reranker-CKSUJEVR.js} +2 -2
  303. package/dist/{review-gate-IUNS6GQU.js → review-gate-I66GDXNR.js} +1 -1
  304. package/dist/{review-polling-W32O7SNH.js → review-polling-KXD6IHFG.js} +10 -9
  305. package/dist/runtime/index.js +16 -15
  306. package/dist/{self-query-router-O7KJIZRX.js → self-query-router-QMK5ZSZR.js} +2 -2
  307. package/dist/{session-events-AKRECMTQ.js → session-events-HHOCWMZD.js} +10 -9
  308. package/dist/{session-kill-telemetry-SXLEJ2PW.js → session-kill-telemetry-PQVX3DCZ.js} +3 -3
  309. package/dist/{session-scope-QCZEPEZ7.js → session-scope-UYHT6CHN.js} +9 -8
  310. package/dist/{setup-wizard-HOFPOKHS.js → setup-wizard-GKBK4WFY.js} +2 -2
  311. package/dist/{shard-manager-DAJVON2Q.js → shard-manager-67Y6WYV4.js} +1 -1
  312. package/dist/{signal-7UIRTYGZ.js → signal-KF2LIO7Y.js} +1 -1
  313. package/dist/{signal-paths-4GOIRLGH.js → signal-paths-5ZTWCBUX.js} +1 -1
  314. package/dist/{skill-refinement-OIPE7QNX.js → skill-refinement-GVPVMADH.js} +2 -2
  315. package/dist/{slack-GCOYBZUK.js → slack-JRDUD5Z7.js} +1 -1
  316. package/dist/{stack-update-SASYGDOB.js → stack-update-WLDGSSKX.js} +2 -2
  317. package/dist/steward-gate-5P54P23O.js +12 -0
  318. package/dist/{support-outbox-KEJ73I3F.js → support-outbox-HIJVUDA2.js} +1 -1
  319. package/dist/{task-enforcement-PYP4NBI2.js → task-enforcement-2XZHFJSH.js} +9 -8
  320. package/dist/{task-scanner-QEM5CO2Y.js → task-scanner-5OQBNC2N.js} +1 -1
  321. package/dist/{task-scope-IAIAQNYB.js → task-scope-JWX77L6K.js} +9 -8
  322. package/dist/{tasks-crud-M7YVS5F3.js → tasks-crud-EFCAVOLV.js} +11 -8
  323. package/dist/{tasks-review-HNNUT3QB.js → tasks-review-3HNBOQCH.js} +9 -8
  324. package/dist/{telegram-RGVD4LUY.js → telegram-COCYUCT7.js} +1 -1
  325. package/dist/{telemetry-43X3GT3R.js → telemetry-QKWQKAUC.js} +1 -1
  326. package/dist/telemetry-upload-EH6KDKJN.js +609 -0
  327. package/dist/{token-budget-D5LTVJNN.js → token-budget-SXD3WYQ2.js} +2 -2
  328. package/dist/{tool-capability-index-YRJJEBIK.js → tool-capability-index-3UK7U6I3.js} +2 -2
  329. package/dist/{tool-gates-GXSYBVK4.js → tool-gates-6A6LE4DZ.js} +1 -1
  330. package/dist/{tool-gates-3IC7DK4R.js → tool-gates-RNWEH5IK.js} +1 -1
  331. package/dist/{tool-registry-5XN3FUYL.js → tool-registry-KL24CAFR.js} +1 -1
  332. package/dist/{tool-telemetry-A47IJB4I.js → tool-telemetry-H4JCEGKN.js} +2 -2
  333. package/dist/tui/App.js +42 -41
  334. package/dist/{tui-data-UCFTP4HZ.js → tui-data-M2PDKZL5.js} +9 -8
  335. package/dist/typed-messages-53Q7L3LB.js +17 -0
  336. package/dist/{update-check-MKHO7H6B.js → update-check-5IL5I3E2.js} +1 -1
  337. package/dist/{webhook-LCW7UP4L.js → webhook-VXGIH7PN.js} +1 -1
  338. package/dist/{webhook-pipe-TSOX5K7U.js → webhook-pipe-6JPL3ERE.js} +1 -1
  339. package/dist/{whatsapp-SILL4V64.js → whatsapp-PSMKCDS7.js} +1 -1
  340. package/dist/{whatsapp-accounts-BWRZUY23.js → whatsapp-accounts-4OKWFRWL.js} +1 -1
  341. package/dist/whatsapp-config-ZG5LX4O4.js +125 -0
  342. package/dist/{wiki-acl-GVQMBGRQ.js → wiki-acl-KKGKE57D.js} +1 -1
  343. package/dist/{wiki-client-2JLYCEWY.js → wiki-client-P55NUEDE.js} +1 -1
  344. package/dist/{worker-gate-WES7AMDA.js → worker-gate-GAQP7EFH.js} +2 -2
  345. package/dist/{workflow-engine-ZHWSK4BG.js → workflow-engine-DVOBNVA7.js} +3 -3
  346. package/dist/{working-memory-PKUUMWZK.js → working-memory-Z3EB3FW6.js} +1 -1
  347. package/dist/{worktree-EO73ZMHX.js → worktree-LADUN5X3.js} +4 -4
  348. package/package.json +1 -1
  349. package/release-notes.json +81 -64
  350. package/dist/bin/daily-summary.js +0 -0
  351. package/dist/chunk-MLKGABMK.js +0 -9
  352. package/dist/chunk-Q2G5C3HV.js +0 -217
  353. package/dist/chunk-SVBCHRGC.js +0 -225
  354. package/dist/fast-db-init-WF6BDZ46.js +0 -7
  355. package/dist/import-conversations-O3BGXQQH.js +0 -23
  356. package/dist/telemetry-upload-5OOAFOOI.js +0 -228
  357. /package/dist/{chunk-I7K6NY34.js → chunk-4ENKQHHV.js} +0 -0
  358. /package/dist/{chunk-UHMLXFZC.js → chunk-6HBCYEMA.js} +0 -0
  359. /package/dist/{chunk-QBPEJKJ2.js → chunk-CFVDND7E.js} +0 -0
  360. /package/dist/{chunk-OUHHUKPC.js → chunk-F2DMSZZO.js} +0 -0
  361. /package/dist/{chunk-ED4MQPBW.js → chunk-H6CS2GG5.js} +0 -0
  362. /package/dist/{chunk-MLCYKSTC.js → chunk-QQZSKURD.js} +0 -0
  363. /package/dist/{chunk-IENYOYZ6.js → chunk-R4PJKJXP.js} +0 -0
  364. /package/dist/{chunk-WRU72I4S.js → chunk-TLM2DDBX.js} +0 -0
  365. /package/dist/{chunk-T6UW3VZN.js → chunk-TQBUAZXA.js} +0 -0
@@ -64,6 +64,20 @@ API_ROUTER_KEY=CHANGEME_API_ROUTER_KEY
64
64
  # ANTHROPIC_API_KEY=CHANGEME_ANTHROPIC_API_KEY
65
65
  GATEWAY_HTTP_HOST_PORT=3100
66
66
  GATEWAY_WS_HOST_PORT=3101
67
+ # GoTrue SSO — enable for unified auth across all services
68
+ GATEWAY_GOTRUE_URL=http://gotrue:9999
69
+ # Error forwarding to exe-monitor-hub (strongly recommended for production)
70
+ ERROR_REPORTING_ENABLED=true
71
+ MONITOR_ERROR_URL=http://exe-monitor-hub:8090/api/exe-monitor/errors
72
+
73
+ # --- ERP (optional — Exe ERP, Frappe/ERPNext fork) ---
74
+ ERP_IMAGE_TAG=update.askexe.com/askexe/exe-erp:v0.1.0
75
+ ERP_ADMIN_PASSWORD=CHANGEME_ERP_ADMIN_PASSWORD
76
+ ERP_SITE_NAME=erp.askexe.com
77
+ ERP_API_PORT=8069
78
+ ERP_WS_PORT=9069
79
+ # ERP_SENTRY_DSN=
80
+ # MONITOR_API_KEY= # shared with gateway error forwarding
67
81
 
68
82
  # --- Monitoring agent (standard for managed customer VPSs) ---
69
83
  MONITOR_AGENT_IMAGE_TAG=ghcr.io/askexe/exe-monitor-agent:v0.9.4
@@ -1,6 +1,6 @@
1
1
  # exe-os VPS stack — full production compose
2
2
  #
3
- # Services: exe-db (postgres) + clickhouse + redis + exe-crm + exe-wiki + exe-os + exe-gateway
3
+ # Services: exe-db (postgres) + clickhouse + redis + exe-crm + exe-wiki + exe-os + exe-gateway + exe-erp
4
4
  # ONE postgres (exe-db) — all services connect to it via DATABASE_URL.
5
5
  # Standard for managed customer VPSs: exe-monitor-agent reports fleet health to monitor.askexe.com.
6
6
  # All image tags pinned per-client via .env (no :latest). Healthchecks on every service.
@@ -404,6 +404,8 @@ services:
404
404
  API_ROUTER_KEY: ${API_ROUTER_KEY:-}
405
405
  EXED_MCP_URL: http://exe-os:48739/mcp
406
406
  EXED_MCP_TOKEN: ${EXED_MCP_TOKEN:?EXED_MCP_TOKEN is required}
407
+ ERROR_REPORTING_ENABLED: "true"
408
+ MONITOR_ERROR_URL: http://exe-monitor-hub:8090/api/exe-monitor/errors
407
409
  EXE_DAEMON_TOKEN: ${EXED_MCP_TOKEN:?EXED_MCP_TOKEN is required}
408
410
  BYOK_ENABLED: ${BYOK_ENABLED:-false}
409
411
  ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
@@ -525,6 +527,183 @@ services:
525
527
  driver: json-file
526
528
  options: { max-size: "10m", max-file: "3" }
527
529
 
530
+ # ------------------------------------------------------------------
531
+ # ERP — Exe ERP (Frappe/ERPNext fork)
532
+ # ------------------------------------------------------------------
533
+ # Uses its OWN database (exe_erp) on the same PostgreSQL server.
534
+ # Redis dbs 3/4/5 (cache/queue/socketio). GoTrue SSO shared.
535
+ # 4 services: gunicorn API, websocket, RQ worker, scheduler.
536
+
537
+ exe-erp:
538
+ image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.1.0}
539
+ container_name: exe-erp
540
+ restart: unless-stopped
541
+ entrypoint: ["/usr/local/bin/entrypoint.sh"]
542
+ command:
543
+ - gunicorn
544
+ - --bind=0.0.0.0:8000
545
+ - --workers=8
546
+ - --worker-class=gthread
547
+ - --threads=4
548
+ - --timeout=120
549
+ - --graceful-timeout=30
550
+ - --worker-tmp-dir=/dev/shm
551
+ - wsgi:application
552
+ depends_on:
553
+ exe-db:
554
+ condition: service_healthy
555
+ redis:
556
+ condition: service_healthy
557
+ gotrue:
558
+ condition: service_healthy
559
+ env_file:
560
+ - path: .env
561
+ required: false
562
+ environment:
563
+ DB_HOST: exe-db
564
+ DB_PORT: "5432"
565
+ DB_TYPE: postgres
566
+ DB_NAME: exe_erp
567
+ DB_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
568
+ POSTGRES_USER: ${POSTGRES_USER:-exe}
569
+ ADMIN_PASSWORD: ${ERP_ADMIN_PASSWORD:-admin}
570
+ REDIS_CACHE: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/3
571
+ REDIS_QUEUE: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/4
572
+ REDIS_SOCKETIO: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/5
573
+ SITE_NAME: ${ERP_SITE_NAME:-erp.askexe.com}
574
+ # Bridge: cross-database connection to exedb for raw.raw_events
575
+ EXE_BRIDGE_DATABASE_URL: postgres://${POSTGRES_USER:-exe}:${POSTGRES_PASSWORD}@exe-db:5432/${POSTGRES_DB:-exedb}?sslmode=disable
576
+ # Monitor: error forwarding
577
+ MONITOR_ERROR_URL: http://exe-monitor-hub:8090/api/exe-monitor/errors
578
+ MONITOR_API_KEY: ${MONITOR_API_KEY:-}
579
+ # GoTrue SSO: single sign-on across CRM + Wiki + ERP
580
+ GOTRUE_URL: http://gotrue:9999
581
+ EXE_ADMIN_TOKEN: ${EXE_ADMIN_TOKEN:-}
582
+ # Sentry (optional)
583
+ FRAPPE_SENTRY_DSN: ${ERP_SENTRY_DSN:-}
584
+ ports:
585
+ - "${ERP_API_PORT:-8069}:8000"
586
+ volumes:
587
+ - erp_sites:/home/frappe/frappe-bench/sites
588
+ networks:
589
+ backend:
590
+ ipv4_address: 10.42.0.26
591
+ frontend:
592
+ ipv4_address: 10.43.0.26
593
+ healthcheck:
594
+ test: ["CMD-SHELL", "curl -sf http://localhost:8000/api/method/ping || exit 1"]
595
+ interval: 30s
596
+ timeout: 10s
597
+ start_period: 60s
598
+ retries: 5
599
+ deploy:
600
+ resources:
601
+ limits:
602
+ memory: 2G
603
+ logging:
604
+ driver: json-file
605
+ options: { max-size: "10m", max-file: "3" }
606
+
607
+ exe-erp-websocket:
608
+ image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.1.0}
609
+ container_name: exe-erp-websocket
610
+ restart: unless-stopped
611
+ entrypoint: []
612
+ command: ["node", "/home/frappe/frappe-bench/apps/frappe/socketio.js"]
613
+ depends_on:
614
+ exe-erp:
615
+ condition: service_healthy
616
+ env_file:
617
+ - path: .env
618
+ required: false
619
+ environment:
620
+ REDIS_SOCKETIO: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/5
621
+ SITE_NAME: ${ERP_SITE_NAME:-erp.askexe.com}
622
+ ports:
623
+ - "${ERP_WS_PORT:-9069}:9000"
624
+ volumes:
625
+ - erp_sites:/home/frappe/frappe-bench/sites
626
+ networks:
627
+ backend:
628
+ ipv4_address: 10.42.0.27
629
+ deploy:
630
+ resources:
631
+ limits:
632
+ memory: 512M
633
+ logging:
634
+ driver: json-file
635
+ options: { max-size: "10m", max-file: "3" }
636
+
637
+ exe-erp-queue:
638
+ image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.1.0}
639
+ container_name: exe-erp-queue
640
+ restart: unless-stopped
641
+ entrypoint: []
642
+ command: ["bench", "worker", "--queue=default,short,long"]
643
+ depends_on:
644
+ exe-erp:
645
+ condition: service_healthy
646
+ env_file:
647
+ - path: .env
648
+ required: false
649
+ environment:
650
+ DB_HOST: exe-db
651
+ DB_PORT: "5432"
652
+ DB_TYPE: postgres
653
+ DB_NAME: exe_erp
654
+ DB_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
655
+ REDIS_CACHE: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/3
656
+ REDIS_QUEUE: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/4
657
+ REDIS_SOCKETIO: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/5
658
+ SITE_NAME: ${ERP_SITE_NAME:-erp.askexe.com}
659
+ volumes:
660
+ - erp_sites:/home/frappe/frappe-bench/sites
661
+ networks:
662
+ backend:
663
+ ipv4_address: 10.42.0.28
664
+ deploy:
665
+ resources:
666
+ limits:
667
+ memory: 1G
668
+ logging:
669
+ driver: json-file
670
+ options: { max-size: "10m", max-file: "3" }
671
+
672
+ exe-erp-scheduler:
673
+ image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.1.0}
674
+ container_name: exe-erp-scheduler
675
+ restart: unless-stopped
676
+ entrypoint: []
677
+ command: ["bench", "schedule"]
678
+ depends_on:
679
+ exe-erp:
680
+ condition: service_healthy
681
+ env_file:
682
+ - path: .env
683
+ required: false
684
+ environment:
685
+ DB_HOST: exe-db
686
+ DB_PORT: "5432"
687
+ DB_TYPE: postgres
688
+ DB_NAME: exe_erp
689
+ DB_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
690
+ REDIS_CACHE: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/3
691
+ REDIS_QUEUE: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/4
692
+ REDIS_SOCKETIO: redis://:${REDIS_PASSWORD:?REDIS_PASSWORD is required}@redis:6379/5
693
+ SITE_NAME: ${ERP_SITE_NAME:-erp.askexe.com}
694
+ volumes:
695
+ - erp_sites:/home/frappe/frappe-bench/sites
696
+ networks:
697
+ backend:
698
+ ipv4_address: 10.42.0.29
699
+ deploy:
700
+ resources:
701
+ limits:
702
+ memory: 512M
703
+ logging:
704
+ driver: json-file
705
+ options: { max-size: "10m", max-file: "3" }
706
+
528
707
  # ------------------------------------------------------------------
529
708
  # Volumes
530
709
  # ------------------------------------------------------------------
@@ -554,6 +733,8 @@ volumes:
554
733
  driver: local
555
734
  monitor_hub_data:
556
735
  driver: local
736
+ erp_sites:
737
+ driver: local
557
738
 
558
739
  # ------------------------------------------------------------------
559
740
  # Networks
@@ -39,6 +39,7 @@ CREATE SCHEMA IF NOT EXISTS wiki;
39
39
  CREATE SCHEMA IF NOT EXISTS crm;
40
40
  CREATE SCHEMA IF NOT EXISTS auth;
41
41
  CREATE SCHEMA IF NOT EXISTS billing;
42
+ CREATE SCHEMA IF NOT EXISTS erp;
42
43
 
43
44
  -- Grant exe full access to all schemas
44
45
  DO $$ DECLARE s text; BEGIN
@@ -120,7 +120,10 @@ fi
120
120
 
121
121
  # --- Write JSONL ---
122
122
  # Single-line JSON — no jq dependency required
123
- ENTRY="{\"ts\":\"${NOW}\",\"overall\":\"${overall}\",\"crm\":\"${crm_status}\",\"gateway\":\"${gateway_status}\",\"whatsapp\":\"${whatsapp_status}\",\"postgres\":\"${postgres_status}\"}"
123
+ ENTRY=$(cat <<JSONEOF
124
+ {"ts":"${NOW}","overall":"${overall}","crm":"${crm_status}","gateway":"${gateway_status}","whatsapp":"${whatsapp_status}","postgres":"${postgres_status}"}
125
+ JSONEOF
126
+ )
124
127
 
125
128
  echo "$ENTRY" >> "$OUTFILE"
126
129
 
@@ -615,32 +615,36 @@
615
615
  }
616
616
  }
617
617
  },
618
- "0.9.12": {
619
- "version": "0.9.12",
620
- "releasedAt": "2026-06-03T00:00:00Z",
621
- "notes": "14 bug fixes: daemon stability (async event loop), SQL guard, secret redaction, working memory, reactivate_behavior, CRM bridge fix, credential broker, gateway healthcheck fix.",
622
- "npmVersion": "0.9.217",
618
+ "0.9.11": {
619
+ "version": "0.9.11",
620
+ "releasedAt": "2026-06-02T00:00:00Z",
621
+ "notes": "HYGO deployment: encrypted R2 backups (daily + pre-update), ambassador pipeline, asana webhook, VPS guardrails (WA guard, disk monitor, env versioning, health gate), daemon perf (async pane capture, reconnect jitter), graceful idle shutdown, retrieval architecture procedure, conversation import tool. Registry consolidated to update.askexe.com.",
622
+ "npmVersion": "0.9.158",
623
623
  "breakingChanges": [],
624
624
  "services": {
625
625
  "crm": {
626
- "image": "update.askexe.com/askexe/exe-crm:v0.9.44",
626
+ "image": "update.askexe.com/askexe/exe-crm:v0.9.15",
627
627
  "env": "CRM_IMAGE_TAG",
628
- "composeService": "exe-crm"
628
+ "composeService": "exe-crm",
629
+ "healthUrl": "http://127.0.0.1:3000/healthz"
629
630
  },
630
631
  "wiki": {
631
- "image": "update.askexe.com/askexe/exe-wiki:v0.9.19",
632
+ "image": "update.askexe.com/askexe/exe-wiki:v0.9.11",
632
633
  "env": "WIKI_IMAGE_TAG",
633
- "composeService": "exe-wiki"
634
+ "composeService": "exe-wiki",
635
+ "healthUrl": "http://127.0.0.1:3001/api/ping"
634
636
  },
635
637
  "exe-os": {
636
- "image": "update.askexe.com/askexe/exe-os:v0.9.217",
638
+ "image": "update.askexe.com/askexe/exe-os:v0.9.159",
637
639
  "env": "EXE_OS_IMAGE_TAG",
638
- "composeService": "exe-os"
640
+ "composeService": "exe-os",
641
+ "healthUrl": "http://127.0.0.1:8765/health"
639
642
  },
640
643
  "gateway": {
641
- "image": "update.askexe.com/askexe/exe-gateway:v0.9.9",
644
+ "image": "update.askexe.com/askexe/exe-gateway:v0.9.8",
642
645
  "env": "GATEWAY_IMAGE_TAG",
643
- "composeService": "exe-gateway"
646
+ "composeService": "exe-gateway",
647
+ "healthUrl": "http://127.0.0.1:3100/health"
644
648
  },
645
649
  "monitorAgent": {
646
650
  "image": "update.askexe.com/askexe/exe-monitor-agent:v0.9.4",
@@ -650,41 +654,49 @@
650
654
  "monitorHub": {
651
655
  "image": "update.askexe.com/askexe/exe-monitor-hub:v0.9.4",
652
656
  "env": "MONITOR_HUB_IMAGE_TAG",
653
- "composeService": "exe-monitor-hub"
657
+ "composeService": "exe-monitor-hub",
658
+ "healthUrl": "http://127.0.0.1:8090/api/health"
654
659
  },
655
660
  "erp": {
656
661
  "image": "update.askexe.com/askexe/exe-erp:v0.1.0",
657
662
  "env": "ERP_IMAGE_TAG",
658
- "composeService": "exe-erp"
663
+ "composeService": "exe-erp",
664
+ "healthUrl": "http://127.0.0.1:8069/api/method/ping",
665
+ "deploymentScope": "customer",
666
+ "required": false
659
667
  }
660
668
  }
661
669
  },
662
- "0.9.11": {
663
- "version": "0.9.11",
664
- "releasedAt": "2026-06-02T00:00:00Z",
665
- "notes": "HYGO deployment: encrypted R2 backups (daily + pre-update), ambassador pipeline, asana webhook, VPS guardrails (WA guard, disk monitor, env versioning, health gate), daemon perf (async pane capture, reconnect jitter), graceful idle shutdown, retrieval architecture procedure, conversation import tool. Registry consolidated to update.askexe.com.",
666
- "npmVersion": "0.9.158",
670
+ "0.9.12": {
671
+ "version": "0.9.12",
672
+ "releasedAt": "2026-06-03T00:00:00Z",
673
+ "notes": "14 bug fixes: daemon stability (async event loop), SQL guard, secret redaction, working memory, reactivate_behavior, CRM bridge fix, credential broker, gateway healthcheck fix.",
674
+ "npmVersion": "0.9.217",
667
675
  "breakingChanges": [],
668
676
  "services": {
669
677
  "crm": {
670
- "image": "update.askexe.com/askexe/exe-crm:v0.9.15",
678
+ "image": "update.askexe.com/askexe/exe-crm:v0.9.44",
671
679
  "env": "CRM_IMAGE_TAG",
672
- "composeService": "exe-crm"
680
+ "composeService": "exe-crm",
681
+ "healthUrl": "http://127.0.0.1:3000/healthz"
673
682
  },
674
683
  "wiki": {
675
- "image": "update.askexe.com/askexe/exe-wiki:v0.9.11",
684
+ "image": "update.askexe.com/askexe/exe-wiki:v0.9.19",
676
685
  "env": "WIKI_IMAGE_TAG",
677
- "composeService": "exe-wiki"
686
+ "composeService": "exe-wiki",
687
+ "healthUrl": "http://127.0.0.1:3001/api/ping"
678
688
  },
679
689
  "exe-os": {
680
- "image": "update.askexe.com/askexe/exe-os:v0.9.159",
690
+ "image": "update.askexe.com/askexe/exe-os:v0.9.217",
681
691
  "env": "EXE_OS_IMAGE_TAG",
682
- "composeService": "exe-os"
692
+ "composeService": "exe-os",
693
+ "healthUrl": "http://127.0.0.1:8765/health"
683
694
  },
684
695
  "gateway": {
685
- "image": "update.askexe.com/askexe/exe-gateway:v0.9.8",
696
+ "image": "update.askexe.com/askexe/exe-gateway:v0.9.9",
686
697
  "env": "GATEWAY_IMAGE_TAG",
687
- "composeService": "exe-gateway"
698
+ "composeService": "exe-gateway",
699
+ "healthUrl": "http://127.0.0.1:3100/health"
688
700
  },
689
701
  "monitorAgent": {
690
702
  "image": "update.askexe.com/askexe/exe-monitor-agent:v0.9.4",
@@ -694,14 +706,18 @@
694
706
  "monitorHub": {
695
707
  "image": "update.askexe.com/askexe/exe-monitor-hub:v0.9.4",
696
708
  "env": "MONITOR_HUB_IMAGE_TAG",
697
- "composeService": "exe-monitor-hub"
709
+ "composeService": "exe-monitor-hub",
710
+ "healthUrl": "http://127.0.0.1:8090/api/health"
698
711
  },
699
712
  "erp": {
700
713
  "image": "update.askexe.com/askexe/exe-erp:v0.1.0",
701
714
  "env": "ERP_IMAGE_TAG",
702
- "composeService": "exe-erp"
715
+ "composeService": "exe-erp",
716
+ "healthUrl": "http://127.0.0.1:8069/api/method/ping",
717
+ "deploymentScope": "customer",
718
+ "required": false
703
719
  }
704
720
  }
705
721
  }
706
722
  }
707
- }
723
+ }
@@ -5,15 +5,15 @@ import {
5
5
  getAllActiveAgents,
6
6
  resolveActiveAgentFromTmuxSession,
7
7
  writeActiveAgent
8
- } from "./chunk-EFDIUJWC.js";
8
+ } from "./chunk-ARWBYEVQ.js";
9
9
  import "./chunk-CVYC6DUW.js";
10
10
  import "./chunk-GJV3WDWM.js";
11
- import "./chunk-A77WVNU2.js";
11
+ import "./chunk-2VKESAZB.js";
12
12
  import "./chunk-OSYUNKBM.js";
13
13
  import "./chunk-FXU7JOXK.js";
14
14
  import "./chunk-WXW3XGWX.js";
15
15
  import "./chunk-LYH5HE24.js";
16
- import "./chunk-MLKGABMK.js";
16
+ import "./chunk-R5U7XKVJ.js";
17
17
  export {
18
18
  cleanupSessionMarkers,
19
19
  clearActiveAgent,
@@ -6,15 +6,15 @@ import {
6
6
  getAllActiveAgents,
7
7
  resolveActiveAgentFromTmuxSession,
8
8
  writeActiveAgent
9
- } from "./chunk-EFDIUJWC.js";
9
+ } from "./chunk-ARWBYEVQ.js";
10
10
  import "./chunk-CVYC6DUW.js";
11
11
  import "./chunk-GJV3WDWM.js";
12
- import "./chunk-A77WVNU2.js";
12
+ import "./chunk-2VKESAZB.js";
13
13
  import "./chunk-OSYUNKBM.js";
14
14
  import "./chunk-FXU7JOXK.js";
15
15
  import "./chunk-WXW3XGWX.js";
16
16
  import "./chunk-LYH5HE24.js";
17
- import "./chunk-MLKGABMK.js";
17
+ import "./chunk-R5U7XKVJ.js";
18
18
  export {
19
19
  cleanupSessionMarkers,
20
20
  clearActiveAgent,
@@ -2,7 +2,7 @@ import {
2
2
  getAgentContext,
3
3
  runWithAgent
4
4
  } from "./chunk-GJV3WDWM.js";
5
- import "./chunk-MLKGABMK.js";
5
+ import "./chunk-R5U7XKVJ.js";
6
6
  export {
7
7
  getAgentContext,
8
8
  runWithAgent
@@ -1,4 +1,4 @@
1
- import "./chunk-MLKGABMK.js";
1
+ import "./chunk-R5U7XKVJ.js";
2
2
 
3
3
  // src/lib/agent-heartbeat.ts
4
4
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
@@ -4,7 +4,7 @@ import {
4
4
  import "./chunk-JQ6TLNIV.js";
5
5
  import "./chunk-PRKVT4KN.js";
6
6
  import "./chunk-HF25XPZE.js";
7
- import "./chunk-MLKGABMK.js";
7
+ import "./chunk-R5U7XKVJ.js";
8
8
  export {
9
9
  agentLoop
10
10
  };
@@ -9,8 +9,8 @@ import {
9
9
  insertOntologyForMemory,
10
10
  ontologyPayload,
11
11
  stableId
12
- } from "./chunk-I7K6NY34.js";
13
- import "./chunk-MLKGABMK.js";
12
+ } from "./chunk-4ENKQHHV.js";
13
+ import "./chunk-R5U7XKVJ.js";
14
14
  export {
15
15
  clean,
16
16
  extractGoalCandidates,
@@ -1,4 +1,4 @@
1
- import "./chunk-MLKGABMK.js";
1
+ import "./chunk-R5U7XKVJ.js";
2
2
 
3
3
  // src/lib/adapters/asana.ts
4
4
  var ASANA_API_BASE = "https://app.asana.com/api/1.0";
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  disposeStore,
4
4
  initStore
5
- } from "./chunk-NJR54FIF.js";
5
+ } from "./chunk-OCR7A6VV.js";
6
6
  import "./chunk-CHCA3ZM2.js";
7
- import "./chunk-MLCYKSTC.js";
7
+ import "./chunk-QQZSKURD.js";
8
8
  import "./chunk-F7LU65PQ.js";
9
9
  import "./chunk-MP2AFCGL.js";
10
10
  import {
11
11
  getClient,
12
12
  getEmployeeNamesByRole,
13
13
  loadEmployeesSync
14
- } from "./chunk-A77WVNU2.js";
14
+ } from "./chunk-2VKESAZB.js";
15
15
  import "./chunk-OSYUNKBM.js";
16
16
  import "./chunk-FXU7JOXK.js";
17
17
  import "./chunk-6D23UNXU.js";
@@ -20,7 +20,7 @@ import "./chunk-LYH5HE24.js";
20
20
  import {
21
21
  isMainModule
22
22
  } from "./chunk-6Y4B3QF6.js";
23
- import "./chunk-MLKGABMK.js";
23
+ import "./chunk-R5U7XKVJ.js";
24
24
 
25
25
  // src/bin/backfill-metadata.ts
26
26
  var VALID_INTENTS = /* @__PURE__ */ new Set(["decision", "question", "correction", "report", "discovery", "implementation"]);
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-54GARVEX.js";
12
12
  import "./chunk-WXW3XGWX.js";
13
13
  import "./chunk-LYH5HE24.js";
14
- import "./chunk-MLKGABMK.js";
14
+ import "./chunk-R5U7XKVJ.js";
15
15
  export {
16
16
  acquireJobLock,
17
17
  cancelBackgroundJob,
@@ -2,7 +2,7 @@ import {
2
2
  BashTool
3
3
  } from "./chunk-5BS5ELMC.js";
4
4
  import "./chunk-AVE2B4DQ.js";
5
- import "./chunk-MLKGABMK.js";
5
+ import "./chunk-R5U7XKVJ.js";
6
6
  export {
7
7
  BashTool
8
8
  };
@@ -6,13 +6,13 @@ import {
6
6
  listSharedSkills,
7
7
  reactivateBehavior,
8
8
  storeBehavior
9
- } from "./chunk-7TKOVU64.js";
10
- import "./chunk-A77WVNU2.js";
9
+ } from "./chunk-FI4ESHBS.js";
10
+ import "./chunk-2VKESAZB.js";
11
11
  import "./chunk-OSYUNKBM.js";
12
12
  import "./chunk-FXU7JOXK.js";
13
13
  import "./chunk-WXW3XGWX.js";
14
14
  import "./chunk-LYH5HE24.js";
15
- import "./chunk-MLKGABMK.js";
15
+ import "./chunk-R5U7XKVJ.js";
16
16
  export {
17
17
  deactivateBehavior,
18
18
  listBehaviors,
@@ -8,7 +8,7 @@ import {
8
8
  } from "../chunk-54GARVEX.js";
9
9
  import "../chunk-WXW3XGWX.js";
10
10
  import "../chunk-LYH5HE24.js";
11
- import "../chunk-MLKGABMK.js";
11
+ import "../chunk-R5U7XKVJ.js";
12
12
 
13
13
  // src/bin/age-ontology-load.ts
14
14
  import { Client } from "pg";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  insertOntologyForBatch
4
- } from "../chunk-I7K6NY34.js";
4
+ } from "../chunk-4ENKQHHV.js";
5
5
  import {
6
6
  politeBatchPause,
7
7
  startManagedJob
@@ -9,20 +9,20 @@ import {
9
9
  import {
10
10
  disposeStore,
11
11
  initStore
12
- } from "../chunk-NJR54FIF.js";
12
+ } from "../chunk-OCR7A6VV.js";
13
13
  import "../chunk-CHCA3ZM2.js";
14
- import "../chunk-MLCYKSTC.js";
14
+ import "../chunk-QQZSKURD.js";
15
15
  import "../chunk-F7LU65PQ.js";
16
16
  import "../chunk-MP2AFCGL.js";
17
17
  import {
18
18
  getClient
19
- } from "../chunk-A77WVNU2.js";
19
+ } from "../chunk-2VKESAZB.js";
20
20
  import "../chunk-OSYUNKBM.js";
21
21
  import "../chunk-FXU7JOXK.js";
22
22
  import "../chunk-6D23UNXU.js";
23
23
  import "../chunk-WXW3XGWX.js";
24
24
  import "../chunk-LYH5HE24.js";
25
- import "../chunk-MLKGABMK.js";
25
+ import "../chunk-R5U7XKVJ.js";
26
26
 
27
27
  // src/bin/agentic-ontology-backfill.ts
28
28
  var BATCH_SIZE = 500;
@@ -1,25 +1,25 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  generateReflectionCheckpoints
4
- } from "../chunk-LZL5MGMH.js";
5
- import "../chunk-I7K6NY34.js";
4
+ } from "../chunk-5R7FJZWJ.js";
5
+ import "../chunk-4ENKQHHV.js";
6
6
  import {
7
7
  startManagedJob
8
8
  } from "../chunk-54GARVEX.js";
9
9
  import {
10
10
  initStore
11
- } from "../chunk-NJR54FIF.js";
11
+ } from "../chunk-OCR7A6VV.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
- import "../chunk-MLCYKSTC.js";
13
+ import "../chunk-QQZSKURD.js";
14
14
  import "../chunk-F7LU65PQ.js";
15
15
  import "../chunk-MP2AFCGL.js";
16
- import "../chunk-A77WVNU2.js";
16
+ import "../chunk-2VKESAZB.js";
17
17
  import "../chunk-OSYUNKBM.js";
18
18
  import "../chunk-FXU7JOXK.js";
19
19
  import "../chunk-6D23UNXU.js";
20
20
  import "../chunk-WXW3XGWX.js";
21
21
  import "../chunk-LYH5HE24.js";
22
- import "../chunk-MLKGABMK.js";
22
+ import "../chunk-R5U7XKVJ.js";
23
23
 
24
24
  // src/bin/agentic-reflection-backfill.ts
25
25
  async function main() {
@@ -3,27 +3,27 @@ import {
3
3
  clean,
4
4
  inferSemanticLabel,
5
5
  stableId
6
- } from "../chunk-I7K6NY34.js";
6
+ } from "../chunk-4ENKQHHV.js";
7
7
  import {
8
8
  politeBatchPause,
9
9
  startManagedJob
10
10
  } from "../chunk-54GARVEX.js";
11
11
  import {
12
12
  initStore
13
- } from "../chunk-NJR54FIF.js";
13
+ } from "../chunk-OCR7A6VV.js";
14
14
  import "../chunk-CHCA3ZM2.js";
15
- import "../chunk-MLCYKSTC.js";
15
+ import "../chunk-QQZSKURD.js";
16
16
  import "../chunk-F7LU65PQ.js";
17
17
  import "../chunk-MP2AFCGL.js";
18
18
  import {
19
19
  getClient
20
- } from "../chunk-A77WVNU2.js";
20
+ } from "../chunk-2VKESAZB.js";
21
21
  import "../chunk-OSYUNKBM.js";
22
22
  import "../chunk-FXU7JOXK.js";
23
23
  import "../chunk-6D23UNXU.js";
24
24
  import "../chunk-WXW3XGWX.js";
25
25
  import "../chunk-LYH5HE24.js";
26
- import "../chunk-MLKGABMK.js";
26
+ import "../chunk-R5U7XKVJ.js";
27
27
 
28
28
  // src/lib/agentic-llm-labeler.ts
29
29
  import OpenAI from "openai";