ltcai 11.6.0 → 11.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -65
- package/docs/CHANGELOG.md +44 -0
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +1 -1
- package/docs/ONBOARDING.md +1 -1
- package/docs/OPERATIONS.md +1 -1
- package/docs/TRUST_MODEL.md +1 -1
- package/docs/WHY_LATTICE.md +1 -1
- package/docs/kg-schema.md +1 -1
- package/lattice_brain/__init__.py +1 -1
- package/latticeai/__init__.py +1 -1
- package/latticeai/services/architecture_readiness.py +1 -1
- package/latticeai/services/product_readiness.py +1 -1
- package/package.json +1 -1
- package/scripts/check_current_release_docs.mjs +1 -1
- package/scripts/release_screen_claims.json +33 -0
- package/src-tauri/Cargo.lock +10 -10
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +41 -41
- package/static/app/assets/{Act-CToZnOHz.js → Act-BPcVAbOL.js} +1 -1
- package/static/app/assets/AdminConsole-Bw1ATQL0.js +1 -0
- package/static/app/assets/{Brain-C6zCdv4S.js → Brain-CT92Kos0.js} +2 -2
- package/static/app/assets/{BrainHome-D4n3EDUt.js → BrainHome-CFBkt1K_.js} +1 -1
- package/static/app/assets/{BrainSignals-CzeZ-vQ9.js → BrainSignals-ReLWF2H8.js} +1 -1
- package/static/app/assets/Capture-BsTokYkk.js +1 -0
- package/static/app/assets/{Chronicle-D3Nx-oWS.js → Chronicle-B6f0T9id.js} +1 -1
- package/static/app/assets/{CommandPalette-DPPvpp28.js → CommandPalette-CuvjTv1u.js} +1 -1
- package/static/app/assets/{Library-Co2qTu3I.js → Library-BGJbG9Hd.js} +1 -1
- package/static/app/assets/{LivingBrain-Bsmzwy8_.js → LivingBrain-DGYK_Jsa.js} +1 -1
- package/static/app/assets/{ProductFlow-CBLdmesT.js → ProductFlow-DXBC6brE.js} +1 -1
- package/static/app/assets/{ReviewCard-CfR6DLs7.js → ReviewCard-HXRle3qq.js} +2 -2
- package/static/app/assets/System-CMHSO9qM.js +1 -0
- package/static/app/assets/arrow-left-BfmkskWx.js +1 -0
- package/static/app/assets/{bot-C5-XIww2.js → bot-Cn8bWRuq.js} +1 -1
- package/static/app/assets/{brain-CFRJUvdX.js → brain-CQJberbE.js} +1 -1
- package/static/app/assets/{button-DI1KcQP-.js → button-Ct9f2_oT.js} +1 -1
- package/static/app/assets/circle-check-DruOxB-4.js +1 -0
- package/static/app/assets/{circle-pause-C8HHyood.js → circle-pause-CmzC_apg.js} +1 -1
- package/static/app/assets/{circle-play-Cufc235E.js → circle-play-D8mW2aQ7.js} +1 -1
- package/static/app/assets/{cpu-DW2_JVsv.js → cpu-DZcdd0PZ.js} +1 -1
- package/static/app/assets/{download-gbdKTBb8.js → download-bv1KEPGQ.js} +1 -1
- package/static/app/assets/{folder-open-C9ydyX33.js → folder-open-d-Pip5gr.js} +1 -1
- package/static/app/assets/{hard-drive-BxNMzBM3.js → hard-drive-D20iavUb.js} +1 -1
- package/static/app/assets/index-D9x-kSNy.css +2 -0
- package/static/app/assets/{index-q9XyDY7A.js → index-Do83hDzJ.js} +3 -3
- package/static/app/assets/{input-GLD94Y_K.js → input-BLXVNmj1.js} +1 -1
- package/static/app/assets/{link-2-B4Y0gz1S.js → link-2-BPJOFlAy.js} +1 -1
- package/static/app/assets/{permissionCopy-CxrV0fvU.js → permissionCopy-ChdJd493.js} +1 -1
- package/static/app/assets/primitives-Cv5tbZBY.js +1 -0
- package/static/app/assets/search-CT9aho2j.js +1 -0
- package/static/app/assets/{share-2-DxArfiuI.js → share-2-YNX_NtMU.js} +1 -1
- package/static/app/assets/{shield-alert-CgftuFFs.js → shield-alert-DuQ3zrVL.js} +1 -1
- package/static/app/assets/{textarea-BHVBAoCr.js → textarea-DqwLnli4.js} +1 -1
- package/static/app/assets/{useFocusTrap-Dzq2j_OG.js → useFocusTrap-ZVI98jaW.js} +1 -1
- package/static/app/assets/{useMutation-BcqfMLNq.js → useMutation-CVC4qv_D.js} +1 -1
- package/static/app/assets/{useQuery-DBzLKCOv.js → useQuery-C7BeG4HU.js} +1 -1
- package/static/app/assets/{utils-B-Aah1bO.js → utils-CiFtIdZq.js} +1 -1
- package/static/app/assets/{workspace-B6fFhoko.js → workspace-DQz9vIId.js} +1 -1
- package/static/app/index.html +4 -4
- package/static/sw.js +1 -1
- package/static/app/assets/AdminConsole-D5kbrBu8.js +0 -1
- package/static/app/assets/Capture-DPcyTczq.js +0 -1
- package/static/app/assets/System-Ce-P2YL6.js +0 -1
- package/static/app/assets/arrow-left-DD5jFGHV.js +0 -1
- package/static/app/assets/circle-check-CY20XMCh.js +0 -1
- package/static/app/assets/index-BovSWRmQ.css +0 -2
- package/static/app/assets/primitives-2ANdAsu2.js +0 -1
- package/static/app/assets/search-DTxtjQ07.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,_ as t,b as n,c as r,d as i,m as a,o,t as s,v as c,x as l}from"./utils-B-Aah1bO.js";import{r as u,t as d}from"./useQuery-DBzLKCOv.js";import{t as f}from"./useMutation-BcqfMLNq.js";import{_ as p,a as m,c as h,d as g,g as _,h as v,i as y,l as b,m as x,n as S,p as C,r as w,s as T,t as E,u as D,v as O}from"./primitives-2ANdAsu2.js";import{t as k}from"./circle-check-CY20XMCh.js";import{a as A,i as j,n as M,r as N,t as P}from"./permissionCopy-CxrV0fvU.js";import{t as F}from"./shield-alert-CgftuFFs.js";import{g as ee,i as I,t as L,u as R}from"./index-q9XyDY7A.js";import{t as z}from"./button-DI1KcQP-.js";import{t as B}from"./input-GLD94Y_K.js";import"./workspace-B6fFhoko.js";var te=t(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),V=t(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),H=e(l()),U=n(),ne={low:`success`,medium:`warning`,high:`danger`};function W(e,t){return t===`ko`&&e.label_ko||e.label}function G(e,t){return t===`ko`&&e.summary_ko||e.summary}function K(e,t){return t===`ko`&&e.warning_ko||e.warning||``}function re(){let e=u(),t=c(e=>e.language),[n,r]=H.useState(null),[o,s]=H.useState(!1),[l,m]=H.useState(``),h=d({queryKey:[`networkBoundary`],queryFn:i.networkBoundary}),g=f({mutationFn:e=>i.setNetworkBoundary(e.mode,e.ack),onSuccess:t=>{t.ok&&(e.invalidateQueries({queryKey:[`networkBoundary`]}),r(null),s(!1))}}),y=f({mutationFn:e=>i.setHybridPolicy(e),onSuccess:()=>e.invalidateQueries({queryKey:[`networkBoundary`]})}),b=f({mutationFn:e=>i.previewCloudContext(e)}),[S,T]=H.useState([]),E=f({mutationFn:e=>i.setNodeSensitivity(e.nodeId,e.localOnly),onSuccess:(e,t)=>{e.ok&&T(e=>t.localOnly?[...e,t.nodeId]:e.filter(e=>e!==t.nodeId))}}),D=h.data?.ok?h.data.data:void 0,k=D?.catalog??[],A=D?.mode??``,j=n??A,M=k.find(e=>e.id===j),N=M?.requires_ack&&j!==A?M:void 0,P=N!==void 0&&!o,ee=j===A,I=D?.policy??{},L=b.data?.ok?b.data.data:void 0;return h.isLoading?(0,U.jsxs)(C,{children:[(0,U.jsx)(_,{children:(0,U.jsx)(p,{children:a(t,`system.network.title`)})}),(0,U.jsx)(x,{children:(0,U.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:a(t,`ui.loading`)})})]}):!D||k.length===0?(0,U.jsxs)(C,{children:[(0,U.jsx)(_,{children:(0,U.jsx)(p,{children:a(t,`system.network.title`)})}),(0,U.jsx)(x,{children:(0,U.jsx)(w,{title:a(t,`ui.requestUnavailable`),detail:h.data?.error})})]}):(0,U.jsxs)(C,{"data-testid":`network-boundary-panel`,children:[(0,U.jsxs)(_,{children:[(0,U.jsxs)(p,{className:`flex items-center gap-2`,children:[(0,U.jsx)(te,{className:`h-4 w-4`,"aria-hidden":`true`}),a(t,`system.network.title`)]}),(0,U.jsx)(v,{children:a(t,`system.network.hint`)})]}),(0,U.jsxs)(x,{className:`space-y-3`,children:[(0,U.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[a(t,`system.network.current`),`:`,` `,(0,U.jsx)(`strong`,{"data-testid":`network-boundary-active`,children:t===`ko`&&D.label_ko||D.label})]}),(0,U.jsx)(`div`,{className:`space-y-2`,role:`radiogroup`,"aria-label":a(t,`system.network.title`),children:k.map(e=>{let n=e.id===j;return(0,U.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,"data-testid":`network-boundary-option-${e.id}`,onClick:()=>{r(e.id),s(!1),g.reset()},className:`w-full rounded-md border p-3 text-left transition ${n?`border-primary bg-accent`:`border-border hover:bg-accent/50`}`,children:[(0,U.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`strong`,{className:`text-sm`,children:W(e,t)}),(0,U.jsx)(O,{variant:ne[e.risk]||`warning`,children:a(t,`system.permission.risk.${e.risk}`)}),e.id===A?(0,U.jsx)(O,{variant:`muted`,children:a(t,`system.network.current`)}):null]}),(0,U.jsx)(`p`,{className:`mt-1 block text-xs text-muted-foreground`,children:G(e,t)})]},e.id)})}),N?(0,U.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border bg-muted p-3`,children:[(0,U.jsxs)(`p`,{className:`flex items-start gap-2 text-xs`,children:[(0,U.jsx)(F,{className:`mt-0.5 h-4 w-4 shrink-0`,"aria-hidden":`true`}),(0,U.jsx)(`span`,{children:K(N,t)})]}),(0,U.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,U.jsx)(`input`,{type:`checkbox`,"data-testid":`network-boundary-ack`,checked:o,onChange:e=>s(e.target.checked)}),a(t,`system.network.ack`)]})]}):null,(0,U.jsx)(z,{"data-testid":`network-boundary-apply`,disabled:ee||P||g.isPending,onClick:()=>g.mutate({mode:j,ack:o}),children:a(t,`system.network.apply`)}),g.data&&!g.data.ok?(0,U.jsx)(w,{title:a(t,`ui.requestUnavailable`),detail:g.data.error}):null,g.data?.ok?(0,U.jsx)(O,{variant:`success`,"data-testid":`network-boundary-applied`,children:a(t,`ui.requestCompleted`)}):null,(0,U.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs font-medium`,children:a(t,`system.network.preview.title`)}),(0,U.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a(t,`system.network.preview.hint`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(`input`,{type:`text`,"data-testid":`network-boundary-probe`,value:l,onChange:e=>m(e.target.value),placeholder:a(t,`system.network.preview.placeholder`),className:`min-w-0 flex-1 rounded-md border border-border bg-background px-2 py-1 text-xs`}),(0,U.jsx)(z,{variant:`outline`,"data-testid":`network-boundary-preview`,disabled:!l.trim()||b.isPending,onClick:()=>b.mutate(l.trim()),children:a(t,`system.network.preview.run`)})]}),L?(0,U.jsxs)(`div`,{className:`space-y-1`,"data-testid":`network-boundary-preview-result`,children:[L.allows_cloud?null:(0,U.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a(t,`system.network.preview.localOnly`)}),L.would_block?(0,U.jsx)(O,{variant:`danger`,children:a(t,`system.network.preview.blocked`)}):null,L.titles.length===0?(0,U.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a(t,`system.network.preview.empty`)}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[a(t,`system.network.preview.count`,{count:L.titles.length}),` · `,a(t,`system.network.preview.tokens`,{tokens:L.token_estimate})]}),(0,U.jsx)(`ul`,{className:`space-y-0.5`,children:L.titles.map((e,n)=>{let r=L.node_ids[n],i=r?S.includes(r):!1;return(0,U.jsxs)(`li`,{className:`flex items-start justify-between gap-2 text-xs`,children:[(0,U.jsxs)(`span`,{className:i?`line-through opacity-60`:void 0,children:[`· `,e]}),r?(0,U.jsx)(`button`,{type:`button`,"data-testid":`network-boundary-hold-${n}`,className:`shrink-0 underline underline-offset-2 opacity-80 hover:opacity-100`,disabled:E.isPending,onClick:()=>E.mutate({nodeId:r,localOnly:!i}),children:a(t,i?`system.network.preview.release`:`system.network.preview.hold`)}):null]},`${r||e}-${n}`)})})]})]}):null,b.data&&!b.data.ok?(0,U.jsx)(w,{title:a(t,`ui.requestUnavailable`),detail:b.data.error}):null]}),D.allows_cloud?(0,U.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-3`,"data-testid":`network-boundary-policy`,children:[(0,U.jsx)(`p`,{className:`text-xs font-medium`,children:a(t,`system.network.policy.title`)}),(0,U.jsxs)(`label`,{className:`flex items-start gap-2 text-xs`,children:[(0,U.jsx)(`input`,{type:`checkbox`,"data-testid":`network-boundary-auto-commit`,checked:!!I.auto_commit,disabled:y.isPending,onChange:e=>y.mutate({auto_commit:e.target.checked})}),(0,U.jsxs)(`span`,{children:[a(t,`system.network.policy.autoCommit`),(0,U.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground`,children:a(t,`system.network.policy.autoCommitHint`)})]})]}),(0,U.jsxs)(`label`,{className:`flex items-start gap-2 text-xs`,children:[(0,U.jsx)(`input`,{type:`checkbox`,"data-testid":`network-boundary-multimodal`,checked:!!I.allow_multimodal,disabled:y.isPending,onChange:e=>y.mutate({allow_multimodal:e.target.checked})}),(0,U.jsxs)(`span`,{children:[a(t,`system.network.policy.multimodal`),(0,U.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground`,children:a(t,`system.network.policy.multimodalHint`)})]})]})]}):null,(0,U.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs font-medium`,children:a(t,`system.network.guards`)}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:a(t,`system.network.guards.detail`)}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:a(t,`system.network.preview.autoHeld`)})]})]})]})}var q={low:`success`,medium:`warning`,high:`danger`};function ie(){let e=u(),t=c(e=>e.language),[n,r]=H.useState(null),[o,s]=H.useState(!1),l=d({queryKey:[`permissionMode`],queryFn:i.permissionMode}),m=f({mutationFn:e=>i.setPermissionMode(e.mode,e.ack),onSuccess:t=>{t.ok&&(e.invalidateQueries({queryKey:[`permissionMode`]}),r(null),s(!1))}}),h=l.data?.ok?l.data.data:void 0,g=h?.catalog??[],y=h?.mode??``,b=n??y,S=g.find(e=>e.id===b),T=S?.requires_ack&&b!==y?S:void 0,E=T!==void 0&&!o,D=b===y;return l.isLoading?(0,U.jsxs)(C,{children:[(0,U.jsx)(_,{children:(0,U.jsx)(p,{children:a(t,`system.permission.title`)})}),(0,U.jsx)(x,{children:(0,U.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:a(t,`ui.loading`)})})]}):!h||g.length===0?(0,U.jsxs)(C,{children:[(0,U.jsx)(_,{children:(0,U.jsx)(p,{children:a(t,`system.permission.title`)})}),(0,U.jsx)(x,{children:(0,U.jsx)(w,{title:a(t,`ui.requestUnavailable`),detail:l.data?.error})})]}):(0,U.jsxs)(C,{"data-testid":`permission-mode-panel`,children:[(0,U.jsxs)(_,{children:[(0,U.jsx)(p,{children:a(t,`system.permission.title`)}),(0,U.jsx)(v,{children:a(t,`system.permission.hint`)})]}),(0,U.jsxs)(x,{className:`space-y-3`,children:[(0,U.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[a(t,`system.permission.current`),`:`,` `,(0,U.jsx)(`strong`,{"data-testid":`permission-mode-active`,children:P(h,t)})]}),(0,U.jsx)(`div`,{className:`space-y-2`,role:`radiogroup`,"aria-label":a(t,`system.permission.title`),children:g.map(e=>{let n=e.id===b;return(0,U.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,"data-testid":`permission-mode-option-${e.id}`,onClick:()=>{r(e.id),s(!1),m.reset()},className:`w-full rounded-md border p-3 text-left transition ${n?`border-primary bg-accent`:`border-border hover:bg-accent/50`}`,children:[(0,U.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`strong`,{className:`text-sm`,children:M(e,t)}),(0,U.jsx)(O,{variant:q[e.risk]||`warning`,children:a(t,`system.permission.risk.${e.risk}`)}),e.id===y?(0,U.jsx)(O,{variant:`muted`,children:a(t,`system.permission.current`)}):null]}),(0,U.jsx)(`p`,{className:`mt-1 block text-xs text-muted-foreground`,children:N(e,t)})]},e.id)})}),T?(0,U.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border bg-muted p-3`,children:[(0,U.jsxs)(`p`,{className:`flex items-start gap-2 text-xs`,children:[(0,U.jsx)(F,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,U.jsx)(`span`,{children:j(T,t)})]}),(0,U.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,U.jsx)(`input`,{type:`checkbox`,"data-testid":`permission-mode-ack`,checked:o,onChange:e=>s(e.target.checked)}),a(t,`system.permission.ack`)]})]}):null,(0,U.jsx)(z,{"data-testid":`permission-mode-apply`,disabled:D||E||m.isPending,onClick:()=>m.mutate({mode:b,ack:o}),children:a(t,`system.permission.apply`)}),m.data&&!m.data.ok?(0,U.jsx)(w,{title:a(t,`ui.requestUnavailable`),detail:m.data.error}):null,m.data?.ok?(0,U.jsx)(O,{variant:`success`,"data-testid":`permission-mode-applied`,children:a(t,`ui.requestCompleted`)}):null,(0,U.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs font-medium`,children:a(t,`system.permission.guards`)}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:a(t,`system.permission.guards.detail`)})]})]})]})}var J=[{id:`identity`,labelKey:`system.group.identity`},{id:`data`,labelKey:`system.group.data`},{id:`system`,labelKey:`system.group.system`}],Y=[{id:`account`,labelKey:`system.tab.account`,group:`identity`},{id:`workspaces`,labelKey:`system.tab.workspaces`,group:`identity`},{id:`snapshots`,labelKey:`system.tab.snapshots`,group:`data`},{id:`activity`,labelKey:`system.tab.activity`,group:`data`},{id:`settings`,labelKey:`system.tab.settings`,group:`system`},{id:`network`,labelKey:`system.tab.network`,group:`system`},{id:`admin`,labelKey:`system.tab.admin`,group:`system`}];function X({initialTab:e}){let t=c(e=>e.mode),n=c(e=>e.language),[r,i]=H.useState(e||`account`);H.useEffect(()=>{Y.some(t=>t.id===e)&&i(e)},[e]);let o=t===`basic`?Y.filter(e=>e.id===`account`||e.id===`workspaces`||e.id===`snapshots`||e.id===`settings`):Y,s=e=>{i(e),I(`/`+{account:`account`,workspaces:`workspace-admin`,snapshots:`snapshots`,activity:`activity`,network:`network`,settings:`settings`,admin:`system-admin`}[e])};return(0,U.jsxs)(`div`,{className:`product-page settings-page space-y-5 pb-8`,children:[(0,U.jsxs)(`header`,{className:`page-hero`,children:[(0,U.jsxs)(`div`,{className:`page-kicker`,children:[(0,U.jsx)(R,{className:`h-4 w-4`}),` `,a(n,`system.kicker`)]}),(0,U.jsx)(`h1`,{className:`page-title`,children:a(n,`system.title`)}),(0,U.jsx)(`p`,{className:`page-copy`,children:a(n,`system.body`)})]}),(0,U.jsx)(`div`,{className:`flex flex-wrap items-end gap-x-6 gap-y-3`,"data-testid":`system-tab-groups`,children:J.map(e=>({group:e,items:o.filter(t=>t.group===e.id)})).filter(({items:e})=>e.length>0).map(({group:e,items:t})=>{let i=`system-group-${e.id}`;return(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,U.jsx)(`span`,{id:i,className:`px-1 text-xs font-medium text-muted-foreground`,children:a(n,e.labelKey)}),(0,U.jsx)(g,{ariaLabelledBy:i,tabs:t.map(e=>({id:e.id,label:a(n,e.labelKey)})),value:r,onChange:e=>s(e)})]},e.id)})}),r===`account`?(0,U.jsx)(Z,{}):null,r===`workspaces`?(0,U.jsx)(oe,{}):null,r===`settings`?(0,U.jsx)(ue,{}):null,r===`snapshots`?(0,U.jsx)(se,{}):null,r===`activity`?(0,U.jsx)(ce,{}):null,r===`network`?(0,U.jsx)(le,{}):null,r===`admin`?(0,U.jsx)(ve,{}):null]})}function Z(){let e=u(),t=c(e=>e.language),n=c(e=>e.setWorkspaceId),r=d({queryKey:[`profile`],queryFn:i.profile}),o=d({queryKey:[`sso`],queryFn:i.ssoConfig}),[s,l]=H.useState(``),[g,y]=H.useState(``),[b,w]=H.useState(``),[T,D]=H.useState(``),[O,k]=H.useState(``),A=e=>{e.ok&&(L(),n(null))},j=f({mutationFn:()=>i.login(s,g),onSuccess:A}),M=f({mutationFn:()=>i.register({email:s,password:g,name:b,nickname:T}),onSuccess:A}),N=f({mutationFn:()=>i.updateProfile({name:b,nickname:T}),onSuccess:()=>e.invalidateQueries({queryKey:[`profile`]})}),P=f({mutationFn:()=>i.changePassword(g,O)});return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsx)(S,{title:a(t,`system.account.profile`),result:r.data,children:e=>(0,U.jsx)(m,{data:e})}),(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsxs)(p,{className:`flex items-center gap-2`,children:[(0,U.jsx)(ee,{className:`h-4 w-4`}),` `,a(t,`system.account.title`)]}),(0,U.jsx)(v,{children:a(t,`system.account.detail`)})]}),(0,U.jsxs)(x,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(B,{value:s,onChange:e=>l(e.target.value),placeholder:a(t,`system.account.email`)}),(0,U.jsx)(B,{type:`password`,value:g,onChange:e=>y(e.target.value),placeholder:a(t,`system.account.password`)}),(0,U.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,U.jsx)(B,{value:b,onChange:e=>w(e.target.value),placeholder:a(t,`system.account.name`)}),(0,U.jsx)(B,{value:T,onChange:e=>D(e.target.value),placeholder:a(t,`system.account.nickname`)})]}),(0,U.jsx)(B,{type:`password`,value:O,onChange:e=>k(e.target.value),placeholder:a(t,`system.account.newPassword`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(z,{onClick:()=>j.mutate(),disabled:!s||!g||j.isPending,children:a(t,`system.account.login`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>M.mutate(),disabled:!s||!g||M.isPending,children:a(t,`system.account.register`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>N.mutate(),disabled:N.isPending,children:a(t,`system.account.save`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>P.mutate(),disabled:!g||!O||P.isPending,children:a(t,`system.account.changePassword`)}),(0,U.jsx)(E,{label:a(t,`system.account.logout`),action:()=>i.logout(),onSuccess:A})]}),[j.data,M.data,N.data,P.data].filter(Boolean).map((e,n)=>(0,U.jsx)(h,{result:e,successLabel:a(t,`system.account.requestDone`)},n))]})]}),(0,U.jsx)(S,{title:a(t,`system.account.signInOptions`),result:o.data,children:e=>(0,U.jsx)(ae,{data:e})})]})}function ae({data:e}){let t=c(e=>e.mode),n=c(e=>e.language),r=!!e.enabled||s(e.providers).length>0;return(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)($,{title:a(n,r?`system.account.signIn.sso`:`system.account.signIn.localOnly`),status:a(n,r?`system.value.enabled`:`system.storage.local.badge`),detail:a(n,r?`system.account.signIn.ssoDetail`:`system.account.signIn.localOnlyDetail`)}),t===`basic`?null:(0,U.jsx)(D,{value:e})]})}function oe(){let e=u(),t=c(e=>e.language),{setWorkspaceId:n}=c(),r=d({queryKey:[`workspaceRegistry`],queryFn:i.workspaceRegistry}),o=d({queryKey:[`invitations`],queryFn:i.invitations}),[l,m]=H.useState(``),[h,g]=H.useState(``),[b,w]=H.useState(``),T=f({mutationFn:()=>i.createOrg(l),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),D=f({mutationFn:()=>i.createInvitation({email:h||null,role:`member`,expires_hours:168}),onSuccess:()=>e.invalidateQueries({queryKey:[`invitations`]})}),O=f({mutationFn:()=>i.acceptInvitation(b),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),k=s(r.data?.data?.workspaces);return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsx)(S,{title:a(t,`system.workspace.yours`),result:r.data,children:()=>(0,U.jsx)(`div`,{className:`flex flex-col gap-2`,children:k.map(e=>{let r=String(e.workspace_id||e.id);return(0,U.jsx)(`div`,{className:`rounded-md border border-border p-3`,children:(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`font-medium`,children:String(e.name||r)}),(0,U.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[String(e.type||``),` · `,String(e.your_role||e.role||``)]})]}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(z,{variant:`outline`,onClick:()=>n(r),children:a(t,`system.workspace.use`)}),(0,U.jsx)(E,{label:a(t,`system.workspace.activate`),action:()=>i.activateWorkspace(r),invalidate:[`workspaceRegistry`]}),(0,U.jsx)(E,{label:a(t,`system.workspace.archive`),action:()=>i.archiveWorkspace(r),invalidate:[`workspaceRegistry`],variant:`destructive`})]})]})},r)})})}),(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsxs)(p,{className:`flex items-center gap-2`,children:[(0,U.jsx)(V,{className:`h-4 w-4`}),` `,a(t,`system.workspace.organizations`)]}),(0,U.jsx)(v,{children:a(t,`system.workspace.organizationsHint`)})]}),(0,U.jsxs)(x,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(B,{value:l,onChange:e=>m(e.target.value),placeholder:a(t,`system.workspace.orgPlaceholder`)}),(0,U.jsx)(z,{disabled:!l.trim()||T.isPending,onClick:()=>T.mutate(),children:a(t,`system.workspace.createOrg`)}),(0,U.jsx)(B,{value:h,onChange:e=>g(e.target.value),placeholder:a(t,`system.workspace.inviteeEmail`)}),(0,U.jsx)(z,{variant:`outline`,disabled:D.isPending,onClick:()=>D.mutate(),children:a(t,`system.workspace.createInvite`)}),(0,U.jsx)(B,{value:b,onChange:e=>w(e.target.value),placeholder:a(t,`system.workspace.inviteToken`)}),(0,U.jsx)(z,{variant:`outline`,disabled:!b.trim()||O.isPending,onClick:()=>O.mutate(),children:a(t,`system.workspace.acceptInvite`)}),(0,U.jsx)(S,{title:a(t,`system.workspace.invitations`),result:o.data,children:e=>(0,U.jsx)(y,{items:e.invitations,titleKey:`token`,metaKey:`role`})})]})]})]})}function se(){let e=c(e=>e.language),t=d({queryKey:[`snapshots`],queryFn:i.snapshots}),n=d({queryKey:[`timeMachine`],queryFn:i.timeMachine}),[r,o]=H.useState(``),[l,u]=H.useState(``),[m,g]=H.useState(``),b=f({mutationFn:()=>i.createSnapshot(r||a(e,`system.snapshots.defaultName`))}),w=f({mutationFn:()=>i.compareSnapshots(l,m)}),T=s(t.data?.data?.snapshots);return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsx)(S,{title:a(e,`system.snapshots.title`),result:t.data,children:()=>(0,U.jsx)(`div`,{className:`space-y-2`,children:T.map(t=>{let n=String(t.id||t.snapshot_id);return(0,U.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,U.jsx)(`div`,{className:`font-medium`,children:String(t.name||n)}),(0,U.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,U.jsx)(E,{label:a(e,`system.snapshots.export`),action:()=>i.exportSnapshot(n)}),(0,U.jsx)(E,{label:a(e,`system.snapshots.mergeRestore`),action:()=>i.restoreSnapshot(n),variant:`outline`})]})]},n)})})}),(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsx)(p,{children:a(e,`system.snapshots.actions`)}),(0,U.jsx)(v,{children:a(e,`system.snapshots.actionsHint`)})]}),(0,U.jsxs)(x,{className:`flex flex-col gap-3`,children:[(0,U.jsx)(B,{value:r,onChange:e=>o(e.target.value),placeholder:a(e,`system.snapshots.namePlaceholder`)}),(0,U.jsx)(z,{onClick:()=>b.mutate(),disabled:b.isPending,children:a(e,`system.snapshots.create`)}),(0,U.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,U.jsx)(B,{value:l,onChange:e=>u(e.target.value),placeholder:a(e,`system.snapshots.beforeId`)}),(0,U.jsx)(B,{value:m,onChange:e=>g(e.target.value),placeholder:a(e,`system.snapshots.afterId`)})]}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>w.mutate(),disabled:!l||!m||w.isPending,children:a(e,`system.snapshots.compare`)}),w.data?(0,U.jsx)(h,{result:w.data,successLabel:a(e,`system.snapshots.compareDone`)}):null]})]}),(0,U.jsx)(S,{title:a(e,`system.snapshots.timeline`),result:n.data,children:e=>(0,U.jsx)(y,{items:e.events||e,titleKey:`event`,metaKey:`type`,limit:14})})]})}function ce(){let e=c(e=>e.language),t=d({queryKey:[`realtimeFeed`],queryFn:i.realtimeFeed}),n=d({queryKey:[`presence`],queryFn:i.presence});return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsx)(S,{title:a(e,`system.activity.feed`),result:t.data,children:e=>(0,U.jsx)(y,{items:e.events,titleKey:`event_type`,metaKey:`area`,limit:14})}),(0,U.jsx)(S,{title:a(e,`system.activity.presence`),result:n.data,children:e=>(0,U.jsx)(de,{data:e})})]})}function le(){let e=u(),t=c(e=>e.language),n=d({queryKey:[`networkIdentity`],queryFn:i.networkIdentity}),r=d({queryKey:[`networkPeers`],queryFn:i.networkPeers}),[o,l]=H.useState(``),[m,g]=H.useState(``),[y,b]=H.useState(``),w=f({mutationFn:()=>i.pairPeer({name:o,base_url:m,public_key:y}),onSuccess:()=>e.invalidateQueries({queryKey:[`networkPeers`]})});return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsx)(S,{title:a(t,`system.network.identity`),result:n.data,children:e=>(0,U.jsx)(fe,{data:e})}),(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsxs)(p,{className:`flex items-center gap-2`,children:[(0,U.jsx)(A,{className:`h-4 w-4`}),` `,a(t,`system.network.pair`)]}),(0,U.jsx)(v,{children:a(t,`system.network.pairHint`)})]}),(0,U.jsxs)(x,{className:`grid gap-3`,children:[(0,U.jsx)(B,{value:o,onChange:e=>l(e.target.value),placeholder:a(t,`system.network.deviceName`)}),(0,U.jsx)(B,{value:m,onChange:e=>g(e.target.value),placeholder:a(t,`system.network.address`)}),(0,U.jsx)(B,{value:y,onChange:e=>b(e.target.value),placeholder:a(t,`system.network.publicKey`)}),(0,U.jsx)(z,{disabled:!o||!m||!y||w.isPending,onClick:()=>w.mutate(),children:a(t,`system.network.pair`)}),w.data?(0,U.jsx)(h,{result:w.data,successLabel:a(t,`system.network.pairDone`)}):null]})]}),(0,U.jsx)(S,{title:a(t,`system.network.peers`),result:r.data,className:`xl:col-span-2`,children:e=>(0,U.jsx)(`div`,{className:`grid gap-2`,children:s(e.peers).map(e=>{let n=String(e.peer_id||e.id);return(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-md border border-border p-3`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`div`,{className:`font-medium`,children:String(e.name||n)}),(0,U.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:String(e.base_url||``)})]}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(E,{label:a(t,`system.network.pushWorkspace`),action:()=>i.pushPeer(n,c.getState().workspaceId)}),(0,U.jsx)(E,{label:a(t,`system.network.unpair`),action:()=>i.unpairPeer(n),invalidate:[`networkPeers`],variant:`destructive`})]})]},n)})})})]})}function ue(){let e=u(),{theme:t,setTheme:n,mode:r,setMode:o}=c(),s=c(e=>e.language),l=d({queryKey:[`health`],queryFn:i.health}),m=d({queryKey:[`sysinfo`],queryFn:i.sysinfo}),g=d({queryKey:[`computerMemory`],queryFn:i.computerMemory}),y=d({queryKey:[`brainStorage`],queryFn:i.brainStorage}),b=d({queryKey:[`backupHealth`],queryFn:i.backupHealth}),[w,T]=H.useState(``),[O,A]=H.useState(`lattice_brain`),[j,M]=H.useState(!1),[N,P]=H.useState(``),[F,ee]=H.useState(``),[I,L]=H.useState(``),[R,te]=H.useState(!1),[V,ne]=H.useState(!1),W=f({mutationFn:e=>i.dockerPostgres({consent:e,dry_run:!e,port:5432})}),G=f({mutationFn:()=>i.migratePostgres({dsn:w,schema_name:O||`lattice_brain`,dry_run:!0})}),K=f({mutationFn:()=>i.brainArchive({path:N.trim()||null,passphrase:I}),onSuccess:()=>e.invalidateQueries({queryKey:[`backupHealth`]})}),q=f({mutationFn:()=>i.brainArchiveInspect({path:F,passphrase:I||null})}),J=f({mutationFn:()=>i.brainArchiveVerify({path:F,passphrase:I})}),Y=f({mutationFn:()=>i.brainArchiveRestore({path:F,passphrase:I,dry_run:!0,confirm:!1})}),X=f({mutationFn:()=>i.brainArchiveRestore({path:F,passphrase:I,dry_run:!1,confirm:R}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}}),Z=f({mutationFn:()=>i.brainArchiveImport({path:F,passphrase:I,dry_run:!0,confirm:!1})}),ae=f({mutationFn:()=>i.brainArchiveImport({path:F,passphrase:I,dry_run:!1,confirm:V}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}});return(0,U.jsxs)(`div`,{className:`flex flex-col gap-4 max-w-[54rem]`,children:[(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsx)(p,{children:a(s,`system.panel.appearance`)}),(0,U.jsx)(v,{children:a(s,`system.panel.appearance.hint`)})]}),(0,U.jsxs)(x,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(z,{variant:t===`dark`?`default`:`outline`,onClick:()=>n(`dark`),children:a(s,`system.theme.dark`)}),(0,U.jsx)(z,{variant:t===`light`?`default`:`outline`,onClick:()=>n(`light`),children:a(s,`system.theme.light`)})]})]}),(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsx)(p,{children:a(s,`system.panel.detailLevel`)}),(0,U.jsx)(v,{children:a(s,`system.panel.detailLevel.hint`)})]}),(0,U.jsx)(x,{className:`flex flex-wrap gap-2`,children:[`basic`,`advanced`,`admin`].map(e=>(0,U.jsx)(z,{variant:r===e?`default`:`outline`,onClick:()=>o(e),children:a(s,`shell.mode.${e}`)},e))})]}),(0,U.jsx)(ie,{}),(0,U.jsx)(re,{}),(0,U.jsx)(S,{title:r===`basic`?a(s,`system.panel.brainStatus`):a(s,`system.panel.serverHealth`),result:l.data,children:e=>(0,U.jsx)(pe,{data:e})}),(0,U.jsx)(S,{title:r===`basic`?a(s,`system.panel.readiness`):a(s,`system.panel.hostTelemetry`),result:m.data,children:e=>{if(r===`basic`){let t=String(e?.readiness||`roomy`),n=t===`tight`||t===`low`||t===`roomy`?`system.readiness.${t}`:`system.readiness.plenty`;return(0,U.jsxs)(`div`,{className:`flex items-center gap-2.5 p-3 rounded-lg border border-border/60 bg-muted/20 text-sm text-foreground`,children:[(0,U.jsx)(k,{className:`h-4 w-4 ${t===`low`?`text-rose-500`:t===`tight`?`text-amber-500`:`text-emerald-500`} flex-shrink-0`,"aria-hidden":`true`}),(0,U.jsx)(`span`,{children:a(s,n)})]})}return(0,U.jsx)(D,{value:e})}}),(0,U.jsx)(S,{title:r===`basic`?a(s,`system.storage.title`):a(s,`system.panel.brainStorage`),result:y.data,children:e=>(0,U.jsx)(me,{data:e,mode:r,language:s})}),r===`basic`?null:(0,U.jsx)(S,{title:a(s,`system.backup.health`),result:b.data,children:e=>(0,U.jsx)(he,{data:e})}),r===`basic`?null:(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsx)(p,{children:a(s,`system.archive.title`)}),(0,U.jsx)(v,{children:a(s,`system.archive.detail`)})]}),(0,U.jsxs)(x,{className:`flex flex-col gap-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,U.jsx)(B,{value:N,onChange:e=>P(e.target.value),placeholder:a(s,`system.archive.exportPath`)}),(0,U.jsx)(B,{value:F,onChange:e=>ee(e.target.value),placeholder:a(s,`system.archive.restorePath`)})]}),(0,U.jsx)(B,{type:`password`,value:I,onChange:e=>L(e.target.value),placeholder:a(s,`system.archive.passphrase`)}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(z,{onClick:()=>K.mutate(),disabled:!I||K.isPending,children:a(s,`system.archive.export`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>q.mutate(),disabled:!F||q.isPending,children:a(s,`system.archive.inspect`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>J.mutate(),disabled:!F||!I||J.isPending,children:a(s,`system.archive.verify`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>Y.mutate(),disabled:!F||!I||Y.isPending,children:a(s,`system.archive.restoreDryRun`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>Z.mutate(),disabled:!F||!I||Z.isPending,children:a(s,`system.archive.importDryRun`)}),(0,U.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:R,onChange:e=>te(e.target.checked)}),a(s,`system.archive.confirmRestore`)]}),(0,U.jsx)(z,{variant:`destructive`,onClick:()=>X.mutate(),disabled:!F||!I||!R||X.isPending,children:a(s,`system.archive.restore`)}),(0,U.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:V,onChange:e=>ne(e.target.checked)}),a(s,`system.archive.confirmImport`)]}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>ae.mutate(),disabled:!F||!I||!V||ae.isPending,children:a(s,`system.archive.import`)})]}),[K.data,q.data,J.data,Y.data,X.data,Z.data,ae.data].filter(Boolean).map((e,t)=>(0,U.jsx)(h,{result:e,successLabel:a(s,`system.archive.requestDone`)},t))]})]}),r===`basic`?null:(0,U.jsxs)(C,{children:[(0,U.jsxs)(_,{children:[(0,U.jsx)(p,{children:a(s,`system.scale.title`)}),(0,U.jsx)(v,{children:a(s,`system.scale.detail`)})]}),(0,U.jsxs)(x,{className:`flex flex-col gap-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,U.jsx)(B,{value:w,onChange:e=>T(e.target.value),placeholder:a(s,`system.scale.dsn`)}),(0,U.jsx)(B,{value:O,onChange:e=>A(e.target.value),placeholder:a(s,`system.scale.schema`)})]}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,U.jsx)(z,{variant:`outline`,onClick:()=>W.mutate(!1),disabled:W.isPending,children:a(s,`system.scale.dockerPlan`)}),(0,U.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:j,onChange:e=>M(e.target.checked)}),a(s,`system.scale.dockerConsent`)]}),(0,U.jsx)(z,{onClick:()=>W.mutate(!0),disabled:!j||W.isPending,children:a(s,`system.scale.dockerStart`)}),(0,U.jsx)(z,{variant:`outline`,onClick:()=>G.mutate(),disabled:!w||G.isPending,children:a(s,`system.scale.migrationPlan`)})]}),W.data?(0,U.jsx)(h,{result:W.data,successLabel:a(s,`system.scale.dockerDone`)}):null,G.data?(0,U.jsx)(h,{result:G.data,successLabel:a(s,`system.scale.migrationDone`)}):null]})]}),r===`basic`?null:(0,U.jsx)(S,{title:a(s,`system.computerMemory.title`),result:g.data,children:e=>(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(D,{value:e}),(0,U.jsxs)(`div`,{className:`flex gap-2`,children:[(0,U.jsx)(E,{label:a(s,`system.computerMemory.enable`),action:()=>i.setComputerMemory(!0),invalidate:[`computerMemory`]}),(0,U.jsx)(E,{label:a(s,`system.computerMemory.disable`),action:()=>i.setComputerMemory(!1),invalidate:[`computerMemory`],variant:`destructive`})]})]})})]})}function Q(e,t,n){return t==null||t===``?n:typeof t==`boolean`?a(e,t?`system.value.enabled`:`system.value.disabled`):String(t)}function de({data:e}){let t=c(e=>e.language),n=s(e.presence||e.clients||e);return n.length?(0,U.jsx)(y,{items:n,titleKey:`user`,metaKey:`workspace_id`}):(0,U.jsx)(w,{title:a(t,`system.presence.empty`),detail:a(t,`system.presence.emptyDetail`)})}function fe({data:e}){let t=c(e=>e.mode),n=c(e=>e.language),i=Q(n,e.public_key,``);return t===`basic`?(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)($,{title:a(n,`system.device.thisMac`),status:a(n,`system.value.trusted`),detail:a(n,`system.device.thisMacDetail`)}),(0,U.jsx)(O,{variant:`muted`,children:Q(n,e.algorithm,a(n,`system.value.localIdentity`))})]}):(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(O,{variant:`success`,children:a(n,`system.value.localDevice`)}),(0,U.jsx)(O,{variant:`muted`,children:Q(n,e.algorithm,a(n,`system.value.identityKey`))})]}),(0,U.jsx)(m,{data:{device_id:e.device_id||e.id||a(n,`system.value.notReported`),fingerprint:e.fingerprint||a(n,`system.value.notReported`),public_key:i?r(i.replace(/\s+/g,` `),72):a(n,`system.value.notReported`)}})]})}function pe({data:e}){let t=c(e=>e.mode),n=c(e=>e.language);return t===`basic`?(0,U.jsx)($,{title:a(n,`system.health.title`),status:a(n,`system.health.ok`),detail:a(n,`system.health.detail`)}):(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(b,{stats:[{label:a(n,`system.health.status`),value:e.status||e.ok||a(n,`system.value.reported`)},{label:a(n,`system.health.version`),value:e.version||a(n,`system.value.notReported`)},{label:a(n,`system.health.mode`),value:e.mode||e.environment||a(n,`system.value.local`)},{label:a(n,`system.health.port`),value:e.port||e.backend_port||a(n,`system.value.configured`)}]}),(0,U.jsx)(D,{value:e})]})}function me({data:e,mode:t,language:n}){let r=o(e.active)?e.active:e,i=o(e.postgres)?e.postgres:{},s=o(e.backup_health)?e.backup_health:{},c=r.vector_search||r.vector||e.vector_search||e.sqlite_vec,l=!!(i.available||i.connected||i.enabled),u=!!c&&String(c).toLowerCase()!==`not reported`;return t===`basic`?(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)($,{title:a(n,`system.storage.local.title`),status:a(n,`system.storage.local.badge`),detail:a(n,`system.storage.local.detail`)}),(0,U.jsx)($,{title:a(n,`system.storage.search.title`),status:u?a(n,`system.storage.search.on`):a(n,`system.storage.search.pending`),detail:u?a(n,`system.storage.search.detailOn`):a(n,`system.storage.search.detailPending`)})]}):(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsx)(b,{stats:[{label:a(n,`system.storage.activeEngine`),value:r.engine||e.engine||a(n,`system.storage.sqlite`)},{label:a(n,`system.storage.sqliteDefault`),value:r.engine===`postgres`?a(n,`system.value.scaleMode`):a(n,`system.value.enabled`)},{label:a(n,`system.storage.vector`),value:c||a(n,`system.value.notReported`)},{label:a(n,`system.storage.postgres`),value:l?a(n,`system.value.available`):a(n,`system.value.optional`)}]}),(0,U.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-3`,children:[(0,U.jsx)($,{title:a(n,`system.storage.sqlite`),status:r.available===!1?a(n,`system.value.unavailable`):a(n,`system.value.default`),detail:Q(n,r.reason||r.path||e.path,a(n,`system.storage.sqliteDetail`))}),(0,U.jsx)($,{title:a(n,`system.storage.vector`),status:Q(n,c,a(n,`system.value.reported`)),detail:Q(n,r.vector_reason||r.sqlite_vec_reason||e.vector_reason,a(n,`system.storage.vectorDetail`))}),(0,U.jsx)($,{title:a(n,`system.storage.postgres`),status:l?a(n,`system.value.available`):a(n,`system.value.notEnabled`),detail:Q(n,i.reason||i.dsn||i.status,a(n,`system.storage.postgresDetail`))})]}),Object.keys(s).length?(0,U.jsx)(D,{value:{backup_health:s}}):null]})}function he({data:e}){let t=c(e=>e.language);return(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(b,{stats:[{label:a(t,`system.backup.available`),value:e.available===!1?a(t,`system.value.no`):a(t,`system.value.yes`)},{label:a(t,`system.backup.backups`),value:e.count||e.backups||0},{label:a(t,`system.backup.encrypted`),value:e.encrypted_archives||0},{label:a(t,`system.backup.zip`),value:e.zip_backups||0}]}),(0,U.jsx)(m,{data:{directory:e.directory||a(t,`system.value.notReported`),latest:e.latest||a(t,`system.value.noneReported`),last_verified:e.last_verified||e.verified_at||a(t,`system.value.notReported`),failure:e.error||e.reason||a(t,`system.value.noneReported`)}})]})}function $({title:e,status:t,detail:n}){let r=/unavailable|failed|denied|disabled|not enabled|사용 불가|실패|거부|비활성|활성화되지 않음/i.test(t)?`warning`:`success`;return(0,U.jsxs)(`div`,{className:`rounded-md border border-border bg-background p-3`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,U.jsx)(`div`,{className:`font-medium`,children:e}),(0,U.jsx)(O,{variant:r,children:t})]}),(0,U.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:n})]})}function ge({data:e}){let t=c(e=>e.language),n=o(e.startup)?e.startup:{},r=o(e.privacy)?e.privacy:{},i=o(e.storage)?e.storage:{},s=o(e.backup)?e.backup:{},l=o(e.device_identity)?e.device_identity:{},u=o(e.permissions)?e.permissions:{};return(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(b,{stats:[{label:a(t,`system.hardening.version`),value:e.version||a(t,`system.value.reported`)},{label:a(t,`system.hardening.localOnly`),value:r.local_only_default??n.local_only_default??a(t,`system.value.reported`)},{label:a(t,`system.hardening.storage`),value:o(i.active)?i.active.engine:a(t,`system.value.reported`)},{label:a(t,`system.hardening.backups`),value:s.count||s.available||a(t,`system.value.reported`)}]}),(0,U.jsxs)(`div`,{className:`flex flex-col sm:flex-row flex-wrap gap-3`,children:[(0,U.jsx)($,{title:a(t,`system.hardening.startup`),status:a(t,n.network_exposed?`system.value.networkExposed`:`system.value.localOnly`),detail:a(t,`system.hardening.startupDetail`)}),(0,U.jsx)($,{title:a(t,`system.hardening.integrations`),status:a(t,r.local_only_default===!1?`system.value.reviewRequired`:`system.value.optIn`),detail:a(t,`system.hardening.integrationsDetail`)}),(0,U.jsx)($,{title:a(t,`system.hardening.identity`),status:Q(t,l.algorithm||l.fingerprint,a(t,`system.value.reported`)),detail:Q(t,l.storage,a(t,`system.hardening.identityStorage`))}),(0,U.jsx)($,{title:a(t,`system.hardening.permissions`),status:a(t,u.destructive_restore_requires_confirmation===!1?`system.value.reviewRequired`:`system.value.guarded`),detail:a(t,`system.hardening.permissionsDetail`)})]})]})}function _e({data:e}){let t=c(e=>e.language),n=o(e.cards)?e.cards:{},r=o(e.severity_counts)?e.severity_counts:{};return(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(b,{stats:[{label:a(t,`system.security.eventsToday`),value:n.events_today||0},{label:a(t,`system.security.highRisk`),value:n.high_risk_events||r.high||0},{label:a(t,`system.security.review`),value:n.review_required||0},{label:a(t,`system.security.riskRate`),value:e.risk_rate||0}]}),(0,U.jsx)(D,{value:{severity_counts:r,sensitive_fields:e.field_counts||{}}})]})}function ve(){let e=c(e=>e.mode),t=c(e=>e.language),n=d({queryKey:[`adminSummary`],queryFn:i.adminSummary}),r=d({queryKey:[`adminUsers`],queryFn:i.adminUsers}),o=d({queryKey:[`adminAudit`],queryFn:()=>i.adminAudit()}),s=d({queryKey:[`adminRoles`],queryFn:i.adminRoles}),l=d({queryKey:[`adminPolicies`],queryFn:i.adminPolicies}),u=d({queryKey:[`adminProductHardening`],queryFn:i.adminProductHardening}),f=d({queryKey:[`adminSecurity`],queryFn:i.adminSecurity}),p=d({queryKey:[`vpcStatus`],queryFn:i.vpcStatus});return e===`admin`?(0,U.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,U.jsx)(S,{title:a(t,`system.admin.summary`),result:n.data,children:e=>(0,U.jsx)(m,{data:e})}),(0,U.jsx)(S,{title:a(t,`system.admin.users`),result:r.data,children:e=>(0,U.jsx)(y,{items:e,titleKey:`email`,metaKey:`role`})}),(0,U.jsx)(S,{title:a(t,`system.admin.audit`),result:o.data,children:e=>(0,U.jsx)(y,{items:e.recent_events||e,titleKey:`act`,metaKey:`sev`})}),(0,U.jsx)(S,{title:a(t,`system.admin.roles`),result:s.data,children:e=>(0,U.jsx)(y,{items:e.roles||e,titleKey:`role`,metaKey:`members`})}),(0,U.jsx)(S,{title:a(t,`system.admin.policies`),result:l.data,children:e=>(0,U.jsx)(y,{items:e.policies||e,titleKey:`label`,metaKey:`enforced`})}),(0,U.jsx)(S,{title:a(t,`system.admin.hardening`),result:u.data,children:e=>(0,U.jsx)(ge,{data:e})}),(0,U.jsx)(S,{title:a(t,`system.admin.security`),result:f.data,children:e=>(0,U.jsx)(_e,{data:e})}),(0,U.jsx)(S,{title:a(t,`system.admin.vpc`),result:p.data,children:e=>(0,U.jsxs)(`div`,{className:`space-y-2`,children:[(0,U.jsx)(O,{variant:`muted`,children:a(t,`system.admin.communityUnavailable`)}),(0,U.jsx)(D,{value:e})]})})]}):(0,U.jsx)(T,{title:a(t,`system.admin.controls`),detail:a(t,`system.admin.controlsDetail`),target:`admin`})}export{X as SystemPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./utils-B-Aah1bO.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./utils-B-Aah1bO.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
|