@askexenow/exe-os 0.9.347 → 0.9.349
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/cloudflared/config.yml.example +9 -6
- package/deploy/compose/docker-compose.yml +31 -15
- package/deploy/compose/erp-nginx/nginx.conf +17 -10
- package/deploy/compose/sso-edge/default.conf.template +26 -0
- package/deploy/stack-manifests/v0.9.30-apps.json +81 -0
- package/deploy/stack-manifests/v0.9.json +112 -3
- package/dist/{active-agent-CMY7WTJL.js → active-agent-PX6KAEEQ.js} +4 -3
- package/dist/{active-agent-US4KO4LV.js → active-agent-QVLZKWR2.js} +4 -3
- package/dist/{agentic-ontology-3Y37SQYR.js → agentic-ontology-6MEXY5L7.js} +1 -1
- package/dist/{backfill-metadata-GK66TYQE.js → backfill-metadata-TUUT3QII.js} +6 -5
- package/dist/{backup-verify-72XBKKHL.js → backup-verify-RGB3KKD4.js} +2 -1
- package/dist/{behaviors-G7TR6LBM.js → behaviors-3DQM4PSA.js} +7 -6
- package/dist/bin/agentic-ontology-backfill.js +7 -6
- package/dist/bin/agentic-reflection-backfill.js +8 -7
- package/dist/bin/agentic-semantic-label.js +7 -6
- package/dist/bin/backfill-conversations.js +6 -5
- package/dist/bin/backfill-responses.js +6 -5
- package/dist/bin/backfill-vectors.js +7 -6
- package/dist/bin/bulk-sync-postgres.js +11 -10
- package/dist/bin/cc-doctor.js +5 -4
- package/dist/bin/cleanup-stale-review-tasks.js +14 -13
- package/dist/bin/cli.js +18 -18
- package/dist/bin/deferred-daemon-restart.js +105 -91
- package/dist/bin/exe-agent-config.js +4 -3
- package/dist/bin/exe-agent.js +6 -5
- package/dist/bin/exe-assign.js +7 -6
- package/dist/bin/exe-boot.js +29 -28
- package/dist/bin/exe-call.js +6 -5
- package/dist/bin/exe-cloud.js +26 -15
- package/dist/bin/exe-config-dump.js +4 -3
- package/dist/bin/exe-dispatch.js +14 -13
- package/dist/bin/exe-doctor.js +5 -4
- package/dist/bin/exe-export-behaviors.js +9 -8
- package/dist/bin/exe-forget.js +8 -7
- package/dist/bin/exe-gateway.js +8 -7
- package/dist/bin/exe-healthcheck.js +5 -4
- package/dist/bin/exe-heartbeat.js +16 -15
- package/dist/bin/exe-kill.js +18 -17
- package/dist/bin/exe-launch-agent.js +24 -23
- package/dist/bin/exe-memory-reads.js +6 -5
- package/dist/bin/exe-new-employee.js +10 -9
- package/dist/bin/exe-os-mcp-proxy.js +4 -3
- package/dist/bin/exe-pending-messages.js +15 -14
- package/dist/bin/exe-pending-notifications.js +14 -13
- package/dist/bin/exe-pending-reviews.js +14 -13
- package/dist/bin/exe-rename.js +6 -5
- package/dist/bin/exe-review.js +17 -16
- package/dist/bin/exe-search.js +7 -6
- package/dist/bin/exe-session-cleanup.js +18 -17
- package/dist/bin/exe-settings.js +12 -11
- package/dist/bin/exe-start-codex.js +97 -15
- package/dist/bin/exe-start-opencode.js +10 -9
- package/dist/bin/exe-status.js +15 -14
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +4 -3
- package/dist/bin/git-sweep.js +15 -14
- package/dist/bin/graph-backfill.js +7 -6
- package/dist/bin/graph-export.js +7 -6
- package/dist/bin/import-history.js +10 -9
- package/dist/bin/install.js +71 -70
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +5 -4
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/pre-publish.js +1 -1
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +14 -13
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +6 -5
- package/dist/bin/stack-update.js +7 -6
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-KG43UYL4.js → boot-generation-FB2J53IG.js} +4 -3
- package/dist/{boot-review-sections-56BRURLM.js → boot-review-sections-UTOPAQQJ.js} +13 -12
- package/dist/{capability-cards-4MN3IVJO.js → capability-cards-YADEM2KN.js} +3 -2
- package/dist/{capacity-monitor-4NJTN5QQ.js → capacity-monitor-IO6JHLXV.js} +15 -14
- package/dist/{catchup-brief-AMBXLHXU.js → catchup-brief-QCKB32YC.js} +18 -17
- package/dist/{chunk-PYNWGP72.js → chunk-23O6LHII.js} +1 -1
- package/dist/{chunk-VDJUATQJ.js → chunk-27REQ7KR.js} +1 -1
- package/dist/{chunk-G4HOMQY7.js → chunk-2AD2GAPC.js} +1 -1
- package/dist/{chunk-K3ZHVW26.js → chunk-2N5MLJLM.js} +4 -4
- package/dist/{chunk-VALVWYAK.js → chunk-2T6NZLMO.js} +5 -5
- package/dist/{chunk-M3NSYVE3.js → chunk-3QLWBLS3.js} +5 -5
- package/dist/{chunk-FBSAXAXQ.js → chunk-453QJHGW.js} +3 -3
- package/dist/{chunk-QZA5NG6Z.js → chunk-4DZDXS5N.js} +1 -1
- package/dist/{chunk-OE6D2IJI.js → chunk-4FHBXWSA.js} +4 -4
- package/dist/{chunk-LJGHAZYU.js → chunk-4HMZQRQD.js} +7 -7
- package/dist/{chunk-WOKPKILI.js → chunk-5C46Y4AK.js} +1 -1
- package/dist/{chunk-DZJL775P.js → chunk-5TBGZK55.js} +1 -1
- package/dist/{chunk-I3XN3G3H.js → chunk-5YDNNUZ6.js} +113 -113
- package/dist/{chunk-VDKDW5IA.js → chunk-5YXC7GF5.js} +29 -9
- package/dist/{chunk-UMK7TNCF.js → chunk-6JQTSKDR.js} +157 -65
- package/dist/{chunk-PO64LWTM.js → chunk-6NRY3CFI.js} +9 -9
- package/dist/{chunk-3HGAAWNZ.js → chunk-7HO5VMDR.js} +2 -2
- package/dist/{chunk-JYFBQH5O.js → chunk-7OPIIYF2.js} +5 -5
- package/dist/{chunk-LUQ57SRM.js → chunk-7QRMFYOV.js} +23 -9
- package/dist/{chunk-3EMAJBBN.js → chunk-A3YHWWE6.js} +1 -1
- package/dist/{chunk-QFGUAJ6T.js → chunk-ADRZXHUB.js} +2 -2
- package/dist/{chunk-MT6YGWJ6.js → chunk-AMC2OPYP.js} +1 -1
- package/dist/{chunk-CQN4IKRB.js → chunk-BHDOPDPY.js} +8 -2
- package/dist/{chunk-F6NABQJ4.js → chunk-CIKFGNES.js} +2 -2
- package/dist/{chunk-IMHERTUL.js → chunk-D3DCRA3H.js} +2 -2
- package/dist/{chunk-YSTIPPZK.js → chunk-DAODOSH4.js} +1 -1
- package/dist/{chunk-IRMJHC23.js → chunk-E3BNUQHW.js} +2 -2
- package/dist/{chunk-EYWB6526.js → chunk-E76MXORZ.js} +3 -3
- package/dist/{chunk-CNIAEIWV.js → chunk-EFHGK6JP.js} +1 -1
- package/dist/{chunk-FM4ZI5ZP.js → chunk-FE6WBI2M.js} +5 -1
- package/dist/{chunk-DBDMZTU5.js → chunk-FENYNW52.js} +1 -1
- package/dist/{chunk-SUG5P42S.js → chunk-FXE56MAI.js} +4 -4
- package/dist/{chunk-2ESYTX6F.js → chunk-GKNWKQFY.js} +1 -1
- package/dist/{chunk-DNN27P35.js → chunk-GTZKETSS.js} +4 -4
- package/dist/{chunk-FDOURKUO.js → chunk-HYZE3MNS.js} +1 -1
- package/dist/{chunk-EWWCMMES.js → chunk-IFSKL5QW.js} +16 -16
- package/dist/{chunk-AHR3F7HW.js → chunk-IKYQ2HSH.js} +1 -1
- package/dist/{chunk-3T4BRBSH.js → chunk-JORPYG4O.js} +1 -1
- package/dist/{chunk-3LQMUO5D.js → chunk-KIMAQNSM.js} +3 -3
- package/dist/{chunk-UO56K55W.js → chunk-M7PBRIRH.js} +1 -1
- package/dist/{chunk-MESFJRIT.js → chunk-MH5HWMVH.js} +1 -1
- package/dist/{chunk-ZK53K7OR.js → chunk-MMOONM6D.js} +1 -1
- package/dist/{chunk-VA3ZUIWG.js → chunk-MOZY4IQO.js} +1 -1
- package/dist/{chunk-VTMSGELG.js → chunk-MVZLF27P.js} +2 -2
- package/dist/{chunk-KWRO4RMT.js → chunk-NAHDJLLB.js} +3 -3
- package/dist/{chunk-M722B4DA.js → chunk-NBTSUPTB.js} +1 -1
- package/dist/{chunk-2LZMDOC6.js → chunk-NUWAB2ZB.js} +5 -5
- package/dist/{chunk-H44V3Y6D.js → chunk-NY6DU5RB.js} +1 -1
- package/dist/{chunk-F4ZW76IX.js → chunk-O522M4YZ.js} +1 -1
- package/dist/{chunk-PRUZNNEF.js → chunk-O5RXPXDD.js} +3 -3
- package/dist/{chunk-7667KFAG.js → chunk-OBWIVRD6.js} +1 -1
- package/dist/{chunk-XRX7F7XW.js → chunk-OYEBUJ5W.js} +1 -1
- package/dist/{chunk-TQSAPNFW.js → chunk-P3JQDXY6.js} +18 -10
- package/dist/{chunk-D74XYSA3.js → chunk-QCQT5RXR.js} +5 -1
- package/dist/{chunk-ZY2ABBVR.js → chunk-QNKR7WEL.js} +20 -6
- package/dist/{chunk-FJPZ7KHN.js → chunk-R6POL63K.js} +1 -1
- package/dist/{chunk-XOVHWGPV.js → chunk-RBRGSOK5.js} +1 -1
- package/dist/{chunk-ZYNQXN73.js → chunk-RFKWETK3.js} +4 -4
- package/dist/{chunk-Y7637VDZ.js → chunk-RFRUDXOI.js} +2 -2
- package/dist/{chunk-4K2PLZKF.js → chunk-SQ4WACH4.js} +1 -1
- package/dist/{chunk-ILLBFFY6.js → chunk-SRK5AWVS.js} +2 -2
- package/dist/{chunk-VMTKHDFM.js → chunk-SUJFXYMQ.js} +3 -3
- package/dist/{chunk-HWK5GKE6.js → chunk-TF5E6O5Q.js} +1 -1
- package/dist/{chunk-YJK4JZ35.js → chunk-TIWFOWL6.js} +3 -3
- package/dist/{chunk-FAH7JUNS.js → chunk-TRIK7MXS.js} +10 -10
- package/dist/{chunk-XDVLCS64.js → chunk-UAKGNQWE.js} +1 -1
- package/dist/{chunk-G6IANQKD.js → chunk-UG2R4LHI.js} +1 -1
- package/dist/{chunk-4VLRGKNY.js → chunk-UPZQLFRJ.js} +2 -2
- package/dist/{chunk-T7ZLJZAO.js → chunk-UUJZAOF3.js} +2 -2
- package/dist/{chunk-W7HKGDJO.js → chunk-UXPMDQHP.js} +3 -3
- package/dist/{chunk-BRVDGE7N.js → chunk-VC2OE37S.js} +4 -4
- package/dist/{chunk-Z7DWUHDP.js → chunk-VRQTOLRH.js} +1 -1
- package/dist/{chunk-2BOEUPL6.js → chunk-W3T76WFH.js} +1 -1
- package/dist/{chunk-BMTUSSHV.js → chunk-WUMWXU6B.js} +1 -1
- package/dist/{chunk-7AD4GSRT.js → chunk-WUNXNNJL.js} +3 -3
- package/dist/{chunk-QIALRZZG.js → chunk-X6VEQ7MC.js} +1 -1
- package/dist/{chunk-PEVOVM3W.js → chunk-XF2G47JS.js} +3 -3
- package/dist/{chunk-W666YWFU.js → chunk-Y6IP4R5M.js} +3 -3
- package/dist/{chunk-53VXPGZ2.js → chunk-YF3B3NQF.js} +2 -2
- package/dist/chunk-YFLHS7GV.js +58 -0
- package/dist/chunk-YMUZWC33.js +8 -0
- package/dist/{chunk-7DAJHBFH.js → chunk-YTPCJLEL.js} +1 -1
- package/dist/{chunk-JLYQD2XF.js → chunk-ZFR4A5W4.js} +1 -1
- package/dist/{cleanup-graph-garbage-5HKGGUS3.js → cleanup-graph-garbage-ON45J7RR.js} +8 -7
- package/dist/{cloud-sync-shutdown-2JAEIAW6.js → cloud-sync-shutdown-A2QB74YM.js} +3 -2
- package/dist/{co-activation-SYSIFY66.js → co-activation-S2FVGMQP.js} +3 -2
- package/dist/{co-occurrence-QZFT5ORJ.js → co-occurrence-VQB6U5ME.js} +6 -5
- package/dist/{conversation-entity-extractor-YC3A2ODD.js → conversation-entity-extractor-YF3ZLTEJ.js} +3 -3
- package/dist/{crdt-sync-W45AKWCU.js → crdt-sync-2SGCDWC3.js} +1 -1
- package/dist/{crm-webhook-ZAGDYWB3.js → crm-webhook-OJFVII6G.js} +2 -2
- package/dist/{cto-delegation-gate-PLSICYEK.js → cto-delegation-gate-KNH5TRUS.js} +13 -12
- package/dist/{daemon-orchestration-QX3FS4L2.js → daemon-orchestration-VFM2FKGY.js} +18 -17
- package/dist/{doc-graph-extractor-NK6CP4LE.js → doc-graph-extractor-DCJMATVZ.js} +6 -5
- package/dist/{documents-FGXV6BDL.js → documents-253FGKPI.js} +7 -6
- package/dist/{dreaming-YIESEME7.js → dreaming-EFRFVQDZ.js} +17 -16
- package/dist/{exe-drift-TLY7MCXW.js → exe-drift-ED7FBS2C.js} +4 -3
- package/dist/{exe-export-32J4WPS6.js → exe-export-AVGUGDMJ.js} +9 -8
- package/dist/{exe-import-MDEWE325.js → exe-import-ALYVE4XT.js} +9 -8
- package/dist/{exe-key-NW42YUA3.js → exe-key-5MDOPRDS.js} +69 -68
- package/dist/{exe-snapshot-NNEEAGYI.js → exe-snapshot-ZN523QP6.js} +18 -17
- package/dist/{fast-db-init-O7AECNTB.js → fast-db-init-GJGO22F5.js} +1 -1
- package/dist/{founder-context-3WDZ6LIS.js → founder-context-JHHFM4GF.js} +2 -2
- package/dist/gateway/index.js +9 -8
- package/dist/{git-main-guard-UZP3KXYI.js → git-main-guard-TGK3RQY3.js} +1 -1
- package/dist/{git-staleness-GEJ7U4MW.js → git-staleness-YPHGWE3B.js} +3 -2
- package/dist/{global-procedures-HY3BJXY4.js → global-procedures-HZFQ3WJB.js} +5 -4
- package/dist/{graph-auto-extract-DBAIFNDK.js → graph-auto-extract-7OJYYV4G.js} +6 -5
- package/dist/{graph-rag-LWKKHY72.js → graph-rag-YFITUAVO.js} +3 -3
- package/dist/{hook-prefetch-KNHZNI4L.js → hook-prefetch-ITWBE3XZ.js} +14 -13
- package/dist/hooks/bug-report-worker.js +16 -15
- package/dist/hooks/codex-stop-task-finalizer.js +17 -16
- package/dist/hooks/commit-complete.js +16 -15
- package/dist/hooks/error-recall.js +8 -7
- package/dist/hooks/exe-heartbeat-hook.js +4 -3
- package/dist/hooks/ingest.js +7 -6
- package/dist/hooks/instructions-loaded.js +5 -4
- package/dist/hooks/manifest.json +19 -19
- package/dist/hooks/notification.js +5 -4
- package/dist/hooks/post-compact.js +15 -14
- package/dist/hooks/post-tool-combined.js +9 -9
- package/dist/hooks/pre-compact.js +16 -15
- package/dist/hooks/pre-tool-use.js +36 -38
- package/dist/hooks/prompt-submit.js +28 -27
- package/dist/hooks/session-end.js +20 -19
- package/dist/hooks/session-start.js +13 -13
- package/dist/hooks/stop.js +19 -18
- package/dist/hooks/subagent-stop.js +17 -16
- package/dist/hooks/summary-worker.js +20 -19
- package/dist/index.js +23 -22
- package/dist/{installer-R2S64Q6T.js → installer-3ONNP5JV.js} +6 -5
- package/dist/{installer-AWALPCAX.js → installer-CY5PN7TN.js} +6 -5
- package/dist/{installer-SQF5I6YS.js → installer-N4QXGINR.js} +6 -5
- package/dist/{intercom-queue-SJL4G3J5.js → intercom-queue-RLWMSZHB.js} +13 -12
- package/dist/lib/agent-config.js +1 -1
- package/dist/lib/cloud-sync.js +11 -10
- package/dist/lib/consolidation.js +8 -7
- package/dist/lib/database.js +5 -2
- package/dist/lib/db-backup.js +2 -1
- package/dist/lib/db-checkpoint-worker.js +9 -0
- package/dist/lib/db-read-worker-client.js +21 -8
- package/dist/lib/db-read-worker.js +15 -0
- package/dist/lib/db-write-worker-client.js +4 -1
- package/dist/lib/db-write-worker.js +21 -6
- package/dist/lib/db.js +5 -2
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +6 -5
- package/dist/lib/employees.js +3 -2
- package/dist/lib/exe-daemon.js +211 -71
- package/dist/lib/hybrid-search.js +7 -6
- package/dist/lib/identity.js +3 -2
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +14 -13
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +4 -3
- package/dist/lib/schedules.js +7 -6
- package/dist/lib/session-registry.js +5 -4
- package/dist/lib/skill-learning.js +8 -7
- package/dist/lib/store.js +6 -5
- package/dist/lib/task-router.js +4 -3
- package/dist/lib/tasks.js +15 -14
- package/dist/lib/tmux-routing.js +13 -12
- package/dist/lib/token-spend.js +4 -3
- package/dist/{license-gate-ZYZQGPKW.js → license-gate-ZRORTAQ2.js} +3 -3
- package/dist/{license-sync-GU3L66JR.js → license-sync-CQHBDUQE.js} +2 -2
- package/dist/mcp/register-tools.js +68 -67
- package/dist/mcp/server.js +69 -68
- package/dist/mcp/tools/complete-reminder.js +5 -4
- package/dist/mcp/tools/create-reminder.js +5 -4
- package/dist/mcp/tools/create-task.js +17 -16
- package/dist/mcp/tools/deactivate-behavior.js +9 -8
- package/dist/mcp/tools/list-reminders.js +5 -4
- package/dist/mcp/tools/list-tasks.js +17 -16
- package/dist/mcp/tools/send-message.js +16 -15
- package/dist/mcp/tools/update-task.js +16 -15
- package/dist/{mcp-http-config-BV2GO7P4.js → mcp-http-config-2A6HKQP5.js} +4 -3
- package/dist/{mcp-session-identity-3QQPOGNI.js → mcp-session-identity-YTXFSOWN.js} +13 -12
- package/dist/{memory-cards-NISTO4EP.js → memory-cards-CJJJ2EP6.js} +6 -5
- package/dist/{memory-graph-extractor-CO3R5K7L.js → memory-graph-extractor-2Z72HN5P.js} +7 -6
- package/dist/{memory-poisoning-defense-QZCG3BMC.js → memory-poisoning-defense-WZJ52KXT.js} +3 -2
- package/dist/{memory-pressure-watchdog-VWQM3GXR.js → memory-pressure-watchdog-VNKYRODT.js} +14 -13
- package/dist/{memory-reflection-G32OQ3X3.js → memory-reflection-LTRHDGUL.js} +3 -2
- package/dist/{notification-ledger-C3J4HFMM.js → notification-ledger-OE4XNOAY.js} +14 -13
- package/dist/{notifications-JIARMDZ5.js → notifications-DU4WVNET.js} +13 -12
- package/dist/{orchestration-events-AL7AWHBX.js → orchestration-events-HAFDPTLV.js} +4 -3
- package/dist/{orchestrator-LWVALDUO.js → orchestrator-JRSVEKLB.js} +15 -14
- package/dist/{pipeline-router-HK5BI3LQ.js → pipeline-router-4RRX65W7.js} +4 -3
- package/dist/{plan-limits-4LMRHOUW.js → plan-limits-5QYYPIPT.js} +6 -5
- package/dist/{platform-procedures-G44IYUM2.js → platform-procedures-NBKHO33A.js} +1 -1
- package/dist/{projection-worker-Z5U6UWCE.js → projection-worker-PXJZEKFK.js} +2 -2
- package/dist/{prospective-memory-UDQWFP5Y.js → prospective-memory-V7LFCPU4.js} +3 -2
- package/dist/{reranker-FX4QOK2G.js → reranker-DWNE7KUB.js} +1 -1
- package/dist/{retrieval-health-2LIKKDMW.js → retrieval-health-4NCBHUUS.js} +1 -1
- package/dist/{review-polling-B2EP4KGE.js → review-polling-K2V34KEA.js} +14 -13
- package/dist/runtime/index.js +17 -16
- package/dist/{session-events-HVYX42HD.js → session-events-R3WL7J7D.js} +14 -13
- package/dist/{session-kill-telemetry-BHKUHSK2.js → session-kill-telemetry-BQSJZ2A7.js} +14 -13
- package/dist/{session-scope-TXCBVOSN.js → session-scope-SMYECIDA.js} +13 -12
- package/dist/{setup-wizard-QMKBAK6B.js → setup-wizard-BUFVAFWP.js} +1 -1
- package/dist/{skill-refinement-G6BPD6QK.js → skill-refinement-VG3UU7MU.js} +4 -3
- package/dist/{stack-promote-RSOWO6EY.js → stack-promote-RARBN276.js} +13 -3
- package/dist/{stack-release-HGFFFCGC.js → stack-release-OTVTLA6B.js} +464 -169
- package/dist/{stack-update-CBP5S5BG.js → stack-update-WBDTJJEF.js} +7 -3
- package/dist/{steward-gate-CGP6U7KC.js → steward-gate-CWPD4HEK.js} +4 -3
- package/dist/{support-inbox-3ATAP7KN.js → support-inbox-HRIHHKPU.js} +3 -3
- package/dist/{task-enforcement-YINAK3T6.js → task-enforcement-RNSASE3R.js} +14 -13
- package/dist/{task-scope-5OSP2MUP.js → task-scope-TW3BWFVJ.js} +13 -12
- package/dist/{tasks-crud-PTN36B5F.js → tasks-crud-VXCTTSB5.js} +13 -12
- package/dist/{tasks-notify-QCJXVZCJ.js → tasks-notify-ETPCCUXG.js} +14 -13
- package/dist/{tasks-review-ZY3S65OV.js → tasks-review-TY7OZBAT.js} +13 -12
- package/dist/{telemetry-upload-Z47OEELW.js → telemetry-upload-ABCUA2WS.js} +8 -7
- package/dist/{token-budget-B3OKOYDA.js → token-budget-SK32GKFZ.js} +4 -3
- package/dist/{tool-telemetry-KIHAHUPT.js → tool-telemetry-QJGJAHOC.js} +1 -1
- package/dist/tui/App.js +22 -21
- package/dist/{tui-data-YIFXHE2D.js → tui-data-XZX7VSG4.js} +13 -12
- package/dist/{update-support-IZUWVU2U.js → update-support-Q5HFD4IN.js} +10 -9
- package/dist/{work-state-heartbeat-WIURKX3N.js → work-state-heartbeat-MQQOCU54.js} +1 -1
- package/dist/{worker-gate-NZRA426F.js → worker-gate-RKHQLE4F.js} +1 -1
- package/dist/{workflow-engine-LAB6TGBZ.js → workflow-engine-CXUJIH3R.js} +2 -2
- package/dist/{worktree-TBUUZJHY.js → worktree-FJZXHDCJ.js} +5 -4
- package/dist/{worktree-sweep-LXDNIZPM.js → worktree-sweep-SW4AG6JR.js} +6 -5
- package/package.json +3 -2
- package/release-notes.json +46 -65
- /package/dist/{chunk-UVPLZ6AK.js → chunk-4N3NTBGJ.js} +0 -0
- /package/dist/{chunk-QPNXYGWG.js → chunk-A4X7SCDG.js} +0 -0
- /package/dist/{chunk-G4JZ22KK.js → chunk-E42D2E5F.js} +0 -0
- /package/dist/{chunk-OG2RT4IY.js → chunk-E77V5MTE.js} +0 -0
- /package/dist/{chunk-MDK7E653.js → chunk-ELJSXKYA.js} +0 -0
- /package/dist/{chunk-MA22RV3T.js → chunk-FXZRJT3H.js} +0 -0
- /package/dist/{chunk-D4UCBR4O.js → chunk-GFIWADEH.js} +0 -0
- /package/dist/{chunk-4P7NUL4D.js → chunk-GI3O5MGF.js} +0 -0
- /package/dist/{chunk-VBHLE3TR.js → chunk-GPZQZTJB.js} +0 -0
- /package/dist/{chunk-FFUEDKYK.js → chunk-H4JKOLXU.js} +0 -0
- /package/dist/{chunk-CYI2YR56.js → chunk-QUOMJKVF.js} +0 -0
- /package/dist/{chunk-SJLZ53ZR.js → chunk-XF2D4CDA.js} +0 -0
- /package/dist/{core-memory-FOW4BCPN.js → core-memory-PCKGCUZU.js} +0 -0
- /package/dist/{oauth-server-OR4RAQYM.js → oauth-server-FSKABATB.js} +0 -0
- /package/dist/{project-boot-WP54EOAG.js → project-boot-FVSC4VQC.js} +0 -0
- /package/dist/{wiki-acl-4DQQCP4V.js → wiki-acl-CW2UALTJ.js} +0 -0
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
# wiki.<domain> → http://exe-sso-edge:80 (unified SSO redirect)
|
|
9
9
|
# erp.<domain> → http://exe-sso-edge:80 (unified SSO redirect)
|
|
10
10
|
# gateway.<domain> → http://exe-gateway:3100
|
|
11
|
+
# dashboard.askexe.com → http://exe-dashboard:80
|
|
11
12
|
# monitor.<domain> → http://exe-monitor-hub:8090
|
|
12
|
-
# auth.<domain> → http://exe-
|
|
13
|
+
# auth.<domain> → http://exe-sso-edge:80 (auth gateway + real health aliases)
|
|
13
14
|
# api.<domain> → http://exe-os:8765
|
|
14
15
|
# No config.yml or credentials file needed — the token embeds everything.
|
|
15
16
|
#
|
|
@@ -43,6 +44,9 @@ ingress:
|
|
|
43
44
|
# Gateway (WhatsApp, webhooks, pairing)
|
|
44
45
|
- hostname: gateway.CHANGEME_DOMAIN
|
|
45
46
|
service: http://exe-gateway:3100
|
|
47
|
+
# AskExe customer dashboard (nginx in exe-dashboard listens on container port 80).
|
|
48
|
+
- hostname: dashboard.askexe.com
|
|
49
|
+
service: http://exe-dashboard:80
|
|
46
50
|
# Monitor — /_/ admin panel blocked; only the API and UI are exposed publicly.
|
|
47
51
|
# The PocketBase superadmin UI must be accessed via SSH tunnel:
|
|
48
52
|
# ssh -L 8090:127.0.0.1:8090 <vps> then open http://localhost:8090/_/
|
|
@@ -51,12 +55,11 @@ ingress:
|
|
|
51
55
|
service: http_status:404
|
|
52
56
|
- hostname: monitor.CHANGEME_DOMAIN
|
|
53
57
|
service: http://exe-monitor-hub:8090
|
|
54
|
-
# Auth gateway (login SPA + /api/ proxy to GoTrue)
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
# public front door. Always route through the exe-auth container.
|
|
58
|
+
# Auth gateway (login SPA + /api/ proxy to GoTrue) through the SSO edge.
|
|
59
|
+
# Bug d3ba1136: the edge maps /health and /healthz to GoTrue /health so public
|
|
60
|
+
# monitors never get the auth SPA HTML as a false-healthy 200.
|
|
58
61
|
- hostname: auth.CHANGEME_DOMAIN
|
|
59
|
-
service: http://exe-
|
|
62
|
+
service: http://exe-sso-edge:80
|
|
60
63
|
# exe-os daemon (MCP)
|
|
61
64
|
- hostname: api.CHANGEME_DOMAIN
|
|
62
65
|
service: http://exe-os:8765
|
|
@@ -140,10 +140,10 @@ services:
|
|
|
140
140
|
# whole secret file). A compromise of one app container cannot read another
|
|
141
141
|
# service's GOTRUE_JWT_SECRET / DB passwords / CLOUDFLARE_TUNNEL_TOKEN, etc.
|
|
142
142
|
command: ["redis-server", "--requirepass", "${REDIS_PASSWORD:?REDIS_PASSWORD is required}", "--save", "60", "1", "--appendonly", "yes"]
|
|
143
|
-
# bug f1e79d3b: the in-container healthcheck reads $$
|
|
144
|
-
# runtime
|
|
145
|
-
#
|
|
146
|
-
# `
|
|
143
|
+
# bug a9d34705/f1e79d3b: the in-container healthcheck reads $$REDIS_PASSWORD
|
|
144
|
+
# at runtime. Compose must not interpolate this at parse time, and the
|
|
145
|
+
# variable must be passed into the container explicitly now that blanket
|
|
146
|
+
# `env_file: .env` is gone, so redis-cli can authenticate against requirepass.
|
|
147
147
|
environment:
|
|
148
148
|
REDIS_PASSWORD: ${REDIS_PASSWORD:?REDIS_PASSWORD is required}
|
|
149
149
|
volumes:
|
|
@@ -151,7 +151,7 @@ services:
|
|
|
151
151
|
networks:
|
|
152
152
|
- backend
|
|
153
153
|
healthcheck:
|
|
154
|
-
test: ["CMD-SHELL", "redis-cli -a $$
|
|
154
|
+
test: ["CMD-SHELL", "test -n \"$$REDIS_PASSWORD\" && redis-cli -a \"$$REDIS_PASSWORD\" ping | grep -q PONG"]
|
|
155
155
|
interval: 10s
|
|
156
156
|
timeout: 5s
|
|
157
157
|
start_period: 10s
|
|
@@ -300,10 +300,13 @@ services:
|
|
|
300
300
|
- backend
|
|
301
301
|
healthcheck:
|
|
302
302
|
# bug a54ac364: the hub is a scratch image with NO shell, wget, or curl —
|
|
303
|
-
# the only executable is the hub binary
|
|
304
|
-
#
|
|
305
|
-
#
|
|
306
|
-
|
|
303
|
+
# the only executable is the hub binary, invoked directly.
|
|
304
|
+
# bug ae971a4d: the binary lives at /app/beszel (Dockerfile.hub COPY
|
|
305
|
+
# --from=builder /out/beszel /app/beszel); there is NO /beszel. Verified on
|
|
306
|
+
# the live exe-db-jkt container (image v0.9.4): /app/beszel exists,
|
|
307
|
+
# /beszel does not → the old `/beszel` healthcheck failed on every probe
|
|
308
|
+
# (permanent false-unhealthy). Match the image's own HEALTHCHECK path.
|
|
309
|
+
test: ["CMD", "/app/beszel", "health", "--url", "http://127.0.0.1:8090"]
|
|
307
310
|
interval: 30s
|
|
308
311
|
timeout: 5s
|
|
309
312
|
start_period: 15s
|
|
@@ -948,6 +951,11 @@ services:
|
|
|
948
951
|
# presence, so the edge needs GoTrue resolvable and healthy at start.
|
|
949
952
|
gotrue:
|
|
950
953
|
condition: service_healthy
|
|
954
|
+
# Bug d3ba1136: auth.<domain> also routes through the edge so /health and
|
|
955
|
+
# /healthz can proxy to GoTrue /health instead of falling through to the
|
|
956
|
+
# auth SPA HTML page.
|
|
957
|
+
exe-auth:
|
|
958
|
+
condition: service_healthy
|
|
951
959
|
environment:
|
|
952
960
|
DOMAIN: ${DOMAIN:?DOMAIN is required — set to your customer apex domain (e.g. hygo.co)}
|
|
953
961
|
# Neutralize nginx:alpine's built-in 20-envsubst-on-templates.sh: it would
|
|
@@ -998,10 +1006,12 @@ services:
|
|
|
998
1006
|
# wiki.<domain> → http://exe-sso-edge:80 (NOT exe-wiki:3001)
|
|
999
1007
|
# erp.<domain> → http://exe-sso-edge:80 (NOT exe-erp / exe-erp-nginx)
|
|
1000
1008
|
# gateway.<domain> → http://exe-gateway:3100 (routed directly — no SSO gate)
|
|
1009
|
+
# dashboard.askexe.com → http://exe-dashboard:80
|
|
1001
1010
|
# monitor.<domain> → http://exe-monitor-hub:8090
|
|
1002
|
-
# auth.<domain> → http://
|
|
1011
|
+
# auth.<domain> → http://exe-sso-edge:80 (auth UI + real /health proxy)
|
|
1003
1012
|
# api.<domain> → http://exe-os:8765
|
|
1004
|
-
# exe-sso-edge selects crm/wiki/erp by Host header, so
|
|
1013
|
+
# exe-sso-edge selects crm/wiki/erp/auth by Host header, so those routes share
|
|
1014
|
+
# one edge.
|
|
1005
1015
|
#
|
|
1006
1016
|
# Advanced (config file): set CLOUDFLARE_TUNNEL_TOKEN= (empty) and
|
|
1007
1017
|
# populate cloudflared/config.yml with tunnel ID + credentials.
|
|
@@ -1025,8 +1035,8 @@ services:
|
|
|
1025
1035
|
run
|
|
1026
1036
|
--token ${CLOUDFLARE_TUNNEL_TOKEN:?CLOUDFLARE_TUNNEL_TOKEN is required — create a tunnel in the Cloudflare dashboard and paste the token in .env}
|
|
1027
1037
|
depends_on:
|
|
1028
|
-
# App subdomains (crm/wiki/erp) are fronted by
|
|
1029
|
-
#
|
|
1038
|
+
# App subdomains (crm/wiki/erp) and auth.<domain> are fronted by
|
|
1039
|
+
# exe-sso-edge; gateway is routed directly.
|
|
1030
1040
|
exe-sso-edge:
|
|
1031
1041
|
condition: service_healthy
|
|
1032
1042
|
exe-gateway:
|
|
@@ -1305,7 +1315,10 @@ services:
|
|
|
1305
1315
|
- backend
|
|
1306
1316
|
healthcheck:
|
|
1307
1317
|
# Verify the bench worker process is alive and Redis queue is reachable.
|
|
1308
|
-
|
|
1318
|
+
# bug c8fb434f: pgrep is NOT in the Frappe image (exit 127) → permanent
|
|
1319
|
+
# false-unhealthy. ps + grep are present; the [r] bracket avoids matching
|
|
1320
|
+
# the grep process itself.
|
|
1321
|
+
test: ["CMD-SHELL", "ps -ef | grep -q '[r]q worker'"]
|
|
1309
1322
|
interval: 30s
|
|
1310
1323
|
timeout: 5s
|
|
1311
1324
|
start_period: 30s
|
|
@@ -1351,7 +1364,10 @@ services:
|
|
|
1351
1364
|
- backend
|
|
1352
1365
|
healthcheck:
|
|
1353
1366
|
# Verify the bench schedule process is alive.
|
|
1354
|
-
|
|
1367
|
+
# bug c8fb434f: pgrep is NOT in the Frappe image (exit 127) → permanent
|
|
1368
|
+
# false-unhealthy. ps + grep are present; the [b] bracket avoids matching
|
|
1369
|
+
# the grep process itself.
|
|
1370
|
+
test: ["CMD-SHELL", "ps -ef | grep -q '[b]ench schedule'"]
|
|
1355
1371
|
interval: 30s
|
|
1356
1372
|
timeout: 5s
|
|
1357
1373
|
start_period: 30s
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
# exe-erp nginx — serves static assets, proxies API to gunicorn
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
#
|
|
3
|
+
# bug 9bd1d9f7: an `upstream { server exe-erp:8000; }` block resolves the name
|
|
4
|
+
# ONCE at config load and caches the IP for the worker's life. When a
|
|
5
|
+
# stack-update recreates exe-erp it gets a new container IP and nginx keeps
|
|
6
|
+
# proxying to the dead address → erp.askexe.com 502s forever until erp-nginx is
|
|
7
|
+
# manually restarted. Fix: drop the upstream blocks and resolve the upstream
|
|
8
|
+
# names at REQUEST time via Docker's embedded DNS (127.0.0.11), using variable
|
|
9
|
+
# proxy_pass. None of the proxy_pass rules rewrite the path (no URI on
|
|
10
|
+
# proxy_pass), so the variable form preserves the original routing exactly.
|
|
9
11
|
|
|
10
12
|
server {
|
|
11
13
|
listen 80;
|
|
12
14
|
server_name _;
|
|
13
15
|
|
|
16
|
+
# Re-resolve upstream container names at request time (Docker embedded DNS).
|
|
17
|
+
resolver 127.0.0.11 valid=10s ipv6=off;
|
|
18
|
+
set $erp_backend "exe-erp:8000";
|
|
19
|
+
set $erp_websocket "exe-erp-websocket:9000";
|
|
20
|
+
|
|
14
21
|
client_max_body_size 50m;
|
|
15
22
|
|
|
16
23
|
# Static assets — proxied to gunicorn with aggressive caching.
|
|
@@ -23,7 +30,7 @@ server {
|
|
|
23
30
|
# into the volume on boot. We still proxy /assets/ to gunicorn (it owns asset
|
|
24
31
|
# resolution + the live frappe symlink) rather than serving from the volume.
|
|
25
32
|
location /assets/ {
|
|
26
|
-
proxy_pass http
|
|
33
|
+
proxy_pass http://$erp_backend;
|
|
27
34
|
proxy_set_header Host $host;
|
|
28
35
|
proxy_set_header X-Real-IP $remote_addr;
|
|
29
36
|
expires 1y;
|
|
@@ -38,7 +45,7 @@ server {
|
|
|
38
45
|
|
|
39
46
|
# Socket.IO
|
|
40
47
|
location /socket.io {
|
|
41
|
-
proxy_pass http
|
|
48
|
+
proxy_pass http://$erp_websocket;
|
|
42
49
|
proxy_http_version 1.1;
|
|
43
50
|
proxy_set_header Upgrade $http_upgrade;
|
|
44
51
|
proxy_set_header Connection "upgrade";
|
|
@@ -50,7 +57,7 @@ server {
|
|
|
50
57
|
|
|
51
58
|
# Everything else → gunicorn
|
|
52
59
|
location / {
|
|
53
|
-
proxy_pass http
|
|
60
|
+
proxy_pass http://$erp_backend;
|
|
54
61
|
proxy_http_version 1.1;
|
|
55
62
|
proxy_set_header Host $host;
|
|
56
63
|
proxy_set_header X-Real-IP $remote_addr;
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
upstream sso_crm { server exe-crm:3000; }
|
|
20
20
|
upstream sso_wiki { server exe-wiki:3001; }
|
|
21
|
+
upstream sso_auth { server exe-auth:80; }
|
|
21
22
|
# ERP must be reached through its own nginx (gunicorn can't serve /assets/ — bug 6776edf0)
|
|
22
23
|
upstream sso_erp { server exe-erp-nginx:80; }
|
|
23
24
|
# Shared GoTrue — the sso-redirect snippet's /_sso_gate validates ?access_token=
|
|
@@ -59,6 +60,12 @@ server {
|
|
|
59
60
|
set $sso_session_cookie $cookie_tokenPair; # Twenty/CRM session cookie
|
|
60
61
|
include /etc/nginx/snippets/sso-redirect.conf;
|
|
61
62
|
|
|
63
|
+
# Bug d3ba1136: public monitors hit /health as well as /healthz. Keep both
|
|
64
|
+
# exact paths outside the SSO gate and proxy them to CRM's real health
|
|
65
|
+
# endpoint so they never fall through to the app shell HTML.
|
|
66
|
+
location = /health { auth_request off; proxy_pass http://sso_crm/healthz; }
|
|
67
|
+
location = /healthz { auth_request off; proxy_pass http://sso_crm/healthz; }
|
|
68
|
+
|
|
62
69
|
location / { proxy_pass http://sso_crm; }
|
|
63
70
|
}
|
|
64
71
|
|
|
@@ -81,9 +88,28 @@ server {
|
|
|
81
88
|
set $sso_session_cookie $cookie_exe_access_token; # exe-wiki SSO session cookie (canonical)
|
|
82
89
|
include /etc/nginx/snippets/sso-redirect.conf;
|
|
83
90
|
|
|
91
|
+
# Bug d3ba1136: wiki's actual health probe is /api/ping. Expose the standard
|
|
92
|
+
# monitor aliases as exact, ungated health routes so /health cannot return
|
|
93
|
+
# a false-healthy SPA HTML page.
|
|
94
|
+
location = /health { auth_request off; proxy_pass http://sso_wiki/api/ping; }
|
|
95
|
+
location = /healthz { auth_request off; proxy_pass http://sso_wiki/api/ping; }
|
|
96
|
+
|
|
84
97
|
location / { proxy_pass http://sso_wiki; }
|
|
85
98
|
}
|
|
86
99
|
|
|
100
|
+
# ── Auth ─────────────────────────────────────────────────────────────────────
|
|
101
|
+
server {
|
|
102
|
+
listen 80;
|
|
103
|
+
server_name auth.${DOMAIN};
|
|
104
|
+
|
|
105
|
+
# Route auth.<domain> through this edge too, so exact health aliases can
|
|
106
|
+
# probe GoTrue instead of the auth SPA's nginx fallback.
|
|
107
|
+
location = /health { proxy_pass http://sso_gotrue/health; }
|
|
108
|
+
location = /healthz { proxy_pass http://sso_gotrue/health; }
|
|
109
|
+
|
|
110
|
+
location / { proxy_pass http://sso_auth; }
|
|
111
|
+
}
|
|
112
|
+
|
|
87
113
|
# ── ERP ──────────────────────────────────────────────────────────────────────
|
|
88
114
|
server {
|
|
89
115
|
listen 80;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"latest": "0.9.30",
|
|
4
|
+
"stacks": {
|
|
5
|
+
"0.9.30": {
|
|
6
|
+
"version": "0.9.30",
|
|
7
|
+
"releasedAt": "2026-07-21T14:00:00.000Z",
|
|
8
|
+
"notes": "Fixes exe-auth pin regression introduced in 0.9.29: auth v0.1.0 -> v0.3.0 (bug 5f5b4795). Scoped apps-only manifest: stock Docker Hub infra images omitted because they are unchanged and the host has an unreliable Docker Hub path.",
|
|
9
|
+
"npmVersion": "0.9.324",
|
|
10
|
+
"services": {
|
|
11
|
+
"exe-os": {
|
|
12
|
+
"image": "update.askexe.com/askexe/exe-os:v0.9.324@sha256:3ce6406e0f7f279ff2568bbbb7d55de51a46fdf35c49691f24fd959d6fd2d3fa",
|
|
13
|
+
"env": "EXE_OS_IMAGE_TAG",
|
|
14
|
+
"composeService": "exe-os",
|
|
15
|
+
"healthUrl": "http://127.0.0.1:8765/health",
|
|
16
|
+
"required": true,
|
|
17
|
+
"category": "core",
|
|
18
|
+
"description": "exe-os daemon + MCP server"
|
|
19
|
+
},
|
|
20
|
+
"crm": {
|
|
21
|
+
"image": "update.askexe.com/askexe/exe-crm:v0.9.53@sha256:a586dcc8bbd992538e3caa18c44e772d30f31155dfef0a2b7466ca3fc7c553d8",
|
|
22
|
+
"env": "CRM_IMAGE_TAG",
|
|
23
|
+
"composeService": "exe-crm",
|
|
24
|
+
"healthUrl": "http://127.0.0.1:3000/healthz",
|
|
25
|
+
"category": "app"
|
|
26
|
+
},
|
|
27
|
+
"wiki": {
|
|
28
|
+
"image": "update.askexe.com/askexe/exe-wiki:v0.9.27@sha256:a422e787f06850a5302dc560bfb1b944d8b35927607ded762bbda610fb7db48d",
|
|
29
|
+
"env": "WIKI_IMAGE_TAG",
|
|
30
|
+
"composeService": "exe-wiki",
|
|
31
|
+
"healthUrl": "http://127.0.0.1:3001/api/ping",
|
|
32
|
+
"category": "app"
|
|
33
|
+
},
|
|
34
|
+
"gateway": {
|
|
35
|
+
"image": "update.askexe.com/askexe/exe-gateway:v0.9.28@sha256:b3ab35cf00490711c4ae945d06da042cb285ca1c07902ea1c2e28ca540741a5d",
|
|
36
|
+
"env": "GATEWAY_IMAGE_TAG",
|
|
37
|
+
"composeService": "exe-gateway",
|
|
38
|
+
"healthUrl": "http://127.0.0.1:3100/health",
|
|
39
|
+
"category": "app",
|
|
40
|
+
"description": "WhatsApp/messaging gateway — CRM bridge fix, BYOK alias, SQL race fix, Baileys WA version floor. Pinned by digest only because tag v0.9.28 was overwritten upstream (bug b817e34c)."
|
|
41
|
+
},
|
|
42
|
+
"auth": {
|
|
43
|
+
"image": "update.askexe.com/askexe/exe-auth:v0.3.0@sha256:546febcb819d1590dbf9284666ebe86d4c8cf026dc35728f7f22f1a16614a7ed",
|
|
44
|
+
"env": "AUTH_IMAGE_TAG",
|
|
45
|
+
"composeService": "exe-auth",
|
|
46
|
+
"healthUrl": "http://127.0.0.1:3300/api/health",
|
|
47
|
+
"category": "auth",
|
|
48
|
+
"description": "Corrects the 0.9.29 exe-auth downgrade regression to v0.1.0; pins v0.3.0 (bug 5f5b4795)."
|
|
49
|
+
},
|
|
50
|
+
"erp": {
|
|
51
|
+
"image": "update.askexe.com/askexe/exe-erp:v0.2.0-final8@sha256:15bb6020b109b4dfd51d245273ffa88bbfbaf0de09da05a09e6b6f9344b00c46",
|
|
52
|
+
"env": "ERP_IMAGE_TAG",
|
|
53
|
+
"composeService": "exe-erp",
|
|
54
|
+
"healthUrl": "http://127.0.0.1:8069/api/method/ping",
|
|
55
|
+
"healthHost": "erp.askexe.com",
|
|
56
|
+
"required": false,
|
|
57
|
+
"category": "app",
|
|
58
|
+
"description": "Enterprise Resource Planning"
|
|
59
|
+
},
|
|
60
|
+
"monitorHub": {
|
|
61
|
+
"image": "update.askexe.com/askexe/exe-monitor-hub:v0.9.4@sha256:d593bec5a4b248388d0d85353fae1ba8f93cab628a03833aa79acd0632fd11cb",
|
|
62
|
+
"env": "MONITOR_HUB_IMAGE_TAG",
|
|
63
|
+
"composeService": "exe-monitor-hub",
|
|
64
|
+
"healthUrl": "http://127.0.0.1:8090/api/health",
|
|
65
|
+
"category": "monitoring"
|
|
66
|
+
},
|
|
67
|
+
"monitorAgent": {
|
|
68
|
+
"image": "update.askexe.com/askexe/exe-monitor-agent:v0.9.4@sha256:9ca4e75577b2ff2abb754140ccfaf8df19161bcef601faf37d1fce743fe814fc",
|
|
69
|
+
"env": "MONITOR_AGENT_IMAGE_TAG",
|
|
70
|
+
"composeService": "exe-monitor-agent",
|
|
71
|
+
"category": "monitoring"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"signature": {
|
|
77
|
+
"keyId": "exe-stack-1",
|
|
78
|
+
"alg": "ed25519",
|
|
79
|
+
"signature": "ib9CL9sD/5c2q6M1UQDA1BUf9WT6iI18gUyCmY3+TitjVhIeAf5bTTyfs/FiWAAn8penUVWp21p65KJgSW1PCA=="
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"latest": "0.9.
|
|
3
|
+
"latest": "0.9.30",
|
|
4
4
|
"stacks": {
|
|
5
5
|
"0.9.0": {
|
|
6
6
|
"version": "0.9.0",
|
|
@@ -1966,7 +1966,7 @@
|
|
|
1966
1966
|
"category": "monitoring"
|
|
1967
1967
|
},
|
|
1968
1968
|
"auth": {
|
|
1969
|
-
"image": "update.askexe.com/askexe/exe-auth:v0.
|
|
1969
|
+
"image": "update.askexe.com/askexe/exe-auth:v0.2.0@sha256:8e1a17e5aff92b844be08c82120d91da0a4eaf6757c1071aec25ab5d7b560ba9",
|
|
1970
1970
|
"env": "AUTH_IMAGE_TAG",
|
|
1971
1971
|
"composeService": "exe-auth",
|
|
1972
1972
|
"healthUrl": "http://127.0.0.1:3300/api/health",
|
|
@@ -2014,11 +2014,120 @@
|
|
|
2014
2014
|
"category": "infra"
|
|
2015
2015
|
}
|
|
2016
2016
|
}
|
|
2017
|
+
},
|
|
2018
|
+
"0.9.30": {
|
|
2019
|
+
"version": "0.9.30",
|
|
2020
|
+
"releasedAt": "2026-07-21T14:00:00.000Z",
|
|
2021
|
+
"notes": "Fixes exe-auth pin regression introduced in 0.9.29: auth v0.1.0 -> v0.3.0 (bug 5f5b4795).",
|
|
2022
|
+
"npmVersion": "0.9.324",
|
|
2023
|
+
"services": {
|
|
2024
|
+
"exe-db": {
|
|
2025
|
+
"image": "update.askexe.com/askexe/pgvector:0.8.0-pg16@sha256:a132765ec351c65111b5b675928a3a0515a466a40f97277329db8b8209ad8bc9",
|
|
2026
|
+
"env": "EXE_DB_IMAGE",
|
|
2027
|
+
"composeService": "exe-db",
|
|
2028
|
+
"required": true,
|
|
2029
|
+
"category": "core",
|
|
2030
|
+
"description": "Postgres (pgvector) — digest-pinned (bug 32d6e02f; was tag-only in 0.9.25, regressed from 0.9.24)"
|
|
2031
|
+
},
|
|
2032
|
+
"exe-os": {
|
|
2033
|
+
"image": "update.askexe.com/askexe/exe-os:v0.9.324@sha256:3ce6406e0f7f279ff2568bbbb7d55de51a46fdf35c49691f24fd959d6fd2d3fa",
|
|
2034
|
+
"env": "EXE_OS_IMAGE_TAG",
|
|
2035
|
+
"composeService": "exe-os",
|
|
2036
|
+
"healthUrl": "http://127.0.0.1:8765/health",
|
|
2037
|
+
"required": true,
|
|
2038
|
+
"category": "core",
|
|
2039
|
+
"description": "exe-os daemon + MCP server"
|
|
2040
|
+
},
|
|
2041
|
+
"crm": {
|
|
2042
|
+
"image": "update.askexe.com/askexe/exe-crm:v0.9.53@sha256:a586dcc8bbd992538e3caa18c44e772d30f31155dfef0a2b7466ca3fc7c553d8",
|
|
2043
|
+
"env": "CRM_IMAGE_TAG",
|
|
2044
|
+
"composeService": "exe-crm",
|
|
2045
|
+
"healthUrl": "http://127.0.0.1:3000/healthz",
|
|
2046
|
+
"category": "app"
|
|
2047
|
+
},
|
|
2048
|
+
"wiki": {
|
|
2049
|
+
"image": "update.askexe.com/askexe/exe-wiki:v0.9.27@sha256:a422e787f06850a5302dc560bfb1b944d8b35927607ded762bbda610fb7db48d",
|
|
2050
|
+
"env": "WIKI_IMAGE_TAG",
|
|
2051
|
+
"composeService": "exe-wiki",
|
|
2052
|
+
"healthUrl": "http://127.0.0.1:3001/api/ping",
|
|
2053
|
+
"category": "app"
|
|
2054
|
+
},
|
|
2055
|
+
"gateway": {
|
|
2056
|
+
"image": "update.askexe.com/askexe/exe-gateway:v0.9.28@sha256:b3ab35cf00490711c4ae945d06da042cb285ca1c07902ea1c2e28ca540741a5d",
|
|
2057
|
+
"env": "GATEWAY_IMAGE_TAG",
|
|
2058
|
+
"composeService": "exe-gateway",
|
|
2059
|
+
"healthUrl": "http://127.0.0.1:3100/health",
|
|
2060
|
+
"category": "app",
|
|
2061
|
+
"description": "WhatsApp/messaging gateway — CRM bridge fix, BYOK alias, SQL race fix, Baileys WA version floor. Pinned by digest only because tag v0.9.28 was overwritten upstream (bug b817e34c)."
|
|
2062
|
+
},
|
|
2063
|
+
"monitorAgent": {
|
|
2064
|
+
"image": "update.askexe.com/askexe/exe-monitor-agent:v0.9.4@sha256:9ca4e75577b2ff2abb754140ccfaf8df19161bcef601faf37d1fce743fe814fc",
|
|
2065
|
+
"env": "MONITOR_AGENT_IMAGE_TAG",
|
|
2066
|
+
"composeService": "exe-monitor-agent",
|
|
2067
|
+
"category": "monitoring"
|
|
2068
|
+
},
|
|
2069
|
+
"monitorHub": {
|
|
2070
|
+
"image": "update.askexe.com/askexe/exe-monitor-hub:v0.9.4@sha256:d593bec5a4b248388d0d85353fae1ba8f93cab628a03833aa79acd0632fd11cb",
|
|
2071
|
+
"env": "MONITOR_HUB_IMAGE_TAG",
|
|
2072
|
+
"composeService": "exe-monitor-hub",
|
|
2073
|
+
"healthUrl": "http://127.0.0.1:8090/api/health",
|
|
2074
|
+
"category": "monitoring"
|
|
2075
|
+
},
|
|
2076
|
+
"auth": {
|
|
2077
|
+
"image": "update.askexe.com/askexe/exe-auth:v0.3.0@sha256:546febcb819d1590dbf9284666ebe86d4c8cf026dc35728f7f22f1a16614a7ed",
|
|
2078
|
+
"env": "AUTH_IMAGE_TAG",
|
|
2079
|
+
"composeService": "exe-auth",
|
|
2080
|
+
"healthUrl": "http://127.0.0.1:3300/api/health",
|
|
2081
|
+
"category": "auth",
|
|
2082
|
+
"description": "Corrects the 0.9.29 exe-auth downgrade regression to v0.1.0; pins v0.3.0 (bug 5f5b4795)."
|
|
2083
|
+
},
|
|
2084
|
+
"erp": {
|
|
2085
|
+
"image": "update.askexe.com/askexe/exe-erp:v0.2.0-final8@sha256:15bb6020b109b4dfd51d245273ffa88bbfbaf0de09da05a09e6b6f9344b00c46",
|
|
2086
|
+
"env": "ERP_IMAGE_TAG",
|
|
2087
|
+
"composeService": "exe-erp",
|
|
2088
|
+
"healthUrl": "http://127.0.0.1:8069/api/method/ping",
|
|
2089
|
+
"healthHost": "localhost",
|
|
2090
|
+
"required": false,
|
|
2091
|
+
"category": "app",
|
|
2092
|
+
"description": "Enterprise Resource Planning"
|
|
2093
|
+
},
|
|
2094
|
+
"gotrue": {
|
|
2095
|
+
"image": "update.askexe.com/askexe/gotrue:v2.172.1@sha256:b0dd7aa28dd1f9a8bd31f136c8b912661f701d9b863171e5843cb08f18f49de4",
|
|
2096
|
+
"composeService": "gotrue",
|
|
2097
|
+
"healthUrl": "http://127.0.0.1:9999/health",
|
|
2098
|
+
"category": "infra"
|
|
2099
|
+
},
|
|
2100
|
+
"redis": {
|
|
2101
|
+
"image": "update.askexe.com/askexe/redis:7.4-alpine@sha256:6ab0b6e7381779332f97b8ca76193e45b0756f38d4c0dcda72dbb3c32061ab99",
|
|
2102
|
+
"composeService": "redis",
|
|
2103
|
+
"category": "infra"
|
|
2104
|
+
},
|
|
2105
|
+
"clickhouse": {
|
|
2106
|
+
"image": "update.askexe.com/askexe/clickhouse-server:24.8.4.13-alpine@sha256:88a45f9e328549b2579256c46ee38e5c0e25ae58303d9eb6d9c7ed8d6d2bbf3c",
|
|
2107
|
+
"composeService": "clickhouse",
|
|
2108
|
+
"category": "infra"
|
|
2109
|
+
},
|
|
2110
|
+
"cloudflared": {
|
|
2111
|
+
"image": "update.askexe.com/askexe/cloudflared:2026-07@sha256:ba461b8aa9c042156dbd39c38657fe7431bafa063220eab8d5330a523863da9f",
|
|
2112
|
+
"composeService": "cloudflared",
|
|
2113
|
+
"category": "infra"
|
|
2114
|
+
},
|
|
2115
|
+
"exe-sso-edge": {
|
|
2116
|
+
"image": "update.askexe.com/askexe/nginx:alpine@sha256:20316569d8f81a160065d7d2a5eeffc7ca97d79022462ee255fd23fa103a6b5c",
|
|
2117
|
+
"composeService": "exe-sso-edge",
|
|
2118
|
+
"category": "infra"
|
|
2119
|
+
},
|
|
2120
|
+
"exe-otel-collector": {
|
|
2121
|
+
"image": "update.askexe.com/askexe/otel-collector-contrib:0.114.0@sha256:37fa87091cfaaec7234a27e4e395a40c31c2bfaea97a349a4afef6d9e9681197",
|
|
2122
|
+
"composeService": "exe-otel-collector",
|
|
2123
|
+
"category": "infra"
|
|
2124
|
+
}
|
|
2125
|
+
}
|
|
2017
2126
|
}
|
|
2018
2127
|
},
|
|
2019
2128
|
"signature": {
|
|
2020
2129
|
"keyId": "exe-stack-1",
|
|
2021
2130
|
"alg": "ed25519",
|
|
2022
|
-
"signature": "
|
|
2131
|
+
"signature": "KIjkzkAVrY3R6jCp4T2OT4SvWGCkr9dnUXyEF6O9kBW8nrDLrDzuiXvbBBdYogLkLRT8+UtONs+cPP8Kl97DAA=="
|
|
2023
2132
|
}
|
|
2024
2133
|
}
|
|
@@ -5,15 +5,16 @@ import {
|
|
|
5
5
|
getAllActiveAgents,
|
|
6
6
|
resolveActiveAgentFromTmuxSession,
|
|
7
7
|
writeActiveAgent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TF5E6O5Q.js";
|
|
9
9
|
import "./chunk-CVYC6DUW.js";
|
|
10
10
|
import "./chunk-GJV3WDWM.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-QNKR7WEL.js";
|
|
12
12
|
import "./chunk-2I23RPSI.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-FE6WBI2M.js";
|
|
14
14
|
import "./chunk-OMXJMOBD.js";
|
|
15
15
|
import "./chunk-7HLWBYH7.js";
|
|
16
16
|
import "./chunk-BBMTVAE3.js";
|
|
17
|
+
import "./chunk-YMUZWC33.js";
|
|
17
18
|
import "./chunk-FXU7JOXK.js";
|
|
18
19
|
import "./chunk-BCZF3AGJ.js";
|
|
19
20
|
import "./chunk-HSGBZSCA.js";
|
|
@@ -6,15 +6,16 @@ import {
|
|
|
6
6
|
getAllActiveAgents,
|
|
7
7
|
resolveActiveAgentFromTmuxSession,
|
|
8
8
|
writeActiveAgent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TF5E6O5Q.js";
|
|
10
10
|
import "./chunk-CVYC6DUW.js";
|
|
11
11
|
import "./chunk-GJV3WDWM.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-QNKR7WEL.js";
|
|
13
13
|
import "./chunk-2I23RPSI.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-FE6WBI2M.js";
|
|
15
15
|
import "./chunk-OMXJMOBD.js";
|
|
16
16
|
import "./chunk-7HLWBYH7.js";
|
|
17
17
|
import "./chunk-BBMTVAE3.js";
|
|
18
|
+
import "./chunk-YMUZWC33.js";
|
|
18
19
|
import "./chunk-FXU7JOXK.js";
|
|
19
20
|
import "./chunk-BCZF3AGJ.js";
|
|
20
21
|
import "./chunk-HSGBZSCA.js";
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import {
|
|
3
3
|
disposeStore,
|
|
4
4
|
initStore
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-P3JQDXY6.js";
|
|
6
|
+
import "./chunk-H4JKOLXU.js";
|
|
7
7
|
import "./chunk-CHCA3ZM2.js";
|
|
8
8
|
import "./chunk-OTVEIJUQ.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-GPZQZTJB.js";
|
|
10
10
|
import "./chunk-5MOYSU5A.js";
|
|
11
11
|
import "./chunk-4QCFFW2H.js";
|
|
12
12
|
import "./chunk-76CJBM36.js";
|
|
@@ -15,12 +15,13 @@ import {
|
|
|
15
15
|
getClient,
|
|
16
16
|
getEmployeeNamesByRole,
|
|
17
17
|
loadEmployeesSync
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-QNKR7WEL.js";
|
|
19
19
|
import "./chunk-2I23RPSI.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-FE6WBI2M.js";
|
|
21
21
|
import "./chunk-OMXJMOBD.js";
|
|
22
22
|
import "./chunk-7HLWBYH7.js";
|
|
23
23
|
import "./chunk-BBMTVAE3.js";
|
|
24
|
+
import "./chunk-YMUZWC33.js";
|
|
24
25
|
import "./chunk-FXU7JOXK.js";
|
|
25
26
|
import "./chunk-QWVXN224.js";
|
|
26
27
|
import "./chunk-BCZF3AGJ.js";
|
|
@@ -12,22 +12,23 @@ import {
|
|
|
12
12
|
reactivateBehavior,
|
|
13
13
|
storeBehavior,
|
|
14
14
|
storeReflexBehavior
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-UPZQLFRJ.js";
|
|
16
|
+
import "./chunk-P3JQDXY6.js";
|
|
17
|
+
import "./chunk-H4JKOLXU.js";
|
|
18
18
|
import "./chunk-CHCA3ZM2.js";
|
|
19
19
|
import "./chunk-OTVEIJUQ.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-GPZQZTJB.js";
|
|
21
21
|
import "./chunk-5MOYSU5A.js";
|
|
22
22
|
import "./chunk-4QCFFW2H.js";
|
|
23
23
|
import "./chunk-76CJBM36.js";
|
|
24
24
|
import "./chunk-MP2AFCGL.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-QNKR7WEL.js";
|
|
26
26
|
import "./chunk-2I23RPSI.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-FE6WBI2M.js";
|
|
28
28
|
import "./chunk-OMXJMOBD.js";
|
|
29
29
|
import "./chunk-7HLWBYH7.js";
|
|
30
30
|
import "./chunk-BBMTVAE3.js";
|
|
31
|
+
import "./chunk-YMUZWC33.js";
|
|
31
32
|
import "./chunk-FXU7JOXK.js";
|
|
32
33
|
import "./chunk-QWVXN224.js";
|
|
33
34
|
import "./chunk-BCZF3AGJ.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
insertOntologyForBatch
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-FXZRJT3H.js";
|
|
5
5
|
import {
|
|
6
6
|
politeBatchPause,
|
|
7
7
|
startManagedJob
|
|
@@ -9,23 +9,24 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
disposeStore,
|
|
11
11
|
initStore
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
12
|
+
} from "../chunk-P3JQDXY6.js";
|
|
13
|
+
import "../chunk-H4JKOLXU.js";
|
|
14
14
|
import "../chunk-CHCA3ZM2.js";
|
|
15
15
|
import "../chunk-OTVEIJUQ.js";
|
|
16
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-GPZQZTJB.js";
|
|
17
17
|
import "../chunk-5MOYSU5A.js";
|
|
18
18
|
import "../chunk-4QCFFW2H.js";
|
|
19
19
|
import "../chunk-76CJBM36.js";
|
|
20
20
|
import "../chunk-MP2AFCGL.js";
|
|
21
21
|
import {
|
|
22
22
|
getClient
|
|
23
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-QNKR7WEL.js";
|
|
24
24
|
import "../chunk-2I23RPSI.js";
|
|
25
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-FE6WBI2M.js";
|
|
26
26
|
import "../chunk-OMXJMOBD.js";
|
|
27
27
|
import "../chunk-7HLWBYH7.js";
|
|
28
28
|
import "../chunk-BBMTVAE3.js";
|
|
29
|
+
import "../chunk-YMUZWC33.js";
|
|
29
30
|
import "../chunk-FXU7JOXK.js";
|
|
30
31
|
import "../chunk-QWVXN224.js";
|
|
31
32
|
import "../chunk-BCZF3AGJ.js";
|