@ashlr/hub 3.11.3 → 3.12.0
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 +104 -0
- package/README.md +44 -18
- package/dist/authority-surface.json +74 -59
- package/dist/build-identity.json +2 -2
- package/dist/cli/authority.d.ts +39 -0
- package/dist/cli/authority.js +222 -55
- package/dist/cli/authority.js.map +1 -1
- package/dist/cli/help.js +1 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/verse.d.ts +3 -0
- package/dist/cli/verse.js +10 -0
- package/dist/cli/verse.js.map +1 -1
- package/dist/core/authority/trust-roots.js +7 -1
- package/dist/core/authority/trust-roots.js.map +1 -1
- package/dist/core/authority/types.d.ts +2 -2
- package/dist/core/cloud/cloud-api.js +1 -1
- package/dist/core/cloud/cloud-api.js.map +1 -1
- package/dist/core/cloud/delivery-contract.d.ts +1 -1
- package/dist/core/cloud/delivery-contract.js +25 -15
- package/dist/core/cloud/delivery-contract.js.map +1 -1
- package/dist/core/cloud/store.js +6 -0
- package/dist/core/cloud/store.js.map +1 -1
- package/dist/core/cloud/tracker.d.ts +2 -0
- package/dist/core/cloud/tracker.js +140 -37
- package/dist/core/cloud/tracker.js.map +1 -1
- package/dist/core/cloud/types.d.ts +9 -1
- package/dist/core/cloud/types.js.map +1 -1
- package/dist/core/comms/dispatch.d.ts +5 -0
- package/dist/core/comms/dispatch.js +12 -1
- package/dist/core/comms/dispatch.js.map +1 -1
- package/dist/core/comms/requests.d.ts +27 -1
- package/dist/core/comms/requests.js +50 -1
- package/dist/core/comms/requests.js.map +1 -1
- package/dist/core/daemon/loop.d.ts +14 -0
- package/dist/core/daemon/loop.js +35 -0
- package/dist/core/daemon/loop.js.map +1 -1
- package/dist/core/fabric/claude-usage.js +23 -1
- package/dist/core/fabric/claude-usage.js.map +1 -1
- package/dist/core/fleet/dispatch-router.d.ts +7 -0
- package/dist/core/fleet/dispatch-router.js +4 -1
- package/dist/core/fleet/dispatch-router.js.map +1 -1
- package/dist/core/fleet/tick-hooks-live.d.ts +5 -1
- package/dist/core/fleet/tick-hooks-live.js +10 -1
- package/dist/core/fleet/tick-hooks-live.js.map +1 -1
- package/dist/core/local-runtime/llama/config.d.ts +14 -0
- package/dist/core/local-runtime/llama/config.js +20 -2
- package/dist/core/local-runtime/llama/config.js.map +1 -1
- package/dist/core/local-runtime/llama/process.d.ts +19 -0
- package/dist/core/local-runtime/llama/process.js +67 -17
- package/dist/core/local-runtime/llama/process.js.map +1 -1
- package/dist/core/local-runtime/llama/supervisor.js +14 -3
- package/dist/core/local-runtime/llama/supervisor.js.map +1 -1
- package/dist/core/observability/rollup.d.ts +12 -0
- package/dist/core/observability/rollup.js +37 -2
- package/dist/core/observability/rollup.js.map +1 -1
- package/dist/core/observability/usage-source.js +49 -1
- package/dist/core/observability/usage-source.js.map +1 -1
- package/dist/core/resources/connection-monitor.js +47 -4
- package/dist/core/resources/connection-monitor.js.map +1 -1
- package/dist/core/resources/engineering-mission-store.d.ts +1 -1
- package/dist/core/routing/headroom.js +7 -2
- package/dist/core/routing/headroom.js.map +1 -1
- package/dist/core/routing/router.d.ts +48 -0
- package/dist/core/routing/router.js +129 -13
- package/dist/core/routing/router.js.map +1 -1
- package/dist/core/run/best-of-n.d.ts +7 -0
- package/dist/core/run/best-of-n.js +3 -0
- package/dist/core/run/best-of-n.js.map +1 -1
- package/dist/core/run/harness-dispatch.d.ts +147 -0
- package/dist/core/run/harness-dispatch.js +234 -0
- package/dist/core/run/harness-dispatch.js.map +1 -0
- package/dist/core/run/orchestrator.js +3 -0
- package/dist/core/run/orchestrator.js.map +1 -1
- package/dist/core/run/provider-client.d.ts +8 -0
- package/dist/core/run/provider-client.js +4 -0
- package/dist/core/run/provider-client.js.map +1 -1
- package/dist/core/run/sandboxed-engine.d.ts +8 -0
- package/dist/core/run/sandboxed-engine.js +60 -7
- package/dist/core/run/sandboxed-engine.js.map +1 -1
- package/dist/core/types.d.ts +14 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/universe/builtins/preparation/manifest.json +1 -1
- package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +188 -6
- package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +187 -5
- package/dist/core/universe/firm-demo.d.ts +1 -1
- package/dist/core/universe/firm-graph.d.ts +2 -2
- package/dist/core/util/scrub.js +16 -3
- package/dist/core/util/scrub.js.map +1 -1
- package/dist/core/verse/accounts.d.ts +9 -1
- package/dist/core/verse/accounts.js +52 -11
- package/dist/core/verse/accounts.js.map +1 -1
- package/dist/core/verse/apps-api.d.ts +12 -0
- package/dist/core/verse/apps-api.js +22 -4
- package/dist/core/verse/apps-api.js.map +1 -1
- package/dist/core/verse/apps.js +22 -12
- package/dist/core/verse/apps.js.map +1 -1
- package/dist/core/verse/local-models.js +3 -7
- package/dist/core/verse/local-models.js.map +1 -1
- package/dist/core/verse/model-display-name.d.ts +34 -0
- package/dist/core/verse/model-display-name.js +125 -0
- package/dist/core/verse/model-display-name.js.map +1 -0
- package/dist/core/verse/seats.d.ts +11 -2
- package/dist/core/verse/seats.js +42 -18
- package/dist/core/verse/seats.js.map +1 -1
- package/dist/core/verse/transient-events.d.ts +21 -0
- package/dist/core/verse/transient-events.js +12 -0
- package/dist/core/verse/transient-events.js.map +1 -0
- package/dist/core/verse/types.d.ts +6 -13
- package/dist/core/verse/types.js +5 -36
- package/dist/core/verse/types.js.map +1 -1
- package/dist/core/web/public/next/assets/ActionMenu-B4-39f2S.js +2 -0
- package/dist/core/web/public/next/assets/{ActionMenu-FxXeRbPx.js.map → ActionMenu-B4-39f2S.js.map} +1 -1
- package/dist/core/web/public/next/assets/Advanced-B-LqYXvd.js +2 -0
- package/dist/core/web/public/next/assets/Advanced-B-LqYXvd.js.map +1 -0
- package/dist/core/web/public/next/assets/App-E2zCDRxm.js +7 -0
- package/dist/core/web/public/next/assets/App-E2zCDRxm.js.map +1 -0
- package/dist/core/web/public/next/assets/AppsSection-8wXPPhZb.js +2 -0
- package/dist/core/web/public/next/assets/AppsSection-8wXPPhZb.js.map +1 -0
- package/dist/core/web/public/next/assets/AreaTrend-BFimExYn.js +2 -0
- package/dist/core/web/public/next/assets/{AreaTrend-CDxrQU4b.js.map → AreaTrend-BFimExYn.js.map} +1 -1
- package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js +2 -0
- package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js.map +1 -0
- package/dist/core/web/public/next/assets/AutonomyOffState-DmbE71vI.css +1 -0
- package/dist/core/web/public/next/assets/AutonomySection-B46igJKR.js +2 -0
- package/dist/core/web/public/next/assets/{AutonomySection-DuQkHGD_.js.map → AutonomySection-B46igJKR.js.map} +1 -1
- package/dist/core/web/public/next/assets/BranchBar-BRkrEQGs.js +2 -0
- package/dist/core/web/public/next/assets/{BranchBar-CLsvOcyK.js.map → BranchBar-BRkrEQGs.js.map} +1 -1
- package/dist/core/web/public/next/assets/BudgetControl-T_RjPrw9.js +2 -0
- package/dist/core/web/public/next/assets/{BudgetControl-TL3FeZ1D.js.map → BudgetControl-T_RjPrw9.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Button-HHXgoXGr.js → Button-BhO-WKPp.js} +2 -2
- package/dist/core/web/public/next/assets/{Button-HHXgoXGr.js.map → Button-BhO-WKPp.js.map} +1 -1
- package/dist/core/web/public/next/assets/CapacityStrip-CkFz5vq2.js +2 -0
- package/dist/core/web/public/next/assets/{CapacityStrip-qReu0RaF.js.map → CapacityStrip-CkFz5vq2.js.map} +1 -1
- package/dist/core/web/public/next/assets/{useChartWidth-BW6SwYIK.css → ChartFrame-BVuBe6RP.css} +1 -1
- package/dist/core/web/public/next/assets/ChartFrame-SygZ7B3x.js +2 -0
- package/dist/core/web/public/next/assets/ChartFrame-SygZ7B3x.js.map +1 -0
- package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js +3 -0
- package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js.map +1 -0
- package/dist/core/web/public/next/assets/CloudBudgetForm-Bd91iStN.js +2 -0
- package/dist/core/web/public/next/assets/CloudBudgetForm-Bd91iStN.js.map +1 -0
- package/dist/core/web/public/next/assets/CommandPalette-B6SgDJH-.js +2 -0
- package/dist/core/web/public/next/assets/CommandPalette-B6SgDJH-.js.map +1 -0
- package/dist/core/web/public/next/assets/CommandSection-CvAVd1w4.css +1 -0
- package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js +2 -0
- package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js.map +1 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-Bv4hdK2T.js +2 -0
- package/dist/core/web/public/next/assets/{ConfirmDialog-DLrLKM0c.js.map → ConfirmDialog-Bv4hdK2T.js.map} +1 -1
- package/dist/core/web/public/next/assets/DeleteChatDialog-CH1Ix8Eh.js +2 -0
- package/dist/core/web/public/next/assets/DeleteChatDialog-CH1Ix8Eh.js.map +1 -0
- package/dist/core/web/public/next/assets/Dialog-BSsIFNqD.js +2 -0
- package/dist/core/web/public/next/assets/{Dialog-BS9Dxi3G.js.map → Dialog-BSsIFNqD.js.map} +1 -1
- package/dist/core/web/public/next/assets/DiffPane-BpNuJmth.js +2 -0
- package/dist/core/web/public/next/assets/{DiffPane-TOmUf3b2.js.map → DiffPane-BpNuJmth.js.map} +1 -1
- package/dist/core/web/public/next/assets/DiffViewer-CJarUvs0.js +2 -0
- package/dist/core/web/public/next/assets/{DiffViewer-BpH56302.js.map → DiffViewer-CJarUvs0.js.map} +1 -1
- package/dist/core/web/public/next/assets/DockHost-DW9q0NdR.js +2 -0
- package/dist/core/web/public/next/assets/DockHost-DW9q0NdR.js.map +1 -0
- package/dist/core/web/public/next/assets/{EmptyState-BqR5YAmf.js → EmptyState-DPrd2aak.js} +2 -2
- package/dist/core/web/public/next/assets/{EmptyState-BqR5YAmf.js.map → EmptyState-DPrd2aak.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Epistemic-dhvDTwAZ.js → Epistemic-D7MxSmED.js} +2 -2
- package/dist/core/web/public/next/assets/{Epistemic-dhvDTwAZ.js.map → Epistemic-D7MxSmED.js.map} +1 -1
- package/dist/core/web/public/next/assets/FleetSection-BdZN6rGS.js +3 -0
- package/dist/core/web/public/next/assets/FleetSection-BdZN6rGS.js.map +1 -0
- package/dist/core/web/public/next/assets/Funnel-BeNQZWv2.js +2 -0
- package/dist/core/web/public/next/assets/{Funnel-D2u7Wlzc.js.map → Funnel-BeNQZWv2.js.map} +1 -1
- package/dist/core/web/public/next/assets/GearTray-CIPtzeIx.js +2 -0
- package/dist/core/web/public/next/assets/{GearTray-Cb2npoxM.js.map → GearTray-CIPtzeIx.js.map} +1 -1
- package/dist/core/web/public/next/assets/GrowthSection-iiQg6wvK.js +2 -0
- package/dist/core/web/public/next/assets/{GrowthSection-C5aDPs8B.js.map → GrowthSection-iiQg6wvK.js.map} +1 -1
- package/dist/core/web/public/next/assets/HandoffDialog-DrQ6ofuy.js +2 -0
- package/dist/core/web/public/next/assets/{HandoffDialog-BF3AYg-X.js.map → HandoffDialog-DrQ6ofuy.js.map} +1 -1
- package/dist/core/web/public/next/assets/Input-C0MQxEM6.js +2 -0
- package/dist/core/web/public/next/assets/{Input-B5dmGLZx.js.map → Input-C0MQxEM6.js.map} +1 -1
- package/dist/core/web/public/next/assets/LeaderCard-BRr3_yE-.js +2 -0
- package/dist/core/web/public/next/assets/LeaderCard-BRr3_yE-.js.map +1 -0
- package/dist/core/web/public/next/assets/MatrixHeatmap-DZvZeWXL.js +2 -0
- package/dist/core/web/public/next/assets/{MatrixHeatmap-BgEUs2Eu.js.map → MatrixHeatmap-DZvZeWXL.js.map} +1 -1
- package/dist/core/web/public/next/assets/McpSection-BRuCcTjT.js +2 -0
- package/dist/core/web/public/next/assets/{McpSection-DZkiOuoq.js.map → McpSection-BRuCcTjT.js.map} +1 -1
- package/dist/core/web/public/next/assets/MessageMarkdown-bRvD5nSc.js +3 -0
- package/dist/core/web/public/next/assets/{MessageMarkdown-BauY8ZTY.js.map → MessageMarkdown-bRvD5nSc.js.map} +1 -1
- package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-DLBNLfsn.js → MessageMarkdownRenderer-FjjkPKA2.js} +4 -4
- package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-DLBNLfsn.js.map → MessageMarkdownRenderer-FjjkPKA2.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Meter-DNeocJnD.js → Meter-CFNLpwA-.js} +2 -2
- package/dist/core/web/public/next/assets/{Meter-DNeocJnD.js.map → Meter-CFNLpwA-.js.map} +1 -1
- package/dist/core/web/public/next/assets/MindSection-BTIiQS8P.js +2 -0
- package/dist/core/web/public/next/assets/MindSection-BTIiQS8P.js.map +1 -0
- package/dist/core/web/public/next/assets/MutationTokenDialog-T7gv3a9r.js +2 -0
- package/dist/core/web/public/next/assets/{MutationTokenDialog-mxrw0Yvy.js.map → MutationTokenDialog-T7gv3a9r.js.map} +1 -1
- package/dist/core/web/public/next/assets/NeedsYouDrawer-lYN4G_aM.js +2 -0
- package/dist/core/web/public/next/assets/{NeedsYouDrawer-CO-Balfp.js.map → NeedsYouDrawer-lYN4G_aM.js.map} +1 -1
- package/dist/core/web/public/next/assets/NeedsYouList-BgH8ezqf.js +2 -0
- package/dist/core/web/public/next/assets/{NeedsYouList-CzDZbzRD.js.map → NeedsYouList-BgH8ezqf.js.map} +1 -1
- package/dist/core/web/public/next/assets/NewChatDialog-Db5Xjrk8.js +3 -0
- package/dist/core/web/public/next/assets/NewChatDialog-Db5Xjrk8.js.map +1 -0
- package/dist/core/web/public/next/assets/OnboardingFlow-HUNQGQuU.css +1 -0
- package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js +2 -0
- package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js.map +1 -0
- package/dist/core/web/public/next/assets/OnboardingGate-C4VXn7BJ.js +3 -0
- package/dist/core/web/public/next/assets/OnboardingGate-C4VXn7BJ.js.map +1 -0
- package/dist/core/web/public/next/assets/PreviewPane-BPBbcROb.js +2 -0
- package/dist/core/web/public/next/assets/{PreviewPane-BS-CleCd.js.map → PreviewPane-BPBbcROb.js.map} +1 -1
- package/dist/core/web/public/next/assets/{ProviderLogo-C5mBg8i0.js → ProviderLogo-CT2cSfkg.js} +2 -2
- package/dist/core/web/public/next/assets/{ProviderLogo-C5mBg8i0.js.map → ProviderLogo-CT2cSfkg.js.map} +1 -1
- package/dist/core/web/public/next/assets/RailStatus-Vgl0GYtd.js +2 -0
- package/dist/core/web/public/next/assets/{RailStatus-cPRyOmrk.js.map → RailStatus-Vgl0GYtd.js.map} +1 -1
- package/dist/core/web/public/next/assets/{RefreshIndicator-CMwSCiz5.js → RefreshIndicator-CSyqpY_q.js} +2 -2
- package/dist/core/web/public/next/assets/{RefreshIndicator-CMwSCiz5.js.map → RefreshIndicator-CSyqpY_q.js.map} +1 -1
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BFi1opsC.js → ResourcePoolConsoleApp-BX2nkdmZ.js} +4 -4
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BFi1opsC.js.map → ResourcePoolConsoleApp-BX2nkdmZ.js.map} +1 -1
- package/dist/core/web/public/next/assets/ResourcesChrome-B2U2lO1H.js +3 -0
- package/dist/core/web/public/next/assets/ResourcesChrome-B2U2lO1H.js.map +1 -0
- package/dist/core/web/public/next/assets/ResourcesDrawer-BCFJ2Uq8.css +1 -0
- package/dist/core/web/public/next/assets/ResourcesDrawer-DlUKOjl9.js +2 -0
- package/dist/core/web/public/next/assets/ResourcesDrawer-DlUKOjl9.js.map +1 -0
- package/dist/core/web/public/next/assets/RouteErrorBoundary-BaC7YVzR.js +2 -0
- package/dist/core/web/public/next/assets/{RouteErrorBoundary-DYtwc2ja.js.map → RouteErrorBoundary-BaC7YVzR.js.map} +1 -1
- package/dist/core/web/public/next/assets/RunInCloudAction-D5PDHJPE.js +2 -0
- package/dist/core/web/public/next/assets/{RunInCloudAction-BEGEEM8O.js.map → RunInCloudAction-D5PDHJPE.js.map} +1 -1
- package/dist/core/web/public/next/assets/SeatSelector-Cg75LInq.js +3 -0
- package/dist/core/web/public/next/assets/{SeatSelector-CYHRR7Wp.js.map → SeatSelector-Cg75LInq.js.map} +1 -1
- package/dist/core/web/public/next/assets/Segmented-CametjLt.js +2 -0
- package/dist/core/web/public/next/assets/{Segmented-BE53BenI.js.map → Segmented-CametjLt.js.map} +1 -1
- package/dist/core/web/public/next/assets/Select-De52fghU.js +2 -0
- package/dist/core/web/public/next/assets/{Select-BwSGkHCS.js.map → Select-De52fghU.js.map} +1 -1
- package/dist/core/web/public/next/assets/SessionGate-CzlcNq3O.js +2 -0
- package/dist/core/web/public/next/assets/{SessionGate-e0dFJm9d.js.map → SessionGate-CzlcNq3O.js.map} +1 -1
- package/dist/core/web/public/next/assets/SessionInsightChip-Bk_Owa7u.js +2 -0
- package/dist/core/web/public/next/assets/{SessionInsightChip-CxlSyueJ.js.map → SessionInsightChip-Bk_Owa7u.js.map} +1 -1
- package/dist/core/web/public/next/assets/SessionSearch-C6C8DHN8.js +2 -0
- package/dist/core/web/public/next/assets/{SessionSearch-_yp7S2TP.js.map → SessionSearch-C6C8DHN8.js.map} +1 -1
- package/dist/core/web/public/next/assets/SettingsSection-mI9wQYZg.js +2 -0
- package/dist/core/web/public/next/assets/SettingsSection-mI9wQYZg.js.map +1 -0
- package/dist/core/web/public/next/assets/Sheet-CJhK9Dqv.js +2 -0
- package/dist/core/web/public/next/assets/{Sheet-DVP2Mgy6.js.map → Sheet-CJhK9Dqv.js.map} +1 -1
- package/dist/core/web/public/next/assets/ShortcutsOverlay-DDW-i9Fc.js +2 -0
- package/dist/core/web/public/next/assets/{ShortcutsOverlay-BcIcoClX.js.map → ShortcutsOverlay-DDW-i9Fc.js.map} +1 -1
- package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js +3 -0
- package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js.map +1 -0
- package/dist/core/web/public/next/assets/Slider-Bwd9HfXl.js +2 -0
- package/dist/core/web/public/next/assets/{Slider-BypUWjpH.js.map → Slider-Bwd9HfXl.js.map} +1 -1
- package/dist/core/web/public/next/assets/StatTile-DPZ5yyaU.js +2 -0
- package/dist/core/web/public/next/assets/StatTile-DPZ5yyaU.js.map +1 -0
- package/dist/core/web/public/next/assets/{StatusBadge-HCZp416_.js → StatusBadge-DHKRtttH.js} +2 -2
- package/dist/core/web/public/next/assets/{StatusBadge-HCZp416_.js.map → StatusBadge-DHKRtttH.js.map} +1 -1
- package/dist/core/web/public/next/assets/StepBand-DQykLkk_.js +2 -0
- package/dist/core/web/public/next/assets/{StepBand-Duz1PUes.js.map → StepBand-DQykLkk_.js.map} +1 -1
- package/dist/core/web/public/next/assets/Surface-D--LXgQm.js +2 -0
- package/dist/core/web/public/next/assets/Surface-D--LXgQm.js.map +1 -0
- package/dist/core/web/public/next/assets/Surface-e1z6GdZt.css +1 -0
- package/dist/core/web/public/next/assets/Swimlane-BzH6OCee.js +2 -0
- package/dist/core/web/public/next/assets/{Swimlane-DGcIcnNA.js.map → Swimlane-BzH6OCee.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Switch-iveI-8NY.js → Switch-PMixU6b0.js} +2 -2
- package/dist/core/web/public/next/assets/{Switch-iveI-8NY.js.map → Switch-PMixU6b0.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Tag-DH15CUJp.js → Tag-fordBsrJ.js} +2 -2
- package/dist/core/web/public/next/assets/{Tag-DH15CUJp.js.map → Tag-fordBsrJ.js.map} +1 -1
- package/dist/core/web/public/next/assets/TerminalPane-BSnGdUuF.js +7 -0
- package/dist/core/web/public/next/assets/TerminalPane-BSnGdUuF.js.map +1 -0
- package/dist/core/web/public/next/assets/UniverseConsoleApp-DtXFhAhw.js +2 -0
- package/dist/core/web/public/next/assets/{UniverseConsoleApp-C8yQ0AaR.js.map → UniverseConsoleApp-DtXFhAhw.js.map} +1 -1
- package/dist/core/web/public/next/assets/{UniverseView-_nPURPqe.js → UniverseView-sWm3pnTW.js} +3 -3
- package/dist/core/web/public/next/assets/{UniverseView-_nPURPqe.js.map → UniverseView-sWm3pnTW.js.map} +1 -1
- package/dist/core/web/public/next/assets/UsageSection-CiD1DbuF.js +3 -0
- package/dist/core/web/public/next/assets/UsageSection-CiD1DbuF.js.map +1 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js +3 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js.map +1 -0
- package/dist/core/web/public/next/assets/Workspace-BQSZFSeO.js +10 -0
- package/dist/core/web/public/next/assets/Workspace-BQSZFSeO.js.map +1 -0
- package/dist/core/web/public/next/assets/actions-BmIf9avl.css +1 -0
- package/dist/core/web/public/next/assets/actions-Ci6I4C0l.js +2 -0
- package/dist/core/web/public/next/assets/actions-Ci6I4C0l.js.map +1 -0
- package/dist/core/web/public/next/assets/apps-model-DlwnfqwJ.js +2 -0
- package/dist/core/web/public/next/assets/apps-model-DlwnfqwJ.js.map +1 -0
- package/dist/core/web/public/next/assets/authority-model-BFuPezSo.js +2 -0
- package/dist/core/web/public/next/assets/authority-model-BFuPezSo.js.map +1 -0
- package/dist/core/web/public/next/assets/binding-left-DZpq5sLf.js +2 -0
- package/dist/core/web/public/next/assets/binding-left-DZpq5sLf.js.map +1 -0
- package/dist/core/web/public/next/assets/{budget-queries-V3wcJVK_.js → budget-queries-DsAjH8ac.js} +2 -2
- package/dist/core/web/public/next/assets/{budget-queries-V3wcJVK_.js.map → budget-queries-DsAjH8ac.js.map} +1 -1
- package/dist/core/web/public/next/assets/capacity-strip-model-Dn1cNOhz.js +2 -0
- package/dist/core/web/public/next/assets/capacity-strip-model-Dn1cNOhz.js.map +1 -0
- package/dist/core/web/public/next/assets/charts-C_xJbJiw.js +2 -0
- package/dist/core/web/public/next/assets/charts-C_xJbJiw.js.map +1 -0
- package/dist/core/web/public/next/assets/charts-DhKTrQLw.css +1 -0
- package/dist/core/web/public/next/assets/clipboard-DkZdqlxf.js +2 -0
- package/dist/core/web/public/next/assets/clipboard-DkZdqlxf.js.map +1 -0
- package/dist/core/web/public/next/assets/cloud-D-HXms6q.css +1 -0
- package/dist/core/web/public/next/assets/cloud-model-CX407gPY.js +2 -0
- package/dist/core/web/public/next/assets/cloud-model-CX407gPY.js.map +1 -0
- package/dist/core/web/public/next/assets/cloud-queries-QAhpExlz.js +2 -0
- package/dist/core/web/public/next/assets/cloud-queries-QAhpExlz.js.map +1 -0
- package/dist/core/web/public/next/assets/cloud.module-DOP-N4Ch.js +2 -0
- package/dist/core/web/public/next/assets/cloud.module-DOP-N4Ch.js.map +1 -0
- package/dist/core/web/public/next/assets/command-catalog-CF0cQQac.js +2 -0
- package/dist/core/web/public/next/assets/command-catalog-CF0cQQac.js.map +1 -0
- package/dist/core/web/public/next/assets/context-model-Co4wh3SM.js +2 -0
- package/dist/core/web/public/next/assets/context-model-Co4wh3SM.js.map +1 -0
- package/dist/core/web/public/next/assets/context-model-DV1zCfAm.js +3 -0
- package/dist/core/web/public/next/assets/context-model-DV1zCfAm.js.map +1 -0
- package/dist/core/web/public/next/assets/{context-queries-CrPcHWTz.js → context-queries-CktFQqSS.js} +2 -2
- package/dist/core/web/public/next/assets/{context-queries-CrPcHWTz.js.map → context-queries-CktFQqSS.js.map} +1 -1
- package/dist/core/web/public/next/assets/{control-queries-CmgBgKV7.js → control-queries-DAvlh_YM.js} +2 -2
- package/dist/core/web/public/next/assets/{control-queries-CmgBgKV7.js.map → control-queries-DAvlh_YM.js.map} +1 -1
- package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js +2 -0
- package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js.map +1 -0
- package/dist/core/web/public/next/assets/dock-icons-BFuBbqJl.js +2 -0
- package/dist/core/web/public/next/assets/{dock-icons-CUh8dOxJ.js.map → dock-icons-BFuBbqJl.js.map} +1 -1
- package/dist/core/web/public/next/assets/fleet-model-Dfd5JyLR.js +2 -0
- package/dist/core/web/public/next/assets/fleet-model-Dfd5JyLR.js.map +1 -0
- package/dist/core/web/public/next/assets/fleet-queries-RtMTd5rR.js +2 -0
- package/dist/core/web/public/next/assets/fleet-queries-RtMTd5rR.js.map +1 -0
- package/dist/core/web/public/next/assets/{focus-trap-HtcoXeEq.js → focus-trap-BdrbWfC4.js} +2 -2
- package/dist/core/web/public/next/assets/{focus-trap-HtcoXeEq.js.map → focus-trap-BdrbWfC4.js.map} +1 -1
- package/dist/core/web/public/next/assets/format-Dk4Fmxax.js +2 -0
- package/dist/core/web/public/next/assets/format-Dk4Fmxax.js.map +1 -0
- package/dist/core/web/public/next/assets/{git-model-bk_RXh3y.js → git-model-_BnI_Ogh.js} +2 -2
- package/dist/core/web/public/next/assets/{git-model-bk_RXh3y.js.map → git-model-_BnI_Ogh.js.map} +1 -1
- package/dist/core/web/public/next/assets/global-CNNGMril.js +2 -0
- package/dist/core/web/public/next/assets/{global-oEl9Qj8u.js.map → global-CNNGMril.js.map} +1 -1
- package/dist/core/web/public/next/assets/{guarded-runners-LHLXmXIk.js → guarded-runners-DPh2d32e.js} +2 -2
- package/dist/core/web/public/next/assets/{guarded-runners-LHLXmXIk.js.map → guarded-runners-DPh2d32e.js.map} +1 -1
- package/dist/core/web/public/next/assets/icons-0haWy6nh.js +2 -0
- package/dist/core/web/public/next/assets/icons-0haWy6nh.js.map +1 -0
- package/dist/core/web/public/next/assets/{index-BVxOlseC.js → index-QesfXBsb.js} +3 -3
- package/dist/core/web/public/next/assets/{index-BVxOlseC.js.map → index-QesfXBsb.js.map} +1 -1
- package/dist/core/web/public/next/assets/live-model-De-q0ZFK.js +2 -0
- package/dist/core/web/public/next/assets/live-model-De-q0ZFK.js.map +1 -0
- package/dist/core/web/public/next/assets/local-model-C9xNi9fN.js +2 -0
- package/dist/core/web/public/next/assets/local-model-C9xNi9fN.js.map +1 -0
- package/dist/core/web/public/next/assets/mind.module-BrK2nFOL.js +2 -0
- package/dist/core/web/public/next/assets/{mind.module-gTGAuJt1.js.map → mind.module-BrK2nFOL.js.map} +1 -1
- package/dist/core/web/public/next/assets/mutations-DTCtKCn_.js +2 -0
- package/dist/core/web/public/next/assets/{mutations-C5S7okTW.js.map → mutations-DTCtKCn_.js.map} +1 -1
- package/dist/core/web/public/next/assets/nav-KmGX0CVz.js +2 -0
- package/dist/core/web/public/next/assets/{nav-NVtnuG7A.js.map → nav-KmGX0CVz.js.map} +1 -1
- package/dist/core/web/public/next/assets/{overnight-queries-DGm3qL1b.js → overnight-queries-mlO0xzsr.js} +2 -2
- package/dist/core/web/public/next/assets/{overnight-queries-DGm3qL1b.js.map → overnight-queries-mlO0xzsr.js.map} +1 -1
- package/dist/core/web/public/next/assets/primitives-D0Fb3TtS.js +1 -0
- package/dist/core/web/public/next/assets/{queries-CYisSAAB.js → queries-CyBE8nsW.js} +2 -2
- package/dist/core/web/public/next/assets/{queries-CYisSAAB.js.map → queries-CyBE8nsW.js.map} +1 -1
- package/dist/core/web/public/next/assets/reasoning-pref-CaoA4_Vl.js +2 -0
- package/dist/core/web/public/next/assets/{reasoning-pref-BUcFF_5G.js.map → reasoning-pref-CaoA4_Vl.js.map} +1 -1
- package/dist/core/web/public/next/assets/{reveal-anchor-D-tV8xau.js → reveal-anchor-BP1VqnPU.js} +2 -2
- package/dist/core/web/public/next/assets/{reveal-anchor-D-tV8xau.js.map → reveal-anchor-BP1VqnPU.js.map} +1 -1
- package/dist/core/web/public/next/assets/seat-subscription-C5Tvr0WQ.js +2 -0
- package/dist/core/web/public/next/assets/{seat-subscription-B-f9ViU2.js.map → seat-subscription-C5Tvr0WQ.js.map} +1 -1
- package/dist/core/web/public/next/assets/{sidebar-model-DQ-FyBHW.js → sidebar-model-B5Qk95k_.js} +2 -2
- package/dist/core/web/public/next/assets/{sidebar-model-DQ-FyBHW.js.map → sidebar-model-B5Qk95k_.js.map} +1 -1
- package/dist/core/web/public/next/assets/slots-DHKQDoE6.js +3 -0
- package/dist/core/web/public/next/assets/{slots-BhP8b8tf.js.map → slots-DHKQDoE6.js.map} +1 -1
- package/dist/core/web/public/next/assets/surface-data-CchClvHo.js +2 -0
- package/dist/core/web/public/next/assets/surface-data-CchClvHo.js.map +1 -0
- package/dist/core/web/public/next/assets/surface-prefetch-BWr0LBQn.js +2 -0
- package/dist/core/web/public/next/assets/surface-prefetch-BWr0LBQn.js.map +1 -0
- package/dist/core/web/public/next/assets/{tasks-model-BKDNqmmt.js → tasks-model-D6WFVULI.js} +2 -2
- package/dist/core/web/public/next/assets/{tasks-model-BKDNqmmt.js.map → tasks-model-D6WFVULI.js.map} +1 -1
- package/dist/core/web/public/next/assets/{terminal-icons-D2xe-aM1.js → terminal-icons-BvCvuXk2.js} +2 -2
- package/dist/core/web/public/next/assets/{terminal-icons-D2xe-aM1.js.map → terminal-icons-BvCvuXk2.js.map} +1 -1
- package/dist/core/web/public/next/assets/transient-events-nTLhMBND.js +2 -0
- package/dist/core/web/public/next/assets/transient-events-nTLhMBND.js.map +1 -0
- package/dist/core/web/public/next/assets/types-D5XOdyw8.js.map +1 -1
- package/dist/core/web/public/next/assets/{usage-queries-BZuAANlI.js → usage-queries-D1SU1t7r.js} +2 -2
- package/dist/core/web/public/next/assets/{usage-queries-BZuAANlI.js.map → usage-queries-D1SU1t7r.js.map} +1 -1
- package/dist/core/web/public/next/assets/{use-guarded-action-Cf4MeNBa.js → use-guarded-action-BZmBv7CJ.js} +2 -2
- package/dist/core/web/public/next/assets/{use-guarded-action-Cf4MeNBa.js.map → use-guarded-action-BZmBv7CJ.js.map} +1 -1
- package/dist/core/web/public/next/assets/{use-ticker-D9yi49my.js → use-ticker-CkJ4-0wU.js} +2 -2
- package/dist/core/web/public/next/assets/{use-ticker-D9yi49my.js.map → use-ticker-CkJ4-0wU.js.map} +1 -1
- package/dist/core/web/public/next/assets/{use-token-gate-DqrSXdX6.js → use-token-gate-CYcfk_GS.js} +2 -2
- package/dist/core/web/public/next/assets/{use-token-gate-DqrSXdX6.js.map → use-token-gate-CYcfk_GS.js.map} +1 -1
- package/dist/core/web/public/next/assets/useOnboarding-CujRS6PK.js +2 -0
- package/dist/core/web/public/next/assets/useOnboarding-CujRS6PK.js.map +1 -0
- package/dist/core/web/public/next/assets/useSeatsRefresh-BEaQdkZs.js +2 -0
- package/dist/core/web/public/next/assets/useSeatsRefresh-BEaQdkZs.js.map +1 -0
- package/dist/core/web/public/next/assets/useVerseTranscript-BQ0J6Xhx.js +2 -0
- package/dist/core/web/public/next/assets/{useVerseTranscript-CDYrrWOO.js.map → useVerseTranscript-BQ0J6Xhx.js.map} +1 -1
- package/dist/core/web/public/next/assets/verse-icons-DndgEgKS.js +2 -0
- package/dist/core/web/public/next/assets/verse-icons-DndgEgKS.js.map +1 -0
- package/dist/core/web/public/next/assets/verse-model-MMySehjj.js +2 -0
- package/dist/core/web/public/next/assets/verse-model-MMySehjj.js.map +1 -0
- package/dist/core/web/public/next/assets/verse-store-DNVRuiJL.js +2 -0
- package/dist/core/web/public/next/assets/verse-store-DNVRuiJL.js.map +1 -0
- package/dist/core/web/public/next/assets/warmup-CNEH_-be.js +3 -0
- package/dist/core/web/public/next/assets/{warmup-HG5vYbsN.js.map → warmup-CNEH_-be.js.map} +1 -1
- package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js +2 -0
- package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js.map +1 -0
- package/dist/core/web/public/next/assets/{workspace-model-CbhdPhei.js → workspace-model-Dukb2wwv.js} +2 -2
- package/dist/core/web/public/next/assets/{workspace-model-CbhdPhei.js.map → workspace-model-Dukb2wwv.js.map} +1 -1
- package/dist/core/web/public/next/index.html +1 -1
- package/dist/release-dependency-inventory.json +1 -1
- package/docs/README.md +2 -1
- package/package.json +1 -1
- package/dist/core/web/public/next/assets/ActionMenu-FxXeRbPx.js +0 -2
- package/dist/core/web/public/next/assets/Advanced-D_eS4472.js +0 -2
- package/dist/core/web/public/next/assets/Advanced-D_eS4472.js.map +0 -1
- package/dist/core/web/public/next/assets/App-Cj4zKbG3.js +0 -7
- package/dist/core/web/public/next/assets/App-Cj4zKbG3.js.map +0 -1
- package/dist/core/web/public/next/assets/AppsSection-Ddu_RCQE.js +0 -2
- package/dist/core/web/public/next/assets/AppsSection-Ddu_RCQE.js.map +0 -1
- package/dist/core/web/public/next/assets/AreaTrend-CDxrQU4b.js +0 -2
- package/dist/core/web/public/next/assets/AutonomySection-DuQkHGD_.js +0 -2
- package/dist/core/web/public/next/assets/BranchBar-CLsvOcyK.js +0 -2
- package/dist/core/web/public/next/assets/BudgetControl-TL3FeZ1D.js +0 -2
- package/dist/core/web/public/next/assets/BurnDown-sFXkUGdB.js +0 -2
- package/dist/core/web/public/next/assets/BurnDown-sFXkUGdB.js.map +0 -1
- package/dist/core/web/public/next/assets/CapacityStrip-qReu0RaF.js +0 -2
- package/dist/core/web/public/next/assets/ChatSection-DZuZfTaC.js +0 -3
- package/dist/core/web/public/next/assets/ChatSection-DZuZfTaC.js.map +0 -1
- package/dist/core/web/public/next/assets/CloudBudgetForm-DJbiT1wi.js +0 -2
- package/dist/core/web/public/next/assets/CloudBudgetForm-DJbiT1wi.js.map +0 -1
- package/dist/core/web/public/next/assets/CommandPalette-zYLFZRnj.js +0 -2
- package/dist/core/web/public/next/assets/CommandPalette-zYLFZRnj.js.map +0 -1
- package/dist/core/web/public/next/assets/CommandSection-rIeMK5Ch.js +0 -2
- package/dist/core/web/public/next/assets/CommandSection-rIeMK5Ch.js.map +0 -1
- package/dist/core/web/public/next/assets/ConfirmDialog-DLrLKM0c.js +0 -2
- package/dist/core/web/public/next/assets/Dialog-BS9Dxi3G.js +0 -2
- package/dist/core/web/public/next/assets/DiffPane-TOmUf3b2.js +0 -2
- package/dist/core/web/public/next/assets/DiffViewer-BpH56302.js +0 -2
- package/dist/core/web/public/next/assets/DockHost-DzkzR-HD.js +0 -2
- package/dist/core/web/public/next/assets/DockHost-DzkzR-HD.js.map +0 -1
- package/dist/core/web/public/next/assets/FleetSection-ViAb549H.js +0 -3
- package/dist/core/web/public/next/assets/FleetSection-ViAb549H.js.map +0 -1
- package/dist/core/web/public/next/assets/Funnel-D2u7Wlzc.js +0 -2
- package/dist/core/web/public/next/assets/GearTray-Cb2npoxM.js +0 -2
- package/dist/core/web/public/next/assets/GrowthSection-C5aDPs8B.js +0 -2
- package/dist/core/web/public/next/assets/HandoffDialog-BF3AYg-X.js +0 -2
- package/dist/core/web/public/next/assets/Input-B5dmGLZx.js +0 -2
- package/dist/core/web/public/next/assets/LeaderCard-DZrmjDbI.js +0 -2
- package/dist/core/web/public/next/assets/LeaderCard-DZrmjDbI.js.map +0 -1
- package/dist/core/web/public/next/assets/MatrixHeatmap-BgEUs2Eu.js +0 -2
- package/dist/core/web/public/next/assets/McpSection-DZkiOuoq.js +0 -2
- package/dist/core/web/public/next/assets/MessageMarkdown-BauY8ZTY.js +0 -3
- package/dist/core/web/public/next/assets/MindSection-BvJXFjyX.js +0 -2
- package/dist/core/web/public/next/assets/MindSection-BvJXFjyX.js.map +0 -1
- package/dist/core/web/public/next/assets/MutationTokenDialog-mxrw0Yvy.js +0 -2
- package/dist/core/web/public/next/assets/NeedsYouDrawer-CO-Balfp.js +0 -2
- package/dist/core/web/public/next/assets/NeedsYouList-CzDZbzRD.js +0 -2
- package/dist/core/web/public/next/assets/NewChatDialog-B8eJjlFf.js +0 -3
- package/dist/core/web/public/next/assets/NewChatDialog-B8eJjlFf.js.map +0 -1
- package/dist/core/web/public/next/assets/OnboardingFlow-Cij6KWat.js +0 -2
- package/dist/core/web/public/next/assets/OnboardingFlow-Cij6KWat.js.map +0 -1
- package/dist/core/web/public/next/assets/OnboardingFlow-DSpPj8UE.css +0 -1
- package/dist/core/web/public/next/assets/PreviewPane-BS-CleCd.js +0 -2
- package/dist/core/web/public/next/assets/RailStatus-cPRyOmrk.js +0 -2
- package/dist/core/web/public/next/assets/ResourcesChrome-BJCauW_t.js +0 -3
- package/dist/core/web/public/next/assets/ResourcesChrome-BJCauW_t.js.map +0 -1
- package/dist/core/web/public/next/assets/ResourcesDrawer-BDecg6nO.js +0 -2
- package/dist/core/web/public/next/assets/ResourcesDrawer-BDecg6nO.js.map +0 -1
- package/dist/core/web/public/next/assets/ResourcesDrawer-CSKIO_wZ.css +0 -1
- package/dist/core/web/public/next/assets/RouteErrorBoundary-DYtwc2ja.js +0 -2
- package/dist/core/web/public/next/assets/RunInCloudAction-BEGEEM8O.js +0 -2
- package/dist/core/web/public/next/assets/SeatSelector-CYHRR7Wp.js +0 -3
- package/dist/core/web/public/next/assets/Segmented-BE53BenI.js +0 -2
- package/dist/core/web/public/next/assets/Select-BwSGkHCS.js +0 -2
- package/dist/core/web/public/next/assets/SessionGate-e0dFJm9d.js +0 -2
- package/dist/core/web/public/next/assets/SessionInsightChip-CxlSyueJ.js +0 -2
- package/dist/core/web/public/next/assets/SessionSearch-_yp7S2TP.js +0 -2
- package/dist/core/web/public/next/assets/SettingsSection-wGnpWeGW.js +0 -2
- package/dist/core/web/public/next/assets/SettingsSection-wGnpWeGW.js.map +0 -1
- package/dist/core/web/public/next/assets/Sheet-DVP2Mgy6.js +0 -2
- package/dist/core/web/public/next/assets/ShortcutsOverlay-BcIcoClX.js +0 -2
- package/dist/core/web/public/next/assets/Sidebar-DjQOqPbm.js +0 -3
- package/dist/core/web/public/next/assets/Sidebar-DjQOqPbm.js.map +0 -1
- package/dist/core/web/public/next/assets/Slider-BypUWjpH.js +0 -2
- package/dist/core/web/public/next/assets/StepBand-Duz1PUes.js +0 -2
- package/dist/core/web/public/next/assets/Surface-B75lVfzm.js +0 -2
- package/dist/core/web/public/next/assets/Surface-B75lVfzm.js.map +0 -1
- package/dist/core/web/public/next/assets/Surface-DMca0gAe.css +0 -1
- package/dist/core/web/public/next/assets/Swimlane-DGcIcnNA.js +0 -2
- package/dist/core/web/public/next/assets/TerminalPane-MQT-veKZ.js +0 -7
- package/dist/core/web/public/next/assets/TerminalPane-MQT-veKZ.js.map +0 -1
- package/dist/core/web/public/next/assets/UniverseConsoleApp-C8yQ0AaR.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-CqxRGJ40.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-CqxRGJ40.js.map +0 -1
- package/dist/core/web/public/next/assets/VerseConsoleApp-DTjDpGCd.js +0 -3
- package/dist/core/web/public/next/assets/VerseConsoleApp-DTjDpGCd.js.map +0 -1
- package/dist/core/web/public/next/assets/Workspace-DfcFGzME.js +0 -10
- package/dist/core/web/public/next/assets/Workspace-DfcFGzME.js.map +0 -1
- package/dist/core/web/public/next/assets/actions-Ddfg2iLl.css +0 -1
- package/dist/core/web/public/next/assets/actions-tWevL9HV.js +0 -2
- package/dist/core/web/public/next/assets/actions-tWevL9HV.js.map +0 -1
- package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js +0 -2
- package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js.map +0 -1
- package/dist/core/web/public/next/assets/capacity-strip-model-BDbmQ3e3.js +0 -2
- package/dist/core/web/public/next/assets/capacity-strip-model-BDbmQ3e3.js.map +0 -1
- package/dist/core/web/public/next/assets/charts-CfAjuKMv.js +0 -2
- package/dist/core/web/public/next/assets/charts-CfAjuKMv.js.map +0 -1
- package/dist/core/web/public/next/assets/charts-uSX6xVYN.css +0 -1
- package/dist/core/web/public/next/assets/cloud-C1KPNRHC.css +0 -1
- package/dist/core/web/public/next/assets/cloud-queries-Br_r0UAz.js +0 -2
- package/dist/core/web/public/next/assets/cloud-queries-Br_r0UAz.js.map +0 -1
- package/dist/core/web/public/next/assets/cloud.module-ascz58c3.js +0 -2
- package/dist/core/web/public/next/assets/cloud.module-ascz58c3.js.map +0 -1
- package/dist/core/web/public/next/assets/command-bus-xYZoK9nQ.js +0 -2
- package/dist/core/web/public/next/assets/command-bus-xYZoK9nQ.js.map +0 -1
- package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js +0 -2
- package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js.map +0 -1
- package/dist/core/web/public/next/assets/composer-keys-su0g1h9o.js +0 -2
- package/dist/core/web/public/next/assets/composer-keys-su0g1h9o.js.map +0 -1
- package/dist/core/web/public/next/assets/context-model-BC-HOmPo.js +0 -2
- package/dist/core/web/public/next/assets/context-model-BC-HOmPo.js.map +0 -1
- package/dist/core/web/public/next/assets/context-model-CIBmSugV.js +0 -2
- package/dist/core/web/public/next/assets/context-model-CIBmSugV.js.map +0 -1
- package/dist/core/web/public/next/assets/dark-since-DOMvtB_G.js +0 -2
- package/dist/core/web/public/next/assets/dark-since-DOMvtB_G.js.map +0 -1
- package/dist/core/web/public/next/assets/dock-icons-CUh8dOxJ.js +0 -2
- package/dist/core/web/public/next/assets/dock-store-B2vlxqPu.js +0 -2
- package/dist/core/web/public/next/assets/dock-store-B2vlxqPu.js.map +0 -1
- package/dist/core/web/public/next/assets/fleet-model-7i-FbzKI.js +0 -2
- package/dist/core/web/public/next/assets/fleet-model-7i-FbzKI.js.map +0 -1
- package/dist/core/web/public/next/assets/fleet-queries-DzGoqq8X.js +0 -2
- package/dist/core/web/public/next/assets/fleet-queries-DzGoqq8X.js.map +0 -1
- package/dist/core/web/public/next/assets/format-BkWdOQDL.js +0 -2
- package/dist/core/web/public/next/assets/format-BkWdOQDL.js.map +0 -1
- package/dist/core/web/public/next/assets/global-oEl9Qj8u.js +0 -2
- package/dist/core/web/public/next/assets/guarded-action-OzqcPjmh.js +0 -3
- package/dist/core/web/public/next/assets/guarded-action-OzqcPjmh.js.map +0 -1
- package/dist/core/web/public/next/assets/icon-base-DvM1eI5V.js +0 -2
- package/dist/core/web/public/next/assets/icon-base-DvM1eI5V.js.map +0 -1
- package/dist/core/web/public/next/assets/icons-DEQa2rTx.js +0 -2
- package/dist/core/web/public/next/assets/icons-DEQa2rTx.js.map +0 -1
- package/dist/core/web/public/next/assets/live-model-bmsJgnYD.js +0 -2
- package/dist/core/web/public/next/assets/live-model-bmsJgnYD.js.map +0 -1
- package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js +0 -2
- package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js.map +0 -1
- package/dist/core/web/public/next/assets/mind.module-gTGAuJt1.js +0 -2
- package/dist/core/web/public/next/assets/mutations-C5S7okTW.js +0 -2
- package/dist/core/web/public/next/assets/nav-NVtnuG7A.js +0 -2
- package/dist/core/web/public/next/assets/preloaded-Cwf9rsnZ.js +0 -2
- package/dist/core/web/public/next/assets/preloaded-Cwf9rsnZ.js.map +0 -1
- package/dist/core/web/public/next/assets/primitives-DyCKYSBG.js +0 -1
- package/dist/core/web/public/next/assets/reasoning-pref-BUcFF_5G.js +0 -2
- package/dist/core/web/public/next/assets/seat-subscription-B-f9ViU2.js +0 -2
- package/dist/core/web/public/next/assets/section-visibility-Yctxu-if.js +0 -2
- package/dist/core/web/public/next/assets/section-visibility-Yctxu-if.js.map +0 -1
- package/dist/core/web/public/next/assets/slots-BhP8b8tf.js +0 -3
- package/dist/core/web/public/next/assets/surface-data-DTI7LjvH.js +0 -2
- package/dist/core/web/public/next/assets/surface-data-DTI7LjvH.js.map +0 -1
- package/dist/core/web/public/next/assets/surface-prefetch-CdUEBFrl.js +0 -2
- package/dist/core/web/public/next/assets/surface-prefetch-CdUEBFrl.js.map +0 -1
- package/dist/core/web/public/next/assets/useChartWidth-owwodNVz.js +0 -2
- package/dist/core/web/public/next/assets/useChartWidth-owwodNVz.js.map +0 -1
- package/dist/core/web/public/next/assets/useSeatsRefresh-DgFy-Ph4.js +0 -2
- package/dist/core/web/public/next/assets/useSeatsRefresh-DgFy-Ph4.js.map +0 -1
- package/dist/core/web/public/next/assets/useVerseTranscript-CDYrrWOO.js +0 -2
- package/dist/core/web/public/next/assets/verse-icons-F9VwX07_.js +0 -2
- package/dist/core/web/public/next/assets/verse-icons-F9VwX07_.js.map +0 -1
- package/dist/core/web/public/next/assets/verse-model-DyCwZF-M.js +0 -2
- package/dist/core/web/public/next/assets/verse-model-DyCwZF-M.js.map +0 -1
- package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js +0 -3
- package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js.map +0 -1
- package/dist/core/web/public/next/assets/verse-ui-store-62DxpVHS.js +0 -3
- package/dist/core/web/public/next/assets/verse-ui-store-62DxpVHS.js.map +0 -1
- package/dist/core/web/public/next/assets/viewport-nTubFCwf.js +0 -2
- package/dist/core/web/public/next/assets/viewport-nTubFCwf.js.map +0 -1
- package/dist/core/web/public/next/assets/warmup-HG5vYbsN.js +0 -3
- package/dist/core/web/public/next/assets/workbench-types-DzN-5trg.js +0 -2
- package/dist/core/web/public/next/assets/workbench-types-DzN-5trg.js.map +0 -1
- /package/dist/core/web/public/next/assets/{BurnDown-BuLMsJMx.css → StatTile-BuLMsJMx.css} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,s as n}from"./index-BVxOlseC.js";import{H as r,J as i,m as a,p as o,s}from"./global-oEl9Qj8u.js";import{t as c}from"./focus-trap-HtcoXeEq.js";import{t as l}from"./Dialog-BS9Dxi3G.js";import{n as u}from"./StatusBadge-HCZp416_.js";import{t as d}from"./RefreshIndicator-CMwSCiz5.js";import{D as f,E as p,L as m,O as h,P as g,c as _,l as v,n as y,p as b,t as x,u as S}from"./useChartWidth-owwodNVz.js";import{c as C}from"./colors-BZ3a9wFf.js";import{t as ee}from"./Swimlane-DGcIcnNA.js";import{n as w,t as T}from"./BurnDown-sFXkUGdB.js";import{s as E}from"./command-catalog-Bb_PxC5w.js";import{n as D}from"./viewport-nTubFCwf.js";import{i as O,r as k}from"./section-visibility-Yctxu-if.js";import{E as A,I as te,Z as j}from"./VerseConsoleApp-DTjDpGCd.js";import{f as ne,n as re}from"./verse-model-DyCwZF-M.js";import{t as M}from"./Segmented-BE53BenI.js";import{t as N,v as P,y as ie}from"./format-BkWdOQDL.js";import{t as ae}from"./Tag-DH15CUJp.js";import{n as oe}from"./budget-queries-V3wcJVK_.js";import{n as se,t as F}from"./Button-HHXgoXGr.js";import{c as ce,d as le,g as ue,h as de,i as fe,m as pe,y as me}from"./icons-DEQa2rTx.js";import{t as he}from"./Meter-DNeocJnD.js";import{t as ge}from"./Switch-iveI-8NY.js";import{t as _e}from"./BudgetControl-TL3FeZ1D.js";import{n as ve,t as ye}from"./types-D5XOdyw8.js";import{S as be,_ as xe,b as Se,c as Ce,d as we,g as Te,h as I,i as Ee,l as De,p as Oe,r as ke,s as Ae,t as L,u as je,v as Me,x as Ne,y as Pe}from"./cloud.module-ascz58c3.js";import{a as Fe,i as Ie,n as Le,o as Re,r as ze,s as Be,t as Ve}from"./cloud-queries-Br_r0UAz.js";import{t as He}from"./use-ticker-D9yi49my.js";import{t as Ue}from"./use-guarded-action-Cf4MeNBa.js";import{i as We,n as Ge,r as Ke,t as qe}from"./nav-NVtnuG7A.js";import{a as Je,f as Ye,i as Xe,n as Ze,o as Qe,r as $e,s as R,t as et,u as tt}from"./surface-data-DTI7LjvH.js";import{t as nt}from"./Input-B5dmGLZx.js";import{t as rt}from"./Sheet-DVP2Mgy6.js";import{n as it,r as z,t as at}from"./actions-tWevL9HV.js";import{n as ot,r as st,t as ct}from"./dark-since-DOMvtB_G.js";import{a as lt,i as B,n as V,r as H,t as ut}from"./Surface-B75lVfzm.js";import{_ as dt,d as ft,f as pt,s as mt,v as ht}from"./live-model-bmsJgnYD.js";import{n as gt}from"./LeaderCard-DZrmjDbI.js";import{d as _t,n as vt,u as yt}from"./NeedsYouList-CzDZbzRD.js";import{t as bt}from"./CloudBudgetForm-DJbiT1wi.js";var U=n(e(),1),W={off:0,propose:1,autonomous:2},G={off:`Off`,propose:`Propose`,autonomous:`Autonomous`},xt={off:`Off`,propose:`Propose`,autonomous:`Auto`},St=[`off`,`propose`,`autonomous`];function Ct(e,t){let n=W[e.switch],r=W[t];return r===n?`same`:r<n?`lower`:r<=W[e.maxSwitchWithoutGrant]?`raise`:`raise-needs-grant`}function wt(e){return St.map(t=>{let n=W[t]>Math.max(W[e.switch],W[e.maxSwitchWithoutGrant]);return{value:t,label:G[t],short:xt[t],needsGrant:n,ariaLabel:n?`${G[t]} (needs a new grant — Touch ID)`:G[t]}})}var K=864e5,Tt=36e5;function Et(e){if(!Number.isFinite(e)||e<=0)return`0m`;if(e>=3*K)return`${Math.floor(e/K)}d`;if(e>=K){let t=Math.floor(e/K),n=Math.floor((e-t*K)/Tt);return n?`${t}d ${n}h`:`${t}d`}return e>=Tt?`${Math.floor(e/Tt)}h`:`${Math.max(1,Math.floor(e/6e4))}m`}var q={none:`No grant`,active:`Active`,paused:`Paused, re-approve`,expired:`Expired, renew`,revoked:`Revoked, new grant`,invalid:`Grant invalid`};function Dt(e,t){if(!e)return{label:`Grant unknown`,tone:`unknown`,detail:`The authority service did not answer, so the grant state is unknown.`,action:null};let n=e.grant;switch(n.state){case`active`:{let e=n.expiresAt?Date.parse(n.expiresAt):NaN;if(!Number.isFinite(e))return{label:`Active`,tone:`success`,detail:`A grant is active; its expiry could not be read.`,action:null};let r=e-t,i=r<K?`danger`:r<3*K?`warning`:`success`;return{label:Et(r),tone:i,detail:`Grant active until ${new Date(e).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}${r<3*K?` — renew soon`:``}.`,action:r<3*K?`grant`:null}}case`paused`:return{label:q.paused,tone:`warning`,detail:n.reason??`The grant is paused until you re-approve it.`,action:`re-approve`};case`expired`:return{label:q.expired,tone:`danger`,detail:n.reason??`The grant expired; autonomy is dark until a new one is signed.`,action:`grant`};case`revoked`:return{label:q.revoked,tone:`danger`,detail:n.reason??`The grant was revoked; a new one needs Touch ID.`,action:`grant`};case`invalid`:return{label:q.invalid,tone:`danger`,detail:n.reason??`The installed grant failed verification.`,action:`grant`};default:return{label:q.none,tone:`neutral`,detail:`No standing grant is installed; autonomy can only propose.`,action:`grant`}}}function Ot(e){return e?e.kill?{key:`mode`,text:`Stopped`,tone:`danger`}:e.grant.state===`paused`?{key:`mode`,text:`Paused, re-approve`,tone:`warning`}:{key:`mode`,text:G[e.effectiveSwitch],tone:e.effectiveSwitch===`autonomous`?`success`:`neutral`}:{key:`mode`,text:`Autonomy unknown`,tone:`unknown`}}function kt(e){let t=[Ot(e.authority)],n=e.building!==null||e.mergedToday!==null||e.revertsToday!==null;return e.darkSince&&!(e.building&&e.building>0)?t.push({key:`dark`,text:`fleet dark since ${ct(e.darkSince)}`,tone:`neutral`}):n?(e.building!==null&&t.push({key:`building`,text:`${e.building} building`}),e.mergedToday!==null&&t.push({key:`merged`,text:`${e.mergedToday} merged today`}),e.revertsToday!==null&&t.push({key:`reverts`,text:`${e.revertsToday} revert${e.revertsToday===1?``:`s`}`,tone:e.revertsToday>0?`warning`:void 0})):t.push({key:`fleet`,text:`fleet status unknown`,tone:`unknown`}),e.reserve&&t.push({key:`reserve`,text:`${e.reserve.label} ${Math.round(e.reserve.percent)}% reserved for you`}),t}function At(e,t){let n=e.kind;return n===`new`?`grant`:n===`reapprove`?`re-approve`:t}function jt(e){if(typeof e!=`object`||!e)return null;let t=e.result?.stop;if(typeof t!=`object`||!t)return null;let n=t,r=typeof n.liveExecutionLeases==`number`&&Number.isFinite(n.liveExecutionLeases)?Math.max(0,Math.round(n.liveExecutionLeases)):null,i=[];n.quiesced===!0||r===0?i.push(`Stopped. No agent is still running.`):r===null?i.push(`Stopped. Agents started before Stop may still be finishing; no new work starts.`):i.push(`Stopped. ${r} agent${r===1?``:`s`} started before Stop ${r===1?`is`:`are`} still finishing; no new work starts.`),typeof n.mergesRevoked==`number`&&n.mergesRevoked>0&&i.push(`${n.mergesRevoked} armed merge${n.mergesRevoked===1?` was`:`s were`} revoked.`);let a=Array.isArray(n.mergeRevokeFailures)?n.mergeRevokeFailures.length:0;return a>0&&i.push(`${a} armed merge${a===1?``:`s`} could not be revoked; Stop still blocks ${a===1?`it`:`them`}.`),i.join(` `)}var J=t(),Mt=864e5;function Nt(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toLocaleString(`en-US`,{weekday:`short`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`}):`—`}function Pt(e){let t=Date.parse(e.issuedAt),n=Date.parse(e.expiresAt);return Number.isFinite(t)&&Number.isFinite(n)?Math.round((n-t)/Mt):null}function Ft(e){let t=e.criteria,n=[`${e.repos.length} repo${e.repos.length===1?``:`s`}`,`${e.maxRisk} risk`,`≤ ${e.maxFiles} files / ${e.maxLines} lines`,`≤ ${e.maxMergesPerRepoPerDay} merges/repo/day`],r=[`${t.minMerges} merges`,`${t.minHours} h`,t.minPostMergeGreenPct?`≥ ${t.minPostMergeGreenPct}% green`:null,`≤ ${t.maxRevertRatePct}% reverts`].filter(Boolean);return`${n.join(` · `)} — advances after ${r.join(`, `)}`}function It({draft:e}){let t=e.payload,n=Pt(t);return(0,J.jsxs)(`div`,{className:z.scope,children:[(0,J.jsxs)(`section`,{className:z.scopeBlock,"aria-label":`Expiry`,children:[(0,J.jsx)(B,{children:`Expiry`}),(0,J.jsxs)(`p`,{className:z.scopeLead,children:[n===null?`—`:`${n} days`,`, until `,Nt(t.expiresAt)]}),(0,J.jsxs)(`p`,{className:z.scopeMeta,children:[`Signed by key `,(0,J.jsx)(`span`,{className:z.mono,children:t.keyId}),` · sequence `,t.grantSeq,` · bound to this Mac`]})]}),(0,J.jsxs)(`section`,{className:z.scopeBlock,"aria-label":`Repositories`,children:[(0,J.jsxs)(B,{children:[`Repositories (`,t.repos.length,`)`]}),(0,J.jsxs)(`table`,{className:z.scopeTable,children:[(0,J.jsx)(`thead`,{children:(0,J.jsxs)(`tr`,{children:[(0,J.jsx)(`th`,{scope:`col`,children:`Repo`}),(0,J.jsx)(`th`,{scope:`col`,children:`Up to`}),(0,J.jsx)(`th`,{scope:`col`,children:`Checks`}),(0,J.jsx)(`th`,{scope:`col`,children:`Risk`}),(0,J.jsx)(`th`,{scope:`col`,className:z.num,children:`Merges/day`})]})}),(0,J.jsx)(`tbody`,{children:t.repos.map(e=>(0,J.jsxs)(`tr`,{children:[(0,J.jsx)(`td`,{className:z.mono,children:e.nameWithOwner}),(0,J.jsx)(`td`,{children:e.stage===`merge`?`Merge`:`Propose`}),(0,J.jsx)(`td`,{children:e.enforcement===`server`?`GitHub`:`Local only`}),(0,J.jsx)(`td`,{children:e.maxRisk}),(0,J.jsx)(`td`,{className:z.num,children:e.maxMergesPerDay})]},e.nameWithOwner))})]}),(0,J.jsxs)(`p`,{className:z.scopeMeta,children:[`Every merge ≤ `,t.merge.maxFiles,` files / `,t.merge.maxLines,` lines · ashlr-hub itself: `,t.merge.selfRepo===`propose-only`?`propose only`:`merge outside authority code`]})]}),(0,J.jsxs)(`section`,{className:z.scopeBlock,"aria-label":`Spend`,children:[(0,J.jsx)(B,{children:`Spend`}),(0,J.jsxs)(`p`,{className:z.scopeLead,children:[`Up to `,t.spend.maxMode===`all-in`?`All-in`:t.spend.maxMode===`balanced`?`Balanced`:`Reserve`,` · metered APIs $`,t.spend.meteredUsdPerDay,`/day`]}),(0,J.jsx)(`ul`,{className:z.scopeList,children:Object.entries(t.spend.seats).map(([e,t])=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{className:z.mono,children:e}),t.enabled?`: keeps ${t.reserveFloorPercent}% for you`:`: not used by autonomy`,t.enabled&&t.maxSessionWindowPercent!==void 0?`, never above ${t.maxSessionWindowPercent}% of its 5-hour window`:``,t.enabled?` · ${t.roles.join(`, `)}`:``]},e))})]}),(0,J.jsxs)(`section`,{className:z.scopeBlock,"aria-label":`Engines and Leader`,children:[(0,J.jsx)(B,{children:`Engines and Leader`}),(0,J.jsx)(`p`,{className:z.scopeLead,children:t.engines.join(`, `)||`none`}),(0,J.jsxs)(`p`,{className:z.scopeMeta,children:[`Leader classes `,t.leader.classes.length?t.leader.classes.join(` + `):`none (proposes only)`,` · class-B veto window `,t.leader.vetoMinutes,` min · goal conductor `,t.conductorGoals?`on`:`off`]})]}),(0,J.jsxs)(`section`,{className:z.scopeBlock,"aria-label":`Rollout ladder`,children:[(0,J.jsxs)(B,{children:[`Rollout ladder (`,t.rollout.stages.length,` stages, advances by itself)`]}),(0,J.jsx)(`ol`,{className:z.ladder,children:t.rollout.stages.map(e=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{className:z.ladderId,children:e.id}),(0,J.jsx)(`span`,{children:Ft(e)})]},e.id))}),(0,J.jsx)(`p`,{className:z.scopeMeta,children:`Any sandbox violation or reserve breach drops it back one stage. It can never climb past the last stage.`})]}),(0,J.jsxs)(`p`,{className:z.scopeMeta,children:[`Draft digest `,(0,J.jsxs)(`span`,{className:z.mono,children:[e.digest.slice(0,16),`…`]})]})]})}function Lt({open:e,intent:t,then:n,busy:r,why:i,onApprove:a,onClose:o}){let s=(0,U.useId)();return e?(0,J.jsx)(Rt,{titleId:s,intent:t,then:n,busy:r,why:i,onApprove:a,onClose:o}):null}function Rt({titleId:e,intent:t,then:n,busy:r,why:i,onApprove:a,onClose:s}){let c=o(et,{freshMs:0}),l=c.data?.value??null,u=c.data?.reason??null;return(0,J.jsx)(rt,{open:!0,onClose:s,titleId:e,width:600,title:t===`re-approve`?`Re-approve the standing grant`:`Approve a standing grant`,description:i,footer:(0,J.jsxs)(`div`,{className:z.sheetFooter,children:[(0,J.jsxs)(`p`,{className:z.sheetFootnote,children:[`Touch ID appears on this Mac. Lowering authority — Off, Stop, Revoke — never needs it.`,n?` After approval the switch moves to ${G[n]}.`:``]}),(0,J.jsxs)(`span`,{className:z.sheetButtons,children:[(0,J.jsx)(F,{variant:`ghost`,onClick:s,children:`Cancel`}),(0,J.jsx)(F,{variant:`primary`,icon:(0,J.jsx)(le,{}),disabled:!l,busy:r,onClick:()=>l&&a(l),children:`Approve with Touch ID`})]})]}),children:c.status===`loading`&&!c.data?(0,J.jsx)(`p`,{className:z.muted,"aria-busy":`true`,children:`Preparing the grant draft…`}):l?(0,J.jsx)(It,{draft:l}):(0,J.jsx)(V,{tone:`unknown`,children:u??`The grant draft could not be read, so nothing can be approved from here.`})})}var zt={"all-in":`All-in`,balanced:`Balanced`,reserve:`Reserve`};function Bt(){let e=E(`fleet.stop`)?.guard?.confirm;return{title:e?.title??`Stop the fleet?`,body:e?.body??`Autonomous work halts within one tick and stays stopped until you resume it. Chats keep running.`,confirmLabel:e?.confirmLabel??`Stop fleet`,destructive:!0}}var Vt={title:`Resume the fleet?`,body:`Autonomy picks up at the switch position on its next tick. Stopping again is one click.`,confirmLabel:`Resume fleet`,destructive:!1};function Ht({tone:e}){return(0,J.jsx)(`span`,{className:z.dot,"data-tone":e,"aria-hidden":`true`})}function Ut({read:e,loading:t,budgetMode:n,actions:r,compact:i,now:a}){let o=e?.value??null,[s,c]=(0,U.useState)(null),[l,u]=(0,U.useState)(null),[d,f]=(0,U.useState)(!1),p=!o,m=Dt(o,a);function h(e){if(!o)return;let t=Ct(o,e);if(t!==`same`){if(t===`raise-needs-grant`){let t=o.grant.state===`paused`;c({intent:t?`re-approve`:`grant`,then:e,why:t?`${o.grant.reason??`The grant is paused.`} ${G[e]} needs it re-approved.`:`${G[e]} is beyond what the installed grant allows, so it needs a new grant.`});return}r.act(()=>R({action:`switch`,to:e}),`Switch autonomy to ${G[e]}`)}}function g(e){if(!s)return;let{then:t}=s,n=At(e,s.intent);r.act(()=>R({action:n,draftDigest:e.digest}),n===`re-approve`?`Re-approve the standing grant`:`Sign a new standing grant`,{onDone:e=>{c(null),t&&e&&W[t]<=W[e.maxSwitchWithoutGrant]&&t!==e.switch&&r.act(()=>R({action:`switch`,to:t}),`Switch autonomy to ${G[t]}`)}})}let _=wt(o||{switch:`off`,maxSwitchWithoutGrant:`off`}),v=o?.kill??!1,y=p||r.busy||r.readOnly,b=(0,J.jsxs)(`div`,{className:z.switchWrap,title:p?e?.reason??`Reading autonomy state…`:void 0,children:[i?null:(0,J.jsx)(`span`,{className:z.barLabel,"aria-hidden":`true`,children:`Autonomy`}),(0,J.jsx)(M,{size:`sm`,"aria-label":`Autonomy`,value:o?.switch??`off`,onChange:h,options:_.map(e=>({value:e.value,label:(0,J.jsxs)(`span`,{className:z.switchOption,children:[i?e.short:e.label,e.needsGrant?(0,J.jsx)(le,{className:z.touchMark,width:12,height:12,"aria-hidden":`true`}):null]}),ariaLabel:e.ariaLabel,disabled:y}))})]}),x=()=>r.act(()=>R({action:`stop`}),`Stop the fleet`,{confirm:Bt(),onDone:e=>u(jt(e))}),S=()=>r.act(()=>R({action:`clear-stop`}),`Resume the fleet`,{confirm:Vt,onDone:()=>u(null)}),C=v?i?(0,J.jsx)(F,{variant:`subtle`,size:`sm`,icon:(0,J.jsx)(pe,{}),iconOnly:!0,"aria-label":`Resume the fleet`,disabled:y,onClick:S}):(0,J.jsx)(F,{variant:`subtle`,size:`sm`,icon:(0,J.jsx)(pe,{}),disabled:y,onClick:S,children:`Resume`}):i?(0,J.jsx)(F,{variant:`danger`,size:`sm`,icon:(0,J.jsx)(me,{}),iconOnly:!0,"aria-label":`Stop the fleet`,disabled:y,onClick:x}):(0,J.jsx)(F,{variant:`danger`,size:`sm`,icon:(0,J.jsx)(me,{}),disabled:y,onClick:x,children:`Stop`});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:z.bar,role:`toolbar`,"aria-label":`Autonomy controls`,"data-loading":t||void 0,children:[b,i?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Wt,{mode:n,onOpen:()=>f(!0)}),(0,J.jsx)(Gt,{chip:m,onOpen:e=>c({intent:e,then:null,why:m.detail})})]}),(0,J.jsx)(`span`,{className:z.barSpacer}),C]}),v&&l?(0,J.jsx)(`p`,{className:z.muted,role:`status`,children:l}):null,i?(0,J.jsxs)(`div`,{className:z.barSecondary,children:[(0,J.jsx)(Wt,{mode:n,onOpen:()=>f(!0)}),(0,J.jsx)(Gt,{chip:m,onOpen:e=>c({intent:e,then:null,why:m.detail})})]}):null,(0,J.jsx)(Lt,{open:s!==null,intent:s?.intent??`grant`,then:s?.then??null,why:s?.why??``,busy:r.busy,onApprove:g,onClose:()=>c(null)}),(0,J.jsx)(Kt,{open:d,onClose:()=>f(!1),status:o})]})}function Wt({mode:e,onOpen:t}){return(0,J.jsxs)(`button`,{type:`button`,className:z.pill,"aria-haspopup":`dialog`,onClick:t,children:[(0,J.jsx)(`span`,{className:z.pillLabel,children:`Budget`}),(0,J.jsx)(`span`,{children:e?zt[e]:`—`}),(0,J.jsx)(fe,{width:14,height:14,"aria-hidden":`true`})]})}function Gt({chip:e,onOpen:t}){let n=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Ht,{tone:e.tone}),(0,J.jsx)(`span`,{className:z.pillLabel,children:`Grant`}),(0,J.jsx)(`span`,{children:e.label})]});if(!e.action)return(0,J.jsx)(`span`,{className:z.chip,"data-tone":e.tone,title:e.detail,"aria-label":`Grant: ${e.label}. ${e.detail}`,role:`status`,children:n});let r=e.action;return(0,J.jsx)(`button`,{type:`button`,className:z.chip,"data-tone":e.tone,title:e.detail,"aria-haspopup":`dialog`,onClick:()=>t(r),"aria-label":`Grant: ${e.label}. ${e.detail}`,children:n})}function Kt({open:e,onClose:t,status:n}){let r=n?.grant.state===`active`?n.grant.maxMode:null;return(0,J.jsx)(rt,{open:e,onClose:t,titleId:`command-budget-sheet`,width:560,title:`Budget`,description:r?`Your grant allows up to ${zt[r]}. Autonomy never spends past it, whatever is selected here — moving toward Reserve is always instant.`:`No active grant: autonomy only proposes. The budget still decides which seats it would use.`,children:e?(0,J.jsx)(_e,{maxMode:r}):null})}function qt(e,t){if(!e.resetsAt)return null;let n=Date.parse(e.resetsAt);return Number.isFinite(n)?n-t:null}function Jt(e,t,n){let r=t.id;if(e===`claude`){if(r===`five_hour`)return`session`;if(r===`seven_day`)return`weekly`;if(r.startsWith(`seven_day_`))return`model`}if(e===`grok`)return`weekly`;let i=qt(t,n);if(e===`codex`){if(r.endsWith(`_secondary`))return`weekly`;if(r.endsWith(`_primary`))return i!==null&&i>189e5?`weekly`:`session`}return i!==null&&i<=189e5?`session`:`weekly`}var Yt=864e5,Xt=36e5;function Y(e,t,n,r=0){let i=e.length-r,a=i-n;if(a<0||n<=0)return null;let o=0;for(let n=a;n<i;n++){let r=t(e[n]);if(r===null||!Number.isFinite(r))return null;o+=r}return o}function Zt(e,t,n){return e.slice(Math.max(0,e.length-n)).map(t)}function Qt(e){let t=e.filter(e=>e!==null&&Number.isFinite(e));return t.length?t.reduce((e,t)=>e+t,0)/t.length:null}function $t(e){let t=e.meteredCostUsd;return typeof t==`number`&&Number.isFinite(t)&&t>=0?t:null}function en(e){if(!e)return null;let t=new Map(e.seatInfo.map(e=>[e.seatId,e])),n=[];for(let r of e.headroom){let e=t.get(r.seatId);if(!e||e.free)continue;let i=r.bindingWindow===`session`?r.sessionUsedPercent:r.bindingWindow===`weekly`?r.weeklyUsedPercent:null;n.push(`${e.label} ${i===null||!Number.isFinite(i)?`—`:A(i)}`)}return n.length?`${n.join(` · `)} of window used`:null}var tn=e=>e>0?`+${e}`:String(e),X=e=>`${e>0?`+`:``}${e.toFixed(1)}`,nn=e=>`${e>0?`+`:e<0?`−`:``}$${Math.abs(e).toFixed(2)}`;function rn(e){if(e===null||!Number.isFinite(e)||e<0)return`—`;let t=Math.round(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60);if(n<48)return t%60?`${n}h ${t%60}m`:`${n}h`;let r=Math.floor(n/24);return n%24?`${r}d ${n%24}h`:`${r}d`}function an(e){if(!e||e.repos.length===0)return[];let t=Math.max(...e.repos.map(e=>e.greenTrend.length));return Array.from({length:t},(n,r)=>Qt(e.repos.map(e=>e.greenTrend[r-(t-e.greenTrend.length)]??null)))}function on({fleet:e,history:t,learning:n,policy:r,budget:i}){let a=t?.days??[],o=e=>e.merges.realized,s=$t,c=e?.summary.merged7d??Y(a,o,7),l=Y(a,o,7,7),u=Y(a,o,7),d=u!==null&&l!==null?u-l:null,f=e?.summary.postMergeGreenPct7d??null,p=an(e),m=p.length>=14?Qt(p.slice(-7)):null,h=p.length>=14?Qt(p.slice(-14,-7)):null,g=m!==null&&h!==null?m-h:null,_=Y(a,s,7),v=Y(a,s,7,7),y=r?r.spend.meteredUsdPerDay:null,b=_===null?`—`:`$${_.toFixed(2)}${y===null?``:` / $${(y*7).toFixed(0)}`}`,x=a.some(e=>$t(e)!==null),S=y===null?null:y===0?`metered APIs off ($0 cap)`:`cap $${y}/day`,C=en(i),ee=[S,x?null:`metered split not reported yet`,C?`subscriptions: ${C}`:`subscriptions are window usage, not dollars — see seat capacity`].filter(Boolean).join(` · `),w=n?.active??null,T=(w?.experimentId?n?.experiments.find(e=>e.id===w.experimentId)??null:null)?.lift??null;return[{id:`merged`,label:`Merged · 7d`,value:c===null?`—`:String(c),delta:d===null?null:{value:d,unit:Math.abs(d)===1?`merge`:`merges`,versus:`vs prior 7d`,goodWhenPositive:!0,format:tn},trend:a.length?Zt(a,o,14):void 0,trendLabel:`Merges per day, last 14 days`,caption:e?.summary.mergedToday==null?`fleet merges on default branches`:`${e.summary.mergedToday} today`},{id:`green`,label:`Post-merge green`,value:f===null?`—`:`${Math.round(f)}%`,delta:g===null?null:{value:g,unit:`pts`,versus:`vs prior 7d`,goodWhenPositive:!0,format:X},trend:p.length?p:void 0,trendLabel:`Post-merge green percent per day`,caption:f===null?`no completed post-merge watch yet`:`CI + suite 2 h after each merge`},{id:`cycle`,label:`Cycle time`,value:rn(e?.summary.cycleTimeP50Ms7d??null),delta:null,trend:void 0,trendLabel:`Cycle time`,caption:`median, proposal → merge, 7d`},{id:`spend`,label:`Metered spend · 7d`,value:b,delta:_!==null&&v!==null?{value:_-v,versus:`vs prior 7d`,goodWhenPositive:!1,format:nn}:null,trend:x?Zt(a,s,14):void 0,trendLabel:`Metered (per-token API) spend per day`,caption:ee},{id:`lift`,label:`Lift`,value:T?`${X(T.mean)} pts`:`—`,delta:null,trend:void 0,trendLabel:`Harness lift`,caption:w?`harness ${w.id} vs baseline${T?` (95% ${X(T.ciLow)} to ${X(T.ciHigh)})`:``}`:`no harness adopted — defaults in force`}]}var sn=(e,t)=>e!==null&&Date.parse(e)>t;function cn({lastLookedAt:e,fleet:t,leader:n,activity:r}){if(!e)return[];let i=Date.parse(e);if(!Number.isFinite(i))return[];let a=[],o=(t?.runs??[]).filter(e=>sn(e.endedAt,i)),s=e=>o.filter(t=>t.outcome===e).length,c=s(`merged`),l=s(`reverted`),u=s(`failed`)+s(`refused`);c&&a.push({id:`merged`,text:`${c} merged`,tone:`success`}),l&&a.push({id:`reverted`,text:`${l} reverted`,tone:`danger`}),u&&a.push({id:`failed`,text:`${u} refused or failed`,tone:`warning`});let d=(n?.timeline??[]).filter(e=>Date.parse(e.at)>i&&e.status===`ok`).length;d&&a.push({id:`memos`,text:`${d} new memo${d===1?``:`s`}`,tone:`info`});let f=(r?.needsYou??[]).filter(e=>Date.parse(e.since)>i).length;return f&&a.push({id:`needs`,text:`${f} new for you`,tone:`warning`}),a}var ln={high:0,warn:1,info:2};function un(e){return[...e].sort((e,t)=>ln[e.severity]-ln[t.severity]||Date.parse(t.since)-Date.parse(e.since))}function dn(e,t){let n=new Map,r=(e,t)=>{typeof e==`string`&&typeof t==`string`&&t.trim().length>0&&n.set(e,t.trim())};for(let e of t?.seatInfo??[])r(e.seatId,e.label);for(let t of e??[])r(t.id,t.label);return n}function fn(e){return e?Object.entries(e.sources).filter(([,e])=>e!==`ok`).map(([e])=>e):[]}function pn(e,t){return`${e}#${t}`}var mn=20;function hn(e,t){let n=e.length;return n>=2&&e[n-1].used===t&&e[n-2].used===t}function gn(e,t){if(!t)return{...e};let n=Date.parse(t.sampledAt);if(!Number.isFinite(n))return{...e};let r={...e};for(let e of t.headroom){let t=[[`session`,e.sessionUsedPercent],[`weekly`,e.weeklyUsedPercent]];for(let[i,a]of t){if(a===null||!Number.isFinite(a))continue;let t=pn(e.seatId,i),o=r[t]??[];if(o.length&&o[o.length-1].t>=n)continue;let s=o.length&&a+mn<o[o.length-1].used?[]:o;r[t]=[...hn(s,a)?s.slice(0,-1):s,{t:n,used:a}].slice(-240)}}return r}function _n(e,t){let n=typeof t?.generatedAt==`string`?Date.parse(t.generatedAt):NaN,r=new Map;for(let e of Array.isArray(t?.series)?t.series:[]){if(!e||typeof e.seatId!=`string`||e.window!==`session`&&e.window!==`weekly`||!Array.isArray(e.points))continue;let t=[];for(let n of e.points){if(!Array.isArray(n))continue;let[e,r]=n;typeof e==`number`&&Number.isFinite(e)&&typeof r==`number`&&Number.isFinite(r)&&r>=0&&r<=100&&t.push({t:e,used:r})}if(t.length===0)continue;let n=pn(e.seatId,e.window);r.set(n,[...r.get(n)??[],...t])}let i={},a=new Set;for(let t of new Set([...Object.keys(e),...r.keys()])){let o=r.get(t)??[],s=e[t]??[];if(o.length>0){a.add(t);let e=Math.max(...o.map(e=>e.t)),r=Number.isFinite(n)?Math.max(n,e):e;s=s.filter(e=>e.t>r)}let c=new Map;for(let e of o)c.set(e.t,e);for(let e of s)c.set(e.t,e);let l=[...c.values()].sort((e,t)=>e.t-t.t),u=0;for(let e=1;e<l.length;e++)l[e].used+mn<l[e-1].used&&(u=e);let d=[];for(let e of l.slice(u))hn(d,e.used)&&d.pop(),d.push(e);i[t]=d.slice(-2e3)}return{readings:i,recorded:a}}var vn={session:5*Xt,weekly:7*Yt};function yn(e,t){if(!t||e.bindingWindow===null)return null;let n=100-t.reservePercent,r=t.maxSessionWindowPercent??100,i,a;e.bindingWindow===`weekly`||e.weeklyUsedPercent===null&&n<r?(i=n,a=`Reserved for you`):(i=r,a=`5-hour ceiling`);let o=100-i;return o>0?{value:o,label:a}:null}function bn(e){let t=e===`session`?{weekday:`short`,hour:`numeric`,minute:`2-digit`}:{month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`};return e=>{let n=new Date(e);return Number.isNaN(n.getTime())?``:n.toLocaleString(`en-US`,t)}}function xn(e,t,n,r){if(!e?.capacity||n===null||t===`local`)return null;for(let i of e.capacity.windows){let e=typeof i.resetDescription==`string`?i.resetDescription.trim():``;if(e.length!==0&&Jt(t,{id:i.id,usedPercent:i.usedPercent,resetsAt:i.resetsAt,resetDescription:i.resetDescription,limitReached:i.limitReached},r)===n)return e}return null}function Sn(e){return`resets ${e.replace(/^resets\s+/i,``)}`}var Cn=[`jan`,`feb`,`mar`,`apr`,`may`,`jun`,`jul`,`aug`,`sep`,`oct`,`nov`,`dec`],wn=/^(?:resets\s+)?(?:([A-Za-z]{3}) ([1-9]|[12]\d|3[01]) at )?([1-9]|1[0-2])(?::([0-5]\d))?(am|pm) \(([A-Za-z0-9_+-]+(?:\/[A-Za-z0-9_+-]+){0,2})\)$/i;function Tn(e,t){let n=t.formatToParts(new Date(e)),r=e=>Number(n.find(t=>t.type===e)?.value),i={y:r(`year`),mo:r(`month`)-1,d:r(`day`),h:r(`hour`)%24,mi:r(`minute`)};return Object.values(i).every(Number.isFinite)?i:null}var En=e=>Date.UTC(e.y,e.mo,e.d,e.h,e.mi);function Dn(e,t){let n=En(e),r=n;for(let e=0;e<3;e++){let e=Tn(r,t);if(!e)return null;let i=n-En(e);if(i===0)return r;r+=i}return null}function On(e,t){let n=wn.exec(e.trim());if(!n||!Number.isFinite(t))return null;let[,r,i,a,o,s,c]=n,l;try{l=new Intl.DateTimeFormat(`en-US`,{timeZone:c,hourCycle:`h23`,year:`numeric`,month:`numeric`,day:`numeric`,hour:`numeric`,minute:`numeric`})}catch{return null}let u=Tn(t,l);if(!u)return null;let d=Number(a)%12+(s.toLowerCase()===`pm`?12:0),f=o===void 0?0:Number(o),p=[];if(r!==void 0){let e=Cn.indexOf(r.toLowerCase()),t=Number(i);if(e<0)return null;for(let n of[u.y-1,u.y,u.y+1])new Date(Date.UTC(n,e,t)).getUTCDate()===t&&p.push({y:n,mo:e,d:t,h:d,mi:f})}else for(let e of[-1,0,1]){let t=new Date(Date.UTC(u.y,u.mo,u.d+e));p.push({y:t.getUTCFullYear(),mo:t.getUTCMonth(),d:t.getUTCDate(),h:d,mi:f})}let m=null;for(let e of p){let n=Dn(e,l);n!==null&&(m===null||Math.abs(n-t)<Math.abs(m-t))&&(m=n)}return m}var kn=9e5,An=Date.UTC(2e3,0,1);function jn(e,t,n,r){let i=e?Date.parse(e):NaN;if(Number.isFinite(i)&&i>=An)return{at:i,from:`provider`};if(t===null||n===null)return null;let a=On(t,r);return a===null||a<r-kn||a>r+n+kn?null:{at:a,from:`words`}}function Mn(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.trim().length>0).map(ht):[]}var Nn=6e4,Pn=new Set([`reserve`,`session-ceiling`]);function Fn(e){return typeof e==`string`?e.trim().replace(/^resets\s+/i,``):``}function In(e){for(let t of e){if(!Pn.has(t.kind))continue;let e=Fn(t.resetDescription);if(e)return e}return null}function Ln(e,t,n){let r=typeof e.resetsAt==`string`?Date.parse(e.resetsAt):NaN;if(Number.isFinite(r))return t.resetAt!==null&&Math.abs(r-t.resetAt)<=Nn?null:ie(e.resetsAt,n);let i=Fn(e.resetDescription);return!i||t.resetText!==null&&Fn(t.resetText).toLowerCase()===i.toLowerCase()?null:i}function Rn(e,t,n){if(!e)return null;let r=pt(dt(e.text,n));if(!r)return null;let i=Ln(e,t,n);return i?`${r} Resets ${i}.`:r}function zn(e,t,n,r){if(!e)return[];let i=new Map(e.seatInfo.map(e=>[e.seatId,e])),a=new Map((n??[]).map(e=>[e.id,e])),o=Date.parse(e.sampledAt),s=Number.isFinite(o)?o:Date.now();return e.headroom.map(n=>{let o=i.get(n.seatId),c=o?.engine??`local`,l=n.bindingWindow?vn[n.bindingWindow]:null,u=Mn(n.reasons),d=xn(a.get(n.seatId),c,n.bindingWindow,s)??(n.bindingWindow===null||c===`local`?null:In(u)),f=l===null?null:jn(n.resetAt,d,l,s),p=f&&l!==null?f.at-l:null,m=n.bindingWindow?pn(n.seatId,n.bindingWindow):null,h=m?t[m]??[]:[];return{seatId:n.seatId,label:o?.label??n.seatId,engine:c,window:n.bindingWindow,points:h.filter(e=>p===null||e.t>=p).map(e=>({t:e.t,remaining:Math.max(0,100-e.used)})),start:p,resetAt:f?.at??null,resetFrom:f?.from??null,resetText:d,reservePercent:e.effective[n.seatId]?.reservePercent??0,line:yn(n,e.effective[n.seatId]),enabled:e.effective[n.seatId]?.enabled??!1,free:o?.free??!1,eligible:n.eligibleForAutonomy,reason:Rn(u[0],{resetAt:f?.at??null,resetText:d},s),recorded:m!==null&&(r?.has(m)??!1)}}).sort((e,t)=>Number(e.free)-Number(t.free)||e.label.localeCompare(t.label))}function Bn(e){if(!e)return null;let t=e.seatInfo.find(e=>e.engine===`claude`);if(!t)return null;let n=e.effective[t.seatId];return n?{label:`Claude`,percent:n.reservePercent}:null}function Vn({kpis:e}){return(0,J.jsx)(`div`,{className:z.kpis,role:`group`,"aria-label":`Key numbers`,children:e.map(e=>(0,J.jsx)(w,{label:e.label,value:e.value,delta:e.delta,trend:e.trend,trendLabel:e.trendLabel,caption:e.caption},e.id))})}var Hn=3e4,Un={high:`Urgent`,warn:`Soon`,info:`FYI`},Wn={approvals:`approvals`,authority:`authority`,fleet:`fleet`,leader:`Leader`,chats:`chats`,accounts:`accounts`};function Gn(e,t){if(t.confirm)return{...t.confirm,destructive:t.destructive};if(t.kind===`approve`||t.kind===`reject`||t.kind===`veto`)return{title:`${t.kind===`approve`?`Approve`:t.kind===`reject`?`Reject`:`Veto`}?`,body:_t(e).text,confirmLabel:t.label,destructive:t.destructive}}function Kn(e){let t=e.target;switch(t.kind){case`url`:return/^https:\/\//.test(t.url)?{label:`Open`,href:t.url}:null;case`section`:return{label:`Show`,onOpen:()=>Ge(t.section,t.anchor)};case`session`:return{label:`Open chat`,onOpen:()=>Ke(t.sessionId)};case`approval`:case`seat`:return{label:`Open`,onOpen:()=>We(e.id)};default:return null}}function qn(e){return e===null?null:e.replace(/(^|· )(Partial )?([a-z][\w-]*) run$/,(e,t,n,r)=>{let i=ne(r)?re[r]:`${r.charAt(0).toUpperCase()}${r.slice(1)}`;return`${t}${n??``}${i} run`})}function Jn({item:e,view:t,seatNames:n}){let r=e.subject,i=[];if(t.repo&&i.push((0,J.jsx)(`span`,{className:z.needsRepo,title:t.repoFull,children:t.repo},`repo`)),r.pr&&i.push((0,J.jsxs)(`span`,{children:[`#`,r.pr]},`pr`)),r.seatId){let e=n?.get(r.seatId)??r.seatId;i.push((0,J.jsx)(`span`,{title:e===r.seatId?void 0:r.seatId,children:e},`seat`))}return i.push((0,J.jsx)(`span`,{title:t.ageStamp,children:t.age},`age`)),(0,J.jsx)(`span`,{className:z.needsMeta,children:i.map((e,t)=>(0,J.jsxs)(U.Fragment,{children:[t>0?(0,J.jsx)(`span`,{"aria-hidden":`true`,children:`·`}):null,e]},e.key))})}function Yn({item:e,actions:t,now:n,seatNames:r}){let i=Kn(e),a=e.actions.filter(e=>e.request!==null),o=yt(e,n),s=qn(o.kindLabel);return(0,J.jsxs)(`li`,{className:z.needsRow,"data-severity":e.severity,id:qe(e.id),children:[(0,J.jsx)(`span`,{className:z.sevDot,"data-severity":e.severity,"aria-hidden":`true`}),(0,J.jsxs)(`div`,{className:z.needsText,children:[s?(0,J.jsx)(`span`,{className:z.needsKind,children:s}):null,(0,J.jsxs)(`span`,{className:z.needsTitle,title:o.fullTitle,children:[(0,J.jsxs)(`span`,{className:`visually-hidden`,children:[Un[e.severity],`: `]}),o.title]}),o.run?(0,J.jsx)(vt,{run:o.run}):null,o.detail?(0,J.jsx)(`span`,{className:z.needsDetail,children:o.detail}):null,(0,J.jsx)(Jn,{item:e,view:o,seatNames:r})]}),(0,J.jsxs)(`div`,{className:z.needsActions,children:[a.map(n=>(0,J.jsx)(F,{size:`sm`,variant:n.destructive?`danger`:n.kind===`approve`?`primary`:`subtle`,disabled:t.busy||t.readOnly,onClick:()=>t.act(()=>tt(n.request.path,n.request.body),`${n.label}: ${o.title}`,{confirm:Gn(e,n)}),children:n.label},n.kind)),i?i.href?(0,J.jsxs)(`a`,{className:z.linkButton,href:i.href,target:`_blank`,rel:`noopener noreferrer`,children:[i.label,(0,J.jsx)(ce,{width:12,height:12,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`visually-hidden`,children:` (opens in a new tab)`})]}):(0,J.jsx)(`button`,{type:`button`,className:z.linkButton,onClick:i.onOpen,children:i.label}):null]})]})}function Xn(e){return e.status===`unavailable`?{activity:null,loading:!1,reason:`The Needs-you inbox is not in this build yet, so this card has no source.`,stale:!1}:e.data?{activity:e.data,loading:!1,reason:null,stale:e.status===`stale`}:{activity:null,loading:!0,reason:null,stale:!1}}function Zn({state:e,actions:t,fleetLine:n,seatNames:r}){let{activity:i,loading:a,reason:o,stale:s}=Xn(e),c=He(Hn),l=i?un(i.needsYou):[],u=fn(i),d=l.slice(0,5),f=i?i.needsYou.length:null;return(0,J.jsx)(ut,{title:f===null?`Needs you`:`Needs you (${f})`,caption:f===null||f===0?void 0:`Most urgent first`,tone:f?`attention`:void 0,actions:(0,J.jsxs)(`button`,{type:`button`,className:z.linkButton,onClick:()=>We(),"aria-keyshortcuts":`Meta+J`,children:[`Open all `,(0,J.jsx)(`kbd`,{className:z.kbd,children:`⌘J`})]}),children:a?(0,J.jsx)(`p`,{className:z.muted,"aria-busy":`true`,children:`Reading the inbox…`}):i?d.length===0?u.length||s?(0,J.jsx)(V,{tone:`unknown`,children:u.length?`Nothing to show, but ${u.map(e=>Wn[e]??e).join(`, `)} ${u.length===1?`is`:`are`} not answering — this is not an all-clear.`:`Nothing to show, but the last refresh failed — this is not an all-clear.`}):(0,J.jsxs)(`div`,{className:z.allClear,role:`status`,children:[(0,J.jsx)(`span`,{className:z.allClearTitle,children:`All clear`}),(0,J.jsx)(`span`,{className:z.allClearBody,children:n})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`ul`,{className:z.needsList,children:d.map(e=>(0,J.jsx)(Yn,{item:e,actions:t,now:c,seatNames:r},e.id))}),l.length>d.length?(0,J.jsxs)(`button`,{type:`button`,className:z.moreLink,onClick:()=>We(),children:[l.length-d.length,` more in the drawer`]}):null,u.length?(0,J.jsxs)(`p`,{className:z.muted,children:[u.map(e=>Wn[e]??e).join(`, `),` not answering — the list may be incomplete.`]}):null,s?(0,J.jsx)(`p`,{className:z.muted,children:`The last refresh failed; showing the previous list.`}):null]}):(0,J.jsxs)(V,{tone:`unknown`,children:[o??`The Needs-you inbox did not answer.`,` Nothing is shown rather than a false all-clear.`]})})}var Qn={session:`5-hour`,weekly:`weekly`};function $n(){return(0,J.jsx)(`svg`,{width:`1.6em`,height:`0.8em`,viewBox:`0 0 24 12`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,strokeLinecap:`round`,focusable:`false`,"aria-hidden":`true`,children:(0,J.jsx)(`path`,{d:`M6 2.5a3.5 3.5 0 1 0 0 7c2.5 0 3.5-2 6-3.5s3.5-3.5 6-3.5a3.5 3.5 0 1 1 0 7c-2.5 0-3.5-2-6-3.5S8.5 2.5 6 2.5Z`})})}var er=16,tr=14,nr=160,Z=e=>`${Math.round(e)}%`,rr=h(0,100,4),ir=.05,ar=`Readings since Verse opened — the line fills in as it watches this seat.`;function or(e,t,n){return e.recorded&&t!==null?`No reading was recorded in this window before ${n(t)}.`:ar}function sr({title:e,description:t,caveat:n,points:r,from:i,to:a,line:o,width:s,formatTime:c,ariaLabel:l}){let u=(0,U.useRef)(null),d=x(u,s),h=r.filter(e=>e.t>=i&&e.t<=a).sort((e,t)=>e.t-t.t),ee=S(),w=m(rr.map(e=>Z(e)),28,56,ee),T=Math.max(40,d-w-tr),E=f(i,a,w,w+T),D=f(0,100,134,er),O=e=>D(Math.min(100,Math.max(0,e))),k=g(h.map(e=>({x:e.t,y:e.remaining}))).map(e=>e.map(e=>({x:E(e.x),y:O(e.y)}))),A=[...h].reverse().find(e=>e.remaining!==null)??null;return(0,J.jsx)(y,{title:e,description:t,caveat:n,status:A?{kind:`ready`}:{kind:`empty`,message:`No reading inside this window.`},table:(0,J.jsx)(v,{caption:e,columns:[{key:`t`,label:`When`,render:e=>c(e.t)},{key:`r`,label:`Remaining`,numeric:!0,render:e=>e.remaining===null?`—`:Z(e.remaining)}],rows:h,rowKey:e=>String(e.t)}),children:(0,J.jsx)(`div`,{ref:u,className:_.plotWrap,children:(0,J.jsxs)(`svg`,{className:_.svg,width:d,height:nr,viewBox:`0 0 ${d} ${nr}`,role:`img`,"aria-label":l,children:[rr.map(e=>(0,J.jsxs)(`g`,{children:[(0,J.jsx)(`line`,{className:_.grid,x1:w,x2:w+T,y1:D(e),y2:D(e)}),(0,J.jsx)(`text`,{className:_.tick,x:w-6,y:D(e),dy:`0.32em`,textAnchor:`end`,children:Z(e)})]},e)),(0,J.jsx)(`line`,{className:_.axis,x1:w,x2:w+T,y1:D(0),y2:D(0)}),(0,J.jsx)(`text`,{className:_.tick,x:w,y:152,textAnchor:`start`,children:c(i)}),(0,J.jsx)(`text`,{className:_.tick,x:w+T,y:152,textAnchor:`end`,children:`Now`}),o?(0,J.jsxs)(`g`,{"data-role":`reserve`,children:[(0,J.jsx)(`line`,{className:_.reference,x1:w,x2:w+T,y1:D(o.value),y2:D(o.value)}),(0,J.jsxs)(`text`,{"data-role":`reserve-label`,className:`${_.tick} ${_.halo}`,x:w+4,y:D(o.value)-5,textAnchor:`start`,children:[o.label,` · `,Z(o.value)]})]}):null,k.map((e,t)=>(0,J.jsxs)(`g`,{"data-role":`remaining`,children:[(0,J.jsx)(`path`,{className:_.wash,fill:C,d:b(e,e.map(e=>({x:e.x,y:D(0)})))}),(0,J.jsx)(`path`,{className:_.line,stroke:C,d:p(e)})]},t)),A&&A.remaining!==null?(0,J.jsx)(`circle`,{className:_.marker,cx:E(A.t),cy:O(A.remaining),r:4,fill:C}):null]})})})}function cr({burn:e,now:t,width:n}){if(e.free)return(0,J.jsxs)(`section`,{className:z.freeSeat,"aria-label":`${e.label}: free local seat`,children:[(0,J.jsxs)(`span`,{className:z.freeHead,children:[(0,J.jsx)(ae,{engine:e.engine}),(0,J.jsx)(`span`,{className:z.freeTitle,children:e.label})]}),(0,J.jsx)(`span`,{className:z.freeValue,children:(0,J.jsx)($n,{})}),(0,J.jsxs)(`span`,{className:z.freeBody,children:[`Local — free, no provider window. `,e.eligible?`Takes autonomous work.`:e.reason??``]})]});let r=`${e.label}${e.window?` · ${Qn[e.window]}`:``}`,i=N(e.enabled?e.eligible?`Autonomy may use it now`:e.reason??`Held back from autonomy`:`Not used by autonomy`),a=[...e.points].reverse().find(e=>e.remaining!==null)?.remaining??null,o=(0,J.jsxs)(`section`,{className:z.freeSeat,"aria-label":r,children:[(0,J.jsxs)(`span`,{className:z.freeHead,children:[(0,J.jsx)(ae,{engine:e.engine}),(0,J.jsx)(`span`,{className:z.freeTitle,children:e.label})]}),(0,J.jsx)(V,{tone:`unknown`,children:`No window reading — unknown usage is never treated as headroom.`})]});if(e.window===null)return o;let s=vn[e.window],c=bn(e.window),l=e.resetText?Sn(e.resetText):null,u=e.points.filter(e=>e.remaining!==null),d=u.length?Math.min(...u.map(e=>e.t)):null,f=e=>u.length<2||d===null||d-e>ir*s;if(e.resetAt===null||e.start===null){if(a===null)return o;let p=Math.max(...u.map(e=>e.t)),m=Math.max(t,p),h=m-s,g=l??`reset time not reported`,_=l?`The provider's reset words could not be placed on a clock`:`No reset time was reported for this window`;return(0,J.jsx)(sr,{title:r,description:`${Z(a)} left · ${g} · ${i}`,caveat:`${_}, so nothing is projected to a reset.${f(h)?` ${or(e,d,c)}`:``}`,points:e.points,from:h,to:m,line:e.line,width:n,formatTime:c,ariaLabel:`${r}: ${Z(a)} left, ${g}. ${pt(i)}`})}let p=e.resetFrom===`words`&&l!==null?`${a===null?``:`${Z(a)} left · `}${l} · ${i}`:i;return(0,J.jsx)(T,{title:r,description:p,caveat:f(e.start)?or(e,d,c):void 0,status:e.points.length===0?{kind:`empty`,message:`No reading yet in this window.`}:void 0,points:e.points,capacity:100,start:e.start,resetAt:e.resetAt,now:t,reserve:e.line??void 0,height:nr,width:n,formatValue:Z,formatTime:c})}function lr({burns:e,now:t,compact:n}){return e.length===0?(0,J.jsx)(V,{tone:`unknown`,children:`Seat capacity is not available — the budget route did not answer.`}):(0,J.jsx)(`div`,{className:n?z.burnStrip:z.burnGrid,role:`group`,"aria-label":`Capacity per seat`,children:e.map(e=>(0,J.jsx)(`div`,{className:z.burnItem,children:(0,J.jsx)(cr,{burn:e,now:t,width:n?300:void 0})},e.seatId))})}var ur=new Intl.NumberFormat(`en-US`);function dr({open:e,onClose:t,actions:n,estimatePerSessionUsd:r,onLaunched:i,defaultRepo:a=ke}){let o=(0,U.useId)(),c=(0,U.useId)(),u=(0,U.useId)(),d=(0,U.useRef)(null),[f,p]=(0,U.useState)({repo:a,baseBranch:``,prompt:``}),[m,h]=(0,U.useState)({}),[g,_]=(0,U.useState)(null);(0,U.useEffect)(()=>{e&&(h({}),_(null))},[e]);let v=e=>{_(null),p(t=>({...t,...e})),h(t=>{let n={...t};for(let t of Object.keys(e))delete n[t];return n})},y=e=>{e.preventDefault();let r=be(f);if(!r.ok){h(r.errors);return}h({}),_(null),n.act(async()=>{try{let e=await Ie({...r.request,origin:`operator`});p(e=>({...e,prompt:``})),i(e.task),t()}catch(e){if(e instanceof s)throw e;_(Ue(e))}},`Launch a Claude Code cloud session with this task.`)},b=f.prompt.trim().length;return(0,J.jsx)(l,{open:e,onClose:t,titleId:o,title:`New cloud task`,description:`Runs as a Claude Code cloud session on your Claude account. It delivers a draft PR; nothing merges on its own.`,widthClassName:L.dialogWidth,initialFocusRef:d,children:(0,J.jsxs)(`form`,{className:L.form,onSubmit:y,noValidate:!0,children:[(0,J.jsxs)(`div`,{className:L.fieldGrid,children:[(0,J.jsx)(nt,{label:`Repository`,hint:`GitHub owner/name`,mono:!0,value:f.repo,error:m.repo,autoComplete:`off`,spellCheck:!1,onChange:e=>v({repo:e.target.value})}),(0,J.jsx)(nt,{label:`Base branch`,hint:`Must be pushed. Empty uses the default branch.`,mono:!0,value:f.baseBranch,placeholder:`default branch`,error:m.baseBranch,autoComplete:`off`,spellCheck:!1,onChange:e=>v({baseBranch:e.target.value})})]}),(0,J.jsxs)(`div`,{className:L.textareaField,children:[(0,J.jsx)(`label`,{className:L.label,htmlFor:c,children:`Task`}),(0,J.jsx)(`textarea`,{ref:d,id:c,className:L.textarea,value:f.prompt,placeholder:`What should the cloud session do? It reads the repo's own guidance and opens a draft PR.`,"aria-invalid":m.prompt?!0:void 0,"aria-describedby":m.prompt?u:void 0,onChange:e=>v({prompt:e.target.value})}),m.prompt?(0,J.jsx)(`p`,{id:u,className:L.fieldError,role:`alert`,children:m.prompt}):null,(0,J.jsxs)(`p`,{className:L.muted,children:[ur.format(b),` of `,ur.format(ve),` characters`,r===null?``:` · estimated at ${je(r)} per session`]})]}),g?(0,J.jsx)(`p`,{className:L.notice,"data-tone":`danger`,role:`alert`,children:g}):null,(0,J.jsxs)(`div`,{className:L.formActions,children:[(0,J.jsx)(F,{variant:`ghost`,onClick:t,disabled:n.busy,children:`Cancel`}),(0,J.jsx)(F,{type:`submit`,variant:`primary`,busy:n.busy,children:`Launch`})]})]})})}function Q({href:e,children:t,label:n}){return(0,J.jsxs)(`a`,{className:L.link,href:e,target:`_blank`,rel:`noreferrer noopener`,"aria-label":n,children:[t,` `,(0,J.jsx)(ce,{width:12,height:12,"aria-hidden":`true`})]})}function fr({task:e,actions:t,now:n}){let r=I(e.sessionUrl,`claude.ai`),i=e.pr?I(e.pr.url,`github.com`):null,a=Se(e,n);return(0,J.jsxs)(`li`,{className:L.task,"data-state":e.state,children:[(0,J.jsx)(`span`,{className:L.taskChip,children:(0,J.jsx)(u,{status:e.state,tone:Ee[e.state],children:Pe(e)})}),(0,J.jsxs)(`span`,{className:L.taskMain,children:[(0,J.jsx)(`p`,{className:L.taskTitle,children:e.title}),(0,J.jsx)(`span`,{className:L.muted,children:Ne(e,n)}),a?(0,J.jsx)(`span`,{className:L.facts,children:a}):null,(0,J.jsxs)(`span`,{className:L.taskLinks,children:[r?(0,J.jsx)(Q,{href:r,label:`Open “${e.title}” in Claude`,children:`Open in Claude`}):null,i&&e.pr?(0,J.jsx)(Q,{href:i,label:`Pull request #${e.pr.number} on GitHub`,children:`PR #${e.pr.number}`}):null,Ae(e)?(0,J.jsx)(`button`,{type:`button`,className:L.linkButton,disabled:t.busy||t.readOnly,"aria-label":`Dismiss “${e.title}”`,onClick:()=>t.act(()=>ze(e.id),`Dismiss the cloud task “${e.title}”.`,{confirm:{title:`Dismiss this cloud task?`,body:`Verse stops tracking “${e.title}”. Nothing on GitHub or claude.ai changes — the session and any PR stay where they are.`,confirmLabel:`Dismiss`}}),children:`Dismiss`}):null]})]})]})}function pr({overview:e,actions:t,onClose:n}){let r=(0,U.useRef)(null),i=(0,U.useId)();return c({open:!0,containerRef:r,onClose:n}),(0,J.jsxs)(`div`,{ref:r,className:L.popover,role:`dialog`,"aria-modal":`false`,"aria-labelledby":i,tabIndex:-1,children:[(0,J.jsx)(`h4`,{id:i,className:L.popoverTitle,children:`Cloud budget`}),(0,J.jsx)(bt,{idPrefix:`cloud-card-budget`,budget:e.budget.budget,busy:t.busy,disabled:t.readOnly,onSave:e=>t.act(()=>Be(e),`Change the cloud budget.`,{onDone:n}),onCancel:n})]})}function mr({overview:e,actions:t,now:n,onNotice:r}){let i=e.budget,a=De(i),o=Te(e.seat),s=we(i.canLaunch,`The cloud budget does not allow another launch right now.`),{shown:c,hidden:l}=Ce(e.tasks,n),u=i.budget.selfImprove;return(0,J.jsxs)(`div`,{className:L.body,children:[(0,J.jsxs)(`div`,{className:L.meterBlock,children:[(0,J.jsx)(he,{value:a.value,max:a.max,label:`Credits remaining`,valueText:a.text,tone:a.tone,"aria-label":`Estimated credits remaining: ${a.text}, ${a.usedText}`}),(0,J.jsxs)(`p`,{className:L.estimateNote,children:[P(i.estimateNote,n),` `,(0,J.jsx)(Q,{href:ye,label:`Check the real balance on claude.ai`,children:`Check usage on claude.ai`})]}),a.warning?(0,J.jsx)(`p`,{className:L.notice,"data-tone":`warning`,role:`note`,children:a.warning}):null]}),(0,J.jsx)(`p`,{className:L.facts,children:Me(i,n)}),o?(0,J.jsx)(`p`,{className:L.notice,"data-tone":`warning`,role:`note`,children:o}):null,s?(0,J.jsxs)(`p`,{className:L.notice,"data-tone":`warning`,role:`note`,"data-testid":`cloud-budget-refused`,children:[`New launches are paused: `,s]}):null,(0,J.jsxs)(`div`,{className:L.toggleRow,children:[(0,J.jsx)(ge,{checked:u.enabled,label:`Self-improvement`,disabled:t.busy||t.readOnly,onChange:e=>t.act(()=>Be({selfImprove:{enabled:e}}),e?`Let Verse launch its own self-improvement tasks.`:`Stop Verse launching its own self-improvement tasks.`,{onDone:()=>r({tone:`success`,text:e?`Self-improvement is on — up to ${u.maxPerDay} a day.`:`Self-improvement is off.`})})}),(0,J.jsx)(`span`,{className:`${L.muted} ${L.toggleText}`,children:xe(i)})]}),c.length===0?(0,J.jsx)(V,{children:`No cloud tasks yet. Start one with New cloud task, or let Verse improve itself.`}):(0,J.jsx)(`ul`,{className:L.tasks,"aria-label":`Cloud tasks`,children:c.map(e=>(0,J.jsx)(fr,{task:e,actions:t,now:n},e.id))}),l>0?(0,J.jsxs)(`p`,{className:L.muted,children:[l,` more `,l===1?`task is`:`tasks are`,` listed by ashlr cloud list.`]}):null]})}function hr({actions:e,now:t=Date.now()}){let n=o(Le,{freshMs:15e3}),r=a(Le);k(r,Ve);let[i,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(!1),[u,d]=(0,U.useState)(null),f=n.data?.value??null,p=!n.data&&(n.status===`loading`||n.status===`idle`),m=f?Oe(f.seat,f.budget):null,h=e.busy||e.readOnly,g=f?.backlog.nextUp?f.backlog.items.find(e=>e.id===f.backlog.nextUp)??null:null,_=f?Te(f.seat)??we(f.budget.canLaunch,`The cloud budget does not allow another launch right now.`)??(g?null:`The self-improvement backlog has nothing left to launch.`):null,v=f?f.budget.budget.estimatedCostPerSessionUsd:null,y=f?(0,J.jsxs)(`span`,{className:L.headActions,children:[(0,J.jsx)(j,{label:m??`Start a cloud session with your own task`,children:(0,J.jsx)(F,{size:`sm`,variant:`primary`,icon:(0,J.jsx)(de,{width:14,height:14}),disabled:h||m!==null,onClick:()=>s(!0),children:`New cloud task`})}),(0,J.jsx)(j,{label:_??(g?`Launch the next backlog item: ${g.title}`:`Launch the next backlog item`),children:(0,J.jsx)(F,{size:`sm`,disabled:h||_!==null,onClick:()=>{f&&g&&e.act(()=>Re({count:1}),`Launch the next self-improvement task as a cloud session.`,{confirm:{title:`Improve Verse now?`,body:`Launches “${g.title}” as a cloud session on ${g.repo??f.budget.budget.selfImprove.repo}${v===null?``:`, estimated at ${je(v)}`}. It delivers a draft PR; nothing merges on its own.`,confirmLabel:`Launch`},onDone:e=>{let t=e.launched[0]??null;if(t)d({tone:`success`,text:`Started “${t.title}”.`,href:I(t.sessionUrl,`claude.ai`),linkText:`Open in Claude`});else{let t=e.skipped[0]?.reason??`Nothing was launched, and the server sent no reason.`;d({tone:`warning`,text:P(t)})}}})},children:`Improve Verse`})}),(0,J.jsx)(j,{label:`Credits, per-session estimate and daily caps`,children:(0,J.jsx)(F,{size:`sm`,variant:`ghost`,"aria-expanded":c,"aria-haspopup":`dialog`,onClick:()=>l(e=>!e),disabled:e.readOnly,children:`Edit budget`})}),(0,J.jsx)(j,{label:`Check GitHub for task updates now`,children:(0,J.jsx)(se,{size:`sm`,variant:`ghost`,icon:(0,J.jsx)(ue,{width:14,height:14}),"aria-label":`Check GitHub for task updates now`,disabled:h,onClick:()=>e.act(()=>Fe(),`Re-read the cloud tasks from GitHub.`)})}),c?(0,J.jsx)(pr,{overview:f,actions:e,onClose:()=>l(!1)}):null]}):null;return(0,J.jsx)(ut,{title:`Cloud`,caption:`Claude Code cloud sessions on your Claude credits`,actions:y,children:p?(0,J.jsx)(`p`,{className:L.muted,"aria-busy":`true`,children:`Reading the cloud lane…`}):f?(0,J.jsxs)(J.Fragment,{children:[u?(0,J.jsx)(`div`,{className:L.notice,"data-tone":u.tone,role:`status`,children:(0,J.jsxs)(`span`,{className:L.noticeRow,children:[(0,J.jsxs)(`span`,{children:[u.text,u.href?(0,J.jsxs)(J.Fragment,{children:[` `,(0,J.jsx)(Q,{href:u.href,children:u.linkText??`Open`})]}):null]}),(0,J.jsx)(`button`,{type:`button`,className:L.linkButton,onClick:()=>d(null),children:`Dismiss`})]})}):null,(0,J.jsx)(mr,{overview:f,actions:e,now:t,onNotice:d}),(0,J.jsx)(dr,{open:i,onClose:()=>s(!1),actions:e,estimatePerSessionUsd:v,onLaunched:e=>d({tone:`success`,text:`Started “${e.title}”.`,href:I(e.sessionUrl,`claude.ai`),linkText:`Open in Claude`})})]}):(0,J.jsx)(V,{tone:`unknown`,children:n.data?.reason??n.error?.message??`The cloud lane did not answer.`})})}function gr(e){let t=kt(e);return(0,J.jsx)(`p`,{className:z.verdict,"data-testid":`verdict`,children:t.map((e,t)=>(0,J.jsxs)(`span`,{className:z.verdictPart,"data-tone":e.tone,children:[t>0?(0,J.jsx)(`span`,{className:z.verdictSep,"aria-hidden":`true`,children:` · `}):null,e.text]},e.key))})}var _r=`ashlr.verse.command.lastLooked.v1`;function vr(){try{let e=window.localStorage.getItem(_r);return e&&Number.isFinite(Date.parse(e))?e:null}catch{return null}}function yr(e){try{window.localStorage.setItem(_r,e)}catch{}}function br(){let e=O(),[t,n]=(0,U.useState)(null),r=(0,U.useRef)(!1);return(0,U.useEffect)(()=>{e&&!r.current&&(n(vr()),yr(new Date().toISOString())),r.current=e},[e]),t}function xr({lastLookedAt:e,items:t}){if(!e)return null;let n=new Date(e),r=n.toDateString()===new Date().toDateString()?n.toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`}):n.toLocaleString(`en-US`,{weekday:`short`,hour:`numeric`,minute:`2-digit`});return(0,J.jsxs)(`div`,{className:z.since,role:`group`,"aria-label":`Since you looked at ${r}`,children:[(0,J.jsxs)(`span`,{className:z.sinceLead,children:[`Since `,r]}),t.length===0?(0,J.jsx)(`span`,{className:z.sinceEmpty,children:`nothing new`}):t.map(e=>(0,J.jsx)(`span`,{className:z.sinceChip,"data-tone":e.tone,children:e.text},e.id))]})}var Sr=36e5,Cr=1e4,wr=3e4,Tr=3e5,$={};function Er(){let{compact:e}=D(),t=o(Ze),n=o(Xe),s=te(),c=o(Je),l=o(Qe,{freshMs:6e4}),u=o($e,{freshMs:6e4}),f=o(oe,{freshMs:15e3}),p=o(Ye,{freshMs:6e4}),m={authority:a(Ze),fleet:a(Xe),leader:a(Je),learning:a(Qe),history:a($e),budget:a(oe),seatHistory:a(Ye)};k(()=>{m.authority(),m.fleet()},Cr),k(()=>{m.leader(),m.budget()},wr),k(()=>{m.history(),m.learning(),m.seatHistory()},Tr);let h=He(3e4),g=it(),_=br(),v=(0,U.useSyncExternalStore)((0,U.useCallback)(e=>i(`verse-bootstrap`,e),[]),()=>r(`verse-bootstrap`),()=>r(`verse-bootstrap`)).data?.seats??null,[y,b]=(0,U.useState)($),x=f.data??null;(0,U.useEffect)(()=>{x&&($=gn($,x),b($))},[x]);let S=t.data?.value??null,C=n.data?.value??null,w=u.data?.value??null,T=ot(C),E=(0,U.useMemo)(()=>on({fleet:C,history:w,learning:l.data?.value??null,policy:S?.policy??null,budget:x}),[C,w,l.data,S,x]),O=p.data?.value??null,A=(0,U.useMemo)(()=>_n(y,O),[y,O]),j=(0,U.useMemo)(()=>zn(x,A.readings,v,A.recorded),[x,A,v]),ne=(0,U.useMemo)(()=>dn(v,x),[v,x]),re=cn({lastLookedAt:_,fleet:C,leader:c.data?.value??null,activity:s.data}),M=e?6:12,N=h-M*Sr,P=(0,U.useMemo)(()=>C?mt(C.runs,N,h):[],[C,N,h]),ie=n.data?C?C.state===`dark`&&P.length===0?st(C):P.length===0?{kind:`empty`,message:`No runs in the last ${M} hours.`}:{kind:`ready`}:{kind:`unknown`,reason:n.data.reason??`the live fleet view did not answer.`}:{kind:`loading`},ae=C?C.state===`dark`?`Fleet dark${T?` since ${ct(T)}`:``}.`:`Fleet ${C.state}: ${C.summary.building??`—`} building, ${C.summary.queued??`—`} queued.`:`Fleet status unknown.`,se=[t,n].some(e=>e.status===`refreshing`);return(0,J.jsxs)(lt,{title:`Command`,actions:se?(0,J.jsx)(d,{}):null,lead:(0,J.jsxs)(`div`,{className:z.lead,children:[(0,J.jsx)(Ut,{read:t.data,loading:t.status===`loading`,budgetMode:x?.mode??null,actions:g,compact:e,now:h}),(0,J.jsx)(at,{actions:g}),(0,J.jsx)(gr,{authority:S,building:C?.summary.building??null,mergedToday:C?.summary.mergedToday??null,revertsToday:C?.summary.revertsToday??null,reserve:Bn(x),darkSince:T}),(0,J.jsx)(xr,{lastLookedAt:_,items:re})]}),children:[(0,J.jsx)(H,{span:5,children:(0,J.jsx)(Zn,{state:s,actions:g,fleetLine:ae,seatNames:ne})}),(0,J.jsx)(H,{span:7,children:(0,J.jsx)(gt,{read:c.data,loading:c.status===`loading`,actions:g})}),(0,J.jsx)(H,{span:12,children:(0,J.jsx)(Vn,{kpis:E})}),(0,J.jsx)(H,{span:12,children:(0,J.jsx)(lr,{burns:j,now:h,compact:e})}),(0,J.jsx)(H,{span:12,children:(0,J.jsx)(hr,{actions:g,now:h})}),(0,J.jsx)(H,{span:12,children:(0,J.jsx)(ee,{title:`Last ${M} hours`,description:`Fleet lanes; bars coloured by status, outlines are queued or parked`,status:ie,lanes:P,from:N,to:h,now:h,toneOf:ft})}),g.dialogs]})}export{Cr as COMMAND_FAST_POLL_MS,Tr as COMMAND_HISTORY_POLL_MS,wr as COMMAND_SLOW_POLL_MS,Er as CommandSection};
|
|
2
|
-
//# sourceMappingURL=CommandSection-rIeMK5Ch.js.map
|