compass-code 0.1.0__py3-none-any.whl
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.
- compass_cli/__init__.py +0 -0
- compass_cli/commands/__init__.py +0 -0
- compass_cli/commands/ingest.py +310 -0
- compass_cli/commands/mcp.py +25 -0
- compass_cli/commands/query.py +181 -0
- compass_cli/commands/serve.py +123 -0
- compass_cli/commands/setup.py +171 -0
- compass_cli/display.py +231 -0
- compass_cli/errors.py +30 -0
- compass_cli/main.py +54 -0
- compass_cli/progress.py +191 -0
- compass_cli/result_views.py +389 -0
- compass_cli/types.py +41 -0
- compass_code-0.1.0.dist-info/METADATA +72 -0
- compass_code-0.1.0.dist-info/RECORD +137 -0
- compass_code-0.1.0.dist-info/WHEEL +4 -0
- compass_code-0.1.0.dist-info/entry_points.txt +2 -0
- compass_core/__init__.py +1 -0
- compass_core/contract/__init__.py +6 -0
- compass_core/contract/errors.py +116 -0
- compass_core/contract/models.py +204 -0
- compass_core/contract/params.py +99 -0
- compass_core/contract/results.py +370 -0
- compass_core/contract/serialize.py +59 -0
- compass_core/contract/types.py +76 -0
- compass_core/errors.py +148 -0
- compass_core/graph/__init__.py +0 -0
- compass_core/graph/db.py +205 -0
- compass_core/graph/schema.py +165 -0
- compass_core/graph/stored_ids.py +133 -0
- compass_core/graph/writer.py +482 -0
- compass_core/index/__init__.py +1 -0
- compass_core/index/freshness.py +55 -0
- compass_core/index/locate.py +155 -0
- compass_core/index/metadata.py +107 -0
- compass_core/ir/__init__.py +0 -0
- compass_core/ir/graph.py +65 -0
- compass_core/ir/models.py +75 -0
- compass_core/languages/__init__.py +1 -0
- compass_core/languages/base.py +26 -0
- compass_core/languages/python/__init__.py +6 -0
- compass_core/languages/python/extractor.py +670 -0
- compass_core/languages/python/import_resolver.py +107 -0
- compass_core/languages/registry.py +89 -0
- compass_core/logger.py +42 -0
- compass_core/phases/__init__.py +0 -0
- compass_core/phases/base.py +58 -0
- compass_core/phases/discovery.py +167 -0
- compass_core/phases/parse.py +80 -0
- compass_core/phases/persistence.py +33 -0
- compass_core/phases/pipeline.py +152 -0
- compass_core/phases/resolution.py +572 -0
- compass_core/phases/symbol_table.py +36 -0
- compass_core/phases/validation.py +76 -0
- compass_core/progress.py +45 -0
- compass_core/py.typed +0 -0
- compass_core/query/__init__.py +1 -0
- compass_core/query/cypher.py +92 -0
- compass_core/query/detail.py +241 -0
- compass_core/query/graph_map.py +127 -0
- compass_core/query/impact.py +273 -0
- compass_core/query/impact_walk.py +352 -0
- compass_core/query/overview.py +221 -0
- compass_core/query/references.py +235 -0
- compass_core/query/rows.py +378 -0
- compass_core/query/search.py +183 -0
- compass_core/query/status.py +49 -0
- compass_core/query/walk_queries.py +202 -0
- compass_core/render.py +408 -0
- compass_core/settings.py +61 -0
- compass_core/shared_types.py +78 -0
- compass_mcp/__init__.py +0 -0
- compass_mcp/guide.py +45 -0
- compass_mcp/py.typed +0 -0
- compass_mcp/server.py +261 -0
- compass_server/__init__.py +5 -0
- compass_server/errors.py +84 -0
- compass_server/main.py +42 -0
- compass_server/py.typed +0 -0
- compass_server/routers/__init__.py +0 -0
- compass_server/routers/query.py +182 -0
- compass_server/settings.py +37 -0
- compass_server/static/404.html +1 -0
- compass_server/static/_next/static/chunks/1629039a.eed2a06658ec4f9c.js +1 -0
- compass_server/static/_next/static/chunks/1ff282bf-bb7c483245264fc9.js +1 -0
- compass_server/static/_next/static/chunks/223.f881a22f446259bf.js +508 -0
- compass_server/static/_next/static/chunks/51fa5c19.6396973222c9d6fd.js +485 -0
- compass_server/static/_next/static/chunks/556.443c1682b6b20128.js +1 -0
- compass_server/static/_next/static/chunks/684-1aa0170f59baf77e.js +1 -0
- compass_server/static/_next/static/chunks/92e71660.3a42d4f70d017951.js +342 -0
- compass_server/static/_next/static/chunks/937-8692224bb6d1b605.js +1 -0
- compass_server/static/_next/static/chunks/app/_not-found/page-2c96ddf295eb6a86.js +1 -0
- compass_server/static/_next/static/chunks/app/layout-4bd0ba4a7d18aff9.js +1 -0
- compass_server/static/_next/static/chunks/app/page-5376a0a98bbd1faa.js +1 -0
- compass_server/static/_next/static/chunks/framework-96dcd958cfe08bd4.js +1 -0
- compass_server/static/_next/static/chunks/main-6dee8e626b16731a.js +1 -0
- compass_server/static/_next/static/chunks/main-app-460e8bc670818718.js +1 -0
- compass_server/static/_next/static/chunks/pages/_app-638a3e7363f92b80.js +1 -0
- compass_server/static/_next/static/chunks/pages/_error-6a72dbbb45cae743.js +1 -0
- compass_server/static/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- compass_server/static/_next/static/chunks/webpack-597057bf48ce4111.js +1 -0
- compass_server/static/_next/static/css/1b0fbfd8dd653f37.css +3 -0
- compass_server/static/_next/static/ctUZeD9K7jQUgLqmBas2L/_buildManifest.js +1 -0
- compass_server/static/_next/static/ctUZeD9K7jQUgLqmBas2L/_ssgManifest.js +1 -0
- compass_server/static/_next/static/media/0086f8992871c45b-s.woff2 +0 -0
- compass_server/static/_next/static/media/034d78ad42e9620c-s.woff2 +0 -0
- compass_server/static/_next/static/media/03b436aa846269de-s.woff2 +0 -0
- compass_server/static/_next/static/media/0484562807a97172-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/08aedeceaf1dcd57-s.woff2 +0 -0
- compass_server/static/_next/static/media/0aa834ed78bf6d07-s.woff2 +0 -0
- compass_server/static/_next/static/media/29a4aea02fdee119-s.woff2 +0 -0
- compass_server/static/_next/static/media/29e7bbdce9332268-s.woff2 +0 -0
- compass_server/static/_next/static/media/36008747766f78c6-s.woff2 +0 -0
- compass_server/static/_next/static/media/39969fcf98a3026e-s.woff2 +0 -0
- compass_server/static/_next/static/media/4de1fea1a954a5b6-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/5c0c2bcbaa4149ca-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/67957d42bae0796d-s.woff2 +0 -0
- compass_server/static/_next/static/media/6d38f9d4e0f4772b-s.woff2 +0 -0
- compass_server/static/_next/static/media/6d664cce900333ee-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/886030b0b59bc5a7-s.woff2 +0 -0
- compass_server/static/_next/static/media/8888a3826f4a3af4-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/939c4f875ee75fbb-s.woff2 +0 -0
- compass_server/static/_next/static/media/a1386beebedccca4-s.woff2 +0 -0
- compass_server/static/_next/static/media/ab00a911ac2adf48-s.woff2 +0 -0
- compass_server/static/_next/static/media/b957ea75a84b6ea7-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/bb3ef058b751a6ad-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/c3bc380753a8436c-s.woff2 +0 -0
- compass_server/static/_next/static/media/cce080f35d014443-s.woff2 +0 -0
- compass_server/static/_next/static/media/db911767852bc875-s.woff2 +0 -0
- compass_server/static/_next/static/media/eafabf029ad39a43-s.p.woff2 +0 -0
- compass_server/static/_next/static/media/f10b8e9d91f3edcb-s.woff2 +0 -0
- compass_server/static/_next/static/media/f911b923c6adde36-s.woff2 +0 -0
- compass_server/static/_next/static/media/fe0777f1195381cb-s.woff2 +0 -0
- compass_server/static/index.html +1 -0
- compass_server/static/index.txt +25 -0
- compass_server/web_bundle.py +27 -0
- compass_server/web_limits.py +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[556],{85556:(e,t,r)=>{r.r(t),r.d(t,{GraphCanvas3D:()=>A});var n=r(59697),l=r(44213),a=r(62651),o=r(40222),i=r(84607);let u=e=>Math.hypot(e.x,e.y,e.z);function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.22,n=u(e),l=u(t);if(n<1e-6||l<1e-6)return 1;let a=Math.min(1,Math.max(0,((e.x*t.x+e.y*t.y+e.z*t.z)/(n*l)+.1)/.3));return r+a*a*(3-2*a)*(1-r)}function s(e,t){return e.x*t.x+e.y*t.y+e.z*t.z<=0}class d{recolor(){this.body.material.uniforms.baseColor.value.set((0,o.rt)("--card")),this.body.material.uniforms.rimColor.value.set((0,o.rt)("--primary")),this.dots.material.color.set((0,o.rt)("--foreground"))}dispose(){for(let e of(this.group.removeFromParent(),[this.body,this.dots]))e.geometry.dispose(),e.material.dispose()}constructor(e){this.group=new i.YJl;let t=.97*e;this.body=new i.eaF(new i.Gu$(t,64,48),new i.BKk({uniforms:{baseColor:{value:new i.Q1f},rimColor:{value:new i.Q1f}},vertexShader:"\n varying vec3 vNormal;\n varying vec3 vView;\n void main() {\n vec4 mv = modelViewMatrix * vec4(position, 1.0);\n vNormal = normalize(normalMatrix * normal);\n vView = normalize(-mv.xyz);\n gl_Position = projectionMatrix * mv;\n }\n",fragmentShader:"\n uniform vec3 baseColor;\n uniform vec3 rimColor;\n varying vec3 vNormal;\n varying vec3 vView;\n void main() {\n float facing = abs(dot(normalize(vNormal), normalize(vView)));\n float rim = pow(1.0 - facing, 3.0);\n vec3 lit = baseColor * (0.8 + 0.2 * facing);\n gl_FragColor = vec4(mix(lit, rimColor, rim * 0.3), 0.92);\n }\n",transparent:!0,depthWrite:!1})),this.body.raycast=()=>{};let r=new i.LoY;for(let e of(r.setAttribute("position",new i.THS(function(e,t){let r=new Float32Array(5400),n=Math.PI*(3-Math.sqrt(5));for(let l=0;l<1800;l++){let a=1===e?0:1-l/(e-1)*2,o=Math.sqrt(1-a*a),i=n*l;r[3*l]=Math.cos(i)*o*t,r[3*l+1]=a*t,r[3*l+2]=Math.sin(i)*o*t}return r}(1800,t),3)),this.dots=new i.ONl(r,new i.BH$({size:1.1,transparent:!0,opacity:.35,depthWrite:!1})),this.dots.raycast=()=>{},[this.body,this.dots]))e.renderOrder=-1,this.group.add(e);this.recolor()}}let f=e=>"string"==typeof e?e:e.id;var p=r(55765),h=r(13131);let y=["--kind-file","--kind-class","--kind-function","--kind-method","--kind-external"];function m(e){let t=document.createElement("canvas");t.width=t.height=128;let r=t.getContext("2d"),n=r.createRadialGradient(64,64,0,64,64,64);return n.addColorStop(0,"".concat(e,"99")),n.addColorStop(.5,"".concat(e,"33")),n.addColorStop(1,"".concat(e,"00")),r.fillStyle=n,r.fillRect(0,0,128,128),r.strokeStyle=e,r.lineWidth=6,r.beginPath(),r.arc(64,64,25.6,0,2*Math.PI),r.stroke(),new i.GOR(t)}let x=null,v=new i.Pq0(0,1,0);function b(){return"".concat((0,o.rt)("--card"),"e0")}let g=new Float32Array(63),z=new WeakSet;function w(e){var t;return"File"===e.type?(t=function(e){let t=e.startsWith("file::")?e.slice(6):e.split("::")[0],r=t.lastIndexOf("/");return -1===r?"":t.slice(0,r)}(e.publicId),(0,o.rt)(y[function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:y.length,r=5381;for(let t=0;t<e.length;t++)r=(r<<5)+r+e.charCodeAt(t)>>>0;return r%t}(t)])):(0,h.Ly)(e.type)}function k(e){return"IMPORTS"!==e.type||"string"==typeof e.source?null:w(e.source)}let M=new WeakMap,C=new WeakMap;function R(e){var t;let r=2*Math.cbrt(null!=(t=h.hD[e.type])?t:4),n=new i.eaF(new i.Gu$(r,16,12),new i.V9B({color:w(e),transparent:!0})),l=new i.eaF(new i.Gu$(2.4*r,8,6),new i.V9B({transparent:!0,opacity:0,depthWrite:!1})),a=new p.A("File"!==e.type?e.label:(e.publicId.startsWith("file::")?e.publicId.slice(6):e.label).split("/").slice(-2).join("/"),8,w(e));a.fontFace="ui-monospace, monospace",a.material.depthWrite=!1,a.padding=1.2,a.borderRadius=1.5,a.backgroundColor=b(),a.position.set(0,r+8+1,0),a.visible=!1;let u=function(e){let t=new i.kxk((!x&&(x=new i.RoJ({map:m((0,o.rt)("--primary")),transparent:!0,depthTest:!1,depthWrite:!1})),x));return t.scale.setScalar(8*e),t.renderOrder=10,t.raycast=()=>{},t.visible=!1,t}(r),c=new i.YJl;return c.add(u,n,l,a),M.set(e,{mesh:n,label:a,halo:u}),c}function S(e){let t=function(e,t,r){let n=new i.LoY;n.setAttribute("position",new i.THS(new Float32Array(g.length),3));let l=new i.N1A(n,new i.mrM({color:e,transparent:!0,depthWrite:!1}));l.frustumCulled=!1,l.raycast=()=>{};let a=new p.A(t,7,r);a.fontFace="ui-monospace, monospace",a.fontWeight="600",a.material.depthWrite=!1,a.padding=1.2,a.borderRadius=1.5,a.backgroundColor=b(),a.raycast=()=>{},a.visible=!1;let o=new i.eaF(new i.qFE(3.2,10,10),new i.V9B({color:e,transparent:!0,depthWrite:!1}));o.raycast=()=>{},o.visible=!1;let u=new i.YJl;return u.add(l,a,o),u.userData.arcLink=!0,{object:u,line:l,label:a,arrow:o,apex:new i.Pq0}}((0,h.eB)(e.type),e.type,(0,h.eB)(e.type));return C.set(e,t),t.object}function F(e){return Math.max(120,30*Math.sqrt(Math.max(e,1)))}function I(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,n=1+140/(Math.hypot(t.x,t.y,t.z)||1);e.controls().autoRotate=!1,e.cameraPosition({x:t.x*n,y:t.y*n,z:t.z*n},t,r)}let A=(0,l.forwardRef)(function(e,t){let{nodes:r,edges:p,totalNodeCount:y,showLabels:A,onNodeClick:E,onNodeDblClick:W,onBackgroundClick:P,focusId:O,selectedId:q}=e,T=(0,l.useRef)(null),B=(0,l.useRef)(null),N=(0,l.useRef)(new Map),D=(0,l.useRef)(F(0)),j=(0,l.useRef)(!1),V=(0,l.useRef)(null),_=(0,l.useRef)({showLabels:A,focusId:null!=O?O:null,focusSet:null}),G=(0,l.useSyncExternalStore)(o.qs,o.tp,()=>0);return(0,l.useImperativeHandle)(t,()=>({zoomIn:()=>{var e;let t=null==(e=B.current)?void 0:e.camera();t&&B.current.cameraPosition({z:.7*t.position.z},void 0,300)},zoomOut:()=>{var e;let t=null==(e=B.current)?void 0:e.camera();t&&B.current.cameraPosition({z:1.4*t.position.z},void 0,300)}})),(0,l.useEffect)(()=>{var e,t,r;if(!T.current)return;let n=new a.A(T.current).backgroundColor("rgba(0,0,0,0)").nodeId("id").nodeThreeObject(R).nodeThreeObjectExtend(!1).nodeLabel(e=>{var t,r,l;let a=s({x:null!=(t=e.x)?t:0,y:null!=(r=e.y)?r:0,z:null!=(l=e.z)?l:0},n.camera().position);return e.id===_.current.focusId||a?"":function(e){let t=e=>e.replace(/[&<>"']/g,e=>"&#".concat(e.charCodeAt(0),";")),r=e.publicId.startsWith("file::")?e.publicId.slice(6):e.publicId.split("::")[0];return"<b>".concat(t(e.label),"</b><br/>").concat(t(e.type)," \xb7 ").concat(t(r))}(e)}).linkThreeObject(S).linkThreeObjectExtend(!1).linkPositionUpdate((e,t,r)=>(function(e,t,r,n){let l=C.get(r);return l&&function(e,t,r,n){let l=function(e,t,r){let n,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.25,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0,o={x:(e.x+t.x)/2,y:(e.y+t.y)/2,z:(e.z+t.z)/2},i=u(o),c=Math.hypot(e.x-t.x,e.y-t.y,e.z-t.z);if(i>1e-6*Math.max(r,1))n={x:o.x/i,y:o.y/i,z:o.z/i};else{let r={x:e.x-t.x,y:e.y-t.y,z:e.z-t.z},l=Math.abs(r.x)<Math.abs(r.y)?{x:1,y:0,z:0}:{x:0,y:1,z:0},a={x:r.y*l.z-r.z*l.y,y:r.z*l.x-r.x*l.z,z:r.x*l.y-r.y*l.x},o=u(a)||1;n={x:a.x/o,y:a.y/o,z:a.z/o}}let s=2*(r+Math.min(c*l,a))-i;return{x:n.x*s,y:n.y*s,z:n.z*s}}(t,r,n,.12,.25*n);!function(e,t,r,n){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Float32Array((n+1)*3);for(let a=0;a<=n;a++){let o=a/n,i=1-o;l[3*a]=i*i*e.x+2*i*o*t.x+o*o*r.x,l[3*a+1]=i*i*e.y+2*i*o*t.y+o*o*r.y,l[3*a+2]=i*i*e.z+2*i*o*t.z+o*o*r.z}}(t,l,r,20,g);let a=e.line.geometry.getAttribute("position");a.array.set(g),a.needsUpdate=!0;e.apex.set(g[30],g[31],g[32]),e.label.position.copy(e.apex);let{dir:o,center:c}=function(e,t,r,n){let l={x:t.x-e.x,y:t.y-e.y,z:t.z-e.z},a=u(l)||1,o={x:l.x/a,y:l.y/a,z:l.z/a};return{dir:o,center:{x:t.x-12*o.x,y:t.y-12*o.y,z:t.z-12*o.z}}}({x:g[57],y:g[58],z:g[59]},r,0,0);e.arrow.position.set(c.x,c.y,c.z),e.arrow.quaternion.setFromUnitVectors(v,new i.Pq0(o.x,o.y,o.z))}(l,t.start,t.end,n),!0})(0,t,r,D.current)).showNavInfo(!1).onBackgroundClick(()=>P());null==(e=n.d3Force("charge"))||e.strength(-250),null==(r=n.d3Force("link"))||null==(t=r.strength)||t.call(r,.05),n.onEngineTick(()=>{!function(e,t){for(let a of e){var r,n,l;let e=null!=(r=a.x)?r:Math.random()-.5,o=null!=(n=a.y)?n:Math.random()-.5,i=null!=(l=a.z)?l:Math.random()-.5,u=Math.sqrt(e*e+o*o+i*i)||1;a.x=e/u*t,a.y=o/u*t,a.z=i/u*t}}(n.graphData().nodes,D.current)});let l=n.controls();l.autoRotate=!0,l.autoRotateSpeed=.4;let o=0,d=null;n.onNodeClick(e=>{var t,r,l,a,i,u,c,f,p;if(s({x:null!=(t=e.x)?t:0,y:null!=(r=e.y)?r:0,z:null!=(l=e.z)?l:0},n.camera().position))return void P();let h=Date.now();if(d===e.id&&h-o<300)W(e);else{let t=n.graph2ScreenCoords(null!=(i=e.x)?i:0,null!=(u=e.y)?u:0,null!=(c=e.z)?c:0),r=null==(a=T.current)?void 0:a.getBoundingClientRect();E(e,(null!=(f=null==r?void 0:r.left)?f:0)+t.x,(null!=(p=null==r?void 0:r.top)?p:0)+t.y)}o=h,d=e.id}),B.current=n;let p=requestAnimationFrame(function e(){!function(e,t){var r,n,l,a,o,i,u;let{camera:s,showLabels:d,focusId:p,focusSet:y}=t,m=e.graphData(),x=[];for(let t of m.nodes){let f=M.get(t);if(!f)continue;let m=c({x:null!=(r=t.x)?r:0,y:null!=(n=t.y)?n:0,z:null!=(l=t.z)?l:0},s),v=y&&!y.has(t.id)?.15:1;f.mesh.material.opacity=m*v,f.mesh.scale.setScalar(t.id===p?1.35:1),f.halo.visible=t.id===p,f.label.material.opacity=m*v,f.label.visible=!1;let b=(null==y?void 0:y.has(t.id))===!0;if(!(b||d&&!y)||m<.6)continue;let g=e.graph2ScreenCoords(null!=(a=t.x)?a:0,null!=(o=t.y)?o:0,null!=(i=t.z)?i:0);x.push({parts:f,forced:b,rank:1e3*!!b+(null!=(u=h.hD[t.type])?u:0)*10+m,box:{x:g.x,y:g.y,w:5*f.label.text.length,h:10}})}x.sort((e,t)=>t.rank-e.rank),y||(x.length=Math.min(x.length,28));let v=function(e,t){let r=[];return e.map((e,n)=>{let l=!r.some(t=>Math.abs(t.x-e.x)<(t.w+e.w)/2&&Math.abs(t.y-e.y)<(t.h+e.h)/2),a=t[n]||l;return a&&r.push(e),a})}(x.map(e=>e.box),x.map(e=>e.forced));for(let e of(x.forEach((e,t)=>e.parts.label.visible=v[t]),m.links)){let t=C.get(e);if(!t)continue;if(!z.has(e)){let r=k(e);r&&(t.line.material.color.set(r),t.arrow.material.color.set(r),t.label.color=r,z.add(e))}let r=null!==p&&(f(e.source)===p||f(e.target)===p),n=c(t.apex,s),l=null===p?.55:r?1:.05;t.line.material.opacity=l*n,t.arrow.material.opacity=l*n,t.arrow.visible=r,t.label.material.opacity=n,t.label.visible=d&&r}}(n,{camera:n.camera().position,..._.current}),p=requestAnimationFrame(e)});return()=>{var e,t;cancelAnimationFrame(p),null==(e=V.current)||e.dispose(),V.current=null,null==(t=n._destructor)||t.call(n),B.current=null}},[]),(0,l.useEffect)(()=>{let e=B.current;if(!e)return;let t=F(y);if(t!==D.current||!V.current){var n;D.current=t,null==(n=V.current)||n.dispose(),V.current=new d(t),e.scene().add(V.current.group)}e.graphData(function(e,t,r){let n=new Set(t.map(e=>e.id));for(let t of e.keys())n.has(t)||e.delete(t);return{nodes:t.map(t=>{let r=e.get(t.id);return r?(Object.assign(r,t),r):(e.set(t.id,t),t)}),links:r.map(e=>({...e}))}}(N.current,r,p)),!j.current&&r.length>0&&(j.current=!0,e.cameraPosition({z:4.4*D.current},void 0,0))},[r,p,y]),(0,l.useEffect)(()=>{var e;null==(e=V.current)||e.recolor(),B.current&&function(e){var t,r;for(let r of(x&&(null==(t=x.map)||t.dispose(),x.map=m((0,o.rt)("--primary")),x.needsUpdate=!0),e.graphData().nodes)){let e=M.get(r);if(!e)continue;let t=w(r);e.mesh.material.color.set(t),e.label.color=t,e.label.backgroundColor=b()}for(let t of e.graphData().links){let e=C.get(t);if(!e)continue;let n=null!=(r=k(t))?r:(0,h.eB)(t.type);e.line.material.color.set(n),e.arrow.material.color.set(n),e.label.color=n,e.label.backgroundColor=b()}}(B.current)},[G]),(0,l.useEffect)(()=>{var e;let t=null!=(e=null!=q?q:O)?e:null;_.current={showLabels:A,focusId:t,focusSet:t?function(e,t){let r=new Set([e]);for(let n of t){let t=f(n.source),l=f(n.target);t===e?r.add(l):l===e&&r.add(t)}return r}(t,p):null}},[A,q,O,p]),(0,l.useEffect)(()=>{var e;let t=null==(e=B.current)?void 0:e.controls();if(!O){t&&(t.autoRotate=!0);return}let r=0,n=null,l=[],a=()=>{var e,t;let r=N.current.get(O);return r&&void 0!==r.x?{x:r.x,y:null!=(e=r.y)?e:0,z:null!=(t=r.z)?t:0}:null},o=e=>{let t=B.current;t&&(I(t,e),l.push(setTimeout(()=>{let e=a();e&&B.current&&I(B.current,e,300)},1050)))},i=()=>{var e;let t=a();return(r+=1,t&&(e=n)&&1>Math.hypot(t.x-e.x,t.y-e.y,t.z-e.z))?o(t):r>=25?t?o(t):void 0:void(t&&(n=t),l.push(setTimeout(i,120)))};return i(),()=>l.forEach(clearTimeout)},[O]),(0,l.useEffect)(()=>{function e(){if(!T.current||!B.current)return;let{width:e,height:t}=T.current.getBoundingClientRect();B.current.width(e).height(t)}e();let t=new ResizeObserver(e);return T.current&&t.observe(T.current),()=>t.disconnect()},[]),(0,n.jsx)("div",{ref:T,className:"absolute inset-0"})})}}]);
|