ltcai 12.0.0 → 12.2.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 +43 -52
- package/docs/CHANGELOG.md +41 -0
- package/docs/CI_AND_RELEASE_GATES.md +20 -11
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +11 -11
- package/docs/ONBOARDING.md +1 -1
- package/docs/OPERATIONS.md +1 -1
- package/docs/ROADMAP.md +2 -2
- 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 +34 -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 +45 -45
- package/static/app/assets/{Act-Cf1L2709.js → Act-BjGgeuQd.js} +2 -2
- package/static/app/assets/{AdminConsole-DPAbLTYV.js → AdminConsole-C6hcJGMr.js} +1 -1
- package/static/app/assets/{Brain-DqamGrj-.js → Brain-CNQnIaA8.js} +2 -2
- package/static/app/assets/BrainHome-CGJ6O69l.js +2 -0
- package/static/app/assets/{BrainSignals-CQPPfyyH.js → BrainSignals-DONPljxz.js} +1 -1
- package/static/app/assets/{Capture-DGdIH_Zc.js → Capture-BMCC5544.js} +1 -1
- package/static/app/assets/{Chronicle-C-UlCJoJ.js → Chronicle-DF6sOonx.js} +1 -1
- package/static/app/assets/{CommandPalette-WNT4EqUX.js → CommandPalette-DiWyutdM.js} +1 -1
- package/static/app/assets/{DigitalBrainExplorer-CEBH5Cwc.js → DigitalBrainExplorer-BL3V6Dqz.js} +1 -1
- package/static/app/assets/{Library-C6xd1dlf.js → Library-B-ue9hXL.js} +1 -1
- package/static/app/assets/{LivingBrain-BEk-0ohw.js → LivingBrain-b1RiM5Rh.js} +1 -1
- package/static/app/assets/{ProductFlow-CZLm5iXh.js → ProductFlow-wZIKJW7G.js} +1 -1
- package/static/app/assets/{ReviewCard-CEHG6evf.js → ReviewCard-D1fGTEn7.js} +1 -1
- package/static/app/assets/{RunsListPanel-CLtEJSRW.js → RunsListPanel-DAirtLkS.js} +1 -1
- package/static/app/assets/System-BEI1eoC4.js +1 -0
- package/static/app/assets/{WorkflowGraph-Dj10RuGE.js → WorkflowGraph-qrI6GU4R.js} +1 -1
- package/static/app/assets/{WorkflowsPanel-Kyeh_LIT.js → WorkflowsPanel-CIMNTw-O.js} +2 -2
- package/static/app/assets/{actHelpers-CtSmK9Dw.js → actHelpers-BMukIRnQ.js} +1 -1
- package/static/app/assets/arrow-left-iVa1goff.js +1 -0
- package/static/app/assets/{bot-DhUGRel2.js → bot-Dkd-DbiP.js} +1 -1
- package/static/app/assets/brain-BsexlNOA.js +1 -0
- package/static/app/assets/{button-CmaEqG1T.js → button-BA0N_zId.js} +1 -1
- package/static/app/assets/circle-check-BxaDWjPR.js +1 -0
- package/static/app/assets/{circle-pause-l96izbxj.js → circle-pause-918Kuvk0.js} +1 -1
- package/static/app/assets/{circle-play-CrZa25_q.js → circle-play-CS0IbVDV.js} +1 -1
- package/static/app/assets/{cpu-BaXudqwl.js → cpu-BpvoWsjk.js} +1 -1
- package/static/app/assets/{download-hCVFPiyc.js → download-BvkMLLLN.js} +1 -1
- package/static/app/assets/{folder-open-CHL82Yp7.js → folder-open-YmGugIBf.js} +1 -1
- package/static/app/assets/{hard-drive-DDzET7lk.js → hard-drive-BOzmS-cq.js} +1 -1
- package/static/app/assets/{index-CB93CZWW.css → index-C8gwOf0C.css} +1 -1
- package/static/app/assets/{index-D2H-wSl6.js → index-CfeqZ9Ri.js} +3 -3
- package/static/app/assets/{input-Df1CAY_I.js → input-CFfCfMjO.js} +1 -1
- package/static/app/assets/{link-2-xNnTIX1_.js → link-2-CcYzeM7M.js} +1 -1
- package/static/app/assets/{permissionCopy-D3aWHco-.js → permissionCopy-B23r24oX.js} +1 -1
- package/static/app/assets/{primitives-BioD2slS.js → primitives-BDryQl6H.js} +1 -1
- package/static/app/assets/search-DHsPwmPw.js +1 -0
- package/static/app/assets/{share-2-FkzGf8Df.js → share-2-B-gPv2ec.js} +1 -1
- package/static/app/assets/{shield-alert-B3dwzik4.js → shield-alert-CfyRO1p0.js} +1 -1
- package/static/app/assets/{sourceMeta-DQSY_tah.js → sourceMeta-C4LDEy1S.js} +1 -1
- package/static/app/assets/{textarea-P8o6pvOP.js → textarea-BdVMYEb1.js} +1 -1
- package/static/app/assets/{useFocusTrap-hswOIkXE.js → useFocusTrap-CV73DLHn.js} +1 -1
- package/static/app/assets/{useMutation-OJLrYSRA.js → useMutation-B8QKq2NW.js} +1 -1
- package/static/app/assets/workspace-BmfVs66W.js +1 -0
- package/static/app/index.html +2 -2
- package/static/sw.js +1 -1
- package/static/app/assets/BrainHome-MHe2_RYs.js +0 -2
- package/static/app/assets/System-CAxwBUXw.js +0 -1
- package/static/app/assets/arrow-left-CRl5EO4D.js +0 -1
- package/static/app/assets/brain-CLkhHsHF.js +0 -1
- package/static/app/assets/circle-check-CFgejkOS.js +0 -1
- package/static/app/assets/search-BzBw8YcW.js +0 -1
- package/static/app/assets/workspace-BCuk3Ku9.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t,t as n}from"./jsx-runtime-bzQ4Vb5N.js";import{n as r}from"./QueryClientProvider-B3OjqSyJ.js";import{t as i}from"./useMutation-OJLrYSRA.js";import{i as a,n as o,r as s,t as c}from"./LivingBrain-BEk-0ohw.js";import{t as l}from"./bot-DhUGRel2.js";import{C as u,D as d,E as f,O as p,S as m,T as h,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as w,k as T,l as E,m as D,n as O,o as k,p as A,r as ee,s as j,t as te,u as M,v as ne,w as N,x as re,y as P}from"./BrainSignals-CQPPfyyH.js";import{b as ie,r as ae,y as F}from"./primitives-BioD2slS.js";import{t as I}from"./circle-check-CFgejkOS.js";import{t as oe}from"./cpu-BaXudqwl.js";import{t as L}from"./download-hCVFPiyc.js";import{n as R,r as se,t as ce}from"./hard-drive-DDzET7lk.js";import{o as le,t as ue}from"./ReviewCard-CEHG6evf.js";import{t as z}from"./folder-open-CHL82Yp7.js";import{t as B}from"./link-2-xNnTIX1_.js";import{a as V,i as de,n as H,r as fe}from"./permissionCopy-D3aWHco-.js";import{t as pe}from"./search-BzBw8YcW.js";import{t as me}from"./shield-alert-B3dwzik4.js";import{n as he,t as ge}from"./useFocusTrap-hswOIkXE.js";import{A as _e,E as U,H as W,I as ve,L as ye,N as be,R as G,S as K,W as xe,a as Se,c as Ce,j as we,k as Te,n as q,o as Ee,p as De,s as Oe,v as J,z as ke}from"./index-D2H-wSl6.js";import"./brain-CLkhHsHF.js";import{t as Y}from"./button-CmaEqG1T.js";import"./workspace-BCuk3Ku9.js";var Ae=G(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),je=G(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Me=G(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Ne=G(`chart-spline`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`,key:`lw07rv`}]]),Pe=G(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Fe=G(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Ie=G(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Le=G(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Re=G(`file-check-corner`,[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`,key:`g5mvt7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m14 20 2 2 4-4`,key:`15kota`}]]),ze=G(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Be=G(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),Ve=G(`git-pull-request-arrow`,[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M5 9v12`,key:`ih889a`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}]]),He=G(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),Ue=G(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),We=G(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Ge=G(`map`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),Ke=G(`message-circle-plus`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),qe=G(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),Je=G(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),Ye=G(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Xe=G(`repeat-2`,[[`path`,{d:`m2 9 3-3 3 3`,key:`1ltn5i`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`,key:`1r6tfw`}],[`path`,{d:`m22 15-3 3-3-3`,key:`4rnwn2`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`,key:`2f72bc`}]]),Ze=G(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Qe=G(`search-check`,[[`path`,{d:`m8 11 2 2 4-4`,key:`1sed1v`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),$e=G(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),et=G(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),tt=G(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),nt=G(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),X=e(t());function rt(e){if(e.status!==`awaiting_approval`)return null;let t=typeof e.run_id==`string`?e.run_id:``,n=typeof e.approval?.token==`string`?e.approval.token:``;return!t||!n?null:{runId:t,token:n,expiresAt:typeof e.approval?.expires_at==`string`?e.approval.expires_at:``,planSummary:typeof e.approval?.plan_summary==`string`?e.approval.plan_summary:``,plan:e.plan&&typeof e.plan==`object`?e.plan:null,status:`pending`}}function it(e){if(!e||typeof e!=`object`)return``;let t=e,n=(t.detail&&typeof t.detail==`object`&&!Array.isArray(t.detail)?t.detail:t).replan;if(!n||typeof n!=`object`||Array.isArray(n))return``;let r=n.message;return typeof r==`string`?r.trim():``}async function at(e,t){let n=await J.resumeAgentApproval({run_id:e.runId,approval_token:e.token,approve:t.approve,...t.editedPlan?{edited_plan:t.editedPlan}:{}});if(!n.ok){if(n.status===410||n.status===404){let e=it(n.data);return{kind:`expired`,...e?{replanMessage:e}:{}}}return{kind:`error`,reason:n.error||String(n.status||``)}}let r=n.data;return r.status===`cancelled`?{kind:`cancelled`}:{kind:`finished`,payload:r}}var Z=n();function ot(e,t){if(!t)return``;let n=new Date(t);return Number.isNaN(n.getTime())?``:n.toLocaleTimeString(e===`ko`?`ko-KR`:`en-US`,{hour:`2-digit`,minute:`2-digit`})}function st(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}var ct=12e4;function lt({language:e,approval:t,onResolved:n,onReplan:r}){let[i,a]=X.useState(!1),[o,s]=X.useState(!1),[c,l]=X.useState(``),[u,d]=X.useState(!1),f=X.useRef(null);X.useEffect(()=>{t.status===`pending`&&f.current?.focus()},[]);let p=t.status===`pending`,m=X.useMemo(()=>{if(!t.expiresAt)return null;let e=Date.parse(t.expiresAt);return Number.isFinite(e)?e:null},[t.expiresAt]),[h,g]=X.useState(()=>Date.now());X.useEffect(()=>{if(!p||m===null)return;g(Date.now());let e=window.setInterval(()=>g(Date.now()),1e3);return()=>window.clearInterval(e)},[p,m]);let _=m===null?null:m-h,v=p&&_!==null&&_>0&&_<ct,y=X.useRef(!1);X.useEffect(()=>{!p||_===null||_>0||y.current||(y.current=!0,n({kind:`expired`}))},[p,_,n]);async function b(e){if(!i){a(!0);try{n(await at(t,e))}finally{a(!1)}}}function x(){l(JSON.stringify(t.plan??{goal:t.planSummary,steps:[]},null,2)),d(!1),s(!0)}function S(){let e;try{e=JSON.parse(c)}catch{d(!0);return}if(!e||typeof e!=`object`||Array.isArray(e)){d(!0);return}d(!1),b({approve:!0,editedPlan:e})}if(t.status!==`pending`){let n=t.status===`approved`?`brain.approval.resolved`:t.status===`cancelled`?`brain.approval.cancelled`:t.status===`expired`?`brain.approval.expired`:`brain.approval.error`,i=t.status===`expired`&&t.replanMessage||``;return(0,Z.jsxs)(`div`,{className:`brain-approval-note is-${t.status}`,role:t.status===`approved`?`status`:`alert`,"data-testid":`agent-approval-note`,children:[(0,Z.jsx)(`span`,{children:K(e,n,{reason:t.errorReason||``})}),i&&r?(0,Z.jsx)(`button`,{type:`button`,className:`brain-approval-replan`,"data-testid":`approval-replan`,onClick:()=>r(i),children:K(e,`brain.approval.expiredReplan`)}):null]})}let C=ot(e,t.expiresAt);return(0,Z.jsxs)(`section`,{className:`brain-approval-card ${v?`is-urgent`:``}`,"aria-label":K(e,`brain.approval.aria`),"data-testid":`agent-approval-card`,children:[(0,Z.jsxs)(`header`,{className:`brain-approval-head`,children:[(0,Z.jsx)(me,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`strong`,{children:K(e,`brain.approval.title`)}),_===null?null:(0,Z.jsx)(`span`,{className:`brain-approval-countdown ${v?`is-urgent`:``}`,"data-testid":`approval-countdown`,children:K(e,`brain.approval.countdown`,{time:st(_)})})]}),t.planSummary?(0,Z.jsxs)(`div`,{className:`brain-approval-summary`,children:[(0,Z.jsx)(`span`,{className:`brain-approval-summary-label`,children:K(e,`brain.approval.summaryLabel`)}),(0,Z.jsx)(`pre`,{"data-testid":`approval-plan-summary`,children:t.planSummary})]}):null,C?(0,Z.jsx)(`small`,{className:`brain-approval-expiry`,children:K(e,`brain.approval.expiry`,{time:C})}):null,v?(0,Z.jsx)(`small`,{className:`brain-approval-urgency`,role:`alert`,"data-testid":`approval-urgency`,children:K(e,`brain.approval.countdown.warning`)}):null,o?(0,Z.jsxs)(`div`,{className:`brain-approval-editor`,children:[(0,Z.jsx)(`label`,{htmlFor:`brain-approval-plan-editor`,children:K(e,`brain.approval.edit.label`)}),(0,Z.jsx)(`textarea`,{id:`brain-approval-plan-editor`,"data-testid":`approval-edit-textarea`,value:c,rows:8,spellCheck:!1,onChange:e=>l(e.target.value)}),u?(0,Z.jsx)(`small`,{className:`brain-approval-edit-error`,role:`alert`,children:K(e,`brain.approval.edit.invalid`)}):null,(0,Z.jsxs)(`div`,{className:`brain-approval-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`brain-approval-primary`,"data-testid":`approval-edit-run`,disabled:i,onClick:S,children:i?K(e,`brain.approval.running`):K(e,`brain.approval.edit.run`)}),(0,Z.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>s(!1),children:K(e,`brain.approval.edit.close`)})]})]}):(0,Z.jsxs)(`div`,{className:`brain-approval-actions`,children:[(0,Z.jsx)(`button`,{ref:f,type:`button`,className:`brain-approval-primary`,"data-testid":`approval-approve`,disabled:i,onClick:()=>void b({approve:!0}),children:i?K(e,`brain.approval.running`):K(e,`brain.approval.approve`)}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`approval-edit`,disabled:i,onClick:x,children:[(0,Z.jsx)(Je,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),K(e,`brain.approval.edit`)]}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`approval-cancel`,disabled:i,onClick:()=>void b({approve:!1}),children:K(e,`brain.approval.cancel`)})]})]})}function ut(e){return e.event===`blocked`?`blocked`:e.event===`parse_error`||e.ok===!1?`error`:e.event===`proposed`?`proposed`:e.event===`tool`?`ok`:e.phase===`rollback`?`error`:`info`}function dt(e){if(e.phase===`rollback`)return`brain.steps.rollback`;switch(e.event){case`planned`:return`brain.steps.planned`;case`tool`:return e.ok===!1?`brain.steps.tool.failed`:`brain.steps.tool`;case`proposed`:return`brain.steps.proposed`;case`blocked`:return`brain.steps.blocked`;case`parse_error`:return`brain.steps.parseError`;case`verdict`:return`brain.steps.verdict`;case`final`:return`brain.steps.final`;case`state`:return`brain.steps.state`;default:return`brain.steps.step`}}function ft(e){return e.split(/[\\/]/).filter(Boolean).pop()||e}function pt(e){return[e.action,e.path?ft(e.path):``,e.decision,e.verdict,e.state].filter(Boolean).join(` · `)}function mt({language:e,steps:t,streaming:n}){if(!t.length)return null;let r=(0,Z.jsx)(`ol`,{className:`brain-step-list`,children:t.slice(-30).map((t,n)=>{let r=ut(t),i=pt(t);return(0,Z.jsxs)(`li`,{className:`brain-step-item is-${r}`,children:[(0,Z.jsx)(`span`,{className:`brain-step-dot`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`brain-step-label`,children:K(e,dt(t))}),i?(0,Z.jsx)(`span`,{className:`brain-step-meta`,children:i}):null,t.detail?(0,Z.jsx)(`small`,{className:`brain-step-detail`,children:t.detail}):null]},n)})});return n?(0,Z.jsxs)(`section`,{className:`brain-step-timeline is-live`,"aria-label":K(e,`brain.steps.aria`),"data-testid":`agent-step-timeline`,children:[(0,Z.jsxs)(`p`,{className:`brain-step-live-head`,role:`status`,children:[(0,Z.jsx)(`span`,{className:`brain-step-dot is-live`,"aria-hidden":`true`}),K(e,`brain.steps.live`,{count:t.length})]}),r]}):(0,Z.jsxs)(`details`,{className:`brain-step-timeline`,"aria-label":K(e,`brain.steps.aria`),"data-testid":`agent-step-timeline`,children:[(0,Z.jsx)(`summary`,{children:K(e,`brain.steps.summary`,{count:t.length})}),r]})}function ht({language:e,summary:t}){if(t.total<1)return null;let n=Object.entries(t.repairs).sort((e,t)=>t[1]-e[1]).slice(0,3).map(([e,t])=>`${e} ×${t}`);return t.parseRecovered>0&&n.push(`parse ×${t.parseRecovered}`),(0,Z.jsx)(`p`,{className:`brain-loop-repairs`,role:`note`,"data-testid":`loop-repairs-note`,title:n.join(`, `)||void 0,children:K(e,`brain.agent.repairs`,{count:t.total})})}function gt({language:e,explanation:t}){return(0,Z.jsxs)(`div`,{className:`brain-run-explanation is-${t.ok?`ok`:`caution`} strain-${t.strainLevel}`,role:`note`,"data-testid":`run-explanation`,"data-code":t.code,children:[t.headline?(0,Z.jsx)(`strong`,{children:t.headline}):null,t.details.length?(0,Z.jsx)(`ul`,{children:t.details.map(e=>(0,Z.jsx)(`li`,{children:e},e))}):null,(0,Z.jsx)(`small`,{children:K(e,`brain.agent.explanation.why`)})]})}function _t(e,t){return`${e}-cite-${t}`}function vt({language:e,proof:t,messageId:n}){let r=e=>{let t=document.getElementById(_t(n,e));t&&(t.scrollIntoView({behavior:`smooth`,block:`nearest`}),t.focus())};return(0,Z.jsx)(`span`,{className:`brain-inline-citations`,"aria-label":K(e,`brain.answerProof.citationsLabel`,{count:t.citations.length}),children:t.citations.map((t,i)=>(0,Z.jsx)(`button`,{type:`button`,className:`brain-inline-citation`,"aria-label":K(e,`brain.answerProof.marker`,{index:i+1}),"aria-controls":_t(n,t.id),title:t.title,onClick:()=>r(t.id),children:i+1},t.id))})}function yt({language:e,proof:t,messageId:n,onUseEvidence:r}){let[i,a]=X.useState(null);return(0,Z.jsxs)(`section`,{className:`brain-answer-proof`,role:`group`,"aria-label":K(e,`brain.answerProof.aria`),children:[(0,Z.jsxs)(`div`,{className:`brain-answer-proof-head`,children:[(0,Z.jsx)(`span`,{children:K(e,`brain.answerProof.title`)}),(0,Z.jsx)(`strong`,{children:t.provenAcrossModels?K(e,`brain.answerProof.modelProven`,{model:t.model}):K(e,`brain.answerProof.modelPending`,{model:t.model})}),t.citations.length?(0,Z.jsx)(`small`,{className:`brain-answer-proof-count`,children:K(e,`brain.answerProof.citationsLabel`,{count:t.citations.length})}):null]}),t.citations.length?(0,Z.jsx)(`ol`,{children:t.citations.map((r,i)=>(0,Z.jsx)(`li`,{id:_t(n,r.id),tabIndex:-1,"aria-label":K(e,`brain.answerProof.citationItem`,{index:i+1,title:r.title}),children:(0,Z.jsxs)(`button`,{type:`button`,className:`brain-citation-open`,"aria-haspopup":`dialog`,"aria-label":K(e,`brain.sourceModal.openAria`,{title:r.title}),"data-testid":`citation-open`,onClick:()=>a(r),children:[(0,Z.jsx)(`span`,{className:`brain-answer-proof-index`,"aria-hidden":`true`,children:i+1}),(0,Z.jsx)(`span`,{children:r.source}),(0,Z.jsx)(`strong`,{children:r.title}),(0,Z.jsx)(bt,{language:e,citation:r}),r.locator?(0,Z.jsx)(`em`,{className:`brain-citation-locator`,"data-testid":`citation-locator`,children:r.locator}):null,(0,Z.jsx)(`small`,{children:r.snippet||t.query}),(0,Z.jsx)(St,{language:e,citation:r}),(0,Z.jsx)(`span`,{className:`brain-citation-open-hint`,"aria-hidden":`true`,children:K(e,`brain.sourceModal.open`)})]})},r.id))}):(0,Z.jsx)(`small`,{children:K(e,`brain.answerProof.empty`)}),r&&t.citations.length?(0,Z.jsx)(xt,{language:e,query:t.query,sourceIds:t.citations.map(e=>e.id),onUseEvidence:r}):null,i?(0,Z.jsx)(Tt,{language:e,citation:i,onClose:()=>a(null)}):null]})}function bt({language:e,citation:t}){return t.kind===`Image`||t.kind===`ImageText`?(0,Z.jsxs)(`span`,{className:`brain-citation-visual`,"data-testid":`citation-visual`,children:[t.thumbnail?(0,Z.jsx)(`img`,{className:`brain-citation-thumb`,src:t.thumbnail,alt:t.caption||K(e,`brain.answerProof.imageAlt`,{title:t.title}),width:48,height:48,loading:`lazy`}):(0,Z.jsx)(`span`,{className:`brain-citation-thumb is-missing`,"aria-hidden":`true`,children:K(e,`brain.answerProof.imageBadge`)}),(0,Z.jsx)(`span`,{className:`brain-citation-visual-text`,children:t.caption?(0,Z.jsx)(`em`,{"data-testid":`citation-caption`,children:t.caption}):(0,Z.jsx)(`em`,{className:`is-muted`,"data-testid":`citation-caption-absent`,children:K(e,`brain.answerProof.noCaption`)})})]}):null}function xt({language:e,query:t,sourceIds:n,onUseEvidence:r}){let[i,a]=X.useState({status:`idle`}),o=X.useCallback(()=>{a({status:`loading`}),J.evidenceActions(t,n,e).then(e=>{let t=e.data;a({status:`ready`,actions:e.ok?t.actions:[],reason:e.ok?t.reason:e.error||``})})},[e,t,n]);return i.status===`idle`?(0,Z.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,Z.jsx)(`button`,{type:`button`,className:`brain-evidence-action-trigger`,"data-testid":`evidence-actions-open`,onClick:o,children:K(e,`brain.evidenceActions.open`)})}):i.status===`loading`?(0,Z.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,Z.jsx)(`small`,{role:`status`,children:K(e,`brain.evidenceActions.loading`)})}):i.actions.length?(0,Z.jsxs)(`div`,{className:`brain-evidence-actions`,"data-testid":`evidence-actions`,children:[(0,Z.jsx)(`small`,{children:K(e,`brain.evidenceActions.title`)}),(0,Z.jsx)(`div`,{className:`brain-evidence-action-list`,children:i.actions.map(t=>(0,Z.jsx)(`button`,{type:`button`,className:`brain-evidence-action`,"data-testid":`evidence-action-${t.id}`,title:t.suggested_path||void 0,onClick:()=>r(t.prompt),children:t.label[e===`ko`?`ko`:`en`]},t.id))})]}):(0,Z.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,Z.jsx)(`small`,{className:`is-error`,role:`status`,children:i.reason||K(e,`brain.evidenceActions.unavailable`)})})}function St({language:e,citation:t}){let n=t.matchedTerms.length>0;return(0,Z.jsxs)(`span`,{className:`brain-citation-why`,"aria-label":K(e,`brain.answerProof.why.aria`),children:[(0,Z.jsx)(`em`,{className:`brain-citation-confidence is-${t.confidence}`,children:K(e,`brain.answerProof.confidence.${t.confidence}`)}),n?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`brain-citation-why-label`,children:K(e,`brain.answerProof.matched`)}),t.matchedTerms.slice(0,4).map(e=>(0,Z.jsx)(`mark`,{children:e},e))]}):(0,Z.jsx)(`span`,{className:`brain-citation-why-label`,children:K(e,`brain.answerProof.matched.none`)})]})}var Ct=[`source`,`source_uri`,`origin`,`relative_path`,`path`,`filename`,`conversation_id`,`provenance_id`];function wt(e){let t=S(e)?e:{},n=S(t.node)?t.node:null;if(!n)return null;let r=S(n.metadata)?n.metadata:{},i=Ct.flatMap(e=>{let t=d(r,[e]);return t?[{key:e,value:t}]:[]});return{title:d(n,[`title`,`label`,`id`]),type:d(n,[`type`]),summary:d(n,[`summary`,`content`,`text`]),provenance:i}}function Tt({language:e,citation:t,onClose:n}){let r=ge(n),[i,a]=X.useState({status:`loading`});X.useEffect(()=>{let e=!1;return a({status:`loading`}),J.graphNode(t.id).then(t=>{if(e)return;let n=t.ok?wt(t.data):null;a(n?{status:`ready`,node:n}:{status:`error`,reason:t.error||String(t.status||``)})}),()=>{e=!0}},[t.id]);let o=i.status===`ready`&&i.node.title?i.node.title:t.title;return(0,Z.jsx)(`div`,{className:`file-preview-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,Z.jsxs)(`div`,{ref:r,className:`file-preview-modal source-chunk-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":K(e,`brain.sourceModal.aria`,{title:o}),"data-testid":`source-chunk-modal`,children:[(0,Z.jsxs)(`header`,{className:`file-preview-head`,children:[(0,Z.jsx)(`strong`,{className:`file-preview-name`,children:o}),(0,Z.jsxs)(`div`,{className:`file-preview-actions`,children:[i.status===`ready`&&i.node.type?(0,Z.jsx)(`span`,{className:`source-chunk-type`,children:i.node.type}):null,(0,Z.jsx)(`button`,{type:`button`,className:`file-preview-close`,"aria-label":K(e,`brain.sourceModal.close`),onClick:n,children:(0,Z.jsx)(U,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]}),(0,Z.jsx)(`div`,{className:`file-preview-body source-chunk-body`,children:i.status===`loading`?(0,Z.jsx)(`p`,{className:`file-preview-note`,role:`status`,children:K(e,`brain.sourceModal.loading`)}):i.status===`error`?(0,Z.jsx)(`p`,{className:`file-preview-note is-error`,role:`alert`,children:K(e,`brain.sourceModal.error`,{reason:i.reason})}):(0,Z.jsxs)(Z.Fragment,{children:[i.node.summary?(0,Z.jsx)(`pre`,{className:`source-chunk-text`,"data-testid":`source-chunk-text`,children:i.node.summary}):(0,Z.jsx)(`p`,{className:`file-preview-note`,children:K(e,`brain.sourceModal.empty`)}),i.node.provenance.length?(0,Z.jsxs)(`div`,{className:`source-chunk-provenance`,"data-testid":`source-chunk-provenance`,children:[(0,Z.jsx)(`small`,{children:K(e,`brain.sourceModal.provenance`)}),(0,Z.jsx)(`ul`,{children:i.node.provenance.map(e=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`span`,{children:e.key}),(0,Z.jsx)(`code`,{children:e.value})]},e.key))})]}):null]})})]})})}function Et({language:e}){let t=r(),[n,i]=X.useState(!1),[a,o]=X.useState(``),[s,c]=X.useState(``),[l,u]=X.useState(``),[d,f]=X.useState(null),m=W({queryKey:[`portability`],queryFn:J.graphPortability}),h=W({queryKey:[`backupHealth`],queryFn:J.backupHealth}),g=X.useCallback(e=>f(e),[]),_=a.trim()?Mt(a.trim(),e):``,v=s.trim()?Nt(s,e):``,y=!s||s===l,b=!!s.trim()&&y&&!v,x=!!a.trim()&&!_,S=Dt(()=>J.graphExport(),void 0,g),C=Dt(()=>J.graphBackup(),()=>{t.invalidateQueries({queryKey:[`backupHealth`]}),t.invalidateQueries({queryKey:[`portability`]})},g),w=Dt(()=>J.brainArchive({path:a.trim()||null,passphrase:s}),()=>void t.invalidateQueries({queryKey:[`backupHealth`]}),g),T=Dt(()=>J.brainArchiveInspect({path:a.trim(),passphrase:s||null}),void 0,g),E=Dt(()=>J.brainArchiveRestore({path:a.trim(),passphrase:s,dry_run:!0,confirm:!1}),void 0,g),D=kt(m.data?.data),O=At(h.data?.data,e);return(0,Z.jsxs)(`section`,{className:`brain-care-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":K(e,`care.title`),children:[(0,Z.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-care-details`,onClick:()=>i(e=>!e),children:[(0,Z.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(Te,{className:`h-3.5 w-3.5`}),` `,K(e,`care.title`)]}),(0,Z.jsx)(`strong`,{children:K(e,`care.subtitle`)})]}),(0,Z.jsxs)(`div`,{className:`brain-care-proof`,"aria-label":K(e,`care.ownershipModel`),children:[(0,Z.jsx)(`span`,{children:K(e,`care.private`)}),(0,Z.jsx)(`span`,{children:D}),(0,Z.jsx)(`span`,{children:O})]}),(0,Z.jsx)(ve,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,Z.jsxs)(`div`,{id:`brain-care-details`,className:`brain-care-details`,children:[(0,Z.jsxs)(`div`,{className:`brain-care-actions`,children:[(0,Z.jsx)(Ot,{icon:(0,Z.jsx)(L,{className:`h-3.5 w-3.5`}),label:K(e,`care.export`),detail:K(e,`care.export.detail`),pendingLabel:K(e,`care.working`),pending:S.isPending,onClick:()=>S.mutate()}),(0,Z.jsx)(Ot,{icon:(0,Z.jsx)(p,{className:`h-3.5 w-3.5`}),label:K(e,`care.backup`),detail:K(e,`care.backup.detail`),pendingLabel:K(e,`care.working`),pending:C.isPending,onClick:()=>C.mutate()}),(0,Z.jsx)(Ot,{icon:(0,Z.jsx)(je,{className:`h-3.5 w-3.5`}),label:K(e,`care.archive`),detail:K(e,`care.archive.detail`),pendingLabel:K(e,`care.working`),pending:w.isPending,disabled:!b,onClick:()=>w.mutate()})]}),(0,Z.jsxs)(`div`,{className:`brain-care-archive`,children:[(0,Z.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),placeholder:K(e,`care.path.placeholder`),"aria-label":K(e,`care.path.label`)}),(0,Z.jsx)(`input`,{type:`password`,value:s,onChange:e=>c(e.target.value),placeholder:K(e,`care.passphrase.placeholder`),"aria-label":K(e,`care.passphrase.label`)}),(0,Z.jsx)(`input`,{type:`password`,value:l,onChange:e=>u(e.target.value),placeholder:K(e,`care.passphrase.confirmPlaceholder`),"aria-label":K(e,`care.passphrase.confirmLabel`)}),(0,Z.jsxs)(`div`,{className:`brain-care-guidance`,role:`status`,children:[_?(0,Z.jsx)(`span`,{className:`is-error`,children:_}):a.trim()?(0,Z.jsx)(`span`,{children:K(e,`care.path.ready`)}):null,v?(0,Z.jsx)(`span`,{className:`is-error`,children:v}):s?(0,Z.jsx)(`span`,{children:K(e,`care.passphrase.strong`)}):null,y?null:(0,Z.jsx)(`span`,{className:`is-error`,children:K(e,`care.passphrase.mismatch`)})]}),(0,Z.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,disabled:!x||T.isPending,onClick:()=>T.mutate(),children:[(0,Z.jsx)(Le,{className:`h-3.5 w-3.5`}),` `,K(e,`care.inspect`)]}),(0,Z.jsxs)(Y,{variant:`outline`,size:`sm`,disabled:!x||!s.trim()||!y||E.isPending,onClick:()=>E.mutate(),children:[(0,Z.jsx)(_e,{className:`h-3.5 w-3.5`}),` `,K(e,`care.restorePreview`)]})]})]}),d?(0,Z.jsx)(`div`,{className:`brain-care-result ${d.ok?`is-ok`:`is-error`}`,role:`status`,children:(0,Z.jsx)(jt,{result:d,language:e})}):(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`care.note`)})]}):null]})}function Dt(e,t,n){return i({mutationFn:e,onSuccess:e=>{n?.(e),t?.()}})}function Ot({icon:e,label:t,detail:n,pendingLabel:r,pending:i,disabled:a,onClick:o}){return(0,Z.jsxs)(`button`,{className:`brain-care-button`,type:`button`,disabled:a||i,onClick:o,children:[e,(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`strong`,{children:i?r:t}),(0,Z.jsx)(`small`,{children:n})]})]})}function kt(e){return d(S(e)?e:{},[`archive_format`,`format`,`graph_schema_version`,`schema_version`],`.latticebrain`)}function At(e,t){let n=S(e)?e:{},r=n.count||n.backups||n.available;return r!=null&&r!==``?K(t,`care.backup.count`,{count:String(r)}):K(t,`care.backup.ready`)}function jt({result:e,language:t}){if(!e.ok)return(0,Z.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,Z.jsx)(`strong`,{children:K(t,`care.result.error`)}),e.error&&e.error!==K(t,`care.result.error`)?(0,Z.jsx)(`span`,{children:e.error}):null]});let n=S(e.data)?e.data:{},r=d(n,[`path`,`archive_path`,`backup_path`,`export_path`,`latest_backup`]),i=d(n,[`message`,`status`,`result`],K(t,`care.result.completed`)),a={memories:d(n,[`nodes`,`total_nodes`,`memories`,`memory_count`]),links:d(n,[`edges`,`total_edges`,`relationships`,`relationship_count`]),conversations:d(n,[`conversations`,`conversation_count`])};return(0,Z.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,Z.jsx)(`strong`,{children:i}),r?(0,Z.jsx)(`span`,{children:K(t,`care.result.path`,{path:r})}):null,a.memories||a.links||a.conversations?(0,Z.jsx)(`span`,{children:K(t,`care.result.contents`,{memories:a.memories||`0`,links:a.links||`0`,conversations:a.conversations||`0`})}):null,n.dry_run===!0?(0,Z.jsx)(`span`,{children:K(t,`care.result.dryRun`)}):null]})}function Mt(e,t){return/[<>:"|?*]/.test(e)?K(t,`care.path.invalidChars`):/\.(latticebrain|zip|json)$/i.test(e)?``:K(t,`care.path.extension`)}function Nt(e,t){return e.length<12?K(t,`care.passphrase.tooShort`):[/[a-z]/,/[A-Z]/,/\d/,/[^A-Za-z0-9]/].filter(t=>t.test(e)).length<3?K(t,`care.passphrase.tooSimple`):``}var Pt=[`freshness`,`connectivity`,`embedding_coverage`,`consistency`],Ft=new Set([`rebuild_vector_index`,`review_orphans`,`refresh_stale_knowledge`,`resolve_contradictions`]);function It({language:e}){let t=r(),[n,a]=X.useState(!1),o=W({queryKey:[`brainHealth`],queryFn:J.brainHealth,enabled:n}),s=W({queryKey:[`brainInsights`],queryFn:J.brainInsights,enabled:n}),c=W({queryKey:[`brainContradictions`],queryFn:J.brainContradictions,enabled:n}),[l,u]=X.useState(null),d=i({mutationFn:()=>J.brainConsolidate(!1),onSuccess:e=>{e.ok&&S(e.data)&&u(e.data)}}),f=i({mutationFn:()=>J.brainConsolidate(!0),onSuccess:e=>{e.ok&&S(e.data)&&u(e.data),t.invalidateQueries({queryKey:[`brainHealth`]})}}),p=o.data?.ok&&S(o.data.data)?o.data.data:null,m=n&&!o.isPending&&(o.isError||!o.data?.ok||o.data?.source===`unavailable`),h=()=>{o.refetch(),s.refetch(),c.refetch()},g=s.data?.ok&&S(s.data.data)?s.data.data:null,_=c.data?.ok&&S(c.data.data)?Number(c.data.data.count||0):0,v=p&&typeof p.overall_score==`number`?p.overall_score:null,y=p&&typeof p.grade==`string`?p.grade:null,b=p&&S(p.dimensions)?p.dimensions:{},x=p&&Array.isArray(p.recommended_actions)?p.recommended_actions:[],C=g&&S(g.activity)?g.activity:{},w=g&&S(g.attention)?g.attention:{};return(0,Z.jsxs)(`section`,{className:`brain-care-panel brain-intelligence-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":K(e,`intelligence.title`),children:[(0,Z.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-intelligence-details`,onClick:()=>a(e=>!e),children:[(0,Z.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(F,{className:`h-3.5 w-3.5`}),` `,K(e,`intelligence.title`)]}),(0,Z.jsx)(`strong`,{children:K(e,`intelligence.subtitle`)})]}),n&&v!==null?(0,Z.jsxs)(`div`,{className:`brain-care-proof`,children:[(0,Z.jsxs)(`span`,{children:[K(e,`intelligence.score`),`: `,v]}),(0,Z.jsx)(`span`,{children:Lt(y,e)})]}):null,(0,Z.jsx)(ve,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,Z.jsx)(`div`,{id:`brain-intelligence-details`,className:`brain-care-details`,children:o.isPending?(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`intelligence.loading`)}):m?(0,Z.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`intelligence.loadError`)}),o.data?.error?(0,Z.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:o.data.error}):null,(0,Z.jsx)(`div`,{children:(0,Z.jsx)(Y,{variant:`outline`,size:`sm`,onClick:h,children:K(e,`common.retry`)})})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`brain-intelligence-dimensions`,role:`list`,children:Pt.map(t=>{let n=S(b[t])?b[t]:{},r=typeof n.score==`number`?n.score:null;return(0,Z.jsxs)(`div`,{className:`brain-intelligence-dimension`,role:`listitem`,children:[(0,Z.jsx)(`small`,{children:K(e,`intelligence.dim.${t}`)}),(0,Z.jsx)(`strong`,{children:r===null?`—`:r})]},t)})}),(0,Z.jsxs)(`div`,{className:`brain-intelligence-insights`,role:`status`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(Ae,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),` `,K(e,`intelligence.insights.recent`,{count:String(Q(C.recent_nodes))})]}),(0,Z.jsx)(`span`,{children:K(e,`intelligence.insights.stale`,{count:String(Q(w.stale_nodes))})}),(0,Z.jsx)(`span`,{children:K(e,`intelligence.insights.orphans`,{count:String(Q(w.orphan_nodes))})}),(0,Z.jsx)(`span`,{children:K(e,`intelligence.contradictions`,{count:String(_)})})]}),x.length?(0,Z.jsxs)(`div`,{className:`brain-intelligence-actions`,children:[(0,Z.jsx)(`small`,{children:K(e,`intelligence.actions`)}),(0,Z.jsx)(`ul`,{children:x.map((t,n)=>{let r=S(t)?t:{},i=String(r.id||``);return(0,Z.jsx)(`li`,{children:Ft.has(i)?K(e,`intelligence.action.${i}`):String(r.reason||i)},`${i}-${n}`)})})]}):null,(0,Z.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,Z.jsx)(Y,{variant:`outline`,size:`sm`,disabled:d.isPending,onClick:()=>d.mutate(),children:d.isPending?K(e,`intelligence.consolidate.working`):K(e,`intelligence.consolidate`)}),l&&Q(l.duplicate_memory_count)>0&&l.mode!==`applied`?(0,Z.jsx)(Y,{variant:`outline`,size:`sm`,disabled:f.isPending,onClick:()=>f.mutate(),children:K(e,`intelligence.consolidate.apply`)}):null]}),l?(0,Z.jsx)(`p`,{className:`brain-care-note`,role:`status`,children:l.mode===`applied`?K(e,`intelligence.consolidate.applied`,{count:String(Q(l.pruned))}):Q(l.duplicate_memory_count)>0||Q(l.duplicate_edge_count)>0?K(e,`intelligence.consolidate.found`,{memories:String(Q(l.duplicate_memory_count)),edges:String(Q(l.duplicate_edge_count))}):K(e,`intelligence.consolidate.none`)}):null]})}):null]})}function Lt(e,t){return K(t,`intelligence.grade.${e&&new Set([`excellent`,`good`,`attention`,`critical`]).has(e)?e:`unknown`}`)}function Q(e){let t=Number(e);return Number.isFinite(t)?t:0}var Rt=[`recent`,`contradictions`,`stale`,`frequent`];function zt(e,t){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim();if(typeof t==`number`&&Number.isFinite(t))return String(t)}return``}function Bt(e){let t=De(e)?e:{},n=De(t.beds)?t.beds:{};return{available:t.available===!0,beds:Rt.map(e=>{let t=De(n[e])?n[e]:{},r=Number(t.count),i=Ce(t.items).flatMap(t=>{let n=De(t)?t:{},r=zt(n,[`id`]),i=zt(n,[`title`,`summary`,`label`]);return!r||!i?[]:[{id:r,title:i,type:zt(n,[`type`,`kind`]),detail:e===`frequent`?zt(n,[`degree`]):zt(n,[`updated_at`,`detail`])}]});return{id:e,count:Number.isFinite(r)&&r>0?Math.round(r):i.length,items:i}})}}function Vt({language:e}){let[t,n]=X.useState(!1),r=W({queryKey:[`knowledgeGarden`],queryFn:()=>J.brainGarden(),enabled:t,staleTime:6e4}),i=X.useMemo(()=>r.data?.ok?Bt(r.data.data):null,[r.data]);return(0,Z.jsxs)(`details`,{className:`brain-garden`,"data-testid":`knowledge-garden`,open:t,onToggle:e=>n(e.currentTarget.open),children:[(0,Z.jsx)(`summary`,{children:K(e,`brain.garden.title`)}),t?r.isLoading?(0,Z.jsx)(`p`,{role:`status`,children:K(e,`brain.garden.loading`)}):!i||!i.available?(0,Z.jsx)(`p`,{role:`status`,className:`is-muted`,children:K(e,`brain.garden.unavailable`)}):(0,Z.jsx)(`div`,{className:`brain-garden-beds`,children:i.beds.map(t=>(0,Z.jsxs)(`section`,{"data-testid":`garden-bed-${t.id}`,children:[(0,Z.jsxs)(`h4`,{children:[K(e,`brain.garden.bed.${t.id}`),(0,Z.jsx)(`span`,{className:`brain-garden-count`,children:t.count})]}),t.items.length?(0,Z.jsx)(`ul`,{children:t.items.map(e=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`strong`,{children:e.title}),e.type?(0,Z.jsx)(`em`,{children:e.type}):null,e.detail?(0,Z.jsx)(`small`,{children:e.detail}):null]},e.id))}):(0,Z.jsx)(`p`,{className:`is-muted`,children:K(e,`brain.garden.empty.${t.id}`)})]},t.id))}):null]})}var Ht={"review-pending":`briefing.action.reviewPending`,"enable-drafts":`briefing.action.enableDrafts`,"install-suggestion":`briefing.action.installSuggestion`,"connect-knowledge":`briefing.action.connectKnowledge`,"check-health":`briefing.action.checkHealth`,"ask-brain":`briefing.action.askBrain`};function Ut(e,t){let n=(e.sections||{})[t];return n&&typeof n==`object`?n:{}}function Wt(e){e&&(e.closest(`details`)?.setAttribute(`open`,``),window.setTimeout(()=>e.scrollIntoView?.({behavior:`smooth`,block:`center`}),0))}function Gt({language:e,variant:t=`drawer`}){let[n,r]=X.useState(t===`home`),i=X.useRef(null),o=W({queryKey:[`commandBriefing`],queryFn:J.commandBriefing,enabled:n});X.useEffect(()=>{let e=()=>{r(!0),Wt(i.current)};return window.addEventListener(`lattice:open-briefing`,e),()=>window.removeEventListener(`lattice:open-briefing`,e)},[]);let s=o.data?.data||{},c=!!o.data&&(!o.data?.ok||Object.keys(s.sections||{}).length===0),l=Ut(s,`knowledge`),u=Ut(s,`conversations`),d=Ut(s,`automations`),f=Ut(s,`review`),p=Ut(s,`health`),m=Ut(s,`suggestions`),h=Ce(s.quick_actions),g=Ce(l.recent);return(0,Z.jsxs)(`section`,{ref:i,className:`brain-care-panel daily-briefing-panel ${n?`is-expanded`:`is-collapsed`} ${t===`home`?`is-home`:``}`,"aria-label":K(e,`briefing.title`),"data-testid":`daily-briefing`,children:[(0,Z.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`daily-briefing-details`,onClick:()=>r(e=>!e),children:[(0,Z.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(he,{className:`h-3.5 w-3.5`}),` `,K(e,`briefing.title`)]}),(0,Z.jsx)(`strong`,{children:K(e,`briefing.subtitle`)})]}),(0,Z.jsx)(ve,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,Z.jsx)(`div`,{id:`daily-briefing-details`,className:`brain-care-details`,children:o.isPending?(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`briefing.loading`)}):c?(0,Z.jsx)(`p`,{className:`brain-care-note`,"data-testid":`daily-briefing-empty`,children:K(e,`briefing.empty`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`daily-briefing-stats`,role:`list`,children:[(0,Z.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,Z.jsx)(`strong`,{children:String(u.questions??0)}),(0,Z.jsx)(`span`,{children:K(e,`briefing.stat.questions`)})]}),(0,Z.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,Z.jsxs)(`strong`,{children:[String(d.enabled??0),`/`,String(d.total??0)]}),(0,Z.jsx)(`span`,{children:K(e,`briefing.stat.automations`)})]}),(0,Z.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,Z.jsx)(`strong`,{children:String(f.pending??0)}),(0,Z.jsx)(`span`,{children:K(e,`briefing.stat.review`)})]}),(0,Z.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,Z.jsx)(`strong`,{children:p.available&&p.grade?String(p.grade):`—`}),(0,Z.jsx)(`span`,{children:K(e,`briefing.stat.health`)})]})]}),g.length>0?(0,Z.jsxs)(`div`,{className:`daily-briefing-recent`,children:[(0,Z.jsx)(`p`,{className:`command-palette-group`,children:K(e,`briefing.recent`)}),(0,Z.jsx)(`ul`,{children:g.slice(0,3).map(e=>(0,Z.jsx)(`li`,{title:String(e.title||``),children:String(e.title||e.id||``)},String(e.id)))})]}):null,Number(m.count??0)>0?(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`briefing.suggestions`,{count:String(m.count)})}):null,h.length>0?(0,Z.jsx)(`div`,{className:`daily-briefing-actions`,children:h.map(t=>{let n=Ht[t.id];return n?(0,Z.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>Ee(t.target),children:[(0,Z.jsx)(`span`,{children:K(e,n,{count:String(t.count||0)})}),(0,Z.jsx)(a,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]},t.id):null})}):null]})}):null]})}function Kt({language:e}){let t=r(),[n,a]=X.useState(!1),o=W({queryKey:[`pendingProposals`],queryFn:J.proposals,enabled:n}),s=async()=>{await Promise.all([t.invalidateQueries({queryKey:[`pendingProposals`]}),t.invalidateQueries({queryKey:[`reviewItems`]})])},[c,l]=X.useState({}),u=i({mutationFn:e=>J.approveReviewItem(e),onSuccess:async(e,t)=>{if(!e.ok&&e.status===409){l(e=>({...e,[t]:!0}));return}e.ok&&(l(e=>{let n={...e};return delete n[t],n}),await s())}}),d=i({mutationFn:e=>J.rejectProposal(e),onSuccess:s}),f=Ce((o.data?.data||{}).items),p=u.isPending||d.isPending,m=o.isError||(o.data?!o.data.ok:!1);return(0,Z.jsxs)(`section`,{className:`brain-care-panel pending-proposals-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":K(e,`proposals.title`),"data-testid":`pending-proposals`,children:[(0,Z.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`pending-proposals-details`,onClick:()=>a(e=>!e),children:[(0,Z.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(Ve,{className:`h-3.5 w-3.5`}),` `,K(e,`proposals.title`)]}),(0,Z.jsx)(`strong`,{children:K(e,`proposals.subtitle`)})]}),(0,Z.jsx)(ve,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,Z.jsxs)(`div`,{id:`pending-proposals-details`,className:`brain-care-details`,children:[o.isPending?(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`proposals.loading`)}):m?(0,Z.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`proposals.error`)}),o.data?.error?(0,Z.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:o.data.error}):null,(0,Z.jsx)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>void o.refetch(),children:(0,Z.jsx)(`span`,{children:K(e,`common.retry`)})})]}):f.length===0?(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`proposals.empty`)}):(0,Z.jsx)(`div`,{className:`pending-proposals-list`,children:f.map(t=>{let n=t.payload||{},r=Ce(n.diff),i=String(n.tier||`small`);return(0,Z.jsxs)(`article`,{className:`pending-proposal`,children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsx)(`strong`,{title:String(n.path||t.title),children:String(n.path||t.title)}),(0,Z.jsx)(`span`,{className:`pending-proposal-tier`,children:K(e,t.kind===`file_delete`?`proposals.kind.delete`:i===`large`?`proposals.tier.large`:`proposals.tier.small`)})]}),(0,Z.jsx)(`p`,{className:`brain-care-note`,children:t.summary}),r.length>0?(0,Z.jsx)(ue,{language:e,diff:r}):null,c[t.id]?(0,Z.jsx)(le,{language:e,itemId:t.id}):null,(0,Z.jsxs)(`div`,{className:`pending-proposal-actions`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,disabled:p,onClick:()=>u.mutate(t.id),children:[(0,Z.jsx)(ye,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`proposals.approve`)})]}),(0,Z.jsxs)(`button`,{type:`button`,className:`daily-briefing-action pending-proposal-reject`,disabled:p,onClick:()=>d.mutate(t.id),children:[(0,Z.jsx)(U,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`proposals.reject`)})]})]})]},t.id)})}),(0,Z.jsx)(`p`,{className:`brain-care-note`,children:K(e,`proposals.note`)})]}):null]})}function qt({language:e,draft:t,streaming:n,imageData:r,uploadingDocument:i,onDraftChange:a,onImageDataChange:o,onUploadDocument:s,onSend:c,onStop:l,attachments:u}){let d=X.useRef(null),f=X.useRef(null),[p,m]=X.useState(!1),h=X.useId(),g=X.useRef(null),_=X.useRef(0);X.useEffect(()=>{let e=d.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,152)}px`)},[t]);let v=()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)},y=()=>{v(),g.current=window.setTimeout(()=>{let e=f.current;e&&(e.contains(document.activeElement)||e.querySelector(`.brain-ingestion-dock-popover`)||i||m(!1))},240)};return X.useEffect(()=>v,[]),X.useEffect(()=>{if(!p)return;let e=e=>{let t=e.target;t&&f.current?.contains(t)||m(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[p]),(0,Z.jsxs)(`div`,{className:`brain-composer`,"aria-busy":n,children:[(0,Z.jsx)(`textarea`,{ref:d,rows:1,value:t,onChange:e=>a(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),c())},"aria-label":K(e,`brain.placeholder`),"aria-describedby":`brain-composer-hint`,"aria-keyshortcuts":`Control+K Meta+K`,placeholder:K(e,`brain.placeholder`)}),(0,Z.jsxs)(`div`,{className:`brain-composer-actions`,children:[(0,Z.jsxs)(`div`,{ref:f,className:`brain-attach ${p?`is-open`:``}`,onPointerEnter:e=>{e.pointerType===`mouse`&&(v(),m(e=>(e||(_.current=Date.now()),!0)))},onPointerLeave:e=>{e.pointerType===`mouse`&&y()},onKeyDown:e=>{e.key!==`Escape`||!p||f.current?.querySelector(`.brain-ingestion-dock-popover`)||(e.preventDefault(),e.stopPropagation(),m(!1))},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`brain-attach-toggle`,"aria-expanded":p,"aria-controls":p?h:void 0,"aria-label":K(e,`brain.composer.attach.aria`),"data-testid":`brain-attach-toggle`,onClick:()=>{m(e=>e?Date.now()-_.current<350:(_.current=Date.now(),!0))},children:[(0,Z.jsx)(Ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.composer.attach`)})]}),p?(0,Z.jsxs)(`div`,{id:h,className:`brain-composer-attachments`,"data-testid":`brain-attach-menu`,role:`group`,"aria-label":K(e,`brain.composer.attachments`),children:[(0,Z.jsxs)(`label`,{className:`brain-document-input ${i?`is-disabled`:``}`,children:[(0,Z.jsx)(Be,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:i?K(e,`brain.upload.uploading`):K(e,`brain.upload.ctaShort`)}),(0,Z.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:i,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&s(t)}})]}),(0,Z.jsxs)(`label`,{className:`brain-image-input`,children:[(0,Z.jsx)(He,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.image`)}),(0,Z.jsx)(`input`,{type:`file`,accept:`image/*`,className:`sr-only`,onChange:async e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&o(await Jt(t))}})]}),u]}):null,r?(0,Z.jsx)(`span`,{className:`brain-quiet-success`,children:K(e,`brain.imageAttached`)}):null]}),(0,Z.jsx)(`span`,{id:`brain-composer-hint`,className:`brain-composer-hint`,children:K(e,`brain.composer.hint`)}),n&&l?(0,Z.jsxs)(Y,{onClick:l,variant:`outline`,className:`brain-composer-submit`,children:[(0,Z.jsx)(tt,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,K(e,`brain.stop`)]}):(0,Z.jsxs)(Y,{onClick:c,disabled:!t.trim()||n,className:`brain-composer-submit`,children:[(0,Z.jsx)($e,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,K(e,`brain.send`)]})]})]})}function Jt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}var Yt=xe(),$=[`features`];function Xt({language:e}){let t=r(),[n,a]=X.useState(``),o=W({queryKey:$,queryFn:J.features}),s=i({mutationFn:e=>J.setFeature(e.id,e.value),onMutate:async e=>{await t.cancelQueries({queryKey:$});let n=t.getQueryData($);return t.setQueryData($,t=>$t(t,e.id,e.value)),a(``),{previous:n}},onSuccess:(n,r,i)=>{if(n.ok){a(K(e,`brain.features.saved`)),t.invalidateQueries({queryKey:$});return}t.setQueryData($,i?.previous),a(n.error||K(e,`brain.features.failed`))},onError:(n,r,i)=>{t.setQueryData($,i?.previous),a(K(e,`brain.features.failed`))}}),c=o.data?.ok?o.data.data:void 0,l=c?.features??[],u=new Set(l.filter(e=>e.current===!0).map(e=>e.id));return(0,Z.jsxs)(`section`,{className:`brain-features-panel`,"aria-label":K(e,`brain.features.aria`),"aria-busy":s.isPending,children:[(0,Z.jsxs)(`header`,{className:`brain-features-head`,children:[(0,Z.jsx)(`strong`,{children:K(e,`brain.features.title`)}),(0,Z.jsx)(`p`,{children:c?.note||K(e,`brain.features.note`)})]}),o.isLoading?(0,Z.jsx)(`p`,{className:`brain-features-loading`,children:K(e,`ui.loading`)}):null,!o.isLoading&&l.length===0?(0,Z.jsx)(ae,{title:K(e,`brain.features.empty`),detail:o.data?.error}):null,l.length?(0,Z.jsx)(`ul`,{className:`brain-features-list`,children:l.map(t=>(0,Z.jsx)(Zt,{feature:t,language:e,dormant:!!t.parent&&!u.has(String(t.parent)),busy:s.isPending,onChange:e=>s.mutate({id:t.id,value:e})},t.id))}):null,(0,Z.jsx)(`p`,{className:`brain-features-notice`,role:`status`,"aria-live":`polite`,children:n})]})}function Zt({feature:e,language:t,dormant:n,busy:r,onChange:i}){let a=e.current===!0,o=!!e.caution,[s,c]=X.useState(!1),[l,u]=X.useState(!1),d=X.useRef(null);X.useEffect(()=>{a&&(c(!1),u(!1))},[a]);function f(){if(!r){if(a){c(!1),i(!1);return}if(o){c(!0),u(!1);return}i(!0)}}function p(){r||!l||(i(!0),c(!1),u(!1),window.requestAnimationFrame(()=>d.current?.focus()))}return(0,Z.jsxs)(`li`,{className:`brain-feature-row${e.parent?` is-child`:``}${a?` is-on`:``}`,"data-testid":`feature-row-${e.id}`,children:[(0,Z.jsxs)(`div`,{className:`brain-feature-copy`,children:[(0,Z.jsxs)(`span`,{className:`brain-feature-name`,children:[e.label,e.source===`env`?(0,Z.jsx)(`em`,{className:`brain-feature-source`,title:K(t,`brain.features.source.env.detail`,{flag:e.env_var}),children:K(t,`brain.features.source.env`)}):null,n?(0,Z.jsx)(`em`,{className:`brain-feature-source`,children:K(t,`brain.features.dormant`)}):null]}),(0,Z.jsx)(`span`,{className:`brain-feature-summary`,children:e.summary}),e.caution?(0,Z.jsxs)(`span`,{className:`brain-feature-caution`,children:[(0,Z.jsx)(Ue,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}),e.caution]}):null,s?(0,Z.jsxs)(`div`,{className:`brain-feature-preview`,"data-testid":`feature-preview-${e.id}`,children:[(0,Z.jsx)(`p`,{className:`brain-feature-preview-title`,children:K(t,`brain.features.preview.title`)}),(0,Z.jsx)(`p`,{className:`brain-feature-preview-body`,children:e.summary}),(0,Z.jsx)(`p`,{className:`brain-feature-preview-caution`,children:e.caution}),(0,Z.jsx)(`p`,{className:`brain-feature-preview-limit`,children:K(t,`brain.features.preview.limit`)}),(0,Z.jsxs)(`label`,{className:`brain-feature-preview-ack`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,"data-testid":`feature-preview-ack-${e.id}`,checked:l,onChange:e=>u(e.target.checked)}),K(t,`brain.features.preview.ack`)]}),(0,Z.jsxs)(`div`,{className:`brain-feature-preview-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`brain-feature-preview-confirm`,"data-testid":`feature-preview-confirm-${e.id}`,"aria-disabled":!l,onClick:p,children:K(t,`brain.features.preview.confirm`)}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`feature-preview-cancel-${e.id}`,onClick:()=>{c(!1),u(!1)},children:K(t,`brain.features.preview.cancel`)})]})]}):null]}),e.kind===`choice`?(0,Z.jsx)(Qt,{feature:e,language:t,busy:r,onChange:i}):(0,Z.jsxs)(`button`,{ref:d,type:`button`,role:`switch`,"aria-checked":a,"aria-label":e.label,className:`brain-feature-switch`,"data-testid":`feature-switch-${e.id}`,onClick:f,children:[(0,Z.jsx)(`span`,{className:`brain-feature-switch-track`,"aria-hidden":`true`,children:(0,Z.jsx)(`span`,{className:`brain-feature-switch-thumb`})}),(0,Z.jsx)(`span`,{className:`brain-feature-state`,children:K(t,a?`brain.features.on`:`brain.features.off`)})]})]})}function Qt({feature:e,language:t,busy:n,onChange:r}){return(0,Z.jsx)(`div`,{className:`brain-feature-choices`,role:`radiogroup`,"aria-label":e.label,"data-testid":`feature-choices-${e.id}`,children:e.choices.map(i=>(0,Z.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":e.current===i.id,className:e.current===i.id?`is-active`:``,"data-testid":`feature-choice-${e.id}-${i.id}`,disabled:!i.available,title:i.detail||void 0,onClick:()=>{n||r(i.id)},children:[i.label,i.available?null:(0,Z.jsx)(`em`,{children:K(t,`brain.features.installRequired`)})]},i.id))})}function $t(e,t,n){let r=e;return!r?.ok||!r.data?e:{...r,data:{...r.data,features:r.data.features.map(e=>e.id===t?{...e,current:n,source:`user`}:e)}}}var en=[{x:62,y:26},{x:78,y:26},{x:93,y:26},{x:62,y:45},{x:78,y:45},{x:93,y:45},{x:70,y:64},{x:86,y:64}];function tn(e){let t=String(e??``).trim();return!t||/^[A-Za-z][\w-]*[-_]?\d{6,}$/.test(t)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)||/^\d+$/.test(t)?``:t}var nn=[`chat`,`file`,`folder`,`note`,`web`],rn={chat:qe,file:Be,folder:z,note:ze,web:se};function an(e){return!!(e&&e.stage!==`complete`&&e.stage!==`error`)}X.memo(function({language:e,brainState:t,intensity:n,graph:r,readiness:i,brief:o,memories:s,ingestionStates:l,emergenceEvents:u,streaming:d,onExploreBrain:f}){let p=u[0],m=X.useMemo(()=>{let e=new Map;for(let t of r.edges)e.set(t.source,(e.get(t.source)??0)+1),e.set(t.target,(e.get(t.target)??0)+1);let t=new Set(p?.nodeIds??[]);return[...r.nodes].sort((n,r)=>Number(t.has(r.id))-Number(t.has(n.id))||(e.get(r.id)??0)-(e.get(n.id)??0)||r.importance-n.importance).slice(0,en.length)},[r.edges,r.nodes,p?.nodeIds]),h=X.useMemo(()=>new Map(m.map((e,t)=>[e.id,en[t]])),[m]),g=X.useMemo(()=>r.edges.filter(e=>h.has(e.source)&&h.has(e.target)).slice(0,16),[r.edges,h]),_=nn.map(e=>l[e]).find(e=>an(e)),v=X.useMemo(()=>new Set(p?.nodeIds??[]),[p]),y=d||!!_,b=d?`chat`:_?.sourceType,x=tn(_?.label)||tn(p?.label)||tn(o.focus.title)||tn(s[0]?.title)||K(e,`brain.flow.source.empty`),S=_?K(e,`brain.ingest.stage.${_.stage}.hint`):p?K(e,`brain.flow.status.emerged`,{memories:p.newMemories,entities:p.newEntities}):m.length?K(e,`brain.flow.status.ready`,{focus:tn(o.focus.title)||tn(m[0]?.label)||`Brain`}):K(e,`brain.flow.status.empty`),C=Math.max(i.signals.memoryCount,s.length),w=Math.max(i.signals.conceptCount,r.nodes.length),T=Math.max(i.signals.relationshipCount,r.edges.length);return(0,Z.jsxs)(`section`,{className:`brain-knowledge-flow ${y?`is-absorbing`:``}`,"data-source":b||`idle`,"data-stage":_?.stage||(p?`connected`:`ready`),"data-brain-state":t,"aria-labelledby":`brain-home-title`,children:[(0,Z.jsxs)(`header`,{className:`brain-flow-heading`,children:[(0,Z.jsxs)(`div`,{className:`brain-flow-heading-copy`,children:[(0,Z.jsx)(`span`,{className:`brain-home-kicker`,children:K(e,`brain.home.kicker`)}),(0,Z.jsx)(`h1`,{id:`brain-home-title`,children:K(e,`brain.firstScreen.title`)}),(0,Z.jsx)(`p`,{children:K(e,`brain.firstScreen.body`)})]}),(0,Z.jsxs)(`div`,{className:`brain-flow-vital`,"data-state":t,children:[(0,Z.jsxs)(`span`,{"aria-hidden":`true`,children:[(0,Z.jsx)(`i`,{}),(0,Z.jsx)(`i`,{})]}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`small`,{children:K(e,`brain.flow.vital`)}),(0,Z.jsx)(`strong`,{children:K(e,`brain.living.state.${t}`)})]})]})]}),(0,Z.jsxs)(`div`,{className:`brain-flow-canvas`,"data-testid":`brain-knowledge-flow`,children:[(0,Z.jsxs)(`div`,{className:`brain-flow-sources`,"aria-label":K(e,`brain.flow.sources.aria`),children:[(0,Z.jsx)(`span`,{className:`brain-flow-column-label`,children:K(e,`brain.flow.sources`)}),nn.map(t=>{let n=rn[t],r=l[t],i=t===b,a=r?.stage===`complete`;return(0,Z.jsxs)(`span`,{className:`brain-flow-source ${i?`is-active`:``} ${a?`is-remembered`:``}`,"aria-current":i?`step`:void 0,children:[(0,Z.jsx)(n,{className:`h-4 w-4`,"aria-hidden":`true`}),K(e,`brain.ingest.type.${t}`)]},t)})]}),(0,Z.jsxs)(`svg`,{className:`brain-flow-transfer`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,Z.jsx)(`path`,{className:`brain-flow-transfer-path`,d:`M20 50 C28 50 31 50 38 50`}),(0,Z.jsx)(`path`,{className:`brain-flow-transfer-path is-output`,d:`M54 50 C59 50 62 50 67 50`}),y?Array.from({length:4}).map((e,t)=>(0,Z.jsx)(`circle`,{className:`brain-flow-particle`,r:`0.8`,style:{animationDelay:`${t*240}ms`},children:(0,Z.jsx)(`animateMotion`,{dur:`1.7s`,repeatCount:`indefinite`,path:`M20 50 C28 50 31 50 43 50`})},t)):null,m.length?Array.from({length:3}).map((e,t)=>(0,Z.jsx)(`circle`,{className:`brain-flow-particle is-output`,r:`0.66`,children:(0,Z.jsx)(`animateMotion`,{begin:`${t*1.15}s`,dur:y?`2.1s`:`4.2s`,repeatCount:`indefinite`,path:`M51 50 C58 46 61 44 70 42`})},`output-${t}`)):null]}),(0,Z.jsxs)(`div`,{className:`brain-flow-organism`,children:[(0,Z.jsx)(`span`,{className:`brain-flow-column-label`,children:K(e,`brain.flow.memory`)}),(0,Z.jsx)(c,{state:t,intensity:y?Math.max(n,.9):n,size:`large`,depth:i.depth,showLabel:!1,onInteract:f}),(0,Z.jsxs)(`span`,{className:`brain-flow-organism-vital`,"aria-hidden":`true`,children:[(0,Z.jsx)(`i`,{}),K(e,`brain.living.state.${t}`)]})]}),(0,Z.jsxs)(`div`,{className:`brain-flow-graph`,"aria-label":K(e,`brain.flow.graph.aria`,{concepts:w,relationships:T}),children:[(0,Z.jsx)(`span`,{className:`brain-flow-column-label`,children:K(e,`brain.flow.graph`)}),(0,Z.jsx)(`svg`,{className:`brain-flow-edges`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:g.map((e,t)=>{let n=h.get(e.source),r=h.get(e.target);return!n||!r?null:(0,Z.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,vectorEffect:`non-scaling-stroke`,style:{animationDelay:`${t*-.72}s`}},e.id)})}),m.length?m.map((t,n)=>{let r=en[n];return(0,Z.jsxs)(`button`,{type:`button`,className:`brain-flow-node ${v.has(t.id)?`is-emerging`:``}`,style:{left:`${r.x}%`,top:`${r.y}%`},"aria-label":K(e,`brain.flow.node.aria`,{label:t.label,type:t.type}),title:t.summary||t.type,onClick:f,children:[(0,Z.jsx)(`span`,{children:t.type}),(0,Z.jsx)(`strong`,{children:t.label})]},t.id)}):(0,Z.jsxs)(`div`,{className:`brain-flow-empty-graph`,children:[(0,Z.jsx)(V,{className:`h-5 w-5`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.flow.graph.empty`)})]}),(0,Z.jsx)(`ul`,{className:`sr-only`,children:g.map(e=>{let t=m.find(t=>t.id===e.source),n=m.find(t=>t.id===e.target);return!t||!n?null:(0,Z.jsxs)(`li`,{children:[t.label,` — `,e.label,` — `,n.label]},`accessible-${e.id}`)})})]}),(0,Z.jsxs)(`div`,{className:`brain-flow-live-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[(0,Z.jsx)(`span`,{className:`brain-flow-status-icon`,"aria-hidden":`true`,children:y?(0,Z.jsx)(F,{className:`h-4 w-4`}):(0,Z.jsx)(I,{className:`h-4 w-4`})}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`strong`,{children:x}),(0,Z.jsx)(`small`,{children:S})]})]}),(0,Z.jsxs)(`ol`,{className:`brain-flow-path`,"aria-label":K(e,`brain.flow.path.aria`),children:[(0,Z.jsxs)(`li`,{"data-active":!!b,children:[(0,Z.jsx)(`span`,{children:K(e,`brain.flow.path.input`)}),(0,Z.jsx)(`strong`,{children:b?K(e,`brain.ingest.type.${b}`):K(e,`brain.flow.path.waiting`)})]}),(0,Z.jsx)(a,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsxs)(`li`,{"data-active":y,children:[(0,Z.jsx)(`span`,{children:K(e,`brain.flow.path.memory`)}),(0,Z.jsx)(`strong`,{children:K(e,`brain.flow.path.memoryCount`,{count:C})})]}),(0,Z.jsx)(a,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`span`,{children:K(e,`brain.flow.path.connections`)}),(0,Z.jsx)(`strong`,{children:K(e,`brain.flow.path.graphCount`,{concepts:w,relationships:T})})]}),(0,Z.jsx)(a,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`span`,{children:K(e,`brain.flow.path.automation`)}),(0,Z.jsx)(`strong`,{children:K(e,`brain.flow.path.actionCount`,{count:o.proactiveActions.length})})]})]})]})]})});function on({language:e,brief:t,activities:n,streaming:r,onAction:i,compact:o=!1}){let s=X.useRef(null),c=t.proactiveActions.slice(0,3),u=t.evidence.filter(e=>e.value>0).slice(0,3),d=t.focus.title||K(e,`brain.brief.focus.empty`),f=()=>{let e=s.current;e&&(e.removeAttribute(`open`),e.querySelector(`summary`)?.focus())};if(o){let t=c[0];return(0,Z.jsxs)(`section`,{className:`brain-memory-automation is-compact ${c.length>1?`has-more-actions`:c.length===1?`has-single-action`:`has-no-actions`}`,"data-testid":`brain-automation-dock`,"aria-labelledby":`brain-memory-automation-compact-title`,children:[(0,Z.jsxs)(`div`,{className:`brain-automation-compact-head`,children:[(0,Z.jsx)(`span`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,Z.jsx)(l,{className:`h-4 w-4`})}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`small`,{children:K(e,`brain.automation.kicker`)}),(0,Z.jsx)(`strong`,{id:`brain-memory-automation-compact-title`,children:K(e,`brain.automation.title`)})]}),c.length>1?(0,Z.jsxs)(`details`,{ref:s,className:`brain-automation-more`,"data-testid":`brain-automation-more`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),f())},children:[(0,Z.jsx)(`summary`,{"aria-label":K(e,`brain.automation.more`),children:(0,Z.jsx)(be,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,Z.jsxs)(`div`,{className:`brain-automation-more-popover`,children:[(0,Z.jsxs)(`header`,{className:`brain-automation-more-head`,children:[(0,Z.jsx)(`strong`,{children:K(e,`brain.automation.title`)}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":K(e,`brain.automation.close`),onClick:f,children:(0,Z.jsx)(U,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,Z.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,Z.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>i(t),children:[(0,Z.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:cn(t.intent)}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`strong`,{children:K(e,t.labelKey)}),(0,Z.jsx)(`small`,{children:K(e,t.detailKey)})]}),(0,Z.jsx)(`em`,{children:K(e,ln(t.intent))}),(0,Z.jsx)(a,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}),(0,Z.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,Z.jsx)(Te,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.automation.guard`)})]}),n.length?(0,Z.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":K(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,Z.jsxs)(`li`,{"data-status":t.status,children:[(0,Z.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`strong`,{children:K(e,t.labelKey)}),(0,Z.jsx)(`span`,{children:K(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})]}):null]}),(0,Z.jsx)(`span`,{className:`brain-automation-compact-focus`,title:d,children:d}),t?(0,Z.jsxs)(`button`,{type:`button`,className:`brain-automation-primary-action`,disabled:r,onClick:()=>i(t),children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:cn(t.intent)}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`strong`,{children:K(e,t.labelKey)}),(0,Z.jsx)(`small`,{children:K(e,ln(t.intent))})]}),(0,Z.jsx)(a,{className:`h-4 w-4`,"aria-hidden":`true`})]}):(0,Z.jsx)(`p`,{className:`brain-automation-empty`,children:K(e,`brain.automation.empty`)})]})}return(0,Z.jsxs)(`section`,{className:`brain-memory-automation`,"aria-labelledby":`brain-memory-automation-title`,children:[(0,Z.jsxs)(`div`,{className:`brain-memory-automation-head`,children:[(0,Z.jsx)(`div`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,Z.jsx)(l,{className:`h-5 w-5`})}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:K(e,`brain.automation.kicker`)}),(0,Z.jsx)(`h2`,{id:`brain-memory-automation-title`,children:K(e,`brain.automation.title`)}),(0,Z.jsx)(`p`,{children:K(e,`brain.automation.body`)})]})]}),(0,Z.jsxs)(`div`,{className:`brain-automation-grounding`,children:[(0,Z.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`small`,{children:K(e,`brain.automation.basedOn`)}),(0,Z.jsx)(`strong`,{children:d}),t.focus.empty?null:(0,Z.jsx)(`em`,{children:t.focus.source})]}),u.length?(0,Z.jsx)(`div`,{className:`brain-automation-evidence`,"aria-label":K(e,`brain.brief.evidence.aria`),children:u.map(t=>(0,Z.jsxs)(`span`,{title:K(e,t.detailKey),children:[(0,Z.jsx)(`strong`,{children:t.value}),` `,K(e,t.labelKey)]},t.id))}):null]}),c.length?(0,Z.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,Z.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>i(t),children:[(0,Z.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:cn(t.intent)}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`strong`,{children:K(e,t.labelKey)}),(0,Z.jsx)(`small`,{children:K(e,t.detailKey)})]}),(0,Z.jsx)(`em`,{children:K(e,ln(t.intent))}),(0,Z.jsx)(a,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}):(0,Z.jsx)(`p`,{className:`brain-automation-empty`,children:K(e,`brain.automation.empty`)}),(0,Z.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,Z.jsx)(Te,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.automation.guard`)})]}),n.length?(0,Z.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":K(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,Z.jsxs)(`li`,{"data-status":t.status,children:[(0,Z.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`strong`,{children:K(e,t.labelKey)}),(0,Z.jsx)(`span`,{children:K(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})}function sn({language:e,state:t,concepts:n,relationshipCount:r,onExploreBrain:i}){return(0,Z.jsxs)(`div`,{className:`brain-conversation-trace ${an(t)?`is-active`:``}`,role:`status`,"aria-live":`polite`,children:[(0,Z.jsxs)(`span`,{className:`brain-conversation-trace-source`,children:[(0,Z.jsx)(qe,{className:`h-4 w-4`,"aria-hidden":`true`}),K(e,`brain.flow.conversation`)]}),(0,Z.jsx)(a,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsxs)(`span`,{className:`brain-conversation-trace-memory`,children:[(0,Z.jsx)(F,{className:`h-4 w-4`,"aria-hidden":`true`}),t?K(e,`brain.ingest.stage.${t.stage}.hint`):K(e,`brain.flow.conversation.ready`)]}),(0,Z.jsx)(a,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsxs)(`button`,{type:`button`,onClick:i,children:[(0,Z.jsx)(V,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:n.slice(0,3).map(e=>e.label).join(` · `)||K(e,`brain.flow.graph.empty.short`)}),(0,Z.jsx)(`small`,{children:K(e,`brain.flow.relationships`,{count:r})})]})]})}function cn(e){return e===`delegate`?(0,Z.jsx)(l,{className:`h-4 w-4`}):e===`review`?(0,Z.jsx)(Qe,{className:`h-4 w-4`}):e===`route`?(0,Z.jsx)(V,{className:`h-4 w-4`}):(0,Z.jsx)(qe,{className:`h-4 w-4`})}function ln(e){return e===`delegate`?`brain.automation.intent.delegate`:e===`review`?`brain.automation.intent.review`:e===`route`?`brain.automation.intent.route`:`brain.automation.intent.ask`}function un({memories:e,concepts:t,readiness:n,proof:r,onOpenDepth:i}){let a=ke(e=>e.language),o=e.filter(e=>e.agentGenerated).slice(0,3),s=e.filter(e=>!e.agentGenerated),c=s.slice(0,3),l=s.slice(3,6),u=t.slice(0,4),d=r.proofs.hasDurableEvidence||r.modelContinuity.proven,f=r.recall.items.length>0,p=r.modelContinuity.proven&&r.claims.keepsContextAcrossModels?r.modelContinuity.activeModel||K(a,`brain.proof.noModel`):K(a,`brain.proof.modelPending`);return(0,Z.jsxs)(`section`,{className:`brain-overview-panel`,"aria-label":K(a,`brain.aria.overview`),children:[(0,Z.jsxs)(`div`,{className:`brain-overview-head`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:K(a,`brain.overview.kicker`)}),(0,Z.jsx)(`strong`,{children:K(a,`brain.overview.title`)})]}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>i(5),children:K(a,`brain.overview.graph`)})]}),(0,Z.jsxs)(`div`,{className:`brain-overview-grid`,children:[(0,Z.jsx)(fn,{title:K(a,`brain.overview.agent`),empty:K(a,`brain.overview.agentEmpty`),items:o.map(e=>e.title),featured:o.length>0,onOpen:()=>i(2)}),(0,Z.jsx)(fn,{title:K(a,`brain.overview.recent`),empty:K(a,`brain.overview.recentEmpty`),items:c.map(e=>e.title),onOpen:()=>i(2)}),(0,Z.jsx)(fn,{title:K(a,`brain.overview.older`),empty:K(a,`brain.overview.olderEmpty`),items:l.map(e=>e.title),onOpen:()=>i(2)}),(0,Z.jsx)(fn,{title:K(a,`brain.overview.topics`),empty:K(a,`brain.overview.topicsEmpty`),items:u.map(e=>e.label),onOpen:()=>i(3)})]}),(0,Z.jsxs)(`div`,{className:`brain-readiness-strip`,"data-state":n.state,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:K(a,`brain.readiness.kicker`)}),(0,Z.jsx)(`strong`,{children:K(a,n.titleKey)})]}),(0,Z.jsx)(`div`,{className:`brain-readiness-meter`,"aria-label":K(a,`brain.readiness.aria`),children:(0,Z.jsx)(`i`,{style:{width:`${n.score}%`}})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>i(n.depth),children:K(a,n.actionKey)})]}),(0,Z.jsxs)(`div`,{className:`brain-proof-strip`,"aria-label":K(a,`brain.proof.aria`),children:[(0,Z.jsx)(dn,{icon:(0,Z.jsx)(Ie,{className:`h-4 w-4`}),label:K(a,`brain.proof.context`),value:d?K(a,`brain.proof.contextValue`,{count:r.proofs.durableItems}):K(a,`brain.proof.contextEmpty`)}),(0,Z.jsx)(dn,{icon:(0,Z.jsx)(Xe,{className:`h-4 w-4`}),label:K(a,`brain.proof.model`),value:p}),(0,Z.jsx)(dn,{icon:(0,Z.jsx)(T,{className:`h-4 w-4`}),label:K(a,`brain.proof.store`),value:K(a,`brain.proof.storeValue`,{topics:r.proofs.graphConcepts,vectors:r.proofs.vectorItems})})]}),f?(0,Z.jsxs)(`button`,{type:`button`,className:`brain-recall-proof`,onClick:()=>i(2),children:[(0,Z.jsx)(`span`,{children:K(a,`brain.proof.recall`)}),(0,Z.jsx)(`strong`,{children:r.recall.items[0].title}),(0,Z.jsx)(`small`,{children:r.recall.items[0].snippet||r.recall.query})]}):(0,Z.jsxs)(`div`,{className:`brain-recall-proof is-empty`,role:`status`,children:[(0,Z.jsx)(`span`,{children:K(a,`brain.proof.recallEmpty.kicker`)}),(0,Z.jsx)(`strong`,{children:K(a,d?`brain.proof.recallPending`:`brain.proof.recallEmpty.title`)}),(0,Z.jsx)(`small`,{children:K(a,d?`brain.proof.recallPending.detail`:`brain.proof.recallEmpty.detail`)})]})]})}function dn({icon:e,label:t,value:n}){return(0,Z.jsxs)(`div`,{className:`brain-proof-point`,children:[e,(0,Z.jsx)(`span`,{children:t}),(0,Z.jsx)(`strong`,{children:n})]})}function fn({title:e,empty:t,items:n,featured:r=!1,onOpen:i}){return(0,Z.jsxs)(`button`,{type:`button`,className:`brain-overview-column${r?` is-featured`:``}`,onClick:i,children:[(0,Z.jsx)(`span`,{children:e}),n.length?n.slice(0,3).map(e=>(0,Z.jsx)(`strong`,{children:e},e)):(0,Z.jsx)(`em`,{children:t})]})}var pn={chat:`brain.ingest.type.chat`,file:`brain.ingest.type.file`,folder:`brain.ingest.type.folder`,note:`brain.ingest.type.note`,web:`brain.ingest.type.web`};function mn({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:i,onConnectFolder:a,onIngestNote:o,onIngestWeb:s}){let[c,l]=X.useState(``),[u,d]=X.useState(``),[f,p]=X.useState(``);return(0,Z.jsxs)(`section`,{className:`brain-ingestion-panel`,"aria-label":K(e,`brain.ingest.aria`),children:[(0,Z.jsxs)(`div`,{className:`brain-ingestion-head`,children:[(0,Z.jsx)(`span`,{children:K(e,`brain.ingest.kicker`)}),(0,Z.jsx)(`strong`,{children:K(e,`brain.ingest.title`)})]}),(0,Z.jsxs)(`div`,{className:`brain-ingestion-grid`,children:[(0,Z.jsxs)(`label`,{className:`brain-ingest-tile is-primary ${gn(n.file)} ${t?`is-disabled`:``}`,children:[(0,Z.jsx)(Be,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:t?K(e,`brain.upload.uploading`):K(e,`brain.ingest.file`)}),(0,Z.jsx)(`small`,{children:K(e,`brain.ingest.file.detail`)}),(0,Z.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:t,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&r(t)}}),(0,Z.jsx)(vn,{language:e,state:n.file,ctaKey:`brain.ingest.cta.file`})]}),(0,Z.jsxs)(`form`,{className:`brain-ingest-tile ${gn(n.folder)}`,onSubmit:e=>{e.preventDefault(),a(c),l(``)},children:[(0,Z.jsx)(R,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:K(e,`brain.ingest.folder`)}),(0,Z.jsxs)(`button`,{type:`button`,className:`brain-ingest-folder-picker`,onClick:i,children:[(0,Z.jsx)(z,{className:`h-4 w-4`,"aria-hidden":`true`}),K(e,`capture.local.choose`)]}),(0,Z.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),placeholder:K(e,`brain.ingest.folder.placeholder`)}),(0,Z.jsx)(vn,{language:e,state:n.folder,ctaKey:`brain.ingest.cta.folder`})]}),(0,Z.jsxs)(`form`,{className:`brain-ingest-tile ${gn(n.note)}`,onSubmit:e=>{e.preventDefault(),o(u),d(``)},children:[(0,Z.jsx)(ze,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:K(e,`brain.ingest.note`)}),(0,Z.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:K(e,`brain.ingest.note.placeholder`)}),(0,Z.jsx)(vn,{language:e,state:n.note,ctaKey:`brain.ingest.cta.note`})]}),(0,Z.jsxs)(`form`,{className:`brain-ingest-tile ${gn(n.web)}`,onSubmit:e=>{e.preventDefault(),s(f),p(``)},children:[(0,Z.jsx)(se,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{children:K(e,`brain.ingest.web`)}),(0,Z.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:K(e,`brain.ingest.web.placeholder`)}),(0,Z.jsx)(vn,{language:e,state:n.web,ctaKey:`brain.ingest.cta.web`})]})]})]})}function hn({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:i,onConnectFolder:a,onIngestNote:o,onIngestWeb:s,variant:c=`panel`}){let[l,u]=X.useState(null),[d,f]=X.useState(``),[p,m]=X.useState(``),[h,g]=X.useState(``),_=X.useId(),v=e=>{u(t=>t===e?null:e)},y=e=>{if(e===`folder`){if(!d.trim())return;a(d),f(``)}else if(e===`note`){if(!p.trim())return;o(p),m(``)}else{if(!h.trim())return;s(h),g(``)}u(null)};return(0,Z.jsxs)(`section`,{className:`brain-ingestion-dock${c===`inline`?` is-inline`:``}`,"data-testid":`brain-ingestion-dock`,"aria-label":K(e,`brain.ingest.aria`),onKeyDown:e=>{e.key===`Escape`&&u(null)},children:[c===`inline`?null:(0,Z.jsxs)(`div`,{className:`brain-ingestion-dock-head`,children:[(0,Z.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(`small`,{children:K(e,`brain.ingest.kicker`)}),(0,Z.jsx)(`strong`,{children:K(e,`brain.ingest.dock.title`)})]})]}),(0,Z.jsxs)(`div`,{className:`brain-ingestion-dock-actions`,children:[(0,Z.jsxs)(`label`,{className:`brain-ingestion-dock-action ${gn(n.file)} ${t?`is-disabled`:``}`,children:[(0,Z.jsx)(Be,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.ingest.type.file`)}),(0,Z.jsx)(`i`,{"aria-hidden":`true`}),(0,Z.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:t,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&r(t)}})]}),[[`folder`,z],[`note`,ze],[`web`,se]].map(([t,r])=>(0,Z.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-action ${gn(n[t])}`,"aria-expanded":l===t,"aria-controls":l===t?_:void 0,onClick:()=>v(t),children:[(0,Z.jsx)(r,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.ingest.type.${t}`)}),(0,Z.jsx)(`i`,{"aria-hidden":`true`})]},t))]}),l?(0,Z.jsxs)(`div`,{id:_,className:`brain-ingestion-dock-popover`,children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsx)(`span`,{children:K(e,`brain.ingest.${l}`)}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":K(e,`brain.ingest.dock.close`),onClick:()=>u(null),children:(0,Z.jsx)(U,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),l===`folder`?(0,Z.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-picker`,onClick:i,children:[(0,Z.jsx)(z,{className:`h-4 w-4`,"aria-hidden":`true`}),K(e,`capture.local.choose`)]}):null,(0,Z.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),y(l)},children:[(0,Z.jsx)(`input`,{autoFocus:!0,value:l===`folder`?d:l===`note`?p:h,onChange:e=>{l===`folder`?f(e.target.value):l===`note`?m(e.target.value):g(e.target.value)},placeholder:K(e,`brain.ingest.${l}.placeholder`),"aria-label":K(e,`brain.ingest.${l}.placeholder`)}),(0,Z.jsx)(`button`,{type:`submit`,"aria-label":K(e,`brain.action.add`),children:(0,Z.jsx)(Me,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,Z.jsx)(vn,{language:e,state:n[l],ctaKey:`brain.ingest.cta.${l}`})]}):null]})}function gn(e){return e?e.stage===`error`?`is-failed`:e.stage===`complete`?`is-emerged`:`is-ingesting`:``}var _n={preparing:`brain.ingest.stage.preparing.hint`,parsing:`brain.ingest.stage.parsing.hint`,embedding:`brain.ingest.stage.embedding.hint`,indexing:`brain.ingest.stage.indexing.hint`,complete:`brain.ingest.stage.complete.hint`,error:`brain.ingest.stage.error`};function vn({language:e,state:t,ctaKey:n}){if(!t)return(0,Z.jsx)(`small`,{className:`brain-ingest-cta`,children:K(e,n)});let r=t.stage===`error`,i=t.stage===`complete`,a=t.newMemories>0||t.newEntities>0;return(0,Z.jsxs)(`div`,{className:`brain-ingest-progress`,role:`status`,"aria-live":`polite`,"aria-label":K(e,`brain.ingest.progress.aria`,{label:t.label}),children:[(0,Z.jsx)(`div`,{className:`brain-ingest-stage-badges`,"aria-hidden":`true`,children:(0,Z.jsxs)(`span`,{className:`brain-ingest-stage-badge ${r?`is-failed`:i?`is-done`:`is-active`}`,children:[!r&&!i?(0,Z.jsx)(ie,{className:`h-3 w-3 brain-ingest-spin`}):null,K(e,`brain.ingest.stage.${t.stage}`)]})}),(0,Z.jsx)(`small`,{className:`brain-ingest-stage-hint ${r?`is-failed`:i?`is-emerged`:``}`,children:r?K(e,`brain.ingest.stage.error`):i?a?K(e,`brain.ingest.result`,{memories:t.newMemories,entities:t.newEntities}):K(e,`brain.ingest.result.empty`):K(e,_n[t.stage])}),i&&a?(0,Z.jsxs)(`span`,{className:`lattice-inflow`,"aria-hidden":`true`,children:[(0,Z.jsx)(`i`,{}),(0,Z.jsx)(`i`,{}),(0,Z.jsx)(`i`,{})]}):null,i?(0,Z.jsx)(yn,{language:e,state:t}):null]})}function yn({language:e,state:t}){let n=t.extraction;if(!n||n.level!==`low`)return null;let r=n.warnings.slice(0,3);return(0,Z.jsxs)(`div`,{className:`brain-ingest-quality-note`,role:`note`,"data-testid":`extraction-quality-note`,children:[(0,Z.jsx)(`p`,{children:K(e,`brain.ingest.quality.low`)}),r.length?(0,Z.jsx)(`ul`,{children:r.map(e=>(0,Z.jsx)(`li`,{children:e},e))}):null]})}function bn(e,t,n){let r=Math.floor((n-t)/6e4);return r<1?K(e,`brain.timeline.justNow`):K(e,`brain.timeline.minutesAgo`,{count:r})}function xn({language:e,emergenceEvents:t}){let n=Date.now();return(0,Z.jsxs)(`section`,{className:`brain-emergence-timeline`,"aria-label":K(e,`brain.timeline.aria`),"aria-live":`polite`,children:[(0,Z.jsxs)(`div`,{className:`brain-emergence-head`,children:[(0,Z.jsx)(F,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`strong`,{children:K(e,`brain.timeline.emergenceTitle`)}),(0,Z.jsx)(`span`,{children:K(e,`brain.timeline.recent`)})]}),t.length===0?(0,Z.jsx)(`p`,{className:`brain-emergence-empty`,children:K(e,`brain.timeline.empty`)}):(0,Z.jsx)(`ol`,{className:`brain-emergence-list`,children:t.map(t=>(0,Z.jsxs)(`li`,{className:`brain-emergence-item`,children:[(0,Z.jsx)(`span`,{className:`brain-emergence-type`,children:K(e,pn[t.sourceType])}),(0,Z.jsx)(`span`,{className:`brain-emergence-label`,children:t.label}),(0,Z.jsxs)(`span`,{className:`brain-emergence-counts`,children:[(0,Z.jsx)(`strong`,{children:K(e,`brain.timeline.newMemories`,{count:t.newMemories})}),(0,Z.jsx)(`strong`,{children:K(e,`brain.timeline.newEntities`,{count:t.newEntities})})]}),(0,Z.jsx)(`time`,{className:`brain-emergence-at`,children:bn(e,t.at,n)})]},t.id))})]})}function Sn({language:e,brainState:t,intensity:n,readiness:r,memories:i,concepts:a,relationshipCount:o,onExploreBrain:s,onOpenDepth:l}){let[u,d]=X.useState(null),f=X.useMemo(()=>{let e=i.filter(e=>e.kind===`Conversation`),t=i.filter(e=>e.kind!==`Conversation`).sort((e,t)=>Number(t.agentGenerated)-Number(e.agentGenerated));return[{id:`now`,depth:1,labelKey:`brain.rings.1`,emptyKey:`brain.rings.empty.now`,position:`top`,count:e.length,items:e.slice(0,3).map(e=>e.title)},{id:`memories`,depth:2,labelKey:`brain.rings.2`,emptyKey:`brain.rings.empty.memories`,position:`left`,count:t.length,items:t.slice(0,3).map(e=>e.title)},{id:`topics`,depth:3,labelKey:`brain.rings.3`,emptyKey:`brain.rings.empty.topics`,position:`bottom`,count:a.length,items:a.slice(0,3).map(e=>e.label)},{id:`graph`,depth:5,labelKey:`brain.rings.5`,emptyKey:`brain.rings.empty.graph`,position:`right`,count:o,items:[]}]},[i,a,o]);X.useEffect(()=>{if(u===null)return;let e=e=>{e.key===`Escape`&&d(null)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u]);let p=f.find(e=>e.id===u)??null;return(0,Z.jsxs)(`div`,{className:`brain-rings`,"aria-label":K(e,`brain.rings.aria`),children:[(0,Z.jsxs)(`div`,{className:`brain-concentric-container`,children:[(0,Z.jsx)(`div`,{className:`brain-orbit-field`,"aria-hidden":`true`,children:f.map((e,t)=>(0,Z.jsx)(`div`,{className:`brain-concentric-ring ring-${t+1} ${e.count>0?`is-populated`:`is-dormant`}`},e.id))}),f.map(t=>(0,Z.jsxs)(`button`,{type:`button`,className:`ring-label ring-label-${t.position} ${t.count>0?`is-populated`:``} ${u===t.id?`is-active`:``}`,"aria-expanded":u===t.id,"aria-controls":`brain-ring-peek`,"aria-label":K(e,`brain.rings.peek.aria`,{label:K(e,t.labelKey),count:t.count}),onClick:()=>d(e=>e===t.id?null:t.id),children:[K(e,t.labelKey),(0,Z.jsx)(`em`,{children:t.count})]},t.id)),(0,Z.jsx)(`div`,{className:`brain-center-orb`,children:(0,Z.jsx)(c,{state:t,intensity:n,size:`large`,depth:r.depth||Math.max(1,Math.floor(r.score/20)),showLabel:!1,className:`brain-home-presence`,onInteract:s})})]}),p?(0,Z.jsxs)(`section`,{id:`brain-ring-peek`,className:`brain-ring-peek`,"aria-label":K(e,`brain.rings.peek.title`,{label:K(e,p.labelKey)}),children:[(0,Z.jsxs)(`header`,{children:[(0,Z.jsx)(`strong`,{children:K(e,p.labelKey)}),(0,Z.jsx)(`span`,{children:K(e,`brain.rings.count`,{count:p.count})}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>d(null),"aria-label":K(e,`brain.rings.close`),children:`×`})]}),p.items.length?(0,Z.jsx)(`ul`,{children:p.items.map(e=>(0,Z.jsx)(`li`,{children:e},e))}):(0,Z.jsx)(`p`,{children:K(e,p.count>0?`brain.rings.peek.summary`:p.emptyKey,{count:p.count})}),(0,Z.jsx)(`button`,{type:`button`,className:`brain-ring-peek-deeper`,onClick:()=>l(p.depth),children:K(e,`brain.rings.deeper`)})]}):null]})}function Cn({language:e}){let t=K(e,`brain.noModel.banner`);return(0,Z.jsxs)(`div`,{className:`brain-model-missing`,role:`note`,"aria-label":t,title:t,children:[(0,Z.jsx)(oe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`brain-model-missing-text`,children:K(e,`brain.noModel.pill`)}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>Ee(`/models`),children:[K(e,`brain.noModel.cta`),(0,Z.jsx)(a,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]})]})}function wn(e,t){if(!t)return``;let n=e===`ko`?`ko-KR`:`en-US`,r=new Date(t),i=new Date;return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()&&r.getDate()===i.getDate()?r.toLocaleTimeString(n,{hour:`2-digit`,minute:`2-digit`}):r.toLocaleDateString(n,{month:`short`,day:`numeric`})}var Tn=5,En=20;function Dn({language:e,items:t,busyId:n,onResume:r,onDelete:i}){let[a,o]=X.useState(null),[s,c]=X.useState(!1),l=t.slice(0,s?En:Tn),u=Math.min(t.length,En)-Tn;return l.length?(0,Z.jsxs)(`section`,{className:`brain-history-panel`,"aria-label":K(e,`brain.history.aria`),children:[(0,Z.jsxs)(`div`,{className:`brain-history-head`,children:[(0,Z.jsx)(we,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`strong`,{children:K(e,`brain.history.title`)}),(0,Z.jsx)(`span`,{children:K(e,`brain.history.hint`)})]}),(0,Z.jsx)(`ul`,{className:`brain-history-list`,children:l.map(t=>{let s=n===t.id,c=a===t.id;return(0,Z.jsxs)(`li`,{className:`brain-history-item${s?` is-busy`:``}`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`brain-history-resume`,disabled:s,"aria-label":K(e,`brain.history.resumeAria`,{title:t.title}),onClick:()=>r(t.id),children:[s?(0,Z.jsx)(ie,{className:`h-3.5 w-3.5 brain-ingest-spin`,"aria-hidden":`true`}):null,(0,Z.jsx)(`span`,{className:`brain-history-title`,children:t.title}),(0,Z.jsxs)(`small`,{children:[K(e,`brain.history.messages`,{count:t.messageCount}),t.updatedAt?` · ${wn(e,t.updatedAt)}`:``]})]}),(0,Z.jsxs)(`button`,{type:`button`,className:`brain-history-delete${c?` is-confirming`:``}`,disabled:s,"aria-label":c?K(e,`brain.history.deleteConfirm`):K(e,`brain.history.deleteAria`,{title:t.title}),onClick:()=>{c?(o(null),i(t.id)):o(t.id)},onBlur:()=>o(e=>e===t.id?null:e),children:[(0,Z.jsx)(nt,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),c?(0,Z.jsx)(`span`,{children:K(e,`brain.history.deleteConfirm`)}):null]})]},t.id)})}),u>0?(0,Z.jsx)(`button`,{type:`button`,className:`brain-history-more`,"aria-expanded":s,onClick:()=>c(e=>!e),children:s?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Pe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),K(e,`brain.history.showLess`)]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ve,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),K(e,`brain.history.showMore`,{count:u})]})}):null]}):null}function On(e,t){if(e.id===`ask_brain`){Se();return}if(e.id===`verify_model`){t();return}e.route&&Ee(e.route)}function kn({language:e,brief:t,showEvidence:n=!0,onAction:r}){let i=t.focus.title||K(e,`brain.brief.focus.empty`),a=t.focus.detail||K(e,`brain.brief.focus.empty.detail`),o=t.nextActions.slice(0,3);return(0,Z.jsxs)(`section`,{className:`brain-brief-panel`,"aria-label":K(e,`brain.brief.aria`),children:[(0,Z.jsxs)(`div`,{className:`brain-brief-copy`,children:[(0,Z.jsx)(`span`,{children:K(e,`brain.brief.kicker`)}),(0,Z.jsx)(`strong`,{children:K(e,t.headlineKey)}),(0,Z.jsx)(`p`,{children:K(e,t.bodyKey,{focus:i})})]}),(0,Z.jsxs)(`div`,{className:`brain-brief-focus`,children:[(0,Z.jsx)(F,{className:`h-4 w-4`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:K(e,`brain.brief.focus`)}),(0,Z.jsx)(`strong`,{children:i}),(0,Z.jsx)(`small`,{children:a})]})]}),n?(0,Z.jsx)(`div`,{className:`brain-brief-evidence`,"aria-label":K(e,`brain.brief.evidence.aria`),children:t.evidence.slice(0,3).map(t=>(0,Z.jsxs)(`span`,{title:K(e,t.detailKey),children:[(0,Z.jsx)(`strong`,{children:t.value}),K(e,t.labelKey)]},t.id))}):null,o.length?(0,Z.jsx)(`div`,{className:`brain-brief-actions`,"aria-label":K(e,`brain.brief.actions`),children:o.map(t=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(t),children:[An(t.id),(0,Z.jsx)(`span`,{children:K(e,t.labelKey)}),(0,Z.jsx)(`small`,{children:K(e,t.detailKey)})]},t.id))}):null]})}function An(e){return e===`add_source`?(0,Z.jsx)(Be,{className:`h-4 w-4`}):e===`inspect_topics`?(0,Z.jsx)(pe,{className:`h-4 w-4`}):e===`verify_model`?(0,Z.jsx)(Xe,{className:`h-4 w-4`}):e===`backup_brain`?(0,Z.jsx)(ce,{className:`h-4 w-4`}):(0,Z.jsx)(a,{className:`h-4 w-4`})}function jn({language:e,proof:t,modelName:n,onVerify:r}){return(0,Z.jsxs)(`section`,{className:`brain-model-demo`,"aria-label":K(e,`brain.modelDemo.aria`),children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`span`,{children:K(e,`brain.modelDemo.kicker`)}),(0,Z.jsx)(`strong`,{children:t.modelContinuity.proven?K(e,`brain.modelDemo.proven`):K(e,`brain.modelDemo.pending`)}),(0,Z.jsx)(`small`,{children:K(e,`brain.modelDemo.detail`,{model:t.modelContinuity.activeModel||n})})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:r,children:[(0,Z.jsx)(Xe,{className:`h-3.5 w-3.5`}),K(e,`brain.modelDemo.verify`)]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>Ee(`/models`),children:[(0,Z.jsx)(oe,{className:`h-3.5 w-3.5`}),K(e,`brain.modelDemo.change`)]})]})}var Mn={conversations:`brain.dock.tab.conversations`,stats:`brain.dock.tab.stats`,map:`brain.dock.tab.map`,features:`brain.dock.tab.features`},Nn={conversations:we,stats:Ne,map:V,features:et};function Pn({language:e,brainState:t,intensity:n,readiness:r,memories:i,concepts:a,relationshipCount:o,emergenceEvents:s,proactiveActivities:c,pastConversations:l,historyBusyId:u,streaming:d,modelName:f,proof:p,brief:m,onOpenDepth:h,onExploreBrain:g,onVerifyModelContinuity:v,onProactiveAction:y,onResumeConversation:b,onDeleteConversation:x,onRequestDetails:S}){let C=ke(e=>e.mode)===`basic`,[w,T]=X.useState(null),E=w!==null,D=ge(()=>{let e=document.getElementById(`brain-ring-peek`);if(e){e.querySelector(`header button`)?.click();return}T(null)},E),O=e=>{e!==`conversations`&&e!==`features`&&S(),T(t=>t===e&&E?null:e)},k=[`conversations`,`stats`,`map`,`features`];return(0,Z.jsxs)(`div`,{className:`brain-home-dock`,"data-testid":`brain-home-dock`,children:[(0,Z.jsx)(`div`,{className:`brain-home-dock-rail`,role:`group`,"aria-label":K(e,`brain.dock.aria`),children:k.map(t=>{let n=Nn[t];return(0,Z.jsxs)(`button`,{type:`button`,className:t===`conversations`?`is-continuity`:void 0,"data-testid":`brain-dock-${t}`,"aria-expanded":E&&w===t,onClick:()=>O(t),children:[(0,Z.jsx)(n,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,Mn[t])}),t===`conversations`&&l.length?(0,Z.jsx)(`small`,{className:`brain-dock-count`,children:l.length}):null]},t)})}),E?(0,Yt.createPortal)((0,Z.jsxs)(`div`,{className:`brain-home-dock-layer`,children:[(0,Z.jsx)(`div`,{className:`brain-home-dock-scrim`,"aria-hidden":`true`,onClick:()=>T(null)}),(0,Z.jsxs)(`aside`,{ref:D,className:`brain-home-drawer`,role:`dialog`,"aria-modal":`true`,"aria-label":K(e,`brain.dock.drawerAria`),"data-testid":`brain-home-drawer`,children:[(0,Z.jsxs)(`header`,{className:`brain-home-drawer-head`,children:[(0,Z.jsx)(`div`,{className:`brain-home-drawer-tabs`,role:`group`,"aria-label":K(e,`brain.dock.aria`),children:k.map(t=>(0,Z.jsx)(`button`,{type:`button`,"aria-pressed":w===t,className:w===t?`is-active`:``,"data-testid":`brain-drawer-tab-${t}`,onClick:()=>O(t),children:K(e,Mn[t])},t))}),(0,Z.jsx)(`button`,{type:`button`,className:`brain-home-drawer-close`,"aria-label":K(e,`brain.home.shelf.close`),onClick:()=>T(null),children:(0,Z.jsx)(U,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,Z.jsxs)(`div`,{className:`brain-home-drawer-body`,children:[w===`conversations`?(0,Z.jsx)(Dn,{language:e,items:l,busyId:u,onResume:b,onDelete:x}):null,w===`stats`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(on,{language:e,brief:m,activities:c,streaming:d,onAction:y}),(0,Z.jsx)(kn,{language:e,brief:m,showEvidence:!C,onAction:e=>On(e,v)}),C?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(xn,{language:e,emergenceEvents:s}),(0,Z.jsx)(jn,{language:e,proof:p,modelName:f,onVerify:v}),(0,Z.jsx)(un,{memories:i,concepts:a,readiness:r,proof:p,onOpenDepth:h})]}),(0,Z.jsx)(Gt,{language:e,variant:`home`}),(0,Z.jsx)(_,{language:e}),(0,Z.jsx)(te,{language:e}),(0,Z.jsx)(Kt,{language:e}),(0,Z.jsx)(It,{language:e}),(0,Z.jsx)(Et,{language:e})]}):null,w===`map`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Sn,{language:e,brainState:t,intensity:n,readiness:r,memories:i,concepts:a,relationshipCount:o,onExploreBrain:g,onOpenDepth:h}),(0,Z.jsx)(Vt,{language:e}),(0,Z.jsxs)(`button`,{type:`button`,className:`brain-home-drawer-map-cta`,onClick:g,children:[(0,Z.jsx)(V,{className:`h-4 w-4`,"aria-hidden":`true`}),K(e,`brain.hero.stats.mapCta`)]})]}):null,w===`features`?(0,Z.jsx)(Xt,{language:e}):null]})]})]}),document.body):null]})}var Fn=X.memo(function({language:e,brainState:t,intensity:n,readiness:r,memories:i,graph:a,relationshipCount:o,onExploreBrain:s,trailing:l}){let u=Math.max(r.signals.memoryCount,i.length),d=Math.max(r.signals.conceptCount,a.nodes.length),f=u===0&&d===0;return(0,Z.jsxs)(`section`,{className:`brain-hero`,"data-testid":`brain-knowledge-flow`,"aria-labelledby":`brain-home-title`,children:[(0,Z.jsxs)(`div`,{className:`brain-hero-organism`,"data-growth":r.state,"data-testid":`brain-hero-organism`,children:[(0,Z.jsx)(`i`,{className:`brain-growth-ring is-inner`,"aria-hidden":`true`}),(0,Z.jsx)(`i`,{className:`brain-growth-ring is-mid`,"aria-hidden":`true`}),(0,Z.jsx)(`i`,{className:`brain-growth-ring is-outer`,"aria-hidden":`true`}),(0,Z.jsx)(`div`,{className:`brain-hero-orb`,children:(0,Z.jsx)(c,{state:t,intensity:n,size:`normal`,depth:r.depth,showLabel:!1,onInteract:s})})]}),(0,Z.jsx)(`p`,{className:`brain-hero-growing`,children:K(e,`brain.home.growing`)}),(0,Z.jsxs)(`div`,{className:`brain-hero-header-text`,children:[(0,Z.jsx)(`h1`,{id:`brain-home-title`,children:K(e,`brain.home.askTitle`)}),f?(0,Z.jsx)(`p`,{className:`brain-hero-line`,children:K(e,`brain.hero.empty`)}):(0,Z.jsxs)(`p`,{className:`brain-hero-line`,children:[K(e,`brain.hero.line`),(0,Z.jsx)(In,{language:e,memories:u,concepts:d,relationships:o,onExploreBrain:s})]})]}),l?(0,Z.jsx)(`div`,{className:`brain-hero-trailing`,children:l}):null]})});function In({language:e,memories:t,concepts:n,relationships:r,onExploreBrain:i}){let[a,o]=X.useState(!1),s=X.useRef(null),c=X.useRef(null),l=X.useId(),u=X.useRef(0),d=()=>{c.current!==null&&(window.clearTimeout(c.current),c.current=null)},f=()=>{d(),c.current=window.setTimeout(()=>o(!1),160)};X.useEffect(()=>{if(!a)return;let e=e=>{let t=e.target;t&&s.current?.contains(t)||o(!1)};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`focusin`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`focusin`,e,!0)}},[a]),X.useEffect(()=>d,[]);let p=[{key:`memories`,label:K(e,`brain.hero.stats.memories`),value:t,tone:`is-memory`},{key:`concepts`,label:K(e,`brain.hero.stats.concepts`),value:n,tone:`is-knowledge`},{key:`relationships`,label:K(e,`brain.hero.stats.relationships`),value:r,tone:`is-core`}],m=Math.max(1,...p.map(e=>e.value));return(0,Z.jsxs)(`span`,{ref:s,className:`brain-hero-stats`,"data-testid":`brain-hero-stats`,onPointerEnter:e=>{e.pointerType===`mouse`&&(d(),o(e=>(e||(u.current=Date.now()),!0)))},onPointerLeave:e=>{e.pointerType===`mouse`&&f()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),o(!1))},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`brain-hero-stats-badge`,"aria-expanded":a,"aria-controls":a?l:void 0,"aria-label":K(e,`brain.hero.stats.aria`,{memories:t,concepts:n}),onClick:()=>{o(e=>e?Date.now()-u.current<350:(u.current=Date.now(),!0))},children:[(0,Z.jsxs)(`span`,{className:`brain-hero-stat`,children:[K(e,`brain.hero.stats.memories`),` `,(0,Z.jsx)(`strong`,{children:t})]}),(0,Z.jsx)(`i`,{"aria-hidden":`true`}),(0,Z.jsxs)(`span`,{className:`brain-hero-stat`,children:[K(e,`brain.hero.stats.concepts`),` `,(0,Z.jsx)(`strong`,{children:n})]})]}),a?(0,Z.jsxs)(`span`,{id:l,className:`brain-hero-stats-popover`,role:`group`,"aria-label":K(e,`brain.hero.stats.popoverAria`),"data-testid":`brain-hero-stats-popover`,children:[(0,Z.jsx)(`strong`,{className:`brain-hero-stats-title`,children:K(e,`brain.hero.stats.title`)}),(0,Z.jsx)(`span`,{className:`brain-hero-stats-graph`,"aria-hidden":`true`,children:p.map(e=>(0,Z.jsxs)(`span`,{className:`brain-hero-stats-row`,children:[(0,Z.jsx)(`span`,{className:`brain-hero-stats-label`,children:e.label}),(0,Z.jsx)(`span`,{className:`brain-hero-stats-track`,children:(0,Z.jsx)(`span`,{className:`brain-hero-stats-fill ${e.tone}`,style:{width:`${Math.max(6,Math.round(e.value/m*100))}%`}})}),(0,Z.jsx)(`span`,{className:`brain-hero-stats-value`,children:e.value})]},e.key))}),(0,Z.jsx)(`span`,{className:`brain-hero-stats-hint`,children:K(e,`brain.hero.hint`)}),(0,Z.jsxs)(`button`,{type:`button`,className:`brain-hero-stats-cta`,onClick:i,children:[(0,Z.jsx)(Ge,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),K(e,`brain.hero.stats.mapCta`)]})]}):null]})}var Ln={low:`is-low`,medium:`is-medium`,high:`is-high`};function Rn({language:e}){let t=r(),[n,a]=X.useState(null),o=W({queryKey:[`permissionMode`],queryFn:J.permissionMode}),s=i({mutationFn:e=>J.setPermissionMode(e.mode,e.ack),onSuccess:e=>{e.ok&&(t.invalidateQueries({queryKey:[`permissionMode`]}),a(null))}}),c=o.data?.ok?o.data.data:void 0,l=c?.catalog??[],u=c?.mode??``,d=l.find(e=>e.id===n);function f(e){if(e.id!==u){if(e.requires_ack){a(e.id);return}a(null),s.mutate({mode:e.id,ack:!1})}}return(0,Z.jsxs)(`div`,{className:`brain-quick-controls`,"data-testid":`brain-quick-controls`,children:[l.length?(0,Z.jsxs)(`div`,{className:`brain-quick-dial`,role:`radiogroup`,"aria-label":K(e,`system.permission.title`),children:[(0,Z.jsx)(`span`,{className:`brain-quick-label`,children:K(e,`system.permission.title`)}),(0,Z.jsx)(`div`,{className:`brain-quick-segments`,children:l.map(t=>(0,Z.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t.id===u,className:t.id===u?`is-active`:``,"data-testid":`quick-mode-${t.id}`,title:fe(t,e),disabled:s.isPending,onClick:()=>f(t),children:[(0,Z.jsx)(`i`,{className:`brain-quick-dot ${Ln[t.risk]||`is-medium`}`,"aria-hidden":`true`}),H(t,e)]},t.id))})]}):null,d?(0,Z.jsxs)(`div`,{className:`brain-quick-confirm`,role:`alertdialog`,"data-testid":`quick-mode-confirm`,children:[(0,Z.jsx)(me,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`p`,{children:de(d,e)}),(0,Z.jsx)(`button`,{type:`button`,className:`is-primary`,"data-testid":`quick-mode-confirm-apply`,disabled:s.isPending,onClick:()=>s.mutate({mode:d.id,ack:!0}),children:H(d,e)}),(0,Z.jsx)(`button`,{type:`button`,onClick:()=>a(null),children:K(e,`ui.cancel`)})]}):null,s.data&&!s.data.ok?(0,Z.jsx)(`p`,{className:`brain-quick-error`,role:`status`,children:s.data.error||K(e,`ui.requestUnavailable`)}):null]})}function zn({language:e,cloudAnswer:t}){let n=t.model?K(e,`brain.cloud.chip.model`,{model:t.model}):K(e,`brain.cloud.chip`),r=t.expansion?.stagedForReview&&t.expansion.candidateCount>0?K(e,`brain.cloud.detail`,{nodes:t.sentNodeCount,proposals:t.expansion.candidateCount}):K(e,`brain.cloud.detail.nodes`,{nodes:t.sentNodeCount});return(0,Z.jsxs)(`details`,{className:`brain-cloud-answer`,"data-testid":`cloud-answer-chip`,children:[(0,Z.jsxs)(`summary`,{className:`brain-cloud-answer-chip`,"aria-label":K(e,`brain.cloud.chip.expandAria`),children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:n}),(0,Z.jsx)(`span`,{className:`sr-only`,children:K(e,`brain.cloud.chip.aria`)})]}),(0,Z.jsx)(`p`,{className:`brain-cloud-answer-detail`,children:r})]})}function Bn(e=0){let t=document.getElementById(`network-boundary-panel`);if(t){t.scrollIntoView({behavior:`smooth`,block:`start`});return}e<8&&window.setTimeout(()=>Bn(e+1),50)}function Vn(){Ee(`/settings`),Bn()}function Hn({language:e}){let t=q(e=>e.preferLocalOnly),n=q(e=>e.setPreferLocalOnly),r=W({queryKey:[`networkBoundary`],queryFn:J.networkBoundary});return r.data?.ok&&r.data.data.allows_cloud?(0,Z.jsxs)(`div`,{className:`brain-cloud-hint`,"data-testid":`cloud-boundary-hint`,children:[(0,Z.jsx)(`button`,{type:`button`,className:`brain-cloud-hint-link`,"data-testid":`cloud-boundary-allowed`,"aria-label":K(e,`brain.cloud.allowed.aria`),onClick:Vn,children:K(e,`brain.cloud.allowed`)}),(0,Z.jsxs)(`label`,{className:`brain-cloud-hint-toggle`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,"data-testid":`cloud-local-only-toggle`,checked:t,onChange:e=>n(e.target.checked),"aria-label":K(e,`brain.cloud.localOnly.aria`)}),K(e,`brain.cloud.localOnly`)]})]}):null}var Un=new Set([`html`,`htm`,`md`,`markdown`,`txt`,`json`,`css`,`js`,`csv`,`py`,`yaml`,`yml`,`xml`,`sql`,`sh`]);function Wn(e){let t=e.lastIndexOf(`.`);return t>=0?e.slice(t+1).toLowerCase():``}function Gn(e){return typeof e.previewable==`boolean`?e.previewable:Un.has(Wn(e.filename))}function Kn(e){let t=Wn(e);return t===`html`||t===`htm`?`html`:t===`md`||t===`markdown`?`markdown`:t===`json`?`json`:`text`}var qn=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:;">`;function Jn(e){return/<head[^>]*>/i.test(e)?e.replace(/<head[^>]*>/i,e=>`${e}${qn}`):`${qn}${e}`}function Yn(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function Xn({language:e,file:t,onClose:n}){let r=ge(n),[i,a]=X.useState({status:`loading`}),[o,s]=X.useState(!1),c=Kn(t.filename);X.useEffect(()=>{let e=!1;return J.readWorkspaceFile(t.path).then(t=>{e||(t.ok?a({status:`ready`,content:t.data.content}):a({status:`error`,reason:t.error||String(t.status||``)}))}),()=>{e=!0}},[t.path]);async function l(){o||(s(!0),await J.downloadWorkspaceFile(t.path,t.filename),s(!1))}return(0,Z.jsx)(`div`,{className:`file-preview-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,Z.jsxs)(`div`,{ref:r,className:`file-preview-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":K(e,`brain.preview.aria`,{name:t.filename}),"data-testid":`file-preview-modal`,children:[(0,Z.jsxs)(`header`,{className:`file-preview-head`,children:[(0,Z.jsx)(`strong`,{className:`file-preview-name`,children:t.filename}),(0,Z.jsxs)(`div`,{className:`file-preview-actions`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>void l(),disabled:o,children:[(0,Z.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),o?K(e,`brain.files.downloading`):K(e,`brain.files.download`)]}),(0,Z.jsx)(`button`,{type:`button`,className:`file-preview-close`,"aria-label":K(e,`brain.preview.close`),onClick:n,children:(0,Z.jsx)(U,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]}),(0,Z.jsx)(`div`,{className:`file-preview-body`,children:i.status===`loading`?(0,Z.jsx)(`p`,{className:`file-preview-note`,role:`status`,children:K(e,`brain.preview.loading`)}):i.status===`error`?(0,Z.jsx)(`p`,{className:`file-preview-note is-error`,role:`alert`,children:K(e,`brain.preview.error`,{reason:i.reason})}):c===`html`?(0,Z.jsx)(`iframe`,{className:`file-preview-frame`,sandbox:``,title:K(e,`brain.preview.aria`,{name:t.filename}),srcDoc:Jn(i.content)}):c===`markdown`?(0,Z.jsx)(`div`,{className:`file-preview-markdown`,"data-testid":`file-preview-markdown`,children:(0,Z.jsx)(Zn,{language:e,content:i.content})}):(0,Z.jsx)(`pre`,{className:`file-preview-code`,"data-testid":`file-preview-code`,children:c===`json`?Yn(i.content):i.content})}),c===`html`?(0,Z.jsxs)(`footer`,{className:`file-preview-foot`,role:`note`,children:[(0,Z.jsx)(Te,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),K(e,`brain.preview.sandboxNote`)]}):null]})})}function Zn({language:e,content:t}){return(0,Z.jsx)(Z.Fragment,{children:X.useMemo(()=>tr(t),[t]).map((t,n)=>t.kind===`code`?(0,Z.jsx)(ir,{language:e,code:t.value,lang:t.lang},n):t.value.trim()?(0,Z.jsx)(er,{value:t.value},n):null)})}function Qn(e){let t=[],n=[],r=()=>{n.length&&(t.push({kind:`paragraph`,lines:n}),n=[])};for(let i of e.split(`
|
|
2
|
-
`)){let e=i.trim();if(!e){r();continue}let a=/^(#{1,4})\s+(.+)$/.exec(e);if(a){r(),t.push({kind:`heading`,depth:a[1].length,text:a[2]});continue}let o=/^[-*•]\s+(.+)$/.exec(e);if(o){r();let e=t[t.length-1];e?.kind===`list`&&!e.ordered?e.items.push(o[1]):t.push({kind:`list`,ordered:!1,items:[o[1]]});continue}let s=/^\d+[.)]\s+(.+)$/.exec(e);if(s){r();let e=t[t.length-1];e?.kind===`list`&&e.ordered?e.items.push(s[1]):t.push({kind:`list`,ordered:!0,items:[s[1]]});continue}let c=/^>\s?(.*)$/.exec(e);if(c){r();let e=t[t.length-1];e?.kind===`quote`?e.lines.push(c[1]):t.push({kind:`quote`,lines:[c[1]]});continue}if(/^([-_*])\1{2,}$/.test(e)){r();continue}n.push(e)}return r(),t}function $n(e){let t=/(\*\*[^*]+\*\*|`[^`]+`|\[[^\]]+\]\(https?:\/\/[^)\s]+\))/g,n=[],r=0,i=0;for(let a=t.exec(e);a;a=t.exec(e)){a.index>r&&n.push(e.slice(r,a.index));let t=a[0];if(t.startsWith(`**`))n.push((0,Z.jsx)(`strong`,{children:t.slice(2,-2)},i++));else if(t.startsWith("`"))n.push((0,Z.jsx)(`code`,{children:t.slice(1,-1)},i++));else{let e=/^\[([^\]]+)\]\((https?:\/\/[^)\s]+)\)$/.exec(t);e?n.push((0,Z.jsx)(`a`,{href:e[2],target:`_blank`,rel:`noreferrer noopener`,children:e[1]},i++)):n.push(t)}r=a.index+t.length}return r<e.length&&n.push(e.slice(r)),n}function er({value:e}){return(0,Z.jsx)(`div`,{className:`brain-md`,children:X.useMemo(()=>Qn(e),[e]).map((e,t)=>{if(e.kind===`heading`)return(0,Z.jsx)(`p`,{className:`brain-md-heading is-depth-${Math.min(e.depth,3)}`,children:$n(e.text)},t);if(e.kind===`list`){let n=e.items.map((e,t)=>(0,Z.jsx)(`li`,{children:$n(e)},t));return e.ordered?(0,Z.jsx)(`ol`,{children:n},t):(0,Z.jsx)(`ul`,{children:n},t)}return e.kind===`quote`?(0,Z.jsx)(`blockquote`,{children:$n(e.lines.join(` `))},t):(0,Z.jsx)(`p`,{children:e.lines.map((e,t)=>(0,Z.jsxs)(X.Fragment,{children:[t>0?(0,Z.jsx)(`br`,{}):null,$n(e)]},t))},t)})})}function tr(e){let t=[],n=/```([\w.+-]*)\n([\s\S]*?)(?:```|$)/g,r=0;for(let i=n.exec(e);i;i=n.exec(e))i.index>r&&t.push({kind:`text`,value:e.slice(r,i.index)}),t.push({kind:`code`,value:i[2].replace(/\n$/,``),lang:i[1]||void 0}),r=i.index+i[0].length;return r<e.length&&t.push({kind:`text`,value:e.slice(r)}),t.length?t:[{kind:`text`,value:e}]}var nr={python:`py`,py:`py`,javascript:`js`,js:`js`,typescript:`ts`,ts:`ts`,tsx:`tsx`,jsx:`jsx`,html:`html`,css:`css`,json:`json`,markdown:`md`,md:`md`,bash:`sh`,sh:`sh`,shell:`sh`,zsh:`sh`,sql:`sql`,yaml:`yml`,yml:`yml`,toml:`toml`,csv:`csv`,xml:`xml`,text:`txt`,txt:`txt`};function rr(e){let t=nr[(e||``).toLowerCase()]||`txt`,n=new Date;return`chat-${[n.getFullYear(),String(n.getMonth()+1).padStart(2,`0`),String(n.getDate()).padStart(2,`0`)].join(``)+`-`+[String(n.getHours()).padStart(2,`0`),String(n.getMinutes()).padStart(2,`0`),String(n.getSeconds()).padStart(2,`0`)].join(``)}.${t}`}function ir({language:e,code:t,lang:n}){let[r,i]=X.useState(!1),[a,o]=X.useState(`idle`),[s,c]=X.useState(null),[l,u]=X.useState(``);async function d(){try{await navigator.clipboard?.writeText(t),i(!0),window.setTimeout(()=>i(!1),2e3)}catch{}}async function f(){if(a===`saving`)return;o(`saving`),u(``);let r=rr(n),i=await J.saveChatFile(r,t);if(!i.ok){o(`error`),u(i.error||K(e,`common.error.unknown`));return}let s=i.data,l=s.path||r;c({path:l,filename:l.split(`/`).pop()||r,bytes:s.bytes||0}),o(`saved`)}return(0,Z.jsxs)(`div`,{className:`brain-code-block`,children:[(0,Z.jsxs)(`div`,{className:`brain-code-head`,children:[(0,Z.jsx)(`span`,{className:`brain-code-lang`,children:n||`text`}),(0,Z.jsxs)(`div`,{className:`brain-code-actions`,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>void d(),children:r?K(e,`brain.code.copied`):K(e,`brain.code.copy`)}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>void f(),disabled:a===`saving`,children:[(0,Z.jsx)(Ze,{className:`h-3 w-3`,"aria-hidden":`true`}),a===`saving`?K(e,`brain.code.saving`):K(e,`brain.code.save`)]})]})]}),(0,Z.jsx)(`pre`,{children:(0,Z.jsx)(`code`,{children:t})}),a===`saved`&&s?(0,Z.jsx)(sr,{language:e,files:[s],compact:!0}):null,a===`error`?(0,Z.jsx)(`small`,{className:`brain-code-save-error`,role:`alert`,children:K(e,`brain.code.saveError`,{reason:l})}):null]})}function ar(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:``}function or({language:e,ingest:t}){let n=t.status===`ok`?`brain.files.brainOk`:t.status===`pending`?`brain.files.brainPending`:t.status===`failed`?`brain.files.brainFailed`:null;return n?(0,Z.jsx)(`span`,{className:`brain-created-file-brain is-${t.status}`,role:`note`,"data-testid":`brain-ingest-chip`,title:t.status===`failed`&&t.detail?t.detail:void 0,children:K(e,n)}):null}function sr({language:e,files:t,compact:n=!1}){let[r,i]=X.useState(null),[a,o]=X.useState(``),[s,c]=X.useState(null);async function l(t){if(r)return;i(t.path),o(``);let n=await J.downloadWorkspaceFile(t.path,t.filename);n.ok||o(n.error||K(e,`common.error.unknown`)),i(null)}return(0,Z.jsxs)(`section`,{className:`brain-created-files lattice-success-pulse ${n?`is-compact`:``}`,"aria-label":K(e,`brain.files.title`),children:[(0,Z.jsxs)(`div`,{className:`brain-created-files-head`,children:[(0,Z.jsx)(Re,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,Z.jsx)(`strong`,{children:K(e,`brain.files.title`)})]}),(0,Z.jsx)(`ul`,{children:t.map(t=>(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`span`,{className:`brain-created-file-name`,children:t.filename}),t.bytes?(0,Z.jsx)(`small`,{children:ar(t.bytes)}):null,t.repaired?(0,Z.jsx)(`span`,{className:`brain-created-file-repaired`,role:`note`,children:K(e,`brain.files.repaired`)}):null,t.brainIngest?(0,Z.jsx)(or,{language:e,ingest:t.brainIngest}):null,Gn(t)?(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>c(t),children:[(0,Z.jsx)(Le,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),K(e,`brain.preview.open`)]}):null,(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>void l(t),disabled:r===t.path,children:[(0,Z.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),r===t.path?K(e,`brain.files.downloading`):K(e,`brain.files.download`)]})]},t.path))}),s?(0,Z.jsx)(Xn,{language:e,file:s,onClose:()=>c(null)}):null,(0,Z.jsx)(`small`,{className:`brain-created-files-hint`,children:K(e,`brain.files.hint`)}),a?(0,Z.jsx)(`small`,{className:`brain-created-files-error`,role:`alert`,children:K(e,`brain.files.downloadError`,{reason:a})}):null]})}function cr({language:e,modelName:t,modelReady:n,messages:r,pastConversations:i,historyBusyId:a,starterPrompts:o,memoryFeedback:s,ingestionStates:l,emergenceEvents:u,proactiveActivities:d,draft:f,streaming:p,imageData:m,streamRef:h,memories:g,graph:_,concepts:v,relationshipCount:y,readiness:b,proof:x,brief:S,uploadingDocument:C,onOpenDepth:T,onDraftChange:E,onImageDataChange:D,onUploadDocument:k,onPickFolder:A,onConnectFolder:j,onIngestNote:M,onIngestWeb:ne,onVerifyModelContinuity:N,onSend:re,onSendText:P,onCreateActionItem:ie,onProactiveAction:ae,onApprovalResolved:oe,onStop:L,onRegenerate:R,onNewConversation:se,onResumeConversation:ce,onDeleteConversation:le,brainState:ue,intensity:z,onExploreBrain:B,onRequestDetails:V}){let de=r.length>0,H=ke(e=>e.mode)===`basic`,fe=fr(r),pe=S.suggestedQuestions.slice(0,3),me=X.useMemo(()=>r.flatMap(e=>e.approval?[e.approval.runId]:[]),[r]),he=(0,Z.jsx)(hn,{language:e,variant:`inline`,uploadingDocument:C,ingestionStates:l,onUploadDocument:k,onPickFolder:A,onConnectFolder:j,onIngestNote:M,onIngestWeb:ne});return(0,Z.jsx)(`section`,{className:`brain-conversation`,"aria-label":K(e,`brain.aria.conversation`),children:(0,Z.jsx)(`div`,{className:`brain-chat-home-layout`,children:(0,Z.jsxs)(`section`,{className:`brain-chat-home-card ${de?`has-messages`:`is-empty-home`}`,"aria-label":K(e,`brain.chatHome.aria`),children:[(0,Z.jsx)(ee,{language:e}),(0,Z.jsx)(w,{language:e}),(0,Z.jsx)(O,{language:e,knownRunIds:me}),de?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`header`,{className:`brain-chat-header`,children:[(0,Z.jsxs)(`div`,{className:`brain-header-presence`,children:[(0,Z.jsx)(c,{state:ue,intensity:z,size:`trace`,showLabel:!1,onInteract:B}),(0,Z.jsxs)(`div`,{className:`brain-header-title`,children:[(0,Z.jsx)(`strong`,{children:K(e,`brain.title`)}),(0,Z.jsxs)(`span`,{children:[K(e,`brain.firstScreen.state.${b.state}`),H?``:` (${b.score}%)`]})]})]}),(0,Z.jsxs)(`div`,{className:`brain-header-actions`,children:[H?null:(0,Z.jsx)(`div`,{className:`brain-model-pill`,children:t}),(0,Z.jsxs)(`button`,{type:`button`,className:`brain-deeper-btn`,onClick:se,children:[(0,Z.jsx)(Ke,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),K(e,`brain.newChat`)]}),(0,Z.jsx)(`button`,{type:`button`,className:`brain-deeper-btn`,onClick:B,children:K(e,`brain.firstScreen.action.graph`)})]})]}),(0,Z.jsx)(sn,{language:e,state:l.chat,concepts:v,relationshipCount:y,onExploreBrain:B}),(0,Z.jsx)(`div`,{ref:h,className:`brain-stream`,children:r.map((t,n)=>{let i=`brain-msg-${n}`,a=t.role===`assistant`?t.proof:void 0,o=t.role===`assistant`&&!!t.content.trim()&&!p,s=o&&n===fe;return(0,Z.jsxs)(`div`,{className:`brain-message ${t.role}`,children:[(0,Z.jsxs)(`div`,{className:`brain-message-bubble`,children:[t.role===`assistant`?(0,Z.jsx)(Zn,{language:e,content:t.content}):t.content,a&&a.citations.length?(0,Z.jsx)(vt,{language:e,proof:a,messageId:i}):null,t.role===`assistant`&&t.contextQuality?.limited?(0,Z.jsx)(dr,{language:e,reason:H?null:t.contextQuality.reason}):null,t.role===`assistant`&&t.content.trim()&&t.grounding?(0,Z.jsx)(ur,{language:e,grounding:t.grounding}):null,t.role===`assistant`&&t.cloudAnswer?(0,Z.jsx)(zn,{language:e,cloudAnswer:t.cloudAnswer}):null]}),t.role===`assistant`&&t.approval?(0,Z.jsx)(lt,{language:e,approval:t.approval,onResolved:e=>oe(n,e),onReplan:P}):null,t.role===`assistant`&&t.agentSteps?.length?(0,Z.jsx)(mt,{language:e,steps:t.agentSteps,streaming:p&&n===r.length-1}):null,o?(0,Z.jsx)(pr,{language:e,content:t.content,canRegenerate:n===fe,onRegenerate:R,canFollowUp:s,onFollowUp:P,onCreateActionItem:ie}):null,t.files?.length?(0,Z.jsx)(sr,{language:e,files:t.files}):null,t.role===`assistant`&&t.agentState?(0,Z.jsx)(lr,{language:e,state:t.agentState}):null,t.role===`assistant`&&t.loopSummary?(0,Z.jsx)(ht,{language:e,summary:t.loopSummary}):null,t.role===`assistant`&&t.runExplanation?(0,Z.jsx)(gt,{language:e,explanation:t.runExplanation}):null,a?(0,Z.jsx)(yt,{language:e,proof:a,messageId:i,onUseEvidence:P}):null]},`${t.role}-${n}`)})}),(0,Z.jsx)(on,{language:e,brief:S,activities:d,streaming:p,onAction:ae}),n?null:(0,Z.jsx)(Cn,{language:e}),(0,Z.jsx)(Hn,{language:e}),(0,Z.jsx)(qt,{language:e,draft:f,streaming:p,imageData:m,uploadingDocument:C,onDraftChange:E,onImageDataChange:D,onUploadDocument:k,onSend:re,onStop:L,attachments:he})]}):(0,Z.jsxs)(`div`,{className:`brain-centered-home`,"data-testid":`brain-home-stage`,children:[(0,Z.jsxs)(`section`,{className:`brain-home-station`,"data-testid":`brain-home-station`,children:[(0,Z.jsx)(Fn,{language:e,brainState:ue,intensity:z,readiness:b,memories:g,graph:_,relationshipCount:y,onExploreBrain:B,trailing:n?null:(0,Z.jsx)(Cn,{language:e})}),(0,Z.jsxs)(`div`,{className:`brain-writing-desk`,children:[(0,Z.jsxs)(`div`,{className:`brain-composer-wrapper`,children:[(0,Z.jsx)(Hn,{language:e}),(0,Z.jsx)(qt,{language:e,draft:f,streaming:p,imageData:m,uploadingDocument:C,onDraftChange:E,onImageDataChange:D,onUploadDocument:k,onSend:re,onStop:L,attachments:he})]}),(0,Z.jsx)(`div`,{className:`brain-station-toolbar`,role:`group`,"aria-label":K(e,`brain.station.toolbar.aria`),children:(0,Z.jsx)(Rn,{language:e})})]})]}),(0,Z.jsx)(`section`,{className:`brain-secondary-deck`,"data-testid":`brain-secondary-deck`,"aria-label":K(e,`brain.suggestions.aria`),children:pe.length?(0,Z.jsxs)(`div`,{className:`brain-home-prompt-strip`,children:[(0,Z.jsxs)(`div`,{className:`brain-home-prompt-strip-label`,children:[(0,Z.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.suggestions.title`)})]}),(0,Z.jsx)(`div`,{className:`brain-prompt-grid`,children:pe.map(t=>{let n=K(e,t.promptKey,t.params);return(0,Z.jsxs)(`button`,{type:`button`,disabled:p,title:K(e,t.detailKey),onClick:()=>{E(``),P(n)},children:[(0,Z.jsx)(`strong`,{children:K(e,t.labelKey)}),(0,Z.jsx)(`span`,{children:K(e,t.detailKey)})]},t.id)})})]}):(0,Z.jsxs)(`div`,{className:`brain-home-prompt-strip`,children:[(0,Z.jsxs)(`div`,{className:`brain-home-prompt-strip-label`,children:[(0,Z.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:K(e,`brain.suggestions.title`)})]}),(0,Z.jsx)(`div`,{className:`brain-prompt-pills-row`,children:o.slice(0,3).map(e=>(0,Z.jsx)(`button`,{type:`button`,onClick:()=>E(e),className:`brain-prompt-pill`,children:e},e))})]})}),(0,Z.jsx)(`footer`,{className:`brain-home-quiet`,children:(0,Z.jsx)(Pn,{language:e,brainState:ue,intensity:z,readiness:b,memories:g,concepts:v,relationshipCount:y,emergenceEvents:u,proactiveActivities:d,pastConversations:i,historyBusyId:a,streaming:p,modelName:t,proof:x,brief:S,onOpenDepth:T,onExploreBrain:B,onVerifyModelContinuity:N,onProactiveAction:ae,onResumeConversation:ce,onDeleteConversation:le,onRequestDetails:V})})]}),s?(0,Z.jsxs)(`div`,{className:`brain-save-feedback`,role:`status`,children:[(0,Z.jsx)(Ie,{className:`h-3.5 w-3.5`}),(0,Z.jsx)(`span`,{children:s}),(0,Z.jsx)(`small`,{children:K(e,`brain.saved.detail`)})]}):null,de?(0,Z.jsxs)(`details`,{className:`brain-utility-drawer`,onToggle:e=>e.currentTarget.open&&V(),children:[(0,Z.jsx)(`summary`,{children:K(e,H?`brain.chatHome.utility.basic`:`brain.chatHome.utility`)}),(0,Z.jsxs)(`div`,{className:`brain-utility-tools`,"aria-label":K(e,`brain.chatHome.contextAria`),children:[(0,Z.jsx)(Oe,{compact:!0}),H?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`brain-model-pill`,children:t}),(0,Z.jsxs)(`button`,{className:`brain-admin-link`,type:`button`,onClick:()=>Ee(`/admin`),children:[(0,Z.jsx)(Te,{className:`h-3.5 w-3.5`}),K(e,`brain.admin`)]})]}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(I,{className:`h-3.5 w-3.5`}),K(e,`brain.local`)]}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(I,{className:`h-3.5 w-3.5`}),K(e,`brain.private`)]}),(0,Z.jsxs)(`span`,{children:[(0,Z.jsx)(I,{className:`h-3.5 w-3.5`}),K(e,`brain.portable`)]})]}),(0,Z.jsxs)(`div`,{className:`brain-utility-grid`,children:[(0,Z.jsx)(mn,{language:e,uploadingDocument:C,ingestionStates:l,onUploadDocument:k,onPickFolder:A,onConnectFolder:j,onIngestNote:M,onIngestWeb:ne}),(0,Z.jsx)(te,{language:e}),H?null:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(xn,{language:e,emergenceEvents:u}),(0,Z.jsx)(jn,{language:e,proof:x,modelName:t,onVerify:N}),(0,Z.jsx)(un,{memories:g,concepts:v,readiness:b,proof:x,onOpenDepth:T})]}),(0,Z.jsx)(Gt,{language:e}),(0,Z.jsx)(Kt,{language:e}),(0,Z.jsx)(It,{language:e}),(0,Z.jsx)(Vt,{language:e}),(0,Z.jsx)(Et,{language:e})]})]}):null]})})})}function lr({language:e,state:t}){return(0,Z.jsx)(`p`,{className:`brain-agent-state-note ${t===`FAILED`?`is-failed`:`is-review`}`,role:`alert`,"data-testid":`agent-state-note`,children:K(e,t===`FAILED`?`brain.agent.failed`:`brain.agent.needsReview`)})}function ur({language:e,grounding:t}){let n=t.status===`supported`;return(0,Z.jsx)(`span`,{className:`brain-grounding-badge ${n?`is-supported`:`is-none`}`,role:`note`,"data-testid":`grounding-badge`,title:t.reason||void 0,children:K(e,n?`brain.grounding.supported`:`brain.grounding.none`)})}function dr({language:e,reason:t}){return(0,Z.jsxs)(`p`,{className:`brain-context-quality-note`,role:`note`,"data-testid":`context-quality-note`,children:[(0,Z.jsx)(`span`,{children:K(e,`brain.contextQuality.limited`)}),t?(0,Z.jsx)(`small`,{children:K(e,`brain.contextQuality.reason`,{reason:t})}):null]})}function fr(e){for(let t=e.length-1;t>=0;--t)if(e[t].role===`assistant`)return t;return-1}function pr({language:e,content:t,canRegenerate:n,onRegenerate:r,canFollowUp:i,onFollowUp:a,onCreateActionItem:o}){let[c,l]=X.useState(!1),u=X.useMemo(()=>[{labelKey:`brain.message.followup.checklist`,promptKey:`brain.message.followup.checklist.prompt`},{labelKey:`brain.message.followup.evidence`,promptKey:`brain.message.followup.evidence.prompt`},{labelKey:`brain.message.followup.next`,promptKey:`brain.message.followup.next.prompt`}],[]);async function d(){try{await navigator.clipboard?.writeText(t),l(!0),window.setTimeout(()=>l(!1),2e3)}catch{}}return(0,Z.jsxs)(`div`,{className:`brain-message-actions`,children:[(0,Z.jsxs)(`button`,{type:`button`,"aria-label":K(e,`brain.message.copyAria`),onClick:()=>void d(),children:[(0,Z.jsx)(Fe,{className:`h-3 w-3`,"aria-hidden":`true`}),c?K(e,`brain.message.copied`):K(e,`brain.message.copy`)]}),n?(0,Z.jsxs)(`button`,{type:`button`,"aria-label":K(e,`brain.message.regenerateAria`),onClick:r,children:[(0,Z.jsx)(s,{className:`h-3 w-3`,"aria-hidden":`true`}),K(e,`brain.message.regenerate`)]}):null,i?(0,Z.jsxs)(`button`,{type:`button`,"aria-label":K(e,`brain.message.saveTaskAria`),onClick:()=>o(t),children:[(0,Z.jsx)(We,{className:`h-3 w-3`,"aria-hidden":`true`}),K(e,`brain.message.saveTask`)]}):null,i?(0,Z.jsx)(`div`,{className:`brain-message-followups`,"aria-label":K(e,`brain.message.followup.aria`),children:u.map(t=>(0,Z.jsx)(`button`,{type:`button`,onClick:()=>a(K(e,t.promptKey)),children:K(e,t.labelKey)},t.promptKey))}):null]})}var mr=64;function hr(e){if(e.scrollHeight-e.clientHeight<=1)return!1;let t=e.ownerDocument.defaultView?.getComputedStyle(e).overflowY;return t===`auto`||t===`scroll`||t===`overlay`}function gr(e){for(let t=e;t;t=t.parentElement)if(hr(t))return{element:t,isDocument:!1};let t=e?.ownerDocument,n=t?.scrollingElement??t?.documentElement??null;return n instanceof HTMLElement?{element:n,isDocument:!0}:null}function _r(e){return e.scrollHeight-e.clientHeight-e.scrollTop<=mr}function vr(e){let t=X.useRef(null),n=X.useRef(null),r=X.useRef(!0),i=X.useRef(0),a=X.useCallback(()=>{let e=n.current;return e&&e.element.isConnected?e:(n.current=gr(t.current),n.current)},[]);return X.useEffect(()=>{let e=e=>{let t=n.current;if(!t||!(t.isDocument&&e.target===t.element.ownerDocument||e.target===t.element))return;let a=t.element.scrollTop,o=a<i.current-1;i.current=a,o?r.current=_r(t.element):_r(t.element)&&(r.current=!0)};return document.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>document.removeEventListener(`scroll`,e,{capture:!0})},[]),X.useEffect(()=>{let e=a();!e||!r.current||(e.element.scrollTop=e.element.scrollHeight,i.current=e.element.scrollTop)},[e,a]),t}function yr({language:e,modelReady:t,onBrainChange:n,setMemoryFeedback:a,beginIngestion:s,completeIngestion:c,failIngestion:l,setLastRecallQuery:d,attachAnswerProof:p}){let _=r(),v=q(e=>e.messages),y=q(e=>e.setMessages),b=q(e=>e.conversationId),S=q(e=>e.setConversationId),C=q(e=>e.preferLocalOnly),[w,T]=X.useState(``),[E,D]=X.useState(null),[O,A]=X.useState(!1),[ee,j]=X.useState([]),te=vr(v),M=X.useRef(null),N=X.useRef(null),ie=i({mutationFn:async t=>{let n=await J.runAgent(t,[`planner`,`executor`,`reviewer`]);if(!n.ok)throw Error(n.error||K(e,`ui.status.unavailable`));return n},onSuccess:()=>{_.invalidateQueries({queryKey:[`memoryManager`]}),_.invalidateQueries({queryKey:[`memoryBrainBrief`]}),_.invalidateQueries({queryKey:[`graphPreview`]}),_.invalidateQueries({queryKey:[`graph`]}),_.invalidateQueries({queryKey:[`agentRuntime`]}),a(K(e,`brain.delegate.done`)),window.setTimeout(()=>a(null),4200)},onError:t=>a(K(e,`brain.delegate.failed`,{reason:String(t)}))});X.useEffect(()=>{O?n(`thinking`,.94):w.trim().length>4?n(`listening`,.76):n(`idle`,.58)},[w,n,O]),X.useEffect(()=>()=>{N.current!==null&&window.clearTimeout(N.current),M.current?.abort()},[]);async function ae(){let e=w.trim();!e||O||(T(``),await I(e))}async function F(){if(O)return;let e=[...v].reverse().find(e=>e.role===`user`);e&&(y(e=>{let t=[...e];return t[t.length-1]?.role===`assistant`&&t.pop(),t[t.length-1]?.role===`user`&&t.pop(),t}),await I(e.content))}async function I(r){if(!r||O)return;let i=b||`brain-${Date.now()}`;if(b||S(i),!t){y(t=>[...t,{role:`user`,content:r},{role:`assistant`,content:K(e,`brain.noModel.message`)}]),D(null),a(K(e,`brain.noModel.status`));return}y(e=>[...e,{role:`user`,content:r},{role:`assistant`,content:``}]),D(null),A(!0),a(null),s(`chat`,r.slice(0,120)),n(`thinking`,.96);let v=new AbortController;M.current=v;try{let t=await J.streamChat({message:r,conversation_id:i,image_data:E||void 0,...C?{network_mode:`local_only`}:{}},{signal:v.signal,onChunk:(e,t)=>{y(e=>{let n=[...e];return n[n.length-1]={...n[n.length-1],role:`assistant`,content:t},n})},onHybridContext:e=>{let t=m(e);t&&y(e=>{let n=[...e],r=n[n.length-1];return r?.role===`assistant`?(n[n.length-1]={...r,hybridContext:t},n):e})},onHybridDone:e=>{let t=u(e);t&&y(e=>{let n=[...e],r=n[n.length-1];return r?.role===`assistant`?(n[n.length-1]={...r,content:t.answer||r.content,cloudAnswer:x(t,r.hybridContext?.nodeIds.length||0)},n):e})},onAgentStep:e=>{let t=g(e);t&&y(e=>{let n=[...e],r=n[n.length-1];return n[n.length-1]={...r,role:`assistant`,agentSteps:[...r.agentSteps||[],t]},n})},onAgent:t=>{let n=rt(t);if(n){y(e=>{let t=[...e];return t[t.length-1]={...t[t.length-1],approval:n},t});return}let r=k(t),i=t.final_state===`NEEDS_REVIEW`||t.final_state===`FAILED`?t.final_state:void 0,a=h(t.loop),o=f(t.explanation,e),s=ne(t.steps);!r.length&&!i&&!a&&!o&&!s.length||y(e=>{let t=[...e],n=t[t.length-1],c=n.agentSteps?.length?n.agentSteps:s;return t[t.length-1]={...n,...r.length?{files:r}:{},...i?{agentState:i}:{},...a?{loopSummary:a}:{},...o?{runExplanation:o}:{},...c.length?{agentSteps:c}:{}},t})},onTrace:e=>{e&&(n(`recalling`,.9),o(),N.current!==null&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>n(`thinking`,.9),900))}});if(t.error)y(n=>br(n,`${K(e,`brain.unavailable`)}: ${t.error}`)),l(`chat`,String(t.error));else{let n=P(`contextQuality`in t?t.contextQuality:null)||P(t.trace),i=re(`grounding`in t?t.grounding:null)||re(t.trace),s=m(`hybridContext`in t?t.hybridContext:null),l=u(`hybridDone`in t?t.hybridDone:null);(n||i||s||l)&&y(e=>{let t=[...e];for(let e=t.length-1;e>=0;--e)if(t[e].role===`assistant`){let r=t[e];t[e]={...r,...n?{contextQuality:n}:{},...i?{grounding:i}:{},...s&&!r.hybridContext?{hybridContext:s}:{},...l&&!r.cloudAnswer?{content:l.answer||r.content,cloudAnswer:x(l,r.hybridContext?.nodeIds.length||s?.nodeIds.length||0)}:{}};break}return t}),d(r);let f=await c(`chat`);a(K(e,`brain.saved`,{topics:f.entities,memories:f.memories})),o(),p(r)}}catch(t){let n=t instanceof DOMException&&t.name===`AbortError`;y(r=>{let i=[...r],a=i[i.length-1];return a?.role===`assistant`&&!a.content.trim()&&(i[i.length-1]={...a,content:n?K(e,`brain.stopped.empty`):`${K(e,`brain.unavailable`)}: ${t instanceof Error?t.message:String(t)}`}),i}),a(n?K(e,`brain.stopped`):null),l(`chat`,n?`stopped`:t instanceof Error?t.message:String(t))}finally{N.current!==null&&(window.clearTimeout(N.current),N.current=null),M.current===v&&(M.current=null),A(!1);for(let e of[`chatHistory`,`memoryManager`,`graphPreview`,`graph`,`memoryBrainProof`,`memoryBrainBrief`])_.invalidateQueries({queryKey:[e]})}}function oe(t,n){if(y(r=>{let i=r[t];if(!i?.approval)return r;let a=[...r];if(n.kind===`finished`){let r=n.payload,o=k(r),s=r.final_state===`NEEDS_REVIEW`||r.final_state===`FAILED`?r.final_state:void 0,c=typeof r.response==`string`?r.response.trim():``,l=h(r.loop),u=f(r.explanation,e),d=ne(r.steps),p=i.agentSteps?.length?i.agentSteps:d;a[t]={...i,content:c||i.content,...o.length?{files:o}:{},...s?{agentState:s}:{},...l?{loopSummary:l}:{},...u?{runExplanation:u}:{},...p.length?{agentSteps:p}:{},approval:{...i.approval,status:`approved`}}}else n.kind===`error`?a[t]={...i,approval:{...i.approval,status:`error`,errorReason:n.reason}}:a[t]={...i,approval:{...i.approval,status:n.kind,...n.kind===`expired`&&n.replanMessage?{replanMessage:n.replanMessage}:{}}};return a}),n.kind===`finished`){o();for(let e of[`chatHistory`,`memoryManager`,`graphPreview`,`graph`,`memoryBrainProof`,`memoryBrainBrief`,`agentRuntime`])_.invalidateQueries({queryKey:[e]})}}async function L(t){let n=t.trim();if(!n)return!1;let r=([...v].reverse().find(e=>e.role===`user`)?.content||K(e,`brain.action.defaultTitle`)).trim().slice(0,96),i=await J.createReviewItem({title:r,summary:n.slice(0,420),source:`chat_followup`,kind:`task_draft`,payload:{answer_preview:n.slice(0,2e3),conversation_id:b||``},provenance:{conversation_id:b||``,source_detail:`brain_chat`}});return a(i.ok?K(e,`brain.action.saved`):K(e,`brain.action.saveFailed`,{reason:i.error||String(i.status||``)})),i.ok}function R(e,t,n,r=`${e.id}-${Date.now()}`){let i=Date.now();return j(a=>{let o=a.find(e=>e.id===r);return[{id:r,actionId:e.id,labelKey:e.labelKey,intent:e.intent,status:t,startedAt:o?.startedAt??i,completedAt:t===`running`?void 0:i,detail:n},...a.filter(e=>e.id!==r)].slice(0,6)}),r}async function se(e){let t=e.prompt.trim(),n=R(e,`running`);if(e.intent===`route`&&e.route){window.location.hash=e.route,R(e,`completed`,e.route,n);return}if(!t){R(e,`failed`,`empty prompt`,n);return}try{e.intent===`delegate`?(await ie.mutateAsync(t),R(e,`completed`,`agent`,n)):e.intent===`review`?R(e,await L(t)?`completed`:`failed`,`review`,n):(await I(t),R(e,`completed`,`chat`,n))}catch(t){R(e,`failed`,t instanceof Error?t.message:String(t),n)}}return{messages:v,conversationId:b,draft:w,setDraft:T,imageData:E,setImageData:D,streaming:O,streamRef:te,proactiveActivities:ee,send:ae,sendText:I,regenerate:F,createActionItem:L,handleProactiveAction:se,handleApprovalResolved:oe,stopStreaming:()=>M.current?.abort()}}function br(e,t){let n=[...e];return n[n.length-1]={role:`assistant`,content:t},n}function xr({language:e,setMemoryFeedback:t}){let n=r(),i=q(e=>e.conversationId),a=q(e=>e.setConversationId),o=q(e=>e.setMessages),s=q(e=>e.resetConversation),[c,l]=X.useState(null),u=W({queryKey:[`chatHistory`],queryFn:J.chatHistory});return{historyQ:u,pastConversations:X.useMemo(()=>M(u.data?.data),[u.data]),historyBusyId:c,resetConversation:s,resumeConversation:X.useCallback(async(n,r)=>{if(!(c||r)){l(n),t(K(e,`brain.history.loading`));try{let r=await J.conversation(n);if(!r.ok){t(K(e,`brain.history.loadFailed`,{reason:r.error||`unavailable`}));return}let i=v(r.data);if(!i.length){t(K(e,`brain.history.loadFailed`,{reason:K(e,`brain.history.emptyConversation`)}));return}a(n),o(i),t(K(e,`brain.history.resumed`))}finally{l(null)}}},[c,e,a,t,o]),deleteConversation:X.useCallback(async r=>{if(!c){l(r);try{let a=await J.deleteConversation(r);if(!a.ok){t(K(e,`brain.history.deleteFailed`,{reason:a.error||`unavailable`}));return}i===r&&s(),t(K(e,`brain.history.deleted`)),n.invalidateQueries({queryKey:[`chatHistory`]}),n.invalidateQueries({queryKey:[`memoryManager`]})}finally{l(null)}}},[i,c,e,n,s,t])}}function Sr(){let e=window;return!!(e.__TAURI__?.core?.invoke||e.latticeDesktop?.selectFolder||e.__TAURI_INTERNALS__&&window.location.protocol===`tauri:`)}function Cr(e){return e instanceof DOMException&&e.name===`AbortError`}function wr(e){return(e[0]?.webkitRelativePath||``).split(`/`).filter(Boolean)[0]||``}async function Tr(e){let t=[];if(typeof e.values==`function`){for await(let n of e.values())t.push(n);return t}if(typeof e.entries==`function`)for await(let[,n]of e.entries())t.push(n);return t}async function Er(e){let t=[];for(let n of await Tr(e)){if(n.kind===`file`){t.push(await n.getFile());continue}t.push(...await Er(n))}return t}async function Dr(){try{if(Sr()){let e=await J.selectFolder();if(e)return{kind:`path`,path:e}}let e=window.showDirectoryPicker;if(typeof e==`function`){let t=await e.call(window);return{kind:`files`,files:await Er(t),name:t.name}}return{kind:`unavailable`}}catch(e){return Cr(e)?{kind:`cancelled`}:{kind:`unavailable`}}}var Or={chat:null,file:null,folder:null,note:null,web:null};function kr({language:e,brainReadiness:t,memoryFragments:n,graphModel:i,memoriesFetched:a,graphFetched:s,requestDetails:c,setLastRecallQuery:l,setMemoryFeedback:u,onBrainChange:d}){let f=r(),[p,m]=X.useState(!1),[h,g]=X.useState(Or),[_,v]=X.useState([]),[y,b]=X.useState(!1),x=X.useRef({});X.useEffect(()=>{if(!_[0]?.id)return;b(!0);let e=window.setTimeout(()=>b(!1),1650);return()=>window.clearTimeout(e)},[_]);let S=X.useCallback((e,t)=>{g(n=>{let r=n[e];return r?{...n,[e]:{...r,stage:t}}:n})},[]),C=X.useCallback((e,r)=>{c(),x.current[e]={memories:Math.max(t.signals.memoryCount,n.length),entities:Math.max(t.signals.conceptCount,i.nodes.length),label:r,memoryKnown:a,graphKnown:s,nodeIds:new Set(i.nodes.map(e=>e.id))},g(t=>({...t,[e]:{sourceType:e,label:r,stage:`preparing`,startedAt:Date.now(),completedAt:null,newMemories:0,newEntities:0,nodeIds:[]}}))},[t.signals.conceptCount,t.signals.memoryCount,s,i.nodes,a,n.length,c]),w=X.useCallback((e,t,n,r,i)=>{let a=x.current[e],o=a?.label??``,s=a?.graphKnown?r.nodes.filter(e=>!a.nodeIds.has(e.id)).map(e=>e.id):[],c=i.nodeIds.filter(e=>!a?.graphKnown||!a.nodeIds.has(e)),l=Array.from(new Set([...s,...c])).slice(0,24),u=a?.memoryKnown?Math.max(0,t-a.memories):0,d=a?.graphKnown?Math.max(l.length,Math.max(0,n-a.entities)):l.length;delete x.current[e],g(t=>{let n=t[e];return n?{...t,[e]:{...n,stage:`complete`,completedAt:Date.now(),newMemories:u,newEntities:d,nodeIds:l,chunkCount:i.chunkCount,duplicate:i.duplicate,provenanceId:i.provenanceId,extraction:i.extraction}}:t}),v(t=>[{id:`${e}-${Date.now()}`,sourceType:e,label:o,newMemories:u,newEntities:d,nodeIds:l,at:Date.now()},...t].slice(0,10))},[]),T=X.useCallback(async(e,r=null)=>{S(e,`indexing`);let a=D(r),[o,s]=await Promise.all([J.memoryManager(),J.graphPreview(48)]),c=s.ok?N(s.data):i,l=o.ok?E(o.data,n.length,c.nodes.length):t;return o.ok&&f.setQueryData([`memoryManager`],o),s.ok&&f.setQueryData([`graphPreview`],s),w(e,Math.max(l.signals.memoryCount,n.length),Math.max(l.signals.conceptCount,c.nodes.length),c,a),await Promise.all([f.invalidateQueries({queryKey:[`chatHistory`]}),f.invalidateQueries({queryKey:[`graph`]}),f.invalidateQueries({queryKey:[`memoryBrainProof`]}),f.invalidateQueries({queryKey:[`memoryBrainBrief`]}),f.invalidateQueries({queryKey:[`vectorFreshness`]}),f.invalidateQueries({queryKey:[`ingestionJobs`]})]),{memories:Math.max(l.signals.memoryCount,n.length),entities:Math.max(l.signals.conceptCount,c.nodes.length)}},[t,i,n.length,f,w,S]),O=X.useCallback((e,t)=>{delete x.current[e],g(n=>{let r=n[e];return r?{...n,[e]:{...r,stage:`error`,completedAt:Date.now(),error:t}}:n})},[]),k=X.useCallback(async t=>{if(!p){m(!0),u(K(e,`brain.upload.pending`,{name:t.name})),d(`recalling`,.86),C(`file`,t.name);try{let n=await J.uploadDocument(t);if(!n.ok){let t=n.error||`unavailable`;u(K(e,`brain.upload.failed`,{reason:t})),O(`file`,t);return}u(K(e,`brain.upload.saved`,{name:t.name})),l(t.name),await T(`file`,n.data),o()}finally{m(!1)}}},[C,T,O,e,d,l,u,p]),A=X.useCallback(async t=>{let n=t.trim();if(!n)return;u(K(e,`brain.ingest.folder.pending`,{path:n})),d(`recalling`,.84),C(`folder`,n);let r=await J.connectFolder(n);if(!r.ok){let t=r.error||`unavailable`;u(K(e,`brain.ingest.folder.failed`,{reason:t})),O(`folder`,t);return}u(K(e,`brain.ingest.folder.saved`,{path:n})),l(n),await T(`folder`,r.data),o()},[C,T,O,e,d,l,u]);return{ingestionStates:h,emergenceEvents:_,synthesisActive:y,uploadingDocument:p,beginIngestion:C,completeIngestion:T,failIngestion:O,uploadDocument:k,pickFolder:X.useCallback(async()=>{let t=await Dr();if(t.kind===`cancelled`)return;if(t.kind===`unavailable`){u(K(e,`brain.ingest.folder.unavailable`));return}if(t.kind===`path`){await A(t.path);return}let n=t.name||wr(t.files);if(!t.files.length){u(K(e,`brain.ingest.folder.empty`)),O(`folder`,`empty`);return}u(K(e,`brain.ingest.folder.reading`)),d(`recalling`,.84),C(`folder`,n);let r=0,i=null;for(let e of t.files){let t=await J.uploadDocument(e);t.ok&&(r+=1,i=t)}if(!r){u(K(e,`brain.ingest.folder.empty`)),O(`folder`,`empty`);return}u(K(e,`brain.ingest.folder.browserSaved`,{name:n,count:r})),l(n),await T(`folder`,i?.data),o()},[C,T,A,O,e,d,l,u]),connectFolder:A,ingestNote:X.useCallback(async t=>{let n=t.trim();if(!n)return;u(K(e,`brain.ingest.note.pending`)),d(`recalling`,.84),C(`note`,n.slice(0,80));let r=await J.ingestNote(n,n.slice(0,80));if(!r.ok){let t=r.error||`unavailable`;u(K(e,`brain.ingest.note.failed`,{reason:t})),O(`note`,t);return}u(K(e,`brain.ingest.note.saved`)),l(n.slice(0,120)),await T(`note`,r.data),o()},[C,T,O,e,d,l,u]),ingestWeb:X.useCallback(async t=>{let n=t.trim();if(!n)return;u(K(e,`brain.ingest.web.pending`,{url:n})),d(`recalling`,.84),C(`web`,n);let r=await J.browserReadUrl(n),i=r.data&&typeof r.data==`object`?r.data:{},a=typeof i.status==`string`?i.status:``;if(!r.ok||a!==`ok`){let t=r.error||(typeof i.detail==`string`?i.detail:a)||`unavailable`;u(K(e,`brain.ingest.web.failed`,{reason:t})),O(`web`,t);return}u(K(e,`brain.ingest.web.saved`,{url:n})),l(n),await T(`web`,r.data),o()},[C,T,O,e,d,l,u]),resetChatIngestion:()=>g(e=>({...e,chat:null}))}}function Ar({language:e,messages:t,modelName:n,setMemoryFeedback:r}){let i=q(e=>e.setMessages),[a,o]=X.useState(``),[s,c]=X.useState(!1),l=W({queryKey:[`memoryBrainProof`,a],queryFn:()=>J.memoryBrainProof(a,3),enabled:s||!!a||t.length>0}),u=W({queryKey:[`memoryBrainBrief`,a],queryFn:()=>J.memoryBrainBrief(a,3)}),d=X.useMemo(()=>y(l.data,n),[l.data,n]),f=X.useMemo(()=>j(u.data?.data),[u.data]),p=X.useCallback(async t=>{let a=await J.memoryBrainProof(t,4);if(!a.ok)return r(K(e,`brain.proof.unavailable`,{reason:a.error||K(e,`ui.status.unavailable`)})),!1;let o=jr(y(a,n),t,n);return i(e=>{let t=[...e];for(let e=t.length-1;e>=0;--e)if(t[e].role===`assistant`){t[e]={...t[e],proof:o};break}return t}),!0},[e,n,r,i]);return{brainProof:d,brainBrief:f,lastRecallQuery:a,setLastRecallQuery:o,requestDetails:()=>c(!0),attachAnswerProof:p,verifyModelContinuity:X.useCallback(async()=>{let i=[...t].reverse().find(e=>e.role===`user`),s=a||i?.content||``;if(!s.trim()){r(K(e,`brain.modelDemo.needQuestion`));return}r(K(e,`brain.modelDemo.checking`,{model:n})),await p(s)&&(o(s),r(K(e,`brain.modelDemo.done`,{model:n})))},[p,e,a,t,n,r])}}function jr(e,t,n){return{query:t,model:e.modelContinuity.activeModel||n,provenAcrossModels:e.modelContinuity.proven&&e.claims.keepsContextAcrossModels,citations:e.recall.items.slice(0,4).map(e=>({id:e.id,source:e.source,title:e.title,snippet:e.snippet,matchedTerms:e.matchedTerms,confidence:e.confidence,score:e.score,locator:e.locator,kind:e.kind,caption:e.caption,thumbnail:e.thumbnail}))}}function Mr(e){let t=e.dataTransfer?.types;return t?Array.from(t).includes(`Files`):!1}function Nr(e){let[t,n]=X.useState(!1),r=X.useRef(0),i=X.useRef(e);return i.current=e,X.useEffect(()=>{let e=e=>{Mr(e)&&(e.preventDefault(),r.current+=1,n(!0))},t=e=>{Mr(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`))},a=e=>{Mr(e)&&(r.current=Math.max(0,r.current-1),r.current===0&&n(!1))},o=e=>{if(r.current=0,n(!1),!Mr(e))return;e.preventDefault();let t=Array.from(e.dataTransfer?.files||[]);t.length&&i.current(t)},s=()=>{r.current=0,n(!1)};return window.addEventListener(`dragenter`,e),window.addEventListener(`dragover`,t),window.addEventListener(`dragleave`,a),window.addEventListener(`drop`,o),window.addEventListener(`dragend`,s),()=>{window.removeEventListener(`dragenter`,e),window.removeEventListener(`dragover`,t),window.removeEventListener(`dragleave`,a),window.removeEventListener(`drop`,o),window.removeEventListener(`dragend`,s)}},[]),t}function Pr({brainState:e,intensity:t,onBrainChange:n}){let r=ke(e=>e.language),i=q(e=>e.messages),[a,s]=X.useState(null),c=W({queryKey:[`memoryManager`],queryFn:J.memoryManager}),l=W({queryKey:[`graphPreview`],queryFn:()=>J.graphPreview(48)}),u=W({queryKey:[`models`],queryFn:J.models}),d=xr({language:r,setMemoryFeedback:s}),f=X.useMemo(()=>b(c.data?.data,d.historyQ.data?.data,r),[d.historyQ.data,c.data]),p=X.useMemo(()=>N(l.data?.data),[l.data]),m=X.useMemo(()=>p.nodes.slice(0,10),[p.nodes]),h=X.useMemo(()=>E(c.data?.data,f.length,m.length),[m.length,c.data,f.length]),g=X.useMemo(()=>A(u.data?.data),[u.data]),_=X.useMemo(()=>C(u.data?.data),[u.data]),v=Ar({language:r,messages:i,modelName:g,setMemoryFeedback:s}),y=kr({language:r,brainReadiness:h,memoryFragments:f,graphModel:p,memoriesFetched:c.isFetched,graphFetched:l.isFetched,requestDetails:v.requestDetails,setLastRecallQuery:v.setLastRecallQuery,setMemoryFeedback:s,onBrainChange:n}),x=yr({language:r,modelReady:_,onBrainChange:n,setMemoryFeedback:s,beginIngestion:y.beginIngestion,completeIngestion:y.completeIngestion,failIngestion:y.failIngestion,setLastRecallQuery:v.setLastRecallQuery,attachAnswerProof:v.attachAnswerProof}),S=X.useMemo(()=>[K(r,`brain.prompt.remember`),K(r,`brain.prompt.know`),K(r,`brain.prompt.plan`)],[r]),w=X.useCallback(e=>{o(),n(`recalling`,.82),window.location.hash=e<=2?`/memory`:`/knowledge-graph`},[n]),T=X.useRef(y.uploadDocument);T.current=y.uploadDocument;let D=Nr(X.useCallback(e=>{(async()=>{for(let t of e.slice(0,5))await T.current(t)})()},[])),O=X.useCallback(()=>{x.streaming&&x.stopStreaming(),d.resetConversation(),y.resetChatIngestion(),s(null),n(`idle`,.58)},[x,d,y,n]),k=x.proactiveActivities.some(e=>e.status===`running`),ee=Object.values(y.ingestionStates).some(e=>e&&e.stage!==`complete`&&e.stage!==`error`),j=k?`acting`:x.streaming&&e===`recalling`?`recalling`:x.streaming?`thinking`:ee?`recalling`:y.synthesisActive?`synthesizing`:x.draft.trim()?`listening`:`idle`,te=j===`idle`?.62:j===`listening`?.76:Math.max(.92,t);return(0,Z.jsxs)(`main`,{className:`brain-home`,"aria-label":K(r,`brain.aria.home`),children:[D?(0,Z.jsx)(`div`,{className:`brain-drop-overlay`,role:`status`,"data-testid":`brain-drop-overlay`,children:(0,Z.jsxs)(`div`,{className:`brain-drop-overlay-card`,children:[(0,Z.jsx)(`strong`,{children:K(r,`brain.dnd.title`)}),(0,Z.jsx)(`span`,{children:K(r,`brain.dnd.detail`)})]})}):null,(0,Z.jsx)(cr,{language:r,brainState:j,intensity:te,modelName:g,modelReady:_,messages:x.messages,pastConversations:d.pastConversations,historyBusyId:d.historyBusyId,starterPrompts:S,memoryFeedback:a,ingestionStates:y.ingestionStates,emergenceEvents:y.emergenceEvents,proactiveActivities:x.proactiveActivities,draft:x.draft,streaming:x.streaming,imageData:x.imageData,streamRef:x.streamRef,memories:f,graph:p,concepts:m,relationshipCount:Math.max(h.signals.relationshipCount,p.edges.length),readiness:h,proof:v.brainProof,brief:v.brainBrief,uploadingDocument:y.uploadingDocument,onOpenDepth:w,onDraftChange:x.setDraft,onImageDataChange:x.setImageData,onUploadDocument:e=>void y.uploadDocument(e),onPickFolder:()=>void y.pickFolder(),onConnectFolder:e=>void y.connectFolder(e),onIngestNote:e=>void y.ingestNote(e),onIngestWeb:e=>void y.ingestWeb(e),onVerifyModelContinuity:()=>void v.verifyModelContinuity(),onSend:()=>void x.send(),onSendText:e=>void x.sendText(e),onCreateActionItem:e=>void x.createActionItem(e),onProactiveAction:e=>void x.handleProactiveAction(e),onApprovalResolved:x.handleApprovalResolved,onStop:x.stopStreaming,onRegenerate:()=>void x.regenerate(),onNewConversation:O,onResumeConversation:e=>void d.resumeConversation(e,x.streaming),onDeleteConversation:e=>void d.deleteConversation(e),onExploreBrain:()=>w(5),onRequestDetails:v.requestDetails})]})}export{Pr as BrainHome};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t,t as n}from"./jsx-runtime-bzQ4Vb5N.js";import{n as r}from"./QueryClientProvider-B3OjqSyJ.js";import{t as i}from"./useMutation-OJLrYSRA.js";import{_ as a,a as o,c as s,d as c,g as l,h as u,i as d,l as f,m as p,n as m,p as h,r as g,s as _,t as v,u as y,v as b}from"./primitives-BioD2slS.js";import{t as x}from"./circle-check-CFgejkOS.js";import{a as S,i as C,n as w,r as T,t as E}from"./permissionCopy-D3aWHco-.js";import{t as D}from"./shield-alert-B3dwzik4.js";import{F as O,H as k,R as A,S as j,c as M,h as N,k as P,o as F,p as I,t as L,v as R,y as ee,z}from"./index-D2H-wSl6.js";import{t as B}from"./button-CmaEqG1T.js";import{t as V}from"./input-Df1CAY_I.js";import"./workspace-BCuk3Ku9.js";var H=A(`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`}]]),te=A(`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`}]]),U=e(t()),W=n(),G={low:`success`,medium:`warning`,high:`danger`};function K(e,t){return t===`ko`&&e.label_ko||e.label}function q(e,t){return t===`ko`&&e.summary_ko||e.summary}function J(e,t){return t===`ko`&&e.warning_ko||e.warning||``}function ne(){let e=r(),t=z(e=>e.language),[n,o]=U.useState(null),[s,c]=U.useState(!1),[d,f]=U.useState(``),m=k({queryKey:[`networkBoundary`],queryFn:R.networkBoundary}),_=k({queryKey:[`cloudStatus`],queryFn:R.cloudStatus}),v=i({mutationFn:e=>R.setNetworkBoundary(e.mode,e.ack),onSuccess:t=>{t.ok&&(e.invalidateQueries({queryKey:[`networkBoundary`]}),o(null),c(!1))}}),y=i({mutationFn:e=>R.setHybridPolicy(e),onSuccess:()=>e.invalidateQueries({queryKey:[`networkBoundary`]})}),x=i({mutationFn:e=>R.previewCloudContext(e)}),[S,C]=U.useState([]),w=i({mutationFn:e=>R.setNodeSensitivity(e.nodeId,e.localOnly),onSuccess:(e,t)=>{e.ok&&C(e=>t.localOnly?[...e,t.nodeId]:e.filter(e=>e!==t.nodeId))}}),T=m.data?.ok?m.data.data:void 0,E=T?.catalog??[],O=T?.mode??``,A=n??O,M=E.find(e=>e.id===A),N=M?.requires_ack&&A!==O?M:void 0,P=N!==void 0&&!s,F=A===O,I=T?.policy??{},L=x.data?.ok?x.data.data:void 0;return m.isLoading?(0,W.jsxs)(h,{children:[(0,W.jsx)(l,{children:(0,W.jsx)(a,{children:j(t,`system.network.title`)})}),(0,W.jsx)(p,{children:(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:j(t,`ui.loading`)})})]}):!T||E.length===0?(0,W.jsxs)(h,{children:[(0,W.jsx)(l,{children:(0,W.jsx)(a,{children:j(t,`system.network.title`)})}),(0,W.jsx)(p,{children:(0,W.jsx)(g,{title:j(t,`ui.requestUnavailable`),detail:m.data?.error})})]}):(0,W.jsxs)(h,{className:`settings-dial`,id:`network-boundary-panel`,"data-testid":`network-boundary-panel`,children:[(0,W.jsxs)(l,{children:[(0,W.jsxs)(a,{className:`flex items-center gap-2`,children:[(0,W.jsx)(H,{className:`h-4 w-4`,"aria-hidden":`true`}),j(t,`system.network.title`)]}),(0,W.jsx)(u,{children:j(t,`system.network.hint`)})]}),(0,W.jsxs)(p,{className:`space-y-3`,children:[(0,W.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[j(t,`system.network.current`),`:`,` `,(0,W.jsx)(`strong`,{"data-testid":`network-boundary-active`,children:t===`ko`&&T.label_ko||T.label})]}),(0,W.jsx)(`div`,{className:`space-y-2`,role:`radiogroup`,"aria-label":j(t,`system.network.title`),children:E.map(e=>{let n=e.id===A;return(0,W.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,"data-testid":`network-boundary-option-${e.id}`,onClick:()=>{o(e.id),c(!1),v.reset()},className:`settings-dial-option ${n?`is-active`:``}`,children:[(0,W.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`strong`,{className:`text-sm`,children:K(e,t)}),(0,W.jsx)(b,{variant:G[e.risk]||`warning`,children:j(t,`system.permission.risk.${e.risk}`)}),e.id===O?(0,W.jsx)(b,{variant:`muted`,children:j(t,`system.network.current`)}):null]}),(0,W.jsx)(`p`,{className:`mt-1 block text-xs text-muted-foreground`,children:q(e,t)})]},e.id)})}),N?(0,W.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border bg-muted p-3`,children:[(0,W.jsxs)(`p`,{className:`flex items-start gap-2 text-xs`,children:[(0,W.jsx)(D,{className:`mt-0.5 h-4 w-4 shrink-0`,"aria-hidden":`true`}),(0,W.jsx)(`span`,{children:J(N,t)})]}),(0,W.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,W.jsx)(`input`,{type:`checkbox`,"data-testid":`network-boundary-ack`,checked:s,onChange:e=>c(e.target.checked)}),j(t,`system.network.ack`)]})]}):null,(0,W.jsx)(B,{"data-testid":`network-boundary-apply`,disabled:F||P||v.isPending,onClick:()=>v.mutate({mode:A,ack:s}),children:j(t,`system.network.apply`)}),v.data&&!v.data.ok?(0,W.jsx)(g,{title:j(t,`ui.requestUnavailable`),detail:v.data.error}):null,v.data?.ok?(0,W.jsx)(b,{variant:`success`,"data-testid":`network-boundary-applied`,children:j(t,`ui.requestCompleted`)}):null,(0,W.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-3`,children:[(0,W.jsx)(`p`,{className:`text-xs font-medium`,children:j(t,`system.network.preview.title`)}),(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:j(t,`system.network.preview.hint`)}),(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(`input`,{type:`text`,"data-testid":`network-boundary-probe`,value:d,onChange:e=>f(e.target.value),placeholder:j(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,W.jsx)(B,{variant:`outline`,"data-testid":`network-boundary-preview`,disabled:!d.trim()||x.isPending,onClick:()=>x.mutate(d.trim()),children:j(t,`system.network.preview.run`)})]}),L?(0,W.jsxs)(`div`,{className:`space-y-1`,"data-testid":`network-boundary-preview-result`,children:[L.allows_cloud?null:(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:j(t,`system.network.preview.localOnly`)}),L.would_block?(0,W.jsx)(b,{variant:`danger`,children:j(t,`system.network.preview.blocked`)}):null,L.titles.length===0?(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:j(t,`system.network.preview.empty`)}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[j(t,`system.network.preview.count`,{count:L.titles.length}),` · `,j(t,`system.network.preview.tokens`,{tokens:L.token_estimate})]}),(0,W.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,W.jsxs)(`li`,{className:`flex items-start justify-between gap-2 text-xs`,children:[(0,W.jsxs)(`span`,{className:i?`line-through opacity-60`:void 0,children:[`· `,e]}),r?(0,W.jsx)(`button`,{type:`button`,"data-testid":`network-boundary-hold-${n}`,className:`shrink-0 underline underline-offset-2 opacity-80 hover:opacity-100`,disabled:w.isPending,onClick:()=>w.mutate({nodeId:r,localOnly:!i}),children:j(t,i?`system.network.preview.release`:`system.network.preview.hold`)}):null]},`${r||e}-${n}`)})})]})]}):null,x.data&&!x.data.ok?(0,W.jsx)(g,{title:j(t,`ui.requestUnavailable`),detail:x.data.error}):null]}),T.allows_cloud?(0,W.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border p-3`,"data-testid":`network-boundary-policy`,children:[(0,W.jsx)(X,{language:t,loading:_.isLoading,status:ee(_.data?.data,!!_.data?.ok)}),(0,W.jsx)(`p`,{className:`text-xs font-medium`,children:j(t,`system.network.policy.title`)}),(0,W.jsxs)(`label`,{className:`flex items-start gap-2 text-xs`,children:[(0,W.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,W.jsxs)(`span`,{children:[j(t,`system.network.policy.autoCommit`),(0,W.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground`,children:j(t,`system.network.policy.autoCommitHint`)})]})]}),(0,W.jsxs)(`label`,{className:`flex items-start gap-2 text-xs`,children:[(0,W.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,W.jsxs)(`span`,{children:[j(t,`system.network.policy.multimodal`),(0,W.jsx)(`span`,{className:`mt-0.5 block text-muted-foreground`,children:j(t,`system.network.policy.multimodalHint`)})]})]})]}):null,(0,W.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,W.jsx)(`p`,{className:`text-xs font-medium`,children:j(t,`system.network.guards`)}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:j(t,`system.network.guards.detail`)}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:j(t,`system.network.preview.autoHeld`)})]})]})]})}function Y(e,t){return t.mode===`cli_oauth`&&t.provider&&t.model?j(e,`system.network.cloudStatus.identity.cli`,{provider:t.provider,model:t.model}):t.provider&&t.model?j(e,`system.network.cloudStatus.identity`,{provider:t.provider,model:t.model}):t.model?j(e,`system.network.cloudStatus.identity.model`,{model:t.model}):t.provider}function X({language:e,loading:t,status:n}){let r=n.mode===`cli_oauth`?`system.network.cloudStatus.cli`:n.mode===`api_key`?`system.network.cloudStatus.apiKey`:`system.network.cloudStatus.none`,i=n.configured?Y(e,n):``;return(0,W.jsxs)(`div`,{className:`space-y-1`,"data-testid":`network-cloud-status`,children:[(0,W.jsx)(`p`,{className:`text-xs font-medium`,children:j(e,`system.network.cloudStatus.title`)}),t?(0,W.jsx)(`p`,{className:`text-xs text-muted-foreground`,"data-testid":`network-cloud-status-loading`,children:j(e,`system.network.cloudStatus.loading`)}):n.configured?(0,W.jsxs)(`p`,{className:`text-xs`,"data-testid":`network-cloud-status-ready`,children:[j(e,r),i?` · ${i}`:``]}):(0,W.jsxs)(`p`,{className:`text-xs text-muted-foreground`,"data-testid":`network-cloud-status-none`,children:[j(e,`system.network.cloudStatus.none`),(0,W.jsx)(`span`,{className:`mt-0.5 block`,children:j(e,`system.network.cloudStatus.none.hint`)})]})]})}var Z=[`proposal_first`,`workspace_writes_auto`,`knowledge_reads_auto`,`exec_auto`,`computer_observation_auto`,`computer_control_auto`,`circuit_breakers`];function re(e){return e===`strict`?{proposal_first:!0,workspace_writes_auto:!1,knowledge_reads_auto:!1,exec_auto:!1,computer_observation_auto:!1,computer_control_auto:!1,circuit_breakers:!0}:e===`trusted`?{proposal_first:!1,workspace_writes_auto:!0,knowledge_reads_auto:!0,exec_auto:!1,computer_observation_auto:!0,computer_control_auto:!1,circuit_breakers:!0}:e===`bypass`?{proposal_first:!1,workspace_writes_auto:!0,knowledge_reads_auto:!0,exec_auto:!0,computer_observation_auto:!0,computer_control_auto:!0,circuit_breakers:!0}:null}function ie(e){return{proposal_first:!!e.proposal_first,workspace_writes_auto:!!e.workspace_writes_auto,knowledge_reads_auto:!!e.knowledge_reads_auto,exec_auto:!!e.exec_auto,computer_observation_auto:!!e.computer_observation_auto,computer_control_auto:!!e.computer_control_auto,circuit_breakers:e.circuit_breakers!==!1}}function ae(e,t,n){return n===`auto`?j(e,t?`system.permission.preview.auto`:`system.permission.preview.ask`):j(e,t?`system.permission.preview.on`:`system.permission.preview.off`)}function oe(e,t){let n=`system.permission.risk.${t}`,r=j(e,n);return r===n?t:r}function se(e,t,n,r){let i=re(n.id),a=i===null,o=[{id:`risk`,label:j(e,`system.permission.preview.risk`),current:oe(e,t.risk),next:oe(e,n.risk),changed:t.risk!==n.risk},{id:`ack`,label:j(e,`system.permission.preview.ack`),current:j(e,t.requires_ack?`system.permission.preview.ack.yes`:`system.permission.preview.ack.no`),next:j(e,n.requires_ack?`system.permission.preview.ack.yes`:`system.permission.preview.ack.no`),changed:!!t.requires_ack!=!!n.requires_ack}];if(i)for(let t of Z){let n=r[t],a=i[t],s=t===`proposal_first`||t===`circuit_breakers`?`on`:`auto`;o.push({id:t,label:j(e,`system.permission.preview.cap.${t}`),current:ae(e,n,s),next:ae(e,a,s),changed:n!==a})}return{rows:o,fromCatalogOnly:a}}function ce(e,t){return{label:w(e,t),summary:T(e,t)}}var le={low:`success`,medium:`warning`,high:`danger`};function ue(){let e=r(),t=z(e=>e.language),[n,o]=U.useState(null),[s,c]=U.useState(!1),d=k({queryKey:[`permissionMode`],queryFn:R.permissionMode}),f=i({mutationFn:e=>R.setPermissionMode(e.mode,e.ack),onSuccess:t=>{t.ok&&(e.invalidateQueries({queryKey:[`permissionMode`]}),o(null),c(!1))}}),m=d.data?.ok?d.data.data:void 0,_=m?.catalog??[],v=m?.mode??``,y=n??v,x=_.find(e=>e.id===y),S=x?.requires_ack&&y!==v?x:void 0,O=S!==void 0&&!s,A=y===v,M=_.find(e=>e.id===v),N=!A&&x&&M&&m?se(t,M,x,ie(m)):null,P=M?ce(M,t):null,F=x?ce(x,t):null;return d.isLoading?(0,W.jsxs)(h,{children:[(0,W.jsx)(l,{children:(0,W.jsx)(a,{children:j(t,`system.permission.title`)})}),(0,W.jsx)(p,{children:(0,W.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:j(t,`ui.loading`)})})]}):!m||_.length===0?(0,W.jsxs)(h,{children:[(0,W.jsx)(l,{children:(0,W.jsx)(a,{children:j(t,`system.permission.title`)})}),(0,W.jsx)(p,{children:(0,W.jsx)(g,{title:j(t,`ui.requestUnavailable`),detail:d.data?.error})})]}):(0,W.jsxs)(h,{className:`settings-dial`,"data-testid":`permission-mode-panel`,children:[(0,W.jsxs)(l,{children:[(0,W.jsx)(a,{children:j(t,`system.permission.title`)}),(0,W.jsx)(u,{children:j(t,`system.permission.hint`)})]}),(0,W.jsxs)(p,{className:`space-y-3`,children:[(0,W.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[j(t,`system.permission.current`),`:`,` `,(0,W.jsx)(`strong`,{"data-testid":`permission-mode-active`,children:E(m,t)})]}),(0,W.jsx)(`div`,{className:`space-y-2`,role:`radiogroup`,"aria-label":j(t,`system.permission.title`),children:_.map(e=>{let n=e.id===y;return(0,W.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,"data-testid":`permission-mode-option-${e.id}`,onClick:()=>{o(e.id),c(!1),f.reset()},className:`settings-dial-option ${n?`is-active`:``}`,children:[(0,W.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`strong`,{className:`text-sm`,children:w(e,t)}),(0,W.jsx)(b,{variant:le[e.risk]||`warning`,children:j(t,`system.permission.risk.${e.risk}`)}),e.id===v?(0,W.jsx)(b,{variant:`muted`,children:j(t,`system.permission.current`)}):null]}),(0,W.jsx)(`p`,{className:`mt-1 block text-xs text-muted-foreground`,children:T(e,t)})]},e.id)})}),N&&P&&F?(0,W.jsxs)(`div`,{className:`settings-preview`,"data-testid":`permission-mode-preview`,children:[(0,W.jsx)(`p`,{className:`settings-preview-title`,children:j(t,`system.permission.preview.title`)}),(0,W.jsx)(`p`,{className:`settings-preview-hint`,children:j(t,`system.permission.preview.hint`)}),(0,W.jsxs)(`div`,{className:`settings-preview-pair`,children:[(0,W.jsxs)(`div`,{className:`settings-preview-col`,children:[(0,W.jsx)(`span`,{children:j(t,`system.permission.preview.from`)}),(0,W.jsx)(`strong`,{children:P.label}),(0,W.jsx)(`p`,{children:P.summary})]}),(0,W.jsxs)(`div`,{className:`settings-preview-col is-next`,children:[(0,W.jsx)(`span`,{children:j(t,`system.permission.preview.to`)}),(0,W.jsx)(`strong`,{children:F.label}),(0,W.jsx)(`p`,{children:F.summary})]})]}),(0,W.jsx)(`ul`,{className:`settings-preview-rows`,children:N.rows.filter(e=>e.changed).map(e=>(0,W.jsxs)(`li`,{"data-testid":`permission-mode-preview-row-${e.id}`,children:[(0,W.jsx)(`span`,{className:`settings-preview-row-label`,children:e.label}),(0,W.jsx)(`span`,{className:`settings-preview-row-from`,children:e.current}),(0,W.jsx)(`span`,{className:`settings-preview-row-to`,children:e.next})]},e.id))}),N.fromCatalogOnly?(0,W.jsx)(`p`,{className:`settings-preview-limit`,"data-testid":`permission-mode-preview-limit`,children:j(t,`system.permission.preview.unknown`)}):null]}):null,S?(0,W.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border bg-muted p-3`,children:[(0,W.jsxs)(`p`,{className:`flex items-start gap-2 text-xs`,children:[(0,W.jsx)(D,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,W.jsx)(`span`,{children:C(S,t)})]}),(0,W.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,W.jsx)(`input`,{type:`checkbox`,"data-testid":`permission-mode-ack`,checked:s,onChange:e=>c(e.target.checked)}),j(t,`system.permission.ack`)]})]}):null,(0,W.jsx)(B,{"data-testid":`permission-mode-apply`,disabled:A||O||f.isPending,onClick:()=>f.mutate({mode:y,ack:s}),children:j(t,`system.permission.apply`)}),f.data&&!f.data.ok?(0,W.jsx)(g,{title:j(t,`ui.requestUnavailable`),detail:f.data.error}):null,f.data?.ok?(0,W.jsx)(b,{variant:`success`,"data-testid":`permission-mode-applied`,children:j(t,`ui.requestCompleted`)}):null,(0,W.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,W.jsx)(`p`,{className:`text-xs font-medium`,children:j(t,`system.permission.guards`)}),(0,W.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:j(t,`system.permission.guards.detail`)})]})]})]})}var de=[{id:`identity`,labelKey:`system.group.identity`},{id:`data`,labelKey:`system.group.data`},{id:`system`,labelKey:`system.group.system`}],fe=[{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 pe({initialTab:e}){let t=z(e=>e.mode),n=z(e=>e.language),[r,i]=U.useState(e||`account`);U.useEffect(()=>{fe.some(t=>t.id===e)&&i(e)},[e]);let a=t===`basic`?fe.filter(e=>e.id===`account`||e.id===`workspaces`||e.id===`snapshots`||e.id===`settings`):fe,o=e=>{i(e),F(`/`+{account:`account`,workspaces:`workspace-admin`,snapshots:`snapshots`,activity:`activity`,network:`network`,settings:`settings`,admin:`system-admin`}[e])};return(0,W.jsxs)(`div`,{className:`product-page settings-page space-y-5 pb-8`,children:[(0,W.jsxs)(`header`,{className:`page-hero`,children:[(0,W.jsxs)(`div`,{className:`page-kicker`,children:[(0,W.jsx)(P,{className:`h-4 w-4`}),` `,j(n,`system.kicker`)]}),(0,W.jsx)(`h1`,{className:`page-title`,children:j(n,`system.title`)}),(0,W.jsx)(`p`,{className:`page-copy`,children:j(n,`system.body`)})]}),(0,W.jsx)(`div`,{className:`system-tab-groups`,"data-testid":`system-tab-groups`,children:de.map(e=>({group:e,items:a.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,W.jsxs)(`div`,{className:`system-tab-group`,children:[(0,W.jsx)(`span`,{id:i,className:`system-tab-group-label`,children:j(n,e.labelKey)}),(0,W.jsx)(c,{ariaLabelledBy:i,tabs:t.map(e=>({id:e.id,label:j(n,e.labelKey)})),value:r,onChange:e=>o(e)})]},e.id)})}),r===`account`?(0,W.jsx)(me,{}):null,r===`workspaces`?(0,W.jsx)(ge,{}):null,r===`settings`?(0,W.jsx)(be,{}):null,r===`snapshots`?(0,W.jsx)(_e,{}):null,r===`activity`?(0,W.jsx)(ve,{}):null,r===`network`?(0,W.jsx)(ye,{}):null,r===`admin`?(0,W.jsx)(Oe,{}):null]})}function me(){let e=r(),t=z(e=>e.language),n=z(e=>e.setWorkspaceId),c=k({queryKey:[`profile`],queryFn:R.profile}),d=k({queryKey:[`sso`],queryFn:R.ssoConfig}),[f,g]=U.useState(``),[_,y]=U.useState(``),[b,x]=U.useState(``),[S,C]=U.useState(``),[w,T]=U.useState(``),E=e=>{e.ok&&(L(),n(null))},D=i({mutationFn:()=>R.login(f,_),onSuccess:E}),A=i({mutationFn:()=>R.register({email:f,password:_,name:b,nickname:S}),onSuccess:E}),M=i({mutationFn:()=>R.updateProfile({name:b,nickname:S}),onSuccess:()=>e.invalidateQueries({queryKey:[`profile`]})}),N=i({mutationFn:()=>R.changePassword(_,w)});return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(m,{title:j(t,`system.account.profile`),result:c.data,children:e=>(0,W.jsx)(o,{data:e})}),(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsxs)(a,{className:`flex items-center gap-2`,children:[(0,W.jsx)(O,{className:`h-4 w-4`}),` `,j(t,`system.account.title`)]}),(0,W.jsx)(u,{children:j(t,`system.account.detail`)})]}),(0,W.jsxs)(p,{className:`flex flex-col gap-3`,children:[(0,W.jsx)(V,{value:f,onChange:e=>g(e.target.value),placeholder:j(t,`system.account.email`)}),(0,W.jsx)(V,{type:`password`,value:_,onChange:e=>y(e.target.value),placeholder:j(t,`system.account.password`)}),(0,W.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,W.jsx)(V,{value:b,onChange:e=>x(e.target.value),placeholder:j(t,`system.account.name`)}),(0,W.jsx)(V,{value:S,onChange:e=>C(e.target.value),placeholder:j(t,`system.account.nickname`)})]}),(0,W.jsx)(V,{type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:j(t,`system.account.newPassword`)}),(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(B,{onClick:()=>D.mutate(),disabled:!f||!_||D.isPending,children:j(t,`system.account.login`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>A.mutate(),disabled:!f||!_||A.isPending,children:j(t,`system.account.register`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>M.mutate(),disabled:M.isPending,children:j(t,`system.account.save`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>N.mutate(),disabled:!_||!w||N.isPending,children:j(t,`system.account.changePassword`)}),(0,W.jsx)(v,{label:j(t,`system.account.logout`),action:()=>R.logout(),onSuccess:E})]}),[D.data,A.data,M.data,N.data].filter(Boolean).map((e,n)=>(0,W.jsx)(s,{result:e,successLabel:j(t,`system.account.requestDone`)},n))]})]}),(0,W.jsx)(m,{title:j(t,`system.account.signInOptions`),result:d.data,children:e=>(0,W.jsx)(he,{data:e})})]})}function he({data:e}){let t=z(e=>e.mode),n=z(e=>e.language),r=!!e.enabled||M(e.providers).length>0;return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)($,{title:j(n,r?`system.account.signIn.sso`:`system.account.signIn.localOnly`),status:j(n,r?`system.value.enabled`:`system.storage.local.badge`),detail:j(n,r?`system.account.signIn.ssoDetail`:`system.account.signIn.localOnlyDetail`)}),t===`basic`?null:(0,W.jsx)(y,{value:e})]})}function ge(){let e=r(),t=z(e=>e.language),{setWorkspaceId:n}=z(),o=k({queryKey:[`workspaceRegistry`],queryFn:R.workspaceRegistry}),s=k({queryKey:[`invitations`],queryFn:R.invitations}),[c,f]=U.useState(``),[g,_]=U.useState(``),[y,b]=U.useState(``),x=i({mutationFn:()=>R.createOrg(c),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),S=i({mutationFn:()=>R.createInvitation({email:g||null,role:`member`,expires_hours:168}),onSuccess:()=>e.invalidateQueries({queryKey:[`invitations`]})}),C=i({mutationFn:()=>R.acceptInvitation(y),onSuccess:()=>e.invalidateQueries({queryKey:[`workspaceRegistry`]})}),w=M(o.data?.data?.workspaces);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(m,{title:j(t,`system.workspace.yours`),result:o.data,children:()=>(0,W.jsx)(`div`,{className:`flex flex-col gap-2`,children:w.map(e=>{let r=String(e.workspace_id||e.id);return(0,W.jsx)(`div`,{className:`rounded-md border border-border p-3`,children:(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`font-medium`,children:String(e.name||r)}),(0,W.jsxs)(`div`,{className:`text-sm text-muted-foreground`,children:[String(e.type||``),` · `,String(e.your_role||e.role||``)]})]}),(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(B,{variant:`outline`,onClick:()=>n(r),children:j(t,`system.workspace.use`)}),(0,W.jsx)(v,{label:j(t,`system.workspace.activate`),action:()=>R.activateWorkspace(r),invalidate:[`workspaceRegistry`]}),(0,W.jsx)(v,{label:j(t,`system.workspace.archive`),action:()=>R.archiveWorkspace(r),invalidate:[`workspaceRegistry`],variant:`destructive`})]})]})},r)})})}),(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsxs)(a,{className:`flex items-center gap-2`,children:[(0,W.jsx)(te,{className:`h-4 w-4`}),` `,j(t,`system.workspace.organizations`)]}),(0,W.jsx)(u,{children:j(t,`system.workspace.organizationsHint`)})]}),(0,W.jsxs)(p,{className:`flex flex-col gap-3`,children:[(0,W.jsx)(V,{value:c,onChange:e=>f(e.target.value),placeholder:j(t,`system.workspace.orgPlaceholder`)}),(0,W.jsx)(B,{disabled:!c.trim()||x.isPending,onClick:()=>x.mutate(),children:j(t,`system.workspace.createOrg`)}),(0,W.jsx)(V,{value:g,onChange:e=>_(e.target.value),placeholder:j(t,`system.workspace.inviteeEmail`)}),(0,W.jsx)(B,{variant:`outline`,disabled:S.isPending,onClick:()=>S.mutate(),children:j(t,`system.workspace.createInvite`)}),(0,W.jsx)(V,{value:y,onChange:e=>b(e.target.value),placeholder:j(t,`system.workspace.inviteToken`)}),(0,W.jsx)(B,{variant:`outline`,disabled:!y.trim()||C.isPending,onClick:()=>C.mutate(),children:j(t,`system.workspace.acceptInvite`)}),(0,W.jsx)(m,{title:j(t,`system.workspace.invitations`),result:s.data,children:e=>(0,W.jsx)(d,{items:e.invitations,titleKey:`token`,metaKey:`role`})})]})]})]})}function _e(){let e=z(e=>e.language),t=k({queryKey:[`snapshots`],queryFn:R.snapshots}),n=k({queryKey:[`timeMachine`],queryFn:R.timeMachine}),[r,o]=U.useState(``),[c,f]=U.useState(``),[g,_]=U.useState(``),y=i({mutationFn:()=>R.createSnapshot(r||j(e,`system.snapshots.defaultName`))}),b=i({mutationFn:()=>R.compareSnapshots(c,g)}),x=M(t.data?.data?.snapshots);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(m,{title:j(e,`system.snapshots.title`),result:t.data,children:()=>(0,W.jsx)(`div`,{className:`space-y-2`,children:x.map(t=>{let n=String(t.id||t.snapshot_id);return(0,W.jsxs)(`div`,{className:`rounded-md border border-border p-3`,children:[(0,W.jsx)(`div`,{className:`font-medium`,children:String(t.name||n)}),(0,W.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,W.jsx)(v,{label:j(e,`system.snapshots.export`),action:()=>R.exportSnapshot(n)}),(0,W.jsx)(v,{label:j(e,`system.snapshots.mergeRestore`),action:()=>R.restoreSnapshot(n),variant:`outline`})]})]},n)})})}),(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsx)(a,{children:j(e,`system.snapshots.actions`)}),(0,W.jsx)(u,{children:j(e,`system.snapshots.actionsHint`)})]}),(0,W.jsxs)(p,{className:`flex flex-col gap-3`,children:[(0,W.jsx)(V,{value:r,onChange:e=>o(e.target.value),placeholder:j(e,`system.snapshots.namePlaceholder`)}),(0,W.jsx)(B,{onClick:()=>y.mutate(),disabled:y.isPending,children:j(e,`system.snapshots.create`)}),(0,W.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,W.jsx)(V,{value:c,onChange:e=>f(e.target.value),placeholder:j(e,`system.snapshots.beforeId`)}),(0,W.jsx)(V,{value:g,onChange:e=>_(e.target.value),placeholder:j(e,`system.snapshots.afterId`)})]}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>b.mutate(),disabled:!c||!g||b.isPending,children:j(e,`system.snapshots.compare`)}),b.data?(0,W.jsx)(s,{result:b.data,successLabel:j(e,`system.snapshots.compareDone`)}):null]})]}),(0,W.jsx)(m,{title:j(e,`system.snapshots.timeline`),result:n.data,children:e=>(0,W.jsx)(d,{items:e.events||e,titleKey:`event`,metaKey:`type`,limit:14})})]})}function ve(){let e=z(e=>e.language),t=k({queryKey:[`realtimeFeed`],queryFn:R.realtimeFeed}),n=k({queryKey:[`presence`],queryFn:R.presence});return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(m,{title:j(e,`system.activity.feed`),result:t.data,children:e=>(0,W.jsx)(d,{items:e.events,titleKey:`event_type`,metaKey:`area`,limit:14})}),(0,W.jsx)(m,{title:j(e,`system.activity.presence`),result:n.data,children:e=>(0,W.jsx)(xe,{data:e})})]})}function ye(){let e=r(),t=z(e=>e.language),n=k({queryKey:[`networkIdentity`],queryFn:R.networkIdentity}),o=k({queryKey:[`networkPeers`],queryFn:R.networkPeers}),[c,d]=U.useState(``),[f,g]=U.useState(``),[_,y]=U.useState(``),b=i({mutationFn:()=>R.pairPeer({name:c,base_url:f,public_key:_}),onSuccess:()=>e.invalidateQueries({queryKey:[`networkPeers`]})});return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(m,{title:j(t,`system.network.identity`),result:n.data,children:e=>(0,W.jsx)(Se,{data:e})}),(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsxs)(a,{className:`flex items-center gap-2`,children:[(0,W.jsx)(S,{className:`h-4 w-4`}),` `,j(t,`system.network.pair`)]}),(0,W.jsx)(u,{children:j(t,`system.network.pairHint`)})]}),(0,W.jsxs)(p,{className:`grid gap-3`,children:[(0,W.jsx)(V,{value:c,onChange:e=>d(e.target.value),placeholder:j(t,`system.network.deviceName`)}),(0,W.jsx)(V,{value:f,onChange:e=>g(e.target.value),placeholder:j(t,`system.network.address`)}),(0,W.jsx)(V,{value:_,onChange:e=>y(e.target.value),placeholder:j(t,`system.network.publicKey`)}),(0,W.jsx)(B,{disabled:!c||!f||!_||b.isPending,onClick:()=>b.mutate(),children:j(t,`system.network.pair`)}),b.data?(0,W.jsx)(s,{result:b.data,successLabel:j(t,`system.network.pairDone`)}):null]})]}),(0,W.jsx)(m,{title:j(t,`system.network.peers`),result:o.data,className:`xl:col-span-2`,children:e=>(0,W.jsx)(`div`,{className:`grid gap-2`,children:M(e.peers).map(e=>{let n=String(e.peer_id||e.id);return(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-md border border-border p-3`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`font-medium`,children:String(e.name||n)}),(0,W.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:String(e.base_url||``)})]}),(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(v,{label:j(t,`system.network.pushWorkspace`),action:()=>R.pushPeer(n,z.getState().workspaceId)}),(0,W.jsx)(v,{label:j(t,`system.network.unpair`),action:()=>R.unpairPeer(n),invalidate:[`networkPeers`],variant:`destructive`})]})]},n)})})})]})}function be(){let e=r(),{theme:t,setTheme:n,mode:o,setMode:c}=z(),d=z(e=>e.language),f=k({queryKey:[`health`],queryFn:R.health}),g=k({queryKey:[`sysinfo`],queryFn:R.sysinfo}),_=k({queryKey:[`computerMemory`],queryFn:R.computerMemory}),b=k({queryKey:[`brainStorage`],queryFn:R.brainStorage}),S=k({queryKey:[`backupHealth`],queryFn:R.backupHealth}),[C,w]=U.useState(``),[T,E]=U.useState(`lattice_brain`),[D,O]=U.useState(!1),[A,M]=U.useState(``),[N,P]=U.useState(``),[F,I]=U.useState(``),[L,ee]=U.useState(!1),[H,te]=U.useState(!1),G=i({mutationFn:e=>R.dockerPostgres({consent:e,dry_run:!e,port:5432})}),K=i({mutationFn:()=>R.migratePostgres({dsn:C,schema_name:T||`lattice_brain`,dry_run:!0})}),q=i({mutationFn:()=>R.brainArchive({path:A.trim()||null,passphrase:F}),onSuccess:()=>e.invalidateQueries({queryKey:[`backupHealth`]})}),J=i({mutationFn:()=>R.brainArchiveInspect({path:N,passphrase:F||null})}),Y=i({mutationFn:()=>R.brainArchiveVerify({path:N,passphrase:F})}),X=i({mutationFn:()=>R.brainArchiveRestore({path:N,passphrase:F,dry_run:!0,confirm:!1})}),Z=i({mutationFn:()=>R.brainArchiveRestore({path:N,passphrase:F,dry_run:!1,confirm:L}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}}),re=i({mutationFn:()=>R.brainArchiveImport({path:N,passphrase:F,dry_run:!0,confirm:!1})}),ie=i({mutationFn:()=>R.brainArchiveImport({path:N,passphrase:F,dry_run:!1,confirm:H}),onSuccess:()=>{e.invalidateQueries({queryKey:[`brainStorage`]}),e.invalidateQueries({queryKey:[`backupHealth`]})}});return(0,W.jsxs)(`div`,{className:`flex flex-col gap-4 max-w-[54rem]`,children:[(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsx)(a,{children:j(d,`system.panel.appearance`)}),(0,W.jsx)(u,{children:j(d,`system.panel.appearance.hint`)})]}),(0,W.jsxs)(p,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(B,{variant:t===`dark`?`default`:`outline`,onClick:()=>n(`dark`),children:j(d,`system.theme.dark`)}),(0,W.jsx)(B,{variant:t===`light`?`default`:`outline`,onClick:()=>n(`light`),children:j(d,`system.theme.light`)})]})]}),(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsx)(a,{children:j(d,`system.panel.detailLevel`)}),(0,W.jsx)(u,{children:j(d,`system.panel.detailLevel.hint`)})]}),(0,W.jsx)(p,{className:`flex flex-wrap gap-2`,children:[`basic`,`advanced`,`admin`].map(e=>(0,W.jsx)(B,{variant:o===e?`default`:`outline`,onClick:()=>c(e),children:j(d,`shell.mode.${e}`)},e))})]}),(0,W.jsx)(ue,{}),(0,W.jsx)(ne,{}),(0,W.jsx)(m,{title:o===`basic`?j(d,`system.panel.brainStatus`):j(d,`system.panel.serverHealth`),result:f.data,children:e=>(0,W.jsx)(Ce,{data:e})}),(0,W.jsx)(m,{title:o===`basic`?j(d,`system.panel.readiness`):j(d,`system.panel.hostTelemetry`),result:g.data,children:e=>{if(o===`basic`){let t=String(e?.readiness||`roomy`),n=t===`tight`||t===`low`||t===`roomy`?`system.readiness.${t}`:`system.readiness.plenty`;return(0,W.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,W.jsx)(x,{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,W.jsx)(`span`,{children:j(d,n)})]})}return(0,W.jsx)(y,{value:e})}}),(0,W.jsx)(m,{title:o===`basic`?j(d,`system.storage.title`):j(d,`system.panel.brainStorage`),result:b.data,children:e=>(0,W.jsx)(we,{data:e,mode:o,language:d})}),o===`basic`?null:(0,W.jsx)(m,{title:j(d,`system.backup.health`),result:S.data,children:e=>(0,W.jsx)(Te,{data:e})}),o===`basic`?null:(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsx)(a,{children:j(d,`system.archive.title`)}),(0,W.jsx)(u,{children:j(d,`system.archive.detail`)})]}),(0,W.jsxs)(p,{className:`flex flex-col gap-3`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,W.jsx)(V,{value:A,onChange:e=>M(e.target.value),placeholder:j(d,`system.archive.exportPath`)}),(0,W.jsx)(V,{value:N,onChange:e=>P(e.target.value),placeholder:j(d,`system.archive.restorePath`)})]}),(0,W.jsx)(V,{type:`password`,value:F,onChange:e=>I(e.target.value),placeholder:j(d,`system.archive.passphrase`)}),(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(B,{onClick:()=>q.mutate(),disabled:!F||q.isPending,children:j(d,`system.archive.export`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>J.mutate(),disabled:!N||J.isPending,children:j(d,`system.archive.inspect`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>Y.mutate(),disabled:!N||!F||Y.isPending,children:j(d,`system.archive.verify`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>X.mutate(),disabled:!N||!F||X.isPending,children:j(d,`system.archive.restoreDryRun`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>re.mutate(),disabled:!N||!F||re.isPending,children:j(d,`system.archive.importDryRun`)}),(0,W.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:L,onChange:e=>ee(e.target.checked)}),j(d,`system.archive.confirmRestore`)]}),(0,W.jsx)(B,{variant:`destructive`,onClick:()=>Z.mutate(),disabled:!N||!F||!L||Z.isPending,children:j(d,`system.archive.restore`)}),(0,W.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:H,onChange:e=>te(e.target.checked)}),j(d,`system.archive.confirmImport`)]}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>ie.mutate(),disabled:!N||!F||!H||ie.isPending,children:j(d,`system.archive.import`)})]}),[q.data,J.data,Y.data,X.data,Z.data,re.data,ie.data].filter(Boolean).map((e,t)=>(0,W.jsx)(s,{result:e,successLabel:j(d,`system.archive.requestDone`)},t))]})]}),o===`basic`?null:(0,W.jsxs)(h,{children:[(0,W.jsxs)(l,{children:[(0,W.jsx)(a,{children:j(d,`system.scale.title`)}),(0,W.jsx)(u,{children:j(d,`system.scale.detail`)})]}),(0,W.jsxs)(p,{className:`flex flex-col gap-3`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2`,children:[(0,W.jsx)(V,{value:C,onChange:e=>w(e.target.value),placeholder:j(d,`system.scale.dsn`)}),(0,W.jsx)(V,{value:T,onChange:e=>E(e.target.value),placeholder:j(d,`system.scale.schema`)})]}),(0,W.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,W.jsx)(B,{variant:`outline`,onClick:()=>G.mutate(!1),disabled:G.isPending,children:j(d,`system.scale.dockerPlan`)}),(0,W.jsxs)(`label`,{className:`flex items-center gap-2 rounded-md border border-border px-3 py-2 text-sm`,children:[(0,W.jsx)(`input`,{type:`checkbox`,checked:D,onChange:e=>O(e.target.checked)}),j(d,`system.scale.dockerConsent`)]}),(0,W.jsx)(B,{onClick:()=>G.mutate(!0),disabled:!D||G.isPending,children:j(d,`system.scale.dockerStart`)}),(0,W.jsx)(B,{variant:`outline`,onClick:()=>K.mutate(),disabled:!C||K.isPending,children:j(d,`system.scale.migrationPlan`)})]}),G.data?(0,W.jsx)(s,{result:G.data,successLabel:j(d,`system.scale.dockerDone`)}):null,K.data?(0,W.jsx)(s,{result:K.data,successLabel:j(d,`system.scale.migrationDone`)}):null]})]}),o===`basic`?null:(0,W.jsx)(m,{title:j(d,`system.computerMemory.title`),result:_.data,children:e=>(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(y,{value:e}),(0,W.jsxs)(`div`,{className:`flex gap-2`,children:[(0,W.jsx)(v,{label:j(d,`system.computerMemory.enable`),action:()=>R.setComputerMemory(!0),invalidate:[`computerMemory`]}),(0,W.jsx)(v,{label:j(d,`system.computerMemory.disable`),action:()=>R.setComputerMemory(!1),invalidate:[`computerMemory`],variant:`destructive`})]})]})})]})}function Q(e,t,n){return t==null||t===``?n:typeof t==`boolean`?j(e,t?`system.value.enabled`:`system.value.disabled`):String(t)}function xe({data:e}){let t=z(e=>e.language),n=M(e.presence||e.clients||e);return n.length?(0,W.jsx)(d,{items:n,titleKey:`user`,metaKey:`workspace_id`}):(0,W.jsx)(g,{title:j(t,`system.presence.empty`),detail:j(t,`system.presence.emptyDetail`)})}function Se({data:e}){let t=z(e=>e.mode),n=z(e=>e.language),r=Q(n,e.public_key,``);return t===`basic`?(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)($,{title:j(n,`system.device.thisMac`),status:j(n,`system.value.trusted`),detail:j(n,`system.device.thisMacDetail`)}),(0,W.jsx)(b,{variant:`muted`,children:Q(n,e.algorithm,j(n,`system.value.localIdentity`))})]}):(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(b,{variant:`success`,children:j(n,`system.value.localDevice`)}),(0,W.jsx)(b,{variant:`muted`,children:Q(n,e.algorithm,j(n,`system.value.identityKey`))})]}),(0,W.jsx)(o,{data:{device_id:e.device_id||e.id||j(n,`system.value.notReported`),fingerprint:e.fingerprint||j(n,`system.value.notReported`),public_key:r?N(r.replace(/\s+/g,` `),72):j(n,`system.value.notReported`)}})]})}function Ce({data:e}){let t=z(e=>e.mode),n=z(e=>e.language);return t===`basic`?(0,W.jsx)($,{title:j(n,`system.health.title`),status:j(n,`system.health.ok`),detail:j(n,`system.health.detail`)}):(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(f,{stats:[{label:j(n,`system.health.status`),value:e.status||e.ok||j(n,`system.value.reported`)},{label:j(n,`system.health.version`),value:e.version||j(n,`system.value.notReported`)},{label:j(n,`system.health.mode`),value:e.mode||e.environment||j(n,`system.value.local`)},{label:j(n,`system.health.port`),value:e.port||e.backend_port||j(n,`system.value.configured`)}]}),(0,W.jsx)(y,{value:e})]})}function we({data:e,mode:t,language:n}){let r=I(e.active)?e.active:e,i=I(e.postgres)?e.postgres:{},a=I(e.backup_health)?e.backup_health:{},o=r.vector_search||r.vector||e.vector_search||e.sqlite_vec,s=!!(i.available||i.connected||i.enabled),c=!!o&&String(o).toLowerCase()!==`not reported`;return t===`basic`?(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)($,{title:j(n,`system.storage.local.title`),status:j(n,`system.storage.local.badge`),detail:j(n,`system.storage.local.detail`)}),(0,W.jsx)($,{title:j(n,`system.storage.search.title`),status:c?j(n,`system.storage.search.on`):j(n,`system.storage.search.pending`),detail:c?j(n,`system.storage.search.detailOn`):j(n,`system.storage.search.detailPending`)})]}):(0,W.jsxs)(`div`,{className:`space-y-4`,children:[(0,W.jsx)(f,{stats:[{label:j(n,`system.storage.activeEngine`),value:r.engine||e.engine||j(n,`system.storage.sqlite`)},{label:j(n,`system.storage.sqliteDefault`),value:r.engine===`postgres`?j(n,`system.value.scaleMode`):j(n,`system.value.enabled`)},{label:j(n,`system.storage.vector`),value:o||j(n,`system.value.notReported`)},{label:j(n,`system.storage.postgres`),value:s?j(n,`system.value.available`):j(n,`system.value.optional`)}]}),(0,W.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-3`,children:[(0,W.jsx)($,{title:j(n,`system.storage.sqlite`),status:r.available===!1?j(n,`system.value.unavailable`):j(n,`system.value.default`),detail:Q(n,r.reason||r.path||e.path,j(n,`system.storage.sqliteDetail`))}),(0,W.jsx)($,{title:j(n,`system.storage.vector`),status:Q(n,o,j(n,`system.value.reported`)),detail:Q(n,r.vector_reason||r.sqlite_vec_reason||e.vector_reason,j(n,`system.storage.vectorDetail`))}),(0,W.jsx)($,{title:j(n,`system.storage.postgres`),status:s?j(n,`system.value.available`):j(n,`system.value.notEnabled`),detail:Q(n,i.reason||i.dsn||i.status,j(n,`system.storage.postgresDetail`))})]}),Object.keys(a).length?(0,W.jsx)(y,{value:{backup_health:a}}):null]})}function Te({data:e}){let t=z(e=>e.language);return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(f,{stats:[{label:j(t,`system.backup.available`),value:e.available===!1?j(t,`system.value.no`):j(t,`system.value.yes`)},{label:j(t,`system.backup.backups`),value:e.count||e.backups||0},{label:j(t,`system.backup.encrypted`),value:e.encrypted_archives||0},{label:j(t,`system.backup.zip`),value:e.zip_backups||0}]}),(0,W.jsx)(o,{data:{directory:e.directory||j(t,`system.value.notReported`),latest:e.latest||j(t,`system.value.noneReported`),last_verified:e.last_verified||e.verified_at||j(t,`system.value.notReported`),failure:e.error||e.reason||j(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,W.jsxs)(`div`,{className:`rounded-md border border-border bg-background p-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,W.jsx)(`div`,{className:`font-medium`,children:e}),(0,W.jsx)(b,{variant:r,children:t})]}),(0,W.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:n})]})}function Ee({data:e}){let t=z(e=>e.language),n=I(e.startup)?e.startup:{},r=I(e.privacy)?e.privacy:{},i=I(e.storage)?e.storage:{},a=I(e.backup)?e.backup:{},o=I(e.device_identity)?e.device_identity:{},s=I(e.permissions)?e.permissions:{};return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(f,{stats:[{label:j(t,`system.hardening.version`),value:e.version||j(t,`system.value.reported`)},{label:j(t,`system.hardening.localOnly`),value:r.local_only_default??n.local_only_default??j(t,`system.value.reported`)},{label:j(t,`system.hardening.storage`),value:I(i.active)?i.active.engine:j(t,`system.value.reported`)},{label:j(t,`system.hardening.backups`),value:a.count||a.available||j(t,`system.value.reported`)}]}),(0,W.jsxs)(`div`,{className:`flex flex-col sm:flex-row flex-wrap gap-3`,children:[(0,W.jsx)($,{title:j(t,`system.hardening.startup`),status:j(t,n.network_exposed?`system.value.networkExposed`:`system.value.localOnly`),detail:j(t,`system.hardening.startupDetail`)}),(0,W.jsx)($,{title:j(t,`system.hardening.integrations`),status:j(t,r.local_only_default===!1?`system.value.reviewRequired`:`system.value.optIn`),detail:j(t,`system.hardening.integrationsDetail`)}),(0,W.jsx)($,{title:j(t,`system.hardening.identity`),status:Q(t,o.algorithm||o.fingerprint,j(t,`system.value.reported`)),detail:Q(t,o.storage,j(t,`system.hardening.identityStorage`))}),(0,W.jsx)($,{title:j(t,`system.hardening.permissions`),status:j(t,s.destructive_restore_requires_confirmation===!1?`system.value.reviewRequired`:`system.value.guarded`),detail:j(t,`system.hardening.permissionsDetail`)})]})]})}function De({data:e}){let t=z(e=>e.language),n=I(e.cards)?e.cards:{},r=I(e.severity_counts)?e.severity_counts:{};return(0,W.jsxs)(`div`,{className:`space-y-3`,children:[(0,W.jsx)(f,{stats:[{label:j(t,`system.security.eventsToday`),value:n.events_today||0},{label:j(t,`system.security.highRisk`),value:n.high_risk_events||r.high||0},{label:j(t,`system.security.review`),value:n.review_required||0},{label:j(t,`system.security.riskRate`),value:e.risk_rate||0}]}),(0,W.jsx)(y,{value:{severity_counts:r,sensitive_fields:e.field_counts||{}}})]})}function Oe(){let e=z(e=>e.mode),t=z(e=>e.language),n=k({queryKey:[`adminSummary`],queryFn:R.adminSummary}),r=k({queryKey:[`adminUsers`],queryFn:R.adminUsers}),i=k({queryKey:[`adminAudit`],queryFn:()=>R.adminAudit()}),a=k({queryKey:[`adminRoles`],queryFn:R.adminRoles}),s=k({queryKey:[`adminPolicies`],queryFn:R.adminPolicies}),c=k({queryKey:[`adminProductHardening`],queryFn:R.adminProductHardening}),l=k({queryKey:[`adminSecurity`],queryFn:R.adminSecurity}),u=k({queryKey:[`vpcStatus`],queryFn:R.vpcStatus});return e===`admin`?(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(m,{title:j(t,`system.admin.summary`),result:n.data,children:e=>(0,W.jsx)(o,{data:e})}),(0,W.jsx)(m,{title:j(t,`system.admin.users`),result:r.data,children:e=>(0,W.jsx)(d,{items:e,titleKey:`email`,metaKey:`role`})}),(0,W.jsx)(m,{title:j(t,`system.admin.audit`),result:i.data,children:e=>(0,W.jsx)(d,{items:e.recent_events||e,titleKey:`act`,metaKey:`sev`})}),(0,W.jsx)(m,{title:j(t,`system.admin.roles`),result:a.data,children:e=>(0,W.jsx)(d,{items:e.roles||e,titleKey:`role`,metaKey:`members`})}),(0,W.jsx)(m,{title:j(t,`system.admin.policies`),result:s.data,children:e=>(0,W.jsx)(d,{items:e.policies||e,titleKey:`label`,metaKey:`enforced`})}),(0,W.jsx)(m,{title:j(t,`system.admin.hardening`),result:c.data,children:e=>(0,W.jsx)(Ee,{data:e})}),(0,W.jsx)(m,{title:j(t,`system.admin.security`),result:l.data,children:e=>(0,W.jsx)(De,{data:e})}),(0,W.jsx)(m,{title:j(t,`system.admin.vpc`),result:u.data,children:e=>(0,W.jsxs)(`div`,{className:`space-y-2`,children:[(0,W.jsx)(b,{variant:`muted`,children:j(t,`system.admin.communityUnavailable`)}),(0,W.jsx)(y,{value:e})]})})]}):(0,W.jsx)(_,{title:j(t,`system.admin.controls`),detail:j(t,`system.admin.controlsDetail`),target:`admin`})}export{pe as SystemPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{R as e}from"./index-D2H-wSl6.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};
|