ltcai 9.9.1 → 9.9.2
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 +15 -14
- package/docs/CHANGELOG.md +36 -0
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +1 -1
- package/docs/ONBOARDING.md +1 -1
- package/docs/OPERATIONS.md +1 -1
- package/docs/TRUST_MODEL.md +1 -1
- package/docs/WHY_LATTICE.md +1 -1
- package/docs/kg-schema.md +1 -1
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/runtime/multi_agent.py +1 -1
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/chat.py +3 -0
- package/latticeai/api/chat_agent_http.py +2 -1
- package/latticeai/api/chat_intents.py +130 -7
- package/latticeai/app_factory.py +1 -0
- package/latticeai/core/agent.py +114 -2
- package/latticeai/core/file_generation.py +58 -0
- package/latticeai/core/legacy_compatibility.py +1 -1
- package/latticeai/core/marketplace.py +1 -1
- package/latticeai/core/workspace_os.py +1 -1
- package/latticeai/services/app_context.py +3 -0
- package/latticeai/services/architecture_readiness.py +1 -1
- package/latticeai/services/product_readiness.py +6 -1
- package/latticeai/services/tool_dispatch.py +36 -0
- package/package.json +1 -1
- package/scripts/check_current_release_docs.mjs +1 -1
- package/src-tauri/Cargo.lock +1 -1
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +27 -27
- package/static/app/assets/{Act-CcSWTQsx.js → Act-Cx_gZNbE.js} +1 -1
- package/static/app/assets/{Brain-CSCDZEHd.js → Brain-BnGbytHa.js} +1 -1
- package/static/app/assets/BrainHome-CRUMJL93.js +2 -0
- package/static/app/assets/{BrainSignals-CmFD8PWk.js → BrainSignals-BP8-Qh2g.js} +1 -1
- package/static/app/assets/{Capture-BiuerOio.js → Capture-CAKnLcb0.js} +1 -1
- package/static/app/assets/{CommandPalette-BrqpT7K2.js → CommandPalette-BoUTXBfm.js} +1 -1
- package/static/app/assets/{Library-BcaiPbum.js → Library-PcfVUco6.js} +1 -1
- package/static/app/assets/{LivingBrain-6FvA0H5T.js → LivingBrain-C3VbogVo.js} +1 -1
- package/static/app/assets/{ProductFlow-Cr8bkQPw.js → ProductFlow-BLau7c7N.js} +1 -1
- package/static/app/assets/{ReviewCard-D56TMypk.js → ReviewCard-CX5RqRqx.js} +1 -1
- package/static/app/assets/{System-D6uJacqu.js → System-DRHc_6Su.js} +1 -1
- package/static/app/assets/{bot-DgC7xgUl.js → bot-DZkDdh-A.js} +1 -1
- package/static/app/assets/{cpu-DDGb4XHl.js → cpu-DyvsDBbj.js} +1 -1
- package/static/app/assets/{download-C-Ei3GFa.js → download-C7yxYHvz.js} +1 -1
- package/static/app/assets/{folder-open-BbVuSO9M.js → folder-open-CffoIr9t.js} +1 -1
- package/static/app/assets/{hard-drive-yDZR6XYz.js → hard-drive-C1oojrHb.js} +1 -1
- package/static/app/assets/{index-DrZSkwrE.js → index-BS_3aN1n.js} +3 -3
- package/static/app/assets/index-DU78Kogz.css +2 -0
- package/static/app/assets/{input-DPIkTs9n.js → input-B_U7zvbR.js} +1 -1
- package/static/app/assets/{navigation-B1mkmyUe.js → navigation-xG-gyjbe.js} +1 -1
- package/static/app/assets/{network-0XDI1Uf_.js → network-BF13HJJF.js} +1 -1
- package/static/app/assets/{primitives-sIQYKyf5.js → primitives-DsuKh3M8.js} +1 -1
- package/static/app/assets/{sunrise-DXMjueec.js → sunrise-CIP2ELJ1.js} +1 -1
- package/static/app/assets/{textarea-DvnwpnqS.js → textarea-DsDL4ET8.js} +1 -1
- package/static/app/assets/utils-Dh-Dwtkb.js +7 -0
- package/static/app/index.html +4 -4
- package/static/sw.js +1 -1
- package/static/app/assets/BrainHome-B5QpJ1Fx.js +0 -2
- package/static/app/assets/index-CFRhNBuH.css +0 -2
- package/static/app/assets/utils-BrfFHAJl.js +0 -7
package/static/app/index.html
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
<link rel="manifest" href="/manifest.json" />
|
|
9
9
|
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32.png" />
|
|
10
10
|
<script src="/static/app/theme-boot.js"></script>
|
|
11
|
-
<script type="module" crossorigin src="/static/app/assets/index-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/static/app/assets/utils-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/static/app/assets/navigation-
|
|
14
|
-
<link rel="stylesheet" crossorigin href="/static/app/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/static/app/assets/index-BS_3aN1n.js"></script>
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/static/app/assets/utils-Dh-Dwtkb.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/static/app/assets/navigation-xG-gyjbe.js">
|
|
14
|
+
<link rel="stylesheet" crossorigin href="/static/app/assets/index-DU78Kogz.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
17
17
|
<div id="root"></div>
|
package/static/sw.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Lattice Service Worker — PWA install + offline shell for the /app SPA.
|
|
2
2
|
// Strategy: precache the Vite app bundle from its asset manifest,
|
|
3
3
|
// cache-first for static assets, network-only for everything dynamic.
|
|
4
|
-
const CACHE = "lattice-
|
|
4
|
+
const CACHE = "lattice-v992";
|
|
5
5
|
const MANIFEST_URL = "/static/app/asset-manifest.json";
|
|
6
6
|
|
|
7
7
|
// Non-manifest assets the shell needs offline.
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as e,b as t,h as n,m as r,p as i,t as a,u as o,v as s}from"./utils-BrfFHAJl.js";import{a as c,n as l,r as u,t as d}from"./navigation-B1mkmyUe.js";import{i as f,n as p,r as m,t as h}from"./LivingBrain-6FvA0H5T.js";import{t as g}from"./bot-DgC7xgUl.js";import{_,a as v,c as y,d as b,f as x,g as S,h as C,i as w,l as T,m as E,n as D,o as O,p as k,r as A,s as j,t as M,u as N}from"./BrainSignals-CmFD8PWk.js";import{b as P,y as F}from"./primitives-sIQYKyf5.js";import{n as I}from"./input-DPIkTs9n.js";import{t as ee}from"./cpu-DDGb4XHl.js";import{t as te}from"./download-C-Ei3GFa.js";import{n as ne,r as L,t as re}from"./hard-drive-yDZR6XYz.js";import{t as ie}from"./folder-open-BbVuSO9M.js";import{t as ae}from"./network-0XDI1Uf_.js";import{t as oe}from"./sunrise-DXMjueec.js";import{a as R,d as se,f as ce,h as le,i as z,l as ue,n as B,r as de,v as V,w as H,x as fe,y as U}from"./index-DrZSkwrE.js";import{t as W}from"./ReviewCard-D56TMypk.js";var pe=r(`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=r(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),he=r(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ge=r(`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`}]]),_e=r(`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`}]]),ve=r(`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`}]]),ye=r(`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`}]]),be=r(`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`}]]),G=r(`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`}]]),xe=r(`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`}]]),Se=r(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),Ce=r(`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`}]]),we=r(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Te=r(`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`}]]),Ee=r(`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`}]]),De=r(`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`}]]),Oe=r(`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`}]]),ke=r(`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`}]]),Ae=r(`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`}]]),je=r(`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`}]]),Me=r(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Ne=r(`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`}]]),K=t(s()),q=e();function Pe(e,t){return`${e}-cite-${t}`}function Fe({language:e,proof:t,messageId:n}){let r=e=>{let t=document.getElementById(Pe(n,e));t&&(t.scrollIntoView({behavior:`smooth`,block:`nearest`}),t.focus())};return(0,q.jsx)(`span`,{className:`brain-inline-citations`,"aria-label":i(e,`brain.answerProof.citationsLabel`,{count:t.citations.length}),children:t.citations.map((t,a)=>(0,q.jsx)(`button`,{type:`button`,className:`brain-inline-citation`,"aria-label":i(e,`brain.answerProof.marker`,{index:a+1}),"aria-controls":Pe(n,t.id),title:t.title,onClick:()=>r(t.id),children:a+1},t.id))})}function Ie({language:e,proof:t,messageId:n}){return(0,q.jsxs)(`section`,{className:`brain-answer-proof`,role:`group`,"aria-label":i(e,`brain.answerProof.aria`),children:[(0,q.jsxs)(`div`,{className:`brain-answer-proof-head`,children:[(0,q.jsx)(`span`,{children:i(e,`brain.answerProof.title`)}),(0,q.jsx)(`strong`,{children:t.provenAcrossModels?i(e,`brain.answerProof.modelProven`,{model:t.model}):i(e,`brain.answerProof.modelPending`,{model:t.model})}),t.citations.length?(0,q.jsx)(`small`,{className:`brain-answer-proof-count`,children:i(e,`brain.answerProof.citationsLabel`,{count:t.citations.length})}):null]}),t.citations.length?(0,q.jsx)(`ol`,{children:t.citations.map((r,a)=>(0,q.jsxs)(`li`,{id:Pe(n,r.id),tabIndex:-1,"aria-label":i(e,`brain.answerProof.citationItem`,{index:a+1,title:r.title}),children:[(0,q.jsx)(`span`,{className:`brain-answer-proof-index`,"aria-hidden":`true`,children:a+1}),(0,q.jsx)(`span`,{children:r.source}),(0,q.jsx)(`strong`,{children:r.title}),(0,q.jsx)(`small`,{children:r.snippet||t.query}),(0,q.jsx)(Le,{language:e,citation:r})]},r.id))}):(0,q.jsx)(`small`,{children:i(e,`brain.answerProof.empty`)})]})}function Le({language:e,citation:t}){let n=t.matchedTerms.length>0;return(0,q.jsxs)(`span`,{className:`brain-citation-why`,"aria-label":i(e,`brain.answerProof.why.aria`),children:[(0,q.jsx)(`em`,{className:`brain-citation-confidence is-${t.confidence}`,children:i(e,`brain.answerProof.confidence.${t.confidence}`)}),n?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`brain-citation-why-label`,children:i(e,`brain.answerProof.matched`)}),t.matchedTerms.slice(0,4).map(e=>(0,q.jsx)(`mark`,{children:e},e))]}):(0,q.jsx)(`span`,{className:`brain-citation-why-label`,children:i(e,`brain.answerProof.matched.none`)})]})}function Re({language:e}){let t=c(),[n,r]=K.useState(!1),[a,s]=K.useState(``),[l,d]=K.useState(``),[f,p]=K.useState(``),[m,h]=K.useState(null),g=u({queryKey:[`portability`],queryFn:o.graphPortability}),_=u({queryKey:[`backupHealth`],queryFn:o.backupHealth}),v=K.useCallback(e=>h(e),[]),y=a.trim()?Ue(a.trim(),e):``,b=l.trim()?We(l,e):``,x=!l||l===f,C=!!l.trim()&&x&&!b,w=!!a.trim()&&!y,T=J(()=>o.graphExport(),void 0,v),E=J(()=>o.graphBackup(),()=>{t.invalidateQueries({queryKey:[`backupHealth`]}),t.invalidateQueries({queryKey:[`portability`]})},v),D=J(()=>o.brainArchive({path:a.trim()||null,passphrase:l}),()=>void t.invalidateQueries({queryKey:[`backupHealth`]}),v),O=J(()=>o.brainArchiveInspect({path:a.trim(),passphrase:l||null}),void 0,v),k=J(()=>o.brainArchiveRestore({path:a.trim(),passphrase:l,dry_run:!0,confirm:!1}),void 0,v),A=Be(g.data?.data),j=Ve(_.data?.data,e);return(0,q.jsxs)(`section`,{className:`brain-care-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`care.title`),children:[(0,q.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-care-details`,onClick:()=>r(e=>!e),children:[(0,q.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(ue,{className:`h-3.5 w-3.5`}),` `,i(e,`care.title`)]}),(0,q.jsx)(`strong`,{children:i(e,`care.subtitle`)})]}),(0,q.jsxs)(`div`,{className:`brain-care-proof`,"aria-label":i(e,`care.ownershipModel`),children:[(0,q.jsx)(`span`,{children:i(e,`care.private`)}),(0,q.jsx)(`span`,{children:A}),(0,q.jsx)(`span`,{children:j})]}),(0,q.jsx)(V,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,q.jsxs)(`div`,{id:`brain-care-details`,className:`brain-care-details`,children:[(0,q.jsxs)(`div`,{className:`brain-care-actions`,children:[(0,q.jsx)(ze,{icon:(0,q.jsx)(te,{className:`h-3.5 w-3.5`}),label:i(e,`care.export`),detail:i(e,`care.export.detail`),pendingLabel:i(e,`care.working`),pending:T.isPending,onClick:()=>T.mutate()}),(0,q.jsx)(ze,{icon:(0,q.jsx)(S,{className:`h-3.5 w-3.5`}),label:i(e,`care.backup`),detail:i(e,`care.backup.detail`),pendingLabel:i(e,`care.working`),pending:E.isPending,onClick:()=>E.mutate()}),(0,q.jsx)(ze,{icon:(0,q.jsx)(pe,{className:`h-3.5 w-3.5`}),label:i(e,`care.archive`),detail:i(e,`care.archive.detail`),pendingLabel:i(e,`care.working`),pending:D.isPending,disabled:!C,onClick:()=>D.mutate()})]}),(0,q.jsxs)(`div`,{className:`brain-care-archive`,children:[(0,q.jsx)(`input`,{value:a,onChange:e=>s(e.target.value),placeholder:i(e,`care.path.placeholder`),"aria-label":i(e,`care.path.label`)}),(0,q.jsx)(`input`,{type:`password`,value:l,onChange:e=>d(e.target.value),placeholder:i(e,`care.passphrase.placeholder`),"aria-label":i(e,`care.passphrase.label`)}),(0,q.jsx)(`input`,{type:`password`,value:f,onChange:e=>p(e.target.value),placeholder:i(e,`care.passphrase.confirmPlaceholder`),"aria-label":i(e,`care.passphrase.confirmLabel`)}),(0,q.jsxs)(`div`,{className:`brain-care-guidance`,role:`status`,children:[y?(0,q.jsx)(`span`,{className:`is-error`,children:y}):a.trim()?(0,q.jsx)(`span`,{children:i(e,`care.path.ready`)}):null,b?(0,q.jsx)(`span`,{className:`is-error`,children:b}):l?(0,q.jsx)(`span`,{children:i(e,`care.passphrase.strong`)}):null,x?null:(0,q.jsx)(`span`,{className:`is-error`,children:i(e,`care.passphrase.mismatch`)})]}),(0,q.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,q.jsxs)(z,{variant:`outline`,size:`sm`,disabled:!w||O.isPending,onClick:()=>O.mutate(),children:[(0,q.jsx)(ve,{className:`h-3.5 w-3.5`}),` `,i(e,`care.inspect`)]}),(0,q.jsxs)(z,{variant:`outline`,size:`sm`,disabled:!w||!l.trim()||!x||k.isPending,onClick:()=>k.mutate(),children:[(0,q.jsx)(ce,{className:`h-3.5 w-3.5`}),` `,i(e,`care.restorePreview`)]})]})]}),m?(0,q.jsx)(`div`,{className:`brain-care-result ${m.ok?`is-ok`:`is-error`}`,role:`status`,children:(0,q.jsx)(He,{result:m,language:e})}):(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`care.note`)})]}):null]})}function J(e,t,n){return H({mutationFn:e,onSuccess:e=>{n?.(e),t?.()}})}function ze({icon:e,label:t,detail:n,pendingLabel:r,pending:i,disabled:a,onClick:o}){return(0,q.jsxs)(`button`,{className:`brain-care-button`,type:`button`,disabled:a||i,onClick:o,children:[e,(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`strong`,{children:i?r:t}),(0,q.jsx)(`small`,{children:n})]})]})}function Be(e){return C(b(e)?e:{},[`archive_format`,`format`,`graph_schema_version`,`schema_version`],`.latticebrain`)}function Ve(e,t){let n=b(e)?e:{},r=n.count||n.backups||n.available;return r!=null&&r!==``?i(t,`care.backup.count`,{count:String(r)}):i(t,`care.backup.ready`)}function He({result:e,language:t}){if(!e.ok)return(0,q.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,q.jsx)(`strong`,{children:i(t,`care.result.error`)}),e.error&&e.error!==i(t,`care.result.error`)?(0,q.jsx)(`span`,{children:e.error}):null]});let n=b(e.data)?e.data:{},r=C(n,[`path`,`archive_path`,`backup_path`,`export_path`,`latest_backup`]),a=C(n,[`message`,`status`,`result`],i(t,`care.result.completed`)),o={memories:C(n,[`nodes`,`total_nodes`,`memories`,`memory_count`]),links:C(n,[`edges`,`total_edges`,`relationships`,`relationship_count`]),conversations:C(n,[`conversations`,`conversation_count`])};return(0,q.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,q.jsx)(`strong`,{children:a}),r?(0,q.jsx)(`span`,{children:i(t,`care.result.path`,{path:r})}):null,o.memories||o.links||o.conversations?(0,q.jsx)(`span`,{children:i(t,`care.result.contents`,{memories:o.memories||`0`,links:o.links||`0`,conversations:o.conversations||`0`})}):null,n.dry_run===!0?(0,q.jsx)(`span`,{children:i(t,`care.result.dryRun`)}):null]})}function Ue(e,t){return/[<>:"|?*]/.test(e)?i(t,`care.path.invalidChars`):/\.(latticebrain|zip|json)$/i.test(e)?``:i(t,`care.path.extension`)}function We(e,t){return e.length<12?i(t,`care.passphrase.tooShort`):[/[a-z]/,/[A-Z]/,/\d/,/[^A-Za-z0-9]/].filter(t=>t.test(e)).length<3?i(t,`care.passphrase.tooSimple`):``}var Ge=[`freshness`,`connectivity`,`embedding_coverage`,`consistency`],Ke=new Set([`rebuild_vector_index`,`review_orphans`,`refresh_stale_knowledge`,`resolve_contradictions`]);function qe({language:e}){let t=c(),[n,r]=K.useState(!1),a=u({queryKey:[`brainHealth`],queryFn:o.brainHealth,enabled:n}),s=u({queryKey:[`brainInsights`],queryFn:o.brainInsights,enabled:n}),l=u({queryKey:[`brainContradictions`],queryFn:o.brainContradictions,enabled:n}),[d,f]=K.useState(null),p=H({mutationFn:()=>o.brainConsolidate(!1),onSuccess:e=>{e.ok&&b(e.data)&&f(e.data)}}),m=H({mutationFn:()=>o.brainConsolidate(!0),onSuccess:e=>{e.ok&&b(e.data)&&f(e.data),t.invalidateQueries({queryKey:[`brainHealth`]})}}),h=a.data?.ok&&b(a.data.data)?a.data.data:null,g=n&&!a.isPending&&(a.isError||!a.data?.ok||a.data?.source===`unavailable`),_=()=>{a.refetch(),s.refetch(),l.refetch()},v=s.data?.ok&&b(s.data.data)?s.data.data:null,y=l.data?.ok&&b(l.data.data)?Number(l.data.data.count||0):0,x=h&&typeof h.overall_score==`number`?h.overall_score:null,S=h&&typeof h.grade==`string`?h.grade:null,C=h&&b(h.dimensions)?h.dimensions:{},w=h&&Array.isArray(h.recommended_actions)?h.recommended_actions:[],T=v&&b(v.activity)?v.activity:{},E=v&&b(v.attention)?v.attention:{};return(0,q.jsxs)(`section`,{className:`brain-care-panel brain-intelligence-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`intelligence.title`),children:[(0,q.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-intelligence-details`,onClick:()=>r(e=>!e),children:[(0,q.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(F,{className:`h-3.5 w-3.5`}),` `,i(e,`intelligence.title`)]}),(0,q.jsx)(`strong`,{children:i(e,`intelligence.subtitle`)})]}),n&&x!==null?(0,q.jsxs)(`div`,{className:`brain-care-proof`,children:[(0,q.jsxs)(`span`,{children:[i(e,`intelligence.score`),`: `,x]}),(0,q.jsx)(`span`,{children:Je(S,e)})]}):null,(0,q.jsx)(V,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,q.jsx)(`div`,{id:`brain-intelligence-details`,className:`brain-care-details`,children:a.isPending?(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`intelligence.loading`)}):g?(0,q.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`intelligence.loadError`)}),a.data?.error?(0,q.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:a.data.error}):null,(0,q.jsx)(`div`,{children:(0,q.jsx)(z,{variant:`outline`,size:`sm`,onClick:_,children:i(e,`common.retry`)})})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`brain-intelligence-dimensions`,role:`list`,children:Ge.map(t=>{let n=b(C[t])?C[t]:{},r=typeof n.score==`number`?n.score:null;return(0,q.jsxs)(`div`,{className:`brain-intelligence-dimension`,role:`listitem`,children:[(0,q.jsx)(`small`,{children:i(e,`intelligence.dim.${t}`)}),(0,q.jsx)(`strong`,{children:r===null?`—`:r})]},t)})}),(0,q.jsxs)(`div`,{className:`brain-intelligence-insights`,role:`status`,children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(fe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),` `,i(e,`intelligence.insights.recent`,{count:String(Y(T.recent_nodes))})]}),(0,q.jsx)(`span`,{children:i(e,`intelligence.insights.stale`,{count:String(Y(E.stale_nodes))})}),(0,q.jsx)(`span`,{children:i(e,`intelligence.insights.orphans`,{count:String(Y(E.orphan_nodes))})}),(0,q.jsx)(`span`,{children:i(e,`intelligence.contradictions`,{count:String(y)})})]}),w.length?(0,q.jsxs)(`div`,{className:`brain-intelligence-actions`,children:[(0,q.jsx)(`small`,{children:i(e,`intelligence.actions`)}),(0,q.jsx)(`ul`,{children:w.map((t,n)=>{let r=b(t)?t:{},a=String(r.id||``);return(0,q.jsx)(`li`,{children:Ke.has(a)?i(e,`intelligence.action.${a}`):String(r.reason||a)},`${a}-${n}`)})})]}):null,(0,q.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,q.jsx)(z,{variant:`outline`,size:`sm`,disabled:p.isPending,onClick:()=>p.mutate(),children:p.isPending?i(e,`intelligence.consolidate.working`):i(e,`intelligence.consolidate`)}),d&&Y(d.duplicate_memory_count)>0&&d.mode!==`applied`?(0,q.jsx)(z,{variant:`outline`,size:`sm`,disabled:m.isPending,onClick:()=>m.mutate(),children:i(e,`intelligence.consolidate.apply`)}):null]}),d?(0,q.jsx)(`p`,{className:`brain-care-note`,role:`status`,children:d.mode===`applied`?i(e,`intelligence.consolidate.applied`,{count:String(Y(d.pruned))}):Y(d.duplicate_memory_count)>0||Y(d.duplicate_edge_count)>0?i(e,`intelligence.consolidate.found`,{memories:String(Y(d.duplicate_memory_count)),edges:String(Y(d.duplicate_edge_count))}):i(e,`intelligence.consolidate.none`)}):null]})}):null]})}function Je(e,t){return i(t,`intelligence.grade.${e&&new Set([`excellent`,`good`,`attention`,`critical`]).has(e)?e:`unknown`}`)}function Y(e){let t=Number(e);return Number.isFinite(t)?t:0}var Ye={"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 X(e,t){let n=(e.sections||{})[t];return n&&typeof n==`object`?n:{}}function Xe({language:e,variant:t=`drawer`}){let[n,r]=K.useState(t===`home`),s=K.useRef(null),c=u({queryKey:[`commandBriefing`],queryFn:o.commandBriefing,enabled:n});K.useEffect(()=>{let e=()=>{r(!0);let e=s.current;e&&(e.closest(`details`)?.setAttribute(`open`,``),window.setTimeout(()=>e.scrollIntoView?.({behavior:`smooth`,block:`center`}),0))};return window.addEventListener(`lattice:open-briefing`,e),()=>window.removeEventListener(`lattice:open-briefing`,e)},[]);let d=c.data?.data||{},p=!!c.data&&(!c.data?.ok||Object.keys(d.sections||{}).length===0),m=X(d,`knowledge`),h=X(d,`conversations`),g=X(d,`automations`),_=X(d,`review`),v=X(d,`health`),y=X(d,`suggestions`),b=a(d.quick_actions),x=a(m.recent);return(0,q.jsxs)(`section`,{ref:s,className:`brain-care-panel daily-briefing-panel ${n?`is-expanded`:`is-collapsed`} ${t===`home`?`is-home`:``}`,"aria-label":i(e,`briefing.title`),"data-testid":`daily-briefing`,children:[(0,q.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`daily-briefing-details`,onClick:()=>r(e=>!e),children:[(0,q.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(oe,{className:`h-3.5 w-3.5`}),` `,i(e,`briefing.title`)]}),(0,q.jsx)(`strong`,{children:i(e,`briefing.subtitle`)})]}),(0,q.jsx)(V,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,q.jsx)(`div`,{id:`daily-briefing-details`,className:`brain-care-details`,children:c.isPending?(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`briefing.loading`)}):p?(0,q.jsx)(`p`,{className:`brain-care-note`,"data-testid":`daily-briefing-empty`,children:i(e,`briefing.empty`)}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`daily-briefing-stats`,role:`list`,children:[(0,q.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,q.jsx)(`strong`,{children:String(h.questions??0)}),(0,q.jsx)(`span`,{children:i(e,`briefing.stat.questions`)})]}),(0,q.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,q.jsxs)(`strong`,{children:[String(g.enabled??0),`/`,String(g.total??0)]}),(0,q.jsx)(`span`,{children:i(e,`briefing.stat.automations`)})]}),(0,q.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,q.jsx)(`strong`,{children:String(_.pending??0)}),(0,q.jsx)(`span`,{children:i(e,`briefing.stat.review`)})]}),(0,q.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,q.jsx)(`strong`,{children:v.available&&v.grade?String(v.grade):`—`}),(0,q.jsx)(`span`,{children:i(e,`briefing.stat.health`)})]})]}),x.length>0?(0,q.jsxs)(`div`,{className:`daily-briefing-recent`,children:[(0,q.jsx)(`p`,{className:`command-palette-group`,children:i(e,`briefing.recent`)}),(0,q.jsx)(`ul`,{children:x.slice(0,3).map(e=>(0,q.jsx)(`li`,{title:String(e.title||``),children:String(e.title||e.id||``)},String(e.id)))})]}):null,Number(y.count??0)>0?(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`briefing.suggestions`,{count:String(y.count)})}):null,b.length>0?(0,q.jsx)(`div`,{className:`daily-briefing-actions`,children:b.map(t=>{let n=Ye[t.id];return n?(0,q.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>l(t.target),children:[(0,q.jsx)(`span`,{children:i(e,n,{count:String(t.count||0)})}),(0,q.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]},t.id):null})}):null]})}):null]})}function Ze({language:e}){let t=c(),[n,r]=K.useState(!1),s=u({queryKey:[`pendingProposals`],queryFn:o.proposals,enabled:n}),l=async()=>{await Promise.all([t.invalidateQueries({queryKey:[`pendingProposals`]}),t.invalidateQueries({queryKey:[`reviewItems`]})])},d=H({mutationFn:e=>o.approveProposal(e),onSuccess:l}),f=H({mutationFn:e=>o.rejectProposal(e),onSuccess:l}),p=a((s.data?.data||{}).items),m=d.isPending||f.isPending,h=s.isError||(s.data?!s.data.ok:!1);return(0,q.jsxs)(`section`,{className:`brain-care-panel pending-proposals-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`proposals.title`),"data-testid":`pending-proposals`,children:[(0,q.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`pending-proposals-details`,onClick:()=>r(e=>!e),children:[(0,q.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(xe,{className:`h-3.5 w-3.5`}),` `,i(e,`proposals.title`)]}),(0,q.jsx)(`strong`,{children:i(e,`proposals.subtitle`)})]}),(0,q.jsx)(V,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,q.jsxs)(`div`,{id:`pending-proposals-details`,className:`brain-care-details`,children:[s.isPending?(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.loading`)}):h?(0,q.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.error`)}),s.data?.error?(0,q.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:s.data.error}):null,(0,q.jsx)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>void s.refetch(),children:(0,q.jsx)(`span`,{children:i(e,`common.retry`)})})]}):p.length===0?(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.empty`)}):(0,q.jsx)(`div`,{className:`pending-proposals-list`,children:p.map(t=>{let n=t.payload||{},r=a(n.diff),o=String(n.tier||`small`);return(0,q.jsxs)(`article`,{className:`pending-proposal`,children:[(0,q.jsxs)(`header`,{children:[(0,q.jsx)(`strong`,{title:String(n.path||t.title),children:String(n.path||t.title)}),(0,q.jsx)(`span`,{className:`pending-proposal-tier`,children:i(e,t.kind===`file_delete`?`proposals.kind.delete`:o===`large`?`proposals.tier.large`:`proposals.tier.small`)})]}),(0,q.jsx)(`p`,{className:`brain-care-note`,children:t.summary}),r.length>0?(0,q.jsx)(W,{language:e,diff:r}):null,(0,q.jsxs)(`div`,{className:`pending-proposal-actions`,children:[(0,q.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,disabled:m,onClick:()=>d.mutate(t.id),children:[(0,q.jsx)(U,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`proposals.approve`)})]}),(0,q.jsxs)(`button`,{type:`button`,className:`daily-briefing-action pending-proposal-reject`,disabled:m,onClick:()=>f.mutate(t.id),children:[(0,q.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`proposals.reject`)})]})]})]},t.id)})}),(0,q.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.note`)})]}):null]})}function Qe({language:e,draft:t,streaming:n,imageData:r,uploadingDocument:a,onDraftChange:o,onImageDataChange:s,onUploadDocument:c,onSend:l,onStop:u}){let d=K.useRef(null);return K.useEffect(()=>{let e=d.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,152)}px`)},[t]),(0,q.jsxs)(`div`,{className:`brain-composer`,"aria-busy":n,children:[(0,q.jsx)(`textarea`,{ref:d,rows:1,value:t,onChange:e=>o(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),l())},"aria-label":i(e,`brain.placeholder`),"aria-describedby":`brain-composer-hint`,"aria-keyshortcuts":`Control+K Meta+K`,placeholder:i(e,`brain.placeholder`)}),(0,q.jsxs)(`div`,{className:`brain-composer-actions`,children:[(0,q.jsxs)(`div`,{className:`brain-composer-attachments`,"aria-label":i(e,`brain.composer.attachments`),children:[(0,q.jsxs)(`label`,{className:`brain-document-input ${a?`is-disabled`:``}`,children:[(0,q.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:a?i(e,`brain.upload.uploading`):i(e,`brain.upload.ctaShort`)}),(0,q.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:a,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&c(t)}})]}),(0,q.jsxs)(`label`,{className:`brain-image-input`,children:[(0,q.jsx)(Ce,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.image`)}),(0,q.jsx)(`input`,{type:`file`,accept:`image/*`,className:`sr-only`,onChange:async e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&s(await $e(t))}})]}),r?(0,q.jsx)(`span`,{className:`brain-quiet-success`,children:i(e,`brain.imageAttached`)}):null]}),(0,q.jsx)(`span`,{id:`brain-composer-hint`,className:`brain-composer-hint`,children:i(e,`brain.composer.hint`)}),n&&u?(0,q.jsxs)(z,{onClick:u,variant:`outline`,className:`brain-composer-submit`,children:[(0,q.jsx)(Me,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,i(e,`brain.stop`)]}):(0,q.jsxs)(z,{onClick:l,disabled:!t.trim()||n,className:`brain-composer-submit`,children:[(0,q.jsx)(je,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,i(e,`brain.send`)]})]})]})}function $e(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}function et({memories:e,concepts:t,readiness:r,proof:a,onOpenDepth:o}){let s=n(e=>e.language),c=e.filter(e=>e.agentGenerated).slice(0,3),l=e.filter(e=>!e.agentGenerated),u=l.slice(0,3),d=l.slice(3,6),f=t.slice(0,4),p=a.proofs.hasDurableEvidence||a.modelContinuity.proven,m=a.recall.items.length>0,h=a.modelContinuity.proven&&a.claims.keepsContextAcrossModels?a.modelContinuity.activeModel||i(s,`brain.proof.noModel`):i(s,`brain.proof.modelPending`);return(0,q.jsxs)(`section`,{className:`brain-overview-panel`,"aria-label":i(s,`brain.aria.overview`),children:[(0,q.jsxs)(`div`,{className:`brain-overview-head`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{children:i(s,`brain.overview.kicker`)}),(0,q.jsx)(`strong`,{children:i(s,`brain.overview.title`)})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(5),children:i(s,`brain.overview.graph`)})]}),(0,q.jsxs)(`div`,{className:`brain-overview-grid`,children:[(0,q.jsx)(nt,{title:i(s,`brain.overview.agent`),empty:i(s,`brain.overview.agentEmpty`),items:c.map(e=>e.title),featured:c.length>0,onOpen:()=>o(2)}),(0,q.jsx)(nt,{title:i(s,`brain.overview.recent`),empty:i(s,`brain.overview.recentEmpty`),items:u.map(e=>e.title),onOpen:()=>o(2)}),(0,q.jsx)(nt,{title:i(s,`brain.overview.older`),empty:i(s,`brain.overview.olderEmpty`),items:d.map(e=>e.title),onOpen:()=>o(2)}),(0,q.jsx)(nt,{title:i(s,`brain.overview.topics`),empty:i(s,`brain.overview.topicsEmpty`),items:f.map(e=>e.label),onOpen:()=>o(3)})]}),(0,q.jsxs)(`div`,{className:`brain-readiness-strip`,"data-state":r.state,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{children:i(s,`brain.readiness.kicker`)}),(0,q.jsx)(`strong`,{children:i(s,r.titleKey)})]}),(0,q.jsx)(`div`,{className:`brain-readiness-meter`,"aria-label":i(s,`brain.readiness.aria`),children:(0,q.jsx)(`i`,{style:{width:`${r.score}%`}})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(r.depth),children:i(s,r.actionKey)})]}),(0,q.jsxs)(`div`,{className:`brain-proof-strip`,"aria-label":i(s,`brain.proof.aria`),children:[(0,q.jsx)(tt,{icon:(0,q.jsx)(_e,{className:`h-4 w-4`}),label:i(s,`brain.proof.context`),value:p?i(s,`brain.proof.contextValue`,{count:a.proofs.durableItems}):i(s,`brain.proof.contextEmpty`)}),(0,q.jsx)(tt,{icon:(0,q.jsx)(Oe,{className:`h-4 w-4`}),label:i(s,`brain.proof.model`),value:h}),(0,q.jsx)(tt,{icon:(0,q.jsx)(_,{className:`h-4 w-4`}),label:i(s,`brain.proof.store`),value:i(s,`brain.proof.storeValue`,{topics:a.proofs.graphConcepts,vectors:a.proofs.vectorItems})})]}),m?(0,q.jsxs)(`button`,{type:`button`,className:`brain-recall-proof`,onClick:()=>o(2),children:[(0,q.jsx)(`span`,{children:i(s,`brain.proof.recall`)}),(0,q.jsx)(`strong`,{children:a.recall.items[0].title}),(0,q.jsx)(`small`,{children:a.recall.items[0].snippet||a.recall.query})]}):(0,q.jsxs)(`div`,{className:`brain-recall-proof is-empty`,role:`status`,children:[(0,q.jsx)(`span`,{children:i(s,`brain.proof.recallEmpty.kicker`)}),(0,q.jsx)(`strong`,{children:i(s,p?`brain.proof.recallPending`:`brain.proof.recallEmpty.title`)}),(0,q.jsx)(`small`,{children:i(s,p?`brain.proof.recallPending.detail`:`brain.proof.recallEmpty.detail`)})]})]})}function tt({icon:e,label:t,value:n}){return(0,q.jsxs)(`div`,{className:`brain-proof-point`,children:[e,(0,q.jsx)(`span`,{children:t}),(0,q.jsx)(`strong`,{children:n})]})}function nt({title:e,empty:t,items:n,featured:r=!1,onOpen:i}){return(0,q.jsxs)(`button`,{type:`button`,className:`brain-overview-column${r?` is-featured`:``}`,onClick:i,children:[(0,q.jsx)(`span`,{children:e}),n.length?n.slice(0,3).map(e=>(0,q.jsx)(`strong`,{children:e},e)):(0,q.jsx)(`em`,{children:t})]})}var Z=[`ask`,`add`,`learned`],rt=`lattice.firstFive.done.`,it=`lattice.firstFive.dismissed`;function at(e){try{return localStorage.getItem(e)===`true`}catch{}return!1}function ot(e){try{localStorage.setItem(e,`true`)}catch{}}function st(){let e={};for(let t of Z)e[t]=at(rt+t);return{dismissed:at(it),done:e}}function ct(e){return ot(rt+e),st()}function lt(){return ot(it),st()}function ut(e){return Z.filter(t=>e.done[t]).length}function dt(e){return ut(e)===Z.length}function ft(e){return!e.dismissed&&!dt(e)}var pt={ask:{labelKey:`brain.firstFive.step.ask`,detailKey:`brain.firstFive.step.ask.detail`},add:{labelKey:`brain.firstFive.step.add`,detailKey:`brain.firstFive.step.add.detail`},learned:{labelKey:`brain.firstFive.step.learned`,detailKey:`brain.firstFive.step.learned.detail`}};function mt({language:e,autoDone:t,onStep:n}){let[r,a]=K.useState(st);if(K.useEffect(()=>{for(let e of Z)t[e]&&!r.done[e]&&a(ct(e))},[t,r.done]),!ft(r))return null;let o=ut(r);return(0,q.jsxs)(`section`,{className:`brain-first-five`,"aria-label":i(e,`brain.firstFive.aria`),"data-testid":`brain-first-five`,children:[(0,q.jsxs)(`header`,{className:`brain-first-five-head`,children:[(0,q.jsxs)(`span`,{className:`brain-first-five-title`,children:[(0,q.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.firstFive.title`)]}),(0,q.jsx)(`span`,{className:`brain-first-five-progress`,children:i(e,`brain.firstFive.progress`,{done:o,total:Z.length})}),(0,q.jsx)(`button`,{type:`button`,className:`brain-first-five-dismiss`,"aria-label":i(e,`brain.firstFive.dismiss`),onClick:()=>a(lt()),children:(0,q.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})})]}),(0,q.jsx)(`p`,{className:`brain-first-five-subtitle`,children:i(e,`brain.firstFive.subtitle`)}),(0,q.jsx)(`div`,{className:`brain-first-five-steps`,children:Z.map((t,o)=>{let s=r.done[t];return(0,q.jsxs)(`button`,{type:`button`,className:`brain-first-five-step ${s?`is-done`:``}`,disabled:s,onClick:()=>{n(t),t!==`add`&&a(ct(t))},children:[(0,q.jsx)(`span`,{className:`brain-first-five-step-index`,"aria-hidden":`true`,children:s?(0,q.jsx)(U,{className:`h-3.5 w-3.5`}):o+1}),(0,q.jsxs)(`span`,{className:`brain-first-five-step-copy`,children:[(0,q.jsx)(`strong`,{children:i(e,pt[t].labelKey)}),(0,q.jsx)(`span`,{children:i(e,pt[t].detailKey)})]}),s?(0,q.jsx)(`span`,{className:`brain-first-five-step-done`,children:i(e,`brain.firstFive.step.done`)}):null]},t)})})]})}function ht({language:e}){return(0,q.jsxs)(`div`,{className:`brain-model-missing`,role:`note`,children:[(0,q.jsx)(ee,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.noModel.banner`)}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>l(`/models`),children:[i(e,`brain.noModel.cta`),(0,q.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]})]})}function gt(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 _t=5,vt=20;function yt({language:e,items:t,busyId:n,onResume:r,onDelete:a}){let[o,s]=K.useState(null),[c,l]=K.useState(!1),u=t.slice(0,c?vt:_t),d=Math.min(t.length,vt)-_t;return u.length?(0,q.jsxs)(`section`,{className:`brain-history-panel`,"aria-label":i(e,`brain.history.aria`),children:[(0,q.jsxs)(`div`,{className:`brain-history-head`,children:[(0,q.jsx)(Se,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`strong`,{children:i(e,`brain.history.title`)}),(0,q.jsx)(`span`,{children:i(e,`brain.history.hint`)})]}),(0,q.jsx)(`ul`,{className:`brain-history-list`,children:u.map(t=>{let c=n===t.id,l=o===t.id;return(0,q.jsxs)(`li`,{className:`brain-history-item${c?` is-busy`:``}`,children:[(0,q.jsxs)(`button`,{type:`button`,className:`brain-history-resume`,disabled:c,"aria-label":i(e,`brain.history.resumeAria`,{title:t.title}),onClick:()=>r(t.id),children:[c?(0,q.jsx)(P,{className:`h-3.5 w-3.5 brain-ingest-spin`,"aria-hidden":`true`}):null,(0,q.jsx)(`span`,{className:`brain-history-title`,children:t.title}),(0,q.jsxs)(`small`,{children:[i(e,`brain.history.messages`,{count:t.messageCount}),t.updatedAt?` · ${gt(e,t.updatedAt)}`:``]})]}),(0,q.jsxs)(`button`,{type:`button`,className:`brain-history-delete${l?` is-confirming`:``}`,disabled:c,"aria-label":l?i(e,`brain.history.deleteConfirm`):i(e,`brain.history.deleteAria`,{title:t.title}),onClick:()=>{l?(s(null),a(t.id)):s(t.id)},onBlur:()=>s(e=>e===t.id?null:e),children:[(0,q.jsx)(Ne,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),l?(0,q.jsx)(`span`,{children:i(e,`brain.history.deleteConfirm`)}):null]})]},t.id)})}),d>0?(0,q.jsx)(`button`,{type:`button`,className:`brain-history-more`,"aria-expanded":c,onClick:()=>l(e=>!e),children:c?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(he,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.history.showLess`)]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(V,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.history.showMore`,{count:d})]})}):null]}):null}function bt(e,t){if(e.id===`ask_brain`){d();return}if(e.id===`verify_model`){t();return}e.route&&l(e.route)}function xt({language:e,brief:t,showEvidence:n=!0,onAction:r}){let a=t.focus.title||i(e,`brain.brief.focus.empty`),o=t.focus.detail||i(e,`brain.brief.focus.empty.detail`),s=t.nextActions.slice(0,3);return(0,q.jsxs)(`section`,{className:`brain-brief-panel`,"aria-label":i(e,`brain.brief.aria`),children:[(0,q.jsxs)(`div`,{className:`brain-brief-copy`,children:[(0,q.jsx)(`span`,{children:i(e,`brain.brief.kicker`)}),(0,q.jsx)(`strong`,{children:i(e,t.headlineKey)}),(0,q.jsx)(`p`,{children:i(e,t.bodyKey,{focus:a})})]}),(0,q.jsxs)(`div`,{className:`brain-brief-focus`,children:[(0,q.jsx)(F,{className:`h-4 w-4`}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{children:i(e,`brain.brief.focus`)}),(0,q.jsx)(`strong`,{children:a}),(0,q.jsx)(`small`,{children:o})]})]}),n?(0,q.jsx)(`div`,{className:`brain-brief-evidence`,"aria-label":i(e,`brain.brief.evidence.aria`),children:t.evidence.slice(0,3).map(t=>(0,q.jsxs)(`span`,{title:i(e,t.detailKey),children:[(0,q.jsx)(`strong`,{children:t.value}),i(e,t.labelKey)]},t.id))}):null,s.length?(0,q.jsx)(`div`,{className:`brain-brief-actions`,"aria-label":i(e,`brain.brief.actions`),children:s.map(t=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>r(t),children:[St(t.id),(0,q.jsx)(`span`,{children:i(e,t.labelKey)}),(0,q.jsx)(`small`,{children:i(e,t.detailKey)})]},t.id))}):null]})}function St(e){return e===`add_source`?(0,q.jsx)(G,{className:`h-4 w-4`}):e===`inspect_topics`?(0,q.jsx)(se,{className:`h-4 w-4`}):e===`verify_model`?(0,q.jsx)(Oe,{className:`h-4 w-4`}):e===`backup_brain`?(0,q.jsx)(re,{className:`h-4 w-4`}):(0,q.jsx)(f,{className:`h-4 w-4`})}function Ct({language:e,proof:t,modelName:n,onVerify:r}){return(0,q.jsxs)(`section`,{className:`brain-model-demo`,"aria-label":i(e,`brain.modelDemo.aria`),children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{children:i(e,`brain.modelDemo.kicker`)}),(0,q.jsx)(`strong`,{children:t.modelContinuity.proven?i(e,`brain.modelDemo.proven`):i(e,`brain.modelDemo.pending`)}),(0,q.jsx)(`small`,{children:i(e,`brain.modelDemo.detail`,{model:t.modelContinuity.activeModel||n})})]}),(0,q.jsxs)(`button`,{type:`button`,onClick:r,children:[(0,q.jsx)(Oe,{className:`h-3.5 w-3.5`}),i(e,`brain.modelDemo.verify`)]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>l(`/models`),children:[(0,q.jsx)(ee,{className:`h-3.5 w-3.5`}),i(e,`brain.modelDemo.change`)]})]})}var wt={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 Tt({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:a,onConnectFolder:o,onIngestNote:s,onIngestWeb:c}){let[l,u]=K.useState(``),[d,f]=K.useState(``),[p,m]=K.useState(``);return(0,q.jsxs)(`section`,{className:`brain-ingestion-panel`,"aria-label":i(e,`brain.ingest.aria`),children:[(0,q.jsxs)(`div`,{className:`brain-ingestion-head`,children:[(0,q.jsx)(`span`,{children:i(e,`brain.ingest.kicker`)}),(0,q.jsx)(`strong`,{children:i(e,`brain.ingest.title`)})]}),(0,q.jsxs)(`div`,{className:`brain-ingestion-grid`,children:[(0,q.jsxs)(`label`,{className:`brain-ingest-tile is-primary ${Q(n.file)} ${t?`is-disabled`:``}`,children:[(0,q.jsx)(G,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{children:t?i(e,`brain.upload.uploading`):i(e,`brain.ingest.file`)}),(0,q.jsx)(`small`,{children:i(e,`brain.ingest.file.detail`)}),(0,q.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,q.jsx)($,{language:e,state:n.file,ctaKey:`brain.ingest.cta.file`})]}),(0,q.jsxs)(`form`,{className:`brain-ingest-tile ${Q(n.folder)}`,onSubmit:e=>{e.preventDefault(),o(l),u(``)},children:[(0,q.jsx)(ne,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{children:i(e,`brain.ingest.folder`)}),(0,q.jsxs)(`button`,{type:`button`,className:`brain-ingest-folder-picker`,onClick:a,children:[(0,q.jsx)(ie,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`capture.local.choose`)]}),(0,q.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),placeholder:i(e,`brain.ingest.folder.placeholder`)}),(0,q.jsx)($,{language:e,state:n.folder,ctaKey:`brain.ingest.cta.folder`})]}),(0,q.jsxs)(`form`,{className:`brain-ingest-tile ${Q(n.note)}`,onSubmit:e=>{e.preventDefault(),s(d),f(``)},children:[(0,q.jsx)(be,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{children:i(e,`brain.ingest.note`)}),(0,q.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:i(e,`brain.ingest.note.placeholder`)}),(0,q.jsx)($,{language:e,state:n.note,ctaKey:`brain.ingest.cta.note`})]}),(0,q.jsxs)(`form`,{className:`brain-ingest-tile ${Q(n.web)}`,onSubmit:e=>{e.preventDefault(),c(p),m(``)},children:[(0,q.jsx)(L,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{children:i(e,`brain.ingest.web`)}),(0,q.jsx)(`input`,{value:p,onChange:e=>m(e.target.value),placeholder:i(e,`brain.ingest.web.placeholder`)}),(0,q.jsx)($,{language:e,state:n.web,ctaKey:`brain.ingest.cta.web`})]})]})]})}function Et({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:a,onConnectFolder:o,onIngestNote:s,onIngestWeb:c}){let[l,u]=K.useState(null),[d,f]=K.useState(``),[p,m]=K.useState(``),[h,g]=K.useState(``),_=K.useId(),v=e=>{u(t=>t===e?null:e)},y=e=>{if(e===`folder`){if(!d.trim())return;o(d),f(``)}else if(e===`note`){if(!p.trim())return;s(p),m(``)}else{if(!h.trim())return;c(h),g(``)}u(null)};return(0,q.jsxs)(`section`,{className:`brain-ingestion-dock`,"data-testid":`brain-ingestion-dock`,"aria-label":i(e,`brain.ingest.aria`),onKeyDown:e=>{e.key===`Escape`&&u(null)},children:[(0,q.jsxs)(`div`,{className:`brain-ingestion-dock-head`,children:[(0,q.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`small`,{children:i(e,`brain.ingest.kicker`)}),(0,q.jsx)(`strong`,{children:i(e,`brain.ingest.dock.title`)})]})]}),(0,q.jsxs)(`div`,{className:`brain-ingestion-dock-actions`,children:[(0,q.jsxs)(`label`,{className:`brain-ingestion-dock-action ${Q(n.file)} ${t?`is-disabled`:``}`,children:[(0,q.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.ingest.type.file`)}),(0,q.jsx)(`i`,{"aria-hidden":`true`}),(0,q.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`,ie],[`note`,be],[`web`,L]].map(([t,r])=>(0,q.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-action ${Q(n[t])}`,"aria-expanded":l===t,"aria-controls":l===t?_:void 0,onClick:()=>v(t),children:[(0,q.jsx)(r,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.ingest.type.${t}`)}),(0,q.jsx)(`i`,{"aria-hidden":`true`})]},t))]}),l?(0,q.jsxs)(`div`,{id:_,className:`brain-ingestion-dock-popover`,children:[(0,q.jsxs)(`header`,{children:[(0,q.jsx)(`span`,{children:i(e,`brain.ingest.${l}`)}),(0,q.jsx)(`button`,{type:`button`,"aria-label":i(e,`brain.ingest.dock.close`),onClick:()=>u(null),children:(0,q.jsx)(R,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),l===`folder`?(0,q.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-picker`,onClick:a,children:[(0,q.jsx)(ie,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`capture.local.choose`)]}):null,(0,q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),y(l)},children:[(0,q.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:i(e,`brain.ingest.${l}.placeholder`),"aria-label":i(e,`brain.ingest.${l}.placeholder`)}),(0,q.jsx)(`button`,{type:`submit`,"aria-label":i(e,`brain.action.add`),children:(0,q.jsx)(me,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,q.jsx)($,{language:e,state:n[l],ctaKey:`brain.ingest.cta.${l}`})]}):null]})}function Q(e){return e?e.stage===`error`?`is-failed`:e.stage===`complete`?`is-emerged`:`is-ingesting`:``}var Dt={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 $({language:e,state:t,ctaKey:n}){if(!t)return(0,q.jsx)(`small`,{className:`brain-ingest-cta`,children:i(e,n)});let r=t.stage===`error`,a=t.stage===`complete`,o=t.newMemories>0||t.newEntities>0;return(0,q.jsxs)(`div`,{className:`brain-ingest-progress`,role:`status`,"aria-live":`polite`,"aria-label":i(e,`brain.ingest.progress.aria`,{label:t.label}),children:[(0,q.jsx)(`div`,{className:`brain-ingest-stage-badges`,"aria-hidden":`true`,children:(0,q.jsxs)(`span`,{className:`brain-ingest-stage-badge ${r?`is-failed`:a?`is-done`:`is-active`}`,children:[!r&&!a?(0,q.jsx)(P,{className:`h-3 w-3 brain-ingest-spin`}):null,i(e,`brain.ingest.stage.${t.stage}`)]})}),(0,q.jsx)(`small`,{className:`brain-ingest-stage-hint ${r?`is-failed`:a?`is-emerged`:``}`,children:r?i(e,`brain.ingest.stage.error`):a?o?i(e,`brain.ingest.result`,{memories:t.newMemories,entities:t.newEntities}):i(e,`brain.ingest.result.empty`):i(e,Dt[t.stage])}),a?(0,q.jsx)(Ot,{language:e,state:t}):null]})}function Ot({language:e,state:t}){let n=t.extraction;if(!n||n.level!==`low`)return null;let r=n.warnings.slice(0,3);return(0,q.jsxs)(`div`,{className:`brain-ingest-quality-note`,role:`note`,"data-testid":`extraction-quality-note`,children:[(0,q.jsx)(`p`,{children:i(e,`brain.ingest.quality.low`)}),r.length?(0,q.jsx)(`ul`,{children:r.map(e=>(0,q.jsx)(`li`,{children:e},e))}):null]})}function kt(e,t,n){let r=Math.floor((n-t)/6e4);return r<1?i(e,`brain.timeline.justNow`):i(e,`brain.timeline.minutesAgo`,{count:r})}function At({language:e,emergenceEvents:t}){let n=Date.now();return(0,q.jsxs)(`section`,{className:`brain-emergence-timeline`,"aria-label":i(e,`brain.timeline.aria`),"aria-live":`polite`,children:[(0,q.jsxs)(`div`,{className:`brain-emergence-head`,children:[(0,q.jsx)(F,{className:`h-3.5 w-3.5`}),(0,q.jsx)(`strong`,{children:i(e,`brain.timeline.emergenceTitle`)}),(0,q.jsx)(`span`,{children:i(e,`brain.timeline.recent`)})]}),t.length===0?(0,q.jsx)(`p`,{className:`brain-emergence-empty`,children:i(e,`brain.timeline.empty`)}):(0,q.jsx)(`ol`,{className:`brain-emergence-list`,children:t.map(t=>(0,q.jsxs)(`li`,{className:`brain-emergence-item`,children:[(0,q.jsx)(`span`,{className:`brain-emergence-type`,children:i(e,wt[t.sourceType])}),(0,q.jsx)(`span`,{className:`brain-emergence-label`,children:t.label}),(0,q.jsxs)(`span`,{className:`brain-emergence-counts`,children:[(0,q.jsx)(`strong`,{children:i(e,`brain.timeline.newMemories`,{count:t.newMemories})}),(0,q.jsx)(`strong`,{children:i(e,`brain.timeline.newEntities`,{count:t.newEntities})})]}),(0,q.jsx)(`time`,{className:`brain-emergence-at`,children:kt(e,t.at,n)})]},t.id))})]})}var jt=[{x:68,y:16},{x:84,y:20},{x:94,y:39},{x:91,y:63},{x:73,y:69},{x:62,y:52},{x:76,y:43},{x:84,y:55}],Mt=[`chat`,`file`,`folder`,`note`,`web`],Nt={chat:De,file:G,folder:ie,note:be,web:L};function Pt(e){return!!(e&&e.stage!==`complete`&&e.stage!==`error`)}var Ft=K.memo(function({language:e,brainState:t,intensity:n,graph:r,readiness:a,brief:o,memories:s,ingestionStates:c,emergenceEvents:l,streaming:u,onExploreBrain:d}){let p=l[0],m=K.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,jt.length)},[r.edges,r.nodes,p?.nodeIds]),g=K.useMemo(()=>new Map(m.map((e,t)=>[e.id,jt[t]])),[m]),_=K.useMemo(()=>r.edges.filter(e=>g.has(e.source)&&g.has(e.target)).slice(0,16),[r.edges,g]),v=Mt.map(e=>c[e]).find(e=>Pt(e)),y=K.useMemo(()=>new Set(p?.nodeIds??[]),[p]),b=u||!!v,x=u?`chat`:v?.sourceType,S=v?.label||p?.label||o.focus.title||s[0]?.title||i(e,`brain.flow.source.empty`),C=v?i(e,`brain.ingest.stage.${v.stage}.hint`):p?i(e,`brain.flow.status.emerged`,{memories:p.newMemories,entities:p.newEntities}):m.length?i(e,`brain.flow.status.ready`,{focus:o.focus.title||m[0]?.label||`Brain`}):i(e,`brain.flow.status.empty`),w=Math.max(a.signals.memoryCount,s.length),T=Math.max(a.signals.conceptCount,r.nodes.length),E=Math.max(a.signals.relationshipCount,r.edges.length);return(0,q.jsxs)(`section`,{className:`brain-knowledge-flow ${b?`is-absorbing`:``}`,"data-source":x||`idle`,"data-stage":v?.stage||(p?`connected`:`ready`),"data-brain-state":t,"aria-labelledby":`brain-home-title`,children:[(0,q.jsxs)(`header`,{className:`brain-flow-heading`,children:[(0,q.jsxs)(`div`,{className:`brain-flow-heading-copy`,children:[(0,q.jsx)(`span`,{className:`brain-home-kicker`,children:i(e,`brain.home.kicker`)}),(0,q.jsx)(`h1`,{id:`brain-home-title`,children:i(e,`brain.firstScreen.title`)}),(0,q.jsx)(`p`,{children:i(e,`brain.firstScreen.body`)})]}),(0,q.jsxs)(`div`,{className:`brain-flow-vital`,"data-state":t,children:[(0,q.jsxs)(`span`,{"aria-hidden":`true`,children:[(0,q.jsx)(`i`,{}),(0,q.jsx)(`i`,{})]}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`small`,{children:i(e,`brain.flow.vital`)}),(0,q.jsx)(`strong`,{children:i(e,`brain.living.state.${t}`)})]})]})]}),(0,q.jsxs)(`div`,{className:`brain-flow-canvas`,"data-testid":`brain-knowledge-flow`,children:[(0,q.jsxs)(`div`,{className:`brain-flow-sources`,"aria-label":i(e,`brain.flow.sources.aria`),children:[(0,q.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.sources`)}),Mt.map(t=>{let n=Nt[t],r=c[t],a=t===x,o=r?.stage===`complete`;return(0,q.jsxs)(`span`,{className:`brain-flow-source ${a?`is-active`:``} ${o?`is-remembered`:``}`,"aria-current":a?`step`:void 0,children:[(0,q.jsx)(n,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.ingest.type.${t}`)]},t)})]}),(0,q.jsxs)(`svg`,{className:`brain-flow-transfer`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,q.jsx)(`path`,{className:`brain-flow-transfer-path`,d:`M20 50 C28 50 31 50 38 50`}),(0,q.jsx)(`path`,{className:`brain-flow-transfer-path is-output`,d:`M54 50 C59 50 62 50 67 50`}),b?Array.from({length:4}).map((e,t)=>(0,q.jsx)(`circle`,{className:`brain-flow-particle`,r:`0.8`,style:{animationDelay:`${t*240}ms`},children:(0,q.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,q.jsx)(`circle`,{className:`brain-flow-particle is-output`,r:`0.66`,children:(0,q.jsx)(`animateMotion`,{begin:`${t*1.15}s`,dur:b?`2.1s`:`4.2s`,repeatCount:`indefinite`,path:`M51 50 C58 46 61 44 70 42`})},`output-${t}`)):null]}),(0,q.jsxs)(`div`,{className:`brain-flow-organism`,children:[(0,q.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.memory`)}),(0,q.jsx)(h,{state:t,intensity:b?Math.max(n,.9):n,size:`large`,depth:a.depth,showLabel:!1,onInteract:d}),(0,q.jsxs)(`span`,{className:`brain-flow-organism-vital`,"aria-hidden":`true`,children:[(0,q.jsx)(`i`,{}),i(e,`brain.living.state.${t}`)]})]}),(0,q.jsxs)(`div`,{className:`brain-flow-graph`,"aria-label":i(e,`brain.flow.graph.aria`,{concepts:T,relationships:E}),children:[(0,q.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.graph`)}),(0,q.jsx)(`svg`,{className:`brain-flow-edges`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:_.map((e,t)=>{let n=g.get(e.source),r=g.get(e.target);return!n||!r?null:(0,q.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=jt[n];return(0,q.jsxs)(`button`,{type:`button`,className:`brain-flow-node ${y.has(t.id)?`is-emerging`:``}`,style:{left:`${r.x}%`,top:`${r.y}%`},"aria-label":i(e,`brain.flow.node.aria`,{label:t.label,type:t.type}),title:t.summary||t.type,onClick:d,children:[(0,q.jsx)(`span`,{children:t.type}),(0,q.jsx)(`strong`,{children:t.label})]},t.id)}):(0,q.jsxs)(`div`,{className:`brain-flow-empty-graph`,children:[(0,q.jsx)(ae,{className:`h-5 w-5`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.flow.graph.empty`)})]}),(0,q.jsx)(`ul`,{className:`sr-only`,children:_.map(e=>{let t=m.find(t=>t.id===e.source),n=m.find(t=>t.id===e.target);return!t||!n?null:(0,q.jsxs)(`li`,{children:[t.label,` — `,e.label,` — `,n.label]},`accessible-${e.id}`)})})]}),(0,q.jsxs)(`div`,{className:`brain-flow-live-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[(0,q.jsx)(`span`,{className:`brain-flow-status-icon`,"aria-hidden":`true`,children:b?(0,q.jsx)(F,{className:`h-4 w-4`}):(0,q.jsx)(I,{className:`h-4 w-4`})}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`strong`,{children:S}),(0,q.jsx)(`small`,{children:C})]})]}),(0,q.jsxs)(`ol`,{className:`brain-flow-path`,"aria-label":i(e,`brain.flow.path.aria`),children:[(0,q.jsxs)(`li`,{"data-active":!!x,children:[(0,q.jsx)(`span`,{children:i(e,`brain.flow.path.input`)}),(0,q.jsx)(`strong`,{children:x?i(e,`brain.ingest.type.${x}`):i(e,`brain.flow.path.waiting`)})]}),(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsxs)(`li`,{"data-active":b,children:[(0,q.jsx)(`span`,{children:i(e,`brain.flow.path.memory`)}),(0,q.jsx)(`strong`,{children:i(e,`brain.flow.path.memoryCount`,{count:w})})]}),(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{children:i(e,`brain.flow.path.connections`)}),(0,q.jsx)(`strong`,{children:i(e,`brain.flow.path.graphCount`,{concepts:T,relationships:E})})]}),(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{children:i(e,`brain.flow.path.automation`)}),(0,q.jsx)(`strong`,{children:i(e,`brain.flow.path.actionCount`,{count:o.proactiveActions.length})})]})]})]})]})});function It({language:e,brief:t,activities:n,streaming:r,onAction:a,compact:o=!1}){let s=K.useRef(null),c=t.proactiveActions.slice(0,3),l=t.evidence.filter(e=>e.value>0).slice(0,3),u=t.focus.title||i(e,`brain.brief.focus.empty`),d=()=>{let e=s.current;e&&(e.removeAttribute(`open`),e.querySelector(`summary`)?.focus())};if(o){let t=c[0];return(0,q.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,q.jsxs)(`div`,{className:`brain-automation-compact-head`,children:[(0,q.jsx)(`span`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,q.jsx)(g,{className:`h-4 w-4`})}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`small`,{children:i(e,`brain.automation.kicker`)}),(0,q.jsx)(`strong`,{id:`brain-memory-automation-compact-title`,children:i(e,`brain.automation.title`)})]}),c.length>1?(0,q.jsxs)(`details`,{ref:s,className:`brain-automation-more`,"data-testid":`brain-automation-more`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),d())},children:[(0,q.jsx)(`summary`,{"aria-label":i(e,`brain.automation.more`),children:(0,q.jsx)(le,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,q.jsxs)(`div`,{className:`brain-automation-more-popover`,children:[(0,q.jsxs)(`header`,{className:`brain-automation-more-head`,children:[(0,q.jsx)(`strong`,{children:i(e,`brain.automation.title`)}),(0,q.jsx)(`button`,{type:`button`,"aria-label":i(e,`brain.automation.close`),onClick:d,children:(0,q.jsx)(R,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,q.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,q.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>a(t),children:[(0,q.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:Rt(t.intent)}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,q.jsx)(`small`,{children:i(e,t.detailKey)})]}),(0,q.jsx)(`em`,{children:i(e,zt(t.intent))}),(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}),(0,q.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,q.jsx)(ue,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.automation.guard`)})]}),n.length?(0,q.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":i(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,q.jsxs)(`li`,{"data-status":t.status,children:[(0,q.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,q.jsx)(`span`,{children:i(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})]}):null]}),(0,q.jsx)(`span`,{className:`brain-automation-compact-focus`,title:u,children:u}),t?(0,q.jsxs)(`button`,{type:`button`,className:`brain-automation-primary-action`,disabled:r,onClick:()=>a(t),children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:Rt(t.intent)}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,q.jsx)(`small`,{children:i(e,zt(t.intent))})]}),(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]}):(0,q.jsx)(`p`,{className:`brain-automation-empty`,children:i(e,`brain.automation.empty`)})]})}return(0,q.jsxs)(`section`,{className:`brain-memory-automation`,"aria-labelledby":`brain-memory-automation-title`,children:[(0,q.jsxs)(`div`,{className:`brain-memory-automation-head`,children:[(0,q.jsx)(`div`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,q.jsx)(g,{className:`h-5 w-5`})}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{children:i(e,`brain.automation.kicker`)}),(0,q.jsx)(`h2`,{id:`brain-memory-automation-title`,children:i(e,`brain.automation.title`)}),(0,q.jsx)(`p`,{children:i(e,`brain.automation.body`)})]})]}),(0,q.jsxs)(`div`,{className:`brain-automation-grounding`,children:[(0,q.jsx)(we,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`small`,{children:i(e,`brain.automation.basedOn`)}),(0,q.jsx)(`strong`,{children:u}),t.focus.empty?null:(0,q.jsx)(`em`,{children:t.focus.source})]}),l.length?(0,q.jsx)(`div`,{className:`brain-automation-evidence`,"aria-label":i(e,`brain.brief.evidence.aria`),children:l.map(t=>(0,q.jsxs)(`span`,{title:i(e,t.detailKey),children:[(0,q.jsx)(`strong`,{children:t.value}),` `,i(e,t.labelKey)]},t.id))}):null]}),c.length?(0,q.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,q.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>a(t),children:[(0,q.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:Rt(t.intent)}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,q.jsx)(`small`,{children:i(e,t.detailKey)})]}),(0,q.jsx)(`em`,{children:i(e,zt(t.intent))}),(0,q.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}):(0,q.jsx)(`p`,{className:`brain-automation-empty`,children:i(e,`brain.automation.empty`)}),(0,q.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,q.jsx)(ue,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.automation.guard`)})]}),n.length?(0,q.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":i(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,q.jsxs)(`li`,{"data-status":t.status,children:[(0,q.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,q.jsx)(`span`,{children:i(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})}function Lt({language:e,state:t,concepts:n,relationshipCount:r,onExploreBrain:a}){return(0,q.jsxs)(`div`,{className:`brain-conversation-trace ${Pt(t)?`is-active`:``}`,role:`status`,"aria-live":`polite`,children:[(0,q.jsxs)(`span`,{className:`brain-conversation-trace-source`,children:[(0,q.jsx)(De,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.flow.conversation`)]}),(0,q.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsxs)(`span`,{className:`brain-conversation-trace-memory`,children:[(0,q.jsx)(F,{className:`h-4 w-4`,"aria-hidden":`true`}),t?i(e,`brain.ingest.stage.${t.stage}.hint`):i(e,`brain.flow.conversation.ready`)]}),(0,q.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsxs)(`button`,{type:`button`,onClick:a,children:[(0,q.jsx)(ae,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:n.slice(0,3).map(e=>e.label).join(` · `)||i(e,`brain.flow.graph.empty.short`)}),(0,q.jsx)(`small`,{children:i(e,`brain.flow.relationships`,{count:r})})]})]})}function Rt(e){return e===`delegate`?(0,q.jsx)(g,{className:`h-4 w-4`}):e===`review`?(0,q.jsx)(Ae,{className:`h-4 w-4`}):e===`route`?(0,q.jsx)(ae,{className:`h-4 w-4`}):(0,q.jsx)(De,{className:`h-4 w-4`})}function zt(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 Bt({language:e,content:t}){return(0,q.jsx)(q.Fragment,{children:K.useMemo(()=>Wt(t),[t]).map((t,n)=>t.kind===`code`?(0,q.jsx)(qt,{language:e,code:t.value,lang:t.lang},n):t.value.trim()?(0,q.jsx)(Ut,{value:t.value},n):null)})}function Vt(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 Ht(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,q.jsx)(`strong`,{children:t.slice(2,-2)},i++));else if(t.startsWith("`"))n.push((0,q.jsx)(`code`,{children:t.slice(1,-1)},i++));else{let e=/^\[([^\]]+)\]\((https?:\/\/[^)\s]+)\)$/.exec(t);e?n.push((0,q.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 Ut({value:e}){return(0,q.jsx)(`div`,{className:`brain-md`,children:K.useMemo(()=>Vt(e),[e]).map((e,t)=>{if(e.kind===`heading`)return(0,q.jsx)(`p`,{className:`brain-md-heading is-depth-${Math.min(e.depth,3)}`,children:Ht(e.text)},t);if(e.kind===`list`){let n=e.items.map((e,t)=>(0,q.jsx)(`li`,{children:Ht(e)},t));return e.ordered?(0,q.jsx)(`ol`,{children:n},t):(0,q.jsx)(`ul`,{children:n},t)}return e.kind===`quote`?(0,q.jsx)(`blockquote`,{children:Ht(e.lines.join(` `))},t):(0,q.jsx)(`p`,{children:e.lines.map((e,t)=>(0,q.jsxs)(K.Fragment,{children:[t>0?(0,q.jsx)(`br`,{}):null,Ht(e)]},t))},t)})})}function Wt(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 Gt={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 Kt(e){let t=Gt[(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 qt({language:e,code:t,lang:n}){let[r,a]=K.useState(!1),[s,c]=K.useState(`idle`),[l,u]=K.useState(null),[d,f]=K.useState(``);async function p(){try{await navigator.clipboard?.writeText(t),a(!0),window.setTimeout(()=>a(!1),2e3)}catch{}}async function m(){if(s===`saving`)return;c(`saving`),f(``);let r=Kt(n),a=await o.saveChatFile(r,t);if(!a.ok){c(`error`),f(a.error||i(e,`common.error.unknown`));return}let l=a.data,d=l.path||r;u({path:d,filename:d.split(`/`).pop()||r,bytes:l.bytes||0}),c(`saved`)}return(0,q.jsxs)(`div`,{className:`brain-code-block`,children:[(0,q.jsxs)(`div`,{className:`brain-code-head`,children:[(0,q.jsx)(`span`,{className:`brain-code-lang`,children:n||`text`}),(0,q.jsxs)(`div`,{className:`brain-code-actions`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>void p(),children:r?i(e,`brain.code.copied`):i(e,`brain.code.copy`)}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>void m(),disabled:s===`saving`,children:[(0,q.jsx)(ke,{className:`h-3 w-3`,"aria-hidden":`true`}),s===`saving`?i(e,`brain.code.saving`):i(e,`brain.code.save`)]})]})]}),(0,q.jsx)(`pre`,{children:(0,q.jsx)(`code`,{children:t})}),s===`saved`&&l?(0,q.jsx)(Yt,{language:e,files:[l],compact:!0}):null,s===`error`?(0,q.jsx)(`small`,{className:`brain-code-save-error`,role:`alert`,children:i(e,`brain.code.saveError`,{reason:d})}):null]})}function Jt(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:``}function Yt({language:e,files:t,compact:n=!1}){let[r,a]=K.useState(null),[s,c]=K.useState(``);async function l(t){if(r)return;a(t.path),c(``);let n=await o.downloadWorkspaceFile(t.path,t.filename);n.ok||c(n.error||i(e,`common.error.unknown`)),a(null)}return(0,q.jsxs)(`section`,{className:`brain-created-files ${n?`is-compact`:``}`,"aria-label":i(e,`brain.files.title`),children:[(0,q.jsxs)(`div`,{className:`brain-created-files-head`,children:[(0,q.jsx)(ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,q.jsx)(`strong`,{children:i(e,`brain.files.title`)})]}),(0,q.jsx)(`ul`,{children:t.map(t=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{className:`brain-created-file-name`,children:t.filename}),t.bytes?(0,q.jsx)(`small`,{children:Jt(t.bytes)}):null,(0,q.jsxs)(`button`,{type:`button`,onClick:()=>void l(t),disabled:r===t.path,children:[(0,q.jsx)(te,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),r===t.path?i(e,`brain.files.downloading`):i(e,`brain.files.download`)]})]},t.path))}),(0,q.jsx)(`small`,{className:`brain-created-files-hint`,children:i(e,`brain.files.hint`)}),s?(0,q.jsx)(`small`,{className:`brain-created-files-error`,role:`alert`,children:i(e,`brain.files.downloadError`,{reason:s})}):null]})}function Xt({language:e,brainState:t,intensity:n,readiness:r,memories:a,concepts:o,relationshipCount:s,onExploreBrain:c,onOpenDepth:l}){let[u,d]=K.useState(null),f=K.useMemo(()=>{let e=a.filter(e=>e.kind===`Conversation`),t=a.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:o.length,items:o.slice(0,3).map(e=>e.label)},{id:`graph`,depth:5,labelKey:`brain.rings.5`,emptyKey:`brain.rings.empty.graph`,position:`right`,count:s,items:[]}]},[a,o,s]);K.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,q.jsxs)(`div`,{className:`brain-rings`,"aria-label":i(e,`brain.rings.aria`),children:[(0,q.jsxs)(`div`,{className:`brain-concentric-container`,children:[(0,q.jsx)(`div`,{className:`brain-orbit-field`,"aria-hidden":`true`,children:f.map((e,t)=>(0,q.jsx)(`div`,{className:`brain-concentric-ring ring-${t+1} ${e.count>0?`is-populated`:`is-dormant`}`},e.id))}),f.map(t=>(0,q.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":i(e,`brain.rings.peek.aria`,{label:i(e,t.labelKey),count:t.count}),onClick:()=>d(e=>e===t.id?null:t.id),children:[i(e,t.labelKey),(0,q.jsx)(`em`,{children:t.count})]},t.id)),(0,q.jsx)(`div`,{className:`brain-center-orb`,children:(0,q.jsx)(h,{state:t,intensity:n,size:`large`,depth:r.depth||Math.max(1,Math.floor(r.score/20)),showLabel:!1,className:`brain-home-presence`,onInteract:c})})]}),p?(0,q.jsxs)(`section`,{id:`brain-ring-peek`,className:`brain-ring-peek`,"aria-label":i(e,`brain.rings.peek.title`,{label:i(e,p.labelKey)}),children:[(0,q.jsxs)(`header`,{children:[(0,q.jsx)(`strong`,{children:i(e,p.labelKey)}),(0,q.jsx)(`span`,{children:i(e,`brain.rings.count`,{count:p.count})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>d(null),"aria-label":i(e,`brain.rings.close`),children:`×`})]}),p.items.length?(0,q.jsx)(`ul`,{children:p.items.map(e=>(0,q.jsx)(`li`,{children:e},e))}):(0,q.jsx)(`p`,{children:i(e,p.count>0?`brain.rings.peek.summary`:p.emptyKey,{count:p.count})}),(0,q.jsx)(`button`,{type:`button`,className:`brain-ring-peek-deeper`,onClick:()=>l(p.depth),children:i(e,`brain.rings.deeper`)})]}):null]})}function Zt({language:e,modelName:t,modelReady:r,messages:a,pastConversations:o,historyBusyId:s,starterPrompts:c,memoryFeedback:u,ingestionStates:d,emergenceEvents:f,proactiveActivities:p,draft:m,streaming:g,imageData:_,streamRef:v,memories:y,graph:b,concepts:x,relationshipCount:S,readiness:C,proof:w,brief:T,uploadingDocument:E,onOpenDepth:O,onDraftChange:k,onImageDataChange:A,onUploadDocument:j,onPickFolder:N,onConnectFolder:P,onIngestNote:ee,onIngestWeb:te,onVerifyModelContinuity:ne,onSend:L,onSendText:re,onCreateActionItem:ie,onProactiveAction:ae,onStop:oe,onRegenerate:se,onNewConversation:ce,onResumeConversation:le,onDeleteConversation:z,brainState:B,intensity:V,onExploreBrain:H,onRequestDetails:fe}){let U=a.length>0,W=n(e=>e.mode)===`basic`,pe=en(a),me=T.suggestedQuestions.slice(0,3),he=K.useRef(null),ge=K.useRef(null),ve=K.useRef(null),ye=K.useMemo(()=>({ask:o.length>0,add:[d.file,d.folder,d.note,d.web].some(Boolean)}),[o.length,d]),be=K.useCallback(t=>{if(t===`ask`)k(c[0]||i(e,`brain.prompt.remember`)),window.setTimeout(()=>{he.current?.querySelector(`.brain-composer textarea`)?.focus()},0);else if(t===`add`){let e=ge.current;if(!e)return;e.scrollIntoView?.({behavior:`smooth`,block:`center`}),window.setTimeout(()=>{e.querySelector(`button, input, [tabindex]`)?.focus({preventScroll:!0})},0)}else{let e=ve.current;if(!e)return;e.open=!0,e.scrollIntoView?.({behavior:`smooth`,block:`nearest`}),window.setTimeout(()=>{e.querySelector(`.brain-home-shelf-close`)?.focus({preventScroll:!0})},0)}},[c,e,k]);return(0,q.jsx)(`section`,{className:`brain-conversation`,"aria-label":i(e,`brain.aria.conversation`),children:(0,q.jsx)(`div`,{className:`brain-chat-home-layout`,children:(0,q.jsxs)(`section`,{className:`brain-chat-home-card ${U?`has-messages`:`is-empty-home`}`,"aria-label":i(e,`brain.chatHome.aria`),children:[(0,q.jsx)(D,{language:e}),U?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`header`,{className:`brain-chat-header`,children:[(0,q.jsxs)(`div`,{className:`brain-header-presence`,children:[(0,q.jsx)(h,{state:B,intensity:V,size:`trace`,showLabel:!1,onInteract:H}),(0,q.jsxs)(`div`,{className:`brain-header-title`,children:[(0,q.jsx)(`strong`,{children:i(e,`brain.title`)}),(0,q.jsxs)(`span`,{children:[i(e,`brain.firstScreen.state.${C.state}`),W?``:` (${C.score}%)`]})]})]}),(0,q.jsxs)(`div`,{className:`brain-header-actions`,children:[W?null:(0,q.jsx)(`div`,{className:`brain-model-pill`,children:t}),(0,q.jsxs)(`button`,{type:`button`,className:`brain-deeper-btn`,onClick:ce,children:[(0,q.jsx)(Ee,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.newChat`)]}),(0,q.jsx)(`button`,{type:`button`,className:`brain-deeper-btn`,onClick:H,children:i(e,`brain.firstScreen.action.graph`)})]})]}),(0,q.jsx)(Lt,{language:e,state:d.chat,concepts:x,relationshipCount:S,onExploreBrain:H}),(0,q.jsx)(`div`,{ref:v,className:`brain-stream`,children:a.map((t,n)=>{let r=`brain-msg-${n}`,i=t.role===`assistant`?t.proof:void 0,a=t.role===`assistant`&&!!t.content.trim()&&!g,o=a&&n===pe;return(0,q.jsxs)(`div`,{className:`brain-message ${t.role}`,children:[(0,q.jsxs)(`div`,{className:`brain-message-bubble`,children:[t.role===`assistant`?(0,q.jsx)(Bt,{language:e,content:t.content}):t.content,i&&i.citations.length?(0,q.jsx)(Fe,{language:e,proof:i,messageId:r}):null,t.role===`assistant`&&t.contextQuality?.limited?(0,q.jsx)(Qt,{language:e,reason:W?null:t.contextQuality.reason}):null]}),a?(0,q.jsx)(tn,{language:e,content:t.content,canRegenerate:n===pe,onRegenerate:se,canFollowUp:o,onFollowUp:re,onCreateActionItem:ie}):null,t.files?.length?(0,q.jsx)(Yt,{language:e,files:t.files}):null,i?(0,q.jsx)(Ie,{language:e,proof:i,messageId:r}):null]},`${t.role}-${n}`)})}),r?null:(0,q.jsx)(ht,{language:e}),(0,q.jsx)(Qe,{language:e,draft:m,streaming:g,imageData:_,uploadingDocument:E,onDraftChange:k,onImageDataChange:A,onUploadDocument:j,onSend:L,onStop:oe}),(0,q.jsx)(It,{language:e,brief:T,activities:p,streaming:g,onAction:ae})]}):(0,q.jsxs)(`div`,{className:`brain-centered-home`,"data-testid":`brain-home-stage`,children:[(0,q.jsx)(Ft,{language:e,brainState:B,intensity:V,graph:b,readiness:C,brief:T,memories:y,ingestionStates:d,emergenceEvents:f,streaming:g,onExploreBrain:H}),r?null:(0,q.jsx)(ht,{language:e}),me.length?(0,q.jsxs)(`section`,{className:`brain-home-prompt-strip`,"aria-label":i(e,`brain.suggestions.aria`),children:[(0,q.jsxs)(`span`,{className:`brain-home-prompt-strip-label`,children:[(0,q.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.suggestions.title`)]}),me.map(t=>{let n=i(e,t.promptKey,t.params);return(0,q.jsxs)(`button`,{type:`button`,disabled:g,title:i(e,t.detailKey),onClick:()=>{k(``),re(n)},children:[(0,q.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,q.jsx)(`span`,{children:i(e,t.detailKey)})]},t.id)})]}):(0,q.jsxs)(`div`,{className:`brain-home-prompt-strip`,"aria-label":i(e,`brain.suggestions.aria`),children:[(0,q.jsxs)(`span`,{className:`brain-home-prompt-strip-label`,children:[(0,q.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.suggestions.title`)]}),c.slice(0,3).map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>k(e),className:`brain-prompt-pill`,children:e},e))]}),(0,q.jsxs)(`div`,{className:`brain-home-control-deck`,ref:he,children:[(0,q.jsxs)(`div`,{className:`brain-live-source-panel`,ref:ge,children:[(0,q.jsx)(Et,{language:e,uploadingDocument:E,ingestionStates:d,onUploadDocument:j,onPickFolder:N,onConnectFolder:P,onIngestNote:ee,onIngestWeb:te}),(0,q.jsx)(M,{language:e})]}),(0,q.jsx)(Qe,{language:e,draft:m,streaming:g,imageData:_,uploadingDocument:E,onDraftChange:k,onImageDataChange:A,onUploadDocument:j,onSend:L,onStop:oe}),(0,q.jsxs)(`aside`,{className:`brain-home-action-dock`,"aria-label":i(e,`brain.automation.title`),children:[(0,q.jsx)(It,{language:e,brief:T,activities:p,streaming:g,onAction:ae,compact:!0}),(0,q.jsxs)(`div`,{className:`brain-home-shelves`,children:[(0,q.jsxs)(`details`,{className:`brain-home-history-shelf`,"data-testid":`brain-history-shelf`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),$t(e.currentTarget))},children:[(0,q.jsxs)(`summary`,{children:[(0,q.jsx)(Se,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.history.title`)}),(0,q.jsx)(`small`,{children:o.length})]}),(0,q.jsxs)(`div`,{className:`brain-home-shelf-popover`,children:[(0,q.jsx)(`button`,{type:`button`,className:`brain-home-shelf-close`,"aria-label":i(e,`brain.home.shelf.close`),onClick:e=>$t(e.currentTarget),children:(0,q.jsx)(R,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,q.jsx)(yt,{language:e,items:o,busyId:s,onResume:le,onDelete:z})]})]}),(0,q.jsxs)(`details`,{ref:ve,className:`brain-home-insights`,"data-testid":`brain-insights-shelf`,onToggle:e=>e.currentTarget.open&&fe(),onKeyDown:e=>{e.key===`Escape`&&(e.currentTarget.querySelector(`#brain-ring-peek`)||(e.preventDefault(),$t(e.currentTarget)))},children:[(0,q.jsxs)(`summary`,{children:[(0,q.jsx)(F,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:i(e,`brain.home.insights`)})]}),(0,q.jsxs)(`div`,{className:`brain-home-shelf-popover brain-home-insights-content`,children:[(0,q.jsx)(`button`,{type:`button`,className:`brain-home-shelf-close`,"aria-label":i(e,`brain.home.shelf.close`),onClick:e=>$t(e.currentTarget),children:(0,q.jsx)(R,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,q.jsx)(Xt,{language:e,brainState:B,intensity:V,readiness:C,memories:y,concepts:x,relationshipCount:S,onExploreBrain:H,onOpenDepth:O}),(0,q.jsx)(xt,{language:e,brief:T,showEvidence:!W,onAction:e=>bt(e,ne)}),W?null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(At,{language:e,emergenceEvents:f}),(0,q.jsx)(Ct,{language:e,proof:w,modelName:t,onVerify:ne}),(0,q.jsx)(et,{memories:y,concepts:x,readiness:C,proof:w,onOpenDepth:O})]}),(0,q.jsx)(Ze,{language:e}),(0,q.jsx)(qe,{language:e}),(0,q.jsx)(Re,{language:e})]})]})]})]})]}),(0,q.jsxs)(`div`,{className:`brain-home-intro-row`,children:[(0,q.jsx)(mt,{language:e,autoDone:ye,onStep:be}),(0,q.jsx)(Xe,{language:e,variant:`home`})]})]}),u?(0,q.jsxs)(`div`,{className:`brain-save-feedback`,role:`status`,children:[(0,q.jsx)(_e,{className:`h-3.5 w-3.5`}),(0,q.jsx)(`span`,{children:u}),(0,q.jsx)(`small`,{children:i(e,`brain.saved.detail`)})]}):null,U?(0,q.jsxs)(`details`,{className:`brain-utility-drawer`,onToggle:e=>e.currentTarget.open&&fe(),children:[(0,q.jsx)(`summary`,{children:i(e,W?`brain.chatHome.utility.basic`:`brain.chatHome.utility`)}),(0,q.jsxs)(`div`,{className:`brain-utility-tools`,"aria-label":i(e,`brain.chatHome.contextAria`),children:[(0,q.jsx)(de,{compact:!0}),W?null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`brain-model-pill`,children:t}),(0,q.jsxs)(`button`,{className:`brain-admin-link`,type:`button`,onClick:()=>l(`/admin`),children:[(0,q.jsx)(ue,{className:`h-3.5 w-3.5`}),i(e,`brain.admin`)]})]}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(I,{className:`h-3.5 w-3.5`}),i(e,`brain.local`)]}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(I,{className:`h-3.5 w-3.5`}),i(e,`brain.private`)]}),(0,q.jsxs)(`span`,{children:[(0,q.jsx)(I,{className:`h-3.5 w-3.5`}),i(e,`brain.portable`)]})]}),(0,q.jsxs)(`div`,{className:`brain-utility-grid`,children:[U?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Tt,{language:e,uploadingDocument:E,ingestionStates:d,onUploadDocument:j,onPickFolder:N,onConnectFolder:P,onIngestNote:ee,onIngestWeb:te}),(0,q.jsx)(M,{language:e})]}):null,W?null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(At,{language:e,emergenceEvents:f}),(0,q.jsx)(Ct,{language:e,proof:w,modelName:t,onVerify:ne}),(0,q.jsx)(et,{memories:y,concepts:x,readiness:C,proof:w,onOpenDepth:O})]}),(0,q.jsx)(Xe,{language:e}),(0,q.jsx)(Ze,{language:e}),(0,q.jsx)(qe,{language:e}),(0,q.jsx)(Re,{language:e})]})]}):null]})})})}function Qt({language:e,reason:t}){return(0,q.jsxs)(`p`,{className:`brain-context-quality-note`,role:`note`,"data-testid":`context-quality-note`,children:[(0,q.jsx)(`span`,{children:i(e,`brain.contextQuality.limited`)}),t?(0,q.jsx)(`small`,{children:i(e,`brain.contextQuality.reason`,{reason:t})}):null]})}function $t(e){let t=e instanceof HTMLDetailsElement?e:e.closest(`details`);t&&(t.removeAttribute(`open`),t.querySelector(`summary`)?.focus())}function en(e){for(let t=e.length-1;t>=0;--t)if(e[t].role===`assistant`)return t;return-1}function tn({language:e,content:t,canRegenerate:n,onRegenerate:r,canFollowUp:a,onFollowUp:o,onCreateActionItem:s}){let[c,l]=K.useState(!1),u=K.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,q.jsxs)(`div`,{className:`brain-message-actions`,children:[(0,q.jsxs)(`button`,{type:`button`,"aria-label":i(e,`brain.message.copyAria`),onClick:()=>void d(),children:[(0,q.jsx)(ge,{className:`h-3 w-3`,"aria-hidden":`true`}),c?i(e,`brain.message.copied`):i(e,`brain.message.copy`)]}),n?(0,q.jsxs)(`button`,{type:`button`,"aria-label":i(e,`brain.message.regenerateAria`),onClick:r,children:[(0,q.jsx)(m,{className:`h-3 w-3`,"aria-hidden":`true`}),i(e,`brain.message.regenerate`)]}):null,a?(0,q.jsxs)(`button`,{type:`button`,"aria-label":i(e,`brain.message.saveTaskAria`),onClick:()=>s(t),children:[(0,q.jsx)(Te,{className:`h-3 w-3`,"aria-hidden":`true`}),i(e,`brain.message.saveTask`)]}):null,a?(0,q.jsx)(`div`,{className:`brain-message-followups`,"aria-label":i(e,`brain.message.followup.aria`),children:u.map(t=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(i(e,t.promptKey)),children:i(e,t.labelKey)},t.promptKey))}):null]})}function nn({language:e,modelReady:t,onBrainChange:n,setMemoryFeedback:r,beginIngestion:a,completeIngestion:s,failIngestion:l,setLastRecallQuery:u,attachAnswerProof:d}){let f=c(),m=B(e=>e.messages),h=B(e=>e.setMessages),g=B(e=>e.conversationId),_=B(e=>e.setConversationId),[v,y]=K.useState(``),[b,S]=K.useState(null),[C,w]=K.useState(!1),[T,E]=K.useState([]),D=K.useRef(null),O=K.useRef(null),k=K.useRef(null),A=H({mutationFn:async t=>{let n=await o.runAgent(t,[`planner`,`executor`,`reviewer`]);if(!n.ok)throw Error(n.error||i(e,`ui.status.unavailable`));return n},onSuccess:()=>{f.invalidateQueries({queryKey:[`memoryManager`]}),f.invalidateQueries({queryKey:[`memoryBrainBrief`]}),f.invalidateQueries({queryKey:[`graphPreview`]}),f.invalidateQueries({queryKey:[`graph`]}),f.invalidateQueries({queryKey:[`agentRuntime`]}),r(i(e,`brain.delegate.done`)),window.setTimeout(()=>r(null),4200)},onError:t=>r(i(e,`brain.delegate.failed`,{reason:String(t)}))});K.useEffect(()=>{C?n(`thinking`,.94):v.trim().length>4?n(`listening`,.76):n(`idle`,.58)},[v,n,C]),K.useEffect(()=>{D.current&&(D.current.scrollTop=D.current.scrollHeight)},[m]),K.useEffect(()=>()=>{k.current!==null&&window.clearTimeout(k.current),O.current?.abort()},[]);async function j(){let e=v.trim();!e||C||(y(``),await N(e))}async function M(){if(C)return;let e=[...m].reverse().find(e=>e.role===`user`);e&&(h(e=>{let t=[...e];return t[t.length-1]?.role===`assistant`&&t.pop(),t[t.length-1]?.role===`user`&&t.pop(),t}),await N(e.content))}async function N(c){if(!c||C)return;let m=g||`brain-${Date.now()}`;if(g||_(m),!t){h(t=>[...t,{role:`user`,content:c},{role:`assistant`,content:i(e,`brain.noModel.message`)}]),S(null),r(i(e,`brain.noModel.status`));return}h(e=>[...e,{role:`user`,content:c},{role:`assistant`,content:``}]),S(null),w(!0),r(null),a(`chat`,c.slice(0,120)),n(`thinking`,.96);let v=new AbortController;O.current=v;try{let t=await o.streamChat({message:c,conversation_id:m,image_data:b||void 0},{signal:v.signal,onChunk:(e,t)=>{h(e=>{let n=[...e];return n[n.length-1]={...n[n.length-1],role:`assistant`,content:t},n})},onAgent:e=>{let t=(e.created_files||[]).map(e=>({path:e.path,filename:e.filename||e.path.split(`/`).pop()||e.path,bytes:e.bytes||0}));t.length&&h(e=>{let n=[...e];return n[n.length-1]={...n[n.length-1],files:t},n})},onTrace:e=>{e&&(n(`recalling`,.9),p(),k.current!==null&&window.clearTimeout(k.current),k.current=window.setTimeout(()=>n(`thinking`,.9),900))}});if(t.error)h(n=>rn(n,`${i(e,`brain.unavailable`)}: ${t.error}`)),l(`chat`,String(t.error));else{let n=x(`contextQuality`in t?t.contextQuality:null)||x(t.trace);n&&h(e=>{let t=[...e];for(let e=t.length-1;e>=0;--e)if(t[e].role===`assistant`){t[e]={...t[e],contextQuality:n};break}return t}),u(c);let a=await s(`chat`);r(i(e,`brain.saved`,{topics:a.entities,memories:a.memories})),p(),d(c)}}catch(t){let n=t instanceof DOMException&&t.name===`AbortError`;h(r=>{let a=[...r],o=a[a.length-1];return o?.role===`assistant`&&!o.content.trim()&&(a[a.length-1]={...o,content:n?i(e,`brain.stopped.empty`):`${i(e,`brain.unavailable`)}: ${t instanceof Error?t.message:String(t)}`}),a}),r(n?i(e,`brain.stopped`):null),l(`chat`,n?`stopped`:t instanceof Error?t.message:String(t))}finally{O.current=null,w(!1);for(let e of[`chatHistory`,`memoryManager`,`graphPreview`,`graph`,`memoryBrainProof`,`memoryBrainBrief`])f.invalidateQueries({queryKey:[e]})}}async function P(t){let n=t.trim();if(!n)return!1;let a=([...m].reverse().find(e=>e.role===`user`)?.content||i(e,`brain.action.defaultTitle`)).trim().slice(0,96),s=await o.createReviewItem({title:a,summary:n.slice(0,420),source:`chat_followup`,kind:`task_draft`,payload:{answer_preview:n.slice(0,2e3),conversation_id:g||``},provenance:{conversation_id:g||``,source_detail:`brain_chat`}});return r(s.ok?i(e,`brain.action.saved`):i(e,`brain.action.saveFailed`,{reason:s.error||String(s.status||``)})),s.ok}function F(e,t,n,r=`${e.id}-${Date.now()}`){let i=Date.now();return E(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 I(e){let t=e.prompt.trim(),n=F(e,`running`);if(e.intent===`route`&&e.route){window.location.hash=e.route,F(e,`completed`,e.route,n);return}if(!t){F(e,`failed`,`empty prompt`,n);return}try{e.intent===`delegate`?(await A.mutateAsync(t),F(e,`completed`,`agent`,n)):e.intent===`review`?F(e,await P(t)?`completed`:`failed`,`review`,n):(await N(t),F(e,`completed`,`chat`,n))}catch(t){F(e,`failed`,t instanceof Error?t.message:String(t),n)}}return{messages:m,conversationId:g,draft:v,setDraft:y,imageData:b,setImageData:S,streaming:C,streamRef:D,proactiveActivities:T,send:j,sendText:N,regenerate:M,createActionItem:P,handleProactiveAction:I,stopStreaming:()=>O.current?.abort()}}function rn(e,t){let n=[...e];return n[n.length-1]={role:`assistant`,content:t},n}function an({language:e,setMemoryFeedback:t}){let n=c(),r=B(e=>e.conversationId),a=B(e=>e.setConversationId),s=B(e=>e.setMessages),l=B(e=>e.resetConversation),[d,f]=K.useState(null),p=u({queryKey:[`chatHistory`],queryFn:o.chatHistory});return{historyQ:p,pastConversations:K.useMemo(()=>O(p.data?.data),[p.data]),historyBusyId:d,resetConversation:l,resumeConversation:K.useCallback(async(n,r)=>{if(!(d||r)){f(n),t(i(e,`brain.history.loading`));try{let r=await o.conversation(n);if(!r.ok){t(i(e,`brain.history.loadFailed`,{reason:r.error||`unavailable`}));return}let c=k(r.data);if(!c.length){t(i(e,`brain.history.loadFailed`,{reason:i(e,`brain.history.emptyConversation`)}));return}a(n),s(c),t(i(e,`brain.history.resumed`))}finally{f(null)}}},[d,e,a,t,s]),deleteConversation:K.useCallback(async a=>{if(!d){f(a);try{let s=await o.deleteConversation(a);if(!s.ok){t(i(e,`brain.history.deleteFailed`,{reason:s.error||`unavailable`}));return}r===a&&l(),t(i(e,`brain.history.deleted`)),n.invalidateQueries({queryKey:[`chatHistory`]}),n.invalidateQueries({queryKey:[`memoryManager`]})}finally{f(null)}}},[r,d,e,n,l,t])}}var on={chat:null,file:null,folder:null,note:null,web:null};function sn({language:e,brainReadiness:t,memoryFragments:n,graphModel:r,memoriesFetched:a,graphFetched:s,requestDetails:l,setLastRecallQuery:u,setMemoryFeedback:d,onBrainChange:f}){let m=c(),[h,g]=K.useState(!1),[_,y]=K.useState(on),[b,x]=K.useState([]),[S,C]=K.useState(!1),w=K.useRef({});K.useEffect(()=>{if(!b[0]?.id)return;C(!0);let e=window.setTimeout(()=>C(!1),1650);return()=>window.clearTimeout(e)},[b]);let D=K.useCallback((e,t)=>{y(n=>{let r=n[e];return r?{...n,[e]:{...r,stage:t,completedAt:t===`complete`||t===`error`?Date.now():r.completedAt}}:n})},[]),O=K.useCallback((e,i)=>{l(),w.current[e]={memories:Math.max(t.signals.memoryCount,n.length),entities:Math.max(t.signals.conceptCount,r.nodes.length),label:i,memoryKnown:a,graphKnown:s,nodeIds:new Set(r.nodes.map(e=>e.id))},y(t=>({...t,[e]:{sourceType:e,label:i,stage:`preparing`,startedAt:Date.now(),completedAt:null,newMemories:0,newEntities:0,nodeIds:[]}}))},[t.signals.conceptCount,t.signals.memoryCount,s,r.nodes,a,n.length,l]),k=K.useCallback((e,t,n,r,i)=>{let a=w.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 w.current[e],y(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}),x(t=>[{id:`${e}-${Date.now()}`,sourceType:e,label:o,newMemories:u,newEntities:d,nodeIds:l,at:Date.now()},...t].slice(0,10))},[]),A=K.useCallback(async(e,i=null)=>{D(e,`indexing`);let a=T(i),[s,c]=await Promise.all([o.memoryManager(),o.graphPreview(48)]),l=c.ok?E(c.data):r,u=s.ok?v(s.data,n.length,l.nodes.length):t;return s.ok&&m.setQueryData([`memoryManager`],s),c.ok&&m.setQueryData([`graphPreview`],c),k(e,Math.max(u.signals.memoryCount,n.length),Math.max(u.signals.conceptCount,l.nodes.length),l,a),await Promise.all([m.invalidateQueries({queryKey:[`chatHistory`]}),m.invalidateQueries({queryKey:[`graph`]}),m.invalidateQueries({queryKey:[`memoryBrainProof`]}),m.invalidateQueries({queryKey:[`memoryBrainBrief`]}),m.invalidateQueries({queryKey:[`vectorFreshness`]}),m.invalidateQueries({queryKey:[`ingestionJobs`]})]),{memories:Math.max(u.signals.memoryCount,n.length),entities:Math.max(u.signals.conceptCount,l.nodes.length)}},[t,r,n.length,m,k,D]),j=K.useCallback((e,t)=>{delete w.current[e],y(n=>{let r=n[e];return r?{...n,[e]:{...r,stage:`error`,completedAt:Date.now(),error:t}}:n})},[]),M=K.useCallback(async t=>{if(!h){g(!0),d(i(e,`brain.upload.pending`,{name:t.name})),f(`recalling`,.86),O(`file`,t.name);try{let n=await o.uploadDocument(t);if(!n.ok){let t=n.error||`unavailable`;d(i(e,`brain.upload.failed`,{reason:t})),j(`file`,t);return}d(i(e,`brain.upload.saved`,{name:t.name})),u(t.name),await A(`file`,n.data),p()}finally{g(!1)}}},[O,A,j,e,f,u,d,h]),N=K.useCallback(async t=>{let n=t.trim();if(!n)return;d(i(e,`brain.ingest.folder.pending`,{path:n})),f(`recalling`,.84),O(`folder`,n);let r=await o.connectFolder(n);if(!r.ok){let t=r.error||`unavailable`;d(i(e,`brain.ingest.folder.failed`,{reason:t})),j(`folder`,t);return}d(i(e,`brain.ingest.folder.saved`,{path:n})),u(n),await A(`folder`,r.data),p()},[O,A,j,e,f,u,d]);return{ingestionStates:_,emergenceEvents:b,synthesisActive:S,uploadingDocument:h,beginIngestion:O,completeIngestion:A,failIngestion:j,uploadDocument:M,pickFolder:K.useCallback(async()=>{let t=await o.selectFolder();if(!t){d(i(e,`capture.local.pickUnavailable`));return}await N(t)},[N,e,d]),connectFolder:N,ingestNote:K.useCallback(async t=>{let n=t.trim();if(!n)return;d(i(e,`brain.ingest.note.pending`)),f(`recalling`,.84),O(`note`,n.slice(0,80));let r=await o.ingestNote(n,n.slice(0,80));if(!r.ok){let t=r.error||`unavailable`;d(i(e,`brain.ingest.note.failed`,{reason:t})),j(`note`,t);return}d(i(e,`brain.ingest.note.saved`)),u(n.slice(0,120)),await A(`note`,r.data),p()},[O,A,j,e,f,u,d]),ingestWeb:K.useCallback(async t=>{let n=t.trim();if(!n)return;d(i(e,`brain.ingest.web.pending`,{url:n})),f(`recalling`,.84),O(`web`,n);let r=await o.browserReadUrl(n),a=r.data&&typeof r.data==`object`?r.data:{},s=typeof a.status==`string`?a.status:``;if(!r.ok||s!==`ok`){let t=r.error||(typeof a.detail==`string`?a.detail:s)||`unavailable`;d(i(e,`brain.ingest.web.failed`,{reason:t})),j(`web`,t);return}d(i(e,`brain.ingest.web.saved`,{url:n})),u(n),await A(`web`,r.data),p()},[O,A,j,e,f,u,d]),resetChatIngestion:()=>y(e=>({...e,chat:null}))}}function cn({language:e,messages:t,modelName:n,setMemoryFeedback:r}){let a=B(e=>e.setMessages),[s,c]=K.useState(``),[l,d]=K.useState(!1),f=u({queryKey:[`memoryBrainProof`,s],queryFn:()=>o.memoryBrainProof(s,3),enabled:l||!!s||t.length>0}),p=u({queryKey:[`memoryBrainBrief`,s],queryFn:()=>o.memoryBrainBrief(s,3)}),m=K.useMemo(()=>w(f.data,n),[f.data,n]),h=K.useMemo(()=>A(p.data?.data),[p.data]),g=K.useCallback(async t=>{let s=await o.memoryBrainProof(t,4);if(!s.ok)return r(i(e,`brain.proof.unavailable`,{reason:s.error||i(e,`ui.status.unavailable`)})),!1;let c=ln(w(s,n),t,n);return a(e=>{let t=[...e];for(let e=t.length-1;e>=0;--e)if(t[e].role===`assistant`){t[e]={...t[e],proof:c};break}return t}),!0},[e,n,r,a]);return{brainProof:m,brainBrief:h,lastRecallQuery:s,setLastRecallQuery:c,requestDetails:()=>d(!0),attachAnswerProof:g,verifyModelContinuity:K.useCallback(async()=>{let a=[...t].reverse().find(e=>e.role===`user`),o=s||a?.content||``;if(!o.trim()){r(i(e,`brain.modelDemo.needQuestion`));return}r(i(e,`brain.modelDemo.checking`,{model:n})),await g(o)&&(c(o),r(i(e,`brain.modelDemo.done`,{model:n})))},[g,e,s,t,n,r])}}function ln(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}))}}function un({brainState:e,intensity:t,onBrainChange:r}){let a=n(e=>e.language),s=B(e=>e.messages),[c,l]=K.useState(null),d=u({queryKey:[`memoryManager`],queryFn:o.memoryManager}),f=u({queryKey:[`graphPreview`],queryFn:()=>o.graphPreview(48)}),m=u({queryKey:[`models`],queryFn:o.models}),h=an({language:a,setMemoryFeedback:l}),g=K.useMemo(()=>j(d.data?.data,h.historyQ.data?.data),[h.historyQ.data,d.data]),_=K.useMemo(()=>E(f.data?.data),[f.data]),b=K.useMemo(()=>_.nodes.slice(0,10),[_.nodes]),x=K.useMemo(()=>v(d.data?.data,g.length,b.length),[b.length,d.data,g.length]),S=K.useMemo(()=>y(m.data?.data),[m.data]),C=K.useMemo(()=>N(m.data?.data),[m.data]),w=cn({language:a,messages:s,modelName:S,setMemoryFeedback:l}),T=sn({language:a,brainReadiness:x,memoryFragments:g,graphModel:_,memoriesFetched:d.isFetched,graphFetched:f.isFetched,requestDetails:w.requestDetails,setLastRecallQuery:w.setLastRecallQuery,setMemoryFeedback:l,onBrainChange:r}),D=nn({language:a,modelReady:C,onBrainChange:r,setMemoryFeedback:l,beginIngestion:T.beginIngestion,completeIngestion:T.completeIngestion,failIngestion:T.failIngestion,setLastRecallQuery:w.setLastRecallQuery,attachAnswerProof:w.attachAnswerProof}),O=K.useMemo(()=>[i(a,`brain.prompt.remember`),i(a,`brain.prompt.know`),i(a,`brain.prompt.plan`)],[a]),k=K.useCallback(e=>{p(),r(`recalling`,.82),window.location.hash=e<=2?`/memory`:`/knowledge-graph`},[r]),A=K.useCallback(()=>{D.streaming&&D.stopStreaming(),h.resetConversation(),T.resetChatIngestion(),l(null),r(`idle`,.58)},[D,h,T,r]),M=D.proactiveActivities.some(e=>e.status===`running`),P=Object.values(T.ingestionStates).some(e=>e&&e.stage!==`complete`&&e.stage!==`error`),F=M?`acting`:D.streaming&&e===`recalling`?`recalling`:D.streaming?`thinking`:P?`recalling`:T.synthesisActive?`synthesizing`:D.draft.trim()?`listening`:`idle`,I=F===`idle`?.62:F===`listening`?.76:Math.max(.92,t);return(0,q.jsx)(`main`,{className:`brain-home`,"aria-label":i(a,`brain.aria.home`),children:(0,q.jsx)(Zt,{language:a,brainState:F,intensity:I,modelName:S,modelReady:C,messages:D.messages,pastConversations:h.pastConversations,historyBusyId:h.historyBusyId,starterPrompts:O,memoryFeedback:c,ingestionStates:T.ingestionStates,emergenceEvents:T.emergenceEvents,proactiveActivities:D.proactiveActivities,draft:D.draft,streaming:D.streaming,imageData:D.imageData,streamRef:D.streamRef,memories:g,graph:_,concepts:b,relationshipCount:Math.max(x.signals.relationshipCount,_.edges.length),readiness:x,proof:w.brainProof,brief:w.brainBrief,uploadingDocument:T.uploadingDocument,onOpenDepth:k,onDraftChange:D.setDraft,onImageDataChange:D.setImageData,onUploadDocument:e=>void T.uploadDocument(e),onPickFolder:()=>void T.pickFolder(),onConnectFolder:e=>void T.connectFolder(e),onIngestNote:e=>void T.ingestNote(e),onIngestWeb:e=>void T.ingestWeb(e),onVerifyModelContinuity:()=>void w.verifyModelContinuity(),onSend:()=>void D.send(),onSendText:e=>void D.sendText(e),onCreateActionItem:e=>void D.createActionItem(e),onProactiveAction:e=>void D.handleProactiveAction(e),onStop:D.stopStreaming,onRegenerate:()=>void D.regenerate(),onNewConversation:A,onResumeConversation:e=>void h.resumeConversation(e,D.streaming),onDeleteConversation:e=>void h.deleteConversation(e),onExploreBrain:()=>k(5),onRequestDetails:w.requestDetails})})}export{un as BrainHome};
|