import"../chunks/Bzak7iHL.js";import{o as Ut}from"../chunks/CNjeV5xa.js";import{p as Mt,e as r,d as a,r as e,t as S,g as t,u as H,a as Et,s as rt,h as $,f as Rt,c as Vt}from"../chunks/CvjSAYrz.js";import{d as Ht,s as o,a as at,e as Ft}from"../chunks/FzvEaXMa.js";import{i as Y}from"../chunks/ciN1mm2W.js";import{e as V,i as Yt}from"../chunks/DTnG8poT.js";import{a as m,c as Jt,f as h}from"../chunks/BsvCUYx-.js";import{s as yt}from"../chunks/CNfQDikv.js";import{s as bt}from"../chunks/DPl3NjBv.js";import{s as wt}from"../chunks/Bhad70Ss.js";function Xt(y,x,A=3){const g={};for(const v of y){g[v]={};for(const u of y)g[v][u]={count:0,topNames:[]}}for(const v of x){const u=v.origin_project;if(g[u])for(const L of v.transferred_to)g[u][L]&&(g[u][L].count+=1,g[u][L].topNames.push(v.name))}const d=Math.max(0,A);for(const v of y)for(const u of y)g[v][u].topNames=g[v][u].topNames.slice(0,d);return g}function te(y,x){let A=0;for(const g of y){const d=x[g];if(d)for(const v of y){const u=d[v];u&&u.count>A&&(A=u.count)}}return A}function ee(y,x){var g;const A=[];for(const d of y)for(const v of y){const u=(g=x[d])==null?void 0:g[v];u&&u.count>0&&A.push({from:d,to:v,count:u.count,topNames:u.topNames})}return A.sort((d,v)=>v.count-d.count)}function re(y){return y?y.length>12?y.slice(0,11)+"…":y:""}var ae=h('
'),ne=h(''),se=h(' '),oe=h('
'),ie=h('
Top patterns
'),ce=h('
No transfers recorded
'),le=h('
'),de=h('
No cross-project transfers recorded yet.
'),ve=h('
'),ue=h(''),fe=h('
');function pe(y,x){Mt(x,!0);const A=H(()=>Xt(x.projects,x.patterns)),g=H(()=>te(x.projects,t(A))||1);let d=rt(null);function v(s){if(s===0)return"background: rgba(255,255,255,0.02); border-color: rgba(99,102,241,0.05);";const n=s/t(g),f=.1+n*.7;if(n<.5)return`background: rgba(99, 102, 241, ${f.toFixed(3)}); border-color: rgba(129, 140, 248, ${(f*.6).toFixed(3)}); box-shadow: 0 0 ${(n*14).toFixed(1)}px rgba(129, 140, 248, ${(n*.45).toFixed(3)});`;{const p=(n-.5)*2,l=Math.round(99+69*p),k=Math.round(102+-17*p),b=Math.round(241+6*p);return`background: rgba(${l}, ${k}, ${b}, ${f.toFixed(3)}); border-color: rgba(192, 132, 252, ${(f*.7).toFixed(3)}); box-shadow: 0 0 ${(6+n*18).toFixed(1)}px rgba(192, 132, 252, ${(n*.55).toFixed(3)});`}}function u(s){if(s===0)return"text-muted";const n=s/t(g);return n>=.5?"text-bright font-semibold":n>=.2?"text-text":"text-dim"}function L(s,n,f){const l=s.currentTarget.getBoundingClientRect();$(d,{from:n,to:f,x:l.left+l.width/2,y:l.top},!0)}function j(){$(d,null)}const B=re;function nt(s,n){return x.selectedCell!==null&&x.selectedCell.from===s&&x.selectedCell.to===n}const I=H(()=>ee(x.projects,t(A)));var Q=fe(),J=r(Q),X=r(J),st=a(r(X),2),ot=a(r(st),4),jt=r(ot,!0);e(ot),e(st),e(X);var it=a(X,2),gt=r(it),q=r(gt),tt=r(q),ct=a(r(tt));V(ct,16,()=>x.projects,s=>s,(s,n)=>{var f=ae(),p=r(f),l=r(p),k=r(l,!0);e(l),e(p),e(f),S(b=>{yt(f,"title",n),o(k,b)},[()=>B(n)]),m(s,f)}),e(tt),e(q);var xt=a(q);V(xt,20,()=>x.projects,s=>s,(s,n)=>{var f=se(),p=r(f),l=r(p,!0);e(p);var k=a(p);V(k,16,()=>x.projects,b=>b,(b,N)=>{const P=H(()=>t(A)[n][N]),W=H(()=>n===N);var F=ne(),z=r(F),M=r(z),U=r(M,!0);e(M),e(z),e(F),S((E,Z,T)=>{wt(z,`${E??""} ${Z??""} ${t(W)&&t(P).count>0?"border-style: dashed;":""}`),yt(z,"aria-label",`${t(P).count??""} patterns from ${n??""} to ${N??""}`),bt(M,1,`text-[11px] ${T??""}`),o(U,t(P).count||"")},[()=>v(t(P).count),()=>nt(n,N)?"outline: 2px solid var(--color-dream-glow); outline-offset: 1px;":"",()=>u(t(P).count)]),at("click",z,()=>x.onCellClick(n,N)),Ft("mouseenter",z,E=>L(E,n,N)),Ft("mouseleave",z,j),m(b,F)}),e(f),S(b=>{yt(p,"title",n),o(l,b)},[()=>B(n)]),m(s,f)}),e(xt),e(gt),e(it);var Tt=a(it,2);{var Ct=s=>{const n=H(()=>t(A)[t(d).from][t(d).to]);var f=le(),p=r(f),l=r(p),k=r(l,!0);e(l);var b=a(l,4),N=r(b,!0);e(b),e(p);var P=a(p,2),W=r(P),F=a(W),z=r(F);e(F),e(P);var M=a(P,2);{var U=Z=>{var T=ie(),G=a(r(T),2);V(G,17,()=>t(n).topNames,Yt,(K,dt)=>{var vt=oe(),mt=r(vt);e(vt),S(()=>o(mt,`· ${t(dt)??""}`)),m(K,vt)}),e(T),m(Z,T)},E=Z=>{var T=ce();m(Z,T)};Y(M,Z=>{t(n).topNames.length>0?Z(U):Z(E,!1)})}e(f),S((Z,T)=>{wt(f,`left: ${t(d).x??""}px; top: ${t(d).y-12}px; transform: translate(-50%, -100%);`),o(k,Z),o(N,T),o(W,`${t(n).count??""} `),o(z,`${t(n).count===1?"pattern":"patterns"} transferred`)},[()=>B(t(d).from),()=>B(t(d).to)]),m(s,f)};Y(Tt,s=>{t(d)&&s(Ct)})}e(J);var _t=a(J,2),lt=r(_t),i=r(lt);e(lt);var c=a(lt,2);{var _=s=>{var n=de();m(s,n)},C=s=>{var n=Jt(),f=Rt(n);V(f,17,()=>t(I),p=>p.from+"->"+p.to,(p,l)=>{var k=ue(),b=r(k),N=r(b),P=r(N),W=r(P,!0);e(P);var F=a(P,4),z=r(F,!0);e(F),e(N);var M=a(N,2);{var U=T=>{var G=ve(),K=r(G,!0);e(G),S(dt=>o(K,dt),[()=>t(l).topNames.join(" · ")]),m(T,G)};Y(M,T=>{t(l).topNames.length>0&&T(U)})}e(b);var E=a(b,2),Z=r(E,!0);e(E),e(k),S((T,G,K)=>{bt(k,1,`flex w-full items-center justify-between rounded-lg border border-synapse/10 bg-white/[0.02] p-3 transition hover:border-synapse/30 hover:bg-white/[0.04] ${T??""}`),o(W,G),o(z,K),o(Z,t(l).count)},[()=>nt(t(l).from,t(l).to)?"ring-1 ring-dream-glow":"",()=>B(t(l).from),()=>B(t(l).to)]),at("click",k,()=>x.onCellClick(t(l).from,t(l).to)),m(p,k)}),m(s,n)};Y(c,s=>{t(I).length===0?s(_):s(C,!1)})}e(_t),e(Q),S(()=>{o(jt,t(g)),o(i,`${t(I).length??""} transfer pair${t(I).length===1?"":"s"} · tap to filter`)}),m(y,Q),Et()}Ht(["click"]);var ge=h(''),xe=h(`
Couldn't load pattern transfers
`),_e=h('
'),me=h('
Filtered to
'),he=h('
No matching patterns
'),ye=h('
  • '),be=h(''),we=h('
    ',1),je=h('

    Cross-Project Intelligence

    Patterns learned here, applied there.

    ');function Fe(y,x){Mt(x,!0);const A=["ErrorHandling","AsyncConcurrency","Testing","Architecture","Performance","Security"],g={ErrorHandling:"var(--color-decay)",AsyncConcurrency:"var(--color-synapse-glow)",Testing:"var(--color-recall)",Architecture:"var(--color-dream-glow)",Performance:"var(--color-warning)",Security:"var(--color-node-pattern)"};let d=rt("All"),v=rt(Vt({projects:[],patterns:[]})),u=rt(!0),L=rt(null),j=rt(null);async function B(){return await new Promise(_=>setTimeout(_,420)),{projects:["vestige","nullgaze","injeranet","nemotron","orbit-wars","nightvision","aimo3"],patterns:[{name:"Result with thiserror context",category:"ErrorHandling",origin_project:"vestige",transferred_to:["nullgaze","injeranet","nemotron","nightvision"],transfer_count:4,last_used:"2026-04-18T14:22:00Z",confidence:.94},{name:"Axum error middleware with tower-http",category:"ErrorHandling",origin_project:"nullgaze",transferred_to:["vestige","nightvision"],transfer_count:2,last_used:"2026-04-17T09:10:00Z",confidence:.88},{name:"Graceful shutdown on SIGINT/SIGTERM",category:"ErrorHandling",origin_project:"vestige",transferred_to:["vestige","injeranet","nightvision"],transfer_count:3,last_used:"2026-04-15T22:01:00Z",confidence:.82},{name:"Python try/except with contextual re-raise",category:"ErrorHandling",origin_project:"aimo3",transferred_to:["nemotron"],transfer_count:1,last_used:"2026-04-10T11:30:00Z",confidence:.7},{name:"Arc> reader/writer split",category:"AsyncConcurrency",origin_project:"vestige",transferred_to:["nullgaze","injeranet"],transfer_count:2,last_used:"2026-04-14T16:42:00Z",confidence:.91},{name:"tokio::select! for cancellation propagation",category:"AsyncConcurrency",origin_project:"injeranet",transferred_to:["vestige","nightvision"],transfer_count:2,last_used:"2026-04-19T08:05:00Z",confidence:.86},{name:"Bounded mpsc channel with backpressure",category:"AsyncConcurrency",origin_project:"injeranet",transferred_to:["vestige","nullgaze"],transfer_count:2,last_used:"2026-04-12T13:18:00Z",confidence:.83},{name:"asyncio.gather with return_exceptions",category:"AsyncConcurrency",origin_project:"nemotron",transferred_to:["aimo3"],transfer_count:1,last_used:"2026-04-08T20:45:00Z",confidence:.72},{name:"Property-based tests with proptest",category:"Testing",origin_project:"vestige",transferred_to:["nullgaze","injeranet"],transfer_count:2,last_used:"2026-04-11T10:22:00Z",confidence:.89},{name:"Snapshot testing with insta",category:"Testing",origin_project:"nullgaze",transferred_to:["vestige"],transfer_count:1,last_used:"2026-04-16T14:00:00Z",confidence:.81},{name:"Vitest + Playwright dashboard harness",category:"Testing",origin_project:"vestige",transferred_to:["nullgaze","injeranet"],transfer_count:2,last_used:"2026-04-19T18:30:00Z",confidence:.87},{name:"One-variable-at-a-time Kaggle submission",category:"Testing",origin_project:"aimo3",transferred_to:["nemotron","orbit-wars"],transfer_count:2,last_used:"2026-04-20T07:15:00Z",confidence:.95},{name:"Kaggle pre-flight Input-panel screenshot",category:"Testing",origin_project:"aimo3",transferred_to:["nemotron","orbit-wars"],transfer_count:2,last_used:"2026-04-20T06:50:00Z",confidence:.98},{name:"SvelteKit 2 + Svelte 5 runes dashboard",category:"Architecture",origin_project:"vestige",transferred_to:["nullgaze","nightvision"],transfer_count:2,last_used:"2026-04-19T12:10:00Z",confidence:.92},{name:"glass-panel + cosmic-dark design system",category:"Architecture",origin_project:"vestige",transferred_to:["nullgaze","nightvision","injeranet"],transfer_count:3,last_used:"2026-04-20T09:00:00Z",confidence:.9},{name:"Tauri 2 + Rust/Axum sidecar",category:"Architecture",origin_project:"injeranet",transferred_to:["nightvision"],transfer_count:1,last_used:"2026-04-13T19:44:00Z",confidence:.78},{name:"MCP server with 23 stateful tools",category:"Architecture",origin_project:"vestige",transferred_to:["injeranet"],transfer_count:1,last_used:"2026-04-17T11:05:00Z",confidence:.85},{name:"USearch HNSW index for vector search",category:"Performance",origin_project:"vestige",transferred_to:["nullgaze"],transfer_count:1,last_used:"2026-04-09T15:20:00Z",confidence:.88},{name:"SQLite WAL mode for concurrent reads",category:"Performance",origin_project:"vestige",transferred_to:["nullgaze","injeranet","nightvision"],transfer_count:3,last_used:"2026-04-18T21:33:00Z",confidence:.93},{name:"vLLM prefix caching at 0.35 mem util",category:"Performance",origin_project:"aimo3",transferred_to:["nemotron"],transfer_count:1,last_used:"2026-04-11T08:00:00Z",confidence:.84},{name:"Cross-encoder rerank at k=30",category:"Performance",origin_project:"vestige",transferred_to:["nullgaze"],transfer_count:1,last_used:"2026-04-14T17:55:00Z",confidence:.79},{name:"Rotated auth token in env var",category:"Security",origin_project:"vestige",transferred_to:["nullgaze","injeranet","nightvision"],transfer_count:3,last_used:"2026-04-16T20:12:00Z",confidence:.96},{name:"Parameterized SQL via rusqlite params!",category:"Security",origin_project:"vestige",transferred_to:["nullgaze"],transfer_count:1,last_used:"2026-04-10T13:40:00Z",confidence:.89},{name:"664-pattern secret scanner",category:"Security",origin_project:"nullgaze",transferred_to:["vestige","nightvision","injeranet"],transfer_count:3,last_used:"2026-04-20T05:30:00Z",confidence:.97},{name:"CSP header with nonce-based script allow",category:"Security",origin_project:"nullgaze",transferred_to:["nightvision"],transfer_count:1,last_used:"2026-04-05T16:08:00Z",confidence:.8}]}}async function nt(){$(u,!0),$(L,null);try{$(v,await B(),!0)}catch(i){$(L,i instanceof Error?i.message:"Failed to load pattern transfers",!0),$(v,{projects:[],patterns:[]},!0)}finally{$(u,!1)}}Ut(()=>nt());const I=H(()=>t(d)==="All"?t(v).patterns:t(v).patterns.filter(i=>i.category===t(d))),Q=H(()=>[...t(j)?t(I).filter(c=>c.origin_project===t(j).from&&c.transferred_to.includes(t(j).to)):t(I)].sort((c,_)=>_.transfer_count-c.transfer_count)),J=H(()=>t(I).reduce((i,c)=>i+c.transferred_to.length,0)),X=H(()=>t(v).projects.length),st=H(()=>t(I).length);function ot(i){$(d,i,!0),$(j,null)}function jt(i,c){t(j)&&t(j).from===i&&t(j).to===c?$(j,null):$(j,{from:i,to:c},!0)}function it(){$(j,null)}function gt(i){const c=new Date(i).getTime(),_=Date.now(),C=Math.floor((_-c)/864e5);return C<=0?"today":C===1?"1d ago":C<30?`${C}d ago`:`${Math.floor(C/30)}mo ago`}var q=je(),tt=a(r(q),2),ct=r(tt),xt=a(ct,2);V(xt,16,()=>A,i=>i,(i,c)=>{var _=ge(),C=r(_),s=a(C);e(_),S(()=>{bt(_,1,`flex items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium transition ${t(d)===c?"bg-synapse/25 text-synapse-glow":"text-dim hover:bg-white/[0.04] hover:text-text"}`),wt(C,`background: ${g[c]??""}`),o(s,` ${c??""}`)}),at("click",_,()=>ot(c)),m(i,_)}),e(tt);var Tt=a(tt,2);{var Ct=i=>{var c=xe(),_=a(r(c),2),C=r(_,!0);e(_);var s=a(_,2);e(c),S(()=>o(C,t(L))),at("click",s,nt),m(i,c)},_t=i=>{var c=_e();m(i,c)},lt=i=>{var c=we(),_=Rt(c),C=r(_),s=r(C);pe(s,{get projects(){return t(v).projects},get patterns(){return t(I)},get selectedCell(){return t(j)},onCellClick:jt});var n=a(s,2);{var f=O=>{var R=me(),D=r(R),w=a(r(D),2),ut=r(w,!0);e(w);var ft=a(w,4),pt=r(ft,!0);e(ft),e(D);var et=a(D,2);e(R),S(()=>{o(ut,t(j).from),o(pt,t(j).to)}),at("click",et,it),m(O,R)};Y(n,O=>{t(j)&&O(f)})}e(C);var p=a(C,2),l=r(p),k=a(r(l),2),b=r(k);e(k),e(l);var N=a(l,2);{var P=O=>{var R=he(),D=a(r(R),2),w=r(D,!0);e(D),e(R),S(()=>o(w,t(j)?"No patterns transferred from this origin to this destination.":"No patterns in this category.")),m(O,R)},W=O=>{var R=be();V(R,21,()=>t(Q),D=>D.name,(D,w)=>{var ut=ye(),ft=r(ut),pt=r(ft),et=r(pt),It=r(et,!0);e(et);var kt=a(et,2),ht=r(kt),Gt=r(ht,!0);e(ht);var Pt=a(ht,2),Ot=r(Pt,!0);e(Pt),e(kt);var zt=a(kt,2),Zt=r(zt),Dt=r(Zt,!0);e(Zt);var St=a(Zt,4),Kt=r(St);e(St),e(zt),e(pt);var Nt=a(pt,2),At=r(Nt),Bt=r(At,!0);e(At);var $t=a(At,2),Qt=r($t);e($t),e(Nt),e(ft),e(ut),S((Wt,qt)=>{yt(et,"title",t(w).name),o(It,t(w).name),wt(ht,`border-color: ${g[t(w).category]??""}66; color: ${g[t(w).category]??""}; background: ${g[t(w).category]??""}1a;`),o(Gt,t(w).category),o(Ot,Wt),o(Dt,t(w).origin_project),o(Kt,`${t(w).transferred_to.length??""} ${t(w).transferred_to.length===1?"project":"projects"}`),o(Bt,t(w).transfer_count),o(Qt,`${qt??""}%`)},[()=>gt(t(w).last_used),()=>(t(w).confidence*100).toFixed(0)]),m(D,ut)}),e(R),m(O,R)};Y(N,O=>{t(Q).length===0?O(P):O(W,!1)})}e(p),e(_);var F=a(_,2),z=r(F),M=r(z),U=r(M,!0);e(M);var E=a(M),Z=a(E),T=r(Z,!0);e(Z);var G=a(Z),K=a(G),dt=r(K,!0);e(K);var vt=a(K);e(z);var mt=a(z,2),Lt=r(mt,!0);e(mt),e(F),S(()=>{o(b,`${t(Q).length??""} ${t(Q).length===1?"pattern":"patterns"}`),o(U,t(st)),o(E,` pattern${t(st)===1?"":"s"} across `),o(T,t(X)),o(G,` project${t(X)===1?"":"s"}, `),o(dt,t(J)),o(vt,` total transfer${t(J)===1?"":"s"}`),o(Lt,t(d)==="All"?"All categories":t(d))}),m(i,c)};Y(Tt,i=>{t(L)?i(Ct):t(u)?i(_t,1):i(lt,!1)})}e(q),S(()=>bt(ct,1,`rounded-lg px-3 py-1.5 text-xs font-medium transition ${t(d)==="All"?"bg-synapse/25 text-synapse-glow":"text-dim hover:bg-white/[0.04] hover:text-text"}`)),at("click",ct,()=>ot("All")),m(y,q),Et()}Ht(["click"]);export{Fe as component};