@ashlr/hub 3.10.1 → 3.11.2
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/CHANGELOG.md +151 -0
- package/README.md +343 -82
- package/dist/authority-surface.json +80 -15
- package/dist/build-identity.json +2 -2
- package/dist/cli/cloud.d.ts +39 -0
- package/dist/cli/cloud.js +448 -0
- package/dist/cli/cloud.js.map +1 -0
- package/dist/cli/completions.js +4 -0
- package/dist/cli/completions.js.map +1 -1
- package/dist/cli/help.js +2 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/cloud/backlog.d.ts +17 -0
- package/dist/core/cloud/backlog.js +177 -0
- package/dist/core/cloud/backlog.js.map +1 -0
- package/dist/core/cloud/budget.d.ts +19 -0
- package/dist/core/cloud/budget.js +99 -0
- package/dist/core/cloud/budget.js.map +1 -0
- package/dist/core/cloud/checkout.d.ts +41 -0
- package/dist/core/cloud/checkout.js +168 -0
- package/dist/core/cloud/checkout.js.map +1 -0
- package/dist/core/cloud/cloud-api.d.ts +86 -0
- package/dist/core/cloud/cloud-api.js +599 -0
- package/dist/core/cloud/cloud-api.js.map +1 -0
- package/dist/core/cloud/delivery-contract.d.ts +25 -0
- package/dist/core/cloud/delivery-contract.js +138 -0
- package/dist/core/cloud/delivery-contract.js.map +1 -0
- package/dist/core/cloud/improvement-backlog.d.ts +11 -0
- package/dist/core/cloud/improvement-backlog.js +26 -0
- package/dist/core/cloud/improvement-backlog.js.map +1 -0
- package/dist/core/cloud/launcher.d.ts +68 -0
- package/dist/core/cloud/launcher.js +312 -0
- package/dist/core/cloud/launcher.js.map +1 -0
- package/dist/core/cloud/service.d.ts +51 -0
- package/dist/core/cloud/service.js +215 -0
- package/dist/core/cloud/service.js.map +1 -0
- package/dist/core/cloud/store.d.ts +41 -0
- package/dist/core/cloud/store.js +278 -0
- package/dist/core/cloud/store.js.map +1 -0
- package/dist/core/cloud/tracker.d.ts +30 -0
- package/dist/core/cloud/tracker.js +152 -0
- package/dist/core/cloud/tracker.js.map +1 -0
- package/dist/core/cloud/types.d.ts +233 -0
- package/dist/core/cloud/types.js +73 -0
- package/dist/core/cloud/types.js.map +1 -0
- package/dist/core/universe/builtins/preparation/manifest.json +1 -1
- package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +5 -4
- package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +4 -3
- package/dist/core/universe/campaign.js +9 -1
- package/dist/core/universe/campaign.js.map +1 -1
- package/dist/core/universe/runner.d.ts +3 -0
- package/dist/core/universe/runner.js +7 -3
- package/dist/core/universe/runner.js.map +1 -1
- package/dist/core/verse/activity-api.d.ts +3 -1
- package/dist/core/verse/activity-api.js +16 -1
- package/dist/core/verse/activity-api.js.map +1 -1
- package/dist/core/verse/activity.d.ts +7 -0
- package/dist/core/verse/activity.js +23 -0
- package/dist/core/verse/activity.js.map +1 -1
- package/dist/core/verse/compaction-point.d.ts +55 -0
- package/dist/core/verse/compaction-point.js +75 -0
- package/dist/core/verse/compaction-point.js.map +1 -0
- package/dist/core/verse/context-math.d.ts +1 -38
- package/dist/core/verse/context-math.js +5 -59
- package/dist/core/verse/context-math.js.map +1 -1
- package/dist/core/verse/verse-api.d.ts +1 -1
- package/dist/core/verse/verse-api.js +2 -0
- package/dist/core/verse/verse-api.js.map +1 -1
- package/dist/core/vision/leader-cloud.d.ts +63 -0
- package/dist/core/vision/leader-cloud.js +134 -0
- package/dist/core/vision/leader-cloud.js.map +1 -0
- package/dist/core/vision/leader.d.ts +6 -0
- package/dist/core/vision/leader.js +12 -1
- package/dist/core/vision/leader.js.map +1 -1
- package/dist/core/web/public/next/assets/{ActionMenu-BBB7VYjz.js → ActionMenu-_DhtX2gO.js} +2 -2
- package/dist/core/web/public/next/assets/{ActionMenu-BBB7VYjz.js.map → ActionMenu-_DhtX2gO.js.map} +1 -1
- package/dist/core/web/public/next/assets/Advanced-CAAfaBke.js +2 -0
- package/dist/core/web/public/next/assets/Advanced-CAAfaBke.js.map +1 -0
- package/dist/core/web/public/next/assets/App-BAywyjE8.js +7 -0
- package/dist/core/web/public/next/assets/{App-CbDCLAxn.js.map → App-BAywyjE8.js.map} +1 -1
- package/dist/core/web/public/next/assets/AppsSection-CUypKeog.js +2 -0
- package/dist/core/web/public/next/assets/AppsSection-CUypKeog.js.map +1 -0
- package/dist/core/web/public/next/assets/{AreaTrend-BgnK0wAy.js → AreaTrend-CblDqC8Q.js} +2 -2
- package/dist/core/web/public/next/assets/{AreaTrend-BgnK0wAy.js.map → AreaTrend-CblDqC8Q.js.map} +1 -1
- package/dist/core/web/public/next/assets/AutonomySection-D3d8lYO3.js +2 -0
- package/dist/core/web/public/next/assets/{AutonomySection-BF5UCsMv.js.map → AutonomySection-D3d8lYO3.js.map} +1 -1
- package/dist/core/web/public/next/assets/BranchBar-DU0jAV1E.js +2 -0
- package/dist/core/web/public/next/assets/{BranchBar-nfSb59Kv.js.map → BranchBar-DU0jAV1E.js.map} +1 -1
- package/dist/core/web/public/next/assets/{BudgetControl-BESM12dO.js → BudgetControl-Mm1ZL4u6.js} +2 -2
- package/dist/core/web/public/next/assets/{BudgetControl-BESM12dO.js.map → BudgetControl-Mm1ZL4u6.js.map} +1 -1
- package/dist/core/web/public/next/assets/{BurnDown-D1AfskPT.js → BurnDown-C1fgcFqo.js} +2 -2
- package/dist/core/web/public/next/assets/{BurnDown-D1AfskPT.js.map → BurnDown-C1fgcFqo.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Button-Cr_qkQEc.js → Button-DqgLUZvd.js} +2 -2
- package/dist/core/web/public/next/assets/{Button-Cr_qkQEc.js.map → Button-DqgLUZvd.js.map} +1 -1
- package/dist/core/web/public/next/assets/CapacityStrip-nWFHvqFB.js +2 -0
- package/dist/core/web/public/next/assets/CapacityStrip-nWFHvqFB.js.map +1 -0
- package/dist/core/web/public/next/assets/ChatSection-DUZNpiVr.js +3 -0
- package/dist/core/web/public/next/assets/ChatSection-DUZNpiVr.js.map +1 -0
- package/dist/core/web/public/next/assets/CloudBudgetForm-2OW38o_C.js +2 -0
- package/dist/core/web/public/next/assets/CloudBudgetForm-2OW38o_C.js.map +1 -0
- package/dist/core/web/public/next/assets/CommandPalette-C5w2o1-r.js +2 -0
- package/dist/core/web/public/next/assets/{CommandPalette-lLV-OR63.js.map → CommandPalette-C5w2o1-r.js.map} +1 -1
- package/dist/core/web/public/next/assets/CommandSection-Bx2knNqY.js +2 -0
- package/dist/core/web/public/next/assets/CommandSection-Bx2knNqY.js.map +1 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-B7ZwCQOX.js +2 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-B7ZwCQOX.js.map +1 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-Dx15x0Ho.css +1 -0
- package/dist/core/web/public/next/assets/Dialog-BpgcEW6b.js +2 -0
- package/dist/core/web/public/next/assets/Dialog-BpgcEW6b.js.map +1 -0
- package/dist/core/web/public/next/assets/Dialog-tQ8kFulD.css +1 -0
- package/dist/core/web/public/next/assets/{DiffPane-BVxhK-cy.js → DiffPane-DpqRUtCx.js} +2 -2
- package/dist/core/web/public/next/assets/{DiffPane-BVxhK-cy.js.map → DiffPane-DpqRUtCx.js.map} +1 -1
- package/dist/core/web/public/next/assets/{DiffViewer-yCdw9J-Y.js → DiffViewer-CoV5-nUf.js} +2 -2
- package/dist/core/web/public/next/assets/{DiffViewer-yCdw9J-Y.js.map → DiffViewer-CoV5-nUf.js.map} +1 -1
- package/dist/core/web/public/next/assets/DockHost-C0Pq7Jak.js +2 -0
- package/dist/core/web/public/next/assets/{DockHost-BZReKwos.js.map → DockHost-C0Pq7Jak.js.map} +1 -1
- package/dist/core/web/public/next/assets/{EmptyState-D1GDxVZy.js → EmptyState-DYW29ncw.js} +2 -2
- package/dist/core/web/public/next/assets/{EmptyState-D1GDxVZy.js.map → EmptyState-DYW29ncw.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Epistemic-DRp4dBfB.js → Epistemic-DVx6oHzp.js} +2 -2
- package/dist/core/web/public/next/assets/{Epistemic-DRp4dBfB.js.map → Epistemic-DVx6oHzp.js.map} +1 -1
- package/dist/core/web/public/next/assets/FleetSection-DSETviPK.js +3 -0
- package/dist/core/web/public/next/assets/FleetSection-DSETviPK.js.map +1 -0
- package/dist/core/web/public/next/assets/{Funnel-zvDj3He4.js → Funnel-DxiGqJrt.js} +2 -2
- package/dist/core/web/public/next/assets/{Funnel-zvDj3He4.js.map → Funnel-DxiGqJrt.js.map} +1 -1
- package/dist/core/web/public/next/assets/GearTray-C3I89sIt.js +2 -0
- package/dist/core/web/public/next/assets/{GearTray-CkviqjYr.js.map → GearTray-C3I89sIt.js.map} +1 -1
- package/dist/core/web/public/next/assets/{GrowthSection-Bg5sW0jI.js → GrowthSection-C3m2bPEz.js} +2 -2
- package/dist/core/web/public/next/assets/{GrowthSection-Bg5sW0jI.js.map → GrowthSection-C3m2bPEz.js.map} +1 -1
- package/dist/core/web/public/next/assets/HandoffDialog-Bjb96a0N.js +2 -0
- package/dist/core/web/public/next/assets/{HandoffDialog-DcPj1ri9.js.map → HandoffDialog-Bjb96a0N.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Input-Ci7TD96x.js → Input-ekTehVaH.js} +2 -2
- package/dist/core/web/public/next/assets/{Input-Ci7TD96x.js.map → Input-ekTehVaH.js.map} +1 -1
- package/dist/core/web/public/next/assets/LeaderCard-85VBbbaZ.js +2 -0
- package/dist/core/web/public/next/assets/{LeaderCard-BSFTlMRF.js.map → LeaderCard-85VBbbaZ.js.map} +1 -1
- package/dist/core/web/public/next/assets/{MatrixHeatmap-DojKZe9L.js → MatrixHeatmap-Bo8j0QPC.js} +2 -2
- package/dist/core/web/public/next/assets/{MatrixHeatmap-DojKZe9L.js.map → MatrixHeatmap-Bo8j0QPC.js.map} +1 -1
- package/dist/core/web/public/next/assets/McpSection-DvHFaVyp.js +2 -0
- package/dist/core/web/public/next/assets/{McpSection-CvcYu1X_.js.map → McpSection-DvHFaVyp.js.map} +1 -1
- package/dist/core/web/public/next/assets/{MessageMarkdown-BrLCrb73.js → MessageMarkdown-fsY_ltVa.js} +3 -3
- package/dist/core/web/public/next/assets/{MessageMarkdown-BrLCrb73.js.map → MessageMarkdown-fsY_ltVa.js.map} +1 -1
- package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-CjmdBw2p.js → MessageMarkdownRenderer-DDdtu82l.js} +2 -2
- package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-CjmdBw2p.js.map → MessageMarkdownRenderer-DDdtu82l.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Meter-DTHbmhQg.js → Meter-CeGDXdDM.js} +2 -2
- package/dist/core/web/public/next/assets/{Meter-DTHbmhQg.js.map → Meter-CeGDXdDM.js.map} +1 -1
- package/dist/core/web/public/next/assets/MindSection-CDVhHvXl.js +2 -0
- package/dist/core/web/public/next/assets/{MindSection-DcO9fmYe.js.map → MindSection-CDVhHvXl.js.map} +1 -1
- package/dist/core/web/public/next/assets/MutationTokenDialog-CrfJ0PdD.css +1 -0
- package/dist/core/web/public/next/assets/MutationTokenDialog-DTQzEOHR.js +2 -0
- package/dist/core/web/public/next/assets/MutationTokenDialog-DTQzEOHR.js.map +1 -0
- package/dist/core/web/public/next/assets/NeedsYouDrawer-6AuN0BF3.js +2 -0
- package/dist/core/web/public/next/assets/{NeedsYouDrawer-hiTINupk.js.map → NeedsYouDrawer-6AuN0BF3.js.map} +1 -1
- package/dist/core/web/public/next/assets/{NeedsYouList-B4Z37Phx.js → NeedsYouList-ChnRmbSk.js} +2 -2
- package/dist/core/web/public/next/assets/{NeedsYouList-B4Z37Phx.js.map → NeedsYouList-ChnRmbSk.js.map} +1 -1
- package/dist/core/web/public/next/assets/NewChatDialog-B06E7sqg.js +3 -0
- package/dist/core/web/public/next/assets/{NewChatDialog-utSckh7C.js.map → NewChatDialog-B06E7sqg.js.map} +1 -1
- package/dist/core/web/public/next/assets/OnboardingFlow-C2M3zov9.js +2 -0
- package/dist/core/web/public/next/assets/{OnboardingFlow-7N3YSUHN.js.map → OnboardingFlow-C2M3zov9.js.map} +1 -1
- package/dist/core/web/public/next/assets/PreviewPane-Bd6HsX1k.js +2 -0
- package/dist/core/web/public/next/assets/{PreviewPane-CqzkaAjG.js.map → PreviewPane-Bd6HsX1k.js.map} +1 -1
- package/dist/core/web/public/next/assets/ProviderLogo-Bz7KR5j3.js +2 -0
- package/dist/core/web/public/next/assets/ProviderLogo-Bz7KR5j3.js.map +1 -0
- package/dist/core/web/public/next/assets/RailStatus-CctCuuLy.js +2 -0
- package/dist/core/web/public/next/assets/{RailStatus-sZhApA8k.js.map → RailStatus-CctCuuLy.js.map} +1 -1
- package/dist/core/web/public/next/assets/{RefreshIndicator-C1uQIegT.js → RefreshIndicator-CKY5BGdD.js} +2 -2
- package/dist/core/web/public/next/assets/{RefreshIndicator-C1uQIegT.js.map → RefreshIndicator-CKY5BGdD.js.map} +1 -1
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-CM_8pJs6.css → ResourcePoolConsoleApp-BX9JLkT4.css} +1 -1
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-DXjjV6Sh.js → ResourcePoolConsoleApp-CspIsW_G.js} +5 -5
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-DXjjV6Sh.js.map → ResourcePoolConsoleApp-CspIsW_G.js.map} +1 -1
- package/dist/core/web/public/next/assets/ResourcesChrome-B7fHZ6zX.js +3 -0
- package/dist/core/web/public/next/assets/ResourcesChrome-B7fHZ6zX.js.map +1 -0
- package/dist/core/web/public/next/assets/ResourcesChrome-uZEqC2EM.css +1 -0
- package/dist/core/web/public/next/assets/ResourcesDrawer-B7-N9n7-.js +2 -0
- package/dist/core/web/public/next/assets/ResourcesDrawer-B7-N9n7-.js.map +1 -0
- package/dist/core/web/public/next/assets/ResourcesDrawer-CSKIO_wZ.css +1 -0
- package/dist/core/web/public/next/assets/RouteErrorBoundary-C_B11J0s.js +2 -0
- package/dist/core/web/public/next/assets/RouteErrorBoundary-C_B11J0s.js.map +1 -0
- package/dist/core/web/public/next/assets/RouteErrorBoundary-DdxhTdZ6.css +1 -0
- package/dist/core/web/public/next/assets/RunInCloudAction-_juw4EXd.js +2 -0
- package/dist/core/web/public/next/assets/RunInCloudAction-_juw4EXd.js.map +1 -0
- package/dist/core/web/public/next/assets/SeatSelector-D_YXvkPy.js +3 -0
- package/dist/core/web/public/next/assets/{SeatSelector-CT92PqM_.js.map → SeatSelector-D_YXvkPy.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Segmented-BMvq-FfD.js → Segmented-DnKP6rr7.js} +2 -2
- package/dist/core/web/public/next/assets/{Segmented-BMvq-FfD.js.map → Segmented-DnKP6rr7.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Select-DkdeoSQn.js → Select-DlbUupTX.js} +2 -2
- package/dist/core/web/public/next/assets/{Select-DkdeoSQn.js.map → Select-DlbUupTX.js.map} +1 -1
- package/dist/core/web/public/next/assets/SessionGate-DnuTZACL.js +2 -0
- package/dist/core/web/public/next/assets/SessionGate-DnuTZACL.js.map +1 -0
- package/dist/core/web/public/next/assets/SessionGate-DvMpXNpJ.css +1 -0
- package/dist/core/web/public/next/assets/SessionInsightChip-C33-k-Q5.js +2 -0
- package/dist/core/web/public/next/assets/{SessionInsightChip-CwlakUYU.js.map → SessionInsightChip-C33-k-Q5.js.map} +1 -1
- package/dist/core/web/public/next/assets/{SessionSearch-DFByh2NZ.js → SessionSearch-DhhR9Csg.js} +2 -2
- package/dist/core/web/public/next/assets/{SessionSearch-DFByh2NZ.js.map → SessionSearch-DhhR9Csg.js.map} +1 -1
- package/dist/core/web/public/next/assets/SettingsSection-C0xQvCz3.js +2 -0
- package/dist/core/web/public/next/assets/SettingsSection-C0xQvCz3.js.map +1 -0
- package/dist/core/web/public/next/assets/Sheet-BvNYOYv5.js +2 -0
- package/dist/core/web/public/next/assets/{Sheet-C7APkGPt.js.map → Sheet-BvNYOYv5.js.map} +1 -1
- package/dist/core/web/public/next/assets/ShortcutsOverlay-1nUBVO-Z.js +2 -0
- package/dist/core/web/public/next/assets/{ShortcutsOverlay-ZPyXUS_I.js.map → ShortcutsOverlay-1nUBVO-Z.js.map} +1 -1
- package/dist/core/web/public/next/assets/Sidebar-YrVvvBNM.js +3 -0
- package/dist/core/web/public/next/assets/{Sidebar-Chsgazmk.js.map → Sidebar-YrVvvBNM.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Slider-B0kjW7cd.js → Slider-B2c-dbQb.js} +2 -2
- package/dist/core/web/public/next/assets/{Slider-B0kjW7cd.js.map → Slider-B2c-dbQb.js.map} +1 -1
- package/dist/core/web/public/next/assets/{StatusBadge-wv4e6f8b.js → StatusBadge-Q9YYkijx.js} +2 -2
- package/dist/core/web/public/next/assets/{StatusBadge-wv4e6f8b.js.map → StatusBadge-Q9YYkijx.js.map} +1 -1
- package/dist/core/web/public/next/assets/{StepBand-Db8WPw8J.js → StepBand-Ci-C0GUG.js} +2 -2
- package/dist/core/web/public/next/assets/{StepBand-Db8WPw8J.js.map → StepBand-Ci-C0GUG.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Surface-BkDrQ4t3.js → Surface-DBovMq4P.js} +2 -2
- package/dist/core/web/public/next/assets/{Surface-BkDrQ4t3.js.map → Surface-DBovMq4P.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Swimlane-Dcve56cP.js → Swimlane-Cdc4TqDe.js} +2 -2
- package/dist/core/web/public/next/assets/{Swimlane-Dcve56cP.js.map → Swimlane-Cdc4TqDe.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Switch-DamlpSMY.js → Switch-CUrvzO2k.js} +2 -2
- package/dist/core/web/public/next/assets/{Switch-DamlpSMY.js.map → Switch-CUrvzO2k.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Tag-Cs4tudBN.js → Tag-Bv8u6APt.js} +2 -2
- package/dist/core/web/public/next/assets/{Tag-Cs4tudBN.js.map → Tag-Bv8u6APt.js.map} +1 -1
- package/dist/core/web/public/next/assets/TerminalPane-BE4Xlqi5.js +7 -0
- package/dist/core/web/public/next/assets/{TerminalPane-BDkKFych.js.map → TerminalPane-BE4Xlqi5.js.map} +1 -1
- package/dist/core/web/public/next/assets/UniverseConsoleApp-BGwejf0m.js +2 -0
- package/dist/core/web/public/next/assets/{UniverseConsoleApp-BE72VyBL.js.map → UniverseConsoleApp-BGwejf0m.js.map} +1 -1
- package/dist/core/web/public/next/assets/{UniverseConsoleApp-Dh7A-hLD.css → UniverseConsoleApp-DfuT-wFw.css} +1 -1
- package/dist/core/web/public/next/assets/{UniverseView-BbmYY2P4.js → UniverseView-CgKa-WXC.js} +4 -4
- package/dist/core/web/public/next/assets/{UniverseView-BbmYY2P4.js.map → UniverseView-CgKa-WXC.js.map} +1 -1
- package/dist/core/web/public/next/assets/UsageSection-CazsHm1f.js +2 -0
- package/dist/core/web/public/next/assets/UsageSection-CazsHm1f.js.map +1 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-CTF3Shs0.js +3 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-CTF3Shs0.js.map +1 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-Cxqr-3qc.css +1 -0
- package/dist/core/web/public/next/assets/Workspace-CgdyXiEV.js +10 -0
- package/dist/core/web/public/next/assets/Workspace-CgdyXiEV.js.map +1 -0
- package/dist/core/web/public/next/assets/Workspace-Dwri2jFJ.css +1 -0
- package/dist/core/web/public/next/assets/actions-MtxBGS5B.js +2 -0
- package/dist/core/web/public/next/assets/{actions-BnjZy8a-.js.map → actions-MtxBGS5B.js.map} +1 -1
- package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js +2 -0
- package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js.map +1 -0
- package/dist/core/web/public/next/assets/budget-queries-CP7hgR-p.js +2 -0
- package/dist/core/web/public/next/assets/{budget-queries-Cp6vO7FH.js.map → budget-queries-CP7hgR-p.js.map} +1 -1
- package/dist/core/web/public/next/assets/{capacity-strip-model-9-Yb211u.js → capacity-strip-model-fHfu5cph.js} +2 -2
- package/dist/core/web/public/next/assets/{capacity-strip-model-9-Yb211u.js.map → capacity-strip-model-fHfu5cph.js.map} +1 -1
- package/dist/core/web/public/next/assets/{charts-BmbKhjqw.js → charts-Bis9WSiS.js} +2 -2
- package/dist/core/web/public/next/assets/{charts-BmbKhjqw.js.map → charts-Bis9WSiS.js.map} +1 -1
- package/dist/core/web/public/next/assets/cloud-C1KPNRHC.css +1 -0
- package/dist/core/web/public/next/assets/cloud-queries-BsOepFz6.js +2 -0
- package/dist/core/web/public/next/assets/cloud-queries-BsOepFz6.js.map +1 -0
- package/dist/core/web/public/next/assets/cloud.module-DoFnr8ZH.js +2 -0
- package/dist/core/web/public/next/assets/cloud.module-DoFnr8ZH.js.map +1 -0
- package/dist/core/web/public/next/assets/{command-bus-DHJJLWh8.js → command-bus-CMvbYP5K.js} +2 -2
- package/dist/core/web/public/next/assets/{command-bus-DHJJLWh8.js.map → command-bus-CMvbYP5K.js.map} +1 -1
- package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js +2 -0
- package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js.map +1 -0
- package/dist/core/web/public/next/assets/compaction-point-VL9oegWS.js +2 -0
- package/dist/core/web/public/next/assets/compaction-point-VL9oegWS.js.map +1 -0
- package/dist/core/web/public/next/assets/{composer-keys-CYz4U4Bg.js → composer-keys-su0g1h9o.js} +2 -2
- package/dist/core/web/public/next/assets/{composer-keys-CYz4U4Bg.js.map → composer-keys-su0g1h9o.js.map} +1 -1
- package/dist/core/web/public/next/assets/context-model-Ci3Ch9t5.js +2 -0
- package/dist/core/web/public/next/assets/{context-model-DeJ28uSZ.js.map → context-model-Ci3Ch9t5.js.map} +1 -1
- package/dist/core/web/public/next/assets/context-model-CjiJTnf1.js +2 -0
- package/dist/core/web/public/next/assets/{context-model-BGznyHNQ.js.map → context-model-CjiJTnf1.js.map} +1 -1
- package/dist/core/web/public/next/assets/context-queries-BDXT6LQ3.js +2 -0
- package/dist/core/web/public/next/assets/{context-queries-_mEgy4eg.js.map → context-queries-BDXT6LQ3.js.map} +1 -1
- package/dist/core/web/public/next/assets/control-queries-Dv-h1Clu.js +2 -0
- package/dist/core/web/public/next/assets/{control-queries-C4TG8blN.js.map → control-queries-Dv-h1Clu.js.map} +1 -1
- package/dist/core/web/public/next/assets/{dock-icons-BB7Fi6hT.js → dock-icons-t--Eugrd.js} +2 -2
- package/dist/core/web/public/next/assets/{dock-icons-BB7Fi6hT.js.map → dock-icons-t--Eugrd.js.map} +1 -1
- package/dist/core/web/public/next/assets/{dock-store-CdHQRP8s.js → dock-store-qIu7kSQE.js} +2 -2
- package/dist/core/web/public/next/assets/{dock-store-CdHQRP8s.js.map → dock-store-qIu7kSQE.js.map} +1 -1
- package/dist/core/web/public/next/assets/{fleet-model-B4FKC7fH.js → fleet-model-IRbwfhkR.js} +2 -2
- package/dist/core/web/public/next/assets/{fleet-model-B4FKC7fH.js.map → fleet-model-IRbwfhkR.js.map} +1 -1
- package/dist/core/web/public/next/assets/fleet-queries-7FVNByX1.js +2 -0
- package/dist/core/web/public/next/assets/fleet-queries-7FVNByX1.js.map +1 -0
- package/dist/core/web/public/next/assets/focus-trap-QqQxQdvH.js +2 -0
- package/dist/core/web/public/next/assets/focus-trap-QqQxQdvH.js.map +1 -0
- package/dist/core/web/public/next/assets/{format-lW58rL2y.js → format-CaMmVQCn.js} +2 -2
- package/dist/core/web/public/next/assets/{format-lW58rL2y.js.map → format-CaMmVQCn.js.map} +1 -1
- package/dist/core/web/public/next/assets/git-model-B4S_GUNA.js +5 -0
- package/dist/core/web/public/next/assets/{git-model-DaGw1SzS.js.map → git-model-B4S_GUNA.js.map} +1 -1
- package/dist/core/web/public/next/assets/global-BkNl4e6E.js +2 -0
- package/dist/core/web/public/next/assets/global-BkNl4e6E.js.map +1 -0
- package/dist/core/web/public/next/assets/global-BlI2BYa1.css +1 -0
- package/dist/core/web/public/next/assets/guarded-action-DHiL8tY5.js +3 -0
- package/dist/core/web/public/next/assets/guarded-action-DHiL8tY5.js.map +1 -0
- package/dist/core/web/public/next/assets/guarded-runners-DmGEkM2P.js +2 -0
- package/dist/core/web/public/next/assets/guarded-runners-DmGEkM2P.js.map +1 -0
- package/dist/core/web/public/next/assets/icon-base-NtFmP2yB.js +2 -0
- package/dist/core/web/public/next/assets/icon-base-NtFmP2yB.js.map +1 -0
- package/dist/core/web/public/next/assets/icons-C5EFt_Ts.js +2 -0
- package/dist/core/web/public/next/assets/icons-C5EFt_Ts.js.map +1 -0
- package/dist/core/web/public/next/assets/{index-Dk8R-3a7.js → index-DbDw9UAs.js} +3 -3
- package/dist/core/web/public/next/assets/{index-Dk8R-3a7.js.map → index-DbDw9UAs.js.map} +1 -1
- package/dist/core/web/public/next/assets/{live-model-44wEU6I8.js → live-model-DEwrl7_A.js} +2 -2
- package/dist/core/web/public/next/assets/{live-model-44wEU6I8.js.map → live-model-DEwrl7_A.js.map} +1 -1
- package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js +2 -0
- package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js.map +1 -0
- package/dist/core/web/public/next/assets/{mind.module-BOABBdi_.js → mind.module-CLhqMQak.js} +2 -2
- package/dist/core/web/public/next/assets/{mind.module-BOABBdi_.js.map → mind.module-CLhqMQak.js.map} +1 -1
- package/dist/core/web/public/next/assets/mutations-Kvzsg-iK.js +2 -0
- package/dist/core/web/public/next/assets/{mutations-DjXM3IDg.js.map → mutations-Kvzsg-iK.js.map} +1 -1
- package/dist/core/web/public/next/assets/nav-C0IunEYF.js +2 -0
- package/dist/core/web/public/next/assets/nav-C0IunEYF.js.map +1 -0
- package/dist/core/web/public/next/assets/overnight-queries-C_AfcL7q.js +2 -0
- package/dist/core/web/public/next/assets/{overnight-queries-Be_eossf.js.map → overnight-queries-C_AfcL7q.js.map} +1 -1
- package/dist/core/web/public/next/assets/preloaded-CctOitLu.js +2 -0
- package/dist/core/web/public/next/assets/preloaded-CctOitLu.js.map +1 -0
- package/dist/core/web/public/next/assets/primitives-CbAGCNKt.js +1 -0
- package/dist/core/web/public/next/assets/{queries-CYEVCq5r.js → queries-THD05gHP.js} +2 -2
- package/dist/core/web/public/next/assets/{queries-CYEVCq5r.js.map → queries-THD05gHP.js.map} +1 -1
- package/dist/core/web/public/next/assets/reasoning-pref-BVPu0SME.js +2 -0
- package/dist/core/web/public/next/assets/{reasoning-pref-a_ZP6GzU.js.map → reasoning-pref-BVPu0SME.js.map} +1 -1
- package/dist/core/web/public/next/assets/reveal-anchor-wCT5b4m3.js +2 -0
- package/dist/core/web/public/next/assets/reveal-anchor-wCT5b4m3.js.map +1 -0
- package/dist/core/web/public/next/assets/seat-subscription-CR_VylsK.js +2 -0
- package/dist/core/web/public/next/assets/{seat-subscription-CRigL-GE.js.map → seat-subscription-CR_VylsK.js.map} +1 -1
- package/dist/core/web/public/next/assets/{section-visibility-u7q-Q9AA.js → section-visibility-B0xXUQJ0.js} +2 -2
- package/dist/core/web/public/next/assets/{section-visibility-u7q-Q9AA.js.map → section-visibility-B0xXUQJ0.js.map} +1 -1
- package/dist/core/web/public/next/assets/{sidebar-model-i4WRuQ6j.js → sidebar-model-C5wVXGpb.js} +2 -2
- package/dist/core/web/public/next/assets/{sidebar-model-i4WRuQ6j.js.map → sidebar-model-C5wVXGpb.js.map} +1 -1
- package/dist/core/web/public/next/assets/slots-DDd8cEoh.js +3 -0
- package/dist/core/web/public/next/assets/{slots-CV9ZuLQU.js.map → slots-DDd8cEoh.js.map} +1 -1
- package/dist/core/web/public/next/assets/surface-data-BFxAlefI.js +2 -0
- package/dist/core/web/public/next/assets/{surface-data-DLvmUX9z.js.map → surface-data-BFxAlefI.js.map} +1 -1
- package/dist/core/web/public/next/assets/surface-prefetch-CHusyO9q.js +2 -0
- package/dist/core/web/public/next/assets/surface-prefetch-CHusyO9q.js.map +1 -0
- package/dist/core/web/public/next/assets/{tasks-model-DWs5u9RO.js → tasks-model-DvkWveXs.js} +2 -2
- package/dist/core/web/public/next/assets/{tasks-model-DWs5u9RO.js.map → tasks-model-DvkWveXs.js.map} +1 -1
- package/dist/core/web/public/next/assets/{terminal-icons-Ct9cZsEK.js → terminal-icons-Dp6pJgV2.js} +2 -2
- package/dist/core/web/public/next/assets/{terminal-icons-Ct9cZsEK.js.map → terminal-icons-Dp6pJgV2.js.map} +1 -1
- package/dist/core/web/public/next/assets/types-D5XOdyw8.js +2 -0
- package/dist/core/web/public/next/assets/types-D5XOdyw8.js.map +1 -0
- package/dist/core/web/public/next/assets/{usage-queries-CI_y9oWZ.js → usage-queries-CUTmnegA.js} +2 -2
- package/dist/core/web/public/next/assets/{usage-queries-CI_y9oWZ.js.map → usage-queries-CUTmnegA.js.map} +1 -1
- package/dist/core/web/public/next/assets/use-guarded-action-UCX2u1t1.js +2 -0
- package/dist/core/web/public/next/assets/{use-guarded-action-DVCtLzSo.js.map → use-guarded-action-UCX2u1t1.js.map} +1 -1
- package/dist/core/web/public/next/assets/{use-ticker-C3LQ2IYs.js → use-ticker-OXAjob3y.js} +2 -2
- package/dist/core/web/public/next/assets/{use-ticker-C3LQ2IYs.js.map → use-ticker-OXAjob3y.js.map} +1 -1
- package/dist/core/web/public/next/assets/use-token-gate-CDDRAoKH.js +2 -0
- package/dist/core/web/public/next/assets/{use-token-gate-B5gOFkeH.js.map → use-token-gate-CDDRAoKH.js.map} +1 -1
- package/dist/core/web/public/next/assets/useChartWidth-BW6SwYIK.css +1 -0
- package/dist/core/web/public/next/assets/useChartWidth-D9M7kUw7.js +2 -0
- package/dist/core/web/public/next/assets/{useChartWidth-0APW0BR3.js.map → useChartWidth-D9M7kUw7.js.map} +1 -1
- package/dist/core/web/public/next/assets/{useSeatsRefresh-BN8bso-n.js → useSeatsRefresh-B2dCVcj9.js} +2 -2
- package/dist/core/web/public/next/assets/{useSeatsRefresh-BN8bso-n.js.map → useSeatsRefresh-B2dCVcj9.js.map} +1 -1
- package/dist/core/web/public/next/assets/useVerseTranscript-BL3CljSI.js +2 -0
- package/dist/core/web/public/next/assets/useVerseTranscript-BL3CljSI.js.map +1 -0
- package/dist/core/web/public/next/assets/verse-icons-DASWdYuE.js +2 -0
- package/dist/core/web/public/next/assets/verse-icons-DASWdYuE.js.map +1 -0
- package/dist/core/web/public/next/assets/verse-model-BQ0Y2CSr.js +2 -0
- package/dist/core/web/public/next/assets/verse-model-BQ0Y2CSr.js.map +1 -0
- package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js +3 -0
- package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js.map +1 -0
- package/dist/core/web/public/next/assets/verse-ui-store-D7YXi63q.js +3 -0
- package/dist/core/web/public/next/assets/{verse-ui-store-Dy4HuDBV.js.map → verse-ui-store-D7YXi63q.js.map} +1 -1
- package/dist/core/web/public/next/assets/{viewport-DDoJ_xVq.js → viewport-BYGH5EgA.js} +2 -2
- package/dist/core/web/public/next/assets/{viewport-DDoJ_xVq.js.map → viewport-BYGH5EgA.js.map} +1 -1
- package/dist/core/web/public/next/assets/{warmup-BsL2LdR-.js → warmup-AsqwWCUi.js} +3 -3
- package/dist/core/web/public/next/assets/{warmup-BsL2LdR-.js.map → warmup-AsqwWCUi.js.map} +1 -1
- package/dist/core/web/public/next/assets/{workspace-model-Dd3LmIym.js → workspace-model-CXorJr0G.js} +2 -2
- package/dist/core/web/public/next/assets/{workspace-model-Dd3LmIym.js.map → workspace-model-CXorJr0G.js.map} +1 -1
- package/dist/core/web/public/next/index.html +1 -1
- package/dist/release-dependency-inventory.json +1 -1
- package/package.json +5 -2
- package/dist/cli/activation.d.ts +0 -41
- package/dist/cli/activation.js +0 -485
- package/dist/cli/activation.js.map +0 -1
- package/dist/core/fleet/generated-repair-resolution.d.ts +0 -36
- package/dist/core/fleet/generated-repair-resolution.js +0 -245
- package/dist/core/fleet/generated-repair-resolution.js.map +0 -1
- package/dist/core/local-runtime/llama/port.d.ts +0 -17
- package/dist/core/local-runtime/llama/port.js +0 -47
- package/dist/core/local-runtime/llama/port.js.map +0 -1
- package/dist/core/local-runtime/llama/proxy-host.d.ts +0 -54
- package/dist/core/local-runtime/llama/proxy-host.js +0 -159
- package/dist/core/local-runtime/llama/proxy-host.js.map +0 -1
- package/dist/core/local-runtime/llama/proxy-process.d.ts +0 -148
- package/dist/core/local-runtime/llama/proxy-process.js +0 -250
- package/dist/core/local-runtime/llama/proxy-process.js.map +0 -1
- package/dist/core/local-runtime/llama/proxy-record.d.ts +0 -40
- package/dist/core/local-runtime/llama/proxy-record.js +0 -133
- package/dist/core/local-runtime/llama/proxy-record.js.map +0 -1
- package/dist/core/local-runtime/llama/proxy-supervisor.d.ts +0 -118
- package/dist/core/local-runtime/llama/proxy-supervisor.js +0 -511
- package/dist/core/local-runtime/llama/proxy-supervisor.js.map +0 -1
- package/dist/core/web/public/next/assets/Advanced-xVYFAeA8.js +0 -2
- package/dist/core/web/public/next/assets/Advanced-xVYFAeA8.js.map +0 -1
- package/dist/core/web/public/next/assets/App-CbDCLAxn.js +0 -7
- package/dist/core/web/public/next/assets/AppsSection-B5HWJi9I.js +0 -2
- package/dist/core/web/public/next/assets/AppsSection-B5HWJi9I.js.map +0 -1
- package/dist/core/web/public/next/assets/AutonomySection-BF5UCsMv.js +0 -2
- package/dist/core/web/public/next/assets/BranchBar-nfSb59Kv.js +0 -2
- package/dist/core/web/public/next/assets/CapacityStrip-DqqYnLek.js +0 -2
- package/dist/core/web/public/next/assets/CapacityStrip-DqqYnLek.js.map +0 -1
- package/dist/core/web/public/next/assets/ChatSection-DoqjyVoj.js +0 -3
- package/dist/core/web/public/next/assets/ChatSection-DoqjyVoj.js.map +0 -1
- package/dist/core/web/public/next/assets/CommandPalette-lLV-OR63.js +0 -2
- package/dist/core/web/public/next/assets/CommandSection-fiZ4DJpM.js +0 -2
- package/dist/core/web/public/next/assets/CommandSection-fiZ4DJpM.js.map +0 -1
- package/dist/core/web/public/next/assets/DockHost-BZReKwos.js +0 -2
- package/dist/core/web/public/next/assets/FleetSection-rPLy_NPo.js +0 -3
- package/dist/core/web/public/next/assets/FleetSection-rPLy_NPo.js.map +0 -1
- package/dist/core/web/public/next/assets/GearTray-CkviqjYr.js +0 -2
- package/dist/core/web/public/next/assets/HandoffDialog-DcPj1ri9.js +0 -2
- package/dist/core/web/public/next/assets/LeaderCard-BSFTlMRF.js +0 -2
- package/dist/core/web/public/next/assets/McpSection-CvcYu1X_.js +0 -2
- package/dist/core/web/public/next/assets/MindSection-DcO9fmYe.js +0 -2
- package/dist/core/web/public/next/assets/MutationTokenDialog-Cqn2uPV6.js +0 -2
- package/dist/core/web/public/next/assets/MutationTokenDialog-Cqn2uPV6.js.map +0 -1
- package/dist/core/web/public/next/assets/MutationTokenDialog-Cum_DqQZ.css +0 -1
- package/dist/core/web/public/next/assets/NeedsYouDrawer-hiTINupk.js +0 -2
- package/dist/core/web/public/next/assets/NewChatDialog-utSckh7C.js +0 -3
- package/dist/core/web/public/next/assets/OnboardingFlow-7N3YSUHN.js +0 -2
- package/dist/core/web/public/next/assets/PreviewPane-CqzkaAjG.js +0 -2
- package/dist/core/web/public/next/assets/RailStatus-sZhApA8k.js +0 -2
- package/dist/core/web/public/next/assets/RouteErrorBoundary-6RMd_aZg.css +0 -1
- package/dist/core/web/public/next/assets/RouteErrorBoundary-D1LZxQjN.js +0 -2
- package/dist/core/web/public/next/assets/RouteErrorBoundary-D1LZxQjN.js.map +0 -1
- package/dist/core/web/public/next/assets/SeatSelector-CT92PqM_.js +0 -3
- package/dist/core/web/public/next/assets/SessionInsightChip-CwlakUYU.js +0 -2
- package/dist/core/web/public/next/assets/SettingsSection-DgSaHFK4.js +0 -2
- package/dist/core/web/public/next/assets/SettingsSection-DgSaHFK4.js.map +0 -1
- package/dist/core/web/public/next/assets/Sheet-C7APkGPt.js +0 -2
- package/dist/core/web/public/next/assets/ShortcutsOverlay-ZPyXUS_I.js +0 -2
- package/dist/core/web/public/next/assets/Sidebar-Chsgazmk.js +0 -3
- package/dist/core/web/public/next/assets/TerminalPane-BDkKFych.js +0 -7
- package/dist/core/web/public/next/assets/UniverseConsoleApp-BE72VyBL.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-DsC5WmLk.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-DsC5WmLk.js.map +0 -1
- package/dist/core/web/public/next/assets/VerseConsoleApp-CXJWDiEM.css +0 -1
- package/dist/core/web/public/next/assets/VerseConsoleApp-Dq_hREXs.js +0 -3
- package/dist/core/web/public/next/assets/VerseConsoleApp-Dq_hREXs.js.map +0 -1
- package/dist/core/web/public/next/assets/Workspace-BYW9dm90.css +0 -1
- package/dist/core/web/public/next/assets/Workspace-CKvVEPFq.js +0 -10
- package/dist/core/web/public/next/assets/Workspace-CKvVEPFq.js.map +0 -1
- package/dist/core/web/public/next/assets/actions-BnjZy8a-.js +0 -2
- package/dist/core/web/public/next/assets/budget-queries-Cp6vO7FH.js +0 -2
- package/dist/core/web/public/next/assets/command-catalog-s3W6Z96D.js +0 -2
- package/dist/core/web/public/next/assets/command-catalog-s3W6Z96D.js.map +0 -1
- package/dist/core/web/public/next/assets/context-model-BGznyHNQ.js +0 -2
- package/dist/core/web/public/next/assets/context-model-DeJ28uSZ.js +0 -2
- package/dist/core/web/public/next/assets/context-queries-_mEgy4eg.js +0 -2
- package/dist/core/web/public/next/assets/control-queries-C4TG8blN.js +0 -2
- package/dist/core/web/public/next/assets/dock-panes-mnIwSpRp.js +0 -2
- package/dist/core/web/public/next/assets/dock-panes-mnIwSpRp.js.map +0 -1
- package/dist/core/web/public/next/assets/git-model-DaGw1SzS.js +0 -5
- package/dist/core/web/public/next/assets/global-DG1fmn4y.js +0 -2
- package/dist/core/web/public/next/assets/global-DG1fmn4y.js.map +0 -1
- package/dist/core/web/public/next/assets/global-_tOCFt9y.css +0 -1
- package/dist/core/web/public/next/assets/guarded-action--lguLXfz.js +0 -2
- package/dist/core/web/public/next/assets/guarded-action--lguLXfz.js.map +0 -1
- package/dist/core/web/public/next/assets/icons-YPgbel-I.js +0 -2
- package/dist/core/web/public/next/assets/icons-YPgbel-I.js.map +0 -1
- package/dist/core/web/public/next/assets/mutations-DjXM3IDg.js +0 -2
- package/dist/core/web/public/next/assets/overnight-queries-Be_eossf.js +0 -2
- package/dist/core/web/public/next/assets/primitives-Dl3SEQvh.js +0 -1
- package/dist/core/web/public/next/assets/reasoning-pref-a_ZP6GzU.js +0 -2
- package/dist/core/web/public/next/assets/seat-subscription-CRigL-GE.js +0 -2
- package/dist/core/web/public/next/assets/slots-CV9ZuLQU.js +0 -3
- package/dist/core/web/public/next/assets/surface-data-DLvmUX9z.js +0 -2
- package/dist/core/web/public/next/assets/surface-prefetch-Ct2JwXvL.js +0 -2
- package/dist/core/web/public/next/assets/surface-prefetch-Ct2JwXvL.js.map +0 -1
- package/dist/core/web/public/next/assets/use-guarded-action-DVCtLzSo.js +0 -2
- package/dist/core/web/public/next/assets/use-token-gate-B5gOFkeH.js +0 -2
- package/dist/core/web/public/next/assets/useActivity-C3R1Sudh.js +0 -2
- package/dist/core/web/public/next/assets/useActivity-C3R1Sudh.js.map +0 -1
- package/dist/core/web/public/next/assets/useChartWidth-0APW0BR3.js +0 -2
- package/dist/core/web/public/next/assets/useChartWidth-BAtVgn2n.css +0 -1
- package/dist/core/web/public/next/assets/verse-model-yHPwjf-7.js +0 -2
- package/dist/core/web/public/next/assets/verse-model-yHPwjf-7.js.map +0 -1
- package/dist/core/web/public/next/assets/verse-queries-2PxoBISm.js +0 -2
- package/dist/core/web/public/next/assets/verse-queries-2PxoBISm.js.map +0 -1
- package/dist/core/web/public/next/assets/verse-store-DHTuZpYa.js +0 -3
- package/dist/core/web/public/next/assets/verse-store-DHTuZpYa.js.map +0 -1
- package/dist/core/web/public/next/assets/verse-ui-store-Dy4HuDBV.js +0 -3
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ashlr Verse — where each engine auto-compacts, including when the CLI
|
|
3
|
+
* reports a different window at runtime. Part of context-math.ts, which
|
|
4
|
+
* re-exports everything here; see its header for where each formula comes
|
|
5
|
+
* from (docs/VERSE-CONTEXT.md is the prose authority for every constant).
|
|
6
|
+
*
|
|
7
|
+
* WHY A SEPARATE MODULE: the browser's session store (web-ui verse-store.ts)
|
|
8
|
+
* reconciles the compaction point as context readings stream in, which puts
|
|
9
|
+
* it on the chat first-paint path. Importing context-math there pulled the
|
|
10
|
+
* whole module (budgets, occupancy, fit and handoff advice) into the chat
|
|
11
|
+
* first-paint critical JS; importing this file pulls only these formulas.
|
|
12
|
+
*
|
|
13
|
+
* PURE and BROWSER-SAFE: no node imports, no I/O.
|
|
14
|
+
*/
|
|
15
|
+
import type { VerseContextBudget, VerseEngine } from './types.js';
|
|
16
|
+
/** Claude Code reserves min(max output, this) of the window for the reply. */
|
|
17
|
+
export declare const CLAUDE_OUTPUT_RESERVE_CAP = 20000;
|
|
18
|
+
/** …and compacts this many tokens below the reserved window. */
|
|
19
|
+
export declare const CLAUDE_COMPACT_BUFFER = 13000;
|
|
20
|
+
/** Codex: default `effective_context_window_percent` in every catalog entry. */
|
|
21
|
+
export declare const CODEX_EFFECTIVE_WINDOW_PERCENT = 95;
|
|
22
|
+
/** Codex: auto-compaction fires at this fraction of the RAW window. */
|
|
23
|
+
export declare const CODEX_AUTO_COMPACT_FRACTION = 0.9;
|
|
24
|
+
/** A positive finite number, floored; null for anything else. */
|
|
25
|
+
export declare function positiveInt(value: unknown): number | null;
|
|
26
|
+
/**
|
|
27
|
+
* Claude Code's auto-compaction point.
|
|
28
|
+
*
|
|
29
|
+
* @param modelWindow the model's context window (1_000_000, 200_000, or
|
|
30
|
+
* the local num_ctx passed in CLAUDE_CODE_MAX_CONTEXT_TOKENS)
|
|
31
|
+
* @param maxOutputTokens the model's default max output; null → assume the cap
|
|
32
|
+
* @param autocompactWindow the `--autocompact` value in force; null → `auto`
|
|
33
|
+
* (the full model window)
|
|
34
|
+
*/
|
|
35
|
+
export declare function claudeAutoCompactAt(modelWindow: number, maxOutputTokens: number | null, autocompactWindow?: number | null): number;
|
|
36
|
+
/** Codex: where auto-compaction fires for a given RAW window. */
|
|
37
|
+
export declare function codexAutoCompactAt(rawWindow: number): number;
|
|
38
|
+
/**
|
|
39
|
+
* Recompute the compaction point when the CLI reports a window at runtime
|
|
40
|
+
* that differs from the catalog budget (Claude Code clamps a 1M model to 200k
|
|
41
|
+
* when long-context credit runs out; grok can upgrade a window by header).
|
|
42
|
+
*
|
|
43
|
+
* claude/local — fixed-buffer formula over min(runtime window, --autocompact).
|
|
44
|
+
* codex — the runtime figure is the EFFECTIVE window; the compaction
|
|
45
|
+
* point stays 90% of the raw window it implies.
|
|
46
|
+
* grok/other — keep the budget's compaction RATIO.
|
|
47
|
+
*/
|
|
48
|
+
export declare function reconcileAutoCompactAt(input: {
|
|
49
|
+
engine: VerseEngine;
|
|
50
|
+
runtimeWindow: number;
|
|
51
|
+
budget: VerseContextBudget | null;
|
|
52
|
+
/** The `--autocompact` value in force for claude/local; null = auto. */
|
|
53
|
+
autocompactWindow?: number | null;
|
|
54
|
+
maxOutputTokens?: number | null;
|
|
55
|
+
}): number | null;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ashlr Verse — where each engine auto-compacts, including when the CLI
|
|
3
|
+
* reports a different window at runtime. Part of context-math.ts, which
|
|
4
|
+
* re-exports everything here; see its header for where each formula comes
|
|
5
|
+
* from (docs/VERSE-CONTEXT.md is the prose authority for every constant).
|
|
6
|
+
*
|
|
7
|
+
* WHY A SEPARATE MODULE: the browser's session store (web-ui verse-store.ts)
|
|
8
|
+
* reconciles the compaction point as context readings stream in, which puts
|
|
9
|
+
* it on the chat first-paint path. Importing context-math there pulled the
|
|
10
|
+
* whole module (budgets, occupancy, fit and handoff advice) into the chat
|
|
11
|
+
* first-paint critical JS; importing this file pulls only these formulas.
|
|
12
|
+
*
|
|
13
|
+
* PURE and BROWSER-SAFE: no node imports, no I/O.
|
|
14
|
+
*/
|
|
15
|
+
/** Claude Code reserves min(max output, this) of the window for the reply. */
|
|
16
|
+
export const CLAUDE_OUTPUT_RESERVE_CAP = 20_000;
|
|
17
|
+
/** …and compacts this many tokens below the reserved window. */
|
|
18
|
+
export const CLAUDE_COMPACT_BUFFER = 13_000;
|
|
19
|
+
/** Codex: default `effective_context_window_percent` in every catalog entry. */
|
|
20
|
+
export const CODEX_EFFECTIVE_WINDOW_PERCENT = 95;
|
|
21
|
+
/** Codex: auto-compaction fires at this fraction of the RAW window. */
|
|
22
|
+
export const CODEX_AUTO_COMPACT_FRACTION = 0.9;
|
|
23
|
+
/** A positive finite number, floored; null for anything else. */
|
|
24
|
+
export function positiveInt(value) {
|
|
25
|
+
return typeof value === 'number' && Number.isFinite(value) && value > 0 ? Math.floor(value) : null;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Claude Code's auto-compaction point.
|
|
29
|
+
*
|
|
30
|
+
* @param modelWindow the model's context window (1_000_000, 200_000, or
|
|
31
|
+
* the local num_ctx passed in CLAUDE_CODE_MAX_CONTEXT_TOKENS)
|
|
32
|
+
* @param maxOutputTokens the model's default max output; null → assume the cap
|
|
33
|
+
* @param autocompactWindow the `--autocompact` value in force; null → `auto`
|
|
34
|
+
* (the full model window)
|
|
35
|
+
*/
|
|
36
|
+
export function claudeAutoCompactAt(modelWindow, maxOutputTokens, autocompactWindow = null) {
|
|
37
|
+
const window = Math.min(modelWindow, positiveInt(autocompactWindow) ?? modelWindow);
|
|
38
|
+
const reserve = Math.min(positiveInt(maxOutputTokens) ?? CLAUDE_OUTPUT_RESERVE_CAP, CLAUDE_OUTPUT_RESERVE_CAP);
|
|
39
|
+
return Math.max(0, window - reserve - CLAUDE_COMPACT_BUFFER);
|
|
40
|
+
}
|
|
41
|
+
/** Codex: where auto-compaction fires for a given RAW window. */
|
|
42
|
+
export function codexAutoCompactAt(rawWindow) {
|
|
43
|
+
return Math.floor(rawWindow * CODEX_AUTO_COMPACT_FRACTION);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Recompute the compaction point when the CLI reports a window at runtime
|
|
47
|
+
* that differs from the catalog budget (Claude Code clamps a 1M model to 200k
|
|
48
|
+
* when long-context credit runs out; grok can upgrade a window by header).
|
|
49
|
+
*
|
|
50
|
+
* claude/local — fixed-buffer formula over min(runtime window, --autocompact).
|
|
51
|
+
* codex — the runtime figure is the EFFECTIVE window; the compaction
|
|
52
|
+
* point stays 90% of the raw window it implies.
|
|
53
|
+
* grok/other — keep the budget's compaction RATIO.
|
|
54
|
+
*/
|
|
55
|
+
export function reconcileAutoCompactAt(input) {
|
|
56
|
+
const runtime = positiveInt(input.runtimeWindow);
|
|
57
|
+
if (runtime === null)
|
|
58
|
+
return input.budget?.autoCompactAt ?? null;
|
|
59
|
+
if (input.budget && input.budget.contextWindow === runtime)
|
|
60
|
+
return input.budget.autoCompactAt;
|
|
61
|
+
switch (input.engine) {
|
|
62
|
+
case 'claude':
|
|
63
|
+
case 'local':
|
|
64
|
+
return claudeAutoCompactAt(runtime, input.maxOutputTokens ?? null, input.autocompactWindow ?? null);
|
|
65
|
+
case 'codex':
|
|
66
|
+
return codexAutoCompactAt(Math.round((runtime * 100) / CODEX_EFFECTIVE_WINDOW_PERCENT));
|
|
67
|
+
default: {
|
|
68
|
+
const b = input.budget;
|
|
69
|
+
if (!b || b.autoCompactAt === null || b.contextWindow <= 0)
|
|
70
|
+
return null;
|
|
71
|
+
return Math.floor(runtime * (b.autoCompactAt / b.contextWindow));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=compaction-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-point.js","sourceRoot":"","sources":["../../../src/core/verse/compaction-point.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAChD,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC5C,gFAAgF;AAChF,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,uEAAuE;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrG,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,eAA8B,EAC9B,oBAAmC,IAAI;IAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,iBAAiB,CAAC,IAAI,WAAW,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;IAC/G,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,qBAAqB,CAAC,CAAC;AAC/D,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,2BAA2B,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAOtC;IACC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI,CAAC;IACjE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;IAC9F,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACV,OAAO,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC;QACtG,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,8BAA8B,CAAC,CAAC,CAAC;QAC1F,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
* `CLAUDE_CODE_MAX_CONTEXT_TOKENS`.
|
|
25
25
|
*/
|
|
26
26
|
import type { VerseContextBudget, VerseContextMode, VerseEngine, VerseFitVerdict, VerseModelOption, VerseSession, VerseUsage } from './types.js';
|
|
27
|
+
export { CLAUDE_COMPACT_BUFFER, CLAUDE_OUTPUT_RESERVE_CAP, CODEX_AUTO_COMPACT_FRACTION, CODEX_EFFECTIVE_WINDOW_PERCENT, claudeAutoCompactAt, codexAutoCompactAt, reconcileAutoCompactAt, } from './compaction-point.js';
|
|
27
28
|
/**
|
|
28
29
|
* Standard-mode compaction window for 1M-context Claude models.
|
|
29
30
|
*
|
|
@@ -36,17 +37,9 @@ import type { VerseContextBudget, VerseContextMode, VerseEngine, VerseFitVerdict
|
|
|
36
37
|
* 400k, so the two frontier engines share one standard ceiling.
|
|
37
38
|
*/
|
|
38
39
|
export declare const CLAUDE_STANDARD_AUTOCOMPACT_WINDOW = 400000;
|
|
39
|
-
/** Claude Code reserves min(max output, this) of the window for the reply. */
|
|
40
|
-
export declare const CLAUDE_OUTPUT_RESERVE_CAP = 20000;
|
|
41
|
-
/** …and compacts this many tokens below the reserved window. */
|
|
42
|
-
export declare const CLAUDE_COMPACT_BUFFER = 13000;
|
|
43
40
|
/** Claude Code clamps `--autocompact` to [100k, 1M]. */
|
|
44
41
|
export declare const CLAUDE_AUTOCOMPACT_MIN = 100000;
|
|
45
42
|
export declare const CLAUDE_AUTOCOMPACT_MAX = 1000000;
|
|
46
|
-
/** Codex: default `effective_context_window_percent` in every catalog entry. */
|
|
47
|
-
export declare const CODEX_EFFECTIVE_WINDOW_PERCENT = 95;
|
|
48
|
-
/** Codex: auto-compaction fires at this fraction of the RAW window. */
|
|
49
|
-
export declare const CODEX_AUTO_COMPACT_FRACTION = 0.9;
|
|
50
43
|
/** Grok: `auto_compact_threshold_percent` in the 0.2.118 catalog. */
|
|
51
44
|
export declare const GROK_AUTO_COMPACT_PERCENT = 80;
|
|
52
45
|
/**
|
|
@@ -85,20 +78,8 @@ export declare const LOCAL_MIN_USABLE_WINDOW: number;
|
|
|
85
78
|
export declare function localWindowUsable(window: number | null | undefined): boolean;
|
|
86
79
|
/** chars → tokens estimator used everywhere a count is estimated rather than measured. */
|
|
87
80
|
export declare const CHARS_PER_TOKEN = 4;
|
|
88
|
-
/**
|
|
89
|
-
* Claude Code's auto-compaction point.
|
|
90
|
-
*
|
|
91
|
-
* @param modelWindow the model's context window (1_000_000, 200_000, or
|
|
92
|
-
* the local num_ctx passed in CLAUDE_CODE_MAX_CONTEXT_TOKENS)
|
|
93
|
-
* @param maxOutputTokens the model's default max output; null → assume the cap
|
|
94
|
-
* @param autocompactWindow the `--autocompact` value in force; null → `auto`
|
|
95
|
-
* (the full model window)
|
|
96
|
-
*/
|
|
97
|
-
export declare function claudeAutoCompactAt(modelWindow: number, maxOutputTokens: number | null, autocompactWindow?: number | null): number;
|
|
98
81
|
/** Codex: the window the CLI measures occupancy against. */
|
|
99
82
|
export declare function codexEffectiveWindow(rawWindow: number, percent?: number | null): number;
|
|
100
|
-
/** Codex: where auto-compaction fires for a given RAW window. */
|
|
101
|
-
export declare function codexAutoCompactAt(rawWindow: number): number;
|
|
102
83
|
/** Grok: where auto-compaction fires. */
|
|
103
84
|
export declare function grokAutoCompactAt(window: number, percent?: number | null): number;
|
|
104
85
|
/**
|
|
@@ -120,24 +101,6 @@ export declare function hasExpansiveMode(option: VerseModelOption | null | undef
|
|
|
120
101
|
* standard mode; a 200k model already compacts near 167k natively.
|
|
121
102
|
*/
|
|
122
103
|
export declare function claudeAutocompactFlag(option: VerseModelOption | null | undefined, mode: VerseContextMode): number | null;
|
|
123
|
-
/**
|
|
124
|
-
* Recompute the compaction point when the CLI reports a window at runtime
|
|
125
|
-
* that differs from the catalog budget (Claude Code clamps a 1M model to 200k
|
|
126
|
-
* when long-context credit runs out; grok can upgrade a window by header).
|
|
127
|
-
*
|
|
128
|
-
* claude/local — fixed-buffer formula over min(runtime window, --autocompact).
|
|
129
|
-
* codex — the runtime figure is the EFFECTIVE window; the compaction
|
|
130
|
-
* point stays 90% of the raw window it implies.
|
|
131
|
-
* grok/other — keep the budget's compaction RATIO.
|
|
132
|
-
*/
|
|
133
|
-
export declare function reconcileAutoCompactAt(input: {
|
|
134
|
-
engine: VerseEngine;
|
|
135
|
-
runtimeWindow: number;
|
|
136
|
-
budget: VerseContextBudget | null;
|
|
137
|
-
/** The `--autocompact` value in force for claude/local; null = auto. */
|
|
138
|
-
autocompactWindow?: number | null;
|
|
139
|
-
maxOutputTokens?: number | null;
|
|
140
|
-
}): number | null;
|
|
141
104
|
export type VerseOccupancyTone = 'unknown' | 'ok' | 'warn' | 'danger' | 'over';
|
|
142
105
|
export interface VerseOccupancy {
|
|
143
106
|
tokens: number;
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
* the Claude formula over the window Verse passes in
|
|
24
24
|
* `CLAUDE_CODE_MAX_CONTEXT_TOKENS`.
|
|
25
25
|
*/
|
|
26
|
+
import { CLAUDE_COMPACT_BUFFER, CLAUDE_OUTPUT_RESERVE_CAP, CODEX_EFFECTIVE_WINDOW_PERCENT, positiveInt, } from './compaction-point.js';
|
|
27
|
+
// The runtime compaction-point formulas live in compaction-point.ts (the
|
|
28
|
+
// browser's chat first-paint path needs them without the rest of this
|
|
29
|
+
// module); re-exported so every existing importer keeps one entry point.
|
|
30
|
+
export { CLAUDE_COMPACT_BUFFER, CLAUDE_OUTPUT_RESERVE_CAP, CODEX_AUTO_COMPACT_FRACTION, CODEX_EFFECTIVE_WINDOW_PERCENT, claudeAutoCompactAt, codexAutoCompactAt, reconcileAutoCompactAt, } from './compaction-point.js';
|
|
26
31
|
// ---------------------------------------------------------------------------
|
|
27
32
|
// Constants
|
|
28
33
|
// ---------------------------------------------------------------------------
|
|
@@ -38,17 +43,9 @@
|
|
|
38
43
|
* 400k, so the two frontier engines share one standard ceiling.
|
|
39
44
|
*/
|
|
40
45
|
export const CLAUDE_STANDARD_AUTOCOMPACT_WINDOW = 400_000;
|
|
41
|
-
/** Claude Code reserves min(max output, this) of the window for the reply. */
|
|
42
|
-
export const CLAUDE_OUTPUT_RESERVE_CAP = 20_000;
|
|
43
|
-
/** …and compacts this many tokens below the reserved window. */
|
|
44
|
-
export const CLAUDE_COMPACT_BUFFER = 13_000;
|
|
45
46
|
/** Claude Code clamps `--autocompact` to [100k, 1M]. */
|
|
46
47
|
export const CLAUDE_AUTOCOMPACT_MIN = 100_000;
|
|
47
48
|
export const CLAUDE_AUTOCOMPACT_MAX = 1_000_000;
|
|
48
|
-
/** Codex: default `effective_context_window_percent` in every catalog entry. */
|
|
49
|
-
export const CODEX_EFFECTIVE_WINDOW_PERCENT = 95;
|
|
50
|
-
/** Codex: auto-compaction fires at this fraction of the RAW window. */
|
|
51
|
-
export const CODEX_AUTO_COMPACT_FRACTION = 0.9;
|
|
52
49
|
/** Grok: `auto_compact_threshold_percent` in the 0.2.118 catalog. */
|
|
53
50
|
export const GROK_AUTO_COMPACT_PERCENT = 80;
|
|
54
51
|
/**
|
|
@@ -99,32 +96,11 @@ export const CHARS_PER_TOKEN = 4;
|
|
|
99
96
|
// ---------------------------------------------------------------------------
|
|
100
97
|
// Per-engine formulas
|
|
101
98
|
// ---------------------------------------------------------------------------
|
|
102
|
-
function positiveInt(value) {
|
|
103
|
-
return typeof value === 'number' && Number.isFinite(value) && value > 0 ? Math.floor(value) : null;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Claude Code's auto-compaction point.
|
|
107
|
-
*
|
|
108
|
-
* @param modelWindow the model's context window (1_000_000, 200_000, or
|
|
109
|
-
* the local num_ctx passed in CLAUDE_CODE_MAX_CONTEXT_TOKENS)
|
|
110
|
-
* @param maxOutputTokens the model's default max output; null → assume the cap
|
|
111
|
-
* @param autocompactWindow the `--autocompact` value in force; null → `auto`
|
|
112
|
-
* (the full model window)
|
|
113
|
-
*/
|
|
114
|
-
export function claudeAutoCompactAt(modelWindow, maxOutputTokens, autocompactWindow = null) {
|
|
115
|
-
const window = Math.min(modelWindow, positiveInt(autocompactWindow) ?? modelWindow);
|
|
116
|
-
const reserve = Math.min(positiveInt(maxOutputTokens) ?? CLAUDE_OUTPUT_RESERVE_CAP, CLAUDE_OUTPUT_RESERVE_CAP);
|
|
117
|
-
return Math.max(0, window - reserve - CLAUDE_COMPACT_BUFFER);
|
|
118
|
-
}
|
|
119
99
|
/** Codex: the window the CLI measures occupancy against. */
|
|
120
100
|
export function codexEffectiveWindow(rawWindow, percent = null) {
|
|
121
101
|
const pct = positiveInt(percent) !== null && percent <= 100 ? percent : CODEX_EFFECTIVE_WINDOW_PERCENT;
|
|
122
102
|
return Math.floor((rawWindow * pct) / 100);
|
|
123
103
|
}
|
|
124
|
-
/** Codex: where auto-compaction fires for a given RAW window. */
|
|
125
|
-
export function codexAutoCompactAt(rawWindow) {
|
|
126
|
-
return Math.floor(rawWindow * CODEX_AUTO_COMPACT_FRACTION);
|
|
127
|
-
}
|
|
128
104
|
/** Grok: where auto-compaction fires. */
|
|
129
105
|
export function grokAutoCompactAt(window, percent = null) {
|
|
130
106
|
const pct = positiveInt(percent) !== null && percent <= 100 ? percent : GROK_AUTO_COMPACT_PERCENT;
|
|
@@ -183,36 +159,6 @@ export function claudeAutocompactFlag(option, mode) {
|
|
|
183
159
|
? CLAUDE_STANDARD_AUTOCOMPACT_WINDOW
|
|
184
160
|
: null;
|
|
185
161
|
}
|
|
186
|
-
/**
|
|
187
|
-
* Recompute the compaction point when the CLI reports a window at runtime
|
|
188
|
-
* that differs from the catalog budget (Claude Code clamps a 1M model to 200k
|
|
189
|
-
* when long-context credit runs out; grok can upgrade a window by header).
|
|
190
|
-
*
|
|
191
|
-
* claude/local — fixed-buffer formula over min(runtime window, --autocompact).
|
|
192
|
-
* codex — the runtime figure is the EFFECTIVE window; the compaction
|
|
193
|
-
* point stays 90% of the raw window it implies.
|
|
194
|
-
* grok/other — keep the budget's compaction RATIO.
|
|
195
|
-
*/
|
|
196
|
-
export function reconcileAutoCompactAt(input) {
|
|
197
|
-
const runtime = positiveInt(input.runtimeWindow);
|
|
198
|
-
if (runtime === null)
|
|
199
|
-
return input.budget?.autoCompactAt ?? null;
|
|
200
|
-
if (input.budget && input.budget.contextWindow === runtime)
|
|
201
|
-
return input.budget.autoCompactAt;
|
|
202
|
-
switch (input.engine) {
|
|
203
|
-
case 'claude':
|
|
204
|
-
case 'local':
|
|
205
|
-
return claudeAutoCompactAt(runtime, input.maxOutputTokens ?? null, input.autocompactWindow ?? null);
|
|
206
|
-
case 'codex':
|
|
207
|
-
return codexAutoCompactAt(Math.round((runtime * 100) / CODEX_EFFECTIVE_WINDOW_PERCENT));
|
|
208
|
-
default: {
|
|
209
|
-
const b = input.budget;
|
|
210
|
-
if (!b || b.autoCompactAt === null || b.contextWindow <= 0)
|
|
211
|
-
return null;
|
|
212
|
-
return Math.floor(runtime * (b.autoCompactAt / b.contextWindow));
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
162
|
/** Warn at 80% of the compaction point, danger from 95% — BEFORE the CLI compacts, not after. */
|
|
217
163
|
export const OCCUPANCY_WARN = 0.8;
|
|
218
164
|
export const OCCUPANCY_DANGER = 0.95;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-math.js","sourceRoot":"","sources":["../../../src/core/verse/context-math.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"context-math.js","sourceRoot":"","sources":["../../../src/core/verse/context-math.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAWH,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,EAC9B,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAE/B,yEAAyE;AACzE,sEAAsE;AACtE,yEAAyE;AACzE,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAC;AAE1D,wDAAwD;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAC9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEhD,qEAAqE;AACrE,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0C;IACpF,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD,MAAM,UAAU,qBAAqB,CAAC,MAAsC;IAC1E,OAAO,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,CAAC,CAAC,4BAA4B,CAAC;AACzH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAC9C,MAAM,CAAC,MAAM,uBAAuB,GAClC,+BAA+B,CAAC,KAAK,GAAG,wBAAwB,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAEvH,6FAA6F;AAC7F,MAAM,UAAU,iBAAiB,CAAC,MAAiC;IACjE,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,uBAAuB,CAAC;AACpG,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,UAAyB,IAAI;IACnF,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,IAAK,OAAkB,IAAI,GAAG,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,8BAA8B,CAAC;IAC/H,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,UAAyB,IAAI;IAC7E,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,IAAK,OAAkB,IAAI,GAAG,CAAC,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAC1H,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAqC;IACtE,iBAAiB,EAAE,iBAAiB;CACrC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,OAAO,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,4FAA4F;AAC5F,MAAM,UAAU,SAAS,CAAC,MAA2C,EAAE,IAAsB;IAC3F,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;IAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,gBAAgB,CAAC,MAA2C;IAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,CAAC,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;AACnH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA2C,EAAE,IAAsB;IACvG,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,IAAI,IAAI,CAAC,CAAC;IAC1D,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,kCAAkC,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAC/F,CAAC,CAAC,kCAAkC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAmBD,iGAAiG;AACjG,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,MAAM,UAAU,SAAS,CAAC,KAAmG;IAC3H,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,KAAK,GAAG,YAAY,IAAI,QAAQ,CAAC;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,kBAAkB,KAAK,KAAK,CAAC;IACjD,IAAI,IAAI,GAAuB,SAAS,CAAC;IACzC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,GAAG,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,MAAM;QAAE,IAAI,GAAG,MAAM,CAAC;SACxD,IAAI,KAAK,KAAK,IAAI;QAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/G,OAAO;QACL,MAAM;QACN,MAAM;QACN,aAAa,EAAE,SAAS;QACxB,QAAQ;QACR,YAAY;QACZ,eAAe,EAAE,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5E,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkF;IAC9G,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,mBAAmB,CAAC;IAC1F,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,eAAe,CAAC,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,UAAU,CACxB,gBAAwB,EACxB,MAA2C,EAC3C,iBAAyB,4BAA4B;IAErD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;IACrE,IAAI,IAAI,IAAI,WAAW,GAAG,GAAG;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,IAAI,IAAI,WAAW;QAAE,OAAO,OAAO,CAAC;IACxC,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC;QAAE,OAAO,WAAW,CAAC;IAClG,OAAO,OAAO,CAAC;AACjB,CAAC;AAUD,qEAAqE;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,gFAAgF;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAE/C,SAAS,aAAa,CAAC,CAAS;IAC9B,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtF,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;IACnD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAK7B;IACC,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAqB,MAAM,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,EAAoB,EAAQ,EAAE;QAC1C,0BAA0B;QAC1B,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC;YAAE,KAAK,GAAG,EAAE,CAAC;IAC1E,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,+EAA+E;IACjF,CAAC;SAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;IAC/G,CAAC;SAAM,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;QAC3E,IAAI,CAAC,SAAS,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC;IAC/C,IAAI,WAAW,IAAI,4BAA4B,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,aAAa,WAAW,qDAAqD,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,iBAAiB,IAAI,GAAG,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC7G,IAAI,CAAC,SAAS,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,sFAAsF,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACvJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAI/B;IACC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,UAAU,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAChG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;IACvD,IAAI,WAAW,IAAI,4BAA4B,EAAE,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,8BAA8B,WAAW,kDAAkD,EAAE,CAAC;IAChI,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC;QACnH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,0CAA0C,EAAE,CAAC;IAC5I,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,OAAO,CAAC;AACnD,CAAC"}
|
|
@@ -91,7 +91,7 @@ import { type WorkbenchRouteFamilyId } from './workbench-types.js';
|
|
|
91
91
|
export declare const VERSE_API_PREFIX = "/api/verse";
|
|
92
92
|
export declare function isVerseApiPath(path: string): boolean;
|
|
93
93
|
/** Stable ids, in mount order. */
|
|
94
|
-
export type MountedApiModuleId = 'health' | 'reasoning' | 'fleet-history' | 'budget';
|
|
94
|
+
export type MountedApiModuleId = 'health' | 'reasoning' | 'fleet-history' | 'budget' | 'cloud';
|
|
95
95
|
export interface MountedApiModule {
|
|
96
96
|
id: MountedApiModuleId;
|
|
97
97
|
/** Resolve the module's handler. Called at most once per success (memoized). */
|
|
@@ -137,6 +137,8 @@ const DEFAULT_API_MODULES = [
|
|
|
137
137
|
{ id: 'fleet-history', load: async () => (await import('./fleet-history.js')).handleFleetHistoryApi },
|
|
138
138
|
// 'budget' also answers GET /api/verse/budget/history and records seat history (capacity-history-api.ts).
|
|
139
139
|
{ id: 'budget', load: async () => (await import('../routing/capacity-history-api.js')).withCapacityHistory((await import('../routing/budget-api.js')).handleBudgetApi) },
|
|
140
|
+
// 3.11 cloud lane: /api/verse/cloud/* (core/cloud/cloud-api.ts).
|
|
141
|
+
{ id: 'cloud', load: async () => (await import('../cloud/cloud-api.js')).handleCloudApi },
|
|
140
142
|
];
|
|
141
143
|
let mountedModules = DEFAULT_API_MODULES;
|
|
142
144
|
/** Memoized successful loads, keyed by the mount entry (so a test swap never sees stale handlers). */
|