ltcai 8.2.0 → 8.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 +21 -19
- package/docs/CHANGELOG.md +32 -0
- package/docs/COMMUNITY_AND_PLUGINS.md +43 -0
- package/docs/DEVELOPMENT.md +8 -8
- package/docs/LEGACY_COMPATIBILITY.md +22 -2
- package/docs/ONBOARDING.md +38 -0
- package/docs/TRUST_MODEL.md +1 -1
- package/docs/WHY_LATTICE.md +5 -4
- package/docs/kg-schema.md +3 -3
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/graph/ingest.py +40 -8
- package/lattice_brain/runtime/agent_runtime.py +22 -37
- package/lattice_brain/runtime/multi_agent.py +1 -1
- package/lattice_brain/workflow.py +26 -1
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/knowledge_graph.py +33 -0
- package/latticeai/api/local_files.py +2 -0
- package/latticeai/api/tools.py +1 -0
- package/latticeai/api/workflow_designer.py +5 -4
- package/latticeai/core/legacy_compatibility.py +174 -0
- package/latticeai/core/marketplace.py +1 -1
- package/latticeai/core/workspace_os.py +1 -1
- package/latticeai/services/architecture_readiness.py +37 -3
- package/latticeai/services/model_engines.py +12 -21
- package/latticeai/services/model_runtime.py +7 -26
- package/latticeai/services/product_readiness.py +36 -14
- package/llm_router.py +7 -28
- package/mcp_registry.py +7 -24
- package/package.json +1 -1
- package/scripts/pts-claudecode-discord-bridge.mjs +2 -1
- package/src-tauri/Cargo.lock +1 -1
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +10 -10
- package/static/app/assets/{Act-D9jIknFd.js → Act-D5mo4tE4.js} +1 -1
- package/static/app/assets/{Brain-CFOtWbPN.js → Brain-BVWyQw8A.js} +1 -1
- package/static/app/assets/{Capture-Q4WYzwr5.js → Capture-C1R6GT0t.js} +1 -1
- package/static/app/assets/{Library-C5Q2yWee.js → Library-C2wIxpTs.js} +1 -1
- package/static/app/assets/{System-BLbjdr1_.js → System-DE5GRyQR.js} +1 -1
- package/static/app/assets/{index-BqammyNu.js → index-CoiuIFFP.js} +3 -3
- package/static/app/assets/{primitives-Br8uSfZ4.js → primitives-BdsUNXa6.js} +1 -1
- package/static/app/assets/{textarea-BnhNs1_X.js → textarea-e7qaj6Hm.js} +1 -1
- package/static/app/index.html +1 -1
- package/static/sw.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,E as t,I as n,M as r,O as i,P as a,S as o,T as s,_ as c,a as l,j as u,k as d,l as f,n as p,x as m,y as h}from"./index-BqammyNu.js";var g=h(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),_=h(`lock-keyhole`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]),v=n(a()),y=r(),b={default:`border-primary/25 bg-primary/12 text-primary`,success:`border-emerald-500/25 bg-emerald-500/12 text-emerald-300`,warning:`border-amber-500/25 bg-amber-500/12 text-amber-300`,muted:`border-border bg-muted/70 text-muted-foreground`,danger:`border-destructive/30 bg-destructive/12 text-destructive`};function x({className:e,variant:t=`default`,...n}){return(0,y.jsx)(`span`,{className:o(`inline-flex min-h-6 max-w-full items-center rounded-md border px-2 py-0.5 text-xs font-semibold leading-none`,b[t],e),...n})}function S({className:e,...t}){return(0,y.jsx)(`section`,{className:o(`premium-surface rounded-lg text-card-foreground`,e),...t})}function C({className:e,...t}){return(0,y.jsx)(`div`,{className:o(`flex flex-col gap-1.5 p-5`,e),...t})}function w({className:e,...t}){return(0,y.jsx)(`h2`,{className:o(`text-base font-semibold tracking-normal`,e),...t})}function T({className:e,...t}){return(0,y.jsx)(`p`,{className:o(`text-sm leading-6 text-muted-foreground`,e),...t})}function E({className:e,...t}){return(0,y.jsx)(`div`,{className:o(`p-5 pt-0`,e),...t})}function D({result:e}){let t=i(e=>e.mode);return e?e.source===`live`&&e.ok?(0,y.jsx)(x,{variant:`success`,children:t===`basic`?`ready`:`connected`}):(0,y.jsx)(x,{variant:`warning`,children:t===`basic`?`needs setup`:`unavailable`}):(0,y.jsx)(x,{variant:`muted`,children:`not loaded`})}function O({title:e=`Unavailable`,detail:t}){return(0,y.jsxs)(`div`,{className:`flex min-h-36 flex-col items-center justify-center gap-2 rounded-lg border border-dashed border-border bg-muted/24 p-6 text-center text-sm text-muted-foreground`,children:[(0,y.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-md border border-border bg-card`,children:(0,y.jsx)(l,{className:`h-5 w-5 text-primary`})}),(0,y.jsx)(`div`,{className:`text-base font-semibold text-foreground`,children:e}),t?(0,y.jsx)(`div`,{className:`max-w-md leading-6`,children:t}):null]})}function k({title:e,description:t,result:n,children:r,className:a}){let s=i(e=>e.mode);return(0,y.jsxs)(S,{className:o(`overflow-hidden`,a),children:[(0,y.jsxs)(C,{className:`flex-row items-start justify-between gap-3`,children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(w,{children:e}),t?(0,y.jsx)(T,{children:t}):null]}),(0,y.jsx)(D,{result:n})]}),(0,y.jsx)(E,{children:n?.ok?r(n.data):(0,y.jsx)(O,{detail:s===`basic`?`This area needs setup or is not available yet.`:n?.error||`This capability is not reporting right now.`})})]})}function A({title:e}){return(0,y.jsxs)(S,{children:[(0,y.jsx)(C,{children:(0,y.jsx)(w,{children:e})}),(0,y.jsx)(E,{children:(0,y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,y.jsx)(f,{className:`h-4 w-4 animate-spin`}),` Loading`]})})]})}function j({stats:t}){return(0,y.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-4`,children:t.map(t=>(0,y.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/55 p-4`,children:[(0,y.jsx)(`div`,{className:`text-xs uppercase text-muted-foreground`,children:t.label}),(0,y.jsx)(`div`,{className:`mt-2 text-2xl font-semibold leading-tight`,children:typeof t.value==`number`?e(t.value):String(t.value??`-`)}),t.hint?(0,y.jsx)(`div`,{className:`mt-2 text-xs leading-5 text-muted-foreground`,children:t.hint}):null]},t.label))})}function M(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function N(t){return t==null||t===``?`-`:typeof t==`number`?Number.isFinite(t)?e(t):`-`:typeof t==`boolean`?t?`Enabled`:`Disabled`:String(t)}var P=/(^id$|_id$|token|secret|passphrase|fingerprint|public_key|private_key|dsn|schema|endpoint|base_url|localhost|127\.0\.0\.1|stack|trace|raw|runtime|engine|module|port|host|api|internal)/i;function F(e){return P.test(e)}function I(e){let n=N(e);return n===`-`||n.includes(`/`)||n.includes(`@`)||/\.[a-z0-9]{2,5}$/i.test(n)?n:t(n.replace(/^agent:/i,``).replace(/^tool:/i,``))}function L(e){for(let t of[`documents`,`sources`,`items`,`agents`,`workflows`,`runs`,`events`,`permissions`,`models`,`peers`,`invitations`,`roles`,`policies`,`hooks`,`tools`,`templates`,`plugins`,`recent_events`]){let n=m(e[t]);if(n.length)return n}return[]}function R({value:n}){if(typeof n==`boolean`)return(0,y.jsx)(x,{variant:n?`success`:`muted`,children:n?`enabled`:`disabled`});if(Array.isArray(n))return n.length?n.every(e=>e===null||[`string`,`number`,`boolean`].includes(typeof e))?(0,y.jsxs)(`span`,{className:`flex flex-wrap gap-1`,children:[n.slice(0,5).map((e,t)=>(0,y.jsx)(x,{variant:`muted`,children:N(e)},`${String(e)}-${t}`)),n.length>5?(0,y.jsxs)(x,{variant:`muted`,children:[`+`,n.length-5]}):null]}):(0,y.jsxs)(`span`,{className:`text-muted-foreground`,children:[e(n.length),` records`]}):(0,y.jsx)(`span`,{className:`text-muted-foreground`,children:`None`});if(M(n)){let e=Object.keys(n);return e.length?(0,y.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.slice(0,4).map(t).join(`, `),e.length>4?` +${e.length-4}`:``]}):(0,y.jsx)(`span`,{className:`text-muted-foreground`,children:`No fields`})}let r=N(n);return(0,y.jsx)(`span`,{className:`break-words`,children:r.length>96?s(r,96):r})}function z({data:e,limit:n=8}){let r=i(e=>e.mode),a=Object.entries(e||{}).filter(([e])=>r!==`basic`||!F(e)).slice(0,n);return a.length?(0,y.jsx)(`div`,{className:`divide-y divide-border rounded-md border border-border`,children:a.map(([e,n])=>(0,y.jsxs)(`div`,{className:`grid grid-cols-[minmax(9rem,0.5fr)_1fr] gap-3 p-3 text-sm`,children:[(0,y.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:t(e)}),(0,y.jsx)(`span`,{className:`min-w-0 break-words`,children:(0,y.jsx)(R,{value:n})})]},e))}):(0,y.jsx)(O,{title:`No values`})}function B({value:e,titleKey:t=`title`,metaKey:n=`status`,limit:r=8}){return i(e=>e.mode)===`basic`?(0,y.jsx)(V,{value:e,titleKey:t,metaKey:n,limit:r}):Array.isArray(e)?e.length?e.every(e=>M(e))?(0,y.jsx)(U,{items:e,titleKey:t,metaKey:n,limit:r}):(0,y.jsxs)(`div`,{className:`flex flex-wrap gap-1 rounded-md border border-border bg-background p-3`,children:[e.slice(0,r).map((e,t)=>(0,y.jsx)(x,{variant:`muted`,children:N(e)},`${String(e)}-${t}`)),e.length>r?(0,y.jsxs)(x,{variant:`muted`,children:[`+`,e.length-r]}):null]}):(0,y.jsx)(O,{title:`Nothing here yet`,detail:`New items will appear here when Lattice has something to show.`}):M(e)?(0,y.jsx)(z,{data:e,limit:r}):(0,y.jsx)(`div`,{className:`rounded-md border border-border bg-background p-3 text-sm`,children:(0,y.jsx)(R,{value:e})})}function V({value:t,titleKey:n=`title`,metaKey:r=`status`,limit:i=6}){if(Array.isArray(t))return t.length?t.every(e=>M(e))?(0,y.jsx)(U,{items:t,titleKey:n,metaKey:r,limit:i}):(0,y.jsxs)(`div`,{className:`flex flex-wrap gap-1 rounded-md border border-border bg-background/55 p-3`,children:[t.slice(0,i).map((e,t)=>(0,y.jsx)(x,{variant:`muted`,children:I(e)},`${String(e)}-${t}`)),t.length>i?(0,y.jsxs)(x,{variant:`muted`,children:[`+`,t.length-i]}):null]}):(0,y.jsx)(O,{title:`Nothing here yet`,detail:`New items will appear here when Lattice has something to show.`});if(M(t)){let a=L(t);return a.length?(0,y.jsx)(U,{items:a,titleKey:n,metaKey:r,limit:i}):(0,y.jsx)(z,{data:Object.fromEntries(Object.entries(t).filter(([e])=>!F(e)).map(([t,n])=>[t,Array.isArray(n)?`${e(n.length)} items`:M(n)?`available`:n])),limit:i})}return(0,y.jsx)(`div`,{className:`rounded-md border border-border bg-background/55 p-3 text-sm`,children:I(t)})}function H({result:e,successLabel:t=`Request completed`}){let n=i(e=>e.mode);return e?e.ok?(0,y.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border bg-background p-3`,children:[(0,y.jsx)(x,{variant:`success`,children:t}),n===`basic`?(0,y.jsx)(V,{value:e.data}):(0,y.jsx)(B,{value:e.data})]}):(0,y.jsx)(O,{title:`Request unavailable`,detail:e.error||(0,y.jsx)(R,{value:e.data})}):null}function U({items:e,titleKey:t=`title`,metaKey:n=`type`,limit:r=8}){let a=i(e=>e.mode),o=m(e).slice(0,r);return o.length?(0,y.jsx)(`div`,{className:`grid gap-2`,children:o.map((e,r)=>(0,y.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/55 p-3`,children:[(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,y.jsx)(`div`,{className:`font-medium`,children:a===`basic`?I(e[t]||e.name||e.label||`Item ${r+1}`):String(e[t]||e.name||e.id||`Record ${r+1}`)}),(0,y.jsx)(x,{variant:`muted`,children:a===`basic`?I(e[n]||e.status||e.state||`ready`):String(e[n]||e.status||e.state||`record`)})]}),e.summary||e.description||e.path||e.id&&e[t]!==e.id?(0,y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:String(e.summary||e.description||e.path||e.id)}):null,a!==`basic`&&e.id&&e[t]!==e.id?(0,y.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:s(e.id,48)}):null]},String(e.id||e.name||r)))}):(0,y.jsx)(O,{title:`Nothing here yet`,detail:`New items will appear here when Lattice has something to show.`})}function W({title:e=`Advanced controls`,detail:t=`Switch modes when you want diagnostics or administrative controls. Basic mode keeps the product focused on everyday use.`,target:n=`advanced`}){let r=i(e=>e.setMode);return(0,y.jsx)(S,{children:(0,y.jsxs)(E,{className:`flex flex-col items-start gap-3 p-6`,children:[(0,y.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-md border border-border bg-background/70`,children:(0,y.jsx)(_,{className:`h-5 w-5 text-primary`})}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-lg font-semibold`,children:e}),(0,y.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-muted-foreground`,children:t})]}),(0,y.jsx)(p,{onClick:()=>r(n),children:n===`admin`?`Switch to Admin Console`:`Switch to Advanced`})]})})}function G({label:e,successLabel:t=`Done`,action:n,invalidate:r,variant:i=`outline`,disabled:a}){let s=u(),[l,m]=v.useState(null),h=d({mutationFn:n,onSuccess:async e=>{m(e.ok?t:e.error||`Unavailable`),r&&await Promise.all(r.map(e=>s.invalidateQueries({queryKey:[e]})))}});return(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,y.jsxs)(p,{variant:i,disabled:a||h.isPending,onClick:()=>h.mutate(),children:[h.isPending?(0,y.jsx)(f,{className:`h-4 w-4 animate-spin`}):null,e]}),l?(0,y.jsxs)(`span`,{className:o(`inline-flex items-center gap-1 text-xs`,l===t?`text-emerald-300`:`text-amber-300`),children:[l===t?(0,y.jsx)(c,{className:`h-3.5 w-3.5`}):(0,y.jsx)(g,{className:`h-3.5 w-3.5`}),l]}):null]})}function K({tabs:e,value:t,onChange:n}){return(0,y.jsx)(`div`,{className:`inline-flex max-w-full flex-wrap gap-1 rounded-lg border border-border bg-muted/28 p-1`,children:e.map(e=>(0,y.jsx)(`button`,{onClick:()=>n(e.id),className:o(`h-9 rounded-md px-3.5 text-sm font-semibold transition`,t===e.id?`bg-card text-foreground shadow-sm`:`text-muted-foreground hover:bg-card/60 hover:text-foreground`),children:e.label},e.id))})}export{w as _,z as a,H as c,K as d,R as f,C as g,T as h,U as i,j as l,E as m,k as n,A as o,S as p,O as r,W as s,G as t,B as u,x as v,g as y};
|
|
1
|
+
import{C as e,E as t,I as n,M as r,O as i,P as a,S as o,T as s,_ as c,a as l,j as u,k as d,l as f,n as p,x as m,y as h}from"./index-CoiuIFFP.js";var g=h(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),_=h(`lock-keyhole`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]),v=n(a()),y=r(),b={default:`border-primary/25 bg-primary/12 text-primary`,success:`border-emerald-500/25 bg-emerald-500/12 text-emerald-300`,warning:`border-amber-500/25 bg-amber-500/12 text-amber-300`,muted:`border-border bg-muted/70 text-muted-foreground`,danger:`border-destructive/30 bg-destructive/12 text-destructive`};function x({className:e,variant:t=`default`,...n}){return(0,y.jsx)(`span`,{className:o(`inline-flex min-h-6 max-w-full items-center rounded-md border px-2 py-0.5 text-xs font-semibold leading-none`,b[t],e),...n})}function S({className:e,...t}){return(0,y.jsx)(`section`,{className:o(`premium-surface rounded-lg text-card-foreground`,e),...t})}function C({className:e,...t}){return(0,y.jsx)(`div`,{className:o(`flex flex-col gap-1.5 p-5`,e),...t})}function w({className:e,...t}){return(0,y.jsx)(`h2`,{className:o(`text-base font-semibold tracking-normal`,e),...t})}function T({className:e,...t}){return(0,y.jsx)(`p`,{className:o(`text-sm leading-6 text-muted-foreground`,e),...t})}function E({className:e,...t}){return(0,y.jsx)(`div`,{className:o(`p-5 pt-0`,e),...t})}function D({result:e}){let t=i(e=>e.mode);return e?e.source===`live`&&e.ok?(0,y.jsx)(x,{variant:`success`,children:t===`basic`?`ready`:`connected`}):(0,y.jsx)(x,{variant:`warning`,children:t===`basic`?`needs setup`:`unavailable`}):(0,y.jsx)(x,{variant:`muted`,children:`not loaded`})}function O({title:e=`Unavailable`,detail:t}){return(0,y.jsxs)(`div`,{className:`flex min-h-36 flex-col items-center justify-center gap-2 rounded-lg border border-dashed border-border bg-muted/24 p-6 text-center text-sm text-muted-foreground`,children:[(0,y.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-md border border-border bg-card`,children:(0,y.jsx)(l,{className:`h-5 w-5 text-primary`})}),(0,y.jsx)(`div`,{className:`text-base font-semibold text-foreground`,children:e}),t?(0,y.jsx)(`div`,{className:`max-w-md leading-6`,children:t}):null]})}function k({title:e,description:t,result:n,children:r,className:a}){let s=i(e=>e.mode);return(0,y.jsxs)(S,{className:o(`overflow-hidden`,a),children:[(0,y.jsxs)(C,{className:`flex-row items-start justify-between gap-3`,children:[(0,y.jsxs)(`div`,{children:[(0,y.jsx)(w,{children:e}),t?(0,y.jsx)(T,{children:t}):null]}),(0,y.jsx)(D,{result:n})]}),(0,y.jsx)(E,{children:n?.ok?r(n.data):(0,y.jsx)(O,{detail:s===`basic`?`This area needs setup or is not available yet.`:n?.error||`This capability is not reporting right now.`})})]})}function A({title:e}){return(0,y.jsxs)(S,{children:[(0,y.jsx)(C,{children:(0,y.jsx)(w,{children:e})}),(0,y.jsx)(E,{children:(0,y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,y.jsx)(f,{className:`h-4 w-4 animate-spin`}),` Loading`]})})]})}function j({stats:t}){return(0,y.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-4`,children:t.map(t=>(0,y.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/55 p-4`,children:[(0,y.jsx)(`div`,{className:`text-xs uppercase text-muted-foreground`,children:t.label}),(0,y.jsx)(`div`,{className:`mt-2 text-2xl font-semibold leading-tight`,children:typeof t.value==`number`?e(t.value):String(t.value??`-`)}),t.hint?(0,y.jsx)(`div`,{className:`mt-2 text-xs leading-5 text-muted-foreground`,children:t.hint}):null]},t.label))})}function M(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function N(t){return t==null||t===``?`-`:typeof t==`number`?Number.isFinite(t)?e(t):`-`:typeof t==`boolean`?t?`Enabled`:`Disabled`:String(t)}var P=/(^id$|_id$|token|secret|passphrase|fingerprint|public_key|private_key|dsn|schema|endpoint|base_url|localhost|127\.0\.0\.1|stack|trace|raw|runtime|engine|module|port|host|api|internal)/i;function F(e){return P.test(e)}function I(e){let n=N(e);return n===`-`||n.includes(`/`)||n.includes(`@`)||/\.[a-z0-9]{2,5}$/i.test(n)?n:t(n.replace(/^agent:/i,``).replace(/^tool:/i,``))}function L(e){for(let t of[`documents`,`sources`,`items`,`agents`,`workflows`,`runs`,`events`,`permissions`,`models`,`peers`,`invitations`,`roles`,`policies`,`hooks`,`tools`,`templates`,`plugins`,`recent_events`]){let n=m(e[t]);if(n.length)return n}return[]}function R({value:n}){if(typeof n==`boolean`)return(0,y.jsx)(x,{variant:n?`success`:`muted`,children:n?`enabled`:`disabled`});if(Array.isArray(n))return n.length?n.every(e=>e===null||[`string`,`number`,`boolean`].includes(typeof e))?(0,y.jsxs)(`span`,{className:`flex flex-wrap gap-1`,children:[n.slice(0,5).map((e,t)=>(0,y.jsx)(x,{variant:`muted`,children:N(e)},`${String(e)}-${t}`)),n.length>5?(0,y.jsxs)(x,{variant:`muted`,children:[`+`,n.length-5]}):null]}):(0,y.jsxs)(`span`,{className:`text-muted-foreground`,children:[e(n.length),` records`]}):(0,y.jsx)(`span`,{className:`text-muted-foreground`,children:`None`});if(M(n)){let e=Object.keys(n);return e.length?(0,y.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.slice(0,4).map(t).join(`, `),e.length>4?` +${e.length-4}`:``]}):(0,y.jsx)(`span`,{className:`text-muted-foreground`,children:`No fields`})}let r=N(n);return(0,y.jsx)(`span`,{className:`break-words`,children:r.length>96?s(r,96):r})}function z({data:e,limit:n=8}){let r=i(e=>e.mode),a=Object.entries(e||{}).filter(([e])=>r!==`basic`||!F(e)).slice(0,n);return a.length?(0,y.jsx)(`div`,{className:`divide-y divide-border rounded-md border border-border`,children:a.map(([e,n])=>(0,y.jsxs)(`div`,{className:`grid grid-cols-[minmax(9rem,0.5fr)_1fr] gap-3 p-3 text-sm`,children:[(0,y.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:t(e)}),(0,y.jsx)(`span`,{className:`min-w-0 break-words`,children:(0,y.jsx)(R,{value:n})})]},e))}):(0,y.jsx)(O,{title:`No values`})}function B({value:e,titleKey:t=`title`,metaKey:n=`status`,limit:r=8}){return i(e=>e.mode)===`basic`?(0,y.jsx)(V,{value:e,titleKey:t,metaKey:n,limit:r}):Array.isArray(e)?e.length?e.every(e=>M(e))?(0,y.jsx)(U,{items:e,titleKey:t,metaKey:n,limit:r}):(0,y.jsxs)(`div`,{className:`flex flex-wrap gap-1 rounded-md border border-border bg-background p-3`,children:[e.slice(0,r).map((e,t)=>(0,y.jsx)(x,{variant:`muted`,children:N(e)},`${String(e)}-${t}`)),e.length>r?(0,y.jsxs)(x,{variant:`muted`,children:[`+`,e.length-r]}):null]}):(0,y.jsx)(O,{title:`Nothing here yet`,detail:`New items will appear here when Lattice has something to show.`}):M(e)?(0,y.jsx)(z,{data:e,limit:r}):(0,y.jsx)(`div`,{className:`rounded-md border border-border bg-background p-3 text-sm`,children:(0,y.jsx)(R,{value:e})})}function V({value:t,titleKey:n=`title`,metaKey:r=`status`,limit:i=6}){if(Array.isArray(t))return t.length?t.every(e=>M(e))?(0,y.jsx)(U,{items:t,titleKey:n,metaKey:r,limit:i}):(0,y.jsxs)(`div`,{className:`flex flex-wrap gap-1 rounded-md border border-border bg-background/55 p-3`,children:[t.slice(0,i).map((e,t)=>(0,y.jsx)(x,{variant:`muted`,children:I(e)},`${String(e)}-${t}`)),t.length>i?(0,y.jsxs)(x,{variant:`muted`,children:[`+`,t.length-i]}):null]}):(0,y.jsx)(O,{title:`Nothing here yet`,detail:`New items will appear here when Lattice has something to show.`});if(M(t)){let a=L(t);return a.length?(0,y.jsx)(U,{items:a,titleKey:n,metaKey:r,limit:i}):(0,y.jsx)(z,{data:Object.fromEntries(Object.entries(t).filter(([e])=>!F(e)).map(([t,n])=>[t,Array.isArray(n)?`${e(n.length)} items`:M(n)?`available`:n])),limit:i})}return(0,y.jsx)(`div`,{className:`rounded-md border border-border bg-background/55 p-3 text-sm`,children:I(t)})}function H({result:e,successLabel:t=`Request completed`}){let n=i(e=>e.mode);return e?e.ok?(0,y.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border bg-background p-3`,children:[(0,y.jsx)(x,{variant:`success`,children:t}),n===`basic`?(0,y.jsx)(V,{value:e.data}):(0,y.jsx)(B,{value:e.data})]}):(0,y.jsx)(O,{title:`Request unavailable`,detail:e.error||(0,y.jsx)(R,{value:e.data})}):null}function U({items:e,titleKey:t=`title`,metaKey:n=`type`,limit:r=8}){let a=i(e=>e.mode),o=m(e).slice(0,r);return o.length?(0,y.jsx)(`div`,{className:`grid gap-2`,children:o.map((e,r)=>(0,y.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/55 p-3`,children:[(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,y.jsx)(`div`,{className:`font-medium`,children:a===`basic`?I(e[t]||e.name||e.label||`Item ${r+1}`):String(e[t]||e.name||e.id||`Record ${r+1}`)}),(0,y.jsx)(x,{variant:`muted`,children:a===`basic`?I(e[n]||e.status||e.state||`ready`):String(e[n]||e.status||e.state||`record`)})]}),e.summary||e.description||e.path||e.id&&e[t]!==e.id?(0,y.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:String(e.summary||e.description||e.path||e.id)}):null,a!==`basic`&&e.id&&e[t]!==e.id?(0,y.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:s(e.id,48)}):null]},String(e.id||e.name||r)))}):(0,y.jsx)(O,{title:`Nothing here yet`,detail:`New items will appear here when Lattice has something to show.`})}function W({title:e=`Advanced controls`,detail:t=`Switch modes when you want diagnostics or administrative controls. Basic mode keeps the product focused on everyday use.`,target:n=`advanced`}){let r=i(e=>e.setMode);return(0,y.jsx)(S,{children:(0,y.jsxs)(E,{className:`flex flex-col items-start gap-3 p-6`,children:[(0,y.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-md border border-border bg-background/70`,children:(0,y.jsx)(_,{className:`h-5 w-5 text-primary`})}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`div`,{className:`text-lg font-semibold`,children:e}),(0,y.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-muted-foreground`,children:t})]}),(0,y.jsx)(p,{onClick:()=>r(n),children:n===`admin`?`Switch to Admin Console`:`Switch to Advanced`})]})})}function G({label:e,successLabel:t=`Done`,action:n,invalidate:r,variant:i=`outline`,disabled:a}){let s=u(),[l,m]=v.useState(null),h=d({mutationFn:n,onSuccess:async e=>{m(e.ok?t:e.error||`Unavailable`),r&&await Promise.all(r.map(e=>s.invalidateQueries({queryKey:[e]})))}});return(0,y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,y.jsxs)(p,{variant:i,disabled:a||h.isPending,onClick:()=>h.mutate(),children:[h.isPending?(0,y.jsx)(f,{className:`h-4 w-4 animate-spin`}):null,e]}),l?(0,y.jsxs)(`span`,{className:o(`inline-flex items-center gap-1 text-xs`,l===t?`text-emerald-300`:`text-amber-300`),children:[l===t?(0,y.jsx)(c,{className:`h-3.5 w-3.5`}):(0,y.jsx)(g,{className:`h-3.5 w-3.5`}),l]}):null]})}function K({tabs:e,value:t,onChange:n}){return(0,y.jsx)(`div`,{className:`inline-flex max-w-full flex-wrap gap-1 rounded-lg border border-border bg-muted/28 p-1`,children:e.map(e=>(0,y.jsx)(`button`,{onClick:()=>n(e.id),className:o(`h-9 rounded-md px-3.5 text-sm font-semibold transition`,t===e.id?`bg-card text-foreground shadow-sm`:`text-muted-foreground hover:bg-card/60 hover:text-foreground`),children:e.label},e.id))})}export{w as _,z as a,H as c,K as d,R as f,C as g,T as h,U as i,j as l,E as m,k as n,A as o,S as p,O as r,W as s,G as t,B as u,x as v,g as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as e,M as t,P as n,S as r}from"./index-
|
|
1
|
+
import{I as e,M as t,P as n,S as r}from"./index-CoiuIFFP.js";var i=e(n()),a=t(),o=i.forwardRef(({className:e,...t},n)=>(0,a.jsx)(`textarea`,{ref:n,className:r(`min-h-28 w-full resize-y rounded-md border border-input bg-background/70 px-3 py-3 text-sm leading-6 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}));o.displayName=`Textarea`;export{o as t};
|
package/static/app/index.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="manifest" href="/manifest.json" />
|
|
9
9
|
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32.png" />
|
|
10
10
|
<script src="/static/app/theme-boot.js"></script>
|
|
11
|
-
<script type="module" crossorigin src="/static/app/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/static/app/assets/index-CoiuIFFP.js"></script>
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/static/app/assets/index-ty1iGgZu.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
package/static/sw.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Lattice Service Worker — PWA install + offline shell for the /app SPA.
|
|
2
2
|
// Strategy: precache the Vite app bundle from its asset manifest,
|
|
3
3
|
// cache-first for static assets, network-only for everything dynamic.
|
|
4
|
-
const CACHE = "lattice-
|
|
4
|
+
const CACHE = "lattice-v830";
|
|
5
5
|
const MANIFEST_URL = "/static/app/asset-manifest.json";
|
|
6
6
|
|
|
7
7
|
// Non-manifest assets the shell needs offline.
|