@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
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,n,s as r}from"./index-BVxOlseC.js";var i=r(e(),1),a=r(t(),1),o={menu:`_menu_130xc_5`,"menu-in":`_menu-in_130xc_1`,row:`_row_130xc_21`,item:`_item_130xc_27`,icon:`_icon_130xc_53`,label:`_label_130xc_60`,reason:`_reason_130xc_65`},s=n(),c=8;function l({label:e,items:t,anchor:n,onClose:r,returnFocus:l=null}){let u=(0,i.useRef)(null),d=(0,i.useRef)([]),[f,p]=(0,i.useState)({left:n.x,top:n.y}),m=(0,i.useRef)(r);m.current=r;let h=(0,i.useRef)(l);h.current=l;let g=t.map((e,t)=>e.disabled?-1:t).filter(e=>e>=0);(0,i.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=e.getBoundingClientRect(),r=window.innerWidth||document.documentElement.clientWidth,i=window.innerHeight||document.documentElement.clientHeight,a=n.x,o=n.y;t.width>0&&a+t.width>r-c&&(a=Math.max(c,r-c-t.width)),t.height>0&&o+t.height>i-c&&(o=Math.max(c,n.y-t.height)),p({left:a,top:o})},[n.x,n.y]),(0,i.useEffect)(()=>{let e=g[0];e===void 0?u.current?.focus():d.current[e]?.focus()},[]),(0,i.useEffect)(()=>{let e=e=>{u.current&&e.target instanceof Node&&u.current.contains(e.target)||m.current(`dismiss`)},t=e=>{u.current&&e.target instanceof Node&&u.current.contains(e.target)||m.current(`dismiss`)};document.addEventListener(`pointerdown`,e,!0),window.addEventListener(`resize`,t),document.addEventListener(`scroll`,t,!0);let n=u.current;return()=>{document.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`resize`,t),document.removeEventListener(`scroll`,t,!0);let r=document.activeElement,i=r===null||r===document.body||n!==null&&n.contains(r),a=h.current;i&&a&&document.contains(a)&&a.focus({preventScroll:!0})}},[]);function _(e,t){if(g.length===0)return;let n=g.indexOf(e),r=n<0?t>0?0:g.length-1:(n+t+g.length)%g.length;d.current[g[r]]?.focus()}function v(e){let n=d.current.findIndex(e=>e===document.activeElement);switch(e.key){case`ArrowDown`:e.preventDefault(),_(n,1);return;case`ArrowUp`:e.preventDefault(),_(n,-1);return;case`Home`:e.preventDefault(),d.current[g[0]??0]?.focus();return;case`End`:e.preventDefault(),d.current[g[g.length-1]??0]?.focus();return;case`Escape`:e.preventDefault(),e.stopPropagation(),r(`dismiss`);return;case`Tab`:r(`dismiss`);return;default:if(e.key.length===1&&/\S/.test(e.key)&&!e.metaKey&&!e.ctrlKey&&!e.altKey){let r=e.key.toLowerCase(),i=[...g.filter(e=>e>n),...g.filter(e=>e<=n)].find(e=>t[e].label.toLowerCase().startsWith(r));i!==void 0&&(e.preventDefault(),d.current[i]?.focus())}}}return(0,a.createPortal)((0,s.jsx)(`div`,{ref:u,className:o.menu,role:`menu`,"aria-label":e,tabIndex:-1,style:{left:f.left,top:f.top},onKeyDown:v,onContextMenu:e=>e.preventDefault(),children:t.map((e,t)=>(0,s.jsx)(`div`,{className:o.row,"data-separated":e.separated||void 0,role:`none`,children:(0,s.jsxs)(`button`,{ref:e=>{d.current[t]=e},type:`button`,role:`menuitem`,className:o.item,"data-danger":e.danger||void 0,"aria-disabled":e.disabled||void 0,tabIndex:-1,onClick:()=>{e.disabled||(r(`select`),e.onSelect())},children:[e.icon?(0,s.jsx)(`span`,{className:o.icon,"aria-hidden":`true`,children:e.icon}):null,(0,s.jsxs)(`span`,{className:o.label,children:[e.label,e.description?(0,s.jsx)(`span`,{className:o.reason,children:e.description}):null,e.disabled&&e.reason?(0,s.jsx)(`span`,{className:o.reason,children:e.reason}):null]})]})},e.id))}),document.body)}function u(e,t=`end`,n=220){let r=e.getBoundingClientRect();return{x:t===`end`?r.right-n:r.left,y:r.bottom+4}}export{u as n,l as t};
|
|
2
|
-
//# sourceMappingURL=ActionMenu-FxXeRbPx.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t,o as n,s as r}from"./index-BVxOlseC.js";import{H as i,J as a,a as o,h as s,i as c,p as l}from"./global-oEl9Qj8u.js";import{r as u}from"./Epistemic-dhvDTwAZ.js";import{n as d}from"./StatusBadge-HCZp416_.js";import{t as f}from"./MutationTokenDialog-mxrw0Yvy.js";import{t as p}from"./ConfirmDialog-DLrLKM0c.js";import{t as m}from"./RefreshIndicator-CMwSCiz5.js";import{Z as h,b as g,x as _}from"./VerseConsoleApp-DTjDpGCd.js";import{t as v}from"./Segmented-BE53BenI.js";import{_ as y,a as b,c as x,d as S,f as C,h as w,i as T,l as E,n as D,o as O,r as k,t as A,u as j,v as M}from"./format-BkWdOQDL.js";import{n as N,r as P}from"./workspace-model-CbhdPhei.js";import{t as ee}from"./Meter-DNeocJnD.js";import{t as F}from"./Select-BwSGkHCS.js";import{a as I,c as te,d as L,f as R,h as ne,i as re,l as z,m as ie,o as B,p as V,r as ae,s as oe,u as se}from"./control-queries-CmgBgKV7.js";import{t as H}from"./use-ticker-D9yi49my.js";import{a as ce,c as le,f as ue,i as de,m as fe,n as pe,o as me,p as he,r as ge,s as _e,t as ve}from"./fleet-model-7i-FbzKI.js";import{a as ye,i as be,n as xe,o as Se,r as Ce,s as we}from"./fleet-queries-DzGoqq8X.js";import{a as Te,c as Ee,d as De,i as Oe,l as ke,n as Ae,o as je,r as Me,s as Ne,t as Pe,u as Fe}from"./overnight-queries-DGm3qL1b.js";import{n as Ie}from"./use-guarded-action-Cf4MeNBa.js";var U=r(e(),1),W=t();function Le(e){let t=e.limit;if(typeof t!=`number`||!Number.isFinite(t)||t<=0)return`unlimited`;let n=typeof e.callsToday==`number`&&Number.isFinite(e.callsToday)?e.callsToday:0;return n>=t?`over`:n>=t*.8?`warn`:`ok`}var G={panel:`_panel_2noy3_12`,panelHead:`_panelHead_2noy3_15`,panelTitle:`_panelTitle_2noy3_16`,panelHeadSpaced:`_panelHeadSpaced_2noy3_25`,panelNote:`_panelNote_2noy3_26`,panelActions:`_panelActions_2noy3_27`,status:`_status_2noy3_30`,statusTop:`_statusTop_2noy3_31`,runState:`_runState_2noy3_32`,runDot:`_runDot_2noy3_33`,facts:`_facts_2noy3_39`,fact:`_fact_2noy3_39`,factLabel:`_factLabel_2noy3_41`,factValue:`_factValue_2noy3_42`,budget:`_budget_2noy3_49`,budgetLine:`_budgetLine_2noy3_50`,budgetLabel:`_budgetLabel_2noy3_51`,budgetNote:`_budgetNote_2noy3_52`,meter:`_meter_2noy3_53`,meterFill:`_meterFill_2noy3_58`,controls:`_controls_2noy3_61`,button:`_button_2noy3_62`,buttonPrimary:`_buttonPrimary_2noy3_76`,emergency:`_emergency_2noy3_80`,emergencyButton:`_emergencyButton_2noy3_81`,emergencyNote:`_emergencyNote_2noy3_102`,capGrid:`_capGrid_2noy3_105`,cap:`_cap_2noy3_105`,capLabel:`_capLabel_2noy3_107`,capRow:`_capRow_2noy3_108`,capInput:`_capInput_2noy3_109`,capInputInvalid:`_capInputInvalid_2noy3_123`,capUnit:`_capUnit_2noy3_124`,capHelp:`_capHelp_2noy3_125`,capUsage:`_capUsage_2noy3_126`,capError:`_capError_2noy3_127`,actionNote:`_actionNote_2noy3_130`,capApplied:`_capApplied_2noy3_131`,repoList:`_repoList_2noy3_135`,repoRow:`_repoRow_2noy3_136`,repoName:`_repoName_2noy3_137`,repoPath:`_repoPath_2noy3_138`,repoMissing:`_repoMissing_2noy3_139`,addRow:`_addRow_2noy3_140`,addInput:`_addInput_2noy3_141`,tableScroll:`_tableScroll_2noy3_156`,table:`_table_2noy3_156`,cellAction:`_cellAction_2noy3_176`,cellTime:`_cellTime_2noy3_177`,cellSummary:`_cellSummary_2noy3_178`,cellRepo:`_cellRepo_2noy3_179`,resultTag:`_resultTag_2noy3_188`,filters:`_filters_2noy3_197`,filterField:`_filterField_2noy3_198`,filterLabel:`_filterLabel_2noy3_199`,filterSelect:`_filterSelect_2noy3_214`,checkList:`_checkList_2noy3_229`,check:`_check_2noy3_229`,checkMark:`_checkMark_2noy3_231`,checkLabel:`_checkLabel_2noy3_234`,checkDetail:`_checkDetail_2noy3_235`,summaryColumns:`_summaryColumns_2noy3_238`,summaryList:`_summaryList_2noy3_239`,summaryRow:`_summaryRow_2noy3_240`,summaryTitle:`_summaryTitle_2noy3_241`,summaryMeta:`_summaryMeta_2noy3_242`,empty:`_empty_2noy3_245`,emptyStrong:`_emptyStrong_2noy3_246`,error:`_error_2noy3_249`,readOnly:`_readOnly_2noy3_250`,skeletons:`_skeletons_2noy3_252`,srOnly:`_srOnly_2noy3_253`,runtimeTop:`_runtimeTop_2noy3_268`,runtimeState:`_runtimeState_2noy3_269`,runtimeStateText:`_runtimeStateText_2noy3_270`,factWide:`_factWide_2noy3_277`,factMono:`_factMono_2noy3_278`,capacityBlock:`_capacityBlock_2noy3_282`,capacityHead:`_capacityHead_2noy3_283`,capacityBig:`_capacityBig_2noy3_284`,capacityWords:`_capacityWords_2noy3_298`,capacityHeadline:`_capacityHeadline_2noy3_299`,capacityDetail:`_capacityDetail_2noy3_300`,evidence:`_evidence_2noy3_303`,evidenceLead:`_evidenceLead_2noy3_304`,evidenceScroll:`_evidenceScroll_2noy3_305`,evidenceTable:`_evidenceTable_2noy3_306`,evidenceNums:`_evidenceNums_2noy3_311`,evidenceCode:`_evidenceCode_2noy3_312`,utilisation:`_utilisation_2noy3_314`,toggleRow:`_toggleRow_2noy3_317`,toggleState:`_toggleState_2noy3_318`,policyExplain:`_policyExplain_2noy3_319`,impact:`_impact_2noy3_322`,impactTitle:`_impactTitle_2noy3_323`,impactSummary:`_impactSummary_2noy3_324`,seatList:`_seatList_2noy3_325`,seatRow:`_seatRow_2noy3_326`,seatEngine:`_seatEngine_2noy3_327`,seatLabel:`_seatLabel_2noy3_342`,seatRefusal:`_seatRefusal_2noy3_343`,pressure:`_pressure_2noy3_346`,pressureHead:`_pressureHead_2noy3_347`,pressureHeadline:`_pressureHeadline_2noy3_348`,pressureDetail:`_pressureDetail_2noy3_351`,fleetMeters:`_fleetMeters_2noy3_353`,elapsedQualifier:`_elapsedQualifier_2noy3_354`,noteList:`_noteList_2noy3_355`,repoStanding:`_repoStanding_2noy3_359`,repoPriority:`_repoPriority_2noy3_366`,repoSection:`_repoSection_2noy3_367`,repoOutsideFocus:`_repoOutsideFocus_2noy3_368`},Re=20,K=40;function ze({snapshot:e}){let t=e.daemon?.ticks??null,n=(0,U.useMemo)(()=>t?[...t].slice(-20).reverse():[],[t]),r=(0,U.useMemo)(()=>{if(!t)return[];let e=[];for(let n=t.length-1;n>=0&&e.length<K;--n){let r=t[n];if(r?.dispatches)for(let t=r.dispatches.length-1;t>=0&&e.length<K;--t)e.push({...r.dispatches[t],tickTs:r.ts})}return e},[t]);return(0,W.jsxs)(`section`,{className:G.panel,"aria-label":`Activity`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Recent ticks`}),(0,W.jsxs)(`p`,{className:G.panelNote,children:[`Newest first · last `,Re]})]}),t===null?(0,W.jsx)(`p`,{className:G.empty,children:`The daemon ledger is not readable right now, so tick history is unknown.`}):n.length===0?(0,W.jsx)(`p`,{className:G.empty,children:`No ticks have been recorded yet. Start the loop, or run one tick, to produce the first.`}):(0,W.jsx)(`div`,{className:G.tableScroll,children:(0,W.jsxs)(`table`,{className:G.table,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{scope:`col`,children:`Time`}),(0,W.jsx)(`th`,{scope:`col`,children:`Outcome`}),(0,W.jsx)(`th`,{scope:`col`,children:`Items`}),(0,W.jsx)(`th`,{scope:`col`,children:`Proposals`}),(0,W.jsx)(`th`,{scope:`col`,children:`Dispatched`}),(0,W.jsx)(`th`,{scope:`col`,children:`Spend`}),(0,W.jsx)(`th`,{scope:`col`,children:`Direction`})]})}),(0,W.jsx)(`tbody`,{children:n.map(e=>{let t=T(e.reason);return(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:G.cellTime,title:E(e.ts),children:j(e.ts)}),(0,W.jsxs)(`td`,{className:G.cellSummary,"data-tone":t.tone,children:[t.label,e.dryRun?` (dry run)`:``]}),(0,W.jsx)(`td`,{className:G.cellTime,children:O(e.itemsConsidered)}),(0,W.jsx)(`td`,{className:G.cellTime,children:O(e.proposalsCreated)}),(0,W.jsx)(`td`,{className:G.cellTime,children:e.dispatches?e.dispatches.length:`—`}),(0,W.jsx)(`td`,{className:G.cellTime,children:S(e.spentUsd)}),(0,W.jsx)(`td`,{className:G.cellSummary,children:e.directionMode??`—`})]},`${e.ts}-${e.reason}`)})})]})}),(0,W.jsxs)(`div`,{className:`${G.panelHead} ${G.panelHeadSpaced}`,children:[(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Recent dispatches`}),(0,W.jsxs)(`p`,{className:G.panelNote,children:[`Newest first · last `,K]})]}),r.length===0?(0,W.jsx)(`p`,{className:G.empty,children:`No dispatch traces in the recorded ticks. A tick that finds nothing eligible records no dispatches — that is normal, not a gap. Run one tick from Controls to see what it would pick up.`}):(0,W.jsx)(`div`,{className:G.tableScroll,children:(0,W.jsxs)(`table`,{className:G.table,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{scope:`col`,children:`Time`}),(0,W.jsx)(`th`,{scope:`col`,children:`Item`}),(0,W.jsx)(`th`,{scope:`col`,children:`Repo`}),(0,W.jsx)(`th`,{scope:`col`,children:`Engine`}),(0,W.jsx)(`th`,{scope:`col`,children:`Outcome`}),(0,W.jsx)(`th`,{scope:`col`,children:`Spend`})]})}),(0,W.jsx)(`tbody`,{children:r.map((e,t)=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:G.cellTime,title:E(e.tickTs),children:j(e.tickTs)}),(0,W.jsx)(`td`,{className:G.cellSummary,title:e.title,children:e.title}),(0,W.jsx)(`td`,{className:G.cellRepo,title:e.repo,children:e.repo?y(e.repo):`—`}),(0,W.jsx)(`td`,{className:G.cellAction,children:e.backend??`not routed`}),(0,W.jsx)(`td`,{className:G.cellSummary,children:e.dispatched?`dispatched`:`skipped — ${M(e.reason)}`}),(0,W.jsx)(`td`,{className:G.cellTime,children:S(e.spentUsd)})]},`${e.tickTs}-${e.itemId}-${t}`))})]})}),(0,W.jsx)(Be,{})]})}function Be(){let[e,t]=(0,U.useState)(``),[n,r]=(0,U.useState)(``),[i,a]=(0,U.useState)(``),[c,u]=(0,U.useState)(200),d=(0,U.useMemo)(()=>te({limit:c,action:n||void 0,result:i||void 0}),[c,n,i]),f=l(d),p=s(d),h=f.data?.entries??[];return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:`${G.panelHead} ${G.panelHeadSpaced}`,children:[(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Audit trail`}),(0,W.jsxs)(`div`,{className:G.panelActions,children:[f.status===`refreshing`?(0,W.jsx)(m,{}):null,(0,W.jsx)(`button`,{type:`button`,className:G.button,onClick:p,children:`Refresh`})]})]}),(0,W.jsxs)(`div`,{className:G.filters,children:[(0,W.jsxs)(`label`,{className:G.filterField,children:[(0,W.jsx)(`span`,{className:G.filterLabel,children:`Action`}),(0,W.jsx)(`input`,{type:`search`,value:e,placeholder:`e.g. enroll.add`,onChange:e=>t(e.target.value),onBlur:()=>r(e.trim()),onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),r(e.trim()))}})]}),(0,W.jsxs)(F,{className:G.filterSelect,label:`Result`,value:i,onChange:e=>a(e.target.value),children:[(0,W.jsx)(`option`,{value:``,children:`Any result`}),(0,W.jsx)(`option`,{value:`ok`,children:`ok`}),(0,W.jsx)(`option`,{value:`refused`,children:`refused`}),(0,W.jsx)(`option`,{value:`error`,children:`error`})]}),(0,W.jsxs)(F,{className:G.filterSelect,label:`Rows`,value:c,onChange:e=>u(Number(e.target.value)),children:[(0,W.jsx)(`option`,{value:50,children:`50`}),(0,W.jsx)(`option`,{value:200,children:`200`}),(0,W.jsx)(`option`,{value:500,children:`500`})]})]}),f.status===`loading`?(0,W.jsxs)(`div`,{className:G.skeletons,children:[(0,W.jsx)(o,{}),(0,W.jsx)(o,{}),(0,W.jsx)(o,{})]}):f.status===`error`?(0,W.jsx)(`p`,{className:G.error,role:`alert`,children:f.error?.message??`Could not read the audit trail.`}):h.length===0?(0,W.jsx)(`p`,{className:G.empty,children:n||i?`No audit entries match this filter. Clear the Action or Result filter to see every entry.`:`No audit entries recorded yet. Every autonomous or sandbox action appends one here, and none are ever deleted.`}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`p`,{className:G.panelNote,"aria-live":`polite`,children:[h.length,` `,h.length===1?`entry`:`entries`,` · newest first`,f.data?.truncated?` · capped by the server, narrow the filter to see more`:``]}),(0,W.jsx)(`div`,{className:G.tableScroll,children:(0,W.jsxs)(`table`,{className:G.table,children:[(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{scope:`col`,children:`Time`}),(0,W.jsx)(`th`,{scope:`col`,children:`Action`}),(0,W.jsx)(`th`,{scope:`col`,children:`Result`}),(0,W.jsx)(`th`,{scope:`col`,children:`Repo`}),(0,W.jsx)(`th`,{scope:`col`,children:`Summary`})]})}),(0,W.jsx)(`tbody`,{children:h.map((e,t)=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:G.cellTime,title:E(e.ts),children:j(e.ts)}),(0,W.jsx)(`td`,{className:G.cellAction,children:e.action}),(0,W.jsx)(`td`,{children:(0,W.jsx)(`span`,{className:G.resultTag,"data-result":e.result,children:e.result})}),(0,W.jsx)(`td`,{className:G.cellRepo,title:e.repo??void 0,children:e.repo?y(e.repo):`—`}),(0,W.jsx)(`td`,{className:G.cellSummary,children:M(e.summary)})]},`${e.ts}-${e.action}-${t}`))})]})})]})]})}var q=e=>e,Ve=6e4,He=[{key:`dailyBudgetUsd`,label:`Daily budget`,unit:`USD / day`,min:0,max:1e3,integer:!1,step:1,help:`Hard ceiling on what the loop may spend in a calendar day. 0 means the loop is stopped — it is not "unlimited".`,toDisplay:q,fromDisplay:q},{key:`perTickItems`,label:`Items per tick`,unit:`items`,min:1,max:50,integer:!0,step:1,help:`How many backlog items one tick may pick up.`,toDisplay:q,fromDisplay:q},{key:`parallel`,label:`Parallel swarms`,unit:`swarms`,min:1,max:16,integer:!0,step:1,help:`Sandboxed swarms run simultaneously inside one tick (batch mode).`,toDisplay:q,fromDisplay:q},{key:`intervalMs`,label:`Tick interval`,unit:`minutes`,min:.5,max:1440,integer:!1,step:.5,help:`Gap between ticks in loop mode. 30 seconds minimum, 24 hours maximum.`,toDisplay:e=>Math.round(e/Ve*100)/100,fromDisplay:e=>Math.round(e*Ve)},{key:`maxConcurrent`,label:`Max concurrent`,unit:`dispatches`,min:1,max:32,integer:!0,step:1,help:`Absolute ceiling on in-flight dispatches in continuous mode. Takes precedence over the per-tier totals.`,toDisplay:q,fromDisplay:q},{key:`concurrency.local`,label:`Local tier`,unit:`slots`,min:1,max:32,integer:!0,step:1,help:`On-device engines. GPU/RAM bound — keep this low.`,toDisplay:q,fromDisplay:q},{key:`concurrency.cloud`,label:`Cloud tier`,unit:`slots`,min:1,max:32,integer:!0,step:1,help:`Subscription cloud agents. I/O bound — many can run at once.`,toDisplay:q,fromDisplay:q},{key:`concurrency.total`,label:`All tiers`,unit:`slots`,min:1,max:32,integer:!0,step:1,help:`Hard cap across every tier combined.`,toDisplay:q,fromDisplay:q},{key:`subscriptionMaxPercent`,label:`Subscription ceiling`,unit:`% of window`,min:1,max:100,integer:!0,step:1,help:`How much of a flat-fee provider window the fleet may consume before it backs off.`,toDisplay:q,fromDisplay:q}];function Ue(e,t){if(!e)return null;let n=t===`concurrency.local`?e.concurrency?.local:t===`concurrency.cloud`?e.concurrency?.cloud:t===`concurrency.total`?e.concurrency?.total:e[t];return typeof n==`number`&&Number.isFinite(n)?n:null}function We(e,t){return t.startsWith(`%`)?`${e}${t}`:`${e} ${t}`}function Ge(e,t){let n=t.trim();if(n===``)return{ok:!1,error:`${e.label} cannot be blank.`};let r=Number(n);if(!Number.isFinite(r))return{ok:!1,error:`${e.label} must be a number.`};if(e.integer&&!Number.isInteger(r)){let t=e.unit.startsWith(`%`)?`a whole percentage`:`a whole number of ${e.unit}`;return{ok:!1,error:`${e.label} must be ${t}.`}}return r<e.min||r>e.max?{ok:!1,error:`${e.label} must be between ${e.min} and ${We(e.max,e.unit)}.`}:{ok:!0,stored:e.fromDisplay(r),display:r}}function Ke(e,t){switch(e){case`concurrency.local`:return{concurrency:{local:t}};case`concurrency.cloud`:return{concurrency:{cloud:t}};case`concurrency.total`:return{concurrency:{total:t}};default:return{[e]:t}}}var J=ne.foundryLimitMax;function qe(e,t){let n=e.trim();if(n===``)return{ok:!1,error:`${t} limit cannot be blank.`};let r=Number(n);return Number.isFinite(r)?Number.isInteger(r)?r<J.min?{ok:!1,error:`${t} limit cannot be negative.`}:r>J.max?{ok:!1,error:`${t} limit must be at most ${J.max} dispatches.`}:{ok:!0,stored:r,display:r}:{ok:!1,error:`${t} limit must be a whole number of dispatches.`}:{ok:!1,error:`${t} limit must be a number.`}}function Je(e,t,n){let r=n.daemon,i=r?.ticks?.[r.ticks.length-1]??null;switch(e){case`dailyBudgetUsd`:{let e=t.dailyBudgetUsd;if(e===0)return`Loop stopped — a budget of 0 is a stop, not "unlimited".`;let i=n.spend,a=i?D(i.todayUsd,e,i.todayDate):D(r?.todaySpentUsd??null,e,null);return a.state===`unknown`?a.note:`${S(i?i.todayUsd:r?.todaySpentUsd??null)} spent today`}case`perTickItems`:return i?`${O(i.itemsConsidered)} considered on the last tick`:null;case`parallel`:return i?.dispatches?`${i.dispatches.length} dispatched on the last tick`:null;case`intervalMs`:return r?.lastTickAt?`last tick ${b(r.lastTickAt)} ago`:null;default:return null}}function Ye({caps:e,snapshot:t,guard:n,dispatchEnabled:r}){let[i,a]=(0,U.useState)(null),[o,s]=(0,U.useState)(null),[c,l]=(0,U.useState)(null),u=!r||n.readOnly;function d(e,t,r){a(e),l(null),n.request(async()=>{s(e);try{await r(),l(e)}finally{s(null)}},t)}let f=e.foundryLimits??[];return(0,W.jsxs)(`section`,{className:G.panel,"aria-label":`Budget and limits`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Budget and limits`}),(0,W.jsx)(`p`,{className:G.panelNote,children:`Committed on blur or Enter. The daemon re-reads config each tick, so changes apply live.`})]}),(0,W.jsx)(`div`,{className:G.capGrid,children:He.map(r=>(0,W.jsx)(Qe,{spec:r,stored:Ue(e,r.key),usage:Je(r.key,e,t),disabled:u||o!==null&&o!==r.key,busy:o===r.key,applied:c===r.key,error:i===r.key?n.error:null,onCommit:e=>d(r.key,`Changing ${r.label.toLowerCase()} requires the dispatch token.`,()=>B(Ke(r.key,e)))},r.key))}),(0,W.jsx)(`div`,{className:`${G.panelHead} ${G.panelHeadSpaced}`,children:(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Per-engine dispatch limits`})}),f.length===0?(0,W.jsxs)(`p`,{className:G.empty,children:[`No per-engine dispatch limits are configured. Every engine is bounded only by the caps above and by its own provider quota. To cap one, add it under `,(0,W.jsx)(`code`,{children:`foundry.limits`}),` in `,(0,W.jsx)(`code`,{children:`~/.ashlr/config.json`}),` `,`(a `,(0,W.jsx)(`code`,{children:`max`}),` and a `,(0,W.jsx)(`code`,{children:`window`}),`); it then appears here to edit.`]}):(0,W.jsx)(`div`,{className:G.capGrid,children:f.map((e,r)=>(0,W.jsx)($e,{limit:e,usage:Xe(e.engine,t),disabled:u||o!==null&&o!==Y(e),busy:o===Y(e),applied:c===Y(e),error:i===Y(e)?n.error:null,onCommit:t=>d(Y(e),`Changing the ${e.engine} dispatch limit requires the dispatch token.`,()=>{let e=f.map((e,n)=>n===r?{...e,max:t}:e);return B({foundryLimits:e})})},`${e.engine}:${e.window}`))})]})}function Y(e){return`foundry:${e.engine}:${e.window}`}function Xe(e,t){let n=t.quota?.find(t=>t.engine===e);if(!n)return null;let r=Le(n),i=r===`unlimited`?`no limit configured`:r;return`${O(n.callsToday)} dispatched in the last ${n.limitWindow??`1d`} · ${i}`}function Ze(e){let t=[e.usage?`${e.id}-usage`:null,e.help?`${e.id}-help`:null].filter(e=>e!==null).join(` `);return(0,W.jsxs)(`div`,{className:G.cap,children:[(0,W.jsx)(`label`,{className:G.capLabel,htmlFor:e.id,children:e.label}),(0,W.jsxs)(`div`,{className:G.capRow,children:[(0,W.jsx)(`input`,{id:e.id,type:`number`,inputMode:`decimal`,className:`${G.capInput} ${e.invalid?G.capInputInvalid:``}`,value:e.value,step:e.step,min:e.min,max:e.max,disabled:e.disabled||e.busy,"aria-invalid":e.invalid?!0:void 0,"aria-describedby":t||void 0,onChange:t=>e.onChange(t.target.value),onBlur:e.onCommit,onKeyDown:t=>{t.key===`Enter`&&(t.preventDefault(),e.onCommit())}}),(0,W.jsx)(`span`,{className:G.capUnit,children:e.unit})]}),e.usage?(0,W.jsx)(`span`,{className:G.capUsage,id:`${e.id}-usage`,children:e.usage}):null,e.help?(0,W.jsx)(`span`,{className:G.capHelp,id:`${e.id}-help`,children:e.help}):null,e.invalid?(0,W.jsx)(`span`,{className:G.capError,role:`alert`,children:e.invalid}):null,e.error&&!e.invalid?(0,W.jsx)(`span`,{className:G.capError,role:`alert`,children:e.error}):null,e.applied&&!e.invalid&&!e.error?(0,W.jsx)(`span`,{className:G.capApplied,children:`applied live`}):null]})}function Qe({spec:e,stored:t,usage:n,disabled:r,busy:i,applied:a,error:o,onCommit:s}){let c=t===null?``:String(e.toDisplay(t)),[l,u]=(0,U.useState)(c),[d,f]=(0,U.useState)(null);(0,U.useEffect)(()=>{d===null&&u(c)},[c]);function p(){if(l===c){f(null);return}let t=Ge(e,l);if(!t.ok){f(t.error);return}f(null),s(t.stored)}return(0,W.jsx)(Ze,{id:`cap-${e.key.replace(`.`,`-`)}`,label:e.label,unit:e.unit,help:e.help,usage:n,value:l,invalid:d,disabled:r,busy:i,applied:a,error:o,step:e.step,min:e.min,max:e.max,onChange:e=>{u(e),d&&f(null)},onCommit:p})}function $e({limit:e,usage:t,disabled:n,busy:r,applied:i,error:a,onCommit:o}){let s=String(e.max),[c,l]=(0,U.useState)(s),[u,d]=(0,U.useState)(null);(0,U.useEffect)(()=>{u===null&&l(s)},[s]);function f(){if(c===s){d(null);return}let t=qe(c,e.engine);if(!t.ok){d(t.error);return}d(null),o(t.stored)}return(0,W.jsx)(Ze,{id:`cap-foundry-${e.engine}-${e.window}`,label:e.engine,unit:`dispatches / ${e.window}`,usage:t,value:c,invalid:u,disabled:n,busy:r,applied:i,error:a,step:1,min:J.min,max:J.max,onChange:e=>{l(e),u&&d(null)},onCommit:f})}function et(e){if(e.killSwitch?.state===`active`)return{state:`killed`,label:`Kill switch engaged`};let t=e.daemon;return!t||!u(t.sourceQuality)?{state:`unknown`,label:`Run state unknown`}:t.runtimeState===`running`?{state:`running`,label:`Running`}:t.runtimeState===`stopped`?{state:`stopped`,label:`Stopped`}:{state:`unknown`,label:`Run state unknown`}}function tt({snapshot:e}){let t=H(1e3),{state:n,label:r}=et(e),i=e.daemon,a=u(i?.sourceQuality),o=i?.ticks?.[i.ticks.length-1]??null,s=T(o?.reason),c=e.fleet?.directionMode??o?.directionMode??null,l=e.scope?.repos??null,d=e.caps?.intervalMs??null,f=n===`running`?w(i?.lastTickAt,d):null,p=e.spend,m=p?D(p.todayUsd,e.caps?.dailyBudgetUsd??null,p.todayDate):D(i?.todaySpentUsd??null,e.caps?.dailyBudgetUsd??null,null);return(0,W.jsxs)(`section`,{className:G.status,"aria-label":`Autonomy status`,children:[(0,W.jsxs)(`div`,{className:G.statusTop,children:[(0,W.jsxs)(`span`,{className:G.runState,"data-state":n,children:[(0,W.jsx)(`span`,{className:G.runDot,"aria-hidden":`true`}),r]}),(0,W.jsxs)(`div`,{className:G.facts,children:[(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Direction`}),(0,W.jsx)(`span`,{className:G.factValue,children:c??`default`})]}),(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Last tick`}),(0,W.jsx)(`span`,{className:G.factValue,"data-tone":s.tone,children:a&&i?.lastTickAt?`${j(i.lastTickAt)} · ${s.label}`:s.label})]}),(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Next tick`}),(0,W.jsx)(`span`,{className:G.factValue,children:n===`running`?k(f,t):n===`killed`?`blocked`:`not scheduled`})]}),(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Interval`}),(0,W.jsx)(`span`,{className:G.factValue,children:x(d)})]}),(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Scope`}),(0,W.jsx)(`span`,{className:G.factValue,"data-tone":(l?.length??0)===0?`warning`:void 0,children:l?`${l.length} ${l.length===1?`repo`:`repos`}`:`—`})]}),(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Awaiting you`}),(0,W.jsx)(`span`,{className:G.factValue,children:typeof e.pendingApprovals==`number`?`${e.pendingApprovals} ${e.pendingApprovals===1?`approval`:`approvals`}`:`—`})]}),(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Started`}),(0,W.jsx)(`span`,{className:G.factValue,children:a?E(i?.startedAt):`—`})]})]})]}),(0,W.jsxs)(`div`,{className:G.budget,children:[(0,W.jsxs)(`div`,{className:G.budgetLine,children:[(0,W.jsx)(`span`,{className:G.budgetLabel,children:m.label}),(0,W.jsx)(`span`,{className:G.budgetNote,children:m.note})]}),(0,W.jsx)(`div`,{className:G.meter,"data-state":m.state,role:`meter`,"aria-label":`Today's spend against the daily budget`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":m.percent??void 0,"aria-valuetext":`${m.label}. ${m.note}`,children:(0,W.jsx)(`div`,{className:G.meterFill,style:{width:`${m.percent??0}%`}})})]})]})}function nt({snapshot:e,guard:t,dispatchEnabled:n}){let[r,i]=(0,U.useState)(null),[a,o]=(0,U.useState)(null),{state:s}=et(e),c=e.killSwitch?.state===`active`,l=e.killSwitch?.state===`unknown`,u=e.pause?.state??`unknown`,d=u!==`running`,f=u===`unknown`,m=!n||t.readOnly||t.busy,g=e=>o(e.note?M(e.note):null);return(0,W.jsxs)(`section`,{className:G.panel,"aria-label":`Loop controls`,children:[(0,W.jsx)(`div`,{className:G.panelHead,children:(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Controls`})}),(0,W.jsxs)(`div`,{className:G.controls,children:[d?(0,W.jsx)(`button`,{type:`button`,className:`${G.button} ${G.buttonPrimary}`,disabled:m,onClick:()=>t.request(()=>I(`resume`),`Resuming autonomous dispatch requires the dispatch token.`,g),children:`Resume`}):(0,W.jsx)(`button`,{type:`button`,className:`${G.button} ${G.buttonPrimary}`,disabled:m,onClick:()=>t.request(()=>I(`pause`),`Pausing autonomous dispatch requires the dispatch token.`,g),children:`Pause`}),(0,W.jsx)(h,{label:c?`Release the emergency stop before starting the loop.`:d?`Dispatch is paused — resume before starting the loop.`:``,children:(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:m||s===`running`||c||d,onClick:()=>t.request(()=>I(`start`),`Starting the autonomous loop requires the dispatch token.`,g),children:`Start loop`})}),(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:m||s===`stopped`,onClick:()=>i(`stop`),children:`Stop loop`}),(0,W.jsx)(h,{label:d?`Dispatch is paused — resume before running a tick.`:``,children:(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:m||c||d,onClick:()=>t.request(()=>I(`once`),`Running one tick requires the dispatch token.`,g),children:`Run one tick`})})]}),d?(0,W.jsx)(`p`,{className:G.actionNote,role:`status`,children:f?`Dispatch is treated as paused: the pause sentinel could not be read, and the daemon fails safe rather than running on an unreadable signal.`:`Autonomous dispatch is paused. The loop parks between ticks; your own write tools are unaffected, and the global kill switch is not engaged.`}):null,(0,W.jsx)(`div`,{className:G.emergency,children:c?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:m,onClick:()=>i(`release`),children:`Release emergency stop`}),(0,W.jsxs)(`p`,{className:G.emergencyNote,children:[`The global kill switch is engaged. The daemon refuses to tick `,(0,W.jsx)(`em`,{children:`and`}),` the agent’s own write tools refuse to edit anything, anywhere — not just in enrolled repos.`]})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`button`,{type:`button`,className:G.emergencyButton,disabled:m,onClick:()=>i(`engage`),children:`Emergency stop`}),(0,W.jsxs)(`p`,{className:G.emergencyNote,children:[`Engages the global kill switch. Wider than “stop the loop”: it also disables the agent’s own write tools everywhere until you release it. To halt only the loop, use `,(0,W.jsx)(`strong`,{children:`Pause`}),`.`,l?` The switch’s current state could not be read.`:``]})]})}),t.error&&r===null?(0,W.jsx)(`p`,{className:G.capError,role:`alert`,children:t.error}):null,a&&!t.error?(0,W.jsx)(`p`,{className:G.actionNote,role:`status`,children:a}):null,(0,W.jsx)(p,{open:r===`stop`,onClose:()=>i(null),title:`Stop the autonomous loop?`,body:(0,W.jsxs)(W.Fragment,{children:[`This is the ordinary stop, but it works by engaging the global kill switch — the same`,(0,W.jsx)(`code`,{children:` ~/.ashlr/KILL `}),` sentinel the emergency stop writes. While it is set, the agent’s own write tools also refuse to edit anything, anywhere, until you release it from this panel.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),`If you only want the loop to stop working, `,(0,W.jsx)(`strong`,{children:`Pause`}),` does exactly that and nothing else — it leaves your own tools alone and undoes in one click.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),`Nothing in flight is rolled back. The loop will not restart by itself.`]}),confirmLabel:`Stop loop`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>t.request(()=>I(`stop`),`Stopping the autonomous loop requires the dispatch token.`,e=>{g(e),i(null)})}),(0,W.jsx)(p,{open:r===`engage`,onClose:()=>i(null),title:`Engage the emergency stop?`,body:(0,W.jsxs)(W.Fragment,{children:[`This writes the global kill switch. It stops the autonomous loop `,(0,W.jsx)(`strong`,{children:`and`}),` disables the agent’s own write tools — every edit, apply, and merge path refuses while it is engaged, in every repo, not only the enrolled ones. Nothing in flight is rolled back; nothing new can start.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),(0,W.jsx)(`strong`,{children:`Pause`}),` halts autonomous dispatch only and leaves everything else working.`,` `,(0,W.jsx)(`strong`,{children:`Stop loop`}),` is not narrower than this button: it engages the same global kill switch.`]}),confirmLabel:`Engage emergency stop`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>t.request(async()=>{await ae(),i(null)},`Engaging the emergency stop requires the dispatch token.`)}),(0,W.jsx)(p,{open:r===`release`,onClose:()=>i(null),title:`Release the emergency stop?`,body:(0,W.jsxs)(W.Fragment,{children:[`This clears the global kill switch. Write tools become usable again immediately. The autonomous loop does not restart by itself — use `,(0,W.jsx)(`strong`,{children:`Start loop`}),` when you want it running.`]}),confirmLabel:`Release emergency stop`,busy:t.busy,error:t.error,onConfirm:()=>t.request(async()=>{await re(),i(null)},`Releasing the emergency stop requires the dispatch token.`)})]})}var rt={idle:`neutral`,working:`running`,saturated:`running`,queued:`warning`,unknown:`unknown`},it={running:`running`,finishing:`running`,queued:`neutral`};function at({read:e,runtime:t,loading:n=!1}){let r=H(1e3),i=e?.value??null,a=ue(t),o=i?.slotsBusy??t?.slotsBusy??null,s=fe(o,a.effectiveConcurrency),c=ge(i,s,a),l=i?le(i.agents):[],u=i?.queueDepth??l.filter(e=>e.state===`queued`).length;return(0,W.jsxs)(`section`,{className:G.panel,"aria-labelledby":`verse-fleet-title`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{id:`verse-fleet-title`,className:G.panelTitle,children:`Fleet in flight`}),(0,W.jsx)(`p`,{className:G.panelNote,children:`Every agent mid-turn right now, what it is working on, and how long it has been at it.`})]}),n&&e===null?(0,W.jsx)(`p`,{className:G.empty,children:`Reading the fleet…`}):e===null||!e.available&&e.value===null?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`No fleet source. `}),e?.reason??`Nothing answered for the fleet, so what is in flight cannot be listed. That is a missing reading, not an empty fleet.`]}):i===null?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`Unreadable reading. `}),e.reason??`The fleet reading could not be narrowed, so nothing is shown rather than guessed.`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:G.pressure,"data-state":c.state,children:[(0,W.jsxs)(`span`,{className:G.pressureHead,children:[(0,W.jsx)(`span`,{className:G.pressureHeadline,children:c.headline}),(0,W.jsx)(d,{status:c.state,tone:rt[c.state]??`unknown`,children:c.state})]}),(0,W.jsx)(`p`,{className:G.pressureDetail,children:c.detail})]}),(0,W.jsxs)(`div`,{className:G.fleetMeters,children:[(0,W.jsx)(ee,{value:s.busy,max:s.total,label:`Slot utilisation`,valueText:s.percentText===null?`unknown`:`${s.busy} / ${s.total} · ${s.percentText}`,tone:s.saturated?`warning`:void 0}),(0,W.jsxs)(`div`,{className:G.fact,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:`Queue depth`}),(0,W.jsx)(`span`,{className:G.factValue,"data-tone":u>0?`warning`:void 0,children:i.queueDepth===null&&l.length===0?`—`:`${O(u)} waiting`})]})]}),s.saturated&&u===0?(0,W.jsx)(`p`,{className:G.capHelp,children:`Every slot is occupied. Nothing is waiting yet, but the next turn will.`}):null,l.length===0?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`Nothing in flight. `}),`No agent is mid-turn. The fleet answered and reported an empty list — an idle fleet, not a missing reading. Run one tick from Controls to put work in flight.`]}):(0,W.jsx)(`div`,{className:G.tableScroll,children:(0,W.jsxs)(`table`,{className:G.table,children:[(0,W.jsx)(`caption`,{className:G.srOnly,children:`Agents in flight: state, task, repository, model, slot and elapsed time`}),(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{scope:`col`,children:`State`}),(0,W.jsx)(`th`,{scope:`col`,children:`Working on`}),(0,W.jsx)(`th`,{scope:`col`,children:`Repo`}),(0,W.jsx)(`th`,{scope:`col`,children:`Model`}),(0,W.jsx)(`th`,{scope:`col`,children:`Slot`}),(0,W.jsx)(`th`,{scope:`col`,children:`Elapsed`})]})}),(0,W.jsx)(`tbody`,{children:l.map(e=>(0,W.jsx)(ot,{agent:e,now:r,capacity:a},e.id))})]})}),i.notes.length>0?(0,W.jsx)(`ul`,{className:G.noteList,children:i.notes.map(e=>(0,W.jsx)(`li`,{className:G.capHelp,children:M(e)},e))}):null]})]})}function ot({agent:e,now:t,capacity:n}){let r=pe(e.startedAt,t),i=e.state===`queued`;return(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{children:(0,W.jsx)(d,{status:e.state,tone:it[e.state],children:e.state})}),(0,W.jsx)(`td`,{className:G.cellSummary,children:e.task??(0,W.jsx)(`span`,{className:G.capHelp,children:`not reported`})}),(0,W.jsx)(`td`,{className:G.cellRepo,title:e.repo??void 0,children:e.repo?y(e.repo):`—`}),(0,W.jsx)(`td`,{className:G.cellRepo,children:e.model??e.engine??`—`}),(0,W.jsx)(`td`,{className:G.cellTime,children:e.slot===null?i?(0,W.jsx)(`span`,{className:G.capHelp,title:n.verdict===`serialized`?`This runtime serializes, so only one slot ever frees up at a time.`:void 0,children:`no slot`}):`—`:`#${e.slot}`}),(0,W.jsxs)(`td`,{className:G.cellTime,children:[r,i?(0,W.jsx)(`span`,{className:G.elapsedQualifier,children:` queued`}):null]})]})}var X=8;function st(){let e=l(R),t=l(z),n=(e.data??[]).filter(e=>e.status!==`done`&&e.status!==`archived`),r=t.data?.items??[];return(0,W.jsxs)(`section`,{className:G.panel,"aria-label":`Goals and backlog`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Goals and backlog`}),(0,W.jsx)(`p`,{className:G.panelNote,children:`Read-only in this view.`})]}),(0,W.jsxs)(`div`,{className:G.summaryColumns,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:G.factLabel,children:`Active goals`}),e.status===`loading`?(0,W.jsxs)(`div`,{className:G.skeletons,children:[(0,W.jsx)(o,{}),(0,W.jsx)(o,{})]}):e.status===`error`?(0,W.jsx)(`p`,{className:G.error,role:`alert`,children:e.error?.message??`Could not read goals.`}):n.length===0?(0,W.jsxs)(`p`,{className:G.empty,children:[`No active goals, so the loop falls back to the backlog for work. Add one with`,` `,(0,W.jsx)(`code`,{children:`ashlr goals add "<objective>"`}),`.`]}):(0,W.jsxs)(`div`,{className:G.summaryList,children:[n.slice(0,X).map(e=>{let t=C(e.progress?.fractionDone??0);return(0,W.jsxs)(`div`,{className:G.summaryRow,children:[(0,W.jsx)(`span`,{className:G.summaryTitle,title:e.objective,children:e.objective}),(0,W.jsxs)(`span`,{className:G.summaryMeta,children:[t,` · `,e.status]})]},e.id)}),n.length>X?(0,W.jsxs)(`p`,{className:G.panelNote,children:[`+`,n.length-X,` more`]}):null]})]}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`p`,{className:G.factLabel,children:`Backlog`}),t.status===`loading`?(0,W.jsxs)(`div`,{className:G.skeletons,children:[(0,W.jsx)(o,{}),(0,W.jsx)(o,{})]}):t.status===`error`?(0,W.jsx)(`p`,{className:G.error,role:`alert`,children:t.error?.message??`Could not read the backlog.`}):t.data?.absent?(0,W.jsxs)(`p`,{className:G.empty,children:[`No backlog has been built yet. Run one tick from Controls, or `,(0,W.jsx)(`code`,{children:`ashlr backlog`}),`, to produce one.`]}):r.length===0?(0,W.jsxs)(`p`,{className:G.empty,children:[`The backlog is empty, so a tick records `,(0,W.jsx)(`code`,{children:`no-backlog`}),` and idles. Enroll another repository in Scope, or add a goal, to give it work.`]}):(0,W.jsxs)(`div`,{className:G.summaryList,children:[r.slice(0,X).map((e,t)=>(0,W.jsxs)(`div`,{className:G.summaryRow,children:[(0,W.jsx)(`span`,{className:G.summaryTitle,title:e.title,children:e.title??e.id??`untitled item`}),(0,W.jsxs)(`span`,{className:G.summaryMeta,title:e.repo??void 0,children:[e.repo?y(e.repo):`—`,typeof e.score==`number`?` · ${e.score}`:``]})]},e.id??`${e.title??`item`}-${t}`)),r.length>X?(0,W.jsxs)(`p`,{className:G.panelNote,children:[`+`,r.length-X,` more`]}):null]})]})]})]})}function ct({read:e,seats:t,guard:n,dispatchEnabled:r,loading:i=!1}){let[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(null),l=e?.value??null,u=me(l,t),f=_e(l),m=l?.enabled??!1,h=!r||n.readOnly||n.busy||!(l?.mutable??!1),g=e=>{n.request(()=>Se(e),e?`Turning local-only on requires the dispatch token.`:`Turning local-only off requires the dispatch token.`,e=>{c(e.note?M(e.note):null),o(!1)})};return(0,W.jsxs)(`section`,{className:G.panel,"aria-labelledby":`verse-local-only-title`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{id:`verse-local-only-title`,className:G.panelTitle,children:`Local only`}),(0,W.jsx)(`p`,{className:G.panelNote,children:`A refusal, not a preference. While it is on, cloud engines are unreachable.`})]}),i&&e===null?(0,W.jsx)(`p`,{className:G.empty,children:`Reading the local-only policy…`}):e===null||l===null?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`No local-only source. `}),e?.reason??`Nothing answered for the local-only policy, so whether cloud engines are reachable cannot be stated here. It is not shown as off — an unread switch is not a switch that is off.`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:G.toggleRow,children:[(0,W.jsx)(`span`,{className:G.toggleState,"data-on":m?`true`:`false`,children:(0,W.jsx)(d,{status:m?`local-only-on`:`local-only-off`,tone:m?`success`:`neutral`,children:m?`on — cloud refused`:`off — cloud reachable`})}),(0,W.jsx)(`button`,{type:`button`,className:`${G.button} ${m?``:G.buttonPrimary}`,disabled:h,"aria-pressed":m,onClick:()=>m?g(!1):o(!0),children:m?`Turn local-only off`:`Turn local-only on`})]}),(0,W.jsx)(`p`,{className:G.policyExplain,children:m?(0,W.jsxs)(W.Fragment,{children:[`Every non-local engine is `,(0,W.jsx)(`strong`,{children:`refused at dispatch`}),`. A turn sent to one does not fall back, does not queue, and does not run more slowly — it fails with a named refusal. Nothing can spend money while this is on.`]}):(0,W.jsxs)(W.Fragment,{children:[`Cloud engines are reachable. Turning this on makes them `,(0,W.jsx)(`strong`,{children:`unreachable`}),`, not deprioritised: a dispatch to one fails outright rather than being routed elsewhere. That is the difference between a budget and a guarantee.`]})}),f?(0,W.jsx)(`p`,{className:G.capHelp,children:f}):null,!l.mutable&&r&&!n.readOnly?(0,W.jsx)(`p`,{className:G.actionNote,role:`status`,children:`This switch is not editable from here, so it is shown read-only rather than as a control that would refuse the click.`}):null,(0,W.jsxs)(`div`,{className:G.impact,children:[(0,W.jsx)(`h4`,{className:G.impactTitle,children:m?`What is blocked right now`:`What this would block`}),(0,W.jsx)(`p`,{className:G.impactSummary,children:u.summary}),u.blocked.length>0?(0,W.jsx)(`ul`,{className:G.seatList,children:u.blocked.map(e=>(0,W.jsxs)(`li`,{className:G.seatRow,children:[(0,W.jsx)(`span`,{className:G.seatEngine,"data-engine":e.engine,children:e.engine}),(0,W.jsx)(`span`,{className:G.seatLabel,children:e.label}),(0,W.jsx)(`span`,{className:G.seatRefusal,children:u.refusalFor(e.engine)})]},e.id))}):null,u.allowed.length>0?(0,W.jsxs)(`p`,{className:G.capHelp,children:[`Still reachable:`,` `,u.allowed.map(e=>e.label).join(`, `),`. Local seats cost nothing to run and are unaffected by this switch.`]}):(0,W.jsx)(`p`,{className:G.capHelp,children:`No local seat is configured. With local-only on there would be nothing left to dispatch to — add a local seat before relying on this switch.`})]}),s&&!n.error?(0,W.jsx)(`p`,{className:G.actionNote,role:`status`,children:s}):null,n.error&&!a?(0,W.jsx)(`p`,{className:G.capError,role:`alert`,children:n.error}):null,(0,W.jsx)(p,{open:a,onClose:()=>o(!1),title:`Make cloud engines unreachable?`,body:(0,W.jsxs)(W.Fragment,{children:[`This is a refusal, not a routing preference. While local-only is on, a dispatch to a non-local engine `,(0,W.jsx)(`strong`,{children:`fails`}),` with a named refusal — it does not fall back to a local seat and it does not wait.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),u.blocked.length===0?`No seat on this machine is affected today: every configured seat is local.`:`${u.blocked.length} of your ${t.length} ${t.length===1?`seat`:`seats`} ${u.blocked.length===1?`stops`:`stop`} working: ${u.blocked.map(e=>e.label).join(`, `)}.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),`It is reversible from this panel at any time.`]}),confirmLabel:`Turn local-only on`,busy:n.busy,error:n.error,onConfirm:()=>g(!0)})]})]})}var lt={running:`success`,starting:`running`,stopping:`running`,stopped:`neutral`,unknown:`unknown`},ut={success:`success`,warning:`warning`,danger:`danger`,neutral:`neutral`,unknown:`unknown`},dt=/^local lane is off this tick: (.+)$/s,ft=/^lane cap (\d+) is below (\d+) \([^)]*\): (.+)$/s;function pt(e){let t=e?.find(e=>typeof e==`string`&&e.startsWith(`bounded by this tick's lane cap, not by slots: `));if(!t)return null;let n=t.slice(47).trim(),r=dt.exec(n);if(r)return{off:!0,limit:null,uncapped:null,why:A(M(r[1]))};let i=ft.exec(n);return i?{off:!1,limit:Number(i[1]),uncapped:Number(i[2]),why:A(M(i[3]))}:{off:!1,limit:null,uncapped:null,why:A(M(n))}}function mt(){return(0,U.useSyncExternalStore)((0,U.useCallback)(e=>a(`verse-fleet`,e),[]),()=>i(`verse-fleet`),()=>i(`verse-fleet`)).data??null}function ht({read:e,guard:t,dispatchEnabled:n,loading:r=!1,fleet:i}){let a=H(1e3),o=mt(),s=i===void 0?o:i,c=pt(s?.value?.notes),l=s?.value?.notes.some(e=>e.startsWith(`snapshot is `))??!1,[u,f]=(0,U.useState)(null),[m,h]=(0,U.useState)(null),g=e?.value??null,_=ue(g),v=fe(g?.slotsBusy??null,_.effectiveConcurrency),y=!n||t.readOnly,b=g?.supervised??!1,x=y||t.busy||!b,S=g?.state===`running`,C=(e,n)=>{t.request(()=>be(e),n,e=>{h(e.note?M(e.note):null),f(null)})};return(0,W.jsxs)(`section`,{className:G.panel,"aria-labelledby":`verse-runtime-title`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{id:`verse-runtime-title`,className:G.panelTitle,children:`Serving runtime`}),(0,W.jsx)(`p`,{className:G.panelNote,children:`The process that answers local agent turns. Without it, a local fleet has nowhere to run.`})]}),r&&e===null?(0,W.jsx)(`p`,{className:G.empty,children:`Reading the serving runtime…`}):e===null||!e.available&&e.value===null?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`No serving-runtime source. `}),e?.reason??`Nothing answered for the serving runtime, so whether a local fleet can run cannot be stated here.`]}):g===null?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`Unreadable reading. `}),e.reason??`The serving-runtime reading could not be narrowed, so nothing is shown rather than guessed.`]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:G.runtimeTop,children:[(0,W.jsxs)(`span`,{className:G.runtimeState,"data-state":g.state,children:[(0,W.jsx)(`span`,{className:G.runDot,"aria-hidden":`true`}),(0,W.jsxs)(`span`,{className:G.runtimeStateText,children:[he(g.kind),` · `,g.state===`unknown`?`state unknown`:g.state]})]}),(0,W.jsx)(d,{status:g.state,tone:lt[g.state],children:g.state===`running`?`serving`:g.state}),g.reason?(0,W.jsx)(`code`,{className:G.evidenceCode,children:M(g.reason)}):null]}),(0,W.jsxs)(`div`,{className:G.facts,children:[(0,W.jsx)(Z,{label:`Model`,value:g.model??`—`,wide:!0}),(0,W.jsx)(Z,{label:`Endpoint`,value:g.endpoint??`—`,mono:!0}),(0,W.jsx)(Z,{label:`Context`,value:de(g.contextTokens)}),(0,W.jsx)(Z,{label:`Slots configured`,value:g.slotsTotal===null?`—`:String(g.slotsTotal)}),(0,W.jsx)(Z,{label:`Uptime`,value:S?ce(g.startedAt,a):`not running`})]}),(0,W.jsxs)(`div`,{className:G.capacityBlock,"data-verdict":_.verdict,children:[(0,W.jsxs)(`div`,{className:G.capacityHead,children:[(0,W.jsx)(`span`,{className:G.capacityBig,children:_.effectiveConcurrency===null?`—`:_.effectiveConcurrency}),(0,W.jsxs)(`div`,{className:G.capacityWords,children:[(0,W.jsxs)(`span`,{className:G.capacityHeadline,children:[_.headline,(0,W.jsx)(d,{status:_.verdict,tone:ut[_.tone],children:_.verdict===`batched`?`batches`:_.verdict===`serialized`?`serializes`:_.verdict===`offline`?`not serving`:`unconfirmed`})]}),(0,W.jsx)(`span`,{className:G.capacityDetail,children:_.detail})]})]}),c?(0,W.jsxs)(`p`,{className:G.capacityDetail,"data-limiter":`lane-cap`,role:`note`,children:[(0,W.jsx)(d,{status:`lane-cap`,tone:c.off?`neutral`:`warning`,children:c.off?`lane off`:`lane-capped`}),` `,c.off?`The fleet runs no local agent ${l?`as of its last tick`:`this tick`}: ${c.why}.`:`The fleet runs ${c.limit===null?`fewer`:`at most ${c.limit}`} local ${c.limit===1?`agent`:`agents`} ${l?`as of its last tick`:`this tick`}${c.uncapped===null?``:`, not ${c.uncapped}`} — a lane cap is tighter than this runtime: ${c.why}.`]}):null,_.overstated?(0,W.jsx)(gt,{configured:_.configuredSlots,refusal:g.parallel.refusal}):null]}),(0,W.jsxs)(`div`,{className:G.utilisation,children:[(0,W.jsx)(ee,{value:v.busy,max:v.total,label:`Slots in use`,valueText:v.percent===null?`unknown`:`${v.busy} / ${v.total}`,tone:v.saturated?`warning`:void 0}),(0,W.jsx)(`p`,{className:G.capHelp,children:v.label})]}),(0,W.jsxs)(`div`,{className:G.controls,children:[(0,W.jsx)(`button`,{type:`button`,className:`${G.button} ${G.buttonPrimary}`,disabled:x||S,onClick:()=>C(`start`,`Starting the serving runtime requires the dispatch token.`),children:`Start runtime`}),(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:x||!S,onClick:()=>f(`stop`),children:`Stop runtime`}),(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:x,onClick:()=>f(`restart`),children:`Restart runtime`})]}),b?null:(0,W.jsx)(`p`,{className:G.actionNote,role:`status`,children:`This runtime is managed outside the hub, so it cannot be started or stopped from here. Whoever launched it — a login item, a terminal — still owns it; these controls stay disabled rather than sending an action that cannot land.`}),m&&!t.error?(0,W.jsx)(`p`,{className:G.actionNote,role:`status`,children:m}):null,t.error&&u===null?(0,W.jsx)(`p`,{className:G.capError,role:`alert`,children:t.error}):null,(0,W.jsx)(p,{open:u===`stop`,onClose:()=>f(null),title:`Stop the serving runtime?`,body:(0,W.jsxs)(W.Fragment,{children:[`Every local agent turn in flight is answered by this process. Stopping it ends those turns — nothing in flight is rolled back, and no local seat can take a new turn until it is running again.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),`This does not touch the autonomous loop, the kill switch, or your own write tools.`]}),confirmLabel:`Stop runtime`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>C(`stop`,`Stopping the serving runtime requires the dispatch token.`)}),(0,W.jsx)(p,{open:u===`restart`,onClose:()=>f(null),title:`Restart the serving runtime?`,body:(0,W.jsxs)(W.Fragment,{children:[`The process is stopped and started again. Turns in flight end with it, and the first turn afterwards pays the model load — on a 27 GB model that is not instant.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),`Restart is the way to pick up a changed slot count or context size, since both are fixed at launch.`]}),confirmLabel:`Restart runtime`,destructive:!0,busy:t.busy,error:t.error,onConfirm:()=>C(`restart`,`Restarting the serving runtime requires the dispatch token.`)})]})]})}function gt({configured:e,refusal:t}){return(0,W.jsxs)(`div`,{className:G.evidence,children:[(0,W.jsx)(`p`,{className:G.evidenceLead,children:e===null?`The configured slot count is not a concurrency on this runtime.`:`${e} slots are configured, but this runtime will not run them in parallel. Measured on this machine, four concurrent requests to the same model:`}),(0,W.jsx)(`div`,{className:G.evidenceScroll,children:(0,W.jsxs)(`table`,{className:G.evidenceTable,children:[(0,W.jsx)(`caption`,{className:G.srOnly,children:`Four concurrent requests to the same Qwen3.8 model file, per-runtime completion times in seconds`}),(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{scope:`col`,children:`Runtime`}),(0,W.jsx)(`th`,{scope:`col`,children:`Per request (s)`}),(0,W.jsx)(`th`,{scope:`col`,children:`Wall (s)`}),(0,W.jsx)(`th`,{scope:`col`,children:`Finished`})]})}),(0,W.jsx)(`tbody`,{children:ve.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`th`,{scope:`row`,children:e.runtime}),(0,W.jsx)(`td`,{className:G.evidenceNums,children:e.perRequestSeconds.join(` · `)}),(0,W.jsx)(`td`,{className:G.evidenceNums,children:e.wallSeconds.toFixed(1)}),(0,W.jsx)(`td`,{children:e.verdict})]},e.runtime))})]})}),t?(0,W.jsxs)(`p`,{className:G.capHelp,children:[`The runtime’s own words: `,(0,W.jsx)(`code`,{className:G.evidenceCode,children:t})]}):null]})}function Z({label:e,value:t,mono:n=!1,wide:r=!1}){return(0,W.jsxs)(`div`,{className:`${G.fact} ${r?G.factWide:``}`,children:[(0,W.jsx)(`span`,{className:G.factLabel,children:e}),(0,W.jsx)(`span`,{className:`${G.factValue} ${n?G.factMono:``}`,title:n||r?t:void 0,children:t})]})}var Q={armedTop:`_armedTop_8ujh1_22`,armedState:`_armedState_8ujh1_30`,haltRow:`_haltRow_8ujh1_36`,haltNote:`_haltNote_8ujh1_43`,heavier:`_heavier_8ujh1_53`,facts:`_facts_8ujh1_69`,fact:`_fact_8ujh1_69`,factWide:`_factWide_8ujh1_83`,factLabel:`_factLabel_8ujh1_87`,factValue:`_factValue_8ujh1_95`,factMono:`_factMono_8ujh1_106`,stop:`_stop_8ujh1_112`,stopHead:`_stopHead_8ujh1_121`,stopHeadline:`_stopHeadline_8ujh1_129`,stopRemaining:`_stopRemaining_8ujh1_137`,stopDetail:`_stopDetail_8ujh1_146`,ledger:`_ledger_8ujh1_154`,ledgerTitle:`_ledgerTitle_8ujh1_158`,ledgerCount:`_ledgerCount_8ujh1_171`,ledgerEmpty:`_ledgerEmpty_8ujh1_177`,ledgerList:`_ledgerList_8ujh1_183`,ledgerRow:`_ledgerRow_8ujh1_189`,ledgerRepo:`_ledgerRepo_8ujh1_203`,ledgerChange:`_ledgerChange_8ujh1_212`,ledgerMeta:`_ledgerMeta_8ujh1_222`,form:`_form_8ujh1_232`,field:`_field_8ujh1_239`,fieldLabel:`_fieldLabel_8ujh1_246`,input:`_input_8ujh1_254`,rulePreview:`_rulePreview_8ujh1_277`,armRow:`_armRow_8ujh1_285`,authorisation:`_authorisation_8ujh1_17`,authorisationTitle:`_authorisationTitle_8ujh1_305`,authorisationBody:`_authorisationBody_8ujh1_315`,authorisationCaveat:`_authorisationCaveat_8ujh1_327`},_t=[{value:`until-paused`,label:`Until I pause it`},{value:`at-time`,label:`At a time`},{value:`after-iterations`,label:`After N iterations`}],vt=`07:00`,yt=`20`;function bt({read:e,snapshot:t,guard:n,dispatchEnabled:r,loading:i=!1}){let a=H(1e3),[o,s]=(0,U.useState)(`until-paused`),[c,l]=(0,U.useState)(vt),[u,f]=(0,U.useState)(yt),[p,m]=(0,U.useState)(null),[g,_]=(0,U.useState)(null),b=e=>_(e?M(e):null),x=e?.value??null,S=x?.run??null,C=t.pause?.state??`unknown`,w=C!==`running`,T=C===`unknown`,E=t.killSwitch?.state===`active`,D=!r||n.readOnly,O=D||n.busy,k=x?.repos??t.scope?.repos?.length??null,j=x?.mirrors,N=x?.gate??null,P=Ne(N),F=Ee(N),te=N?.branch??`master`,L=xt(o,c,u),R=De(S?.stopRule??null,S,a),ne=D?`This server runs without dispatch, so an overnight run cannot be armed from here.`:E?`Release the emergency stop before arming an overnight run.`:``,re=()=>{m(null),n.request(()=>I(`pause`),`Pausing autonomous dispatch requires the dispatch token.`,e=>b(e.note||null))},z=()=>{m(null),n.request(()=>I(`resume`),`Resuming autonomous dispatch requires the dispatch token.`,e=>b(e.note||null))},ie=()=>{if(L===null){m(o===`at-time`?`Enter a stop time as HH:MM before arming.`:`Enter a number of iterations between 1 and 500 before arming.`);return}m(null),n.request(()=>Pe(L),`Arming an overnight run requires the dispatch token.`,e=>b(e.note||null))},B=()=>{m(null),n.request(()=>Ae(),`Disarming the overnight run requires the dispatch token.`,e=>b(e.note||null))},V=(0,W.jsxs)(`div`,{className:Q.authorisation,children:[(0,W.jsx)(`h4`,{className:Q.authorisationTitle,children:`What it does while you sleep`}),(0,W.jsxs)(`p`,{className:Q.authorisationBody,children:[`Local models work through`,` `,(0,W.jsx)(`strong`,{children:k===null?`your enrolled repositories`:`your ${k} enrolled ${k===1?`repository`:`repositories`}`}),` `,`unattended. Each change it writes is put through the gate`,P.length>0?(0,W.jsxs)(W.Fragment,{children:[` `,`— `,(0,W.jsx)(`strong`,{children:ke(P)}),` must pass`]}):null,`. A change that passes the gate is `,(0,W.jsxs)(`strong`,{children:[`merged to `,te,` without asking you`]}),`. A change that fails is discarded and the repository is left as it was.`]}),typeof j==`number`&&j>0?(0,W.jsxs)(`p`,{className:Q.authorisationBody,"data-testid":`overnight-mirrors`,children:[`Fleet mirrors: `,(0,W.jsx)(`strong`,{children:j}),` — the standing fleet’s own`,` `,j===1?`clone`:`clones`,` of enrolled repositories, counted apart. A mirror is not an additional repository.`]}):j===null&&x?.armed?(0,W.jsx)(`p`,{className:Q.authorisationCaveat,"data-testid":`overnight-mirrors`,children:`Fleet mirrors were not recorded for this run, so how many the standing fleet works in is unknown.`}):null,F.length>0?(0,W.jsxs)(`p`,{className:Q.authorisationCaveat,children:[`This build did not state whether `,ke(F),` `,F.length===1?`runs`:`run`,` in the gate, so `,F.length===1?`it is`:`they are`,` shown as unstated rather than as passing checks you can rely on.`]}):null,N?.autoMerge===!1?(0,W.jsxs)(`p`,{className:Q.authorisationCaveat,children:[`This build reports that passing changes are `,(0,W.jsx)(`strong`,{children:`not`}),` merged automatically — they wait for you in Approvals.`]}):null]});return(0,W.jsxs)(`section`,{className:G.panel,"aria-labelledby":`verse-overnight-title`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{id:`verse-overnight-title`,className:G.panelTitle,children:`Overnight`}),(0,W.jsx)(`p`,{className:G.panelNote,children:`Arm this when you walk away. One stop rule per run; pause halts it at any time.`})]}),i&&e===null?(0,W.jsx)(`p`,{className:G.empty,children:`Reading the overnight lane…`}):e===null||!e.available&&e.value===null?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`Not available in this build. `}),e?.reason??`Nothing answered for the overnight lane, so a run cannot be armed or reported here. Nothing is running because of this panel.`]}):x===null?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`Unreadable reading. `}),e.reason??`The overnight reading could not be narrowed, so whether a run is armed is not stated rather than guessed.`]}):x.armed?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:Q.armedTop,children:[(0,W.jsx)(`span`,{className:Q.armedState,children:(0,W.jsx)(d,{status:w?`paused`:`running`,tone:w?`warning`:`running`,children:w?`armed — dispatch paused`:`armed — running`})}),(0,W.jsxs)(`div`,{className:Q.haltRow,children:[w?(0,W.jsx)(`button`,{type:`button`,className:`${G.button} ${G.buttonPrimary}`,disabled:O,onClick:z,children:`Resume now`}):(0,W.jsx)(`button`,{type:`button`,className:`${G.button} ${G.buttonPrimary}`,disabled:O,onClick:re,children:`Pause now`}),(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:O,onClick:B,children:`Disarm`})]})]}),(0,W.jsx)(`p`,{className:Q.haltNote,children:w?T?`Treated as paused: the pause sentinel could not be read, and the daemon fails safe rather than running on an unreadable signal. Nothing is being dispatched.`:`Autonomous dispatch is paused. The loop parks between iterations; your own write tools are unaffected and the global kill switch is not engaged.`:`Pause halts autonomous dispatch and nothing else — it undoes in one click. Disarm stops the next run from starting but leaves this one going.`}),(0,W.jsxs)(`dl`,{className:Q.facts,children:[(0,W.jsx)(Ct,{label:`Doing now`,value:S?.activity?M(S.activity):`—`,wide:!0}),(0,W.jsx)(Ct,{label:`Repository`,value:S?.repo?y(S.repo):`—`,title:S?.repo??void 0,mono:!0}),(0,W.jsx)(Ct,{label:`Running for`,value:je(S?.startedAt,a)})]}),(0,W.jsxs)(`div`,{className:Q.stop,children:[(0,W.jsxs)(`div`,{className:Q.stopHead,children:[(0,W.jsx)(`span`,{className:Q.stopHeadline,children:R.headline}),(0,W.jsx)(`span`,{className:Q.stopRemaining,children:R.remaining})]}),R.percent===null?(0,W.jsx)(`p`,{className:Q.stopDetail,children:`No progress is drawn for an open-ended run: there is no finish line to draw it against.`}):(0,W.jsx)(ee,{value:R.percent,max:100,variant:`line`,tone:R.reached?`warning`:`accent`,"aria-label":`Progress toward the stop condition`})]}),(0,W.jsx)(wt,{title:`Merged`,empty:`Nothing merged yet. Changes that pass the gate land here as they merge.`,rows:(S?.merged??[]).map(e=>({id:e.id,repo:e.repo,title:e.title,meta:St(e.commit?e.commit.slice(0,7):null,e.at),metaTitle:e.commit??void 0}))}),(0,W.jsx)(wt,{title:`Discarded`,empty:`Nothing discarded yet. A change that fails the gate is listed here with the reason.`,rows:(S?.discarded??[]).map(e=>({id:e.id,repo:e.repo,title:e.title,meta:St(A(M(e.reason)),e.at)}))}),V]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`div`,{className:Q.form,children:[(0,W.jsxs)(`div`,{className:Q.field,children:[(0,W.jsx)(`span`,{className:Q.fieldLabel,id:`verse-overnight-stop-label`,children:`Stop rule`}),(0,W.jsx)(v,{options:_t,value:o,onChange:e=>{s(e),m(null)},"aria-labelledby":`verse-overnight-stop-label`,size:`sm`})]}),o===`at-time`?(0,W.jsxs)(`div`,{className:Q.field,children:[(0,W.jsx)(`label`,{className:Q.fieldLabel,htmlFor:`verse-overnight-time`,children:`Stop at`}),(0,W.jsx)(`input`,{id:`verse-overnight-time`,type:`time`,className:Q.input,value:c,disabled:O,onChange:e=>{l(e.target.value),m(null)}})]}):null,o===`after-iterations`?(0,W.jsxs)(`div`,{className:Q.field,children:[(0,W.jsx)(`label`,{className:Q.fieldLabel,htmlFor:`verse-overnight-iterations`,children:`Iterations`}),(0,W.jsx)(`input`,{id:`verse-overnight-iterations`,type:`number`,inputMode:`numeric`,min:1,max:500,className:Q.input,value:u,disabled:O,onChange:e=>{f(e.target.value),m(null)}})]}):null]}),(0,W.jsx)(`p`,{className:Q.rulePreview,children:L===null?o===`at-time`?`Enter a stop time as HH:MM.`:`Enter a number of iterations between 1 and 500.`:Te(L,new Date(a))}),V,(0,W.jsxs)(`div`,{className:Q.armRow,children:[(0,W.jsx)(h,{label:ne,children:(0,W.jsx)(`button`,{type:`button`,className:`${G.button} ${G.buttonPrimary}`,disabled:O||E,onClick:ie,children:`Arm overnight run`})}),w?(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:O,onClick:z,children:`Resume now`}):null]}),w?(0,W.jsx)(`p`,{className:Q.haltNote,role:`status`,children:T?`Autonomous dispatch is treated as paused — the sentinel could not be read. An armed run would park rather than work until that is resolved.`:`Autonomous dispatch is paused, so an armed run would park rather than work. Resume before walking away.`}):null,(0,W.jsxs)(`p`,{className:Q.heavier,children:[`Pause is the halt for this run and it undoes in one click.`,` `,(0,W.jsx)(`strong`,{children:`Emergency stop`}),`, in Controls above, is heavier on purpose: it engages the global kill switch, which also stops the agent’s own write tools from editing anything, anywhere, until you release it.`]})]}),p?(0,W.jsx)(`p`,{className:G.capError,role:`alert`,children:p}):null,n.error?(0,W.jsx)(`p`,{className:G.capError,role:`alert`,children:n.error}):null,g&&!n.error?(0,W.jsx)(`p`,{className:G.actionNote,role:`status`,children:g}):null]})}function xt(e,t,n){if(e===`until-paused`)return{kind:`until-paused`};if(e===`at-time`){let e=Fe(t);return e===null?null:{kind:`at-time`,at:e}}let r=Number(n);return!Number.isInteger(r)||r<1||r>500?null:{kind:`after-iterations`,iterations:r}}function St(e,t){let n=t?j(t):null;return[e,n===`—`?null:n].filter(e=>!!e).join(` · `)}function Ct({label:e,value:t,title:n,mono:r=!1,wide:i=!1}){return(0,W.jsxs)(`div`,{className:`${Q.fact} ${i?Q.factWide:``}`,children:[(0,W.jsx)(`dt`,{className:Q.factLabel,children:e}),(0,W.jsx)(`dd`,{className:`${Q.factValue} ${r?Q.factMono:``}`,title:n??(r||i?t:void 0),children:t})]})}function wt({title:e,empty:t,rows:n}){return(0,W.jsxs)(`div`,{className:Q.ledger,children:[(0,W.jsxs)(`h4`,{className:Q.ledgerTitle,children:[e,` `,(0,W.jsx)(`span`,{className:Q.ledgerCount,children:n.length})]}),n.length===0?(0,W.jsx)(`p`,{className:Q.ledgerEmpty,children:t}):(0,W.jsx)(`ul`,{className:Q.ledgerList,children:n.map(e=>(0,W.jsxs)(`li`,{className:Q.ledgerRow,children:[(0,W.jsx)(`span`,{className:Q.ledgerRepo,title:e.repo,children:y(e.repo)}),(0,W.jsx)(`span`,{className:Q.ledgerChange,children:e.title}),e.meta?(0,W.jsx)(`span`,{className:Q.ledgerMeta,title:e.metaTitle,children:e.meta}):null]},e.id))})]})}function Tt(){let e=l(V),t=s(V),n=e.data,r=n?.checks?.filter(e=>e.pass).length??0,i=n?.checks?.length??0;return(0,W.jsxs)(`section`,{className:G.panel,"aria-label":`Safety checks`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Safety`}),(0,W.jsxs)(`div`,{className:G.panelActions,children:[e.status===`refreshing`?(0,W.jsx)(m,{}):null,n?(0,W.jsxs)(`span`,{className:G.panelNote,children:[r,`/`,i,` passing`]}):null,(0,W.jsx)(`button`,{type:`button`,className:G.button,onClick:t,disabled:e.status===`loading`,children:`Re-run checks`})]})]}),e.status===`loading`?(0,W.jsxs)(`div`,{className:G.skeletons,children:[(0,W.jsx)(c,{width:`70%`}),(0,W.jsx)(c,{width:`55%`}),(0,W.jsx)(c,{width:`62%`})]}):e.status===`error`?(0,W.jsx)(`p`,{className:G.error,role:`alert`,children:e.error?.message??`Could not run the safety checks.`}):!n||i===0?(0,W.jsxs)(`p`,{className:G.empty,children:[`The safety report came back with no checks. Press `,(0,W.jsx)(`strong`,{children:`Re-run checks`}),`; if it is still empty, that is itself a problem worth investigating — treat it as a failure, not as a pass.`]}):(0,W.jsx)(`div`,{className:G.checkList,children:n.checks.map(e=>(0,W.jsxs)(`div`,{className:G.check,"data-pass":e.pass,children:[(0,W.jsx)(`span`,{className:G.checkMark,"aria-hidden":`true`,children:e.pass?`✓`:`✕`}),(0,W.jsxs)(`span`,{className:G.checkLabel,children:[e.label,(0,W.jsx)(`span`,{className:G.srOnly,children:e.pass?` — passed`:` — failed`})]}),(0,W.jsx)(`span`,{className:G.checkDetail,children:e.detail?M(e.detail):e.id})]},e.id))})]})}function Et(e){let t=e.trim();return t===``?`Enter the absolute path of the repository to enroll.`:t.startsWith(`/`)?t===`/`?`The filesystem root cannot be enrolled as autonomous scope.`:/(^|\/)\.codex\/artifacts(\/|$)/.test(t)?`Paths under ~/.codex/artifacts cannot be enrolled.`:/(^|\/)\.ashlr(\/|$)/.test(t)?`Paths under ~/.ashlr cannot be enrolled — that is the agent’s own control directory.`:null:`Enrollment takes an absolute path, e.g. /Users/you/code/project.`}function Dt({path:e,scope:t}){let n=t?.entries.find(t=>t.path===e)??null;if(n===null)return null;let r=n.priority!==`normal`;return!r&&n.sections.length===0?null:(0,W.jsxs)(`span`,{className:G.repoStanding,title:P,children:[r?(0,W.jsx)(`span`,{className:G.repoPriority,children:N[n.priority]}):null,n.sections.map(e=>(0,W.jsx)(`span`,{className:G.repoSection,children:e.name},e.id)),n.outsideFocus?(0,W.jsx)(`span`,{className:G.repoOutsideFocus,children:`outside the focused section`}):null]})}function Ot({guard:e,dispatchEnabled:t}){let n=l(ie),r=l(g),[i,a]=(0,U.useState)(``),[s,c]=(0,U.useState)(null),[u,d]=(0,U.useState)(null),[f,h]=(0,U.useState)(null),_=!t||e.readOnly;function v(){let e=Et(i);if(e){c(e);return}c(null),h(i.trim())}function y(){let t=f;t&&e.request(async()=>{await oe({action:`enroll`,path:t}),a(``),h(null)},`Enrolling a repository for autonomous work requires the dispatch token.`)}let b=n.data?.repos??[];return(0,W.jsxs)(`section`,{className:G.panel,"aria-label":`Scope`,children:[(0,W.jsxs)(`div`,{className:G.panelHead,children:[(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Scope — enrolled repositories`}),n.status===`refreshing`?(0,W.jsx)(m,{}):null]}),n.data?.degradedReason?(0,W.jsxs)(`p`,{className:G.readOnly,children:[`The enrollment registry read is degraded: `,M(n.data.degradedReason)]}):null,n.status===`loading`?(0,W.jsxs)(`div`,{className:G.skeletons,children:[(0,W.jsx)(o,{}),(0,W.jsx)(o,{})]}):n.status===`error`?(0,W.jsx)(`p`,{className:G.error,role:`alert`,children:n.error?.message??`Could not read the enrollment registry.`}):b.length===0?(0,W.jsxs)(`p`,{className:G.empty,children:[(0,W.jsx)(`span`,{className:G.emptyStrong,children:`No repositories are enrolled, so the daemon will do nothing.`}),` `,`That is the default and it is not a bug — nothing autonomous can mutate a real repository until you enroll it here. Add one below to give the loop somewhere to work.`]}):(0,W.jsx)(`div`,{className:G.repoList,children:b.map(t=>(0,W.jsxs)(`div`,{className:G.repoRow,children:[(0,W.jsx)(`span`,{className:G.repoName,children:t.name}),(0,W.jsx)(`span`,{className:G.repoPath,title:t.path,children:(0,W.jsx)(`bdi`,{children:t.path})}),t.exists?null:(0,W.jsx)(`span`,{className:G.repoMissing,children:`⚠ path missing on disk`}),(0,W.jsx)(Dt,{path:t.path,scope:r.data??null}),(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:_||e.busy,onClick:()=>d(t),children:`Remove`})]},t.path))}),(0,W.jsxs)(`div`,{className:G.addRow,children:[(0,W.jsx)(`input`,{className:G.addInput,type:`text`,value:i,placeholder:`/absolute/path/to/repository`,"aria-label":`Repository path to enroll`,"aria-invalid":s?!0:void 0,disabled:_||e.busy,onChange:e=>{a(e.target.value),s&&c(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),v())}}),(0,W.jsx)(`button`,{type:`button`,className:G.button,disabled:_||e.busy,onClick:v,children:`Enroll repository`})]}),s?(0,W.jsx)(`p`,{className:G.capError,role:`alert`,children:s}):null,e.error&&!s?(0,W.jsx)(`p`,{className:G.capError,role:`alert`,children:e.error}):null,(0,W.jsx)(p,{open:f!==null,onClose:()=>h(null),title:`Give the autonomous loop write authority here?`,body:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`code`,{children:f}),` becomes autonomous scope. The loop may propose work against it, and the agent’s own MCP-native write tools will act on it — enrolment is the gate those tools check.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`br`,{}),`Nothing is written by enrolling. You can remove it again from this panel at any time.`]}),confirmLabel:`Enroll repository`,busy:e.busy,error:e.error,onConfirm:y}),(0,W.jsx)(p,{open:u!==null,onClose:()=>d(null),title:`Remove this repository from scope?`,body:(0,W.jsxs)(W.Fragment,{children:[`The autonomous loop will stop proposing work for `,(0,W.jsx)(`code`,{children:u?.path}),`. Existing proposals stay in the inbox; nothing on disk is changed or deleted.`]}),confirmLabel:`Remove from scope`,destructive:!0,busy:e.busy,error:e.error,onConfirm:()=>{let t=u;t&&e.request(async()=>{await oe({action:`unenroll`,path:t.path}),d(null)},`Removing a repository from autonomous scope requires the dispatch token.`)}})]})}var $={section:`_section_1vgpf_8`,header:`_header_1vgpf_10`,title:`_title_1vgpf_23`,headerActions:`_headerActions_1vgpf_31`,ghost:`_ghost_1vgpf_32`,scroll:`_scroll_1vgpf_45`,measure:`_measure_1vgpf_46`,banner:`_banner_1vgpf_48`,bannerTitle:`_bannerTitle_1vgpf_59`,failure:`_failure_1vgpf_61`,retry:`_retry_1vgpf_70`,loading:`_loading_1vgpf_82`},kt=n({FleetAdvanced:()=>At});function At({embedded:e=!1}){let t=l(L),n=l(se),r=l(_),i=l(ye),a=l(xe),u=l(Ce),d=l(Me),p=s(L),h=Ie();we(),Oe(d.data?.value?.armed??!1);let g=(r.data?.dispatchEnabled??!0)&&!h.readOnly,v=t.data,y=(0,U.useMemo)(()=>(r.data?.seats??[]).map(e=>({id:e.id,engine:e.engine,label:e.label})),[r.data]),b=(0,W.jsxs)(W.Fragment,{children:[g?null:(0,W.jsxs)(`div`,{className:$.banner,role:`status`,children:[(0,W.jsx)(`span`,{className:$.bannerTitle,children:`Read-only session`}),`This server was started without dispatch, so starting, stopping, editing caps, and changing scope are unavailable. Everything below is live and accurate — run `,(0,W.jsx)(`code`,{children:`ashlr verse`}),` to get the controls.`]}),t.status===`loading`?(0,W.jsxs)(`div`,{className:$.loading,children:[(0,W.jsx)(c,{width:`42%`}),(0,W.jsx)(c,{width:`68%`}),(0,W.jsx)(o,{}),(0,W.jsx)(o,{})]}):t.status===`error`||!v?(0,W.jsxs)(`div`,{className:$.failure,role:`alert`,children:[t.error?.message??`Could not read the autonomy control snapshot.`,(0,W.jsx)(`br`,{}),`Without it the cockpit cannot honestly say whether the loop is running, so nothing below is shown rather than guessed.`,(0,W.jsx)(`br`,{}),(0,W.jsx)(`button`,{type:`button`,className:$.retry,onClick:p,children:`Try again`})]}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(tt,{snapshot:v}),(0,W.jsx)(nt,{snapshot:v,guard:h,dispatchEnabled:g}),(0,W.jsx)(bt,{read:d.data??null,snapshot:v,guard:h,dispatchEnabled:g,loading:d.status===`loading`}),(0,W.jsx)(ht,{read:i.data??null,guard:h,dispatchEnabled:g,loading:i.status===`loading`,fleet:a.data??null}),(0,W.jsx)(ct,{read:u.data??null,seats:y,guard:h,dispatchEnabled:g,loading:u.status===`loading`}),(0,W.jsx)(at,{read:a.data??null,runtime:i.data?.value??null,loading:a.status===`loading`}),n.status===`loading`?(0,W.jsxs)(`div`,{className:G.panel,children:[(0,W.jsx)(o,{}),(0,W.jsx)(o,{})]}):n.data?(0,W.jsx)(Ye,{caps:n.data,snapshot:v,guard:h,dispatchEnabled:g}):(0,W.jsxs)(`section`,{className:G.panel,"aria-label":`Budget and limits`,children:[(0,W.jsx)(`div`,{className:G.panelHead,children:(0,W.jsx)(`h3`,{className:G.panelTitle,children:`Budget and limits`})}),(0,W.jsx)(`p`,{className:G.error,role:`alert`,children:n.error?.message??`Could not read the configured caps, so none are shown or editable.`})]}),(0,W.jsx)(Ot,{guard:h,dispatchEnabled:g}),(0,W.jsx)(ze,{snapshot:v}),(0,W.jsx)(Tt,{}),(0,W.jsx)(st,{})]})]}),x=(0,W.jsx)(f,{open:h.tokenOpen,onClose:h.closeToken,reason:h.tokenReason,tokenHelp:`the mutation token ashlr verse printed`});return e?(0,W.jsxs)(`div`,{className:$.loading,"data-embedded":`true`,children:[(0,W.jsxs)(`div`,{className:$.headerActions,children:[t.status===`refreshing`?(0,W.jsx)(m,{}):null,(0,W.jsx)(`button`,{type:`button`,className:$.ghost,onClick:p,children:`Refresh`})]}),b,x]}):(0,W.jsxs)(`section`,{className:$.section,"aria-label":`Autonomy`,children:[(0,W.jsxs)(`header`,{className:$.header,"data-app-region":`drag`,children:[(0,W.jsx)(`h2`,{className:$.title,children:`Autonomy`}),(0,W.jsxs)(`div`,{className:$.headerActions,children:[t.status===`refreshing`?(0,W.jsx)(m,{}):null,(0,W.jsx)(`button`,{type:`button`,className:$.ghost,onClick:p,children:`Refresh`})]})]}),(0,W.jsx)(`div`,{className:$.scroll,children:(0,W.jsx)(`div`,{className:$.measure,children:b})}),x]})}export{At as n,kt as t};
|
|
2
|
-
//# sourceMappingURL=Advanced-D_eS4472.js.map
|