ltcai 5.1.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +143 -159
- package/docs/CHANGELOG.md +72 -2355
- package/docs/DEVELOPMENT.md +99 -0
- package/docs/LEGACY_COMPATIBILITY.md +55 -0
- package/docs/V4_1_VALIDATION_REPORT.md +1 -1
- package/docs/V4_3_PRODUCT_HARDENING_REPORT.md +2 -2
- package/docs/V4_5_1_VALIDATION_REPORT.md +2 -1
- package/docs/WHY_LATTICE.md +4 -3
- package/frontend/src/components/FirstRunGuide.tsx +5 -5
- package/frontend/src/components/ProductFlow.tsx +1 -1
- package/frontend/src/i18n.ts +40 -40
- package/frontend/src/pages/Library.tsx +46 -9
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/archive.py +12 -0
- package/lattice_brain/portability.py +14 -0
- package/lattice_brain/runtime/multi_agent.py +1 -1
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/marketplace.py +2 -2
- package/latticeai/api/models.py +20 -4
- package/latticeai/app_factory.py +4 -78
- package/latticeai/core/marketplace.py +1 -1
- package/latticeai/core/workspace_os.py +18 -4
- package/latticeai/runtime/__init__.py +2 -0
- package/latticeai/runtime/brain_runtime.py +41 -0
- package/latticeai/runtime/config_runtime.py +36 -0
- package/latticeai/runtime/security_runtime.py +27 -0
- package/latticeai/services/model_capability_registry.py +482 -0
- package/latticeai/services/model_catalog.py +99 -96
- package/latticeai/services/model_recommendation.py +12 -1
- package/package.json +2 -2
- package/scripts/verify_hf_model_registry.py +306 -0
- 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 +5 -5
- package/static/app/assets/index-CQmHhk8Q.css +2 -0
- package/static/app/assets/{index-DONOJfMn.js → index-sOXTFUQc.js} +2 -2
- package/static/app/assets/index-sOXTFUQc.js.map +1 -0
- package/static/app/index.html +2 -2
- package/static/app/assets/index-DONOJfMn.js.map +0 -1
- package/static/app/assets/index-DuYYT2oh.css +0 -2
|
@@ -12,5 +12,5 @@ Error generating stack: `+e.message+`
|
|
|
12
12
|
`);s=n.find(e=>e.startsWith(`event:`))?.slice(6).trim()||`message`;let r=n.find(e=>e.startsWith(`data:`));if(!r)continue;let i=r.slice(5).trim(),a=i?JSON.parse(i):{};if(s===`progress`&&t.onProgress?.(a),s===`error`){let e=typeof a.detail==`object`&&a.detail!==null?a.detail:a;return t.onError?.(e),{source:`live`,ok:!1,status:Number(a.status_code||500),data:e,error:wn({detail:e},`Model setup failed`)}}s===`done`&&(c=a,t.onDone?.(a))}}return{source:`live`,ok:!0,status:200,data:c}}async function An(e,t={}){let n=await bn(),r=await fetch(`${n}/chat`,{method:`POST`,credentials:`same-origin`,signal:t.signal,headers:{"Content-Type":`application/json`,Accept:`text/event-stream`,...Cn()},body:JSON.stringify({stream:!0,max_tokens:2048,temperature:.2,...e})});if(!r.ok||!r.body||!(r.headers.get(`content-type`)||``).includes(`text/event-stream`)){let e=await r.json().catch(()=>null);return{source:`live`,text:``,trace:null,error:e?.error||e?.detail||r.statusText}}let i=r.body.getReader(),a=new TextDecoder,o=``,s=``,c=null;for(;;){let{done:e,value:n}=await i.read();if(e)break;o+=a.decode(n,{stream:!0});let r=o.split(`
|
|
13
13
|
|
|
14
14
|
`);o=r.pop()||``;for(let e of r){let n=e.split(`
|
|
15
|
-
`).find(e=>e.startsWith(`data:`));if(!n)continue;let r=n.slice(5).trim();if(r===`[DONE]`)return{source:`live`,text:s,trace:c};let i=JSON.parse(r),a=i.chunk||i.text||``;a&&(s+=a,t.onChunk?.(a,s)),i.trace&&(c=i.trace,t.onTrace?.(c))}}return{source:`live`,text:s,trace:c}}var z={raw:L,desktopBackendStatus:async()=>{let e=await yn(`backend_status`);return e?{ok:!0,status:200,data:e,source:`live`}:{ok:!1,status:0,data:{},source:`unavailable`,error:`Desktop backend status is available only inside the Tauri shell.`}},health:()=>L(`/health`,{}),workspaceOs:()=>L(`/workspace/os`,{counts:{},models:{},workspace_registry:{workspaces:[]}}),indexStatus:()=>L(`/api/index/status`,{}),rebuildIndex:()=>R(`/api/index/rebuild`,{full:!1,include_nodes:!0,include_chunks:!0},{}),graph:()=>L(`/knowledge-graph/graph`,{nodes:[],edges:[]}),graphStats:()=>L(`/knowledge-graph/stats`,{nodes:{},edges:{},total_nodes:0,total_edges:0}),graphPortability:()=>L(`/api/knowledge-graph/portability`,{}),brainStorage:()=>L(`/api/brain/storage`,{}),backupHealth:()=>L(`/api/knowledge-graph/backup-health`,{}),dockerPostgres:e=>R(`/api/brain/storage/postgres/docker`,e,{}),migratePostgres:e=>R(`/api/brain/storage/migrate-postgres`,e,{}),graphProvenance:(e=50)=>L(`/api/knowledge-graph/provenance`,{items:[]},{limit:e}),graphCoverage:()=>L(`/knowledge-graph/provenance/coverage`,{}),graphExport:()=>R(`/api/knowledge-graph/export`,{},{}),graphBackup:()=>R(`/api/knowledge-graph/backup`,{},{}),graphImport:(e,t=!0)=>R(`/api/knowledge-graph/import`,{artifact:e,mode:`merge`,dry_run:t},{}),brainArchive:e=>R(`/api/knowledge-graph/archive`,e,{}),brainArchiveInspect:e=>R(`/api/knowledge-graph/archive/inspect`,e,{}),brainArchiveVerify:e=>R(`/api/knowledge-graph/archive/verify`,e,{}),brainArchiveRestore:e=>R(`/api/knowledge-graph/archive/restore`,e,{}),brainArchiveImport:e=>R(`/api/knowledge-graph/archive/import`,e,{}),hybridSearch:async(e,t)=>{let n=await R(`/api/search/hybrid`,{query:e,...t?{weights:t}:{}},{matches:[]}),r=n.data;return n.ok&&!Array.isArray(r.matches)&&Array.isArray(r.results)?{...n,data:{...r,matches:r.results}}:n},browserReadUrl:e=>R(`/api/browser/read-url`,{url:e},{}),memoryManager:()=>L(`/api/memory/manager`,{sources:[],tiers:[],usage:{}}),memoryRecall:(e,t=20)=>R(`/api/memory/recall`,{query:e,limit:t},{matches:[]}),memoryCompact:()=>R(`/api/memory/compact`,{},{}),memoryRebuild:()=>R(`/api/memory/rebuild`,{target:`vector`},{}),chatHistory:()=>L(`/history/conversations`,[]),conversation:e=>L(`/history/conversations/${encodeURIComponent(e)}`,{messages:[]}),deleteConversation:e=>Dn(`/history/conversations/${encodeURIComponent(e)}`,{}),streamChat:An,uploadDocument:On,documents:(e=200)=>L(`/knowledge-graph/documents`,{documents:[]},{limit:e}),localSources:()=>L(`/knowledge-graph/local/sources`,{sources:[],watch:{available:!1,active:{}}}),localAgent:()=>L(`/api/local-agent/status`,{agent:{online:!1},sources:[]}),connectFolder:e=>R(`/knowledge-graph/local/index`,{path:e,approved:!0,watch_enabled:!0,consent:{approved:!0,source:`desktop-spa`}},{}),localWatchStop:e=>R(`/knowledge-graph/local/watch/stop`,{source_id:e},{}),models:()=>L(`/models`,{catalog:[],loaded:[],recommended:[]}),setupScan:()=>L(`/setup/scan`,{environment:{},recommendations:{},zero_config:{}}),modelRecommendations:(e=`local_mlx`)=>L(`/models/recommendations`,{profile:{},recommendations:{models:[],families:[],counts:{}}},{engine:e}),installEngine:e=>R(`/engines/install`,{engine:e},{}),prepareModel:(e,t,n=!1)=>R(`/engines/prepare-model`,{model:e,engine:t||null,allow_download:n},{}),streamModelPrepare:kn,loadModel:(e,t,n=!1)=>R(`/models/load`,{model_id:e,engine:t||null,allow_download:n},{}),unloadModel:e=>Dn(`/models/unload/${encodeURIComponent(e)}`,{}),embeddingsStatus:()=>L(`/api/embeddings/status`,{}),agentRuntime:()=>L(`/agents/api/runtime/status`,{runtime:{},agents:[],runs:[]}),runAgent:(e,t)=>R(`/agents/api/run`,{goal:e,roles:t},{}),agentRun:e=>L(`/agents/api/runs/${encodeURIComponent(e)}`,{}),stopAgentRun:e=>R(`/agents/api/runs/${encodeURIComponent(e)}/stop`,{},{}),agentRegistry:()=>L(`/agents/api/registry`,{agents:[]}),agentCapabilities:()=>L(`/agents/api/registry/capabilities`,{capabilities:{}}),registerAgent:e=>R(`/agents/api/registry`,e,{}),updateAgent:(e,t)=>En(`/agents/api/registry/${encodeURIComponent(e)}`,t,{}),removeAgent:e=>Dn(`/agents/api/registry/${encodeURIComponent(e)}`,{}),workflowDefinitions:()=>L(`/workflows/api/definitions`,{workflows:[]}),workflowRuns:()=>L(`/workflows/api/runs`,{runs:[]}),workflowTriggers:()=>L(`/workflows/api/triggers`,{armed:[]}),createWorkflow:e=>R(`/workflows/api/definitions`,e,{}),importWorkflow:e=>R(`/workflows/api/import`,{data:e},{}),exportWorkflow:e=>L(`/workflows/api/export/${encodeURIComponent(e)}`,{}),runWorkflow:e=>R(`/workflows/api/definitions/${encodeURIComponent(e)}/run`,{},{}),updateWorkflow:(e,t)=>En(`/workflows/api/definitions/${encodeURIComponent(e)}`,t,{}),stopWorkflowRun:e=>R(`/workflows/api/runs/${encodeURIComponent(e)}/stop`,{},{}),resumeWorkflowRun:(e,t)=>R(`/workflows/api/runs/${encodeURIComponent(e)}/resume`,{approved:t},{}),hooks:()=>L(`/api/hooks`,{hooks:[]}),hookRuns:()=>L(`/api/hooks/runs`,{runs:[]},{limit:50}),hookRun:e=>R(`/api/hooks/run`,e,{}),permissionsPending:()=>L(`/permissions/pending`,{pending:{},count:0}),approvePermission:e=>R(`/permissions/approve/${encodeURIComponent(e)}`,{},{}),denyPermission:e=>R(`/permissions/deny/${encodeURIComponent(e)}`,{},{}),skills:()=>L(`/workspace/skills`,{skills:[]}),skillToggle:(e,t)=>R(t?`/workspace/skills/disable`:`/workspace/skills/enable`,{skill:e},{}),skillsMarketplace:()=>L(`/skills/marketplace`,{skills:[]}),skillInstall:(e,t)=>R(`/workspace/skills/install`,{skill:e,plugin:t||``},{}),mcpTools:()=>L(`/mcp/tools`,{tools:[],installed_mcps:[]}),mcpRecommend:e=>R(`/mcp/recommend`,{query:e,limit:6},{}),templates:()=>L(`/marketplace/templates`,{templates:[],kinds:[]}),installTemplate:e=>R(`/marketplace/templates/install`,{data:e},{}),pluginsRegistry:()=>L(`/plugins/registry`,{plugins:[]}),pluginsDirectory:()=>L(`/plugins/directory`,{plugins:[]}),profile:()=>L(`/account/profile`,{}),login:(e,t)=>R(`/login`,{email:e,password:t},{}),register:e=>R(`/register`,e,{}),logout:()=>R(`/logout`,{},{}),updateProfile:e=>En(`/account/profile`,e,{}),changePassword:(e,t)=>R(`/account/change-password`,{current_password:e,new_password:t},{}),ssoConfig:()=>L(`/auth/sso/config`,{enabled:!1,providers:[]}),workspaceRegistry:()=>L(`/workspace/registry`,{workspaces:[]}),createOrg:e=>R(`/workspace/orgs`,{name:e},{}),activateWorkspace:e=>R(`/workspace/activate`,{workspace_id:e},{}),archiveWorkspace:e=>R(`/workspace/orgs/${encodeURIComponent(e)}/archive`,{},{}),addWorkspaceMember:(e,t,n)=>R(`/workspace/orgs/${encodeURIComponent(e)}/members`,{user_id:t,role:n},{}),removeWorkspaceMember:(e,t)=>Dn(`/workspace/orgs/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,{}),invitations:()=>L(`/invitations`,{invitations:[]}),createInvitation:e=>R(`/invitations`,e,{}),acceptInvitation:e=>R(`/invitations/${encodeURIComponent(e)}/accept`,{},{}),snapshots:()=>L(`/workspace/snapshots`,{snapshots:[]}),createSnapshot:e=>R(`/workspace/snapshots`,{name:e},{}),compareSnapshots:(e,t)=>R(`/workspace/snapshots/compare`,{before_id:e,after_id:t},{}),restoreSnapshot:e=>R(`/workspace/snapshots/${encodeURIComponent(e)}/restore`,{},{}),exportSnapshot:e=>R(`/workspace/snapshots/${encodeURIComponent(e)}/export`,{},{}),timeMachine:()=>L(`/workspace/time-machine`,{events:[]},{limit:100}),realtimeFeed:()=>L(`/realtime/feed`,{events:[]},{limit:80}),presence:()=>L(`/realtime/presence`,{presence:[]}),networkIdentity:()=>L(`/network/identity`,{}),networkPeers:()=>L(`/network/peers`,{peers:[]}),pairPeer:e=>R(`/network/peers`,e,{}),unpairPeer:e=>Dn(`/network/peers/${encodeURIComponent(e)}`,{}),pushPeer:(e,t)=>R(`/network/push/${encodeURIComponent(e)}`,{workspace_id:t},{}),sysinfo:()=>L(`/local/sysinfo`,{}),computerMemory:()=>L(`/workspace/computer-memory`,{}),setComputerMemory:e=>R(`/workspace/computer-memory`,{enabled:e,consent:{approved:e}},{}),adminSummary:()=>L(`/admin/summary`,{}),adminStats:()=>L(`/admin/stats`,{}),adminUsers:()=>L(`/admin/users`,[]),adminAudit:e=>L(`/admin/audit`,{recent_events:[],filters:{}},e),adminRoles:()=>L(`/admin/roles`,{roles:[]}),adminPolicies:()=>L(`/admin/policies`,{policies:[]}),adminLogRetention:()=>L(`/admin/log-retention`,{}),adminProductHardening:()=>L(`/admin/product-hardening`,{}),adminSecurity:()=>L(`/admin/security/overview`,{}),adminSecurityEvents:(e=50)=>L(`/admin/security/events`,{events:[]},{limit:e}),vpcStatus:()=>L(`/vpc/status`,{}),toolPermissions:()=>L(`/tools/permissions`,{permissions:[]})};function jn(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=jn(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Mn(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=jn(e))&&(r&&(r+=` `),r+=t);return r}var Nn=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Pn=Mn,Fn=(e,t)=>n=>{if(t?.variants==null)return Pn(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Nn(t)||Nn(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Pn(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},In=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ln=(e,t)=>({classGroupId:e,validator:t}),Rn=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zn=`-`,Bn=[],Vn=`arbitrary..`,Hn=e=>{let t=Gn(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Wn(e);let n=e.split(zn);return Un(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?In(i,t):t:i||Bn}return n[e]||Bn}}},Un=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Un(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(zn):e.slice(t).join(zn),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Wn=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Vn+r:void 0})(),Gn=e=>{let{theme:t,classGroups:n}=e;return Kn(n,t)},Kn=(e,t)=>{let n=Rn();for(let r in e){let i=e[r];qn(i,n,r,t)}return n},qn=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Jn(i,t,n,r)}},Jn=(e,t,n,r)=>{if(typeof e==`string`){Yn(e,t,n);return}if(typeof e==`function`){Xn(e,t,n,r);return}Zn(e,t,n,r)},Yn=(e,t,n)=>{let r=e===``?t:Qn(t,e);r.classGroupId=n},Xn=(e,t,n,r)=>{if($n(e)){qn(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ln(n,e))},Zn=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];qn(o,Qn(t,a),n,r)}},Qn=(e,t)=>{let n=e,r=t.split(zn),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Rn(),n.nextPart.set(t,i)),n=i}return n},$n=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,er=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},tr=`!`,nr=`:`,rr=[],ir=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ar=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===nr){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(tr)?(c=s.slice(0,-1),l=!0):s.startsWith(tr)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ir(t,l,c,u)};if(t){let e=t+nr,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ir(rr,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},or=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sr=e=>({cache:er(e.cacheSize),parseClassName:ar(e),sortModifiers:or(e),postfixLookupClassGroupIds:cr(e),...Hn(e)}),cr=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},lr=/\s+/,ur=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(lr),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+tr:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},dr=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=fr(n))&&(i&&(i+=` `),i+=r);return i},fr=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=fr(e[r]))&&(n&&(n+=` `),n+=t);return n},pr=(e,...t)=>{let n,r,i,a,o=o=>(n=sr(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ur(e,n);return i(e,a),a};return a=o,(...e)=>a(dr(...e))},mr=[],hr=e=>{let t=t=>t[e]||mr;return t.isThemeGetter=!0,t},gr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,_r=/^\((?:(\w[\w-]*):)?(.+)\)$/i,vr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,yr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,br=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Sr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Cr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wr=e=>vr.test(e),B=e=>!!e&&!Number.isNaN(Number(e)),Tr=e=>!!e&&Number.isInteger(Number(e)),Er=e=>e.endsWith(`%`)&&B(e.slice(0,-1)),Dr=e=>yr.test(e),Or=()=>!0,kr=e=>br.test(e)&&!xr.test(e),Ar=()=>!1,jr=e=>Sr.test(e),Mr=e=>Cr.test(e),Nr=e=>!V(e)&&!H(e),Pr=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Fr=e=>Xr(e,ei,Ar),V=e=>gr.test(e),Ir=e=>Xr(e,ti,kr),Lr=e=>Xr(e,ni,B),Rr=e=>Xr(e,ii,Or),zr=e=>Xr(e,ri,Ar),Br=e=>Xr(e,Qr,Ar),Vr=e=>Xr(e,$r,Mr),Hr=e=>Xr(e,ai,jr),H=e=>_r.test(e),Ur=e=>Zr(e,ti),Wr=e=>Zr(e,ri),Gr=e=>Zr(e,Qr),Kr=e=>Zr(e,ei),qr=e=>Zr(e,$r),Jr=e=>Zr(e,ai,!0),Yr=e=>Zr(e,ii,!0),Xr=(e,t,n)=>{let r=gr.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Zr=(e,t,n=!1)=>{let r=_r.exec(e);return r?r[1]?t(r[1]):n:!1},Qr=e=>e===`position`||e===`percentage`,$r=e=>e===`image`||e===`url`,ei=e=>e===`length`||e===`size`||e===`bg-size`,ti=e=>e===`length`,ni=e=>e===`number`,ri=e=>e===`family-name`,ii=e=>e===`number`||e===`weight`,ai=e=>e===`shadow`,oi=pr(()=>{let e=hr(`color`),t=hr(`font`),n=hr(`text`),r=hr(`font-weight`),i=hr(`tracking`),a=hr(`leading`),o=hr(`breakpoint`),s=hr(`container`),c=hr(`spacing`),l=hr(`radius`),u=hr(`shadow`),d=hr(`inset-shadow`),f=hr(`text-shadow`),p=hr(`drop-shadow`),m=hr(`blur`),h=hr(`perspective`),g=hr(`aspect`),_=hr(`ease`),v=hr(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),H,V],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],S=()=>[`auto`,`contain`,`none`],C=()=>[H,V,c],w=()=>[wr,`full`,`auto`,...C()],te=()=>[Tr,`none`,`subgrid`,H,V],ne=()=>[`auto`,{span:[`full`,Tr,H,V]},Tr,H,V],T=()=>[Tr,`auto`,H,V],re=()=>[`auto`,`min`,`max`,`fr`,H,V],ie=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ae=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],E=()=>[`auto`,...C()],D=()=>[wr,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...C()],O=()=>[wr,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...C()],oe=()=>[wr,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...C()],k=()=>[e,H,V],A=()=>[...b(),Gr,Br,{position:[H,V]}],se=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ce=()=>[`auto`,`cover`,`contain`,Kr,Fr,{size:[H,V]}],le=()=>[Er,Ur,Ir],j=()=>[``,`none`,`full`,l,H,V],M=()=>[``,B,Ur,Ir],N=()=>[`solid`,`dashed`,`dotted`,`double`],ue=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],de=()=>[B,Er,Gr,Br],fe=()=>[``,`none`,m,H,V],pe=()=>[`none`,B,H,V],me=()=>[`none`,B,H,V],he=()=>[B,H,V],ge=()=>[wr,`full`,...C()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Dr],breakpoint:[Dr],color:[Or],container:[Dr],"drop-shadow":[Dr],ease:[`in`,`out`,`in-out`],font:[Nr],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Dr],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Dr],shadow:[Dr],spacing:[`px`,B],text:[Dr],"text-shadow":[Dr],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,wr,V,H,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,H,V]}],"container-named":[Pr],columns:[{columns:[B,V,H,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{"inset-s":w(),start:w()}],end:[{"inset-e":w(),end:w()}],"inset-bs":[{"inset-bs":w()}],"inset-be":[{"inset-be":w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Tr,`auto`,H,V]}],basis:[{basis:[wr,`full`,`auto`,s,...C()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[B,wr,`auto`,`initial`,`none`,V]}],grow:[{grow:[``,B,H,V]}],shrink:[{shrink:[``,B,H,V]}],order:[{order:[Tr,`first`,`last`,`none`,H,V]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...ie(),`normal`]}],"justify-items":[{"justify-items":[...ae(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ae()]}],"align-content":[{content:[`normal`,...ie()]}],"align-items":[{items:[...ae(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ae(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...ae(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ae()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:E()}],mx:[{mx:E()}],my:[{my:E()}],ms:[{ms:E()}],me:[{me:E()}],mbs:[{mbs:E()}],mbe:[{mbe:E()}],mt:[{mt:E()}],mr:[{mr:E()}],mb:[{mb:E()}],ml:[{ml:E()}],"space-x":[{"space-x":C()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":C()}],"space-y-reverse":[`space-y-reverse`],size:[{size:D()}],"inline-size":[{inline:[`auto`,...O()]}],"min-inline-size":[{"min-inline":[`auto`,...O()]}],"max-inline-size":[{"max-inline":[`none`,...O()]}],"block-size":[{block:[`auto`,...oe()]}],"min-block-size":[{"min-block":[`auto`,...oe()]}],"max-block-size":[{"max-block":[`none`,...oe()]}],w:[{w:[s,`screen`,...D()]}],"min-w":[{"min-w":[s,`screen`,`none`,...D()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...D()]}],h:[{h:[`screen`,`lh`,...D()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...D()]}],"max-h":[{"max-h":[`screen`,`lh`,...D()]}],"font-size":[{text:[`base`,n,Ur,Ir]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Yr,Rr]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Er,V]}],"font-family":[{font:[Wr,zr,t]}],"font-features":[{"font-features":[V]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,H,V]}],"line-clamp":[{"line-clamp":[B,`none`,H,Lr]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":[`none`,H,V]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,H,V]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...N(),`wavy`]}],"text-decoration-thickness":[{decoration:[B,`from-font`,`auto`,H,Ir]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[B,`auto`,H,V]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:C()}],"tab-size":[{tab:[Tr,H,V]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,H,V]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,H,V]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:A()}],"bg-repeat":[{bg:se()}],"bg-size":[{bg:ce()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Tr,H,V],radial:[``,H,V],conic:[Tr,H,V]},qr,Vr]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:le()}],"gradient-via-pos":[{via:le()}],"gradient-to-pos":[{to:le()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:j()}],"rounded-s":[{"rounded-s":j()}],"rounded-e":[{"rounded-e":j()}],"rounded-t":[{"rounded-t":j()}],"rounded-r":[{"rounded-r":j()}],"rounded-b":[{"rounded-b":j()}],"rounded-l":[{"rounded-l":j()}],"rounded-ss":[{"rounded-ss":j()}],"rounded-se":[{"rounded-se":j()}],"rounded-ee":[{"rounded-ee":j()}],"rounded-es":[{"rounded-es":j()}],"rounded-tl":[{"rounded-tl":j()}],"rounded-tr":[{"rounded-tr":j()}],"rounded-br":[{"rounded-br":j()}],"rounded-bl":[{"rounded-bl":j()}],"border-w":[{border:M()}],"border-w-x":[{"border-x":M()}],"border-w-y":[{"border-y":M()}],"border-w-s":[{"border-s":M()}],"border-w-e":[{"border-e":M()}],"border-w-bs":[{"border-bs":M()}],"border-w-be":[{"border-be":M()}],"border-w-t":[{"border-t":M()}],"border-w-r":[{"border-r":M()}],"border-w-b":[{"border-b":M()}],"border-w-l":[{"border-l":M()}],"divide-x":[{"divide-x":M()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":M()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...N(),`hidden`,`none`]}],"divide-style":[{divide:[...N(),`hidden`,`none`]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...N(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[B,H,V]}],"outline-w":[{outline:[``,B,Ur,Ir]}],"outline-color":[{outline:k()}],shadow:[{shadow:[``,`none`,u,Jr,Hr]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":[`none`,d,Jr,Hr]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:M()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[B,Ir]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":M()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":[`none`,f,Jr,Hr]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[B,H,V]}],"mix-blend":[{"mix-blend":[...ue(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ue()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[B]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[H,V]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[B]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:A()}],"mask-repeat":[{mask:se()}],"mask-size":[{mask:ce()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,H,V]}],filter:[{filter:[``,`none`,H,V]}],blur:[{blur:fe()}],brightness:[{brightness:[B,H,V]}],contrast:[{contrast:[B,H,V]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Jr,Hr]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:[``,B,H,V]}],"hue-rotate":[{"hue-rotate":[B,H,V]}],invert:[{invert:[``,B,H,V]}],saturate:[{saturate:[B,H,V]}],sepia:[{sepia:[``,B,H,V]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,H,V]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[B,H,V]}],"backdrop-contrast":[{"backdrop-contrast":[B,H,V]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,B,H,V]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[B,H,V]}],"backdrop-invert":[{"backdrop-invert":[``,B,H,V]}],"backdrop-opacity":[{"backdrop-opacity":[B,H,V]}],"backdrop-saturate":[{"backdrop-saturate":[B,H,V]}],"backdrop-sepia":[{"backdrop-sepia":[``,B,H,V]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,H,V]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[B,`initial`,H,V]}],ease:[{ease:[`linear`,`initial`,_,H,V]}],delay:[{delay:[B,H,V]}],animate:[{animate:[`none`,v,H,V]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,H,V]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[H,V,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":[`translate-none`],zoom:[{zoom:[Tr,H,V]}],accent:[{accent:k()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,H,V]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,H,V]}],fill:[{fill:[`none`,...k()]}],"stroke-w":[{stroke:[B,Ur,Ir,Lr]}],stroke:[{stroke:[`none`,...k()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function si(...e){return oi(Mn(e))}function ci(e){return Array.isArray(e)?e:[]}var li=Fn(`inline-flex h-10 max-w-full items-center justify-center gap-2 rounded-md px-3.5 text-sm font-semibold leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-45`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-[0_10px_30px_hsl(var(--primary)/0.16)] hover:bg-primary/92`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/82`,ghost:`text-foreground hover:bg-muted`,outline:`border border-border bg-card/70 hover:bg-muted/88`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`},size:{sm:`h-8 px-2.5 text-xs`,md:`h-10 px-3.5`,icon:`h-10 w-10 px-0`}},defaultVariants:{variant:`default`,size:`md`}}),ui=P.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,F.jsx)(`button`,{ref:i,className:si(li({variant:t,size:n,className:e})),...r}));ui.displayName=`Button`;function di({state:e=`idle`,intensity:t=.6,onPulse:n,size:r=`large`,label:i,className:a,showLabel:o=!0,depth:s=0,onInteract:c}){let[l,u]=P.useState(!1),d=P.useRef(null);P.useEffect(()=>{if(n){let e=()=>f();return window.addEventListener(`brain:recall`,e),()=>window.removeEventListener(`brain:recall`,e)}},[n]);function f(){u(!0),d.current&&(d.current.classList.add(`pulse`),window.setTimeout(()=>{d.current&&d.current.classList.remove(`pulse`),u(!1)},1350)),n?.()}P.useEffect(()=>{if((e===`recalling`||t>.82)&&!l){let e=window.setTimeout(()=>f(),180);return()=>clearTimeout(e)}},[e,t]);let p=e,m=r===`large`,h=r===`trace`,g=Math.max(.35,Math.min(1,t)),_=Math.max(0,Math.min(5,s||0)),v=e!==`thinking`;return(0,F.jsxs)(`div`,{className:si(`brain-presence select-none`,m&&`large`,h&&`trace`,a,_>0&&`is-exploring`),"aria-label":`Your living Brain`,role:`group`,"data-depth":_,children:[(0,F.jsxs)(`button`,{type:`button`,ref:d,className:si(`brain-organism`,`size-${r}`,`depth-${_}`),"data-state":p,"aria-label":_<5?`Travel deeper into your Brain`:`Rest inside the Knowledge Graph`,"aria-disabled":!v,style:{transform:`scale(${.96+(g-.5)*.09+_*.015})`},onClick:()=>{v&&(f(),c?.())},title:_<5?`Travel deeper into your Brain`:`The core of your knowledge`,children:[(0,F.jsx)(`div`,{className:`brain-core`,style:{transform:`scale(${1+_*.045})`},children:(0,F.jsxs)(`svg`,{className:`brain-anatomy`,viewBox:`0 0 220 174`,"aria-hidden":!0,children:[(0,F.jsx)(`path`,{className:`brain-lobe brain-lobe-left`,d:`M102 30c-13-20-44-19-55 1-18 1-29 16-28 33-13 8-18 25-11 39-9 16-1 36 17 42 5 19 27 26 43 15 13 10 33 8 43-5 5-7 8-16 8-27V52c0-8-6-17-17-22Z`}),(0,F.jsx)(`path`,{className:`brain-lobe brain-lobe-right`,d:`M118 30c13-20 44-19 55 1 18 1 29 16 28 33 13 8 18 25 11 39 9 16 1 36-17 42-5 19-27 26-43 15-13 10-33 8-43-5-5-7-8-16-8-27V52c0-8 6-17 17-22Z`}),(0,F.jsx)(`path`,{className:`brain-bridge`,d:`M103 48c9-8 24-8 33 0 7 6 9 16 5 25-5 11-16 15-31 12-15 3-26-1-31-12-4-9-2-19 5-25 5-4 12-6 19 0Z`}),(0,F.jsx)(`path`,{className:`brain-stem`,d:`M92 137c10 9 26 9 36 0 1 14 7 25 20 33H76c12-8 17-19 16-33Z`}),(0,F.jsx)(`path`,{className:`brain-fold fold-a`,d:`M48 50c18-11 38-8 47 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-b`,d:`M34 82c22-8 45-5 58 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-c`,d:`M43 119c18 5 35 2 49-11`}),(0,F.jsx)(`path`,{className:`brain-fold fold-d`,d:`M172 50c-18-11-38-8-47 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-e`,d:`M186 82c-22-8-45-5-58 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-f`,d:`M177 119c-18 5-35 2-49-11`}),(0,F.jsx)(`path`,{className:`brain-fold fold-mid`,d:`M110 38c-5 30-5 70 0 112`})]})}),(0,F.jsx)(`div`,{className:`brain-aura`,style:{animationDuration:e===`thinking`?`1.65s`:e===`recalling`?`2.4s`:`6.8s`,transform:`scale(${1+_*.12})`,opacity:.65+_*.05}}),(0,F.jsx)(`div`,{className:`thought-activity`,"aria-hidden":!0,children:Array.from({length:Math.min(12,5+_*2)}).map((e,n)=>(0,F.jsx)(`div`,{className:si(`thought-particle`,_>=3&&`resolving`),style:{left:`${18+(n*13+_*4)%64}%`,top:`${22+n%5*14}%`,animationDelay:`-${n*.55+t*1.1-_*.2}s`,animationDuration:`${2.8+(1-g)*1.6-_*.15}s`}},n))}),Array.from({length:1+Math.floor(_/1.5)}).map((e,t)=>(0,F.jsx)(`div`,{className:`memory-ripple`,"aria-hidden":!0,style:{inset:`${18+t*6}%`,animationDelay:`${180+t*220}ms`,opacity:.55+_*.06}},t)),_>=4&&(0,F.jsx)(`svg`,{className:`brain-inner-structure`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:(0,F.jsxs)(`g`,{stroke:`hsl(var(--brain-core) / 0.35)`,strokeWidth:`0.6`,fill:`none`,children:[(0,F.jsx)(`circle`,{cx:`50`,cy:`50`,r:`18`}),(0,F.jsx)(`circle`,{cx:`50`,cy:`50`,r:`28`}),(0,F.jsx)(`path`,{d:`M32 50 Q50 32 68 50`}),(0,F.jsx)(`path`,{d:`M32 50 Q50 68 68 50`})]})})]}),o&&!h&&(0,F.jsxs)(`div`,{className:`brain-presence-label`,"data-state":e,children:[(0,F.jsx)(`span`,{className:`dot`}),i||(_>0?`Depth ${_}`:fi(e))]})]})}function fi(e){switch(e){case`listening`:return`Listening`;case`thinking`:return`Thinking with you`;case`recalling`:return`Remembering`;case`synthesizing`:return`Making sense`;case`planning`:return`Planning`;case`acting`:return`Acting`;case`resting`:return`With you`;default:return`Here`}}function pi(){typeof window<`u`&&window.dispatchEvent(new CustomEvent(`brain:recall`))}var mi=P.forwardRef(({className:e,...t},n)=>(0,F.jsx)(`input`,{ref:n,className:si(`h-10 w-full rounded-md border border-input bg-background/70 px-3 text-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/35 disabled:cursor-not-allowed disabled:opacity-50`,e),...t}));mi.displayName=`Input`;var hi={ko:`한국어`,en:`English`},gi={ko:{"language.label":`언어`,"language.ko":`한국어`,"language.en":`English`,"brain.level":`단계`,"brain.depth.1":`Living Brain`,"brain.depth.2":`Memory Layer`,"brain.depth.3":`Knowledge Layer`,"brain.depth.4":`Relationship Layer`,"brain.depth.5":`Knowledge Graph`,"brain.view.memories":`기억 보기`,"brain.view.topics":`주제 보기`,"brain.view.relationships":`관계 보기`,"brain.view.graph":`그래프로 보기`,"brain.surface":`돌아가기`,"brain.title":`Lattice Brain`,"brain.local":`로컬 우선`,"brain.portable":`이동 가능`,"brain.private":`개인 소유`,"brain.admin":`관리자 콘솔`,"brain.empty.kicker":`내 오래가는 기억`,"brain.empty.title":`잊으면 안 되는 일부터 말해 주세요.`,"brain.empty.body":`문서, 대화, 프로젝트, 결정이 Brain에 쌓이고 나중에 주제와 관계로 다시 보입니다.`,"brain.prompt.remember":`이 결정을 기억해줘: `,"brain.prompt.know":`내가 이미 알고 있는 것은? `,"brain.prompt.plan":`이 프로젝트 맥락을 계획으로 바꿔줘: `,"brain.placeholder":`Brain에게 말하기...`,"brain.image":`이미지`,"brain.unavailable":`지금은 답할 수 없음`,"brain.imageAttached":`이미지 첨부됨`,"brain.send":`보내기`,"brain.saved":`기억에 저장됨 · 연결된 주제 {topics}개 · 관련 기억 {memories}개`,"brain.recalled":`기억을 다시 꺼냈습니다: {title}`,"brain.overview.kicker":`Brain 한눈에 보기`,"brain.overview.title":`기억과 주제를 바로 확인하세요.`,"brain.overview.graph":`전체 그래프`,"brain.overview.recent":`최근 기억`,"brain.overview.recentEmpty":`아직 최근 기억이 없습니다.`,"brain.overview.older":`이전 기억`,"brain.overview.olderEmpty":`대화가 쌓이면 과거 기억이 보입니다.`,"brain.overview.topics":`주요 주제`,"brain.overview.topicsEmpty":`주제가 형성되는 중입니다.`,"brain.graph.empty":`아직 맞는 지식이 없습니다.`,"brain.graph.summaryFallback":`이 개념은 가장 깊은 지식 계층의 일부입니다.`,"brain.graph.focused":`대화와 문서에서 함께 나온 내용이 선으로 이어집니다.`,"brain.graph.emptyFocus":`대화, 문서, 프로젝트를 쌓으면 Brain 그래프가 자랍니다.`,"care.title":`내 Brain 돌보기`,"care.subtitle":`내 컴퓨터에 두고, 필요하면 옮길 수 있습니다.`,"care.private":`개인 보관`,"care.export":`내보내기`,"care.export.detail":`다른 곳으로 가져가기`,"care.backup":`백업`,"care.backup.detail":`복사본 저장`,"care.archive":`보관 파일`,"care.archive.detail":`암호화된 Brain`,"care.path.placeholder":`확인하거나 미리 볼 보관 파일 경로`,"care.path.label":`Brain 보관 파일 경로`,"care.passphrase.placeholder":`보관 파일 비밀번호`,"care.passphrase.label":`Brain 보관 파일 비밀번호`,"care.inspect":`확인`,"care.restorePreview":`복원 미리보기`,"care.note":`복원 미리보기는 Brain을 바꾸지 않고 보관 파일만 확인합니다. 실제 복원은 설정에서 확정합니다.`,"care.working":`진행 중`,"admin.back":`Brain`,"admin.kicker":`분리된 관리자 작업공간`,"admin.title":`Admin Console`,"admin.body":`사용자, 로그, 보안, Brain 상태는 일반 사용자 화면과 분리됩니다.`,"flow.shell":`내 로컬 Brain 만들기`,"flow.login.title":`내 Brain을 시작합니다.`,"flow.login.body":`모델은 바뀔 수 있지만, 내 문서와 대화, 결정, 기억은 사라지면 안 됩니다. Lattice는 이 지식을 내가 소유하는 개인 Brain으로 모읍니다.`,"flow.name":`이름`,"flow.email":`이메일`,"flow.password":`비밀번호`,"flow.password.placeholder":`로컬 Brain 비밀번호`,"flow.login.busy":`Brain 여는 중...`,"flow.login.submit":`내 Brain 시작하기`,"flow.login.note":`기존 Brain과 다른 이메일이면 새로 만들지 않고 먼저 확인합니다.`,"flow.login.missing":`이름과 이메일, 비밀번호를 입력하면 기존 Brain을 안전하게 확인합니다.`,"flow.login.otherEmail":`이 컴퓨터의 기존 Brain과 다른 이메일입니다. 오타인지 확인해 주세요.`,"flow.login.wrongPassword":`기존 Brain 이메일은 맞지만 비밀번호가 다릅니다. 비밀번호를 다시 확인해 주세요.`,"flow.login.unavailable":`로컬 프로필을 열 수 없습니다. 이메일과 비밀번호를 확인해 주세요.`,"flow.promise.memory.k":`오래 남는 지식`,"flow.promise.memory.v":`내 일이 장기 기억이 됩니다.`,"flow.promise.model.k":`교체 가능한 모델`,"flow.promise.model.v":`모델은 목소리이고, 자산은 Brain입니다.`,"flow.promise.ownership.k":`사용자 소유`,"flow.promise.ownership.v":`백업, 복원, 이동이 가능합니다.`,"flow.analysis.title":`이 컴퓨터를 확인합니다.`,"flow.analysis.body":`Brain이 클라우드에 의존하지 않고 이 컴퓨터에서 편하게 돌아갈 수 있는지 확인합니다.`,"flow.analysis.finding":`가장 편한 설정을 찾는 중...`,"flow.analysis.ready":`추천 모델을 바로 시작할 수 있게 준비했습니다.`,"flow.analysis.wait":`잠시만 기다리면 자동으로 정리됩니다.`,"flow.analysis.error":`Lattice가 이 컴퓨터를 끝까지 확인하지 못했습니다. 그래도 안전한 기본값으로 계속할 수 있습니다.`,"flow.analysis.continue":`추천 모델 보기`,"flow.recommend.title":`추천 모델로 시작하세요.`,"flow.recommend.body":`모델은 Brain의 현재 목소리입니다. 나중에 바꿔도 기억과 지식은 그대로 남습니다.`,"flow.recommend.primary":`추천대로 시작하기`,"flow.recommend.unsupported":`이 컴퓨터에서 추가 확인이 필요합니다`,"flow.recommend.back":`뒤로`,"flow.recommend.hint":`잘 모르겠다면 추천대로 시작하면 됩니다.`,"flow.install.title":`모델을 설치하고 시작합니다.`,"flow.install.body":`이 모델이 Brain의 로컬 목소리가 됩니다. 다운로드, 확인, 로드는 사용자가 누른 뒤에만 진행됩니다.`,"flow.install.wait":`Brain이 사용할 모델을 기다리고 있습니다.`,"flow.install.prepare":`Brain 준비 중입니다.`,"flow.install.done":`Brain이 준비되었습니다.`,"flow.install.note":`큰 모델은 다운로드에 몇 분 이상 걸릴 수 있습니다. 진행률은 모델 런타임이 알려주는 만큼 표시하고, 멈춘 것처럼 보여도 현재 단계가 유지됩니다.`,"flow.install.retry":`다른 모델을 고르거나 다시 시도할 수 있습니다.`,"flow.install.back":`다른 모델 고르기`,"flow.install.start":`다운로드하고 시작하기`,"flow.install.busy":`모델 준비 중...`,"flow.install.enter":`Brain으로 들어가기`,"flow.install.local":`모든 작업은 이 컴퓨터에서 진행됩니다.`},en:{"language.label":`Language`,"language.ko":`한국어`,"language.en":`English`,"brain.level":`Level`,"brain.depth.1":`Living Brain`,"brain.depth.2":`Memory Layer`,"brain.depth.3":`Knowledge Layer`,"brain.depth.4":`Relationship Layer`,"brain.depth.5":`Knowledge Graph`,"brain.view.memories":`Memories`,"brain.view.topics":`Topics`,"brain.view.relationships":`Relationships`,"brain.view.graph":`Graph`,"brain.surface":`Back`,"brain.title":`Lattice Brain`,"brain.local":`Local-first`,"brain.portable":`Portable`,"brain.private":`Private`,"brain.admin":`Admin Console`,"brain.empty.kicker":`Durable memory`,"brain.empty.title":`Start with what should not be forgotten.`,"brain.empty.body":`Documents, conversations, projects, and decisions accumulate in your Brain, then reappear as topics and relationships.`,"brain.prompt.remember":`Remember this decision: `,"brain.prompt.know":`What do I already know about `,"brain.prompt.plan":`Turn this project context into a plan: `,"brain.placeholder":`Talk to your Brain...`,"brain.image":`Image`,"brain.unavailable":`Unavailable`,"brain.imageAttached":`Image attached`,"brain.send":`Send`,"brain.saved":`Saved to memory · {topics} linked topics · {memories} related memories`,"brain.recalled":`Recalled this memory: {title}`,"brain.overview.kicker":`Brain at a glance`,"brain.overview.title":`See memories and topics immediately.`,"brain.overview.graph":`Full graph`,"brain.overview.recent":`Recent memories`,"brain.overview.recentEmpty":`No recent memories yet.`,"brain.overview.older":`Earlier memories`,"brain.overview.olderEmpty":`Earlier memories appear as conversations accumulate.`,"brain.overview.topics":`Main topics`,"brain.overview.topicsEmpty":`Topics are still forming.`,"brain.graph.empty":`No matching knowledge yet`,"brain.graph.summaryFallback":`This concept is part of the deepest knowledge layer.`,"brain.graph.focused":`Ideas that appeared together in conversations and documents are connected by lines.`,"brain.graph.emptyFocus":`Your Brain graph grows as you add conversations, documents, and projects.`,"care.title":`Care for my Brain`,"care.subtitle":`Own it locally. Keep it portable.`,"care.private":`Private`,"care.export":`Export`,"care.export.detail":`Take it with you`,"care.backup":`Backup`,"care.backup.detail":`Save a copy`,"care.archive":`Archive`,"care.archive.detail":`Encrypted Brain`,"care.path.placeholder":`Paste an archive path to inspect or preview`,"care.path.label":`Brain archive path`,"care.passphrase.placeholder":`Archive passphrase`,"care.passphrase.label":`Brain archive passphrase`,"care.inspect":`Inspect`,"care.restorePreview":`Restore preview`,"care.note":`Restore preview checks an archive without changing your Brain. Confirmed restore stays in Settings.`,"care.working":`Working`,"admin.back":`Brain`,"admin.kicker":`Separate admin workspace`,"admin.title":`Admin Console`,"admin.body":`Users, logs, security, and Brain health stay out of the normal user experience.`,"flow.shell":`Create your local Brain`,"flow.login.title":`Start your Brain.`,"flow.login.body":`Models can change, but your documents, conversations, decisions, and memories should stay yours. Lattice gathers them into a personal Brain you control.`,"flow.name":`Name`,"flow.email":`Email`,"flow.password":`Password`,"flow.password.placeholder":`Local Brain password`,"flow.login.busy":`Opening Brain...`,"flow.login.submit":`Start my Brain`,"flow.login.note":`If the email differs from this computer's Brain, Lattice checks before creating anything new.`,"flow.login.missing":`Enter your name, email, and password so Lattice can safely check your Brain.`,"flow.login.otherEmail":`This email differs from the Brain on this computer. Please check for a typo.`,"flow.login.wrongPassword":`The email matches this Brain, but the password is different. Please check it again.`,"flow.login.unavailable":`Could not open the local profile. Check your email and password.`,"flow.promise.memory.k":`Durable knowledge`,"flow.promise.memory.v":`Your work becomes long-term memory.`,"flow.promise.model.k":`Replaceable models`,"flow.promise.model.v":`The model is the voice; the Brain is the asset.`,"flow.promise.ownership.k":`User owned`,"flow.promise.ownership.v":`Back up, restore, and move it.`,"flow.analysis.title":`Checking this computer.`,"flow.analysis.body":`Lattice checks whether your Brain can run comfortably on this computer without depending on the cloud.`,"flow.analysis.finding":`Finding the easiest setup...`,"flow.analysis.ready":`Your recommended model is ready to start.`,"flow.analysis.wait":`This will be summarized automatically in a moment.`,"flow.analysis.error":`Lattice could not finish checking this computer. You can still continue with a safe default.`,"flow.analysis.continue":`View recommended models`,"flow.recommend.title":`Start with the recommended model.`,"flow.recommend.body":`The model is your Brain's current voice. You can change it later without losing memory or knowledge.`,"flow.recommend.primary":`Start with recommendation`,"flow.recommend.unsupported":`This computer needs one more check`,"flow.recommend.back":`Back`,"flow.recommend.hint":`If unsure, start with the recommendation.`,"flow.install.title":`Install the model and start.`,"flow.install.body":`This model becomes your Brain's local voice. Download, validation, and loading begin only after you choose to start.`,"flow.install.wait":`Waiting for the model your Brain will use.`,"flow.install.prepare":`Preparing your Brain.`,"flow.install.done":`Your Brain is ready.`,"flow.install.note":`Large models can take several minutes to download. Progress is shown when the model runtime reports it; a steady stage still means work is continuing.`,"flow.install.retry":`Choose another model or try again.`,"flow.install.back":`Choose another model`,"flow.install.start":`Download and start`,"flow.install.busy":`Preparing model...`,"flow.install.enter":`Enter Brain`,"flow.install.local":`Everything runs on this computer.`}};function U(e,t,n){let r=gi[e]?.[t]||gi.ko[t]||t;if(n)for(let[e,t]of Object.entries(n))r=r.replaceAll(`{${e}}`,String(t));return r}var _i=`lattice.productFlow.complete`,vi=`lattice.productFlow.user`;function yi(){try{return localStorage.getItem(_i)===`true`}catch{}return!1}function bi(){try{let e=localStorage.getItem(vi);return e?JSON.parse(e):null}catch{}return null}function xi({onComplete:e}){let t=ln(e=>e.language),[n,r]=P.useState(`login`),[i,a]=P.useState(null),[o,s]=P.useState(null),[c,l]=P.useState(null),u=P.useMemo(()=>ki(i),[i]);return P.useEffect(()=>{if(n!==`analysis`||i)return;let e=!1;async function r(){s(null);let[n,r,i,o]=await Promise.all([z.setupScan(),z.modelRecommendations(`local_mlx`),z.models(),z.sysinfo()]);e||(a({setup:n.ok?n.data:null,recommendations:r.ok?r.data:null,models:i.ok?i.data:null,sysinfo:o.ok?o.data:null}),!n.ok&&!r.ok&&!i.ok&&s(U(t,`flow.analysis.error`)))}return r(),()=>{e=!0}},[i,t,n]),(0,F.jsx)(`div`,{className:`ritual-shell`,"aria-label":U(t,`flow.shell`),children:(0,F.jsxs)(`div`,{className:`ritual-container`,children:[(0,F.jsx)(Si,{}),(0,F.jsx)(`div`,{className:`ritual-brain`,children:(0,F.jsx)(di,{state:n===`login`?`idle`:n===`analysis`?`listening`:n===`recommend`?`recalling`:`thinking`,intensity:n===`install`?.92:.7,size:`large`,showLabel:!1})}),n===`login`&&(0,F.jsx)(Ci,{onSuccess:()=>r(`analysis`)}),n===`analysis`&&(0,F.jsx)(Ti,{analysis:i,error:o,onContinue:()=>r(`recommend`)}),n===`recommend`&&(0,F.jsx)(Ei,{recommendations:u,onBack:()=>r(`analysis`),onSelect:e=>{l(e),r(`install`)}}),n===`install`&&(0,F.jsx)(Di,{model:c||u[0]||Ai(),onBack:()=>r(`recommend`),onComplete:()=>{try{localStorage.setItem(_i,`true`)}catch{}e()}})]})})}function Si(){let e=ln(e=>e.language),t=ln(e=>e.setLanguage);return(0,F.jsx)(`div`,{className:`language-switcher ritual-language`,"aria-label":U(e,`language.label`),children:[`ko`,`en`].map(n=>(0,F.jsx)(`button`,{type:`button`,className:e===n?`is-active`:``,onClick:()=>t(n),"aria-pressed":e===n,children:hi[n]},n))})}function Ci({onSuccess:e}){let t=ln(e=>e.language),[n,r]=P.useState(()=>bi()?.email||`you@local`),[i,a]=P.useState(``),[o,s]=P.useState(()=>bi()?.name||`You`),[c,l]=P.useState(!1),[u,d]=P.useState(null);async function f(r){r.preventDefault();let a=n.trim(),s=i.trim(),c=o.trim()||a.split(`@`)[0]||`You`;if(!a||!s){d(U(t,`flow.login.missing`));return}l(!0),d(null);let u=bi(),f=await z.login(a,s);if(!f.ok){if((await z.profile()).ok&&(!u?.email||u.email===a)){try{localStorage.setItem(vi,JSON.stringify({email:a,name:c}))}catch{}l(!1),e();return}if(u?.email&&u.email!==a){l(!1),d(U(t,`flow.login.otherEmail`));return}if(u?.email===a){l(!1),d(U(t,`flow.login.wrongPassword`));return}(await z.register({email:a,password:s,name:c,nickname:c})).ok&&(f=await z.login(a,s))}if(!f.ok){l(!1),d(U(t,`flow.login.unavailable`));return}try{localStorage.setItem(vi,JSON.stringify({email:a,name:c}))}catch{}l(!1),e()}return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(t,`flow.login.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(t,`flow.login.body`)}),(0,F.jsx)(wi,{}),(0,F.jsxs)(`form`,{onSubmit:f,className:`ritual-card`,style:{maxWidth:420,margin:`0 auto`},children:[(0,F.jsxs)(`div`,{style:{display:`grid`,gap:`0.85rem`},children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.name`)}),(0,F.jsx)(mi,{value:o,onChange:e=>s(e.target.value),placeholder:`You`})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.email`)}),(0,F.jsx)(mi,{value:n,onChange:e=>r(e.target.value),type:`email`,placeholder:`you@local`})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.password`)}),(0,F.jsx)(mi,{value:i,onChange:e=>a(e.target.value),type:`password`,placeholder:U(t,`flow.password.placeholder`)})]})]}),u&&(0,F.jsx)(`div`,{style:{marginTop:`0.85rem`,padding:`0.6rem 0.85rem`,background:`hsl(var(--destructive)/0.12)`,border:`1px solid hsl(var(--destructive)/0.4)`,borderRadius:10,fontSize:`0.9rem`},children:u}),(0,F.jsx)(ui,{type:`submit`,disabled:c||!n.trim()||!i.trim(),style:{width:`100%`,marginTop:`1rem`},children:c?U(t,`flow.login.busy`):U(t,`flow.login.submit`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,color:`hsl(var(--fg-muted))`,marginTop:`0.6rem`},children:U(t,`flow.login.note`)})]})]})}function wi(){let e=ln(e=>e.language);return(0,F.jsxs)(`div`,{className:`ritual-promise`,"aria-label":`Lattice AI product promise`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.memory.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.memory.v`)})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.model.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.model.v`)})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.ownership.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.ownership.v`)})]})]})}function Ti({analysis:e,error:t,onContinue:n}){let r=ln(e=>e.language),i=Oi(e);return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.analysis.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(r,`flow.analysis.body`)}),(0,F.jsx)(`div`,{className:`ritual-fact-grid`,children:i.map((e,t)=>(0,F.jsxs)(`div`,{className:`ritual-fact`,children:[(0,F.jsx)(`div`,{className:`ritual-fact-label`,children:e.label}),(0,F.jsx)(`div`,{className:`ritual-fact-value`,children:e.value}),(0,F.jsx)(`div`,{style:{fontSize:`0.8rem`,color:`hsl(var(--fg-muted))`,marginTop:3},children:e.detail})]},t))}),(0,F.jsx)(`div`,{className:`ritual-card`,style:{marginTop:`1rem`},children:(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`0.6rem`},children:[(0,F.jsx)(It,{style:{color:`hsl(var(--brain-core))`}}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontWeight:620},children:e?Mi(e,r):U(r,`flow.analysis.finding`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.9rem`,color:`hsl(var(--fg-muted))`},children:e?U(r,`flow.analysis.ready`):U(r,`flow.analysis.wait`)})]})]})}),t&&(0,F.jsx)(`div`,{className:`ritual-card`,style:{borderColor:`hsl(var(--destructive)/0.4)`,background:`hsl(var(--destructive)/0.06)`},children:t}),(0,F.jsx)(`div`,{style:{marginTop:`1.25rem`},children:(0,F.jsx)(ui,{onClick:n,disabled:!e&&!t,style:{minWidth:260},children:U(r,`flow.analysis.continue`)})})]})}function Ei({recommendations:e,onBack:t,onSelect:n}){let r=ln(e=>e.language),i=e.length?e:[Ai()];return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.recommend.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(r,`flow.recommend.body`)}),(0,F.jsxs)(`div`,{style:{maxWidth:560,margin:`0 auto`},children:[i[0]?.supported?(0,F.jsx)(ui,{onClick:()=>n(i[0]),style:{width:`100%`,marginBottom:`0.85rem`},children:U(r,`flow.recommend.primary`)}):null,i.slice(0,3).map((e,t)=>(0,F.jsxs)(`button`,{className:`ritual-model-card`,onClick:()=>e.supported&&n(e),disabled:!e.supported,style:{width:`100%`},children:[(0,F.jsx)(`div`,{className:`role`,children:ji(e.role,t,r)}),(0,F.jsx)(`div`,{className:`name`,children:e.shortName}),(0,F.jsxs)(`div`,{className:`reason`,children:[e.reason,` · `,e.size||`ready`]}),!e.supported&&(0,F.jsx)(`div`,{style:{color:`hsl(var(--destructive))`,marginTop:6,fontSize:`0.85rem`},children:U(r,`flow.recommend.unsupported`)})]},`${e.role}-${e.id}`))]}),(0,F.jsxs)(`div`,{style:{marginTop:`1.1rem`,display:`flex`,justifyContent:`center`,gap:`1rem`,alignItems:`center`},children:[(0,F.jsx)(ui,{variant:`ghost`,onClick:t,children:U(r,`flow.recommend.back`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.82rem`,color:`hsl(var(--fg-muted))`},children:U(r,`flow.recommend.hint`)})]})]})}function Di({model:e,onBack:t,onComplete:n}){let r=ln(e=>e.language),[i,a]=P.useState(!1),[o,s]=P.useState(`idle`),[c,l]=P.useState(0),[u,d]=P.useState(U(r,`flow.install.wait`)),[f,p]=P.useState(null);async function m(){a(!0),p(null),s(`install`),l(8),d(U(r,`flow.install.prepare`));let t=await z.streamModelPrepare({model:e.loadId,engine:e.engine||`local_mlx`,allow_download:!0},{onProgress:e=>{let t=Fi(String(e.stage||``));s(t),l(Number(e.percent||Ii(t))),d(Li(e,t,r))},onDone:()=>{s(`done`),l(100),d(U(r,`flow.install.done`))},onError:e=>{s(`error`),p(Bi(e))}});a(!1),t.ok?(s(`done`),l(100),d(U(r,`flow.install.done`)),window.setTimeout(n,700)):(s(`error`),p(Bi(t.data)))}let h=o===`download`?`thinking`:o===`validate`?`recalling`:o===`load`?`synthesizing`:o===`done`?`idle`:`listening`;return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.install.title`)}),(0,F.jsxs)(`div`,{className:`ritual-subtitle`,children:[(0,F.jsx)(`strong`,{children:e.shortName}),` — `,e.reason,`.`,(0,F.jsx)(`br`,{}),U(r,`flow.install.body`)]}),(0,F.jsx)(`div`,{style:{margin:`0.6rem auto 1rem`},children:(0,F.jsx)(di,{state:h,intensity:o===`download`||o===`load`?.96:.82,size:`normal`})}),(0,F.jsxs)(`div`,{className:`ritual-progress`,children:[(0,F.jsx)(`div`,{className:`ritual-stage-list`,children:[`install`,`download`,`validate`,`load`].map(e=>(0,F.jsxs)(`div`,{className:`ritual-stage ${zi(o,e)}`,children:[(0,F.jsx)(Tt,{style:{width:15,height:15}}),(0,F.jsx)(`span`,{children:Ri(e,r)})]},e))}),(0,F.jsx)(`div`,{className:`ritual-bar`,children:(0,F.jsx)(`span`,{style:{width:`${Math.max(4,Math.min(100,c))}%`}})})]}),(0,F.jsx)(`div`,{className:`ritual-status`,children:u}),(0,F.jsx)(`div`,{className:`ritual-card`,style:{margin:`0.8rem auto 0`,maxWidth:540,fontSize:`0.86rem`,color:`hsl(var(--fg-muted))`},children:U(r,`flow.install.note`)}),f&&(0,F.jsxs)(`div`,{className:`ritual-card`,style:{borderColor:`hsl(var(--destructive)/0.45)`,background:`hsl(var(--destructive)/0.07)`,marginBottom:`1rem`},children:[f,(0,F.jsx)(`div`,{style:{marginTop:`0.5rem`,fontSize:`0.85rem`},children:U(r,`flow.install.retry`)})]}),(0,F.jsxs)(`div`,{style:{display:`flex`,gap:`0.75rem`,justifyContent:`center`,marginTop:`1rem`},children:[(0,F.jsx)(ui,{variant:`ghost`,onClick:t,disabled:i,children:U(r,`flow.install.back`)}),o===`done`?(0,F.jsx)(ui,{onClick:n,children:U(r,`flow.install.enter`)}):(0,F.jsx)(ui,{onClick:m,disabled:i||!e.supported,children:i?U(r,`flow.install.busy`):U(r,`flow.install.start`)})]}),(0,F.jsx)(`div`,{style:{fontSize:`0.72rem`,color:`hsl(var(--fg-muted))`,marginTop:`0.9rem`},children:U(r,`flow.install.local`)})]})}function Oi(e){if(!e)return[{label:`Computer`,value:`Checking`,detail:`Operating system and chip`},{label:`Memory`,value:`Checking`,detail:`Available room for local thinking`},{label:`Graphics`,value:`Checking`,detail:`Local acceleration support`},{label:`Local Support`,value:`Checking`,detail:`Installed model helpers`},{label:`Models`,value:`Checking`,detail:`Installed local Brains`}];let t=Hi(e.setup?.environment),n=Hi(e.recommendations?.profile),r=Hi(e.recommendations?.recommendations),i=Hi(e.models),a=Hi(e.sysinfo),o={...t,...n},s=Number(r.ram_gb||Number(o.ram_mb||0)/1024||0),c=!!(r.apple_silicon||String(o.arch||``).includes(`arm`)),l=ci(i.loaded),u=Hi(o.gpu),d=[...ci(t.installed_runtimes),...ci(o.installed_runtimes),...ci(r.installed_runtimes)];return[{label:`Computer`,value:c?`Apple Silicon Mac`:Pi(o.os),detail:`Ready for local AI workspace use`},{label:`Memory`,value:s?`${Math.round(s)} GB`:`Detected`,detail:`Enough context for the recommended model`},{label:`Graphics`,value:u.vendor||a.gpu_mem_gb?`Local acceleration ready`:`Standard local mode`,detail:`Lattice will choose the best available path`},{label:`Local Support`,value:d.length?`Ready`:`Will be prepared`,detail:d.length?`Installed model helpers detected`:`Lattice will add what is needed`},{label:`Models`,value:l.length?`${l.length} already installed`:`None installed yet`,detail:l.length?`One can be loaded immediately`:`Lattice will guide the first install`}]}function ki(e){let t=Hi(e?.models),n=[...ci(t.recommended),...ci(t.catalog)],r=Hi(e?.recommendations?.recommendations),i=ci(r.models),a=Hi(r.top_pick),o=new Map;for(let e of[...i,...n]){let t=String(e.id||e.model_id||e.recommended_load_id||``);t&&o.set(t,{...o.get(t)||{},...e})}a.id&&!o.has(String(a.id))&&o.set(String(a.id),a);let s=Array.from(o.values()).map(W).filter(e=>e.id),c=s.filter(e=>e.supported),l=c.length?c:s,u=(e=>l.find(t=>t.id===String(e)))(a.id)||(e=>l.find(t=>e.test(`${t.name} ${t.id}`)))(/gemma.*12|12b/i)||l[0],d=l.find(e=>e.id!==u?.id&&/qwen|8b|7b/i.test(`${e.name} ${e.id}`))||l.find(e=>e.id!==u?.id),f=l.find(e=>e.id!==u?.id&&e.id!==d?.id&&/26b|32b|70b|advanced/i.test(`${e.name} ${e.id}`))||l.find(e=>e.id!==u?.id&&e.id!==d?.id);return[u?{...u,role:`best`,reason:`Best Experience`}:null,d?{...d,role:`faster`,reason:`Faster`}:null,f?{...f,role:`advanced`,reason:`Advanced`}:null].filter(Boolean)}function W(e){let t=Hi(e.runtime_compatibility),n=String(e.id||e.model_id||e.recommended_load_id||``),r=String(e.recommended_load_id||e.load_id||n),i=String(e.display_name||e.name||n||`Recommended Brain`),a=e.load_status!==`unsupported`&&e.load_status!==`runtime_update_needed`&&e.status!==`not_recommended`&&t.supported!==!1;return{id:n,loadId:r,engine:String(e.recommended_engine||e.engine||`local_mlx`),name:i,shortName:Ni(i||n),family:Ni(String(e.family||i||`Local Brain`)),size:String(e.size||``),role:`best`,reason:String(e.reason||`Recommended`),supported:a,downloadRequired:!!e.download_required}}function Ai(){return{id:`mlx-community/Qwen3-VL-8B-Instruct-4bit`,loadId:`mlx-community/Qwen3-VL-8B-Instruct-4bit`,engine:`local_mlx`,name:`Qwen3-VL 8B`,shortName:`Qwen 3`,family:`Qwen 3`,size:`ready`,role:`best`,reason:`Best Experience`,supported:!0,downloadRequired:!1}}function ji(e,t,n){return e===`best`?n===`ko`?`추천`:`Best Experience`:e===`faster`?n===`ko`?`빠른 선택`:`Faster`:e===`advanced`?n===`ko`?`고급 선택`:`Advanced`:`Choice ${t+1}`}function Mi(e,t){let n=Hi(Hi(e.recommendations?.recommendations).top_pick);if(n.name||n.id){let e=Ni(String(n.name||n.id));return t===`ko`?`${e}이 이 컴퓨터에 가장 잘 맞습니다.`:`${e} looks like the best fit.`}return t===`ko`?`이 컴퓨터에는 개인 로컬 Brain을 추천합니다.`:`A private local Brain is recommended for this computer.`}function Ni(e){return String(e||`Recommended Brain`).replace(/^mlx-community\//i,``).replace(/[-_]?Instruct/gi,``).replace(/[-_]?4bit/gi,``).replace(/Qwen3[-_ ]?VL/gi,`Qwen 3`).replace(/Qwen3/gi,`Qwen 3`).replace(/Gemma[-_ ]?4/gi,`Gemma 4`).replace(/A4B/gi,``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim()}function Pi(e){let t=String(e||`Computer`);return/darwin|mac/i.test(t)?`Mac`:/win/i.test(t)?`Windows PC`:/linux/i.test(t)?`Linux computer`:`Computer`}function Fi(e){return/download|pull|weights/i.test(e)?`download`:/smoke|validate|verify|test/i.test(e)?`validate`:/load|ready/i.test(e)?`load`:/done|complete/i.test(e)?`done`:`install`}function Ii(e){return e===`install`?20:e===`download`?55:e===`validate`?82:e===`load`?94:e===`done`?100:8}function Li(e,t,n){let r={install:U(n,`flow.install.prepare`),download:n===`ko`?`모델 파일을 받는 중입니다.`:`Getting the model files.`,validate:n===`ko`?`Brain이 응답할 수 있는지 확인 중입니다.`:`Checking that the Brain can answer.`,load:n===`ko`?`Brain을 불러오는 중입니다.`:`Loading the Brain.`,done:U(n,`flow.install.done`),idle:U(n,`flow.install.wait`),error:n===`ko`?`확인이 필요한 일이 있습니다.`:`Something needs attention.`}[t];return Vi(String(e.user_message||e.message||r))}function Ri(e,t){return t===`ko`?e===`install`?`준비`:e===`download`?`다운로드`:e===`validate`?`확인`:`로드`:e===`install`?`Install`:e===`download`?`Download`:e===`validate`?`Validate`:`Load`}function zi(e,t){let n=[`idle`,`install`,`download`,`validate`,`load`,`done`],r=n.indexOf(e),i=n.indexOf(t);return e===`error`?`is-error`:e===`done`||r>i?`is-done`:e===t?`is-active`:``}function Bi(e){let t=Hi(e),n=ci(t.recovery_guidance).map(Vi).filter(Boolean);return[Vi(String(t.user_message||t.reason||t.error||`The selected model could not be loaded.`)),...n.slice(0,2)].join(` `)}function Vi(e){return String(e||``).replace(/gemma4_unified/gi,`this model format`).replace(/mlx[-_ ]?vlm|mlx[-_ ]?lm|local_mlx|\bmlx\b|\bgguf\b|\bollama\b|huggingface|hugging face/gi,`local model support`).replace(/runtime/gi,`model support`).replace(/No module named ['\"][^'\"]+['\"]/gi,`A local support component is missing`).replace(/\s+/g,` `).trim()}function Hi(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}var Ui=[{level:1,label:`Living Brain`,state:`idle`},{level:2,label:`Memory Layer`,state:`recalling`},{level:3,label:`Knowledge Layer`,state:`synthesizing`},{level:4,label:`Relationship Layer`,state:`planning`},{level:5,label:`Knowledge Graph`,state:`synthesizing`}];function Wi(){let e=ln(e=>e.theme),t=ln(e=>e.language),[n,r]=P.useState(yi),i=Gi(),{state:a,intensity:o,setBrain:s}=qi();return P.useEffect(()=>{document.documentElement.dataset.theme=e,document.documentElement.lang=t===`ko`?`ko`:`en`},[e,t]),P.useEffect(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),document.querySelector(`.brain-composer textarea`)?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),n?(0,F.jsxs)(`div`,{className:`brain-space`,children:[(0,F.jsx)(`div`,{className:`brain-field`}),i.startsWith(`/admin`)?(0,F.jsx)(Xi,{onBack:()=>Ki(`/brain`)}):(0,F.jsx)(Ji,{brainState:a,intensity:o,onBrainChange:s})]}):(0,F.jsx)(xi,{onComplete:()=>r(!0)})}function Gi(){let e=P.useCallback(()=>{let e=window.location.hash.replace(/^#/,``);return e.startsWith(`/`)?e:`/brain`},[]),[t,n]=P.useState(e);return P.useEffect(()=>{let t=()=>n(e());return window.addEventListener(`hashchange`,t),()=>window.removeEventListener(`hashchange`,t)},[e]),t}function Ki(e){window.location.hash=e}function qi(){let[e,t]=P.useState(`idle`),[n,r]=P.useState(.58);return{state:e,intensity:n,setBrain:P.useCallback((e,n)=>{t(e),n!==void 0&&r(Na(n,.38,1))},[])}}function Ji({brainState:e,intensity:t,onBrainChange:n}){let r=Ye(),i=ln(e=>e.language),[a,o]=P.useState([]),[s,c]=P.useState(``),[l,u]=P.useState(null),[d,f]=P.useState(!1),[p,m]=P.useState(null),[h,g]=P.useState(1),[_,v]=P.useState(``),[y,b]=P.useState(null),[x,ee]=P.useState(null),S=P.useRef(null),C=P.useRef(null),w=I({queryKey:[`memoryManager`],queryFn:z.memoryManager}),te=I({queryKey:[`chatHistory`],queryFn:z.chatHistory}),ne=I({queryKey:[`graph`],queryFn:z.graph}),T=I({queryKey:[`models`],queryFn:z.models}),re=P.useMemo(()=>fa(w.data?.data,te.data?.data),[w.data,te.data]),ie=P.useMemo(()=>pa(ne.data?.data),[ne.data]),ae=P.useMemo(()=>ie.nodes.slice(0,10),[ie.nodes]),E=P.useMemo(()=>ie.edges.slice(0,10),[ie.edges]),D=P.useMemo(()=>ma(T.data?.data),[T.data]),O=Ui[h-1],oe=P.useMemo(()=>[U(i,`brain.prompt.remember`),U(i,`brain.prompt.know`),U(i,`brain.prompt.plan`)],[i]);P.useEffect(()=>{d?n(`thinking`,.94):s.trim().length>4?n(`listening`,.76):n(O.state,h===1?.58:.66+h*.06)},[d,s,O.state,h,n]),P.useEffect(()=>{let e=S.current;e&&(e.scrollTop=e.scrollHeight)},[a]),P.useEffect(()=>()=>{C.current!==null&&window.clearTimeout(C.current)},[]);async function k(){let e=s.trim();if(!e||d)return;let t=p||`brain-${Date.now()}`;p||m(t),o(t=>[...t,{role:`user`,content:e},{role:`assistant`,content:``}]),c(``),u(null),f(!0),ee(null),n(`thinking`,.96);try{let r=await z.streamChat({message:e,conversation_id:t,image_data:l||void 0},{onChunk:(e,t)=>{o(e=>{let n=[...e];return n[n.length-1]={role:`assistant`,content:t},n})},onTrace:e=>{e&&(n(`recalling`,.9),pi(),C.current!==null&&window.clearTimeout(C.current),C.current=window.setTimeout(()=>n(`thinking`,.9),900))}});r.error?o(e=>{let t=[...e];return t[t.length-1]={role:`assistant`,content:`${U(i,`brain.unavailable`)}: ${r.error}`},t}):ee(U(i,`brain.saved`,{topics:ae.length,memories:re.length}))}finally{f(!1),r.invalidateQueries({queryKey:[`chatHistory`]}),r.invalidateQueries({queryKey:[`memoryManager`]}),r.invalidateQueries({queryKey:[`graph`]})}}function A(){g(e=>{let t=Math.min(5,e+1),r=Ui[t-1];return n(r.state,.66+t*.06),t>=2&&pi(),t})}function se(e){g(e);let t=Ui[e-1];n(t.state,e===1?.58:.66+e*.06),e>=2&&pi()}function ce(){g(1),b(null),v(``),n(`idle`,.58)}function le(e){pi(),g(e=>Math.max(e,2)),o(t=>[...t,{role:`assistant`,content:U(i,`brain.recalled`,{title:e.title})}])}return(0,F.jsxs)(`main`,{className:`brain-home`,"aria-label":`Lattice Brain`,children:[(0,F.jsx)(`section`,{className:`brain-presence`,"aria-label":`Brain exploration`,children:(0,F.jsxs)(`div`,{className:`brain-exploration`,"data-depth":h,children:[(0,F.jsx)(di,{state:e,intensity:t+h*.035,size:`large`,depth:h,showLabel:!1,onInteract:A}),(0,F.jsxs)(`div`,{className:`brain-depth-badge`,"aria-live":`polite`,children:[(0,F.jsxs)(`span`,{children:[U(i,`brain.level`),` `,h]}),(0,F.jsx)(`strong`,{children:U(i,`brain.depth.${h}`)})]}),(0,F.jsxs)(`div`,{className:`brain-depth-actions`,"aria-label":`Brain quick views`,children:[(0,F.jsx)(`button`,{type:`button`,className:h===2?`is-active`:``,onClick:()=>se(2),children:U(i,`brain.view.memories`)}),(0,F.jsx)(`button`,{type:`button`,className:h===3?`is-active`:``,onClick:()=>se(3),children:U(i,`brain.view.topics`)}),(0,F.jsx)(`button`,{type:`button`,className:h===4?`is-active`:``,onClick:()=>se(4),children:U(i,`brain.view.relationships`)}),(0,F.jsx)(`button`,{type:`button`,className:h===5?`is-active`:``,onClick:()=>se(5),children:U(i,`brain.view.graph`)})]}),(0,F.jsx)(`div`,{className:`brain-field-layer`,"aria-hidden":h<2,children:(0,F.jsx)(aa,{depth:h,memories:re,concepts:ae,relationships:E,graphModel:ie,graphSearch:_,selectedGraphId:y,onGraphSearch:v,onSelectGraphNode:b,onRecallMemory:le})}),h>1?(0,F.jsx)(`button`,{className:`brain-surface-control`,type:`button`,onClick:ce,children:U(i,`brain.surface`)}):null]})}),(0,F.jsxs)(`section`,{className:`brain-conversation`,"aria-label":`Conversation`,children:[(0,F.jsxs)(`div`,{className:`brain-conversation-header`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`h1`,{children:U(i,`brain.title`)}),(0,F.jsx)(`span`,{children:U(i,`brain.depth.${h}`)})]}),(0,F.jsx)(Yi,{compact:!0}),(0,F.jsxs)(`div`,{className:`brain-ownership-strip`,"aria-label":`Brain ownership guarantees`,children:[(0,F.jsx)(`span`,{children:U(i,`brain.local`)}),(0,F.jsx)(`span`,{children:U(i,`brain.portable`)}),(0,F.jsx)(`span`,{children:U(i,`brain.private`)})]}),(0,F.jsx)(`div`,{children:D}),(0,F.jsxs)(`button`,{className:`brain-admin-link`,type:`button`,onClick:()=>Ki(`/admin`),children:[(0,F.jsx)(Ft,{className:`h-3.5 w-3.5`}),U(i,`brain.admin`)]})]}),(0,F.jsxs)(`div`,{ref:S,className:`brain-stream`,children:[(0,F.jsx)(oa,{memories:re,concepts:ae,onOpenDepth:se}),a.length===0?(0,F.jsxs)(`div`,{className:`mind-empty`,children:[(0,F.jsx)(`div`,{className:`mind-empty-kicker`,children:U(i,`brain.empty.kicker`)}),(0,F.jsx)(`div`,{className:`mind-empty-title`,children:U(i,`brain.empty.title`)}),(0,F.jsx)(`p`,{children:U(i,`brain.empty.body`)}),(0,F.jsx)(`div`,{className:`mind-empty-prompts`,"aria-label":`Starter prompts`,children:oe.map(e=>(0,F.jsx)(`button`,{type:`button`,onClick:()=>c(e),children:e},e))})]}):a.map((e,t)=>(0,F.jsx)(`div`,{className:`brain-message ${e.role}`,children:(0,F.jsx)(`div`,{className:`brain-message-bubble`,children:e.content})},`${e.role}-${t}`))]}),x?(0,F.jsx)(`div`,{className:`brain-save-feedback`,role:`status`,children:x}):null,(0,F.jsx)(na,{language:i}),(0,F.jsxs)(`div`,{className:`brain-composer`,children:[(0,F.jsx)(`textarea`,{value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),k())},placeholder:U(i,`brain.placeholder`)}),(0,F.jsxs)(`div`,{className:`brain-composer-actions`,children:[(0,F.jsxs)(`label`,{className:`brain-image-input`,children:[(0,F.jsx)(kt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`span`,{children:U(i,`brain.image`)}),(0,F.jsx)(`input`,{type:`file`,accept:`image/*`,className:`sr-only`,onChange:async e=>{let t=e.target.files?.[0];t&&u(await wa(t))}})]}),l?(0,F.jsx)(`span`,{className:`brain-quiet-success`,children:U(i,`brain.imageAttached`)}):null,(0,F.jsxs)(ui,{onClick:()=>void k(),disabled:!s.trim()||d,className:`rounded-full px-5`,children:[(0,F.jsx)(Nt,{className:`h-4 w-4`}),` `,U(i,`brain.send`)]})]})]})]})]})}function Yi({compact:e=!1}){let t=ln(e=>e.language),n=ln(e=>e.setLanguage);return(0,F.jsx)(`div`,{className:e?`language-switcher compact`:`language-switcher`,"aria-label":U(t,`language.label`),children:[`ko`,`en`].map(e=>(0,F.jsx)(`button`,{type:`button`,className:t===e?`is-active`:``,onClick:()=>n(e),"aria-pressed":t===e,children:hi[e]},e))})}function Xi({onBack:e}){let t=Ye(),n=ln(e=>e.language),[r,i]=P.useState({q:``,actor:``,action:``,severity:``,limit:50}),{summaryQ:a,statsQ:o,usersQ:s,auditQ:c,securityQ:l,securityEventsQ:u,policiesQ:d,rolesQ:f,retentionQ:p,indexQ:m}=Zi(r),h=ut({mutationFn:z.rebuildIndex,onSuccess:()=>void t.invalidateQueries({queryKey:[`indexStatus`]})}),g=ci(s.data?.data),_=ci(c.data?.data?.recent_events),v=ci(u.data?.data?.events),y=ci(d.data?.data?.policies),b=ci(f.data?.data?.roles),x=p.data?.data||{};return(0,F.jsxs)(`main`,{className:`admin-console`,"aria-label":`Lattice Admin`,children:[(0,F.jsxs)(`header`,{className:`admin-console-header`,children:[(0,F.jsxs)(`button`,{className:`admin-back-button`,type:`button`,onClick:e,children:[(0,F.jsx)(Ct,{className:`h-4 w-4`}),U(n,`admin.back`)]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(n,`admin.kicker`)}),(0,F.jsx)(`h1`,{children:U(n,`admin.title`)}),(0,F.jsx)(`p`,{children:U(n,`admin.body`)})]}),(0,F.jsx)(Yi,{compact:!0})]}),(0,F.jsxs)(`section`,{className:`admin-metrics`,"aria-label":`Admin overview`,children:[(0,F.jsx)($i,{icon:(0,F.jsx)(Lt,{className:`h-4 w-4`}),label:`Users`,value:String(g.length),detail:ya(s.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(xt,{className:`h-4 w-4`}),label:`Recent logs`,value:String(_.length+v.length),detail:ya(c.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(Ft,{className:`h-4 w-4`}),label:`Security`,value:ba(l.data?.data,`status`)||(l.data?.ok?`Ready`:`Unavailable`),detail:ya(l.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(Pt,{className:`h-4 w-4`}),label:`Brain index`,value:ba(m.data?.data,`status`)||(m.data?.ok?`Indexed`:`Unknown`),detail:xa(m.data?.data)})]}),(0,F.jsxs)(`section`,{className:`admin-grid`,children:[(0,F.jsx)(ea,{title:`User Directory`,eyebrow:`People`,children:(0,F.jsx)(ta,{items:g.slice(0,8),empty:`No users reported by the admin API.`,render:e=>{let t=e;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`strong`,{children:Ca(t.name||t.email||t.id,`Local user`)}),(0,F.jsx)(`span`,{children:Ca(t.role||t.status||t.workspace_id,`member`)})]})}})}),(0,F.jsx)(ea,{title:`Role Permissions`,eyebrow:`Access`,children:(0,F.jsx)(ta,{items:b.slice(0,6),empty:`No role matrix reported.`,render:e=>{let t=e;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`strong`,{children:[Ca(t.role,`role`),` · `,Ca(t.members,`0`),` users`]}),(0,F.jsx)(`span`,{children:ci(t.caps).slice(0,4).map(e=>Ca(e,``)).filter(Boolean).join(`, `)||`No caps`})]})}})}),(0,F.jsxs)(ea,{title:`Activity Logs`,eyebrow:`Audit`,children:[(0,F.jsx)(Qi,{filters:r,onChange:i,matched:c.data?.data?.filters}),(0,F.jsx)(ta,{items:_.slice(0,8),empty:`No recent audit events.`,render:e=>va(e)})]}),(0,F.jsx)(ea,{title:`Security Events`,eyebrow:`Protection`,children:(0,F.jsx)(ta,{items:v.slice(0,8),empty:`No security events reported.`,render:e=>va(e)})}),(0,F.jsxs)(ea,{title:`Brain Operations`,eyebrow:`Maintenance`,children:[(0,F.jsxs)(`div`,{className:`admin-operation`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`strong`,{children:xa(m.data?.data)}),(0,F.jsx)(`span`,{children:Sa(a.data?.data)||Sa(o.data?.data)||`Local Brain services are separated from user chat.`})]}),(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:h.isPending,onClick:()=>h.mutate(),children:[(0,F.jsx)(jt,{className:`h-3.5 w-3.5`}),h.isPending?`Rebuilding`:`Rebuild index`]})]}),(0,F.jsxs)(`div`,{className:`admin-policy-strip`,children:[y.slice(0,5).map((e,t)=>{let n=e;return(0,F.jsx)(`span`,{children:Ca(n.label||n.name||n.id,`Policy`)},`${Ca(n.id||n.name,`policy`)}-${t}`)}),y.length?null:(0,F.jsx)(`span`,{children:`Policy API quiet`})]}),(0,F.jsxs)(`div`,{className:`admin-retention`,children:[(0,F.jsxs)(`strong`,{children:[Ca(x.retention_days,`90`),` day retention`]}),(0,F.jsxs)(`span`,{children:[Ca(x.retained_events,`0`),` retained · `,Ca(x.prune_candidates,`0`),` ready for export/prune review`]})]})]})]})]})}function Zi(e){let t=P.useMemo(()=>({q:e.q||void 0,actor:e.actor||void 0,action:e.action||void 0,severity:e.severity||void 0,limit:e.limit}),[e]);return{summaryQ:I({queryKey:[`adminSummary`],queryFn:z.adminSummary}),statsQ:I({queryKey:[`adminStats`],queryFn:z.adminStats}),usersQ:I({queryKey:[`adminUsers`],queryFn:z.adminUsers}),auditQ:I({queryKey:[`adminAudit`,t],queryFn:()=>z.adminAudit(t)}),securityQ:I({queryKey:[`adminSecurity`],queryFn:z.adminSecurity}),securityEventsQ:I({queryKey:[`adminSecurityEvents`],queryFn:()=>z.adminSecurityEvents(50)}),policiesQ:I({queryKey:[`adminPolicies`],queryFn:z.adminPolicies}),rolesQ:I({queryKey:[`adminRoles`],queryFn:z.adminRoles}),retentionQ:I({queryKey:[`adminLogRetention`],queryFn:z.adminLogRetention}),indexQ:I({queryKey:[`indexStatus`],queryFn:z.indexStatus})}}function Qi({filters:e,matched:t,onChange:n}){return(0,F.jsxs)(`div`,{className:`admin-log-filters`,"aria-label":`Audit log filters`,children:[(0,F.jsxs)(`label`,{children:[(0,F.jsx)(Mt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`input`,{value:e.q,onChange:e=>n(t=>({...t,q:e.target.value})),placeholder:`Search logs`,"aria-label":`Search audit logs`})]}),(0,F.jsxs)(`label`,{children:[(0,F.jsx)(At,{className:`h-3.5 w-3.5`}),(0,F.jsxs)(`select`,{value:e.severity,onChange:e=>n(t=>({...t,severity:e.target.value})),"aria-label":`Filter by severity`,children:[(0,F.jsx)(`option`,{value:``,children:`All severities`}),(0,F.jsx)(`option`,{value:`informational`,children:`Informational`}),(0,F.jsx)(`option`,{value:`notice`,children:`Notice`}),(0,F.jsx)(`option`,{value:`warning`,children:`Warning`}),(0,F.jsx)(`option`,{value:`high`,children:`High`})]})]}),(0,F.jsxs)(`span`,{children:[Ca(t?.matched_events,`0`),` matched`]})]})}function $i({icon:e,label:t,value:n,detail:r}){return(0,F.jsxs)(`div`,{className:`admin-metric`,children:[(0,F.jsx)(`div`,{children:e}),(0,F.jsx)(`span`,{children:t}),(0,F.jsx)(`strong`,{children:n}),(0,F.jsx)(`small`,{children:r})]})}function ea({eyebrow:e,title:t,children:n}){return(0,F.jsxs)(`section`,{className:`admin-panel`,children:[(0,F.jsxs)(`div`,{className:`admin-panel-head`,children:[(0,F.jsx)(`span`,{children:e}),(0,F.jsx)(`h2`,{children:t})]}),n]})}function ta({items:e,empty:t,render:n}){return e.length?(0,F.jsx)(`div`,{className:`admin-list`,children:e.map((e,t)=>(0,F.jsx)(`div`,{className:`admin-list-row`,children:n(e)},t))}):(0,F.jsx)(`div`,{className:`admin-empty`,children:t})}function na({language:e}){let t=Ye(),[n,r]=P.useState(!1),[i,a]=P.useState(``),[o,s]=P.useState(``),[c,l]=P.useState(null),u=I({queryKey:[`portability`],queryFn:z.graphPortability}),d=I({queryKey:[`backupHealth`],queryFn:z.backupHealth}),f=P.useCallback(e=>l(e),[]),p=ra(()=>z.graphExport(),void 0,f),m=ra(()=>z.graphBackup(),()=>{t.invalidateQueries({queryKey:[`backupHealth`]}),t.invalidateQueries({queryKey:[`portability`]})},f),h=ra(()=>z.brainArchive({path:i.trim()||null,passphrase:o}),()=>void t.invalidateQueries({queryKey:[`backupHealth`]}),f),g=ra(()=>z.brainArchiveInspect({path:i.trim(),passphrase:o||null}),void 0,f),_=ra(()=>z.brainArchiveRestore({path:i.trim(),passphrase:o,dry_run:!0,confirm:!1}),void 0,f),v=ha(u.data?.data),y=ga(d.data?.data);return(0,F.jsxs)(`section`,{className:`brain-care-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":U(e,`care.title`),children:[(0,F.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-care-details`,onClick:()=>r(e=>!e),children:[(0,F.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,F.jsxs)(`span`,{children:[(0,F.jsx)(Ft,{className:`h-3.5 w-3.5`}),` `,U(e,`care.title`)]}),(0,F.jsx)(`strong`,{children:U(e,`care.subtitle`)})]}),(0,F.jsxs)(`div`,{className:`brain-care-proof`,"aria-label":`Ownership model`,children:[(0,F.jsx)(`span`,{children:U(e,`care.private`)}),(0,F.jsx)(`span`,{children:v}),(0,F.jsx)(`span`,{children:y})]}),(0,F.jsx)(wt,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,F.jsxs)(`div`,{id:`brain-care-details`,className:`brain-care-details`,children:[(0,F.jsxs)(`div`,{className:`brain-care-actions`,children:[(0,F.jsx)(ia,{icon:(0,F.jsx)(Dt,{className:`h-3.5 w-3.5`}),label:U(e,`care.export`),detail:U(e,`care.export.detail`),pendingLabel:U(e,`care.working`),pending:p.isPending,onClick:()=>p.mutate()}),(0,F.jsx)(ia,{icon:(0,F.jsx)(Et,{className:`h-3.5 w-3.5`}),label:U(e,`care.backup`),detail:U(e,`care.backup.detail`),pendingLabel:U(e,`care.working`),pending:m.isPending,onClick:()=>m.mutate()}),(0,F.jsx)(ia,{icon:(0,F.jsx)(St,{className:`h-3.5 w-3.5`}),label:U(e,`care.archive`),detail:U(e,`care.archive.detail`),pendingLabel:U(e,`care.working`),pending:h.isPending,disabled:!o.trim(),onClick:()=>h.mutate()})]}),(0,F.jsxs)(`div`,{className:`brain-care-archive`,children:[(0,F.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:U(e,`care.path.placeholder`),"aria-label":U(e,`care.path.label`)}),(0,F.jsx)(`input`,{type:`password`,value:o,onChange:e=>s(e.target.value),placeholder:U(e,`care.passphrase.placeholder`),"aria-label":U(e,`care.passphrase.label`)}),(0,F.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:!i.trim()||g.isPending,onClick:()=>g.mutate(),children:[(0,F.jsx)(Ot,{className:`h-3.5 w-3.5`}),` `,U(e,`care.inspect`)]}),(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:!i.trim()||!o.trim()||_.isPending,onClick:()=>_.mutate(),children:[(0,F.jsx)(jt,{className:`h-3.5 w-3.5`}),` `,U(e,`care.restorePreview`)]})]})]}),c?(0,F.jsx)(`div`,{className:`brain-care-result ${c.ok?`is-ok`:`is-error`}`,role:`status`,children:_a(c)}):(0,F.jsx)(`p`,{className:`brain-care-note`,children:U(e,`care.note`)})]}):null]})}function ra(e,t,n){return ut({mutationFn:e,onSuccess:e=>{n?.(e),t?.()}})}function ia({icon:e,label:t,detail:n,pendingLabel:r,pending:i,disabled:a,onClick:o}){return(0,F.jsxs)(`button`,{className:`brain-care-button`,type:`button`,disabled:a||i,onClick:o,children:[e,(0,F.jsxs)(`span`,{children:[(0,F.jsx)(`strong`,{children:i?r:t}),(0,F.jsx)(`small`,{children:n})]})]})}function aa({depth:e,memories:t,concepts:n,relationships:r,graphModel:i,graphSearch:a,selectedGraphId:o,onGraphSearch:s,onSelectGraphNode:c,onRecallMemory:l}){return e===1?null:(0,F.jsxs)(F.Fragment,{children:[e>=2?(0,F.jsx)(ca,{memories:t,depth:e,onRecallMemory:l}):null,e>=3&&e<5?(0,F.jsx)(la,{concepts:n,depth:e}):null,e>=4&&e<5?(0,F.jsx)(ua,{concepts:n,relationships:r}):null,e>=5?(0,F.jsx)(da,{model:i,search:a,selectedId:o,onSearch:s,onSelect:c}):null]})}function oa({memories:e,concepts:t,onOpenDepth:n}){let r=ln(e=>e.language),i=e.slice(0,3),a=e.slice(3,6),o=t.slice(0,4);return(0,F.jsxs)(`section`,{className:`brain-overview-panel`,"aria-label":`Brain overview`,children:[(0,F.jsxs)(`div`,{className:`brain-overview-head`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(r,`brain.overview.kicker`)}),(0,F.jsx)(`strong`,{children:U(r,`brain.overview.title`)})]}),(0,F.jsx)(`button`,{type:`button`,onClick:()=>n(5),children:U(r,`brain.overview.graph`)})]}),(0,F.jsxs)(`div`,{className:`brain-overview-grid`,children:[(0,F.jsx)(sa,{title:U(r,`brain.overview.recent`),empty:U(r,`brain.overview.recentEmpty`),items:i.map(e=>e.title),onOpen:()=>n(2)}),(0,F.jsx)(sa,{title:U(r,`brain.overview.older`),empty:U(r,`brain.overview.olderEmpty`),items:a.map(e=>e.title),onOpen:()=>n(2)}),(0,F.jsx)(sa,{title:U(r,`brain.overview.topics`),empty:U(r,`brain.overview.topicsEmpty`),items:o.map(e=>e.label),onOpen:()=>n(3)})]})]})}function sa({title:e,empty:t,items:n,onOpen:r}){return(0,F.jsxs)(`button`,{type:`button`,className:`brain-overview-column`,onClick:r,children:[(0,F.jsx)(`span`,{children:e}),n.length?n.slice(0,3).map(e=>(0,F.jsx)(`strong`,{children:e},e)):(0,F.jsx)(`em`,{children:t})]})}function ca({memories:e,depth:t,onRecallMemory:n}){let r=e.slice(0,t>=3?8:6);return r.length?(0,F.jsx)(F.Fragment,{children:r.map((e,i)=>{let a=Ea(i,r.length,t>=3?39:31,t>=3?24:18,-112);return(0,F.jsxs)(`button`,{type:`button`,className:`memory-fragment`,style:Da({"--x":`${a.x}%`,"--y":`${a.y}%`,"--delay":`${i*55}ms`}),onClick:()=>n(e),children:[(0,F.jsx)(`span`,{children:e.kind}),(0,F.jsx)(`strong`,{children:e.title})]},e.id)})}):(0,F.jsx)(`div`,{className:`memory-fragment is-empty`,children:`Memory is quiet`})}function la({concepts:e,depth:t}){let n=e.slice(0,t>=4?10:7);return n.length?(0,F.jsx)(F.Fragment,{children:n.map((e,t)=>{let r=Ea(t,n.length,24,15,-70);return(0,F.jsxs)(`button`,{type:`button`,className:`concept-signal`,style:Da({"--x":`${r.x}%`,"--y":`${r.y}%`,"--delay":`${t*45}ms`}),title:e.summary||e.type,children:[(0,F.jsx)(`span`,{children:e.type}),e.label]},e.id)})}):(0,F.jsx)(`div`,{className:`concept-signal is-empty`,children:`Knowledge is forming`})}function ua({concepts:e,relationships:t}){let n=Ta(e.slice(0,10),30,20),r=new Map(n.map(e=>[e.node.id,e])),i=t.map((e,t)=>{let i=r.get(e.source)||n[t%Math.max(n.length,1)],a=r.get(e.target)||n[(t+3)%Math.max(n.length,1)];return i&&a&&i.node.id!==a.node.id?{relationship:e,source:i,target:a}:null}).filter(Boolean).slice(0,8);return i.length?(0,F.jsx)(`svg`,{className:`relationship-weave`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:i.map(({relationship:e,source:t,target:n},r)=>(0,F.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,style:{animationDelay:`${r*80}ms`}},`${e.id}-${r}`))}):null}function da({model:e,search:t,selectedId:n,onSearch:r,onSelect:i}){let a=ln(e=>e.language),o=t.trim().toLowerCase(),s=P.useMemo(()=>e.nodes.filter(e=>o?`${e.label} ${e.type} ${e.summary}`.toLowerCase().includes(o):!0).slice(0,18),[e.nodes,o]),c=P.useMemo(()=>Ta(s,38,24),[s]),l=P.useMemo(()=>new Map(c.map(e=>[e.node.id,e])),[c]),u=P.useMemo(()=>e.edges.filter(e=>l.has(e.source)&&l.has(e.target)).slice(0,36),[e.edges,l]),d=s.find(e=>e.id===n)||s[0]||null;return(0,F.jsxs)(`section`,{className:`mind-core-graph`,"data-testid":`emergent-knowledge-graph`,"aria-label":`Knowledge Graph`,children:[(0,F.jsxs)(`div`,{className:`brain-graph-head`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:`Level 5`}),(0,F.jsx)(`strong`,{children:`Knowledge Graph`})]}),(0,F.jsxs)(`label`,{className:`brain-graph-search`,children:[(0,F.jsx)(Mt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`input`,{value:t,onChange:e=>r(e.target.value),placeholder:`Search`,"aria-label":`Search knowledge graph`})]})]}),s.length?(0,F.jsxs)(`div`,{className:`brain-graph-canvas`,children:[(0,F.jsx)(`svg`,{className:`brain-graph-edges`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:u.map((e,t)=>{let n=l.get(e.source),r=l.get(e.target);return!n||!r?null:(0,F.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,style:{"--weight":String(Na(e.weight,.4,2.8))}},`${e.id}-${t}`)})}),c.map(({node:e,x:t,y:n},r)=>(0,F.jsxs)(`button`,{type:`button`,className:`graph-node ${d?.id===e.id?`is-selected`:``}`,style:Da({"--x":`${t}%`,"--y":`${n}%`,"--delay":`${r*35}ms`}),onClick:()=>i(e.id),children:[(0,F.jsx)(`span`,{children:e.type}),e.label]},e.id))]}):(0,F.jsx)(`div`,{className:`brain-graph-empty`,children:U(a,`brain.graph.empty`)}),(0,F.jsx)(`div`,{className:`brain-graph-focus`,children:d?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{children:d.type}),(0,F.jsx)(`strong`,{children:d.label}),(0,F.jsx)(`p`,{children:d.summary||U(a,`brain.graph.summaryFallback`)}),(0,F.jsx)(`p`,{children:U(a,`brain.graph.focused`)})]}):(0,F.jsx)(`p`,{children:U(a,`brain.graph.emptyFocus`)})})]})}function fa(e,t){let n=ka(e)?e:{},r=(ci(n.sources).length?ci(n.sources):ci(n.tiers)).map((e,t)=>({id:Aa(e,[`id`,`source`,`label`],`memory-${t}`),title:Aa(e,[`title`,`label`,`source`,`path`,`name`],`Workspace memory`),kind:ja(e,[`type`,`source_type`,`kind`,`health`],`Memory`)})),i=ci(t).map((e,t)=>({id:Aa(e,[`id`,`conversation_id`],`conversation-${t}`),title:Aa(e,[`title`,`summary`,`id`],`Conversation`),kind:`Conversation`}));return Oa([...r,...i]).slice(0,10)}function pa(e){let t=ka(e)?e:{},n=ci(t.nodes),r=ci(t.edges),i=n.flatMap(e=>{let t=Aa(e,[`id`,`node_id`,`title`,`label`]);if(!t)return[];let n=ka(e.metadata)?e.metadata:{},r=ja(e,[`type`,`kind`,`category`],`Concept`);return[{id:t,label:Aa(e,[`title`,`label`,`name`],t.replace(/^[^:]+:/,``)),type:r,summary:Aa(e,[`summary`,`description`,`snippet`])||Aa(n,[`summary`,`description`,`relative_path`,`filename`]),importance:Na(Ma(e,[`importance_norm`,`importance`,`score`])||.5,.08,1)}]}).sort((e,t)=>t.importance-e.importance),a=new Set(i.map(e=>e.id));return{nodes:i,edges:r.flatMap((e,t)=>{let n=Aa(e,[`from`,`source`,`source_id`]),r=Aa(e,[`to`,`target`,`target_id`]);return!n||!r||!a.has(n)||!a.has(r)?[]:[{id:Aa(e,[`id`],`edge-${t}`),source:n,target:r,label:ja(e,[`type`,`label`,`relationship`],`Relates`),weight:Ma(e,[`weight`,`score`,`confidence`])||1}]})}}function ma(e){let t=ka(e)?e:{},n=Aa(t,[`current`,`current_model`,`local_model`]);if(n)return n;let r=ci(t.loaded||t.loaded_models).find(e=>e.id||e.name||e.model_id);return r?Aa(r,[`name`,`id`,`model_id`],`local mind`):`local mind`}function ha(e){return Aa(ka(e)?e:{},[`archive_format`,`format`,`graph_schema_version`,`schema_version`],`.latticebrain`)}function ga(e){let t=ka(e)?e:{},n=t.count||t.backups||t.available;return n!=null&&n!==``?`${n} backups`:`Backups ready`}function _a(e){return e.ok?Aa(ka(e.data)?e.data:{},[`message`,`status`,`path`,`archive_path`,`backup_path`,`export_path`])||`Brain care action completed.`:e.error||`Brain care action could not complete.`}function va(e){let t=Ca(e.action||e.event||e.type||e.name,`Event`),n=Ca(e.actor||e.user||e.user_id||e.workspace_id,`system`),r=Ca(e.timestamp||e.time||e.created_at||e.ts,`recently`);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`strong`,{children:t}),(0,F.jsxs)(`span`,{children:[n,` · `,r]})]})}function ya(e){return e?e.ok?`Live`:e.error||`Unavailable`:`Loading`}function ba(e,t){return Aa(ka(e)?e:{},[t,`health`,`state`,`overall_status`])}function xa(e){let t=ka(e)?e:{},n=t.documents??t.document_count??t.docs,r=t.chunks??t.chunk_count??t.vectors;return n!==void 0||r!==void 0?`${Ca(n,`0`)} docs · ${Ca(r,`0`)} chunks`:Aa(t,[`message`,`detail`,`status`],`Index status ready`)}function Sa(e){return Aa(ka(e)?e:{},[`summary`,`message`,`status`,`detail`])}function Ca(e,t=``){return typeof e==`string`&&e.trim()?e:typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`true`:`false`:t}function wa(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 Ta(e,t,n){return e.map((r,i)=>{let a=Ea(i,e.length,t,n,-88);return{node:r,x:a.x,y:a.y}})}function Ea(e,t,n,r,i=-90){let a=(360/Math.max(t,1)*e+i)*Math.PI/180;return{x:50+Math.cos(a)*n,y:50+Math.sin(a)*r}}function Da(e){return e}function Oa(e){let t=new Set;return e.filter(e=>t.has(e.id)?!1:(t.add(e.id),!0))}function ka(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function Aa(e,t,n=``){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t;if(typeof t==`number`&&Number.isFinite(t))return String(t)}return n}function ja(e,t,n=``){return Aa(e,t,n).replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function Ma(e,t){for(let n of t){let t=Number(e[n]);if(Number.isFinite(t))return t}return 0}function Na(e,t,n){return Math.max(t,Math.min(n,e))}var Pa=new Ge({defaultOptions:{queries:{staleTime:15e3,refetchOnWindowFocus:!1,retry:1}}});Rt.createRoot(document.getElementById(`root`)).render((0,F.jsx)(P.StrictMode,{children:(0,F.jsx)(Xe,{client:Pa,children:(0,F.jsx)(Wi,{})})}));
|
|
16
|
-
//# sourceMappingURL=index-
|
|
15
|
+
`).find(e=>e.startsWith(`data:`));if(!n)continue;let r=n.slice(5).trim();if(r===`[DONE]`)return{source:`live`,text:s,trace:c};let i=JSON.parse(r),a=i.chunk||i.text||``;a&&(s+=a,t.onChunk?.(a,s)),i.trace&&(c=i.trace,t.onTrace?.(c))}}return{source:`live`,text:s,trace:c}}var z={raw:L,desktopBackendStatus:async()=>{let e=await yn(`backend_status`);return e?{ok:!0,status:200,data:e,source:`live`}:{ok:!1,status:0,data:{},source:`unavailable`,error:`Desktop backend status is available only inside the Tauri shell.`}},health:()=>L(`/health`,{}),workspaceOs:()=>L(`/workspace/os`,{counts:{},models:{},workspace_registry:{workspaces:[]}}),indexStatus:()=>L(`/api/index/status`,{}),rebuildIndex:()=>R(`/api/index/rebuild`,{full:!1,include_nodes:!0,include_chunks:!0},{}),graph:()=>L(`/knowledge-graph/graph`,{nodes:[],edges:[]}),graphStats:()=>L(`/knowledge-graph/stats`,{nodes:{},edges:{},total_nodes:0,total_edges:0}),graphPortability:()=>L(`/api/knowledge-graph/portability`,{}),brainStorage:()=>L(`/api/brain/storage`,{}),backupHealth:()=>L(`/api/knowledge-graph/backup-health`,{}),dockerPostgres:e=>R(`/api/brain/storage/postgres/docker`,e,{}),migratePostgres:e=>R(`/api/brain/storage/migrate-postgres`,e,{}),graphProvenance:(e=50)=>L(`/api/knowledge-graph/provenance`,{items:[]},{limit:e}),graphCoverage:()=>L(`/knowledge-graph/provenance/coverage`,{}),graphExport:()=>R(`/api/knowledge-graph/export`,{},{}),graphBackup:()=>R(`/api/knowledge-graph/backup`,{},{}),graphImport:(e,t=!0)=>R(`/api/knowledge-graph/import`,{artifact:e,mode:`merge`,dry_run:t},{}),brainArchive:e=>R(`/api/knowledge-graph/archive`,e,{}),brainArchiveInspect:e=>R(`/api/knowledge-graph/archive/inspect`,e,{}),brainArchiveVerify:e=>R(`/api/knowledge-graph/archive/verify`,e,{}),brainArchiveRestore:e=>R(`/api/knowledge-graph/archive/restore`,e,{}),brainArchiveImport:e=>R(`/api/knowledge-graph/archive/import`,e,{}),hybridSearch:async(e,t)=>{let n=await R(`/api/search/hybrid`,{query:e,...t?{weights:t}:{}},{matches:[]}),r=n.data;return n.ok&&!Array.isArray(r.matches)&&Array.isArray(r.results)?{...n,data:{...r,matches:r.results}}:n},browserReadUrl:e=>R(`/api/browser/read-url`,{url:e},{}),memoryManager:()=>L(`/api/memory/manager`,{sources:[],tiers:[],usage:{}}),memoryRecall:(e,t=20)=>R(`/api/memory/recall`,{query:e,limit:t},{matches:[]}),memoryCompact:()=>R(`/api/memory/compact`,{},{}),memoryRebuild:()=>R(`/api/memory/rebuild`,{target:`vector`},{}),chatHistory:()=>L(`/history/conversations`,[]),conversation:e=>L(`/history/conversations/${encodeURIComponent(e)}`,{messages:[]}),deleteConversation:e=>Dn(`/history/conversations/${encodeURIComponent(e)}`,{}),streamChat:An,uploadDocument:On,documents:(e=200)=>L(`/knowledge-graph/documents`,{documents:[]},{limit:e}),localSources:()=>L(`/knowledge-graph/local/sources`,{sources:[],watch:{available:!1,active:{}}}),localAgent:()=>L(`/api/local-agent/status`,{agent:{online:!1},sources:[]}),connectFolder:e=>R(`/knowledge-graph/local/index`,{path:e,approved:!0,watch_enabled:!0,consent:{approved:!0,source:`desktop-spa`}},{}),localWatchStop:e=>R(`/knowledge-graph/local/watch/stop`,{source_id:e},{}),models:()=>L(`/models`,{catalog:[],loaded:[],recommended:[]}),setupScan:()=>L(`/setup/scan`,{environment:{},recommendations:{},zero_config:{}}),modelRecommendations:(e=`local_mlx`)=>L(`/models/recommendations`,{profile:{},recommendations:{models:[],families:[],counts:{}}},{engine:e}),installEngine:e=>R(`/engines/install`,{engine:e},{}),prepareModel:(e,t,n=!1)=>R(`/engines/prepare-model`,{model:e,engine:t||null,allow_download:n},{}),streamModelPrepare:kn,loadModel:(e,t,n=!1)=>R(`/models/load`,{model_id:e,engine:t||null,allow_download:n},{}),unloadModel:e=>Dn(`/models/unload/${encodeURIComponent(e)}`,{}),embeddingsStatus:()=>L(`/api/embeddings/status`,{}),agentRuntime:()=>L(`/agents/api/runtime/status`,{runtime:{},agents:[],runs:[]}),runAgent:(e,t)=>R(`/agents/api/run`,{goal:e,roles:t},{}),agentRun:e=>L(`/agents/api/runs/${encodeURIComponent(e)}`,{}),stopAgentRun:e=>R(`/agents/api/runs/${encodeURIComponent(e)}/stop`,{},{}),agentRegistry:()=>L(`/agents/api/registry`,{agents:[]}),agentCapabilities:()=>L(`/agents/api/registry/capabilities`,{capabilities:{}}),registerAgent:e=>R(`/agents/api/registry`,e,{}),updateAgent:(e,t)=>En(`/agents/api/registry/${encodeURIComponent(e)}`,t,{}),removeAgent:e=>Dn(`/agents/api/registry/${encodeURIComponent(e)}`,{}),workflowDefinitions:()=>L(`/workflows/api/definitions`,{workflows:[]}),workflowRuns:()=>L(`/workflows/api/runs`,{runs:[]}),workflowTriggers:()=>L(`/workflows/api/triggers`,{armed:[]}),createWorkflow:e=>R(`/workflows/api/definitions`,e,{}),importWorkflow:e=>R(`/workflows/api/import`,{data:e},{}),exportWorkflow:e=>L(`/workflows/api/export/${encodeURIComponent(e)}`,{}),runWorkflow:e=>R(`/workflows/api/definitions/${encodeURIComponent(e)}/run`,{},{}),updateWorkflow:(e,t)=>En(`/workflows/api/definitions/${encodeURIComponent(e)}`,t,{}),stopWorkflowRun:e=>R(`/workflows/api/runs/${encodeURIComponent(e)}/stop`,{},{}),resumeWorkflowRun:(e,t)=>R(`/workflows/api/runs/${encodeURIComponent(e)}/resume`,{approved:t},{}),hooks:()=>L(`/api/hooks`,{hooks:[]}),hookRuns:()=>L(`/api/hooks/runs`,{runs:[]},{limit:50}),hookRun:e=>R(`/api/hooks/run`,e,{}),permissionsPending:()=>L(`/permissions/pending`,{pending:{},count:0}),approvePermission:e=>R(`/permissions/approve/${encodeURIComponent(e)}`,{},{}),denyPermission:e=>R(`/permissions/deny/${encodeURIComponent(e)}`,{},{}),skills:()=>L(`/workspace/skills`,{skills:[]}),skillToggle:(e,t)=>R(t?`/workspace/skills/disable`:`/workspace/skills/enable`,{skill:e},{}),skillsMarketplace:()=>L(`/skills/marketplace`,{skills:[]}),skillInstall:(e,t)=>R(`/workspace/skills/install`,{skill:e,plugin:t||``},{}),mcpTools:()=>L(`/mcp/tools`,{tools:[],installed_mcps:[]}),mcpRecommend:e=>R(`/mcp/recommend`,{query:e,limit:6},{}),templates:()=>L(`/marketplace/templates`,{templates:[],kinds:[]}),installTemplate:e=>R(`/marketplace/templates/install`,{data:e},{}),pluginsRegistry:()=>L(`/plugins/registry`,{plugins:[]}),pluginsDirectory:()=>L(`/plugins/directory`,{plugins:[]}),profile:()=>L(`/account/profile`,{}),login:(e,t)=>R(`/login`,{email:e,password:t},{}),register:e=>R(`/register`,e,{}),logout:()=>R(`/logout`,{},{}),updateProfile:e=>En(`/account/profile`,e,{}),changePassword:(e,t)=>R(`/account/change-password`,{current_password:e,new_password:t},{}),ssoConfig:()=>L(`/auth/sso/config`,{enabled:!1,providers:[]}),workspaceRegistry:()=>L(`/workspace/registry`,{workspaces:[]}),createOrg:e=>R(`/workspace/orgs`,{name:e},{}),activateWorkspace:e=>R(`/workspace/activate`,{workspace_id:e},{}),archiveWorkspace:e=>R(`/workspace/orgs/${encodeURIComponent(e)}/archive`,{},{}),addWorkspaceMember:(e,t,n)=>R(`/workspace/orgs/${encodeURIComponent(e)}/members`,{user_id:t,role:n},{}),removeWorkspaceMember:(e,t)=>Dn(`/workspace/orgs/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,{}),invitations:()=>L(`/invitations`,{invitations:[]}),createInvitation:e=>R(`/invitations`,e,{}),acceptInvitation:e=>R(`/invitations/${encodeURIComponent(e)}/accept`,{},{}),snapshots:()=>L(`/workspace/snapshots`,{snapshots:[]}),createSnapshot:e=>R(`/workspace/snapshots`,{name:e},{}),compareSnapshots:(e,t)=>R(`/workspace/snapshots/compare`,{before_id:e,after_id:t},{}),restoreSnapshot:e=>R(`/workspace/snapshots/${encodeURIComponent(e)}/restore`,{},{}),exportSnapshot:e=>R(`/workspace/snapshots/${encodeURIComponent(e)}/export`,{},{}),timeMachine:()=>L(`/workspace/time-machine`,{events:[]},{limit:100}),realtimeFeed:()=>L(`/realtime/feed`,{events:[]},{limit:80}),presence:()=>L(`/realtime/presence`,{presence:[]}),networkIdentity:()=>L(`/network/identity`,{}),networkPeers:()=>L(`/network/peers`,{peers:[]}),pairPeer:e=>R(`/network/peers`,e,{}),unpairPeer:e=>Dn(`/network/peers/${encodeURIComponent(e)}`,{}),pushPeer:(e,t)=>R(`/network/push/${encodeURIComponent(e)}`,{workspace_id:t},{}),sysinfo:()=>L(`/local/sysinfo`,{}),computerMemory:()=>L(`/workspace/computer-memory`,{}),setComputerMemory:e=>R(`/workspace/computer-memory`,{enabled:e,consent:{approved:e}},{}),adminSummary:()=>L(`/admin/summary`,{}),adminStats:()=>L(`/admin/stats`,{}),adminUsers:()=>L(`/admin/users`,[]),adminAudit:e=>L(`/admin/audit`,{recent_events:[],filters:{}},e),adminRoles:()=>L(`/admin/roles`,{roles:[]}),adminPolicies:()=>L(`/admin/policies`,{policies:[]}),adminLogRetention:()=>L(`/admin/log-retention`,{}),adminProductHardening:()=>L(`/admin/product-hardening`,{}),adminSecurity:()=>L(`/admin/security/overview`,{}),adminSecurityEvents:(e=50)=>L(`/admin/security/events`,{events:[]},{limit:e}),vpcStatus:()=>L(`/vpc/status`,{}),toolPermissions:()=>L(`/tools/permissions`,{permissions:[]})};function jn(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=jn(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Mn(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=jn(e))&&(r&&(r+=` `),r+=t);return r}var Nn=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Pn=Mn,Fn=(e,t)=>n=>{if(t?.variants==null)return Pn(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Nn(t)||Nn(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Pn(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},In=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ln=(e,t)=>({classGroupId:e,validator:t}),Rn=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zn=`-`,Bn=[],Vn=`arbitrary..`,Hn=e=>{let t=Gn(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Wn(e);let n=e.split(zn);return Un(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?In(i,t):t:i||Bn}return n[e]||Bn}}},Un=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Un(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(zn):e.slice(t).join(zn),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Wn=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Vn+r:void 0})(),Gn=e=>{let{theme:t,classGroups:n}=e;return Kn(n,t)},Kn=(e,t)=>{let n=Rn();for(let r in e){let i=e[r];qn(i,n,r,t)}return n},qn=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Jn(i,t,n,r)}},Jn=(e,t,n,r)=>{if(typeof e==`string`){Yn(e,t,n);return}if(typeof e==`function`){Xn(e,t,n,r);return}Zn(e,t,n,r)},Yn=(e,t,n)=>{let r=e===``?t:Qn(t,e);r.classGroupId=n},Xn=(e,t,n,r)=>{if($n(e)){qn(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ln(n,e))},Zn=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];qn(o,Qn(t,a),n,r)}},Qn=(e,t)=>{let n=e,r=t.split(zn),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Rn(),n.nextPart.set(t,i)),n=i}return n},$n=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,er=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},tr=`!`,nr=`:`,rr=[],ir=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ar=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===nr){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(tr)?(c=s.slice(0,-1),l=!0):s.startsWith(tr)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ir(t,l,c,u)};if(t){let e=t+nr,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ir(rr,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},or=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sr=e=>({cache:er(e.cacheSize),parseClassName:ar(e),sortModifiers:or(e),postfixLookupClassGroupIds:cr(e),...Hn(e)}),cr=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},lr=/\s+/,ur=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(lr),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+tr:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},dr=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=fr(n))&&(i&&(i+=` `),i+=r);return i},fr=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=fr(e[r]))&&(n&&(n+=` `),n+=t);return n},pr=(e,...t)=>{let n,r,i,a,o=o=>(n=sr(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ur(e,n);return i(e,a),a};return a=o,(...e)=>a(dr(...e))},mr=[],hr=e=>{let t=t=>t[e]||mr;return t.isThemeGetter=!0,t},gr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,_r=/^\((?:(\w[\w-]*):)?(.+)\)$/i,vr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,yr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,br=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Sr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Cr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wr=e=>vr.test(e),B=e=>!!e&&!Number.isNaN(Number(e)),Tr=e=>!!e&&Number.isInteger(Number(e)),Er=e=>e.endsWith(`%`)&&B(e.slice(0,-1)),Dr=e=>yr.test(e),Or=()=>!0,kr=e=>br.test(e)&&!xr.test(e),Ar=()=>!1,jr=e=>Sr.test(e),Mr=e=>Cr.test(e),Nr=e=>!V(e)&&!H(e),Pr=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Fr=e=>Xr(e,ei,Ar),V=e=>gr.test(e),Ir=e=>Xr(e,ti,kr),Lr=e=>Xr(e,ni,B),Rr=e=>Xr(e,ii,Or),zr=e=>Xr(e,ri,Ar),Br=e=>Xr(e,Qr,Ar),Vr=e=>Xr(e,$r,Mr),Hr=e=>Xr(e,ai,jr),H=e=>_r.test(e),Ur=e=>Zr(e,ti),Wr=e=>Zr(e,ri),Gr=e=>Zr(e,Qr),Kr=e=>Zr(e,ei),qr=e=>Zr(e,$r),Jr=e=>Zr(e,ai,!0),Yr=e=>Zr(e,ii,!0),Xr=(e,t,n)=>{let r=gr.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Zr=(e,t,n=!1)=>{let r=_r.exec(e);return r?r[1]?t(r[1]):n:!1},Qr=e=>e===`position`||e===`percentage`,$r=e=>e===`image`||e===`url`,ei=e=>e===`length`||e===`size`||e===`bg-size`,ti=e=>e===`length`,ni=e=>e===`number`,ri=e=>e===`family-name`,ii=e=>e===`number`||e===`weight`,ai=e=>e===`shadow`,oi=pr(()=>{let e=hr(`color`),t=hr(`font`),n=hr(`text`),r=hr(`font-weight`),i=hr(`tracking`),a=hr(`leading`),o=hr(`breakpoint`),s=hr(`container`),c=hr(`spacing`),l=hr(`radius`),u=hr(`shadow`),d=hr(`inset-shadow`),f=hr(`text-shadow`),p=hr(`drop-shadow`),m=hr(`blur`),h=hr(`perspective`),g=hr(`aspect`),_=hr(`ease`),v=hr(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),H,V],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],S=()=>[`auto`,`contain`,`none`],C=()=>[H,V,c],w=()=>[wr,`full`,`auto`,...C()],te=()=>[Tr,`none`,`subgrid`,H,V],ne=()=>[`auto`,{span:[`full`,Tr,H,V]},Tr,H,V],T=()=>[Tr,`auto`,H,V],re=()=>[`auto`,`min`,`max`,`fr`,H,V],ie=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ae=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],E=()=>[`auto`,...C()],D=()=>[wr,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...C()],O=()=>[wr,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...C()],oe=()=>[wr,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...C()],k=()=>[e,H,V],A=()=>[...b(),Gr,Br,{position:[H,V]}],se=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ce=()=>[`auto`,`cover`,`contain`,Kr,Fr,{size:[H,V]}],le=()=>[Er,Ur,Ir],j=()=>[``,`none`,`full`,l,H,V],M=()=>[``,B,Ur,Ir],N=()=>[`solid`,`dashed`,`dotted`,`double`],ue=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],de=()=>[B,Er,Gr,Br],fe=()=>[``,`none`,m,H,V],pe=()=>[`none`,B,H,V],me=()=>[`none`,B,H,V],he=()=>[B,H,V],ge=()=>[wr,`full`,...C()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Dr],breakpoint:[Dr],color:[Or],container:[Dr],"drop-shadow":[Dr],ease:[`in`,`out`,`in-out`],font:[Nr],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Dr],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Dr],shadow:[Dr],spacing:[`px`,B],text:[Dr],"text-shadow":[Dr],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,wr,V,H,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,H,V]}],"container-named":[Pr],columns:[{columns:[B,V,H,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{"inset-s":w(),start:w()}],end:[{"inset-e":w(),end:w()}],"inset-bs":[{"inset-bs":w()}],"inset-be":[{"inset-be":w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Tr,`auto`,H,V]}],basis:[{basis:[wr,`full`,`auto`,s,...C()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[B,wr,`auto`,`initial`,`none`,V]}],grow:[{grow:[``,B,H,V]}],shrink:[{shrink:[``,B,H,V]}],order:[{order:[Tr,`first`,`last`,`none`,H,V]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":T()}],"col-end":[{"col-end":T()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":T()}],"row-end":[{"row-end":T()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...ie(),`normal`]}],"justify-items":[{"justify-items":[...ae(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ae()]}],"align-content":[{content:[`normal`,...ie()]}],"align-items":[{items:[...ae(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ae(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...ae(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ae()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:E()}],mx:[{mx:E()}],my:[{my:E()}],ms:[{ms:E()}],me:[{me:E()}],mbs:[{mbs:E()}],mbe:[{mbe:E()}],mt:[{mt:E()}],mr:[{mr:E()}],mb:[{mb:E()}],ml:[{ml:E()}],"space-x":[{"space-x":C()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":C()}],"space-y-reverse":[`space-y-reverse`],size:[{size:D()}],"inline-size":[{inline:[`auto`,...O()]}],"min-inline-size":[{"min-inline":[`auto`,...O()]}],"max-inline-size":[{"max-inline":[`none`,...O()]}],"block-size":[{block:[`auto`,...oe()]}],"min-block-size":[{"min-block":[`auto`,...oe()]}],"max-block-size":[{"max-block":[`none`,...oe()]}],w:[{w:[s,`screen`,...D()]}],"min-w":[{"min-w":[s,`screen`,`none`,...D()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...D()]}],h:[{h:[`screen`,`lh`,...D()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...D()]}],"max-h":[{"max-h":[`screen`,`lh`,...D()]}],"font-size":[{text:[`base`,n,Ur,Ir]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Yr,Rr]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Er,V]}],"font-family":[{font:[Wr,zr,t]}],"font-features":[{"font-features":[V]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,H,V]}],"line-clamp":[{"line-clamp":[B,`none`,H,Lr]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":[`none`,H,V]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,H,V]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...N(),`wavy`]}],"text-decoration-thickness":[{decoration:[B,`from-font`,`auto`,H,Ir]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[B,`auto`,H,V]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:C()}],"tab-size":[{tab:[Tr,H,V]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,H,V]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,H,V]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:A()}],"bg-repeat":[{bg:se()}],"bg-size":[{bg:ce()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Tr,H,V],radial:[``,H,V],conic:[Tr,H,V]},qr,Vr]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:le()}],"gradient-via-pos":[{via:le()}],"gradient-to-pos":[{to:le()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:j()}],"rounded-s":[{"rounded-s":j()}],"rounded-e":[{"rounded-e":j()}],"rounded-t":[{"rounded-t":j()}],"rounded-r":[{"rounded-r":j()}],"rounded-b":[{"rounded-b":j()}],"rounded-l":[{"rounded-l":j()}],"rounded-ss":[{"rounded-ss":j()}],"rounded-se":[{"rounded-se":j()}],"rounded-ee":[{"rounded-ee":j()}],"rounded-es":[{"rounded-es":j()}],"rounded-tl":[{"rounded-tl":j()}],"rounded-tr":[{"rounded-tr":j()}],"rounded-br":[{"rounded-br":j()}],"rounded-bl":[{"rounded-bl":j()}],"border-w":[{border:M()}],"border-w-x":[{"border-x":M()}],"border-w-y":[{"border-y":M()}],"border-w-s":[{"border-s":M()}],"border-w-e":[{"border-e":M()}],"border-w-bs":[{"border-bs":M()}],"border-w-be":[{"border-be":M()}],"border-w-t":[{"border-t":M()}],"border-w-r":[{"border-r":M()}],"border-w-b":[{"border-b":M()}],"border-w-l":[{"border-l":M()}],"divide-x":[{"divide-x":M()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":M()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...N(),`hidden`,`none`]}],"divide-style":[{divide:[...N(),`hidden`,`none`]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...N(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[B,H,V]}],"outline-w":[{outline:[``,B,Ur,Ir]}],"outline-color":[{outline:k()}],shadow:[{shadow:[``,`none`,u,Jr,Hr]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":[`none`,d,Jr,Hr]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:M()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[B,Ir]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":M()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":[`none`,f,Jr,Hr]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[B,H,V]}],"mix-blend":[{"mix-blend":[...ue(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ue()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[B]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[H,V]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[B]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:A()}],"mask-repeat":[{mask:se()}],"mask-size":[{mask:ce()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,H,V]}],filter:[{filter:[``,`none`,H,V]}],blur:[{blur:fe()}],brightness:[{brightness:[B,H,V]}],contrast:[{contrast:[B,H,V]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Jr,Hr]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:[``,B,H,V]}],"hue-rotate":[{"hue-rotate":[B,H,V]}],invert:[{invert:[``,B,H,V]}],saturate:[{saturate:[B,H,V]}],sepia:[{sepia:[``,B,H,V]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,H,V]}],"backdrop-blur":[{"backdrop-blur":fe()}],"backdrop-brightness":[{"backdrop-brightness":[B,H,V]}],"backdrop-contrast":[{"backdrop-contrast":[B,H,V]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,B,H,V]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[B,H,V]}],"backdrop-invert":[{"backdrop-invert":[``,B,H,V]}],"backdrop-opacity":[{"backdrop-opacity":[B,H,V]}],"backdrop-saturate":[{"backdrop-saturate":[B,H,V]}],"backdrop-sepia":[{"backdrop-sepia":[``,B,H,V]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,H,V]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[B,`initial`,H,V]}],ease:[{ease:[`linear`,`initial`,_,H,V]}],delay:[{delay:[B,H,V]}],animate:[{animate:[`none`,v,H,V]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,H,V]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":[`scale-3d`],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[H,V,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ge()}],"translate-x":[{"translate-x":ge()}],"translate-y":[{"translate-y":ge()}],"translate-z":[{"translate-z":ge()}],"translate-none":[`translate-none`],zoom:[{zoom:[Tr,H,V]}],accent:[{accent:k()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,H,V]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,H,V]}],fill:[{fill:[`none`,...k()]}],"stroke-w":[{stroke:[B,Ur,Ir,Lr]}],stroke:[{stroke:[`none`,...k()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function si(...e){return oi(Mn(e))}function ci(e){return Array.isArray(e)?e:[]}var li=Fn(`inline-flex h-10 max-w-full items-center justify-center gap-2 rounded-md px-3.5 text-sm font-semibold leading-none transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-45`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-[0_10px_30px_hsl(var(--primary)/0.16)] hover:bg-primary/92`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/82`,ghost:`text-foreground hover:bg-muted`,outline:`border border-border bg-card/70 hover:bg-muted/88`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`},size:{sm:`h-8 px-2.5 text-xs`,md:`h-10 px-3.5`,icon:`h-10 w-10 px-0`}},defaultVariants:{variant:`default`,size:`md`}}),ui=P.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,F.jsx)(`button`,{ref:i,className:si(li({variant:t,size:n,className:e})),...r}));ui.displayName=`Button`;function di({state:e=`idle`,intensity:t=.6,onPulse:n,size:r=`large`,label:i,className:a,showLabel:o=!0,depth:s=0,onInteract:c}){let[l,u]=P.useState(!1),d=P.useRef(null);P.useEffect(()=>{if(n){let e=()=>f();return window.addEventListener(`brain:recall`,e),()=>window.removeEventListener(`brain:recall`,e)}},[n]);function f(){u(!0),d.current&&(d.current.classList.add(`pulse`),window.setTimeout(()=>{d.current&&d.current.classList.remove(`pulse`),u(!1)},1350)),n?.()}P.useEffect(()=>{if((e===`recalling`||t>.82)&&!l){let e=window.setTimeout(()=>f(),180);return()=>clearTimeout(e)}},[e,t]);let p=e,m=r===`large`,h=r===`trace`,g=Math.max(.35,Math.min(1,t)),_=Math.max(0,Math.min(5,s||0)),v=e!==`thinking`;return(0,F.jsxs)(`div`,{className:si(`brain-presence select-none`,m&&`large`,h&&`trace`,a,_>0&&`is-exploring`),"aria-label":`Your living Brain`,role:`group`,"data-depth":_,children:[(0,F.jsxs)(`button`,{type:`button`,ref:d,className:si(`brain-organism`,`size-${r}`,`depth-${_}`),"data-state":p,"aria-label":_<5?`Travel deeper into your Brain`:`Rest inside the Knowledge Graph`,"aria-disabled":!v,style:{transform:`scale(${.96+(g-.5)*.09+_*.015})`},onClick:()=>{v&&(f(),c?.())},title:_<5?`Travel deeper into your Brain`:`The core of your knowledge`,children:[(0,F.jsx)(`div`,{className:`brain-core`,style:{transform:`scale(${1+_*.045})`},children:(0,F.jsxs)(`svg`,{className:`brain-anatomy`,viewBox:`0 0 220 174`,"aria-hidden":!0,children:[(0,F.jsx)(`path`,{className:`brain-lobe brain-lobe-left`,d:`M102 30c-13-20-44-19-55 1-18 1-29 16-28 33-13 8-18 25-11 39-9 16-1 36 17 42 5 19 27 26 43 15 13 10 33 8 43-5 5-7 8-16 8-27V52c0-8-6-17-17-22Z`}),(0,F.jsx)(`path`,{className:`brain-lobe brain-lobe-right`,d:`M118 30c13-20 44-19 55 1 18 1 29 16 28 33 13 8 18 25 11 39 9 16 1 36-17 42-5 19-27 26-43 15-13 10-33 8-43-5-5-7-8-16-8-27V52c0-8 6-17 17-22Z`}),(0,F.jsx)(`path`,{className:`brain-bridge`,d:`M103 48c9-8 24-8 33 0 7 6 9 16 5 25-5 11-16 15-31 12-15 3-26-1-31-12-4-9-2-19 5-25 5-4 12-6 19 0Z`}),(0,F.jsx)(`path`,{className:`brain-stem`,d:`M92 137c10 9 26 9 36 0 1 14 7 25 20 33H76c12-8 17-19 16-33Z`}),(0,F.jsx)(`path`,{className:`brain-fold fold-a`,d:`M48 50c18-11 38-8 47 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-b`,d:`M34 82c22-8 45-5 58 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-c`,d:`M43 119c18 5 35 2 49-11`}),(0,F.jsx)(`path`,{className:`brain-fold fold-d`,d:`M172 50c-18-11-38-8-47 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-e`,d:`M186 82c-22-8-45-5-58 8`}),(0,F.jsx)(`path`,{className:`brain-fold fold-f`,d:`M177 119c-18 5-35 2-49-11`}),(0,F.jsx)(`path`,{className:`brain-fold fold-mid`,d:`M110 38c-5 30-5 70 0 112`})]})}),(0,F.jsx)(`div`,{className:`brain-aura`,style:{animationDuration:e===`thinking`?`1.65s`:e===`recalling`?`2.4s`:`6.8s`,transform:`scale(${1+_*.12})`,opacity:.65+_*.05}}),(0,F.jsx)(`div`,{className:`thought-activity`,"aria-hidden":!0,children:Array.from({length:Math.min(12,5+_*2)}).map((e,n)=>(0,F.jsx)(`div`,{className:si(`thought-particle`,_>=3&&`resolving`),style:{left:`${18+(n*13+_*4)%64}%`,top:`${22+n%5*14}%`,animationDelay:`-${n*.55+t*1.1-_*.2}s`,animationDuration:`${2.8+(1-g)*1.6-_*.15}s`}},n))}),Array.from({length:1+Math.floor(_/1.5)}).map((e,t)=>(0,F.jsx)(`div`,{className:`memory-ripple`,"aria-hidden":!0,style:{inset:`${18+t*6}%`,animationDelay:`${180+t*220}ms`,opacity:.55+_*.06}},t)),_>=4&&(0,F.jsx)(`svg`,{className:`brain-inner-structure`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:(0,F.jsxs)(`g`,{stroke:`hsl(var(--brain-core) / 0.35)`,strokeWidth:`0.6`,fill:`none`,children:[(0,F.jsx)(`circle`,{cx:`50`,cy:`50`,r:`18`}),(0,F.jsx)(`circle`,{cx:`50`,cy:`50`,r:`28`}),(0,F.jsx)(`path`,{d:`M32 50 Q50 32 68 50`}),(0,F.jsx)(`path`,{d:`M32 50 Q50 68 68 50`})]})})]}),o&&!h&&(0,F.jsxs)(`div`,{className:`brain-presence-label`,"data-state":e,children:[(0,F.jsx)(`span`,{className:`dot`}),i||(_>0?`Depth ${_}`:fi(e))]})]})}function fi(e){switch(e){case`listening`:return`Listening`;case`thinking`:return`Thinking with you`;case`recalling`:return`Remembering`;case`synthesizing`:return`Making sense`;case`planning`:return`Planning`;case`acting`:return`Acting`;case`resting`:return`With you`;default:return`Here`}}function pi(){typeof window<`u`&&window.dispatchEvent(new CustomEvent(`brain:recall`))}var mi=P.forwardRef(({className:e,...t},n)=>(0,F.jsx)(`input`,{ref:n,className:si(`h-10 w-full rounded-md border border-input bg-background/70 px-3 text-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/35 disabled:cursor-not-allowed disabled:opacity-50`,e),...t}));mi.displayName=`Input`;var hi={ko:`한국어`,en:`English`},gi={ko:{"language.label":`언어`,"language.ko":`한국어`,"language.en":`English`,"brain.level":`단계`,"brain.depth.1":`지금 기억`,"brain.depth.2":`오래된 기억`,"brain.depth.3":`주제`,"brain.depth.4":`관계`,"brain.depth.5":`전체 지식 그래프`,"brain.view.memories":`기억 보기`,"brain.view.topics":`주제 보기`,"brain.view.relationships":`관계 보기`,"brain.view.graph":`그래프로 보기`,"brain.surface":`돌아가기`,"brain.title":`Lattice Brain`,"brain.local":`로컬 우선`,"brain.portable":`이동 가능`,"brain.private":`개인 소유`,"brain.admin":`관리자 콘솔`,"brain.empty.kicker":`내 오래가는 기억`,"brain.empty.title":`잊으면 안 되는 맥락부터 말해 주세요.`,"brain.empty.body":`문서, 대화, 프로젝트, 결정이 이 컴퓨터의 Brain에 쌓이고 나중에 주제와 관계로 다시 보입니다.`,"brain.prompt.remember":`이 프로젝트 목표를 기억해줘: `,"brain.prompt.know":`이 문서를 내 Brain에 넣고 요약해줘: `,"brain.prompt.plan":`지난 결정들을 나중에 찾을 수 있게 정리해줘: `,"brain.placeholder":`Brain에게 말하기...`,"brain.image":`이미지`,"brain.unavailable":`지금은 답할 수 없음`,"brain.imageAttached":`이미지 첨부됨`,"brain.send":`보내기`,"brain.saved":`기억에 저장됨 · 연결된 주제 {topics}개 · 관련 기억 {memories}개`,"brain.recalled":`기억을 다시 꺼냈습니다: {title}`,"brain.overview.kicker":`Brain 한눈에 보기`,"brain.overview.title":`기억과 주제를 바로 확인하세요.`,"brain.overview.graph":`전체 그래프`,"brain.overview.recent":`최근 기억`,"brain.overview.recentEmpty":`아직 최근 기억이 없습니다.`,"brain.overview.older":`이전 기억`,"brain.overview.olderEmpty":`대화가 쌓이면 과거 기억이 보입니다.`,"brain.overview.topics":`주요 주제`,"brain.overview.topicsEmpty":`주제가 형성되는 중입니다.`,"brain.graph.empty":`아직 맞는 지식이 없습니다.`,"brain.graph.summaryFallback":`이 개념은 가장 깊은 지식 계층의 일부입니다.`,"brain.graph.focused":`대화와 문서에서 함께 나온 내용이 선으로 이어집니다.`,"brain.graph.emptyFocus":`대화, 문서, 프로젝트를 쌓으면 Brain 그래프가 자랍니다.`,"care.title":`내 Brain 돌보기`,"care.subtitle":`내 컴퓨터에 두고, 필요하면 옮길 수 있습니다.`,"care.private":`개인 보관`,"care.export":`내보내기`,"care.export.detail":`다른 곳으로 가져가기`,"care.backup":`백업`,"care.backup.detail":`복사본 저장`,"care.archive":`보관 파일`,"care.archive.detail":`암호화된 Brain`,"care.path.placeholder":`확인하거나 미리 볼 보관 파일 경로`,"care.path.label":`Brain 보관 파일 경로`,"care.passphrase.placeholder":`보관 파일 비밀번호`,"care.passphrase.label":`Brain 보관 파일 비밀번호`,"care.inspect":`확인`,"care.restorePreview":`복원 미리보기`,"care.note":`복원 미리보기는 Brain을 바꾸지 않고 보관 파일만 확인합니다. 실제 복원은 설정에서 확정합니다.`,"care.working":`진행 중`,"admin.back":`Brain`,"admin.kicker":`분리된 관리자 작업공간`,"admin.title":`Admin Console`,"admin.body":`사용자, 로그, 보안, Brain 상태는 일반 사용자 화면과 분리됩니다.`,"flow.shell":`내 로컬 AI 브레인 만들기`,"flow.login.title":`내 AI 브레인의 주인을 정합니다.`,"flow.login.body":`Lattice AI는 모델이 바뀌어도 내 지식과 맥락을 보존하는 로컬 우선 AI 브레인입니다. 대화와 기억은 기본적으로 이 컴퓨터에 저장됩니다.`,"flow.name":`이름`,"flow.email":`이메일`,"flow.password":`비밀번호`,"flow.password.placeholder":`로컬 Brain 비밀번호`,"flow.login.busy":`Brain 여는 중...`,"flow.login.submit":`내 Brain 시작하기`,"flow.login.note":`이 프로필은 내 AI 브레인의 주인입니다. 기존 Brain과 다른 이메일이면 새로 만들지 않고 먼저 확인합니다.`,"flow.login.missing":`이름과 이메일, 비밀번호를 입력하면 기존 Brain을 안전하게 확인합니다.`,"flow.login.otherEmail":`이 컴퓨터의 기존 Brain과 다른 이메일입니다. 오타인지 확인해 주세요.`,"flow.login.wrongPassword":`기존 Brain 이메일은 맞지만 비밀번호가 다릅니다. 비밀번호를 다시 확인해 주세요.`,"flow.login.unavailable":`로컬 프로필을 열 수 없습니다. 이메일과 비밀번호를 확인해 주세요.`,"flow.promise.memory.k":`오래 남는 지식`,"flow.promise.memory.v":`내 일이 장기 기억이 됩니다.`,"flow.promise.model.k":`교체 가능한 모델`,"flow.promise.model.v":`모델은 목소리이고, 자산은 Brain입니다.`,"flow.promise.ownership.k":`사용자 소유`,"flow.promise.ownership.v":`백업, 복원, 이동이 가능합니다.`,"flow.analysis.title":`이 컴퓨터에서 가능한 경험을 확인합니다.`,"flow.analysis.body":`스펙 점수가 아니라, 이 Mac에서 어떤 로컬 AI 브레인 경험이 편한지 알려드립니다. 클라우드 모델은 선택 사항입니다.`,"flow.analysis.finding":`가장 편한 설정을 찾는 중...`,"flow.analysis.ready":`추천 모델을 바로 시작할 수 있게 준비했습니다.`,"flow.analysis.wait":`잠시만 기다리면 자동으로 정리됩니다.`,"flow.analysis.error":`Lattice가 이 컴퓨터를 끝까지 확인하지 못했습니다. 그래도 안전한 기본값으로 계속할 수 있습니다.`,"flow.analysis.continue":`추천 모델 보기`,"flow.recommend.title":`추천대로 시작하세요.`,"flow.recommend.body":`모델은 Brain의 현재 목소리입니다. 가장 안전한 추천, 더 빠른 모델, 더 강한 모델만 먼저 보여드립니다.`,"flow.recommend.primary":`추천대로 시작하기`,"flow.recommend.unsupported":`이 컴퓨터에서 추가 확인이 필요합니다`,"flow.recommend.back":`뒤로`,"flow.recommend.hint":`잘 모르겠다면 추천대로 시작하면 됩니다.`,"flow.install.title":`모델을 설치하고 시작합니다.`,"flow.install.body":`이 모델이 Brain의 로컬 목소리가 됩니다. 다운로드할 때만 인터넷이 필요하고, 실행은 내 컴퓨터에서 진행됩니다.`,"flow.install.wait":`Brain이 사용할 모델을 기다리고 있습니다.`,"flow.install.prepare":`Brain 준비 중입니다.`,"flow.install.done":`Brain이 준비되었습니다.`,"flow.install.note":`큰 모델은 다운로드에 몇 분 이상 걸릴 수 있습니다. 진행률은 모델 런타임이 알려주는 만큼 표시하고, 멈춘 것처럼 보여도 현재 단계가 유지됩니다.`,"flow.install.retry":`다른 모델을 고르거나 다시 시도할 수 있습니다.`,"flow.install.back":`다른 모델 고르기`,"flow.install.start":`다운로드하고 시작하기`,"flow.install.busy":`모델 준비 중...`,"flow.install.enter":`Brain으로 들어가기`,"flow.install.local":`모델 다운로드와 외부 통신은 사용자가 시작할 때만 진행됩니다.`},en:{"language.label":`Language`,"language.ko":`한국어`,"language.en":`English`,"brain.level":`Level`,"brain.depth.1":`Now memory`,"brain.depth.2":`Older memory`,"brain.depth.3":`Topics`,"brain.depth.4":`Relationships`,"brain.depth.5":`Full knowledge graph`,"brain.view.memories":`Memories`,"brain.view.topics":`Topics`,"brain.view.relationships":`Relationships`,"brain.view.graph":`Graph`,"brain.surface":`Back`,"brain.title":`Lattice Brain`,"brain.local":`Local-first`,"brain.portable":`Portable`,"brain.private":`Private`,"brain.admin":`Admin Console`,"brain.empty.kicker":`Durable memory`,"brain.empty.title":`Start with context that should not be forgotten.`,"brain.empty.body":`Documents, conversations, projects, and decisions accumulate in the Brain on this computer, then reappear as topics and relationships.`,"brain.prompt.remember":`Remember this project goal: `,"brain.prompt.know":`Put this document into my Brain and summarize it: `,"brain.prompt.plan":`Organize past decisions so I can find them later: `,"brain.placeholder":`Talk to your Brain...`,"brain.image":`Image`,"brain.unavailable":`Unavailable`,"brain.imageAttached":`Image attached`,"brain.send":`Send`,"brain.saved":`Saved to memory · {topics} linked topics · {memories} related memories`,"brain.recalled":`Recalled this memory: {title}`,"brain.overview.kicker":`Brain at a glance`,"brain.overview.title":`See memories and topics immediately.`,"brain.overview.graph":`Full graph`,"brain.overview.recent":`Recent memories`,"brain.overview.recentEmpty":`No recent memories yet.`,"brain.overview.older":`Earlier memories`,"brain.overview.olderEmpty":`Earlier memories appear as conversations accumulate.`,"brain.overview.topics":`Main topics`,"brain.overview.topicsEmpty":`Topics are still forming.`,"brain.graph.empty":`No matching knowledge yet`,"brain.graph.summaryFallback":`This concept is part of the deepest knowledge layer.`,"brain.graph.focused":`Ideas that appeared together in conversations and documents are connected by lines.`,"brain.graph.emptyFocus":`Your Brain graph grows as you add conversations, documents, and projects.`,"care.title":`Care for my Brain`,"care.subtitle":`Own it locally. Keep it portable.`,"care.private":`Private`,"care.export":`Export`,"care.export.detail":`Take it with you`,"care.backup":`Backup`,"care.backup.detail":`Save a copy`,"care.archive":`Archive`,"care.archive.detail":`Encrypted Brain`,"care.path.placeholder":`Paste an archive path to inspect or preview`,"care.path.label":`Brain archive path`,"care.passphrase.placeholder":`Archive passphrase`,"care.passphrase.label":`Brain archive passphrase`,"care.inspect":`Inspect`,"care.restorePreview":`Restore preview`,"care.note":`Restore preview checks an archive without changing your Brain. Confirmed restore stays in Settings.`,"care.working":`Working`,"admin.back":`Brain`,"admin.kicker":`Separate admin workspace`,"admin.title":`Admin Console`,"admin.body":`Users, logs, security, and Brain health stay out of the normal user experience.`,"flow.shell":`Create your local AI Brain`,"flow.login.title":`Choose the owner of your AI Brain.`,"flow.login.body":`Lattice AI is a local-first Digital Brain that keeps your knowledge durable across any AI model. Conversations and memories are stored on this computer by default.`,"flow.name":`Name`,"flow.email":`Email`,"flow.password":`Password`,"flow.password.placeholder":`Local Brain password`,"flow.login.busy":`Opening Brain...`,"flow.login.submit":`Start my Brain`,"flow.login.note":`This profile owns your AI Brain. If the email differs from this computer's Brain, Lattice checks before creating anything new.`,"flow.login.missing":`Enter your name, email, and password so Lattice can safely check your Brain.`,"flow.login.otherEmail":`This email differs from the Brain on this computer. Please check for a typo.`,"flow.login.wrongPassword":`The email matches this Brain, but the password is different. Please check it again.`,"flow.login.unavailable":`Could not open the local profile. Check your email and password.`,"flow.promise.memory.k":`Durable knowledge`,"flow.promise.memory.v":`Your work becomes long-term memory.`,"flow.promise.model.k":`Replaceable models`,"flow.promise.model.v":`The model is the voice; the Brain is the asset.`,"flow.promise.ownership.k":`User owned`,"flow.promise.ownership.v":`Back up, restore, and move it.`,"flow.analysis.title":`Checking what this computer can do.`,"flow.analysis.body":`This is not a spec test. Lattice explains what local AI Brain experience this Mac can support. Cloud models remain optional.`,"flow.analysis.finding":`Finding the easiest setup...`,"flow.analysis.ready":`Your recommended model is ready to start.`,"flow.analysis.wait":`This will be summarized automatically in a moment.`,"flow.analysis.error":`Lattice could not finish checking this computer. You can still continue with a safe default.`,"flow.analysis.continue":`View recommended models`,"flow.recommend.title":`Start with the recommendation.`,"flow.recommend.body":`The model is your Brain's current voice. You see the safest recommendation, a faster model, and a stronger model first.`,"flow.recommend.primary":`Start with recommendation`,"flow.recommend.unsupported":`This computer needs one more check`,"flow.recommend.back":`Back`,"flow.recommend.hint":`If unsure, start with the recommendation.`,"flow.install.title":`Install the model and start.`,"flow.install.body":`This model becomes your Brain's local voice. Internet is needed only for download; execution happens on this computer.`,"flow.install.wait":`Waiting for the model your Brain will use.`,"flow.install.prepare":`Preparing your Brain.`,"flow.install.done":`Your Brain is ready.`,"flow.install.note":`Large models can take several minutes to download. Progress is shown when the model runtime reports it; a steady stage still means work is continuing.`,"flow.install.retry":`Choose another model or try again.`,"flow.install.back":`Choose another model`,"flow.install.start":`Download and start`,"flow.install.busy":`Preparing model...`,"flow.install.enter":`Enter Brain`,"flow.install.local":`Downloads and external communication start only when you choose them.`}};function U(e,t,n){let r=gi[e]?.[t]||gi.ko[t]||t;if(n)for(let[e,t]of Object.entries(n))r=r.replaceAll(`{${e}}`,String(t));return r}var _i=`lattice.productFlow.complete`,vi=`lattice.productFlow.user`;function yi(){try{return localStorage.getItem(_i)===`true`}catch{}return!1}function bi(){try{let e=localStorage.getItem(vi);return e?JSON.parse(e):null}catch{}return null}function xi({onComplete:e}){let t=ln(e=>e.language),[n,r]=P.useState(`login`),[i,a]=P.useState(null),[o,s]=P.useState(null),[c,l]=P.useState(null),u=P.useMemo(()=>ki(i),[i]);return P.useEffect(()=>{if(n!==`analysis`||i)return;let e=!1;async function r(){s(null);let[n,r,i,o]=await Promise.all([z.setupScan(),z.modelRecommendations(`local_mlx`),z.models(),z.sysinfo()]);e||(a({setup:n.ok?n.data:null,recommendations:r.ok?r.data:null,models:i.ok?i.data:null,sysinfo:o.ok?o.data:null}),!n.ok&&!r.ok&&!i.ok&&s(U(t,`flow.analysis.error`)))}return r(),()=>{e=!0}},[i,t,n]),(0,F.jsx)(`div`,{className:`ritual-shell`,"aria-label":U(t,`flow.shell`),children:(0,F.jsxs)(`div`,{className:`ritual-container`,children:[(0,F.jsx)(Si,{}),(0,F.jsx)(`div`,{className:`ritual-brain`,children:(0,F.jsx)(di,{state:n===`login`?`idle`:n===`analysis`?`listening`:n===`recommend`?`recalling`:`thinking`,intensity:n===`install`?.92:.7,size:`large`,showLabel:!1})}),n===`login`&&(0,F.jsx)(Ci,{onSuccess:()=>r(`analysis`)}),n===`analysis`&&(0,F.jsx)(Ti,{analysis:i,error:o,onContinue:()=>r(`recommend`)}),n===`recommend`&&(0,F.jsx)(Ei,{recommendations:u,onBack:()=>r(`analysis`),onSelect:e=>{l(e),r(`install`)}}),n===`install`&&(0,F.jsx)(Di,{model:c||u[0]||Ai(),onBack:()=>r(`recommend`),onComplete:()=>{try{localStorage.setItem(_i,`true`)}catch{}e()}})]})})}function Si(){let e=ln(e=>e.language),t=ln(e=>e.setLanguage);return(0,F.jsx)(`div`,{className:`language-switcher ritual-language`,"aria-label":U(e,`language.label`),children:[`ko`,`en`].map(n=>(0,F.jsx)(`button`,{type:`button`,className:e===n?`is-active`:``,onClick:()=>t(n),"aria-pressed":e===n,children:hi[n]},n))})}function Ci({onSuccess:e}){let t=ln(e=>e.language),[n,r]=P.useState(()=>bi()?.email||`you@local`),[i,a]=P.useState(``),[o,s]=P.useState(()=>bi()?.name||`You`),[c,l]=P.useState(!1),[u,d]=P.useState(null);async function f(r){r.preventDefault();let a=n.trim(),s=i.trim(),c=o.trim()||a.split(`@`)[0]||`You`;if(!a||!s){d(U(t,`flow.login.missing`));return}l(!0),d(null);let u=bi(),f=await z.login(a,s);if(!f.ok){if((await z.profile()).ok&&(!u?.email||u.email===a)){try{localStorage.setItem(vi,JSON.stringify({email:a,name:c}))}catch{}l(!1),e();return}if(u?.email&&u.email!==a){l(!1),d(U(t,`flow.login.otherEmail`));return}if(u?.email===a){l(!1),d(U(t,`flow.login.wrongPassword`));return}(await z.register({email:a,password:s,name:c,nickname:c})).ok&&(f=await z.login(a,s))}if(!f.ok){l(!1),d(U(t,`flow.login.unavailable`));return}try{localStorage.setItem(vi,JSON.stringify({email:a,name:c}))}catch{}l(!1),e()}return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(t,`flow.login.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(t,`flow.login.body`)}),(0,F.jsx)(wi,{}),(0,F.jsxs)(`form`,{onSubmit:f,className:`ritual-card`,style:{maxWidth:420,margin:`0 auto`},children:[(0,F.jsxs)(`div`,{style:{display:`grid`,gap:`0.85rem`},children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.name`)}),(0,F.jsx)(mi,{value:o,onChange:e=>s(e.target.value),placeholder:`You`})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.email`)}),(0,F.jsx)(mi,{value:n,onChange:e=>r(e.target.value),type:`email`,placeholder:`you@local`})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`1px`,color:`hsl(var(--fg-muted))`,marginBottom:4},children:U(t,`flow.password`)}),(0,F.jsx)(mi,{value:i,onChange:e=>a(e.target.value),type:`password`,placeholder:U(t,`flow.password.placeholder`)})]})]}),u&&(0,F.jsx)(`div`,{style:{marginTop:`0.85rem`,padding:`0.6rem 0.85rem`,background:`hsl(var(--destructive)/0.12)`,border:`1px solid hsl(var(--destructive)/0.4)`,borderRadius:10,fontSize:`0.9rem`},children:u}),(0,F.jsx)(ui,{type:`submit`,disabled:c||!n.trim()||!i.trim(),style:{width:`100%`,marginTop:`1rem`},children:c?U(t,`flow.login.busy`):U(t,`flow.login.submit`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.75rem`,color:`hsl(var(--fg-muted))`,marginTop:`0.6rem`},children:U(t,`flow.login.note`)})]})]})}function wi(){let e=ln(e=>e.language);return(0,F.jsxs)(`div`,{className:`ritual-promise`,"aria-label":`Lattice AI product promise`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.memory.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.memory.v`)})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.model.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.model.v`)})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(e,`flow.promise.ownership.k`)}),(0,F.jsx)(`strong`,{children:U(e,`flow.promise.ownership.v`)})]})]})}function Ti({analysis:e,error:t,onContinue:n}){let r=ln(e=>e.language),i=Oi(e);return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.analysis.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(r,`flow.analysis.body`)}),(0,F.jsx)(`div`,{className:`ritual-fact-grid`,children:i.map((e,t)=>(0,F.jsxs)(`div`,{className:`ritual-fact`,children:[(0,F.jsx)(`div`,{className:`ritual-fact-label`,children:e.label}),(0,F.jsx)(`div`,{className:`ritual-fact-value`,children:e.value}),(0,F.jsx)(`div`,{style:{fontSize:`0.8rem`,color:`hsl(var(--fg-muted))`,marginTop:3},children:e.detail})]},t))}),(0,F.jsx)(`div`,{className:`ritual-card`,style:{marginTop:`1rem`},children:(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`0.6rem`},children:[(0,F.jsx)(It,{style:{color:`hsl(var(--brain-core))`}}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{style:{fontWeight:620},children:e?Mi(e,r):U(r,`flow.analysis.finding`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.9rem`,color:`hsl(var(--fg-muted))`},children:e?U(r,`flow.analysis.ready`):U(r,`flow.analysis.wait`)})]})]})}),t&&(0,F.jsx)(`div`,{className:`ritual-card`,style:{borderColor:`hsl(var(--destructive)/0.4)`,background:`hsl(var(--destructive)/0.06)`},children:t}),(0,F.jsx)(`div`,{style:{marginTop:`1.25rem`},children:(0,F.jsx)(ui,{onClick:n,disabled:!e&&!t,style:{minWidth:260},children:U(r,`flow.analysis.continue`)})})]})}function Ei({recommendations:e,onBack:t,onSelect:n}){let r=ln(e=>e.language),i=e.length?e:[Ai()];return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.recommend.title`)}),(0,F.jsx)(`div`,{className:`ritual-subtitle`,children:U(r,`flow.recommend.body`)}),(0,F.jsxs)(`div`,{style:{maxWidth:560,margin:`0 auto`},children:[i[0]?.supported?(0,F.jsx)(ui,{onClick:()=>n(i[0]),style:{width:`100%`,marginBottom:`0.85rem`},children:U(r,`flow.recommend.primary`)}):null,i.slice(0,3).map((e,t)=>(0,F.jsxs)(`button`,{className:`ritual-model-card`,onClick:()=>e.supported&&n(e),disabled:!e.supported,style:{width:`100%`},children:[(0,F.jsx)(`div`,{className:`role`,children:ji(e.role,t,r)}),(0,F.jsx)(`div`,{className:`name`,children:e.shortName}),(0,F.jsxs)(`div`,{className:`reason`,children:[e.reason,` · `,e.size||`ready`]}),!e.supported&&(0,F.jsx)(`div`,{style:{color:`hsl(var(--destructive))`,marginTop:6,fontSize:`0.85rem`},children:U(r,`flow.recommend.unsupported`)})]},`${e.role}-${e.id}`))]}),(0,F.jsxs)(`div`,{style:{marginTop:`1.1rem`,display:`flex`,justifyContent:`center`,gap:`1rem`,alignItems:`center`},children:[(0,F.jsx)(ui,{variant:`ghost`,onClick:t,children:U(r,`flow.recommend.back`)}),(0,F.jsx)(`div`,{style:{fontSize:`0.82rem`,color:`hsl(var(--fg-muted))`},children:U(r,`flow.recommend.hint`)})]})]})}function Di({model:e,onBack:t,onComplete:n}){let r=ln(e=>e.language),[i,a]=P.useState(!1),[o,s]=P.useState(`idle`),[c,l]=P.useState(0),[u,d]=P.useState(U(r,`flow.install.wait`)),[f,p]=P.useState(null);async function m(){a(!0),p(null),s(`install`),l(8),d(U(r,`flow.install.prepare`));let t=await z.streamModelPrepare({model:e.loadId,engine:e.engine||`local_mlx`,allow_download:!0},{onProgress:e=>{let t=Fi(String(e.stage||``));s(t),l(Number(e.percent||Ii(t))),d(Li(e,t,r))},onDone:()=>{s(`done`),l(100),d(U(r,`flow.install.done`))},onError:e=>{s(`error`),p(Bi(e))}});a(!1),t.ok?(s(`done`),l(100),d(U(r,`flow.install.done`)),window.setTimeout(n,700)):(s(`error`),p(Bi(t.data)))}let h=o===`download`?`thinking`:o===`validate`?`recalling`:o===`load`?`synthesizing`:o===`done`?`idle`:`listening`;return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`ritual-title`,children:U(r,`flow.install.title`)}),(0,F.jsxs)(`div`,{className:`ritual-subtitle`,children:[(0,F.jsx)(`strong`,{children:e.shortName}),` — `,e.reason,`.`,(0,F.jsx)(`br`,{}),U(r,`flow.install.body`)]}),(0,F.jsx)(`div`,{style:{margin:`0.6rem auto 1rem`},children:(0,F.jsx)(di,{state:h,intensity:o===`download`||o===`load`?.96:.82,size:`normal`})}),(0,F.jsxs)(`div`,{className:`ritual-progress`,children:[(0,F.jsx)(`div`,{className:`ritual-stage-list`,children:[`install`,`download`,`validate`,`load`].map(e=>(0,F.jsxs)(`div`,{className:`ritual-stage ${zi(o,e)}`,children:[(0,F.jsx)(Tt,{style:{width:15,height:15}}),(0,F.jsx)(`span`,{children:Ri(e,r)})]},e))}),(0,F.jsx)(`div`,{className:`ritual-bar`,children:(0,F.jsx)(`span`,{style:{width:`${Math.max(4,Math.min(100,c))}%`}})})]}),(0,F.jsx)(`div`,{className:`ritual-status`,children:u}),(0,F.jsx)(`div`,{className:`ritual-card`,style:{margin:`0.8rem auto 0`,maxWidth:540,fontSize:`0.86rem`,color:`hsl(var(--fg-muted))`},children:U(r,`flow.install.note`)}),f&&(0,F.jsxs)(`div`,{className:`ritual-card`,style:{borderColor:`hsl(var(--destructive)/0.45)`,background:`hsl(var(--destructive)/0.07)`,marginBottom:`1rem`},children:[f,(0,F.jsx)(`div`,{style:{marginTop:`0.5rem`,fontSize:`0.85rem`},children:U(r,`flow.install.retry`)})]}),(0,F.jsxs)(`div`,{style:{display:`flex`,gap:`0.75rem`,justifyContent:`center`,marginTop:`1rem`},children:[(0,F.jsx)(ui,{variant:`ghost`,onClick:t,disabled:i,children:U(r,`flow.install.back`)}),o===`done`?(0,F.jsx)(ui,{onClick:n,children:U(r,`flow.install.enter`)}):(0,F.jsx)(ui,{onClick:m,disabled:i||!e.supported,children:i?U(r,`flow.install.busy`):U(r,`flow.install.start`)})]}),(0,F.jsx)(`div`,{style:{fontSize:`0.72rem`,color:`hsl(var(--fg-muted))`,marginTop:`0.9rem`},children:U(r,`flow.install.local`)})]})}function Oi(e){if(!e)return[{label:`Computer`,value:`Checking`,detail:`Operating system and chip`},{label:`Memory`,value:`Checking`,detail:`Available room for local thinking`},{label:`Graphics`,value:`Checking`,detail:`Local acceleration support`},{label:`Local Support`,value:`Checking`,detail:`Installed model helpers`},{label:`Models`,value:`Checking`,detail:`Installed local Brains`}];let t=Hi(e.setup?.environment),n=Hi(e.recommendations?.profile),r=Hi(e.recommendations?.recommendations),i=Hi(e.models),a=Hi(e.sysinfo),o={...t,...n},s=Number(r.ram_gb||Number(o.ram_mb||0)/1024||0),c=!!(r.apple_silicon||String(o.arch||``).includes(`arm`)),l=ci(i.loaded),u=Hi(o.gpu),d=[...ci(t.installed_runtimes),...ci(o.installed_runtimes),...ci(r.installed_runtimes)];return[{label:`Computer`,value:c?`Apple Silicon Mac`:Pi(o.os),detail:`Ready for local Digital Brain use`},{label:`Memory`,value:s?`${Math.round(s)} GB`:`Detected`,detail:`Enough context for the recommended model`},{label:`Graphics`,value:u.vendor||a.gpu_mem_gb?`Local acceleration ready`:`Standard local mode`,detail:`Lattice will choose the best available path`},{label:`Local Support`,value:d.length?`Ready`:`Will be prepared`,detail:d.length?`Installed model helpers detected`:`Lattice will add what is needed`},{label:`Models`,value:l.length?`${l.length} already installed`:`None installed yet`,detail:l.length?`One can be loaded immediately`:`Lattice will guide the first install`}]}function ki(e){let t=Hi(e?.models),n=[...ci(t.recommended),...ci(t.catalog)],r=Hi(e?.recommendations?.recommendations),i=ci(r.models),a=Hi(r.top_pick),o=new Map;for(let e of[...i,...n]){let t=String(e.id||e.model_id||e.recommended_load_id||``);t&&o.set(t,{...o.get(t)||{},...e})}a.id&&!o.has(String(a.id))&&o.set(String(a.id),a);let s=Array.from(o.values()).map(W).filter(e=>e.id),c=s.filter(e=>e.supported),l=c.length?c:s,u=(e=>l.find(t=>t.id===String(e)))(a.id)||(e=>l.find(t=>e.test(`${t.name} ${t.id}`)))(/gemma.*12|12b/i)||l[0],d=l.find(e=>e.id!==u?.id&&/qwen|8b|7b/i.test(`${e.name} ${e.id}`))||l.find(e=>e.id!==u?.id),f=l.find(e=>e.id!==u?.id&&e.id!==d?.id&&/26b|32b|70b|advanced/i.test(`${e.name} ${e.id}`))||l.find(e=>e.id!==u?.id&&e.id!==d?.id);return[u?{...u,role:`best`,reason:`Best Experience`}:null,d?{...d,role:`faster`,reason:`Faster`}:null,f?{...f,role:`advanced`,reason:`Advanced`}:null].filter(Boolean)}function W(e){let t=Hi(e.runtime_compatibility),n=String(e.id||e.model_id||e.recommended_load_id||``),r=String(e.recommended_load_id||e.load_id||n),i=String(e.display_name||e.name||n||`Recommended Brain`),a=e.load_status!==`unsupported`&&e.load_status!==`runtime_update_needed`&&e.status!==`not_recommended`&&t.supported!==!1;return{id:n,loadId:r,engine:String(e.recommended_engine||e.engine||`local_mlx`),name:i,shortName:Ni(i||n),family:Ni(String(e.family||i||`Local Brain`)),size:String(e.size||``),role:`best`,reason:String(e.reason||`Recommended`),supported:a,downloadRequired:!!e.download_required}}function Ai(){return{id:`mlx-community/Qwen3-VL-8B-Instruct-4bit`,loadId:`mlx-community/Qwen3-VL-8B-Instruct-4bit`,engine:`local_mlx`,name:`Qwen3-VL 8B`,shortName:`Qwen 3`,family:`Qwen 3`,size:`ready`,role:`best`,reason:`Best Experience`,supported:!0,downloadRequired:!1}}function ji(e,t,n){return e===`best`?n===`ko`?`추천`:`Best Experience`:e===`faster`?n===`ko`?`빠른 선택`:`Faster`:e===`advanced`?n===`ko`?`고급 선택`:`Advanced`:`Choice ${t+1}`}function Mi(e,t){let n=Hi(Hi(e.recommendations?.recommendations).top_pick);if(n.name||n.id){let e=Ni(String(n.name||n.id));return t===`ko`?`${e}이 이 컴퓨터에 가장 잘 맞습니다.`:`${e} looks like the best fit.`}return t===`ko`?`이 컴퓨터에는 개인 로컬 Brain을 추천합니다.`:`A private local Brain is recommended for this computer.`}function Ni(e){return String(e||`Recommended Brain`).replace(/^mlx-community\//i,``).replace(/[-_]?Instruct/gi,``).replace(/[-_]?4bit/gi,``).replace(/Qwen3[-_ ]?VL/gi,`Qwen 3`).replace(/Qwen3/gi,`Qwen 3`).replace(/Gemma[-_ ]?4/gi,`Gemma 4`).replace(/A4B/gi,``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim()}function Pi(e){let t=String(e||`Computer`);return/darwin|mac/i.test(t)?`Mac`:/win/i.test(t)?`Windows PC`:/linux/i.test(t)?`Linux computer`:`Computer`}function Fi(e){return/download|pull|weights/i.test(e)?`download`:/smoke|validate|verify|test/i.test(e)?`validate`:/load|ready/i.test(e)?`load`:/done|complete/i.test(e)?`done`:`install`}function Ii(e){return e===`install`?20:e===`download`?55:e===`validate`?82:e===`load`?94:e===`done`?100:8}function Li(e,t,n){let r={install:U(n,`flow.install.prepare`),download:n===`ko`?`모델 파일을 받는 중입니다.`:`Getting the model files.`,validate:n===`ko`?`Brain이 응답할 수 있는지 확인 중입니다.`:`Checking that the Brain can answer.`,load:n===`ko`?`Brain을 불러오는 중입니다.`:`Loading the Brain.`,done:U(n,`flow.install.done`),idle:U(n,`flow.install.wait`),error:n===`ko`?`확인이 필요한 일이 있습니다.`:`Something needs attention.`}[t];return Vi(String(e.user_message||e.message||r))}function Ri(e,t){return t===`ko`?e===`install`?`준비`:e===`download`?`다운로드`:e===`validate`?`확인`:`로드`:e===`install`?`Install`:e===`download`?`Download`:e===`validate`?`Validate`:`Load`}function zi(e,t){let n=[`idle`,`install`,`download`,`validate`,`load`,`done`],r=n.indexOf(e),i=n.indexOf(t);return e===`error`?`is-error`:e===`done`||r>i?`is-done`:e===t?`is-active`:``}function Bi(e){let t=Hi(e),n=ci(t.recovery_guidance).map(Vi).filter(Boolean);return[Vi(String(t.user_message||t.reason||t.error||`The selected model could not be loaded.`)),...n.slice(0,2)].join(` `)}function Vi(e){return String(e||``).replace(/gemma4_unified/gi,`this model format`).replace(/mlx[-_ ]?vlm|mlx[-_ ]?lm|local_mlx|\bmlx\b|\bgguf\b|\bollama\b|huggingface|hugging face/gi,`local model support`).replace(/runtime/gi,`model support`).replace(/No module named ['\"][^'\"]+['\"]/gi,`A local support component is missing`).replace(/\s+/g,` `).trim()}function Hi(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}var Ui=[{level:1,label:`Living Brain`,state:`idle`},{level:2,label:`Memory Layer`,state:`recalling`},{level:3,label:`Knowledge Layer`,state:`synthesizing`},{level:4,label:`Relationship Layer`,state:`planning`},{level:5,label:`Knowledge Graph`,state:`synthesizing`}];function Wi(){let e=ln(e=>e.theme),t=ln(e=>e.language),[n,r]=P.useState(yi),i=Gi(),{state:a,intensity:o,setBrain:s}=qi();return P.useEffect(()=>{document.documentElement.dataset.theme=e,document.documentElement.lang=t===`ko`?`ko`:`en`},[e,t]),P.useEffect(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),document.querySelector(`.brain-composer textarea`)?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),n?(0,F.jsxs)(`div`,{className:`brain-space`,children:[(0,F.jsx)(`div`,{className:`brain-field`}),i.startsWith(`/admin`)?(0,F.jsx)(Xi,{onBack:()=>Ki(`/brain`)}):(0,F.jsx)(Ji,{brainState:a,intensity:o,onBrainChange:s})]}):(0,F.jsx)(xi,{onComplete:()=>r(!0)})}function Gi(){let e=P.useCallback(()=>{let e=window.location.hash.replace(/^#/,``);return e.startsWith(`/`)?e:`/brain`},[]),[t,n]=P.useState(e);return P.useEffect(()=>{let t=()=>n(e());return window.addEventListener(`hashchange`,t),()=>window.removeEventListener(`hashchange`,t)},[e]),t}function Ki(e){window.location.hash=e}function qi(){let[e,t]=P.useState(`idle`),[n,r]=P.useState(.58);return{state:e,intensity:n,setBrain:P.useCallback((e,n)=>{t(e),n!==void 0&&r(Na(n,.38,1))},[])}}function Ji({brainState:e,intensity:t,onBrainChange:n}){let r=Ye(),i=ln(e=>e.language),[a,o]=P.useState([]),[s,c]=P.useState(``),[l,u]=P.useState(null),[d,f]=P.useState(!1),[p,m]=P.useState(null),[h,g]=P.useState(1),[_,v]=P.useState(``),[y,b]=P.useState(null),[x,ee]=P.useState(null),S=P.useRef(null),C=P.useRef(null),w=I({queryKey:[`memoryManager`],queryFn:z.memoryManager}),te=I({queryKey:[`chatHistory`],queryFn:z.chatHistory}),ne=I({queryKey:[`graph`],queryFn:z.graph}),T=I({queryKey:[`models`],queryFn:z.models}),re=P.useMemo(()=>fa(w.data?.data,te.data?.data),[w.data,te.data]),ie=P.useMemo(()=>pa(ne.data?.data),[ne.data]),ae=P.useMemo(()=>ie.nodes.slice(0,10),[ie.nodes]),E=P.useMemo(()=>ie.edges.slice(0,10),[ie.edges]),D=P.useMemo(()=>ma(T.data?.data),[T.data]),O=Ui[h-1],oe=P.useMemo(()=>[U(i,`brain.prompt.remember`),U(i,`brain.prompt.know`),U(i,`brain.prompt.plan`)],[i]);P.useEffect(()=>{d?n(`thinking`,.94):s.trim().length>4?n(`listening`,.76):n(O.state,h===1?.58:.66+h*.06)},[d,s,O.state,h,n]),P.useEffect(()=>{let e=S.current;e&&(e.scrollTop=e.scrollHeight)},[a]),P.useEffect(()=>()=>{C.current!==null&&window.clearTimeout(C.current)},[]);async function k(){let e=s.trim();if(!e||d)return;let t=p||`brain-${Date.now()}`;p||m(t),o(t=>[...t,{role:`user`,content:e},{role:`assistant`,content:``}]),c(``),u(null),f(!0),ee(null),n(`thinking`,.96);try{let r=await z.streamChat({message:e,conversation_id:t,image_data:l||void 0},{onChunk:(e,t)=>{o(e=>{let n=[...e];return n[n.length-1]={role:`assistant`,content:t},n})},onTrace:e=>{e&&(n(`recalling`,.9),pi(),C.current!==null&&window.clearTimeout(C.current),C.current=window.setTimeout(()=>n(`thinking`,.9),900))}});r.error?o(e=>{let t=[...e];return t[t.length-1]={role:`assistant`,content:`${U(i,`brain.unavailable`)}: ${r.error}`},t}):ee(U(i,`brain.saved`,{topics:ae.length,memories:re.length}))}finally{f(!1),r.invalidateQueries({queryKey:[`chatHistory`]}),r.invalidateQueries({queryKey:[`memoryManager`]}),r.invalidateQueries({queryKey:[`graph`]})}}function A(){g(e=>{let t=Math.min(5,e+1),r=Ui[t-1];return n(r.state,.66+t*.06),t>=2&&pi(),t})}function se(e){g(e);let t=Ui[e-1];n(t.state,e===1?.58:.66+e*.06),e>=2&&pi()}function ce(){g(1),b(null),v(``),n(`idle`,.58)}function le(e){pi(),g(e=>Math.max(e,2)),o(t=>[...t,{role:`assistant`,content:U(i,`brain.recalled`,{title:e.title})}])}return(0,F.jsxs)(`main`,{className:`brain-home`,"aria-label":`Lattice Brain`,children:[(0,F.jsx)(`section`,{className:`brain-presence`,"aria-label":`Brain exploration`,children:(0,F.jsxs)(`div`,{className:`brain-exploration`,"data-depth":h,children:[(0,F.jsx)(di,{state:e,intensity:t+h*.035,size:`large`,depth:h,showLabel:!1,onInteract:A}),(0,F.jsxs)(`div`,{className:`brain-depth-badge`,"aria-live":`polite`,children:[(0,F.jsxs)(`span`,{children:[U(i,`brain.level`),` `,h]}),(0,F.jsx)(`strong`,{children:U(i,`brain.depth.${h}`)})]}),(0,F.jsxs)(`div`,{className:`brain-depth-actions`,"aria-label":`Brain quick views`,children:[(0,F.jsx)(`button`,{type:`button`,className:h===2?`is-active`:``,onClick:()=>se(2),children:U(i,`brain.view.memories`)}),(0,F.jsx)(`button`,{type:`button`,className:h===3?`is-active`:``,onClick:()=>se(3),children:U(i,`brain.view.topics`)}),(0,F.jsx)(`button`,{type:`button`,className:h===4?`is-active`:``,onClick:()=>se(4),children:U(i,`brain.view.relationships`)}),(0,F.jsx)(`button`,{type:`button`,className:h===5?`is-active`:``,onClick:()=>se(5),children:U(i,`brain.view.graph`)})]}),(0,F.jsx)(`div`,{className:`brain-field-layer`,"aria-hidden":h<2,children:(0,F.jsx)(aa,{depth:h,memories:re,concepts:ae,relationships:E,graphModel:ie,graphSearch:_,selectedGraphId:y,onGraphSearch:v,onSelectGraphNode:b,onRecallMemory:le})}),h>1?(0,F.jsx)(`button`,{className:`brain-surface-control`,type:`button`,onClick:ce,children:U(i,`brain.surface`)}):null]})}),(0,F.jsxs)(`section`,{className:`brain-conversation`,"aria-label":`Conversation`,children:[(0,F.jsxs)(`div`,{className:`brain-conversation-header`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`h1`,{children:U(i,`brain.title`)}),(0,F.jsx)(`span`,{children:U(i,`brain.depth.${h}`)})]}),(0,F.jsx)(Yi,{compact:!0}),(0,F.jsxs)(`div`,{className:`brain-ownership-strip`,"aria-label":`Brain ownership guarantees`,children:[(0,F.jsx)(`span`,{children:U(i,`brain.local`)}),(0,F.jsx)(`span`,{children:U(i,`brain.portable`)}),(0,F.jsx)(`span`,{children:U(i,`brain.private`)})]}),(0,F.jsx)(`div`,{children:D}),(0,F.jsxs)(`button`,{className:`brain-admin-link`,type:`button`,onClick:()=>Ki(`/admin`),children:[(0,F.jsx)(Ft,{className:`h-3.5 w-3.5`}),U(i,`brain.admin`)]})]}),(0,F.jsxs)(`div`,{ref:S,className:`brain-stream`,children:[(0,F.jsx)(oa,{memories:re,concepts:ae,onOpenDepth:se}),a.length===0?(0,F.jsxs)(`div`,{className:`mind-empty`,children:[(0,F.jsx)(`div`,{className:`mind-empty-kicker`,children:U(i,`brain.empty.kicker`)}),(0,F.jsx)(`div`,{className:`mind-empty-title`,children:U(i,`brain.empty.title`)}),(0,F.jsx)(`p`,{children:U(i,`brain.empty.body`)}),(0,F.jsx)(`div`,{className:`mind-empty-prompts`,"aria-label":`Starter prompts`,children:oe.map(e=>(0,F.jsx)(`button`,{type:`button`,onClick:()=>c(e),children:e},e))})]}):a.map((e,t)=>(0,F.jsx)(`div`,{className:`brain-message ${e.role}`,children:(0,F.jsx)(`div`,{className:`brain-message-bubble`,children:e.content})},`${e.role}-${t}`))]}),x?(0,F.jsx)(`div`,{className:`brain-save-feedback`,role:`status`,children:x}):null,(0,F.jsx)(na,{language:i}),(0,F.jsxs)(`div`,{className:`brain-composer`,children:[(0,F.jsx)(`textarea`,{value:s,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),k())},placeholder:U(i,`brain.placeholder`)}),(0,F.jsxs)(`div`,{className:`brain-composer-actions`,children:[(0,F.jsxs)(`label`,{className:`brain-image-input`,children:[(0,F.jsx)(kt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`span`,{children:U(i,`brain.image`)}),(0,F.jsx)(`input`,{type:`file`,accept:`image/*`,className:`sr-only`,onChange:async e=>{let t=e.target.files?.[0];t&&u(await wa(t))}})]}),l?(0,F.jsx)(`span`,{className:`brain-quiet-success`,children:U(i,`brain.imageAttached`)}):null,(0,F.jsxs)(ui,{onClick:()=>void k(),disabled:!s.trim()||d,className:`rounded-full px-5`,children:[(0,F.jsx)(Nt,{className:`h-4 w-4`}),` `,U(i,`brain.send`)]})]})]})]})]})}function Yi({compact:e=!1}){let t=ln(e=>e.language),n=ln(e=>e.setLanguage);return(0,F.jsx)(`div`,{className:e?`language-switcher compact`:`language-switcher`,"aria-label":U(t,`language.label`),children:[`ko`,`en`].map(e=>(0,F.jsx)(`button`,{type:`button`,className:t===e?`is-active`:``,onClick:()=>n(e),"aria-pressed":t===e,children:hi[e]},e))})}function Xi({onBack:e}){let t=Ye(),n=ln(e=>e.language),[r,i]=P.useState({q:``,actor:``,action:``,severity:``,limit:50}),{summaryQ:a,statsQ:o,usersQ:s,auditQ:c,securityQ:l,securityEventsQ:u,policiesQ:d,rolesQ:f,retentionQ:p,indexQ:m}=Zi(r),h=ut({mutationFn:z.rebuildIndex,onSuccess:()=>void t.invalidateQueries({queryKey:[`indexStatus`]})}),g=ci(s.data?.data),_=ci(c.data?.data?.recent_events),v=ci(u.data?.data?.events),y=ci(d.data?.data?.policies),b=ci(f.data?.data?.roles),x=p.data?.data||{};return(0,F.jsxs)(`main`,{className:`admin-console`,"aria-label":`Lattice Admin`,children:[(0,F.jsxs)(`header`,{className:`admin-console-header`,children:[(0,F.jsxs)(`button`,{className:`admin-back-button`,type:`button`,onClick:e,children:[(0,F.jsx)(Ct,{className:`h-4 w-4`}),U(n,`admin.back`)]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(n,`admin.kicker`)}),(0,F.jsx)(`h1`,{children:U(n,`admin.title`)}),(0,F.jsx)(`p`,{children:U(n,`admin.body`)})]}),(0,F.jsx)(Yi,{compact:!0})]}),(0,F.jsxs)(`section`,{className:`admin-metrics`,"aria-label":`Admin overview`,children:[(0,F.jsx)($i,{icon:(0,F.jsx)(Lt,{className:`h-4 w-4`}),label:`Users`,value:String(g.length),detail:ya(s.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(xt,{className:`h-4 w-4`}),label:`Recent logs`,value:String(_.length+v.length),detail:ya(c.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(Ft,{className:`h-4 w-4`}),label:`Security`,value:ba(l.data?.data,`status`)||(l.data?.ok?`Ready`:`Unavailable`),detail:ya(l.data)}),(0,F.jsx)($i,{icon:(0,F.jsx)(Pt,{className:`h-4 w-4`}),label:`Brain index`,value:ba(m.data?.data,`status`)||(m.data?.ok?`Indexed`:`Unknown`),detail:xa(m.data?.data)})]}),(0,F.jsxs)(`section`,{className:`admin-grid`,children:[(0,F.jsx)(ea,{title:`User Directory`,eyebrow:`People`,children:(0,F.jsx)(ta,{items:g.slice(0,8),empty:`No users reported by the admin API.`,render:e=>{let t=e;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`strong`,{children:Ca(t.name||t.email||t.id,`Local user`)}),(0,F.jsx)(`span`,{children:Ca(t.role||t.status||t.workspace_id,`member`)})]})}})}),(0,F.jsx)(ea,{title:`Role Permissions`,eyebrow:`Access`,children:(0,F.jsx)(ta,{items:b.slice(0,6),empty:`No role matrix reported.`,render:e=>{let t=e;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`strong`,{children:[Ca(t.role,`role`),` · `,Ca(t.members,`0`),` users`]}),(0,F.jsx)(`span`,{children:ci(t.caps).slice(0,4).map(e=>Ca(e,``)).filter(Boolean).join(`, `)||`No caps`})]})}})}),(0,F.jsxs)(ea,{title:`Activity Logs`,eyebrow:`Audit`,children:[(0,F.jsx)(Qi,{filters:r,onChange:i,matched:c.data?.data?.filters}),(0,F.jsx)(ta,{items:_.slice(0,8),empty:`No recent audit events.`,render:e=>va(e)})]}),(0,F.jsx)(ea,{title:`Security Events`,eyebrow:`Protection`,children:(0,F.jsx)(ta,{items:v.slice(0,8),empty:`No security events reported.`,render:e=>va(e)})}),(0,F.jsxs)(ea,{title:`Brain Operations`,eyebrow:`Maintenance`,children:[(0,F.jsxs)(`div`,{className:`admin-operation`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`strong`,{children:xa(m.data?.data)}),(0,F.jsx)(`span`,{children:Sa(a.data?.data)||Sa(o.data?.data)||`Local Brain services are separated from user chat.`})]}),(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:h.isPending,onClick:()=>h.mutate(),children:[(0,F.jsx)(jt,{className:`h-3.5 w-3.5`}),h.isPending?`Rebuilding`:`Rebuild index`]})]}),(0,F.jsxs)(`div`,{className:`admin-policy-strip`,children:[y.slice(0,5).map((e,t)=>{let n=e;return(0,F.jsx)(`span`,{children:Ca(n.label||n.name||n.id,`Policy`)},`${Ca(n.id||n.name,`policy`)}-${t}`)}),y.length?null:(0,F.jsx)(`span`,{children:`Policy API quiet`})]}),(0,F.jsxs)(`div`,{className:`admin-retention`,children:[(0,F.jsxs)(`strong`,{children:[Ca(x.retention_days,`90`),` day retention`]}),(0,F.jsxs)(`span`,{children:[Ca(x.retained_events,`0`),` retained · `,Ca(x.prune_candidates,`0`),` ready for export/prune review`]})]})]})]})]})}function Zi(e){let t=P.useMemo(()=>({q:e.q||void 0,actor:e.actor||void 0,action:e.action||void 0,severity:e.severity||void 0,limit:e.limit}),[e]);return{summaryQ:I({queryKey:[`adminSummary`],queryFn:z.adminSummary}),statsQ:I({queryKey:[`adminStats`],queryFn:z.adminStats}),usersQ:I({queryKey:[`adminUsers`],queryFn:z.adminUsers}),auditQ:I({queryKey:[`adminAudit`,t],queryFn:()=>z.adminAudit(t)}),securityQ:I({queryKey:[`adminSecurity`],queryFn:z.adminSecurity}),securityEventsQ:I({queryKey:[`adminSecurityEvents`],queryFn:()=>z.adminSecurityEvents(50)}),policiesQ:I({queryKey:[`adminPolicies`],queryFn:z.adminPolicies}),rolesQ:I({queryKey:[`adminRoles`],queryFn:z.adminRoles}),retentionQ:I({queryKey:[`adminLogRetention`],queryFn:z.adminLogRetention}),indexQ:I({queryKey:[`indexStatus`],queryFn:z.indexStatus})}}function Qi({filters:e,matched:t,onChange:n}){return(0,F.jsxs)(`div`,{className:`admin-log-filters`,"aria-label":`Audit log filters`,children:[(0,F.jsxs)(`label`,{children:[(0,F.jsx)(Mt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`input`,{value:e.q,onChange:e=>n(t=>({...t,q:e.target.value})),placeholder:`Search logs`,"aria-label":`Search audit logs`})]}),(0,F.jsxs)(`label`,{children:[(0,F.jsx)(At,{className:`h-3.5 w-3.5`}),(0,F.jsxs)(`select`,{value:e.severity,onChange:e=>n(t=>({...t,severity:e.target.value})),"aria-label":`Filter by severity`,children:[(0,F.jsx)(`option`,{value:``,children:`All severities`}),(0,F.jsx)(`option`,{value:`informational`,children:`Informational`}),(0,F.jsx)(`option`,{value:`notice`,children:`Notice`}),(0,F.jsx)(`option`,{value:`warning`,children:`Warning`}),(0,F.jsx)(`option`,{value:`high`,children:`High`})]})]}),(0,F.jsxs)(`span`,{children:[Ca(t?.matched_events,`0`),` matched`]})]})}function $i({icon:e,label:t,value:n,detail:r}){return(0,F.jsxs)(`div`,{className:`admin-metric`,children:[(0,F.jsx)(`div`,{children:e}),(0,F.jsx)(`span`,{children:t}),(0,F.jsx)(`strong`,{children:n}),(0,F.jsx)(`small`,{children:r})]})}function ea({eyebrow:e,title:t,children:n}){return(0,F.jsxs)(`section`,{className:`admin-panel`,children:[(0,F.jsxs)(`div`,{className:`admin-panel-head`,children:[(0,F.jsx)(`span`,{children:e}),(0,F.jsx)(`h2`,{children:t})]}),n]})}function ta({items:e,empty:t,render:n}){return e.length?(0,F.jsx)(`div`,{className:`admin-list`,children:e.map((e,t)=>(0,F.jsx)(`div`,{className:`admin-list-row`,children:n(e)},t))}):(0,F.jsx)(`div`,{className:`admin-empty`,children:t})}function na({language:e}){let t=Ye(),[n,r]=P.useState(!1),[i,a]=P.useState(``),[o,s]=P.useState(``),[c,l]=P.useState(null),u=I({queryKey:[`portability`],queryFn:z.graphPortability}),d=I({queryKey:[`backupHealth`],queryFn:z.backupHealth}),f=P.useCallback(e=>l(e),[]),p=ra(()=>z.graphExport(),void 0,f),m=ra(()=>z.graphBackup(),()=>{t.invalidateQueries({queryKey:[`backupHealth`]}),t.invalidateQueries({queryKey:[`portability`]})},f),h=ra(()=>z.brainArchive({path:i.trim()||null,passphrase:o}),()=>void t.invalidateQueries({queryKey:[`backupHealth`]}),f),g=ra(()=>z.brainArchiveInspect({path:i.trim(),passphrase:o||null}),void 0,f),_=ra(()=>z.brainArchiveRestore({path:i.trim(),passphrase:o,dry_run:!0,confirm:!1}),void 0,f),v=ha(u.data?.data),y=ga(d.data?.data);return(0,F.jsxs)(`section`,{className:`brain-care-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":U(e,`care.title`),children:[(0,F.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-care-details`,onClick:()=>r(e=>!e),children:[(0,F.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,F.jsxs)(`span`,{children:[(0,F.jsx)(Ft,{className:`h-3.5 w-3.5`}),` `,U(e,`care.title`)]}),(0,F.jsx)(`strong`,{children:U(e,`care.subtitle`)})]}),(0,F.jsxs)(`div`,{className:`brain-care-proof`,"aria-label":`Ownership model`,children:[(0,F.jsx)(`span`,{children:U(e,`care.private`)}),(0,F.jsx)(`span`,{children:v}),(0,F.jsx)(`span`,{children:y})]}),(0,F.jsx)(wt,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,F.jsxs)(`div`,{id:`brain-care-details`,className:`brain-care-details`,children:[(0,F.jsxs)(`div`,{className:`brain-care-actions`,children:[(0,F.jsx)(ia,{icon:(0,F.jsx)(Dt,{className:`h-3.5 w-3.5`}),label:U(e,`care.export`),detail:U(e,`care.export.detail`),pendingLabel:U(e,`care.working`),pending:p.isPending,onClick:()=>p.mutate()}),(0,F.jsx)(ia,{icon:(0,F.jsx)(Et,{className:`h-3.5 w-3.5`}),label:U(e,`care.backup`),detail:U(e,`care.backup.detail`),pendingLabel:U(e,`care.working`),pending:m.isPending,onClick:()=>m.mutate()}),(0,F.jsx)(ia,{icon:(0,F.jsx)(St,{className:`h-3.5 w-3.5`}),label:U(e,`care.archive`),detail:U(e,`care.archive.detail`),pendingLabel:U(e,`care.working`),pending:h.isPending,disabled:!o.trim(),onClick:()=>h.mutate()})]}),(0,F.jsxs)(`div`,{className:`brain-care-archive`,children:[(0,F.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:U(e,`care.path.placeholder`),"aria-label":U(e,`care.path.label`)}),(0,F.jsx)(`input`,{type:`password`,value:o,onChange:e=>s(e.target.value),placeholder:U(e,`care.passphrase.placeholder`),"aria-label":U(e,`care.passphrase.label`)}),(0,F.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:!i.trim()||g.isPending,onClick:()=>g.mutate(),children:[(0,F.jsx)(Ot,{className:`h-3.5 w-3.5`}),` `,U(e,`care.inspect`)]}),(0,F.jsxs)(ui,{variant:`outline`,size:`sm`,disabled:!i.trim()||!o.trim()||_.isPending,onClick:()=>_.mutate(),children:[(0,F.jsx)(jt,{className:`h-3.5 w-3.5`}),` `,U(e,`care.restorePreview`)]})]})]}),c?(0,F.jsx)(`div`,{className:`brain-care-result ${c.ok?`is-ok`:`is-error`}`,role:`status`,children:_a(c)}):(0,F.jsx)(`p`,{className:`brain-care-note`,children:U(e,`care.note`)})]}):null]})}function ra(e,t,n){return ut({mutationFn:e,onSuccess:e=>{n?.(e),t?.()}})}function ia({icon:e,label:t,detail:n,pendingLabel:r,pending:i,disabled:a,onClick:o}){return(0,F.jsxs)(`button`,{className:`brain-care-button`,type:`button`,disabled:a||i,onClick:o,children:[e,(0,F.jsxs)(`span`,{children:[(0,F.jsx)(`strong`,{children:i?r:t}),(0,F.jsx)(`small`,{children:n})]})]})}function aa({depth:e,memories:t,concepts:n,relationships:r,graphModel:i,graphSearch:a,selectedGraphId:o,onGraphSearch:s,onSelectGraphNode:c,onRecallMemory:l}){return e===1?null:(0,F.jsxs)(F.Fragment,{children:[e>=2?(0,F.jsx)(ca,{memories:t,depth:e,onRecallMemory:l}):null,e>=3&&e<5?(0,F.jsx)(la,{concepts:n,depth:e}):null,e>=4&&e<5?(0,F.jsx)(ua,{concepts:n,relationships:r}):null,e>=5?(0,F.jsx)(da,{model:i,search:a,selectedId:o,onSearch:s,onSelect:c}):null]})}function oa({memories:e,concepts:t,onOpenDepth:n}){let r=ln(e=>e.language),i=e.slice(0,3),a=e.slice(3,6),o=t.slice(0,4);return(0,F.jsxs)(`section`,{className:`brain-overview-panel`,"aria-label":`Brain overview`,children:[(0,F.jsxs)(`div`,{className:`brain-overview-head`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:U(r,`brain.overview.kicker`)}),(0,F.jsx)(`strong`,{children:U(r,`brain.overview.title`)})]}),(0,F.jsx)(`button`,{type:`button`,onClick:()=>n(5),children:U(r,`brain.overview.graph`)})]}),(0,F.jsxs)(`div`,{className:`brain-overview-grid`,children:[(0,F.jsx)(sa,{title:U(r,`brain.overview.recent`),empty:U(r,`brain.overview.recentEmpty`),items:i.map(e=>e.title),onOpen:()=>n(2)}),(0,F.jsx)(sa,{title:U(r,`brain.overview.older`),empty:U(r,`brain.overview.olderEmpty`),items:a.map(e=>e.title),onOpen:()=>n(2)}),(0,F.jsx)(sa,{title:U(r,`brain.overview.topics`),empty:U(r,`brain.overview.topicsEmpty`),items:o.map(e=>e.label),onOpen:()=>n(3)})]})]})}function sa({title:e,empty:t,items:n,onOpen:r}){return(0,F.jsxs)(`button`,{type:`button`,className:`brain-overview-column`,onClick:r,children:[(0,F.jsx)(`span`,{children:e}),n.length?n.slice(0,3).map(e=>(0,F.jsx)(`strong`,{children:e},e)):(0,F.jsx)(`em`,{children:t})]})}function ca({memories:e,depth:t,onRecallMemory:n}){let r=e.slice(0,t>=3?8:6);return r.length?(0,F.jsx)(F.Fragment,{children:r.map((e,i)=>{let a=Ea(i,r.length,t>=3?39:31,t>=3?24:18,-112);return(0,F.jsxs)(`button`,{type:`button`,className:`memory-fragment`,style:Da({"--x":`${a.x}%`,"--y":`${a.y}%`,"--delay":`${i*55}ms`}),onClick:()=>n(e),children:[(0,F.jsx)(`span`,{children:e.kind}),(0,F.jsx)(`strong`,{children:e.title})]},e.id)})}):(0,F.jsx)(`div`,{className:`memory-fragment is-empty`,children:`Memory is quiet`})}function la({concepts:e,depth:t}){let n=e.slice(0,t>=4?10:7);return n.length?(0,F.jsx)(F.Fragment,{children:n.map((e,t)=>{let r=Ea(t,n.length,24,15,-70);return(0,F.jsxs)(`button`,{type:`button`,className:`concept-signal`,style:Da({"--x":`${r.x}%`,"--y":`${r.y}%`,"--delay":`${t*45}ms`}),title:e.summary||e.type,children:[(0,F.jsx)(`span`,{children:e.type}),e.label]},e.id)})}):(0,F.jsx)(`div`,{className:`concept-signal is-empty`,children:`Knowledge is forming`})}function ua({concepts:e,relationships:t}){let n=Ta(e.slice(0,10),30,20),r=new Map(n.map(e=>[e.node.id,e])),i=t.map((e,t)=>{let i=r.get(e.source)||n[t%Math.max(n.length,1)],a=r.get(e.target)||n[(t+3)%Math.max(n.length,1)];return i&&a&&i.node.id!==a.node.id?{relationship:e,source:i,target:a}:null}).filter(Boolean).slice(0,8);return i.length?(0,F.jsx)(`svg`,{className:`relationship-weave`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:i.map(({relationship:e,source:t,target:n},r)=>(0,F.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,style:{animationDelay:`${r*80}ms`}},`${e.id}-${r}`))}):null}function da({model:e,search:t,selectedId:n,onSearch:r,onSelect:i}){let a=ln(e=>e.language),o=t.trim().toLowerCase(),s=P.useMemo(()=>e.nodes.filter(e=>o?`${e.label} ${e.type} ${e.summary}`.toLowerCase().includes(o):!0).slice(0,18),[e.nodes,o]),c=P.useMemo(()=>Ta(s,38,24),[s]),l=P.useMemo(()=>new Map(c.map(e=>[e.node.id,e])),[c]),u=P.useMemo(()=>e.edges.filter(e=>l.has(e.source)&&l.has(e.target)).slice(0,36),[e.edges,l]),d=s.find(e=>e.id===n)||s[0]||null;return(0,F.jsxs)(`section`,{className:`mind-core-graph`,"data-testid":`emergent-knowledge-graph`,"aria-label":`Knowledge Graph`,children:[(0,F.jsxs)(`div`,{className:`brain-graph-head`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{children:`Level 5`}),(0,F.jsx)(`strong`,{children:`Knowledge Graph`})]}),(0,F.jsxs)(`label`,{className:`brain-graph-search`,children:[(0,F.jsx)(Mt,{className:`h-3.5 w-3.5`}),(0,F.jsx)(`input`,{value:t,onChange:e=>r(e.target.value),placeholder:`Search`,"aria-label":`Search knowledge graph`})]})]}),s.length?(0,F.jsxs)(`div`,{className:`brain-graph-canvas`,children:[(0,F.jsx)(`svg`,{className:`brain-graph-edges`,viewBox:`0 0 100 100`,"aria-hidden":!0,children:u.map((e,t)=>{let n=l.get(e.source),r=l.get(e.target);return!n||!r?null:(0,F.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,style:{"--weight":String(Na(e.weight,.4,2.8))}},`${e.id}-${t}`)})}),c.map(({node:e,x:t,y:n},r)=>(0,F.jsxs)(`button`,{type:`button`,className:`graph-node ${d?.id===e.id?`is-selected`:``}`,style:Da({"--x":`${t}%`,"--y":`${n}%`,"--delay":`${r*35}ms`}),onClick:()=>i(e.id),children:[(0,F.jsx)(`span`,{children:e.type}),e.label]},e.id))]}):(0,F.jsx)(`div`,{className:`brain-graph-empty`,children:U(a,`brain.graph.empty`)}),(0,F.jsx)(`div`,{className:`brain-graph-focus`,children:d?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{children:d.type}),(0,F.jsx)(`strong`,{children:d.label}),(0,F.jsx)(`p`,{children:d.summary||U(a,`brain.graph.summaryFallback`)}),(0,F.jsx)(`p`,{children:U(a,`brain.graph.focused`)})]}):(0,F.jsx)(`p`,{children:U(a,`brain.graph.emptyFocus`)})})]})}function fa(e,t){let n=ka(e)?e:{},r=(ci(n.sources).length?ci(n.sources):ci(n.tiers)).map((e,t)=>({id:Aa(e,[`id`,`source`,`label`],`memory-${t}`),title:Aa(e,[`title`,`label`,`source`,`path`,`name`],`Workspace memory`),kind:ja(e,[`type`,`source_type`,`kind`,`health`],`Memory`)})),i=ci(t).map((e,t)=>({id:Aa(e,[`id`,`conversation_id`],`conversation-${t}`),title:Aa(e,[`title`,`summary`,`id`],`Conversation`),kind:`Conversation`}));return Oa([...r,...i]).slice(0,10)}function pa(e){let t=ka(e)?e:{},n=ci(t.nodes),r=ci(t.edges),i=n.flatMap(e=>{let t=Aa(e,[`id`,`node_id`,`title`,`label`]);if(!t)return[];let n=ka(e.metadata)?e.metadata:{},r=ja(e,[`type`,`kind`,`category`],`Concept`);return[{id:t,label:Aa(e,[`title`,`label`,`name`],t.replace(/^[^:]+:/,``)),type:r,summary:Aa(e,[`summary`,`description`,`snippet`])||Aa(n,[`summary`,`description`,`relative_path`,`filename`]),importance:Na(Ma(e,[`importance_norm`,`importance`,`score`])||.5,.08,1)}]}).sort((e,t)=>t.importance-e.importance),a=new Set(i.map(e=>e.id));return{nodes:i,edges:r.flatMap((e,t)=>{let n=Aa(e,[`from`,`source`,`source_id`]),r=Aa(e,[`to`,`target`,`target_id`]);return!n||!r||!a.has(n)||!a.has(r)?[]:[{id:Aa(e,[`id`],`edge-${t}`),source:n,target:r,label:ja(e,[`type`,`label`,`relationship`],`Relates`),weight:Ma(e,[`weight`,`score`,`confidence`])||1}]})}}function ma(e){let t=ka(e)?e:{},n=Aa(t,[`current`,`current_model`,`local_model`]);if(n)return n;let r=ci(t.loaded||t.loaded_models).find(e=>e.id||e.name||e.model_id);return r?Aa(r,[`name`,`id`,`model_id`],`local mind`):`local mind`}function ha(e){return Aa(ka(e)?e:{},[`archive_format`,`format`,`graph_schema_version`,`schema_version`],`.latticebrain`)}function ga(e){let t=ka(e)?e:{},n=t.count||t.backups||t.available;return n!=null&&n!==``?`${n} backups`:`Backups ready`}function _a(e){return e.ok?Aa(ka(e.data)?e.data:{},[`message`,`status`,`path`,`archive_path`,`backup_path`,`export_path`])||`Brain care action completed.`:e.error||`Brain care action could not complete.`}function va(e){let t=Ca(e.action||e.event||e.type||e.name,`Event`),n=Ca(e.actor||e.user||e.user_id||e.workspace_id,`system`),r=Ca(e.timestamp||e.time||e.created_at||e.ts,`recently`);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`strong`,{children:t}),(0,F.jsxs)(`span`,{children:[n,` · `,r]})]})}function ya(e){return e?e.ok?`Live`:e.error||`Unavailable`:`Loading`}function ba(e,t){return Aa(ka(e)?e:{},[t,`health`,`state`,`overall_status`])}function xa(e){let t=ka(e)?e:{},n=t.documents??t.document_count??t.docs,r=t.chunks??t.chunk_count??t.vectors;return n!==void 0||r!==void 0?`${Ca(n,`0`)} docs · ${Ca(r,`0`)} chunks`:Aa(t,[`message`,`detail`,`status`],`Index status ready`)}function Sa(e){return Aa(ka(e)?e:{},[`summary`,`message`,`status`,`detail`])}function Ca(e,t=``){return typeof e==`string`&&e.trim()?e:typeof e==`number`&&Number.isFinite(e)?String(e):typeof e==`boolean`?e?`true`:`false`:t}function wa(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 Ta(e,t,n){return e.map((r,i)=>{let a=Ea(i,e.length,t,n,-88);return{node:r,x:a.x,y:a.y}})}function Ea(e,t,n,r,i=-90){let a=(360/Math.max(t,1)*e+i)*Math.PI/180;return{x:50+Math.cos(a)*n,y:50+Math.sin(a)*r}}function Da(e){return e}function Oa(e){let t=new Set;return e.filter(e=>t.has(e.id)?!1:(t.add(e.id),!0))}function ka(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function Aa(e,t,n=``){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t;if(typeof t==`number`&&Number.isFinite(t))return String(t)}return n}function ja(e,t,n=``){return Aa(e,t,n).replace(/[_-]+/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function Ma(e,t){for(let n of t){let t=Number(e[n]);if(Number.isFinite(t))return t}return 0}function Na(e,t,n){return Math.max(t,Math.min(n,e))}var Pa=new Ge({defaultOptions:{queries:{staleTime:15e3,refetchOnWindowFocus:!1,retry:1}}});Rt.createRoot(document.getElementById(`root`)).render((0,F.jsx)(P.StrictMode,{children:(0,F.jsx)(Xe,{client:Pa,children:(0,F.jsx)(Wi,{})})}));
|
|
16
|
+
//# sourceMappingURL=index-sOXTFUQc.js.map
|