@askexenow/exe-os 0.9.382 → 0.9.384
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 +1254 -0
- package/deploy/compose/.env.customer.example +5 -5
- package/deploy/compose/.env.example +3 -3
- package/deploy/compose/docker-compose.yml +1 -1
- package/deploy/compose/generate-env.ts +65 -9
- package/deploy/compose/setup.sh +205 -7
- package/deploy/compose/sso-edge/default.conf.template +45 -0
- package/deploy/compose/sso-edge/sso-redirect.conf +11 -2
- package/deploy/stack-manifests/v0.9.30-apps.json +1 -1
- package/deploy/stack-manifests/v0.9.json +254 -2
- package/dist/.dist-verified.json +3 -3
- package/dist/{active-agent-GFUUCFLD.js → active-agent-F5V4E4UL.js} +7 -7
- package/dist/{active-agent-LE6FE6SO.js → active-agent-YTBB4ZQM.js} +7 -7
- package/dist/{agent-defs-generator-EIUA3SH5.js → agent-defs-generator-7TFISIJQ.js} +6 -6
- package/dist/{agent-loop-7ZRH56EX.js → agent-loop-EZ7LDAGD.js} +1 -1
- package/dist/{agentic-ontology-67JGSP7G.js → agentic-ontology-XVTUVV7W.js} +1 -1
- package/dist/{artifact-backup-NYXAYASJ.js → artifact-backup-TF6YWQT2.js} +5 -5
- package/dist/{backfill-gate-KWJQ35YX.js → backfill-gate-FWYLCGNJ.js} +3 -3
- package/dist/{backfill-metadata-RQYG2WUJ.js → backfill-metadata-J6MXIDCW.js} +10 -10
- package/dist/{background-jobs-6VMD55PK.js → background-jobs-V3DZRFKU.js} +3 -3
- package/dist/{backup-verify-HC4YDSGN.js → backup-verify-6DVBQMDP.js} +67 -18
- package/dist/{behavior-injection-6HSXP43Q.js → behavior-injection-XDA7ZCYN.js} +21 -20
- package/dist/{behavior-promotion-SJDQ2Y3U.js → behavior-promotion-4VLQ7LXK.js} +20 -19
- package/dist/{behaviors-6ITLA2CK.js → behaviors-SCCZP7RZ.js} +19 -18
- package/dist/bin/age-ontology-load.js +3 -3
- package/dist/bin/agentic-ontology-backfill.js +12 -12
- package/dist/bin/agentic-reflection-backfill.js +13 -13
- package/dist/bin/agentic-semantic-label.js +12 -12
- package/dist/bin/backfill-conversations.js +17 -16
- package/dist/bin/backfill-responses.js +17 -16
- package/dist/bin/backfill-vectors.js +23 -22
- package/dist/bin/bulk-sync-postgres.js +28 -27
- package/dist/bin/cc-doctor.js +17 -16
- package/dist/bin/cleanup-stale-review-tasks.js +29 -28
- package/dist/bin/cli.js +35 -26
- package/dist/bin/deferred-daemon-restart.js +124 -123
- package/dist/bin/exe-actions.js +1 -1
- package/dist/bin/exe-agent-config.js +6 -6
- package/dist/bin/exe-agent.js +22 -22
- package/dist/bin/exe-assign.js +19 -18
- package/dist/bin/exe-boot.js +57 -56
- package/dist/bin/exe-call.js +7 -7
- package/dist/bin/exe-cicd.js +38 -8
- package/dist/bin/exe-cloud.js +30 -29
- package/dist/bin/exe-config-dump.js +6 -6
- package/dist/bin/exe-dispatch.js +30 -29
- package/dist/bin/exe-doctor.js +11 -11
- package/dist/bin/exe-export-behaviors.js +23 -22
- package/dist/bin/exe-forget.js +13 -13
- package/dist/bin/exe-gateway.js +47 -14
- package/dist/bin/exe-grant.js +6 -6
- package/dist/bin/exe-healthcheck.js +17 -16
- package/dist/bin/exe-heartbeat.js +41 -35
- package/dist/bin/exe-kill.js +35 -34
- package/dist/bin/exe-launch-agent.js +43 -42
- package/dist/bin/exe-mcp.js +9 -9
- package/dist/bin/exe-memory-reads.js +10 -10
- package/dist/bin/exe-new-employee.js +11 -11
- package/dist/bin/exe-os-mcp-proxy.js +9 -9
- package/dist/bin/exe-pending-messages.js +30 -29
- package/dist/bin/exe-pending-notifications.js +29 -28
- package/dist/bin/exe-pending-reviews.js +30 -29
- package/dist/bin/exe-preflight.js +1 -1
- package/dist/bin/exe-rename.js +9 -9
- package/dist/bin/exe-review.js +34 -33
- package/dist/bin/exe-search.js +12 -12
- package/dist/bin/exe-session-cleanup.js +35 -34
- package/dist/bin/exe-settings.js +29 -28
- package/dist/bin/exe-start-codex.js +30 -29
- package/dist/bin/exe-start-opencode.js +27 -26
- package/dist/bin/exe-status.js +31 -30
- package/dist/bin/exe-support.js +5 -5
- package/dist/bin/exe-team.js +7 -7
- package/dist/bin/exe-verify-running-images.js +1 -1
- package/dist/bin/exe-watchdog.js +8 -8
- package/dist/bin/generate-hook-manifest.js +7 -1
- package/dist/bin/git-sweep.js +30 -29
- package/dist/bin/graph-backfill.js +12 -12
- package/dist/bin/graph-export.js +11 -11
- package/dist/bin/hooks-cli.js +1 -1
- package/dist/bin/import-history.js +15 -15
- package/dist/bin/install.js +130 -129
- package/dist/bin/intercom-check.js +11 -7
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +7 -7
- package/dist/bin/postgres-agentic-reflection-backfill.js +5 -5
- package/dist/bin/postgres-agentic-semantic-backfill.js +4 -4
- package/dist/bin/reconcile-backlog.js +2 -2
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/repair-document-chunks.js +161 -0
- package/dist/bin/scan-tasks.js +30 -29
- package/dist/bin/setup.js +5 -5
- package/dist/bin/shard-migrate.js +11 -11
- package/dist/bin/stack-update.js +625 -33
- package/dist/bin/update.js +96 -22
- package/dist/bin/verify-stack.js +2 -2
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/{boot-generation-L55QANCX.js → boot-generation-Q7LGQ3AO.js} +6 -6
- package/dist/{boot-review-sections-AON5ZCR2.js → boot-review-sections-G5774FR5.js} +28 -27
- package/dist/{branch-hygiene-QLD77IMJ.js → branch-hygiene-44WLSOZR.js} +2 -2
- package/dist/{branding-I6KIMB7F.js → branding-KMWCY5HZ.js} +3 -3
- package/dist/build-manifest.json +1259 -1219
- package/dist/{capability-cards-WTOXY7O6.js → capability-cards-I3RHCF4F.js} +5 -5
- package/dist/{capacity-monitor-ZLG7FSWM.js → capacity-monitor-7I7GDONU.js} +30 -29
- package/dist/{catchup-brief-QHY7D7N2.js → catchup-brief-3T5PARIR.js} +39 -36
- package/dist/check-image-pullability-2AIVB4BX.js +338 -0
- package/dist/{chunk-CTCCYKOV.js → chunk-2FKU4ZEO.js} +55 -29
- package/dist/{chunk-M7O7TGGU.js → chunk-2NW4LRDU.js} +1 -1
- package/dist/{chunk-XTFM4KMW.js → chunk-2PZTMSMG.js} +6 -6
- package/dist/{chunk-UWX6MMCX.js → chunk-3B6FLNLV.js} +1 -1
- package/dist/{chunk-GPJIBLP4.js → chunk-3DAEZILW.js} +1 -1
- package/dist/{chunk-NY6SBR4O.js → chunk-3FGBBJYM.js} +15 -3
- package/dist/{chunk-C4OZVVSG.js → chunk-3OX34OC3.js} +50 -18
- package/dist/{chunk-TXTXC3QG.js → chunk-3RGTLZNO.js} +12 -12
- package/dist/{chunk-PYRO25A5.js → chunk-3SUPEE6H.js} +10 -11
- package/dist/{chunk-PPMGQFLJ.js → chunk-3XY57PKT.js} +2 -2
- package/dist/{chunk-CRHI5QTZ.js → chunk-46VSBDUW.js} +2 -2
- package/dist/{chunk-VZT66WWP.js → chunk-4AAMFWJT.js} +2 -2
- package/dist/{chunk-4GZTBLJG.js → chunk-4AR5XKCH.js} +1 -1
- package/dist/{chunk-IHXW4VUI.js → chunk-5IADGFGR.js} +1 -1
- package/dist/{chunk-GLQEJOXE.js → chunk-5MVKTNZP.js} +57 -0
- package/dist/{chunk-AVMLC2MR.js → chunk-5U2IJBFV.js} +290 -41
- package/dist/{chunk-JUKDL5MF.js → chunk-6BJCDWSM.js} +1 -1
- package/dist/{chunk-6WWNK7UX.js → chunk-6FIC57PH.js} +1 -1
- package/dist/{chunk-ASUICGPX.js → chunk-6YDY6ZTD.js} +4 -4
- package/dist/{chunk-FU5O2REK.js → chunk-72V3S44T.js} +108 -29
- package/dist/{chunk-LTIIZHNA.js → chunk-7J2ZQ4XN.js} +1 -1
- package/dist/{chunk-7RI2CNXJ.js → chunk-7OTR2OET.js} +1 -1
- package/dist/{chunk-ZVBVPX4W.js → chunk-7UHZBVP3.js} +82 -51
- package/dist/{chunk-PTY2N23C.js → chunk-AGC2V7JS.js} +26 -13
- package/dist/{chunk-44VR3PFW.js → chunk-AHESD3KW.js} +1 -1
- package/dist/{chunk-NPGV4MZ3.js → chunk-ALRHGEAJ.js} +1 -1
- package/dist/{chunk-WJC6AAJN.js → chunk-ANVHWV2X.js} +2 -2
- package/dist/{chunk-AGZSGAEN.js → chunk-APL7HUE3.js} +105 -32
- package/dist/{chunk-7UH2JWBF.js → chunk-AZSTIAVL.js} +176 -11
- package/dist/chunk-AZXMR25O.js +545 -0
- package/dist/{chunk-WPWEBZ37.js → chunk-B7AMNZTC.js} +2 -2
- package/dist/{chunk-4CF5KUWH.js → chunk-BPVFZ6Q4.js} +3 -3
- package/dist/{chunk-XTQ7R2PA.js → chunk-BV2IET6B.js} +73 -17
- package/dist/{chunk-4F5CNI65.js → chunk-C5ISP5FO.js} +2 -2
- package/dist/{chunk-NPWNXJ3U.js → chunk-CH7BUBP3.js} +7 -7
- package/dist/{chunk-X5Q66EOG.js → chunk-CHIUS5QB.js} +16 -16
- package/dist/{chunk-ZG62LIK3.js → chunk-CIPDQRFO.js} +1 -1
- package/dist/{chunk-4PYIRIU6.js → chunk-CM7N5MBY.js} +5 -5
- package/dist/{chunk-L5YDAFUH.js → chunk-CYCIX7AW.js} +5 -5
- package/dist/{chunk-76YRJKKF.js → chunk-D3LXVAIQ.js} +28 -16
- package/dist/{chunk-2GNAHBRD.js → chunk-DMUOTCDN.js} +1 -1
- package/dist/{chunk-QMUFSRQX.js → chunk-DN3ZR3UE.js} +1 -1
- package/dist/{chunk-V3WLC5TJ.js → chunk-DRTJCG6B.js} +1 -1
- package/dist/{chunk-275WHBEN.js → chunk-DYVLEMKS.js} +1 -1
- package/dist/{chunk-O34F5EP5.js → chunk-DZN7SDY2.js} +1 -1
- package/dist/{chunk-ZDIXMHY7.js → chunk-E3ZM32LF.js} +8 -8
- package/dist/{chunk-N2HXR5MB.js → chunk-E7C2WNR5.js} +4 -4
- package/dist/{chunk-VVGXWVZU.js → chunk-EGOEB42T.js} +3 -3
- package/dist/{chunk-QV5CQLQH.js → chunk-EIOGV75A.js} +2 -2
- package/dist/{chunk-ZY4IGUOS.js → chunk-ELCRJGCH.js} +3 -3
- package/dist/{chunk-5QCIWWFA.js → chunk-ELEGH4DX.js} +130 -14
- package/dist/{chunk-S7CTCPSW.js → chunk-EOTZSAQL.js} +1 -1
- package/dist/{chunk-PPLQ4ECD.js → chunk-EUGEFBGV.js} +3 -3
- package/dist/{chunk-UFNCL6MS.js → chunk-EYMFVITZ.js} +1 -1
- package/dist/{chunk-F6H7GP2O.js → chunk-F4BBMIPG.js} +3 -3
- package/dist/{chunk-FNEZ4BWT.js → chunk-FEU6QEEL.js} +1 -1
- package/dist/{chunk-JKOC2L6P.js → chunk-FHIFTSPL.js} +1 -1
- package/dist/{chunk-4RTKETV3.js → chunk-FMIYFHLE.js} +3 -3
- package/dist/{chunk-TK544DEW.js → chunk-FVLNNNH6.js} +3 -3
- package/dist/{chunk-AY2U4NZ5.js → chunk-GL47M7NY.js} +85 -17
- package/dist/{chunk-DN24VTS5.js → chunk-GSLFH4AI.js} +25 -13
- package/dist/{chunk-CHO5SNWR.js → chunk-HA63SH5W.js} +1 -1
- package/dist/{chunk-4IK2K3B3.js → chunk-HME6ITKV.js} +1 -1
- package/dist/{chunk-H2T6TFJZ.js → chunk-HU3VD4MQ.js} +2 -2
- package/dist/{chunk-ZW32RI66.js → chunk-I5XIW2BP.js} +49 -11
- package/dist/{chunk-3CL2I3RG.js → chunk-IGJMS7C5.js} +2 -2
- package/dist/{chunk-BRPO6GOH.js → chunk-JA3Y5TV6.js} +2 -2
- package/dist/{chunk-SFFXAPYK.js → chunk-JDDM6C57.js} +1 -1
- package/dist/{chunk-W4EGAQXW.js → chunk-JFJP6ATJ.js} +2 -2
- package/dist/{chunk-ENCUOZXX.js → chunk-JFTUAV4J.js} +1 -1
- package/dist/{chunk-3UOQH2DJ.js → chunk-JJTPPAZY.js} +2568 -345
- package/dist/{chunk-A6QBAUJH.js → chunk-KILR4FBR.js} +4 -4
- package/dist/{chunk-CGFGNHSP.js → chunk-KTKIFXIP.js} +1 -1
- package/dist/{chunk-NCJBPXGM.js → chunk-KXYKSLW4.js} +108 -24
- package/dist/{chunk-3MUARHPO.js → chunk-L3VUW5M4.js} +1 -1
- package/dist/{chunk-GZOG2MAX.js → chunk-L5EPGGDP.js} +1 -1
- package/dist/{chunk-T7VSKWES.js → chunk-L63V25HS.js} +6 -5
- package/dist/{chunk-R4VNGRKU.js → chunk-LFBLQE2P.js} +1 -1
- package/dist/{chunk-W5MCOZTW.js → chunk-LFUBEHFW.js} +12 -2
- package/dist/{chunk-AIBIEP4R.js → chunk-LKTN22L6.js} +61 -25
- package/dist/{chunk-3KFQCFQB.js → chunk-LR5O2XWZ.js} +5 -5
- package/dist/{chunk-VUOAPKPI.js → chunk-LSNBTGW4.js} +1 -1
- package/dist/{chunk-P5U3GAWU.js → chunk-MB47DRF5.js} +2 -2
- package/dist/{chunk-HZESME3B.js → chunk-MC4IM2CC.js} +16 -13
- package/dist/{chunk-ZKJ5S23O.js → chunk-MFAOAIUE.js} +12 -9
- package/dist/{chunk-62J64CHO.js → chunk-MKM6D7JM.js} +26 -7
- package/dist/{chunk-ZIG7VPJV.js → chunk-MMS2HBRT.js} +15 -3
- package/dist/{chunk-FHSV4BSW.js → chunk-MOANZQXF.js} +12 -4
- package/dist/{chunk-RTZZBWQC.js → chunk-MPZ2AVNS.js} +16 -5
- package/dist/{chunk-AZ6KLVDX.js → chunk-MROSARM5.js} +2 -2
- package/dist/{chunk-RV2FFCDS.js → chunk-MUAWCFW6.js} +6 -2
- package/dist/{chunk-K4ESASPL.js → chunk-MUCNYSJP.js} +1 -1
- package/dist/{chunk-5QGKMP6T.js → chunk-NF5FOSLD.js} +1 -1
- package/dist/{chunk-CKOJP7JI.js → chunk-NKEFYE4R.js} +2 -2
- package/dist/{chunk-3SXHEQ7X.js → chunk-NPXIS2RY.js} +1 -1
- package/dist/{chunk-A5USSF66.js → chunk-NVFNADTX.js} +12 -8
- package/dist/{chunk-VVUO3RJS.js → chunk-NYLJQ2M2.js} +4 -4
- package/dist/{chunk-HIVOLPLD.js → chunk-OAFENIHN.js} +1 -1
- package/dist/{chunk-PMZHZQ6K.js → chunk-OBBO6EJR.js} +1 -1
- package/dist/{chunk-SS6EMDLL.js → chunk-P2UY34XE.js} +6 -6
- package/dist/{chunk-Y4T5IUEP.js → chunk-P3QQ52QK.js} +2 -2
- package/dist/{chunk-GGEKMY6G.js → chunk-P3UX5EH4.js} +4 -4
- package/dist/{chunk-F7IRZU5G.js → chunk-P4PIZOL2.js} +3 -3
- package/dist/{chunk-GEPFKUUR.js → chunk-P4XLIPB7.js} +1 -1
- package/dist/{chunk-GPUOUUHA.js → chunk-PCV52RYM.js} +1 -1
- package/dist/{chunk-XR3773KZ.js → chunk-PL4CFSQ7.js} +1 -1
- package/dist/{chunk-LLZNPOGB.js → chunk-PLII76NJ.js} +58 -0
- package/dist/{chunk-FT5PPV2C.js → chunk-PRDDPQLC.js} +5 -5
- package/dist/{chunk-BZ546I4Q.js → chunk-PUBA5B4M.js} +24 -0
- package/dist/{chunk-2TGJ5XCV.js → chunk-PWC3C5ME.js} +4 -4
- package/dist/{chunk-A4YCLD3L.js → chunk-QFAFKEB5.js} +40 -4
- package/dist/{chunk-CL4J4757.js → chunk-QH5ZQ5SJ.js} +26 -0
- package/dist/{chunk-UJWZYK46.js → chunk-QNZ4562V.js} +1 -1
- package/dist/{chunk-IPHLUZ37.js → chunk-QPTSA4PP.js} +2 -2
- package/dist/{chunk-O3YJTHWI.js → chunk-R5E7WNAC.js} +3 -3
- package/dist/{chunk-V3M4LJRA.js → chunk-RB3J2WYQ.js} +1 -1
- package/dist/{chunk-IUCWOI4Y.js → chunk-RDWIKDMY.js} +237 -11
- package/dist/{chunk-ENN6DY4T.js → chunk-RVO5O5SR.js} +46 -21
- package/dist/{chunk-LY4AXCYJ.js → chunk-RZN2LEAK.js} +6 -6
- package/dist/{chunk-2YIB75UQ.js → chunk-S26CV7BE.js} +57 -13
- package/dist/{chunk-XC36HYP6.js → chunk-SDYWZRPN.js} +1 -1
- package/dist/{chunk-PHBU4LGO.js → chunk-SNHYZYGZ.js} +1 -1
- package/dist/{chunk-4KTTBKWQ.js → chunk-T5FEAQES.js} +1 -1
- package/dist/{chunk-XU57KFD6.js → chunk-T5SM4RXY.js} +5 -1
- package/dist/{chunk-KUV5VBAO.js → chunk-TKAU7IJ2.js} +1 -1
- package/dist/{chunk-KBR5LIWD.js → chunk-TKS5GMYA.js} +1 -1
- package/dist/{chunk-5DFE2NAF.js → chunk-TNS63ATU.js} +96 -22
- package/dist/{chunk-RFPMXR6B.js → chunk-U4GMOT4M.js} +1 -1
- package/dist/{chunk-CO5ZVE3D.js → chunk-UOPCVFVR.js} +17 -17
- package/dist/{chunk-22LNFCDF.js → chunk-UX2EO653.js} +1 -1
- package/dist/{chunk-LGC6TBA3.js → chunk-UXN4BICC.js} +2 -2
- package/dist/{chunk-7J5X4AK7.js → chunk-VF2KRROX.js} +1 -1
- package/dist/{chunk-7THUQU44.js → chunk-VF3BZOZK.js} +5 -2
- package/dist/{chunk-M2B35MUK.js → chunk-VHHX4UCP.js} +1 -1
- package/dist/{chunk-AZBJXATK.js → chunk-VJEJ7JNB.js} +1 -1
- package/dist/{chunk-4TRVALTR.js → chunk-VLBHZ6TF.js} +2 -2
- package/dist/{chunk-7BMSBACY.js → chunk-VOVFUKEB.js} +5 -5
- package/dist/{chunk-MDPGZS6C.js → chunk-VROK4X2L.js} +1 -1
- package/dist/{chunk-J6ABJDZ4.js → chunk-W3KPQE7H.js} +4 -4
- package/dist/{chunk-3Q7NEDHB.js → chunk-W6BZ4UGA.js} +48 -9
- package/dist/{chunk-IZ3IFLL2.js → chunk-XEBKIWI7.js} +14 -14
- package/dist/{chunk-UZDF6FLJ.js → chunk-XHU3KOKJ.js} +1 -1
- package/dist/{chunk-PA37MXV5.js → chunk-XSUALA32.js} +2 -2
- package/dist/{chunk-GR5WJPKF.js → chunk-XUZK23V7.js} +11 -6
- package/dist/{chunk-IDB3EZLW.js → chunk-YLB365YX.js} +148 -5
- package/dist/{chunk-JDQ7JU3A.js → chunk-YLFCH3VA.js} +24 -16
- package/dist/{chunk-ZJJL2Z23.js → chunk-YRQ26MNP.js} +4 -4
- package/dist/chunk-YRUZK2QA.js +35 -0
- package/dist/{chunk-7HLJ4BSF.js → chunk-ZAEUEDTN.js} +2 -2
- package/dist/{chunk-NY74W3S4.js → chunk-ZBPZDADW.js} +313 -43
- package/dist/{chunk-ZLPS3GR7.js → chunk-ZJQ56DZZ.js} +42 -1
- package/dist/{chunk-VMZZTFXT.js → chunk-ZOTTYCP5.js} +4 -4
- package/dist/{chunk-MP4ST7RO.js → chunk-ZPP63JSQ.js} +51 -11
- package/dist/{chunk-N4J5WHO2.js → chunk-ZT4LFTUJ.js} +1 -1
- package/dist/{cleanup-graph-garbage-GE2DYOTB.js → cleanup-graph-garbage-VQAJ2RBT.js} +11 -11
- package/dist/{cloud-sync-command-T6KF3ARK.js → cloud-sync-command-J7NEFUY7.js} +2 -2
- package/dist/{cloud-sync-db-init-RSHCCY74.js → cloud-sync-db-init-KWEMNMGA.js} +1 -1
- package/dist/{cloud-sync-shutdown-6IVCSLM5.js → cloud-sync-shutdown-P63AUTUI.js} +5 -5
- package/dist/{co-activation-AF7RCJPX.js → co-activation-7IHRPBZN.js} +5 -5
- package/dist/{co-occurrence-DMOOGBVV.js → co-occurrence-R5AG4OAU.js} +9 -9
- package/dist/{code-context-index-LIDOFKOR.js → code-context-index-WFLLZBVB.js} +10 -9
- package/dist/{code-context-watcher-4F7K2N3U.js → code-context-watcher-3QAPHO7N.js} +10 -9
- package/dist/{codex-consolidation-SH4UKFBQ.js → codex-consolidation-ONZ2AQFX.js} +2 -2
- package/dist/{consent-passphrase-WV7MZPMO.js → consent-passphrase-5ZBDJ5G7.js} +2 -2
- package/dist/{content-extractor-DJM5EUDA.js → content-extractor-ZLXC6GNR.js} +2 -2
- package/dist/{conversation-entity-extractor-4UG7BKWL.js → conversation-entity-extractor-7FRKLLBD.js} +4 -4
- package/dist/{conversation-wiki-populator-OS4C6W54.js → conversation-wiki-populator-YAOVCUGO.js} +1 -1
- package/dist/{crdt-sync-VL4KXZB7.js → crdt-sync-IFRZOEIS.js} +4 -4
- package/dist/{crm-webhook-IDBJ7X5Y.js → crm-webhook-L2S63ASV.js} +2 -2
- package/dist/{cto-delegation-gate-4FLSHSLO.js → cto-delegation-gate-3WU7OHX7.js} +29 -28
- package/dist/{daemon-auth-PNKHERLV.js → daemon-auth-OWLFYEFR.js} +3 -3
- package/dist/{daemon-orchestration-HFCB6OK4.js → daemon-orchestration-3VQYKLOR.js} +33 -32
- package/dist/{daemon-ready-BN6EZLTQ.js → daemon-ready-VZ6ZHA2C.js} +1 -1
- package/dist/{db-integrity-events-GYGANKZV.js → db-integrity-events-7NKWS5MT.js} +3 -3
- package/dist/{db-restore-events-G6NOQOVE.js → db-restore-events-XYL6CGPC.js} +2 -2
- package/dist/{destructive-data-guard-HHWUBIGS.js → destructive-data-guard-JDUJ2ULM.js} +58 -2
- package/dist/{dispatch-ack-X4DXUSKP.js → dispatch-ack-UYEAKON5.js} +2 -1
- package/dist/{doc-graph-extractor-E36PQUCS.js → doc-graph-extractor-YIR5E7OF.js} +9 -9
- package/dist/{documents-SCKKHDR7.js → documents-QEHPTYIY.js} +19 -18
- package/dist/{dreaming-Q26JBH56.js → dreaming-LNFE7DTN.js} +34 -33
- package/dist/{employee-boot-brief-XU6EI2EO.js → employee-boot-brief-ZTXDYNWM.js} +39 -38
- package/dist/{entity-boost-VNQLLR3Q.js → entity-boost-R5N6JWXD.js} +1 -1
- package/dist/{exe-drift-YZ6OIUAY.js → exe-drift-WYSJVZFO.js} +6 -6
- package/dist/{exe-export-HHRQMLSS.js → exe-export-GOLNAEAV.js} +20 -19
- package/dist/{exe-import-5XR4NQAB.js → exe-import-U4BSI6OH.js} +20 -19
- package/dist/{exe-key-5XOFVP3I.js → exe-key-V42G3NGO.js} +152 -130
- package/dist/{exe-org-TPAX4AAK.js → exe-org-U4GLQ6OP.js} +27 -27
- package/dist/{exe-snapshot-GIRP3XCJ.js → exe-snapshot-U7ONBYNY.js} +38 -37
- package/dist/{fast-db-init-MGY6VCLG.js → fast-db-init-W3NGKAEU.js} +1 -1
- package/dist/{founder-context-WD72OL2P.js → founder-context-ZSIBRVDM.js} +4 -4
- package/dist/{founder-monitor-envelope-XGYMHT4W.js → founder-monitor-envelope-L3IWZLFY.js} +7 -7
- package/dist/{fts-integrity-PLAL6NMG.js → fts-integrity-PHCKKOBC.js} +3 -3
- package/dist/gateway/index.js +23 -22
- package/dist/{gateway-client-VO3BRLV5.js → gateway-client-DJFCVIPT.js} +1 -1
- package/dist/{git-staleness-KGZABPP3.js → git-staleness-OF24QXFZ.js} +5 -5
- package/dist/{global-procedures-KOU6A5E5.js → global-procedures-WSIOWO43.js} +6 -6
- package/dist/{graph-auto-extract-OZNRDAHE.js → graph-auto-extract-IEVVN3L3.js} +9 -9
- package/dist/{graph-query-36K6VXFF.js → graph-query-JDZWAVCU.js} +1 -1
- package/dist/{graph-rag-TZLH3CTQ.js → graph-rag-BKAD2XQA.js} +4 -4
- package/dist/{hook-integrity-BWFFISJV.js → hook-integrity-TPWDGX2M.js} +3 -1
- package/dist/{hook-prefetch-MFUJRAIM.js → hook-prefetch-FD6VGJJA.js} +29 -28
- package/dist/hooks/bug-report-worker.js +34 -33
- package/dist/hooks/codex-stop-task-finalizer.js +36 -35
- package/dist/hooks/commit-complete.js +40 -36
- package/dist/hooks/error-recall.js +15 -15
- package/dist/hooks/exe-heartbeat-hook.js +8 -8
- package/dist/hooks/ingest-worker.js +21 -20
- package/dist/hooks/ingest.js +23 -23
- package/dist/hooks/instructions-loaded.js +10 -10
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +9 -9
- package/dist/hooks/post-compact.js +8 -8
- package/dist/hooks/post-tool-combined.js +15 -15
- package/dist/hooks/pre-compact.js +33 -32
- package/dist/hooks/pre-tool-use.js +2 -2
- package/dist/hooks/prompt-submit.js +52 -51
- package/dist/hooks/session-end.js +38 -37
- package/dist/hooks/session-start.js +25 -22
- package/dist/hooks/stop.js +40 -39
- package/dist/hooks/subagent-stop.js +36 -35
- package/dist/hooks/summary-worker.js +41 -40
- package/dist/index.js +43 -42
- package/dist/{inrun-inbox-DRKVDPLY.js → inrun-inbox-RGNFFGMU.js} +5 -0
- package/dist/{installer-RM4ASY7U.js → installer-NMOBSEZ2.js} +11 -11
- package/dist/{installer-IESPHXVH.js → installer-OTI5SA43.js} +11 -11
- package/dist/{installer-SQZRVD36.js → installer-SRJGE4GU.js} +11 -11
- package/dist/{intercom-queue-DGLAC224.js → intercom-queue-4FFXCBHO.js} +28 -27
- package/dist/{key-backup-status-LQPINQ3W.js → key-backup-status-6U7D5GOD.js} +2 -2
- package/dist/lib/agent-config.js +3 -3
- package/dist/lib/cloud-sync.js +28 -27
- package/dist/lib/config.js +4 -2
- package/dist/lib/consolidation.js +14 -12
- package/dist/lib/crypto.js +5 -3
- package/dist/lib/database.js +5 -5
- package/dist/lib/db-backup.js +11 -3
- package/dist/lib/db-daemon-client.js +11 -10
- package/dist/lib/db-write-worker.js +4 -4
- package/dist/lib/db.js +5 -5
- package/dist/lib/delivery-catalog.js +431 -0
- package/dist/lib/delivery-schemas.js +62 -0
- package/dist/lib/delivery-truth.js +1 -1
- package/dist/lib/device-registry.js +3 -3
- package/dist/lib/embed-worker.js +2 -2
- package/dist/lib/embedder.js +10 -9
- package/dist/lib/employee-templates.js +7 -7
- package/dist/lib/employees.js +5 -5
- package/dist/lib/exe-daemon-client.js +9 -8
- package/dist/lib/exe-daemon.js +186 -117
- package/dist/lib/hybrid-search.js +12 -12
- package/dist/lib/identity.js +5 -5
- package/dist/lib/keychain.js +13 -1
- package/dist/lib/license.js +8 -4
- package/dist/lib/messaging.js +39 -30
- package/dist/lib/post-tool-memory.js +9 -9
- package/dist/lib/registry-proxy.js +9 -1
- package/dist/lib/reminders.js +6 -6
- package/dist/lib/schedules.js +11 -11
- package/dist/lib/session-registry.js +7 -7
- package/dist/lib/skill-learning.js +20 -19
- package/dist/lib/status-brief.js +5 -4
- package/dist/lib/store.js +10 -10
- package/dist/lib/task-router.js +6 -6
- package/dist/lib/tasks.js +30 -29
- package/dist/lib/tmux-routing.js +28 -27
- package/dist/lib/tmux-status.js +3 -1
- package/dist/lib/token-spend.js +6 -6
- package/dist/lib/ws-client.js +1 -1
- package/dist/{license-gate-E6GTRYBA.js → license-gate-R4JWTWM4.js} +5 -5
- package/dist/{license-recheck-RBAO6Z2H.js → license-recheck-3MBJ4IJX.js} +1 -1
- package/dist/{license-sync-ZCZ2LIHK.js → license-sync-BVSG3WMW.js} +4 -4
- package/dist/local-secret-inventory-JWNBHZZ4.js +20 -0
- package/dist/mailbox-inbox-MTAT4MXX.js +13 -0
- package/dist/{mailbox-outbox-DNDDP2HW.js → mailbox-outbox-OY4IU6S4.js} +2 -1
- package/dist/mcp/register-tools.js +121 -120
- package/dist/mcp/server.js +123 -122
- package/dist/mcp/tools/complete-reminder.js +7 -7
- package/dist/mcp/tools/create-reminder.js +7 -7
- package/dist/mcp/tools/create-task.js +35 -32
- package/dist/mcp/tools/deactivate-behavior.js +22 -21
- package/dist/mcp/tools/list-reminders.js +7 -7
- package/dist/mcp/tools/list-tasks.js +33 -32
- package/dist/mcp/tools/send-message.js +32 -31
- package/dist/mcp/tools/update-task.js +31 -30
- package/dist/{mcp-child-registry-DVHYAHPW.js → mcp-child-registry-TIZERM7O.js} +5 -5
- package/dist/{mcp-health-B5EKRCZG.js → mcp-health-4ZHU67LM.js} +9 -3
- package/dist/{mcp-http-config-ME67QDOF.js → mcp-http-config-VUMSFWFH.js} +12 -12
- package/dist/{mcp-session-identity-DNG4ULAE.js → mcp-session-identity-DZHWEJRV.js} +28 -27
- package/dist/{memory-cards-WCISXY62.js → memory-cards-JVXTMSAT.js} +10 -10
- package/dist/{memory-graph-extractor-GXIK4QUF.js → memory-graph-extractor-PPBJMYFJ.js} +10 -10
- package/dist/{memory-poisoning-defense-25LZ5FJI.js → memory-poisoning-defense-K5Q74XQ4.js} +5 -5
- package/dist/{memory-pressure-watchdog-XGXI7WGE.js → memory-pressure-watchdog-YMJH5CSA.js} +29 -28
- package/dist/{memory-queue-YF7IDSFY.js → memory-queue-2MA67TAA.js} +3 -3
- package/dist/{memory-queue-client-QC2OTMJB.js → memory-queue-client-4G7HVRSX.js} +11 -10
- package/dist/{memory-reflection-GFGT44NT.js → memory-reflection-7BZWIHRE.js} +10 -10
- package/dist/{monitor-grants-Z2SEFE6E.js → monitor-grants-Q7X3MYQP.js} +6 -6
- package/dist/{monitor-identity-AEMHCVHV.js → monitor-identity-ZQB4IXEE.js} +2 -2
- package/dist/{notification-ledger-ETQBGRP7.js → notification-ledger-XRAXL5OI.js} +32 -29
- package/dist/{notifications-LPRCFJYY.js → notifications-JE3PX55X.js} +28 -27
- package/dist/{orchestration-events-T2GXV2NG.js → orchestration-events-JCQ5F5IJ.js} +6 -6
- package/dist/{orchestration-phase-T2WD45UA.js → orchestration-phase-QKTGQ2YT.js} +3 -3
- package/dist/{orchestrator-HY2IB3NA.js → orchestrator-X65INDTR.js} +30 -29
- package/dist/{org-brief-session-UWFCFEEB.js → org-brief-session-3PQ22UIX.js} +19 -18
- package/dist/{org-consent-policy-XXMST37J.js → org-consent-policy-VGELJ7K7.js} +7 -6
- package/dist/{org-join-72QKM7JR.js → org-join-6TO5ZYUZ.js} +12 -12
- package/dist/{org-key-admin-YCIAYP7V.js → org-key-admin-XHYVRRAZ.js} +12 -12
- package/dist/{org-key-pin-F7BQPI5P.js → org-key-pin-TTTYGTQL.js} +6 -6
- package/dist/{org-membership-JQSU4Z5P.js → org-membership-Y7T2BS57.js} +7 -7
- package/dist/{org-partner-config-PVJ45SLC.js → org-partner-config-OP4NEUNF.js} +10 -10
- package/dist/{org-partner-runtime-U4CTLWLC.js → org-partner-runtime-YNVUNT2R.js} +20 -19
- package/dist/{org-row-visibility-WUX4N3FX.js → org-row-visibility-JBBXNYXD.js} +1 -1
- package/dist/{pipeline-router-2RMBCBRM.js → pipeline-router-EIBB7QNG.js} +6 -6
- package/dist/{plan-limits-Z47XYEJR.js → plan-limits-MEWXYLEN.js} +8 -8
- package/dist/{postinstall-failure-O6TSSNJB.js → postinstall-failure-VETYYWEZ.js} +3 -3
- package/dist/{pre-tool-use-impl-JPE6XMRJ.js → pre-tool-use-impl-C6KJY22W.js} +60 -49
- package/dist/{project-boot-UFQDAFU5.js → project-boot-VEYFCCSL.js} +2 -2
- package/dist/{project-name-V4IREGHO.js → project-name-UYORSNGE.js} +6 -6
- package/dist/{projection-worker-HAD6H3VJ.js → projection-worker-WYFDWS57.js} +5 -5
- package/dist/{prospective-memory-KIF4JLFF.js → prospective-memory-E6XBQFJA.js} +5 -5
- package/dist/{push-notifications-GDKRTYXH.js → push-notifications-M7YU63FY.js} +29 -28
- package/dist/{reproject-worktree-memories-SG4BZJ3Z.js → reproject-worktree-memories-B5XMGJSD.js} +28 -27
- package/dist/{reranker-G2AZ67JP.js → reranker-SRA4BR7N.js} +3 -3
- package/dist/{retrieval-health-GBJRXTBZ.js → retrieval-health-P2JPZUPV.js} +4 -4
- package/dist/{review-polling-VUZPAAGT.js → review-polling-KQPN7IQE.js} +29 -28
- package/dist/runtime/index.js +37 -36
- package/dist/{session-events-BI6NIFIR.js → session-events-6LDDKKY3.js} +29 -28
- package/dist/{session-kill-telemetry-HPBDOPHT.js → session-kill-telemetry-5DSRGWCL.js} +29 -28
- package/dist/{session-mcp-config-WFZAH6R5.js → session-mcp-config-F7RCERUG.js} +3 -3
- package/dist/{session-scope-UB3HA5E7.js → session-scope-XG5R3P3D.js} +28 -27
- package/dist/{setup-wizard-6XULOT3L.js → setup-wizard-7QFLZIKT.js} +5 -5
- package/dist/{shard-manager-DYEJ6ETD.js → shard-manager-HHHHV2KZ.js} +3 -3
- package/dist/{skill-refinement-MKBQIWZ6.js → skill-refinement-I5RMAHSC.js} +6 -6
- package/dist/{stack-generate-manifest-7ODQ6W2O.js → stack-generate-manifest-AKMZ3AUX.js} +246 -13
- package/dist/stack-init-5VKL5PL5.js +136 -0
- package/dist/{stack-promote-3UKJBJSP.js → stack-promote-34CE2HHF.js} +7 -6
- package/dist/{stack-release-5CVXMJM5.js → stack-release-5PGWV5D4.js} +123 -12
- package/dist/{stack-update-Z53KG2P5.js → stack-update-ZQQ5YYPJ.js} +20 -5
- package/dist/{steward-gate-OKUYYIX6.js → steward-gate-AQJ6KT2C.js} +6 -6
- package/dist/{subagent-brief-injection-T2CVQLAS.js → subagent-brief-injection-3GU7YAWY.js} +50 -42
- package/dist/{subagent-spawn-ledger-E6U3OY6Z.js → subagent-spawn-ledger-52I66CLW.js} +3 -3
- package/dist/{supervisor-handoff-SGLEPOCY.js → supervisor-handoff-BWJW6CKZ.js} +4 -4
- package/dist/{support-inbox-WJIDCKJC.js → support-inbox-NY5TB3FN.js} +12 -12
- package/dist/{support-outbox-G2NG2U5K.js → support-outbox-KNI3FR3G.js} +3 -2
- package/dist/{task-enforcement-JL5ADPS6.js → task-enforcement-CAA6D2MH.js} +29 -28
- package/dist/{task-request-inbox-54BRRFHZ.js → task-request-inbox-QBZVU66E.js} +9 -6
- package/dist/{task-scope-OBPZBID5.js → task-scope-NHXB4ZRN.js} +32 -27
- package/dist/{tasks-crud-YBCPT7TY.js → tasks-crud-JHSWL5NM.js} +28 -27
- package/dist/{tasks-notify-CEEQSDJF.js → tasks-notify-7PBE4U7T.js} +29 -28
- package/dist/{tasks-review-JIEI656P.js → tasks-review-PPPVEE62.js} +28 -27
- package/dist/{telemetry-upload-ZZSEZR2U.js → telemetry-upload-YU2VRNHX.js} +10 -10
- package/dist/{token-budget-AUFMEMQ2.js → token-budget-QCMWKG3K.js} +6 -6
- package/dist/{tool-capability-index-6HLZU437.js → tool-capability-index-7AWQAJRP.js} +1 -1
- package/dist/{tool-gates-VXITVRFQ.js → tool-gates-5Q3RSQEG.js} +1 -1
- package/dist/{tool-gates-JWVSAYTW.js → tool-gates-QD26D2NE.js} +1 -1
- package/dist/{tool-telemetry-RHSEK2TO.js → tool-telemetry-LTOIC64I.js} +1 -1
- package/dist/tui/App.js +43 -42
- package/dist/{tui-data-PBZNN5YB.js → tui-data-NDBXD6U7.js} +32 -31
- package/dist/{update-support-V3ZCJR6L.js → update-support-BMJM4NG7.js} +27 -26
- package/dist/{whatsapp-NAM2CRVQ.js → whatsapp-QQLDAHUX.js} +2 -2
- package/dist/{wiki-acl-NUBAPLCD.js → wiki-acl-W6WDCVCP.js} +1 -1
- package/dist/{work-claims-Q2NU6JON.js → work-claims-6DM32MGO.js} +6 -6
- package/dist/{work-state-heartbeat-HAQRV3RK.js → work-state-heartbeat-HG7D4AWJ.js} +1 -1
- package/dist/{worker-gate-NUUSQMBT.js → worker-gate-FTMW7GBB.js} +3 -3
- package/dist/{workflow-engine-GEWPU5YR.js → workflow-engine-ZWC6CCXE.js} +2 -2
- package/dist/{worktree-C7LFMRKW.js → worktree-EMQCPGFE.js} +7 -7
- package/dist/{worktree-ownership-guard-4LKMW6PW.js → worktree-ownership-guard-O6JQF2CL.js} +2 -2
- package/dist/{worktree-sweep-SYF62ANH.js → worktree-sweep-XVUJZBXV.js} +8 -8
- package/package.json +23 -7
- package/release-notes.json +39 -12
- package/stack.release.json +4 -4
- package/dist/mailbox-inbox-XE72D3AX.js +0 -10
- /package/dist/{chunk-QIEYJ4KZ.js → chunk-2KY7WZZF.js} +0 -0
- /package/dist/{chunk-T3667X2B.js → chunk-2Q2CD6CD.js} +0 -0
- /package/dist/{chunk-JZJZYKMW.js → chunk-AJK2PVQW.js} +0 -0
- /package/dist/{chunk-ZEGEFBZV.js → chunk-AWWDKF22.js} +0 -0
- /package/dist/{chunk-QNTKRGJ6.js → chunk-GIRD7O5X.js} +0 -0
- /package/dist/{chunk-FWA4MYTA.js → chunk-JRIH6I7D.js} +0 -0
- /package/dist/{chunk-C7H2D7LX.js → chunk-M4XY4JRK.js} +0 -0
- /package/dist/{chunk-Q3DN5J6F.js → chunk-P2VVMGMI.js} +0 -0
- /package/dist/{chunk-BRAIWGMF.js → chunk-Q46NYJ77.js} +0 -0
- /package/dist/{chunk-3LQ2N4H7.js → chunk-U2D6PJ5T.js} +0 -0
- /package/dist/{chunk-3O6OGZL3.js → chunk-XDVOGDBC.js} +0 -0
- /package/dist/{core-memory-UNCAPGD4.js → core-memory-O6D5UC3T.js} +0 -0
- /package/dist/{hook-tamper-log-Z4PWC7N4.js → hook-tamper-log-ARGWCXKJ.js} +0 -0
- /package/dist/{memory-isolation-ALPJWLR5.js → memory-isolation-EBFFC6HF.js} +0 -0
- /package/dist/{oauth-server-AC2KB7NB.js → oauth-server-ZKBUHDFI.js} +0 -0
- /package/dist/{webhook-pipe-W2FVXY7M.js → webhook-pipe-PXH5MBRM.js} +0 -0
- /package/dist/{wiki-client-W65IOSWF.js → wiki-client-DD2NVWK2.js} +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "./chunk-MLKGABMK.js";
|
|
3
|
+
|
|
4
|
+
// src/bin/stack-init.ts
|
|
5
|
+
import {
|
|
6
|
+
chmodSync,
|
|
7
|
+
copyFileSync,
|
|
8
|
+
existsSync,
|
|
9
|
+
mkdirSync,
|
|
10
|
+
readdirSync,
|
|
11
|
+
statSync
|
|
12
|
+
} from "fs";
|
|
13
|
+
import path from "path";
|
|
14
|
+
import { fileURLToPath } from "url";
|
|
15
|
+
var DEFAULT_STACK_DIR = "/opt/exe-stack";
|
|
16
|
+
var NEVER_OVERWRITE = /* @__PURE__ */ new Set([
|
|
17
|
+
".env",
|
|
18
|
+
"gateway.json",
|
|
19
|
+
"branding.json",
|
|
20
|
+
"clickhouse-config.xml",
|
|
21
|
+
"cloudflared/config.yml"
|
|
22
|
+
]);
|
|
23
|
+
var CUSTOMER_OWNED_PATTERNS = [/^cloudflared\/.+\.json$/];
|
|
24
|
+
function isCustomerOwned(rel) {
|
|
25
|
+
return NEVER_OVERWRITE.has(rel) || CUSTOMER_OWNED_PATTERNS.some((re) => re.test(rel));
|
|
26
|
+
}
|
|
27
|
+
function resolvePackageRoot(moduleUrl = import.meta.url) {
|
|
28
|
+
const here = path.dirname(fileURLToPath(moduleUrl));
|
|
29
|
+
const candidates = [path.resolve(here, "..", ".."), path.resolve(here, ".."), process.cwd()];
|
|
30
|
+
for (const c of candidates) {
|
|
31
|
+
if (existsSync(path.join(c, "package.json")) && existsSync(path.join(c, "deploy", "compose", "docker-compose.yml"))) {
|
|
32
|
+
return c;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
throw new Error(
|
|
36
|
+
"stack-init: could not locate the packaged deploy/ assets. Reinstall the CLI (`npm install -g @askexenow/exe-os`) and retry."
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
function copyTree(srcDir, destDir, relPrefix, force, created, skipped) {
|
|
40
|
+
mkdirSync(destDir, { recursive: true });
|
|
41
|
+
for (const entry of readdirSync(srcDir)) {
|
|
42
|
+
const src = path.join(srcDir, entry);
|
|
43
|
+
const dest = path.join(destDir, entry);
|
|
44
|
+
const rel = relPrefix ? `${relPrefix}/${entry}` : entry;
|
|
45
|
+
if (statSync(src).isDirectory()) {
|
|
46
|
+
copyTree(src, dest, rel, force, created, skipped);
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (existsSync(dest) && (!force || isCustomerOwned(rel))) {
|
|
50
|
+
skipped.push(rel);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
copyFileSync(src, dest);
|
|
54
|
+
if (entry.startsWith(".env")) {
|
|
55
|
+
try {
|
|
56
|
+
chmodSync(dest, 384);
|
|
57
|
+
} catch {
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
created.push(rel);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function runStackInit(options = {}) {
|
|
64
|
+
const packageRoot = options.packageRoot ?? resolvePackageRoot();
|
|
65
|
+
const composeSrc = path.join(packageRoot, "deploy", "compose");
|
|
66
|
+
const manifestSrc = path.join(packageRoot, "deploy", "stack-manifests");
|
|
67
|
+
if (!existsSync(composeSrc)) {
|
|
68
|
+
throw new Error(`stack-init: packaged compose files missing at ${composeSrc}. Reinstall the CLI and retry.`);
|
|
69
|
+
}
|
|
70
|
+
if (!existsSync(manifestSrc)) {
|
|
71
|
+
throw new Error(
|
|
72
|
+
`stack-init: packaged stack manifests missing at ${manifestSrc}. The manifest is the single source of truth for every image pin \u2014 refusing to lay down a stack directory that cannot generate a .env. Reinstall the CLI and retry.`
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
const dir = path.resolve(options.dir ?? process.cwd());
|
|
76
|
+
const created = [];
|
|
77
|
+
const skipped = [];
|
|
78
|
+
copyTree(composeSrc, dir, "", options.force === true, created, skipped);
|
|
79
|
+
const manifestDir = path.join(dir, "stack-manifests");
|
|
80
|
+
copyTree(manifestSrc, manifestDir, "stack-manifests", options.force === true, created, skipped);
|
|
81
|
+
return { dir, created, skipped, manifestDir };
|
|
82
|
+
}
|
|
83
|
+
async function runStackInitCli(argv) {
|
|
84
|
+
if (argv.includes("--help") || argv.includes("-h")) {
|
|
85
|
+
console.log(
|
|
86
|
+
`
|
|
87
|
+
Usage: exe-os stack-init [--dir <path>] [--force]
|
|
88
|
+
|
|
89
|
+
Lay down a fresh exe-os stack directory: docker-compose.yml, setup.sh,
|
|
90
|
+
the .env template, the service configs, and the signed stack manifest.
|
|
91
|
+
|
|
92
|
+
--dir <path> Target directory (default: current directory)
|
|
93
|
+
--force Refresh packaged assets that already exist
|
|
94
|
+
(customer-owned files \u2014 .env, gateway.json, branding.json,
|
|
95
|
+
clickhouse-config.xml, cloudflared/* \u2014 are never touched)
|
|
96
|
+
|
|
97
|
+
Next: cd <dir> && ./setup.sh --client <name> --domain <domain> \\
|
|
98
|
+
--admin-email <you@your-domain> --license <key>
|
|
99
|
+
`
|
|
100
|
+
);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
let dir;
|
|
104
|
+
let force = false;
|
|
105
|
+
for (let i = 0; i < argv.length; i++) {
|
|
106
|
+
const arg = argv[i];
|
|
107
|
+
if (arg === "--dir") dir = argv[++i];
|
|
108
|
+
else if (arg.startsWith("--dir=")) dir = arg.slice("--dir=".length);
|
|
109
|
+
else if (arg === "--force") force = true;
|
|
110
|
+
else {
|
|
111
|
+
console.error(`exe-os stack-init: unknown option: ${arg}`);
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const result = runStackInit({ dir, force });
|
|
116
|
+
console.log(`
|
|
117
|
+
Stack directory ready: ${result.dir}`);
|
|
118
|
+
console.log(` Files written: ${result.created.length}`);
|
|
119
|
+
if (result.skipped.length > 0) {
|
|
120
|
+
console.log(` Left untouched: ${result.skipped.length} (already present \u2014 re-run with --force to refresh)`);
|
|
121
|
+
}
|
|
122
|
+
console.log(` Stack manifest: ${path.join(result.manifestDir, "v0.9.json")}`);
|
|
123
|
+
console.log(`
|
|
124
|
+
Next:`);
|
|
125
|
+
console.log(` cd ${result.dir}`);
|
|
126
|
+
console.log(
|
|
127
|
+
` ./setup.sh --client <name> --domain <domain> --admin-email <you@your-domain> --license <key>
|
|
128
|
+
`
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
export {
|
|
132
|
+
DEFAULT_STACK_DIR,
|
|
133
|
+
resolvePackageRoot,
|
|
134
|
+
runStackInit,
|
|
135
|
+
runStackInitCli
|
|
136
|
+
};
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
writeSignedStackManifest
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-MOANZQXF.js";
|
|
5
|
+
import "./chunk-ZBPZDADW.js";
|
|
6
6
|
import "./chunk-EC5H53YD.js";
|
|
7
7
|
import "./chunk-C5HUMAA7.js";
|
|
8
8
|
import "./chunk-L25OAFOU.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-LFUBEHFW.js";
|
|
10
|
+
import "./chunk-TNS63ATU.js";
|
|
10
11
|
import "./chunk-A7XLR3K7.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-HSGBZSCA.js";
|
|
12
|
+
import "./chunk-DZN7SDY2.js";
|
|
13
|
+
import "./chunk-MMS2HBRT.js";
|
|
14
14
|
import "./chunk-RH4AH3YB.js";
|
|
15
15
|
import {
|
|
16
16
|
isMainModule
|
|
17
17
|
} from "./chunk-6Y4B3QF6.js";
|
|
18
|
+
import "./chunk-HSGBZSCA.js";
|
|
18
19
|
import "./chunk-JKKZGDLP.js";
|
|
19
20
|
import "./chunk-MLKGABMK.js";
|
|
20
21
|
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
writeSignedStackManifest
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-MOANZQXF.js";
|
|
5
|
+
import "./chunk-ZBPZDADW.js";
|
|
6
6
|
import "./chunk-EC5H53YD.js";
|
|
7
7
|
import {
|
|
8
8
|
assertPreflightGate,
|
|
9
9
|
runPreflightOnManifest
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PLII76NJ.js";
|
|
11
11
|
import "./chunk-C5HUMAA7.js";
|
|
12
12
|
import "./chunk-L25OAFOU.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-LFUBEHFW.js";
|
|
14
|
+
import "./chunk-TNS63ATU.js";
|
|
14
15
|
import "./chunk-A7XLR3K7.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-HSGBZSCA.js";
|
|
16
|
+
import "./chunk-DZN7SDY2.js";
|
|
17
|
+
import "./chunk-MMS2HBRT.js";
|
|
18
18
|
import "./chunk-RH4AH3YB.js";
|
|
19
|
+
import "./chunk-HSGBZSCA.js";
|
|
19
20
|
import "./chunk-JKKZGDLP.js";
|
|
20
21
|
import "./chunk-MLKGABMK.js";
|
|
21
22
|
|
|
@@ -229,6 +230,38 @@ var STACK_RECONCILE_APP_IMAGE_REPOS = Object.freeze([
|
|
|
229
230
|
{
|
|
230
231
|
imageName: "update.askexe.com/askexe/exe-auth",
|
|
231
232
|
ghRepo: "AskExe/exe-auth"
|
|
233
|
+
},
|
|
234
|
+
// exe-dashboard: same gap — it was absent from both maps in this file, so
|
|
235
|
+
// G6's reconcile classified an unstamped dashboard image as "no expected
|
|
236
|
+
// source repo mapped here" (third-party, informational), exactly the false
|
|
237
|
+
// pass the "unstamped-third-party" distinction exists to avoid for images
|
|
238
|
+
// this repo family DOES build.
|
|
239
|
+
//
|
|
240
|
+
// 🔴 THE REPO HERE IS THE REPO THE IMAGE IS BUILT IN, NOT THE ONE THAT WILL
|
|
241
|
+
// EVENTUALLY OWN IT. G6 compares this value against the image's org.exe.repo
|
|
242
|
+
// label, which the shared release lane stamps with the repository the build
|
|
243
|
+
// actually ran in. exe-dashboard is still built from `dashboard-page/` INSIDE
|
|
244
|
+
// AskExe/exe-os (.github/workflows/release-dashboard-image.yml passes
|
|
245
|
+
// `context: dashboard-page`); AskExe/exe-dashboard exists but its history
|
|
246
|
+
// extraction is unfinished and nothing is built there yet. The real published
|
|
247
|
+
// ghcr.io/askexe/exe-dashboard:v0.9.382 carries org.exe.repo=AskExe/exe-os
|
|
248
|
+
// (recorded verbatim in release-service.yml's G2 arming note), so naming the
|
|
249
|
+
// destination repo here turns every correctly-stamped dashboard release into
|
|
250
|
+
// a "wrong-repo image (bug 218b10e4 class)" failure — and simultaneously
|
|
251
|
+
// makes that signal useless for the one service it would be reporting on.
|
|
252
|
+
//
|
|
253
|
+
// release-contract-services.mjs's `ghRepo: "AskExe/exe-dashboard"` is a
|
|
254
|
+
// different field with a different meaning: it names the repo that OWNS the
|
|
255
|
+
// service in the migration table. Copying it into this provenance map is how
|
|
256
|
+
// the wrong value got here.
|
|
257
|
+
//
|
|
258
|
+
// When the extraction completes, the lane's `context` flips to `.` and moves
|
|
259
|
+
// to AskExe/exe-dashboard; flip this with it. A test in
|
|
260
|
+
// tests/scripts/image-provenance.test.ts reads that `context` and fails if
|
|
261
|
+
// the two disagree, so this cannot drift silently a second time.
|
|
262
|
+
{
|
|
263
|
+
imageName: "update.askexe.com/askexe/exe-dashboard",
|
|
264
|
+
ghRepo: "AskExe/exe-os"
|
|
232
265
|
}
|
|
233
266
|
]);
|
|
234
267
|
|
|
@@ -370,6 +403,53 @@ async function ghRun(args) {
|
|
|
370
403
|
const { stdout } = await execFile("gh", args);
|
|
371
404
|
return stdout.trim();
|
|
372
405
|
}
|
|
406
|
+
function isStrictSemverTag(tag) {
|
|
407
|
+
return /^v\d+\.\d+\.\d+$/.test(tag);
|
|
408
|
+
}
|
|
409
|
+
function compareSemver(a, b) {
|
|
410
|
+
const pa = a.split(".").map(Number);
|
|
411
|
+
const pb = b.split(".").map(Number);
|
|
412
|
+
for (let i = 0; i < 3; i++) {
|
|
413
|
+
const diff = (pa[i] ?? 0) - (pb[i] ?? 0);
|
|
414
|
+
if (diff !== 0) return diff;
|
|
415
|
+
}
|
|
416
|
+
return 0;
|
|
417
|
+
}
|
|
418
|
+
function higherSemver(a, b) {
|
|
419
|
+
return compareSemver(a, b) >= 0 ? a : b;
|
|
420
|
+
}
|
|
421
|
+
function parseRemoteTagNames(lsRemoteOutput) {
|
|
422
|
+
return lsRemoteOutput.split("\n").map((line) => line.trim()).filter(Boolean).map((line) => line.split(" ")[1] ?? "").filter((ref) => ref.startsWith("refs/tags/")).map((ref) => ref.slice("refs/tags/".length).replace(/\^\{\}$/, ""));
|
|
423
|
+
}
|
|
424
|
+
function highestReleasedVersion(tagNames) {
|
|
425
|
+
let best = null;
|
|
426
|
+
for (const tag of tagNames) {
|
|
427
|
+
if (!isStrictSemverTag(tag)) continue;
|
|
428
|
+
const version = tag.slice(1);
|
|
429
|
+
best = best === null ? version : higherSemver(best, version);
|
|
430
|
+
}
|
|
431
|
+
return best;
|
|
432
|
+
}
|
|
433
|
+
async function getRemoteReleaseTags(repoPath, gitRunner = git) {
|
|
434
|
+
try {
|
|
435
|
+
const out = await gitRunner(repoPath, "ls-remote", "--tags", "origin");
|
|
436
|
+
return parseRemoteTagNames(out);
|
|
437
|
+
} catch {
|
|
438
|
+
return [];
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
async function resolveVersionBasis(repoPath, packageVersion, gitRunner = git) {
|
|
442
|
+
const highestTag = highestReleasedVersion(await getRemoteReleaseTags(repoPath, gitRunner));
|
|
443
|
+
return highestTag ? higherSemver(packageVersion, highestTag) : packageVersion;
|
|
444
|
+
}
|
|
445
|
+
async function assertVersionNotAlreadyReleased(repoPath, tag, gitRunner = git) {
|
|
446
|
+
const out = await gitRunner(repoPath, "ls-remote", "--tags", "origin", `refs/tags/${tag}`);
|
|
447
|
+
if (out.trim().length > 0) {
|
|
448
|
+
throw new Error(
|
|
449
|
+
`refusing to cut ${tag}: this tag already exists on origin. package.json (and/or the computed bump basis) has drifted behind real release history \u2014 resync before releasing. (bug 343af002)`
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
373
453
|
async function assertReleaseFreshness(opts) {
|
|
374
454
|
const runGit = opts.gitRunner ?? git;
|
|
375
455
|
const logFn = opts.log ?? log;
|
|
@@ -513,6 +593,14 @@ async function detectChanges(repos) {
|
|
|
513
593
|
continue;
|
|
514
594
|
}
|
|
515
595
|
}
|
|
596
|
+
const basisVersion = await resolveVersionBasis(repo.localPath, currentVersion);
|
|
597
|
+
if (basisVersion !== currentVersion) {
|
|
598
|
+
log(
|
|
599
|
+
"warn",
|
|
600
|
+
`${repo.serviceKey}: package.json (${currentVersion}) is behind the highest release tag on origin \u2014 using ${basisVersion} as the bump basis`
|
|
601
|
+
);
|
|
602
|
+
currentVersion = basisVersion;
|
|
603
|
+
}
|
|
516
604
|
const lastTag = await getLastTag(repo.localPath);
|
|
517
605
|
if (!lastTag) {
|
|
518
606
|
log("warn", `No tags found in ${repo.serviceKey} \u2014 skipping`);
|
|
@@ -560,6 +648,7 @@ async function bumpVersions(changes, mode, dryRun) {
|
|
|
560
648
|
const newVersion = bumpVersion(change.currentVersion, mode);
|
|
561
649
|
change.newVersion = newVersion;
|
|
562
650
|
change.tag = `v${newVersion}`;
|
|
651
|
+
await assertVersionNotAlreadyReleased(change.repo.localPath, change.tag);
|
|
563
652
|
if (dryRun) {
|
|
564
653
|
log("dry", `${change.repo.serviceKey}: ${change.currentVersion} -> ${newVersion}`);
|
|
565
654
|
continue;
|
|
@@ -602,6 +691,7 @@ async function bumpVersions(changes, mode, dryRun) {
|
|
|
602
691
|
log("ok", `${change.repo.serviceKey}: bumped ${change.currentVersion} -> ${newVersion} (local commit, push deferred)`);
|
|
603
692
|
}
|
|
604
693
|
}
|
|
694
|
+
var RELEASE_PR_POLL_JQ = "[.state, .mergeable, .mergeStateStatus] | @tsv";
|
|
605
695
|
async function landViaPR(repoPath, ghRepo, defaultBranch, branch, title) {
|
|
606
696
|
const pushedSha = await git(repoPath, "rev-parse", "HEAD");
|
|
607
697
|
await git(repoPath, "push", "--force-with-lease", "origin", `HEAD:refs/heads/${branch}`);
|
|
@@ -652,22 +742,30 @@ async function landViaPR(repoPath, ghRepo, defaultBranch, branch, title) {
|
|
|
652
742
|
if (releasePr.state !== "MERGED") {
|
|
653
743
|
await ghRun(["pr", "merge", String(releasePr.number), "--repo", ghRepo, "--auto", "--squash"]);
|
|
654
744
|
}
|
|
745
|
+
let lastMergeable = "";
|
|
655
746
|
for (; ; ) {
|
|
656
|
-
const
|
|
747
|
+
const observed = (await ghRun([
|
|
657
748
|
"pr",
|
|
658
749
|
"view",
|
|
659
750
|
String(releasePr.number),
|
|
660
751
|
"--repo",
|
|
661
752
|
ghRepo,
|
|
662
753
|
"--json",
|
|
663
|
-
"state",
|
|
754
|
+
"state,mergeable,mergeStateStatus",
|
|
664
755
|
"-q",
|
|
665
|
-
|
|
756
|
+
RELEASE_PR_POLL_JQ
|
|
666
757
|
])).trim();
|
|
758
|
+
const [state, mergeable = "", mergeStateStatus = ""] = observed.split(" ");
|
|
759
|
+
if (mergeable) lastMergeable = `mergeable=${mergeable} mergeStateStatus=${mergeStateStatus}`;
|
|
667
760
|
if (state === "MERGED") break;
|
|
761
|
+
if (mergeable === "CONFLICTING") {
|
|
762
|
+
throw new Error(
|
|
763
|
+
`Release PR ${ghRepo}#${releasePr.number} (${branch} @ ${pushedSha.slice(0, 12)}) CONFLICTS with ${defaultBranch}. GitHub cannot compute a merge commit for it, so NO CI will run and auto-merge can never fire \u2014 waiting would not help. Rebase the release branch and re-run. Aborting release; ${defaultBranch} left untouched.`
|
|
764
|
+
);
|
|
765
|
+
}
|
|
668
766
|
if (Date.now() > deadline) {
|
|
669
767
|
throw new Error(
|
|
670
|
-
`Release PR ${ghRepo}#${releasePr.number} (${branch} @ ${pushedSha.slice(0, 12)}) did not merge within 30m
|
|
768
|
+
`Release PR ${ghRepo}#${releasePr.number} (${branch} @ ${pushedSha.slice(0, 12)}) did not merge within 30m (${lastMergeable || "mergeability never readable"}). Aborting release; ${defaultBranch} left untouched.`
|
|
671
769
|
);
|
|
672
770
|
}
|
|
673
771
|
await sleep(3e4);
|
|
@@ -1236,7 +1334,11 @@ async function commitAndTagExeOs(newStackVersion, _exeOsChange, dryRun) {
|
|
|
1236
1334
|
await git(EXE_OS_ROOT, "push", "origin", stackTag);
|
|
1237
1335
|
log("ok", `Tagged exe-os ${stackTag}`);
|
|
1238
1336
|
} catch (err) {
|
|
1239
|
-
|
|
1337
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
1338
|
+
log("fail", `Failed to tag/push exe-os ${stackTag}: ${message}`);
|
|
1339
|
+
throw new Error(
|
|
1340
|
+
`Aborting: failed to tag/push exe-os ${stackTag}: ${message}. The manifest was committed but the stack-v tag that publishes it was not \u2014 customers will keep reading the previous manifest. Fix the cause and re-run; publishing is idempotent.`
|
|
1341
|
+
);
|
|
1240
1342
|
}
|
|
1241
1343
|
}
|
|
1242
1344
|
function printSummary(changes, ciStatuses, newStackVersion, dryRun) {
|
|
@@ -1479,18 +1581,27 @@ async function runStackRelease(flags) {
|
|
|
1479
1581
|
}
|
|
1480
1582
|
}
|
|
1481
1583
|
export {
|
|
1584
|
+
RELEASE_PR_POLL_JQ,
|
|
1482
1585
|
assertCleanWorkingTree,
|
|
1483
1586
|
assertReleaseFreshness,
|
|
1587
|
+
assertVersionNotAlreadyReleased,
|
|
1588
|
+
compareSemver,
|
|
1484
1589
|
deriveCloneUrl,
|
|
1485
1590
|
ensureRepoCloned,
|
|
1486
1591
|
findPullRequestForHeadSha,
|
|
1487
1592
|
findWorkflowRunForHeadSha,
|
|
1488
1593
|
forceBuildRejection,
|
|
1594
|
+
getRemoteReleaseTags,
|
|
1595
|
+
higherSemver,
|
|
1596
|
+
highestReleasedVersion,
|
|
1489
1597
|
imageRepoPath,
|
|
1490
1598
|
isCloneTargetSafe,
|
|
1599
|
+
isStrictSemverTag,
|
|
1491
1600
|
mayRebaseComponent,
|
|
1492
1601
|
parseReleaseArgs,
|
|
1602
|
+
parseRemoteTagNames,
|
|
1493
1603
|
printOpenPrGate,
|
|
1494
1604
|
rebaseImageTag,
|
|
1605
|
+
resolveVersionBasis,
|
|
1495
1606
|
runStackRelease
|
|
1496
1607
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BUILTIN_STACK_MANIFEST_KEY_ID,
|
|
3
|
+
LIVE_ARTIFACT_MATCHES_MANIFEST_CHECK,
|
|
3
4
|
MONITOR_HEALTH_BIN_ENV,
|
|
4
5
|
MONITOR_IMAGE_TAG_ENV,
|
|
5
6
|
ProgressReporter,
|
|
@@ -31,6 +32,7 @@ import {
|
|
|
31
32
|
createStackUpdatePlan,
|
|
32
33
|
defaultIngressReachabilityProbe,
|
|
33
34
|
defaultStackPaths,
|
|
35
|
+
deriveDeviceId,
|
|
34
36
|
detectDanglingVolumes,
|
|
35
37
|
detectMissingRequiredEnvVars,
|
|
36
38
|
expandComposeExpression,
|
|
@@ -38,14 +40,18 @@ import {
|
|
|
38
40
|
expandEnvRefs,
|
|
39
41
|
filterServicesBySelection,
|
|
40
42
|
findLatestBackupEnvFile,
|
|
43
|
+
findSsoUngatedIngressHostnames,
|
|
44
|
+
findUnauditableIngressSyntax,
|
|
41
45
|
findUnreachableIngressTargets,
|
|
42
46
|
hardenHost,
|
|
43
47
|
httpStatus,
|
|
48
|
+
hydrateEnv,
|
|
44
49
|
imagePullRef,
|
|
45
50
|
isCloudflaredLoopbackHost,
|
|
46
51
|
isCloudflaredTunnelMisconfigured,
|
|
47
52
|
isComposeNetworkHost,
|
|
48
53
|
isExecFormMigration,
|
|
54
|
+
isFatalLiveArtifactFailure,
|
|
49
55
|
isStrictDigestEnabled,
|
|
50
56
|
isThirdPartyImage,
|
|
51
57
|
isUnpinnedImageBreakGlassEnabled,
|
|
@@ -102,23 +108,26 @@ import {
|
|
|
102
108
|
verifyIngressTargetsReachable,
|
|
103
109
|
verifyManifestImagesAvailable,
|
|
104
110
|
verifyReleaseHealth,
|
|
111
|
+
verifySsoGatedIngressRouting,
|
|
105
112
|
verifyStackManifestSignature,
|
|
106
113
|
waitForHttpOk,
|
|
107
114
|
warnUnmanagedManifestServices
|
|
108
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-ZBPZDADW.js";
|
|
109
116
|
import "./chunk-EC5H53YD.js";
|
|
110
117
|
import "./chunk-C5HUMAA7.js";
|
|
111
118
|
import "./chunk-L25OAFOU.js";
|
|
112
|
-
import "./chunk-
|
|
119
|
+
import "./chunk-LFUBEHFW.js";
|
|
120
|
+
import "./chunk-TNS63ATU.js";
|
|
113
121
|
import "./chunk-A7XLR3K7.js";
|
|
114
|
-
import "./chunk-
|
|
115
|
-
import "./chunk-
|
|
116
|
-
import "./chunk-HSGBZSCA.js";
|
|
122
|
+
import "./chunk-DZN7SDY2.js";
|
|
123
|
+
import "./chunk-MMS2HBRT.js";
|
|
117
124
|
import "./chunk-RH4AH3YB.js";
|
|
125
|
+
import "./chunk-HSGBZSCA.js";
|
|
118
126
|
import "./chunk-JKKZGDLP.js";
|
|
119
127
|
import "./chunk-MLKGABMK.js";
|
|
120
128
|
export {
|
|
121
129
|
BUILTIN_STACK_MANIFEST_KEY_ID,
|
|
130
|
+
LIVE_ARTIFACT_MATCHES_MANIFEST_CHECK,
|
|
122
131
|
MONITOR_HEALTH_BIN_ENV,
|
|
123
132
|
MONITOR_IMAGE_TAG_ENV,
|
|
124
133
|
ProgressReporter,
|
|
@@ -150,6 +159,7 @@ export {
|
|
|
150
159
|
createStackUpdatePlan,
|
|
151
160
|
defaultIngressReachabilityProbe,
|
|
152
161
|
defaultStackPaths,
|
|
162
|
+
deriveDeviceId,
|
|
153
163
|
detectDanglingVolumes,
|
|
154
164
|
detectMissingRequiredEnvVars,
|
|
155
165
|
expandComposeExpression,
|
|
@@ -157,14 +167,18 @@ export {
|
|
|
157
167
|
expandEnvRefs,
|
|
158
168
|
filterServicesBySelection,
|
|
159
169
|
findLatestBackupEnvFile,
|
|
170
|
+
findSsoUngatedIngressHostnames,
|
|
171
|
+
findUnauditableIngressSyntax,
|
|
160
172
|
findUnreachableIngressTargets,
|
|
161
173
|
hardenHost,
|
|
162
174
|
httpStatus,
|
|
175
|
+
hydrateEnv,
|
|
163
176
|
imagePullRef,
|
|
164
177
|
isCloudflaredLoopbackHost,
|
|
165
178
|
isCloudflaredTunnelMisconfigured,
|
|
166
179
|
isComposeNetworkHost,
|
|
167
180
|
isExecFormMigration,
|
|
181
|
+
isFatalLiveArtifactFailure,
|
|
168
182
|
isStrictDigestEnabled,
|
|
169
183
|
isThirdPartyImage,
|
|
170
184
|
isUnpinnedImageBreakGlassEnabled,
|
|
@@ -221,6 +235,7 @@ export {
|
|
|
221
235
|
verifyIngressTargetsReachable,
|
|
222
236
|
verifyManifestImagesAvailable,
|
|
223
237
|
verifyReleaseHealth,
|
|
238
|
+
verifySsoGatedIngressRouting,
|
|
224
239
|
verifyStackManifestSignature,
|
|
225
240
|
waitForHttpOk,
|
|
226
241
|
warnUnmanagedManifestServices
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StewardGate
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-ZT4LFTUJ.js";
|
|
4
|
+
import "./chunk-GL47M7NY.js";
|
|
5
5
|
import "./chunk-BBMTVAE3.js";
|
|
6
6
|
import "./chunk-TKDITWDN.js";
|
|
7
7
|
import "./chunk-5YEUPUV4.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-72V3S44T.js";
|
|
9
9
|
import "./chunk-YYB5PMTK.js";
|
|
10
10
|
import "./chunk-L5CGXEZC.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-QH5ZQ5SJ.js";
|
|
12
12
|
import "./chunk-ZQEJ4IX2.js";
|
|
13
13
|
import "./chunk-FXU7JOXK.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-HSGBZSCA.js";
|
|
14
|
+
import "./chunk-MMS2HBRT.js";
|
|
16
15
|
import "./chunk-RH4AH3YB.js";
|
|
16
|
+
import "./chunk-HSGBZSCA.js";
|
|
17
17
|
import "./chunk-JKKZGDLP.js";
|
|
18
18
|
import "./chunk-MLKGABMK.js";
|
|
19
19
|
export {
|
|
@@ -1,83 +1,84 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildEmployeeBootBrief
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RVO5O5SR.js";
|
|
4
4
|
import "./chunk-HSFBNCNC.js";
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-4AAMFWJT.js";
|
|
6
|
+
import "./chunk-S26CV7BE.js";
|
|
7
|
+
import "./chunk-EIOGV75A.js";
|
|
8
8
|
import "./chunk-QGGH7LOU.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-3RGTLZNO.js";
|
|
10
|
+
import "./chunk-M4XY4JRK.js";
|
|
11
11
|
import "./chunk-VMHZSZQJ.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-UOPCVFVR.js";
|
|
13
|
+
import "./chunk-AWWDKF22.js";
|
|
14
14
|
import "./chunk-CHCA3ZM2.js";
|
|
15
15
|
import "./chunk-OTVEIJUQ.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-VHHX4UCP.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveAgentAttribution
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-F4BBMIPG.js";
|
|
20
20
|
import {
|
|
21
21
|
tryMarkSubagentBriefInjected
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-MUCNYSJP.js";
|
|
23
23
|
import "./chunk-5MOYSU5A.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-ELEGH4DX.js";
|
|
25
25
|
import "./chunk-76CJBM36.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-UJWZYK46.js";
|
|
26
|
+
import "./chunk-7UHZBVP3.js";
|
|
27
|
+
import "./chunk-6BJCDWSM.js";
|
|
28
|
+
import "./chunk-JDDM6C57.js";
|
|
30
29
|
import "./chunk-ZKGWHT56.js";
|
|
30
|
+
import "./chunk-QNZ4562V.js";
|
|
31
31
|
import "./chunk-WT4RI36X.js";
|
|
32
32
|
import "./chunk-E23LNUWJ.js";
|
|
33
33
|
import "./chunk-TDF2XKLK.js";
|
|
34
34
|
import "./chunk-EIKATSE4.js";
|
|
35
35
|
import "./chunk-MJCSEIFI.js";
|
|
36
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-ALRHGEAJ.js";
|
|
37
|
+
import "./chunk-PUBA5B4M.js";
|
|
37
38
|
import "./chunk-VI4ATC6I.js";
|
|
38
39
|
import "./chunk-A27Q27CT.js";
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-GZOG2MAX.js";
|
|
40
|
+
import "./chunk-LSNBTGW4.js";
|
|
41
|
+
import "./chunk-T5SM4RXY.js";
|
|
42
|
+
import "./chunk-VJEJ7JNB.js";
|
|
43
|
+
import "./chunk-L5EPGGDP.js";
|
|
44
44
|
import "./chunk-AM7S2TY6.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-BPVFZ6Q4.js";
|
|
46
46
|
import "./chunk-CVYC6DUW.js";
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-ANVHWV2X.js";
|
|
48
|
+
import "./chunk-HME6ITKV.js";
|
|
49
|
+
import "./chunk-MFAOAIUE.js";
|
|
50
|
+
import "./chunk-PCV52RYM.js";
|
|
51
51
|
import "./chunk-BTSWFMEH.js";
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-IMYGYIAI.js";
|
|
52
|
+
import "./chunk-CIPDQRFO.js";
|
|
54
53
|
import "./chunk-NLEW62VC.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-
|
|
54
|
+
import "./chunk-IMYGYIAI.js";
|
|
55
|
+
import "./chunk-3DAEZILW.js";
|
|
56
|
+
import "./chunk-DRTJCG6B.js";
|
|
57
|
+
import "./chunk-UX2EO653.js";
|
|
58
58
|
import "./chunk-HYZV25LY.js";
|
|
59
59
|
import "./chunk-GJV3WDWM.js";
|
|
60
60
|
import "./chunk-MP2AFCGL.js";
|
|
61
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-YRUZK2QA.js";
|
|
62
|
+
import "./chunk-GL47M7NY.js";
|
|
62
63
|
import "./chunk-BBMTVAE3.js";
|
|
63
64
|
import "./chunk-TKDITWDN.js";
|
|
64
65
|
import "./chunk-5YEUPUV4.js";
|
|
65
|
-
import "./chunk-
|
|
66
|
+
import "./chunk-72V3S44T.js";
|
|
66
67
|
import "./chunk-YYB5PMTK.js";
|
|
67
68
|
import "./chunk-L5CGXEZC.js";
|
|
68
|
-
import "./chunk-
|
|
69
|
+
import "./chunk-QH5ZQ5SJ.js";
|
|
69
70
|
import "./chunk-ZQEJ4IX2.js";
|
|
70
71
|
import "./chunk-FXU7JOXK.js";
|
|
71
72
|
import "./chunk-WNBZJSQT.js";
|
|
72
|
-
import "./chunk-
|
|
73
|
-
import "./chunk-
|
|
73
|
+
import "./chunk-5U2IJBFV.js";
|
|
74
|
+
import "./chunk-TNS63ATU.js";
|
|
74
75
|
import "./chunk-A7XLR3K7.js";
|
|
75
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-DZN7SDY2.js";
|
|
76
77
|
import "./chunk-A7JYF4RG.js";
|
|
77
78
|
import "./chunk-ARX6TAGN.js";
|
|
78
|
-
import "./chunk-
|
|
79
|
-
import "./chunk-HSGBZSCA.js";
|
|
79
|
+
import "./chunk-MMS2HBRT.js";
|
|
80
80
|
import "./chunk-RH4AH3YB.js";
|
|
81
|
+
import "./chunk-HSGBZSCA.js";
|
|
81
82
|
import "./chunk-JKKZGDLP.js";
|
|
82
83
|
import "./chunk-MLKGABMK.js";
|
|
83
84
|
|
|
@@ -91,7 +92,7 @@ async function buildSubagentBootstrapContext(payload, options = {}) {
|
|
|
91
92
|
return "";
|
|
92
93
|
}
|
|
93
94
|
try {
|
|
94
|
-
const { fastDbInit } = await import("./fast-db-init-
|
|
95
|
+
const { fastDbInit } = await import("./fast-db-init-W3NGKAEU.js");
|
|
95
96
|
await fastDbInit({ caller: "hook" });
|
|
96
97
|
} catch {
|
|
97
98
|
}
|
|
@@ -99,7 +100,14 @@ async function buildSubagentBootstrapContext(payload, options = {}) {
|
|
|
99
100
|
return await buildBrief({
|
|
100
101
|
agentId: attribution.agentId,
|
|
101
102
|
cwd: payload.cwd || process.cwd(),
|
|
102
|
-
mode: "subagent"
|
|
103
|
+
mode: "subagent",
|
|
104
|
+
// Bug 24053c0c: `agent_id` is the harness's unique id for THIS subagent
|
|
105
|
+
// spawn, and it is the only thing that separates the several subagents
|
|
106
|
+
// that share one roster identity. It was already being captured by the
|
|
107
|
+
// spawn ledger above and then dropped one call short of the scratch path
|
|
108
|
+
// that needed it — so concurrent `tom`s all resolved one directory while
|
|
109
|
+
// being told it was private.
|
|
110
|
+
agentInstanceId: payload.agent_id
|
|
103
111
|
});
|
|
104
112
|
} catch {
|
|
105
113
|
return "";
|