ltcai 11.7.0 → 11.9.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 +73 -70
- package/docs/BENCHMARKS.md +9 -2
- package/docs/CHANGELOG.md +157 -0
- package/docs/CI_AND_RELEASE_GATES.md +126 -41
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +34 -14
- package/docs/LEGACY_COMPATIBILITY.md +10 -6
- package/docs/ONBOARDING.md +5 -3
- package/docs/OPERATIONS.md +5 -1
- package/docs/PERMISSION_MODE.md +14 -9
- package/docs/TRUST_MODEL.md +13 -6
- package/docs/USABILITY_AUDIT.md +5 -0
- package/docs/WHY_LATTICE.md +6 -4
- package/docs/kg-schema.md +7 -3
- package/docs/mcp-tools.md +73 -79
- package/docs/security-model.md +6 -3
- package/lattice_brain/__init__.py +1 -1
- package/lattice_brain/graph/_kg_common/__init__.py +1 -54
- package/lattice_brain/graph/_kg_common/text.py +14 -450
- package/lattice_brain/ingestion/__init__.py +6 -3
- package/lattice_brain/multimodal/__init__.py +9 -3
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/agent_worker_seam.py +12 -1
- package/latticeai/api/models.py +18 -110
- package/latticeai/api/search.py +7 -30
- package/latticeai/api/worker_compute.py +53 -107
- package/latticeai/api/worker_seams.py +17 -2
- package/latticeai/core/http_origin.py +3 -3
- package/latticeai/core/messages.py +0 -5
- package/latticeai/core/policy.py +1 -6
- package/latticeai/core/quiet.py +1 -20
- package/latticeai/core/security.py +29 -83
- package/latticeai/core/sessions.py +95 -4
- package/latticeai/core/users.py +0 -38
- package/latticeai/models/router/catalog.py +2 -2
- package/latticeai/models/router/generation.py +81 -14
- package/latticeai/models/router/loading.py +41 -5
- package/latticeai/runtime/access_runtime.py +7 -4
- package/latticeai/runtime/build_phases/features.py +8 -31
- package/latticeai/runtime/build_phases/foundation.py +7 -16
- package/latticeai/runtime/build_phases/web.py +3 -3
- package/latticeai/runtime/build_phases/worker_profile.py +21 -28
- package/latticeai/runtime/runtime_context.py +0 -2
- package/latticeai/services/architecture_readiness.py +18 -19
- package/latticeai/services/process_audit.py +1 -22
- package/latticeai/services/product_readiness.py +33 -11
- package/latticeai/services/voice_capture.py +8 -28
- package/latticeai/tools/__init__.py +6 -46
- package/latticeai/tools/commands.py +9 -15
- package/latticeai/tools/knowledge.py +0 -6
- package/package.json +3 -5
- package/requirements.txt +0 -1
- package/scripts/check_current_release_docs.mjs +1 -1
- package/scripts/check_openapi_drift.mjs +3 -2
- package/scripts/check_server_i18n.mjs +5 -4
- package/scripts/compose_openapi.py +2 -1
- package/scripts/export_openapi.py +5 -4
- package/scripts/gen_worker_allowlist_fixture.py +2 -2
- package/scripts/openapi_route_families.json +14 -73
- package/scripts/release_screen_claims.json +131 -27
- package/src-tauri/Cargo.lock +11 -10
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/tauri.conf.json +1 -1
- package/static/app/asset-manifest.json +41 -41
- package/static/app/assets/{Act-BPcVAbOL.js → Act-B4WT81kh.js} +1 -1
- package/static/app/assets/AdminConsole--Wf71m-o.js +1 -0
- package/static/app/assets/{Brain-CT92Kos0.js → Brain-CtYaa26c.js} +2 -2
- package/static/app/assets/BrainHome-Be2VPJEc.js +2 -0
- package/static/app/assets/BrainSignals-C0__xgpG.js +1 -0
- package/static/app/assets/Capture-DdNi5Peb.js +1 -0
- package/static/app/assets/Chronicle-B3hNveeI.js +1 -0
- package/static/app/assets/CommandPalette-CIsnSsFL.js +1 -0
- package/static/app/assets/Library-Bl5XClFV.js +1 -0
- package/static/app/assets/LivingBrain-DjkTB_gh.js +1 -0
- package/static/app/assets/{ProductFlow-DXBC6brE.js → ProductFlow-DCUNRNHs.js} +1 -1
- package/static/app/assets/{ReviewCard-HXRle3qq.js → ReviewCard-CD3yWvUB.js} +2 -2
- package/static/app/assets/System-BJ6jQ_SL.js +1 -0
- package/static/app/assets/arrow-left-6_28Z0qH.js +1 -0
- package/static/app/assets/{bot-Cn8bWRuq.js → bot-Bc3Q27YR.js} +1 -1
- package/static/app/assets/brain-B9BDrMTe.js +1 -0
- package/static/app/assets/{button-Ct9f2_oT.js → button-D6JcpYcf.js} +1 -1
- package/static/app/assets/circle-check-BFu9lD-3.js +1 -0
- package/static/app/assets/{circle-pause-CmzC_apg.js → circle-pause-BGMiV8UU.js} +1 -1
- package/static/app/assets/{circle-play-D8mW2aQ7.js → circle-play-DoanLHnd.js} +1 -1
- package/static/app/assets/{cpu-DZcdd0PZ.js → cpu-DwzNf82m.js} +1 -1
- package/static/app/assets/{download-bv1KEPGQ.js → download-Ddw49yCV.js} +1 -1
- package/static/app/assets/{folder-open-d-Pip5gr.js → folder-open-Brd6Kvto.js} +1 -1
- package/static/app/assets/{hard-drive-D20iavUb.js → hard-drive-Bu-DTJdB.js} +1 -1
- package/static/app/assets/index-CGdg_aq9.css +2 -0
- package/static/app/assets/{index-Do83hDzJ.js → index-CWKRRsLW.js} +4 -4
- package/static/app/assets/input-CEqsxtil.js +1 -0
- package/static/app/assets/{link-2-BPJOFlAy.js → link-2-DZ4OA5tJ.js} +1 -1
- package/static/app/assets/{permissionCopy-ChdJd493.js → permissionCopy-D9TR0F8b.js} +1 -1
- package/static/app/assets/primitives-DORg7Z_7.js +1 -0
- package/static/app/assets/search-0NQ21wXe.js +1 -0
- package/static/app/assets/{share-2-YNX_NtMU.js → share-2-BC5FirFv.js} +1 -1
- package/static/app/assets/{shield-alert-DuQ3zrVL.js → shield-alert-DUbR2W2s.js} +1 -1
- package/static/app/assets/textarea-jtQcRSXo.js +1 -0
- package/static/app/assets/{useFocusTrap-ZVI98jaW.js → useFocusTrap-HRemcWId.js} +1 -1
- package/static/app/assets/{useMutation-CVC4qv_D.js → useMutation-DqlFE-Bw.js} +1 -1
- package/static/app/assets/{useQuery-C7BeG4HU.js → useQuery-BizqBNGw.js} +1 -1
- package/static/app/assets/utils-WgW4V69R.js +4 -0
- package/static/app/assets/workspace-DSek3jCY.js +1 -0
- package/static/app/index.html +4 -4
- package/static/sw.js +1 -1
- package/lattice_brain/ingestion/pipeline.py +0 -108
- package/latticeai/api/local_files.py +0 -44
- package/latticeai/api/tools.py +0 -126
- package/latticeai/api/voice_capture.py +0 -32
- package/latticeai/core/agent_permission.py +0 -85
- package/scripts/agent_eval.py +0 -34
- package/scripts/brain_quality_eval.py +0 -37
- package/scripts/check_legacy_debt.mjs +0 -91
- package/scripts/check_python.py +0 -100
- package/scripts/chunking_parity_corpus.py +0 -449
- package/scripts/generate_agent_parity_fixtures.py +0 -771
- package/scripts/generate_chunking_parity_fixtures.py +0 -259
- package/static/app/assets/AdminConsole-Bw1ATQL0.js +0 -1
- package/static/app/assets/BrainHome-CFBkt1K_.js +0 -2
- package/static/app/assets/BrainSignals-ReLWF2H8.js +0 -1
- package/static/app/assets/Capture-BsTokYkk.js +0 -1
- package/static/app/assets/Chronicle-B6f0T9id.js +0 -1
- package/static/app/assets/CommandPalette-CuvjTv1u.js +0 -1
- package/static/app/assets/Library-BGJbG9Hd.js +0 -1
- package/static/app/assets/LivingBrain-DGYK_Jsa.js +0 -1
- package/static/app/assets/System-CMHSO9qM.js +0 -1
- package/static/app/assets/arrow-left-BfmkskWx.js +0 -1
- package/static/app/assets/brain-CQJberbE.js +0 -1
- package/static/app/assets/circle-check-DruOxB-4.js +0 -1
- package/static/app/assets/index-D9x-kSNy.css +0 -2
- package/static/app/assets/input-BLXVNmj1.js +0 -1
- package/static/app/assets/primitives-Cv5tbZBY.js +0 -1
- package/static/app/assets/search-CT9aho2j.js +0 -1
- package/static/app/assets/textarea-DqwLnli4.js +0 -1
- package/static/app/assets/utils-CiFtIdZq.js +0 -4
- package/static/app/assets/workspace-DQz9vIId.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as e,d as t,h as n,o as r,t as i,v as a,w as o,x as s,y as c}from"./utils-WgW4V69R.js";import{r as l,t as u}from"./useQuery-BizqBNGw.js";import{t as d}from"./useMutation-DqlFE-Bw.js";import{t as f}from"./arrow-left-6_28Z0qH.js";import{t as p}from"./search-0NQ21wXe.js";import{a as m,d as h,u as g}from"./index-CWKRRsLW.js";import{t as _}from"./button-D6JcpYcf.js";import"./workspace-DSek3jCY.js";var v=a(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),y=o(e()),b=s();function x({onBack:e}){let r=l(),a=c(e=>e.language),[o,s]=y.useState({q:``,actor:``,action:``,severity:``,limit:50}),{summaryQ:u,statsQ:p,usersQ:v,auditQ:x,securityQ:M,securityEventsQ:N,policiesQ:P,rolesQ:F,retentionQ:I,indexQ:L,agentRuntimeQ:R,toolRegistryQ:z,healthSummaryQ:B}=S(o),V=d({mutationFn:t.rebuildIndex,onSuccess:()=>void r.invalidateQueries({queryKey:[`indexStatus`]})}),H=i(v.data?.data),U=i(x.data?.data?.recent_events),W=i(N.data?.data?.events),G=i(P.data?.data?.policies),K=i(F.data?.data?.roles),q=I.data?.data||{},J=B.data?.data||B.data,Y=J?.status===`attention`||typeof J?.issue_count==`number`&&J.issue_count>0;return(0,b.jsxs)(`main`,{className:`admin-console`,"aria-label":n(a,`admin.aria.console`),children:[(0,b.jsxs)(`header`,{className:`admin-console-header`,children:[(0,b.jsxs)(`button`,{className:`admin-back-button`,type:`button`,onClick:e,children:[(0,b.jsx)(f,{className:`h-4 w-4`}),n(a,`admin.back`)]}),(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`span`,{children:n(a,`admin.kicker`)}),(0,b.jsx)(`h1`,{children:n(a,`admin.title`)}),(0,b.jsx)(`p`,{children:n(a,`admin.body`)})]}),(0,b.jsx)(m,{compact:!0})]}),(0,b.jsxs)(`section`,{className:`admin-metrics-statement`,"aria-label":n(a,`admin.overview`),children:[(0,b.jsxs)(`div`,{className:`admin-metrics-statement-main`,children:[(0,b.jsx)(g,{className:`h-4 w-4 ${Y?`is-warn`:`is-ok`}`}),(0,b.jsx)(`span`,{children:Y?n(a,`admin.health.attention`,{count:String(J?.issue_count||1)}):n(a,`admin.health.ok`)})]}),(0,b.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:n(a,`admin.summaryStatement`,{users:H.length,logs:U.length+W.length,security:O(M.data?.data,`status`)||(M.data?.ok?n(a,`admin.status.ready`):n(a,`admin.status.unavailable`)),index:O(L.data?.data,`status`)||(L.data?.ok?n(a,`admin.status.indexed`):n(a,`admin.status.unknown`))})})]}),(0,b.jsxs)(`section`,{className:`admin-accordion-list flex flex-col gap-4 mt-4`,children:[(0,b.jsxs)(`details`,{className:`admin-accordion-details border border-border rounded-lg bg-card p-4`,open:!0,children:[(0,b.jsx)(`summary`,{className:`font-semibold text-base cursor-pointer mb-3`,children:(0,b.jsxs)(`h2`,{className:`inline font-semibold text-base`,children:[n(a,`admin.panel.users`),` · `,n(a,`admin.panel.people`)]})}),(0,b.jsx)(T,{title:n(a,`admin.panel.users`),eyebrow:n(a,`admin.panel.people`),children:(0,b.jsx)(E,{items:H.slice(0,8),empty:n(a,`admin.empty.users`),render:e=>{let t=e;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`strong`,{children:j(t.name||t.email||t.id,n(a,`admin.fallback.localUser`))}),(0,b.jsx)(`span`,{children:j(t.role||t.status||t.workspace_id,n(a,`admin.fallback.member`))})]})}})})]}),(0,b.jsxs)(`details`,{className:`admin-accordion-details border border-border rounded-lg bg-card p-4`,children:[(0,b.jsx)(`summary`,{className:`font-semibold text-base cursor-pointer mb-3`,children:(0,b.jsxs)(`h2`,{className:`inline font-semibold text-base`,children:[n(a,`admin.panel.roles`),` · `,n(a,`admin.panel.access`)]})}),(0,b.jsx)(T,{title:n(a,`admin.panel.roles`),eyebrow:n(a,`admin.panel.access`),children:(0,b.jsx)(E,{items:K.slice(0,6),empty:n(a,`admin.empty.roles`),render:e=>{let t=e;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`strong`,{children:[j(t.role,n(a,`admin.fallback.role`)),` · `,j(t.members,`0`),` `,n(a,`admin.metric.users`)]}),(0,b.jsx)(`span`,{children:i(t.caps).slice(0,4).map(e=>j(e,``)).filter(Boolean).join(`, `)||n(a,`admin.fallback.noCaps`)})]})}})})]}),(0,b.jsxs)(`details`,{className:`admin-accordion-details border border-border rounded-lg bg-card p-4`,children:[(0,b.jsx)(`summary`,{className:`font-semibold text-base cursor-pointer mb-3`,children:(0,b.jsxs)(`h2`,{className:`inline font-semibold text-base`,children:[n(a,`admin.panel.logs`),` · `,n(a,`admin.panel.audit`)]})}),(0,b.jsxs)(T,{title:n(a,`admin.panel.logs`),eyebrow:n(a,`admin.panel.audit`),children:[(0,b.jsx)(w,{language:a,filters:o,onChange:s,matched:x.data?.data?.filters}),(0,b.jsx)(E,{items:U.slice(0,8),empty:n(a,`admin.empty.audit`),render:e=>D(e,a)})]})]}),(0,b.jsxs)(`details`,{className:`admin-accordion-details border border-border rounded-lg bg-card p-4`,children:[(0,b.jsx)(`summary`,{className:`font-semibold text-base cursor-pointer mb-3`,children:(0,b.jsxs)(`h2`,{className:`inline font-semibold text-base`,children:[n(a,`admin.panel.securityEvents`),` · `,n(a,`admin.panel.protection`)]})}),(0,b.jsx)(T,{title:n(a,`admin.panel.securityEvents`),eyebrow:n(a,`admin.panel.protection`),children:(0,b.jsx)(E,{items:W.slice(0,8),empty:n(a,`admin.empty.security`),render:e=>D(e,a)})})]}),(0,b.jsxs)(`details`,{className:`admin-accordion-details border border-border rounded-lg bg-card p-4`,children:[(0,b.jsx)(`summary`,{className:`font-semibold text-base cursor-pointer mb-3`,children:(0,b.jsxs)(`h2`,{className:`inline font-semibold text-base`,children:[n(a,`admin.panel.brainOps`),` · `,n(a,`admin.panel.maintenance`)]})}),(0,b.jsxs)(T,{title:n(a,`admin.panel.brainOps`),eyebrow:n(a,`admin.panel.maintenance`),children:[(0,b.jsxs)(`div`,{className:`admin-operation`,children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`strong`,{children:k(L.data?.data,a)}),(0,b.jsx)(`span`,{children:A(u.data?.data)||A(p.data?.data)||n(a,`admin.brain.summaryFallback`)})]}),(0,b.jsxs)(_,{variant:`outline`,size:`sm`,disabled:V.isPending,onClick:()=>V.mutate(),children:[(0,b.jsx)(h,{className:`h-3.5 w-3.5`}),V.isPending?n(a,`admin.brain.rebuilding`):n(a,`admin.brain.rebuild`)]})]}),(0,b.jsxs)(`div`,{className:`admin-policy-strip`,children:[G.slice(0,5).map((e,t)=>{let r=e;return(0,b.jsx)(`span`,{children:j(r.label||r.name||r.id,n(a,`admin.policy.fallback`))},`${j(r.id||r.name,`policy`)}-${t}`)}),G.length?null:(0,b.jsx)(`span`,{children:n(a,`admin.policy.quiet`)})]}),(0,b.jsxs)(`div`,{className:`admin-retention`,children:[(0,b.jsx)(`strong`,{children:n(a,`admin.retention.days`,{days:j(q.retention_days,`90`)})}),(0,b.jsx)(`span`,{children:n(a,`admin.retention.detail`,{events:j(q.retained_events,`0`),candidates:j(q.prune_candidates,`0`)})})]})]})]}),(0,b.jsxs)(`details`,{className:`admin-accordion-details border border-border rounded-lg bg-card p-4`,children:[(0,b.jsx)(`summary`,{className:`font-semibold text-base cursor-pointer mb-3`,children:(0,b.jsxs)(`h2`,{className:`inline font-semibold text-base`,children:[n(a,`admin.panel.runtimeTrust`),` · `,n(a,`admin.panel.contracts`)]})}),(0,b.jsx)(T,{title:n(a,`admin.panel.runtimeTrust`),eyebrow:n(a,`admin.panel.contracts`),children:(0,b.jsx)(C,{runtime:R.data?.data,registry:z.data?.data,language:a})})]})]})]})}function S(e){let n=y.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:u({queryKey:[`adminSummary`],queryFn:t.adminSummary}),statsQ:u({queryKey:[`adminStats`],queryFn:t.adminStats}),usersQ:u({queryKey:[`adminUsers`],queryFn:t.adminUsers}),auditQ:u({queryKey:[`adminAudit`,n],queryFn:()=>t.adminAudit(n)}),securityQ:u({queryKey:[`adminSecurity`],queryFn:t.adminSecurity}),securityEventsQ:u({queryKey:[`adminSecurityEvents`],queryFn:()=>t.adminSecurityEvents(50)}),policiesQ:u({queryKey:[`adminPolicies`],queryFn:t.adminPolicies}),rolesQ:u({queryKey:[`adminRoles`],queryFn:t.adminRoles}),retentionQ:u({queryKey:[`adminLogRetention`],queryFn:t.adminLogRetention}),indexQ:u({queryKey:[`indexStatus`],queryFn:t.indexStatus}),agentRuntimeQ:u({queryKey:[`agentRuntime`],queryFn:t.agentRuntime}),toolRegistryQ:u({queryKey:[`toolRegistryDiagnostics`],queryFn:t.toolRegistryDiagnostics}),healthSummaryQ:u({queryKey:[`adminHealthSummary`],queryFn:t.adminHealthSummary})}}function C({runtime:e,registry:t,language:r}){let i=e?.runtime||{},a=e?.health||{},o=t?.diagnostics||{},s=!!i.ready,c=!!o.ready,l=j(i.unavailable_reason,s?n(r,`admin.runtime.readyDetail`):n(r,`admin.runtime.blockedFallback`));return(0,b.jsxs)(`div`,{className:`admin-runtime-trust`,children:[(0,b.jsxs)(`div`,{className:`admin-runtime-row`,children:[(0,b.jsx)(`strong`,{children:n(r,`admin.runtime.agent`)}),(0,b.jsx)(`span`,{className:s?`is-ok`:`is-warn`,children:s?n(r,`admin.status.ready`):n(r,`admin.status.unavailable`)}),(0,b.jsx)(`small`,{children:l})]}),(0,b.jsxs)(`div`,{className:`admin-runtime-row`,children:[(0,b.jsx)(`strong`,{children:n(r,`admin.runtime.tools`)}),(0,b.jsx)(`span`,{className:c?`is-ok`:`is-warn`,children:c?n(r,`admin.runtime.aligned`):n(r,`admin.runtime.drift`)}),(0,b.jsx)(`small`,{children:n(r,`admin.runtime.toolCounts`,{registered:j(o.registered_tools,`0`),governed:j(o.governed_tools,`0`),described:j(o.described_tools,`0`)})})]}),(0,b.jsxs)(`div`,{className:`admin-policy-strip`,children:[(0,b.jsx)(`span`,{children:n(r,`admin.runtime.mode`,{mode:j(i.mode,`unknown`)})}),(0,b.jsx)(`span`,{children:n(r,`admin.runtime.execution`,{mode:j(i.execution_mode,`unknown`)})}),(0,b.jsx)(`span`,{children:n(r,`admin.runtime.health`,{status:j(a.status,`unknown`)})})]})]})}function w({filters:e,matched:t,onChange:r,language:i}){return(0,b.jsxs)(`div`,{className:`admin-log-filters`,"aria-label":n(i,`admin.filters.label`),children:[(0,b.jsxs)(`label`,{children:[(0,b.jsx)(p,{className:`h-3.5 w-3.5`}),(0,b.jsx)(`input`,{value:e.q,onChange:e=>r(t=>({...t,q:e.target.value})),placeholder:n(i,`admin.filters.search`),"aria-label":n(i,`admin.filters.searchAria`)})]}),(0,b.jsxs)(`label`,{children:[(0,b.jsx)(v,{className:`h-3.5 w-3.5`}),(0,b.jsxs)(`select`,{value:e.severity,onChange:e=>r(t=>({...t,severity:e.target.value})),"aria-label":n(i,`admin.filters.severityAria`),children:[(0,b.jsx)(`option`,{value:``,children:n(i,`admin.filters.all`)}),(0,b.jsx)(`option`,{value:`informational`,children:n(i,`admin.filters.informational`)}),(0,b.jsx)(`option`,{value:`notice`,children:n(i,`admin.filters.notice`)}),(0,b.jsx)(`option`,{value:`warning`,children:n(i,`admin.filters.warning`)}),(0,b.jsx)(`option`,{value:`high`,children:n(i,`admin.filters.high`)})]})]}),(0,b.jsx)(`span`,{children:n(i,`admin.filters.matched`,{count:j(t?.matched_events,`0`)})})]})}function T({eyebrow:e,title:t,children:n}){return(0,b.jsxs)(`section`,{className:`admin-panel`,children:[(0,b.jsxs)(`div`,{className:`admin-panel-head`,children:[(0,b.jsx)(`span`,{children:e}),(0,b.jsx)(`h2`,{children:t})]}),n]})}function E({items:e,empty:t,render:n}){return e.length?(0,b.jsx)(`div`,{className:`admin-list`,children:e.map((e,t)=>(0,b.jsx)(`div`,{className:`admin-list-row`,children:n(e)},t))}):(0,b.jsx)(`div`,{className:`admin-empty`,children:t})}function D(e,t){let r=j(e.action||e.event||e.type||e.name,n(t,`admin.log.event`)),i=j(e.actor||e.user||e.user_id||e.workspace_id,n(t,`admin.log.system`)),a=j(e.timestamp||e.time||e.created_at||e.ts,n(t,`admin.log.recently`));return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`strong`,{children:r}),(0,b.jsxs)(`span`,{children:[i,` · `,a]})]})}function O(e,t){return M(r(e)?e:{},[t,`health`,`state`,`overall_status`])}function k(e,t){let i=r(e)?e:{},a=i.documents??i.document_count??i.docs,o=i.chunks??i.chunk_count??i.vectors;return a!==void 0||o!==void 0?`${j(a,`0`)} docs · ${j(o,`0`)} chunks`:M(i,[`message`,`detail`,`status`],n(t,`admin.index.ready`))}function A(e){return M(r(e)?e:{},[`summary`,`message`,`status`,`detail`])}function j(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 M(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}export{x as AdminConsole};
|