@askexenow/exe-os 0.9.340 → 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-EC6M7KTX.js → active-agent-PVGE57FY.js} +5 -5
- package/dist/{active-agent-WHIUCHLA.js → active-agent-TNIO6IY3.js} +5 -5
- package/dist/{agentic-ontology-RNSXGXW4.js → agentic-ontology-3FXYMHKW.js} +1 -1
- package/dist/{backfill-gate-J7UXFNXU.js → backfill-gate-65LSYVE5.js} +3 -3
- package/dist/{backfill-metadata-MFY6BHKE.js → backfill-metadata-ZSMZC45J.js} +8 -8
- package/dist/{background-jobs-STURKDCS.js → background-jobs-EXR5RVGG.js} +3 -3
- package/dist/backup-verify-3Y2FHGZU.js +425 -0
- package/dist/{behaviors-HLZUJSMP.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 +26 -24
- package/dist/bin/cli.js +111 -25
- package/dist/bin/customer-readiness.js +1 -1
- package/dist/bin/deferred-daemon-restart.js +97 -90
- package/dist/bin/exe-agent-config.js +9 -8
- package/dist/bin/exe-agent.js +20 -20
- package/dist/bin/exe-assign.js +12 -12
- package/dist/bin/exe-boot.js +201 -68
- 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 +26 -24
- 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 +29 -28
- package/dist/bin/exe-kill.js +31 -29
- package/dist/bin/exe-launch-agent.js +129 -68
- 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 +27 -25
- package/dist/bin/exe-pending-notifications.js +26 -24
- package/dist/bin/exe-pending-reviews.js +26 -24
- package/dist/bin/exe-rename.js +7 -7
- package/dist/bin/exe-review.js +30 -28
- package/dist/bin/exe-search.js +11 -9
- package/dist/bin/exe-session-cleanup.js +116 -86
- 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 +27 -25
- 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 +27 -25
- package/dist/bin/graph-backfill.js +9 -9
- package/dist/bin/graph-export.js +9 -9
- package/dist/bin/import-history.js +11 -11
- package/dist/bin/install.js +102 -95
- 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 +484 -0
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +26 -24
- package/dist/bin/setup.js +6 -5
- package/dist/bin/shard-migrate.js +9 -9
- package/dist/bin/stack-update.js +15 -9
- package/dist/bin/update.js +1 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/boot-generation-BL2ISK4U.js +22 -0
- 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-YOKVMMOL.js → capability-cards-DN5UIKVN.js} +4 -4
- package/dist/{capacity-monitor-S54IOWRL.js → capacity-monitor-ZG5GGFR2.js} +27 -25
- package/dist/{catchup-brief-DRRQCMKA.js → catchup-brief-D6HH6DWS.js} +32 -29
- package/dist/{support-outbox-MGUVVGHT.js → chunk-25X4JD2V.js} +28 -12
- package/dist/{chunk-IYB2NIW3.js → chunk-2KZNGDSW.js} +1 -1
- package/dist/{chunk-FUIIVSW6.js → chunk-2WAVZ5UJ.js} +1 -1
- package/dist/{chunk-K5WFKEXQ.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-VI7L43DC.js → chunk-4CMVFVFC.js} +173 -69
- package/dist/{chunk-BU2QQWBQ.js → chunk-4J4PMPXZ.js} +3 -2
- package/dist/{chunk-JD5S5AAV.js → chunk-4N2NRGCM.js} +2 -2
- package/dist/chunk-4QCFFW2H.js +378 -0
- package/dist/{chunk-7EA7LYW4.js → chunk-4VSV5P4D.js} +4 -4
- package/dist/{chunk-52KNOQMK.js → chunk-4ZCD2UWW.js} +39 -10
- package/dist/{chunk-DZ6OQM67.js → chunk-5ERDIOV3.js} +2 -2
- package/dist/chunk-5H47VHB7.js +30 -0
- package/dist/{chunk-UCQITDLM.js → chunk-5TY4FPH6.js} +1 -1
- package/dist/{chunk-R44Z32O2.js → chunk-6CH3TPHR.js} +2 -2
- package/dist/{chunk-WYLV4S6A.js → chunk-6WQ3NNCE.js} +3 -3
- package/dist/{chunk-HHIBOU3P.js → chunk-6XWTQUO4.js} +1 -1
- package/dist/chunk-76CJBM36.js +88 -0
- package/dist/{chunk-H2L4PHGH.js → chunk-7CTRGNLW.js} +2 -2
- package/dist/{chunk-XUKPALWT.js → chunk-7V4JADD6.js} +2 -2
- package/dist/{chunk-RMOBQ6A5.js → chunk-AD2VCHSS.js} +1 -1
- package/dist/{chunk-QXSBB26A.js → chunk-AJYCFKJR.js} +1 -1
- package/dist/chunk-AM7S2TY6.js +54 -0
- package/dist/{chunk-HEPR6QTL.js → chunk-AOHXREB7.js} +334 -66
- package/dist/{chunk-FNZR3B7U.js → chunk-ASAFVDVR.js} +1 -1
- package/dist/{chunk-TALWBVZE.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-XCTGRD4S.js → chunk-CE7F6RHG.js} +587 -77
- package/dist/{chunk-7WPOJDTA.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-AOO77BDE.js → chunk-EUS4QUKP.js} +1 -1
- package/dist/{chunk-RLRT2BVM.js → chunk-EV46QTD3.js} +1 -1
- package/dist/{chunk-PAEXYFMY.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-LMZISHSJ.js → chunk-FPFPLPUY.js} +6 -6
- package/dist/{chunk-7TS64TBG.js → chunk-G4RGKBCA.js} +8 -3
- package/dist/{chunk-4IYSBPX3.js → chunk-G5T6KDG4.js} +1 -1
- package/dist/{chunk-7WDXEKUL.js → chunk-GBTTBXAF.js} +4 -4
- package/dist/{chunk-6MRWJMI5.js → chunk-GDIJE6D7.js} +1 -1
- package/dist/{chunk-AVKXCSBI.js → chunk-GG5NDQNN.js} +2 -2
- package/dist/{chunk-I3XKO3KQ.js → chunk-GJ26DULE.js} +2 -2
- package/dist/chunk-GL57PO3K.js +104 -0
- package/dist/chunk-GWDSB25T.js +6 -0
- package/dist/{chunk-F55JF43M.js → chunk-H6BV5TKD.js} +39 -24
- package/dist/{chunk-HCJCW7X4.js → chunk-H7I47RS5.js} +34 -1
- package/dist/{chunk-65SVQELL.js → chunk-HA5R6USD.js} +31 -5
- package/dist/{chunk-VJHUVFIW.js → chunk-HAF2DJYV.js} +3 -3
- package/dist/chunk-HJ447YER.js +224 -0
- package/dist/chunk-HV4KESRY.js +395 -0
- package/dist/{chunk-B76TSEP3.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-MW2GJJ53.js → chunk-JGIPOUIK.js} +3 -3
- package/dist/{chunk-2233TQCA.js → chunk-JLZ4RYSD.js} +2 -2
- package/dist/{chunk-Q7L6G6KV.js → chunk-JMYHW3AL.js} +2 -2
- package/dist/{chunk-OJTJYEMX.js → chunk-JPUZPAAF.js} +4 -4
- package/dist/{chunk-XWHE4LZK.js → chunk-JTBIS4R5.js} +21 -2
- package/dist/{chunk-5Z5NATNS.js → chunk-K7KFGDWF.js} +1 -1
- package/dist/{chunk-UIV2WPBT.js → chunk-KGWRTRKC.js} +2 -2
- package/dist/{chunk-KTPG4XKI.js → chunk-KP3U5QGJ.js} +1 -1
- package/dist/{chunk-TLYAEISW.js → chunk-KW2SD2FL.js} +2 -2
- package/dist/{chunk-X7H3HMFH.js → chunk-KWZMQACA.js} +11 -7
- package/dist/{chunk-OFX5B2S7.js → chunk-L2R3LN2P.js} +1 -1
- package/dist/{chunk-T4KZ2Z2N.js → chunk-L4A5DL6Z.js} +3 -3
- package/dist/{chunk-X425OEYF.js → chunk-LU2FALL6.js} +3 -3
- package/dist/{chunk-6M36JFFD.js → chunk-MKYFAKDW.js} +4 -4
- package/dist/{chunk-I5RLNOFK.js → chunk-MOPUCPXK.js} +12 -4
- package/dist/{chunk-ZIVEA3NB.js → chunk-MR6LHP4F.js} +1 -1
- package/dist/chunk-MVYB76QG.js +341 -0
- package/dist/{chunk-2SG2UGCH.js → chunk-MZM6EJCU.js} +4 -4
- package/dist/{chunk-ZREGOV2Q.js → chunk-N7QJKQMX.js} +258 -14
- package/dist/{chunk-QLFRCA6I.js → chunk-NBZL5CGA.js} +93 -12
- package/dist/{chunk-QFPTDSY2.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-ATOU6CYR.js → chunk-OLMQ4UOF.js} +57 -11
- package/dist/{chunk-6HBURYON.js → chunk-OTF44GXL.js} +4 -4
- package/dist/{chunk-DILD54TU.js → chunk-OZEBAGKR.js} +277 -137
- package/dist/{chunk-DADMPMYX.js → chunk-P5HIWY2E.js} +1 -1
- package/dist/{chunk-EIF2LQHZ.js → chunk-PDWS3E22.js} +55 -4
- package/dist/{chunk-KTY7I7UH.js → chunk-PPCDBE6Z.js} +1 -1
- package/dist/{chunk-XACL67CS.js → chunk-PQIDGXSG.js} +13 -4
- package/dist/chunk-PWUFMX75.js +186 -0
- package/dist/{chunk-UPWE5NOG.js → chunk-QDGZJ653.js} +3 -3
- package/dist/{chunk-MQRFKSLI.js → chunk-QOO5RW3K.js} +6 -5
- package/dist/{chunk-KCC5A7YL.js → chunk-QQ4E2RYW.js} +95 -18
- package/dist/{chunk-BPC5LZ6Y.js → chunk-QRYVCDWS.js} +2 -2
- package/dist/{chunk-Z42MXYWW.js → chunk-QWVXN224.js} +110 -28
- package/dist/{chunk-542EWGY3.js → chunk-QYZJHTNE.js} +26 -27
- package/dist/{chunk-I7Z6KTGF.js → chunk-R2NN3JKH.js} +43 -6
- package/dist/{chunk-3OBWSCJN.js → chunk-RACAOE2Z.js} +14 -14
- package/dist/{chunk-5RACW3LX.js → chunk-RAXVPNMR.js} +1 -1
- package/dist/{chunk-2HZY3ECT.js → chunk-RHWZUUS4.js} +6 -6
- package/dist/{chunk-RNAYCUNM.js → chunk-S3THSOWV.js} +1 -1
- package/dist/{chunk-W7DHFGCB.js → chunk-S7QUM2UK.js} +2 -2
- package/dist/{chunk-SSTLTIF3.js → chunk-SKGMF2SO.js} +25 -2
- package/dist/{chunk-GN45PBWI.js → chunk-SQKXKV2Y.js} +2 -2
- package/dist/{chunk-QZLIZAS7.js → chunk-TLT7NZCW.js} +4 -4
- package/dist/chunk-TTCUG2CF.js +91 -0
- package/dist/chunk-UEA3LXOB.js +40 -0
- package/dist/{chunk-DRCRZIIJ.js → chunk-UNXQBELK.js} +1 -1
- package/dist/{chunk-PLRIJALF.js → chunk-UP75Z5X7.js} +921 -176
- package/dist/{chunk-TNJRWUCE.js → chunk-USSB56WK.js} +1 -1
- package/dist/{chunk-KMBEL7VB.js → chunk-UUEKJDK6.js} +90 -10
- package/dist/{chunk-XJI7Z6LZ.js → chunk-UUQBZPJJ.js} +1 -1
- package/dist/{chunk-RRWDYOQS.js → chunk-V3EEVY4L.js} +1 -1
- package/dist/{chunk-N5I7RL3I.js → chunk-VPZHJCKW.js} +2 -2
- package/dist/chunk-VRAQTFD6.js +265 -0
- package/dist/{chunk-H37HHX3E.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-YE7NH53A.js → chunk-X33NYQYJ.js} +2 -2
- package/dist/{chunk-UXBD22CD.js → chunk-XHK3FS3W.js} +3 -2
- package/dist/{chunk-3QDSCJ3F.js → chunk-XZXBB3TN.js} +2 -2
- package/dist/{chunk-JSKBHUR7.js → chunk-YCANDMI2.js} +2 -2
- package/dist/{chunk-JBSCL2XT.js → chunk-YLXTKI6M.js} +1 -1
- package/dist/{chunk-G7WO77Z2.js → chunk-YTCFACP4.js} +812 -896
- package/dist/{chunk-LTVCRHHD.js → chunk-Z6RSN7KS.js} +7 -6
- package/dist/{cleanup-graph-garbage-KUABW6LS.js → cleanup-graph-garbage-XWUFAMFO.js} +6 -6
- package/dist/{co-activation-XMPHKGHR.js → co-activation-ZCHPLLP6.js} +4 -4
- package/dist/{co-occurrence-SHKSJ6CV.js → co-occurrence-KG3LKALN.js} +4 -4
- package/dist/{code-context-index-EXXDY3QZ.js → code-context-index-WSOJQ72R.js} +5 -5
- package/dist/{content-extractor-RHITF2KM.js → content-extractor-NXYNEF5K.js} +2 -2
- package/dist/{conversation-wiki-populator-WU4HEQ7C.js → conversation-wiki-populator-WQN3IUU6.js} +1 -1
- package/dist/{crdt-sync-UJELKSNX.js → crdt-sync-4PFGPZXV.js} +8 -1
- package/dist/{crm-webhook-HHNBS7LY.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-7QB6QOXT.js → daemon-orchestration-FX4XZDR5.js} +46 -27
- package/dist/{daemon-ready-5XI5BIJD.js → daemon-ready-4JTSFKAY.js} +1 -1
- package/dist/{daemon-ready-signal-E7VMIQ6I.js → daemon-ready-signal-LPAZWQOV.js} +5 -1
- package/dist/daemon-restart-circuit-breaker-PEGEIP6H.js +35 -0
- package/dist/daemon-timer-report-NM44WQRH.js +25 -0
- package/dist/{db-backup-DLD4QZBO.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-3TRLGD7M.js → doc-graph-extractor-F6ODFIID.js} +4 -4
- package/dist/{documents-FHIBU7KJ.js → documents-23WX2FPQ.js} +12 -12
- package/dist/dreaming-NWD22UQ5.js +46 -0
- package/dist/{exe-drift-KY2KHZEL.js → exe-drift-CW72FBGE.js} +5 -5
- package/dist/{exe-export-SP6G3QF6.js → exe-export-AUJ7CV7G.js} +11 -11
- package/dist/{exe-import-KJU7FBVQ.js → exe-import-JX4I52VE.js} +11 -11
- package/dist/{exe-key-M6TYHNUW.js → exe-key-2N6LY2BU.js} +241 -226
- package/dist/{exe-org-BGZNNE4H.js → exe-org-X4CSNCKS.js} +3 -3
- package/dist/{exe-snapshot-ZNPGUKRZ.js → exe-snapshot-XZ7FVCYZ.js} +31 -29
- package/dist/{fast-db-init-QQB6IVWV.js → fast-db-init-4CWHSOOR.js} +1 -1
- package/dist/{founder-context-PQR3BUS7.js → founder-context-7L3CFPYN.js} +4 -4
- package/dist/gateway/index.js +14 -14
- 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-UGB5J3K7.js → git-staleness-CI2R4QOJ.js} +4 -4
- package/dist/{global-procedures-R7KRREEK.js → global-procedures-XQX3LUH6.js} +6 -6
- package/dist/{graph-auto-extract-LKIQ57PL.js → graph-auto-extract-OURWMGBS.js} +4 -4
- 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 +32 -28
- package/dist/hooks/codex-stop-task-finalizer.js +32 -28
- package/dist/hooks/commit-complete.js +29 -27
- 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 +28 -26
- package/dist/hooks/post-tool-combined.js +12 -12
- package/dist/hooks/pre-compact.js +29 -27
- package/dist/hooks/pre-tool-use.js +180 -47
- package/dist/hooks/prompt-submit.js +324 -273
- package/dist/hooks/session-end.js +35 -33
- package/dist/hooks/session-start.js +28 -21
- package/dist/hooks/stop.js +35 -33
- package/dist/hooks/subagent-stop.js +28 -26
- package/dist/hooks/summary-worker.js +36 -34
- package/dist/index.js +39 -37
- package/dist/{installer-SB2N5NKH.js → installer-G3JAO3NT.js} +9 -9
- package/dist/{installer-MZWWBXM6.js → installer-JND3RJ6Q.js} +9 -9
- package/dist/{installer-MNPXDLGG.js → installer-L7EVH5U5.js} +9 -9
- package/dist/{intercom-queue-VU2G6F5R.js → intercom-queue-ZFEQALR3.js} +25 -23
- 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 +9 -9
- 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 +651 -158
- 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 +28 -24
- 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 +29 -25
- package/dist/lib/tmux-routing.js +56 -25
- 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-BYDMFMFT.js → license-gate-QTRQHV4F.js} +5 -5
- package/dist/{license-sync-N3RNYVP2.js → license-sync-N3UJFWAW.js} +4 -4
- package/dist/mcp/register-tools.js +96 -89
- package/dist/mcp/server.js +98 -91
- 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 +37 -28
- 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 +35 -29
- package/dist/mcp/tools/send-message.js +28 -26
- package/dist/mcp/tools/update-task.js +34 -28
- package/dist/{mcp-http-config-EMAVS2JI.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-TQRLZI4D.js → memory-cards-ZRDW7QBX.js} +8 -8
- package/dist/{memory-graph-extractor-IWGNVAFU.js → memory-graph-extractor-QLXDMHRS.js} +5 -5
- package/dist/{memory-poisoning-defense-T4ITBGSG.js → memory-poisoning-defense-HJTXYCWH.js} +4 -4
- package/dist/{memory-pressure-watchdog-RRIAXPXQ.js → memory-pressure-watchdog-HN5X7AVN.js} +76 -37
- package/dist/{memory-queue-X2CSEAKE.js → memory-queue-2UOOF27L.js} +5 -3
- package/dist/{memory-queue-client-BKQHTYTH.js → memory-queue-client-O5U6F6XP.js} +6 -6
- package/dist/{memory-reflection-6N4J2FL7.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-SZEPGJQ7.js +409 -0
- package/dist/{notifications-KONB3C62.js → notifications-4UT53CDG.js} +25 -23
- package/dist/{orchestration-events-5SIJOE4H.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-O6HU7DKH.js → pipeline-router-LM53NMWJ.js} +5 -5
- package/dist/{plan-limits-GRNBOBB3.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-SD7GM24K.js → project-boot-4NUH5FRU.js} +2 -2
- package/dist/{projection-worker-ZVOFHTXT.js → projection-worker-FZ7YSN3G.js} +5 -5
- package/dist/{prospective-memory-W6S67LZZ.js → prospective-memory-6D2ASWM3.js} +4 -4
- package/dist/{push-notifications-W5JRXLKJ.js → push-notifications-U6FIBQRW.js} +3 -3
- package/dist/{reranker-QATGTAPC.js → reranker-GYYRPANK.js} +3 -3
- package/dist/{retrieval-health-TWHKYCRK.js → retrieval-health-4Z242P3B.js} +1 -1
- package/dist/{review-polling-PCMD5BFN.js → review-polling-HXAFJZDA.js} +26 -24
- package/dist/runtime/index.js +37 -35
- package/dist/{session-events-3LCVQEL7.js → session-events-O3BV56ZX.js} +26 -24
- package/dist/{session-kill-telemetry-CZSPN5V6.js → session-kill-telemetry-AELE4JDK.js} +26 -24
- package/dist/session-mcp-config-YKNXG5DW.js +50 -0
- package/dist/{session-scope-CFHVSVAQ.js → session-scope-5EAPUT45.js} +25 -23
- package/dist/setup-wizard-NB6R4QVS.js +14 -0
- package/dist/{shard-manager-MBWQEYNG.js → shard-manager-35PWFR3B.js} +3 -3
- package/dist/{skill-refinement-74T6VDFM.js → skill-refinement-DVSYXBBP.js} +5 -5
- package/dist/stack-promote-RSOWO6EY.js +130 -0
- package/dist/{stack-release-XXMV7SPX.js → stack-release-HGFFFCGC.js} +112 -22
- package/dist/{stack-update-E2TKHHSQ.js → stack-update-ATCJFOEK.js} +7 -5
- package/dist/{steward-gate-WT7WXQIE.js → steward-gate-3GQ5XKMJ.js} +5 -5
- package/dist/support-inbox-4L62P4EP.js +33 -0
- package/dist/support-outbox-WHGPUYL2.js +16 -0
- package/dist/task-enforcement-IPIZX2MM.js +90 -0
- package/dist/{task-scope-CQEG5SSJ.js → task-scope-FOIW25HR.js} +27 -23
- package/dist/{tasks-crud-UGK5A25L.js → tasks-crud-HBDKE6C5.js} +35 -23
- package/dist/tasks-notify-G2U2U2YA.js +53 -0
- package/dist/{tasks-review-JKBRACII.js → tasks-review-27SFX5XN.js} +27 -23
- package/dist/{telemetry-upload-7LBYGPCB.js → telemetry-upload-ZOXHRWR5.js} +9 -9
- package/dist/tmux-command-guard-KSJKIX3C.js +117 -0
- package/dist/{token-budget-QBRJR4M5.js → token-budget-5Y4YPDO3.js} +5 -5
- package/dist/{tool-capability-index-Q6YQDL7I.js → tool-capability-index-VYF5GNJ2.js} +1 -1
- package/dist/{tool-telemetry-ULIDUK3P.js → tool-telemetry-KBXSBDTK.js} +1 -1
- package/dist/tui/App.js +40 -38
- package/dist/{tui-data-NPTGKT37.js → tui-data-NLFMBIQI.js} +25 -23
- package/dist/{update-check-HFO4VHO4.js → update-check-3FHAWIG2.js} +7 -3
- package/dist/update-support-UVUSZG7R.js +355 -0
- 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-MXUQUG4M.js → worker-gate-3KUBAU32.js} +3 -3
- package/dist/{workflow-engine-EWCOLD47.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-ZAG3V24E.js → worktree-sweep-WTK3MTKH.js} +7 -7
- package/package.json +3 -2
- package/release-notes.json +86 -76
- package/dist/branch-hygiene-R5NVTRAY.js +0 -138
- package/dist/chunk-6IRVGOUL.js +0 -30
- package/dist/chunk-HMP5VT6A.js +0 -118
- package/dist/chunk-PVYR4FCQ.js +0 -113
- package/dist/chunk-UFAXZ2PY.js +0 -138
- package/dist/chunk-Y25OJWOQ.js +0 -45
- package/dist/chunk-YGAAZN3E.js +0 -47
- package/dist/cto-delegation-gate-DXNF5HVW.js +0 -290
- package/dist/dispatch-ack-4S44HBWB.js +0 -15
- package/dist/dreaming-OMFUEUCQ.js +0 -44
- package/dist/orchestrator-DUUX7FQV.js +0 -45
- package/dist/setup-wizard-TOFEJPLF.js +0 -13
- package/dist/tasks-notify-SMLDFBWM.js +0 -50
- package/dist/worktree-GVF2I5FP.js +0 -31
- /package/dist/{chunk-FLNSJ2TC.js → chunk-GIBYNT6W.js} +0 -0
- /package/dist/{chunk-NQBRGXYR.js → chunk-JRM4TAGS.js} +0 -0
- /package/dist/{chunk-WHRTDN5J.js → chunk-MGGOSFCR.js} +0 -0
- /package/dist/{chunk-D3QASX2W.js → chunk-QIFYLIUF.js} +0 -0
- /package/dist/{chunk-OADURIIN.js → chunk-WTH4CSAP.js} +0 -0
- /package/dist/{core-memory-VO5ZIBKH.js → core-memory-GAC6EWOQ.js} +0 -0
- /package/dist/{entity-boost-DNI4A5I7.js → entity-boost-NT6UO2Z3.js} +0 -0
- /package/dist/{message-queue-client-Q5BW3O5W.js → message-queue-client-4EOQRUXW.js} +0 -0
- /package/dist/{oauth-server-ROQFOEMM.js → oauth-server-67YBDP32.js} +0 -0
- /package/dist/{webhook-pipe-FZYLO6RR.js → webhook-pipe-LEXMUQ5B.js} +0 -0
- /package/dist/{wiki-acl-JA5UCQZ4.js → wiki-acl-74BLWG6J.js} +0 -0
- /package/dist/{wiki-client-VNDOBK63.js → wiki-client-EAN7F5LV.js} +0 -0
|
@@ -1,118 +1,124 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
computeMcpSurfaceHash
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BUCXNV32.js";
|
|
5
5
|
import "./chunk-WCGNCH3Q.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-YTCFACP4.js";
|
|
7
|
+
import "./chunk-TLT7NZCW.js";
|
|
8
|
+
import "./chunk-UUQBZPJJ.js";
|
|
9
|
+
import "./chunk-HV4KESRY.js";
|
|
8
10
|
import "./chunk-557C2IGL.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-TTCUG2CF.js";
|
|
12
|
+
import "./chunk-5H47VHB7.js";
|
|
13
|
+
import "./chunk-EUS4QUKP.js";
|
|
14
|
+
import "./chunk-MKYFAKDW.js";
|
|
15
|
+
import "./chunk-UNXQBELK.js";
|
|
13
16
|
import "./chunk-CRCB5S7I.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-S7QUM2UK.js";
|
|
18
|
+
import "./chunk-NN2B2QKU.js";
|
|
19
|
+
import "./chunk-HAF2DJYV.js";
|
|
20
|
+
import "./chunk-CE7F6RHG.js";
|
|
21
|
+
import "./chunk-4CMVFVFC.js";
|
|
22
|
+
import "./chunk-P5HIWY2E.js";
|
|
23
|
+
import "./chunk-JRM4TAGS.js";
|
|
24
|
+
import "./chunk-MGGOSFCR.js";
|
|
22
25
|
import "./chunk-E6ORBQHP.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-BPC5LZ6Y.js";
|
|
26
|
+
import "./chunk-C5QAPURN.js";
|
|
27
|
+
import "./chunk-FPFPLPUY.js";
|
|
28
|
+
import "./chunk-JMYHW3AL.js";
|
|
29
|
+
import "./chunk-OZEBAGKR.js";
|
|
30
|
+
import "./chunk-QOO5RW3K.js";
|
|
31
|
+
import "./chunk-Z6RSN7KS.js";
|
|
32
|
+
import "./chunk-NX5INHHG.js";
|
|
33
|
+
import "./chunk-4J4PMPXZ.js";
|
|
34
|
+
import "./chunk-F27XXN6C.js";
|
|
35
|
+
import "./chunk-UUEKJDK6.js";
|
|
36
|
+
import "./chunk-MZM6EJCU.js";
|
|
37
|
+
import "./chunk-6WQ3NNCE.js";
|
|
38
|
+
import "./chunk-7V4JADD6.js";
|
|
39
|
+
import "./chunk-L4A5DL6Z.js";
|
|
40
|
+
import "./chunk-SQKXKV2Y.js";
|
|
41
|
+
import "./chunk-JPUZPAAF.js";
|
|
42
|
+
import "./chunk-QRYVCDWS.js";
|
|
41
43
|
import "./chunk-3OEVDGIY.js";
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-QQ4E2RYW.js";
|
|
45
|
+
import "./chunk-2KZNGDSW.js";
|
|
44
46
|
import "./chunk-KQ4Z2G24.js";
|
|
45
47
|
import "./chunk-L3TB7CC3.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-PDWS3E22.js";
|
|
49
|
+
import "./chunk-GG5NDQNN.js";
|
|
50
|
+
import "./chunk-IBYL4DHM.js";
|
|
49
51
|
import "./chunk-SSC7EKY2.js";
|
|
50
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-VRAQTFD6.js";
|
|
53
|
+
import "./chunk-KWZMQACA.js";
|
|
51
54
|
import "./chunk-75H4R62K.js";
|
|
52
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-OTF44GXL.js";
|
|
53
56
|
import "./chunk-MMRUBN3I.js";
|
|
54
57
|
import "./chunk-2XZ6X3PJ.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-XHK3FS3W.js";
|
|
59
|
+
import "./chunk-GJ26DULE.js";
|
|
60
|
+
import "./chunk-EQHQF5IM.js";
|
|
61
|
+
import "./chunk-CNVBKDEY.js";
|
|
62
|
+
import "./chunk-NXUSDL37.js";
|
|
63
|
+
import "./chunk-NBZL5CGA.js";
|
|
61
64
|
import "./chunk-X2Z5GT3V.js";
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
+
import "./chunk-QDGZJ653.js";
|
|
66
|
+
import "./chunk-KW2SD2FL.js";
|
|
67
|
+
import "./chunk-6CH3TPHR.js";
|
|
65
68
|
import "./chunk-A4DVMPYB.js";
|
|
66
69
|
import "./chunk-GUMRIUI5.js";
|
|
67
70
|
import "./chunk-Z6BZQHP5.js";
|
|
68
71
|
import "./chunk-VGMACSEV.js";
|
|
69
|
-
import "./chunk-
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
72
|
-
import "./chunk-
|
|
73
|
-
import "./chunk-
|
|
72
|
+
import "./chunk-S3THSOWV.js";
|
|
73
|
+
import "./chunk-IOEUAQWP.js";
|
|
74
|
+
import "./chunk-5TY4FPH6.js";
|
|
75
|
+
import "./chunk-XZXBB3TN.js";
|
|
76
|
+
import "./chunk-RAXVPNMR.js";
|
|
74
77
|
import "./chunk-QGGH7LOU.js";
|
|
75
|
-
import "./chunk-
|
|
76
|
-
import "./chunk-
|
|
77
|
-
import "./chunk-
|
|
78
|
-
import "./chunk-
|
|
79
|
-
import "./chunk-
|
|
78
|
+
import "./chunk-QYZJHTNE.js";
|
|
79
|
+
import "./chunk-R2NN3JKH.js";
|
|
80
|
+
import "./chunk-O7LWR36Z.js";
|
|
81
|
+
import "./chunk-PWUFMX75.js";
|
|
82
|
+
import "./chunk-VPZHJCKW.js";
|
|
83
|
+
import "./chunk-N7QJKQMX.js";
|
|
80
84
|
import "./chunk-AB4PAQYK.js";
|
|
81
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-VSRPS3J7.js";
|
|
82
86
|
import "./chunk-CHCA3ZM2.js";
|
|
83
87
|
import "./chunk-OTVEIJUQ.js";
|
|
84
|
-
import "./chunk-
|
|
85
|
-
import "./chunk-
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-
|
|
88
|
-
import "./chunk-
|
|
89
|
-
import "./chunk-
|
|
90
|
-
import "./chunk-
|
|
88
|
+
import "./chunk-6XWTQUO4.js";
|
|
89
|
+
import "./chunk-76CJBM36.js";
|
|
90
|
+
import "./chunk-5ERDIOV3.js";
|
|
91
|
+
import "./chunk-4QCFFW2H.js";
|
|
92
|
+
import "./chunk-UP75Z5X7.js";
|
|
93
|
+
import "./chunk-L2R3LN2P.js";
|
|
94
|
+
import "./chunk-I26FWCSP.js";
|
|
95
|
+
import "./chunk-EV46QTD3.js";
|
|
96
|
+
import "./chunk-E23LNUWJ.js";
|
|
91
97
|
import "./chunk-4JERP7NT.js";
|
|
92
98
|
import "./chunk-EIKATSE4.js";
|
|
93
|
-
import "./chunk-
|
|
94
|
-
import "./chunk-
|
|
95
|
-
import "./chunk-
|
|
96
|
-
import "./chunk-
|
|
97
|
-
import "./chunk-
|
|
98
|
-
import "./chunk-
|
|
99
|
-
import "./chunk-
|
|
100
|
-
import "./chunk-
|
|
101
|
-
import "./chunk-
|
|
99
|
+
import "./chunk-KGWRTRKC.js";
|
|
100
|
+
import "./chunk-AD2VCHSS.js";
|
|
101
|
+
import "./chunk-WOYADZF5.js";
|
|
102
|
+
import "./chunk-SKGMF2SO.js";
|
|
103
|
+
import "./chunk-2WAVZ5UJ.js";
|
|
104
|
+
import "./chunk-HA5R6USD.js";
|
|
105
|
+
import "./chunk-AM7S2TY6.js";
|
|
106
|
+
import "./chunk-JGIPOUIK.js";
|
|
107
|
+
import "./chunk-GWDSB25T.js";
|
|
102
108
|
import "./chunk-CVYC6DUW.js";
|
|
103
|
-
import "./chunk-
|
|
104
|
-
import "./chunk-
|
|
109
|
+
import "./chunk-JLZ4RYSD.js";
|
|
110
|
+
import "./chunk-H7I47RS5.js";
|
|
105
111
|
import "./chunk-OPU3NYOO.js";
|
|
106
|
-
import "./chunk-
|
|
112
|
+
import "./chunk-G4RGKBCA.js";
|
|
107
113
|
import {
|
|
108
114
|
requestDeployRestart
|
|
109
115
|
} from "./chunk-AFNRE2RV.js";
|
|
110
|
-
import "./chunk-
|
|
116
|
+
import "./chunk-X2Q5NLUL.js";
|
|
111
117
|
import "./chunk-NLEW62VC.js";
|
|
112
118
|
import "./chunk-HYZV25LY.js";
|
|
113
119
|
import "./chunk-GJV3WDWM.js";
|
|
114
|
-
import "./chunk-
|
|
115
|
-
import "./chunk-
|
|
120
|
+
import "./chunk-GL57PO3K.js";
|
|
121
|
+
import "./chunk-KP3U5QGJ.js";
|
|
116
122
|
import "./chunk-ML4S5SHZ.js";
|
|
117
123
|
import "./chunk-MP2AFCGL.js";
|
|
118
124
|
import {
|
|
@@ -120,11 +126,11 @@ import {
|
|
|
120
126
|
ensureSchema,
|
|
121
127
|
getClient,
|
|
122
128
|
initDatabase
|
|
123
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-AOHXREB7.js";
|
|
124
130
|
import {
|
|
125
131
|
assertValidDbPath
|
|
126
132
|
} from "./chunk-2I23RPSI.js";
|
|
127
|
-
import "./chunk-
|
|
133
|
+
import "./chunk-OLMQ4UOF.js";
|
|
128
134
|
import "./chunk-PNQDP3OA.js";
|
|
129
135
|
import "./chunk-H73TUI4Y.js";
|
|
130
136
|
import "./chunk-7HLWBYH7.js";
|
|
@@ -135,14 +141,15 @@ import {
|
|
|
135
141
|
getMasterKey,
|
|
136
142
|
importMnemonic,
|
|
137
143
|
setMasterKey
|
|
138
|
-
} from "./chunk-
|
|
139
|
-
import "./chunk-
|
|
140
|
-
import "./chunk-
|
|
141
|
-
import "./chunk-
|
|
144
|
+
} from "./chunk-QWVXN224.js";
|
|
145
|
+
import "./chunk-NGP6LSV2.js";
|
|
146
|
+
import "./chunk-F55P3H4S.js";
|
|
147
|
+
import "./chunk-PQIDGXSG.js";
|
|
148
|
+
import "./chunk-K7KFGDWF.js";
|
|
142
149
|
import {
|
|
143
150
|
loadConfig
|
|
144
|
-
} from "./chunk-
|
|
145
|
-
import "./chunk-
|
|
151
|
+
} from "./chunk-WZHZCDDO.js";
|
|
152
|
+
import "./chunk-BYTDMAGB.js";
|
|
146
153
|
import {
|
|
147
154
|
isMainModule
|
|
148
155
|
} from "./chunk-6Y4B3QF6.js";
|
|
@@ -231,7 +238,7 @@ async function keyStatus() {
|
|
|
231
238
|
console.log(`Storage: ${storage.kind} \u2014 ${storage.note}`);
|
|
232
239
|
console.log(`Key length: ${key.length} bytes`);
|
|
233
240
|
try {
|
|
234
|
-
const { getKeyBackupStatus, keyBackupMarkerPath } = await import("./key-backup-status-
|
|
241
|
+
const { getKeyBackupStatus, keyBackupMarkerPath } = await import("./key-backup-status-LOSMVATJ.js");
|
|
235
242
|
const backup = getKeyBackupStatus();
|
|
236
243
|
if (backup.exists) {
|
|
237
244
|
const when = backup.confirmedAt ? ` at ${backup.confirmedAt}` : "";
|
|
@@ -410,149 +417,157 @@ async function rotateWizard(argv) {
|
|
|
410
417
|
const newKeyTempPath = path.join(baseDir, "NEW_KEY_DO_NOT_SHARE.base64");
|
|
411
418
|
writeFileSync(newKeyTempPath, `${newKey.toString("base64")}
|
|
412
419
|
`, { mode: 384 });
|
|
413
|
-
console.log(`Rotation workspace: ${baseDir}`);
|
|
414
|
-
console.log("Stopping daemon...");
|
|
415
|
-
await stopDaemonIfAlive();
|
|
416
|
-
console.log("Backing up encrypted DB/WAL/SHM...");
|
|
417
|
-
const dbDir = path.dirname(pf.dbPath);
|
|
418
|
-
for (const name of ["memories.db", "memories.db-wal", "memories.db-shm"]) {
|
|
419
|
-
const src = path.join(dbDir, name);
|
|
420
|
-
if (existsSync(src)) copyFileSync(src, path.join(backupDir, name));
|
|
421
|
-
}
|
|
422
|
-
console.log("Creating fresh encrypted DB with new key...");
|
|
423
|
-
await initDatabase({ dbPath: newDbPath, encryptionKey: newKey.toString("hex") });
|
|
424
|
-
await ensureSchema();
|
|
425
|
-
const target = getClient();
|
|
426
|
-
await target.execute("PRAGMA foreign_keys=OFF");
|
|
427
|
-
assertValidDbPath(pf.dbPath, "exe-key rotate source");
|
|
428
|
-
const source = createClient({ url: `file:${pf.dbPath}`, encryptionKey: pf.key.toString("hex") });
|
|
429
|
-
await source.execute("PRAGMA busy_timeout = 30000");
|
|
430
|
-
const tables = await getTableNames(source);
|
|
431
|
-
const copiedTables = [];
|
|
432
|
-
for (const table of tables) {
|
|
433
|
-
const copied = await copyTable(source, target, table);
|
|
434
|
-
copiedTables.push({ table, count: copied });
|
|
435
|
-
console.log(`\u2713 copied ${table}: ${copied}`);
|
|
436
|
-
}
|
|
437
|
-
const generationId = crypto.randomUUID();
|
|
438
|
-
await target.execute({ sql: "INSERT OR REPLACE INTO sync_meta (key, value) VALUES (?, ?)", args: ["key_rotation_at", (/* @__PURE__ */ new Date()).toISOString()] });
|
|
439
|
-
await target.execute({ sql: "INSERT OR REPLACE INTO sync_meta (key, value) VALUES (?, ?)", args: ["key_rotation_generation_id", generationId] });
|
|
440
|
-
await target.execute({ sql: "INSERT OR REPLACE INTO sync_meta (key, value) VALUES (?, ?)", args: ["cloud_reupload_required", pf.cloudConfigured ? "1" : "0"] });
|
|
441
|
-
await target.execute("DELETE FROM sync_meta WHERE key IN ('last_cloud_pull_version', 'last_cloud_push_version')");
|
|
442
|
-
const verifyMem = await target.execute("SELECT COUNT(*) as cnt FROM memories");
|
|
443
|
-
const verifyTasks = await target.execute("SELECT COUNT(*) as cnt FROM tasks");
|
|
444
|
-
const expectedMemories = Number(verifyMem.rows[0]?.cnt ?? 0);
|
|
445
|
-
const expectedTasks = Number(verifyTasks.rows[0]?.cnt ?? 0);
|
|
446
|
-
console.log(`Verified new DB: ${expectedMemories} memories, ${expectedTasks} tasks`);
|
|
447
|
-
await target.execute("PRAGMA wal_checkpoint(TRUNCATE)");
|
|
448
420
|
try {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
}, null, 2) + "\n", { mode: 384 });
|
|
485
|
-
console.log("Restarting daemon and verifying daemon DB access...");
|
|
486
|
-
try {
|
|
487
|
-
const { connectEmbedDaemon, sendDaemonRequest, isClientConnected, disconnectClient } = await import("./lib/exe-daemon-client.js");
|
|
488
|
-
await connectEmbedDaemon();
|
|
489
|
-
const resp = await sendDaemonRequest({ type: "db-execute", sql: "SELECT COUNT(*) as cnt FROM memories", args: [] });
|
|
490
|
-
if (resp.error) throw new Error(String(resp.error));
|
|
491
|
-
console.log(`\u2713 Daemon connected: ${isClientConnected()} (${resp.db?.rows?.[0]?.cnt ?? "?"} memories)`);
|
|
492
|
-
disconnectClient();
|
|
493
|
-
} catch (err) {
|
|
494
|
-
console.log(`\u26A0 Daemon restart/verify failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
495
|
-
console.log(" You can retry by running any exe-os command that starts the daemon.");
|
|
496
|
-
}
|
|
497
|
-
console.log("");
|
|
498
|
-
console.log("Key rotation complete.");
|
|
499
|
-
console.log(`Backup kept at: ${backupDir}`);
|
|
500
|
-
console.log(`New DB verified: ${finalMemoryCount} memories, ${finalTaskCount} tasks`);
|
|
501
|
-
if (pf.cloudConfigured) {
|
|
502
|
-
console.log("Local key rotation is complete.");
|
|
503
|
-
console.log("Cloud sync is paused until your newly encrypted cloud backup is re-uploaded.");
|
|
504
|
-
console.log("");
|
|
505
|
-
}
|
|
506
|
-
const newRecoveryPhrase = await exportMnemonic(newKey);
|
|
507
|
-
console.log("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
|
|
508
|
-
console.log(" REQUIRED: SAVE YOUR NEW RECOVERY PHRASE");
|
|
509
|
-
console.log("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
|
|
510
|
-
console.log("Write these 24 words down now. They will not be uploaded to Exe Cloud.");
|
|
511
|
-
console.log("");
|
|
512
|
-
console.log(newRecoveryPhrase);
|
|
513
|
-
console.log("");
|
|
514
|
-
console.log("If you need to reveal it again later from this trusted local Terminal, run:");
|
|
515
|
-
console.log(" exe-os cloud link --show-full");
|
|
516
|
-
console.log("");
|
|
517
|
-
console.log("Do not continue to cloud re-upload until the NEW phrase is saved.");
|
|
518
|
-
if (pf.cloudConfigured) {
|
|
519
|
-
const rl2 = createInterface({ input: process.stdin, output: process.stdout });
|
|
421
|
+
console.log(`Rotation workspace: ${baseDir}`);
|
|
422
|
+
console.log("Stopping daemon...");
|
|
423
|
+
await stopDaemonIfAlive();
|
|
424
|
+
console.log("Backing up encrypted DB/WAL/SHM...");
|
|
425
|
+
const dbDir = path.dirname(pf.dbPath);
|
|
426
|
+
for (const name of ["memories.db", "memories.db-wal", "memories.db-shm"]) {
|
|
427
|
+
const src = path.join(dbDir, name);
|
|
428
|
+
if (existsSync(src)) copyFileSync(src, path.join(backupDir, name));
|
|
429
|
+
}
|
|
430
|
+
console.log("Creating fresh encrypted DB with new key...");
|
|
431
|
+
await initDatabase({ dbPath: newDbPath, encryptionKey: newKey.toString("hex") });
|
|
432
|
+
await ensureSchema();
|
|
433
|
+
const target = getClient();
|
|
434
|
+
await target.execute("PRAGMA foreign_keys=OFF");
|
|
435
|
+
assertValidDbPath(pf.dbPath, "exe-key rotate source");
|
|
436
|
+
const source = createClient({ url: `file:${pf.dbPath}`, encryptionKey: pf.key.toString("hex") });
|
|
437
|
+
await source.execute("PRAGMA busy_timeout = 30000");
|
|
438
|
+
const tables = await getTableNames(source);
|
|
439
|
+
const copiedTables = [];
|
|
440
|
+
for (const table of tables) {
|
|
441
|
+
const copied = await copyTable(source, target, table);
|
|
442
|
+
copiedTables.push({ table, count: copied });
|
|
443
|
+
console.log(`\u2713 copied ${table}: ${copied}`);
|
|
444
|
+
}
|
|
445
|
+
const generationId = crypto.randomUUID();
|
|
446
|
+
await target.execute({ sql: "INSERT OR REPLACE INTO sync_meta (key, value) VALUES (?, ?)", args: ["key_rotation_at", (/* @__PURE__ */ new Date()).toISOString()] });
|
|
447
|
+
await target.execute({ sql: "INSERT OR REPLACE INTO sync_meta (key, value) VALUES (?, ?)", args: ["key_rotation_generation_id", generationId] });
|
|
448
|
+
await target.execute({ sql: "INSERT OR REPLACE INTO sync_meta (key, value) VALUES (?, ?)", args: ["cloud_reupload_required", pf.cloudConfigured ? "1" : "0"] });
|
|
449
|
+
await target.execute("DELETE FROM sync_meta WHERE key IN ('last_cloud_pull_version', 'last_cloud_push_version')");
|
|
450
|
+
const verifyMem = await target.execute("SELECT COUNT(*) as cnt FROM memories");
|
|
451
|
+
const verifyTasks = await target.execute("SELECT COUNT(*) as cnt FROM tasks");
|
|
452
|
+
const expectedMemories = Number(verifyMem.rows[0]?.cnt ?? 0);
|
|
453
|
+
const expectedTasks = Number(verifyTasks.rows[0]?.cnt ?? 0);
|
|
454
|
+
console.log(`Verified new DB: ${expectedMemories} memories, ${expectedTasks} tasks`);
|
|
455
|
+
await target.execute("PRAGMA wal_checkpoint(TRUNCATE)");
|
|
520
456
|
try {
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
console.log("Cloud re-upload skipped. Save the phrase with:");
|
|
524
|
-
console.log(" exe-os cloud link --show-full");
|
|
525
|
-
console.log("Then run:");
|
|
526
|
-
console.log(" exe-os cloud reupload");
|
|
527
|
-
return 0;
|
|
528
|
-
}
|
|
529
|
-
} finally {
|
|
530
|
-
rl2.close();
|
|
457
|
+
source.close();
|
|
458
|
+
} catch {
|
|
531
459
|
}
|
|
532
|
-
console.log("Starting automatic cloud re-upload now...");
|
|
533
460
|
try {
|
|
534
|
-
|
|
535
|
-
|
|
461
|
+
target.close();
|
|
462
|
+
} catch {
|
|
463
|
+
}
|
|
464
|
+
console.log("Swapping DB files...");
|
|
465
|
+
for (const name of ["memories.db", "memories.db-wal", "memories.db-shm"]) {
|
|
466
|
+
const current = path.join(dbDir, name);
|
|
467
|
+
if (existsSync(current)) renameSync(current, path.join(backupDir, `moved-${name}`));
|
|
468
|
+
}
|
|
469
|
+
copyFileSync(newDbPath, pf.dbPath);
|
|
470
|
+
rmSync(path.join(dbDir, "memories.db-wal"), { force: true });
|
|
471
|
+
rmSync(path.join(dbDir, "memories.db-shm"), { force: true });
|
|
472
|
+
const staleCrdtState = path.join(dataDir(), "crdt-state.bin");
|
|
473
|
+
if (existsSync(staleCrdtState)) {
|
|
474
|
+
renameSync(staleCrdtState, path.join(backupDir, "crdt-state.bin"));
|
|
475
|
+
console.log("Moved stale crdt-state.bin (old-key CRDT cache) into pre-rotation backup; it rebuilds from the DB on next sync.");
|
|
476
|
+
}
|
|
477
|
+
console.log("Installing new key into OS keychain...");
|
|
478
|
+
await setMasterKey(newKey);
|
|
479
|
+
await initDatabase({ dbPath: pf.dbPath, encryptionKey: newKey.toString("hex") });
|
|
480
|
+
const finalClient = getClient();
|
|
481
|
+
const finalMem = await finalClient.execute("SELECT COUNT(*) as cnt FROM memories");
|
|
482
|
+
const finalTasks = await finalClient.execute("SELECT COUNT(*) as cnt FROM tasks");
|
|
483
|
+
const finalMemoryCount = Number(finalMem.rows[0]?.cnt ?? 0);
|
|
484
|
+
const finalTaskCount = Number(finalTasks.rows[0]?.cnt ?? 0);
|
|
485
|
+
if (finalMemoryCount !== expectedMemories || finalTaskCount !== expectedTasks) {
|
|
486
|
+
throw new Error(`Post-swap verification mismatch: expected ${expectedMemories}/${expectedTasks}, got ${finalMemoryCount}/${finalTaskCount}. Backup kept at ${backupDir}`);
|
|
487
|
+
}
|
|
488
|
+
writeFileSync(path.join(baseDir, "rotation-manifest.json"), JSON.stringify({
|
|
489
|
+
rotationId,
|
|
490
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
491
|
+
backupDir,
|
|
492
|
+
generationId,
|
|
493
|
+
cloudReuploadRequired: pf.cloudConfigured,
|
|
494
|
+
finalCounts: { memories: finalMemoryCount, tasks: finalTaskCount },
|
|
495
|
+
copiedTables
|
|
496
|
+
}, null, 2) + "\n", { mode: 384 });
|
|
497
|
+
console.log("Restarting daemon and verifying daemon DB access...");
|
|
498
|
+
try {
|
|
499
|
+
const { connectEmbedDaemon, sendDaemonRequest, isClientConnected, disconnectClient } = await import("./lib/exe-daemon-client.js");
|
|
500
|
+
await connectEmbedDaemon();
|
|
501
|
+
const resp = await sendDaemonRequest({ type: "db-execute", sql: "SELECT COUNT(*) as cnt FROM memories", args: [] });
|
|
502
|
+
if (resp.error) throw new Error(String(resp.error));
|
|
503
|
+
console.log(`\u2713 Daemon connected: ${isClientConnected()} (${resp.db?.rows?.[0]?.cnt ?? "?"} memories)`);
|
|
504
|
+
disconnectClient();
|
|
505
|
+
} catch (err) {
|
|
506
|
+
console.log(`\u26A0 Daemon restart/verify failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
507
|
+
console.log(" You can retry by running any exe-os command that starts the daemon.");
|
|
508
|
+
}
|
|
509
|
+
console.log("");
|
|
510
|
+
console.log("Key rotation complete.");
|
|
511
|
+
console.log(`Backup kept at: ${backupDir}`);
|
|
512
|
+
console.log(`New DB verified: ${finalMemoryCount} memories, ${finalTaskCount} tasks`);
|
|
513
|
+
if (pf.cloudConfigured) {
|
|
514
|
+
console.log("Local key rotation is complete.");
|
|
515
|
+
console.log("Cloud sync is paused until your newly encrypted cloud backup is re-uploaded.");
|
|
516
|
+
console.log("");
|
|
517
|
+
}
|
|
518
|
+
const newRecoveryPhrase = await exportMnemonic(newKey);
|
|
519
|
+
console.log("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
|
|
520
|
+
console.log(" REQUIRED: SAVE YOUR NEW RECOVERY PHRASE");
|
|
521
|
+
console.log("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
|
|
522
|
+
console.log("Write these 24 words down now. They will not be uploaded to Exe Cloud.");
|
|
523
|
+
console.log("");
|
|
524
|
+
console.log(newRecoveryPhrase);
|
|
525
|
+
console.log("");
|
|
526
|
+
console.log("If you need to reveal it again later from this trusted local Terminal, run:");
|
|
527
|
+
console.log(" exe-os cloud link --show-full");
|
|
528
|
+
console.log("");
|
|
529
|
+
console.log("Do not continue to cloud re-upload until the NEW phrase is saved.");
|
|
530
|
+
if (pf.cloudConfigured) {
|
|
531
|
+
const rl2 = createInterface({ input: process.stdin, output: process.stdout });
|
|
536
532
|
try {
|
|
537
|
-
|
|
538
|
-
|
|
533
|
+
const saved = await ask(rl2, 'After saving the 24 words, type exactly "I SAVED MY NEW RECOVERY PHRASE" to continue: ');
|
|
534
|
+
if (saved !== "I SAVED MY NEW RECOVERY PHRASE") {
|
|
535
|
+
console.log("Cloud re-upload skipped. Save the phrase with:");
|
|
536
|
+
console.log(" exe-os cloud link --show-full");
|
|
537
|
+
console.log("Then run:");
|
|
538
|
+
console.log(" exe-os cloud reupload");
|
|
539
|
+
return 0;
|
|
540
|
+
}
|
|
539
541
|
} finally {
|
|
540
|
-
|
|
542
|
+
rl2.close();
|
|
543
|
+
}
|
|
544
|
+
console.log("Starting automatic cloud re-upload now...");
|
|
545
|
+
try {
|
|
546
|
+
const { main: runCloud } = await import("./bin/exe-cloud.js");
|
|
547
|
+
const originalArgv = process.argv;
|
|
548
|
+
try {
|
|
549
|
+
process.argv = [process.argv[0], process.argv[1], "reupload", "--local-db-is-source-of-truth"];
|
|
550
|
+
await runCloud();
|
|
551
|
+
} finally {
|
|
552
|
+
process.argv = originalArgv;
|
|
553
|
+
}
|
|
554
|
+
console.log("\u2713 Cloud re-upload finished. Main device rotation is complete.");
|
|
555
|
+
} catch (err) {
|
|
556
|
+
console.log(`\u26A0 Cloud re-upload did not finish: ${err instanceof Error ? err.message : String(err)}`);
|
|
557
|
+
console.log("Your local key rotation succeeded, but normal cloud sync remains blocked.");
|
|
558
|
+
console.log("Retry with the support fallback command:");
|
|
559
|
+
console.log(" exe-os cloud reupload");
|
|
541
560
|
}
|
|
542
|
-
console.log("\u2713 Cloud re-upload finished. Main device rotation is complete.");
|
|
543
|
-
} catch (err) {
|
|
544
|
-
console.log(`\u26A0 Cloud re-upload did not finish: ${err instanceof Error ? err.message : String(err)}`);
|
|
545
|
-
console.log("Your local key rotation succeeded, but normal cloud sync remains blocked.");
|
|
546
|
-
console.log("Retry with the support fallback command:");
|
|
547
|
-
console.log(" exe-os cloud reupload");
|
|
548
561
|
}
|
|
562
|
+
console.log("");
|
|
563
|
+
console.log("Cleanup guidance:");
|
|
564
|
+
console.log(" 1. Verify the new recovery phrase opens this DB on another local terminal/device.");
|
|
565
|
+
console.log(" 2. Keep the old-key encrypted backup until verification is complete.");
|
|
566
|
+
console.log(` 3. After verification, manually review/remove the sensitive rotation workspace: ${baseDir}`);
|
|
567
|
+
return 0;
|
|
568
|
+
} finally {
|
|
569
|
+
rmSync(newKeyTempPath, { force: true });
|
|
549
570
|
}
|
|
550
|
-
console.log("");
|
|
551
|
-
console.log("Cleanup guidance:");
|
|
552
|
-
console.log(" 1. Verify the new recovery phrase opens this DB on another local terminal/device.");
|
|
553
|
-
console.log(" 2. Keep the old-key encrypted backup until verification is complete.");
|
|
554
|
-
console.log(` 3. After verification, manually review/remove the sensitive rotation workspace: ${baseDir}`);
|
|
555
|
-
return 0;
|
|
556
571
|
}
|
|
557
572
|
async function acceptRotationWizard(argv) {
|
|
558
573
|
const dryRun = argv.includes("--dry-run");
|
|
@@ -745,7 +760,7 @@ async function confirmBackupWizard(argv) {
|
|
|
745
760
|
rl.close();
|
|
746
761
|
}
|
|
747
762
|
}
|
|
748
|
-
const { markKeyBackupConfirmed, keyBackupMarkerPath } = await import("./key-backup-status-
|
|
763
|
+
const { markKeyBackupConfirmed, keyBackupMarkerPath } = await import("./key-backup-status-LOSMVATJ.js");
|
|
749
764
|
markKeyBackupConfirmed("exe-os key confirm-backup");
|
|
750
765
|
console.log("");
|
|
751
766
|
console.log("\u2713 Recovery phrase backup confirmed for this node.");
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
getOrchestrationPhaseInfo,
|
|
4
4
|
loadOrchestrationPhase,
|
|
5
5
|
setOrchestrationPhase
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-C5QAPURN.js";
|
|
7
|
+
import "./chunk-WZHZCDDO.js";
|
|
8
|
+
import "./chunk-BYTDMAGB.js";
|
|
9
9
|
import "./chunk-MLKGABMK.js";
|
|
10
10
|
|
|
11
11
|
// src/bin/exe-org.ts
|