pi-mega-compact 0.20.39 → 0.20.41
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/dist/config/vector-cortex-ml5d.js +28 -0
- package/dist/config/vector-cortex-ml5e.js +30 -0
- package/dist/config/vector-cortex.js +6 -6
- package/dist/config.js +1 -1
- package/dist/extensions/dashboard-server/api-contracts/cortex-improve.js +14 -0
- package/dist/extensions/dashboard-server/api-contracts/endpoints/registry-ext.js +13 -0
- package/dist/extensions/dashboard-server/route-dispatch.js +5 -1
- package/dist/extensions/dashboard-server/routes-cortex-improve.js +220 -0
- package/dist/extensions/dashboard-server/routes-rag-settings-vector-cortex.js +2 -0
- package/dist/extensions/dashboard-server/routes.js +1 -0
- package/dist/extensions/mega-runtime/dashboard-snapshot.js +2 -2
- package/dist/src/config/vector-cortex-ml5d.js +28 -0
- package/dist/src/config/vector-cortex-ml5e.js +30 -0
- package/dist/src/config/vector-cortex.js +6 -6
- package/dist/src/config.js +1 -1
- package/dist/src/vector-cortex/encoder/promotion.js +58 -0
- package/dist/src/vector-cortex/improve.js +24 -0
- package/dist/vector-cortex/encoder/promotion.js +58 -0
- package/dist/vector-cortex/improve.js +24 -0
- package/extensions/dashboard-client/dist/assets/{AreaChart-DjXp8u2Y.js → AreaChart-BT7YPcp7.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{AreaChart-DjXp8u2Y.js.map → AreaChart-BT7YPcp7.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{BarChart-BZbus-dR.js → BarChart-DceGcBUh.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{BarChart-BZbus-dR.js.map → BarChart-DceGcBUh.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{CacheTab-DQ2CjxVW.js → CacheTab-B9lCouRl.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{CacheTab-DQ2CjxVW.js.map → CacheTab-B9lCouRl.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{EventsTab-DUpnOV1p.js → EventsTab-oqJ11jY7.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{EventsTab-DUpnOV1p.js.map → EventsTab-oqJ11jY7.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{HealthTab-Bul_xjcn.js → HealthTab-Dbosf2Ik.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{HealthTab-Bul_xjcn.js.map → HealthTab-Dbosf2Ik.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-DLUjdKd3.js → MaintenanceTab-6TiApCVE.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MaintenanceTab-DLUjdKd3.js.map → MaintenanceTab-6TiApCVE.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/MemoryMapTab-cBsE4mTf.js +2 -0
- package/extensions/dashboard-client/dist/assets/{MemoryMapTab-BFy0hb6F.js.map → MemoryMapTab-cBsE4mTf.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{MetricsTab-BpYuUkq3.js → MetricsTab-CX-X9hhy.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{MetricsTab-BpYuUkq3.js.map → MetricsTab-CX-X9hhy.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{OverviewTab-z7yuT-uq.js → OverviewTab-CpPYaTJF.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{OverviewTab-z7yuT-uq.js.map → OverviewTab-CpPYaTJF.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{ReposTab-ClORoDy_.js → ReposTab-D_Ot4QbU.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{ReposTab-ClORoDy_.js.map → ReposTab-D_Ot4QbU.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CUpehIt9.js → SessionsTab-BUzO3iGK.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{SessionsTab-CUpehIt9.js.map → SessionsTab-BUzO3iGK.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{SetupTab-Cii80Fdz.js → SetupTab-Be4w9v4j.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{SetupTab-Cii80Fdz.js.map → SetupTab-Be4w9v4j.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-BV2iCSdV.js → TimeSavedCard-Cx-g6CXH.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{TimeSavedCard-BV2iCSdV.js.map → TimeSavedCard-Cx-g6CXH.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{TurnsTab-1T86rHnD.js → TurnsTab-CC_7T7ad.js} +3 -3
- package/extensions/dashboard-client/dist/assets/{TurnsTab-1T86rHnD.js.map → TurnsTab-CC_7T7ad.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{VcStatusBadge-DKPleja8.js → VcStatusBadge-ZTItXSiH.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{VcStatusBadge-DKPleja8.js.map → VcStatusBadge-ZTItXSiH.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-DgAUZ4Pg.js +2 -0
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-DgAUZ4Pg.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/WikiTab-DnKupXTv.js +2 -0
- package/extensions/dashboard-client/dist/assets/{WikiTab-DKTILa1M.js.map → WikiTab-DnKupXTv.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/button-CFt3e0yc.js +2 -0
- package/extensions/dashboard-client/dist/assets/{button-5fSU8BZj.js.map → button-CFt3e0yc.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{card-BFUnpXE_.js → card-C6ZjsHrl.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{card-BFUnpXE_.js.map → card-C6ZjsHrl.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/client-extra-DdEdGTIe.js +2 -0
- package/extensions/dashboard-client/dist/assets/client-extra-DdEdGTIe.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-xCzi6pWn.js → generateCategoricalChart-C9_fu2hc.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{generateCategoricalChart-xCzi6pWn.js.map → generateCategoricalChart-C9_fu2hc.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{index-DqjmZ88m.js → index-DY81TY4f.js} +11 -11
- package/extensions/dashboard-client/dist/assets/index-DY81TY4f.js.map +1 -0
- package/extensions/dashboard-client/dist/assets/{switch-CeZUPf_e.js → switch-BOqa1d6x.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{switch-CeZUPf_e.js.map → switch-BOqa1d6x.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{toggle-MQQwdkwD.js → toggle-DToFaIEd.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{toggle-MQQwdkwD.js.map → toggle-DToFaIEd.js.map} +1 -1
- package/extensions/dashboard-client/dist/assets/{useSSE-BetS7QHN.js → useSSE-CZqkhU18.js} +2 -2
- package/extensions/dashboard-client/dist/assets/{useSSE-BetS7QHN.js.map → useSSE-CZqkhU18.js.map} +1 -1
- package/extensions/dashboard-client/dist/index.html +1 -1
- package/extensions/dashboard-client/src/api/client-extra.ts +19 -1
- package/extensions/dashboard-client/src/components/ModelImprovementCard.tsx +141 -0
- package/extensions/dashboard-client/src/tabs/VectorCortexTab.tsx +6 -0
- package/extensions/dashboard-client/src/types/cortex-improve.ts +42 -0
- package/extensions/dashboard-server/api-contracts/cortex-improve.ts +82 -0
- package/extensions/dashboard-server/api-contracts/endpoints/registry-ext.ts +31 -0
- package/extensions/dashboard-server/api-contracts/index.ts +12 -0
- package/extensions/dashboard-server/route-dispatch.ts +4 -0
- package/extensions/dashboard-server/routes-cortex-improve.ts +256 -0
- package/extensions/dashboard-server/routes-rag-settings-vector-cortex.ts +12 -0
- package/extensions/dashboard-server/routes.ts +4 -0
- package/extensions/mega-runtime/dashboard-snapshot.ts +2 -2
- package/package.json +1 -1
- package/src/config/vector-cortex-ml5d.ts +30 -0
- package/src/config/vector-cortex-ml5e.ts +32 -0
- package/src/config/vector-cortex.ts +6 -6
- package/src/config.ts +2 -0
- package/src/vector-cortex/encoder/promotion.ts +129 -0
- package/src/vector-cortex/improve.ts +28 -0
- package/extensions/dashboard-client/dist/assets/MemoryMapTab-BFy0hb6F.js +0 -2
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-BRzvd_pU.js +0 -2
- package/extensions/dashboard-client/dist/assets/VectorCortexTab-BRzvd_pU.js.map +0 -1
- package/extensions/dashboard-client/dist/assets/WikiTab-DKTILa1M.js +0 -2
- package/extensions/dashboard-client/dist/assets/button-5fSU8BZj.js +0 -2
- package/extensions/dashboard-client/dist/assets/client-extra-BZbw21wu.js +0 -2
- package/extensions/dashboard-client/dist/assets/client-extra-BZbw21wu.js.map +0 -1
- package/extensions/dashboard-client/dist/assets/index-DqjmZ88m.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as c,j as e,I as K,J as H,K as U,u as w,L as Y,M as J,O as z,B as y,P as Q}from"./index-DqjmZ88m.js";import{B as v}from"./button-5fSU8BZj.js";import{T as A}from"./toggle-MQQwdkwD.js";import{C as N,c as k}from"./card-BFUnpXE_.js";import{u as X}from"./useSSE-BetS7QHN.js";function Z(t,o){const m=t.length>14?t.slice(0,14)+"…":t;return o?`${m} (${o})`:m}function ee({topicId:t,others:o,members:m,onMutated:i}){const[n,a]=c.useState(null),[d,h]=c.useState(""),[l,u]=c.useState(""),[r,s]=c.useState([]),[p,b]=c.useState(!1),[g,f]=c.useState(null);function j(x){a(x),f(null),h(""),u(""),s([])}async function q(){b(!0),f(null);try{if(n==="rename")await K(t,d);else if(n==="merge"){if(!l){f("Pick a target topic."),b(!1);return}await H(t,l)}else if(n==="split"){if(r.length===0){f("Pick at least one memory."),b(!1);return}await U(t,r)}a(null),i()}catch(x){f(x instanceof Error?x.message:String(x))}finally{b(!1)}}return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(v,{variant:"outline",size:"sm",onClick:()=>j("rename"),children:"Rename"}),e.jsx(v,{variant:"outline",size:"sm",onClick:()=>j("merge"),children:"Merge into…"}),e.jsx(v,{variant:"outline",size:"sm",onClick:()=>j("split"),children:"Split"})]}),n&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:()=>a(null),children:e.jsxs("div",{className:"w-full max-w-md rounded-lg border border-border bg-bg-card p-5 shadow-xl",role:"dialog","aria-modal":"true","aria-label":n,onClick:x=>x.stopPropagation(),children:[e.jsx("h3",{className:"mb-3 font-heading text-base font-semibold text-foreground",children:n==="rename"?"Rename topic":n==="merge"?"Merge into…":"Split topic"}),n==="rename"&&e.jsx("input",{type:"text",value:d,placeholder:"New label (empty = back to auto)","aria-label":"New topic label",autoFocus:!0,onChange:x=>h(x.target.value),className:"w-full rounded-md border border-border bg-bg-elevated/50 px-3 py-2 text-sm outline-none transition-colors focus:border-primary"}),n==="merge"&&e.jsxs("select",{value:l,"aria-label":"Target topic",onChange:x=>u(x.target.value),className:"w-full rounded-md border border-border bg-bg-elevated/50 px-3 py-2 text-sm outline-none transition-colors focus:border-primary",children:[e.jsx("option",{value:"",children:"Pick a target topic…"}),o.map(x=>e.jsx("option",{value:x.id,children:x.label},x.id))]}),n==="split"&&e.jsx("div",{className:"max-h-56 overflow-auto rounded-md border border-border/60",children:m.map(x=>e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 border-b border-border/40 px-3 py-2 text-sm last:border-0 hover:bg-bg-elevated/40",children:[e.jsx("input",{type:"checkbox",checked:r.includes(x.memoryId),onChange:G=>{s(E=>G.target.checked?[...E,x.memoryId]:E.filter(V=>V!==x.memoryId))},className:"accent-primary"}),e.jsx("span",{className:"font-mono text-xs text-muted-foreground",children:Z(x.memoryId,x.method)})]},x.memoryId))}),g&&e.jsx("p",{className:"mt-3 text-sm text-danger",children:g}),e.jsxs("div",{className:"mt-4 flex justify-end gap-2",children:[e.jsx(v,{variant:"ghost",size:"sm",onClick:()=>a(null),children:"Cancel"}),e.jsx(v,{size:"sm",onClick:q,disabled:p,children:p?"…":"Confirm"})]})]})})]})}const L=720,M=56,T=10,R=3;function C(t){return t?new Date(t).toLocaleDateString():"—"}function te({topicId:t}){const{data:o,error:m}=w(c.useCallback(()=>Y(t),[t]),{});if(m)return e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-4 text-sm text-muted-foreground",children:"Timeline unavailable."});if(!o)return e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-4 text-sm text-muted-foreground",children:"Loading timeline…"});const{buckets:i,total:n}=o,a=Math.max(...i.map(l=>l.count),1),d=i.length*(T+R),h=Math.min(1,(L-24)/Math.max(d,1));return e.jsxs("div",{className:"rounded-lg border border-border bg-bg-card p-4",children:[e.jsxs("h3",{className:"mb-2 font-heading text-sm font-semibold text-muted-foreground",children:["Memory timeline"," ",e.jsxs("span",{className:"font-normal text-xs",children:["(",n," memory",n!==1?"ies":"y"," · daily buckets)"]})]}),i.length===0?e.jsx("p",{className:"text-sm text-muted-foreground",children:"No timeline data yet."}):e.jsxs(e.Fragment,{children:[e.jsx("svg",{width:"100%",height:M,viewBox:`0 0 ${Math.max(L,d*h)} ${M}`,role:"img","aria-label":"Memory additions over time",children:i.map((l,u)=>{const r=u*(T+R)*h,s=Math.max(3,l.count/a*(M-20));return e.jsx("rect",{x:r,y:M-6-s,width:Math.max(2,T*h),height:s,rx:2,fill:"hsl(var(--primary))",opacity:.85,children:e.jsx("title",{children:`${C(l.bucket)}: ${l.count}`})},`${l.bucket}-${u}`)})}),e.jsxs("p",{className:"mt-1 text-xs text-muted-foreground",children:["First display: ",C(i[0].bucket)," · last:",C(i[i.length-1].bucket)]})]})]})}function B(t){return t?new Date(t).toLocaleString():"—"}const re={"kmeans+tfidf":"kmeans",merge:"merge",split:"split",manual:"manual"};function se({topicId:t,onBack:o}){const[m,i]=c.useState(0),n=c.useCallback(()=>i(s=>s+1),[]),{data:a,error:d,loading:h}=w(c.useCallback(()=>J(t),[t,m]),{}),{data:l}=w(c.useCallback(()=>z(),[]),{}),u=c.useMemo(()=>{const s=new Map;for(const p of l?.topics??[])s.set(p.id,p.label);return s},[l]);if(d&&!a)return e.jsxs("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-danger",children:["Error loading topic: ",d.message]});if(h&&!a)return e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-muted-foreground",children:"Loading topic…"});if(!a)return e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-muted-foreground",children:"No topic data available."});const r=(l?.topics??[]).filter(s=>s.id!==t).map(s=>({id:s.id,label:s.label}));return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(v,{variant:"outline",size:"sm",onClick:o,children:"← Wiki"}),e.jsx("h2",{className:"font-heading text-lg font-semibold",children:a.topic.label}),a.topic.edited&&e.jsx(y,{variant:"outline",children:"edited"}),e.jsxs(y,{variant:"default",children:[a.provenance.length," memories"]})]}),e.jsx(ee,{topicId:t,others:r,members:a.provenance,onMutated:n})]}),a.summary&&e.jsx(N,{children:e.jsxs(k,{children:[e.jsx("h3",{className:"mb-1 font-heading text-sm font-semibold text-muted-foreground",children:"Summary"}),e.jsx("p",{className:"text-sm leading-relaxed text-foreground/90",children:a.summary})]})}),a.keyMemories.length>0&&e.jsx(N,{children:e.jsxs(k,{children:[e.jsx("h3",{className:"mb-2 font-heading text-sm font-semibold text-muted-foreground",children:"Key memories"}),e.jsx("ul",{className:"flex flex-col gap-2",children:a.keyMemories.map(s=>e.jsxs("li",{className:"rounded-md border border-border/60 bg-bg-elevated/40 p-3 text-sm",children:[e.jsx("p",{className:"line-clamp-3 text-foreground/90",children:s.content}),e.jsxs("p",{className:"mt-1 text-xs text-muted-foreground",children:[s.memoryId," · ",B(s.timestamp)]})]},s.memoryId))})]})}),e.jsx(te,{topicId:t}),a.provenance.length>0&&e.jsx(N,{children:e.jsxs(k,{children:[e.jsx("h3",{className:"mb-2 font-heading text-sm font-semibold text-muted-foreground",children:"Provenance"}),e.jsx("div",{className:"max-h-72 overflow-auto rounded-md border border-border/60",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{className:"sticky top-0 bg-bg-card",children:e.jsxs("tr",{className:"border-b border-border text-left text-xs uppercase text-muted-foreground",children:[e.jsx("th",{className:"px-3 py-2 font-medium",children:"Memory"}),e.jsx("th",{className:"px-3 py-2 font-medium",children:"Session"}),e.jsx("th",{className:"px-3 py-2 font-medium",children:"Assigned"}),e.jsx("th",{className:"px-3 py-2 font-medium",children:"Method"})]})}),e.jsx("tbody",{children:a.provenance.map(s=>e.jsxs("tr",{className:"border-b border-border/40 last:border-0",children:[e.jsx("td",{className:"px-3 py-1.5 font-mono text-xs",children:s.memoryId}),e.jsx("td",{className:"px-3 py-1.5 text-xs text-muted-foreground",children:s.sessionId||"unknown"}),e.jsx("td",{className:"px-3 py-1.5 text-xs text-muted-foreground",children:B(s.assignedAt)}),e.jsx("td",{className:"px-3 py-1.5",children:e.jsx(y,{variant:"outline",children:re[s.method]??s.method})})]},s.memoryId))})]})})]})}),a.relatedTopicIds.length>0&&e.jsx(N,{children:e.jsxs(k,{children:[e.jsx("h3",{className:"mb-2 font-heading text-sm font-semibold text-muted-foreground",children:"Related topics"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:a.relatedTopicIds.map(s=>e.jsx(y,{variant:"accent",children:u.get(s)??s},s))})]})})]})}const O=900,I=560,F=6e4,W=.012,$=.012,D=.8,S=2,ne=.02,oe=250;function ae(t){return t==="merge"?"#f59e0b":"#22c55e"}function le(t){return t.map((o,m)=>{const i=2*Math.PI*m/Math.max(t.length,1);return{id:o.id,label:o.label,memoryCount:o.memoryCount,pos:{x:Math.cos(i)*220+O/2,y:Math.sin(i)*220+I/2},vx:0,vy:0}})}function ie(t){const{nodes:o,edges:m}=t;for(let i=0;i<o.length;i++){const n=o[i];let a=0,d=0;for(let l=0;l<o.length;l++){if(i===l)continue;const u=n.pos.x-o[l].pos.x,r=n.pos.y-o[l].pos.y,s=u*u+r*r||1,p=Math.sqrt(s);a+=u/p*(F/s),d+=r/p*(F/s)}for(const l of m){let u;if(l.source===i)u=l.target;else if(l.target===i)u=l.source;else continue;const r=o[u].pos.x-n.pos.x,s=o[u].pos.y-n.pos.y;a+=r*W,d+=s*W}a-=n.pos.x*$,d-=n.pos.y*$,n.vx=(n.vx+a)*D,n.vy=(n.vy+d)*D;const h=Math.sqrt(n.vx*n.vx+n.vy*n.vy);h>S&&(n.vx=n.vx/h*S,n.vy=n.vy/h*S),h>ne&&(n.pos.x+=n.vx,n.pos.y+=n.vy)}}function de({data:t}){const o=c.useRef(null),m=c.useRef(0),[,i]=c.useState(0),[n,a]=c.useState(0);c.useEffect(()=>{const r=le(t.nodes),s=new Map(r.map((g,f)=>[g.id,f])),p=t.edges.map(g=>{const f=s.get(g.source),j=s.get(g.target);return f===void 0||j===void 0||f===j?null:{source:f,target:j,kind:g.kind}}).filter(g=>g!==null),b=new Map;for(const g of t.edges)b.set(g.source,Math.max(b.get(g.source)??0,g.at)),b.set(g.target,Math.max(b.get(g.target)??0,g.at));return o.current={nodes:r,edges:p,timeByActivity:b},i(1),()=>cancelAnimationFrame(m.current)},[t]),c.useEffect(()=>{if(!o.current)return;let r=0;const s=()=>{!o.current||r>=oe||(ie(o.current),r++,i(r),m.current=requestAnimationFrame(s))};return m.current=requestAnimationFrame(s),()=>cancelAnimationFrame(m.current)},[t]);const d=o.current,h=Math.max(t.buckets.length-1,0),l=c.useMemo(()=>{if(t.buckets.length===0)return null;const r=Math.min(n,t.buckets.length-1);return t.buckets[r].bucket},[n,t.buckets]);if(!d||t.nodes.length===0)return e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-muted-foreground",children:"No evolution data yet. Merge or split topics to see connections, then check back after a rebuild."});const u=l==null||!d.timeByActivity?null:new Set([...d.timeByActivity.entries()].filter(([,r])=>r<=l).map(([r])=>r));return e.jsxs("div",{className:"flex flex-col gap-3",children:[t.buckets.length>1&&e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("input",{type:"range",min:0,max:h,value:n,onChange:r=>a(Number(r.target.value)),className:"w-full accent-primary","aria-label":"Scrub through topic activity time"}),e.jsx("span",{className:"whitespace-nowrap text-xs text-muted-foreground",children:l?new Date(l).toLocaleDateString():"all"})]}),e.jsxs("svg",{width:"100%",height:I,viewBox:`0 0 ${O} ${I}`,role:"img","aria-label":"Topic evolution graph",className:"rounded-lg border border-border/60 bg-bg-card",children:[d.edges.map((r,s)=>{const p=d.nodes[r.source],b=d.nodes[r.target];return e.jsx("line",{x1:p.pos.x,y1:p.pos.y,x2:b.pos.x,y2:b.pos.y,stroke:ae(r.kind),strokeWidth:1.5,strokeDasharray:r.kind==="split"?"4 3":void 0,opacity:.5},`edge-${s}`)}),d.nodes.map((r,s)=>{const p=u==null||u.size===0||u.has(r.id),b=Math.min(32,8+r.memoryCount*3);return e.jsxs("g",{opacity:p?1:.15,children:[e.jsx("circle",{cx:r.pos.x,cy:r.pos.y,r:b,fill:"hsl(var(--primary) / 0.18)",stroke:"hsl(var(--primary))",strokeWidth:1.5}),e.jsx("text",{x:r.pos.x,y:r.pos.y+4,textAnchor:"middle",fontSize:"10px",fill:"hsl(var(--foreground))",className:"pointer-events-none",children:r.label.length>16?r.label.slice(0,15)+"…":r.label})]},`node-${s}`)})]}),e.jsxs("div",{className:"flex items-center gap-4 text-xs text-muted-foreground",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"inline-block h-0.5 w-6 bg-amber-500"})," merge"]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"inline-block h-0.5 w-6 border-t border-dashed border-green-500"}),"split"]}),e.jsxs("span",{children:[t.nodes.length," nodes · ",t.edges.length," curation events"]})]})]})}function ce(t){return t.type==="wiki_rebuilt"}function me(){const{data:t,error:o,loading:m,refetch:i}=w(c.useCallback(()=>Q(),[]),{pollInterval:6e4}),{events:n}=X(),a=c.useMemo(()=>{const d=n.filter(ce);return d.length===0?null:d[d.length-1].ts},[n]);return c.useEffect(()=>{a!=null&&i()},[a,i]),o&&!t?e.jsxs("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-danger",children:["Error loading evolution graph: ",o.message]}):m&&!t?e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-muted-foreground",children:"Loading evolution graph…"}):e.jsx(N,{children:e.jsxs(k,{children:[e.jsx("h3",{className:"mb-2 font-heading text-sm font-semibold text-muted-foreground",children:"Topic evolution"}),t?e.jsx(de,{data:t}):e.jsx("p",{className:"text-sm text-muted-foreground",children:"No data yet."})]})})}const ue={label:"accent",merge:"warning",split:"default"};function _(t){return t?new Date(t).toLocaleString():"—"}function P({view:t,onChange:o}){return e.jsxs("div",{className:"flex gap-1",children:[e.jsx(A,{pressed:t==="list",onClick:()=>o("list"),children:"Topics"}),e.jsx(A,{pressed:t==="evolution",onClick:()=>o("evolution"),children:"Evolution"})]})}function xe({entry:t,onOpen:o}){return e.jsxs("tr",{className:"border-b border-border/60 last:border-0 hover:bg-bg-elevated/40",children:[e.jsx("td",{className:"py-2 pr-3",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium text-foreground",children:t.label}),t.edited&&e.jsx(y,{variant:"outline",children:"edited"})]})}),e.jsx("td",{className:"py-2 pr-3 text-sm text-muted-foreground",children:t.memoryCount}),e.jsx("td",{className:"py-2 pr-3",children:e.jsx("div",{className:"flex flex-wrap gap-1",children:t.overrideKinds.map(m=>e.jsx(y,{variant:ue[m]??"default",children:m},m))})}),e.jsx("td",{className:"py-2 pr-3 text-xs text-muted-foreground",children:_(t.lastUpdated)}),e.jsx("td",{className:"py-2 text-right",children:e.jsx(v,{variant:"outline",size:"sm",onClick:()=>o(t.id),children:"Open"})})]})}function je(){const{data:t,loading:o,error:m}=w(c.useCallback(()=>z(),[]),{pollInterval:3e4}),[i,n]=c.useState("list"),[a,d]=c.useState(""),[h,l]=c.useState(null),u=c.useMemo(()=>{if(!t)return[];const r=a.trim().toLowerCase();return r?t.topics.filter(s=>s.label.toLowerCase().includes(r)):t.topics},[t,a]);return h?e.jsx(se,{topicId:h,onBack:()=>l(null)}):i==="evolution"?e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(P,{view:i,onChange:n}),e.jsx(me,{})]}):m&&!t?e.jsxs("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-danger",children:["Error loading wiki: ",m.message]}):o&&!t?e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-muted-foreground",children:"Loading wiki…"}):t?t.totalTopics===0?e.jsxs("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-muted-foreground",children:[e.jsx("h3",{className:"mb-2 font-heading text-base text-foreground",children:"Wiki"}),e.jsx("p",{children:"No topics yet. Topics are auto-generated after every Nth compaction from real memory embeddings (k-means + TF-IDF)."}),e.jsx("p",{className:"mt-2",children:"Check back after a few more compaction cycles."})]}):e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{className:"flex flex-wrap items-end justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(P,{view:i,onChange:n}),e.jsxs("div",{children:[e.jsx("h2",{className:"font-heading text-lg font-semibold",children:"Wiki"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[t.totalTopics," topic",t.totalTopics!==1?"s":""," ·"," ",t.totalMemories," assigned memori",t.totalMemories!==1?"es":"y",t.lastRebuildAt!=null&&e.jsxs(e.Fragment,{children:[" · last rebuild ",_(t.lastRebuildAt)]})]})]})]}),e.jsx("input",{type:"search",placeholder:"Filter topics by label…","aria-label":"Filter topics by label",value:a,onChange:r=>d(r.target.value),className:"w-64 rounded-md border border-border bg-bg-elevated/50 px-3 py-2 text-sm outline-none transition-colors focus:border-primary"})]}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-border bg-bg-card",children:e.jsxs("table",{className:"w-full table-fixed text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-border text-left text-xs uppercase text-muted-foreground",children:[e.jsx("th",{className:"w-1/3 px-4 py-2 font-medium",children:"Label"}),e.jsx("th",{className:"w-16 py-2 font-medium",children:"Memories"}),e.jsx("th",{className:"w-40 py-2 font-medium",children:"Badges"}),e.jsx("th",{className:"w-40 py-2 font-medium",children:"Last updated"}),e.jsx("th",{className:"w-20 py-2"})]})}),e.jsxs("tbody",{children:[u.map(r=>e.jsx(xe,{entry:r,onOpen:l},r.id)),u.length===0&&e.jsx("tr",{children:e.jsxs("td",{colSpan:5,className:"px-4 py-6 text-center text-muted-foreground",children:['No topics match "',a,'".']})})]})]})})]}):e.jsx("div",{className:"rounded-lg border border-border bg-bg-card p-6 text-sm text-muted-foreground",children:"No wiki data available."})}export{je as default};
|
|
2
|
-
//# sourceMappingURL=WikiTab-DKTILa1M.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,j as s,n as i,a0 as d}from"./index-DqjmZ88m.js";const l=d("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 glow-primary",outline:"border border-border bg-transparent hover:bg-bg-elevated hover:text-foreground",ghost:"hover:bg-bg-elevated hover:text-foreground",glass:"glass-panel electric-hover"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),u=o.forwardRef(({className:e,variant:r,size:t,...a},n)=>s.jsx("button",{ref:n,className:i(l({variant:r,size:t,className:e})),...a}));u.displayName="Button";export{u as B};
|
|
2
|
-
//# sourceMappingURL=button-5fSU8BZj.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{z as s,E as t,A as r}from"./index-DqjmZ88m.js";function n(){return s(t.modelThresholds.path)}function d(e){return r(t.modelThresholds.path,e)}async function l(e){const o=await fetch(`${t.modelThresholds.path}/${encodeURIComponent(e)}`,{method:"DELETE"});if(!o.ok)throw new Error(`deleteModelThreshold ${o.status}`);return o.json()}function a(e=50){return s(`${t.prefixStability.path}?limit=${e}`)}export{a,l as d,n as f,d as p};
|
|
2
|
-
//# sourceMappingURL=client-extra-BZbw21wu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-extra-BZbw21wu.js","sources":["../../src/api/client-extra.ts"],"sourcesContent":["/**\n * dashboard-client/src/api/client-extra.ts — newer dashboard API wrappers.\n *\n * Extracted from client.ts (delegate-shell split) so client.ts stays under the\n * 400-line extension soft limit. Holds the newest endpoint groups: per-model\n * compaction thresholds (S52) and the PC-C prefix-stability trend. client.ts\n * re-exports these so downstream imports are unchanged.\n */\n\nimport { ENDPOINTS } from \"@contracts\";\nimport type {\n\tModelThresholdsResponse,\n\tModelThresholdPutRequest,\n\tModelThresholdPutResponse,\n\tPrefixStabilityResponse,\n} from \"@contracts\";\nimport { getJson, putJson } from \"./client-http.js\";\n\n/** GET /api/model-thresholds — list known models with their thresholds. */\nexport function fetchModelThresholds(): Promise<ModelThresholdsResponse> {\n\treturn getJson<ModelThresholdsResponse>(ENDPOINTS.modelThresholds.path);\n}\n\n/** PUT /api/model-thresholds — upsert a per-model override. */\nexport function putModelThreshold(\n\tbody: ModelThresholdPutRequest,\n): Promise<ModelThresholdPutResponse> {\n\treturn putJson<ModelThresholdPutResponse>(\n\t\tENDPOINTS.modelThresholds.path,\n\t\tbody,\n\t);\n}\n\n/** DELETE /api/model-thresholds/:modelId — delete an override (revert). */\nexport async function deleteModelThreshold(\n\tmodelId: string,\n): Promise<{ deleted: boolean }> {\n\tconst res = await fetch(\n\t\t`${ENDPOINTS.modelThresholds.path}/${encodeURIComponent(modelId)}`,\n\t\t{ method: \"DELETE\" },\n\t);\n\tif (!res.ok) throw new Error(`deleteModelThreshold ${res.status}`);\n\treturn res.json() as Promise<{ deleted: boolean }>;\n}\n\n/** Prompt-cache per-turn stable-prefix ratio trend (PC-C). */\nexport function fetchPrefixStability(\n\tlimit = 50,\n): Promise<PrefixStabilityResponse> {\n\treturn getJson<PrefixStabilityResponse>(\n\t\t`${ENDPOINTS.prefixStability.path}?limit=${limit}`,\n\t);\n}\n"],"names":["fetchModelThresholds","getJson","ENDPOINTS","putModelThreshold","body","putJson","deleteModelThreshold","modelId","res","fetchPrefixStability","limit"],"mappings":"sDAmBO,SAASA,GAAyD,CACxE,OAAOC,EAAiCC,EAAU,gBAAgB,IAAI,CACvE,CAGO,SAASC,EACfC,EACqC,CACrC,OAAOC,EACNH,EAAU,gBAAgB,KAC1BE,CAAA,CAEF,CAGA,eAAsBE,EACrBC,EACgC,CAChC,MAAMC,EAAM,MAAM,MACjB,GAAGN,EAAU,gBAAgB,IAAI,IAAI,mBAAmBK,CAAO,CAAC,GAChE,CAAE,OAAQ,QAAA,CAAS,EAEpB,GAAI,CAACC,EAAI,GAAI,MAAM,IAAI,MAAM,wBAAwBA,EAAI,MAAM,EAAE,EACjE,OAAOA,EAAI,KAAA,CACZ,CAGO,SAASC,EACfC,EAAQ,GAC2B,CACnC,OAAOT,EACN,GAAGC,EAAU,gBAAgB,IAAI,UAAUQ,CAAK,EAAA,CAElD"}
|