@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.
- package/deploy/compose/.env.customer.example +12 -0
- package/deploy/compose/.env.example +13 -1
- package/deploy/compose/cloudflared/config.yml.example +23 -4
- package/deploy/compose/docker-compose.yml +27 -7
- package/deploy/compose/generate-env.ts +49 -1
- package/deploy/compose/init-db.sql +10 -2
- package/deploy/stack-manifests/v0.9.json +113 -9
- package/dist/{active-agent-7MIVNARP.js → active-agent-KO4ZWDXE.js} +4 -4
- package/dist/{active-agent-55C5Y3XL.js → active-agent-KP2O52HA.js} +4 -4
- package/dist/{agentic-ontology-NCAQIQQI.js → agentic-ontology-DXE5J6I5.js} +1 -1
- package/dist/{backfill-metadata-3JP7EZ2U.js → backfill-metadata-DFTIGPXP.js} +7 -7
- package/dist/{background-jobs-RWL46VRD.js → background-jobs-CRXY7T4Y.js} +2 -2
- package/dist/{behaviors-6BGALYGW.js → behaviors-BL3QCHBT.js} +4 -4
- package/dist/bin/age-ontology-load.js +2 -2
- package/dist/bin/agentic-ontology-backfill.js +9 -9
- package/dist/bin/agentic-reflection-backfill.js +10 -10
- package/dist/bin/agentic-semantic-label.js +9 -9
- package/dist/bin/backfill-conversations.js +9 -9
- package/dist/bin/backfill-responses.js +9 -9
- package/dist/bin/backfill-vectors.js +11 -11
- package/dist/bin/bulk-sync-postgres.js +10 -10
- package/dist/bin/cc-doctor.js +3 -3
- package/dist/bin/cleanup-stale-review-tasks.js +13 -13
- package/dist/bin/cli.js +27 -22
- package/dist/bin/exe-agent-config.js +4 -4
- package/dist/bin/exe-agent.js +8 -8
- package/dist/bin/exe-assign.js +11 -11
- package/dist/bin/exe-boot.js +22 -22
- package/dist/bin/exe-call.js +5 -5
- package/dist/bin/exe-cloud.js +8 -8
- package/dist/bin/exe-dispatch.js +13 -13
- package/dist/bin/exe-doctor.js +1 -1
- package/dist/bin/exe-export-behaviors.js +10 -10
- package/dist/bin/exe-forget.js +9 -9
- package/dist/bin/exe-gateway.js +8 -8
- package/dist/bin/exe-healthcheck.js +3 -3
- package/dist/bin/exe-heartbeat.js +13 -13
- package/dist/bin/exe-kill.js +18 -18
- package/dist/bin/exe-launch-agent.js +22 -22
- package/dist/bin/exe-new-employee.js +8 -8
- package/dist/bin/exe-pending-messages.js +14 -14
- package/dist/bin/exe-pending-notifications.js +13 -13
- package/dist/bin/exe-pending-reviews.js +13 -13
- package/dist/bin/exe-rename.js +5 -5
- package/dist/bin/exe-review.js +17 -17
- package/dist/bin/exe-search.js +8 -8
- package/dist/bin/exe-session-cleanup.js +20 -20
- package/dist/bin/exe-settings.js +7 -7
- package/dist/bin/exe-start-codex.js +14 -14
- package/dist/bin/exe-start-opencode.js +11 -11
- package/dist/bin/exe-status.js +14 -14
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +4 -4
- package/dist/bin/git-sweep.js +13 -13
- package/dist/bin/graph-backfill.js +8 -8
- package/dist/bin/graph-export.js +8 -8
- package/dist/bin/import-history.js +10 -10
- package/dist/bin/install.js +7 -7
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +5 -5
- package/dist/bin/postgres-agentic-reflection-backfill.js +4 -4
- package/dist/bin/postgres-agentic-semantic-backfill.js +3 -3
- package/dist/bin/scan-tasks.js +13 -13
- package/dist/bin/setup.js +3 -3
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +324 -20
- package/dist/bin/verify-stack.js +3 -383
- package/dist/bin/vps-backup.js +8 -160
- package/dist/bin/vps-health-gate.js +10 -220
- package/dist/{branding-I7YYX4FM.js → branding-XWMO5EDR.js} +1 -1
- package/dist/{capacity-monitor-IFCZKRPG.js → capacity-monitor-4CSBC7AP.js} +14 -14
- package/dist/{catchup-brief-PIDRWXOW.js → catchup-brief-LF5Z6Q6E.js} +17 -17
- package/dist/{chunk-FGJUGDNM.js → chunk-222SI7QC.js} +14 -14
- package/dist/{chunk-JZMVLAZ2.js → chunk-2WBBVEIB.js} +1 -1
- package/dist/{chunk-JDOE33C2.js → chunk-3V53HH5T.js} +4 -4
- package/dist/{chunk-2KZSKURT.js → chunk-57SULZJ2.js} +3 -3
- package/dist/{chunk-QI4IXJN7.js → chunk-5CHYEKMH.js} +7 -4
- package/dist/chunk-5DMAMQNU.js +168 -0
- package/dist/{chunk-PLQAFB3Z.js → chunk-5JIG2FP2.js} +1 -1
- package/dist/{chunk-UWQ3XCDG.js → chunk-5WK7X5CF.js} +2 -2
- package/dist/{chunk-DDPAQ4LT.js → chunk-6JAGJN77.js} +2 -2
- package/dist/{chunk-7F37NMKB.js → chunk-73UE2PHT.js} +1 -1
- package/dist/{chunk-JL3K5OTS.js → chunk-7IZWLMTP.js} +1 -1
- package/dist/{chunk-ELRRL2NC.js → chunk-A4K2ZT6N.js} +4 -4
- package/dist/{chunk-GWYADLIW.js → chunk-AHXEU5XB.js} +1 -1
- package/dist/{chunk-WSHMBME6.js → chunk-AWRL5FGM.js} +19 -78
- package/dist/{chunk-OMPCFLWA.js → chunk-BSPOEYAO.js} +1 -1
- package/dist/{chunk-DHVC4RN7.js → chunk-CBDPEJOR.js} +5 -5
- package/dist/{chunk-2H55BIV2.js → chunk-CEJO7244.js} +2 -2
- package/dist/{chunk-FKWZVO2T.js → chunk-CPXGLSIL.js} +3 -3
- package/dist/{chunk-HX5G4AS4.js → chunk-CWITU7DW.js} +2 -2
- package/dist/{chunk-5GG7MTRJ.js → chunk-DGBGIXCC.js} +4 -4
- package/dist/{chunk-IQXPMK46.js → chunk-DLZYAYVM.js} +60 -14
- package/dist/{chunk-PPYWQV2M.js → chunk-DR5BGWFR.js} +2 -2
- package/dist/{chunk-BZWKTFEB.js → chunk-ENVRFBTB.js} +2 -2
- package/dist/{chunk-DUVO2PUJ.js → chunk-F3GM6OOP.js} +4 -4
- package/dist/{chunk-HNLPLLE6.js → chunk-F7JLZXHC.js} +60 -26
- package/dist/{chunk-AL4DRC5H.js → chunk-FFLILAG6.js} +1 -1
- package/dist/{chunk-BZNI4OK5.js → chunk-GHEWRYMY.js} +18 -2
- package/dist/{chunk-C7SFJO5F.js → chunk-GHT4REOS.js} +5 -5
- package/dist/{chunk-FBWUJEXS.js → chunk-HANG6NLF.js} +4 -6
- package/dist/{chunk-5NJ4A4ZA.js → chunk-HCBMPZDT.js} +1 -1
- package/dist/chunk-HOGTZLVU.js +244 -0
- package/dist/{chunk-IQSCZDBQ.js → chunk-I5PIBL56.js} +3 -3
- package/dist/chunk-IRHNV4GY.js +388 -0
- package/dist/{chunk-F4TCKCKK.js → chunk-ITZVPCBQ.js} +33 -12
- package/dist/{chunk-4HROS3GJ.js → chunk-IZVKWBIP.js} +1 -1
- package/dist/{chunk-DKI5BTBC.js → chunk-J7V7LPPX.js} +2 -2
- package/dist/{chunk-TOZ5NN5V.js → chunk-JLKUVK5J.js} +1 -1
- package/dist/{chunk-4SC65UBG.js → chunk-JLNXKG3K.js} +1 -1
- package/dist/{chunk-KVSQOG3W.js → chunk-K2BDE2B5.js} +4 -4
- package/dist/{chunk-KDJRFJDL.js → chunk-K333WOW4.js} +30 -2
- package/dist/{chunk-6LBCUA2A.js → chunk-KEZXW3RP.js} +1 -1
- package/dist/{chunk-W7G3GY4I.js → chunk-KLQI7QY4.js} +3 -3
- package/dist/{chunk-UODVZGBQ.js → chunk-KN7LPTIB.js} +1 -1
- package/dist/{chunk-ESKBZN4Q.js → chunk-L4WRH3DL.js} +1 -1
- package/dist/{chunk-VFQKKMKE.js → chunk-LAOB5BKV.js} +2 -2
- package/dist/{chunk-MAN5LZQ4.js → chunk-LQSFP2BV.js} +1 -1
- package/dist/{chunk-EJ7LOTV2.js → chunk-LSFHEMVI.js} +9 -9
- package/dist/{chunk-RA2RO27E.js → chunk-MCESA5UW.js} +2 -2
- package/dist/{chunk-UPMHG7ET.js → chunk-MEIHREPM.js} +1 -1
- package/dist/{chunk-D5C56WO3.js → chunk-MOZ2YQ54.js} +1 -1
- package/dist/{chunk-CLGB3FGL.js → chunk-MPX3TRMQ.js} +2 -2
- package/dist/{chunk-5R75ODPS.js → chunk-NBY6R37W.js} +61 -232
- package/dist/{chunk-RWFGXC35.js → chunk-NEYQAEYU.js} +7 -7
- package/dist/{chunk-MBHZDXGN.js → chunk-NL35XNLI.js} +1 -1
- package/dist/{chunk-TPQVLYSV.js → chunk-NLGMHPEN.js} +1 -1
- package/dist/{chunk-5LMH4YHG.js → chunk-NRVV4Y5V.js} +4 -4
- package/dist/{chunk-GN5VHPPR.js → chunk-NVZR7T4E.js} +1 -1
- package/dist/{chunk-Y2L7RMGH.js → chunk-NWBHL5PI.js} +1 -1
- package/dist/{chunk-YPYDLW75.js → chunk-OEMX65EA.js} +1 -1
- package/dist/{chunk-UAFUGPKO.js → chunk-ONAQAL3O.js} +1 -1
- package/dist/{chunk-AVM7XZE4.js → chunk-OWQ3CCYJ.js} +7 -6
- package/dist/{chunk-K525WLL7.js → chunk-PI6V23GF.js} +5 -4
- package/dist/{chunk-AURM7FOT.js → chunk-Q2OAQPWY.js} +1 -1
- package/dist/{chunk-FB5VRO5S.js → chunk-QLDWASTX.js} +28 -32
- package/dist/{chunk-EPWDTS2Q.js → chunk-QMTGMCWB.js} +1 -1
- package/dist/{chunk-VI2FJY2M.js → chunk-QP4FHME2.js} +2 -2
- package/dist/{chunk-NJWK6J4N.js → chunk-QUNKPR6Y.js} +5 -5
- package/dist/{chunk-O6DAF2TY.js → chunk-QUZVAHO7.js} +2 -2
- package/dist/{chunk-VHKL4S4T.js → chunk-RRHSONV5.js} +2 -2
- package/dist/{chunk-GPF6X6HE.js → chunk-RYDHEWYY.js} +2 -2
- package/dist/{chunk-C2YS2AA6.js → chunk-U7WOVXBB.js} +2 -2
- package/dist/chunk-UIRWDGMB.js +230 -0
- package/dist/{chunk-FE45RXGC.js → chunk-V2GZMY6O.js} +1 -1
- package/dist/{chunk-PATCHPNY.js → chunk-VHALWCUO.js} +1 -1
- package/dist/{chunk-HLZSC5WK.js → chunk-VQAP35DA.js} +20 -18
- package/dist/{chunk-452XB7OZ.js → chunk-VRIMTCX2.js} +1 -1
- package/dist/{chunk-SUNYJ6YE.js → chunk-VT2B5BHM.js} +1 -1
- package/dist/{chunk-UZIJDYDA.js → chunk-VWVJVQDH.js} +2 -2
- package/dist/{chunk-TRZ5KA2R.js → chunk-VXIMSRTO.js} +2 -2
- package/dist/{chunk-DAZIV4QZ.js → chunk-WCXZF42W.js} +1 -1
- package/dist/{chunk-6OJJF4WP.js → chunk-XJUUWHVN.js} +1 -1
- package/dist/{chunk-F7LU65PQ.js → chunk-Y25OJWOQ.js} +14 -2
- package/dist/{chunk-2ORPA23Y.js → chunk-YMXXD2GW.js} +36 -8
- package/dist/{chunk-5WLMF6PL.js → chunk-YMZHTTOQ.js} +1 -1
- package/dist/{chunk-7DIDOQCX.js → chunk-YRVW57UW.js} +139 -125
- package/dist/{chunk-BRFH5X7G.js → chunk-Z7VDUS6L.js} +1 -1
- package/dist/{chunk-YFE6W75D.js → chunk-ZKFPHJIJ.js} +1 -1
- package/dist/{chunk-5WUTKDH6.js → chunk-ZVXJSQOR.js} +1 -1
- package/dist/{co-activation-VB4CJQZB.js → co-activation-L6I2LSJO.js} +3 -3
- package/dist/{co-occurrence-XZQJJIBM.js → co-occurrence-QARWYUAY.js} +3 -3
- package/dist/{code-context-index-FCQOPUEA.js → code-context-index-UIYQRDHD.js} +4 -4
- package/dist/{content-extractor-SPSH5X33.js → content-extractor-EYRVGD6O.js} +2 -2
- package/dist/{conversation-wiki-populator-YU35LNRK.js → conversation-wiki-populator-L7O6F3BB.js} +1 -1
- package/dist/{crdt-sync-KXETGV45.js → crdt-sync-R6YROKDH.js} +1 -1
- package/dist/{crm-webhook-JMOAHTJ6.js → crm-webhook-WK3PYJJK.js} +2 -2
- package/dist/{cto-delegation-gate-IJ3KQIKF.js → cto-delegation-gate-5JZORQIT.js} +12 -12
- package/dist/{daemon-auth-2IZACWSG.js → daemon-auth-2HEOL6VG.js} +2 -2
- package/dist/{daemon-orchestration-ZCY4GEI3.js → daemon-orchestration-BJ3T5MMF.js} +16 -15
- package/dist/{db-backup-HLX5OLIV.js → db-backup-EWS52P2W.js} +2 -2
- package/dist/{dreaming-2CJML3TU.js → dreaming-BOSBDRI3.js} +13 -13
- package/dist/{entity-boost-T5IYWWDZ.js → entity-boost-6ZVX7DFB.js} +26 -2
- package/dist/{exe-drift-P5OIRNSH.js → exe-drift-WRE6RADZ.js} +4 -4
- package/dist/{exe-export-QQL2H322.js → exe-export-7N5PBCMK.js} +8 -8
- package/dist/{exe-import-V4RJCUEP.js → exe-import-YOOE7S3H.js} +8 -8
- package/dist/{exe-key-MENJGDD7.js → exe-key-GXJSTCX2.js} +4 -4
- package/dist/{exe-org-3FNET2J7.js → exe-org-42YMQL75.js} +2 -2
- package/dist/{exe-snapshot-YRARQE7F.js → exe-snapshot-ODUCFW7G.js} +18 -18
- package/dist/{fast-db-init-HIJWWKAO.js → fast-db-init-YSR7RMVZ.js} +1 -1
- package/dist/{founder-context-BQ5NBDUV.js → founder-context-Q2HUCZX4.js} +2 -2
- package/dist/gateway/index.js +9 -9
- package/dist/{gateway-client-YGSA5QMC.js → gateway-client-4QXHKN5C.js} +1 -1
- package/dist/{git-staleness-IHTKCUMN.js → git-staleness-BJDTCDPC.js} +3 -3
- package/dist/{git-task-sweep-5ZPNQS7Y.js → git-task-sweep-L3U3T5HM.js} +13 -13
- package/dist/{global-procedures-XHDIZRJU.js → global-procedures-HCHEHKY2.js} +4 -4
- package/dist/{graph-auto-extract-5TPT67GP.js → graph-auto-extract-FP5C76LS.js} +3 -3
- package/dist/{hook-integrity-SB53Y7UK.js → hook-integrity-2OU3T6UC.js} +1 -1
- package/dist/hooks/bug-report-worker.js +15 -14
- package/dist/hooks/codex-stop-task-finalizer.js +15 -14
- package/dist/hooks/commit-complete.js +16 -16
- package/dist/hooks/error-recall.js +10 -10
- package/dist/hooks/exe-heartbeat-hook.js +5 -5
- package/dist/hooks/ingest-worker.js +8 -8
- package/dist/hooks/ingest.js +13 -13
- package/dist/hooks/instructions-loaded.js +7 -7
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +6 -6
- package/dist/hooks/post-compact.js +15 -15
- package/dist/hooks/post-tool-combined.js +7 -7
- package/dist/hooks/pre-compact.js +20 -20
- package/dist/hooks/pre-tool-use.js +28 -25
- package/dist/hooks/prompt-submit.js +62 -31
- package/dist/hooks/session-end.js +26 -26
- package/dist/hooks/session-start.js +39 -15
- package/dist/hooks/stop.js +22 -22
- package/dist/hooks/subagent-stop.js +15 -15
- package/dist/hooks/summary-worker.js +32 -27
- package/dist/index.js +21 -21
- package/dist/{installer-AMZM4MLS.js → installer-AWMUCRN4.js} +7 -7
- package/dist/{installer-KT5FW4CN.js → installer-HB3NH6FG.js} +9 -9
- package/dist/{installer-HW74W3IT.js → installer-RU6EVOBL.js} +6 -6
- package/dist/{intercom-queue-RNM6EPGA.js → intercom-queue-A6UJEFIF.js} +1 -1
- package/dist/{key-backup-status-OZ2CXUDW.js → key-backup-status-4YKCV4ZV.js} +1 -1
- package/dist/lib/agent-config.js +2 -2
- package/dist/lib/cloud-sync.js +10 -8
- package/dist/lib/config.js +1 -1
- package/dist/lib/consolidation.js +8 -8
- package/dist/lib/database.js +3 -3
- package/dist/lib/db-daemon-client.js +3 -3
- package/dist/lib/db.js +3 -3
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/embedder.js +4 -4
- package/dist/lib/employee-templates.js +5 -5
- package/dist/lib/employees.js +3 -3
- package/dist/lib/exe-daemon-client.js +3 -3
- package/dist/lib/exe-daemon.js +105 -74
- package/dist/lib/hybrid-search.js +8 -8
- package/dist/lib/identity.js +3 -3
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +13 -13
- package/dist/lib/post-tool-memory.js +3 -3
- package/dist/lib/reminders.js +4 -4
- package/dist/lib/schedules.js +8 -8
- package/dist/lib/session-registry.js +5 -5
- package/dist/lib/skill-learning.js +5 -5
- package/dist/lib/store.js +7 -7
- package/dist/lib/task-router.js +4 -4
- package/dist/lib/tasks.js +14 -13
- package/dist/lib/tmux-routing.js +12 -12
- package/dist/lib/token-spend.js +4 -4
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-XJDIL6OZ.js → license-gate-6JQQFBHS.js} +3 -3
- package/dist/mcp/register-tools.js +68 -67
- package/dist/mcp/server.js +70 -69
- package/dist/mcp/tools/complete-reminder.js +5 -5
- package/dist/mcp/tools/create-reminder.js +5 -5
- package/dist/mcp/tools/create-task.js +16 -15
- package/dist/mcp/tools/deactivate-behavior.js +6 -6
- package/dist/mcp/tools/list-reminders.js +5 -5
- package/dist/mcp/tools/list-tasks.js +16 -15
- package/dist/mcp/tools/send-message.js +15 -15
- package/dist/mcp/tools/update-task.js +15 -14
- package/dist/{mcp-http-config-BXX3RZPR.js → mcp-http-config-XIJR5P2Z.js} +4 -4
- package/dist/{memory-cards-KRTP5GFM.js → memory-cards-H4BJJ5OK.js} +3 -3
- package/dist/{memory-graph-extractor-G532PUHC.js → memory-graph-extractor-SDGM3GVR.js} +4 -4
- package/dist/{memory-poisoning-defense-HJM3FQA3.js → memory-poisoning-defense-UVU67DGJ.js} +3 -3
- package/dist/{memory-queue-FTNBWLS4.js → memory-queue-FNT5WHXP.js} +2 -2
- package/dist/{memory-queue-client-DHSHEIHQ.js → memory-queue-client-JZCFYTWQ.js} +5 -5
- package/dist/{memory-reflection-RANRFUQL.js → memory-reflection-GGB5K35L.js} +3 -3
- package/dist/{notifications-4P2PVEOT.js → notifications-P3XQZDTH.js} +12 -12
- package/dist/{orchestration-events-IYTASMSN.js → orchestration-events-25WEKUKH.js} +4 -4
- package/dist/{orchestration-phase-SGA7PJ5G.js → orchestration-phase-C26XVKLZ.js} +2 -2
- package/dist/{orchestrator-VKVHZ4MV.js → orchestrator-VIXTY4E4.js} +14 -14
- package/dist/{pipeline-router-E4L5BDXN.js → pipeline-router-S5PE5U6B.js} +4 -4
- package/dist/{plan-limits-5O5QG55H.js → plan-limits-DGIVM42H.js} +5 -5
- package/dist/{prediction-log-OMWHW7FL.js → prediction-log-DOEOHDHS.js} +1 -1
- package/dist/{project-boot-WMI6CWRX.js → project-boot-4ZL2W7DN.js} +12 -2
- package/dist/{projection-worker-54KRNQSO.js → projection-worker-GG2W5OM3.js} +3 -3
- package/dist/{push-notifications-E2XXEWJZ.js → push-notifications-AMHVR6DF.js} +2 -2
- package/dist/{reranker-4NTUFNYT.js → reranker-UCPLQZE2.js} +2 -2
- package/dist/{review-polling-BFRJDLUA.js → review-polling-P2MWEXLR.js} +13 -13
- package/dist/runtime/index.js +15 -15
- package/dist/{session-events-KCZCWGE4.js → session-events-5CD66R6U.js} +13 -13
- package/dist/{session-kill-telemetry-TMNIDYWY.js → session-kill-telemetry-7FBHTEDN.js} +4 -4
- package/dist/{session-scope-DRZBQ32Y.js → session-scope-VMIPAZU7.js} +12 -12
- package/dist/{setup-wizard-TQKGDAHO.js → setup-wizard-BNR47URR.js} +3 -3
- package/dist/{shard-manager-G6MHCO7X.js → shard-manager-VGA2TYHM.js} +2 -2
- package/dist/{skill-refinement-Z5SWD3AM.js → skill-refinement-NRG4WWRW.js} +3 -3
- package/dist/stack-release-PFZI22WC.js +521 -0
- package/dist/{stack-update-NO5MNARG.js → stack-update-JIWJGGLX.js} +3 -3
- package/dist/{steward-gate-7DWYS5AT.js → steward-gate-L7DJMF4C.js} +4 -4
- package/dist/{task-enforcement-2VL5J6JJ.js → task-enforcement-XQL77PZH.js} +52 -12
- package/dist/{task-scope-YHALISIB.js → task-scope-R3XKBIHL.js} +12 -12
- package/dist/{tasks-crud-JXZEBZFR.js → tasks-crud-DQOG2NPG.js} +12 -12
- package/dist/tasks-notify-4EQYG52H.js +37 -0
- package/dist/{tasks-review-PGPYJQF5.js → tasks-review-XPFJ4DSJ.js} +12 -12
- package/dist/{telemetry-upload-H7OJNBIF.js → telemetry-upload-OT5B5HUY.js} +7 -7
- package/dist/{token-budget-JJ7JQIA2.js → token-budget-D2LQKCAV.js} +3 -3
- package/dist/{tool-capability-index-WIV4K3FB.js → tool-capability-index-FAJ5ZHDF.js} +1 -1
- package/dist/{tool-telemetry-W4LFCHFT.js → tool-telemetry-QIF5BCLF.js} +1 -1
- package/dist/tui/App.js +26 -26
- package/dist/{tui-data-72U6N2DC.js → tui-data-UEV2QOR3.js} +108 -12
- package/dist/{whatsapp-config-W63RQ3AU.js → whatsapp-config-GOSELKTE.js} +7 -0
- package/dist/{worker-gate-SCSN6IHI.js → worker-gate-PRCKA23W.js} +2 -2
- package/dist/{workflow-engine-OICYBE4F.js → workflow-engine-7X6LLH3M.js} +2 -2
- package/dist/{worktree-JXN4RCWC.js → worktree-RICSCT2S.js} +5 -5
- package/package.json +1 -1
- package/release-notes.json +137 -297
- package/stack.release.json +4 -3
- package/dist/preflight-EAH2MI76.js +0 -287
- /package/dist/{chunk-H42LEGLB.js → chunk-AQBEG33D.js} +0 -0
- /package/dist/{chunk-AU5426YP.js → chunk-B7JGEDVE.js} +0 -0
- /package/dist/{chunk-YFDDTHNM.js → chunk-JXI4XUTV.js} +0 -0
- /package/dist/{chunk-SNYDRHV3.js → chunk-U3DUFHOT.js} +0 -0
- /package/dist/{chunk-N2XUH2HQ.js → chunk-VBPC7IC7.js} +0 -0
- /package/dist/{chunk-HTUJBTBM.js → chunk-VUS6WXQ3.js} +0 -0
- /package/dist/{chunk-NOLIN2YI.js → chunk-XAYRZHLV.js} +0 -0
- /package/dist/{core-memory-VOBGGB2Q.js → core-memory-4KAIKQRQ.js} +0 -0
- /package/dist/{message-queue-client-KAJN6TIJ.js → message-queue-client-S6W5VMJV.js} +0 -0
- /package/dist/{oauth-server-QEXRSXEP.js → oauth-server-2ESBZB7F.js} +0 -0
- /package/dist/{webhook-pipe-LY4XEDL7.js → webhook-pipe-ZRUVOG5H.js} +0 -0
- /package/dist/{wiki-acl-M3OR547L.js → wiki-acl-MFLSS6DE.js} +0 -0
- /package/dist/{wiki-client-MAFYBXCQ.js → wiki-client-GBPR45BQ.js} +0 -0
|
@@ -74,6 +74,18 @@ MONITOR_AGENT_LISTEN=:45876
|
|
|
74
74
|
# --- AskExe central monitoring hub ---
|
|
75
75
|
# Not included on customer VPSs. Hygo/customer deployments run exe-monitor-agent above, never the hub.
|
|
76
76
|
|
|
77
|
+
# --- Cloudflare Tunnel ---
|
|
78
|
+
# Token-based tunnel (recommended). Get your token:
|
|
79
|
+
# 1. dash.cloudflare.com > Zero Trust > Networks > Tunnels > Create tunnel
|
|
80
|
+
# 2. Choose "Cloudflared" connector, name your tunnel (e.g. "hygo-vps")
|
|
81
|
+
# 3. Copy the token shown during setup
|
|
82
|
+
# Then configure public hostnames in the dashboard (no config.yml needed):
|
|
83
|
+
# crm.<domain> → http://exe-crm:3000
|
|
84
|
+
# wiki.<domain> → http://exe-wiki:3001
|
|
85
|
+
# gateway.<domain> → http://exe-gateway:3100
|
|
86
|
+
# SET_MANUALLY
|
|
87
|
+
CLOUDFLARE_TUNNEL_TOKEN=CHANGEME_CLOUDFLARE_TUNNEL_TOKEN
|
|
88
|
+
|
|
77
89
|
# --- License ---
|
|
78
90
|
# injected by deploy_client
|
|
79
91
|
EXE_LICENSE_KEY=CHANGEME_EXE_LICENSE_KEY
|
|
@@ -71,7 +71,7 @@ ERROR_REPORTING_ENABLED=true
|
|
|
71
71
|
MONITOR_ERROR_URL=http://exe-monitor-hub:8090/api/exe-monitor/errors
|
|
72
72
|
|
|
73
73
|
# --- ERP (optional — Exe ERP, Frappe/ERPNext fork) ---
|
|
74
|
-
ERP_IMAGE_TAG=update.askexe.com/askexe/exe-erp:v0.
|
|
74
|
+
ERP_IMAGE_TAG=update.askexe.com/askexe/exe-erp:v0.2.0-final3
|
|
75
75
|
ERP_ADMIN_PASSWORD=CHANGEME_ERP_ADMIN_PASSWORD
|
|
76
76
|
ERP_SITE_NAME=erp.askexe.com
|
|
77
77
|
ERP_API_PORT=8069
|
|
@@ -100,6 +100,18 @@ MONITOR_DISABLE_PASSWORD_AUTH=false
|
|
|
100
100
|
MONITOR_USER_CREATION=true
|
|
101
101
|
MONITOR_SHARE_ALL_SYSTEMS=false
|
|
102
102
|
|
|
103
|
+
# --- Cloudflare Tunnel ---
|
|
104
|
+
# Token-based tunnel (recommended). Get your token:
|
|
105
|
+
# 1. dash.cloudflare.com > Zero Trust > Networks > Tunnels > Create tunnel
|
|
106
|
+
# 2. Choose "Cloudflared" connector, name your tunnel (e.g. "hygo-vps")
|
|
107
|
+
# 3. Copy the token shown during setup
|
|
108
|
+
# Then configure public hostnames in the dashboard (no config.yml needed):
|
|
109
|
+
# crm.<domain> → http://exe-crm:3000
|
|
110
|
+
# wiki.<domain> → http://exe-wiki:3001
|
|
111
|
+
# gateway.<domain> → http://exe-gateway:3100
|
|
112
|
+
# SET_MANUALLY
|
|
113
|
+
CLOUDFLARE_TUNNEL_TOKEN=CHANGEME_CLOUDFLARE_TUNNEL_TOKEN
|
|
114
|
+
|
|
103
115
|
# --- License ---
|
|
104
116
|
# injected by deploy_client
|
|
105
117
|
EXE_LICENSE_KEY=CHANGEME_EXE_LICENSE_KEY
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
-
# Cloudflare Tunnel config —
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
1
|
+
# Cloudflare Tunnel config — advanced (config file) mode.
|
|
2
|
+
#
|
|
3
|
+
# RECOMMENDED: Use the token approach instead.
|
|
4
|
+
# 1. Create a tunnel at dash.cloudflare.com > Zero Trust > Networks > Tunnels
|
|
5
|
+
# 2. Copy the tunnel token and set CLOUDFLARE_TUNNEL_TOKEN in .env
|
|
6
|
+
# 3. Configure public hostnames in the Cloudflare dashboard:
|
|
7
|
+
# crm.<domain> → http://exe-crm:3000
|
|
8
|
+
# wiki.<domain> → http://exe-wiki:3001
|
|
9
|
+
# gateway.<domain> → http://exe-gateway:3100
|
|
10
|
+
# erp.<domain> → http://exe-erp:8000
|
|
11
|
+
# monitor.<domain> → http://exe-monitor-hub:8090
|
|
12
|
+
# auth.<domain> → http://gotrue:9999
|
|
13
|
+
# api.<domain> → http://exe-os:8765
|
|
14
|
+
# No config.yml or credentials file needed — the token embeds everything.
|
|
15
|
+
#
|
|
16
|
+
# ADVANCED (config file mode): only needed if you want to manage routes locally
|
|
17
|
+
# instead of via the Cloudflare dashboard. Leave CLOUDFLARE_TUNNEL_TOKEN empty
|
|
18
|
+
# and edit docker-compose.yml cloudflared command to use:
|
|
19
|
+
# tunnel --config /etc/cloudflared/config.yml run
|
|
20
|
+
# Then copy this file to config.yml and fill in TUNNEL_ID + credentials.
|
|
21
|
+
#
|
|
22
|
+
# Get your tunnel UUID: cloudflared tunnel list
|
|
23
|
+
# Get credentials JSON: cloudflared tunnel token --cred-file=<path> <name>
|
|
5
24
|
|
|
6
25
|
tunnel: CHANGEME_TUNNEL_ID
|
|
7
26
|
credentials-file: /etc/cloudflared/CHANGEME_TUNNEL_ID.json
|
|
@@ -503,15 +503,35 @@ services:
|
|
|
503
503
|
|
|
504
504
|
# ------------------------------------------------------------------
|
|
505
505
|
# Infrastructure — Cloudflare Tunnel (replaces nginx + SSL certs)
|
|
506
|
+
#
|
|
507
|
+
# Token approach (recommended): create a tunnel in the Cloudflare dashboard,
|
|
508
|
+
# copy the tunnel token, set CLOUDFLARE_TUNNEL_TOKEN in .env.
|
|
509
|
+
# Route CRM/wiki/gateway hostnames in the Cloudflare dashboard under
|
|
510
|
+
# the tunnel's Public Hostnames tab — no config.yml needed.
|
|
511
|
+
#
|
|
512
|
+
# Advanced (config file): set CLOUDFLARE_TUNNEL_TOKEN= (empty) and
|
|
513
|
+
# populate cloudflared/config.yml with tunnel ID + credentials.
|
|
514
|
+
# See cloudflared/config.yml.example for the route mappings template.
|
|
506
515
|
# ------------------------------------------------------------------
|
|
507
516
|
|
|
508
517
|
cloudflared:
|
|
509
518
|
image: cloudflare/cloudflared:latest
|
|
510
519
|
container_name: cloudflared
|
|
511
520
|
restart: unless-stopped
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
521
|
+
# Token mode: `tunnel run --token <TOKEN>` — no local credentials file needed.
|
|
522
|
+
# The token embeds the tunnel ID + credentials; routes are managed in the CF dashboard.
|
|
523
|
+
command: >
|
|
524
|
+
tunnel run
|
|
525
|
+
--token ${CLOUDFLARE_TUNNEL_TOKEN}
|
|
526
|
+
depends_on:
|
|
527
|
+
exe-crm:
|
|
528
|
+
condition: service_healthy
|
|
529
|
+
exe-gateway:
|
|
530
|
+
condition: service_healthy
|
|
531
|
+
exe-wiki:
|
|
532
|
+
condition: service_healthy
|
|
533
|
+
environment:
|
|
534
|
+
TUNNEL_TOKEN: ${CLOUDFLARE_TUNNEL_TOKEN}
|
|
515
535
|
networks:
|
|
516
536
|
backend:
|
|
517
537
|
ipv4_address: 10.42.0.31
|
|
@@ -535,7 +555,7 @@ services:
|
|
|
535
555
|
# 4 services: gunicorn API, websocket, RQ worker, scheduler.
|
|
536
556
|
|
|
537
557
|
exe-erp:
|
|
538
|
-
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.
|
|
558
|
+
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.2.0-final3}
|
|
539
559
|
container_name: exe-erp
|
|
540
560
|
restart: unless-stopped
|
|
541
561
|
entrypoint: ["/usr/local/bin/entrypoint.sh"]
|
|
@@ -605,7 +625,7 @@ services:
|
|
|
605
625
|
options: { max-size: "10m", max-file: "3" }
|
|
606
626
|
|
|
607
627
|
exe-erp-websocket:
|
|
608
|
-
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.
|
|
628
|
+
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.2.0-final3}
|
|
609
629
|
container_name: exe-erp-websocket
|
|
610
630
|
restart: unless-stopped
|
|
611
631
|
entrypoint: []
|
|
@@ -635,7 +655,7 @@ services:
|
|
|
635
655
|
options: { max-size: "10m", max-file: "3" }
|
|
636
656
|
|
|
637
657
|
exe-erp-queue:
|
|
638
|
-
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.
|
|
658
|
+
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.2.0-final3}
|
|
639
659
|
container_name: exe-erp-queue
|
|
640
660
|
restart: unless-stopped
|
|
641
661
|
entrypoint: []
|
|
@@ -670,7 +690,7 @@ services:
|
|
|
670
690
|
options: { max-size: "10m", max-file: "3" }
|
|
671
691
|
|
|
672
692
|
exe-erp-scheduler:
|
|
673
|
-
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.
|
|
693
|
+
image: ${ERP_IMAGE_TAG:-update.askexe.com/askexe/exe-erp:v0.2.0-final3}
|
|
674
694
|
container_name: exe-erp-scheduler
|
|
675
695
|
restart: unless-stopped
|
|
676
696
|
entrypoint: []
|
|
@@ -69,7 +69,7 @@ export function generateEnv(options: GenerateEnvOptions): string {
|
|
|
69
69
|
"",
|
|
70
70
|
"# --- CRM ---",
|
|
71
71
|
`CRM_IMAGE_TAG=${CRM_IMAGE_TAG}`,
|
|
72
|
-
`CRM_SERVER_URL=https
|
|
72
|
+
`CRM_SERVER_URL=https://crm.${normalizedDomain}`,
|
|
73
73
|
`CRM_APP_SECRET=${randomSecret(RANDOM_SECRET_48)}`,
|
|
74
74
|
`EXE_CRM_ADMIN_TOKEN=${randomSecret(RANDOM_SECRET_48)}`,
|
|
75
75
|
`CRM_HOST_PORT=${CRM_HOST_PORT}`,
|
|
@@ -109,6 +109,20 @@ export function generateEnv(options: GenerateEnvOptions): string {
|
|
|
109
109
|
"# ANTHROPIC_API_KEY=",
|
|
110
110
|
`GATEWAY_HTTP_HOST_PORT=${GATEWAY_HTTP_HOST_PORT}`,
|
|
111
111
|
`GATEWAY_WS_HOST_PORT=${GATEWAY_WS_HOST_PORT}`,
|
|
112
|
+
"# GoTrue SSO — enable for unified auth across all services",
|
|
113
|
+
"GATEWAY_GOTRUE_URL=http://gotrue:9999",
|
|
114
|
+
"# Error forwarding to exe-monitor-hub (strongly recommended for production)",
|
|
115
|
+
"ERROR_REPORTING_ENABLED=true",
|
|
116
|
+
"MONITOR_ERROR_URL=http://exe-monitor-hub:8090/api/exe-monitor/errors",
|
|
117
|
+
"",
|
|
118
|
+
"# --- ERP (optional — Exe ERP, Frappe/ERPNext fork) ---",
|
|
119
|
+
"ERP_IMAGE_TAG=update.askexe.com/askexe/exe-erp:v0.2.0-final3",
|
|
120
|
+
`ERP_ADMIN_PASSWORD=${randomSecret(RANDOM_SECRET_32)}`,
|
|
121
|
+
`ERP_SITE_NAME=erp.${normalizedDomain}`,
|
|
122
|
+
"ERP_API_PORT=8069",
|
|
123
|
+
"ERP_WS_PORT=9069",
|
|
124
|
+
"# ERP_SENTRY_DSN=",
|
|
125
|
+
"# MONITOR_API_KEY= # shared with gateway error forwarding",
|
|
112
126
|
"",
|
|
113
127
|
"# --- Monitoring ---",
|
|
114
128
|
`MONITOR_HUB_IMAGE_TAG=${MONITOR_HUB_IMAGE_TAG}`,
|
|
@@ -120,6 +134,14 @@ export function generateEnv(options: GenerateEnvOptions): string {
|
|
|
120
134
|
`MONITOR_AGENT_LISTEN=${DEFAULT_MONITOR_AGENT_LISTEN}`,
|
|
121
135
|
"MONITOR_HUB_PORT=8090",
|
|
122
136
|
"",
|
|
137
|
+
"# --- Cloudflare Tunnel ---",
|
|
138
|
+
"# Token-based tunnel (recommended). Get your token:",
|
|
139
|
+
"# 1. dash.cloudflare.com > Zero Trust > Networks > Tunnels > Create tunnel",
|
|
140
|
+
"# 2. Choose \"Cloudflared\" connector, name your tunnel",
|
|
141
|
+
"# 3. Copy the token shown during setup",
|
|
142
|
+
MANUAL_VALUE_COMMENT,
|
|
143
|
+
"CLOUDFLARE_TUNNEL_TOKEN=",
|
|
144
|
+
"",
|
|
123
145
|
"# --- License ---",
|
|
124
146
|
LICENSE_KEY_COMMENT,
|
|
125
147
|
`EXE_LICENSE_KEY=${options.licenseKey ?? EXAMPLE_LICENSE_KEY}`,
|
|
@@ -194,6 +216,20 @@ export function generateExampleEnv(): string {
|
|
|
194
216
|
"# ANTHROPIC_API_KEY=CHANGEME_ANTHROPIC_API_KEY",
|
|
195
217
|
`GATEWAY_HTTP_HOST_PORT=${GATEWAY_HTTP_HOST_PORT}`,
|
|
196
218
|
`GATEWAY_WS_HOST_PORT=${GATEWAY_WS_HOST_PORT}`,
|
|
219
|
+
"# GoTrue SSO — enable for unified auth across all services",
|
|
220
|
+
"GATEWAY_GOTRUE_URL=http://gotrue:9999",
|
|
221
|
+
"# Error forwarding to exe-monitor-hub (strongly recommended for production)",
|
|
222
|
+
"ERROR_REPORTING_ENABLED=true",
|
|
223
|
+
"MONITOR_ERROR_URL=http://exe-monitor-hub:8090/api/exe-monitor/errors",
|
|
224
|
+
"",
|
|
225
|
+
"# --- ERP (optional — Exe ERP, Frappe/ERPNext fork) ---",
|
|
226
|
+
"ERP_IMAGE_TAG=update.askexe.com/askexe/exe-erp:v0.2.0-final3",
|
|
227
|
+
"ERP_ADMIN_PASSWORD=CHANGEME_ERP_ADMIN_PASSWORD",
|
|
228
|
+
"ERP_SITE_NAME=erp.askexe.com",
|
|
229
|
+
"ERP_API_PORT=8069",
|
|
230
|
+
"ERP_WS_PORT=9069",
|
|
231
|
+
"# ERP_SENTRY_DSN=",
|
|
232
|
+
"# MONITOR_API_KEY= # shared with gateway error forwarding",
|
|
197
233
|
"",
|
|
198
234
|
"# --- Monitoring agent (standard for managed customer VPSs) ---",
|
|
199
235
|
`MONITOR_AGENT_IMAGE_TAG=${MONITOR_AGENT_IMAGE_TAG}`,
|
|
@@ -216,6 +252,18 @@ export function generateExampleEnv(): string {
|
|
|
216
252
|
"MONITOR_USER_CREATION=true",
|
|
217
253
|
"MONITOR_SHARE_ALL_SYSTEMS=false",
|
|
218
254
|
"",
|
|
255
|
+
"# --- Cloudflare Tunnel ---",
|
|
256
|
+
"# Token-based tunnel (recommended). Get your token:",
|
|
257
|
+
"# 1. dash.cloudflare.com > Zero Trust > Networks > Tunnels > Create tunnel",
|
|
258
|
+
"# 2. Choose \"Cloudflared\" connector, name your tunnel (e.g. \"hygo-vps\")",
|
|
259
|
+
"# 3. Copy the token shown during setup",
|
|
260
|
+
"# Then configure public hostnames in the dashboard (no config.yml needed):",
|
|
261
|
+
"# crm.<domain> → http://exe-crm:3000",
|
|
262
|
+
"# wiki.<domain> → http://exe-wiki:3001",
|
|
263
|
+
"# gateway.<domain> → http://exe-gateway:3100",
|
|
264
|
+
MANUAL_VALUE_COMMENT,
|
|
265
|
+
"CLOUDFLARE_TUNNEL_TOKEN=CHANGEME_CLOUDFLARE_TUNNEL_TOKEN",
|
|
266
|
+
"",
|
|
219
267
|
"# --- License ---",
|
|
220
268
|
LICENSE_KEY_COMMENT,
|
|
221
269
|
`EXE_LICENSE_KEY=${EXAMPLE_LICENSE_KEY}`,
|
|
@@ -7,9 +7,17 @@ SELECT 'CREATE DATABASE exe_erp OWNER ' || current_user
|
|
|
7
7
|
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'exe_erp')\gexec
|
|
8
8
|
|
|
9
9
|
-- Ensure exe user exists with superuser
|
|
10
|
-
DO $$ BEGIN
|
|
10
|
+
DO $$ DECLARE _pw text; BEGIN
|
|
11
|
+
-- current_setting() is not valid in CREATE ROLE DDL syntax; use EXECUTE
|
|
12
|
+
-- to build the statement dynamically. Falls back to no-password if the
|
|
13
|
+
-- GUC is not set (docker-entrypoint already sets POSTGRES_PASSWORD). (bug 2dc16abe)
|
|
11
14
|
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'exe') THEN
|
|
12
|
-
|
|
15
|
+
_pw := current_setting('app.postgres_password', true);
|
|
16
|
+
IF _pw IS NOT NULL AND _pw <> '' THEN
|
|
17
|
+
EXECUTE format('CREATE ROLE exe WITH LOGIN SUPERUSER PASSWORD %L', _pw);
|
|
18
|
+
ELSE
|
|
19
|
+
EXECUTE 'CREATE ROLE exe WITH LOGIN SUPERUSER';
|
|
20
|
+
END IF;
|
|
13
21
|
ELSE
|
|
14
22
|
ALTER ROLE exe SUPERUSER;
|
|
15
23
|
END IF;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"latest": "0.9.
|
|
3
|
+
"latest": "0.9.16",
|
|
4
4
|
"stacks": {
|
|
5
5
|
"0.9.0": {
|
|
6
6
|
"version": "0.9.0",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"id": "whatsapp_relink_required",
|
|
12
12
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
13
13
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
14
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
14
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
15
15
|
"expectedDowntimeMinutes": "2-5",
|
|
16
16
|
"requiresConfirmation": true
|
|
17
17
|
}
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"id": "whatsapp_relink_required",
|
|
66
66
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
67
67
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
68
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
68
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
69
69
|
"expectedDowntimeMinutes": "2-5",
|
|
70
70
|
"requiresConfirmation": true
|
|
71
71
|
}
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"id": "whatsapp_relink_required",
|
|
120
120
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
121
121
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
122
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
122
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
123
123
|
"expectedDowntimeMinutes": "2-5",
|
|
124
124
|
"requiresConfirmation": true
|
|
125
125
|
}
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"id": "whatsapp_relink_required",
|
|
174
174
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
175
175
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
176
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
176
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
177
177
|
"expectedDowntimeMinutes": "2-5",
|
|
178
178
|
"requiresConfirmation": true
|
|
179
179
|
}
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
"id": "whatsapp_relink_required",
|
|
239
239
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
240
240
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
241
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
241
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
242
242
|
"expectedDowntimeMinutes": "2-5",
|
|
243
243
|
"requiresConfirmation": true
|
|
244
244
|
}
|
|
@@ -303,7 +303,7 @@
|
|
|
303
303
|
"id": "whatsapp_relink_required",
|
|
304
304
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
305
305
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
306
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
306
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
307
307
|
"expectedDowntimeMinutes": "2-5",
|
|
308
308
|
"requiresConfirmation": true
|
|
309
309
|
}
|
|
@@ -371,7 +371,7 @@
|
|
|
371
371
|
"id": "whatsapp_relink_required",
|
|
372
372
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
373
373
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
374
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
374
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
375
375
|
"expectedDowntimeMinutes": "2-5",
|
|
376
376
|
"requiresConfirmation": true
|
|
377
377
|
}
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
"id": "whatsapp_relink_required",
|
|
440
440
|
"title": "WhatsApp QR re-link required for Baileys v7",
|
|
441
441
|
"description": "exe-gateway uses Baileys v7. Existing WhatsApp 6.x linked-device auth state must be backed up and re-linked once with a new QR code.",
|
|
442
|
-
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp
|
|
442
|
+
"requiredAction": "Open https://<gateway-domain>/pair/default?token=<admin-token> and scan from WhatsApp → Linked Devices after the update.",
|
|
443
443
|
"expectedDowntimeMinutes": "2-5",
|
|
444
444
|
"requiresConfirmation": true
|
|
445
445
|
}
|
|
@@ -822,6 +822,110 @@
|
|
|
822
822
|
"required": false
|
|
823
823
|
}
|
|
824
824
|
}
|
|
825
|
+
},
|
|
826
|
+
"0.9.15": {
|
|
827
|
+
"version": "0.9.15",
|
|
828
|
+
"releasedAt": "2026-06-09T00:00:00Z",
|
|
829
|
+
"notes": "30-bug triage: 9 HYGO fixes (WhatsApp QR pairing, init-db, CRM UUID bootstrap, CORS 500, dark mode, Cloudflare Tunnel, ERP image tags), close_task ID resolution, async backup (WAL corruption fix), dreaming column crash, pre-tool-use coordinator allowlist, notification cross-session leak, cascadeUnblock auto-dispatch.",
|
|
830
|
+
"npmVersion": "0.9.240",
|
|
831
|
+
"breakingChanges": [],
|
|
832
|
+
"services": {
|
|
833
|
+
"crm": {
|
|
834
|
+
"image": "update.askexe.com/askexe/exe-crm:v0.9.46",
|
|
835
|
+
"env": "CRM_IMAGE_TAG",
|
|
836
|
+
"composeService": "exe-crm",
|
|
837
|
+
"healthUrl": "http://127.0.0.1:3000/healthz"
|
|
838
|
+
},
|
|
839
|
+
"wiki": {
|
|
840
|
+
"image": "update.askexe.com/askexe/exe-wiki:v0.9.20",
|
|
841
|
+
"env": "WIKI_IMAGE_TAG",
|
|
842
|
+
"composeService": "exe-wiki",
|
|
843
|
+
"healthUrl": "http://127.0.0.1:3001/api/ping"
|
|
844
|
+
},
|
|
845
|
+
"exe-os": {
|
|
846
|
+
"image": "update.askexe.com/askexe/exe-os:v0.9.240",
|
|
847
|
+
"env": "EXE_OS_IMAGE_TAG",
|
|
848
|
+
"composeService": "exe-os",
|
|
849
|
+
"healthUrl": "http://127.0.0.1:8765/health"
|
|
850
|
+
},
|
|
851
|
+
"gateway": {
|
|
852
|
+
"image": "update.askexe.com/askexe/exe-gateway:v0.9.13",
|
|
853
|
+
"env": "GATEWAY_IMAGE_TAG",
|
|
854
|
+
"composeService": "exe-gateway",
|
|
855
|
+
"healthUrl": "http://127.0.0.1:3100/health"
|
|
856
|
+
},
|
|
857
|
+
"monitorAgent": {
|
|
858
|
+
"image": "update.askexe.com/askexe/exe-monitor-agent:v0.9.4",
|
|
859
|
+
"env": "MONITOR_AGENT_IMAGE_TAG",
|
|
860
|
+
"composeService": "exe-monitor-agent"
|
|
861
|
+
},
|
|
862
|
+
"monitorHub": {
|
|
863
|
+
"image": "update.askexe.com/askexe/exe-monitor-hub:v0.9.4",
|
|
864
|
+
"env": "MONITOR_HUB_IMAGE_TAG",
|
|
865
|
+
"composeService": "exe-monitor-hub",
|
|
866
|
+
"healthUrl": "http://127.0.0.1:8090/api/health"
|
|
867
|
+
},
|
|
868
|
+
"erp": {
|
|
869
|
+
"image": "update.askexe.com/askexe/exe-erp:v0.2.0-final3",
|
|
870
|
+
"env": "ERP_IMAGE_TAG",
|
|
871
|
+
"composeService": "exe-erp",
|
|
872
|
+
"healthUrl": "http://127.0.0.1:8069/api/method/ping",
|
|
873
|
+
"deploymentScope": "customer",
|
|
874
|
+
"required": false
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
},
|
|
878
|
+
"0.9.16": {
|
|
879
|
+
"version": "0.9.16",
|
|
880
|
+
"releasedAt": "2026-06-09T00:00:00Z",
|
|
881
|
+
"notes": "exe-os v0.9.243: fix: stack-release uses defaultBranch per repo (wiki uses master); chore: bump v0.9.242 for stack release; fix: prevent stale task intercom prompts; docs: add STACK-RELEASE.md — full release process documentation; fix: v0.9.241 — 13 more bug fixes (28 total this session). gateway v0.9.15: chore: bump v0.9.14 for stack release; fix: WhatsApp pairing 15-20s → 1-2s — remove blocking fetch, event-driven wait. wiki v0.9.21: chore: bump v0.9.20 for stack release; fix: accept wiki JWTs alongside GoTrue JWTs in auth middleware; feat: add GoTrue agent provisioning script; fix: set min-width on user menu dropdown to prevent layout collapse; fix: remove demo branding from exe-wiki main page greeting",
|
|
882
|
+
"npmVersion": "0.9.243",
|
|
883
|
+
"breakingChanges": [],
|
|
884
|
+
"services": {
|
|
885
|
+
"crm": {
|
|
886
|
+
"image": "update.askexe.com/askexe/exe-crm:v0.9.46",
|
|
887
|
+
"env": "CRM_IMAGE_TAG",
|
|
888
|
+
"composeService": "exe-crm",
|
|
889
|
+
"healthUrl": "http://127.0.0.1:3000/healthz"
|
|
890
|
+
},
|
|
891
|
+
"wiki": {
|
|
892
|
+
"image": "update.askexe.com/askexe/exe-wiki:v0.9.21",
|
|
893
|
+
"env": "WIKI_IMAGE_TAG",
|
|
894
|
+
"composeService": "exe-wiki",
|
|
895
|
+
"healthUrl": "http://127.0.0.1:3001/api/ping"
|
|
896
|
+
},
|
|
897
|
+
"exe-os": {
|
|
898
|
+
"image": "update.askexe.com/askexe/exe-os:v0.9.243",
|
|
899
|
+
"env": "EXE_OS_IMAGE_TAG",
|
|
900
|
+
"composeService": "exe-os",
|
|
901
|
+
"healthUrl": "http://127.0.0.1:8765/health"
|
|
902
|
+
},
|
|
903
|
+
"gateway": {
|
|
904
|
+
"image": "update.askexe.com/askexe/exe-gateway:v0.9.15",
|
|
905
|
+
"env": "GATEWAY_IMAGE_TAG",
|
|
906
|
+
"composeService": "exe-gateway",
|
|
907
|
+
"healthUrl": "http://127.0.0.1:3100/health"
|
|
908
|
+
},
|
|
909
|
+
"monitorAgent": {
|
|
910
|
+
"image": "update.askexe.com/askexe/exe-monitor-agent:v0.9.4",
|
|
911
|
+
"env": "MONITOR_AGENT_IMAGE_TAG",
|
|
912
|
+
"composeService": "exe-monitor-agent"
|
|
913
|
+
},
|
|
914
|
+
"monitorHub": {
|
|
915
|
+
"image": "update.askexe.com/askexe/exe-monitor-hub:v0.9.4",
|
|
916
|
+
"env": "MONITOR_HUB_IMAGE_TAG",
|
|
917
|
+
"composeService": "exe-monitor-hub",
|
|
918
|
+
"healthUrl": "http://127.0.0.1:8090/api/health"
|
|
919
|
+
},
|
|
920
|
+
"erp": {
|
|
921
|
+
"image": "update.askexe.com/askexe/exe-erp:v0.2.0-final3",
|
|
922
|
+
"env": "ERP_IMAGE_TAG",
|
|
923
|
+
"composeService": "exe-erp",
|
|
924
|
+
"healthUrl": "http://127.0.0.1:8069/api/method/ping",
|
|
925
|
+
"deploymentScope": "customer",
|
|
926
|
+
"required": false
|
|
927
|
+
}
|
|
928
|
+
}
|
|
825
929
|
}
|
|
826
930
|
}
|
|
827
931
|
}
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
getAllActiveAgents,
|
|
7
7
|
resolveActiveAgentFromTmuxSession,
|
|
8
8
|
writeActiveAgent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MCESA5UW.js";
|
|
10
10
|
import "./chunk-CVYC6DUW.js";
|
|
11
11
|
import "./chunk-GJV3WDWM.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-CEJO7244.js";
|
|
13
|
+
import "./chunk-AWRL5FGM.js";
|
|
14
14
|
import "./chunk-FXU7JOXK.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-VXIMSRTO.js";
|
|
16
16
|
import "./chunk-LYH5HE24.js";
|
|
17
17
|
import "./chunk-MLKGABMK.js";
|
|
18
18
|
export {
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
getAllActiveAgents,
|
|
6
6
|
resolveActiveAgentFromTmuxSession,
|
|
7
7
|
writeActiveAgent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MCESA5UW.js";
|
|
9
9
|
import "./chunk-CVYC6DUW.js";
|
|
10
10
|
import "./chunk-GJV3WDWM.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-CEJO7244.js";
|
|
12
|
+
import "./chunk-AWRL5FGM.js";
|
|
13
13
|
import "./chunk-FXU7JOXK.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-VXIMSRTO.js";
|
|
15
15
|
import "./chunk-LYH5HE24.js";
|
|
16
16
|
import "./chunk-MLKGABMK.js";
|
|
17
17
|
export {
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
import {
|
|
3
3
|
disposeStore,
|
|
4
4
|
initStore
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-222SI7QC.js";
|
|
6
6
|
import "./chunk-CHCA3ZM2.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-IZVKWBIP.js";
|
|
8
|
+
import "./chunk-Y25OJWOQ.js";
|
|
9
9
|
import "./chunk-MP2AFCGL.js";
|
|
10
10
|
import {
|
|
11
11
|
getClient,
|
|
12
12
|
getEmployeeNamesByRole,
|
|
13
13
|
loadEmployeesSync
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-CEJO7244.js";
|
|
15
|
+
import "./chunk-AWRL5FGM.js";
|
|
16
16
|
import "./chunk-FXU7JOXK.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-K333WOW4.js";
|
|
18
|
+
import "./chunk-VXIMSRTO.js";
|
|
19
19
|
import "./chunk-LYH5HE24.js";
|
|
20
20
|
import {
|
|
21
21
|
isMainModule
|
|
@@ -8,8 +8,8 @@ import {
|
|
|
8
8
|
releaseJobLock,
|
|
9
9
|
reniceCurrentProcess,
|
|
10
10
|
startManagedJob
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-Z7VDUS6L.js";
|
|
12
|
+
import "./chunk-VXIMSRTO.js";
|
|
13
13
|
import "./chunk-LYH5HE24.js";
|
|
14
14
|
import "./chunk-MLKGABMK.js";
|
|
15
15
|
export {
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
listSharedSkills,
|
|
7
7
|
reactivateBehavior,
|
|
8
8
|
storeBehavior
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-ONAQAL3O.js";
|
|
10
|
+
import "./chunk-CEJO7244.js";
|
|
11
|
+
import "./chunk-AWRL5FGM.js";
|
|
12
12
|
import "./chunk-FXU7JOXK.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-VXIMSRTO.js";
|
|
14
14
|
import "./chunk-LYH5HE24.js";
|
|
15
15
|
import "./chunk-MLKGABMK.js";
|
|
16
16
|
export {
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
insertOntologyForBatch
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-XAYRZHLV.js";
|
|
5
5
|
import {
|
|
6
6
|
politeBatchPause,
|
|
7
7
|
startManagedJob
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-Z7VDUS6L.js";
|
|
9
9
|
import {
|
|
10
10
|
disposeStore,
|
|
11
11
|
initStore
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-222SI7QC.js";
|
|
13
13
|
import "../chunk-CHCA3ZM2.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-IZVKWBIP.js";
|
|
15
|
+
import "../chunk-Y25OJWOQ.js";
|
|
16
16
|
import "../chunk-MP2AFCGL.js";
|
|
17
17
|
import {
|
|
18
18
|
getClient
|
|
19
|
-
} from "../chunk-
|
|
20
|
-
import "../chunk-
|
|
19
|
+
} from "../chunk-CEJO7244.js";
|
|
20
|
+
import "../chunk-AWRL5FGM.js";
|
|
21
21
|
import "../chunk-FXU7JOXK.js";
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-K333WOW4.js";
|
|
23
|
+
import "../chunk-VXIMSRTO.js";
|
|
24
24
|
import "../chunk-LYH5HE24.js";
|
|
25
25
|
import "../chunk-MLKGABMK.js";
|
|
26
26
|
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
generateReflectionCheckpoints
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-OEMX65EA.js";
|
|
5
|
+
import "../chunk-XAYRZHLV.js";
|
|
6
6
|
import {
|
|
7
7
|
startManagedJob
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-Z7VDUS6L.js";
|
|
9
9
|
import {
|
|
10
10
|
initStore
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-222SI7QC.js";
|
|
12
12
|
import "../chunk-CHCA3ZM2.js";
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-IZVKWBIP.js";
|
|
14
|
+
import "../chunk-Y25OJWOQ.js";
|
|
15
15
|
import "../chunk-MP2AFCGL.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-CEJO7244.js";
|
|
17
|
+
import "../chunk-AWRL5FGM.js";
|
|
18
18
|
import "../chunk-FXU7JOXK.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-K333WOW4.js";
|
|
20
|
+
import "../chunk-VXIMSRTO.js";
|
|
21
21
|
import "../chunk-LYH5HE24.js";
|
|
22
22
|
import "../chunk-MLKGABMK.js";
|
|
23
23
|
|