@askexenow/exe-os 0.9.341 → 0.9.342
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/README.md +159 -196
- package/deploy/compose/.env.customer.example +1 -0
- package/deploy/compose/.env.example +1 -0
- package/deploy/compose/docker-compose.yml +13 -4
- package/deploy/compose/generate-env.ts +4 -0
- package/dist/{active-agent-AIQP4DFL.js → active-agent-PVGE57FY.js} +5 -5
- package/dist/{active-agent-LW45DSJ4.js → active-agent-TNIO6IY3.js} +5 -5
- package/dist/{agentic-ontology-RVUNRCQY.js → agentic-ontology-3FXYMHKW.js} +1 -1
- package/dist/{backfill-gate-J7UXFNXU.js → backfill-gate-65LSYVE5.js} +3 -3
- package/dist/{backfill-metadata-ZSDJ4O2T.js → backfill-metadata-ZSMZC45J.js} +8 -8
- package/dist/{background-jobs-STURKDCS.js → background-jobs-EXR5RVGG.js} +3 -3
- package/dist/{backup-verify-ZAJLEL4X.js → backup-verify-3Y2FHGZU.js} +4 -4
- package/dist/{behaviors-EO7KCP3H.js → behaviors-KYRB3NGJ.js} +9 -9
- package/dist/bin/age-ontology-load.js +3 -3
- package/dist/bin/agentic-ontology-backfill.js +10 -10
- package/dist/bin/agentic-reflection-backfill.js +11 -11
- package/dist/bin/agentic-semantic-label.js +10 -10
- package/dist/bin/backfill-conversations.js +10 -10
- package/dist/bin/backfill-responses.js +10 -10
- package/dist/bin/backfill-vectors.js +14 -14
- package/dist/bin/bulk-sync-postgres.js +19 -19
- package/dist/bin/cc-doctor.js +10 -8
- package/dist/bin/cleanup-stale-review-tasks.js +25 -23
- package/dist/bin/cli.js +79 -25
- package/dist/bin/customer-readiness.js +1 -1
- package/dist/bin/deferred-daemon-restart.js +98 -92
- package/dist/bin/exe-agent-config.js +9 -8
- package/dist/bin/exe-agent.js +17 -17
- package/dist/bin/exe-assign.js +12 -12
- package/dist/bin/exe-boot.js +200 -67
- package/dist/bin/exe-call.js +7 -7
- package/dist/bin/exe-cloud.js +20 -20
- package/dist/bin/exe-config-dump.js +9 -8
- package/dist/bin/exe-dispatch.js +25 -23
- package/dist/bin/exe-doctor.js +10 -6
- package/dist/bin/exe-export-behaviors.js +11 -11
- package/dist/bin/exe-forget.js +12 -10
- package/dist/bin/exe-gateway.js +15 -10
- package/dist/bin/exe-grant.js +5 -5
- package/dist/bin/exe-healthcheck.js +14 -8
- package/dist/bin/exe-heartbeat.js +28 -27
- package/dist/bin/exe-kill.js +30 -28
- package/dist/bin/exe-launch-agent.js +128 -67
- package/dist/bin/exe-memory-reads.js +257 -0
- package/dist/bin/exe-new-employee.js +12 -11
- package/dist/bin/exe-pending-messages.js +26 -24
- package/dist/bin/exe-pending-notifications.js +25 -23
- package/dist/bin/exe-pending-reviews.js +25 -23
- package/dist/bin/exe-rename.js +7 -7
- package/dist/bin/exe-review.js +29 -27
- package/dist/bin/exe-search.js +11 -9
- package/dist/bin/exe-session-cleanup.js +115 -85
- package/dist/bin/exe-settings.js +24 -23
- package/dist/bin/exe-start-codex.js +163 -41
- package/dist/bin/exe-start-opencode.js +15 -15
- package/dist/bin/exe-status.js +26 -24
- package/dist/bin/exe-support.js +5 -5
- package/dist/bin/exe-team.js +5 -5
- package/dist/bin/exe-timers.js +32 -213
- package/dist/bin/exe-watchdog.js +6 -5
- package/dist/bin/git-sweep.js +26 -24
- package/dist/bin/graph-backfill.js +11 -11
- package/dist/bin/graph-export.js +9 -9
- package/dist/bin/import-history.js +13 -13
- package/dist/bin/install.js +103 -97
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +6 -6
- package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
- package/dist/bin/postgres-agentic-semantic-backfill.js +7 -7
- package/dist/bin/pre-publish.js +5 -3
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +25 -23
- package/dist/bin/setup.js +6 -5
- package/dist/bin/shard-migrate.js +9 -9
- package/dist/bin/stack-update.js +6 -6
- package/dist/bin/update.js +1 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-GSMPJOWM.js → boot-generation-BL2ISK4U.js} +5 -5
- package/dist/boot-review-sections-DBMQJT5N.js +107 -0
- package/dist/branch-hygiene-TZWK6QCF.js +224 -0
- package/dist/{branding-JTEOF4ZV.js → branding-DVXBGVDH.js} +3 -3
- package/dist/{browser-session-store-CXQMOSEC.js → browser-session-store-B2NR3LIX.js} +2 -1
- package/dist/{capability-cards-OBYQNAKZ.js → capability-cards-DN5UIKVN.js} +4 -4
- package/dist/{capacity-monitor-MG3FTUD5.js → capacity-monitor-ZG5GGFR2.js} +26 -24
- package/dist/{catchup-brief-BVJOF3GL.js → catchup-brief-D6HH6DWS.js} +31 -28
- package/dist/{chunk-Q5AIPSSC.js → chunk-25X4JD2V.js} +10 -6
- package/dist/{chunk-6MVI4QH2.js → chunk-2KZNGDSW.js} +1 -1
- package/dist/{chunk-WH7XN5ER.js → chunk-2WAVZ5UJ.js} +1 -1
- package/dist/{chunk-PTJBWC77.js → chunk-2ZYO73KO.js} +4 -3
- package/dist/{chunk-CLAYNAXC.js → chunk-3EUMUSLE.js} +1 -1
- package/dist/{chunk-BVV6NHKQ.js → chunk-3SW4OEHB.js} +5 -5
- package/dist/{task-enforcement-X5QVL6RE.js → chunk-4CMVFVFC.js} +173 -69
- package/dist/{chunk-2YCFNBC4.js → chunk-4J4PMPXZ.js} +3 -2
- package/dist/{chunk-EDOO23B2.js → chunk-4N2NRGCM.js} +2 -2
- package/dist/chunk-4QCFFW2H.js +378 -0
- package/dist/{chunk-6MVC43X7.js → chunk-4VSV5P4D.js} +2 -2
- package/dist/{chunk-HJX6NCJF.js → chunk-4ZCD2UWW.js} +39 -10
- package/dist/{chunk-C445WRUX.js → chunk-5ERDIOV3.js} +2 -2
- package/dist/chunk-5H47VHB7.js +30 -0
- package/dist/{chunk-BJ23BNED.js → chunk-5TY4FPH6.js} +1 -1
- package/dist/{chunk-WD55PEBM.js → chunk-6CH3TPHR.js} +3 -3
- package/dist/{chunk-TIXTHUVJ.js → chunk-6WQ3NNCE.js} +3 -3
- package/dist/{chunk-7LF5DS3A.js → chunk-6XWTQUO4.js} +1 -1
- package/dist/chunk-76CJBM36.js +88 -0
- package/dist/{chunk-NFBW7N4D.js → chunk-7CTRGNLW.js} +2 -2
- package/dist/{chunk-ITMEE7PQ.js → chunk-7V4JADD6.js} +3 -3
- package/dist/{chunk-RMOBQ6A5.js → chunk-AD2VCHSS.js} +1 -1
- package/dist/{chunk-DNVFWFYF.js → chunk-AJYCFKJR.js} +1 -1
- package/dist/chunk-AM7S2TY6.js +54 -0
- package/dist/{chunk-RWSLVYTE.js → chunk-AOHXREB7.js} +295 -67
- package/dist/{chunk-DGGDUKH6.js → chunk-ASAFVDVR.js} +1 -1
- package/dist/{chunk-NTI22F3R.js → chunk-BUCXNV32.js} +1 -1
- package/dist/{chunk-SHIICYJW.js → chunk-BYTDMAGB.js} +4 -2
- package/dist/{chunk-32SXNM3G.js → chunk-C5QAPURN.js} +1 -1
- package/dist/{chunk-BMHQPIJ2.js → chunk-CE7F6RHG.js} +585 -75
- package/dist/{chunk-YWQMWFYR.js → chunk-CNVBKDEY.js} +21 -15
- package/dist/{chunk-KPIN44GZ.js → chunk-CWXVH7WV.js} +1 -1
- package/dist/chunk-D74XYSA3.js +621 -0
- package/dist/{chunk-A47MXY2I.js → chunk-EQHQF5IM.js} +50 -32
- package/dist/{chunk-YHUNDGVV.js → chunk-EUS4QUKP.js} +1 -1
- package/dist/{chunk-6D2PI4QD.js → chunk-EV46QTD3.js} +1 -1
- package/dist/{chunk-N7A5D25S.js → chunk-F27XXN6C.js} +1 -1
- package/dist/{chunk-XQNNB5GY.js → chunk-F55P3H4S.js} +37 -2
- package/dist/{chunk-MWZFF3Q7.js → chunk-F5O7V7UK.js} +1 -1
- package/dist/{chunk-MC4ATFJV.js → chunk-FPFPLPUY.js} +6 -6
- package/dist/{chunk-UU4UINUX.js → chunk-G4RGKBCA.js} +2 -2
- package/dist/{chunk-HAZO7TRD.js → chunk-G5T6KDG4.js} +1 -1
- package/dist/{chunk-TWXZM34M.js → chunk-GBTTBXAF.js} +6 -6
- package/dist/{chunk-LA2Z6RMS.js → chunk-GDIJE6D7.js} +1 -1
- package/dist/{chunk-4QSJVMMT.js → chunk-GG5NDQNN.js} +2 -2
- package/dist/{chunk-6BQG7EKO.js → chunk-GJ26DULE.js} +2 -2
- package/dist/chunk-GL57PO3K.js +104 -0
- package/dist/chunk-GWDSB25T.js +6 -0
- package/dist/{chunk-HSYJ6DZ2.js → chunk-H6BV5TKD.js} +39 -24
- package/dist/{chunk-HCJCW7X4.js → chunk-H7I47RS5.js} +34 -1
- package/dist/{chunk-GFDGDFBF.js → chunk-HA5R6USD.js} +22 -5
- package/dist/{chunk-L2YGXJGF.js → chunk-HAF2DJYV.js} +3 -3
- package/dist/chunk-HJ447YER.js +224 -0
- package/dist/{chunk-6QW6JHRE.js → chunk-HV4KESRY.js} +59 -32
- package/dist/{chunk-BJOBR6P2.js → chunk-I26FWCSP.js} +216 -9
- package/dist/{chunk-X2FHTDIU.js → chunk-IBYL4DHM.js} +1 -1
- package/dist/{chunk-JCBKARSK.js → chunk-IOEUAQWP.js} +1 -1
- package/dist/{chunk-2UGGBIDL.js → chunk-JGIPOUIK.js} +3 -3
- package/dist/{chunk-LLU6WZLK.js → chunk-JLZ4RYSD.js} +2 -2
- package/dist/{chunk-WWNQFOSP.js → chunk-JMYHW3AL.js} +2 -2
- package/dist/{chunk-KP4PY2Z2.js → chunk-JPUZPAAF.js} +4 -4
- package/dist/{chunk-4LWV633D.js → chunk-JTBIS4R5.js} +1 -1
- package/dist/{chunk-PPZOWQHP.js → chunk-K7KFGDWF.js} +1 -1
- package/dist/{chunk-HNLXMD2V.js → chunk-KGWRTRKC.js} +2 -2
- package/dist/{chunk-IB336P52.js → chunk-KP3U5QGJ.js} +1 -1
- package/dist/{chunk-OUEFW4RK.js → chunk-KW2SD2FL.js} +2 -2
- package/dist/{chunk-2P4WJNN5.js → chunk-KWZMQACA.js} +11 -7
- package/dist/{chunk-ATKW3SYL.js → chunk-L2R3LN2P.js} +1 -1
- package/dist/{chunk-IELUDZAA.js → chunk-L4A5DL6Z.js} +3 -3
- package/dist/{chunk-2C455MU3.js → chunk-LU2FALL6.js} +3 -3
- package/dist/{chunk-LOBCQXV5.js → chunk-MKYFAKDW.js} +4 -4
- package/dist/{chunk-3BRVLPPA.js → chunk-MOPUCPXK.js} +4 -0
- package/dist/{chunk-BR4423AS.js → chunk-MR6LHP4F.js} +1 -1
- package/dist/chunk-MVYB76QG.js +341 -0
- package/dist/{chunk-ZNE6H2JO.js → chunk-MZM6EJCU.js} +4 -4
- package/dist/{chunk-FOV57K47.js → chunk-N7QJKQMX.js} +258 -14
- package/dist/{chunk-AYLNJGCS.js → chunk-NBZL5CGA.js} +93 -12
- package/dist/{chunk-YLQXP7T7.js → chunk-NN2B2QKU.js} +1 -1
- package/dist/chunk-NX5INHHG.js +40 -0
- package/dist/{chunk-B75BOKEI.js → chunk-NXUSDL37.js} +2 -2
- package/dist/{chunk-TPHCZDE3.js → chunk-O5V57XYE.js} +1 -1
- package/dist/chunk-O7LWR36Z.js +269 -0
- package/dist/{chunk-BV6GBSRP.js → chunk-OLMQ4UOF.js} +42 -10
- package/dist/{chunk-UIU2DGRV.js → chunk-OTF44GXL.js} +4 -4
- package/dist/{chunk-GOGSWXNZ.js → chunk-OZEBAGKR.js} +277 -137
- package/dist/{chunk-NDSNM5OH.js → chunk-P5HIWY2E.js} +1 -1
- package/dist/{chunk-MJB5ZFQM.js → chunk-PDWS3E22.js} +55 -4
- package/dist/{chunk-4FJZ6SO7.js → chunk-PPCDBE6Z.js} +1 -1
- package/dist/{chunk-7SEC2AG5.js → chunk-PQIDGXSG.js} +13 -4
- package/dist/chunk-PWUFMX75.js +186 -0
- package/dist/{chunk-GPW32HVB.js → chunk-QDGZJ653.js} +3 -3
- package/dist/{chunk-CYA5S5OD.js → chunk-QOO5RW3K.js} +6 -5
- package/dist/{chunk-IXBIVKWZ.js → chunk-QQ4E2RYW.js} +95 -18
- package/dist/{chunk-2WMTTIAZ.js → chunk-QRYVCDWS.js} +2 -2
- package/dist/{chunk-Z42MXYWW.js → chunk-QWVXN224.js} +110 -28
- package/dist/{chunk-XSMRR4IW.js → chunk-QYZJHTNE.js} +26 -27
- package/dist/{chunk-I7ECEP3W.js → chunk-R2NN3JKH.js} +43 -6
- package/dist/{chunk-B7CUBLF7.js → chunk-RACAOE2Z.js} +13 -13
- package/dist/{chunk-5RACW3LX.js → chunk-RAXVPNMR.js} +1 -1
- package/dist/{chunk-CMR64RYM.js → chunk-RHWZUUS4.js} +17 -17
- package/dist/{chunk-RNAYCUNM.js → chunk-S3THSOWV.js} +1 -1
- package/dist/{chunk-U2MREVXQ.js → chunk-S7QUM2UK.js} +2 -2
- package/dist/{chunk-SSTLTIF3.js → chunk-SKGMF2SO.js} +25 -2
- package/dist/{chunk-J6SEDDOR.js → chunk-SQKXKV2Y.js} +2 -2
- package/dist/{chunk-DPFQ2WQX.js → chunk-TLT7NZCW.js} +4 -4
- package/dist/chunk-TTCUG2CF.js +91 -0
- package/dist/{chunk-W6K4XB6G.js → chunk-UEA3LXOB.js} +1 -1
- package/dist/{chunk-WNKVKNOM.js → chunk-UNXQBELK.js} +1 -1
- package/dist/{chunk-KKOLHBNC.js → chunk-UP75Z5X7.js} +904 -167
- package/dist/{chunk-Y3S4H77G.js → chunk-USSB56WK.js} +1 -1
- package/dist/{chunk-PVIH3ZGV.js → chunk-UUEKJDK6.js} +90 -10
- package/dist/{chunk-T2PYVVZ5.js → chunk-UUQBZPJJ.js} +1 -1
- package/dist/{chunk-32YHCHWW.js → chunk-V3EEVY4L.js} +1 -1
- package/dist/{chunk-2IWBY7XK.js → chunk-VPZHJCKW.js} +2 -2
- package/dist/chunk-VRAQTFD6.js +265 -0
- package/dist/{chunk-EDH54E5A.js → chunk-VSRPS3J7.js} +14 -14
- package/dist/{chunk-5ZNY7IZI.js → chunk-WMESXBJM.js} +37 -3
- package/dist/{chunk-54QCG45Y.js → chunk-WOYADZF5.js} +56 -5
- package/dist/{chunk-7Y5UDEVM.js → chunk-WZHZCDDO.js} +6 -5
- package/dist/{chunk-3NGZ4PL7.js → chunk-X2Q5NLUL.js} +11 -2
- package/dist/{chunk-CCIEIRV2.js → chunk-X33NYQYJ.js} +2 -2
- package/dist/{chunk-K6KRBXQP.js → chunk-XHK3FS3W.js} +3 -2
- package/dist/{chunk-AP455LBW.js → chunk-XZXBB3TN.js} +2 -2
- package/dist/{chunk-JSKBHUR7.js → chunk-YCANDMI2.js} +2 -2
- package/dist/{chunk-YIIME2OW.js → chunk-YLXTKI6M.js} +1 -1
- package/dist/{chunk-LEJ25726.js → chunk-YTCFACP4.js} +650 -434
- package/dist/{chunk-HUSVERE6.js → chunk-Z6RSN7KS.js} +7 -6
- package/dist/{cleanup-graph-garbage-MXQ4Q2MA.js → cleanup-graph-garbage-XWUFAMFO.js} +8 -8
- package/dist/{co-activation-QI5BK4RT.js → co-activation-ZCHPLLP6.js} +4 -4
- package/dist/{co-occurrence-BYSQNZSV.js → co-occurrence-KG3LKALN.js} +6 -6
- package/dist/{code-context-index-BNBHDXHW.js → code-context-index-WSOJQ72R.js} +5 -5
- package/dist/{content-extractor-JRJDNIHP.js → content-extractor-NXYNEF5K.js} +2 -2
- package/dist/{conversation-entity-extractor-FPAMTL3C.js → conversation-entity-extractor-D3EFTLT4.js} +2 -2
- package/dist/{conversation-wiki-populator-WU4HEQ7C.js → conversation-wiki-populator-WQN3IUU6.js} +1 -1
- package/dist/{crdt-sync-ETPKNBCU.js → crdt-sync-4PFGPZXV.js} +8 -1
- package/dist/{crm-webhook-M566ZMZS.js → crm-webhook-II7Z45Q6.js} +2 -2
- package/dist/cto-delegation-gate-JWWOJPNC.js +669 -0
- package/dist/{daemon-auth-7IFSV5FG.js → daemon-auth-3FEAHFWC.js} +5 -3
- package/dist/{daemon-orchestration-XV5GN73R.js → daemon-orchestration-FX4XZDR5.js} +45 -26
- package/dist/{daemon-ready-RKKB4P6K.js → daemon-ready-4JTSFKAY.js} +1 -1
- package/dist/{daemon-ready-signal-WKEJQNRA.js → daemon-ready-signal-LPAZWQOV.js} +3 -1
- package/dist/daemon-restart-circuit-breaker-PEGEIP6H.js +35 -0
- package/dist/daemon-timer-report-NM44WQRH.js +25 -0
- package/dist/{db-backup-MX2G3CEK.js → db-backup-W2QFSYQC.js} +15 -5
- package/dist/{db-restore-events-JVEEP52Z.js → db-restore-events-MQ2DBGEQ.js} +2 -2
- package/dist/dispatch-ack-VYH3ONSS.js +27 -0
- package/dist/{doc-graph-extractor-LR5KMPH7.js → doc-graph-extractor-F6ODFIID.js} +6 -6
- package/dist/{documents-FA6N7QDA.js → documents-23WX2FPQ.js} +12 -12
- package/dist/dreaming-NWD22UQ5.js +46 -0
- package/dist/{exe-drift-TUKTCXZE.js → exe-drift-CW72FBGE.js} +5 -5
- package/dist/{exe-export-ZLHBXMZC.js → exe-export-AUJ7CV7G.js} +11 -11
- package/dist/{exe-import-VVKBZWSA.js → exe-import-JX4I52VE.js} +11 -11
- package/dist/{exe-key-QJXFBF6G.js → exe-key-2N6LY2BU.js} +242 -228
- package/dist/{exe-org-BGZNNE4H.js → exe-org-X4CSNCKS.js} +3 -3
- package/dist/{exe-snapshot-JRLUO645.js → exe-snapshot-XZ7FVCYZ.js} +30 -28
- package/dist/{fast-db-init-JKJEEHUI.js → fast-db-init-4CWHSOOR.js} +1 -1
- package/dist/{founder-context-HWPLMZVR.js → founder-context-7L3CFPYN.js} +4 -4
- package/dist/gateway/index.js +25 -25
- package/dist/{gateway-client-GRBOJQYC.js → gateway-client-7LMZKHTH.js} +1 -1
- package/dist/git-main-guard-UZP3KXYI.js +39 -0
- package/dist/{git-staleness-X5XZONX3.js → git-staleness-CI2R4QOJ.js} +4 -4
- package/dist/{global-procedures-VIIVWB6R.js → global-procedures-XQX3LUH6.js} +6 -6
- package/dist/{graph-auto-extract-HCQQF5AG.js → graph-auto-extract-OURWMGBS.js} +6 -6
- package/dist/{graph-rag-WAK2BRJH.js → graph-rag-JZZAB7PC.js} +2 -2
- package/dist/{hook-integrity-WURH6DS3.js → hook-integrity-XY47IM7G.js} +1 -1
- package/dist/hook-prefetch-PHRRKY4C.js +137 -0
- package/dist/hooks/bug-report-worker.js +31 -27
- package/dist/hooks/codex-stop-task-finalizer.js +31 -27
- package/dist/hooks/commit-complete.js +28 -26
- package/dist/hooks/error-recall.js +12 -11
- package/dist/hooks/exe-heartbeat-hook.js +6 -6
- package/dist/hooks/ingest-worker.js +11 -11
- package/dist/hooks/ingest.js +18 -18
- package/dist/hooks/instructions-loaded.js +7 -7
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +7 -7
- package/dist/hooks/post-compact.js +27 -25
- package/dist/hooks/post-tool-combined.js +12 -12
- package/dist/hooks/pre-compact.js +28 -26
- package/dist/hooks/pre-tool-use.js +179 -46
- package/dist/hooks/prompt-submit.js +323 -272
- package/dist/hooks/session-end.js +34 -32
- package/dist/hooks/session-start.js +28 -21
- package/dist/hooks/stop.js +34 -32
- package/dist/hooks/subagent-stop.js +27 -25
- package/dist/hooks/summary-worker.js +35 -33
- package/dist/index.js +40 -38
- package/dist/{installer-6IFVEQI4.js → installer-G3JAO3NT.js} +9 -9
- package/dist/{installer-NX2CLNV5.js → installer-JND3RJ6Q.js} +9 -9
- package/dist/{installer-T2LGHZKL.js → installer-L7EVH5U5.js} +9 -9
- package/dist/{intercom-queue-KYHXXZCQ.js → intercom-queue-ZFEQALR3.js} +24 -22
- package/dist/{key-backup-status-TNEHXA2X.js → key-backup-status-LOSMVATJ.js} +2 -2
- package/dist/lib/agent-config.js +4 -3
- package/dist/lib/cloud-sync.js +19 -19
- package/dist/lib/config.js +2 -2
- package/dist/lib/consolidation.js +11 -11
- package/dist/lib/crypto.js +3 -3
- package/dist/lib/database.js +6 -4
- package/dist/lib/db-daemon-client.js +5 -5
- package/dist/lib/db-read-worker-client.js +9 -3
- package/dist/lib/db.js +6 -4
- package/dist/lib/device-registry.js +3 -3
- package/dist/lib/embed-worker.js +2 -2
- package/dist/lib/embedder.js +5 -5
- package/dist/lib/employee-templates.js +7 -7
- package/dist/lib/employees.js +10 -4
- package/dist/lib/exe-daemon-client.js +4 -4
- package/dist/lib/exe-daemon.js +588 -164
- package/dist/lib/hybrid-search.js +11 -9
- package/dist/lib/identity.js +4 -4
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +4 -4
- package/dist/lib/messaging.js +27 -23
- package/dist/lib/post-tool-memory.js +3 -3
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +15 -7
- package/dist/lib/schedules.js +9 -9
- package/dist/lib/session-registry.js +6 -6
- package/dist/lib/skill-learning.js +10 -10
- package/dist/lib/status-brief.js +4 -4
- package/dist/lib/store.js +8 -8
- package/dist/lib/task-router.js +5 -5
- package/dist/lib/tasks.js +28 -24
- package/dist/lib/tmux-routing.js +55 -24
- package/dist/lib/tmux-status.js +9 -3
- package/dist/lib/tmux-transport.js +1 -1
- package/dist/lib/token-spend.js +5 -5
- package/dist/lib/transport.js +2 -2
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-MGDR4YNI.js → license-gate-QTRQHV4F.js} +5 -5
- package/dist/{license-sync-UWE6GEB4.js → license-sync-N3UJFWAW.js} +4 -4
- package/dist/mcp/register-tools.js +97 -91
- package/dist/mcp/server.js +99 -93
- package/dist/mcp/tools/complete-reminder.js +6 -6
- package/dist/mcp/tools/create-reminder.js +6 -6
- package/dist/mcp/tools/create-task.js +36 -27
- package/dist/mcp/tools/deactivate-behavior.js +11 -11
- package/dist/mcp/tools/list-reminders.js +6 -6
- package/dist/mcp/tools/list-tasks.js +34 -28
- package/dist/mcp/tools/send-message.js +27 -25
- package/dist/mcp/tools/update-task.js +33 -27
- package/dist/{mcp-http-config-RQLYEPTL.js → mcp-http-config-BDL36JZ3.js} +6 -6
- package/dist/{mcp-port-config-FFAMMLLE.js → mcp-port-config-6HYY6J7K.js} +2 -2
- package/dist/mcp-session-identity-T7H2EKFQ.js +177 -0
- package/dist/{memory-cards-VYQ5DPMR.js → memory-cards-ZRDW7QBX.js} +8 -8
- package/dist/{memory-graph-extractor-GX2HNYLU.js → memory-graph-extractor-QLXDMHRS.js} +7 -7
- package/dist/{memory-poisoning-defense-TX7627BD.js → memory-poisoning-defense-HJTXYCWH.js} +4 -4
- package/dist/{memory-pressure-watchdog-MLNNH26B.js → memory-pressure-watchdog-HN5X7AVN.js} +75 -36
- package/dist/{memory-queue-X2CSEAKE.js → memory-queue-2UOOF27L.js} +5 -3
- package/dist/{memory-queue-client-YRL6XTGU.js → memory-queue-client-O5U6F6XP.js} +6 -6
- package/dist/{memory-reflection-KIGEFSI4.js → memory-reflection-WVNFBJAA.js} +4 -4
- package/dist/{monitor-grants-RZOVSYVO.js → monitor-grants-E3ELDEWD.js} +5 -5
- package/dist/{monitor-identity-MOXISYNG.js → monitor-identity-GLFZSEAH.js} +2 -2
- package/dist/{notification-ledger-B6AVEGMV.js → notification-ledger-SZEPGJQ7.js} +25 -23
- package/dist/{notifications-DWXV7SVL.js → notifications-4UT53CDG.js} +24 -22
- package/dist/{orchestration-events-ZG7O4HRY.js → orchestration-events-WV4NWKZH.js} +5 -5
- package/dist/{orchestration-phase-CXRCBCK7.js → orchestration-phase-AWBXPO52.js} +3 -3
- package/dist/orchestrator-UAC3RW2T.js +47 -0
- package/dist/{pipeline-router-RTLAGZTA.js → pipeline-router-LM53NMWJ.js} +5 -5
- package/dist/{plan-limits-WLQZTCSF.js → plan-limits-2FEY2GOS.js} +7 -7
- package/dist/platform-procedures-X5DFJFV7.js +13 -0
- package/dist/{preferences-TYTGDXQZ.js → preferences-TWIXZBKS.js} +2 -2
- package/dist/{project-boot-6CGQ3EAH.js → project-boot-4NUH5FRU.js} +2 -2
- package/dist/{projection-worker-44SEKTZ5.js → projection-worker-FZ7YSN3G.js} +5 -5
- package/dist/{prospective-memory-UACFTYXK.js → prospective-memory-6D2ASWM3.js} +4 -4
- package/dist/{push-notifications-W5JRXLKJ.js → push-notifications-U6FIBQRW.js} +3 -3
- package/dist/{reranker-NL4YAV6R.js → reranker-GYYRPANK.js} +3 -3
- package/dist/{retrieval-health-4C2PO6HH.js → retrieval-health-4Z242P3B.js} +1 -1
- package/dist/{review-polling-W5AMHNLT.js → review-polling-HXAFJZDA.js} +25 -23
- package/dist/runtime/index.js +35 -33
- package/dist/{session-events-PGL5GJEB.js → session-events-O3BV56ZX.js} +25 -23
- package/dist/{session-kill-telemetry-6YDGEF27.js → session-kill-telemetry-AELE4JDK.js} +25 -23
- package/dist/session-mcp-config-YKNXG5DW.js +50 -0
- package/dist/{session-scope-3MEOO557.js → session-scope-5EAPUT45.js} +24 -22
- package/dist/setup-wizard-NB6R4QVS.js +14 -0
- package/dist/{shard-manager-MBWQEYNG.js → shard-manager-35PWFR3B.js} +3 -3
- package/dist/{skill-refinement-EOROTBPX.js → skill-refinement-DVSYXBBP.js} +5 -5
- package/dist/{stack-release-PR2XKJ4Q.js → stack-release-HGFFFCGC.js} +90 -15
- package/dist/{stack-update-LMDM27ZW.js → stack-update-ATCJFOEK.js} +5 -5
- package/dist/{steward-gate-4A2XHYFD.js → steward-gate-3GQ5XKMJ.js} +5 -5
- package/dist/{support-inbox-Z77ACQUY.js → support-inbox-4L62P4EP.js} +7 -6
- package/dist/{support-outbox-GB5SQFRJ.js → support-outbox-WHGPUYL2.js} +2 -2
- package/dist/task-enforcement-IPIZX2MM.js +90 -0
- package/dist/{task-scope-EKYDCVUF.js → task-scope-FOIW25HR.js} +26 -22
- package/dist/{tasks-crud-6LBNU43G.js → tasks-crud-HBDKE6C5.js} +34 -22
- package/dist/tasks-notify-G2U2U2YA.js +53 -0
- package/dist/{tasks-review-PBIUYXAL.js → tasks-review-27SFX5XN.js} +26 -22
- package/dist/{telemetry-upload-WQDFABTF.js → telemetry-upload-ZOXHRWR5.js} +9 -9
- package/dist/tmux-command-guard-KSJKIX3C.js +117 -0
- package/dist/{token-budget-KWGL5DY7.js → token-budget-5Y4YPDO3.js} +5 -5
- package/dist/{tool-capability-index-EH3HQVHU.js → tool-capability-index-VYF5GNJ2.js} +1 -1
- package/dist/{tool-telemetry-UC55LSIH.js → tool-telemetry-KBXSBDTK.js} +1 -1
- package/dist/tui/App.js +39 -37
- package/dist/{tui-data-M3RBSJL3.js → tui-data-NLFMBIQI.js} +24 -22
- package/dist/{update-check-HFO4VHO4.js → update-check-3FHAWIG2.js} +7 -3
- package/dist/{update-support-VPBD5SD2.js → update-support-UVUSZG7R.js} +93 -93
- package/dist/{whatsapp-accounts-BWRZUY23.js → whatsapp-accounts-BFIOXYW5.js} +1 -1
- package/dist/{whatsapp-config-GOSELKTE.js → whatsapp-config-FAX6EA5K.js} +20 -13
- package/dist/{worker-gate-4QLLMXZM.js → worker-gate-3KUBAU32.js} +3 -3
- package/dist/{workflow-engine-MMEHKUN4.js → workflow-engine-YITHXZR5.js} +2 -2
- package/dist/{working-memory-PY4AG577.js → working-memory-NUVB5SFV.js} +1 -1
- package/dist/worktree-LL62PLQB.js +47 -0
- package/dist/{worktree-sweep-5WKBU7E6.js → worktree-sweep-WTK3MTKH.js} +7 -7
- package/package.json +3 -2
- package/release-notes.json +75 -43
- package/dist/branch-hygiene-R5NVTRAY.js +0 -138
- package/dist/chunk-7YORGTXC.js +0 -138
- package/dist/chunk-CCPHEPLU.js +0 -30
- package/dist/chunk-HMP5VT6A.js +0 -118
- package/dist/chunk-PVYR4FCQ.js +0 -113
- package/dist/chunk-RP5GETX5.js +0 -140
- package/dist/chunk-YGAAZN3E.js +0 -47
- package/dist/cto-delegation-gate-S734XDXT.js +0 -290
- package/dist/dispatch-ack-4S44HBWB.js +0 -15
- package/dist/dreaming-UKGTQT6I.js +0 -44
- package/dist/orchestrator-PGHJDUUT.js +0 -45
- package/dist/setup-wizard-CJIYDSSP.js +0 -13
- package/dist/tasks-notify-TFJLSQ3B.js +0 -50
- package/dist/worktree-YXBDRYOC.js +0 -31
- package/dist/{chunk-7UMCQQWS.js → chunk-A4DVMPYB.js} +3 -3
- /package/dist/{chunk-2KLAYDFB.js → chunk-GIBYNT6W.js} +0 -0
- /package/dist/{chunk-MC6VPZKS.js → chunk-JRM4TAGS.js} +0 -0
- /package/dist/{chunk-3NCZKWPO.js → chunk-MGGOSFCR.js} +0 -0
- /package/dist/{chunk-C2SRRCRK.js → chunk-QIFYLIUF.js} +0 -0
- /package/dist/{chunk-OADURIIN.js → chunk-WTH4CSAP.js} +0 -0
- /package/dist/{core-memory-3IBWM4WR.js → core-memory-GAC6EWOQ.js} +0 -0
- /package/dist/{entity-boost-DWAWXFKN.js → entity-boost-NT6UO2Z3.js} +0 -0
- /package/dist/{message-queue-client-3PTHPG5Q.js → message-queue-client-4EOQRUXW.js} +0 -0
- /package/dist/{oauth-server-M5TGXT6D.js → oauth-server-67YBDP32.js} +0 -0
- /package/dist/{webhook-pipe-FZYLO6RR.js → webhook-pipe-LEXMUQ5B.js} +0 -0
- /package/dist/{wiki-acl-7CROE3MJ.js → wiki-acl-74BLWG6J.js} +0 -0
- /package/dist/{wiki-client-VNDOBK63.js → wiki-client-EAN7F5LV.js} +0 -0
package/README.md
CHANGED
|
@@ -1,243 +1,206 @@
|
|
|
1
|
-
#
|
|
1
|
+
# exe-os
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
AI employee operating system for AskExe: local-first memory, identity, task orchestration, and runtime glue for managing AI teammates through Claude Code, Codex, OpenCode, and the emerging desktop/runtime stack.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Current npm package: `@askexenow/exe-os` v0.9.341. Node.js `>=20` required.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## What this repo is for
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
exe-os lets a founder run an AI org instead of a single chat session:
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
- A coordinator agent owns the founder conversation and delegates through tracked tasks.
|
|
12
|
+
- Specialists run in isolated tmux/worktree sessions with persistent identity, behaviors, and memory.
|
|
13
|
+
- The local daemon, MCP server, hooks, and CLI keep sessions, reminders, reviews, cloud sync, and diagnostics connected.
|
|
14
|
+
- Customer data stays local-first and encrypted; cloud sync is end-to-end encrypted when enabled.
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
npm install -g @askexenow/exe-os
|
|
15
|
-
exe-os setup
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Two commands. Encryption key generated, embedding model downloaded, team created, and Claude Code MCP/hooks/launchers installed.
|
|
19
|
-
|
|
20
|
-
---
|
|
16
|
+
Hard constraints for every change:
|
|
21
17
|
|
|
22
|
-
|
|
18
|
+
- **MCP is the only data interface.** Never access the SQLCipher DB directly.
|
|
19
|
+
- **Preserve customer data sovereignty.** Updates must not overwrite identities, behaviors, procedures, rosters, local memory, or user config.
|
|
20
|
+
- **No secrets in code, logs, tests, telemetry, or bug reports.**
|
|
21
|
+
- **No `require()` in runtime ESM TypeScript** under `src/lib`, `src/mcp`, or `src/tui`; use ESM imports.
|
|
22
|
+
- **Every task/review/message/notification query must filter by `session_scope`.**
|
|
23
|
+
- **No hardcoded employee names.** Use role/config resolution, not AskExe's local roster.
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
## Architecture at a glance
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
```text
|
|
28
|
+
User / founder
|
|
29
|
+
-> coordinator agent session
|
|
30
|
+
-> managers / specialists via task DB + tmux sessions
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
Claude Code / Codex / OpenCode
|
|
33
|
+
-> hooks + MCP tools
|
|
34
|
+
-> exe daemon
|
|
35
|
+
-> encrypted local memory/tasks/identity/behavior store
|
|
36
|
+
-> optional E2EE cloud sync
|
|
37
|
+
-> gateway / stack integrations
|
|
30
38
|
```
|
|
31
39
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
Key pieces:
|
|
41
|
+
|
|
42
|
+
- **MCP server (`src/mcp`)** exposes the supported tool surface for memory, tasks, identity, behavior, support, diagnostics, config, documents, CRM/raw data, and gateway actions.
|
|
43
|
+
- **Daemon (`src/lib`, `src/services`)** supervises sessions, timers, task enforcement, intercom delivery, sync, diagnostics, and local state.
|
|
44
|
+
- **Adapters (`src/adapters`)** integrate with Claude Code, Codex, and OpenCode through hooks and launcher behavior.
|
|
45
|
+
- **CLI commands (`src/bin`, `src/commands`)** install, launch, diagnose, update, release, preflight, sync, and operate the stack.
|
|
46
|
+
- **Runtime/TUI (`src/runtime`, `src/tui`)** are legacy/current terminal runtime surfaces; the architecture doc notes the legacy Ink TUI is frozen while the product direction moves toward the native exe-build/desktop chat runtime.
|
|
47
|
+
- **Stack deploy (`deploy`)** contains compose, manifests, observability, registry proxy, nginx, migrations, and customer VPS deployment assets.
|
|
48
|
+
|
|
49
|
+
Cognition layers used by agents:
|
|
50
|
+
|
|
51
|
+
1. Company procedures: org-wide rules.
|
|
52
|
+
2. Identity: role definition and non-negotiables.
|
|
53
|
+
3. Behaviors/expertise: learned corrections and skills.
|
|
54
|
+
4. Experience/memory: searchable history and decisions.
|
|
55
|
+
5. Prospective items: future-condition memory/reminders surfaced at boot.
|
|
56
|
+
|
|
57
|
+
## Repo map
|
|
58
|
+
|
|
59
|
+
| Path | Purpose |
|
|
60
|
+
|---|---|
|
|
61
|
+
| `src/lib/` | Core daemon/runtime libraries: memory, tasks, identity, behaviors, search, sync, config, orchestration. |
|
|
62
|
+
| `src/mcp/` | Consolidated MCP server and tool implementations. This is the supported data/control boundary. |
|
|
63
|
+
| `src/adapters/` | Claude/Codex/OpenCode integration hooks and adapter glue. |
|
|
64
|
+
| `src/bin/` | CLI entrypoints published through `package.json#bin`. |
|
|
65
|
+
| `src/commands/` | Command implementations for `exe-os`, setup/update/release flows, diagnostics, etc. |
|
|
66
|
+
| `src/runtime/` | Agent runtime/tool registry pieces. |
|
|
67
|
+
| `src/tui/` | Legacy Ink TUI surface; avoid new product investment unless explicitly tasked. |
|
|
68
|
+
| `src/gateway/` | Gateway/provider adapters and external messaging integration code. |
|
|
69
|
+
| `deploy/` | Customer stack compose files, manifests, migrations, nginx, observability, registry proxy, Ansible. |
|
|
70
|
+
| `deploy/stack-manifests/` | Customer-facing stack manifests; images must be digest-pinned. |
|
|
71
|
+
| `packages/` | Shared UI/theme/health/error-page packages. |
|
|
72
|
+
| `tests/` | Vitest suites, smoke tests, deploy tests, integration tests, orchestration tests. |
|
|
73
|
+
| `scripts/` | Build locks, guards, schema checks, stack simulation, preflight helpers. |
|
|
74
|
+
| `.planning/ARCHITECTURE.md` | Source of truth for current architecture and shipped progress. Future roadmap belongs in MCP support feature records, not markdown. |
|
|
75
|
+
| `release-notes.json` | Current npm release notes shown after updates. |
|
|
76
|
+
| `stack.release.json` | Stack release descriptor for customer/VPS participation. |
|
|
77
|
+
|
|
78
|
+
## Key commands
|
|
79
|
+
|
|
80
|
+
Customer/operator commands published by this package:
|
|
81
|
+
|
|
82
|
+
| Command | Use |
|
|
83
|
+
|---|---|
|
|
84
|
+
| `exe` | Launch the configured coordinator agent. |
|
|
85
|
+
| `exe-os` | Main CLI/dashboard entry. |
|
|
86
|
+
| `exe-os setup` | First-time setup wizard: encryption, license, team, hooks, MCP, daemon. |
|
|
87
|
+
| `exe-os update` | Recommended interactive update path for installed systems. |
|
|
88
|
+
| `exe-os healthcheck` / `exe-healthcheck` | Health check for daemon, memory, cloud/sync, retrieval, and runtime state. |
|
|
89
|
+
| `exe-doctor` | Deeper diagnostics. |
|
|
90
|
+
| `exe-pending-reviews` | Show review queue; use before claiming work is idle/done. |
|
|
91
|
+
| `exe-pending-messages` | Show pending inter-agent messages. |
|
|
92
|
+
| `exe-config-dump` | Read-only effective config dump with secret redaction. |
|
|
93
|
+
| `exe-timers` | Timer health dashboard. |
|
|
94
|
+
| `exe-search-quality` | Retrieval quality/latency telemetry. |
|
|
95
|
+
| `exe-stack-update` | Customer stack image update flow. Run only with explicit approval. |
|
|
96
|
+
| `exe-preflight` | Stack/client production preflight checks. |
|
|
97
|
+
| `exe-cloud` | Cloud sync/linking commands. Never print recovery phrases in agent output. |
|
|
98
|
+
|
|
99
|
+
Useful local checks:
|
|
37
100
|
|
|
38
101
|
```bash
|
|
39
|
-
|
|
102
|
+
npm run typecheck
|
|
103
|
+
npm run lint
|
|
104
|
+
npm test
|
|
105
|
+
npm run test:daemon-smoke
|
|
106
|
+
npm run test:stack-sim
|
|
107
|
+
npm run guard:esm-require
|
|
108
|
+
npm run check:schema-version
|
|
109
|
+
npm run build
|
|
40
110
|
```
|
|
41
111
|
|
|
42
|
-
|
|
112
|
+
## Development workflow
|
|
43
113
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## What You Get
|
|
49
|
-
|
|
50
|
-
| Feature | What it does |
|
|
51
|
-
|---------|-------------|
|
|
52
|
-
| **Persistent memory** | Every interaction stored in encrypted SQLCipher + vector search. Searchable across sessions. |
|
|
53
|
-
| **Four-layer cognition** | Company Procedures (org-wide rules) + Identity (who you are) + Expertise (what you've learned) + Experience (what you remember) |
|
|
54
|
-
| **Multi-agent orchestration** | COO coordinates CTO, CMO, engineers. Parallel task execution via tmux. |
|
|
55
|
-
| **Task system** | Create, assign, review, chain tasks. Auto-dispatch. Review pipeline with cascading approval. |
|
|
56
|
-
| **Company procedures** | Org-wide rules that every employee follows. Set once, cascades everywhere. |
|
|
57
|
-
| **Identity injection** | Each employee gets a permanent identity doc. Claude Code's `--agent` flag replaces the default system prompt. |
|
|
58
|
-
| **Skill learning** | Agents learn procedures from repeated patterns. Corrections become permanent behaviors. |
|
|
59
|
-
| **Cloud sync** | End-to-end encrypted memory sync across devices. Your key, your data. |
|
|
60
|
-
| **License activation** | `exe-os --activate <key>` to unlock CTO + CMO. Free tier: 1 employee (COO only). |
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## How It Works
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
You
|
|
68
|
-
|
|
|
69
|
-
v
|
|
70
|
-
Your COO (exe)
|
|
71
|
-
├── CTO ──> architecture, code reviews, tech decisions
|
|
72
|
-
│ └── Engineer ──> implementation, tests, commits
|
|
73
|
-
├── CMO ──> design, content, SEO, branding
|
|
74
|
-
│ └── Content specialist ──> video, images, production
|
|
75
|
-
└── AI specialist ──> AI tools, research, evaluation
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
You talk to your COO. Your COO delegates. Each employee has:
|
|
79
|
-
- **Persistent memory** — remembers past work, decisions, patterns
|
|
80
|
-
- **Identity** — permanent role doc that defines who they are
|
|
81
|
-
- **Task queue** — auto-chains through assigned work
|
|
82
|
-
- **Behavioral expertise** — corrections accumulate as permanent rules
|
|
83
|
-
- **Company procedures** — org-wide rules that cascade to every employee
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Setup Walkthrough
|
|
88
|
-
|
|
89
|
-
### 1. Install
|
|
114
|
+
Install dependencies:
|
|
90
115
|
|
|
91
116
|
```bash
|
|
92
|
-
|
|
93
|
-
xcode-select --install && brew install tmux
|
|
94
|
-
npm install -g @askexenow/exe-os
|
|
95
|
-
|
|
96
|
-
# Linux / WSL2
|
|
97
|
-
sudo apt install -y tmux git cmake g++ libsecret-1-dev curl
|
|
98
|
-
npm install -g @askexenow/exe-os
|
|
99
|
-
|
|
100
|
-
# Windows — must use WSL2 (native Windows not supported)
|
|
101
|
-
# Run `wsl --install` in PowerShell first, then follow Linux steps inside WSL2
|
|
117
|
+
npm install
|
|
102
118
|
```
|
|
103
119
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
### 2. Run Setup
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
exe-os setup
|
|
110
|
-
```
|
|
120
|
+
Before coding:
|
|
111
121
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
-
|
|
116
|
-
- Shows your team (CTO, CMO) and pricing tiers
|
|
117
|
-
- Optionally activates a license key
|
|
118
|
-
- Installs Claude Code MCP, hooks, launchers, and daemon supervision
|
|
122
|
+
1. Read the task brief and source docs.
|
|
123
|
+
2. Use code-context/MCP search when available before broad manual grep.
|
|
124
|
+
3. Keep diffs surgical; do not reformat unrelated files.
|
|
125
|
+
4. Do not touch customer-local data, identities, behaviors, procedures, or rosters.
|
|
119
126
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
**Mode 1 — Claude Code:**
|
|
127
|
+
Standard validation:
|
|
123
128
|
|
|
124
129
|
```bash
|
|
125
|
-
|
|
130
|
+
npm run typecheck
|
|
131
|
+
npm test
|
|
132
|
+
npm run build
|
|
126
133
|
```
|
|
127
134
|
|
|
128
|
-
|
|
135
|
+
Targeted validation is acceptable for small changes, but release/merge gates require the relevant full checks. For runtime/daemon-critical work, also run:
|
|
129
136
|
|
|
130
137
|
```bash
|
|
131
|
-
|
|
138
|
+
npm run guard:esm-require
|
|
139
|
+
npm run test:daemon-smoke
|
|
132
140
|
```
|
|
133
141
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
## Pricing
|
|
137
|
-
|
|
138
|
-
| Plan | Price | Employees | Memories | Devices |
|
|
139
|
-
|------|-------|-----------|----------|---------|
|
|
140
|
-
| Free | $0 | 1 (COO) | 50,000 | 1 |
|
|
141
|
-
| Solopreneur | $97/mo | 5 | 250,000 | 2 |
|
|
142
|
-
| Company | $297/mo | 20 | 1,000,000 | 10 |
|
|
143
|
-
| Agency | $497/mo | 100 | 10,000,000 | 50 |
|
|
144
|
-
| Enterprise | Custom | Unlimited | Unlimited | Unlimited |
|
|
142
|
+
Build details:
|
|
145
143
|
|
|
146
|
-
|
|
144
|
+
- `npm run build` uses `scripts/build-lock.sh`, then copies runtime assets into `dist/` and generates hook manifests when possible.
|
|
145
|
+
- `npm run deploy` builds, installs this checkout globally, and restarts/re-registers pieces. It disrupts active MCP sessions; do not run it casually.
|
|
146
|
+
- `postinstall` runs command-only install behavior so global installs expose CLIs without overwriting customer data.
|
|
147
147
|
|
|
148
|
-
|
|
148
|
+
## Test and CI notes
|
|
149
149
|
|
|
150
|
-
|
|
150
|
+
- Main test runner: `vitest run`.
|
|
151
|
+
- `test:publish` is the required publish gate subset plus selected serialized stress/gateway tests.
|
|
152
|
+
- Tests that touch support/bug/feature upstream paths must mock `fetch`; never create live support records from tests.
|
|
153
|
+
- Docker/live-DB tests may be quarantined in `test:publish`; read the script comments before assuming a missing test is accidental.
|
|
154
|
+
- CI must be green on the exact commit before merge/release.
|
|
151
155
|
|
|
152
|
-
##
|
|
153
|
-
|
|
154
|
-
Create employees with built-in templates:
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
exe-new-employee atlas --role <template>
|
|
158
|
-
```
|
|
156
|
+
## Publish and release
|
|
159
157
|
|
|
160
|
-
|
|
158
|
+
NPM publish gate:
|
|
161
159
|
|
|
162
160
|
```bash
|
|
163
|
-
|
|
161
|
+
npm run prepublishOnly
|
|
164
162
|
```
|
|
165
163
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## For Agencies
|
|
171
|
-
|
|
172
|
-
See [docs/Agency-Playbook.md](docs/Agency-Playbook.md) for multi-client VPS deployment:
|
|
173
|
-
- One VPS, multiple clients, full data isolation
|
|
174
|
-
- Per-client wiki workspaces
|
|
175
|
-
- Cross-client querying for agency owners
|
|
176
|
-
- Config-driven white-label theming via `branding.json`
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Commands
|
|
164
|
+
That runs typecheck, build, orphan chunk pruning, ESM `require()` guard, schema version check, customer-readiness, and pre-publish checks.
|
|
181
165
|
|
|
182
|
-
|
|
183
|
-
|---------|-------------|
|
|
184
|
-
| `exe-os` | Launch TUI dashboard (Mode 2) |
|
|
185
|
-
| `exe-os setup` | Run setup wizard |
|
|
186
|
-
| `exe-os claude` | Install hooks + MCP into Claude Code (Mode 1) |
|
|
187
|
-
| `exe-os --activate <key>` | Activate a license key |
|
|
188
|
-
| `exe` | Launch your COO in Claude Code |
|
|
189
|
-
| `exe-new-employee <name>` | Create a new employee |
|
|
190
|
-
| `/exe` | Boot your COO (inside Claude Code) |
|
|
191
|
-
| `/exe-team` | Show employee roster |
|
|
192
|
-
| `/exe-search <query>` | Search memories |
|
|
166
|
+
Normal local package update path for users:
|
|
193
167
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
exe-os/
|
|
200
|
-
src/
|
|
201
|
-
lib/ # Core: memory, tasks, identity, behaviors, search, sync, encryption
|
|
202
|
-
mcp/ # MCP server (100+ tools for Claude Code integration)
|
|
203
|
-
adapters/ # Claude Code hooks (ingest, session-start, pre-tool-use, etc.)
|
|
204
|
-
tui/ # Ink-based terminal dashboard (Mode 2)
|
|
205
|
-
runtime/ # Agent loop, tool registry, permissions (Mode 2 standalone)
|
|
206
|
-
gateway/ # External messaging (WhatsApp, Telegram, Discord, webhook)
|
|
207
|
-
deploy/
|
|
208
|
-
compose/ # Docker Compose for VPS deployment (CRM + wiki + gateway + daemon)
|
|
209
|
-
Dockerfile* # Per-service Docker images
|
|
210
|
-
docs/
|
|
211
|
-
Agency-Playbook.md # Multi-client VPS guide
|
|
168
|
+
```bash
|
|
169
|
+
npm install -g @askexenow/exe-os@latest
|
|
170
|
+
# or use the interactive path
|
|
171
|
+
exe-os update
|
|
212
172
|
```
|
|
213
173
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
- **
|
|
229
|
-
- **
|
|
230
|
-
- **
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
174
|
+
Customer stack releases are separate from npm package releases:
|
|
175
|
+
|
|
176
|
+
- `release-notes.json` currently tracks npm v0.9.341.
|
|
177
|
+
- `stack.release.json` currently describes stack/source v0.9.312 and includes TODO notes for private GHCR app image digest resolution.
|
|
178
|
+
- Customer stack manifests/images must be SHA256 digest-pinned. Do not promote tag-only app images to customer releases.
|
|
179
|
+
- Production stack updates must preserve named Docker volumes and customer state; never use `docker compose down -v` or remove data volumes.
|
|
180
|
+
- Stack image release should go through the documented `exe-os release --stack` flow, Bob/customer-readiness audit, preflight, pinned images, and health verification.
|
|
181
|
+
|
|
182
|
+
## Operational gotchas
|
|
183
|
+
|
|
184
|
+
- **MCP only.** If MCP is disconnected, reconnect it; do not bypass with direct DB reads or ad-hoc scripts against SQLCipher.
|
|
185
|
+
- **Session scope matters.** Cross-session task/review/message leakage is a P0 class bug. Query filters must include `session_scope` where applicable.
|
|
186
|
+
- **Data is immutable unless the user changes it.** Installers, updates, imports, starter packs, and stack updates must be additive/check-exists-first.
|
|
187
|
+
- **Cloud endpoint is `https://api.askexe.com`.** Do not introduce legacy cloud domains.
|
|
188
|
+
- **Key material belongs in Keychain/secret-tool.** Never log, print, or commit recovery phrases or master keys.
|
|
189
|
+
- **Runtime TypeScript is ESM.** `require()` in daemon/MCP/TUI runtime paths will break after build.
|
|
190
|
+
- **Stack state needs volumes.** WhatsApp auth, Postgres, wiki/CRM/gateway data, monitor data, and other stateful services need named volumes before image swaps.
|
|
191
|
+
- **Health before claims.** Verify daemon health, pending reviews, pending messages, task status, and tmux state before reporting an agent is idle/done/stuck.
|
|
192
|
+
- **Build after merges.** A clean git merge is not a build check; run `npm run build` after merged work that affects shipped code.
|
|
193
|
+
- **No `:latest` in manifests/compose.** Release images must be versioned and digest-pinned for customer deploys.
|
|
194
|
+
|
|
195
|
+
## Security checklist for reviews
|
|
196
|
+
|
|
197
|
+
- No secrets, PII, API keys, recovery phrases, or tokens in code/test fixtures/log output.
|
|
198
|
+
- Auth middleware and permission checks preserved.
|
|
199
|
+
- External network connections use TLS unless explicitly local-only.
|
|
200
|
+
- Telemetry/bug-report egress redacts secrets and mnemonics.
|
|
201
|
+
- No direct DB access paths added; all agent-facing data flows through MCP tools.
|
|
202
|
+
- No hardcoded AskExe employee names, local paths, or private roster assumptions.
|
|
203
|
+
- Compose services have healthchecks and stateful services have durable volumes.
|
|
241
204
|
|
|
242
205
|
## License
|
|
243
206
|
|
|
@@ -42,6 +42,7 @@ GOTRUE_MAILER_AUTOCONFIRM=false
|
|
|
42
42
|
# Auth-email From address — customer domain, not askexe.com (bug 133c9d5b).
|
|
43
43
|
SMTP_FROM=noreply@CHANGEME_DOMAIN
|
|
44
44
|
# To enable verified email confirmation, set SMTP_* (MAILER_AUTOCONFIRM stays false).
|
|
45
|
+
# Bug 799e7b1e: use these bare SMTP_* names, not GoTrue's own GOTRUE_SMTP_* names.
|
|
45
46
|
SMTP_HOST=
|
|
46
47
|
SMTP_PORT=587
|
|
47
48
|
SMTP_USER=
|
|
@@ -70,6 +70,7 @@ GOTRUE_MAILER_AUTOCONFIRM=false
|
|
|
70
70
|
# From address for auth emails — customer domain, not askexe.com (bug 133c9d5b).
|
|
71
71
|
SMTP_FROM=noreply@CHANGEME_DOMAIN
|
|
72
72
|
# To enable verified email confirmation, set SMTP_* below (MAILER_AUTOCONFIRM stays false).
|
|
73
|
+
# Bug 799e7b1e: use these bare SMTP_* names, not GoTrue's own GOTRUE_SMTP_* names.
|
|
73
74
|
SMTP_HOST=
|
|
74
75
|
SMTP_PORT=587
|
|
75
76
|
SMTP_USER=
|
|
@@ -221,10 +221,19 @@ services:
|
|
|
221
221
|
GOTRUE_JWT_ISSUER: ${GOTRUE_JWT_ISSUER:-${GOTRUE_EXTERNAL_URL:?GOTRUE_EXTERNAL_URL is required — set to https://auth.<your-domain> in .env}}
|
|
222
222
|
GOTRUE_DISABLE_SIGNUP: ${GOTRUE_DISABLE_SIGNUP:-true}
|
|
223
223
|
GOTRUE_MAILER_AUTOCONFIRM: ${GOTRUE_MAILER_AUTOCONFIRM:-false}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
224
|
+
# Bug 799e7b1e: generate-env.ts writes the canonical .env keys as
|
|
225
|
+
# bare SMTP_HOST/PORT/USER/PASS (no GOTRUE_ prefix — see generate-env.ts).
|
|
226
|
+
# But GoTrue's own upstream docs name these vars GOTRUE_SMTP_HOST/USER/PASS,
|
|
227
|
+
# so a human hand-editing .env (prod hotfix, manual onboarding, following
|
|
228
|
+
# GoTrue's docs instead of ours) naturally reaches for the GOTRUE_-prefixed
|
|
229
|
+
# names — which this compose never read, so SMTP silently stayed disabled
|
|
230
|
+
# even though credentials were present in .env. Accept BOTH spellings:
|
|
231
|
+
# prefer the canonical SMTP_* (generate-env.ts output), fall back to the
|
|
232
|
+
# GOTRUE_SMTP_* alias so a manually-set value still takes effect.
|
|
233
|
+
GOTRUE_SMTP_HOST: ${SMTP_HOST:-${GOTRUE_SMTP_HOST:-}}
|
|
234
|
+
GOTRUE_SMTP_PORT: ${SMTP_PORT:-${GOTRUE_SMTP_PORT:-587}}
|
|
235
|
+
GOTRUE_SMTP_USER: ${SMTP_USER:-${GOTRUE_SMTP_USER:-}}
|
|
236
|
+
GOTRUE_SMTP_PASS: ${SMTP_PASS:-${GOTRUE_SMTP_PASS:-}}
|
|
228
237
|
# Bug 133c9d5b: never fall back to a hardcoded askexe.com sender. SMTP_FROM
|
|
229
238
|
# is written to .env by generate-env.ts as noreply@<customer-domain>. A
|
|
230
239
|
# missing value fails loudly rather than silently sending auth mail From
|
|
@@ -122,6 +122,9 @@ export function generateEnv(options: GenerateEnvOptions): string {
|
|
|
122
122
|
`SMTP_FROM=noreply@${normalizedDomain}`,
|
|
123
123
|
"# To enable verified email confirmation, set SMTP_HOST/PORT/USER/PASS below.",
|
|
124
124
|
"# MAILER_AUTOCONFIRM is already false, so once SMTP is live, ownership is verified.",
|
|
125
|
+
"# Bug 799e7b1e: use these bare SMTP_* names, NOT GoTrue's own GOTRUE_SMTP_*",
|
|
126
|
+
"# names — compose reads SMTP_* first (falling back to GOTRUE_SMTP_* only if",
|
|
127
|
+
"# hand-set) and maps it to GoTrue's container env internally.",
|
|
125
128
|
"SMTP_HOST=",
|
|
126
129
|
"SMTP_PORT=587",
|
|
127
130
|
"SMTP_USER=",
|
|
@@ -377,6 +380,7 @@ export function generateExampleEnv(): string {
|
|
|
377
380
|
"# From address for auth emails — customer domain, not askexe.com (bug 133c9d5b).",
|
|
378
381
|
"SMTP_FROM=noreply@CHANGEME_DOMAIN",
|
|
379
382
|
"# To enable verified email confirmation, set SMTP_* below (MAILER_AUTOCONFIRM stays false).",
|
|
383
|
+
"# Bug 799e7b1e: use these bare SMTP_* names, not GoTrue's own GOTRUE_SMTP_* names.",
|
|
380
384
|
"SMTP_HOST=",
|
|
381
385
|
"SMTP_PORT=587",
|
|
382
386
|
"SMTP_USER=",
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
getAllActiveAgents,
|
|
6
6
|
resolveActiveAgentFromTmuxSession,
|
|
7
7
|
writeActiveAgent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-5ERDIOV3.js";
|
|
9
9
|
import "./chunk-CVYC6DUW.js";
|
|
10
10
|
import "./chunk-GJV3WDWM.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-AOHXREB7.js";
|
|
12
12
|
import "./chunk-2I23RPSI.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-OLMQ4UOF.js";
|
|
14
14
|
import "./chunk-PNQDP3OA.js";
|
|
15
15
|
import "./chunk-H73TUI4Y.js";
|
|
16
16
|
import "./chunk-7HLWBYH7.js";
|
|
17
17
|
import "./chunk-FXU7JOXK.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-WZHZCDDO.js";
|
|
19
|
+
import "./chunk-BYTDMAGB.js";
|
|
20
20
|
import "./chunk-MLKGABMK.js";
|
|
21
21
|
export {
|
|
22
22
|
cleanupSessionMarkers,
|
|
@@ -6,18 +6,18 @@ import {
|
|
|
6
6
|
getAllActiveAgents,
|
|
7
7
|
resolveActiveAgentFromTmuxSession,
|
|
8
8
|
writeActiveAgent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5ERDIOV3.js";
|
|
10
10
|
import "./chunk-CVYC6DUW.js";
|
|
11
11
|
import "./chunk-GJV3WDWM.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-AOHXREB7.js";
|
|
13
13
|
import "./chunk-2I23RPSI.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-OLMQ4UOF.js";
|
|
15
15
|
import "./chunk-PNQDP3OA.js";
|
|
16
16
|
import "./chunk-H73TUI4Y.js";
|
|
17
17
|
import "./chunk-7HLWBYH7.js";
|
|
18
18
|
import "./chunk-FXU7JOXK.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-WZHZCDDO.js";
|
|
20
|
+
import "./chunk-BYTDMAGB.js";
|
|
21
21
|
import "./chunk-MLKGABMK.js";
|
|
22
22
|
export {
|
|
23
23
|
cleanupSessionMarkers,
|
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
backfillKillSwitchEnabled,
|
|
6
6
|
computeBackfillDisabled,
|
|
7
7
|
countActionableNullVectors
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-CWXVH7WV.js";
|
|
9
|
+
import "./chunk-WZHZCDDO.js";
|
|
10
|
+
import "./chunk-BYTDMAGB.js";
|
|
11
11
|
import "./chunk-MLKGABMK.js";
|
|
12
12
|
export {
|
|
13
13
|
NOT_PARKED_SQL,
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
import {
|
|
3
3
|
disposeStore,
|
|
4
4
|
initStore
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VSRPS3J7.js";
|
|
6
6
|
import "./chunk-CHCA3ZM2.js";
|
|
7
7
|
import "./chunk-OTVEIJUQ.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-6XWTQUO4.js";
|
|
9
|
+
import "./chunk-4QCFFW2H.js";
|
|
10
10
|
import "./chunk-MP2AFCGL.js";
|
|
11
11
|
import {
|
|
12
12
|
getClient,
|
|
13
13
|
getEmployeeNamesByRole,
|
|
14
14
|
loadEmployeesSync
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-AOHXREB7.js";
|
|
16
16
|
import "./chunk-2I23RPSI.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-OLMQ4UOF.js";
|
|
18
18
|
import "./chunk-PNQDP3OA.js";
|
|
19
19
|
import "./chunk-H73TUI4Y.js";
|
|
20
20
|
import "./chunk-7HLWBYH7.js";
|
|
21
21
|
import "./chunk-FXU7JOXK.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-QWVXN224.js";
|
|
23
|
+
import "./chunk-WZHZCDDO.js";
|
|
24
|
+
import "./chunk-BYTDMAGB.js";
|
|
25
25
|
import {
|
|
26
26
|
isMainModule
|
|
27
27
|
} from "./chunk-6Y4B3QF6.js";
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
releaseJobLock,
|
|
10
10
|
reniceCurrentProcess,
|
|
11
11
|
startManagedJob
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-YCANDMI2.js";
|
|
13
|
+
import "./chunk-WZHZCDDO.js";
|
|
14
|
+
import "./chunk-BYTDMAGB.js";
|
|
15
15
|
import "./chunk-MLKGABMK.js";
|
|
16
16
|
export {
|
|
17
17
|
acquireJobLock,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getLatestBackup,
|
|
3
3
|
reasonFromBackupName
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-OLMQ4UOF.js";
|
|
5
|
+
import "./chunk-WZHZCDDO.js";
|
|
6
|
+
import "./chunk-BYTDMAGB.js";
|
|
7
7
|
import "./chunk-MLKGABMK.js";
|
|
8
8
|
|
|
9
9
|
// src/lib/backup-verify.ts
|
|
@@ -264,7 +264,7 @@ async function compareToLive(name, gotCounts, opts) {
|
|
|
264
264
|
}
|
|
265
265
|
async function recordVerdict(res) {
|
|
266
266
|
try {
|
|
267
|
-
const { recordDbRestoreEvent } = await import("./db-restore-events-
|
|
267
|
+
const { recordDbRestoreEvent } = await import("./db-restore-events-MQ2DBGEQ.js");
|
|
268
268
|
if (res.ok) {
|
|
269
269
|
recordDbRestoreEvent({
|
|
270
270
|
kind: "restore-verify-pass",
|
|
@@ -12,23 +12,23 @@ import {
|
|
|
12
12
|
reactivateBehavior,
|
|
13
13
|
storeBehavior,
|
|
14
14
|
storeReflexBehavior
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-KW2SD2FL.js";
|
|
16
|
+
import "./chunk-VSRPS3J7.js";
|
|
17
17
|
import "./chunk-CHCA3ZM2.js";
|
|
18
18
|
import "./chunk-OTVEIJUQ.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-6XWTQUO4.js";
|
|
20
|
+
import "./chunk-4QCFFW2H.js";
|
|
21
21
|
import "./chunk-MP2AFCGL.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-AOHXREB7.js";
|
|
23
23
|
import "./chunk-2I23RPSI.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-OLMQ4UOF.js";
|
|
25
25
|
import "./chunk-PNQDP3OA.js";
|
|
26
26
|
import "./chunk-H73TUI4Y.js";
|
|
27
27
|
import "./chunk-7HLWBYH7.js";
|
|
28
28
|
import "./chunk-FXU7JOXK.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-QWVXN224.js";
|
|
30
|
+
import "./chunk-WZHZCDDO.js";
|
|
31
|
+
import "./chunk-BYTDMAGB.js";
|
|
32
32
|
import "./chunk-MLKGABMK.js";
|
|
33
33
|
export {
|
|
34
34
|
GHOST_BEHAVIOR_SQL,
|