@askexenow/exe-os 0.9.410 → 0.9.412
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/delivery/catalog.json +29 -38
- package/deploy/compose/.env.customer.example +5 -5
- package/deploy/compose/.env.default +4 -4
- package/deploy/compose/.env.example +5 -5
- package/deploy/compose/docker-compose.yml +1 -1
- package/deploy/stack-manifests/v0.9.json +263 -2
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-2ELFTYNT.js → active-agent-3YCLS7GB.js} +4 -4
- package/dist/{active-agent-SS4SRXYZ.js → active-agent-MHWQDMML.js} +4 -4
- package/dist/{agent-defs-generator-6S2BSYCP.js → agent-defs-generator-DNXMO34I.js} +4 -4
- package/dist/{agentic-ontology-TJOAUAPD.js → agentic-ontology-RA6CMND6.js} +1 -1
- package/dist/{artifact-backup-STQQZDZ5.js → artifact-backup-EETHNFFP.js} +3 -3
- package/dist/{backfill-metadata-I2FVENKJ.js → backfill-metadata-WYT257VG.js} +7 -7
- package/dist/backup-verify-AG54CYGR.js +62 -0
- package/dist/{behavior-injection-CTSIKHTH.js → behavior-injection-G7GAUHGO.js} +10 -10
- package/dist/{behavior-promotion-NZMTTFHK.js → behavior-promotion-I2DIUFUR.js} +9 -9
- package/dist/{behaviors-RUNSC5WI.js → behaviors-SKVKPCRW.js} +8 -8
- package/dist/bin/agentic-ontology-backfill.js +8 -8
- package/dist/bin/agentic-reflection-backfill.js +9 -9
- package/dist/bin/agentic-semantic-label.js +8 -8
- package/dist/bin/backfill-conversations.js +7 -7
- package/dist/bin/backfill-responses.js +7 -7
- package/dist/bin/backfill-vectors.js +7 -7
- package/dist/bin/bulk-sync-postgres.js +16 -16
- package/dist/bin/cc-doctor.js +8 -8
- package/dist/bin/cleanup-stale-review-tasks.js +13 -13
- package/dist/bin/cli.js +24 -24
- package/dist/bin/deferred-daemon-restart.js +95 -95
- package/dist/bin/exe-actions.js +1 -1
- package/dist/bin/exe-agent-config.js +3 -3
- package/dist/bin/exe-agent.js +15 -15
- package/dist/bin/exe-assign.js +8 -8
- package/dist/bin/exe-boot.js +35 -35
- package/dist/bin/exe-call.js +9 -9
- package/dist/bin/exe-cloud.js +17 -17
- package/dist/bin/exe-config-dump.js +3 -3
- package/dist/bin/exe-dispatch.js +14 -14
- package/dist/bin/exe-doctor.js +5 -5
- package/dist/bin/exe-export-behaviors.js +12 -12
- package/dist/bin/exe-forget.js +10 -10
- package/dist/bin/exe-gateway.js +9 -9
- package/dist/bin/exe-grant.js +6 -6
- package/dist/bin/exe-healthcheck.js +8 -8
- package/dist/bin/exe-heartbeat.js +19 -19
- package/dist/bin/exe-kill.js +18 -18
- package/dist/bin/exe-launch-agent.js +75 -36
- package/dist/bin/exe-mcp.js +5 -5
- package/dist/bin/exe-memory-reads.js +7 -7
- package/dist/bin/exe-new-employee.js +11 -11
- package/dist/bin/exe-os-mcp-proxy.js +5 -5
- package/dist/bin/exe-pending-messages.js +14 -14
- package/dist/bin/exe-pending-notifications.js +13 -13
- package/dist/bin/exe-pending-reviews.js +14 -14
- package/dist/bin/exe-rename.js +7 -7
- package/dist/bin/exe-review.js +17 -17
- package/dist/bin/exe-search.js +9 -9
- package/dist/bin/exe-session-cleanup.js +18 -18
- package/dist/bin/exe-settings.js +16 -16
- package/dist/bin/exe-start-codex.js +37 -19
- package/dist/bin/exe-start-opencode.js +35 -17
- package/dist/bin/exe-status.js +15 -15
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +5 -5
- package/dist/bin/git-sweep.js +15 -15
- package/dist/bin/graph-backfill.js +8 -8
- package/dist/bin/graph-export.js +8 -8
- package/dist/bin/hooks-cli.js +1 -1
- package/dist/bin/import-history.js +11 -11
- package/dist/bin/install.js +97 -97
- package/dist/bin/intercom-check.js +5 -5
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +5 -5
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/pre-publish.js +1 -1
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/repair-document-chunks.js +7 -7
- package/dist/bin/scan-tasks.js +14 -14
- package/dist/bin/setup.js +2 -2
- package/dist/bin/shard-migrate.js +8 -8
- package/dist/bin/stack-update.js +41 -16
- package/dist/bin/verify-stack.js +1 -1
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-4W4CDJSX.js → boot-generation-RPJVFAQJ.js} +4 -4
- package/dist/{boot-review-sections-HJN25GMU.js → boot-review-sections-FOPPZTJI.js} +12 -12
- package/dist/{bug-landed-reconciler-GGQU6G2L.js → bug-landed-reconciler-FN5KPBRK.js} +6 -6
- package/dist/build-info.json +3 -3
- package/dist/build-manifest.json +936 -926
- package/dist/{capability-cards-EV7VHL3W.js → capability-cards-YQWBEG7A.js} +3 -3
- package/dist/{capacity-monitor-YO3WRSRY.js → capacity-monitor-7SMEJHYG.js} +14 -14
- package/dist/{catchup-brief-4XFFW3H2.js → catchup-brief-IBQ26LEB.js} +19 -19
- package/dist/{chunk-YJ7MCZSY.js → chunk-27NG2NTG.js} +2 -2
- package/dist/{chunk-2AXJRXA6.js → chunk-2BOLFLAU.js} +4 -2
- package/dist/{chunk-AGXV5HLA.js → chunk-2EYVXUGA.js} +4 -4
- package/dist/{chunk-2YZZR2BW.js → chunk-2YFMBXUU.js} +4 -4
- package/dist/{chunk-ZBXZFOIF.js → chunk-2YGBJHC2.js} +3 -3
- package/dist/{chunk-I35OMCL3.js → chunk-353XF4LU.js} +2 -2
- package/dist/{chunk-UF5BDAF6.js → chunk-3DXAJVXE.js} +6 -6
- package/dist/{chunk-AEOB4JCJ.js → chunk-3GGMHSY2.js} +3 -3
- package/dist/{chunk-K6XWIJN7.js → chunk-3N24FV22.js} +1 -1
- package/dist/{chunk-7WCYJXOF.js → chunk-47YGEM4N.js} +1 -1
- package/dist/{chunk-NVM3SKJ4.js → chunk-4CN3EE6U.js} +27 -21
- package/dist/{chunk-IQCC6WFI.js → chunk-4J77TCTX.js} +1 -1
- package/dist/{chunk-H5H2LGVE.js → chunk-5BWDUUMH.js} +3 -3
- package/dist/{chunk-O5RKAXCG.js → chunk-5DLZJ3MY.js} +1 -1
- package/dist/{chunk-E3ZO4EL3.js → chunk-5ZMNFSHV.js} +1 -1
- package/dist/{chunk-7QFRZT4H.js → chunk-657I6PUF.js} +3 -3
- package/dist/{chunk-IXRYS5X3.js → chunk-6777GNWI.js} +1 -1
- package/dist/{chunk-4THJIDJE.js → chunk-6BD6JYR2.js} +1 -1
- package/dist/{chunk-JTXXLNYD.js → chunk-6DMURUBY.js} +4 -4
- package/dist/{chunk-47UBJKS3.js → chunk-6HJF7IA3.js} +168 -205
- package/dist/{chunk-PONGX3YG.js → chunk-6J2J3VJS.js} +10 -10
- package/dist/{chunk-XBCIRNNU.js → chunk-6PXFF6IV.js} +1 -1
- package/dist/{chunk-DWK5HEKY.js → chunk-7HLAYQRG.js} +4 -4
- package/dist/{chunk-RWM6TZH6.js → chunk-7KPZQ65I.js} +3 -3
- package/dist/{chunk-BPXWWD7P.js → chunk-7PDZBPGW.js} +1 -1
- package/dist/{chunk-2K7IKLBL.js → chunk-7SHU5MOD.js} +1 -1
- package/dist/{chunk-APKEGWFB.js → chunk-A5I2GYVQ.js} +3 -3
- package/dist/{chunk-X4V5ZLNX.js → chunk-A75TAU2I.js} +628 -4
- package/dist/{chunk-T7W75LII.js → chunk-BE3UETW6.js} +3 -3
- package/dist/{chunk-575FWHQJ.js → chunk-BG6RAOCJ.js} +63 -9
- package/dist/{chunk-YSDSQRE2.js → chunk-BIPTWAEO.js} +1 -1
- package/dist/{chunk-FYKEL2L6.js → chunk-BLTXAUP6.js} +2 -2
- package/dist/{chunk-ASA2UJDH.js → chunk-CFFSHBQF.js} +1 -1
- package/dist/{chunk-XCKTCOK3.js → chunk-CJ6CS2IH.js} +5 -5
- package/dist/{chunk-V7AID6MC.js → chunk-CRW63CDI.js} +1 -1
- package/dist/{chunk-B34RSIUP.js → chunk-CWHTUNJX.js} +2 -2
- package/dist/{chunk-HKAWEIB2.js → chunk-D6NZNUVH.js} +1 -1
- package/dist/{chunk-CEHGXPMO.js → chunk-DHLJZDWI.js} +4 -4
- package/dist/{chunk-FCX2XHIC.js → chunk-DWRULKB3.js} +2 -2
- package/dist/{chunk-KNEEOZWN.js → chunk-EOWJXCYC.js} +25 -7
- package/dist/{chunk-5BWN6A5E.js → chunk-EWDBWOCX.js} +1 -1
- package/dist/{chunk-IUAW7FVX.js → chunk-FPF2PJFK.js} +3 -3
- package/dist/{chunk-B55U5BKF.js → chunk-FSXMKIDO.js} +1 -1
- package/dist/{chunk-2A556FNI.js → chunk-FUDXITKX.js} +1 -1
- package/dist/{chunk-FZT7CBXB.js → chunk-FYV2CTKP.js} +1 -1
- package/dist/{chunk-R2ZHPVF2.js → chunk-GATAYYAF.js} +3 -3
- package/dist/{chunk-CKRZBQ2K.js → chunk-GHYHNHDL.js} +1 -1
- package/dist/{chunk-IHBYJG7N.js → chunk-GL5ZG72X.js} +1 -1
- package/dist/{chunk-WSYIQKZ6.js → chunk-GM4UEZDE.js} +20 -20
- package/dist/{chunk-QKHQTHE6.js → chunk-GZVFHFO3.js} +10 -135
- package/dist/{chunk-XC2KAJK4.js → chunk-HA6BIZ6L.js} +5 -5
- package/dist/chunk-HDQAVAV6.js +248 -0
- package/dist/{chunk-5Q64Q5ZD.js → chunk-HDV2V25K.js} +1 -1
- package/dist/{chunk-26CY4EAR.js → chunk-HTFM7ZDD.js} +2 -2
- package/dist/{chunk-NUEDA2US.js → chunk-HUHR5CKJ.js} +4 -4
- package/dist/{chunk-BIHPY7JW.js → chunk-IC2AONBH.js} +9 -9
- package/dist/{chunk-2YK5HP2B.js → chunk-IHAXXDBH.js} +3 -3
- package/dist/{chunk-5JHIAGZY.js → chunk-IPUDXR67.js} +1 -1
- package/dist/{chunk-BBTNF72N.js → chunk-J6U4ZR77.js} +2 -2
- package/dist/{chunk-2OIVIPU7.js → chunk-JAIZCE6W.js} +3 -3
- package/dist/{chunk-WLV27PAO.js → chunk-JGBYZTWH.js} +1 -1
- package/dist/{chunk-4XY33GRO.js → chunk-JJZZXEAN.js} +3 -3
- package/dist/{chunk-3UEDFBDE.js → chunk-JNULO6I5.js} +3 -3
- package/dist/{chunk-JZ23D5YF.js → chunk-JTJP4JK7.js} +3 -3
- package/dist/{chunk-JDZNGC4O.js → chunk-JW5NUXPN.js} +11 -11
- package/dist/{chunk-GGT6Y5AN.js → chunk-K2HIXAIF.js} +12 -12
- package/dist/{chunk-NYV4A5IG.js → chunk-KEDZRQI3.js} +2 -2
- package/dist/{chunk-S2DTXCV6.js → chunk-KN5GAVCG.js} +2 -2
- package/dist/{chunk-LBEBSXZA.js → chunk-L5JFVK5T.js} +4 -4
- package/dist/{chunk-HNJLAMD3.js → chunk-LBSCOP25.js} +1 -1
- package/dist/{chunk-FOZSHNET.js → chunk-LLZUL7M2.js} +1 -1
- package/dist/{chunk-53GNYXNR.js → chunk-LQGLGSBY.js} +2 -2
- package/dist/{chunk-X2EBM5BQ.js → chunk-LSHUX7P4.js} +16 -16
- package/dist/{chunk-AWTLUJZL.js → chunk-M6AX64J2.js} +2 -2
- package/dist/{chunk-7RVTQXST.js → chunk-M6SUJLNP.js} +2 -2
- package/dist/{chunk-OUUNFTS4.js → chunk-MZNLQC6W.js} +1 -1
- package/dist/{chunk-PCF4QMJS.js → chunk-N7POJZJT.js} +10 -10
- package/dist/{chunk-2CG3LHI6.js → chunk-NCNT2C2P.js} +2 -2
- package/dist/{chunk-R3N5BCMM.js → chunk-O3BLL6MY.js} +1 -1
- package/dist/{chunk-SLG3T26A.js → chunk-O6KQAJCC.js} +3 -3
- package/dist/{chunk-2WOHFX4Z.js → chunk-OHHZNNUD.js} +1 -1
- package/dist/{chunk-HWP3WCLC.js → chunk-OPG237ZQ.js} +154 -50
- package/dist/{chunk-2LJ2GZEE.js → chunk-PDQGR5LZ.js} +1 -1
- package/dist/{chunk-UBTKHJCB.js → chunk-PTF5TB6O.js} +6 -6
- package/dist/{chunk-5F3E57TQ.js → chunk-PYXXL7N7.js} +1 -1
- package/dist/{chunk-HLNRLXUS.js → chunk-Q6KUBP6R.js} +5 -5
- package/dist/{chunk-AGY2KUQ6.js → chunk-QJWLQXR7.js} +1 -1
- package/dist/{chunk-ZEDLED43.js → chunk-QOFQY7BJ.js} +1 -1
- package/dist/{chunk-6T5RC3L4.js → chunk-QSW5DHMZ.js} +1 -1
- package/dist/{chunk-54Q7M2AG.js → chunk-QV26G2BF.js} +1 -1
- package/dist/{chunk-5WNZGNQL.js → chunk-RHHEYC6H.js} +3 -3
- package/dist/{chunk-K464YYT5.js → chunk-RHJOTGEU.js} +1 -1
- package/dist/{chunk-LZS2B2JT.js → chunk-RIKFXHLE.js} +247 -31
- package/dist/{chunk-6TOV7UVU.js → chunk-RJIH7JXM.js} +4 -4
- package/dist/{chunk-2Q2U3NB2.js → chunk-RMC2A6EE.js} +1 -1
- package/dist/{chunk-FUEKSCTN.js → chunk-RYMXD2NT.js} +1 -1
- package/dist/{chunk-MNWN3SQ3.js → chunk-RYYFFCJG.js} +1 -1
- package/dist/{chunk-E2346GKI.js → chunk-SINIRUYZ.js} +101 -9
- package/dist/{chunk-22XJWSWN.js → chunk-SXUABANK.js} +3 -3
- package/dist/{backup-verify-AOTKX5DA.js → chunk-T3AM52YT.js} +345 -89
- package/dist/{chunk-LCXWQVOD.js → chunk-TCBWHLKH.js} +4 -4
- package/dist/{chunk-YWZGDFAL.js → chunk-TS4LSNRI.js} +2 -2
- package/dist/{chunk-J6RTX7XT.js → chunk-TVWYMOZ4.js} +1 -1
- package/dist/{chunk-3WNDI5KT.js → chunk-VAHQOIQY.js} +1 -1
- package/dist/{chunk-QH2V67NX.js → chunk-VBYSAQJD.js} +1 -1
- package/dist/{chunk-MQD3JJCO.js → chunk-VQQPYI4X.js} +1 -1
- package/dist/{chunk-XJQGS4IM.js → chunk-VS7V5HNO.js} +1 -1
- package/dist/{chunk-CPC75PXE.js → chunk-W3ABSZ6G.js} +2 -2
- package/dist/{chunk-SUGAHHVR.js → chunk-W7VKGB42.js} +1 -1
- package/dist/{chunk-UG3YOQAC.js → chunk-X2ZHCNNB.js} +5 -5
- package/dist/{chunk-YC6SZFVD.js → chunk-X4FHT6ST.js} +5 -5
- package/dist/{chunk-RXICR3D7.js → chunk-XC5OASHV.js} +1 -1
- package/dist/{chunk-TU5Y5ZNC.js → chunk-XDOCXKHW.js} +58 -1
- package/dist/{chunk-DLHE4PCM.js → chunk-XEAZJXMZ.js} +4 -4
- package/dist/{chunk-XMMWBLQK.js → chunk-XQ7BIVLI.js} +6 -6
- package/dist/{chunk-FRJICRED.js → chunk-Z3LGAFMG.js} +1 -1
- package/dist/{chunk-HCBISGUU.js → chunk-ZJ6AMC4Y.js} +7 -7
- package/dist/{chunk-AEEAQZ3E.js → chunk-ZZR2WRNW.js} +4 -4
- package/dist/{cleanup-graph-garbage-N7FTWU6C.js → cleanup-graph-garbage-SYGPMPUM.js} +8 -8
- package/dist/{cli-shutdown-NCBQTN7G.js → cli-shutdown-JI7CASE4.js} +1 -1
- package/dist/{cloud-sync-command-UL7GNN3J.js → cloud-sync-command-ZV3P5FP6.js} +2 -2
- package/dist/{cloud-sync-db-init-ASM7ZXBH.js → cloud-sync-db-init-RQIHWKV4.js} +1 -1
- package/dist/{cloud-sync-shutdown-HER4ISBU.js → cloud-sync-shutdown-V2N7VLD3.js} +3 -3
- package/dist/{co-activation-V5XXR327.js → co-activation-SRE6DIRX.js} +3 -3
- package/dist/{co-occurrence-MKZ6YWSQ.js → co-occurrence-F5TMSEQZ.js} +6 -6
- package/dist/{consent-passphrase-YI3J4UEL.js → consent-passphrase-MWZRHJRC.js} +2 -2
- package/dist/{conversation-entity-extractor-66G7ROQ3.js → conversation-entity-extractor-XMOUHGMT.js} +3 -3
- package/dist/{crdt-sync-Z62SWOKD.js → crdt-sync-FXEKABM7.js} +4 -4
- package/dist/{crm-webhook-6GBACWJX.js → crm-webhook-D6IJOPRQ.js} +2 -2
- package/dist/{cto-delegation-gate-FUKPBFCM.js → cto-delegation-gate-BU3JRCYN.js} +12 -12
- package/dist/{daemon-orchestration-O3QPSJEP.js → daemon-orchestration-K4NKFYXO.js} +19 -19
- package/dist/{destructive-data-guard-JDUJ2ULM.js → destructive-data-guard-3TGAAE7K.js} +77 -23
- package/dist/{doc-graph-extractor-BBPKLIVM.js → doc-graph-extractor-TVK2NGAR.js} +6 -6
- package/dist/{documents-NILTWYSQ.js → documents-MDZ4VB5X.js} +8 -8
- package/dist/{dreaming-KMDGPIFY.js → dreaming-L24PSS35.js} +17 -17
- package/dist/{employee-boot-brief-KSH3MWIF.js → employee-boot-brief-GQVL3FQC.js} +21 -21
- package/dist/{entity-boost-XETN7C2S.js → entity-boost-OMFA5QCG.js} +1 -1
- package/dist/{exe-drift-SFD7SHXC.js → exe-drift-JDDG3OPT.js} +4 -4
- package/dist/{exe-export-NHWKEZL4.js → exe-export-EEGIE3JP.js} +10 -10
- package/dist/{exe-import-SPI5HJBU.js → exe-import-UJNC5Q2L.js} +10 -10
- package/dist/{exe-key-TY5LFUEM.js → exe-key-TYEY4W4E.js} +95 -95
- package/dist/{exe-org-LVQLXA7C.js → exe-org-B3ICTTEV.js} +32 -32
- package/dist/{exe-snapshot-WH2DSRZW.js → exe-snapshot-VBFBONYN.js} +20 -20
- package/dist/{fast-db-init-UN225WS7.js → fast-db-init-TFRTK6EH.js} +1 -1
- package/dist/{founder-context-DVHSVBM5.js → founder-context-3X4QUWKD.js} +2 -2
- package/dist/{founder-monitor-envelope-HMPPUBUT.js → founder-monitor-envelope-54UNZNY4.js} +4 -4
- package/dist/gateway/index.js +14 -14
- package/dist/{gateway-client-TXHCHOVM.js → gateway-client-OUDO5GGV.js} +1 -1
- package/dist/{git-staleness-CUVLXQOJ.js → git-staleness-73YZ5PGU.js} +3 -3
- package/dist/{global-procedures-T5W3S6OU.js → global-procedures-PYNE2BQG.js} +20 -6
- package/dist/{graph-auto-extract-S7OIZXYP.js → graph-auto-extract-PGUMEEQB.js} +6 -6
- package/dist/{graph-query-CRIH4DXF.js → graph-query-7YA3YNKL.js} +1 -1
- package/dist/{graph-rag-LH34CEGC.js → graph-rag-UWOTK4AQ.js} +3 -3
- package/dist/{hook-integrity-TSJYZFZ6.js → hook-integrity-6MNEPT6W.js} +1 -1
- package/dist/{hook-prefetch-SNW5DFCZ.js → hook-prefetch-JOF6YZSR.js} +13 -13
- package/dist/hooks/bug-report-worker.js +17 -17
- package/dist/hooks/codex-stop-task-finalizer.js +19 -19
- package/dist/hooks/commit-complete.js +16 -16
- package/dist/hooks/error-recall.js +11 -11
- package/dist/hooks/exe-heartbeat-hook.js +5 -5
- package/dist/hooks/ingest-worker.js +15 -15
- package/dist/hooks/ingest.js +13 -13
- package/dist/hooks/instructions-loaded.js +7 -7
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +6 -6
- package/dist/hooks/post-compact.js +5 -5
- package/dist/hooks/post-tool-combined.js +13 -13
- package/dist/hooks/pre-compact.js +16 -16
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +34 -34
- package/dist/hooks/session-end.js +21 -21
- package/dist/hooks/session-start.js +18 -18
- package/dist/hooks/stop.js +19 -19
- package/dist/hooks/subagent-stop.js +18 -18
- package/dist/hooks/summary-worker.js +20 -20
- package/dist/index.js +26 -26
- package/dist/{installer-4IVP2PTX.js → installer-34XZ7JMW.js} +6 -6
- package/dist/{installer-UFRZHMX5.js → installer-356RMQ2K.js} +6 -6
- package/dist/{installer-CJWNUASI.js → installer-7TN36Z7T.js} +112 -28
- package/dist/{intercom-queue-II6RRK3J.js → intercom-queue-ZJ3MNULM.js} +12 -12
- package/dist/lib/backup-verify-worker.js +157 -0
- package/dist/lib/cloud-sync.js +16 -20
- package/dist/lib/consolidation.js +9 -9
- package/dist/lib/crypto.js +3 -3
- package/dist/lib/database.js +3 -3
- package/dist/lib/db-backup.js +7 -3
- package/dist/lib/db-write-worker.js +3 -3
- package/dist/lib/db.js +3 -3
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/employee-templates.js +7 -7
- package/dist/lib/employees.js +3 -3
- package/dist/lib/exe-daemon.js +89 -84
- package/dist/lib/hybrid-search.js +9 -9
- package/dist/lib/identity.js +3 -3
- package/dist/lib/keychain.js +1 -1
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +13 -13
- package/dist/lib/post-tool-memory.js +13 -13
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +4 -4
- package/dist/lib/schedules.js +8 -8
- package/dist/lib/session-registry.js +5 -5
- package/dist/lib/skill-learning.js +9 -9
- package/dist/lib/store.js +7 -7
- package/dist/lib/task-router.js +4 -4
- package/dist/lib/tasks.js +14 -14
- package/dist/lib/tmux-routing.js +12 -12
- package/dist/lib/token-spend.js +4 -4
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-M7EDJLAA.js → license-gate-4BXUTHLB.js} +3 -3
- package/dist/{license-recheck-DLTOHAH2.js → license-recheck-QFPUKISQ.js} +1 -1
- package/dist/{license-sync-YTDCUN3S.js → license-sync-FDEDT4AC.js} +2 -2
- package/dist/mcp/register-tools.js +94 -94
- package/dist/mcp/server.js +97 -97
- package/dist/mcp/tools/complete-reminder.js +5 -5
- package/dist/mcp/tools/create-reminder.js +5 -5
- package/dist/mcp/tools/create-task.js +16 -16
- package/dist/mcp/tools/deactivate-behavior.js +10 -10
- package/dist/mcp/tools/list-reminders.js +5 -5
- package/dist/mcp/tools/list-tasks.js +16 -16
- package/dist/mcp/tools/send-message.js +15 -15
- package/dist/mcp/tools/update-task.js +15 -15
- package/dist/{mcp-http-config-652YK3CI.js → mcp-http-config-GKP5QGAO.js} +5 -5
- package/dist/{mcp-session-identity-6QGXD52Y.js → mcp-session-identity-JHAGRB7B.js} +12 -12
- package/dist/{memory-cards-FOPSLULE.js → memory-cards-O377ETAM.js} +7 -7
- package/dist/{memory-graph-extractor-7G3CIGN7.js → memory-graph-extractor-4KJCCUOP.js} +7 -7
- package/dist/{memory-maintenance-5XIGUPYL.js → memory-maintenance-RR5UPRW3.js} +1 -1
- package/dist/{memory-poisoning-defense-MI7Y5XBP.js → memory-poisoning-defense-Y5TTKGOP.js} +3 -3
- package/dist/{memory-pressure-watchdog-SPIDPGU2.js → memory-pressure-watchdog-NGXTI4HR.js} +13 -13
- package/dist/{memory-reflection-DVAT4QKS.js → memory-reflection-EXNHRZL7.js} +7 -7
- package/dist/{memory-write-repository-YC7HJTV5.js → memory-write-repository-S4TX7WQB.js} +1 -1
- package/dist/{monitor-grants-3A77O6XK.js → monitor-grants-57Q4NL25.js} +3 -3
- package/dist/{monitor-identity-BTFFMFEX.js → monitor-identity-3FQ52SYU.js} +2 -2
- package/dist/{notification-ledger-AV5242RM.js → notification-ledger-O6KQYYGK.js} +13 -13
- package/dist/{notifications-75FVPJLY.js → notifications-6FCQCJ4P.js} +12 -12
- package/dist/{orchestration-events-ARGZU6KS.js → orchestration-events-2Z2BMMA5.js} +4 -4
- package/dist/{orchestrator-TCXZMLSB.js → orchestrator-AGOSKPHD.js} +14 -14
- package/dist/{org-brief-session-B455POUI.js → org-brief-session-WJHZVXXJ.js} +15 -15
- package/dist/{org-consent-policy-7K5H6FOB.js → org-consent-policy-X43UGTHI.js} +5 -5
- package/dist/{org-join-ETR5KO27.js → org-join-M3UTBMHC.js} +9 -9
- package/dist/{org-key-admin-IRC6H3TL.js → org-key-admin-AA2DRHB2.js} +11 -11
- package/dist/{org-key-epoch-EG4YQ47A.js → org-key-epoch-Z5UIVUHT.js} +5 -5
- package/dist/{org-key-pin-GLQEU3P3.js → org-key-pin-FE6YHEZ3.js} +3 -3
- package/dist/{org-membership-JC5YVU6N.js → org-membership-3J2MIGE4.js} +4 -4
- package/dist/{org-partner-config-QFSVGHEA.js → org-partner-config-5HATZYG4.js} +8 -8
- package/dist/{org-partner-runtime-7AD7WY3Y.js → org-partner-runtime-UI35IHUC.js} +15 -15
- package/dist/{org-row-visibility-AXZKVOA6.js → org-row-visibility-TRJERVYP.js} +1 -1
- package/dist/{pipeline-router-2KY4X6PO.js → pipeline-router-EKQ6D7ZA.js} +4 -4
- package/dist/{plan-limits-PG6HG2DT.js → plan-limits-3BGHIHX6.js} +6 -6
- package/dist/{platform-procedures-QP3W2NLH.js → platform-procedures-RXW46WNY.js} +1 -1
- package/dist/{pre-tool-use-impl-45B4NFIF.js → pre-tool-use-impl-7BT5TJVM.js} +28 -28
- package/dist/{project-name-LHYHR4VN.js → project-name-PGJGUEJY.js} +4 -4
- package/dist/{projection-worker-POT2AOR5.js → projection-worker-3GEVFPAI.js} +2 -2
- package/dist/{prospective-memory-ECXSAEAW.js → prospective-memory-GEN7CN7H.js} +3 -3
- package/dist/{push-notifications-W3UNHDC5.js → push-notifications-QW4BWRC7.js} +13 -13
- package/dist/{reproject-worktree-memories-PIXMJBHG.js → reproject-worktree-memories-DIULBEBD.js} +12 -12
- package/dist/{reranker-ZBPYIRBB.js → reranker-LQ6OPJOI.js} +1 -1
- package/dist/{retrieval-health-42MFLOEP.js → retrieval-health-XDFYFEOP.js} +1 -1
- package/dist/{review-polling-V4CSK4TZ.js → review-polling-ED33YLFT.js} +13 -13
- package/dist/runtime/index.js +20 -20
- package/dist/{session-events-C3NUY6MR.js → session-events-7IJGTBVH.js} +13 -13
- package/dist/{session-kill-telemetry-ZOSAIYU2.js → session-kill-telemetry-RUTEARJ3.js} +13 -13
- package/dist/{session-scope-BZALGKYZ.js → session-scope-SSYA64L3.js} +12 -12
- package/dist/{setup-wizard-DNA2UT4J.js → setup-wizard-XD7FZVLJ.js} +2 -2
- package/dist/{shard-manager-NG4SXV7L.js → shard-manager-FH5JZRSE.js} +2 -2
- package/dist/{skill-refinement-Y3M7XBRE.js → skill-refinement-UHD4E6GV.js} +4 -4
- package/dist/{skill-retrieval-XDY352AS.js → skill-retrieval-F6PAJ3I5.js} +11 -11
- package/dist/{skill-usage-QOLIJQJC.js → skill-usage-2MBTF7Y4.js} +4 -4
- package/dist/{stack-generate-manifest-VFHCOLAD.js → stack-generate-manifest-MVJDTU4F.js} +13 -37
- package/dist/{stack-promote-24BY6AXF.js → stack-promote-BMGEY6SQ.js} +4 -4
- package/dist/{stack-release-AXH7ZIOR.js → stack-release-64UJ6Y4W.js} +17 -34
- package/dist/{stack-update-7ET7S3ED.js → stack-update-EBATTQPP.js} +5 -3
- package/dist/{steward-gate-2MUESY3V.js → steward-gate-EWG2BHYQ.js} +4 -4
- package/dist/{subagent-brief-injection-6PM3WMMR.js → subagent-brief-injection-YZGSWUEY.js} +23 -23
- package/dist/{support-bug-actions-WWKDXT74.js → support-bug-actions-RU6WZ3UV.js} +3 -3
- package/dist/{support-inbox-AN44HIOG.js → support-inbox-A3S52SPS.js} +12 -12
- package/dist/{task-enforcement-QO7RXYK2.js → task-enforcement-LVAS55AR.js} +13 -13
- package/dist/{task-request-inbox-RXAT2QJF.js → task-request-inbox-2TN4ZUH2.js} +5 -5
- package/dist/{task-scope-4EKZBTTM.js → task-scope-NLKUVCP5.js} +12 -12
- package/dist/{tasks-crud-MB7WXGPW.js → tasks-crud-NQDPLHNZ.js} +12 -12
- package/dist/{tasks-notify-BCWO7AP6.js → tasks-notify-BDM2NEHP.js} +13 -13
- package/dist/{tasks-review-HXHYA76X.js → tasks-review-3G7CAW2O.js} +12 -12
- package/dist/{telemetry-upload-Q7DLE5I3.js → telemetry-upload-6DR6AL3V.js} +8 -8
- package/dist/{token-budget-EL6BEBDP.js → token-budget-KNC2WGR7.js} +4 -4
- package/dist/{tool-telemetry-SNWF4WDH.js → tool-telemetry-I3SEU5M5.js} +1 -1
- package/dist/tui/App.js +23 -23
- package/dist/{tui-data-ZMSBEPJT.js → tui-data-KJDWP4CB.js} +16 -16
- package/dist/{update-support-QY7WALUZ.js → update-support-UYDYMHVR.js} +11 -11
- package/dist/{whatsapp-NCZ43BB3.js → whatsapp-5EMPZHF5.js} +2 -2
- package/dist/{wiki-acl-3L7BRJUV.js → wiki-acl-M7BTQJBZ.js} +1 -1
- package/dist/{work-claims-XQXT2VWJ.js → work-claims-5CFMZTML.js} +4 -4
- package/dist/{work-state-heartbeat-GAIQ7M73.js → work-state-heartbeat-7IA2DZ2E.js} +1 -1
- package/dist/{workflow-engine-FCOOI5M6.js → workflow-engine-S5JOE2YR.js} +2 -2
- package/dist/{worktree-GS4ODQ4C.js → worktree-7V4ZMF3D.js} +5 -5
- package/dist/{worktree-sweep-6LMC7H5Y.js → worktree-sweep-34MXJ7S6.js} +6 -6
- package/package.json +2 -1
- package/release-notes.json +21 -25
- package/stack.release.json +5 -5
- package/dist/chunk-WZPD4QSE.js +0 -113
- /package/dist/{chunk-IKJUZ3VO.js → chunk-542FBM5U.js} +0 -0
- /package/dist/{chunk-XJDSTA2C.js → chunk-6D2O5SAH.js} +0 -0
- /package/dist/{chunk-FDQXQBBC.js → chunk-6NRZLVK3.js} +0 -0
- /package/dist/{chunk-XDWIJBTY.js → chunk-CFO47VW4.js} +0 -0
- /package/dist/{chunk-R6H2IRCF.js → chunk-EULAP6L6.js} +0 -0
- /package/dist/{chunk-LK6OG47X.js → chunk-FYSKQPTE.js} +0 -0
- /package/dist/{chunk-LAWI42NC.js → chunk-J4B4M5PH.js} +0 -0
- /package/dist/{chunk-AC36VWNB.js → chunk-J635FA7T.js} +0 -0
- /package/dist/{chunk-UQKGV6SX.js → chunk-MOBZTIJQ.js} +0 -0
- /package/dist/{chunk-7ZP2PAW3.js → chunk-N45FAI6D.js} +0 -0
- /package/dist/{chunk-ZQS4S4AX.js → chunk-QDSNEGJE.js} +0 -0
- /package/dist/{chunk-CS4SHHLY.js → chunk-SKSXROKP.js} +0 -0
- /package/dist/{chunk-JXGOO53U.js → chunk-YVWXI2HM.js} +0 -0
- /package/dist/{core-memory-3TZV3ZDW.js → core-memory-PZEO3OWH.js} +0 -0
- /package/dist/{memory-isolation-TE4AOMQX.js → memory-isolation-MFNT2ITE.js} +0 -0
- /package/dist/{oauth-server-CWQ6EBGQ.js → oauth-server-CBGEWD6H.js} +0 -0
- /package/dist/{project-boot-MX2FNKTJ.js → project-boot-VESAYDIH.js} +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
detectSubagentSidechain
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-BIPTWAEO.js";
|
|
4
4
|
import {
|
|
5
5
|
buildSubagentCheckpointEvent,
|
|
6
6
|
recordSubagentCheckpointEventBestEffort
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-DWRULKB3.js";
|
|
8
8
|
import "../chunk-SH45SJQW.js";
|
|
9
9
|
import {
|
|
10
10
|
getActiveAgent,
|
|
11
11
|
resolveAgentAttribution
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-GL5ZG72X.js";
|
|
13
13
|
import "../chunk-7YX73K2R.js";
|
|
14
14
|
import "../chunk-5WA4DG2A.js";
|
|
15
15
|
import {
|
|
16
16
|
sessionScopeFilter
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-GM4UEZDE.js";
|
|
18
|
+
import "../chunk-PYXXL7N7.js";
|
|
18
19
|
import "../chunk-ZKGWHT56.js";
|
|
19
|
-
import "../chunk-5F3E57TQ.js";
|
|
20
20
|
import "../chunk-WT4RI36X.js";
|
|
21
21
|
import "../chunk-E23LNUWJ.js";
|
|
22
22
|
import "../chunk-TDF2XKLK.js";
|
|
@@ -24,16 +24,16 @@ import "../chunk-EIKATSE4.js";
|
|
|
24
24
|
import "../chunk-MJCSEIFI.js";
|
|
25
25
|
import "../chunk-QDMZ5DX2.js";
|
|
26
26
|
import "../chunk-HME6ITKV.js";
|
|
27
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-QSW5DHMZ.js";
|
|
28
28
|
import "../chunk-VI4ATC6I.js";
|
|
29
29
|
import "../chunk-A27Q27CT.js";
|
|
30
30
|
import "../chunk-6L4VIYLZ.js";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-JGBYZTWH.js";
|
|
32
32
|
import "../chunk-T5SM4RXY.js";
|
|
33
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-CFFSHBQF.js";
|
|
34
34
|
import "../chunk-IVXELUEQ.js";
|
|
35
35
|
import "../chunk-AM7S2TY6.js";
|
|
36
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-2BOLFLAU.js";
|
|
37
37
|
import "../chunk-WJWRQQMS.js";
|
|
38
38
|
import "../chunk-PCV52RYM.js";
|
|
39
39
|
import "../chunk-BTSWFMEH.js";
|
|
@@ -42,18 +42,18 @@ import "../chunk-IMYGYIAI.js";
|
|
|
42
42
|
import "../chunk-NLEW62VC.js";
|
|
43
43
|
import "../chunk-3DAEZILW.js";
|
|
44
44
|
import "../chunk-DRTJCG6B.js";
|
|
45
|
-
import "../chunk-
|
|
45
|
+
import "../chunk-TVWYMOZ4.js";
|
|
46
46
|
import "../chunk-CVYC6DUW.js";
|
|
47
47
|
import "../chunk-GJV3WDWM.js";
|
|
48
48
|
import "../chunk-YRUZK2QA.js";
|
|
49
49
|
import "../chunk-MP2AFCGL.js";
|
|
50
50
|
import {
|
|
51
51
|
canCoordinate
|
|
52
|
-
} from "../chunk-
|
|
52
|
+
} from "../chunk-L5JFVK5T.js";
|
|
53
53
|
import "../chunk-BBMTVAE3.js";
|
|
54
54
|
import "../chunk-TKDITWDN.js";
|
|
55
|
-
import "../chunk-
|
|
56
|
-
import "../chunk-
|
|
55
|
+
import "../chunk-SINIRUYZ.js";
|
|
56
|
+
import "../chunk-6777GNWI.js";
|
|
57
57
|
import "../chunk-7FE43JRU.js";
|
|
58
58
|
import "../chunk-5YEUPUV4.js";
|
|
59
59
|
import "../chunk-YYB5PMTK.js";
|
|
@@ -62,9 +62,9 @@ import "../chunk-QH5ZQ5SJ.js";
|
|
|
62
62
|
import "../chunk-ZQEJ4IX2.js";
|
|
63
63
|
import "../chunk-C7GHNJPW.js";
|
|
64
64
|
import "../chunk-UWGQNJIE.js";
|
|
65
|
-
import "../chunk-
|
|
65
|
+
import "../chunk-EOWJXCYC.js";
|
|
66
66
|
import "../chunk-3R7UDPVR.js";
|
|
67
|
-
import "../chunk-
|
|
67
|
+
import "../chunk-6D2O5SAH.js";
|
|
68
68
|
import "../chunk-A7JYF4RG.js";
|
|
69
69
|
import "../chunk-ARX6TAGN.js";
|
|
70
70
|
import "../chunk-MMS2HBRT.js";
|
|
@@ -100,7 +100,7 @@ process.on("unhandledRejection", (err) => {
|
|
|
100
100
|
process.exit(1);
|
|
101
101
|
});
|
|
102
102
|
try {
|
|
103
|
-
const { verifyOrBlock } = await import("../hook-integrity-
|
|
103
|
+
const { verifyOrBlock } = await import("../hook-integrity-6MNEPT6W.js");
|
|
104
104
|
if (!await verifyOrBlock(new URL(import.meta.url).pathname)) process.exit(2);
|
|
105
105
|
} catch (err) {
|
|
106
106
|
const code = err?.code;
|
|
@@ -146,7 +146,7 @@ async function recordSubagentStopCheckpoint(payload, agentId) {
|
|
|
146
146
|
});
|
|
147
147
|
await Promise.race([
|
|
148
148
|
(async () => {
|
|
149
|
-
const { fastDbInit } = await import("../fast-db-init-
|
|
149
|
+
const { fastDbInit } = await import("../fast-db-init-TFRTK6EH.js");
|
|
150
150
|
const client = await fastDbInit({ daemonOnly: true });
|
|
151
151
|
await recordSubagentCheckpointEventBestEffort({
|
|
152
152
|
client,
|
|
@@ -184,7 +184,7 @@ process.stdin.on("end", async () => {
|
|
|
184
184
|
if (!failClosedOnTimeout) {
|
|
185
185
|
process.exit(0);
|
|
186
186
|
}
|
|
187
|
-
const { fastDbInit } = await import("../fast-db-init-
|
|
187
|
+
const { fastDbInit } = await import("../fast-db-init-TFRTK6EH.js");
|
|
188
188
|
const client = await fastDbInit({ caller: "hook" });
|
|
189
189
|
const saScope = sessionScopeFilter();
|
|
190
190
|
const pendingResult = await client.execute({
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
writeContinuityCheckpoint
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-J4B4M5PH.js";
|
|
4
4
|
import {
|
|
5
5
|
initStore,
|
|
6
6
|
vectorToBlob
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-LSHUX7P4.js";
|
|
8
|
+
import "../chunk-MOBZTIJQ.js";
|
|
9
9
|
import "../chunk-CHCA3ZM2.js";
|
|
10
10
|
import "../chunk-OTVEIJUQ.js";
|
|
11
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-FYSKQPTE.js";
|
|
12
12
|
import "../chunk-5MOYSU5A.js";
|
|
13
13
|
import "../chunk-BYP3DOUU.js";
|
|
14
14
|
import "../chunk-76CJBM36.js";
|
|
@@ -16,9 +16,9 @@ import {
|
|
|
16
16
|
getCurrentSessionScope,
|
|
17
17
|
sessionScopeFilter,
|
|
18
18
|
writeNotification
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-GM4UEZDE.js";
|
|
20
|
+
import "../chunk-PYXXL7N7.js";
|
|
20
21
|
import "../chunk-ZKGWHT56.js";
|
|
21
|
-
import "../chunk-5F3E57TQ.js";
|
|
22
22
|
import "../chunk-WT4RI36X.js";
|
|
23
23
|
import "../chunk-E23LNUWJ.js";
|
|
24
24
|
import "../chunk-TDF2XKLK.js";
|
|
@@ -26,16 +26,16 @@ import "../chunk-EIKATSE4.js";
|
|
|
26
26
|
import "../chunk-MJCSEIFI.js";
|
|
27
27
|
import "../chunk-QDMZ5DX2.js";
|
|
28
28
|
import "../chunk-HME6ITKV.js";
|
|
29
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-QSW5DHMZ.js";
|
|
30
30
|
import "../chunk-VI4ATC6I.js";
|
|
31
31
|
import "../chunk-A27Q27CT.js";
|
|
32
32
|
import "../chunk-6L4VIYLZ.js";
|
|
33
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-JGBYZTWH.js";
|
|
34
34
|
import "../chunk-T5SM4RXY.js";
|
|
35
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-CFFSHBQF.js";
|
|
36
36
|
import "../chunk-IVXELUEQ.js";
|
|
37
37
|
import "../chunk-AM7S2TY6.js";
|
|
38
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-2BOLFLAU.js";
|
|
39
39
|
import "../chunk-WJWRQQMS.js";
|
|
40
40
|
import "../chunk-PCV52RYM.js";
|
|
41
41
|
import "../chunk-BTSWFMEH.js";
|
|
@@ -44,7 +44,7 @@ import "../chunk-IMYGYIAI.js";
|
|
|
44
44
|
import "../chunk-NLEW62VC.js";
|
|
45
45
|
import "../chunk-3DAEZILW.js";
|
|
46
46
|
import "../chunk-DRTJCG6B.js";
|
|
47
|
-
import "../chunk-
|
|
47
|
+
import "../chunk-TVWYMOZ4.js";
|
|
48
48
|
import "../chunk-CVYC6DUW.js";
|
|
49
49
|
import "../chunk-GJV3WDWM.js";
|
|
50
50
|
import "../chunk-YRUZK2QA.js";
|
|
@@ -52,11 +52,11 @@ import "../chunk-MP2AFCGL.js";
|
|
|
52
52
|
import {
|
|
53
53
|
canCoordinate,
|
|
54
54
|
getClient
|
|
55
|
-
} from "../chunk-
|
|
55
|
+
} from "../chunk-L5JFVK5T.js";
|
|
56
56
|
import "../chunk-BBMTVAE3.js";
|
|
57
57
|
import "../chunk-TKDITWDN.js";
|
|
58
|
-
import "../chunk-
|
|
59
|
-
import "../chunk-
|
|
58
|
+
import "../chunk-SINIRUYZ.js";
|
|
59
|
+
import "../chunk-6777GNWI.js";
|
|
60
60
|
import "../chunk-7FE43JRU.js";
|
|
61
61
|
import "../chunk-5YEUPUV4.js";
|
|
62
62
|
import "../chunk-YYB5PMTK.js";
|
|
@@ -65,10 +65,10 @@ import "../chunk-QH5ZQ5SJ.js";
|
|
|
65
65
|
import "../chunk-ZQEJ4IX2.js";
|
|
66
66
|
import "../chunk-C7GHNJPW.js";
|
|
67
67
|
import "../chunk-UWGQNJIE.js";
|
|
68
|
-
import "../chunk-
|
|
69
|
-
import "../chunk-
|
|
68
|
+
import "../chunk-4J77TCTX.js";
|
|
69
|
+
import "../chunk-EOWJXCYC.js";
|
|
70
70
|
import "../chunk-3R7UDPVR.js";
|
|
71
|
-
import "../chunk-
|
|
71
|
+
import "../chunk-6D2O5SAH.js";
|
|
72
72
|
import "../chunk-A7JYF4RG.js";
|
|
73
73
|
import "../chunk-ARX6TAGN.js";
|
|
74
74
|
import "../chunk-MMS2HBRT.js";
|
|
@@ -90,13 +90,13 @@ process.on("unhandledRejection", (err) => {
|
|
|
90
90
|
process.exit(1);
|
|
91
91
|
});
|
|
92
92
|
try {
|
|
93
|
-
const { verifyHookIntegrity, isRunnable } = await import("../hook-integrity-
|
|
93
|
+
const { verifyHookIntegrity, isRunnable } = await import("../hook-integrity-6MNEPT6W.js");
|
|
94
94
|
const check = verifyHookIntegrity(new URL(import.meta.url).pathname);
|
|
95
95
|
if (!isRunnable(check)) {
|
|
96
96
|
process.stderr.write(`[SECURITY] Hook tamper detected: summary-worker.js \u2014 ${check.reason} \u2014 refusing to run
|
|
97
97
|
`);
|
|
98
98
|
try {
|
|
99
|
-
const { pushNotifyAsync } = await import("../push-notifications-
|
|
99
|
+
const { pushNotifyAsync } = await import("../push-notifications-QW4BWRC7.js");
|
|
100
100
|
pushNotifyAsync({
|
|
101
101
|
event: "security_alert",
|
|
102
102
|
title: "Hook tamper detected",
|
|
@@ -180,7 +180,7 @@ async function main() {
|
|
|
180
180
|
let summaryText = "";
|
|
181
181
|
let limitReached = false;
|
|
182
182
|
try {
|
|
183
|
-
const { assertMemoryLimit } = await import("../plan-limits-
|
|
183
|
+
const { assertMemoryLimit } = await import("../plan-limits-3BGHIHX6.js");
|
|
184
184
|
await assertMemoryLimit();
|
|
185
185
|
} catch (err) {
|
|
186
186
|
const msg = err instanceof Error ? err.message : String(err);
|
package/dist/index.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runtime_exports
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-6J2J3VJS.js";
|
|
4
|
+
import "./chunk-BE3UETW6.js";
|
|
5
|
+
import "./chunk-PDQGR5LZ.js";
|
|
6
6
|
import "./chunk-YZFZDJWZ.js";
|
|
7
7
|
import "./chunk-CMCYL2JC.js";
|
|
8
8
|
import "./chunk-NGVOA6ZQ.js";
|
|
9
|
-
import "./chunk-O377P7GM.js";
|
|
10
9
|
import "./chunk-Y5LJYDX4.js";
|
|
10
|
+
import "./chunk-O377P7GM.js";
|
|
11
11
|
import "./chunk-JRLNE3T2.js";
|
|
12
12
|
import "./chunk-2O2UKMUE.js";
|
|
13
13
|
import "./chunk-HF25XPZE.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-W7VKGB42.js";
|
|
15
15
|
import {
|
|
16
16
|
gateway_exports
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PTF5TB6O.js";
|
|
18
|
+
import "./chunk-ORCCI2VV.js";
|
|
18
19
|
import "./chunk-2SRG3B3D.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-RHJOTGEU.js";
|
|
21
|
+
import "./chunk-3N24FV22.js";
|
|
21
22
|
import "./chunk-RJT7H2KR.js";
|
|
22
23
|
import "./chunk-Q3V7K4ME.js";
|
|
23
24
|
import "./chunk-N5RRQOAC.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-IUAW7FVX.js";
|
|
25
|
+
import "./chunk-XEAZJXMZ.js";
|
|
26
|
+
import "./chunk-FPF2PJFK.js";
|
|
27
|
+
import "./chunk-GHYHNHDL.js";
|
|
28
28
|
import "./chunk-FWFFZGSC.js";
|
|
29
29
|
import "./chunk-ECGTESAP.js";
|
|
30
30
|
import "./chunk-QLZ46RCK.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-GM4UEZDE.js";
|
|
32
|
+
import "./chunk-PYXXL7N7.js";
|
|
32
33
|
import "./chunk-ZKGWHT56.js";
|
|
33
|
-
import "./chunk-5F3E57TQ.js";
|
|
34
34
|
import "./chunk-WT4RI36X.js";
|
|
35
35
|
import "./chunk-E23LNUWJ.js";
|
|
36
36
|
import "./chunk-TDF2XKLK.js";
|
|
@@ -38,16 +38,16 @@ import "./chunk-EIKATSE4.js";
|
|
|
38
38
|
import "./chunk-MJCSEIFI.js";
|
|
39
39
|
import "./chunk-QDMZ5DX2.js";
|
|
40
40
|
import "./chunk-HME6ITKV.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-QSW5DHMZ.js";
|
|
42
42
|
import "./chunk-VI4ATC6I.js";
|
|
43
43
|
import "./chunk-A27Q27CT.js";
|
|
44
44
|
import "./chunk-6L4VIYLZ.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-JGBYZTWH.js";
|
|
46
46
|
import "./chunk-T5SM4RXY.js";
|
|
47
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-CFFSHBQF.js";
|
|
48
48
|
import "./chunk-IVXELUEQ.js";
|
|
49
49
|
import "./chunk-AM7S2TY6.js";
|
|
50
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-2BOLFLAU.js";
|
|
51
51
|
import "./chunk-WJWRQQMS.js";
|
|
52
52
|
import "./chunk-PCV52RYM.js";
|
|
53
53
|
import "./chunk-BTSWFMEH.js";
|
|
@@ -56,19 +56,19 @@ import "./chunk-IMYGYIAI.js";
|
|
|
56
56
|
import "./chunk-NLEW62VC.js";
|
|
57
57
|
import "./chunk-3DAEZILW.js";
|
|
58
58
|
import "./chunk-DRTJCG6B.js";
|
|
59
|
-
import "./chunk-
|
|
59
|
+
import "./chunk-TVWYMOZ4.js";
|
|
60
60
|
import "./chunk-CVYC6DUW.js";
|
|
61
61
|
import "./chunk-GJV3WDWM.js";
|
|
62
62
|
import "./chunk-H5V5N3Q4.js";
|
|
63
|
-
import "./chunk-
|
|
63
|
+
import "./chunk-CFO47VW4.js";
|
|
64
64
|
import "./chunk-ML4S5SHZ.js";
|
|
65
65
|
import "./chunk-YRUZK2QA.js";
|
|
66
66
|
import "./chunk-MP2AFCGL.js";
|
|
67
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-L5JFVK5T.js";
|
|
68
68
|
import "./chunk-BBMTVAE3.js";
|
|
69
69
|
import "./chunk-TKDITWDN.js";
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-SINIRUYZ.js";
|
|
71
|
+
import "./chunk-6777GNWI.js";
|
|
72
72
|
import "./chunk-7FE43JRU.js";
|
|
73
73
|
import "./chunk-5YEUPUV4.js";
|
|
74
74
|
import "./chunk-YYB5PMTK.js";
|
|
@@ -77,10 +77,10 @@ import "./chunk-QH5ZQ5SJ.js";
|
|
|
77
77
|
import "./chunk-ZQEJ4IX2.js";
|
|
78
78
|
import "./chunk-C7GHNJPW.js";
|
|
79
79
|
import "./chunk-UWGQNJIE.js";
|
|
80
|
-
import "./chunk-
|
|
81
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-4J77TCTX.js";
|
|
81
|
+
import "./chunk-EOWJXCYC.js";
|
|
82
82
|
import "./chunk-3R7UDPVR.js";
|
|
83
|
-
import "./chunk-
|
|
83
|
+
import "./chunk-6D2O5SAH.js";
|
|
84
84
|
import "./chunk-A7JYF4RG.js";
|
|
85
85
|
import "./chunk-ARX6TAGN.js";
|
|
86
86
|
import "./chunk-MMS2HBRT.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolvePackageRoot
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SXUABANK.js";
|
|
4
4
|
import "./chunk-XBOLFVMD.js";
|
|
5
5
|
import {
|
|
6
6
|
EXE_HOOK_FILES,
|
|
@@ -10,18 +10,18 @@ import "./chunk-ZPPPHVSU.js";
|
|
|
10
10
|
import {
|
|
11
11
|
buildMcpHttpHeaders,
|
|
12
12
|
mcpHttpUrl
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-27NG2NTG.js";
|
|
14
14
|
import "./chunk-67IVG6CB.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-GL5ZG72X.js";
|
|
16
16
|
import "./chunk-7YX73K2R.js";
|
|
17
17
|
import "./chunk-5WA4DG2A.js";
|
|
18
18
|
import "./chunk-CVYC6DUW.js";
|
|
19
19
|
import "./chunk-GJV3WDWM.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-L5JFVK5T.js";
|
|
21
21
|
import "./chunk-BBMTVAE3.js";
|
|
22
22
|
import "./chunk-TKDITWDN.js";
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-SINIRUYZ.js";
|
|
24
|
+
import "./chunk-6777GNWI.js";
|
|
25
25
|
import "./chunk-7FE43JRU.js";
|
|
26
26
|
import "./chunk-5YEUPUV4.js";
|
|
27
27
|
import "./chunk-YYB5PMTK.js";
|
|
@@ -13,22 +13,22 @@ import {
|
|
|
13
13
|
setupGhostty,
|
|
14
14
|
setupTmux,
|
|
15
15
|
setupWezterm
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SXUABANK.js";
|
|
17
17
|
import "./chunk-XBOLFVMD.js";
|
|
18
18
|
import "./chunk-KM6XSFHP.js";
|
|
19
19
|
import "./chunk-ZPPPHVSU.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-27NG2NTG.js";
|
|
21
21
|
import "./chunk-67IVG6CB.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-GL5ZG72X.js";
|
|
23
23
|
import "./chunk-7YX73K2R.js";
|
|
24
24
|
import "./chunk-5WA4DG2A.js";
|
|
25
25
|
import "./chunk-CVYC6DUW.js";
|
|
26
26
|
import "./chunk-GJV3WDWM.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-L5JFVK5T.js";
|
|
28
28
|
import "./chunk-BBMTVAE3.js";
|
|
29
29
|
import "./chunk-TKDITWDN.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-SINIRUYZ.js";
|
|
31
|
+
import "./chunk-6777GNWI.js";
|
|
32
32
|
import "./chunk-7FE43JRU.js";
|
|
33
33
|
import "./chunk-5YEUPUV4.js";
|
|
34
34
|
import "./chunk-YYB5PMTK.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolvePackageRoot
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SXUABANK.js";
|
|
4
4
|
import {
|
|
5
5
|
loadPreferences
|
|
6
6
|
} from "./chunk-XBOLFVMD.js";
|
|
@@ -15,18 +15,18 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
buildMcpHttpHeaders,
|
|
17
17
|
mcpHttpUrl
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-27NG2NTG.js";
|
|
19
19
|
import "./chunk-67IVG6CB.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-GL5ZG72X.js";
|
|
21
21
|
import "./chunk-7YX73K2R.js";
|
|
22
22
|
import "./chunk-5WA4DG2A.js";
|
|
23
23
|
import "./chunk-CVYC6DUW.js";
|
|
24
24
|
import "./chunk-GJV3WDWM.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-L5JFVK5T.js";
|
|
26
26
|
import "./chunk-BBMTVAE3.js";
|
|
27
27
|
import "./chunk-TKDITWDN.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-SINIRUYZ.js";
|
|
29
|
+
import "./chunk-6777GNWI.js";
|
|
30
30
|
import "./chunk-7FE43JRU.js";
|
|
31
31
|
import "./chunk-5YEUPUV4.js";
|
|
32
32
|
import "./chunk-YYB5PMTK.js";
|
|
@@ -42,10 +42,11 @@ import "./chunk-JKKZGDLP.js";
|
|
|
42
42
|
import "./chunk-MLKGABMK.js";
|
|
43
43
|
|
|
44
44
|
// src/adapters/codex/installer.ts
|
|
45
|
-
import { readFile, writeFile, mkdir } from "fs/promises";
|
|
45
|
+
import { readFile, writeFile, mkdir, rename, rm, chmod } from "fs/promises";
|
|
46
46
|
import { existsSync, readFileSync, realpathSync } from "fs";
|
|
47
47
|
import path from "path";
|
|
48
48
|
import os from "os";
|
|
49
|
+
import { parse as parseToml } from "smol-toml";
|
|
49
50
|
async function mergeCodexHooks(packageRoot, homeDir = os.homedir()) {
|
|
50
51
|
const codexDir = path.join(homeDir, ".codex");
|
|
51
52
|
const hooksPath = path.join(codexDir, "hooks.json");
|
|
@@ -267,15 +268,14 @@ var CODEX_EXE_MCP_TOOL_TIMEOUT_SEC = 120;
|
|
|
267
268
|
function tomlString(value) {
|
|
268
269
|
return JSON.stringify(value);
|
|
269
270
|
}
|
|
270
|
-
function codexHttpHeadersToml(
|
|
271
|
-
const headers = buildMcpHttpHeaders(homeDir);
|
|
271
|
+
function codexHttpHeadersToml(headers) {
|
|
272
272
|
return `{ ${Object.entries(headers).map(([key, value]) => `${tomlString(key)} = ${tomlString(value)}`).join(", ")} }`;
|
|
273
273
|
}
|
|
274
|
-
function desiredCodexMcpSection(
|
|
274
|
+
function desiredCodexMcpSection(headers) {
|
|
275
275
|
return [
|
|
276
276
|
"[mcp_servers.exe-os]",
|
|
277
277
|
`url = ${tomlString(mcpHttpUrl())}`,
|
|
278
|
-
`http_headers = ${codexHttpHeadersToml(
|
|
278
|
+
`http_headers = ${codexHttpHeadersToml(headers)}`,
|
|
279
279
|
// `exe-start-codex` is non-interactive and pins approval_policy="never".
|
|
280
280
|
// Explicit approval prevents Codex from auto-rejecting MCP tool calls as
|
|
281
281
|
// "user cancelled MCP tool call" before they reach the daemon.
|
|
@@ -285,16 +285,57 @@ function desiredCodexMcpSection(homeDir) {
|
|
|
285
285
|
""
|
|
286
286
|
].join("\n");
|
|
287
287
|
}
|
|
288
|
-
|
|
288
|
+
var MANAGED_SERVER_KEY_LINE = /^["']?(?:command|args|env|type|url|http_headers|default_tools_approval_mode|startup_timeout_sec|tool_timeout_sec)["']?\s*[=.]/;
|
|
289
|
+
var EXE_OS_HTTP_HEADERS_SUBTABLE_HEADER = /^[ \t]*\[[ \t]*["']?mcp_servers["']?[ \t]*\.[ \t]*["']?exe-os["']?[ \t]*\.[ \t]*["']?http_headers["']?[ \t]*\][ \t]*(?:#.*)?$/;
|
|
290
|
+
var TOML_TABLE_HEADER = /^[ \t]*\[/;
|
|
291
|
+
var TOML_BLANK_OR_COMMENT = /^[ \t]*(?:#.*)?$/;
|
|
292
|
+
function stripExeOsHttpHeadersSubtables(content) {
|
|
293
|
+
const out = [];
|
|
294
|
+
let removed = 0;
|
|
295
|
+
let skipping = false;
|
|
296
|
+
let trailing = [];
|
|
297
|
+
const flushTrailing = () => {
|
|
298
|
+
let pending = trailing;
|
|
299
|
+
if (out.length > 0 && out[out.length - 1].trim() === "") {
|
|
300
|
+
while (pending.length > 0 && pending[0].trim() === "") pending = pending.slice(1);
|
|
301
|
+
}
|
|
302
|
+
out.push(...pending);
|
|
303
|
+
trailing = [];
|
|
304
|
+
};
|
|
305
|
+
for (const line of content.split("\n")) {
|
|
306
|
+
if (EXE_OS_HTTP_HEADERS_SUBTABLE_HEADER.test(line)) {
|
|
307
|
+
skipping = true;
|
|
308
|
+
trailing = [];
|
|
309
|
+
removed++;
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
if (skipping) {
|
|
313
|
+
if (TOML_TABLE_HEADER.test(line)) {
|
|
314
|
+
skipping = false;
|
|
315
|
+
flushTrailing();
|
|
316
|
+
out.push(line);
|
|
317
|
+
} else if (TOML_BLANK_OR_COMMENT.test(line)) {
|
|
318
|
+
trailing.push(line);
|
|
319
|
+
} else {
|
|
320
|
+
trailing = [];
|
|
321
|
+
}
|
|
322
|
+
continue;
|
|
323
|
+
}
|
|
324
|
+
out.push(line);
|
|
325
|
+
}
|
|
326
|
+
if (skipping) flushTrailing();
|
|
327
|
+
return { content: removed > 0 ? out.join("\n") : content, removed };
|
|
328
|
+
}
|
|
329
|
+
function reconcileCodexMcpSection(sectionContent, headers) {
|
|
289
330
|
const desiredLines = {
|
|
290
331
|
url: `url = ${tomlString(mcpHttpUrl())}`,
|
|
291
|
-
headers: `http_headers = ${codexHttpHeadersToml(
|
|
332
|
+
headers: `http_headers = ${codexHttpHeadersToml(headers)}`,
|
|
292
333
|
approval: `default_tools_approval_mode = "approve"`,
|
|
293
334
|
startup: `startup_timeout_sec = ${CODEX_EXE_MCP_STARTUP_TIMEOUT_SEC}`,
|
|
294
335
|
tool: `tool_timeout_sec = ${CODEX_EXE_MCP_TOOL_TIMEOUT_SEC}`
|
|
295
336
|
};
|
|
296
337
|
let next = sectionContent;
|
|
297
|
-
next = next.split("\n").filter((line) =>
|
|
338
|
+
next = next.split("\n").filter((line) => !MANAGED_SERVER_KEY_LINE.test(line.trim())).join("\n").replace(/\n{3,}/g, "\n\n");
|
|
298
339
|
for (const line of [
|
|
299
340
|
desiredLines.url,
|
|
300
341
|
desiredLines.headers,
|
|
@@ -310,15 +351,49 @@ ${line}
|
|
|
310
351
|
const changed = next.trimEnd() !== sectionContent.trimEnd();
|
|
311
352
|
return { content: changed ? next : sectionContent, changed };
|
|
312
353
|
}
|
|
354
|
+
function validateCodexConfig(content, headers) {
|
|
355
|
+
let parsed;
|
|
356
|
+
try {
|
|
357
|
+
parsed = parseToml(content);
|
|
358
|
+
} catch (err) {
|
|
359
|
+
return `result is not valid TOML (${err instanceof Error ? err.message.split("\n")[0] : String(err)})`;
|
|
360
|
+
}
|
|
361
|
+
const servers = parsed.mcp_servers;
|
|
362
|
+
const server = servers?.["exe-os"];
|
|
363
|
+
if (!server) return "result has no [mcp_servers.exe-os] table";
|
|
364
|
+
if (server.url !== mcpHttpUrl()) return "result has the wrong exe-os url";
|
|
365
|
+
const written = server.http_headers;
|
|
366
|
+
const sameHeaders = written !== void 0 && Object.keys(written).length === Object.keys(headers).length && Object.entries(headers).every(([key, value]) => written[key] === value);
|
|
367
|
+
if (!sameHeaders) return "result has the wrong exe-os http_headers";
|
|
368
|
+
return null;
|
|
369
|
+
}
|
|
370
|
+
var CODEX_CONFIG_MODE = 384;
|
|
371
|
+
async function writeCodexConfigSafely(configPath, previous, next) {
|
|
372
|
+
if (previous !== null) {
|
|
373
|
+
const backupPath = `${configPath}.exe-os.bak`;
|
|
374
|
+
await writeFile(backupPath, previous, { mode: CODEX_CONFIG_MODE });
|
|
375
|
+
await chmod(backupPath, CODEX_CONFIG_MODE);
|
|
376
|
+
}
|
|
377
|
+
const tmpPath = `${configPath}.exe-os.tmp-${process.pid}`;
|
|
378
|
+
try {
|
|
379
|
+
await writeFile(tmpPath, next, { mode: CODEX_CONFIG_MODE });
|
|
380
|
+
await chmod(tmpPath, CODEX_CONFIG_MODE);
|
|
381
|
+
await rename(tmpPath, configPath);
|
|
382
|
+
} catch (err) {
|
|
383
|
+
await rm(tmpPath, { force: true });
|
|
384
|
+
throw err;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
313
387
|
async function registerCodexMcpServer(packageRoot, homeDir = os.homedir()) {
|
|
314
388
|
const codexDir = path.join(homeDir, ".codex");
|
|
315
389
|
const configPath = path.join(codexDir, "config.toml");
|
|
316
390
|
void packageRoot;
|
|
317
391
|
await mkdir(codexDir, { recursive: true });
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
392
|
+
const previous = existsSync(configPath) ? await readFile(configPath, "utf-8") : null;
|
|
393
|
+
const headers = buildMcpHttpHeaders(homeDir);
|
|
394
|
+
const stripped = stripExeOsHttpHeadersSubtables(previous ?? "");
|
|
395
|
+
let content = stripped.content;
|
|
396
|
+
let outcome;
|
|
322
397
|
const sectionHeader = "[mcp_servers.exe-os]";
|
|
323
398
|
const headerIndex = content.indexOf(sectionHeader);
|
|
324
399
|
if (headerIndex !== -1) {
|
|
@@ -326,20 +401,29 @@ async function registerCodexMcpServer(packageRoot, homeDir = os.homedir()) {
|
|
|
326
401
|
const nextSectionMatch = afterHeader.match(/\n\[/);
|
|
327
402
|
const sectionEnd = nextSectionMatch ? headerIndex + sectionHeader.length + nextSectionMatch.index : content.length;
|
|
328
403
|
const sectionContent = content.slice(headerIndex, sectionEnd);
|
|
329
|
-
const reconciled = reconcileCodexMcpSection(sectionContent,
|
|
404
|
+
const reconciled = reconcileCodexMcpSection(sectionContent, headers);
|
|
330
405
|
const tail = content.slice(sectionEnd);
|
|
331
|
-
if (!reconciled.changed) {
|
|
406
|
+
if (!reconciled.changed && stripped.removed === 0) {
|
|
332
407
|
return "already-registered";
|
|
333
408
|
}
|
|
334
409
|
content = content.slice(0, headerIndex) + reconciled.content + tail;
|
|
335
|
-
|
|
336
|
-
|
|
410
|
+
outcome = "updated";
|
|
411
|
+
} else {
|
|
412
|
+
const newSection = desiredCodexMcpSection(headers);
|
|
413
|
+
const separator = content.length > 0 && !content.endsWith("\n") ? "\n\n" : content.length > 0 ? "\n" : "";
|
|
414
|
+
content = content + separator + newSection;
|
|
415
|
+
outcome = "registered";
|
|
337
416
|
}
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
417
|
+
const problem = validateCodexConfig(content, headers);
|
|
418
|
+
if (problem) {
|
|
419
|
+
process.stderr.write(
|
|
420
|
+
`[exe-os] ERROR: refusing to write ${configPath}: ${problem}. The existing file was left untouched \u2014 fix it by hand (or restore a backup) and re-run the installer.
|
|
421
|
+
`
|
|
422
|
+
);
|
|
423
|
+
return "refused";
|
|
424
|
+
}
|
|
425
|
+
await writeCodexConfigSafely(configPath, previous, content);
|
|
426
|
+
return outcome;
|
|
343
427
|
}
|
|
344
428
|
async function ensureCodexHooksFeature(homeDir = os.homedir()) {
|
|
345
429
|
const configPath = path.join(homeDir, ".codex", "config.toml");
|
|
@@ -504,7 +588,7 @@ async function runCodexInstaller(homeDir) {
|
|
|
504
588
|
);
|
|
505
589
|
const mcpResult = await registerCodexMcpServer(packageRoot, homeDir);
|
|
506
590
|
process.stderr.write(
|
|
507
|
-
`[exe-os] Codex MCP server: ${mcpResult}
|
|
591
|
+
mcpResult === "refused" ? "[exe-os] Codex MCP server: REFUSED \u2014 config.toml left unchanged (see error above)\n" : `[exe-os] Codex MCP server: ${mcpResult}
|
|
508
592
|
`
|
|
509
593
|
);
|
|
510
594
|
const statusResult = await installCodexStatusLine(homeDir);
|