@askexenow/exe-os 0.9.339 → 0.9.341
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/dist/{active-agent-EC6M7KTX.js → active-agent-AIQP4DFL.js} +3 -3
- package/dist/{active-agent-WHIUCHLA.js → active-agent-LW45DSJ4.js} +3 -3
- package/dist/{agentic-ontology-RNSXGXW4.js → agentic-ontology-RVUNRCQY.js} +1 -1
- package/dist/{backfill-metadata-MFY6BHKE.js → backfill-metadata-ZSDJ4O2T.js} +5 -5
- package/dist/backup-verify-ZAJLEL4X.js +425 -0
- package/dist/{behaviors-HLZUJSMP.js → behaviors-EO7KCP3H.js} +6 -6
- package/dist/bin/agentic-ontology-backfill.js +6 -6
- package/dist/bin/agentic-reflection-backfill.js +7 -7
- package/dist/bin/agentic-semantic-label.js +6 -6
- package/dist/bin/backfill-conversations.js +6 -6
- package/dist/bin/backfill-responses.js +6 -6
- package/dist/bin/backfill-vectors.js +8 -8
- package/dist/bin/bulk-sync-postgres.js +12 -12
- package/dist/bin/cc-doctor.js +4 -4
- package/dist/bin/cleanup-stale-review-tasks.js +17 -17
- package/dist/bin/cli.js +50 -18
- package/dist/bin/deferred-daemon-restart.js +74 -73
- package/dist/bin/exe-agent-config.js +3 -3
- package/dist/bin/exe-agent.js +10 -10
- package/dist/bin/exe-assign.js +8 -8
- package/dist/bin/exe-boot.js +26 -26
- package/dist/bin/exe-call.js +4 -4
- package/dist/bin/exe-cloud.js +12 -12
- package/dist/bin/exe-config-dump.js +3 -3
- package/dist/bin/exe-dispatch.js +17 -17
- package/dist/bin/exe-doctor.js +4 -4
- package/dist/bin/exe-export-behaviors.js +8 -8
- package/dist/bin/exe-forget.js +7 -7
- package/dist/bin/exe-gateway.js +7 -7
- package/dist/bin/exe-healthcheck.js +4 -4
- package/dist/bin/exe-heartbeat.js +17 -17
- package/dist/bin/exe-kill.js +21 -21
- package/dist/bin/exe-launch-agent.js +27 -27
- package/dist/bin/exe-new-employee.js +8 -8
- package/dist/bin/exe-pending-messages.js +18 -18
- package/dist/bin/exe-pending-notifications.js +17 -17
- package/dist/bin/exe-pending-reviews.js +17 -17
- package/dist/bin/exe-rename.js +4 -4
- package/dist/bin/exe-review.js +20 -20
- package/dist/bin/exe-search.js +6 -6
- package/dist/bin/exe-session-cleanup.js +22 -22
- package/dist/bin/exe-settings.js +13 -13
- package/dist/bin/exe-start-codex.js +13 -13
- package/dist/bin/exe-start-opencode.js +9 -9
- package/dist/bin/exe-status.js +18 -18
- package/dist/bin/exe-support.js +3 -3
- package/dist/bin/exe-team.js +3 -3
- package/dist/bin/git-sweep.js +18 -18
- package/dist/bin/graph-backfill.js +7 -7
- package/dist/bin/graph-export.js +6 -6
- package/dist/bin/import-history.js +10 -10
- package/dist/bin/install.js +76 -75
- package/dist/bin/intercom-check.js +4 -4
- package/dist/bin/mcp-sessions.js +2 -2
- package/dist/bin/orchestration-metrics.js +4 -4
- package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
- package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
- package/dist/bin/reconcile-backlog.js +484 -0
- package/dist/bin/registry-proxy.js +1 -1
- package/dist/bin/scan-tasks.js +17 -17
- package/dist/bin/setup.js +1 -1
- package/dist/bin/shard-migrate.js +5 -5
- package/dist/bin/stack-update.js +13 -7
- package/dist/bin/vps-health-gate.js +1 -1
- package/dist/boot-generation-GSMPJOWM.js +22 -0
- package/dist/{capability-cards-YOKVMMOL.js → capability-cards-OBYQNAKZ.js} +2 -2
- package/dist/{capacity-monitor-S54IOWRL.js → capacity-monitor-MG3FTUD5.js} +18 -18
- package/dist/{catchup-brief-DIOMTEW5.js → catchup-brief-BVJOF3GL.js} +21 -21
- package/dist/{chunk-X425OEYF.js → chunk-2C455MU3.js} +2 -2
- package/dist/{chunk-N5I7RL3I.js → chunk-2IWBY7XK.js} +1 -1
- package/dist/{chunk-X7H3HMFH.js → chunk-2P4WJNN5.js} +3 -3
- package/dist/{chunk-MW2GJJ53.js → chunk-2UGGBIDL.js} +2 -2
- package/dist/{chunk-BPC5LZ6Y.js → chunk-2WMTTIAZ.js} +1 -1
- package/dist/{chunk-BU2QQWBQ.js → chunk-2YCFNBC4.js} +1 -1
- package/dist/{chunk-RRWDYOQS.js → chunk-32YHCHWW.js} +1 -1
- package/dist/{chunk-I5RLNOFK.js → chunk-3BRVLPPA.js} +8 -4
- package/dist/{chunk-KTY7I7UH.js → chunk-4FJZ6SO7.js} +1 -1
- package/dist/{chunk-XWHE4LZK.js → chunk-4LWV633D.js} +21 -2
- package/dist/{chunk-AVKXCSBI.js → chunk-4QSJVMMT.js} +1 -1
- package/dist/{chunk-I3XKO3KQ.js → chunk-6BQG7EKO.js} +1 -1
- package/dist/{chunk-RLRT2BVM.js → chunk-6D2PI4QD.js} +1 -1
- package/dist/{chunk-7EA7LYW4.js → chunk-6MVC43X7.js} +4 -4
- package/dist/chunk-6QW6JHRE.js +368 -0
- package/dist/{chunk-HHIBOU3P.js → chunk-7LF5DS3A.js} +1 -1
- package/dist/{chunk-XACL67CS.js → chunk-7SEC2AG5.js} +1 -1
- package/dist/{chunk-UFAXZ2PY.js → chunk-7YORGTXC.js} +1 -1
- package/dist/{chunk-3QDSCJ3F.js → chunk-AP455LBW.js} +1 -1
- package/dist/{chunk-OFX5B2S7.js → chunk-ATKW3SYL.js} +1 -1
- package/dist/{chunk-3OBWSCJN.js → chunk-B7CUBLF7.js} +10 -10
- package/dist/{chunk-UCQITDLM.js → chunk-BJ23BNED.js} +1 -1
- package/dist/{chunk-B76TSEP3.js → chunk-BJOBR6P2.js} +1 -1
- package/dist/{chunk-XCTGRD4S.js → chunk-BMHQPIJ2.js} +12 -12
- package/dist/{chunk-ZIVEA3NB.js → chunk-BR4423AS.js} +1 -1
- package/dist/{chunk-ATOU6CYR.js → chunk-BV6GBSRP.js} +16 -2
- package/dist/{chunk-DZ6OQM67.js → chunk-C445WRUX.js} +1 -1
- package/dist/{chunk-YE7NH53A.js → chunk-CCIEIRV2.js} +1 -1
- package/dist/{chunk-6IRVGOUL.js → chunk-CCPHEPLU.js} +1 -1
- package/dist/{chunk-2HZY3ECT.js → chunk-CMR64RYM.js} +18 -18
- package/dist/{chunk-MQRFKSLI.js → chunk-CYA5S5OD.js} +3 -3
- package/dist/{chunk-FNZR3B7U.js → chunk-DGGDUKH6.js} +1 -1
- package/dist/{chunk-QXSBB26A.js → chunk-DNVFWFYF.js} +1 -1
- package/dist/{chunk-QZLIZAS7.js → chunk-DPFQ2WQX.js} +2 -2
- package/dist/{chunk-H37HHX3E.js → chunk-EDH54E5A.js} +9 -9
- package/dist/{chunk-JD5S5AAV.js → chunk-EDOO23B2.js} +2 -2
- package/dist/{chunk-GQQHDEEM.js → chunk-FOV57K47.js} +10 -10
- package/dist/{chunk-65SVQELL.js → chunk-GFDGDFBF.js} +9 -0
- package/dist/{chunk-DILD54TU.js → chunk-GOGSWXNZ.js} +9 -9
- package/dist/{chunk-UPWE5NOG.js → chunk-GPW32HVB.js} +2 -2
- package/dist/{chunk-4IYSBPX3.js → chunk-HAZO7TRD.js} +1 -1
- package/dist/{chunk-52KNOQMK.js → chunk-HJX6NCJF.js} +3 -3
- package/dist/{chunk-UIV2WPBT.js → chunk-HNLXMD2V.js} +1 -1
- package/dist/{chunk-Z7OZP3ET.js → chunk-HSYJ6DZ2.js} +1 -1
- package/dist/{chunk-LTVCRHHD.js → chunk-HUSVERE6.js} +4 -4
- package/dist/{chunk-I7Z6KTGF.js → chunk-I7ECEP3W.js} +5 -5
- package/dist/{chunk-T4KZ2Z2N.js → chunk-IELUDZAA.js} +3 -3
- package/dist/{chunk-XUKPALWT.js → chunk-ITMEE7PQ.js} +3 -3
- package/dist/{chunk-KCC5A7YL.js → chunk-IXBIVKWZ.js} +6 -6
- package/dist/{chunk-GN45PBWI.js → chunk-J6SEDDOR.js} +2 -2
- package/dist/{chunk-UXBD22CD.js → chunk-K6KRBXQP.js} +1 -1
- package/dist/{chunk-PLRIJALF.js → chunk-KKOLHBNC.js} +33 -25
- package/dist/{chunk-OJTJYEMX.js → chunk-KP4PY2Z2.js} +3 -3
- package/dist/{chunk-VJHUVFIW.js → chunk-L2YGXJGF.js} +3 -3
- package/dist/{chunk-6MRWJMI5.js → chunk-LA2Z6RMS.js} +1 -1
- package/dist/{chunk-DEPZOCYD.js → chunk-LEJ25726.js} +321 -621
- package/dist/{chunk-2233TQCA.js → chunk-LLU6WZLK.js} +1 -1
- package/dist/{chunk-6M36JFFD.js → chunk-LOBCQXV5.js} +4 -4
- package/dist/{chunk-LMZISHSJ.js → chunk-MC4ATFJV.js} +5 -5
- package/dist/{chunk-EIF2LQHZ.js → chunk-MJB5ZFQM.js} +1 -1
- package/dist/{chunk-PAEXYFMY.js → chunk-N7A5D25S.js} +1 -1
- package/dist/{chunk-DADMPMYX.js → chunk-NDSNM5OH.js} +1 -1
- package/dist/{chunk-H2L4PHGH.js → chunk-NFBW7N4D.js} +2 -2
- package/dist/{chunk-VYRYY7TE.js → chunk-NTI22F3R.js} +1 -1
- package/dist/{chunk-TLYAEISW.js → chunk-OUEFW4RK.js} +2 -2
- package/dist/{chunk-K5WFKEXQ.js → chunk-PTJBWC77.js} +1 -1
- package/dist/{chunk-KMBEL7VB.js → chunk-PVIH3ZGV.js} +1 -1
- package/dist/{support-outbox-MGUVVGHT.js → chunk-Q5AIPSSC.js} +19 -7
- package/dist/chunk-RP5GETX5.js +140 -0
- package/dist/{chunk-HEPR6QTL.js → chunk-RWSLVYTE.js} +45 -5
- package/dist/{chunk-XJI7Z6LZ.js → chunk-T2PYVVZ5.js} +1 -1
- package/dist/{chunk-WYLV4S6A.js → chunk-TIXTHUVJ.js} +3 -3
- package/dist/{chunk-7WDXEKUL.js → chunk-TWXZM34M.js} +3 -3
- package/dist/{chunk-W7DHFGCB.js → chunk-U2MREVXQ.js} +1 -1
- package/dist/{chunk-6HBURYON.js → chunk-UIU2DGRV.js} +3 -3
- package/dist/{chunk-7TS64TBG.js → chunk-UU4UINUX.js} +6 -1
- package/dist/chunk-W6K4XB6G.js +40 -0
- package/dist/{chunk-R44Z32O2.js → chunk-WD55PEBM.js} +3 -3
- package/dist/{chunk-FUIIVSW6.js → chunk-WH7XN5ER.js} +1 -1
- package/dist/{chunk-Q7L6G6KV.js → chunk-WWNQFOSP.js} +2 -2
- package/dist/{chunk-542EWGY3.js → chunk-XSMRR4IW.js} +7 -7
- package/dist/{chunk-TNJRWUCE.js → chunk-Y3S4H77G.js} +1 -1
- package/dist/{chunk-AOO77BDE.js → chunk-YHUNDGVV.js} +1 -1
- package/dist/{chunk-JBSCL2XT.js → chunk-YIIME2OW.js} +1 -1
- package/dist/{chunk-QFPTDSY2.js → chunk-YLQXP7T7.js} +1 -1
- package/dist/{chunk-RDTZTLVQ.js → chunk-YWQMWFYR.js} +30 -14
- package/dist/{chunk-2SG2UGCH.js → chunk-ZNE6H2JO.js} +4 -4
- package/dist/{cleanup-graph-garbage-KUABW6LS.js → cleanup-graph-garbage-MXQ4Q2MA.js} +6 -6
- package/dist/{co-activation-XMPHKGHR.js → co-activation-QI5BK4RT.js} +2 -2
- package/dist/{co-occurrence-SHKSJ6CV.js → co-occurrence-BYSQNZSV.js} +4 -4
- package/dist/{code-context-index-EXXDY3QZ.js → code-context-index-BNBHDXHW.js} +2 -2
- package/dist/{content-extractor-RHITF2KM.js → content-extractor-JRJDNIHP.js} +2 -2
- package/dist/{conversation-entity-extractor-D3EFTLT4.js → conversation-entity-extractor-FPAMTL3C.js} +2 -2
- package/dist/{crdt-sync-UJELKSNX.js → crdt-sync-ETPKNBCU.js} +1 -1
- package/dist/{crm-webhook-HHNBS7LY.js → crm-webhook-M566ZMZS.js} +2 -2
- package/dist/{cto-delegation-gate-DXNF5HVW.js → cto-delegation-gate-S734XDXT.js} +16 -16
- package/dist/{daemon-orchestration-7QB6QOXT.js → daemon-orchestration-XV5GN73R.js} +20 -20
- package/dist/{daemon-ready-5XI5BIJD.js → daemon-ready-RKKB4P6K.js} +1 -1
- package/dist/{daemon-ready-signal-E7VMIQ6I.js → daemon-ready-signal-WKEJQNRA.js} +3 -1
- package/dist/{db-backup-DLD4QZBO.js → db-backup-MX2G3CEK.js} +1 -1
- package/dist/{doc-graph-extractor-3TRLGD7M.js → doc-graph-extractor-LR5KMPH7.js} +4 -4
- package/dist/{documents-FHIBU7KJ.js → documents-FA6N7QDA.js} +8 -8
- package/dist/{dreaming-OMFUEUCQ.js → dreaming-UKGTQT6I.js} +17 -17
- package/dist/{exe-drift-KY2KHZEL.js → exe-drift-TUKTCXZE.js} +3 -3
- package/dist/{exe-export-SP6G3QF6.js → exe-export-ZLHBXMZC.js} +7 -7
- package/dist/{exe-import-KJU7FBVQ.js → exe-import-VVKBZWSA.js} +7 -7
- package/dist/{exe-key-5RLFQMYP.js → exe-key-QJXFBF6G.js} +74 -73
- package/dist/{exe-snapshot-ZNPGUKRZ.js → exe-snapshot-JRLUO645.js} +21 -21
- package/dist/{fast-db-init-QQB6IVWV.js → fast-db-init-JKJEEHUI.js} +1 -1
- package/dist/{founder-context-PQR3BUS7.js → founder-context-HWPLMZVR.js} +2 -2
- package/dist/gateway/index.js +24 -24
- package/dist/{git-staleness-UGB5J3K7.js → git-staleness-X5XZONX3.js} +2 -2
- package/dist/{global-procedures-R7KRREEK.js → global-procedures-VIIVWB6R.js} +3 -3
- package/dist/{graph-auto-extract-LKIQ57PL.js → graph-auto-extract-HCQQF5AG.js} +4 -4
- package/dist/{graph-rag-JZZAB7PC.js → graph-rag-WAK2BRJH.js} +2 -2
- package/dist/hooks/bug-report-worker.js +19 -19
- package/dist/hooks/codex-stop-task-finalizer.js +19 -19
- package/dist/hooks/commit-complete.js +19 -19
- package/dist/hooks/error-recall.js +7 -7
- package/dist/hooks/exe-heartbeat-hook.js +3 -3
- package/dist/hooks/ingest-worker.js +5 -5
- package/dist/hooks/ingest.js +9 -9
- package/dist/hooks/instructions-loaded.js +4 -4
- package/dist/hooks/manifest.json +20 -20
- package/dist/hooks/notification.js +4 -4
- package/dist/hooks/post-compact.js +18 -18
- package/dist/hooks/post-tool-combined.js +9 -9
- package/dist/hooks/pre-compact.js +19 -19
- package/dist/hooks/pre-tool-use.js +22 -22
- package/dist/hooks/prompt-submit.js +36 -36
- package/dist/hooks/session-end.js +24 -24
- package/dist/hooks/session-start.js +14 -14
- package/dist/hooks/stop.js +25 -25
- package/dist/hooks/subagent-stop.js +18 -18
- package/dist/hooks/summary-worker.js +23 -23
- package/dist/index.js +29 -29
- package/dist/{installer-SB2N5NKH.js → installer-6IFVEQI4.js} +5 -5
- package/dist/{installer-MZWWBXM6.js → installer-NX2CLNV5.js} +5 -5
- package/dist/{installer-MNPXDLGG.js → installer-T2LGHZKL.js} +5 -5
- package/dist/{intercom-queue-VU2G6F5R.js → intercom-queue-KYHXXZCQ.js} +16 -16
- package/dist/lib/agent-config.js +1 -1
- package/dist/lib/cloud-sync.js +12 -12
- package/dist/lib/consolidation.js +8 -8
- package/dist/lib/database.js +2 -2
- package/dist/lib/db-daemon-client.js +2 -2
- package/dist/lib/db.js +2 -2
- package/dist/lib/device-registry.js +1 -1
- package/dist/lib/embedder.js +2 -2
- package/dist/lib/employee-templates.js +4 -4
- package/dist/lib/employees.js +2 -2
- package/dist/lib/exe-daemon-client.js +1 -1
- package/dist/lib/exe-daemon.js +123 -54
- package/dist/lib/hybrid-search.js +6 -6
- package/dist/lib/identity.js +2 -2
- package/dist/lib/license.js +2 -2
- package/dist/lib/messaging.js +17 -17
- package/dist/lib/post-tool-memory.js +3 -3
- package/dist/lib/registry-proxy.js +1 -1
- package/dist/lib/reminders.js +3 -3
- package/dist/lib/schedules.js +6 -6
- package/dist/lib/session-registry.js +4 -4
- package/dist/lib/skill-learning.js +7 -7
- package/dist/lib/store.js +5 -5
- package/dist/lib/task-router.js +3 -3
- package/dist/lib/tasks.js +18 -18
- package/dist/lib/tmux-routing.js +16 -16
- package/dist/lib/token-spend.js +3 -3
- package/dist/{license-gate-BYDMFMFT.js → license-gate-MGDR4YNI.js} +3 -3
- package/dist/{license-sync-N3RNYVP2.js → license-sync-UWE6GEB4.js} +2 -2
- package/dist/mcp/register-tools.js +73 -72
- package/dist/mcp/server.js +74 -73
- package/dist/mcp/tools/complete-reminder.js +4 -4
- package/dist/mcp/tools/create-reminder.js +4 -4
- package/dist/mcp/tools/create-task.js +20 -20
- package/dist/mcp/tools/deactivate-behavior.js +8 -8
- package/dist/mcp/tools/list-reminders.js +4 -4
- package/dist/mcp/tools/list-tasks.js +20 -20
- package/dist/mcp/tools/send-message.js +19 -19
- package/dist/mcp/tools/update-task.js +19 -19
- package/dist/{mcp-http-config-EMAVS2JI.js → mcp-http-config-RQLYEPTL.js} +3 -3
- package/dist/{memory-cards-TQRLZI4D.js → memory-cards-VYQ5DPMR.js} +5 -5
- package/dist/{memory-graph-extractor-IWGNVAFU.js → memory-graph-extractor-GX2HNYLU.js} +5 -5
- package/dist/{memory-poisoning-defense-T4ITBGSG.js → memory-poisoning-defense-TX7627BD.js} +2 -2
- package/dist/{memory-pressure-watchdog-RRIAXPXQ.js → memory-pressure-watchdog-MLNNH26B.js} +17 -17
- package/dist/{memory-queue-client-BKQHTYTH.js → memory-queue-client-YRL6XTGU.js} +2 -2
- package/dist/{memory-reflection-6N4J2FL7.js → memory-reflection-KIGEFSI4.js} +2 -2
- package/dist/notification-ledger-B6AVEGMV.js +407 -0
- package/dist/{notifications-KONB3C62.js → notifications-DWXV7SVL.js} +16 -16
- package/dist/{orchestration-events-5SIJOE4H.js → orchestration-events-ZG7O4HRY.js} +3 -3
- package/dist/{orchestrator-DUUX7FQV.js → orchestrator-PGHJDUUT.js} +18 -18
- package/dist/{pipeline-router-O6HU7DKH.js → pipeline-router-RTLAGZTA.js} +3 -3
- package/dist/{plan-limits-GRNBOBB3.js → plan-limits-WLQZTCSF.js} +5 -5
- package/dist/{projection-worker-ZVOFHTXT.js → projection-worker-44SEKTZ5.js} +2 -2
- package/dist/{prospective-memory-W6S67LZZ.js → prospective-memory-UACFTYXK.js} +2 -2
- package/dist/{reranker-SSFBRWWD.js → reranker-NL4YAV6R.js} +1 -1
- package/dist/{retrieval-health-TWHKYCRK.js → retrieval-health-4C2PO6HH.js} +1 -1
- package/dist/{review-polling-PCMD5BFN.js → review-polling-W5AMHNLT.js} +17 -17
- package/dist/runtime/index.js +24 -24
- package/dist/{session-events-3LCVQEL7.js → session-events-PGL5GJEB.js} +17 -17
- package/dist/{session-kill-telemetry-CZSPN5V6.js → session-kill-telemetry-6YDGEF27.js} +17 -17
- package/dist/{session-scope-CFHVSVAQ.js → session-scope-3MEOO557.js} +16 -16
- package/dist/{setup-wizard-CJZMM43G.js → setup-wizard-CJIYDSSP.js} +1 -1
- package/dist/{skill-refinement-74T6VDFM.js → skill-refinement-EOROTBPX.js} +3 -3
- package/dist/stack-promote-RSOWO6EY.js +130 -0
- package/dist/{stack-release-XXMV7SPX.js → stack-release-PR2XKJ4Q.js} +24 -9
- package/dist/{stack-update-E2TKHHSQ.js → stack-update-LMDM27ZW.js} +5 -3
- package/dist/{steward-gate-WT7WXQIE.js → steward-gate-4A2XHYFD.js} +3 -3
- package/dist/support-inbox-Z77ACQUY.js +32 -0
- package/dist/support-outbox-GB5SQFRJ.js +16 -0
- package/dist/{task-enforcement-VI7L43DC.js → task-enforcement-X5QVL6RE.js} +17 -17
- package/dist/{task-scope-CQEG5SSJ.js → task-scope-EKYDCVUF.js} +16 -16
- package/dist/{tasks-crud-UGK5A25L.js → tasks-crud-6LBNU43G.js} +16 -16
- package/dist/{tasks-notify-SMLDFBWM.js → tasks-notify-TFJLSQ3B.js} +17 -17
- package/dist/{tasks-review-JKBRACII.js → tasks-review-PBIUYXAL.js} +16 -16
- package/dist/{telemetry-upload-7LBYGPCB.js → telemetry-upload-WQDFABTF.js} +7 -7
- package/dist/{token-budget-QBRJR4M5.js → token-budget-KWGL5DY7.js} +3 -3
- package/dist/{tool-capability-index-Q6YQDL7I.js → tool-capability-index-EH3HQVHU.js} +1 -1
- package/dist/{tool-telemetry-ULIDUK3P.js → tool-telemetry-UC55LSIH.js} +1 -1
- package/dist/tui/App.js +24 -24
- package/dist/{tui-data-NPTGKT37.js → tui-data-M3RBSJL3.js} +16 -16
- package/dist/update-support-VPBD5SD2.js +355 -0
- package/dist/{worker-gate-MXUQUG4M.js → worker-gate-4QLLMXZM.js} +1 -1
- package/dist/{workflow-engine-EWCOLD47.js → workflow-engine-MMEHKUN4.js} +2 -2
- package/dist/{worktree-GVF2I5FP.js → worktree-YXBDRYOC.js} +4 -4
- package/dist/{worktree-sweep-ZAG3V24E.js → worktree-sweep-5WKBU7E6.js} +5 -5
- package/package.json +2 -2
- package/release-notes.json +35 -60
- package/dist/chunk-Y25OJWOQ.js +0 -45
- package/dist/{chunk-FLNSJ2TC.js → chunk-2KLAYDFB.js} +0 -0
- package/dist/{chunk-WHRTDN5J.js → chunk-3NCZKWPO.js} +0 -0
- package/dist/{chunk-IYB2NIW3.js → chunk-6MVI4QH2.js} +0 -0
- package/dist/{chunk-A4DVMPYB.js → chunk-7UMCQQWS.js} +3 -3
- /package/dist/{chunk-QLFRCA6I.js → chunk-AYLNJGCS.js} +0 -0
- /package/dist/{chunk-D3QASX2W.js → chunk-C2SRRCRK.js} +0 -0
- /package/dist/{chunk-KTPG4XKI.js → chunk-IB336P52.js} +0 -0
- /package/dist/{chunk-NQBRGXYR.js → chunk-MC6VPZKS.js} +0 -0
- /package/dist/{chunk-5Z5NATNS.js → chunk-PPZOWQHP.js} +0 -0
- /package/dist/{chunk-C2UO2I6K.js → chunk-WNKVKNOM.js} +0 -0
- /package/dist/{core-memory-VO5ZIBKH.js → core-memory-3IBWM4WR.js} +0 -0
- /package/dist/{entity-boost-DNI4A5I7.js → entity-boost-DWAWXFKN.js} +0 -0
- /package/dist/{message-queue-client-Q5BW3O5W.js → message-queue-client-3PTHPG5Q.js} +0 -0
- /package/dist/{oauth-server-ROQFOEMM.js → oauth-server-M5TGXT6D.js} +0 -0
- /package/dist/{project-boot-SD7GM24K.js → project-boot-6CGQ3EAH.js} +0 -0
- /package/dist/{wiki-acl-JA5UCQZ4.js → wiki-acl-7CROE3MJ.js} +0 -0
package/dist/bin/stack-update.js
CHANGED
|
@@ -19,23 +19,23 @@ import {
|
|
|
19
19
|
runStackUpdate,
|
|
20
20
|
saveServiceSelection,
|
|
21
21
|
verifyManifestImagesAvailable
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-4LWV633D.js";
|
|
23
|
+
import {
|
|
24
|
+
runVerifyStack
|
|
25
|
+
} from "../chunk-5KLQCGI5.js";
|
|
23
26
|
import {
|
|
24
27
|
assertPreflightGate,
|
|
25
28
|
runPreflightOnManifest
|
|
26
29
|
} from "../chunk-3QWOO74G.js";
|
|
27
|
-
import {
|
|
28
|
-
runVerifyStack
|
|
29
|
-
} from "../chunk-5KLQCGI5.js";
|
|
30
30
|
import {
|
|
31
31
|
preDeployBackup
|
|
32
32
|
} from "../chunk-5DMAMQNU.js";
|
|
33
33
|
import {
|
|
34
34
|
logResult,
|
|
35
35
|
runHealthGate
|
|
36
|
-
} from "../chunk-
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
36
|
+
} from "../chunk-DGGDUKH6.js";
|
|
37
|
+
import "../chunk-7SEC2AG5.js";
|
|
38
|
+
import "../chunk-PPZOWQHP.js";
|
|
39
39
|
import "../chunk-7Y5UDEVM.js";
|
|
40
40
|
import "../chunk-SHIICYJW.js";
|
|
41
41
|
import {
|
|
@@ -496,6 +496,7 @@ function parseArgs(args) {
|
|
|
496
496
|
deploymentPersona: process.env.EXE_STACK_DEPLOYMENT_PERSONA === "askexe-control-plane" ? "askexe-control-plane" : "customer",
|
|
497
497
|
yes: false,
|
|
498
498
|
allowedBreakingChangeIds: [],
|
|
499
|
+
allowCanary: process.env.EXE_STACK_ALLOW_CANARY === "1",
|
|
499
500
|
noBootstrap: false,
|
|
500
501
|
skipHardening: false,
|
|
501
502
|
verifyManifestSignature: true,
|
|
@@ -561,6 +562,7 @@ function parseArgs(args) {
|
|
|
561
562
|
else if (arg === "--skip-hardening") opts.skipHardening = true;
|
|
562
563
|
else if (arg === "--cleanup-volumes") opts.cleanupVolumes = true;
|
|
563
564
|
else if (arg === "--allow-red") opts.allowRed = true;
|
|
565
|
+
else if (arg === "--allow-canary") opts.allowCanary = true;
|
|
564
566
|
else if (arg === "--no-verify-manifest-signature") opts.verifyManifestSignature = false;
|
|
565
567
|
else if (arg === "--require-manifest-signature") opts.requireManifestSignature = true;
|
|
566
568
|
else if (arg === "--dry-run") opts.dryRun = true;
|
|
@@ -632,6 +634,9 @@ Options:
|
|
|
632
634
|
--allow-red Break-glass: apply even when the static preflight gate is RED
|
|
633
635
|
(also via EXE_PREFLIGHT_OVERRIDE=1). Loudly logged. By default a
|
|
634
636
|
RED manifest is REFUSED so a broken stack can't be pushed mid-update.
|
|
637
|
+
--allow-canary Explicit opt-in to install a CANARY-stage version implicitly
|
|
638
|
+
(also via EXE_STACK_ALLOW_CANARY=1). Not needed when --target names
|
|
639
|
+
the canary version directly. See: exe-os stack-promote --help
|
|
635
640
|
--no-verify-manifest-signature Explicitly allow unsigned stack manifests (break-glass only)
|
|
636
641
|
--require-manifest-signature Strict: fail unless EXE_STACK_PUBLIC_KEY is configured and the
|
|
637
642
|
manifest signature is valid (default is opt-in: warn + proceed when
|
|
@@ -911,6 +916,7 @@ async function main(args = process.argv.slice(2)) {
|
|
|
911
916
|
const markers = [];
|
|
912
917
|
if (v.isCurrent) markers.push("installed");
|
|
913
918
|
if (v.isLatest) markers.push("latest");
|
|
919
|
+
if (v.rolloutStage === "canary") markers.push("CANARY \u2014 requires --target or --allow-canary");
|
|
914
920
|
const markerStr = markers.length > 0 ? ` \u2190 ${markers.join(", ")}` : "";
|
|
915
921
|
console.log(` ${v.version}${markerStr}${v.releasedAt ? ` (${v.releasedAt.slice(0, 10)})` : ""}`);
|
|
916
922
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {
|
|
2
|
+
_resetBootGenerationCache,
|
|
3
|
+
bumpBootGeneration,
|
|
4
|
+
getBootGeneration,
|
|
5
|
+
getCachedBootGeneration
|
|
6
|
+
} from "./chunk-W6K4XB6G.js";
|
|
7
|
+
import "./chunk-RWSLVYTE.js";
|
|
8
|
+
import "./chunk-2I23RPSI.js";
|
|
9
|
+
import "./chunk-BV6GBSRP.js";
|
|
10
|
+
import "./chunk-PNQDP3OA.js";
|
|
11
|
+
import "./chunk-H73TUI4Y.js";
|
|
12
|
+
import "./chunk-7HLWBYH7.js";
|
|
13
|
+
import "./chunk-FXU7JOXK.js";
|
|
14
|
+
import "./chunk-7Y5UDEVM.js";
|
|
15
|
+
import "./chunk-SHIICYJW.js";
|
|
16
|
+
import "./chunk-MLKGABMK.js";
|
|
17
|
+
export {
|
|
18
|
+
_resetBootGenerationCache,
|
|
19
|
+
bumpBootGeneration,
|
|
20
|
+
getBootGeneration,
|
|
21
|
+
getCachedBootGeneration
|
|
22
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getIdentity,
|
|
3
3
|
loadEmployeesSync
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RWSLVYTE.js";
|
|
5
5
|
import "./chunk-2I23RPSI.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-BV6GBSRP.js";
|
|
7
7
|
import {
|
|
8
8
|
getRoleCapabilities
|
|
9
9
|
} from "./chunk-PNQDP3OA.js";
|
|
@@ -8,43 +8,43 @@ import {
|
|
|
8
8
|
isAtCapacity,
|
|
9
9
|
isWithinRelaunchCooldown,
|
|
10
10
|
pollCapacityDead
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-MC4ATFJV.js";
|
|
12
|
+
import "./chunk-IELUDZAA.js";
|
|
13
|
+
import "./chunk-KKOLHBNC.js";
|
|
14
|
+
import "./chunk-ATKW3SYL.js";
|
|
15
|
+
import "./chunk-BJOBR6P2.js";
|
|
16
|
+
import "./chunk-6D2PI4QD.js";
|
|
17
|
+
import "./chunk-E23LNUWJ.js";
|
|
17
18
|
import "./chunk-4JERP7NT.js";
|
|
18
19
|
import "./chunk-EIKATSE4.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-UIV2WPBT.js";
|
|
21
|
-
import "./chunk-SSTLTIF3.js";
|
|
20
|
+
import "./chunk-HNLXMD2V.js";
|
|
22
21
|
import "./chunk-RMOBQ6A5.js";
|
|
23
22
|
import "./chunk-54QCG45Y.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-SSTLTIF3.js";
|
|
24
|
+
import "./chunk-WH7XN5ER.js";
|
|
25
|
+
import "./chunk-GFDGDFBF.js";
|
|
26
26
|
import "./chunk-NGP6LSV2.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-2UGGBIDL.js";
|
|
28
28
|
import "./chunk-CVYC6DUW.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-LLU6WZLK.js";
|
|
30
30
|
import "./chunk-HCJCW7X4.js";
|
|
31
31
|
import "./chunk-OPU3NYOO.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-UU4UINUX.js";
|
|
33
33
|
import "./chunk-AFNRE2RV.js";
|
|
34
34
|
import "./chunk-3NGZ4PL7.js";
|
|
35
35
|
import "./chunk-NLEW62VC.js";
|
|
36
36
|
import "./chunk-HYZV25LY.js";
|
|
37
37
|
import "./chunk-GJV3WDWM.js";
|
|
38
38
|
import "./chunk-MP2AFCGL.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-RWSLVYTE.js";
|
|
40
40
|
import "./chunk-2I23RPSI.js";
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-BV6GBSRP.js";
|
|
42
42
|
import "./chunk-PNQDP3OA.js";
|
|
43
43
|
import "./chunk-H73TUI4Y.js";
|
|
44
44
|
import "./chunk-7HLWBYH7.js";
|
|
45
45
|
import "./chunk-FXU7JOXK.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-7SEC2AG5.js";
|
|
47
|
+
import "./chunk-PPZOWQHP.js";
|
|
48
48
|
import "./chunk-7Y5UDEVM.js";
|
|
49
49
|
import "./chunk-SHIICYJW.js";
|
|
50
50
|
import "./chunk-MLKGABMK.js";
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import {
|
|
2
2
|
lightweightSearch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FOV57K47.js";
|
|
4
4
|
import "./chunk-AB4PAQYK.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-EDH54E5A.js";
|
|
6
6
|
import "./chunk-CHCA3ZM2.js";
|
|
7
7
|
import "./chunk-OTVEIJUQ.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-7LF5DS3A.js";
|
|
9
|
+
import "./chunk-RP5GETX5.js";
|
|
10
10
|
import {
|
|
11
11
|
sessionScopeFilter,
|
|
12
12
|
strictSessionScopeFilter
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-KKOLHBNC.js";
|
|
14
|
+
import "./chunk-ATKW3SYL.js";
|
|
15
|
+
import "./chunk-BJOBR6P2.js";
|
|
16
|
+
import "./chunk-6D2PI4QD.js";
|
|
17
|
+
import "./chunk-E23LNUWJ.js";
|
|
17
18
|
import "./chunk-4JERP7NT.js";
|
|
18
19
|
import "./chunk-EIKATSE4.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-UIV2WPBT.js";
|
|
21
|
-
import "./chunk-SSTLTIF3.js";
|
|
20
|
+
import "./chunk-HNLXMD2V.js";
|
|
22
21
|
import "./chunk-RMOBQ6A5.js";
|
|
23
22
|
import "./chunk-54QCG45Y.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-SSTLTIF3.js";
|
|
24
|
+
import "./chunk-WH7XN5ER.js";
|
|
25
|
+
import "./chunk-GFDGDFBF.js";
|
|
26
26
|
import "./chunk-NGP6LSV2.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-2UGGBIDL.js";
|
|
28
28
|
import "./chunk-CVYC6DUW.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-LLU6WZLK.js";
|
|
30
30
|
import "./chunk-HCJCW7X4.js";
|
|
31
31
|
import "./chunk-OPU3NYOO.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-UU4UINUX.js";
|
|
33
33
|
import "./chunk-AFNRE2RV.js";
|
|
34
34
|
import "./chunk-3NGZ4PL7.js";
|
|
35
35
|
import "./chunk-NLEW62VC.js";
|
|
@@ -38,16 +38,16 @@ import "./chunk-GJV3WDWM.js";
|
|
|
38
38
|
import "./chunk-MP2AFCGL.js";
|
|
39
39
|
import {
|
|
40
40
|
getClient
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-RWSLVYTE.js";
|
|
42
42
|
import "./chunk-2I23RPSI.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-BV6GBSRP.js";
|
|
44
44
|
import "./chunk-PNQDP3OA.js";
|
|
45
45
|
import "./chunk-H73TUI4Y.js";
|
|
46
46
|
import "./chunk-7HLWBYH7.js";
|
|
47
47
|
import "./chunk-FXU7JOXK.js";
|
|
48
48
|
import "./chunk-Z42MXYWW.js";
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-7SEC2AG5.js";
|
|
50
|
+
import "./chunk-PPZOWQHP.js";
|
|
51
51
|
import "./chunk-7Y5UDEVM.js";
|
|
52
52
|
import "./chunk-SHIICYJW.js";
|
|
53
53
|
import "./chunk-MLKGABMK.js";
|
|
@@ -156,7 +156,7 @@ ${msgLines}`);
|
|
|
156
156
|
} catch {
|
|
157
157
|
}
|
|
158
158
|
try {
|
|
159
|
-
const { getPendingProspective, markSurfaced } = await import("./prospective-memory-
|
|
159
|
+
const { getPendingProspective, markSurfaced } = await import("./prospective-memory-UACFTYXK.js");
|
|
160
160
|
const due = await getPendingProspective(agentId, { projectName, limit: 5 });
|
|
161
161
|
if (due.length > 0) {
|
|
162
162
|
const now = Date.now();
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
} from "./chunk-L3TB7CC3.js";
|
|
9
9
|
import {
|
|
10
10
|
buildClaudeHttpMcpEntry
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-4QSJVMMT.js";
|
|
12
12
|
import {
|
|
13
13
|
ensureAllAgentSymlinks
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ATKW3SYL.js";
|
|
15
15
|
import {
|
|
16
16
|
MCP_LEGACY_KEY,
|
|
17
17
|
MCP_PRIMARY_KEY
|
|
@@ -119,7 +119,7 @@ function releaseBackfillLock() {
|
|
|
119
119
|
}
|
|
120
120
|
async function getTaskAwareCapacity() {
|
|
121
121
|
const { getClient } = await import("./lib/database.js");
|
|
122
|
-
const { sessionScopeFilter } = await import("./task-scope-
|
|
122
|
+
const { sessionScopeFilter } = await import("./task-scope-EKYDCVUF.js");
|
|
123
123
|
const client = getClient();
|
|
124
124
|
const scope = sessionScopeFilter();
|
|
125
125
|
const result = await client.execute({
|
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
resolveExeSession,
|
|
5
5
|
sendIntercom,
|
|
6
6
|
strictSessionScopeFilter
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KKOLHBNC.js";
|
|
8
8
|
import {
|
|
9
9
|
parseMessage,
|
|
10
10
|
serializeMessage
|
|
11
11
|
} from "./chunk-4JERP7NT.js";
|
|
12
12
|
import {
|
|
13
13
|
recordOrchestrationEventBestEffort
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-WH7XN5ER.js";
|
|
15
15
|
import {
|
|
16
16
|
getClient
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-RWSLVYTE.js";
|
|
18
18
|
|
|
19
19
|
// src/lib/messaging.ts
|
|
20
20
|
import crypto from "crypto";
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
getClient,
|
|
4
4
|
isInitialized,
|
|
5
5
|
loadEmployees
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RWSLVYTE.js";
|
|
7
7
|
import {
|
|
8
8
|
PLAN_LIMITS,
|
|
9
9
|
checkLicense,
|
|
10
10
|
isFeatureAllowed
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7SEC2AG5.js";
|
|
12
12
|
import {
|
|
13
13
|
EXE_AI_DIR
|
|
14
14
|
} from "./chunk-7Y5UDEVM.js";
|
|
@@ -11,12 +11,15 @@ function daemonReadyPath() {
|
|
|
11
11
|
function eventLoopBlockedMarkerPath() {
|
|
12
12
|
return join(exeDir(), "session-cache", "event-loop-blocked.marker");
|
|
13
13
|
}
|
|
14
|
+
var _readyGeneration;
|
|
15
|
+
function setDaemonReadyGeneration(generation) {
|
|
16
|
+
_readyGeneration = generation;
|
|
17
|
+
}
|
|
14
18
|
function writeDaemonReady(info) {
|
|
15
19
|
try {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
);
|
|
20
|
+
const payload = { pid: info.pid, port: info.port, ts: (/* @__PURE__ */ new Date()).toISOString() };
|
|
21
|
+
if (_readyGeneration !== void 0) payload.generation = _readyGeneration;
|
|
22
|
+
writeFileSync(daemonReadyPath(), JSON.stringify(payload));
|
|
20
23
|
} catch {
|
|
21
24
|
}
|
|
22
25
|
}
|
|
@@ -55,6 +58,7 @@ function isDaemonReady(maxAgeMs = 3e4) {
|
|
|
55
58
|
|
|
56
59
|
export {
|
|
57
60
|
daemonReadyPath,
|
|
61
|
+
setDaemonReadyGeneration,
|
|
58
62
|
writeDaemonReady,
|
|
59
63
|
clearDaemonReady,
|
|
60
64
|
readDaemonReady,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadLicense
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7SEC2AG5.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/stack-update.ts
|
|
6
6
|
import { execFileSync, spawnSync } from "child_process";
|
|
@@ -955,6 +955,17 @@ function writeBreakGlassAudit(plan, issues, options) {
|
|
|
955
955
|
writeFileSync(auditFile, body, { mode: 384 });
|
|
956
956
|
console.warn(`[stack-update] BREAK-GLASS deploy override recorded: ${auditFile}`);
|
|
957
957
|
}
|
|
958
|
+
function assertRolloutStageAllowed(plan, options) {
|
|
959
|
+
const stage = plan.release.rolloutStage ?? "ga";
|
|
960
|
+
if (stage !== "canary") return;
|
|
961
|
+
if (options.explicitTarget || options.allowCanary) return;
|
|
962
|
+
throw new Error(
|
|
963
|
+
`Stack ${plan.targetVersion} is a CANARY release (not yet promoted to general availability). Refusing to install it implicitly via manifest.latest \u2014 this protects the fleet from an unpromoted rollout reaching every customer at once. To deploy it anyway:
|
|
964
|
+
- as the designated canary host: exe-os stack-update --target ${plan.targetVersion} --yes
|
|
965
|
+
- or explicitly opt in: exe-os stack-update --allow-canary --yes
|
|
966
|
+
Once the canary host is verified healthy, promote it with: exe-os stack-promote --version ${plan.targetVersion} --yes`
|
|
967
|
+
);
|
|
968
|
+
}
|
|
958
969
|
function assertBreakingChangesAllowed(plan, allowedIds) {
|
|
959
970
|
const required = plan.breakingChanges.filter((c) => c.requiresConfirmation !== false);
|
|
960
971
|
const missing = required.filter((c) => !allowedIds.includes(c.id));
|
|
@@ -1786,6 +1797,10 @@ async function runStackUpdate(options) {
|
|
|
1786
1797
|
const composeRaw = readFileSync(options.composeFile, "utf8");
|
|
1787
1798
|
const plan = createStackUpdatePlan(manifest, envRaw, effectiveTargetVersion, scopedServiceNames, serviceSelection, composeRaw);
|
|
1788
1799
|
const fullTargetPlan = scopedServiceNames.length > 0 ? createStackUpdatePlan(manifest, envRaw, effectiveTargetVersion, void 0, serviceSelection, composeRaw) : plan;
|
|
1800
|
+
assertRolloutStageAllowed(plan, {
|
|
1801
|
+
explicitTarget: Boolean(effectiveTargetVersion),
|
|
1802
|
+
allowCanary: options.allowCanary ?? process.env.EXE_STACK_ALLOW_CANARY === "1"
|
|
1803
|
+
});
|
|
1789
1804
|
assertBreakingChangesAllowed(plan, options.allowedBreakingChangeIds ?? []);
|
|
1790
1805
|
assertDeploymentScopeAllowed(plan, options.deploymentPersona ?? "customer");
|
|
1791
1806
|
const plannedEnvRaw = patchEnv(envRaw, Object.fromEntries(plan.changes.map((c) => [c.key, c.after])));
|
|
@@ -2416,7 +2431,10 @@ function listAvailableVersions(manifest, currentVersion) {
|
|
|
2416
2431
|
releasedAt: manifest.stacks[v]?.releasedAt,
|
|
2417
2432
|
notes: manifest.stacks[v]?.notes,
|
|
2418
2433
|
isCurrent: v === currentVersion,
|
|
2419
|
-
isLatest: v === manifest.latest
|
|
2434
|
+
isLatest: v === manifest.latest,
|
|
2435
|
+
// Backward compatible: manifest entries published before rolloutStage existed
|
|
2436
|
+
// are "ga" (see assertRolloutStageAllowed).
|
|
2437
|
+
rolloutStage: manifest.stacks[v]?.rolloutStage ?? "ga"
|
|
2420
2438
|
}));
|
|
2421
2439
|
}
|
|
2422
2440
|
function compareVersions(a, b) {
|
|
@@ -2865,6 +2883,7 @@ export {
|
|
|
2865
2883
|
collectImageAvailabilityIssues,
|
|
2866
2884
|
assertDeploymentScopeAllowed,
|
|
2867
2885
|
assertProductionDeployGate,
|
|
2886
|
+
assertRolloutStageAllowed,
|
|
2868
2887
|
assertBreakingChangesAllowed,
|
|
2869
2888
|
verifyManifestImagesAvailable,
|
|
2870
2889
|
applyGatewayOverlays,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ingest
|
|
3
|
+
} from "./chunk-TWXZM34M.js";
|
|
1
4
|
import {
|
|
2
5
|
listWorkflowDefinitions,
|
|
3
6
|
runWorkflow,
|
|
4
7
|
startWorkflow
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import {
|
|
7
|
-
ingest
|
|
8
|
-
} from "./chunk-7WDXEKUL.js";
|
|
8
|
+
} from "./chunk-DNVFWFYF.js";
|
|
9
9
|
import {
|
|
10
10
|
initCRMBridge
|
|
11
11
|
} from "./chunk-ML4S5SHZ.js";
|