@undefineds.co/xpod 0.4.25 → 0.4.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/ApiServer.d.ts +1 -0
- package/dist/api/ApiServer.js +38 -0
- package/dist/api/ai-config/AiConfigStore.js +18 -6
- package/dist/api/ai-gateway/connect/index.d.ts +1 -0
- package/dist/api/ai-gateway/connect/index.js +39 -18
- package/dist/api/ai-gateway/models/ProviderModelsAdapter.js +5 -2
- package/dist/api/container/common.js +8 -2
- package/dist/api/container/index.js +2 -2
- package/dist/api/container/local.js +6 -3
- package/dist/api/handlers/AiGatewayHandler.d.ts +1 -0
- package/dist/api/handlers/AiGatewayHandler.js +53 -3
- package/dist/api/handlers/AiGatewayManagementHandler.js +9 -0
- package/dist/api/handlers/TaskHandler.js +15 -10
- package/dist/api/network/NetworkEnvironmentConfigurationStore.js +1 -1
- package/dist/api/runs/ManagedRunWorker.d.ts +0 -1
- package/dist/api/runs/ManagedRunWorker.js +2 -14
- package/dist/api/runs/PiAgentRuntimeDriver.d.ts +0 -8
- package/dist/api/runs/PiAgentRuntimeDriver.js +65 -21
- package/dist/api/runs/RunStateCenter.js +1 -0
- package/dist/api/runs/store.d.ts +1 -0
- package/dist/api/runs/store.js +13 -0
- package/dist/api/tasks/TaskMaterializer.js +13 -6
- package/dist/api/tasks/TaskResumeDiagnostics.d.ts +28 -0
- package/dist/api/tasks/TaskResumeDiagnostics.js +148 -0
- package/dist/api/tasks/TaskService.js +40 -23
- package/dist/storage/conditions/StorageETagHandler.d.ts +1 -1
- package/dist/storage/conditions/StorageETagHandler.js +13 -4
- package/dist/util/task-model-diagnostics.d.ts +67 -0
- package/dist/util/task-model-diagnostics.js +118 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiApiKeyPool.d.ts +1 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiApiKeyPool.js +2 -1
- package/node_modules/@undefineds.co/ai-connections/dist/AiConnectDialog.d.ts +1 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiCredentialPoolSection.d.ts +1 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiCredentialPoolSection.js +10 -10
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeyRow.d.ts +3 -1
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeyRow.js +2 -2
- package/node_modules/@undefineds.co/ai-connections/dist/AiGatewayKeysSection.js +77 -23
- package/node_modules/@undefineds.co/ai-connections/dist/AiProviderCard.d.ts +1 -0
- package/node_modules/@undefineds.co/ai-connections/dist/AiSortableCredentialList.js +59 -59
- package/node_modules/@undefineds.co/ai-connections/dist/collection-runtime.js +2 -0
- package/node_modules/@undefineds.co/ai-connections/dist/collections.js +14 -6
- package/node_modules/@undefineds.co/ai-connections/dist/contract/ai-connections-client.d.ts +2 -1
- package/node_modules/@undefineds.co/ai-connections/dist/contract/ai-connections-client.js +1 -0
- package/node_modules/@undefineds.co/ai-connections/dist/contract/client/gateway-model-roles.d.ts +11 -0
- package/node_modules/@undefineds.co/ai-connections/dist/contract/client/gateway-model-roles.js +11 -0
- package/node_modules/@undefineds.co/ai-connections/dist/contract/client/normalize.d.ts +2 -1
- package/node_modules/@undefineds.co/ai-connections/dist/contract/client/normalize.js +12 -5
- package/node_modules/@undefineds.co/ai-connections/dist/contract/client/request.js +10 -2
- package/node_modules/@undefineds.co/ai-connections/dist/contract/client/types.d.ts +10 -0
- package/node_modules/@undefineds.co/ai-connections/package.json +1 -1
- package/node_modules/@undefineds.co/extension-sdk/dist/web.d.ts +1 -0
- package/node_modules/@undefineds.co/extension-sdk/package.json +1 -1
- package/node_modules/@undefineds.co/pod-collections/dist/index.cjs +60 -13
- package/node_modules/@undefineds.co/pod-collections/dist/mapping.d.ts +16 -1
- package/node_modules/@undefineds.co/pod-collections/dist/mapping.js +51 -0
- package/node_modules/@undefineds.co/pod-collections/dist/mutations.js +14 -18
- package/node_modules/@undefineds.co/pod-collections/package.json +1 -1
- package/node_modules/@undefineds.co/shared-ui/dist/list.d.ts +8 -1
- package/node_modules/@undefineds.co/shared-ui/dist/list.js +4 -1
- package/node_modules/@undefineds.co/shared-ui/dist/pod-sign-in/IdpChrome.d.ts +1 -1
- package/node_modules/@undefineds.co/shared-ui/dist/pod-sign-in/IdpChrome.js +2 -2
- package/node_modules/@undefineds.co/shared-ui/dist/pod-sign-in/IdpViews.js +2 -2
- package/node_modules/@undefineds.co/shared-ui/dist/pod-sign-in/PodSignInFrame.d.ts +3 -3
- package/node_modules/@undefineds.co/shared-ui/dist/pod-sign-in/PodSignInFrame.js +5 -5
- package/node_modules/@undefineds.co/shared-ui/dist/pod-sign-in/parts.d.ts +5 -5
- package/node_modules/@undefineds.co/shared-ui/dist/pod-sign-in/parts.js +5 -5
- package/node_modules/@undefineds.co/shared-ui/dist/section-header.js +1 -1
- package/node_modules/@undefineds.co/shared-ui/dist/theme.css +5 -32
- package/node_modules/@undefineds.co/shared-ui/package.json +1 -1
- package/node_modules/@undefineds.co/solid-sdk/package.json +1 -1
- package/package.json +2 -2
- package/static/app/assets/main.css +1 -1
- package/static/app/assets/main.js +1 -1
- package/static/dashboard/assets/AccountAuthBoundary-Dv52SZc6.js +1 -0
- package/static/dashboard/assets/DesktopOidcCallback-DaT_Rumf.js +1 -0
- package/static/dashboard/assets/DevicePages-HjclpIVm.js +2 -0
- package/static/dashboard/assets/ModelsPage-Be2TPd-x.js +11 -0
- package/static/dashboard/assets/{PaneListHeader-Dn5O0mwy.js → PaneListHeader-DtvnRmFq.js} +1 -1
- package/static/dashboard/assets/{PodDeletionAuthorizationPanel-D3NOG6ZM.js → PodDeletionAuthorizationPanel-BJk_8rJq.js} +3 -3
- package/static/dashboard/assets/PodPage-C4gzEspV.js +1 -0
- package/static/dashboard/assets/{SystemSettingsPage-BNQP_Yuc.js → SystemSettingsPage-HaNrP1H1.js} +1 -1
- package/static/dashboard/assets/TasksPage-BdO5K2L7.js +1 -0
- package/static/dashboard/assets/{WebDesktopEntry-vnb4CZWp.js → WebDesktopEntry-Cj9_ZfJU.js} +1 -1
- package/static/dashboard/assets/XpodAiConnectionsPodStore-B7gmXBmC.js +3 -0
- package/static/dashboard/assets/XpodShellApp-D_KY4nCW.js +4 -0
- package/static/dashboard/assets/{account-session-DCUmCop1.js → account-session-DlcKNG7k.js} +1 -1
- package/static/dashboard/assets/{button-By5Bgvmb.js → button-wslF55uZ.js} +1 -1
- package/static/dashboard/assets/collection-runtime-uxxgEu13.js +1 -0
- package/static/dashboard/assets/{createLucideIcon-bunMzPms.js → createLucideIcon-BJQl82Qk.js} +1 -1
- package/static/dashboard/assets/dashboard-CbJ-JkrI.css +1 -0
- package/static/dashboard/assets/{dashboard-mlsg3yaw.js → dashboard-Or0gnkou.js} +2 -2
- package/static/dashboard/assets/index-BqFeOML9.js +1 -0
- package/static/dashboard/assets/{index-DvMG5pHk.js → index-DgKn1twH.js} +2 -2
- package/static/dashboard/assets/{label-Bj03L9xs.js → label-CS6Sx6Zb.js} +1 -1
- package/static/dashboard/assets/list-UyhlCFKk.js +1 -0
- package/static/dashboard/assets/{nav-item-style-BNqWQY6p.js → nav-item-style-CW1Nnorq.js} +1 -1
- package/static/dashboard/assets/{pod-collections-host-KnnGFZHL.js → pod-collections-host-DjK2xf-b.js} +6 -6
- package/static/dashboard/assets/{safe-continuation-D9AhcWiB.js → safe-continuation-ClWAhcma.js} +1 -1
- package/static/dashboard/assets/{section-header-CLCzbOp_.js → section-header-CEIEcco-.js} +1 -1
- package/static/dashboard/assets/{setting-row-DTCec8A2.js → setting-row-CaYv3dfF.js} +1 -1
- package/static/dashboard/assets/xpod-remembered-login-BUF9fin1.js +310 -0
- package/static/dashboard/dashboard.html +2 -2
- package/static/settings/assets/{AccountAuthBoundary-C0og_gIA.js → AccountAuthBoundary-Chqd38oU.js} +1 -1
- package/static/settings/assets/{DesktopOidcCallback-C5q4oFZ0.js → DesktopOidcCallback-VUrOSM_q.js} +1 -1
- package/static/settings/assets/DevicePages-C6qwvWwu.js +2 -0
- package/static/settings/assets/ModelsPage-Ry_dObRQ.js +11 -0
- package/static/settings/assets/{PaneListHeader-DqVlMe2D.js → PaneListHeader-B5RkRqr4.js} +1 -1
- package/static/settings/assets/{PodDeletionAuthorizationPanel-DgVvarVY.js → PodDeletionAuthorizationPanel-DPM-5Izt.js} +3 -3
- package/static/settings/assets/PodPage-CxND6wwc.js +1 -0
- package/static/settings/assets/{SystemSettingsPage-Crzm_DrI.js → SystemSettingsPage-C8EdMkW7.js} +1 -1
- package/static/settings/assets/TasksPage-DuqptEm8.js +1 -0
- package/static/settings/assets/{WebDesktopEntry-BGC5eRF2.js → WebDesktopEntry-BRcyktkv.js} +1 -1
- package/static/settings/assets/XpodAiConnectionsPodStore-CyA_BJVC.js +3 -0
- package/static/settings/assets/XpodShellApp-CsivHJl0.js +4 -0
- package/static/settings/assets/XpodThemeProvider-CbJ-JkrI.css +1 -0
- package/static/settings/assets/{XpodThemeProvider-CB6LepTA.js → XpodThemeProvider-DK3pIdRG.js} +2 -2
- package/static/settings/assets/{account-session-BcLjCj0x.js → account-session-DJOZ03xr.js} +1 -1
- package/static/settings/assets/auth-callback-GIBYEz_7.js +1 -0
- package/static/settings/assets/{button-BObT8pTE.js → button-D3yW-2o1.js} +1 -1
- package/static/settings/assets/collection-runtime-DfGo25mh.js +1 -0
- package/static/settings/assets/{createLucideIcon-BVsUxXpZ.js → createLucideIcon-CacwLsmB.js} +1 -1
- package/static/settings/assets/{index-ktjMkj7-.js → index-r5KRYsKC.js} +1 -1
- package/static/settings/assets/{label-BrqO8_m_.js → label-MJjUmvzG.js} +1 -1
- package/static/settings/assets/list-Ce-5k1MX.js +1 -0
- package/static/settings/assets/{nav-item-style-Di2CxkDU.js → nav-item-style-ZUbL8KOZ.js} +1 -1
- package/static/settings/assets/{pod-collections-host-KnnGFZHL.js → pod-collections-host-DjK2xf-b.js} +6 -6
- package/static/settings/assets/{safe-continuation-Dx6ceJpY.js → safe-continuation-vlBZFSlU.js} +1 -1
- package/static/settings/assets/{section-header-Dtl7yjVr.js → section-header-DGJdEvQw.js} +1 -1
- package/static/settings/assets/{setting-row-BL6Hhe8N.js → setting-row-C7tuFiho.js} +1 -1
- package/static/settings/assets/{settings-DaRBxoZk.js → settings-CyQPih1O.js} +1 -1
- package/static/settings/assets/xpod-remembered-login-D-TzzT5K.js +567 -0
- package/static/settings/auth-callback.html +3 -3
- package/static/settings/settings.html +3 -3
- package/static/dashboard/assets/AccountAuthBoundary-BvoDydRz.js +0 -1
- package/static/dashboard/assets/DesktopOidcCallback-BwIj874x.js +0 -1
- package/static/dashboard/assets/DevicePages-jOjMcvsr.js +0 -2
- package/static/dashboard/assets/ModelsPage-CMTdfqBR.js +0 -11
- package/static/dashboard/assets/PodPage-BueBdJ9_.js +0 -1
- package/static/dashboard/assets/TasksPage-CxtLJiSF.js +0 -1
- package/static/dashboard/assets/XpodAiConnectionsPodStore-wx3Ttupm.js +0 -18
- package/static/dashboard/assets/XpodShellApp-5FWY8-d5.js +0 -4
- package/static/dashboard/assets/collection-runtime-BnomuB0E.js +0 -1
- package/static/dashboard/assets/dashboard-C64R553B.css +0 -1
- package/static/dashboard/assets/xpod-remembered-login-Dr69A0Rv.js +0 -295
- package/static/settings/assets/DevicePages-fyHjjucT.js +0 -2
- package/static/settings/assets/ModelsPage-EyOByLyE.js +0 -11
- package/static/settings/assets/PodPage-DY4Oi9wg.js +0 -1
- package/static/settings/assets/TasksPage-CfXJbnlt.js +0 -1
- package/static/settings/assets/XpodAiConnectionsPodStore-CXcmgKmQ.js +0 -3
- package/static/settings/assets/XpodShellApp-D1PS3Iut.js +0 -4
- package/static/settings/assets/XpodThemeProvider-C64R553B.css +0 -1
- package/static/settings/assets/auth-callback-DSPQ28ar.js +0 -1
- package/static/settings/assets/collection-runtime-DzNbdZGe.js +0 -1
- package/static/settings/assets/index-browser-3WfrNbcG.js +0 -273
- package/static/settings/assets/xpod-remembered-login-Q66DH12t.js +0 -295
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as o,p as s}from"./xpod-remembered-login-BUF9fin1.js";import{C as u,P as C,a as p,b as P,c as S,d as g,e as c,f as h,g as b,h as T,i as j,S as v,j as x,k as B,l as f,m as I,n as y,o as A,q as D,r as O,t as V,u as k,v as q,w,x as z,y as J,z as N,A as U,B as E,D as F}from"./xpod-remembered-login-BUF9fin1.js";import"./createLucideIcon-BJQl82Qk.js";import"./dashboard-Or0gnkou.js";import"./button-wslF55uZ.js";import"./PodDeletionAuthorizationPanel-BJk_8rJq.js";import"./account-session-DlcKNG7k.js";import"@comunica/query-sparql-solid";export{u as ColumnBuilder,C as PodArrayColumn,p as PodBooleanColumn,P as PodColumnBase,S as PodDateTimeColumn,g as PodIntegerColumn,c as PodJsonColumn,h as PodObjectColumn,b as PodStringColumn,T as PodTable,j as PodUriColumn,v as SolidSchema,x as boolean,B as date,f as generateNanoId,I as hasStringValue,y as hasTermValue,A as id,D as integer,O as isSolidSchema,V as json,k as mergeSchemaColumns,q as object,s as podTable,w as real,z as resolveTermIri,J as solidSchema,o as string,N as text,U as timestamp,E as uri,F as validateColumnOverride};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as m,D as R,T as j,N as B}from"./XpodShellApp-
|
|
1
|
+
import{n as m,D as R,T as j,N as B}from"./XpodShellApp-D_KY4nCW.js";import{B as W,d as z,e as H,L as V,f as Z,Q as X,Q as Y,V as J}from"./XpodShellApp-D_KY4nCW.js";import"./dashboard-Or0gnkou.js";import"./xpod-remembered-login-BUF9fin1.js";import"./createLucideIcon-BJQl82Qk.js";import"./button-wslF55uZ.js";import"./PodDeletionAuthorizationPanel-BJk_8rJq.js";import"./account-session-DlcKNG7k.js";import"@comunica/query-sparql-solid";import"./safe-continuation-ClWAhcma.js";import"./nav-item-style-CW1Nnorq.js";function O(a){return!!a&&a.termType==="DefaultGraph"}function f(a){return a.replace(/[\]\/\(\)\*\+\?\.\\\$]/g,"\\$&")}const P=/^:?[^:?#]*(?:[?#]|$)|^file:|^[^:]*:\/*[^?#]+?\/(?:\.\.?(?:\/|$)|\/)/i,T=/^(?:(?:[^/?#]{3,}|\.?[^/?#.]\.?)(?:\/[^/?#]{3,}|\.?[^/?#.]\.?)*\/?)?(?:[?#]|$)/,g="./",Q="../",p="?",$="#";class b{constructor(e){this.base=e,this._baseLength=0,this._baseMatcher=null,this._pathReplacements=new Array(e.length+1)}static supports(e){return!P.test(e)}_getBaseMatcher(){if(this._baseMatcher)return this._baseMatcher;if(!b.supports(this.base))return this._baseMatcher=/.^/;const e=/^[^:]*:\/*/.exec(this.base)[0],t=["^",f(e)],i=[],s=[],r=/[^/?#]*([/?#])/y;let n,h=0,u=0,o=r.lastIndex=e.length;for(;!h&&!u&&(n=r.exec(this.base));)n[1]===$?u=r.lastIndex-1:(t.push(f(n[0]),"(?:"),i.push(")?"),n[1]!==p?s.push(o=r.lastIndex):(h=o=r.lastIndex,u=this.base.indexOf($,h),this._pathReplacements[h]=p));for(let _=0;_<s.length;_++)this._pathReplacements[s[_]]=Q.repeat(s.length-_-1);return this._pathReplacements[s[s.length-1]]=g,this._baseLength=u>0?u:this.base.length,t.push(f(this.base.substring(o,this._baseLength)),h?"(?:#|$)":"(?:[?#]|$)"),this._baseMatcher=new RegExp([...t,...i].join(""))}toRelative(e){const t=this._getBaseMatcher().exec(e);if(!t)return e;const i=t[0].length;if(i===this._baseLength&&i===e.length)return"";const s=this._pathReplacements[i];if(s){const r=e.substring(i);return s!==p&&!T.test(r)?e:s===g&&/^[^?#]/.test(r)?r:s+r}return e.substring(i-1)}}const c=R.defaultGraph(),{rdf:S,xsd:l}=m,x=/["\\\t\n\r\b\f\u0000-\u0019\ud800-\udbff]/,w=/["\\\t\n\r\b\f\u0000-\u0019]|[\ud800-\udbff][\udc00-\udfff]/g,k={"\\":"\\\\",'"':'\\"'," ":"\\t","\n":"\\n","\r":"\\r","\b":"\\b","\f":"\\f"};class d extends j{equals(e){return e===this}}class U{constructor(e,t){if(this._prefixRegex=/$0^/,e&&typeof e.write!="function"&&(t=e,e=null),t=t||{},this._lists=t.lists,e)this._outputStream=e,this._endStream=t.end===void 0?!0:!!t.end;else{let i="";this._outputStream={write(s,r,n){i+=s,n&&n()},end:s=>{s&&s(null,i)}},this._endStream=!0}this._subject=null,/triple|quad/i.test(t.format)?(this._lineMode=!0,this._writeQuad=this._writeQuadLine):(this._lineMode=!1,this._graph=c,this._prefixIRIs=Object.create(null),t.prefixes&&this.addPrefixes(t.prefixes),t.baseIRI&&(this._baseIri=new b(t.baseIRI)))}get _inDefaultGraph(){return c.equals(this._graph)}_write(e,t){this._outputStream.write(e,"utf8",t)}_writeQuad(e,t,i,s,r){try{s.equals(this._graph)||(this._write((this._subject===null?"":this._inDefaultGraph?`.
|
|
2
2
|
`:`
|
|
3
3
|
}
|
|
4
4
|
`)+(c.equals(s)?"":`${this._encodeIriOrBlank(s)} {
|
|
@@ -17,4 +17,4 @@ import{n as m,D as R,T as j,N as B}from"./XpodShellApp-5FWY8-d5.js";import{B as
|
|
|
17
17
|
]`)}}list(e){const t=e&&e.length||0,i=new Array(t);for(let s=0;s<t;s++)i[s]=this._encodeObject(e[s]);return new d(`(${i.join(" ")})`)}end(e){this._subject!==null&&(this._write(this._inDefaultGraph?`.
|
|
18
18
|
`:`
|
|
19
19
|
}
|
|
20
|
-
`),this._subject=null),this._write=this._blockedWrite;let t=e&&((i,s)=>{t=null,e(i,s)});if(this._endStream)try{return this._outputStream.end(t)}catch{}t&&t()}}function I(a){let e=k[a];return e===void 0&&(a.length===1?(e=a.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=((a.charCodeAt(0)-55296)*1024+a.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}export{b as BaseIRI,
|
|
20
|
+
`),this._subject=null),this._write=this._blockedWrite;let t=e&&((i,s)=>{t=null,e(i,s)});if(this._endStream)try{return this._outputStream.end(t)}catch{}t&&t()}}function I(a){let e=k[a];return e===void 0&&(a.length===1?(e=a.charCodeAt(0).toString(16),e="\\u0000".substr(0,6-e.length)+e):(e=((a.charCodeAt(0)-55296)*1024+a.charCodeAt(1)+9216).toString(16),e="\\U00000000".substr(0,10-e.length)+e)),e}export{b as BaseIRI,W as BlankNode,R as DataFactory,z as DefaultGraph,H as Lexer,V as Literal,Z as NamedNode,B as Parser,X as Quad,j as Term,Y as Triple,J as Variable,U as Writer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,j as o}from"./dashboard-
|
|
1
|
+
import{r as t,j as o}from"./dashboard-Or0gnkou.js";import{c as s}from"./button-wslF55uZ.js";const m=t.forwardRef(({className:e,...a},r)=>o.jsx("label",{ref:r,className:s("text-sm font-medium leading-none text-muted-foreground",e),...a}));m.displayName="Label";export{m as L};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as d,j as s}from"./dashboard-Or0gnkou.js";import{S as m,c}from"./button-wslF55uZ.js";const u=d.forwardRef(({className:o,asChild:e=!1,children:r,...a},l)=>{const n=e?m:"div";return s.jsx(n,{ref:l,className:c("divide-y rounded-xl border border-border bg-card",o),...a,children:r})});u.displayName="ListSurface";const j=d.forwardRef(({className:o,leading:e,title:r,description:a,trailing:l,asChild:n=!1,children:t,...i},x)=>{const f=c("flex flex-wrap items-center gap-3 p-4 text-sm leading-normal",o),p=n?m:"div";return s.jsx(p,{ref:x,className:f,...i,children:n?t:s.jsxs(s.Fragment,{children:[e?s.jsx("span",{className:"shrink-0",children:e}):null,s.jsxs("div",{className:"min-w-0 flex-1 break-words",children:[r?s.jsx("div",{children:r}):null,a?s.jsx("p",{className:"mt-0.5 text-xs leading-normal text-muted-foreground",children:a}):null]}),l?s.jsx("span",{className:"shrink-0",children:l}):null,t?s.jsx("div",{className:"w-full min-w-0 break-words",children:t}):null]})})});j.displayName="ListRow";export{u as L,j as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as B}from"./createLucideIcon-bunMzPms.js";import{r as o,j as l}from"./dashboard-mlsg3yaw.js";import{c as g}from"./button-By5Bgvmb.js";const V=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],de=B("database",V);function fe(e){if(!R(e))throw new Error("Applet layout descriptor must be an object");if(typeof e.type!="string")throw new Error("Applet layout descriptor type must be a string");switch(e.type){case"single-pane":case"two-pane":return P(e.context),e;case"three-pane":return P(e.context),e;default:throw new Error(`Unsupported applet layout type: ${e.type}`)}}function R(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function P(e){if(e!==void 0){if(!R(e))throw new Error("Applet layout descriptor context must be an object");if("collapsible"in e&&typeof e.collapsible!="boolean")throw new Error("Applet layout descriptor context.collapsible must be a boolean");if("initiallyCollapsed"in e&&typeof e.initiallyCollapsed!="boolean")throw new Error("Applet layout descriptor context.initiallyCollapsed must be a boolean")}}const G=184,p={narrow:768,wideObjects:1100};function K(e){const{pageType:t,contentWidth:n}=e,a=e.hasObjectCollection===!0;if(!Number.isFinite(n)||n<=0)throw new Error("Applet pane plan needs a positive contentWidth");return n<p.narrow?{pageType:t,navigation:"task-bar",panes:"single",showObjectColumn:!1}:n>=p.wideObjects&&t==="collection"&&a?{pageType:t,navigation:"rail",panes:"list-detail",showObjectColumn:!0}:{pageType:t,navigation:"rail",panes:t==="collection"&&n<p.wideObjects?"stack":"single",showObjectColumn:!1}}const D=o.createContext(null);function pe(){const e=o.useContext(D);if(!e)throw new Error("useWorkspaceLayout must be used inside TwoPaneLayout");return e}const Q=o.createContext(void 0),N="(max-width: 767px)",X={gridTemplateColumns:"210px minmax(0, 1fr)"};function Y(e){return e==="context"?"main":e}function I(e){if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};const t=window.matchMedia(N);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function U(){return typeof window>"u"||typeof window.matchMedia!="function"?"split":window.matchMedia(N).matches?"stack":"split"}function F(){return"split"}function z(e){const t=o.useSyncExternalStore(I,U,F);return e==="auto"?t:e}const T=`(min-width: ${p.wideObjects+G}px)`;function J(){return o.useSyncExternalStore(e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};const t=window.matchMedia(T);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},()=>typeof window>"u"||typeof window.matchMedia!="function"?!0:window.matchMedia(T).matches,()=>!0)}function q(e){const t=o.useSyncExternalStore(I,U,F)==="stack",a=J()?p.wideObjects:t?p.narrow-1:p.narrow,r=K({pageType:e.pageType,contentWidth:a,hasObjectCollection:e.hasObjectCollection}),i=r.panes==="list-detail"?"split":"stack";return{resolvedMode:e.mode==="auto"?i:e.mode,showObjectColumn:r.showObjectColumn}}function Z({resolvedMode:e,history:t,resolvePane:n}){const[a,r]=o.useState("list"),i=o.useRef(null),x=o.useRef(null),k=o.useRef(null),y=o.useRef(null),m=o.useMemo(()=>({list:x,main:k,context:y}),[]),s=o.useCallback((c,f={})=>{const w=n?.(c)??c;r(w),e==="stack"&&(i.current=w,f.fromHistory||t?.push(w))},[t,n,e]),j=o.useCallback(()=>s("list"),[s]),v=o.useCallback(()=>s("main"),[s]),u=o.useCallback(()=>s("context"),[s]);return o.useLayoutEffect(()=>{if(e!=="stack"){i.current=null;return}const c=i.current;c&&(i.current=null,m[c].current?.focus())},[a,m,e]),o.useLayoutEffect(()=>{if(!(e!=="stack"||!t))return t.subscribe(c=>{s(c,{fromHistory:!0})})},[t,s,e]),{activePane:a,paneRefs:m,openList:j,openMain:v,openContext:u}}function he({listHeader:e,list:t,mainHeader:n,main:a,mode:r="auto",history:i,copy:x,className:k,pageType:y="collection",hasObjectCollection:m=!0}){const s=o.useContext(Q),{resolvedMode:j}=q({mode:r,pageType:y,hasObjectCollection:m}),v=z(r),u=s?v:j,c=y==="collection"&&m,{activePane:f,paneRefs:w,openList:C,openMain:A,openContext:S}=Z({resolvedMode:u,history:i,resolvePane:Y}),L=s?.onClose,O=o.useCallback(()=>{A(),L?.()},[A,L]),H=o.useMemo(()=>({mode:u,activePane:f,openList:C,openMain:O,openContext:S}),[f,S,C,O,u]),d=c&&u==="stack",M=!c||(s?u==="stack"&&!s.open:d&&f!=="list"),E=!s&&d&&f!=="main";return l.jsx(D.Provider,{value:H,children:l.jsx("section",{className:g("flex min-h-0 flex-1 flex-col bg-background",k),"data-workspace-layout":"two-pane","data-workspace-mode":u,children:l.jsxs("div",{className:g("grid min-h-0 flex-1",d||!c?"grid-cols-1":null),style:d||!c?void 0:X,"data-workspace-layout-mode":r,"data-workspace-object-column":c&&u==="split"?"shown":"hidden","data-workspace-active-pane":f,children:[l.jsxs("aside",{ref:w.list,className:g("min-h-0 flex-col overflow-hidden bg-layout-list-item @container",M?"hidden":"flex",d?"border-r-0":"border-r border-border"),"data-testid":"workspace-list-pane","data-workspace-pane":"list",hidden:M,tabIndex:d?-1:void 0,children:[l.jsx("header",{className:"h-12 shrink-0 border-b border-border bg-layout-list-header","data-workspace-list-header":"true",children:e}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:t})]}),l.jsxs("main",{ref:w.main,className:g("min-h-0 flex-col overflow-hidden bg-layout-content @container",E?"hidden":"flex"),"data-testid":"workspace-main-pane","data-workspace-pane":"main",hidden:E,inert:s?.open&&u==="stack"?!0:void 0,tabIndex:d?-1:void 0,children:[l.jsxs("header",{className:g("h-12 shrink-0 border-b border-border bg-layout-content",s?.headerLeading&&"flex min-w-0 items-center"),"data-workspace-main-header":"true",children:[s?.headerLeading?l.jsx("div",{className:"flex h-full shrink-0 items-center md:hidden","data-workspace-header-leading":!0,children:s.headerLeading}):null,s?.headerLeading?l.jsx("div",{className:"h-full min-w-0 flex-1",children:n}):n]}),l.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto",children:[d&&!s?l.jsx("button",{type:"button",className:"inline-flex items-center px-4 py-3 text-sm text-muted-foreground hover:text-foreground",onClick:C,children:x?.backToList??"返回列表"}):null,a]})]})]})})})}const h="/api/admin";async function ee(e={}){try{const t=await fetch(`${h}/status`,{signal:e.signal});if(t.ok)return await t.json()}catch(t){console.error("Failed to get admin status:",t)}return null}async function te(e={}){try{const t=await fetch(`${h}/config`,{signal:e.signal});if(t.ok)return await t.json()}catch(t){console.error("Failed to get admin config:",t)}return null}async function ne(e,t={}){try{const n=e?"?baseUrl="+encodeURIComponent(e):"",a=await fetch(h+"/public-ip"+n,{signal:t.signal});if(a.ok)return await a.json()}catch(n){console.error("Failed to get public ip check:",n)}return null}async function me(e){try{return(await fetch(`${h}/config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({env:e})})).ok}catch(t){return console.error("Failed to update admin config:",t),!1}}async function we(){try{return(await fetch(`${h}/restart`,{method:"POST"})).ok}catch(e){return console.error("Failed to trigger restart:",e),!1}}async function ae(e={}){try{const t=await fetch("/service/status",{signal:e.signal});if(t.ok){const n=await t.json();if(Array.isArray(n))return n}}catch(t){console.error("Failed to get gateway status:",t)}return null}async function ge(e){try{const t=new URLSearchParams;e?.limit&&t.set("limit",e.limit.toString()),e?.level&&e.level!=="all"&&t.set("level",e.level),e?.source&&e.source!=="all"&&t.set("source",e.source);const n=t.toString(),a=n?`?${n}`:"";let r=await fetch(`/service/logs${a}`);if((r.status===404||r.status===405)&&(r=await fetch(`${h}/logs${a}`)),r.ok){const i=await r.json();return Array.isArray(i)?i:i.logs??[]}}catch(t){console.error("Failed to get logs:",t)}return[]}function oe(e){return e?e.startsWith("http://")||e.startsWith("https://")?e:`https://${e}/`:""}function re(e,t,n=""){return t?.baseUrl||oe(t?.fqdn)||e.CSS_BASE_URL||n}async function se(e={}){try{const t=await fetch(`${h}/ddns`,{signal:e.signal});if(t.ok)return await t.json()}catch(t){console.error("Failed to get ddns status:",t)}return null}async function ye(e={}){try{const t=await fetch("/provision/status",{signal:e.signal,credentials:"include",headers:{accept:"application/json"}});if(!t.ok)return null;const n=await t.json();return{registered:n.registered===!0,managed:n.managed===!0,nodeId:b(n.nodeId),cloudUrl:b(n.cloudUrl),serviceProviderDomain:b(n.spDomain),publicUrl:b(n.publicUrl)}}catch(t){return console.error("Failed to get provision status:",t),null}}function b(e){return typeof e=="string"&&e.length>0?e:null}async function be(e={}){const[t,n,a,r]=await Promise.all([ae(e),ee(e),te(e),se(e)]),i=await ne(re(a?.env??{},r),e);return{servicesData:t,adminData:n,configData:a,ddnsData:r,publicCheck:i,checkedAt:new Date}}function xe(e){if(!["ArrowDown","ArrowUp","Home","End"].includes(e.key))return;const t=e.currentTarget.closest("[data-list-navigation]")??e.currentTarget.closest("nav");if(!t)return;const n=[...t.querySelectorAll('a[href]:not([aria-disabled="true"])')],a=n.indexOf(e.currentTarget);if(a<0||n.length===0)return;e.preventDefault();const r=e.key==="Home"?0:e.key==="End"?n.length-1:e.key==="ArrowDown"?(a+1)%n.length:(a-1+n.length)%n.length;n[r]?.focus()}const $="rounded-lg transition-colors",W="text-foreground hover:bg-accent/60",_="focus:outline-none focus:ring-0 focus-visible:bg-accent/70";function ke(e){return[$,_,e?"bg-accent text-accent-foreground":`text-foreground ${W}`,"relative flex h-10 w-10 items-center justify-center rounded-lg"].join(" ")}function je(e,t){const n=t?.compact===!0;return[$,_,e?"bg-accent text-accent-foreground":"",n?"rounded-lg px-2 py-2":"rounded-lg px-3 py-2.5","mx-2 flex items-center gap-3 text-sm transition-colors",e?"font-medium":`${W} text-foreground`].join(" ")}export{de as D,he as T,Q as W,se as a,je as b,ge as c,te as d,me as e,be as f,ye as g,xe as h,fe as i,D as j,ne as k,ke as l,we as t,pe as u};
|
|
1
|
+
import{c as B}from"./createLucideIcon-BJQl82Qk.js";import{r as o,j as l}from"./dashboard-Or0gnkou.js";import{c as g}from"./button-wslF55uZ.js";const V=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],de=B("database",V);function fe(e){if(!R(e))throw new Error("Applet layout descriptor must be an object");if(typeof e.type!="string")throw new Error("Applet layout descriptor type must be a string");switch(e.type){case"single-pane":case"two-pane":return P(e.context),e;case"three-pane":return P(e.context),e;default:throw new Error(`Unsupported applet layout type: ${e.type}`)}}function R(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function P(e){if(e!==void 0){if(!R(e))throw new Error("Applet layout descriptor context must be an object");if("collapsible"in e&&typeof e.collapsible!="boolean")throw new Error("Applet layout descriptor context.collapsible must be a boolean");if("initiallyCollapsed"in e&&typeof e.initiallyCollapsed!="boolean")throw new Error("Applet layout descriptor context.initiallyCollapsed must be a boolean")}}const G=184,p={narrow:768,wideObjects:1100};function K(e){const{pageType:t,contentWidth:n}=e,a=e.hasObjectCollection===!0;if(!Number.isFinite(n)||n<=0)throw new Error("Applet pane plan needs a positive contentWidth");return n<p.narrow?{pageType:t,navigation:"task-bar",panes:"single",showObjectColumn:!1}:n>=p.wideObjects&&t==="collection"&&a?{pageType:t,navigation:"rail",panes:"list-detail",showObjectColumn:!0}:{pageType:t,navigation:"rail",panes:t==="collection"&&n<p.wideObjects?"stack":"single",showObjectColumn:!1}}const D=o.createContext(null);function pe(){const e=o.useContext(D);if(!e)throw new Error("useWorkspaceLayout must be used inside TwoPaneLayout");return e}const Q=o.createContext(void 0),N="(max-width: 767px)",X={gridTemplateColumns:"210px minmax(0, 1fr)"};function Y(e){return e==="context"?"main":e}function I(e){if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};const t=window.matchMedia(N);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function U(){return typeof window>"u"||typeof window.matchMedia!="function"?"split":window.matchMedia(N).matches?"stack":"split"}function F(){return"split"}function z(e){const t=o.useSyncExternalStore(I,U,F);return e==="auto"?t:e}const T=`(min-width: ${p.wideObjects+G}px)`;function J(){return o.useSyncExternalStore(e=>{if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};const t=window.matchMedia(T);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},()=>typeof window>"u"||typeof window.matchMedia!="function"?!0:window.matchMedia(T).matches,()=>!0)}function q(e){const t=o.useSyncExternalStore(I,U,F)==="stack",a=J()?p.wideObjects:t?p.narrow-1:p.narrow,r=K({pageType:e.pageType,contentWidth:a,hasObjectCollection:e.hasObjectCollection}),i=r.panes==="list-detail"?"split":"stack";return{resolvedMode:e.mode==="auto"?i:e.mode,showObjectColumn:r.showObjectColumn}}function Z({resolvedMode:e,history:t,resolvePane:n}){const[a,r]=o.useState("list"),i=o.useRef(null),x=o.useRef(null),k=o.useRef(null),y=o.useRef(null),m=o.useMemo(()=>({list:x,main:k,context:y}),[]),s=o.useCallback((c,f={})=>{const w=n?.(c)??c;r(w),e==="stack"&&(i.current=w,f.fromHistory||t?.push(w))},[t,n,e]),j=o.useCallback(()=>s("list"),[s]),v=o.useCallback(()=>s("main"),[s]),u=o.useCallback(()=>s("context"),[s]);return o.useLayoutEffect(()=>{if(e!=="stack"){i.current=null;return}const c=i.current;c&&(i.current=null,m[c].current?.focus())},[a,m,e]),o.useLayoutEffect(()=>{if(!(e!=="stack"||!t))return t.subscribe(c=>{s(c,{fromHistory:!0})})},[t,s,e]),{activePane:a,paneRefs:m,openList:j,openMain:v,openContext:u}}function he({listHeader:e,list:t,mainHeader:n,main:a,mode:r="auto",history:i,copy:x,className:k,pageType:y="collection",hasObjectCollection:m=!0}){const s=o.useContext(Q),{resolvedMode:j}=q({mode:r,pageType:y,hasObjectCollection:m}),v=z(r),u=s?v:j,c=y==="collection"&&m,{activePane:f,paneRefs:w,openList:C,openMain:A,openContext:S}=Z({resolvedMode:u,history:i,resolvePane:Y}),L=s?.onClose,O=o.useCallback(()=>{A(),L?.()},[A,L]),H=o.useMemo(()=>({mode:u,activePane:f,openList:C,openMain:O,openContext:S}),[f,S,C,O,u]),d=c&&u==="stack",M=!c||(s?u==="stack"&&!s.open:d&&f!=="list"),E=!s&&d&&f!=="main";return l.jsx(D.Provider,{value:H,children:l.jsx("section",{className:g("flex min-h-0 flex-1 flex-col bg-background",k),"data-workspace-layout":"two-pane","data-workspace-mode":u,children:l.jsxs("div",{className:g("grid min-h-0 flex-1",d||!c?"grid-cols-1":null),style:d||!c?void 0:X,"data-workspace-layout-mode":r,"data-workspace-object-column":c&&u==="split"?"shown":"hidden","data-workspace-active-pane":f,children:[l.jsxs("aside",{ref:w.list,className:g("min-h-0 flex-col overflow-hidden bg-layout-list-item @container",M?"hidden":"flex",d?"border-r-0":"border-r border-border"),"data-testid":"workspace-list-pane","data-workspace-pane":"list",hidden:M,tabIndex:d?-1:void 0,children:[l.jsx("header",{className:"h-12 shrink-0 border-b border-border bg-layout-list-header","data-workspace-list-header":"true",children:e}),l.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:t})]}),l.jsxs("main",{ref:w.main,className:g("min-h-0 flex-col overflow-hidden bg-layout-content @container",E?"hidden":"flex"),"data-testid":"workspace-main-pane","data-workspace-pane":"main",hidden:E,inert:s?.open&&u==="stack"?!0:void 0,tabIndex:d?-1:void 0,children:[l.jsxs("header",{className:g("h-12 shrink-0 border-b border-border bg-layout-content",s?.headerLeading&&"flex min-w-0 items-center"),"data-workspace-main-header":"true",children:[s?.headerLeading?l.jsx("div",{className:"flex h-full shrink-0 items-center md:hidden","data-workspace-header-leading":!0,children:s.headerLeading}):null,s?.headerLeading?l.jsx("div",{className:"h-full min-w-0 flex-1",children:n}):n]}),l.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto",children:[d&&!s?l.jsx("button",{type:"button",className:"inline-flex items-center px-4 py-3 text-sm text-muted-foreground hover:text-foreground",onClick:C,children:x?.backToList??"返回列表"}):null,a]})]})]})})})}const h="/api/admin";async function ee(e={}){try{const t=await fetch(`${h}/status`,{signal:e.signal});if(t.ok)return await t.json()}catch(t){console.error("Failed to get admin status:",t)}return null}async function te(e={}){try{const t=await fetch(`${h}/config`,{signal:e.signal});if(t.ok)return await t.json()}catch(t){console.error("Failed to get admin config:",t)}return null}async function ne(e,t={}){try{const n=e?"?baseUrl="+encodeURIComponent(e):"",a=await fetch(h+"/public-ip"+n,{signal:t.signal});if(a.ok)return await a.json()}catch(n){console.error("Failed to get public ip check:",n)}return null}async function me(e){try{return(await fetch(`${h}/config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({env:e})})).ok}catch(t){return console.error("Failed to update admin config:",t),!1}}async function we(){try{return(await fetch(`${h}/restart`,{method:"POST"})).ok}catch(e){return console.error("Failed to trigger restart:",e),!1}}async function ae(e={}){try{const t=await fetch("/service/status",{signal:e.signal});if(t.ok){const n=await t.json();if(Array.isArray(n))return n}}catch(t){console.error("Failed to get gateway status:",t)}return null}async function ge(e){try{const t=new URLSearchParams;e?.limit&&t.set("limit",e.limit.toString()),e?.level&&e.level!=="all"&&t.set("level",e.level),e?.source&&e.source!=="all"&&t.set("source",e.source);const n=t.toString(),a=n?`?${n}`:"";let r=await fetch(`/service/logs${a}`);if((r.status===404||r.status===405)&&(r=await fetch(`${h}/logs${a}`)),r.ok){const i=await r.json();return Array.isArray(i)?i:i.logs??[]}}catch(t){console.error("Failed to get logs:",t)}return[]}function oe(e){return e?e.startsWith("http://")||e.startsWith("https://")?e:`https://${e}/`:""}function re(e,t,n=""){return t?.baseUrl||oe(t?.fqdn)||e.CSS_BASE_URL||n}async function se(e={}){try{const t=await fetch(`${h}/ddns`,{signal:e.signal});if(t.ok)return await t.json()}catch(t){console.error("Failed to get ddns status:",t)}return null}async function ye(e={}){try{const t=await fetch("/provision/status",{signal:e.signal,credentials:"include",headers:{accept:"application/json"}});if(!t.ok)return null;const n=await t.json();return{registered:n.registered===!0,managed:n.managed===!0,nodeId:b(n.nodeId),cloudUrl:b(n.cloudUrl),serviceProviderDomain:b(n.spDomain),publicUrl:b(n.publicUrl)}}catch(t){return console.error("Failed to get provision status:",t),null}}function b(e){return typeof e=="string"&&e.length>0?e:null}async function be(e={}){const[t,n,a,r]=await Promise.all([ae(e),ee(e),te(e),se(e)]),i=await ne(re(a?.env??{},r),e);return{servicesData:t,adminData:n,configData:a,ddnsData:r,publicCheck:i,checkedAt:new Date}}function xe(e){if(!["ArrowDown","ArrowUp","Home","End"].includes(e.key))return;const t=e.currentTarget.closest("[data-list-navigation]")??e.currentTarget.closest("nav");if(!t)return;const n=[...t.querySelectorAll('a[href]:not([aria-disabled="true"])')],a=n.indexOf(e.currentTarget);if(a<0||n.length===0)return;e.preventDefault();const r=e.key==="Home"?0:e.key==="End"?n.length-1:e.key==="ArrowDown"?(a+1)%n.length:(a-1+n.length)%n.length;n[r]?.focus()}const $="rounded-lg transition-colors",W="text-foreground hover:bg-accent/60",_="focus:outline-none focus:ring-0 focus-visible:bg-accent/70";function ke(e){return[$,_,e?"bg-accent text-accent-foreground":`text-foreground ${W}`,"relative flex h-10 w-10 items-center justify-center rounded-lg"].join(" ")}function je(e,t){const n=t?.compact===!0;return[$,_,e?"bg-accent text-accent-foreground":"",n?"rounded-lg px-2 py-2":"rounded-lg px-3 py-2.5","mx-2 flex items-center gap-3 text-sm transition-colors",e?"font-medium":`${W} text-foreground`].join(" ")}export{de as D,he as T,Q as W,se as a,je as b,ge as c,te as d,me as e,be as f,ye as g,xe as h,ne as i,ke as j,fe as k,D as l,we as t,pe as u};
|