ltcai 9.9.4 → 9.9.5

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.
Files changed (64) hide show
  1. package/README.md +38 -42
  2. package/docs/CHANGELOG.md +35 -0
  3. package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
  4. package/docs/DEVELOPMENT.md +1 -1
  5. package/docs/ONBOARDING.md +1 -1
  6. package/docs/OPERATIONS.md +1 -1
  7. package/docs/SURFACE_PARITY.md +10 -4
  8. package/docs/TRUST_MODEL.md +1 -1
  9. package/docs/WHY_LATTICE.md +1 -1
  10. package/docs/kg-schema.md +1 -1
  11. package/lattice_brain/__init__.py +1 -1
  12. package/lattice_brain/graph/rerank.py +160 -0
  13. package/lattice_brain/graph/retrieval.py +28 -442
  14. package/lattice_brain/graph/retrieval_reads.py +459 -0
  15. package/lattice_brain/graph/store.py +2 -0
  16. package/lattice_brain/quality.py +26 -6
  17. package/lattice_brain/runtime/multi_agent.py +1 -1
  18. package/latticeai/__init__.py +1 -1
  19. package/latticeai/api/chat_agent_http.py +87 -46
  20. package/latticeai/api/chat_contracts.py +1 -1
  21. package/latticeai/core/agent.py +156 -18
  22. package/latticeai/core/legacy_compatibility.py +1 -1
  23. package/latticeai/core/marketplace.py +1 -1
  24. package/latticeai/core/run_store.py +2 -0
  25. package/latticeai/core/workspace_os.py +1 -1
  26. package/latticeai/integrations/telegram_bot.py +82 -23
  27. package/latticeai/services/architecture_readiness.py +1 -1
  28. package/latticeai/services/product_readiness.py +1 -1
  29. package/latticeai/services/tool_dispatch.py +56 -0
  30. package/package.json +2 -1
  31. package/scripts/check_current_release_docs.mjs +1 -1
  32. package/scripts/run_sidecar_e2e.mjs +159 -0
  33. package/src-tauri/Cargo.lock +1 -1
  34. package/src-tauri/Cargo.toml +1 -1
  35. package/src-tauri/tauri.conf.json +1 -1
  36. package/static/app/asset-manifest.json +28 -28
  37. package/static/app/assets/{Act-BCmTU0E2.js → Act-DmxfbqBp.js} +1 -1
  38. package/static/app/assets/{Brain-CTnjox7w.js → Brain-DK_zKCda.js} +1 -1
  39. package/static/app/assets/{BrainHome-BJ3sFNX0.js → BrainHome-CCE_0hni.js} +1 -1
  40. package/static/app/assets/{BrainSignals-C52lwZVD.js → BrainSignals-r_J68_zh.js} +1 -1
  41. package/static/app/assets/{Capture-B6vBhFa3.js → Capture-CvxwzpJZ.js} +1 -1
  42. package/static/app/assets/{CommandPalette-90u9FWFH.js → CommandPalette-CVLiFIQC.js} +1 -1
  43. package/static/app/assets/{Library-pKCK0_tk.js → Library-4As9VUvy.js} +1 -1
  44. package/static/app/assets/{LivingBrain-Jlf2wFqI.js → LivingBrain-BVWk58MW.js} +1 -1
  45. package/static/app/assets/{ProductFlow-yg1fKP1P.js → ProductFlow-B-Tz0Um4.js} +1 -1
  46. package/static/app/assets/{ReviewCard-DWvD7n9h.js → ReviewCard-Va3fPQuj.js} +1 -1
  47. package/static/app/assets/{System-BAEuHqNY.js → System-DSR2zKWd.js} +1 -1
  48. package/static/app/assets/{bot-nB_buEZD.js → bot-VmP0kkeA.js} +1 -1
  49. package/static/app/assets/{circle-pause-DLNw6Ucp.js → circle-pause-T9POo4qy.js} +1 -1
  50. package/static/app/assets/{circle-play-B-IsFL1y.js → circle-play-Bz5iTD0p.js} +1 -1
  51. package/static/app/assets/{cpu-CEPBHaBl.js → cpu-CJhjRtNq.js} +1 -1
  52. package/static/app/assets/{folder-open-hmN0N9cX.js → folder-open-B2K_22VI.js} +1 -1
  53. package/static/app/assets/{hard-drive-CBV_B_Yd.js → hard-drive-CjJtYqHf.js} +1 -1
  54. package/static/app/assets/{index-DrmOCySv.js → index-CEu0Wqjl.js} +3 -3
  55. package/static/app/assets/{input-gtVCg-ll.js → input-CSi6OBJ9.js} +1 -1
  56. package/static/app/assets/{navigation-Bot0hvuv.js → navigation-BPQqEQwr.js} +1 -1
  57. package/static/app/assets/{network-jE42eKfT.js → network-Ck1nqc-v.js} +1 -1
  58. package/static/app/assets/{primitives-CX2Komon.js → primitives-B2f9N7Dh.js} +1 -1
  59. package/static/app/assets/{shield-alert-BftATuAA.js → shield-alert-yA_Y8lOB.js} +1 -1
  60. package/static/app/assets/{textarea-CiMJfOSI.js → textarea-C4wM0D-Z.js} +1 -1
  61. package/static/app/assets/{useFocusTrap-B7RPGfFy.js → useFocusTrap-CsnIhsDJ.js} +1 -1
  62. package/static/app/assets/{utils-SJUNVOj5.js → utils-BqoznzGP.js} +1 -1
  63. package/static/app/index.html +3 -3
  64. package/static/sw.js +1 -1
@@ -1 +1 @@
1
- import{_ as e,a as t,b as n,h as r,p as i,s as a,t as o,u as s,v as c}from"./utils-SJUNVOj5.js";import{a as l,n as u,r as d}from"./navigation-Bot0hvuv.js";import{_ as f,a as p,c as m,d as h,g,h as _,i as v,l as y,m as b,n as x,p as S,r as C,s as w,t as T,u as E,v as D}from"./primitives-CX2Komon.js";import{t as O}from"./input-gtVCg-ll.js";import{t as k}from"./network-jE42eKfT.js";import{_ as A,i as j,l as M,s as N,t as P,w as F}from"./index-DrmOCySv.js";var I=n(c()),L=e(),R=[{id:`account`,labelKey:`system.tab.account`},{id:`workspaces`,labelKey:`system.tab.workspaces`},{id:`snapshots`,labelKey:`system.tab.snapshots`},{id:`activity`,labelKey:`system.tab.activity`},{id:`network`,labelKey:`system.tab.network`},{id:`settings`,labelKey:`system.tab.settings`},{id:`admin`,labelKey:`system.tab.admin`}];function z({initialTab:e}){let t=r(e=>e.mode),n=r(e=>e.language),[a,o]=I.useState(e||`account`);I.useEffect(()=>{R.some(t=>t.id===e)&&o(e)},[e]);let s=e=>{o(e),u(`/`+{account:`account`,workspaces:`workspace-admin`,snapshots:`snapshots`,activity:`activity`,network:`network`,settings:`settings`,admin:`system-admin`}[e])};return(0,L.jsxs)(`div`,{className:`product-page settings-page space-y-5`,children:[(0,L.jsxs)(`header`,{className:`page-hero`,children:[(0,L.jsxs)(`div`,{className:`page-kicker`,children:[(0,L.jsx)(M,{className:`h-4 w-4`}),` `,i(n,`system.kicker`)]}),(0,L.jsx)(`h1`,{className:`page-title`,children:i(n,`system.title`)}),(0,L.jsx)(`p`,{className:`page-copy`,children:i(n,`system.body`)})]}),(0,L.jsx)(h,{tabs:(t===`basic`?R.filter(e=>e.id===`account`||e.id===`workspaces`||e.id===`snapshots`||e.id===`settings`):R).map(e=>({id:e.id,label:i(n,e.labelKey)})),value:a,onChange:e=>s(e)}),a===`account`?(0,L.jsx)(B,{}):null,a===`workspaces`?(0,L.jsx)(V,{}):null,a===`snapshots`?(0,L.jsx)(ee,{}):null,a===`activity`?(0,L.jsx)(H,{}):null,a===`network`?(0,L.jsx)(te,{}):null,a===`settings`?(0,L.jsx)(U,{}):null,a===`admin`?(0,L.jsx)(X,{}):null]})}function B(){let e=l(),t=r(e=>e.language),n=r(e=>e.setWorkspaceId),a=d({queryKey:[`profile`],queryFn:s.profile}),o=d({queryKey:[`sso`],queryFn:s.ssoConfig}),[c,u]=I.useState(``),[h,v]=I.useState(``),[y,C]=I.useState(``),[w,D]=I.useState(``),[k,M]=I.useState(``),N=e=>{e.ok&&(P(),n(null))},R=F({mutationFn:()=>s.login(c,h),onSuccess:N}),z=F({mutationFn:()=>s.register({email:c,password:h,name:y,nickname:w}),onSuccess:N}),B=F({mutationFn:()=>s.updateProfile({name:y,nickname:w}),onSuccess:()=>e.invalidateQueries({queryKey:[`profile`]})}),V=F({mutationFn:()=>s.changePassword(h,k)});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(t,`system.account.profile`),result:a.data,children:e=>(0,L.jsx)(p,{data:e})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,L.jsx)(A,{className:`h-4 w-4`}),` `,i(t,`system.account.title`)]}),(0,L.jsx)(_,{children:i(t,`system.account.detail`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:c,onChange:e=>u(e.target.value),placeholder:i(t,`system.account.email`)}),(0,L.jsx)(O,{type:`password`,value:h,onChange:e=>v(e.target.value),placeholder:i(t,`system.account.password`)}),(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,L.jsx)(O,{value:y,onChange:e=>C(e.target.value),placeholder:i(t,`system.account.name`)}),(0,L.jsx)(O,{value:w,onChange:e=>D(e.target.value),placeholder:i(t,`system.account.nickname`)})]}),(0,L.jsx)(O,{type:`password`,value:k,onChange:e=>M(e.target.value),placeholder:i(t,`system.account.newPassword`)}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{onClick:()=>R.mutate(),disabled:!c||!h||R.isPending,children:i(t,`system.account.login`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>z.mutate(),disabled:!c||!h||z.isPending,children:i(t,`system.account.register`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>B.mutate(),disabled:B.isPending,children:i(t,`system.account.save`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>V.mutate(),disabled:!h||!k||V.isPending,children:i(t,`system.account.changePassword`)}),(0,L.jsx)(T,{label:i(t,`system.account.logout`),action:()=>s.logout(),onSuccess:N})]}),[R.data,z.data,B.data,V.data].filter(Boolean).map((e,n)=>(0,L.jsx)(m,{result:e,successLabel:i(t,`system.account.requestDone`)},n))]})]}),(0,L.jsx)(x,{title:i(t,`system.account.signInOptions`),result:o.data,className:`xl:col-span-2`,children:e=>(0,L.jsx)(E,{value:e})})]})}function V(){let e=l(),t=r(e=>e.language),{setWorkspaceId:n}=r(),a=d({queryKey:[`workspaceRegistry`],queryFn:s.workspaceRegistry}),c=d({queryKey:[`invitations`],queryFn:s.invitations}),[u,p]=I.useState(``),[m,h]=I.useState(``),[y,C]=I.useState(``),w=F({mutationFn:()=>s.createOrg(u),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),E=F({mutationFn:()=>s.createInvitation({email:m||null,role:`member`,expires_hours:168}),onSuccess:()=>e.invalidateQueries({queryKey:[`invitations`]})}),D=F({mutationFn:()=>s.acceptInvitation(y),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),k=o(a.data?.data?.workspaces);return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[1.1fr_0.9fr]`,children:[(0,L.jsx)(x,{title:i(t,`system.workspace.yours`),result:a.data,children:()=>(0,L.jsx)(`div`,{className:`grid gap-2`,children:k.map(e=>{let r=String(e.workspace_id||e.id);return(0,L.jsx)(`div`,{className:`rounded-md border border-border p-3`,children:(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`font-medium`,children:String(e.name||r)}),(0,L.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[String(e.type||``),` · `,String(e.your_role||e.role||``)]})]}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{variant:`outline`,onClick:()=>n(r),children:i(t,`system.workspace.use`)}),(0,L.jsx)(T,{label:i(t,`system.workspace.activate`),action:()=>s.activateWorkspace(r),invalidate:[`workspaceRegistry`]}),(0,L.jsx)(T,{label:i(t,`system.workspace.archive`),action:()=>s.archiveWorkspace(r),invalidate:[`workspaceRegistry`],variant:`destructive`})]})]})},r)})})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,L.jsx)(N,{className:`h-4 w-4`}),` `,i(t,`system.workspace.organizations`)]}),(0,L.jsx)(_,{children:i(t,`system.workspace.organizationsHint`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:u,onChange:e=>p(e.target.value),placeholder:i(t,`system.workspace.orgPlaceholder`)}),(0,L.jsx)(j,{disabled:!u.trim()||w.isPending,onClick:()=>w.mutate(),children:i(t,`system.workspace.createOrg`)}),(0,L.jsx)(O,{value:m,onChange:e=>h(e.target.value),placeholder:i(t,`system.workspace.inviteeEmail`)}),(0,L.jsx)(j,{variant:`outline`,disabled:E.isPending,onClick:()=>E.mutate(),children:i(t,`system.workspace.createInvite`)}),(0,L.jsx)(O,{value:y,onChange:e=>C(e.target.value),placeholder:i(t,`system.workspace.inviteToken`)}),(0,L.jsx)(j,{variant:`outline`,disabled:!y.trim()||D.isPending,onClick:()=>D.mutate(),children:i(t,`system.workspace.acceptInvite`)}),(0,L.jsx)(x,{title:i(t,`system.workspace.invitations`),result:c.data,children:e=>(0,L.jsx)(v,{items:e.invitations,titleKey:`token`,metaKey:`role`})})]})]})]})}function ee(){let e=r(e=>e.language),t=d({queryKey:[`snapshots`],queryFn:s.snapshots}),n=d({queryKey:[`timeMachine`],queryFn:s.timeMachine}),[a,c]=I.useState(``),[l,u]=I.useState(``),[p,h]=I.useState(``),y=F({mutationFn:()=>s.createSnapshot(a||i(e,`system.snapshots.defaultName`))}),C=F({mutationFn:()=>s.compareSnapshots(l,p)}),w=o(t.data?.data?.snapshots);return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(e,`system.snapshots.title`),result:t.data,children:()=>(0,L.jsx)(`div`,{className:`space-y-2`,children:w.map(t=>{let n=String(t.id||t.snapshot_id);return(0,L.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,L.jsx)(`div`,{className:`font-medium`,children:String(t.name||n)}),(0,L.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,L.jsx)(T,{label:i(e,`system.snapshots.export`),action:()=>s.exportSnapshot(n)}),(0,L.jsx)(T,{label:i(e,`system.snapshots.mergeRestore`),action:()=>s.restoreSnapshot(n),variant:`outline`})]})]},n)})})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(e,`system.snapshots.actions`)}),(0,L.jsx)(_,{children:i(e,`system.snapshots.actionsHint`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:a,onChange:e=>c(e.target.value),placeholder:i(e,`system.snapshots.namePlaceholder`)}),(0,L.jsx)(j,{onClick:()=>y.mutate(),disabled:y.isPending,children:i(e,`system.snapshots.create`)}),(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,L.jsx)(O,{value:l,onChange:e=>u(e.target.value),placeholder:i(e,`system.snapshots.beforeId`)}),(0,L.jsx)(O,{value:p,onChange:e=>h(e.target.value),placeholder:i(e,`system.snapshots.afterId`)})]}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>C.mutate(),disabled:!l||!p||C.isPending,children:i(e,`system.snapshots.compare`)}),C.data?(0,L.jsx)(m,{result:C.data,successLabel:i(e,`system.snapshots.compareDone`)}):null]})]}),(0,L.jsx)(x,{title:i(e,`system.snapshots.timeline`),result:n.data,className:`xl:col-span-2`,children:e=>(0,L.jsx)(v,{items:e.events||e,titleKey:`event`,metaKey:`type`,limit:14})})]})}function H(){let e=r(e=>e.language),t=d({queryKey:[`realtimeFeed`],queryFn:s.realtimeFeed}),n=d({queryKey:[`presence`],queryFn:s.presence});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(e,`system.activity.feed`),result:t.data,children:e=>(0,L.jsx)(v,{items:e.events,titleKey:`event_type`,metaKey:`area`,limit:14})}),(0,L.jsx)(x,{title:i(e,`system.activity.presence`),result:n.data,children:e=>(0,L.jsx)(G,{data:e})})]})}function te(){let e=l(),t=r(e=>e.language),n=d({queryKey:[`networkIdentity`],queryFn:s.networkIdentity}),a=d({queryKey:[`networkPeers`],queryFn:s.networkPeers}),[c,u]=I.useState(``),[p,h]=I.useState(``),[v,y]=I.useState(``),C=F({mutationFn:()=>s.pairPeer({name:c,base_url:p,public_key:v}),onSuccess:()=>e.invalidateQueries({queryKey:[`networkPeers`]})});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[0.8fr_1.2fr]`,children:[(0,L.jsx)(x,{title:i(t,`system.network.identity`),result:n.data,children:e=>(0,L.jsx)(K,{data:e})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,L.jsx)(k,{className:`h-4 w-4`}),` `,i(t,`system.network.pair`)]}),(0,L.jsx)(_,{children:i(t,`system.network.pairHint`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:c,onChange:e=>u(e.target.value),placeholder:i(t,`system.network.deviceName`)}),(0,L.jsx)(O,{value:p,onChange:e=>h(e.target.value),placeholder:i(t,`system.network.address`)}),(0,L.jsx)(O,{value:v,onChange:e=>y(e.target.value),placeholder:i(t,`system.network.publicKey`)}),(0,L.jsx)(j,{disabled:!c||!p||!v||C.isPending,onClick:()=>C.mutate(),children:i(t,`system.network.pair`)}),C.data?(0,L.jsx)(m,{result:C.data,successLabel:i(t,`system.network.pairDone`)}):null]})]}),(0,L.jsx)(x,{title:i(t,`system.network.peers`),result:a.data,className:`xl:col-span-2`,children:e=>(0,L.jsx)(`div`,{className:`grid gap-2`,children:o(e.peers).map(e=>{let n=String(e.peer_id||e.id);return(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-md border border-border p-3`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`font-medium`,children:String(e.name||n)}),(0,L.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:String(e.base_url||``)})]}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(T,{label:i(t,`system.network.pushWorkspace`),action:()=>s.pushPeer(n,r.getState().workspaceId)}),(0,L.jsx)(T,{label:i(t,`system.network.unpair`),action:()=>s.unpairPeer(n),invalidate:[`networkPeers`],variant:`destructive`})]})]},n)})})})]})}function U(){let e=l(),{theme:t,setTheme:n,mode:a,setMode:o}=r(),c=r(e=>e.language),u=d({queryKey:[`health`],queryFn:s.health}),p=d({queryKey:[`sysinfo`],queryFn:s.sysinfo}),h=d({queryKey:[`computerMemory`],queryFn:s.computerMemory}),v=d({queryKey:[`brainStorage`],queryFn:s.brainStorage}),C=d({queryKey:[`backupHealth`],queryFn:s.backupHealth}),[w,D]=I.useState(``),[k,A]=I.useState(`lattice_brain`),[M,N]=I.useState(!1),[P,R]=I.useState(``),[z,B]=I.useState(``),[V,ee]=I.useState(``),[H,te]=I.useState(!1),[U,W]=I.useState(!1),G=F({mutationFn:e=>s.dockerPostgres({consent:e,dry_run:!e,port:5432})}),K=F({mutationFn:()=>s.migratePostgres({dsn:w,schema_name:k||`lattice_brain`,dry_run:!0})}),q=F({mutationFn:()=>s.brainArchive({path:P.trim()||null,passphrase:V}),onSuccess:()=>e.invalidateQueries({queryKey:[`backupHealth`]})}),J=F({mutationFn:()=>s.brainArchiveInspect({path:z,passphrase:V||null})}),Y=F({mutationFn:()=>s.brainArchiveVerify({path:z,passphrase:V})}),X=F({mutationFn:()=>s.brainArchiveRestore({path:z,passphrase:V,dry_run:!0,confirm:!1})}),Z=F({mutationFn:()=>s.brainArchiveRestore({path:z,passphrase:V,dry_run:!1,confirm:H}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}}),Q=F({mutationFn:()=>s.brainArchiveImport({path:z,passphrase:V,dry_run:!0,confirm:!1})}),$=F({mutationFn:()=>s.brainArchiveImport({path:z,passphrase:V,dry_run:!1,confirm:U}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-3`,children:[(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(c,`system.panel.appearance`)}),(0,L.jsx)(_,{children:i(c,`system.panel.appearance.hint`)})]}),(0,L.jsxs)(b,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{variant:t===`dark`?`default`:`outline`,onClick:()=>n(`dark`),children:i(c,`system.theme.dark`)}),(0,L.jsx)(j,{variant:t===`light`?`default`:`outline`,onClick:()=>n(`light`),children:i(c,`system.theme.light`)}),[`basic`,`advanced`,`admin`].map(e=>(0,L.jsx)(j,{variant:a===e?`default`:`outline`,onClick:()=>o(e),children:i(c,`shell.mode.${e}`)},e))]})]}),(0,L.jsx)(x,{title:a===`basic`?i(c,`system.panel.brainStatus`):i(c,`system.panel.serverHealth`),result:u.data,children:e=>(0,L.jsx)(ne,{data:e})}),(0,L.jsx)(x,{title:a===`basic`?i(c,`system.panel.readiness`):i(c,`system.panel.hostTelemetry`),result:p.data,children:e=>a===`basic`?(0,L.jsx)(y,{stats:[{label:i(c,`system.stat.cpu`),value:`${String(e.cpu_pct||`0`)}%`},{label:i(c,`system.stat.memory`),value:`${String(e.ram_pct||`0`)}%`},{label:i(c,`system.stat.gpu`),value:`${String(e.gpu_mem_pct||`0`)}%`},{label:i(c,`system.stat.localStatus`),value:i(c,`system.stat.ready`)}]}):(0,L.jsx)(E,{value:e})}),(0,L.jsx)(x,{title:a===`basic`?i(c,`system.storage.title`):i(c,`system.panel.brainStorage`),result:v.data,className:`xl:col-span-3`,children:e=>(0,L.jsx)(re,{data:e,mode:a,language:c})}),a===`basic`?null:(0,L.jsx)(x,{title:i(c,`system.backup.health`),result:C.data,className:`xl:col-span-3`,children:e=>(0,L.jsx)(ie,{data:e})}),a===`basic`?null:(0,L.jsxs)(S,{className:`xl:col-span-3`,children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(c,`system.archive.title`)}),(0,L.jsx)(_,{children:i(c,`system.archive.detail`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[1fr_1fr]`,children:[(0,L.jsx)(O,{value:P,onChange:e=>R(e.target.value),placeholder:i(c,`system.archive.exportPath`)}),(0,L.jsx)(O,{value:z,onChange:e=>B(e.target.value),placeholder:i(c,`system.archive.restorePath`)})]}),(0,L.jsx)(O,{type:`password`,value:V,onChange:e=>ee(e.target.value),placeholder:i(c,`system.archive.passphrase`)}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{onClick:()=>q.mutate(),disabled:!V||q.isPending,children:i(c,`system.archive.export`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>J.mutate(),disabled:!z||J.isPending,children:i(c,`system.archive.inspect`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>Y.mutate(),disabled:!z||!V||Y.isPending,children:i(c,`system.archive.verify`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>X.mutate(),disabled:!z||!V||X.isPending,children:i(c,`system.archive.restoreDryRun`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>Q.mutate(),disabled:!z||!V||Q.isPending,children:i(c,`system.archive.importDryRun`)}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:H,onChange:e=>te(e.target.checked)}),i(c,`system.archive.confirmRestore`)]}),(0,L.jsx)(j,{variant:`destructive`,onClick:()=>Z.mutate(),disabled:!z||!V||!H||Z.isPending,children:i(c,`system.archive.restore`)}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:U,onChange:e=>W(e.target.checked)}),i(c,`system.archive.confirmImport`)]}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>$.mutate(),disabled:!z||!V||!U||$.isPending,children:i(c,`system.archive.import`)})]}),[q.data,J.data,Y.data,X.data,Z.data,Q.data,$.data].filter(Boolean).map((e,t)=>(0,L.jsx)(m,{result:e,successLabel:i(c,`system.archive.requestDone`)},t))]})]}),a===`basic`?null:(0,L.jsxs)(S,{className:`xl:col-span-3`,children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(c,`system.scale.title`)}),(0,L.jsx)(_,{children:i(c,`system.scale.detail`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[1fr_220px]`,children:[(0,L.jsx)(O,{value:w,onChange:e=>D(e.target.value),placeholder:i(c,`system.scale.dsn`)}),(0,L.jsx)(O,{value:k,onChange:e=>A(e.target.value),placeholder:i(c,`system.scale.schema`)})]}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{variant:`outline`,onClick:()=>G.mutate(!1),disabled:G.isPending,children:i(c,`system.scale.dockerPlan`)}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:M,onChange:e=>N(e.target.checked)}),i(c,`system.scale.dockerConsent`)]}),(0,L.jsx)(j,{onClick:()=>G.mutate(!0),disabled:!M||G.isPending,children:i(c,`system.scale.dockerStart`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>K.mutate(),disabled:!w||K.isPending,children:i(c,`system.scale.migrationPlan`)})]}),G.data?(0,L.jsx)(m,{result:G.data,successLabel:i(c,`system.scale.dockerDone`)}):null,K.data?(0,L.jsx)(m,{result:K.data,successLabel:i(c,`system.scale.migrationDone`)}):null]})]}),a===`basic`?null:(0,L.jsx)(x,{title:i(c,`system.computerMemory.title`),result:h.data,className:`xl:col-span-3`,children:e=>(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(E,{value:e}),(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsx)(T,{label:i(c,`system.computerMemory.enable`),action:()=>s.setComputerMemory(!0),invalidate:[`computerMemory`]}),(0,L.jsx)(T,{label:i(c,`system.computerMemory.disable`),action:()=>s.setComputerMemory(!1),invalidate:[`computerMemory`],variant:`destructive`})]})]})})]})}function W(e,t,n=i(e,`system.value.notReported`)){return t==null||t===``?n:typeof t==`boolean`?i(e,t?`system.value.enabled`:`system.value.disabled`):String(t)}function G({data:e}){let t=r(e=>e.language),n=o(e.presence||e.clients||e);return n.length?(0,L.jsx)(v,{items:n,titleKey:`user`,metaKey:`workspace_id`}):(0,L.jsx)(C,{title:i(t,`system.presence.empty`),detail:i(t,`system.presence.emptyDetail`)})}function K({data:e}){let t=r(e=>e.mode),n=r(e=>e.language),o=W(n,e.public_key,``);return t===`basic`?(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(q,{title:i(n,`system.device.thisMac`),status:i(n,`system.value.trusted`),detail:i(n,`system.device.thisMacDetail`)}),(0,L.jsx)(D,{variant:`muted`,children:W(n,e.algorithm,i(n,`system.value.localIdentity`))})]}):(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,L.jsx)(D,{variant:`success`,children:i(n,`system.value.localDevice`)}),(0,L.jsx)(D,{variant:`muted`,children:W(n,e.algorithm,i(n,`system.value.identityKey`))})]}),(0,L.jsx)(p,{data:{device_id:e.device_id||e.id||i(n,`system.value.notReported`),fingerprint:e.fingerprint||i(n,`system.value.notReported`),public_key:o?a(o.replace(/\s+/g,` `),72):i(n,`system.value.notReported`)}})]})}function ne({data:e}){let t=r(e=>e.mode),n=r(e=>e.language);return t===`basic`?(0,L.jsx)(q,{title:i(n,`system.health.title`),status:i(n,`system.health.ok`),detail:i(n,`system.health.detail`)}):(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(n,`system.health.status`),value:e.status||e.ok||i(n,`system.value.reported`)},{label:i(n,`system.health.version`),value:e.version||i(n,`system.value.notReported`)},{label:i(n,`system.health.mode`),value:e.mode||e.environment||i(n,`system.value.local`)},{label:i(n,`system.health.port`),value:e.port||e.backend_port||i(n,`system.value.configured`)}]}),(0,L.jsx)(E,{value:e})]})}function re({data:e,mode:n=`advanced`,language:r=`en`}){let a=t(e.active)?e.active:e,o=t(e.postgres)?e.postgres:{},s=t(e.backup_health)?e.backup_health:{},c=a.vector_search||a.vector||e.vector_search||e.sqlite_vec,l=!!(o.available||o.connected||o.enabled),u=!!c&&String(c).toLowerCase()!==`not reported`;return n===`basic`?(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(q,{title:i(r,`system.storage.local.title`),status:i(r,`system.storage.local.badge`),detail:i(r,`system.storage.local.detail`)}),(0,L.jsx)(q,{title:i(r,`system.storage.search.title`),status:u?i(r,`system.storage.search.on`):i(r,`system.storage.search.pending`),detail:u?i(r,`system.storage.search.detailOn`):i(r,`system.storage.search.detailPending`)})]}):(0,L.jsxs)(`div`,{className:`space-y-4`,children:[(0,L.jsx)(y,{stats:[{label:i(r,`system.storage.activeEngine`),value:a.engine||e.engine||i(r,`system.storage.sqlite`)},{label:i(r,`system.storage.sqliteDefault`),value:a.engine===`postgres`?i(r,`system.value.scaleMode`):i(r,`system.value.enabled`)},{label:i(r,`system.storage.vector`),value:c||i(r,`system.value.notReported`)},{label:i(r,`system.storage.postgres`),value:l?i(r,`system.value.available`):i(r,`system.value.optional`)}]}),(0,L.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,L.jsx)(q,{title:i(r,`system.storage.sqlite`),status:a.available===!1?i(r,`system.value.unavailable`):i(r,`system.value.default`),detail:W(r,a.reason||a.path||e.path,i(r,`system.storage.sqliteDetail`))}),(0,L.jsx)(q,{title:i(r,`system.storage.vector`),status:W(r,c,i(r,`system.value.reported`)),detail:W(r,a.vector_reason||a.sqlite_vec_reason||e.vector_reason,i(r,`system.storage.vectorDetail`))}),(0,L.jsx)(q,{title:i(r,`system.storage.postgres`),status:l?i(r,`system.value.available`):i(r,`system.value.notEnabled`),detail:W(r,o.reason||o.dsn||o.status,i(r,`system.storage.postgresDetail`))})]}),Object.keys(s).length?(0,L.jsx)(E,{value:{backup_health:s}}):null]})}function ie({data:e}){let t=r(e=>e.language);return(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(t,`system.backup.available`),value:e.available===!1?i(t,`system.value.no`):i(t,`system.value.yes`)},{label:i(t,`system.backup.backups`),value:e.count||e.backups||0},{label:i(t,`system.backup.encrypted`),value:e.encrypted_archives||0},{label:i(t,`system.backup.zip`),value:e.zip_backups||0}]}),(0,L.jsx)(p,{data:{directory:e.directory||i(t,`system.value.notReported`),latest:e.latest||i(t,`system.value.noneReported`),last_verified:e.last_verified||e.verified_at||i(t,`system.value.notReported`),failure:e.error||e.reason||i(t,`system.value.noneReported`)}})]})}function q({title:e,status:t,detail:n}){let r=/unavailable|failed|denied|disabled|not enabled|사용 불가|실패|거부|비활성|활성화되지 않음/i.test(t)?`warning`:`success`;return(0,L.jsxs)(`div`,{className:`rounded-md border border-border bg-background p-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,L.jsx)(`div`,{className:`font-medium`,children:e}),(0,L.jsx)(D,{variant:r,children:t})]}),(0,L.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:n})]})}function J({data:e}){let n=r(e=>e.language),a=t(e.startup)?e.startup:{},o=t(e.privacy)?e.privacy:{},s=t(e.storage)?e.storage:{},c=t(e.backup)?e.backup:{},l=t(e.device_identity)?e.device_identity:{},u=t(e.permissions)?e.permissions:{};return(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(n,`system.hardening.version`),value:e.version||i(n,`system.value.reported`)},{label:i(n,`system.hardening.localOnly`),value:o.local_only_default??a.local_only_default??i(n,`system.value.reported`)},{label:i(n,`system.hardening.storage`),value:t(s.active)?s.active.engine:i(n,`system.value.reported`)},{label:i(n,`system.hardening.backups`),value:c.count||c.available||i(n,`system.value.reported`)}]}),(0,L.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:[(0,L.jsx)(q,{title:i(n,`system.hardening.startup`),status:i(n,a.network_exposed?`system.value.networkExposed`:`system.value.localOnly`),detail:i(n,`system.hardening.startupDetail`)}),(0,L.jsx)(q,{title:i(n,`system.hardening.integrations`),status:i(n,o.local_only_default===!1?`system.value.reviewRequired`:`system.value.optIn`),detail:i(n,`system.hardening.integrationsDetail`)}),(0,L.jsx)(q,{title:i(n,`system.hardening.identity`),status:W(n,l.algorithm||l.fingerprint,i(n,`system.value.reported`)),detail:W(n,l.storage,i(n,`system.hardening.identityStorage`))}),(0,L.jsx)(q,{title:i(n,`system.hardening.permissions`),status:i(n,u.destructive_restore_requires_confirmation===!1?`system.value.reviewRequired`:`system.value.guarded`),detail:i(n,`system.hardening.permissionsDetail`)})]})]})}function Y({data:e}){let n=r(e=>e.language),a=t(e.cards)?e.cards:{},o=t(e.severity_counts)?e.severity_counts:{};return(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(n,`system.security.eventsToday`),value:a.events_today||0},{label:i(n,`system.security.highRisk`),value:a.high_risk_events||o.high||0},{label:i(n,`system.security.review`),value:a.review_required||0},{label:i(n,`system.security.riskRate`),value:e.risk_rate||0}]}),(0,L.jsx)(E,{value:{severity_counts:o,sensitive_fields:e.field_counts||{}}})]})}function X(){let e=r(e=>e.mode),t=r(e=>e.language),n=d({queryKey:[`adminSummary`],queryFn:s.adminSummary}),a=d({queryKey:[`adminUsers`],queryFn:s.adminUsers}),o=d({queryKey:[`adminAudit`],queryFn:()=>s.adminAudit()}),c=d({queryKey:[`adminRoles`],queryFn:s.adminRoles}),l=d({queryKey:[`adminPolicies`],queryFn:s.adminPolicies}),u=d({queryKey:[`adminProductHardening`],queryFn:s.adminProductHardening}),f=d({queryKey:[`adminSecurity`],queryFn:s.adminSecurity}),m=d({queryKey:[`vpcStatus`],queryFn:s.vpcStatus});return e===`admin`?(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(t,`system.admin.summary`),result:n.data,children:e=>(0,L.jsx)(p,{data:e})}),(0,L.jsx)(x,{title:i(t,`system.admin.users`),result:a.data,children:e=>(0,L.jsx)(v,{items:e,titleKey:`email`,metaKey:`role`})}),(0,L.jsx)(x,{title:i(t,`system.admin.audit`),result:o.data,children:e=>(0,L.jsx)(v,{items:e.recent_events||e,titleKey:`act`,metaKey:`sev`})}),(0,L.jsx)(x,{title:i(t,`system.admin.roles`),result:c.data,children:e=>(0,L.jsx)(v,{items:e.roles||e,titleKey:`role`,metaKey:`members`})}),(0,L.jsx)(x,{title:i(t,`system.admin.policies`),result:l.data,children:e=>(0,L.jsx)(v,{items:e.policies||e,titleKey:`label`,metaKey:`enforced`})}),(0,L.jsx)(x,{title:i(t,`system.admin.hardening`),result:u.data,children:e=>(0,L.jsx)(J,{data:e})}),(0,L.jsx)(x,{title:i(t,`system.admin.security`),result:f.data,children:e=>(0,L.jsx)(Y,{data:e})}),(0,L.jsx)(x,{title:i(t,`system.admin.vpc`),result:m.data,className:`xl:col-span-2`,children:e=>(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(D,{variant:`muted`,children:i(t,`system.admin.communityUnavailable`)}),(0,L.jsx)(E,{value:e})]})})]}):(0,L.jsx)(w,{title:i(t,`system.admin.controls`),detail:i(t,`system.admin.controlsDetail`),target:`admin`})}export{z as SystemPage};
1
+ import{_ as e,a as t,b as n,h as r,p as i,s as a,t as o,u as s,v as c}from"./utils-BqoznzGP.js";import{a as l,n as u,r as d}from"./navigation-BPQqEQwr.js";import{_ as f,a as p,c as m,d as h,g,h as _,i as v,l as y,m as b,n as x,p as S,r as C,s as w,t as T,u as E,v as D}from"./primitives-B2f9N7Dh.js";import{t as O}from"./input-CSi6OBJ9.js";import{t as k}from"./network-Ck1nqc-v.js";import{_ as A,i as j,l as M,s as N,t as P,w as F}from"./index-CEu0Wqjl.js";var I=n(c()),L=e(),R=[{id:`account`,labelKey:`system.tab.account`},{id:`workspaces`,labelKey:`system.tab.workspaces`},{id:`snapshots`,labelKey:`system.tab.snapshots`},{id:`activity`,labelKey:`system.tab.activity`},{id:`network`,labelKey:`system.tab.network`},{id:`settings`,labelKey:`system.tab.settings`},{id:`admin`,labelKey:`system.tab.admin`}];function z({initialTab:e}){let t=r(e=>e.mode),n=r(e=>e.language),[a,o]=I.useState(e||`account`);I.useEffect(()=>{R.some(t=>t.id===e)&&o(e)},[e]);let s=e=>{o(e),u(`/`+{account:`account`,workspaces:`workspace-admin`,snapshots:`snapshots`,activity:`activity`,network:`network`,settings:`settings`,admin:`system-admin`}[e])};return(0,L.jsxs)(`div`,{className:`product-page settings-page space-y-5`,children:[(0,L.jsxs)(`header`,{className:`page-hero`,children:[(0,L.jsxs)(`div`,{className:`page-kicker`,children:[(0,L.jsx)(M,{className:`h-4 w-4`}),` `,i(n,`system.kicker`)]}),(0,L.jsx)(`h1`,{className:`page-title`,children:i(n,`system.title`)}),(0,L.jsx)(`p`,{className:`page-copy`,children:i(n,`system.body`)})]}),(0,L.jsx)(h,{tabs:(t===`basic`?R.filter(e=>e.id===`account`||e.id===`workspaces`||e.id===`snapshots`||e.id===`settings`):R).map(e=>({id:e.id,label:i(n,e.labelKey)})),value:a,onChange:e=>s(e)}),a===`account`?(0,L.jsx)(B,{}):null,a===`workspaces`?(0,L.jsx)(V,{}):null,a===`snapshots`?(0,L.jsx)(ee,{}):null,a===`activity`?(0,L.jsx)(H,{}):null,a===`network`?(0,L.jsx)(te,{}):null,a===`settings`?(0,L.jsx)(U,{}):null,a===`admin`?(0,L.jsx)(X,{}):null]})}function B(){let e=l(),t=r(e=>e.language),n=r(e=>e.setWorkspaceId),a=d({queryKey:[`profile`],queryFn:s.profile}),o=d({queryKey:[`sso`],queryFn:s.ssoConfig}),[c,u]=I.useState(``),[h,v]=I.useState(``),[y,C]=I.useState(``),[w,D]=I.useState(``),[k,M]=I.useState(``),N=e=>{e.ok&&(P(),n(null))},R=F({mutationFn:()=>s.login(c,h),onSuccess:N}),z=F({mutationFn:()=>s.register({email:c,password:h,name:y,nickname:w}),onSuccess:N}),B=F({mutationFn:()=>s.updateProfile({name:y,nickname:w}),onSuccess:()=>e.invalidateQueries({queryKey:[`profile`]})}),V=F({mutationFn:()=>s.changePassword(h,k)});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(t,`system.account.profile`),result:a.data,children:e=>(0,L.jsx)(p,{data:e})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,L.jsx)(A,{className:`h-4 w-4`}),` `,i(t,`system.account.title`)]}),(0,L.jsx)(_,{children:i(t,`system.account.detail`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:c,onChange:e=>u(e.target.value),placeholder:i(t,`system.account.email`)}),(0,L.jsx)(O,{type:`password`,value:h,onChange:e=>v(e.target.value),placeholder:i(t,`system.account.password`)}),(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,L.jsx)(O,{value:y,onChange:e=>C(e.target.value),placeholder:i(t,`system.account.name`)}),(0,L.jsx)(O,{value:w,onChange:e=>D(e.target.value),placeholder:i(t,`system.account.nickname`)})]}),(0,L.jsx)(O,{type:`password`,value:k,onChange:e=>M(e.target.value),placeholder:i(t,`system.account.newPassword`)}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{onClick:()=>R.mutate(),disabled:!c||!h||R.isPending,children:i(t,`system.account.login`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>z.mutate(),disabled:!c||!h||z.isPending,children:i(t,`system.account.register`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>B.mutate(),disabled:B.isPending,children:i(t,`system.account.save`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>V.mutate(),disabled:!h||!k||V.isPending,children:i(t,`system.account.changePassword`)}),(0,L.jsx)(T,{label:i(t,`system.account.logout`),action:()=>s.logout(),onSuccess:N})]}),[R.data,z.data,B.data,V.data].filter(Boolean).map((e,n)=>(0,L.jsx)(m,{result:e,successLabel:i(t,`system.account.requestDone`)},n))]})]}),(0,L.jsx)(x,{title:i(t,`system.account.signInOptions`),result:o.data,className:`xl:col-span-2`,children:e=>(0,L.jsx)(E,{value:e})})]})}function V(){let e=l(),t=r(e=>e.language),{setWorkspaceId:n}=r(),a=d({queryKey:[`workspaceRegistry`],queryFn:s.workspaceRegistry}),c=d({queryKey:[`invitations`],queryFn:s.invitations}),[u,p]=I.useState(``),[m,h]=I.useState(``),[y,C]=I.useState(``),w=F({mutationFn:()=>s.createOrg(u),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),E=F({mutationFn:()=>s.createInvitation({email:m||null,role:`member`,expires_hours:168}),onSuccess:()=>e.invalidateQueries({queryKey:[`invitations`]})}),D=F({mutationFn:()=>s.acceptInvitation(y),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),k=o(a.data?.data?.workspaces);return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[1.1fr_0.9fr]`,children:[(0,L.jsx)(x,{title:i(t,`system.workspace.yours`),result:a.data,children:()=>(0,L.jsx)(`div`,{className:`grid gap-2`,children:k.map(e=>{let r=String(e.workspace_id||e.id);return(0,L.jsx)(`div`,{className:`rounded-md border border-border p-3`,children:(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`font-medium`,children:String(e.name||r)}),(0,L.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[String(e.type||``),` · `,String(e.your_role||e.role||``)]})]}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{variant:`outline`,onClick:()=>n(r),children:i(t,`system.workspace.use`)}),(0,L.jsx)(T,{label:i(t,`system.workspace.activate`),action:()=>s.activateWorkspace(r),invalidate:[`workspaceRegistry`]}),(0,L.jsx)(T,{label:i(t,`system.workspace.archive`),action:()=>s.archiveWorkspace(r),invalidate:[`workspaceRegistry`],variant:`destructive`})]})]})},r)})})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,L.jsx)(N,{className:`h-4 w-4`}),` `,i(t,`system.workspace.organizations`)]}),(0,L.jsx)(_,{children:i(t,`system.workspace.organizationsHint`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:u,onChange:e=>p(e.target.value),placeholder:i(t,`system.workspace.orgPlaceholder`)}),(0,L.jsx)(j,{disabled:!u.trim()||w.isPending,onClick:()=>w.mutate(),children:i(t,`system.workspace.createOrg`)}),(0,L.jsx)(O,{value:m,onChange:e=>h(e.target.value),placeholder:i(t,`system.workspace.inviteeEmail`)}),(0,L.jsx)(j,{variant:`outline`,disabled:E.isPending,onClick:()=>E.mutate(),children:i(t,`system.workspace.createInvite`)}),(0,L.jsx)(O,{value:y,onChange:e=>C(e.target.value),placeholder:i(t,`system.workspace.inviteToken`)}),(0,L.jsx)(j,{variant:`outline`,disabled:!y.trim()||D.isPending,onClick:()=>D.mutate(),children:i(t,`system.workspace.acceptInvite`)}),(0,L.jsx)(x,{title:i(t,`system.workspace.invitations`),result:c.data,children:e=>(0,L.jsx)(v,{items:e.invitations,titleKey:`token`,metaKey:`role`})})]})]})]})}function ee(){let e=r(e=>e.language),t=d({queryKey:[`snapshots`],queryFn:s.snapshots}),n=d({queryKey:[`timeMachine`],queryFn:s.timeMachine}),[a,c]=I.useState(``),[l,u]=I.useState(``),[p,h]=I.useState(``),y=F({mutationFn:()=>s.createSnapshot(a||i(e,`system.snapshots.defaultName`))}),C=F({mutationFn:()=>s.compareSnapshots(l,p)}),w=o(t.data?.data?.snapshots);return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(e,`system.snapshots.title`),result:t.data,children:()=>(0,L.jsx)(`div`,{className:`space-y-2`,children:w.map(t=>{let n=String(t.id||t.snapshot_id);return(0,L.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,L.jsx)(`div`,{className:`font-medium`,children:String(t.name||n)}),(0,L.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,L.jsx)(T,{label:i(e,`system.snapshots.export`),action:()=>s.exportSnapshot(n)}),(0,L.jsx)(T,{label:i(e,`system.snapshots.mergeRestore`),action:()=>s.restoreSnapshot(n),variant:`outline`})]})]},n)})})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(e,`system.snapshots.actions`)}),(0,L.jsx)(_,{children:i(e,`system.snapshots.actionsHint`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:a,onChange:e=>c(e.target.value),placeholder:i(e,`system.snapshots.namePlaceholder`)}),(0,L.jsx)(j,{onClick:()=>y.mutate(),disabled:y.isPending,children:i(e,`system.snapshots.create`)}),(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,L.jsx)(O,{value:l,onChange:e=>u(e.target.value),placeholder:i(e,`system.snapshots.beforeId`)}),(0,L.jsx)(O,{value:p,onChange:e=>h(e.target.value),placeholder:i(e,`system.snapshots.afterId`)})]}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>C.mutate(),disabled:!l||!p||C.isPending,children:i(e,`system.snapshots.compare`)}),C.data?(0,L.jsx)(m,{result:C.data,successLabel:i(e,`system.snapshots.compareDone`)}):null]})]}),(0,L.jsx)(x,{title:i(e,`system.snapshots.timeline`),result:n.data,className:`xl:col-span-2`,children:e=>(0,L.jsx)(v,{items:e.events||e,titleKey:`event`,metaKey:`type`,limit:14})})]})}function H(){let e=r(e=>e.language),t=d({queryKey:[`realtimeFeed`],queryFn:s.realtimeFeed}),n=d({queryKey:[`presence`],queryFn:s.presence});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(e,`system.activity.feed`),result:t.data,children:e=>(0,L.jsx)(v,{items:e.events,titleKey:`event_type`,metaKey:`area`,limit:14})}),(0,L.jsx)(x,{title:i(e,`system.activity.presence`),result:n.data,children:e=>(0,L.jsx)(G,{data:e})})]})}function te(){let e=l(),t=r(e=>e.language),n=d({queryKey:[`networkIdentity`],queryFn:s.networkIdentity}),a=d({queryKey:[`networkPeers`],queryFn:s.networkPeers}),[c,u]=I.useState(``),[p,h]=I.useState(``),[v,y]=I.useState(``),C=F({mutationFn:()=>s.pairPeer({name:c,base_url:p,public_key:v}),onSuccess:()=>e.invalidateQueries({queryKey:[`networkPeers`]})});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[0.8fr_1.2fr]`,children:[(0,L.jsx)(x,{title:i(t,`system.network.identity`),result:n.data,children:e=>(0,L.jsx)(K,{data:e})}),(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,L.jsx)(k,{className:`h-4 w-4`}),` `,i(t,`system.network.pair`)]}),(0,L.jsx)(_,{children:i(t,`system.network.pairHint`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsx)(O,{value:c,onChange:e=>u(e.target.value),placeholder:i(t,`system.network.deviceName`)}),(0,L.jsx)(O,{value:p,onChange:e=>h(e.target.value),placeholder:i(t,`system.network.address`)}),(0,L.jsx)(O,{value:v,onChange:e=>y(e.target.value),placeholder:i(t,`system.network.publicKey`)}),(0,L.jsx)(j,{disabled:!c||!p||!v||C.isPending,onClick:()=>C.mutate(),children:i(t,`system.network.pair`)}),C.data?(0,L.jsx)(m,{result:C.data,successLabel:i(t,`system.network.pairDone`)}):null]})]}),(0,L.jsx)(x,{title:i(t,`system.network.peers`),result:a.data,className:`xl:col-span-2`,children:e=>(0,L.jsx)(`div`,{className:`grid gap-2`,children:o(e.peers).map(e=>{let n=String(e.peer_id||e.id);return(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-md border border-border p-3`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`div`,{className:`font-medium`,children:String(e.name||n)}),(0,L.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:String(e.base_url||``)})]}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(T,{label:i(t,`system.network.pushWorkspace`),action:()=>s.pushPeer(n,r.getState().workspaceId)}),(0,L.jsx)(T,{label:i(t,`system.network.unpair`),action:()=>s.unpairPeer(n),invalidate:[`networkPeers`],variant:`destructive`})]})]},n)})})})]})}function U(){let e=l(),{theme:t,setTheme:n,mode:a,setMode:o}=r(),c=r(e=>e.language),u=d({queryKey:[`health`],queryFn:s.health}),p=d({queryKey:[`sysinfo`],queryFn:s.sysinfo}),h=d({queryKey:[`computerMemory`],queryFn:s.computerMemory}),v=d({queryKey:[`brainStorage`],queryFn:s.brainStorage}),C=d({queryKey:[`backupHealth`],queryFn:s.backupHealth}),[w,D]=I.useState(``),[k,A]=I.useState(`lattice_brain`),[M,N]=I.useState(!1),[P,R]=I.useState(``),[z,B]=I.useState(``),[V,ee]=I.useState(``),[H,te]=I.useState(!1),[U,W]=I.useState(!1),G=F({mutationFn:e=>s.dockerPostgres({consent:e,dry_run:!e,port:5432})}),K=F({mutationFn:()=>s.migratePostgres({dsn:w,schema_name:k||`lattice_brain`,dry_run:!0})}),q=F({mutationFn:()=>s.brainArchive({path:P.trim()||null,passphrase:V}),onSuccess:()=>e.invalidateQueries({queryKey:[`backupHealth`]})}),J=F({mutationFn:()=>s.brainArchiveInspect({path:z,passphrase:V||null})}),Y=F({mutationFn:()=>s.brainArchiveVerify({path:z,passphrase:V})}),X=F({mutationFn:()=>s.brainArchiveRestore({path:z,passphrase:V,dry_run:!0,confirm:!1})}),Z=F({mutationFn:()=>s.brainArchiveRestore({path:z,passphrase:V,dry_run:!1,confirm:H}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}}),Q=F({mutationFn:()=>s.brainArchiveImport({path:z,passphrase:V,dry_run:!0,confirm:!1})}),$=F({mutationFn:()=>s.brainArchiveImport({path:z,passphrase:V,dry_run:!1,confirm:U}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}});return(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-3`,children:[(0,L.jsxs)(S,{children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(c,`system.panel.appearance`)}),(0,L.jsx)(_,{children:i(c,`system.panel.appearance.hint`)})]}),(0,L.jsxs)(b,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{variant:t===`dark`?`default`:`outline`,onClick:()=>n(`dark`),children:i(c,`system.theme.dark`)}),(0,L.jsx)(j,{variant:t===`light`?`default`:`outline`,onClick:()=>n(`light`),children:i(c,`system.theme.light`)}),[`basic`,`advanced`,`admin`].map(e=>(0,L.jsx)(j,{variant:a===e?`default`:`outline`,onClick:()=>o(e),children:i(c,`shell.mode.${e}`)},e))]})]}),(0,L.jsx)(x,{title:a===`basic`?i(c,`system.panel.brainStatus`):i(c,`system.panel.serverHealth`),result:u.data,children:e=>(0,L.jsx)(ne,{data:e})}),(0,L.jsx)(x,{title:a===`basic`?i(c,`system.panel.readiness`):i(c,`system.panel.hostTelemetry`),result:p.data,children:e=>a===`basic`?(0,L.jsx)(y,{stats:[{label:i(c,`system.stat.cpu`),value:`${String(e.cpu_pct||`0`)}%`},{label:i(c,`system.stat.memory`),value:`${String(e.ram_pct||`0`)}%`},{label:i(c,`system.stat.gpu`),value:`${String(e.gpu_mem_pct||`0`)}%`},{label:i(c,`system.stat.localStatus`),value:i(c,`system.stat.ready`)}]}):(0,L.jsx)(E,{value:e})}),(0,L.jsx)(x,{title:a===`basic`?i(c,`system.storage.title`):i(c,`system.panel.brainStorage`),result:v.data,className:`xl:col-span-3`,children:e=>(0,L.jsx)(re,{data:e,mode:a,language:c})}),a===`basic`?null:(0,L.jsx)(x,{title:i(c,`system.backup.health`),result:C.data,className:`xl:col-span-3`,children:e=>(0,L.jsx)(ie,{data:e})}),a===`basic`?null:(0,L.jsxs)(S,{className:`xl:col-span-3`,children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(c,`system.archive.title`)}),(0,L.jsx)(_,{children:i(c,`system.archive.detail`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[1fr_1fr]`,children:[(0,L.jsx)(O,{value:P,onChange:e=>R(e.target.value),placeholder:i(c,`system.archive.exportPath`)}),(0,L.jsx)(O,{value:z,onChange:e=>B(e.target.value),placeholder:i(c,`system.archive.restorePath`)})]}),(0,L.jsx)(O,{type:`password`,value:V,onChange:e=>ee(e.target.value),placeholder:i(c,`system.archive.passphrase`)}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{onClick:()=>q.mutate(),disabled:!V||q.isPending,children:i(c,`system.archive.export`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>J.mutate(),disabled:!z||J.isPending,children:i(c,`system.archive.inspect`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>Y.mutate(),disabled:!z||!V||Y.isPending,children:i(c,`system.archive.verify`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>X.mutate(),disabled:!z||!V||X.isPending,children:i(c,`system.archive.restoreDryRun`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>Q.mutate(),disabled:!z||!V||Q.isPending,children:i(c,`system.archive.importDryRun`)}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:H,onChange:e=>te(e.target.checked)}),i(c,`system.archive.confirmRestore`)]}),(0,L.jsx)(j,{variant:`destructive`,onClick:()=>Z.mutate(),disabled:!z||!V||!H||Z.isPending,children:i(c,`system.archive.restore`)}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:U,onChange:e=>W(e.target.checked)}),i(c,`system.archive.confirmImport`)]}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>$.mutate(),disabled:!z||!V||!U||$.isPending,children:i(c,`system.archive.import`)})]}),[q.data,J.data,Y.data,X.data,Z.data,Q.data,$.data].filter(Boolean).map((e,t)=>(0,L.jsx)(m,{result:e,successLabel:i(c,`system.archive.requestDone`)},t))]})]}),a===`basic`?null:(0,L.jsxs)(S,{className:`xl:col-span-3`,children:[(0,L.jsxs)(g,{children:[(0,L.jsx)(f,{children:i(c,`system.scale.title`)}),(0,L.jsx)(_,{children:i(c,`system.scale.detail`)})]}),(0,L.jsxs)(b,{className:`grid gap-3`,children:[(0,L.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[1fr_220px]`,children:[(0,L.jsx)(O,{value:w,onChange:e=>D(e.target.value),placeholder:i(c,`system.scale.dsn`)}),(0,L.jsx)(O,{value:k,onChange:e=>A(e.target.value),placeholder:i(c,`system.scale.schema`)})]}),(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,L.jsx)(j,{variant:`outline`,onClick:()=>G.mutate(!1),disabled:G.isPending,children:i(c,`system.scale.dockerPlan`)}),(0,L.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,L.jsx)(`input`,{type:`checkbox`,checked:M,onChange:e=>N(e.target.checked)}),i(c,`system.scale.dockerConsent`)]}),(0,L.jsx)(j,{onClick:()=>G.mutate(!0),disabled:!M||G.isPending,children:i(c,`system.scale.dockerStart`)}),(0,L.jsx)(j,{variant:`outline`,onClick:()=>K.mutate(),disabled:!w||K.isPending,children:i(c,`system.scale.migrationPlan`)})]}),G.data?(0,L.jsx)(m,{result:G.data,successLabel:i(c,`system.scale.dockerDone`)}):null,K.data?(0,L.jsx)(m,{result:K.data,successLabel:i(c,`system.scale.migrationDone`)}):null]})]}),a===`basic`?null:(0,L.jsx)(x,{title:i(c,`system.computerMemory.title`),result:h.data,className:`xl:col-span-3`,children:e=>(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(E,{value:e}),(0,L.jsxs)(`div`,{className:`flex gap-2`,children:[(0,L.jsx)(T,{label:i(c,`system.computerMemory.enable`),action:()=>s.setComputerMemory(!0),invalidate:[`computerMemory`]}),(0,L.jsx)(T,{label:i(c,`system.computerMemory.disable`),action:()=>s.setComputerMemory(!1),invalidate:[`computerMemory`],variant:`destructive`})]})]})})]})}function W(e,t,n=i(e,`system.value.notReported`)){return t==null||t===``?n:typeof t==`boolean`?i(e,t?`system.value.enabled`:`system.value.disabled`):String(t)}function G({data:e}){let t=r(e=>e.language),n=o(e.presence||e.clients||e);return n.length?(0,L.jsx)(v,{items:n,titleKey:`user`,metaKey:`workspace_id`}):(0,L.jsx)(C,{title:i(t,`system.presence.empty`),detail:i(t,`system.presence.emptyDetail`)})}function K({data:e}){let t=r(e=>e.mode),n=r(e=>e.language),o=W(n,e.public_key,``);return t===`basic`?(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(q,{title:i(n,`system.device.thisMac`),status:i(n,`system.value.trusted`),detail:i(n,`system.device.thisMacDetail`)}),(0,L.jsx)(D,{variant:`muted`,children:W(n,e.algorithm,i(n,`system.value.localIdentity`))})]}):(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,L.jsx)(D,{variant:`success`,children:i(n,`system.value.localDevice`)}),(0,L.jsx)(D,{variant:`muted`,children:W(n,e.algorithm,i(n,`system.value.identityKey`))})]}),(0,L.jsx)(p,{data:{device_id:e.device_id||e.id||i(n,`system.value.notReported`),fingerprint:e.fingerprint||i(n,`system.value.notReported`),public_key:o?a(o.replace(/\s+/g,` `),72):i(n,`system.value.notReported`)}})]})}function ne({data:e}){let t=r(e=>e.mode),n=r(e=>e.language);return t===`basic`?(0,L.jsx)(q,{title:i(n,`system.health.title`),status:i(n,`system.health.ok`),detail:i(n,`system.health.detail`)}):(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(n,`system.health.status`),value:e.status||e.ok||i(n,`system.value.reported`)},{label:i(n,`system.health.version`),value:e.version||i(n,`system.value.notReported`)},{label:i(n,`system.health.mode`),value:e.mode||e.environment||i(n,`system.value.local`)},{label:i(n,`system.health.port`),value:e.port||e.backend_port||i(n,`system.value.configured`)}]}),(0,L.jsx)(E,{value:e})]})}function re({data:e,mode:n=`advanced`,language:r=`en`}){let a=t(e.active)?e.active:e,o=t(e.postgres)?e.postgres:{},s=t(e.backup_health)?e.backup_health:{},c=a.vector_search||a.vector||e.vector_search||e.sqlite_vec,l=!!(o.available||o.connected||o.enabled),u=!!c&&String(c).toLowerCase()!==`not reported`;return n===`basic`?(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(q,{title:i(r,`system.storage.local.title`),status:i(r,`system.storage.local.badge`),detail:i(r,`system.storage.local.detail`)}),(0,L.jsx)(q,{title:i(r,`system.storage.search.title`),status:u?i(r,`system.storage.search.on`):i(r,`system.storage.search.pending`),detail:u?i(r,`system.storage.search.detailOn`):i(r,`system.storage.search.detailPending`)})]}):(0,L.jsxs)(`div`,{className:`space-y-4`,children:[(0,L.jsx)(y,{stats:[{label:i(r,`system.storage.activeEngine`),value:a.engine||e.engine||i(r,`system.storage.sqlite`)},{label:i(r,`system.storage.sqliteDefault`),value:a.engine===`postgres`?i(r,`system.value.scaleMode`):i(r,`system.value.enabled`)},{label:i(r,`system.storage.vector`),value:c||i(r,`system.value.notReported`)},{label:i(r,`system.storage.postgres`),value:l?i(r,`system.value.available`):i(r,`system.value.optional`)}]}),(0,L.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,L.jsx)(q,{title:i(r,`system.storage.sqlite`),status:a.available===!1?i(r,`system.value.unavailable`):i(r,`system.value.default`),detail:W(r,a.reason||a.path||e.path,i(r,`system.storage.sqliteDetail`))}),(0,L.jsx)(q,{title:i(r,`system.storage.vector`),status:W(r,c,i(r,`system.value.reported`)),detail:W(r,a.vector_reason||a.sqlite_vec_reason||e.vector_reason,i(r,`system.storage.vectorDetail`))}),(0,L.jsx)(q,{title:i(r,`system.storage.postgres`),status:l?i(r,`system.value.available`):i(r,`system.value.notEnabled`),detail:W(r,o.reason||o.dsn||o.status,i(r,`system.storage.postgresDetail`))})]}),Object.keys(s).length?(0,L.jsx)(E,{value:{backup_health:s}}):null]})}function ie({data:e}){let t=r(e=>e.language);return(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(t,`system.backup.available`),value:e.available===!1?i(t,`system.value.no`):i(t,`system.value.yes`)},{label:i(t,`system.backup.backups`),value:e.count||e.backups||0},{label:i(t,`system.backup.encrypted`),value:e.encrypted_archives||0},{label:i(t,`system.backup.zip`),value:e.zip_backups||0}]}),(0,L.jsx)(p,{data:{directory:e.directory||i(t,`system.value.notReported`),latest:e.latest||i(t,`system.value.noneReported`),last_verified:e.last_verified||e.verified_at||i(t,`system.value.notReported`),failure:e.error||e.reason||i(t,`system.value.noneReported`)}})]})}function q({title:e,status:t,detail:n}){let r=/unavailable|failed|denied|disabled|not enabled|사용 불가|실패|거부|비활성|활성화되지 않음/i.test(t)?`warning`:`success`;return(0,L.jsxs)(`div`,{className:`rounded-md border border-border bg-background p-3`,children:[(0,L.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,L.jsx)(`div`,{className:`font-medium`,children:e}),(0,L.jsx)(D,{variant:r,children:t})]}),(0,L.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:n})]})}function J({data:e}){let n=r(e=>e.language),a=t(e.startup)?e.startup:{},o=t(e.privacy)?e.privacy:{},s=t(e.storage)?e.storage:{},c=t(e.backup)?e.backup:{},l=t(e.device_identity)?e.device_identity:{},u=t(e.permissions)?e.permissions:{};return(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(n,`system.hardening.version`),value:e.version||i(n,`system.value.reported`)},{label:i(n,`system.hardening.localOnly`),value:o.local_only_default??a.local_only_default??i(n,`system.value.reported`)},{label:i(n,`system.hardening.storage`),value:t(s.active)?s.active.engine:i(n,`system.value.reported`)},{label:i(n,`system.hardening.backups`),value:c.count||c.available||i(n,`system.value.reported`)}]}),(0,L.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:[(0,L.jsx)(q,{title:i(n,`system.hardening.startup`),status:i(n,a.network_exposed?`system.value.networkExposed`:`system.value.localOnly`),detail:i(n,`system.hardening.startupDetail`)}),(0,L.jsx)(q,{title:i(n,`system.hardening.integrations`),status:i(n,o.local_only_default===!1?`system.value.reviewRequired`:`system.value.optIn`),detail:i(n,`system.hardening.integrationsDetail`)}),(0,L.jsx)(q,{title:i(n,`system.hardening.identity`),status:W(n,l.algorithm||l.fingerprint,i(n,`system.value.reported`)),detail:W(n,l.storage,i(n,`system.hardening.identityStorage`))}),(0,L.jsx)(q,{title:i(n,`system.hardening.permissions`),status:i(n,u.destructive_restore_requires_confirmation===!1?`system.value.reviewRequired`:`system.value.guarded`),detail:i(n,`system.hardening.permissionsDetail`)})]})]})}function Y({data:e}){let n=r(e=>e.language),a=t(e.cards)?e.cards:{},o=t(e.severity_counts)?e.severity_counts:{};return(0,L.jsxs)(`div`,{className:`space-y-3`,children:[(0,L.jsx)(y,{stats:[{label:i(n,`system.security.eventsToday`),value:a.events_today||0},{label:i(n,`system.security.highRisk`),value:a.high_risk_events||o.high||0},{label:i(n,`system.security.review`),value:a.review_required||0},{label:i(n,`system.security.riskRate`),value:e.risk_rate||0}]}),(0,L.jsx)(E,{value:{severity_counts:o,sensitive_fields:e.field_counts||{}}})]})}function X(){let e=r(e=>e.mode),t=r(e=>e.language),n=d({queryKey:[`adminSummary`],queryFn:s.adminSummary}),a=d({queryKey:[`adminUsers`],queryFn:s.adminUsers}),o=d({queryKey:[`adminAudit`],queryFn:()=>s.adminAudit()}),c=d({queryKey:[`adminRoles`],queryFn:s.adminRoles}),l=d({queryKey:[`adminPolicies`],queryFn:s.adminPolicies}),u=d({queryKey:[`adminProductHardening`],queryFn:s.adminProductHardening}),f=d({queryKey:[`adminSecurity`],queryFn:s.adminSecurity}),m=d({queryKey:[`vpcStatus`],queryFn:s.vpcStatus});return e===`admin`?(0,L.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,L.jsx)(x,{title:i(t,`system.admin.summary`),result:n.data,children:e=>(0,L.jsx)(p,{data:e})}),(0,L.jsx)(x,{title:i(t,`system.admin.users`),result:a.data,children:e=>(0,L.jsx)(v,{items:e,titleKey:`email`,metaKey:`role`})}),(0,L.jsx)(x,{title:i(t,`system.admin.audit`),result:o.data,children:e=>(0,L.jsx)(v,{items:e.recent_events||e,titleKey:`act`,metaKey:`sev`})}),(0,L.jsx)(x,{title:i(t,`system.admin.roles`),result:c.data,children:e=>(0,L.jsx)(v,{items:e.roles||e,titleKey:`role`,metaKey:`members`})}),(0,L.jsx)(x,{title:i(t,`system.admin.policies`),result:l.data,children:e=>(0,L.jsx)(v,{items:e.policies||e,titleKey:`label`,metaKey:`enforced`})}),(0,L.jsx)(x,{title:i(t,`system.admin.hardening`),result:u.data,children:e=>(0,L.jsx)(J,{data:e})}),(0,L.jsx)(x,{title:i(t,`system.admin.security`),result:f.data,children:e=>(0,L.jsx)(Y,{data:e})}),(0,L.jsx)(x,{title:i(t,`system.admin.vpc`),result:m.data,className:`xl:col-span-2`,children:e=>(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(D,{variant:`muted`,children:i(t,`system.admin.communityUnavailable`)}),(0,L.jsx)(E,{value:e})]})})]}):(0,L.jsx)(w,{title:i(t,`system.admin.controls`),detail:i(t,`system.admin.controlsDetail`),target:`admin`})}export{z as SystemPage};
@@ -1 +1 @@
1
- import{m as e}from"./utils-SJUNVOj5.js";var t=e(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]);export{t};
1
+ import{m as e}from"./utils-BqoznzGP.js";var t=e(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]);export{t};
@@ -1 +1 @@
1
- import{m as e}from"./utils-SJUNVOj5.js";var t=e(`circle-pause`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`,key:`c1nkhi`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`,key:`h65svq`}]]);export{t};
1
+ import{m as e}from"./utils-BqoznzGP.js";var t=e(`circle-pause`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`,key:`c1nkhi`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`,key:`h65svq`}]]);export{t};
@@ -1 +1 @@
1
- import{m as e}from"./utils-SJUNVOj5.js";var t=e(`circle-play`,[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`,key:`kmsa83`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]);export{t};
1
+ import{m as e}from"./utils-BqoznzGP.js";var t=e(`circle-play`,[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`,key:`kmsa83`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]);export{t};
@@ -1 +1 @@
1
- import{m as e}from"./utils-SJUNVOj5.js";var t=e(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]);export{t};
1
+ import{m as e}from"./utils-BqoznzGP.js";var t=e(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]);export{t};
@@ -1 +1 @@
1
- import{m as e}from"./utils-SJUNVOj5.js";var t=e(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]);export{t};
1
+ import{m as e}from"./utils-BqoznzGP.js";var t=e(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]);export{t};
@@ -1 +1 @@
1
- import{m as e}from"./utils-SJUNVOj5.js";var t=e(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),n=e(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),r=e(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]);export{n,t as r,r as t};
1
+ import{m as e}from"./utils-BqoznzGP.js";var t=e(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),n=e(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),r=e(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]);export{n,t as r,r as t};