ltcai 8.9.0 → 9.0.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 +28 -39
- package/auto_setup.py +11 -62
- package/docs/CHANGELOG.md +76 -237
- package/docs/COMMUNITY_AND_PLUGINS.md +2 -2
- package/docs/DEVELOPMENT.md +8 -8
- package/docs/LEGACY_COMPATIBILITY.md +1 -1
- package/docs/ONBOARDING.md +2 -2
- package/docs/ROADMAP_RECOMMENDATIONS.md +61 -36
- package/docs/TRUST_MODEL.md +1 -1
- package/docs/WHY_LATTICE.md +2 -2
- package/docs/kg-schema.md +1 -1
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/archive.py +4 -9
- package/lattice_brain/embeddings.py +38 -2
- package/lattice_brain/graph/_kg_common.py +27 -462
- package/lattice_brain/graph/_kg_constants.py +243 -0
- package/lattice_brain/graph/_kg_fsutil.py +297 -0
- package/lattice_brain/graph/discovery.py +0 -948
- package/lattice_brain/graph/discovery_index.py +972 -0
- package/lattice_brain/graph/retrieval.py +0 -570
- package/lattice_brain/graph/retrieval_docgen.py +210 -0
- package/lattice_brain/graph/retrieval_vector.py +460 -0
- package/lattice_brain/graph/store.py +6 -0
- package/lattice_brain/ingestion.py +68 -0
- package/lattice_brain/portability.py +1 -9
- package/lattice_brain/quality.py +98 -4
- package/lattice_brain/runtime/agent_runtime.py +166 -0
- package/lattice_brain/runtime/multi_agent.py +1 -1
- package/lattice_brain/utils.py +28 -0
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/chat.py +340 -407
- package/latticeai/api/chat_helpers.py +227 -0
- package/latticeai/api/computer_use.py +149 -31
- package/latticeai/api/marketplace.py +11 -0
- package/latticeai/api/permissions.py +3 -3
- package/latticeai/api/tools.py +1 -0
- package/latticeai/app_factory.py +82 -360
- package/latticeai/core/io_utils.py +37 -0
- package/latticeai/core/legacy_compatibility.py +1 -1
- package/latticeai/core/local_embeddings.py +2 -4
- package/latticeai/core/marketplace.py +33 -2
- package/latticeai/core/mcp_catalog.py +450 -0
- package/latticeai/core/mcp_registry.py +2 -441
- package/latticeai/core/users.py +4 -9
- package/latticeai/core/workspace_os.py +1 -1
- package/latticeai/core/workspace_os_utils.py +3 -17
- package/latticeai/integrations/telegram_bot.py +7 -2
- package/latticeai/models/model_providers.py +111 -0
- package/latticeai/models/router.py +58 -136
- package/latticeai/runtime/audit_runtime.py +27 -16
- package/latticeai/runtime/automation_runtime.py +9 -0
- package/latticeai/runtime/history_runtime.py +163 -0
- package/latticeai/runtime/namespace_runtime.py +173 -0
- package/latticeai/runtime/network_config_runtime.py +56 -0
- package/latticeai/runtime/sso_config_runtime.py +128 -0
- package/latticeai/runtime/user_key_runtime.py +106 -0
- package/latticeai/services/architecture_readiness.py +2 -2
- package/latticeai/services/memory_service.py +213 -0
- package/latticeai/services/platform_runtime.py +9 -1
- package/latticeai/services/product_readiness.py +11 -11
- package/latticeai/services/review_queue.py +64 -11
- package/latticeai/services/run_executor.py +21 -0
- package/latticeai/services/setup_detection.py +80 -0
- package/latticeai/services/tool_dispatch.py +1 -1
- package/package.json +1 -1
- package/setup_wizard.py +11 -55
- 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 +11 -11
- package/static/app/assets/{Act-fZokUnC0.js → Act-21lIXx2E.js} +1 -1
- package/static/app/assets/Brain-BqUd5UJJ.js +321 -0
- package/static/app/assets/{Capture-D5KV3Cu7.js → Capture-BA7Z2Q1u.js} +1 -1
- package/static/app/assets/{Library-C9kyFkSt.js → Library-bFMtyni3.js} +1 -1
- package/static/app/assets/System-K6krGCqn.js +1 -0
- package/static/app/assets/index-C4R3ws30.js +17 -0
- package/static/app/assets/index-ChSeOB02.css +2 -0
- package/static/app/assets/primitives-sQU3it5I.js +1 -0
- package/static/app/assets/{textarea-CD8UNKIy.js → textarea-DK3Fd_lR.js} +1 -1
- package/static/app/index.html +2 -2
- package/static/css/tokens.css +4 -2
- package/static/sw.js +1 -1
- package/tools/local_files.py +6 -0
- package/latticeai/runtime/sso_runtime.py +0 -52
- package/static/app/assets/Brain-DtyuWubr.js +0 -321
- package/static/app/assets/System-VbChmX7r.js +0 -1
- package/static/app/assets/index-DCh5AoXt.css +0 -2
- package/static/app/assets/index-DPdcPoF0.js +0 -17
- package/static/app/assets/primitives-DFeanEV6.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
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,b as u,j as d,k as f,l as p,n as m,x as h,y as g}from"./index-DPdcPoF0.js";var _=g(`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`}]]),v=g(`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`}]]),y=n(a()),b=r(),x={default:`border-primary/25 bg-primary/12 text-primary`,success:`border-success/30 bg-success/12 text-success`,warning:`border-warning/30 bg-warning/12 text-warning`,muted:`border-border bg-muted/70 text-muted-foreground`,danger:`border-destructive/30 bg-destructive/12 text-destructive`};function S({className:e,variant:t=`default`,...n}){return(0,b.jsx)(`span`,{className:o(`inline-flex min-h-6 max-w-full items-center whitespace-nowrap rounded-md border px-2 py-0.5 text-xs font-semibold leading-none`,x[t],e),...n})}function C({className:e,...t}){return(0,b.jsx)(`section`,{className:o(`premium-surface rounded-lg text-card-foreground`,e),...t})}function w({className:e,...t}){return(0,b.jsx)(`div`,{className:o(`flex flex-col gap-1.5 p-5`,e),...t})}function T({className:e,...t}){return(0,b.jsx)(`h2`,{className:o(`text-base font-semibold tracking-normal`,e),...t})}function E({className:e,...t}){return(0,b.jsx)(`p`,{className:o(`text-sm leading-6 text-muted-foreground`,e),...t})}function D({className:e,...t}){return(0,b.jsx)(`div`,{className:o(`p-5 pt-0`,e),...t})}function O({result:e}){let t=i(e=>e.mode),n=i(e=>e.language);return e?e.source===`live`&&e.ok?(0,b.jsx)(S,{variant:`success`,children:t===`basic`?u(n,`ui.status.ready`):u(n,`ui.status.connected`)}):(0,b.jsx)(S,{variant:`warning`,children:t===`basic`?u(n,`ui.status.needsSetup`):u(n,`ui.status.unavailable`)}):(0,b.jsx)(S,{variant:`muted`,children:u(n,`ui.status.notLoaded`)})}function k({title:e,detail:t}){let n=i(e=>e.language);return(0,b.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,b.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-md border border-border bg-card`,children:(0,b.jsx)(l,{className:`h-5 w-5 text-primary`})}),(0,b.jsx)(`div`,{className:`text-base font-semibold text-foreground`,children:e||u(n,`ui.empty.title`)}),t?(0,b.jsx)(`div`,{className:`max-w-md leading-6`,children:t}):null]})}function A({title:e,description:t,result:n,children:r,className:a}){let s=i(e=>e.mode),c=i(e=>e.language);return(0,b.jsxs)(C,{className:o(`overflow-hidden`,a),children:[(0,b.jsxs)(w,{className:`flex-row items-start justify-between gap-3`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(T,{children:e}),t?(0,b.jsx)(E,{children:t}):null]}),(0,b.jsx)(O,{result:n})]}),(0,b.jsx)(D,{children:n?.ok?r(n.data):(0,b.jsx)(k,{detail:s===`basic`?u(c,`ui.empty.basicDetail`):n?.error||u(c,`ui.empty.advancedDetail`)})})]})}function j({title:e}){let t=i(e=>e.language);return(0,b.jsxs)(C,{children:[(0,b.jsx)(w,{children:(0,b.jsx)(T,{children:e})}),(0,b.jsx)(D,{children:(0,b.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,b.jsx)(p,{className:`h-4 w-4 animate-spin`}),` `,u(t,`ui.loading`)]})})]})}function M({stats:t}){return(0,b.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-2 xl:grid-cols-4`,children:t.map(t=>(0,b.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/55 p-4`,children:[(0,b.jsx)(`div`,{className:`text-xs uppercase text-muted-foreground`,children:t.label}),(0,b.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,b.jsx)(`div`,{className:`mt-2 text-xs leading-5 text-muted-foreground`,children:t.hint}):null]},t.label))})}function N(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function P(t){return t==null||t===``?`-`:typeof t==`number`?Number.isFinite(t)?e(t):`-`:typeof t==`boolean`?t?`Enabled`:`Disabled`:String(t)}var F=/(^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 I(e){return F.test(e)}function L(e){let n=P(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 R(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=h(e[t]);if(n.length)return n}return[]}function z({value:n}){if(typeof n==`boolean`)return(0,b.jsx)(S,{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,b.jsxs)(`span`,{className:`flex flex-wrap gap-1`,children:[n.slice(0,5).map((e,t)=>(0,b.jsx)(S,{variant:`muted`,children:P(e)},`${String(e)}-${t}`)),n.length>5?(0,b.jsxs)(S,{variant:`muted`,children:[`+`,n.length-5]}):null]}):(0,b.jsxs)(`span`,{className:`text-muted-foreground`,children:[e(n.length),` records`]}):(0,b.jsx)(`span`,{className:`text-muted-foreground`,children:`None`});if(N(n)){let e=Object.keys(n);return e.length?(0,b.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.slice(0,4).map(t).join(`, `),e.length>4?` +${e.length-4}`:``]}):(0,b.jsx)(`span`,{className:`text-muted-foreground`,children:`No fields`})}let r=P(n);return(0,b.jsx)(`span`,{className:`break-words`,children:r.length>96?s(r,96):r})}function B({data:e,limit:n=8}){let r=i(e=>e.mode),a=i(e=>e.language),o=Object.entries(e||{}).filter(([e])=>r!==`basic`||!I(e)).slice(0,n);return o.length?(0,b.jsx)(`div`,{className:`divide-y divide-border rounded-md border border-border`,children:o.map(([e,n])=>(0,b.jsxs)(`div`,{className:`grid grid-cols-[minmax(9rem,0.5fr)_1fr] gap-3 p-3 text-sm`,children:[(0,b.jsx)(`span`,{className:`font-medium text-muted-foreground`,children:t(e)}),(0,b.jsx)(`span`,{className:`min-w-0 break-words`,children:(0,b.jsx)(z,{value:n})})]},e))}):(0,b.jsx)(k,{title:u(a,`ui.noValues`)})}function V({value:e,titleKey:t=`title`,metaKey:n=`status`,limit:r=8}){let a=i(e=>e.mode),o=i(e=>e.language);return a===`basic`?(0,b.jsx)(H,{value:e,titleKey:t,metaKey:n,limit:r}):Array.isArray(e)?e.length?e.every(e=>N(e))?(0,b.jsx)(W,{items:e,titleKey:t,metaKey:n,limit:r}):(0,b.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,b.jsx)(S,{variant:`muted`,children:P(e)},`${String(e)}-${t}`)),e.length>r?(0,b.jsxs)(S,{variant:`muted`,children:[`+`,e.length-r]}):null]}):(0,b.jsx)(k,{detail:u(o,`ui.empty.listDetail`)}):N(e)?(0,b.jsx)(B,{data:e,limit:r}):(0,b.jsx)(`div`,{className:`rounded-md border border-border bg-background p-3 text-sm`,children:(0,b.jsx)(z,{value:e})})}function H({value:t,titleKey:n=`title`,metaKey:r=`status`,limit:a=6}){let o=i(e=>e.language);if(Array.isArray(t))return t.length?t.every(e=>N(e))?(0,b.jsx)(W,{items:t,titleKey:n,metaKey:r,limit:a}):(0,b.jsxs)(`div`,{className:`flex flex-wrap gap-1 rounded-md border border-border bg-background/55 p-3`,children:[t.slice(0,a).map((e,t)=>(0,b.jsx)(S,{variant:`muted`,children:L(e)},`${String(e)}-${t}`)),t.length>a?(0,b.jsxs)(S,{variant:`muted`,children:[`+`,t.length-a]}):null]}):(0,b.jsx)(k,{detail:u(o,`ui.empty.listDetail`)});if(N(t)){let i=R(t);return i.length?(0,b.jsx)(W,{items:i,titleKey:n,metaKey:r,limit:a}):(0,b.jsx)(B,{data:Object.fromEntries(Object.entries(t).filter(([e])=>!I(e)).map(([t,n])=>[t,Array.isArray(n)?`${e(n.length)} items`:N(n)?`available`:n])),limit:a})}return(0,b.jsx)(`div`,{className:`rounded-md border border-border bg-background/55 p-3 text-sm`,children:L(t)})}function U({result:e,successLabel:t}){let n=i(e=>e.mode),r=i(e=>e.language);return e?e.ok?(0,b.jsxs)(`div`,{className:`space-y-2 rounded-md border border-border bg-background p-3`,children:[(0,b.jsx)(S,{variant:`success`,children:t||u(r,`ui.requestCompleted`)}),n===`basic`?(0,b.jsx)(H,{value:e.data}):(0,b.jsx)(V,{value:e.data})]}):(0,b.jsx)(k,{title:u(r,`ui.requestUnavailable`),detail:e.error||(0,b.jsx)(z,{value:e.data})}):null}function W({items:e,titleKey:t=`title`,metaKey:n=`type`,limit:r=8}){let a=i(e=>e.mode),o=i(e=>e.language),c=h(e).slice(0,r);return c.length?(0,b.jsx)(`div`,{className:`grid gap-2`,children:c.map((e,r)=>(0,b.jsxs)(`div`,{className:`rounded-lg border border-border bg-background/55 p-3`,children:[(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,b.jsx)(`div`,{className:`font-medium`,children:a===`basic`?L(e[t]||e.name||e.label||`Item ${r+1}`):String(e[t]||e.name||e.id||`Record ${r+1}`)}),(0,b.jsx)(S,{variant:`muted`,children:a===`basic`?L(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,b.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,b.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:s(e.id,48)}):null]},String(e.id||e.name||r)))}):(0,b.jsx)(k,{detail:u(o,`ui.empty.listDetail`)})}function G({title:e,detail:t,target:n=`advanced`}){let r=i(e=>e.setMode),a=i(e=>e.language);return(0,b.jsx)(C,{children:(0,b.jsxs)(D,{className:`flex flex-col items-start gap-3 p-6`,children:[(0,b.jsx)(`div`,{className:`grid h-10 w-10 place-items-center rounded-md border border-border bg-background/70`,children:(0,b.jsx)(v,{className:`h-5 w-5 text-primary`})}),(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`div`,{className:`text-lg font-semibold`,children:e||u(a,`ui.modeGate.title`)}),(0,b.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-muted-foreground`,children:t||u(a,`ui.modeGate.detail`)})]}),(0,b.jsx)(m,{onClick:()=>r(n),children:n===`admin`?u(a,`ui.modeGate.admin`):u(a,`ui.modeGate.advanced`)})]})})}function K({label:e,successLabel:t,action:n,invalidate:r,variant:a=`outline`,disabled:s}){let l=d(),h=i(e=>e.language),g=t||u(h,`ui.done`),[v,x]=y.useState(null),S=f({mutationFn:n,onSuccess:async e=>{x(e.ok?g:e.error||u(h,`ui.status.unavailable`)),r&&await Promise.all(r.map(e=>l.invalidateQueries({queryKey:[e]})))}});return(0,b.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,b.jsxs)(m,{variant:a,disabled:s||S.isPending,onClick:()=>S.mutate(),children:[S.isPending?(0,b.jsx)(p,{className:`h-4 w-4 animate-spin`}):null,e]}),v?(0,b.jsxs)(`span`,{className:o(`inline-flex items-center gap-1 text-xs`,v===g?`text-success`:`text-warning`),children:[v===g?(0,b.jsx)(c,{className:`h-3.5 w-3.5`}):(0,b.jsx)(_,{className:`h-3.5 w-3.5`}),v]}):null]})}function q({tabs:e,value:t,onChange:n}){return(0,b.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,b.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{T as _,B as a,U as c,q as d,z as f,w as g,E as h,W as i,M as l,D as m,A as n,j as o,C as p,k as r,G as s,K as t,V as u,S as v,_ as y};
|