@omnitron-dev/omnitron 0.3.5 → 0.4.6
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/README.md +296 -6
- package/bin/{pnpmfile-sdk.mjs → pnpmfile-sdk.js} +13 -0
- package/bin/sdk.d.ts +19 -0
- package/bin/sdk.js +932 -0
- package/dist/BUILD.json +2 -2
- package/dist/cli/omnitron.js +14 -6
- package/dist/cli/omnitron.js.map +1 -1
- package/dist/commands/stack.d.ts +2 -5
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +32 -0
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/daemon/daemon-client.d.ts +3 -15
- package/dist/daemon/daemon-client.d.ts.map +1 -1
- package/dist/daemon/daemon-client.js +4 -0
- package/dist/daemon/daemon-client.js.map +1 -1
- package/dist/daemon/daemon.d.ts +5 -11
- package/dist/daemon/daemon.d.ts.map +1 -1
- package/dist/daemon/daemon.js +28 -42
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/daemon.rpc-service.d.ts +3 -15
- package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
- package/dist/daemon/daemon.rpc-service.js +27 -3
- package/dist/daemon/daemon.rpc-service.js.map +1 -1
- package/dist/daemon/darwin-owner-evidence.js +1 -1
- package/dist/daemon/darwin-owner-evidence.js.map +1 -1
- package/dist/daemon/execution-capabilities.d.ts +1 -1
- package/dist/daemon/execution-capabilities.d.ts.map +1 -1
- package/dist/daemon/execution-capabilities.js +3 -3
- package/dist/daemon/execution-capabilities.js.map +1 -1
- package/dist/daemon/execution-client.d.ts +4 -0
- package/dist/daemon/execution-client.d.ts.map +1 -1
- package/dist/daemon/execution-client.js +28 -6
- package/dist/daemon/execution-client.js.map +1 -1
- package/dist/daemon/execution-host.d.ts +4 -11
- package/dist/daemon/execution-host.d.ts.map +1 -1
- package/dist/daemon/execution-host.js +3 -9
- package/dist/daemon/execution-host.js.map +1 -1
- package/dist/daemon/execution-owner.d.ts.map +1 -1
- package/dist/daemon/execution-owner.js +2 -16
- package/dist/daemon/execution-owner.js.map +1 -1
- package/dist/daemon/execution-shutdown.d.ts +1 -1
- package/dist/daemon/execution-shutdown.d.ts.map +1 -1
- package/dist/daemon/managed-owner-build.d.ts +4 -0
- package/dist/daemon/managed-owner-build.d.ts.map +1 -1
- package/dist/daemon/managed-owner-build.js +14 -2
- package/dist/daemon/managed-owner-build.js.map +1 -1
- package/dist/daemon/managed-runtime.js +1 -1
- package/dist/daemon/managed-runtime.js.map +1 -1
- package/dist/daemon/owner-reconciliation.d.ts.map +1 -1
- package/dist/daemon/owner-reconciliation.js +1 -2
- package/dist/daemon/owner-reconciliation.js.map +1 -1
- package/dist/daemon/system-guardian-cgroup.js +1 -1
- package/dist/daemon/system-guardian-cgroup.js.map +1 -1
- package/dist/infrastructure/existing-containers.d.ts +25 -0
- package/dist/infrastructure/existing-containers.d.ts.map +1 -0
- package/dist/infrastructure/existing-containers.js +183 -0
- package/dist/infrastructure/existing-containers.js.map +1 -0
- package/dist/infrastructure/infrastructure.service.d.ts +14 -1
- package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
- package/dist/infrastructure/infrastructure.service.js +118 -9
- package/dist/infrastructure/infrastructure.service.js.map +1 -1
- package/dist/infrastructure/stack-infra-manager.d.ts +8 -2
- package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
- package/dist/infrastructure/stack-infra-manager.js +46 -9
- package/dist/infrastructure/stack-infra-manager.js.map +1 -1
- package/dist/monitoring/log-journal.d.ts.map +1 -1
- package/dist/monitoring/log-journal.js +1 -2
- package/dist/monitoring/log-journal.js.map +1 -1
- package/dist/operations.d.ts +1 -0
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +1 -0
- package/dist/operations.js.map +1 -1
- package/dist/orchestrator/bootstrap-loader.d.ts +2 -0
- package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
- package/dist/orchestrator/bootstrap-loader.js +2 -1
- package/dist/orchestrator/bootstrap-loader.js.map +1 -1
- package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
- package/dist/orchestrator/classic-launcher.js +2 -1
- package/dist/orchestrator/classic-launcher.js.map +1 -1
- package/dist/orchestrator/execution-contract.d.ts +2 -3
- package/dist/orchestrator/execution-contract.d.ts.map +1 -1
- package/dist/orchestrator/file-watcher.d.ts +11 -23
- package/dist/orchestrator/file-watcher.d.ts.map +1 -1
- package/dist/orchestrator/file-watcher.js +57 -42
- package/dist/orchestrator/file-watcher.js.map +1 -1
- package/dist/orchestrator/orchestrator.service.d.ts +10 -5
- package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.service.js +117 -20
- package/dist/orchestrator/orchestrator.service.js.map +1 -1
- package/dist/project/bootstrap-metadata.d.ts +1 -1
- package/dist/project/bootstrap-metadata.d.ts.map +1 -1
- package/dist/project/bootstrap-metadata.js +3 -2
- package/dist/project/bootstrap-metadata.js.map +1 -1
- package/dist/project/node-stack-stop.d.ts +2 -1
- package/dist/project/node-stack-stop.d.ts.map +1 -1
- package/dist/project/node-stack-stop.js +5 -1
- package/dist/project/node-stack-stop.js.map +1 -1
- package/dist/release/closure-library-path.d.ts +8 -2
- package/dist/release/closure-library-path.d.ts.map +1 -1
- package/dist/release/closure-library-path.js +72 -28
- package/dist/release/closure-library-path.js.map +1 -1
- package/dist/release/local-installation.d.ts +2 -0
- package/dist/release/local-installation.d.ts.map +1 -1
- package/dist/release/local-installation.js +1 -1
- package/dist/release/local-installation.js.map +1 -1
- package/dist/release/portable-archive.d.ts +3 -0
- package/dist/release/portable-archive.d.ts.map +1 -1
- package/dist/release/portable-archive.js +13 -7
- package/dist/release/portable-archive.js.map +1 -1
- package/dist/release/registry-framework.d.ts +25 -0
- package/dist/release/registry-framework.d.ts.map +1 -1
- package/dist/release/registry-framework.js +51 -3
- package/dist/release/registry-framework.js.map +1 -1
- package/dist/release/target-runtime.d.ts +4 -0
- package/dist/release/target-runtime.d.ts.map +1 -1
- package/dist/release/target-runtime.js +9 -0
- package/dist/release/target-runtime.js.map +1 -1
- package/dist/services/host-upgrade.d.ts +2 -0
- package/dist/services/host-upgrade.d.ts.map +1 -1
- package/dist/services/host-upgrade.js +6 -2
- package/dist/services/host-upgrade.js.map +1 -1
- package/dist/services/infrastructure.rpc-service.d.ts +8 -0
- package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
- package/dist/services/infrastructure.rpc-service.js +90 -10
- package/dist/services/infrastructure.rpc-service.js.map +1 -1
- package/dist/services/kernel-rollout.service.d.ts.map +1 -1
- package/dist/services/kernel-rollout.service.js +1 -2
- package/dist/services/kernel-rollout.service.js.map +1 -1
- package/dist/services/migration-process.d.ts +1 -0
- package/dist/services/migration-process.d.ts.map +1 -1
- package/dist/services/migration-process.js +4 -2
- package/dist/services/migration-process.js.map +1 -1
- package/dist/services/pipeline-definition.d.ts.map +1 -1
- package/dist/services/pipeline-definition.js +32 -6
- package/dist/services/pipeline-definition.js.map +1 -1
- package/dist/services/pipeline.service.d.ts +7 -1
- package/dist/services/pipeline.service.d.ts.map +1 -1
- package/dist/services/pipeline.service.js +106 -13
- package/dist/services/pipeline.service.js.map +1 -1
- package/dist/services/project.rpc-service.d.ts +6 -5
- package/dist/services/project.rpc-service.d.ts.map +1 -1
- package/dist/services/project.rpc-service.js +13 -0
- package/dist/services/project.rpc-service.js.map +1 -1
- package/dist/services/project.service.d.ts +24 -6
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +327 -59
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/remote-deployer.service.d.ts.map +1 -1
- package/dist/services/remote-deployer.service.js +3 -0
- package/dist/services/remote-deployer.service.js.map +1 -1
- package/dist/shared/dto/backend.d.ts +3 -0
- package/dist/shared/dto/backend.d.ts.map +1 -1
- package/dist/shared/dto/backend.js.map +1 -1
- package/dist/shared/dto/pipelines.d.ts +54 -5
- package/dist/shared/dto/pipelines.d.ts.map +1 -1
- package/dist/shared/dto/pipelines.js +0 -7
- package/dist/shared/dto/pipelines.js.map +1 -1
- package/dist/shared/dto/project.d.ts +60 -0
- package/dist/shared/dto/project.d.ts.map +1 -1
- package/dist/shared/dto/services.d.ts +26 -17
- package/dist/shared/dto/services.d.ts.map +1 -1
- package/dist/shared/dto/services.js.map +1 -1
- package/dist/workers/system-worker-manager.d.ts +1 -2
- package/dist/workers/system-worker-manager.d.ts.map +1 -1
- package/dist/workers/system-worker-manager.js +5 -3
- package/dist/workers/system-worker-manager.js.map +1 -1
- package/package.json +17 -16
- package/webapp/dist/BUILD.json +2 -2
- package/webapp/dist/assets/{access-DUjabwNX.js → access-B2gXuoMG.js} +1 -1
- package/webapp/dist/assets/{access-BvKK9dEv.js → access-I0f72P9m.js} +1 -1
- package/webapp/dist/assets/{admin-data-table-BKSDI8sU.js → admin-data-table-CAEL2f-m.js} +1 -1
- package/webapp/dist/assets/{alert-uBG6r9NW.js → alert-BdJ2uaY0.js} +1 -1
- package/webapp/dist/assets/{alerts-CzN6OqX5.js → alerts-DeVkMXWo.js} +1 -1
- package/webapp/dist/assets/{apps-G_Lm6m4F.js → apps-9SuDvyGQ.js} +1 -1
- package/webapp/dist/assets/{audit-CLMpdBzG.js → audit-DT8cY7Ys.js} +1 -1
- package/webapp/dist/assets/backend-status.store-BbBE9cn8.js +4 -0
- package/webapp/dist/assets/{card-DkH32gMY.js → card-DaUEmUI5.js} +1 -1
- package/webapp/dist/assets/{chart-BpGXlCJc.js → chart-BKXP2ter.js} +1 -1
- package/webapp/dist/assets/{client-DFnuv2z3.js → client-CgyTwq9g.js} +1 -1
- package/webapp/dist/assets/{code-editor-DK6Tmmxv.js → code-editor-JVuQ4m-z.js} +1 -1
- package/webapp/dist/assets/{comparison-bars-BtC0dHjF.js → comparison-bars-Ds5Dt1oj.js} +1 -1
- package/webapp/dist/assets/{confirm-dialog-BbGsAz7_.js → confirm-dialog-BayExVbF.js} +1 -1
- package/webapp/dist/assets/{console-keyboard-D3YCA0yU.js → console-keyboard-uSLt92dB.js} +1 -1
- package/webapp/dist/assets/{containers-BsFwprq4.js → containers-DkXTgcrY.js} +1 -1
- package/webapp/dist/assets/{controls-C5W8gHU4.js → controls-CqeGPnaF.js} +1 -1
- package/webapp/dist/assets/{dashboard-BN7rKE5n.js → dashboard-By5yPuOf.js} +1 -1
- package/webapp/dist/assets/{dashboard-builder-BXFxWjXP.js → dashboard-builder-C0hvBwkd.js} +1 -1
- package/webapp/dist/assets/{deploy-progress-CUUwlYtQ.js → deploy-progress-B39cvvCE.js} +1 -1
- package/webapp/dist/assets/{deploy-release-dialog-58lGZDNk.js → deploy-release-dialog-CnzaO_xL.js} +1 -1
- package/webapp/dist/assets/{deployments-DEzjHerg.js → deployments-BXP943hA.js} +1 -1
- package/webapp/dist/assets/{detail-pXPk4O0E.js → detail-B84RgiOb.js} +1 -1
- package/webapp/dist/assets/{detail-Dj3gxaH0.js → detail-CVXDks9-.js} +1 -1
- package/webapp/dist/assets/{detail-CBn9pjJU.js → detail-D9DixtaK.js} +1 -1
- package/webapp/dist/assets/{empty-content-7jOFhG4C.js → empty-content-eyDOuOVp.js} +1 -1
- package/webapp/dist/assets/{error-boundary-CLLI8PWw.js → error-boundary-CQmDr_HS.js} +1 -1
- package/webapp/dist/assets/{event-fields-CiyqrRO8.js → event-fields-C7p2a2HY.js} +1 -1
- package/webapp/dist/assets/{files-DigwXndm.js → files-BsfGT3t6.js} +2 -2
- package/webapp/dist/assets/{icons-OboZgWSt.js → icons-B9Ct8PJ9.js} +1 -1
- package/webapp/dist/assets/index-BEfv96EF.js +1 -0
- package/webapp/dist/assets/{label-B1SF0RTL.js → label-avMhe08g.js} +1 -1
- package/webapp/dist/assets/{log-level-filter-Bcn31D1F.js → log-level-filter-oaUGdbpk.js} +1 -1
- package/webapp/dist/assets/{logs-DrsBbLfb.js → logs-iC1OEDv3.js} +1 -1
- package/webapp/dist/assets/{metric-chart-M-kI-XOt.js → metric-chart-CSa_qv4F.js} +1 -1
- package/webapp/dist/assets/{metrics-D5cDZTEo.js → metrics-CKCmcGKw.js} +1 -1
- package/webapp/dist/assets/{mui-Cd711nOk.js → mui-B3fJdIMc.js} +1 -1
- package/webapp/dist/assets/{mui-CdB_p2lt.js → mui-Bdr6Ks5j.js} +1 -1
- package/webapp/dist/assets/{mui-Db5J-QUd.js → mui-CADnFGCx.js} +1 -1
- package/webapp/dist/assets/{mui-AnEgAVjz.js → mui-CMWGTMXv.js} +1 -1
- package/webapp/dist/assets/{mui-DyT2n1lx.js → mui-CN3dT7bb.js} +1 -1
- package/webapp/dist/assets/{mui-BwsIrivo.js → mui-CPEkFAPo.js} +1 -1
- package/webapp/dist/assets/{mui-dLCwWoMw.js → mui-D3qAWvfZ.js} +1 -1
- package/webapp/dist/assets/{mui-D5m7fDCh.js → mui-D7tBU80e.js} +1 -1
- package/webapp/dist/assets/{mui-59N0OVRa.js → mui-DaJavAoc.js} +1 -1
- package/webapp/dist/assets/{mui-BXSXx9c9.js → mui-SNRRJ_vi.js} +1 -1
- package/webapp/dist/assets/{nodes-CwwZZuu4.js → nodes-DtLyXH0V.js} +1 -1
- package/webapp/dist/assets/{operation-status-Bm1x1wTz.js → operation-status-DHyYOT7G.js} +1 -1
- package/webapp/dist/assets/{page-breadcrumbs-fR7Jmpp4.js → page-breadcrumbs-3R8RZ3nA.js} +1 -1
- package/webapp/dist/assets/pipelines-Do2NAAqK.js +3 -0
- package/webapp/dist/assets/{project.store-DuCgv6Eq.js → project.store-D5IR3fo9.js} +1 -1
- package/webapp/dist/assets/{projects-TBAdpCeX.js → projects-BqlGbzeG.js} +1 -1
- package/webapp/dist/assets/{realtime.store-hfxZD2DU.js → realtime.store-C8D235-B.js} +1 -1
- package/webapp/dist/assets/{release-bits-BJ6i23y0.js → release-bits-IehuBssK.js} +1 -1
- package/webapp/dist/assets/{release-build-panel-BNXkwNE1.js → release-build-panel-C48hP_9w.js} +1 -1
- package/webapp/dist/assets/{release-deployment-state-gN8ZT3aq.js → release-deployment-state-BfmxZP4Y.js} +1 -1
- package/webapp/dist/assets/{releases-CXXKUh-v.js → releases-Cm0RV5Xu.js} +1 -1
- package/webapp/dist/assets/{search-input-C0MHI8vO.js → search-input-SWD1dXxD.js} +1 -1
- package/webapp/dist/assets/settings-DwuEPQGg.js +1 -0
- package/webapp/dist/assets/sign-in-CQ-WeS5A.js +1 -0
- package/webapp/dist/assets/{skeleton-BmWDJWF9.js → skeleton-BnVxAoeX.js} +1 -1
- package/webapp/dist/assets/{snackbar-DSPmjMyi.js → snackbar-CRX6eqRT.js} +1 -1
- package/webapp/dist/assets/{stack-health-status-BIv2C10x.js → stack-health-status-DfErRNb1.js} +1 -1
- package/webapp/dist/assets/{stack-start-notice-D-AH_bzn.js → stack-start-notice-NkYDjR-f.js} +1 -1
- package/webapp/dist/assets/{stacks-WY_ynkON.js → stacks-BOGCfW90.js} +1 -1
- package/webapp/dist/assets/{store-bqUBn2A4.js → store-DtTtbc9H.js} +1 -1
- package/webapp/dist/assets/{system-info-DXMwo6gl.js → system-info-Cw-xywgI.js} +1 -1
- package/webapp/dist/assets/{table-BOWT6Y9d.js → table-D-so_B1p.js} +1 -1
- package/webapp/dist/assets/{table-viewport-Bp4pq-c_.js → table-viewport-DdZ1yAKm.js} +1 -1
- package/webapp/dist/assets/{tabs-k5NPGLnJ.js → tabs-DGqBkXh_.js} +1 -1
- package/webapp/dist/assets/{terminal-QWBau-Us.js → terminal-Bbl0XNeB.js} +1 -1
- package/webapp/dist/assets/{topology-C_Qp1RqW.js → topology-DmrRy7nN.js} +1 -1
- package/webapp/dist/assets/{topology-metadata-dialog-BivuU2y6.js → topology-metadata-dialog-Dpfp4YF1.js} +1 -1
- package/webapp/dist/assets/{traces-By0rdfDC.js → traces-CKHsOabJ.js} +1 -1
- package/webapp/dist/assets/{use-stack-context-8yaHaN8L.js → use-stack-context-BuraYaeY.js} +1 -1
- package/webapp/dist/assets/webapp-D8h_eabt.js +35 -0
- package/webapp/dist/console-version.json +1 -1
- package/webapp/dist/index.html +34 -34
- package/webapp/dist/logo.svg +1 -80
- package/bin/sdk.d.mts +0 -8
- package/bin/sdk.mjs +0 -580
- package/dist/monitoring/process-lifetime.d.ts +0 -11
- package/dist/monitoring/process-lifetime.d.ts.map +0 -1
- package/dist/monitoring/process-lifetime.js +0 -45
- package/dist/monitoring/process-lifetime.js.map +0 -1
- package/dist/shared/host-boot-identity.d.ts +0 -12
- package/dist/shared/host-boot-identity.d.ts.map +0 -1
- package/dist/shared/host-boot-identity.js +0 -89
- package/dist/shared/host-boot-identity.js.map +0 -1
- package/webapp/dist/assets/index-Bo9An3pJ.js +0 -1
- package/webapp/dist/assets/omnitron-logo-koMCbsCv.js +0 -1
- package/webapp/dist/assets/pipelines-BrfTjf6Y.js +0 -3
- package/webapp/dist/assets/settings-B3egRvbI.js +0 -1
- package/webapp/dist/assets/sign-in-9q-Nfy83.js +0 -1
- package/webapp/dist/assets/webapp-BO_WoB_z.js +0 -35
- package/webapp/dist/favicon.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{P as r,V as i,c as a,h as o,x as s,y as c,z as l}from"./client-DFnuv2z3.js";import{Vt as u,Yt as d}from"./mui-BTN91yBK.js";import{A as f,C as p,D as m,F as h,H as g,I as _,M as v,O as y,Q as b,V as x,Z as S,c as C,ct as w,d as ee,f as T,g as E,h as te,j as D,k as O,l as ne,m as k,p as re,s as ie,st as A,u as j,w as M}from"./mui-BXSXx9c9.js";import{B as N,a as ae,o as P,z as F}from"./mui-Cd711nOk.js";import{B as I,U as oe,W as L,it as R,rt as z,z as B}from"./mui-AnEgAVjz.js";import{_ as V,a as se,c as ce,g as le,h as ue,l as de,o as fe,s as pe,u as me,v as he}from"./mui-BwsIrivo.js";import{n as ge,r as _e,t as H}from"./alert-uBG6r9NW.js";import{n as U,s as ve}from"./access-BvKK9dEv.js";import{r as ye,t as be}from"./use-polled-resource-B22hhr5L.js";import{i as W,n as xe,r as Se,t as Ce}from"./project.store-DuCgv6Eq.js";import{A as we,B as Te,G as Ee,M as De,k as Oe,m as ke,p as Ae,z as je}from"./icons-OboZgWSt.js";import{n as Me,t as Ne}from"./page-breadcrumbs-fR7Jmpp4.js";import{n as Pe,t as Fe}from"./skeleton-BmWDJWF9.js";import{s as Ie}from"./formatters-RnRy4bXm.js";import{n as Le,r as Re}from"./stack-health-status-BIv2C10x.js";import{n as ze,t as Be}from"./empty-content-7jOFhG4C.js";import{a as Ve,n as He,r as Ue}from"./sync-reading-CN0jPKAg.js";import{n as We,t as Ge}from"./deploy-release-dialog-58lGZDNk.js";import{a as Ke,i as qe,l as Je,n as Ye,o as Xe,r as Ze,s as Qe,t as $e,u as et}from"./stack-start-notice-D-AH_bzn.js";function tt({steps:e,activeStep:t=0,onStepChange:n,orientation:r=`horizontal`,nonLinear:i=!1,alternativeLabel:a=!1,showContent:o=!1,...s}){let c=e=>{i&&n&&n(e)};return(0,K.jsx)(se,{activeStep:t,orientation:r,nonLinear:i,alternativeLabel:a,...s,children:e.map((e,n)=>(0,K.jsxs)(ue,{completed:e.completed??n<t,children:[(0,K.jsx)(de,{optional:e.optional?(0,K.jsx)(`span`,{style:{fontSize:`0.75rem`,color:`text.secondary`},children:`Optional`}):e.description?(0,K.jsx)(`span`,{style:{fontSize:`0.75rem`,color:`text.secondary`},children:e.description}):void 0,error:e.error,icon:e.icon,sx:{cursor:i?`pointer`:`default`},onClick:()=>c(n),children:e.label}),r===`vertical`&&o&&e.content&&(0,K.jsx)(pe,{children:e.content})]},n))})}function nt({initialStep:e=0,totalSteps:t,onStepChange:n,onComplete:r}){let[i,a]=(0,G.useState)(e),[o,s]=(0,G.useState)(!1),c=(0,G.useCallback)(e=>{e>=0&&e<t&&(a(e),n?.(e))},[t,n]);return{activeStep:i,nextStep:(0,G.useCallback)(()=>{i===t-1?(s(!0),r?.()):c(i+1)},[i,t,c,r]),prevStep:(0,G.useCallback)(()=>{c(i-1)},[i,c]),goToStep:c,reset:(0,G.useCallback)(()=>{a(0),s(!1),n?.(0)},[n]),isFirstStep:i===0,isLastStep:i===t-1,isCompleted:o}}var G,K;function rt(){return(rt=e((()=>{G=t(),fe(),le(),me(),ce(),K=n()})))()}function it({open:e,onClose:t,onCreated:n}){let r=W(e=>e.createStack),i=W(e=>e.activeProject),[o,l]=(0,J.useState)(null),[d,f]=(0,J.useState)([]),[g,_]=(0,J.useState)([]),[v,y]=(0,J.useState)(``),[b,C]=(0,J.useState)(!1),[w,T]=(0,J.useState)(null),[E,O]=(0,J.useState)([]),[ne,k]=(0,J.useState)(!1),[j,M]=(0,J.useState)([]),[N,P]=(0,J.useState)(!1),I=(0,J.useMemo)(()=>o===`local`?X.filter(e=>e.label!==`Nodes`):X,[o]),L=nt({totalSteps:I.length});(0,J.useEffect)(()=>{if(!e)return;let t=I.findIndex(e=>e.label===`Nodes`);L.activeStep===t&&t!==-1&&(k(!0),c.listNodes().then(e=>{let t=Array.isArray(e)?e:e?.nodes??[];O(t)}).catch(()=>O([])).finally(()=>k(!1)))},[e,L.activeStep,I]),(0,J.useEffect)(()=>{if(!e)return;let t=I.findIndex(e=>e.label===`Applications`);if(L.activeStep===t){P(!0);let e=W.getState().activeProject;e?s.scanRequirements({project:e}).then(e=>{let t=Object.keys(e?.apps??{}),n=t.map(e=>({name:e}));M(n),_(e=>e.length===0?t:e)}).catch(()=>{a.list().then(e=>{let t=Array.isArray(e)?e:[];M(t),_(e=>e.length===0?t.map(e=>e.name):e)}).catch(()=>M([]))}).finally(()=>P(!1)):P(!1)}},[e,L.activeStep,I]),(0,J.useEffect)(()=>{if(!e)return;let t=I.findIndex(e=>e.label===`Name`);L.activeStep===t&&!v&&y(`${o===`cluster`?`prod`:o===`remote`?`staging`:`dev`}-1`)},[e,L.activeStep,I,o,v]);let R=(0,J.useCallback)(()=>{l(null),f([]),_([]),y(``),T(null),C(!1),O([]),M([]),L.reset()},[L]),z=(0,J.useCallback)(()=>{b||(R(),t())},[b,R,t]),B=I[L.activeStep]?.label,se=(0,J.useMemo)(()=>{switch(B){case`Type`:return o!==null;case`Nodes`:return o===`remote`?d.length===1:o!==`cluster`||d.length>=2;case`Applications`:return g.length>0;case`Name`:return/^[a-z][a-z0-9-]*$/.test(v);default:return!1}},[B,o,d,g,v]),ce=(0,J.useCallback)(async()=>{if(i&&o){C(!0),T(null);try{await r(i,{name:v.trim(),type:o,apps:g.length===j.length?`all`:g,nodeIds:o===`local`?void 0:d}),R(),n()}catch(e){T(e?.message??`Failed to create stack.`)}finally{C(!1)}}},[i,o,v,g,j.length,d,r,R,n]),le=(0,J.useCallback)(()=>{L.isLastStep?ce():L.nextStep()},[L,ce]),ue=(0,J.useCallback)(e=>{f(o===`remote`?t=>t.includes(e)?[]:[e]:t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[o]),de=(0,J.useCallback)(e=>{_(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),fe=(0,J.useCallback)(()=>{g.length===j.length?_([]):_(j.map(e=>e.name))},[g.length,j]);return(0,Y.jsxs)(te,{open:e,onClose:z,maxWidth:`sm`,fullWidth:!0,children:[(0,Y.jsx)(ie,{sx:{fontWeight:700},children:`Create Stack`}),(0,Y.jsxs)(ee,{children:[(0,Y.jsx)(x,{sx:{mb:3,mt:1},children:(0,Y.jsx)(tt,{steps:I,activeStep:L.activeStep,alternativeLabel:!0})}),w&&(0,Y.jsx)(ge,{sx:{mb:2},onClose:()=>T(null),children:w}),B===`Type`&&(0,Y.jsx)(V,{spacing:1.5,children:at.map(e=>(0,Y.jsx)(D,{variant:`outlined`,onClick:()=>l(e.value),sx:{cursor:`pointer`,transition:`border-color 0.2s, background-color 0.2s`,borderColor:o===e.value?e=>e.palette.primary.main:void 0,bgcolor:o===e.value?e=>u(e.palette.primary.main,.06):void 0,"&:hover":{borderColor:e=>u(e.palette.primary.main,.4)}},children:(0,Y.jsxs)(m,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:[(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:700},children:e.title}),(0,Y.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`},children:e.description})]})},e.value))}),B===`Nodes`&&(0,Y.jsxs)(V,{spacing:1.5,children:[(0,Y.jsx)(F,{variant:`body2`,sx:{color:`text.secondary`,mb:.5},children:o===`remote`?`Select a target node for deployment.`:`Select at least 2 nodes for the cluster.`}),ne?(0,Y.jsx)(x,{sx:{display:`flex`,justifyContent:`center`,py:4},children:(0,Y.jsx)(A,{size:28})}):E.length===0?(0,Y.jsx)(H,{severity:`info`,variant:`outlined`,children:`No remote nodes configured. Add nodes in the Nodes section first.`}):E.map(e=>{let t=d.includes(e.id),n=e.status===`online`;return(0,Y.jsx)(D,{variant:`outlined`,onClick:()=>ue(e.id),sx:{cursor:`pointer`,transition:`border-color 0.2s, background-color 0.2s`,borderColor:t?e=>e.palette.primary.main:void 0,bgcolor:t?e=>u(e.palette.primary.main,.06):void 0,"&:hover":{borderColor:e=>u(e.palette.primary.main,.4)}},children:(0,Y.jsxs)(m,{sx:{py:1.5,"&:last-child":{pb:1.5},display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,Y.jsxs)(x,{children:[(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:600},children:e.name}),(0,Y.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`,fontFamily:`monospace`},children:e.host})]}),(0,Y.jsx)(S,{label:n?`Online`:`Offline`,color:n?`success`:`default`,size:`small`,sx:{height:20,fontSize:`0.65rem`}})]})},e.id)})]}),B===`Applications`&&(0,Y.jsx)(V,{spacing:1,children:N?(0,Y.jsx)(x,{sx:{display:`flex`,justifyContent:`center`,py:4},children:(0,Y.jsx)(A,{size:28})}):j.length===0?(0,Y.jsx)(H,{severity:`info`,variant:`outlined`,children:`No applications found in the project.`}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(oe,{control:(0,Y.jsx)(p,{checked:g.length===j.length,indeterminate:g.length>0&&g.length<j.length,onChange:fe,size:`small`}),label:(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:600},children:`Select All`}),sx:{mb:.5}}),j.map(e=>(0,Y.jsx)(oe,{control:(0,Y.jsx)(p,{checked:g.includes(e.name),onChange:()=>de(e.name),size:`small`}),label:(0,Y.jsx)(F,{variant:`body2`,sx:{fontFamily:`monospace`},children:e.name}),sx:{ml:1}},e.name))]})}),B===`Name`&&(0,Y.jsxs)(V,{spacing:2.5,children:[(0,Y.jsx)(ae,{label:`Stack Name`,value:v,onChange:e=>y(e.target.value.toLowerCase().replace(/[^a-z0-9-]/g,``)),placeholder:`e.g., dev-1, staging, prod`,fullWidth:!0,size:`small`,helperText:`Lowercase letters, numbers, and hyphens only.`,slotProps:{input:{sx:{fontFamily:`monospace`}}}}),(0,Y.jsxs)(x,{children:[(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:700,mb:1},children:`Review`}),(0,Y.jsxs)(V,{spacing:.5,children:[(0,Y.jsx)(q,{label:`Type`,value:o??``}),o!==`local`&&(0,Y.jsx)(q,{label:`Nodes`,value:d.length>0?E.filter(e=>d.includes(e.id)).map(e=>e.name).join(`, `):`None`}),(0,Y.jsx)(q,{label:`Applications`,value:g.length===j.length?`All (${j.length})`:`${g.length} of ${j.length}`})]})]})]})]}),(0,Y.jsxs)(re,{sx:{px:3,py:2},children:[(0,Y.jsx)(h,{onClick:z,disabled:b,children:`Cancel`}),(0,Y.jsx)(x,{sx:{flex:1}}),!L.isFirstStep&&(0,Y.jsx)(h,{onClick:L.prevStep,disabled:b,children:`Back`}),(0,Y.jsx)(h,{variant:`contained`,onClick:le,disabled:!se||b,startIcon:b?(0,Y.jsx)(A,{size:16}):void 0,children:L.isLastStep?`Create`:`Next`})]})]})}function q({label:e,value:t}){return(0,Y.jsxs)(x,{sx:{display:`flex`,justifyContent:`space-between`},children:[(0,Y.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`},children:e}),(0,Y.jsx)(F,{variant:`caption`,sx:{fontWeight:600,textTransform:`capitalize`},children:t})]})}var J,Y,at,X;function ot(){return(ot=e((()=>{J=t(),g(),_(),E(),C(),T(),k(),he(),v(),y(),N(),P(),M(),L(),w(),b(),d(),_e(),rt(),o(),Ce(),Y=n(),at=[{value:`local`,title:`Local`,description:`Run everything on this machine. Docker containers for infrastructure.`},{value:`remote`,title:`Remote`,description:`Deploy to a single remote server via SSH.`},{value:`cluster`,title:`Cluster`,description:`Distribute across multiple nodes.`}],X=[{label:`Type`},{label:`Nodes`},{label:`Applications`},{label:`Name`}]})))()}function st(){let e=xe(),t=Se(),n=W(e=>e.loading),a=W(e=>e.stackNotices),o=W(e=>e.clearStackNotice),s=W(t=>e&&t.stackReadErrors[e]),c=W(t=>!!(e&&t.stacksByProject[e])),l=W(e=>e.pendingOps),u=W(e=>e.fetchStacks),d=W(e=>e.resumeInstalledStack),f=W(e=>e.startStack),p=W(e=>e.stopStack),m=W(e=>e.deleteStack),g=i(),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(null),[w,T]=(0,Q.useState)(null),[E,D]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{e&&u(e)},[e,u]);let O=Object.keys(l).length>0;ye(()=>void(e&&u(e)),{intervalMs:O?3e3:1e4,enabled:!!e});let k=(0,Q.useCallback)(async t=>{e&&await f(e,t)},[e,f]),A=(0,Q.useCallback)(async()=>{if(e&&w){try{await m(e,w)}catch{}T(null)}},[e,w,m]);return e?(0,$.jsxs)(V,{spacing:3,sx:{flex:1},children:[(0,$.jsx)(Ne,{linkComponent:r,links:[{name:`Stacks`}],action:(0,$.jsxs)(x,{sx:{display:`flex`,gap:1,alignItems:`center`},children:[(0,$.jsx)(z,{"data-console-command":`refresh`,size:`small`,onClick:()=>u(e),title:`Refresh`,children:(0,$.jsx)(De,{})}),(0,$.jsx)(U,{permission:`OmnitronProject.createStack`,children:(0,$.jsx)(h,{variant:`contained`,size:`small`,startIcon:(0,$.jsx)(we,{}),onClick:()=>v(!0),children:`Create`})})]})}),(0,$.jsx)(U,{permission:`OmnitronProject.createStack`,children:(0,$.jsx)(it,{open:_,onClose:()=>v(!1),onCreated:()=>{v(!1),u(e)}})}),s&&(0,$.jsxs)(H,{severity:`warning`,children:[c?`Showing the last stack inventory`:`Stack inventory unavailable`,` · `,s]}),Object.entries(a).filter(([t])=>t.startsWith(`${e}/`)).map(([e,t])=>(0,$.jsxs)(H,{closable:!0,severity:`warning`,onClose:()=>o(e),children:[e,` · `,t]},e)),!c&&s?null:(!c||n)&&t.length===0?(0,$.jsx)(B,{container:!0,spacing:2,children:[1,2,3].map(e=>(0,$.jsx)(B,{size:{xs:12,sm:6,md:4},children:(0,$.jsx)(Fe,{variant:`rounded`,height:200})},e))}):t.length===0?(0,$.jsx)(x,{sx:{flex:1,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)(Be,{title:`No stacks`,description:`Create your first stack to deploy applications.`})}):(0,$.jsx)(B,{container:!0,spacing:2,children:t.map(t=>(0,$.jsx)(B,{size:{xs:12,sm:6,md:4},children:(0,$.jsx)(ct,{stack:t,pendingOp:e?l[`${e}/${t.name}`]??null:null,onDiagnose:()=>C(t.name),onResume:()=>void d(e,t.name),onStart:()=>k(t.name),onDeploy:()=>D(t.name),onStop:()=>b({project:e,stack:t.name}),onDelete:()=>T(t.name),onDetail:()=>g(`/stacks/${t.name}`)})},t.name))}),(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(Ge,{open:E!==null,onClose:()=>D(null),project:e??``,release:null,...E?{stack:E}:{}})}),y&&y.project===e&&(0,$.jsx)(Ke,{...y,onClose:()=>b(null),onConfirm:(e,t)=>{b(null),p(y.project,y.stack,e,t)}},`${y.project}/${y.stack}`),S&&e&&(0,$.jsx)(Ze,{project:e,stack:S,onClose:()=>C(null)},`${e}/${S}`),(0,$.jsxs)(te,{open:w!==null,onClose:()=>T(null),children:[(0,$.jsx)(ie,{children:`Delete Stack`}),(0,$.jsx)(ee,{children:(0,$.jsxs)(ne,{children:[`Are you sure you want to delete stack `,(0,$.jsx)(`strong`,{children:w}),`? This action cannot be undone.`]})}),(0,$.jsxs)(re,{children:[(0,$.jsx)(h,{onClick:()=>T(null),children:`Cancel`}),(0,$.jsx)(U,{permission:`OmnitronProject.deleteStack`,children:(0,$.jsx)(h,{onClick:A,color:`error`,variant:`contained`,children:`Delete`})})]})]})]}):(0,$.jsx)(V,{spacing:3,children:(0,$.jsx)(H,{severity:`info`,children:`No project selected. Register a project first.`})})}function ct({stack:e,pendingOp:t,onStart:n,onResume:r,onDiagnose:i,onStop:a,onDeploy:o,onDelete:s,onDetail:c}){let l=lt[e.status]??{color:`warning`,label:`Unknown`},d=e.config?.release?.mode===`required`,f=e.status===`running`,p=e.status===`stopped`,g=e.status===`starting`||e.status===`stopping`||!!t,_=!!t;return(0,$.jsxs)(D,{sx:{height:`100%`,display:`flex`,flexDirection:`column`,cursor:`pointer`,transition:`border-color 0.2s`,"&:hover":{borderColor:e=>u(e.palette.primary.main,.3)}},variant:`outlined`,onClick:c,children:[(0,$.jsxs)(m,{sx:{flex:1},children:[(0,$.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1.5},children:[(0,$.jsx)(F,{variant:`h6`,sx:{fontWeight:700,fontSize:`1.1rem`},children:e.name}),(0,$.jsx)(S,{label:l.label,color:l.color,size:`small`,sx:{height:22,fontSize:`0.7rem`}})]}),(0,$.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:1,mb:1.5},children:[(0,$.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`},children:ut[e.type]??e.type}),d&&(0,$.jsx)(S,{label:`releases only`,size:`small`,color:`info`,variant:`outlined`,sx:{height:18,fontSize:`0.6rem`}})]}),(0,$.jsxs)(x,{sx:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:1},children:[(0,$.jsx)(Z,{label:`Apps`,value:`${e.apps.filter(e=>e.status===`online`).length}/${e.apps.length}`}),(0,$.jsx)(Z,{label:`Nodes`,value:String(e.nodes.length)}),f&&e.uptime>0&&(0,$.jsx)(Z,{label:`Uptime`,value:Ie(e.uptime)}),e.type!==`local`&&(0,$.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:.5},children:[(0,$.jsx)(Te,{sx:{fontSize:14,color:`text.secondary`}}),(0,$.jsxs)(F,{variant:`caption`,sx:{color:`text.secondary`},children:[e.nodes.filter(e=>e.syncStatus&&He(Ve(e.syncStatus))).length,`/`,e.nodes.length,` in sync`]})]})]}),(0,$.jsx)($e,{stack:e,compact:!0}),(0,$.jsx)(Le,{stack:e,compact:!0}),e.portRange&&(0,$.jsxs)(F,{variant:`caption`,sx:{color:`text.disabled`,mt:1,display:`block`,fontFamily:`monospace`},children:[`Ports: `,e.portRange.start,`–`,e.portRange.end]})]}),(0,$.jsxs)(O,{sx:{px:2,pb:1.5,justifyContent:`space-between`,flexWrap:`wrap`,gap:1},onClick:e=>e.stopPropagation(),children:[p&&!_&&(0,$.jsx)(U,{permission:`OmnitronProject.deleteStack`,children:(0,$.jsx)(z,{size:`small`,color:`error`,onClick:s,title:`Delete stack`,"aria-label":`Delete stack ${e.name}`,sx:{marginInlineEnd:1},children:(0,$.jsx)(Ae,{})})}),(0,$.jsxs)(x,{sx:{marginInlineStart:`auto`,display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:1},children:[(0,$.jsx)(U,{permission:`OmnitronProject.diagnoseStack`,children:(0,$.jsx)(h,{size:`small`,onClick:i,children:`Diagnose`})}),g?(0,$.jsx)(h,{size:`small`,disabled:!0,startIcon:(0,$.jsx)(A,{size:14}),children:t===`resuming`?`Resuming installed apps…`:t===`starting`||e.status===`starting`?`Starting…`:`Stopping…`}):Je(e)?(0,$.jsx)(Qe,{stack:e,onResume:r,onReviewStop:a}):p?d&&!e.selectedRelease?(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(ke,{}),color:`success`,onClick:o,children:`Deploy release…`})}):(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(Oe,{}),color:`success`,onClick:n,children:`Start`})}):f?(0,$.jsxs)($.Fragment,{children:[e.type!==`local`&&(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(ke,{}),onClick:o,children:`Deploy…`})}),(0,$.jsx)(U,{permission:`OmnitronProject.reviewStackStop`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(je,{}),color:`error`,onClick:a,children:`Review stop…`})})]}):(0,$.jsx)(S,{label:l.label,size:`small`,color:l.color,sx:{height:20,fontSize:`0.65rem`}})]})]})]})}function Z({label:e,value:t}){return(0,$.jsxs)(x,{children:[(0,$.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`,fontSize:`0.6rem`,textTransform:`uppercase`},children:e}),(0,$.jsx)(F,{variant:`body2`,sx:{fontWeight:600,fontFamily:`monospace`,fontSize:`0.85rem`},children:t})]})}var Q,$,lt,ut;function dt(){return(dt=e((()=>{Re(),et(),Xe(),qe(),Ye(),ve(),Q=t(),g(),he(),I(),v(),y(),f(),N(),b(),_(),R(),w(),E(),C(),T(),j(),k(),d(),_e(),Me(),ze(),Pe(),l(),Ee(),We(),ot(),Ce(),Ue(),be(),$=n(),lt={running:{color:`success`,label:`Running`},starting:{color:`warning`,label:`Starting`},stopping:{color:`warning`,label:`Stopping`},degraded:{color:`warning`,label:`Degraded`},error:{color:`error`,label:`Error`},stopped:{color:`default`,label:`Stopped`}},ut={local:`Local`,remote:`Remote (SSH)`,cluster:`Cluster`}})))()}dt();export{st as default};
|
|
1
|
+
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{P as r,V as i,c as a,h as o,x as s,y as c,z as l}from"./client-CgyTwq9g.js";import{Vt as u,Yt as d}from"./mui-BTN91yBK.js";import{A as f,C as p,D as m,F as h,H as g,I as _,M as v,O as y,Q as b,V as x,Z as S,c as C,ct as w,d as ee,f as T,g as E,h as te,j as D,k as O,l as ne,m as k,p as re,s as ie,st as A,u as j,w as M}from"./mui-SNRRJ_vi.js";import{B as N,a as ae,o as P,z as F}from"./mui-B3fJdIMc.js";import{B as I,U as oe,W as L,it as R,rt as z,z as B}from"./mui-CMWGTMXv.js";import{_ as V,a as se,c as ce,g as le,h as ue,l as de,o as fe,s as pe,u as me,v as he}from"./mui-CPEkFAPo.js";import{n as ge,r as _e,t as H}from"./alert-BdJ2uaY0.js";import{n as U,s as ve}from"./access-I0f72P9m.js";import{r as ye,t as be}from"./use-polled-resource-B22hhr5L.js";import{i as W,n as xe,r as Se,t as Ce}from"./project.store-D5IR3fo9.js";import{A as we,B as Te,G as Ee,M as De,k as Oe,m as ke,p as Ae,z as je}from"./icons-B9Ct8PJ9.js";import{n as Me,t as Ne}from"./page-breadcrumbs-3R8RZ3nA.js";import{n as Pe,t as Fe}from"./skeleton-BnVxAoeX.js";import{s as Ie}from"./formatters-RnRy4bXm.js";import{n as Le,r as Re}from"./stack-health-status-DfErRNb1.js";import{n as ze,t as Be}from"./empty-content-eyDOuOVp.js";import{a as Ve,n as He,r as Ue}from"./sync-reading-CN0jPKAg.js";import{n as We,t as Ge}from"./deploy-release-dialog-CnzaO_xL.js";import{a as Ke,i as qe,l as Je,n as Ye,o as Xe,r as Ze,s as Qe,t as $e,u as et}from"./stack-start-notice-NkYDjR-f.js";function tt({steps:e,activeStep:t=0,onStepChange:n,orientation:r=`horizontal`,nonLinear:i=!1,alternativeLabel:a=!1,showContent:o=!1,...s}){let c=e=>{i&&n&&n(e)};return(0,K.jsx)(se,{activeStep:t,orientation:r,nonLinear:i,alternativeLabel:a,...s,children:e.map((e,n)=>(0,K.jsxs)(ue,{completed:e.completed??n<t,children:[(0,K.jsx)(de,{optional:e.optional?(0,K.jsx)(`span`,{style:{fontSize:`0.75rem`,color:`text.secondary`},children:`Optional`}):e.description?(0,K.jsx)(`span`,{style:{fontSize:`0.75rem`,color:`text.secondary`},children:e.description}):void 0,error:e.error,icon:e.icon,sx:{cursor:i?`pointer`:`default`},onClick:()=>c(n),children:e.label}),r===`vertical`&&o&&e.content&&(0,K.jsx)(pe,{children:e.content})]},n))})}function nt({initialStep:e=0,totalSteps:t,onStepChange:n,onComplete:r}){let[i,a]=(0,G.useState)(e),[o,s]=(0,G.useState)(!1),c=(0,G.useCallback)(e=>{e>=0&&e<t&&(a(e),n?.(e))},[t,n]);return{activeStep:i,nextStep:(0,G.useCallback)(()=>{i===t-1?(s(!0),r?.()):c(i+1)},[i,t,c,r]),prevStep:(0,G.useCallback)(()=>{c(i-1)},[i,c]),goToStep:c,reset:(0,G.useCallback)(()=>{a(0),s(!1),n?.(0)},[n]),isFirstStep:i===0,isLastStep:i===t-1,isCompleted:o}}var G,K;function rt(){return(rt=e((()=>{G=t(),fe(),le(),me(),ce(),K=n()})))()}function it({open:e,onClose:t,onCreated:n}){let r=W(e=>e.createStack),i=W(e=>e.activeProject),[o,l]=(0,J.useState)(null),[d,f]=(0,J.useState)([]),[g,_]=(0,J.useState)([]),[v,y]=(0,J.useState)(``),[b,C]=(0,J.useState)(!1),[w,T]=(0,J.useState)(null),[E,O]=(0,J.useState)([]),[ne,k]=(0,J.useState)(!1),[j,M]=(0,J.useState)([]),[N,P]=(0,J.useState)(!1),I=(0,J.useMemo)(()=>o===`local`?X.filter(e=>e.label!==`Nodes`):X,[o]),L=nt({totalSteps:I.length});(0,J.useEffect)(()=>{if(!e)return;let t=I.findIndex(e=>e.label===`Nodes`);L.activeStep===t&&t!==-1&&(k(!0),c.listNodes().then(e=>{let t=Array.isArray(e)?e:e?.nodes??[];O(t)}).catch(()=>O([])).finally(()=>k(!1)))},[e,L.activeStep,I]),(0,J.useEffect)(()=>{if(!e)return;let t=I.findIndex(e=>e.label===`Applications`);if(L.activeStep===t){P(!0);let e=W.getState().activeProject;e?s.scanRequirements({project:e}).then(e=>{let t=Object.keys(e?.apps??{}),n=t.map(e=>({name:e}));M(n),_(e=>e.length===0?t:e)}).catch(()=>{a.list().then(e=>{let t=Array.isArray(e)?e:[];M(t),_(e=>e.length===0?t.map(e=>e.name):e)}).catch(()=>M([]))}).finally(()=>P(!1)):P(!1)}},[e,L.activeStep,I]),(0,J.useEffect)(()=>{if(!e)return;let t=I.findIndex(e=>e.label===`Name`);L.activeStep===t&&!v&&y(`${o===`cluster`?`prod`:o===`remote`?`staging`:`dev`}-1`)},[e,L.activeStep,I,o,v]);let R=(0,J.useCallback)(()=>{l(null),f([]),_([]),y(``),T(null),C(!1),O([]),M([]),L.reset()},[L]),z=(0,J.useCallback)(()=>{b||(R(),t())},[b,R,t]),B=I[L.activeStep]?.label,se=(0,J.useMemo)(()=>{switch(B){case`Type`:return o!==null;case`Nodes`:return o===`remote`?d.length===1:o!==`cluster`||d.length>=2;case`Applications`:return g.length>0;case`Name`:return/^[a-z][a-z0-9-]*$/.test(v);default:return!1}},[B,o,d,g,v]),ce=(0,J.useCallback)(async()=>{if(i&&o){C(!0),T(null);try{await r(i,{name:v.trim(),type:o,apps:g.length===j.length?`all`:g,nodeIds:o===`local`?void 0:d}),R(),n()}catch(e){T(e?.message??`Failed to create stack.`)}finally{C(!1)}}},[i,o,v,g,j.length,d,r,R,n]),le=(0,J.useCallback)(()=>{L.isLastStep?ce():L.nextStep()},[L,ce]),ue=(0,J.useCallback)(e=>{f(o===`remote`?t=>t.includes(e)?[]:[e]:t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[o]),de=(0,J.useCallback)(e=>{_(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),fe=(0,J.useCallback)(()=>{g.length===j.length?_([]):_(j.map(e=>e.name))},[g.length,j]);return(0,Y.jsxs)(te,{open:e,onClose:z,maxWidth:`sm`,fullWidth:!0,children:[(0,Y.jsx)(ie,{sx:{fontWeight:700},children:`Create Stack`}),(0,Y.jsxs)(ee,{children:[(0,Y.jsx)(x,{sx:{mb:3,mt:1},children:(0,Y.jsx)(tt,{steps:I,activeStep:L.activeStep,alternativeLabel:!0})}),w&&(0,Y.jsx)(ge,{sx:{mb:2},onClose:()=>T(null),children:w}),B===`Type`&&(0,Y.jsx)(V,{spacing:1.5,children:at.map(e=>(0,Y.jsx)(D,{variant:`outlined`,onClick:()=>l(e.value),sx:{cursor:`pointer`,transition:`border-color 0.2s, background-color 0.2s`,borderColor:o===e.value?e=>e.palette.primary.main:void 0,bgcolor:o===e.value?e=>u(e.palette.primary.main,.06):void 0,"&:hover":{borderColor:e=>u(e.palette.primary.main,.4)}},children:(0,Y.jsxs)(m,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:[(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:700},children:e.title}),(0,Y.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`},children:e.description})]})},e.value))}),B===`Nodes`&&(0,Y.jsxs)(V,{spacing:1.5,children:[(0,Y.jsx)(F,{variant:`body2`,sx:{color:`text.secondary`,mb:.5},children:o===`remote`?`Select a target node for deployment.`:`Select at least 2 nodes for the cluster.`}),ne?(0,Y.jsx)(x,{sx:{display:`flex`,justifyContent:`center`,py:4},children:(0,Y.jsx)(A,{size:28})}):E.length===0?(0,Y.jsx)(H,{severity:`info`,variant:`outlined`,children:`No remote nodes configured. Add nodes in the Nodes section first.`}):E.map(e=>{let t=d.includes(e.id),n=e.status===`online`;return(0,Y.jsx)(D,{variant:`outlined`,onClick:()=>ue(e.id),sx:{cursor:`pointer`,transition:`border-color 0.2s, background-color 0.2s`,borderColor:t?e=>e.palette.primary.main:void 0,bgcolor:t?e=>u(e.palette.primary.main,.06):void 0,"&:hover":{borderColor:e=>u(e.palette.primary.main,.4)}},children:(0,Y.jsxs)(m,{sx:{py:1.5,"&:last-child":{pb:1.5},display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,Y.jsxs)(x,{children:[(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:600},children:e.name}),(0,Y.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`,fontFamily:`monospace`},children:e.host})]}),(0,Y.jsx)(S,{label:n?`Online`:`Offline`,color:n?`success`:`default`,size:`small`,sx:{height:20,fontSize:`0.65rem`}})]})},e.id)})]}),B===`Applications`&&(0,Y.jsx)(V,{spacing:1,children:N?(0,Y.jsx)(x,{sx:{display:`flex`,justifyContent:`center`,py:4},children:(0,Y.jsx)(A,{size:28})}):j.length===0?(0,Y.jsx)(H,{severity:`info`,variant:`outlined`,children:`No applications found in the project.`}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(oe,{control:(0,Y.jsx)(p,{checked:g.length===j.length,indeterminate:g.length>0&&g.length<j.length,onChange:fe,size:`small`}),label:(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:600},children:`Select All`}),sx:{mb:.5}}),j.map(e=>(0,Y.jsx)(oe,{control:(0,Y.jsx)(p,{checked:g.includes(e.name),onChange:()=>de(e.name),size:`small`}),label:(0,Y.jsx)(F,{variant:`body2`,sx:{fontFamily:`monospace`},children:e.name}),sx:{ml:1}},e.name))]})}),B===`Name`&&(0,Y.jsxs)(V,{spacing:2.5,children:[(0,Y.jsx)(ae,{label:`Stack Name`,value:v,onChange:e=>y(e.target.value.toLowerCase().replace(/[^a-z0-9-]/g,``)),placeholder:`e.g., dev-1, staging, prod`,fullWidth:!0,size:`small`,helperText:`Lowercase letters, numbers, and hyphens only.`,slotProps:{input:{sx:{fontFamily:`monospace`}}}}),(0,Y.jsxs)(x,{children:[(0,Y.jsx)(F,{variant:`subtitle2`,sx:{fontWeight:700,mb:1},children:`Review`}),(0,Y.jsxs)(V,{spacing:.5,children:[(0,Y.jsx)(q,{label:`Type`,value:o??``}),o!==`local`&&(0,Y.jsx)(q,{label:`Nodes`,value:d.length>0?E.filter(e=>d.includes(e.id)).map(e=>e.name).join(`, `):`None`}),(0,Y.jsx)(q,{label:`Applications`,value:g.length===j.length?`All (${j.length})`:`${g.length} of ${j.length}`})]})]})]})]}),(0,Y.jsxs)(re,{sx:{px:3,py:2},children:[(0,Y.jsx)(h,{onClick:z,disabled:b,children:`Cancel`}),(0,Y.jsx)(x,{sx:{flex:1}}),!L.isFirstStep&&(0,Y.jsx)(h,{onClick:L.prevStep,disabled:b,children:`Back`}),(0,Y.jsx)(h,{variant:`contained`,onClick:le,disabled:!se||b,startIcon:b?(0,Y.jsx)(A,{size:16}):void 0,children:L.isLastStep?`Create`:`Next`})]})]})}function q({label:e,value:t}){return(0,Y.jsxs)(x,{sx:{display:`flex`,justifyContent:`space-between`},children:[(0,Y.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`},children:e}),(0,Y.jsx)(F,{variant:`caption`,sx:{fontWeight:600,textTransform:`capitalize`},children:t})]})}var J,Y,at,X;function ot(){return(ot=e((()=>{J=t(),g(),_(),E(),C(),T(),k(),he(),v(),y(),N(),P(),M(),L(),w(),b(),d(),_e(),rt(),o(),Ce(),Y=n(),at=[{value:`local`,title:`Local`,description:`Run everything on this machine. Docker containers for infrastructure.`},{value:`remote`,title:`Remote`,description:`Deploy to a single remote server via SSH.`},{value:`cluster`,title:`Cluster`,description:`Distribute across multiple nodes.`}],X=[{label:`Type`},{label:`Nodes`},{label:`Applications`},{label:`Name`}]})))()}function st(){let e=xe(),t=Se(),n=W(e=>e.loading),a=W(e=>e.stackNotices),o=W(e=>e.clearStackNotice),s=W(t=>e&&t.stackReadErrors[e]),c=W(t=>!!(e&&t.stacksByProject[e])),l=W(e=>e.pendingOps),u=W(e=>e.fetchStacks),d=W(e=>e.resumeInstalledStack),f=W(e=>e.startStack),p=W(e=>e.stopStack),m=W(e=>e.deleteStack),g=i(),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(null),[w,T]=(0,Q.useState)(null),[E,D]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{e&&u(e)},[e,u]);let O=Object.keys(l).length>0;ye(()=>void(e&&u(e)),{intervalMs:O?3e3:1e4,enabled:!!e});let k=(0,Q.useCallback)(async t=>{e&&await f(e,t)},[e,f]),A=(0,Q.useCallback)(async()=>{if(e&&w){try{await m(e,w)}catch{}T(null)}},[e,w,m]);return e?(0,$.jsxs)(V,{spacing:3,sx:{flex:1},children:[(0,$.jsx)(Ne,{linkComponent:r,links:[{name:`Stacks`}],action:(0,$.jsxs)(x,{sx:{display:`flex`,gap:1,alignItems:`center`},children:[(0,$.jsx)(z,{"data-console-command":`refresh`,size:`small`,onClick:()=>u(e),title:`Refresh`,children:(0,$.jsx)(De,{})}),(0,$.jsx)(U,{permission:`OmnitronProject.createStack`,children:(0,$.jsx)(h,{variant:`contained`,size:`small`,startIcon:(0,$.jsx)(we,{}),onClick:()=>v(!0),children:`Create`})})]})}),(0,$.jsx)(U,{permission:`OmnitronProject.createStack`,children:(0,$.jsx)(it,{open:_,onClose:()=>v(!1),onCreated:()=>{v(!1),u(e)}})}),s&&(0,$.jsxs)(H,{severity:`warning`,children:[c?`Showing the last stack inventory`:`Stack inventory unavailable`,` · `,s]}),Object.entries(a).filter(([t])=>t.startsWith(`${e}/`)).map(([e,t])=>(0,$.jsxs)(H,{closable:!0,severity:`warning`,onClose:()=>o(e),children:[e,` · `,t]},e)),!c&&s?null:(!c||n)&&t.length===0?(0,$.jsx)(B,{container:!0,spacing:2,children:[1,2,3].map(e=>(0,$.jsx)(B,{size:{xs:12,sm:6,md:4},children:(0,$.jsx)(Fe,{variant:`rounded`,height:200})},e))}):t.length===0?(0,$.jsx)(x,{sx:{flex:1,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)(Be,{title:`No stacks`,description:`Create your first stack to deploy applications.`})}):(0,$.jsx)(B,{container:!0,spacing:2,children:t.map(t=>(0,$.jsx)(B,{size:{xs:12,sm:6,md:4},children:(0,$.jsx)(ct,{stack:t,pendingOp:e?l[`${e}/${t.name}`]??null:null,onDiagnose:()=>C(t.name),onResume:()=>void d(e,t.name),onStart:()=>k(t.name),onDeploy:()=>D(t.name),onStop:()=>b({project:e,stack:t.name}),onDelete:()=>T(t.name),onDetail:()=>g(`/stacks/${t.name}`)})},t.name))}),(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(Ge,{open:E!==null,onClose:()=>D(null),project:e??``,release:null,...E?{stack:E}:{}})}),y&&y.project===e&&(0,$.jsx)(Ke,{...y,onClose:()=>b(null),onConfirm:(e,t)=>{b(null),p(y.project,y.stack,e,t)}},`${y.project}/${y.stack}`),S&&e&&(0,$.jsx)(Ze,{project:e,stack:S,onClose:()=>C(null)},`${e}/${S}`),(0,$.jsxs)(te,{open:w!==null,onClose:()=>T(null),children:[(0,$.jsx)(ie,{children:`Delete Stack`}),(0,$.jsx)(ee,{children:(0,$.jsxs)(ne,{children:[`Are you sure you want to delete stack `,(0,$.jsx)(`strong`,{children:w}),`? This action cannot be undone.`]})}),(0,$.jsxs)(re,{children:[(0,$.jsx)(h,{onClick:()=>T(null),children:`Cancel`}),(0,$.jsx)(U,{permission:`OmnitronProject.deleteStack`,children:(0,$.jsx)(h,{onClick:A,color:`error`,variant:`contained`,children:`Delete`})})]})]})]}):(0,$.jsx)(V,{spacing:3,children:(0,$.jsx)(H,{severity:`info`,children:`No project selected. Register a project first.`})})}function ct({stack:e,pendingOp:t,onStart:n,onResume:r,onDiagnose:i,onStop:a,onDeploy:o,onDelete:s,onDetail:c}){let l=lt[e.status]??{color:`warning`,label:`Unknown`},d=e.config?.release?.mode===`required`,f=e.status===`running`,p=e.status===`stopped`,g=e.status===`starting`||e.status===`stopping`||!!t,_=!!t;return(0,$.jsxs)(D,{sx:{height:`100%`,display:`flex`,flexDirection:`column`,cursor:`pointer`,transition:`border-color 0.2s`,"&:hover":{borderColor:e=>u(e.palette.primary.main,.3)}},variant:`outlined`,onClick:c,children:[(0,$.jsxs)(m,{sx:{flex:1},children:[(0,$.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1.5},children:[(0,$.jsx)(F,{variant:`h6`,sx:{fontWeight:700,fontSize:`1.1rem`},children:e.name}),(0,$.jsx)(S,{label:l.label,color:l.color,size:`small`,sx:{height:22,fontSize:`0.7rem`}})]}),(0,$.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:1,mb:1.5},children:[(0,$.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`},children:ut[e.type]??e.type}),d&&(0,$.jsx)(S,{label:`releases only`,size:`small`,color:`info`,variant:`outlined`,sx:{height:18,fontSize:`0.6rem`}})]}),(0,$.jsxs)(x,{sx:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:1},children:[(0,$.jsx)(Z,{label:`Apps`,value:`${e.apps.filter(e=>e.status===`online`).length}/${e.apps.length}`}),(0,$.jsx)(Z,{label:`Nodes`,value:String(e.nodes.length)}),f&&e.uptime>0&&(0,$.jsx)(Z,{label:`Uptime`,value:Ie(e.uptime)}),e.type!==`local`&&(0,$.jsxs)(x,{sx:{display:`flex`,alignItems:`center`,gap:.5},children:[(0,$.jsx)(Te,{sx:{fontSize:14,color:`text.secondary`}}),(0,$.jsxs)(F,{variant:`caption`,sx:{color:`text.secondary`},children:[e.nodes.filter(e=>e.syncStatus&&He(Ve(e.syncStatus))).length,`/`,e.nodes.length,` in sync`]})]})]}),(0,$.jsx)($e,{stack:e,compact:!0}),(0,$.jsx)(Le,{stack:e,compact:!0}),e.portRange&&(0,$.jsxs)(F,{variant:`caption`,sx:{color:`text.disabled`,mt:1,display:`block`,fontFamily:`monospace`},children:[`Ports: `,e.portRange.start,`–`,e.portRange.end]})]}),(0,$.jsxs)(O,{sx:{px:2,pb:1.5,justifyContent:`space-between`,flexWrap:`wrap`,gap:1},onClick:e=>e.stopPropagation(),children:[p&&!_&&(0,$.jsx)(U,{permission:`OmnitronProject.deleteStack`,children:(0,$.jsx)(z,{size:`small`,color:`error`,onClick:s,title:`Delete stack`,"aria-label":`Delete stack ${e.name}`,sx:{marginInlineEnd:1},children:(0,$.jsx)(Ae,{})})}),(0,$.jsxs)(x,{sx:{marginInlineStart:`auto`,display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:1},children:[(0,$.jsx)(U,{permission:`OmnitronProject.diagnoseStack`,children:(0,$.jsx)(h,{size:`small`,onClick:i,children:`Diagnose`})}),g?(0,$.jsx)(h,{size:`small`,disabled:!0,startIcon:(0,$.jsx)(A,{size:14}),children:t===`resuming`?`Resuming installed apps…`:t===`starting`||e.status===`starting`?`Starting…`:`Stopping…`}):Je(e)?(0,$.jsx)(Qe,{stack:e,onResume:r,onReviewStop:a}):p?d&&!e.selectedRelease?(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(ke,{}),color:`success`,onClick:o,children:`Deploy release…`})}):(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(Oe,{}),color:`success`,onClick:n,children:`Start`})}):f?(0,$.jsxs)($.Fragment,{children:[e.type!==`local`&&(0,$.jsx)(U,{permission:`OmnitronProject.startStack`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(ke,{}),onClick:o,children:`Deploy…`})}),(0,$.jsx)(U,{permission:`OmnitronProject.reviewStackStop`,children:(0,$.jsx)(h,{size:`small`,startIcon:(0,$.jsx)(je,{}),color:`error`,onClick:a,children:`Review stop…`})})]}):(0,$.jsx)(S,{label:l.label,size:`small`,color:l.color,sx:{height:20,fontSize:`0.65rem`}})]})]})]})}function Z({label:e,value:t}){return(0,$.jsxs)(x,{children:[(0,$.jsx)(F,{variant:`caption`,sx:{color:`text.secondary`,fontSize:`0.6rem`,textTransform:`uppercase`},children:e}),(0,$.jsx)(F,{variant:`body2`,sx:{fontWeight:600,fontFamily:`monospace`,fontSize:`0.85rem`},children:t})]})}var Q,$,lt,ut;function dt(){return(dt=e((()=>{Re(),et(),Xe(),qe(),Ye(),ve(),Q=t(),g(),he(),I(),v(),y(),f(),N(),b(),_(),R(),w(),E(),C(),T(),j(),k(),d(),_e(),Me(),ze(),Pe(),l(),Ee(),We(),ot(),Ce(),Ue(),be(),$=n(),lt={running:{color:`success`,label:`Running`},starting:{color:`warning`,label:`Starting`},stopping:{color:`warning`,label:`Stopping`},degraded:{color:`warning`,label:`Degraded`},error:{color:`error`,label:`Error`},stopped:{color:`default`,label:`Stopped`}},ut={local:`Local`,remote:`Remote (SSH)`,cluster:`Cluster`}})))()}dt();export{st as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{C as t,a as n,f as r,h as i,s as a}from"./client-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{C as t,a as n,f as r,h as i,s as a}from"./client-CgyTwq9g.js";import{n as o,t as s}from"./react-CEuifcaQ.js";function c(){let e=window[_];if(e)return e;let t=new g;return window[_]=t,t}var l,u,d,f,p,m,h,g,_,v;function y(){return(y=e((()=>{i(),l=`omnitron_token`,u=3e4,d=5e3,f=3e5,p=3,m=2e3,h=new Set([`SESSION_EXPIRED`,`SESSION_REVOKED`]),g=class{refreshTimer=null;expiresAt=null;lastRefreshAt=0;inflightRefresh=null;running=!1;handler=null;boundVisibilityHandler=null;start(e,t){this.stop(),this.running=!0,this.handler=t,this.expiresAt=new Date(e),this.scheduleRefresh(),this.setupVisibilityListener()}stop(){this.running=!1,this.handler=null,this.cancelTimer(),this.removeVisibilityListener(),this.expiresAt=null,this.inflightRefresh=null}get isActive(){return this.running}isAccessTokenStale(){let e=this.getJwtExpiryMs();return e===null||e-Date.now()<=u}async refresh(){if(!this.getSessionId())return!1;if(this.inflightRefresh)return this.inflightRefresh;if(Date.now()-this.lastRefreshAt<d)return!0;this.inflightRefresh=this.performRefreshWithRetry();try{return await this.inflightRefresh}finally{this.inflightRefresh=null}}async performRefreshWithRetry(){for(let e=0;e<=p;e++)try{return await this.performRefresh()}catch(t){let n=String(t?.code??``);if(h.has(n)){let e=this.handler;return this.stop(),e?.(`expired`),!1}if(e<p){let t=m*2**e;await new Promise(e=>setTimeout(e,t))}else return!1}return!1}async performRefresh(){let e=this.getSessionId();if(!e)return!1;let r=await n(`refreshSession`,{sessionId:e});if(!r?.success||!r?.result)return!1;let{accessToken:i,session:a}=r.result;return i&&(sessionStorage.setItem(l,i),t(i)),a?.expiresAt&&(this.expiresAt=new Date(a.expiresAt)),this.lastRefreshAt=Date.now(),this.running&&this.scheduleRefresh(),this.handler?.(`refreshed`),!0}scheduleRefresh(){if(this.cancelTimer(),!this.running||!this.expiresAt)return;let e=Date.now(),t=this.expiresAt.getTime(),n=this.getJwtExpiryMs();n&&n<t&&(t=n);let r=t-e-u;r<=0&&(r=0),r=Math.min(r,f),this.refreshTimer=setTimeout(()=>{this.running&&this.refresh()},r)}getJwtExpiryMs(){try{let e=sessionStorage.getItem(l);if(!e)return null;let t=e.split(`.`);if(t.length!==3)return null;let n=JSON.parse(atob(t[1].replace(/-/g,`+`).replace(/_/g,`/`)));return typeof n.exp==`number`?n.exp*1e3:null}catch{return null}}getSessionId(){try{let e=sessionStorage.getItem(l);if(!e)return null;let t=e.split(`.`);return t.length===3?JSON.parse(atob(t[1].replace(/-/g,`+`).replace(/_/g,`/`))).sid??null:null}catch{return null}}cancelTimer(){this.refreshTimer!==null&&(clearTimeout(this.refreshTimer),this.refreshTimer=null)}setupVisibilityListener(){this.removeVisibilityListener(),this.boundVisibilityHandler=()=>{this.running&&document.visibilityState===`visible`&&this.refresh()},document.addEventListener(`visibilitychange`,this.boundVisibilityHandler)}removeVisibilityListener(){this.boundVisibilityHandler&&=(document.removeEventListener(`visibilitychange`,this.boundVisibilityHandler),null)}},_=`__omnitronSessionManager`,v=typeof window<`u`?c():new g})))()}function b(e){let t=S(e);return/502|503|bad gateway|service unavailable/i.test(t)?`Service unavailable — the daemon is not running. Start it with omnitron dev.`:/failed to fetch|networkerror|network request failed|econnrefused|econnreset|etimedout|load failed/i.test(t)?`Cannot reach the server. Check that the daemon is running and your network is connected.`:/401|unauthorized|invalid.*credential|invalid.*password|incorrect.*password/i.test(t)?`Invalid username or password.`:/429|too many|rate limit/i.test(t)?`Too many sign-in attempts. Please wait a moment and try again.`:/500|internal server error/i.test(t)?`The server encountered an error. Please try again.`:/timeout|timed out/i.test(t)?`The request timed out. The daemon may be overloaded.`:t.replace(/^HTTP \d{3}:\s*/i,``).trim()||`An unexpected error occurred.`}function x(e,t=`/`){if(!e)return t;try{let n=decodeURIComponent(e),r=`https://console.invalid`,i=new URL(n,r);if(i.origin!==r)return t;let a=i.pathname+i.search+i.hash;return!a.startsWith(`/`)||a.startsWith(`//`)?t:a}catch{return t}}function S(e){if(!e)return``;if(typeof e==`string`)return e;if(typeof e==`object`){let t=e;return String(t.message??t.msg??t.error??``)}return String(e)}function C(){return(C=e((()=>{})))()}function w(e){if(e===`expired`&&(a(),A.setState({user:null,sessionId:null}),typeof window<`u`)){let e=window.location.pathname+window.location.search+window.location.hash,t=encodeURIComponent(x(e));window.location.href=`/auth/sign-in?returnTo=${t}`}}function T(e){let t=e?.code;return t==null||t===401||t===`UNAUTHORIZED`||t===`SESSION_REVOKED`}function E(e){let t=e?.code;return t===`ECONNREFUSED`||t===`SESSION_STORE_UNAVAILABLE`?"The daemon could not reach its database, so your session could not be checked. This is not a sign-in problem — run `omnitron doctor` for the reason.":"The daemon could not check your session. Signing in again will not help until it can — run `omnitron doctor` for the reason."}async function D(e){let t=r();if(!t)e({initialized:!0});else{try{v.isAccessTokenStale()&&await v.refresh().catch(()=>!1);let i=await n(`validateSession`,{sessionId:r()??t});if(i.valid&&i.user){let n=i.session?.expiresAt??new Date(Date.now()+36e5).toISOString();e({user:{id:i.user.id,username:i.user.username,displayName:i.user.displayName??i.user.username,role:i.user.role??O},sessionId:t,initialized:!0}),v.start(n,w);return}}catch(t){if(!T(t)){e({initialized:!0,initError:E(t)});return}try{if(await v.refresh()){let t=r();if(!t){a(),e({initialized:!0});return}let i=await n(`validateSession`,{sessionId:t});if(i.valid&&i.user){e({user:{id:i.user.id,username:i.user.username,displayName:i.user.displayName??i.user.username,role:i.user.role??O},sessionId:r(),initialized:!0});return}}}catch{}}a(),e({initialized:!0})}}var O,k,A;function j(){return(j=e((()=>{o(),i(),y(),O=`unknown`,k=null,A=s((e,i)=>({user:null,sessionId:null,initialized:!1,initError:null,loading:!1,clearInitError:()=>e({initError:null}),initialize:async()=>{if(!i().initialized)return k||(k=D(e).finally(()=>{k=null}),k)},signIn:async(i,a)=>{e({loading:!0});try{let o=await n(`signIn`,{username:i,password:a});if(!o||typeof o!=`object`||Array.isArray(o)||!o.user)throw Error(`Invalid credentials`);o.accessToken&&t(o.accessToken);let s=o.session?.id??r(),c=o.session?.expiresAt??new Date(Date.now()+36e5).toISOString();e({user:{id:o.user.id,username:o.user.username,displayName:o.user.displayName??o.user.username,role:o.user.role??O},sessionId:s,loading:!1}),v.start(c,w)}catch(t){throw e({loading:!1}),t}},signOut:async()=>{v.stop();let{sessionId:t}=i();try{t&&await n(`signOut`,{sessionId:t})}finally{a(),e({user:null,sessionId:null})}},setUser:t=>e({user:t})}))})))()}export{x as a,C as i,A as n,b as r,j as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{U as r,h as i,w as a,y as o,z as s}from"./client-DFnuv2z3.js";import{n as c}from"./services-BddvcFi8.js";import{F as l,H as u,I as d,Q as f,V as p,Z as m,i as h,r as g}from"./mui-BXSXx9c9.js";import{B as _,a as v,o as y,z as b}from"./mui-Cd711nOk.js";import{E as x,T as S,U as ee,W as te,it as C,l as w,rt as T,u as E}from"./mui-AnEgAVjz.js";import{_ as D,n as ne,t as re,v as ie}from"./mui-BwsIrivo.js";import{r as ae,t as O}from"./alert-uBG6r9NW.js";import{c as oe,s as se}from"./access-BvKK9dEv.js";import{n as k,r as A,t as j}from"./use-polled-resource-B22hhr5L.js";import{G as M,M as N}from"./icons-OboZgWSt.js";import{n as P,t as F}from"./operation-status-Bm1x1wTz.js";import{n as I,t as L}from"./page-breadcrumbs-fR7Jmpp4.js";import{s as R}from"./formatters-RnRy4bXm.js";import{i as z,n as B,r as V}from"./metric-series-WxePniyw.js";import{n as H,r as U}from"./tabs-k5NPGLnJ.js";function W(e,t=Date.now()){let n=t-e.timestamp,r=Number.isFinite(n)?n<-15e3?`clock-skew`:n>15e3?`stale`:`current`:`unknown`,i=Object.entries(e.unanswered??{});return{ageMs:n,timing:r,missing:i,complete:!i.length&&r===`current`}}function G({title:e,children:t}){return(0,X.jsxs)(p,{component:`section`,sx:{minWidth:0},children:[(0,X.jsx)(b,{component:`h2`,variant:`subtitle2`,sx:{pb:1,borderBottom:1,borderColor:`divider`,mb:1},children:e}),t]})}function K({rows:e}){return(0,X.jsx)(p,{component:`dl`,sx:{display:`grid`,gridTemplateColumns:`minmax(0,2fr) minmax(0,3fr)`,columnGap:2,rowGap:.75,m:0},children:e.map(([e,t])=>(0,X.jsxs)(p,{component:`div`,sx:{display:`contents`},children:[(0,X.jsx)(b,{component:`dt`,variant:`body2`,color:`text.secondary`,children:e}),(0,X.jsx)(b,{component:`dd`,variant:`body2`,sx:{...Q,m:0,textAlign:`end`},children:t??`—`})]},e))})}function q({label:e,value:t,detail:n,percent:r}){return(0,X.jsxs)(p,{sx:{minWidth:0,py:1.25,borderTop:`1px solid`,borderColor:`divider`},children:[(0,X.jsx)(b,{variant:`caption`,color:`text.secondary`,children:e}),(0,X.jsx)(b,{component:`div`,variant:`h5`,sx:{...Q,my:.4},children:t}),r!=null&&Number.isFinite(r)&&(0,X.jsx)(S,{"aria-label":e,variant:`determinate`,value:Math.min(100,Math.max(0,r)),sx:{height:3,mb:.75}}),(0,X.jsx)(b,{variant:`caption`,color:`text.secondary`,sx:{overflowWrap:`anywhere`},children:n})]})}function ce({network:e,unanswered:t}){return t.network||e.rateAvailable===!1||e.rxSec<0||e.txSec<0?null:{rx:`${B(e.rxSec)}/s`,tx:`${B(e.txSec)}/s`}}function le({data:e}){let{cpu:t,memory:n,disks:r,unanswered:i}=e,a=i.disks?void 0:r.reduce((e,t)=>!e||t.usedPercent>e.usedPercent?t:e,void 0),o=ce(e);return(0,X.jsxs)(p,{"aria-label":`Host measurements`,sx:{display:`grid`,gridTemplateColumns:{xs:`repeat(2,minmax(0,1fr))`,md:`repeat(4,minmax(0,1fr))`},columnGap:{xs:1.5,md:3}},children:[(0,X.jsx)(q,{label:`CPU load`,value:i.cpu?`—`:V(t.currentLoad),detail:i.cpu?`Reading unavailable`:`${t.cores} logical cores`,percent:i.cpu?void 0:t.currentLoad}),(0,X.jsx)(q,{label:`Committed memory`,value:i.memory?`—`:B(n.committed),detail:i.memory?`Reading unavailable`:`${B(n.available)} available`,percent:i.memory?void 0:n.usedPercent}),(0,X.jsx)(q,{label:`Fullest mount`,value:a?V(a.usedPercent):`—`,detail:a?`${a.mount} · ${B(a.available)} available`:i.disks?`Reading unavailable`:`No reported mounts`,percent:a?.usedPercent}),(0,X.jsx)(q,{label:`Network receive`,value:o?.rx??`—`,detail:o?`Transmit ${o.tx}`:`Transfer rate unavailable`})]})}function ue({data:e}){let{os:t,cpu:n,memory:r,daemon:i,docker:a,unanswered:o}=e;return(0,X.jsxs)(p,{sx:Z,children:[(0,X.jsx)(G,{title:`Host`,children:o.os?(0,X.jsx)(b,{variant:`body2`,children:`Host details unavailable`}):(0,X.jsx)(K,{rows:[[`Hostname`,t.hostname],[`Operating system`,[t.distro||t.platform,t.release].filter(Boolean).join(` `)],[`Kernel`,t.kernel],[`Architecture`,t.arch],[`Host uptime`,R(t.uptime*1e3)]]})}),(0,X.jsx)(G,{title:`Daemon`,children:(0,X.jsx)(K,{rows:[[`Role / PID`,`${i.role} / ${i.pid}`],[`Daemon uptime`,R(i.uptimeMs)],[`Omnitron`,i.version??`Version not reported`],[`Build commit`,i.build?i.build.commit+(i.build.dirty?` (dirty)`:``):`Build not reported`],[`Node.js / V8`,`${i.nodeVersion} / ${i.v8Version}`],[`Resident memory`,B(i.memoryUsage.rss)],[`Heap used / allocated`,`${B(i.memoryUsage.heapUsed)} / ${B(i.memoryUsage.heapTotal)}`],[`External memory`,B(i.memoryUsage.external)]]})}),(0,X.jsxs)(G,{title:`Compute`,children:[!o.cpu&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(K,{rows:[[`Processor`,[n.manufacturer,n.brand].filter(Boolean).join(` `)],[`Physical / logical cores`,`${n.physicalCores} / ${n.cores}`],[`Clock`,n.speed>0?`${n.speed} GHz`:`—`],[`Temperature`,n.temperature!=null&&n.temperature>0?`${n.temperature} °C`:`—`]]}),n.loadPerCore.length>0&&(0,X.jsxs)(p,{component:`details`,sx:{my:1.25},children:[(0,X.jsxs)(b,{component:`summary`,variant:`body2`,sx:{cursor:`pointer`},children:[`Per-core load · `,n.loadPerCore.length]}),(0,X.jsx)(p,{sx:{display:`grid`,gridTemplateColumns:`repeat(auto-fill,minmax(6rem,1fr))`,gap:1,mt:1},children:n.loadPerCore.map((e,t)=>(0,X.jsxs)(b,{variant:`caption`,sx:Q,children:[`CPU `,t,` · `,V(e)]},t))})]})]}),!o.memory&&(0,X.jsx)(K,{rows:[[`RAM capacity`,B(r.total)],[`Free / available`,`${B(r.free)} / ${B(r.available)}`],[`Swap used / total`,`${B(r.swapUsed)} / ${B(r.swapTotal)}`]]}),o.cpu&&o.memory&&(0,X.jsx)(b,{variant:`body2`,children:`Compute details unavailable`})]}),(0,X.jsx)(G,{title:`Docker`,children:a&&!o.docker?(0,X.jsx)(K,{rows:[[`Running`,a.running],[`Paused`,a.paused],[`Stopped`,a.stopped]]}):(0,X.jsx)(b,{variant:`body2`,color:`text.secondary`,children:o.docker?`Container inventory unavailable`:`No container runtime reported`})})]})}function de({data:e}){if(e.unanswered.disks)return(0,X.jsx)(b,{variant:`body2`,children:`Mount inventory unavailable.`});if(!e.disks.length)return(0,X.jsx)(b,{variant:`body2`,children:`No mounted filesystems reported.`});let t=[...e.disks].sort((e,t)=>t.usedPercent-e.usedPercent||e.mount.localeCompare(t.mount));return(0,X.jsx)(p,{sx:Z,children:t.map(e=>(0,X.jsxs)(G,{title:e.mount,children:[(0,X.jsx)(K,{rows:[[`Filesystem`,`${e.fs} · ${e.type}`],[`Available`,B(e.available)],[`Used / capacity`,`${B(e.used)} / ${B(e.size)}`],[`Utilization`,V(e.usedPercent)]]}),(0,X.jsx)(S,{"aria-label":`Usage of ${e.mount}`,variant:`determinate`,value:Math.min(100,Math.max(0,e.usedPercent)),sx:{mt:1,height:3}})]},JSON.stringify([e.mount,e.fs])))})}function J({data:e}){return e.unanswered.network?(0,X.jsx)(b,{variant:`body2`,children:`Interface inventory unavailable.`}):e.network.interfaces.length?(0,X.jsx)(p,{sx:Z,children:e.network.interfaces.map(e=>(0,X.jsx)(G,{title:e.iface,children:(0,X.jsx)(K,{rows:[[`Link`,e.operstate],[`IPv4`,e.ip4||`—`],[`IPv6`,e.ip6||`—`],[`MAC`,e.mac||`—`],[`Link speed`,e.speed!=null&&e.speed>0?`${e.speed} Mbit/s`:`—`]]})},e.iface))}):(0,X.jsx)(b,{variant:`body2`,children:`No external network interfaces reported.`})}function fe({data:e,live:t}){let[n,r]=(0,Y.useState)(Date.now);A(()=>r(Date.now()),{intervalMs:5e3});let{ageMs:i,timing:a}=W(e,Math.max(n,Date.now())),o=new Date(e.timestamp);return(0,X.jsxs)(b,{component:`div`,variant:`caption`,color:a===`current`?`text.secondary`:`warning.main`,children:[a===`clock-skew`?`Host clock ahead`:a===`unknown`?`Collection time unavailable`:`Collected ${Math.max(0,Math.round(i/1e3))} s ago in ${e.collectedMs} ms`,Number.isFinite(o.getTime())&&(0,X.jsxs)(X.Fragment,{children:[` `,`·`,` `,(0,X.jsx)(`time`,{dateTime:o.toISOString(),title:o.toISOString(),children:o.toLocaleTimeString()})]}),a===`stale`&&` · Stale sample`,!t&&` · Updates paused`]})}function pe(){let[e,t]=r(),n=e.get(`node`)||``,i=e.get(`view`)||`overview`,{can:a}=oe(),s=a(`OmnitronNodes.getNodeSystemSnapshot`),c=s&&a(`OmnitronNodes.listNodes`),l=k(()=>o.listNodes(),{intervalMs:3e4,enabled:c,resourceKey:Number(c)}),u=(l.data??[]).filter(e=>!e.isLocal);function d(e,n){t(t=>{let r=new URLSearchParams(t);return n?r.set(e,n):r.delete(e),r})}return(0,X.jsx)(me,{target:n,allowed:!n||s,view:[`storage`,`network`].includes(i)?i:`overview`,onView:e=>d(`view`,e===`overview`?``:e),selector:(c||n)&&(0,X.jsxs)(v,{select:!0,label:`Host`,size:`small`,value:n,onChange:e=>d(`node`,e.target.value),slotProps:{select:{displayEmpty:!0},inputLabel:{shrink:!0}},sx:{minWidth:`10rem`,maxWidth:`100%`},children:[(0,X.jsx)(w,{value:``,children:`Connected daemon`}),n&&!u.some(e=>e.id===n)&&(0,X.jsx)(w,{value:n,children:n}),u.map(e=>(0,X.jsx)(w,{value:e.id,children:e.name},e.id))]}),inventoryError:c?l.error:null},JSON.stringify([n,!n||s]))}function me({target:e,allowed:t,view:n,onView:r,selector:i,inventoryError:s}){let[c,u]=(0,Y.useState)(!0),[d,f]=(0,Y.useState)(!1),{data:p,error:h,loading:_,refresh:v}=k(()=>e?o.getNodeSystemSnapshot({nodeId:e}):a.getSnapshot({fresh:!0}),{intervalMs:5e3,enabled:t,paused:!c,resourceKey:e}),y=async()=>{f(!0);try{await v()}finally{f(!1)}},x=p?W(p).missing:[];return(0,X.jsxs)(D,{spacing:2,sx:{minWidth:0},children:[(0,X.jsx)(L,{links:[{name:`System`}],action:(0,X.jsxs)(D,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[i,(0,X.jsx)(ee,{control:(0,X.jsx)(re,{size:`small`,checked:c,disabled:!t,onChange:e=>u(e.target.checked)}),label:`Live`,sx:{m:0}}),(0,X.jsx)(T,{size:`small`,"aria-label":`Refresh system snapshot`,"data-console-command":`refresh`,disabled:d||!t,onClick:()=>void y(),children:(0,X.jsx)(N,{})})]})}),s&&(0,X.jsxs)(O,{severity:`warning`,children:[`Node inventory unavailable · `,s]}),t?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(F,{active:_||d,label:_?`Reading host measurements`:`Requesting a system snapshot`}),h&&(0,X.jsxs)(O,{severity:p?`warning`:`error`,children:[p?`Showing the last snapshot`:`Host measurements unavailable`,` · `,h]}),p&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(D,{spacing:.25,children:[(0,X.jsxs)(D,{direction:`row`,spacing:1,sx:{alignItems:`center`,flexWrap:`wrap`},children:[(0,X.jsx)(b,{variant:`subtitle1`,sx:Q,children:!p.unanswered.os&&p.os.hostname||e||`Connected daemon`}),(0,X.jsx)(m,{size:`small`,variant:`outlined`,label:e?`Mesh node`:`Connected daemon`})]}),(0,X.jsx)(fe,{data:p,live:c})]}),x.length>0&&(0,X.jsxs)(O,{severity:`warning`,variant:`outlined`,children:[(0,X.jsxs)(b,{variant:`subtitle2`,children:[`Partial snapshot · `,x.length,` `,x.length===1?`section`:`sections`,` unavailable`]}),x.map(([e,t])=>(0,X.jsxs)(b,{component:`div`,variant:`body2`,children:[(0,X.jsx)(`strong`,{children:e}),` · `,(0,X.jsxs)(`span`,{children:[`Did not answer — `,t]})]},e))]}),(0,X.jsx)(le,{data:p}),(0,X.jsx)(g,{}),(0,X.jsx)(H,{"aria-label":`System details`,value:n,onChange:r,variant:`scrollable`,scrollButtons:`auto`,tabs:[{value:`overview`,label:`Overview`,content:(0,X.jsx)(ue,{data:p})},{value:`storage`,label:`Storage`,content:(0,X.jsx)(de,{data:p})},{value:`network`,label:`Network`,content:(0,X.jsx)(J,{data:p})}]})]}),!c&&!p&&!h&&(0,X.jsx)(l,{onClick:()=>void y(),children:`Read snapshot`})]}):(0,X.jsx)(O,{severity:`warning`,children:`Remote system readings are unavailable for this session. Select the connected daemon to inspect its host.`})]})}var Y,X,Z,Q;function $(){return($=e((()=>{Y=t(),s(),u(),d(),f(),h(),C(),x(),E(),ie(),ne(),te(),y(),_(),ae(),U(),c(),se(),M(),I(),P(),j(),i(),z(),X=n(),Z={display:`grid`,gridTemplateColumns:{xs:`minmax(0,1fr)`,md:`repeat(2,minmax(0,1fr))`},gap:{xs:2,md:3}},Q={fontFamily:`monospace`,fontVariantNumeric:`tabular-nums`,overflowWrap:`anywhere`}})))()}$();export{pe as default};
|
|
1
|
+
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{U as r,h as i,w as a,y as o,z as s}from"./client-CgyTwq9g.js";import{n as c}from"./services-BddvcFi8.js";import{F as l,H as u,I as d,Q as f,V as p,Z as m,i as h,r as g}from"./mui-SNRRJ_vi.js";import{B as _,a as v,o as y,z as b}from"./mui-B3fJdIMc.js";import{E as x,T as S,U as ee,W as te,it as C,l as w,rt as T,u as E}from"./mui-CMWGTMXv.js";import{_ as D,n as ne,t as re,v as ie}from"./mui-CPEkFAPo.js";import{r as ae,t as O}from"./alert-BdJ2uaY0.js";import{c as oe,s as se}from"./access-I0f72P9m.js";import{n as k,r as A,t as j}from"./use-polled-resource-B22hhr5L.js";import{G as M,M as N}from"./icons-B9Ct8PJ9.js";import{n as P,t as F}from"./operation-status-DHyYOT7G.js";import{n as I,t as L}from"./page-breadcrumbs-3R8RZ3nA.js";import{s as R}from"./formatters-RnRy4bXm.js";import{i as z,n as B,r as V}from"./metric-series-WxePniyw.js";import{n as H,r as U}from"./tabs-DGqBkXh_.js";function W(e,t=Date.now()){let n=t-e.timestamp,r=Number.isFinite(n)?n<-15e3?`clock-skew`:n>15e3?`stale`:`current`:`unknown`,i=Object.entries(e.unanswered??{});return{ageMs:n,timing:r,missing:i,complete:!i.length&&r===`current`}}function G({title:e,children:t}){return(0,X.jsxs)(p,{component:`section`,sx:{minWidth:0},children:[(0,X.jsx)(b,{component:`h2`,variant:`subtitle2`,sx:{pb:1,borderBottom:1,borderColor:`divider`,mb:1},children:e}),t]})}function K({rows:e}){return(0,X.jsx)(p,{component:`dl`,sx:{display:`grid`,gridTemplateColumns:`minmax(0,2fr) minmax(0,3fr)`,columnGap:2,rowGap:.75,m:0},children:e.map(([e,t])=>(0,X.jsxs)(p,{component:`div`,sx:{display:`contents`},children:[(0,X.jsx)(b,{component:`dt`,variant:`body2`,color:`text.secondary`,children:e}),(0,X.jsx)(b,{component:`dd`,variant:`body2`,sx:{...Q,m:0,textAlign:`end`},children:t??`—`})]},e))})}function q({label:e,value:t,detail:n,percent:r}){return(0,X.jsxs)(p,{sx:{minWidth:0,py:1.25,borderTop:`1px solid`,borderColor:`divider`},children:[(0,X.jsx)(b,{variant:`caption`,color:`text.secondary`,children:e}),(0,X.jsx)(b,{component:`div`,variant:`h5`,sx:{...Q,my:.4},children:t}),r!=null&&Number.isFinite(r)&&(0,X.jsx)(S,{"aria-label":e,variant:`determinate`,value:Math.min(100,Math.max(0,r)),sx:{height:3,mb:.75}}),(0,X.jsx)(b,{variant:`caption`,color:`text.secondary`,sx:{overflowWrap:`anywhere`},children:n})]})}function ce({network:e,unanswered:t}){return t.network||e.rateAvailable===!1||e.rxSec<0||e.txSec<0?null:{rx:`${B(e.rxSec)}/s`,tx:`${B(e.txSec)}/s`}}function le({data:e}){let{cpu:t,memory:n,disks:r,unanswered:i}=e,a=i.disks?void 0:r.reduce((e,t)=>!e||t.usedPercent>e.usedPercent?t:e,void 0),o=ce(e);return(0,X.jsxs)(p,{"aria-label":`Host measurements`,sx:{display:`grid`,gridTemplateColumns:{xs:`repeat(2,minmax(0,1fr))`,md:`repeat(4,minmax(0,1fr))`},columnGap:{xs:1.5,md:3}},children:[(0,X.jsx)(q,{label:`CPU load`,value:i.cpu?`—`:V(t.currentLoad),detail:i.cpu?`Reading unavailable`:`${t.cores} logical cores`,percent:i.cpu?void 0:t.currentLoad}),(0,X.jsx)(q,{label:`Committed memory`,value:i.memory?`—`:B(n.committed),detail:i.memory?`Reading unavailable`:`${B(n.available)} available`,percent:i.memory?void 0:n.usedPercent}),(0,X.jsx)(q,{label:`Fullest mount`,value:a?V(a.usedPercent):`—`,detail:a?`${a.mount} · ${B(a.available)} available`:i.disks?`Reading unavailable`:`No reported mounts`,percent:a?.usedPercent}),(0,X.jsx)(q,{label:`Network receive`,value:o?.rx??`—`,detail:o?`Transmit ${o.tx}`:`Transfer rate unavailable`})]})}function ue({data:e}){let{os:t,cpu:n,memory:r,daemon:i,docker:a,unanswered:o}=e;return(0,X.jsxs)(p,{sx:Z,children:[(0,X.jsx)(G,{title:`Host`,children:o.os?(0,X.jsx)(b,{variant:`body2`,children:`Host details unavailable`}):(0,X.jsx)(K,{rows:[[`Hostname`,t.hostname],[`Operating system`,[t.distro||t.platform,t.release].filter(Boolean).join(` `)],[`Kernel`,t.kernel],[`Architecture`,t.arch],[`Host uptime`,R(t.uptime*1e3)]]})}),(0,X.jsx)(G,{title:`Daemon`,children:(0,X.jsx)(K,{rows:[[`Role / PID`,`${i.role} / ${i.pid}`],[`Daemon uptime`,R(i.uptimeMs)],[`Omnitron`,i.version??`Version not reported`],[`Build commit`,i.build?i.build.commit+(i.build.dirty?` (dirty)`:``):`Build not reported`],[`Node.js / V8`,`${i.nodeVersion} / ${i.v8Version}`],[`Resident memory`,B(i.memoryUsage.rss)],[`Heap used / allocated`,`${B(i.memoryUsage.heapUsed)} / ${B(i.memoryUsage.heapTotal)}`],[`External memory`,B(i.memoryUsage.external)]]})}),(0,X.jsxs)(G,{title:`Compute`,children:[!o.cpu&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(K,{rows:[[`Processor`,[n.manufacturer,n.brand].filter(Boolean).join(` `)],[`Physical / logical cores`,`${n.physicalCores} / ${n.cores}`],[`Clock`,n.speed>0?`${n.speed} GHz`:`—`],[`Temperature`,n.temperature!=null&&n.temperature>0?`${n.temperature} °C`:`—`]]}),n.loadPerCore.length>0&&(0,X.jsxs)(p,{component:`details`,sx:{my:1.25},children:[(0,X.jsxs)(b,{component:`summary`,variant:`body2`,sx:{cursor:`pointer`},children:[`Per-core load · `,n.loadPerCore.length]}),(0,X.jsx)(p,{sx:{display:`grid`,gridTemplateColumns:`repeat(auto-fill,minmax(6rem,1fr))`,gap:1,mt:1},children:n.loadPerCore.map((e,t)=>(0,X.jsxs)(b,{variant:`caption`,sx:Q,children:[`CPU `,t,` · `,V(e)]},t))})]})]}),!o.memory&&(0,X.jsx)(K,{rows:[[`RAM capacity`,B(r.total)],[`Free / available`,`${B(r.free)} / ${B(r.available)}`],[`Swap used / total`,`${B(r.swapUsed)} / ${B(r.swapTotal)}`]]}),o.cpu&&o.memory&&(0,X.jsx)(b,{variant:`body2`,children:`Compute details unavailable`})]}),(0,X.jsx)(G,{title:`Docker`,children:a&&!o.docker?(0,X.jsx)(K,{rows:[[`Running`,a.running],[`Paused`,a.paused],[`Stopped`,a.stopped]]}):(0,X.jsx)(b,{variant:`body2`,color:`text.secondary`,children:o.docker?`Container inventory unavailable`:`No container runtime reported`})})]})}function de({data:e}){if(e.unanswered.disks)return(0,X.jsx)(b,{variant:`body2`,children:`Mount inventory unavailable.`});if(!e.disks.length)return(0,X.jsx)(b,{variant:`body2`,children:`No mounted filesystems reported.`});let t=[...e.disks].sort((e,t)=>t.usedPercent-e.usedPercent||e.mount.localeCompare(t.mount));return(0,X.jsx)(p,{sx:Z,children:t.map(e=>(0,X.jsxs)(G,{title:e.mount,children:[(0,X.jsx)(K,{rows:[[`Filesystem`,`${e.fs} · ${e.type}`],[`Available`,B(e.available)],[`Used / capacity`,`${B(e.used)} / ${B(e.size)}`],[`Utilization`,V(e.usedPercent)]]}),(0,X.jsx)(S,{"aria-label":`Usage of ${e.mount}`,variant:`determinate`,value:Math.min(100,Math.max(0,e.usedPercent)),sx:{mt:1,height:3}})]},JSON.stringify([e.mount,e.fs])))})}function J({data:e}){return e.unanswered.network?(0,X.jsx)(b,{variant:`body2`,children:`Interface inventory unavailable.`}):e.network.interfaces.length?(0,X.jsx)(p,{sx:Z,children:e.network.interfaces.map(e=>(0,X.jsx)(G,{title:e.iface,children:(0,X.jsx)(K,{rows:[[`Link`,e.operstate],[`IPv4`,e.ip4||`—`],[`IPv6`,e.ip6||`—`],[`MAC`,e.mac||`—`],[`Link speed`,e.speed!=null&&e.speed>0?`${e.speed} Mbit/s`:`—`]]})},e.iface))}):(0,X.jsx)(b,{variant:`body2`,children:`No external network interfaces reported.`})}function fe({data:e,live:t}){let[n,r]=(0,Y.useState)(Date.now);A(()=>r(Date.now()),{intervalMs:5e3});let{ageMs:i,timing:a}=W(e,Math.max(n,Date.now())),o=new Date(e.timestamp);return(0,X.jsxs)(b,{component:`div`,variant:`caption`,color:a===`current`?`text.secondary`:`warning.main`,children:[a===`clock-skew`?`Host clock ahead`:a===`unknown`?`Collection time unavailable`:`Collected ${Math.max(0,Math.round(i/1e3))} s ago in ${e.collectedMs} ms`,Number.isFinite(o.getTime())&&(0,X.jsxs)(X.Fragment,{children:[` `,`·`,` `,(0,X.jsx)(`time`,{dateTime:o.toISOString(),title:o.toISOString(),children:o.toLocaleTimeString()})]}),a===`stale`&&` · Stale sample`,!t&&` · Updates paused`]})}function pe(){let[e,t]=r(),n=e.get(`node`)||``,i=e.get(`view`)||`overview`,{can:a}=oe(),s=a(`OmnitronNodes.getNodeSystemSnapshot`),c=s&&a(`OmnitronNodes.listNodes`),l=k(()=>o.listNodes(),{intervalMs:3e4,enabled:c,resourceKey:Number(c)}),u=(l.data??[]).filter(e=>!e.isLocal);function d(e,n){t(t=>{let r=new URLSearchParams(t);return n?r.set(e,n):r.delete(e),r})}return(0,X.jsx)(me,{target:n,allowed:!n||s,view:[`storage`,`network`].includes(i)?i:`overview`,onView:e=>d(`view`,e===`overview`?``:e),selector:(c||n)&&(0,X.jsxs)(v,{select:!0,label:`Host`,size:`small`,value:n,onChange:e=>d(`node`,e.target.value),slotProps:{select:{displayEmpty:!0},inputLabel:{shrink:!0}},sx:{minWidth:`10rem`,maxWidth:`100%`},children:[(0,X.jsx)(w,{value:``,children:`Connected daemon`}),n&&!u.some(e=>e.id===n)&&(0,X.jsx)(w,{value:n,children:n}),u.map(e=>(0,X.jsx)(w,{value:e.id,children:e.name},e.id))]}),inventoryError:c?l.error:null},JSON.stringify([n,!n||s]))}function me({target:e,allowed:t,view:n,onView:r,selector:i,inventoryError:s}){let[c,u]=(0,Y.useState)(!0),[d,f]=(0,Y.useState)(!1),{data:p,error:h,loading:_,refresh:v}=k(()=>e?o.getNodeSystemSnapshot({nodeId:e}):a.getSnapshot({fresh:!0}),{intervalMs:5e3,enabled:t,paused:!c,resourceKey:e}),y=async()=>{f(!0);try{await v()}finally{f(!1)}},x=p?W(p).missing:[];return(0,X.jsxs)(D,{spacing:2,sx:{minWidth:0},children:[(0,X.jsx)(L,{links:[{name:`System`}],action:(0,X.jsxs)(D,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[i,(0,X.jsx)(ee,{control:(0,X.jsx)(re,{size:`small`,checked:c,disabled:!t,onChange:e=>u(e.target.checked)}),label:`Live`,sx:{m:0}}),(0,X.jsx)(T,{size:`small`,"aria-label":`Refresh system snapshot`,"data-console-command":`refresh`,disabled:d||!t,onClick:()=>void y(),children:(0,X.jsx)(N,{})})]})}),s&&(0,X.jsxs)(O,{severity:`warning`,children:[`Node inventory unavailable · `,s]}),t?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(F,{active:_||d,label:_?`Reading host measurements`:`Requesting a system snapshot`}),h&&(0,X.jsxs)(O,{severity:p?`warning`:`error`,children:[p?`Showing the last snapshot`:`Host measurements unavailable`,` · `,h]}),p&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(D,{spacing:.25,children:[(0,X.jsxs)(D,{direction:`row`,spacing:1,sx:{alignItems:`center`,flexWrap:`wrap`},children:[(0,X.jsx)(b,{variant:`subtitle1`,sx:Q,children:!p.unanswered.os&&p.os.hostname||e||`Connected daemon`}),(0,X.jsx)(m,{size:`small`,variant:`outlined`,label:e?`Mesh node`:`Connected daemon`})]}),(0,X.jsx)(fe,{data:p,live:c})]}),x.length>0&&(0,X.jsxs)(O,{severity:`warning`,variant:`outlined`,children:[(0,X.jsxs)(b,{variant:`subtitle2`,children:[`Partial snapshot · `,x.length,` `,x.length===1?`section`:`sections`,` unavailable`]}),x.map(([e,t])=>(0,X.jsxs)(b,{component:`div`,variant:`body2`,children:[(0,X.jsx)(`strong`,{children:e}),` · `,(0,X.jsxs)(`span`,{children:[`Did not answer — `,t]})]},e))]}),(0,X.jsx)(le,{data:p}),(0,X.jsx)(g,{}),(0,X.jsx)(H,{"aria-label":`System details`,value:n,onChange:r,variant:`scrollable`,scrollButtons:`auto`,tabs:[{value:`overview`,label:`Overview`,content:(0,X.jsx)(ue,{data:p})},{value:`storage`,label:`Storage`,content:(0,X.jsx)(de,{data:p})},{value:`network`,label:`Network`,content:(0,X.jsx)(J,{data:p})}]})]}),!c&&!p&&!h&&(0,X.jsx)(l,{onClick:()=>void y(),children:`Read snapshot`})]}):(0,X.jsx)(O,{severity:`warning`,children:`Remote system readings are unavailable for this session. Select the connected daemon to inspect its host.`})]})}var Y,X,Z,Q;function $(){return($=e((()=>{Y=t(),s(),u(),d(),f(),h(),C(),x(),E(),ie(),ne(),te(),y(),_(),ae(),U(),c(),se(),M(),I(),P(),j(),i(),z(),X=n(),Z={display:`grid`,gridTemplateColumns:{xs:`minmax(0,1fr)`,md:`repeat(2,minmax(0,1fr))`},gap:{xs:2,md:3}},Q={fontFamily:`monospace`,fontVariantNumeric:`tabular-nums`,overflowWrap:`anywhere`}})))()}$();export{pe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{Vt as r,Yt as i}from"./mui-BTN91yBK.js";import{dn as a,un as o}from"./mui-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{Vt as r,Yt as i}from"./mui-BTN91yBK.js";import{dn as a,un as o}from"./mui-Bdr6Ks5j.js";import{C as s,H as c,V as l,w as u}from"./mui-SNRRJ_vi.js";import{A as d,B as f,C as p,D as m,O as h,b as g,d as _,f as v,g as y,h as b,k as x,l as S,u as C,w,y as T,z as E}from"./mui-B3fJdIMc.js";import{ct as D,st as O}from"./mui-CMWGTMXv.js";import{S as k,x as A}from"./mui-CPEkFAPo.js";import{n as j,r as M,t as N}from"./table-viewport-DdZ1yAKm.js";function P({columns:e,data:t,rowKey:n=`id`,selectable:r=!1,selected:i=[],onSelectChange:a,sortable:o=!1,sortBy:c,sortOrder:u=`asc`,onSortChange:d,paginated:f=!1,page:h=0,rowsPerPage:g=10,totalRows:v,onPageChange:y,onRowsPerPageChange:C,rowsPerPageOptions:w=[5,10,25,50],emptyContent:T,loading:D=!1,loadingRows:O=5,dense:k=!1,stickyHeader:j=!1,maxHeight:P,onRowClick:B,containerSx:V,scrollLabel:H,sx:U,ref:W,...G}){let K=(0,F.useCallback)((e,t)=>{if(typeof n==`function`)return n(e);let r=e[n];return r===void 0?t:String(r)},[n]),q=(0,F.useMemo)(()=>t.length>0&&i.length===t.length,[t.length,i.length]),J=(0,F.useMemo)(()=>i.length>0&&i.length<t.length,[t.length,i.length]),Y=(0,F.useCallback)(e=>{if(e.target.checked){let e=t.map((e,t)=>K(e,t));a?.(e)}else a?.([])},[t,K,a]),X=(0,F.useCallback)(e=>{let t=i.includes(e)?i.filter(t=>t!==e):[...i,e];a?.(t)},[i,a]),Z=(0,F.useCallback)(e=>{d?.(e,c===e&&u===`asc`?`desc`:`asc`)},[c,u,d]),Q=(0,F.useCallback)((e,t)=>{y?.(t)},[y]),$=(0,F.useCallback)(e=>{C?.(parseInt(e.target.value,10)),y?.(0)},[C,y]),ee=v??t.length,te=(0,F.useMemo)(()=>f&&v===void 0?t.slice(h*g,h*g+g):t,[t,f,h,g,v]);return!D&&t.length===0?(0,I.jsx)(L,{sx:V,children:(0,I.jsx)(l,{sx:{p:4,textAlign:`center`},children:T||(0,I.jsx)(E,{sx:{color:`text.secondary`},children:`No data available`})})}):(0,I.jsxs)(L,{sx:V,children:[(0,I.jsx)(N,{label:H,maxHeight:P,children:(0,I.jsxs)(x,{ref:W,stickyHeader:j,size:k?`small`:`medium`,sx:U,...G,children:[(0,I.jsx)(R,{children:(0,I.jsxs)(_,{children:[r&&(0,I.jsx)(p,{padding:`checkbox`,children:(0,I.jsx)(s,{indeterminate:J,checked:q,onChange:Y})}),e.map(e=>(0,I.jsx)(p,{align:e.align||`left`,style:{width:e.width,minWidth:e.minWidth},sortDirection:c===e.id&&u,children:o&&e.sortable!==!1?(0,I.jsx)(S,{active:c===e.id,direction:c===e.id?u:`asc`,onClick:()=>Z(String(e.id)),children:e.label}):e.label},String(e.id)))]})}),(0,I.jsxs)(m,{children:[D&&Array.from({length:Math.max(1,O)},(t,n)=>(0,I.jsxs)(_,{children:[r&&(0,I.jsx)(p,{padding:`checkbox`,children:(0,I.jsx)(A,{variant:`rectangular`,width:18,height:18})}),e.map(e=>(0,I.jsx)(p,{align:e.align||`left`,children:(0,I.jsx)(A,{variant:`text`,width:e.width??`80%`})},String(e.id)))]},`loading-${n}`)),!D&&te.map((t,n)=>{let a=K(t,n),o=i.includes(a);return(0,I.jsxs)(z,{hover:!0,selected:o,tabIndex:B||r?-1:void 0,"data-row-action":B?!0:void 0,onClick:B?e=>{M(e.target)&&B(t,n)}:void 0,sx:{cursor:B?`pointer`:`default`,"&:focus-visible":{outline:`2px solid`,outlineColor:`primary.main`,outlineOffset:-2}},children:[r&&(0,I.jsx)(p,{padding:`checkbox`,children:(0,I.jsx)(s,{checked:o,onClick:e=>e.stopPropagation(),onChange:()=>X(a)})}),e.map(e=>{let r=t[e.id];return(0,I.jsx)(p,{align:e.align||`left`,children:e.render?e.render(t,n):e.format?e.format(r):String(r??``)},String(e.id))})]},a)})]})]})}),f&&(0,I.jsx)(b,{component:`div`,count:ee,page:h,rowsPerPage:g,rowsPerPageOptions:w,onPageChange:Q,onRowsPerPageChange:$})]})}var F,I,L,R,z;function B(){return(B=e((()=>{F=t(),d(),j(),h(),w(),g(),v(),C(),y(),u(),k(),D(),c(),f(),o(),i(),I=n(),L=a(O)(({theme:e})=>({borderRadius:e.shape.borderRadius,border:`1px solid ${e.palette.divider}`,overflow:`hidden`,minWidth:0,maxWidth:`100%`})),R=a(T)(({theme:e})=>({backgroundColor:r(e.palette.grey[500],.08),"& .MuiTableCell-head":{fontWeight:600,backgroundColor:e.vars?.palette.background.paper??e.palette.background.paper}})),z=a(_)(({theme:e})=>({"&:hover":{backgroundColor:r(e.palette.primary.main,.04)},"&.Mui-selected":{backgroundColor:r(e.palette.primary.main,.08),"&:hover":{backgroundColor:r(e.palette.primary.main,.12)}}}))})))()}export{B as n,P as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{t}from"./react-BN8qLIAi.js";import{S as n,x as r}from"./mui-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{t}from"./react-BN8qLIAi.js";import{S as n,x as r}from"./mui-B3fJdIMc.js";function i(e){return e instanceof Element&&!e.closest(c)}function a(e){if(e.defaultPrevented||e.nativeEvent.isComposing||e.ctrlKey||e.metaKey||e.altKey)return;let t=e.target;if(!i(t))return;let n=e.currentTarget,r=Array.from(n.querySelectorAll(`tbody > tr`)).filter(e=>!e.querySelector(`[role="progressbar"],.MuiSkeleton-root`)),a=t.closest(`tbody > tr`),o=a?r.indexOf(a):-1,s=Math.max(1,Math.floor(n.clientHeight/(a?.getBoundingClientRect().height||40))||10),c={ArrowDown:o+1,ArrowUp:o<0?r.length-1:o-1,Home:0,End:r.length-1,PageDown:o+s,PageUp:o-s};if(e.key in c&&r.length){e.preventDefault();let t=r[Math.max(0,Math.min(r.length-1,c[e.key]))];t.tabIndex=-1,t.focus({preventScroll:!0}),t.scrollIntoView?.({block:`nearest`})}else if(e.key===`Escape`&&a)e.preventDefault(),e.stopPropagation(),n.focus({preventScroll:!0});else if(a&&(e.key===`Enter`||e.key===` `)){let t=e.key===` `?a.querySelector(`input[type="checkbox"]:not(:disabled)`):null;(t||e.key===`Enter`||a.hasAttribute(`data-row-action`))&&(e.preventDefault(),(t??a).click())}}function o({label:e=`Table`,maxHeight:t,keyboardNavigation:n=!0,onKeyDown:i,sx:o,...c}){return(0,s.jsx)(r,{role:`region`,"aria-label":e,tabIndex:0,"data-keyboard-region":n?e:void 0,onKeyDown:e=>{i?.(e),n&&a(e)},...c,sx:[{minWidth:0,maxWidth:`100%`,maxHeight:t,overflow:`auto`,overscrollBehaviorX:`contain`,"&:focus-visible":{outline:`2px solid`,outlineColor:`primary.main`,outlineOffset:-2},"& tbody > tr:focus-visible":{outline:`2px solid`,outlineColor:`primary.main`,outlineOffset:-2}},...Array.isArray(o)?o:[o]]})}var s,c;function l(){return(l=e((()=>{n(),s=t(),c=`input,textarea,select,button,a,[contenteditable="true"],[role="button"],[role="checkbox"]`})))()}export{l as n,i as r,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{H as r,V as i}from"./mui-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{H as r,V as i}from"./mui-SNRRJ_vi.js";import{M as a,c as o,j as s,s as c}from"./mui-B3fJdIMc.js";import{it as l,rt as u}from"./mui-CMWGTMXv.js";import{j as d,u as f}from"./controls-CqeGPnaF.js";function p({tabs:e,value:t,defaultValue:n,onChange:r,onClose:a,children:o,keepMounted:l=!1,action:d,sx:p,..._}){let[v,y]=(0,h.useState)(n??e?.[0]?.value??``),b=t??v,x=(0,h.useId)(),S=(0,h.useRef)(new Map),C=(0,h.useRef)(null),w=(0,h.useCallback)((e,n)=>{t===void 0&&y(n),r?.(n)},[t,r]),T=(0,h.useMemo)(()=>{if(e)return e;let t=[];return h.Children.forEach(o,e=>{if((0,h.isValidElement)(e)&&e.type===m){let n=e.props;t.push({value:n.value,label:n.label??n.value,icon:n.icon,content:n.children,disabled:n.disabled,closable:n.closable,closeDisabled:n.closeDisabled,closeLabel:n.closeLabel})}}),t},[e,o]),E=e=>{if(!a||!e.closable||e.disabled||e.closeDisabled)return;let t=T.indexOf(e),n=T.slice(t+1).find(e=>!e.disabled)??T.slice(0,t).reverse().find(e=>!e.disabled);C.current={value:e.value,next:n?.value},a(e.value)};(0,h.useEffect)(()=>{let e=C.current;e&&!T.some(t=>t.value===e.value)&&(C.current=null,t===void 0&&b===e.value&&(y(e.next??``),e.next&&r?.(e.next)),e.next&&S.current.get(e.next)?.focus())},[T,t,b,r]);let D=d!=null&&d!==!1;return(0,g.jsxs)(i,{sx:{width:`100%`,minWidth:0,flexShrink:0},children:[(0,g.jsxs)(i,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:2,minWidth:0},children:[(0,g.jsx)(c,{value:b||!1,onChange:w,..._,sx:[{flex:1,minWidth:0},...Array.isArray(p)?p:[p]],children:T.map(e=>{let t=!!(e.closable&&a);return(0,g.jsx)(s,{ref:t=>{t?S.current.set(e.value,t):S.current.delete(e.value)},component:t?`div`:`button`,id:`${x}-tab-${e.value}`,"aria-controls":e.content===void 0?void 0:`${x}-panel-${e.value}`,"aria-label":e.label,"aria-keyshortcuts":t&&!e.closeDisabled?`Delete`:void 0,value:e.value,label:t?(0,g.jsxs)(i,{component:`span`,sx:{display:`inline-flex`,alignItems:`center`,gap:.5,minWidth:0,maxWidth:`100%`},children:[(0,g.jsx)(i,{component:`span`,sx:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.label}),(0,g.jsx)(u,{component:`button`,type:`button`,size:`small`,tabIndex:-1,"aria-label":e.closeLabel??`Close ${e.label}`,title:e.closeLabel??`Close ${e.label}`,disabled:e.disabled||e.closeDisabled,sx:{p:.25,flexShrink:0,color:`text.secondary`},onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:t=>{t.stopPropagation(),E(e)},onKeyDown:e=>e.stopPropagation(),children:(0,g.jsx)(f,{sx:{fontSize:16}})})]}):e.label,icon:e.icon,iconPosition:`start`,disabled:e.disabled,onKeyDown:n=>{n.key===`Delete`&&t&&!e.closeDisabled&&(n.preventDefault(),n.stopPropagation(),E(e))}},e.value)})}),D&&(0,g.jsx)(i,{sx:{display:`flex`,alignItems:`center`,gap:1,flexShrink:0},children:d})]}),T.map(e=>{let t=e.value===b;return!t&&!l||e.content===void 0?null:(0,g.jsx)(i,{role:`tabpanel`,hidden:!t,id:`${x}-panel-${e.value}`,"aria-labelledby":`${x}-tab-${e.value}`,sx:{pt:2},children:e.content},e.value)})]})}function m({children:e}){return(0,g.jsx)(g.Fragment,{children:e})}var h,g;function _(){return(_=e((()=>{h=t(),o(),a(),r(),l(),d(),g=n()})))()}export{p as n,_ as r,m as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{O as r,P as i,T as a,U as o,h as s,y as c,z as l}from"./client-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{O as r,P as i,T as a,U as o,h as s,y as c,z as l}from"./client-CgyTwq9g.js";import{Vt as u,Yt as d}from"./mui-BTN91yBK.js";import{_n as f,gn as p}from"./mui-Bdr6Ks5j.js";import{F as m,H as h,I as g,M as _,Q as v,V as ee,Z as te,at as y,c as ne,d as re,f as ie,g as b,h as ae,j as x,m as oe,ot as S,p as se,s as ce}from"./mui-SNRRJ_vi.js";import{B as le,F as C,I as w,a as ue,i as de,o as T,r as fe,z as E}from"./mui-B3fJdIMc.js";import{d as pe,f as me,it as he,l as ge,rt as _e,u as ve}from"./mui-CMWGTMXv.js";import{_ as ye,v as D}from"./mui-CPEkFAPo.js";import{E as be,a as xe,b as Se,j as Ce,n as we,t as Te,u as Ee}from"./controls-CqeGPnaF.js";import{n as De,t as Oe}from"./use-copy-to-clipboard-BWYpToS3.js";import{n as ke,t as Ae}from"./store-DtTtbc9H.js";import{n as je,t as Me}from"./operation-status-DHyYOT7G.js";import{n as Ne,t as Pe}from"./page-breadcrumbs-3R8RZ3nA.js";import{a as Fe,i as Ie,n as Le,o as Re,r as ze,t as Be}from"./terminal-input-b7f2VoE_.js";import{n as Ve,r as He}from"./tabs-DGqBkXh_.js";function Ue(e){return e.replace(/\r?\n/g,`\r`)}function We(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Ge(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Ke(e,t,n,r){e.stopPropagation(),e.clipboardData&&qe(e.clipboardData.getData(`text/plain`),t,n,r)}function qe(e,t,n,r){e=Ue(e),e=We(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Je(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Ye(e,t,n,r,i){Je(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Xe(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Ze(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}function Qe(e){return e[$n]||[]}function O(e){if(er.has(e))return er.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);$e(t,e,r)};return t._id=e,er.set(e,t),t}function $e(e,t,n){t[Qn]===t?t[$n].push({id:e,index:n}):(t[$n]=[{id:e,index:n}],t[Qn]=t)}function et(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
2
2
|
|
|
3
3
|
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}function tt(e){nt(e)||xr.onUnexpectedError(e)}function nt(e){return e instanceof Cr||e instanceof Error&&e.name===Sr&&e.message===Sr}function rt(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}function it(e,t,n=0,r=e.length){let i=n,a=r;for(;i<a;){let n=Math.floor((i+a)/2);t(e[n])?i=n+1:a=n}return i-1}function at(e,t=0){return e[e.length-(1+t)]}function ot(e,t){return(n,r)=>t(e(n),e(r))}function st(e,t){let n=Object.create(null);for(let r of e){let e=t(r),i=n[e];i||=n[e]=[],i.push(r)}return n}function ct(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}function lt(e){Nr=e}function ut(e){return Nr?.trackDisposable(e),e}function dt(e){Nr?.markAsDisposed(e)}function ft(e,t){Nr?.setParent(e,t)}function pt(e,t){if(Nr)for(let n of e)Nr.setParent(n,t)}function mt(e){return Nr?.markAsSingleton(e),e}function ht(e){if(jr.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function gt(...e){let t=k(()=>ht(e));return pt(e,t),t}function k(e){let t=ut({dispose:ct(()=>{dt(t),e()})});return t}function _t(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}function vt(e){return ci.INSTANCE.getZoomFactor(e)}function yt(){return mi}function bt(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return Vi.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(ui)switch(t){case 59:return 85;case 60:if(Oi)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Di)return 57}else if(di&&(Di&&t===93||!Di&&t===92))return 57;return Bi[t]||0}function xt(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,n=e.parent.location;if(t.origin!==`null`&&n.origin!==`null`&&t.origin!==n.origin)return null}catch{return null}return e.parent}function St(e){return 55296<=e&&e<=56319}function Ct(e){return 56320<=e&&e<=57343}function wt(e,t){return(e-55296<<10)+(t-56320)+65536}function Tt(e){return Et(e,0)}function Et(e,t){switch(typeof e){case`object`:return e===null?Dt(349,t):Array.isArray(e)?At(e,t):jt(e,t);case`string`:return kt(e,t);case`boolean`:return Ot(e,t);case`number`:return Dt(e,t);case`undefined`:return Dt(937,t);default:return Dt(617,t)}}function Dt(e,t){return(t<<5)-t+e|0}function Ot(e,t){return Dt(e?433:863,t)}function kt(e,t){t=Dt(149417,t);for(let n=0,r=e.length;n<r;n++)t=Dt(e.charCodeAt(n),t);return t}function At(e,t){return t=Dt(104579,t),e.reduce((e,t)=>Et(t,e),t)}function jt(e,t){return t=Dt(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=kt(n,t),Et(e[n],t)),t)}function Mt(e,t,n=32){let r=n-t,i=~((1<<r)-1);return(e<<t|(i&e)>>>r)>>>0}function Nt(e,t=0,n=e.byteLength,r=0){for(let i=0;i<n;i++)e[t+i]=r}function Pt(e,t,n=`0`){for(;e.length<t;)e=n+e;return e}function Ft(e,t=32){return e instanceof ArrayBuffer?Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,`0`)).join(``):Pt((e>>>0).toString(16),t/4)}function A(e,t,n,r){return new va(e,t,n,r)}function It(e,t){return function(n){return t(new Zi(e,n))}}function Lt(e){return function(t){return e(new Ji(t))}}function Rt(e){let t=e.getBoundingClientRect(),n=ca(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}function zt(e){return typeof e==`number`?`${e}px`:e}function Bt(e){return new wa(e)}function Vt(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}function Ht(e,t){let n=t-e;return function(t){return e+n*Gt(t)}}function Ut(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}function Wt(e){return e**3}function Gt(e){return 1-Wt(1-e)}function Kt(e){let t={lazyRender:typeof e.lazyRender<`u`&&e.lazyRender,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`&&e.alwaysConsumeMouseWheel,scrollYToX:typeof e.scrollYToX<`u`&&e.scrollYToX,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`&&e.horizontalHasArrows,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`&&e.verticalHasArrows,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`&&e.scrollByPage};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,Di&&(t.className+=` mac`),t}function qt(e){let t=e.toString(16);return t.length<2?`0`+t:t}function Jt(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function Yt(e){return 57508<=e&&e<=57558}function Xt(e){return 9472<=e&&e<=9631}function Zt(e){return Yt(e)||Xt(e)}function Qt(){return{css:{canvas:$t(),cell:$t()},device:{canvas:$t(),cell:$t(),char:{width:0,height:0,left:0,top:0}}}}function $t(){return{width:0,height:0}}function en(e,t,n){for(;e.length<n;)e=t+e;return e}function tn(){return new mo}function nn(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function rn(e,t,n,r,i,a,o,s,c){if(!a)return;let l=nn(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}function an(){if(!Ro)return 0;let e=Po.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}function on(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return ln(i,a,e,t,n,r)+un(a,t,n,r)+dn(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,vn(Math.abs(i-e),_n(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return vn(cn(a>t?e:i,n)+(s-1)*n.cols+1+sn(a>t?i:e,n),_n(o,r))}function sn(e,t){return e-1}function cn(e,t){return t.cols-e}function ln(e,t,n,r,i,a){return un(t,r,i,a).length===0?``:vn(gn(e,t,e,t-pn(t,i),!1,i).length,_n(`D`,a))}function un(e,t,n,r){let i=e-pn(e,n),a=t-pn(t,n);return vn(Math.abs(i-a)-fn(e,t,n),_n(hn(e,t),r))}function dn(e,t,n,r,i,a){let o;o=un(t,r,i,a).length>0?r-pn(r,i):t;let s=r,c=mn(e,t,n,r,i,a);return vn(gn(e,o,n,s,c===`C`,i).length,_n(c,a))}function fn(e,t,n){let r=0,i=e-pn(e,n),a=t-pn(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=hn(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function pn(e,t){let n=0,r=t.buffer.lines.get(e),i=r?.isWrapped;for(;i&&e>=0&&e<t.rows;)n++,r=t.buffer.lines.get(--e),i=r?.isWrapped;return n}function mn(e,t,n,r,i,a){let o;return o=un(n,r,i,a).length>0?r-pn(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function hn(e,t){return e>t?`A`:`B`}function gn(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&s<a.buffer.lines.length;)o+=i?1:-1,i&&o>a.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function _n(e,t){let n=t?`O`:`[`;return R.ESC+n+e}function vn(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}function yn(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}function j(e,t){if(e!==void 0)try{return G.toColor(e)}catch{}return t}function bn(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length-1;s++){let c=s,l=e.get(++c);if(!l.isWrapped)continue;let u=[e.get(s)];for(;c<e.length&&l.isWrapped;)u.push(l),l=e.get(++c);if(!a&&r>=s&&r<c){s+=u.length-1;continue}let d=0,f=wn(u,d,t),p=1,m=0;for(;p<u.length;){let e=wn(u,p,t),r=e-m,a=n-f,o=Math.min(r,a);u[d].copyCellsFrom(u[p],m,f,o,!1),f+=o,f===n&&(d++,f=0),m+=o,m===e&&(p++,m=0),f===0&&d!==0&&u[d-1].getWidth(n-1)===2&&(u[d].copyCellsFrom(u[d-1],n-1,f++,1,!1),u[d-1].setCell(n-1,i))}u[d].replaceCells(f,n,i);let h=0;for(let e=u.length-1;e>0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function xn(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;o<e.length;o++)if(i===o){let n=t[++r];e.onDeleteEmitter.fire({index:o-a,amount:n}),o+=n-1,a+=n,i=t[++r]}else n.push(o);return{layout:n,countRemoved:a}}function Sn(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e.get(t[r]));for(let t=0;t<n.length;t++)e.set(t,n[t]);e.length=t.length}function Cn(e,t,n){let r=[],i=e.map((n,r)=>wn(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;s<i;){if(i-s<n){r.push(i-s);break}a+=n;let c=wn(e,o,t);a>c&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function wn(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}function Tn(e){return e===`block`||e===`underline`||e===`bar`}function En(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&En(e[r],t-1);return n}function Dn(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}function On(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}function kn(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}function An(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=sc.exec(t);if(e){let t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(t.indexOf(`#`)===0&&(t=t.slice(1),cc.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,n=[0,0,0];for(let r=0;r<3;++r){let i=parseInt(t.slice(e*r,e*r+e),16);n[r]=e===1?i<<4:e===2?i:e===3?i>>4:i>>8}return n}}function jn(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function Mn(e,t=16){let[n,r,i]=e;return`rgb:${jn(n,t)}/${jn(r,t)}/${jn(i,t)}`}function Nn(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}function Pn(e){return 0<=e&&e<256}function Fn(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=+!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?i.key=t?R.ESC+`OA`:R.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?R.ESC+`OD`:R.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?R.ESC+`OC`:R.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?R.ESC+`OB`:R.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:R.DEL,e.altKey&&(i.key=R.ESC+i.key);break;case 9:if(e.shiftKey){i.key=R.ESC+`[Z`;break}i.key=R.HT,i.cancel=!0;break;case 13:i.key=e.altKey?R.ESC+R.CR:R.CR,i.cancel=!0;break;case 27:i.key=R.ESC,e.altKey&&(i.key=R.ESC+R.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?R.ESC+`[1;`+(a+1)+`D`:t?R.ESC+`OD`:R.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?R.ESC+`[1;`+(a+1)+`C`:t?R.ESC+`OC`:R.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?R.ESC+`[1;`+(a+1)+`A`:t?R.ESC+`OA`:R.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?R.ESC+`[1;`+(a+1)+`B`:t?R.ESC+`OB`:R.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=R.ESC+`[2~`);break;case 46:i.key=a?R.ESC+`[3;`+(a+1)+`~`:R.ESC+`[3~`;break;case 36:i.key=a?R.ESC+`[1;`+(a+1)+`H`:t?R.ESC+`OH`:R.ESC+`[H`;break;case 35:i.key=a?R.ESC+`[1;`+(a+1)+`F`:t?R.ESC+`OF`:R.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?R.ESC+`[5;`+(a+1)+`~`:R.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?R.ESC+`[6;`+(a+1)+`~`:R.ESC+`[6~`;break;case 112:i.key=a?R.ESC+`[1;`+(a+1)+`P`:R.ESC+`OP`;break;case 113:i.key=a?R.ESC+`[1;`+(a+1)+`Q`:R.ESC+`OQ`;break;case 114:i.key=a?R.ESC+`[1;`+(a+1)+`R`:R.ESC+`OR`;break;case 115:i.key=a?R.ESC+`[1;`+(a+1)+`S`:R.ESC+`OS`;break;case 116:i.key=a?R.ESC+`[15;`+(a+1)+`~`:R.ESC+`[15~`;break;case 117:i.key=a?R.ESC+`[17;`+(a+1)+`~`:R.ESC+`[17~`;break;case 118:i.key=a?R.ESC+`[18;`+(a+1)+`~`:R.ESC+`[18~`;break;case 119:i.key=a?R.ESC+`[19;`+(a+1)+`~`:R.ESC+`[19~`;break;case 120:i.key=a?R.ESC+`[20;`+(a+1)+`~`:R.ESC+`[20~`;break;case 121:i.key=a?R.ESC+`[21;`+(a+1)+`~`:R.ESC+`[21~`;break;case 122:i.key=a?R.ESC+`[23;`+(a+1)+`~`:R.ESC+`[23~`;break;case 123:i.key=a?R.ESC+`[24;`+(a+1)+`~`:R.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=R.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=R.DEL:e.keyCode===219?i.key=R.ESC:e.keyCode===220?i.key=R.FS:e.keyCode===221&&(i.key=R.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=Cc[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=R.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=R.ESC+n}else if(e.keyCode===32)i.key=R.ESC+(e.ctrlKey?R.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=R.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=R.US),e.key===`@`&&(i.key=R.NUL))}return i}function In(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}function Ln(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Rn,zn,Bn,M,N,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,P,Lr,Rr,zr,F,Br,Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,I,oi,si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra,ia,aa,oa,sa,ca,la,ua,da,fa,pa,ma,ha,ga,_a,va,ya,ba,xa,Sa,Ca,L,wa,Ta,Ea,Da,Oa,ka,Aa,ja,Ma,Na,Pa,Fa,Ia,La,Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo,to,no,R,ro,io,ao,z,B,V,H,oo,U,W,G,so,co,lo,uo,fo,po,mo,ho,go,_o,vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro,zo,Bo,Vo,Ho,Uo,Wo,Go,Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,K,ss,cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,q,J,bs,xs,Ss,Cs,ws,Y,Ts,Es,Ds,Os,ks,As,js,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,X,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc,ic,ac,oc,sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c,vc,yc,bc,xc,Sc,Cc,Z,wc,Tc,Ec,Dc,Oc,kc,Ac,jc,Mc,Nc,Pc,Fc,Ic,Lc,Rc,zc,Bc,Vc,Hc,Uc,Wc;function Gc(){return(Gc=e((()=>{if(Rn=Object.defineProperty,zn=Object.getOwnPropertyDescriptor,Bn=(e,t)=>{for(var n in t)Rn(e,n,{get:t[n],enumerable:!0})},M=(e,t,n,r)=>{for(var i=r>1?void 0:r?zn(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Rn(t,n,i),i},N=(e,t)=>(n,r)=>t(n,r,e),Vn=`Terminal input`,Hn={get:()=>Vn,set:e=>Vn=e},Un=`Too much output to announce, navigate to rows manually to read`,Wn={get:()=>Un,set:e=>Un=e},Gn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o)}else i!==65279&&(t[r++]=i)}return r}},Kn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128||(c=(i&31)<<6|a&63,c<128)){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},qn=``,Jn=` `,Yn=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Xn}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Xn=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Zn=class e extends Yn{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Xn,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Xe(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Qn=`di$target`,$n=`di$dependencies`,er=new Map,tr=O(`BufferService`),nr=O(`CoreMouseService`),rr=O(`CoreService`),ir=O(`CharsetService`),ar=O(`InstantiationService`),or=O(`LogService`),sr=O(`OptionsService`),cr=O(`OscLinkService`),lr=O(`UnicodeService`),ur=O(`DecorationService`),dr=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Zn,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):et(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}},dr=M([N(0,tr),N(1,sr),N(2,cr)],dr),fr=O(`CharSizeService`),pr=O(`CoreBrowserService`),mr=O(`MouseService`),hr=O(`RenderService`),gr=O(`SelectionService`),_r=O(`CharacterJoinerService`),vr=O(`ThemeService`),yr=O(`LinkProviderService`),br=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?wr.isErrorNoTelemetry(e)?new wr(e.message+`
|
|
4
4
|
|