playermap_graph 0.2.3 → 0.2.4

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/index.es.js CHANGED
@@ -53409,7 +53409,7 @@ const tM = {
53409
53409
  )
53410
53410
  ]
53411
53411
  }
53412
- ), Yx = "gateway.pinata.cloud", ev = (r) => !r || typeof r != "string" ? !1 : r.startsWith("ipfs://") || r.startsWith("ipfs/"), nM = (r, e = Yx) => {
53412
+ ), Yx = "intuition-portal.mypinata.cloud", ev = (r) => !r || typeof r != "string" ? !1 : r.startsWith("ipfs://") || r.startsWith("ipfs/"), nM = (r, e = Yx) => {
53413
53413
  if (!r || typeof r != "string" || !ev(r))
53414
53414
  return r;
53415
53415
  let n = r;
@@ -53469,14 +53469,14 @@ const tM = {
53469
53469
  let k;
53470
53470
  e === "agent" ? k = await EP(s, r) : k = await av(r);
53471
53471
  const Q = kf(k);
53472
- a(Q), c(Q);
53472
+ a(Q), c(Q), y([{ graphData: Q, selectedTriple: null }]), x(0);
53473
53473
  } catch (k) {
53474
53474
  console.error("Error loading graph data:", k);
53475
53475
  } finally {
53476
53476
  m(!1);
53477
53477
  }
53478
53478
  }, [r, e]), I = zi(() => {
53479
- a(l), f(null), S(""), E(""), M(""), P(!1);
53479
+ a(l), f(null), S(""), E(""), M(""), P(!1), y([{ graphData: l, selectedTriple: null }]), x(0);
53480
53480
  }, [l]), L = zi(
53481
53481
  async (k, Q, le) => {
53482
53482
  if (k === null) {
@@ -53495,7 +53495,7 @@ const tM = {
53495
53495
  0,
53496
53496
  g + 1
53497
53497
  );
53498
- return xe.push({ graphData: o, selectedTriple: k }), xe;
53498
+ return xe.push({ graphData: re, selectedTriple: k }), xe;
53499
53499
  }), x((he) => he + 1), a(re);
53500
53500
  } catch (U) {
53501
53501
  console.error("Error fetching triples:", U);
package/dist/index.umd.js CHANGED
@@ -5401,7 +5401,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5401
5401
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function CZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
5402
5402
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C2(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),n.push.apply(n,i)}return n}function Cc(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?C2(Object(n),!0).forEach(function(i){wh(r,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):C2(Object(n)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(n,i))})}return r}function Mh(r,e){return TZ(r)||EZ(r,e)||R2(r,e)||AZ()}function nr(r){return wZ(r)||MZ(r)||R2(r)||CZ()}function RZ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function NZ(r){var e=RZ(r,"string");return typeof e=="symbol"?e:e+""}function kx(r){"@babel/helpers - typeof";return kx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},kx(r)}function R2(r,e){if(r){if(typeof r=="string")return Bx(r,e);var n={}.toString.call(r).slice(8,-1);return n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set"?Array.from(r):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Bx(r,e):void 0}}var PZ=Q0(uw);function N2(r,e,n){!e||typeof n!="string"||r.filter(function(i){return!i[n]}).forEach(function(i){i[n]=PZ(e(i))})}function DZ(r,e){var n=r.nodes,i=r.links,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=s.nodeFilter,a=o===void 0?function(){return!0}:o,l=s.onLoopError,c=l===void 0?function(p){throw"Invalid DAG structure! Found cycle in node path: ".concat(p.join(" -> "),".")}:l,u={};n.forEach(function(p){return u[e(p)]={data:p,out:[],depth:-1,skip:!a(p)}}),i.forEach(function(p){var m=p.source,_=p.target,y=v(m),g=v(_);if(!u.hasOwnProperty(y))throw"Missing source node with id: ".concat(y);if(!u.hasOwnProperty(g))throw"Missing target node with id: ".concat(g);var x=u[y],b=u[g];x.out.push(b);function v(S){return kx(S)==="object"?e(S):S}});var h=[];f(Object.values(u));var d=Object.assign.apply(Object,[{}].concat(nr(Object.entries(u).filter(function(p){var m=Mh(p,2),_=m[1];return!_.skip}).map(function(p){var m=Mh(p,2),_=m[0],y=m[1];return wh({},_,y.depth)}))));return d;function f(p){for(var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,y=function(){var v=p[g];if(m.indexOf(v)!==-1){var S=[].concat(nr(m.slice(m.indexOf(v))),[v]).map(function(w){return e(w.data)});return h.some(function(w){return w.length===S.length&&w.every(function(E,A){return E===S[A]})})||(h.push(S),c(S)),1}_>v.depth&&(v.depth=_,f(v.out,[].concat(nr(m),[v]),_+(v.skip?0:1)))},g=0,x=p.length;g<x;g++)y()}}var IZ=2,ii=function(e,n){return n.onNeedsRedraw&&n.onNeedsRedraw()},P2=function(e,n){if(!n.isShadow){var i=We(n.linkDirectionalParticles);n.graphData.links.forEach(function(s){var o=Math.round(Math.abs(i(s)));o?s.__photons=nr(Array(o)).map(function(){return{}}):delete s.__photons})}},im=aa({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,n){n.engineRunning=!1,P2(e,n)}},dagMode:{onChange:function(e,n){!e&&(n.graphData.nodes||[]).forEach(function(i){return i.fx=i.fy=void 0})}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:ii},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:ii},nodeColor:{default:"color",triggerUpdate:!1,onChange:ii},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:ii},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ii},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:ii},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:ii},linkColor:{default:"color",triggerUpdate:!1,onChange:ii},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:ii},linkWidth:{default:1,triggerUpdate:!1,onChange:ii},linkCurvature:{default:0,triggerUpdate:!1,onChange:ii},linkCanvasObject:{triggerUpdate:!1,onChange:ii},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ii},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:ii},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:ii},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:ii},linkDirectionalParticles:{default:0,triggerUpdate:!1,onChange:P2},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,n){n.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,n,i){return i===void 0?e.forceLayout.force(n):(e.forceLayout.force(n,i),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&n(),s(),!e.isShadow&&o(),!e.isShadow&&a(),i(),this;function n(){e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick()))}function i(){var l=We(e.nodeVisibility),c=We(e.nodeVal),u=We(e.nodeColor),h=We(e.nodeCanvasObjectMode),d=e.ctx,f=e.isShadow/e.globalScale,p=e.graphData.nodes.filter(l);d.save(),p.forEach(function(m){var _=h(m);if(e.nodeCanvasObject&&(_==="before"||_==="replace")&&(e.nodeCanvasObject(m,d,e.globalScale),_==="replace")){d.restore();return}var y=Math.sqrt(Math.max(0,c(m)||1))*e.nodeRelSize+f;d.beginPath(),d.arc(m.x,m.y,y,0,2*Math.PI,!1),d.fillStyle=u(m)||"rgba(31, 120, 180, 0.92)",d.fill(),e.nodeCanvasObject&&_==="after"&&e.nodeCanvasObject(m,e.ctx,e.globalScale)}),d.restore()}function s(){var l=We(e.linkVisibility),c=We(e.linkColor),u=We(e.linkWidth),h=We(e.linkLineDash),d=We(e.linkCurvature),f=We(e.linkCanvasObjectMode),p=e.ctx,m=e.isShadow*2,_=e.graphData.links.filter(l);_.forEach(w);var y=[],g=[],x=_;if(e.linkCanvasObject){var b=[],v=[];_.forEach(function(E){return({before:y,after:g,replace:b}[f(E)]||v).push(E)}),x=[].concat(nr(y),g,v),y=y.concat(b)}p.save(),y.forEach(function(E){return e.linkCanvasObject(E,p,e.globalScale)}),p.restore();var S=xZ(x,[c,u,h]);p.save(),Object.entries(S).forEach(function(E){var A=Mh(E,2),M=A[0],T=A[1],R=!M||M==="undefined"?"rgba(0,0,0,0.15)":M;Object.entries(T).forEach(function(O){var P=Mh(O,2),C=P[0],I=P[1],L=(C||1)/e.globalScale+m;Object.entries(I).forEach(function(W){var $=Mh(W,2);$[0];var ie=$[1],F=h(ie[0]);p.beginPath(),ie.forEach(function(k){var Q=k.source,le=k.target;if(!(!Q||!le||!Q.hasOwnProperty("x")||!le.hasOwnProperty("x"))){p.moveTo(Q.x,Q.y);var U=k.__controlPoints;U?p[U.length===2?"quadraticCurveTo":"bezierCurveTo"].apply(p,nr(U).concat([le.x,le.y])):p.lineTo(le.x,le.y)}}),p.strokeStyle=R,p.lineWidth=L,p.setLineDash(F||[]),p.stroke()})})}),p.restore(),p.save(),g.forEach(function(E){return e.linkCanvasObject(E,p,e.globalScale)}),p.restore();function w(E){var A=d(E);if(!A){E.__controlPoints=null;return}var M=E.source,T=E.target;if(!(!M||!T||!M.hasOwnProperty("x")||!T.hasOwnProperty("x"))){var R=Math.sqrt(Math.pow(T.x-M.x,2)+Math.pow(T.y-M.y,2));if(R>0){var O=Math.atan2(T.y-M.y,T.x-M.x),P=R*A,C={x:(M.x+T.x)/2+P*Math.cos(O-Math.PI/2),y:(M.y+T.y)/2+P*Math.sin(O-Math.PI/2)};E.__controlPoints=[C.x,C.y]}else{var I=A*70;E.__controlPoints=[T.x,T.y-I,T.x+I,T.y]}}}}function o(){var l=1.6,c=.2,u=We(e.linkDirectionalArrowLength),h=We(e.linkDirectionalArrowRelPos),d=We(e.linkVisibility),f=We(e.linkDirectionalArrowColor||e.linkColor),p=We(e.nodeVal),m=e.ctx;m.save(),e.graphData.links.filter(d).forEach(function(_){var y=u(_);if(!(!y||y<0)){var g=_.source,x=_.target;if(!(!g||!x||!g.hasOwnProperty("x")||!x.hasOwnProperty("x"))){var b=Math.sqrt(Math.max(0,p(g)||1))*e.nodeRelSize,v=Math.sqrt(Math.max(0,p(x)||1))*e.nodeRelSize,S=Math.min(1,Math.max(0,h(_))),w=f(_)||"rgba(0,0,0,0.28)",E=y/l/2,A=_.__controlPoints&&E2(rn,[g.x,g.y].concat(nr(_.__controlPoints),[x.x,x.y])),M=A?function(L){return A.get(L)}:function(L){return{x:g.x+(x.x-g.x)*L||0,y:g.y+(x.y-g.y)*L||0}},T=A?A.length():Math.sqrt(Math.pow(x.x-g.x,2)+Math.pow(x.y-g.y,2)),R=b+y+(T-b-v-y)*S,O=M(R/T),P=M((R-y)/T),C=M((R-y*(1-c))/T),I=Math.atan2(O.y-P.y,O.x-P.x)-Math.PI/2;m.beginPath(),m.moveTo(O.x,O.y),m.lineTo(P.x+E*Math.cos(I),P.y+E*Math.sin(I)),m.lineTo(C.x,C.y),m.lineTo(P.x-E*Math.cos(I),P.y-E*Math.sin(I)),m.fillStyle=w,m.fill()}}}),m.restore()}function a(){var l=We(e.linkDirectionalParticles),c=We(e.linkDirectionalParticleSpeed),u=We(e.linkDirectionalParticleWidth),h=We(e.linkVisibility),d=We(e.linkDirectionalParticleColor||e.linkColor),f=e.ctx;f.save(),e.graphData.links.filter(h).forEach(function(p){var m=l(p);if(!(!p.hasOwnProperty("__photons")||!p.__photons.length)){var _=p.source,y=p.target;if(!(!_||!y||!_.hasOwnProperty("x")||!y.hasOwnProperty("x"))){var g=c(p),x=p.__photons||[],b=Math.max(0,u(p)/2)/Math.sqrt(e.globalScale),v=d(p)||"rgba(0,0,0,0.28)";f.fillStyle=v;var S=p.__controlPoints?E2(rn,[_.x,_.y].concat(nr(p.__controlPoints),[y.x,y.y])):null,w=0,E=!1;x.forEach(function(A){var M=!!A.__singleHop;if(A.hasOwnProperty("__progressRatio")||(A.__progressRatio=M?0:w/m),!M&&w++,A.__progressRatio+=g,A.__progressRatio>=1)if(!M)A.__progressRatio=A.__progressRatio%1;else{E=!0;return}var T=A.__progressRatio,R=S?S.get(T):{x:_.x+(y.x-_.x)*T||0,y:_.y+(y.y-_.y)*T||0};f.beginPath(),f.arc(R.x,R.y,b,0,2*Math.PI,!1),f.fill()}),E&&(p.__photons=p.__photons.filter(function(A){return!A.__singleHop||A.__progressRatio<=1}))}}}),f.restore()}},emitParticle:function(e,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:u1().force("link",t1()).force("charge",h1()).force("center",HT()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,n){n.ctx=e},update:function(e,n){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&N2(e.graphData.nodes,We(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&N2(e.graphData.links,We(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(f){f.source=f[e.linkSource],f.target=f[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var i=e.forceLayout.force("link");i&&i.id(function(f){return f[e.nodeId]}).links(e.graphData.links);var s=e.dagMode&&DZ(e.graphData,function(f){return f[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),o=Math.max.apply(Math,nr(Object.values(s||[]))),a=e.dagLevelDistance||e.graphData.nodes.length/(o||1)*IZ*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(n.dagMode)){var l=["lr","rl"].includes(n.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(f){return delete f[l]})}if(["lr","rl","td","bu"].includes(e.dagMode)){var c=["rl","bu"].includes(e.dagMode),u=function(p){return(s[p[e.nodeId]]-o/2)*a*(c?-1:1)},h=["lr","rl"].includes(e.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(f){return f[h]=u(f)})}e.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?d1(function(f){var p=s[f[e.nodeId]]||-1;return(e.dagMode==="radialin"?o-p:p)*a}).strength(function(f){return e.dagNodeFilter(f)?1:0}):null);for(var d=0;d<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);d++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function D2(r,e){var n=r instanceof Array?r:[r],i=new e;return i._destructor&&i._destructor(),{linkProp:function(o){return{default:i[o](),onChange:function(l,c){n.forEach(function(u){return c[u][o](l)})},triggerUpdate:!1}},linkMethod:function(o){return function(a){for(var l=arguments.length,c=new Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=arguments[u];var h=[];return n.forEach(function(d){var f=a[d],p=f[o].apply(f,c);p!==f&&h.push(p)}),h.length?h[0]:this}}}}var LZ=800,OZ=4,FZ=5,I2=D2("forceGraph",im),UZ=D2(["forceGraph","shadowGraph"],im),BZ=Object.assign.apply(Object,nr(["nodeColor","nodeAutoColorBy","nodeCanvasObject","nodeCanvasObjectMode","linkColor","linkAutoColorBy","linkLineDash","linkWidth","linkCanvasObject","linkCanvasObjectMode","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","dagMode","dagLevelDistance","dagNodeFilter","onDagError","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map(function(r){return wh({},r,I2.linkProp(r))})).concat(nr(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map(function(r){return wh({},r,UZ.linkProp(r))})))),kZ=Object.assign.apply(Object,nr(["d3Force","d3ReheatSimulation","emitParticle"].map(function(r){return wh({},r,I2.linkMethod(r))})));function zx(r){if(r.canvas){var e=r.canvas.width,n=r.canvas.height;e===300&&n===150&&(e=n=0);var i=window.devicePixelRatio;e/=i,n/=i,[r.canvas,r.shadowCanvas].forEach(function(o){o.style.width="".concat(r.width,"px"),o.style.height="".concat(r.height,"px"),o.width=r.width*i,o.height=r.height*i,!e&&!n&&o.getContext("2d").scale(i,i)});var s=qr(r.canvas).k;r.zoom.translateBy(r.zoom.__baseElem,(r.width-e)/2/s,(r.height-n)/2/s),r.needsRedraw=!0}}function L2(r){var e=window.devicePixelRatio;r.setTransform(e,0,0,e,0,0)}function O2(r,e,n){r.save(),L2(r),r.clearRect(0,0,e,n),r.restore()}var zZ=aa({props:Cc({width:{default:window.innerWidth,onChange:function(e,n){return zx(n)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,n){return zx(n)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,n){[e.nodes,e.links].every(function(s){return(s||[]).every(function(o){return!o.hasOwnProperty("__indexColor")})})&&n.colorTracker.reset(),[{type:"Node",objs:e.nodes},{type:"Link",objs:e.links}].forEach(i),n.forceGraph.graphData(e),n.shadowGraph.graphData(e);function i(s){var o=s.type,a=s.objs;a.filter(function(l){if(!l.hasOwnProperty("__indexColor"))return!0;var c=n.colorTracker.lookup(l.__indexColor);return!c||!c.hasOwnProperty("d")||c.d!==l}).forEach(function(l){l.__indexColor=n.colorTracker.register({type:o,d:l})})}},triggerUpdate:!1},backgroundColor:{onChange:function(e,n){n.canvas&&e&&(n.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:"name",triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,n){n.shadowGraph.nodeCanvasObject(e?function(i,s,o){return e(i,i.__indexColor,s,o)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,n){n.shadowGraph.linkCanvasObject(e?function(i,s,o){return e(i,i.__indexColor,s,o)}:null),n.flushShadowCanvas&&n.flushShadowCanvas()},triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,n){n.zoom.scaleExtent([e,n.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,n){n.zoom.scaleExtent([n.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,n){n.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},onZoom:{triggerUpdate:!1},onZoomEnd:{triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},BZ),aliases:{stopAnimation:"pauseAnimation"},methods:Cc({graph2ScreenCoords:function(e,n,i){var s=qr(e.canvas);return{x:n*s.k+s.x,y:i*s.k+s.y}},screen2GraphCoords:function(e,n,i){var s=qr(e.canvas);return{x:(n-s.x)/s.k,y:(i-s.y)/s.k}},centerAt:function(e,n,i,s){if(!e.canvas)return null;if(n!==void 0||i!==void 0){var o=Object.assign({},n!==void 0?{x:n}:{},i!==void 0?{y:i}:{});return s?e.tweenGroup.add(new Bp(a()).to(o,s).easing(ks.Quadratic.Out).onUpdate(l).start()):l(o),this}return a();function a(){var c=qr(e.canvas);return{x:(e.width/2-c.x)/c.k,y:(e.height/2-c.y)/c.k}}function l(c){var u=c.x,h=c.y;e.zoom.translateTo(e.zoom.__baseElem,u===void 0?a().x:u,h===void 0?a().y:h),e.needsRedraw=!0}},zoom:function(e,n,i){if(!e.canvas)return null;if(n!==void 0)return i?e.tweenGroup.add(new Bp({k:s()}).to({k:n},i).easing(ks.Quadratic.Out).onUpdate(function(a){var l=a.k;return o(l)}).start()):o(n),this;return s();function s(){return qr(e.canvas).k}function o(a){e.zoom.scaleTo(e.zoom.__baseElem,a),e.needsRedraw=!0}},zoomToFit:function(e){for(var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,s=arguments.length,o=new Array(s>3?s-3:0),a=3;a<s;a++)o[a-3]=arguments[a];var l=this.getGraphBbox.apply(this,o);if(l){var c={x:(l.x[0]+l.x[1])/2,y:(l.y[0]+l.y[1])/2},u=Math.max(1e-12,Math.min(1e12,(e.width-i*2)/(l.x[1]-l.x[0]),(e.height-i*2)/(l.y[1]-l.y[0])));this.centerAt(c.x,c.y,n),this.zoom(u,n)}return this},getGraphBbox:function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=We(e.nodeVal),s=function(l){return Math.sqrt(Math.max(0,i(l)||1))*e.nodeRelSize},o=e.graphData.nodes.filter(n).map(function(a){return{x:a.x,y:a.y,r:s(a)}});return o.length?{x:[q0(o,function(a){return a.x-a.r}),W0(o,function(a){return a.x+a.r})],y:[q0(o,function(a){return a.y-a.r}),W0(o,function(a){return a.y+a.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},kZ),stateInit:function(){return{lastSetZoom:1,zoom:UK(),forceGraph:new im,shadowGraph:new im().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new eZ,tweenGroup:new ux}},init:function(e,n){var i=this;e.innerHTML="";var s=document.createElement("div");s.classList.add("force-graph-container"),s.style.position="relative",e.appendChild(s),n.canvas=document.createElement("canvas"),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),s.appendChild(n.canvas),n.shadowCanvas=document.createElement("canvas");var o=n.canvas.getContext("2d"),a=n.shadowCanvas.getContext("2d",{willReadFrequently:!0}),l={x:-1e12,y:-1e12},c=function(){var d=null,f=window.devicePixelRatio,p=l.x>0&&l.y>0?a.getImageData(l.x*f,l.y*f,1,1):null;return p&&(d=n.colorTracker.lookup(p.data)),d};Ji(n.canvas).call(TY().subject(function(){if(!n.enableNodeDrag)return null;var h=c();return h&&h.type==="Node"?h.d:null}).on("start",function(h){var d=h.subject;d.__initialDragPos={x:d.x,y:d.y,fx:d.fx,fy:d.fy},h.active||(d.fx=d.x,d.fy=d.y),n.canvas.classList.add("grabbable")}).on("drag",function(h){var d=h.subject,f=d.__initialDragPos,p=h,m=qr(n.canvas).k,_={x:f.x+(p.x-f.x)/m-d.x,y:f.y+(p.y-f.y)/m-d.y};["x","y"].forEach(function(y){return d["f".concat(y)]=d[y]=f[y]+(p[y]-f[y])/m}),!(!d.__dragged&&FZ>=Math.sqrt(Lk(["x","y"].map(function(y){return Math.pow(h[y]-f[y],2)}))))&&(n.forceGraph.d3AlphaTarget(.3).resetCountdown(),n.isPointerDragging=!0,d.__dragged=!0,n.onNodeDrag(d,_))}).on("end",function(h){var d=h.subject,f=d.__initialDragPos,p={x:d.x-f.x,y:d.y-f.y};f.fx===void 0&&(d.fx=void 0),f.fy===void 0&&(d.fy=void 0),delete d.__initialDragPos,n.forceGraph.d3AlphaTarget()&&n.forceGraph.d3AlphaTarget(0).resetCountdown(),n.canvas.classList.remove("grabbable"),n.isPointerDragging=!1,d.__dragged&&(delete d.__dragged,n.onNodeDragEnd(d,p))})),n.zoom(n.zoom.__baseElem=Ji(n.canvas)),n.zoom.__baseElem.on("dblclick.zoom",null),n.zoom.filter(function(h){return!h.button&&n.enableZoomPanInteraction&&(h.type!=="wheel"||We(n.enableZoomInteraction)(h))&&(h.type==="wheel"||We(n.enablePanInteraction)(h))}).on("zoom",function(h){var d=h.transform;[o,a].forEach(function(f){L2(f),f.translate(d.x,d.y),f.scale(d.k,d.k)}),n.onZoom&&n.onZoom(Cc(Cc({},d),i.centerAt())),n.needsRedraw=!0}).on("end",function(h){return n.onZoomEnd&&n.onZoomEnd(Cc(Cc({},h.transform),i.centerAt()))}),zx(n),n.forceGraph.onNeedsRedraw(function(){return n.needsRedraw=!0}).onFinishUpdate(function(){qr(n.canvas).k===n.lastSetZoom&&n.graphData.nodes.length&&(n.zoom.scaleTo(n.zoom.__baseElem,n.lastSetZoom=OZ/Math.cbrt(n.graphData.nodes.length)),n.needsRedraw=!0)}),n.tooltip=new n2(s),["pointermove","pointerdown"].forEach(function(h){return s.addEventListener(h,function(d){h==="pointerdown"&&(n.isPointerPressed=!0,n.pointerDownEvent=d),!n.isPointerDragging&&d.type==="pointermove"&&n.onBackgroundClick&&(d.pressure>0||n.isPointerPressed)&&(d.pointerType!=="touch"||d.movementX===void 0||[d.movementX,d.movementY].some(function(m){return Math.abs(m)>1}))&&(n.isPointerDragging=!0);var f=p(s);l.x=d.pageX-f.left,l.y=d.pageY-f.top;function p(m){var _=m.getBoundingClientRect(),y=window.pageXOffset||document.documentElement.scrollLeft,g=window.pageYOffset||document.documentElement.scrollTop;return{top:_.top+g,left:_.left+y}}},{passive:!0})}),s.addEventListener("pointerup",function(h){if(n.isPointerPressed=!1,n.isPointerDragging){n.isPointerDragging=!1;return}var d=[h,n.pointerDownEvent];requestAnimationFrame(function(){if(h.button===0)if(n.hoverObj){var f=n["on".concat(n.hoverObj.type,"Click")];f&&f.apply(void 0,[n.hoverObj.d].concat(d))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,d);if(h.button===2)if(n.hoverObj){var p=n["on".concat(n.hoverObj.type,"RightClick")];p&&p.apply(void 0,[n.hoverObj.d].concat(d))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,d)})},{passive:!0}),s.addEventListener("contextmenu",function(h){return!n.onBackgroundRightClick&&!n.onNodeRightClick&&!n.onLinkRightClick?!0:(h.preventDefault(),!1)}),n.forceGraph(o),n.shadowGraph(a);var u=kK(function(){O2(a,n.width,n.height),n.shadowGraph.linkWidth(function(d){return We(n.linkWidth)(d)+n.linkHoverPrecision});var h=qr(n.canvas);n.shadowGraph.globalScale(h.k).tickFrame()},LZ);n.flushShadowCanvas=u.flush,(this._animationCycle=function h(){var d=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some(function(b){return b.__photons&&b.__photons.length});if(n.needsRedraw=!1,n.enablePointerInteraction){var f=n.isPointerDragging?null:c();if(f!==n.hoverObj){var p=n.hoverObj,m=p?p.type:null,_=f?f.type:null;if(m&&m!==_){var y=n["on".concat(m,"Hover")];y&&y(null,p.d)}if(_){var g=n["on".concat(_,"Hover")];g&&g(f.d,m===_?p.d:null)}n.tooltip.content(f&&We(n["".concat(f.type.toLowerCase(),"Label")])(f.d)||null),n.canvas.classList[f&&n["on".concat(_,"Click")]||!f&&n.onBackgroundClick?"add":"remove"]("clickable"),n.hoverObj=f}d&&u()}if(d){O2(o,n.width,n.height);var x=qr(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(o,x),n.forceGraph.globalScale(x).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(o,x)}n.tweenGroup.update(),n.animationFrameRequestId=requestAnimationFrame(h)})()},update:function(e){}}),rm={width:K.number,height:K.number,graphData:K.shape({nodes:K.arrayOf(K.object).isRequired,links:K.arrayOf(K.object).isRequired}),backgroundColor:K.string,nodeRelSize:K.number,nodeId:K.string,nodeLabel:K.oneOfType([K.string,K.func]),nodeVal:K.oneOfType([K.number,K.string,K.func]),nodeVisibility:K.oneOfType([K.bool,K.string,K.func]),nodeColor:K.oneOfType([K.string,K.func]),nodeAutoColorBy:K.oneOfType([K.string,K.func]),onNodeHover:K.func,onNodeClick:K.func,linkSource:K.string,linkTarget:K.string,linkLabel:K.oneOfType([K.string,K.func]),linkVisibility:K.oneOfType([K.bool,K.string,K.func]),linkColor:K.oneOfType([K.string,K.func]),linkAutoColorBy:K.oneOfType([K.string,K.func]),linkWidth:K.oneOfType([K.number,K.string,K.func]),linkCurvature:K.oneOfType([K.number,K.string,K.func]),linkDirectionalArrowLength:K.oneOfType([K.number,K.string,K.func]),linkDirectionalArrowColor:K.oneOfType([K.string,K.func]),linkDirectionalArrowRelPos:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticles:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleSpeed:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleWidth:K.oneOfType([K.number,K.string,K.func]),linkDirectionalParticleColor:K.oneOfType([K.string,K.func]),onLinkHover:K.func,onLinkClick:K.func,dagMode:K.oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:K.number,dagNodeFilter:K.func,onDagError:K.func,d3AlphaMin:K.number,d3AlphaDecay:K.number,d3VelocityDecay:K.number,warmupTicks:K.number,cooldownTicks:K.number,cooldownTime:K.number,onEngineTick:K.func,onEngineStop:K.func,getGraphBbox:K.func},F2={zoomToFit:K.func,onNodeRightClick:K.func,onNodeDrag:K.func,onNodeDragEnd:K.func,onLinkRightClick:K.func,linkHoverPrecision:K.number,onBackgroundClick:K.func,onBackgroundRightClick:K.func,enablePointerInteraction:K.bool,enableNodeDrag:K.bool},Gx={showNavInfo:K.bool,nodeOpacity:K.number,nodeResolution:K.number,nodeThreeObject:K.oneOfType([K.object,K.string,K.func]),nodeThreeObjectExtend:K.oneOfType([K.bool,K.string,K.func]),linkOpacity:K.number,linkResolution:K.number,linkCurveRotation:K.oneOfType([K.number,K.string,K.func]),linkMaterial:K.oneOfType([K.object,K.string,K.func]),linkThreeObject:K.oneOfType([K.object,K.string,K.func]),linkThreeObjectExtend:K.oneOfType([K.bool,K.string,K.func]),linkPositionUpdate:K.func,linkDirectionalArrowResolution:K.number,linkDirectionalParticleResolution:K.number,forceEngine:K.oneOf(["d3","ngraph"]),ngraphPhysics:K.object,numDimensions:K.oneOf([1,2,3])},GZ=Object.assign({},rm,F2,{linkLineDash:K.oneOfType([K.arrayOf(K.number),K.string,K.func]),nodeCanvasObjectMode:K.oneOfType([K.string,K.func]),nodeCanvasObject:K.func,nodePointerAreaPaint:K.func,linkCanvasObjectMode:K.oneOfType([K.string,K.func]),linkCanvasObject:K.func,linkPointerAreaPaint:K.func,autoPauseRedraw:K.bool,minZoom:K.number,maxZoom:K.number,enableZoomInteraction:K.oneOfType([K.bool,K.func]),enablePanInteraction:K.oneOfType([K.bool,K.func]),onZoom:K.func,onZoomEnd:K.func,onRenderFramePre:K.func,onRenderFramePost:K.func}),VZ=Object.assign({},rm,F2,Gx,{enableNavigationControls:K.bool,controlType:K.oneOf(["trackball","orbit","fly"]),rendererConfig:K.object,extraRenderers:K.arrayOf(K.shape({render:K.func.isRequired}))}),$Z=Object.assign({},rm,Gx,{nodeDesc:K.oneOfType([K.string,K.func]),linkDesc:K.oneOfType([K.string,K.func])}),HZ=Object.assign({},rm,Gx,{markerAttrs:K.object,yOffset:K.number,glScale:K.number});const U2=Hh(ko,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"]});U2.displayName="ForceGraphVR",U2.propTypes=$Z;const B2=Hh(b4,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"],initPropNames:["markerAttrs"]});B2.displayName="ForceGraphAR",B2.propTypes=HZ;const Vx=Hh(yY,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","cameraPosition","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords","postProcessingComposer","lights","scene","camera","renderer","controls","refresh"],initPropNames:["controlType","rendererConfig","extraRenderers"]});Vx.displayName="ForceGraph3D",Vx.propTypes=VZ;const $x=Hh(zZ,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});$x.displayName="ForceGraph2D",$x.propTypes=GZ;const jZ={position:"absolute",pointerEvents:"none",background:fn.PREDICATE,color:"#fff",border:`2px solid ${fn.PREDICATE}`,borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},WZ=16,k2=32,qZ=({graphData:r,onNodeClick:e,onEngineStop:n,fgRef:i,children:s,selectedTriple:o,endpoint:a,disableNodeDetailsSidebar:l=!1})=>{const c=_e.useRef(),[u,h]=_e.useState(null),[d,f]=_e.useState(null),[p,m]=_e.useState({x:0,y:0}),[_,y]=_e.useState({width:100,height:100}),[g,x]=_e.useState(new Map);_e.useEffect(()=>{const M=()=>{c.current&&y({width:c.current.clientWidth,height:c.current.clientHeight})};return M(),window.addEventListener("resize",M),()=>window.removeEventListener("resize",M)},[]),_e.useEffect(()=>{r.nodes.forEach(M=>{if(M.image&&!g.has(M.image)){const T=new Image;T.crossOrigin="anonymous",T.src=M.image,T.onload=()=>{x(R=>new Map(R).set(M.image,T)),i.current&&typeof i.current.emit=="function"&&i.current.emit("redraw")}}})},[r.nodes]);const b=_e.useCallback(()=>{requestAnimationFrame(()=>{h(null),f(null)})},[]),v=_e.useCallback(M=>{requestAnimationFrame(()=>{f(M)})},[]),S=_e.useCallback(M=>{requestAnimationFrame(()=>{h(M)})},[]),w=_e.useCallback(M=>{if(c.current){const T=c.current.getBoundingClientRect();m({x:M.clientX-T.left,y:M.clientY-T.top})}},[]),E=_e.useCallback(()=>{requestAnimationFrame(()=>{h(null),f(null)})},[]),A=()=>{if(!c.current)return{left:p.x,top:p.y};const M=c.current.getBoundingClientRect(),T=180,R=36;let O=p.x+WZ,P=p.y-k2;return O+T>M.width&&(O=M.width-T-8),O<0&&(O=8),P<0&&(P=p.y+k2),P+R>M.height&&(P=M.height-R-8),{left:O,top:P}};return J.jsxs("div",{ref:c,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},onMouseMove:w,children:[J.jsx($x,{ref:i,graphData:r,width:_.width,height:_.height,nodeCanvasObject:(M,T,R)=>{const O=44/R*Math.pow(R,.15);if(M.type==="object")if(M.image){if(T.save(),T.beginPath(),T.rect(M.x-O/2,M.y-O/2,O,O),T.closePath(),T.strokeStyle=M.color,T.lineWidth=3/R,T.stroke(),T.clip(),!M.__img){const P=new window.Image;P.crossOrigin="anonymous",P.src=M.image,P.onload=()=>{M.__imgLoaded=!0,i&&i.current&&typeof i.current.emit=="function"&&i.current.emit("redraw")},M.__img=P,M.__imgLoaded=!1}M.__imgLoaded?T.drawImage(M.__img,M.x-O/2,M.y-O/2,O,O):(T.fillStyle=M.color||"#888",T.fillRect(M.x-O/2,M.y-O/2,O,O)),T.restore()}else{T.save(),T.beginPath(),T.rect(M.x-O/2,M.y-O/2,O,O),T.closePath(),T.fillStyle=M.color+"CC",T.fill(),T.strokeStyle=M.color,T.lineWidth=3/R,T.stroke();const P=(M.label||"?").substring(0,3),C=20/R;T.font=`bold ${C}px Sans-Serif`,T.fillStyle="#fff",T.textAlign="center",T.textBaseline="middle",T.fillText(P,M.x,M.y+O*.04),T.restore()}else if(M.image){if(!M.__img){const P=new window.Image;P.src=M.image,P.onload=()=>{M.__imgLoaded=!0,i&&i.current&&typeof i.current.emit=="function"&&i.current.emit("redraw")},M.__img=P,M.__imgLoaded=!1}T.save(),T.beginPath(),T.arc(M.x,M.y,O/2,0,2*Math.PI,!1),T.closePath(),T.lineWidth=3/R,T.strokeStyle=M.color,T.stroke(),T.clip(),M.__imgLoaded?T.drawImage(M.__img,M.x-O/2,M.y-O/2,O,O):(T.fillStyle=M.color||"#888",T.fill()),T.restore()}else{T.save(),T.beginPath(),T.arc(M.x,M.y,O/2,0,2*Math.PI,!1),T.closePath(),T.fillStyle=M.color+"CC",T.fill(),T.strokeStyle=M.color,T.lineWidth=3/R,T.stroke();const P=(M.label||"?").substring(0,3),C=20/R;T.font=`bold ${C}px Sans-Serif`,T.fillStyle="#fff",T.textAlign="center",T.textBaseline="middle",T.fillText(P,M.x,M.y+O*.04),T.restore()}},nodePointerAreaPaint:(M,T,R,O)=>{const P=44/O*Math.pow(O,.15);R.fillStyle=T,M.type==="object"?(R.beginPath(),R.rect(M.x-P/2,M.y-P/2,P,P),R.closePath(),R.fill()):(R.beginPath(),R.arc(M.x,M.y,P/2,0,2*Math.PI,!1),R.closePath(),R.fill())},linkColor:()=>"rgba(255, 211, 42, 0.15)",linkDirectionalParticles:1,linkDirectionalParticleSpeed:.01,linkDirectionalParticleColor:()=>"rgba(255,255,255,0.5)",nodeAutoColorBy:"type",onNodeClick:e,onEngineStop:n,onNodeHover:v,onLinkHover:S,onBackgroundClick:E,onZoom:b}),u&&u.label?J.jsx("div",{style:{...jZ,...A(),pointerEvents:"none"},children:u.label}):d&&d.label?J.jsx("div",{style:{position:"absolute",left:p.x+18,top:p.y-10,background:"#232326",color:"#fff",border:"1.5px solid #ffd32a",borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:d.label}):null,o&&!l&&J.jsx("div",{style:{position:"absolute",top:80,right:30,width:350,zIndex:9999,maxHeight:"80vh",background:"#18181b",borderRadius:"10px",border:"3px solid #ffd32a",boxShadow:"0 8px 30px rgba(0, 0, 0, 0.5)",overflowY:"auto"},children:J.jsx($h,{triple:o,endpoint:a,onClose:()=>e(null)})}),J.jsx("div",{style:{position:"relative",zIndex:2e3},children:s})]})};function Hx(r,e){(e==null||e>r.length)&&(e=r.length);for(var n=0,i=Array(e);n<e;n++)i[n]=r[n];return i}function XZ(r){if(Array.isArray(r))return r}function YZ(r){if(Array.isArray(r))return Hx(r)}function KZ(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function ZZ(r,e,n){return e=sm(e),oQ(r,z2()?Reflect.construct(e,n,sm(r).constructor):e.apply(r,n))}function QZ(r,e){if(!(r instanceof e))throw new TypeError("Cannot call a class as a function")}function JZ(r,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(r,lQ(i.key),i)}}function eQ(r,e,n){return JZ(r.prototype,e),Object.defineProperty(r,"prototype",{writable:!1}),r}function sm(r){return sm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},sm(r)}function tQ(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),e&&jx(r,e)}function z2(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(z2=function(){return!!r})()}function nQ(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function iQ(r,e){var n=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(n!=null){var i,s,o,a,l=[],c=!0,u=!1;try{if(o=(n=n.call(r)).next,e===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(i=o.call(n)).done)&&(l.push(i.value),l.length!==e);c=!0);}catch(h){u=!0,s=h}finally{try{if(!c&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw s}}return l}}function rQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
5403
5403
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sQ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
5404
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oQ(r,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return KZ(r)}function jx(r,e){return jx=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},jx(r,e)}function G2(r,e){return XZ(r)||iQ(r,e)||V2(r,e)||rQ()}function om(r){return YZ(r)||nQ(r)||V2(r)||sQ()}function aQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function lQ(r){var e=aQ(r,"string");return typeof e=="symbol"?e:e+""}function V2(r,e){if(r){if(typeof r=="string")return Hx(r,e);var n={}.toString.call(r).slice(8,-1);return n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set"?Array.from(r):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hx(r,e):void 0}}var Eh=typeof window<"u"&&window.THREE?window.THREE:{CanvasTexture:R3,Sprite:A3,SpriteMaterial:TT,SRGBColorSpace:mi};Eh.Sprite;const cQ=({graphData:r,onNodeClick:e,onEngineStop:n,fgRef:i,children:s,selectedTriple:o,endpoint:a,disableNodeDetailsSidebar:l=!1})=>{const c=_e.useRef(),[u,h]=_e.useState({width:100,height:100}),[d,f]=_e.useState(null),[p,m]=_e.useState(null),[_,y]=_e.useState({x:0,y:0}),g=_e.useRef(new Map);_e.useEffect(()=>{const b=()=>{c.current&&h({width:c.current.clientWidth,height:c.current.clientHeight})};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]);const x=b=>{if(g.current.has(b.id))return g.current.get(b.id);const v=128,S=document.createElement("canvas");S.width=S.height=v;const w=S.getContext("2d");if(w.clearRect(0,0,v,v),b.image){const M=new window.Image;M.crossOrigin="anonymous",M.src=b.image,M.onload=()=>{if(w.clearRect(0,0,v,v),b.type==="object"){w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v);const T=Math.max(v/M.width,v/M.height),R=M.width*T,O=M.height*T;w.drawImage(M,v/2-R/2,v/2-O/2,R,O)}else{w.save(),w.beginPath(),w.arc(v/2,v/2,v/2,0,2*Math.PI),w.closePath(),w.clip(),w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v);const T=Math.max(v/M.width,v/M.height),R=M.width*T,O=M.height*T;w.drawImage(M,v/2-R/2,v/2-O/2,R,O),w.restore()}E.needsUpdate=!0,i.current&&i.current.emit("redraw")}}else{b.type==="object"?(w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v)):(w.save(),w.beginPath(),w.arc(v/2,v/2,v/2,0,2*Math.PI),w.closePath(),w.clip(),w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v),w.restore());const M=(b.label||"?").substring(0,3);w.font="bold 48px Sans-Serif",w.fillStyle="#fff",w.textAlign="center",w.textBaseline="middle",w.fillText(M,v/2,v/2+6)}const E=new Ri(S);E.needsUpdate=!0;const A=new dd({map:E,transparent:!0});return g.current.set(b.id,A),A};return J.jsxs("div",{ref:c,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},onMouseMove:b=>{if(c.current){const v=c.current.getBoundingClientRect();y({x:b.clientX-v.left,y:b.clientY-v.top})}},children:[J.jsx(Vx,{ref:i,graphData:r,width:u.width,height:u.height,controlType:"fly",backgroundColor:"rgba(0,0,0,0)",nodeLabel:"",onNodeClick:e,linkColor:()=>"rgba(255, 211, 42, 0.15)",linkDirectionalParticles:2,linkDirectionalParticleSpeed:.0025,linkDirectionalParticleColor:()=>"rgba(255,255,255,0.5)",nodeAutoColorBy:"type",nodeThreeObject:b=>{const S=new ra,w=x(b);let E;return b.type==="object"?E=new yi(new qc(16,16),w):E=new yi(new T0(16/2,48),w),S.add(E),S},onEngineStop:n,onNodeHover:b=>{requestAnimationFrame(()=>f(b))},onLinkHover:b=>{requestAnimationFrame(()=>m(b))},onBackgroundClick:()=>{requestAnimationFrame(()=>{m(null),f(null)})},onZoom:()=>{requestAnimationFrame(()=>{m(null),f(null)})}}),o&&!l&&J.jsx("div",{style:{position:"absolute",top:80,right:30,width:350,zIndex:9999,maxHeight:"80vh",background:"#18181b",borderRadius:"10px",border:"3px solid #ffd32a",boxShadow:"0 8px 30px rgba(0, 0, 0, 0.5)",overflowY:"auto"},children:J.jsx($h,{triple:o,endpoint:a,onClose:()=>e(null)})}),J.jsx("div",{style:{position:"relative",zIndex:2e3},children:s}),p&&p.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:fn.PREDICATE,color:"#fff",border:`1.5px solid ${fn.PREDICATE}`,borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:p.label}):d&&d.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:"#232326",color:"#fff",border:"1.5px solid #ffd32a",borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:d.label}):null]})},uQ="data:image/svg+xml,%3csvg%20width='32'%20height='30'%20viewBox='0%200%2032%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M26.9436%2019.5778C25.8567%2019.5772%2024.8057%2019.9695%2023.9819%2020.6833L20.0907%2017.6358C20.4028%2017.004%2020.565%2016.3078%2020.5646%2015.6021C20.5642%2015.4181%2020.5531%2015.2343%2020.5312%2015.0517L22.9947%2014.2259C23.5462%2015.1905%2024.4272%2015.9203%2025.4735%2016.2794C26.5199%2016.6384%2027.6602%2016.6023%2028.682%2016.1777C29.7039%2015.753%2030.5375%2014.9689%2031.0276%2013.9713C31.5178%2012.9738%2031.631%2011.8308%2031.3461%2010.7554C31.0613%209.68008%2030.3979%208.74564%2029.4794%208.12623C28.561%207.50683%2027.4502%207.2447%2026.354%207.38869C25.2579%207.53269%2024.2511%208.07298%2023.5213%208.90891C22.7914%209.74483%2022.3884%2010.8194%2022.3871%2011.9323C22.3875%2012.1163%2022.3986%2012.3001%2022.4206%2012.4828L19.957%2013.3085C19.475%2012.4631%2018.7374%2011.7948%2017.8516%2011.4012C16.9658%2011.0076%2015.9783%2010.9092%2015.0331%2011.1204L13.7967%208.32213C14.7159%207.66222%2015.359%206.68228%2015.6014%205.57222C15.8438%204.46216%2015.6682%203.30103%2015.1087%202.31386C14.5492%201.32668%2013.6457%200.583768%2012.5731%200.229086C11.5006%20-0.125597%2010.3354%20-0.0667882%209.30348%200.394115C8.27155%200.855018%207.44631%201.68519%206.9877%202.72375C6.52908%203.76231%206.46976%204.9353%206.82122%206.01538C7.17267%207.09547%207.90989%208.00574%208.88998%208.56979C9.87008%209.13384%2011.0233%209.31149%2012.1261%209.06833L13.3624%2011.8666C12.4386%2012.528%2011.7937%2013.5131%2011.5543%2014.6286C11.3149%2015.7441%2011.4982%2016.9094%2012.0683%2017.8958L7.80656%2021.7185C6.90029%2021.0354%205.77439%2020.7154%204.64711%2020.8206C3.51984%2020.9257%202.4715%2021.4485%201.7053%2022.2876C0.939107%2023.1267%200.509642%2024.2222%200.50016%2025.362C0.490678%2026.5017%200.901855%2027.6044%201.65398%2028.4562C2.40611%2029.3081%203.44561%2029.8485%204.57097%2029.9726C5.69634%2030.0968%206.8274%2029.7958%207.74491%2029.1281C8.66242%2028.4604%209.30101%2027.4736%209.53689%2026.3588C9.77278%2025.2441%209.58915%2024.0809%209.02161%2023.0947L13.2743%2019.2719C14.1021%2019.8983%2015.1177%2020.2212%2016.1527%2020.187C17.1877%2020.1528%2018.18%2019.7636%2018.9653%2019.0839L22.8564%2022.1313C22.4174%2023.0251%2022.2795%2024.0385%2022.4637%2025.0182C22.6479%2025.9978%2023.1441%2026.8904%2023.8772%2027.5608C24.6104%2028.2311%2025.5405%2028.6428%2026.5267%2028.7333C27.513%2028.8239%2028.5017%2028.5885%2029.3432%2028.0627C30.1847%2027.537%2030.8332%2026.7495%2031.1904%2025.8196C31.5476%2024.8896%2031.5941%2023.8678%2031.3229%2022.9088C31.0517%2021.9499%2030.4775%2021.106%2029.6873%2020.5049C28.8971%2019.9039%2027.9339%2019.5784%2026.9436%2019.5778Z'%20fill='%2318181B'/%3e%3c/svg%3e";var $2={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},H2=_e.createContext&&_e.createContext($2),hQ=["attr","size","title"];function dQ(r,e){if(r==null)return{};var n=fQ(r,e),i,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);for(s=0;s<o.length;s++)i=o[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(n[i]=r[i])}return n}function fQ(r,e){if(r==null)return{};var n={};for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i)){if(e.indexOf(i)>=0)continue;n[i]=r[i]}return n}function am(){return am=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])}return r},am.apply(this,arguments)}function j2(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),n.push.apply(n,i)}return n}function lm(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?j2(Object(n),!0).forEach(function(i){pQ(r,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):j2(Object(n)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(n,i))})}return r}function pQ(r,e,n){return e=mQ(e),e in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function mQ(r){var e=gQ(r,"string");return typeof e=="symbol"?e:e+""}function gQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function W2(r){return r&&r.map((e,n)=>_e.createElement(e.tag,lm({key:n},e.attr),W2(e.child)))}function q2(r){return e=>_e.createElement(yQ,am({attr:lm({},r.attr)},e),W2(r.child))}function yQ(r){var e=n=>{var{attr:i,size:s,title:o}=r,a=dQ(r,hQ),l=s||n.size||"1em",c;return n.className&&(c=n.className),r.className&&(c=(c?c+" ":"")+r.className),_e.createElement("svg",am({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,i,a,{className:c,style:lm(lm({color:r.color||n.color},n.style),r.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),o&&_e.createElement("title",null,o),r.children)};return H2!==void 0?_e.createElement(H2.Consumer,null,n=>e(n)):e($2)}function _Q(r){return q2({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"},child:[]}]})(r)}function vQ(r){return q2({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"},child:[]}]})(r)}const X2={background:"#ffd32a",color:"#18181b",border:"none",borderRadius:12,width:54,height:54,fontSize:22,fontWeight:"bold",boxShadow:"0 2px 8px rgba(0,0,0,0.18)",cursor:"pointer",marginBottom:0,marginTop:0,textTransform:"uppercase",display:"flex",alignItems:"center",justifyContent:"center",padding:0,transition:"background 0.2s, color 0.2s, transform 0.1s"},xQ={background:"#ffe066",color:"#18181b",transform:"translateY(-2px) scale(1.03)"},bQ=({onReset:r,onBack:e,onForward:n,canGoBack:i,canGoForward:s})=>{const[o,a]=_e.useState(""),l=c=>o===c?{...X2,...xQ}:X2;return J.jsxs("div",{style:{position:"absolute",top:"5px",left:"8px",zIndex:50,display:"flex",flexDirection:"row",gap:"16px",alignItems:"center"},children:[J.jsx("div",{style:{width:54,height:54}}),J.jsx("button",{style:{...l("graph"),width:54},onClick:r,"aria-label":"Return to graph",onMouseEnter:()=>a("graph"),onMouseLeave:()=>a(""),children:J.jsx("img",{src:uQ,alt:"PI Graph",style:{width:28,height:28}})}),J.jsx("button",{style:{...l("prev"),opacity:i?1:.5},onClick:e,disabled:!i,"aria-label":"Previous",onMouseEnter:()=>a("prev"),onMouseLeave:()=>a(""),children:J.jsx(_Q,{})}),J.jsx("button",{style:{...l("next"),opacity:s?1:.5},onClick:n,disabled:!s,"aria-label":"Next",onMouseEnter:()=>a("next"),onMouseLeave:()=>a(""),children:J.jsx(vQ,{})})]})},SQ=({viewMode:r,onViewModeChange:e})=>J.jsxs("div",{className:"agent-navbar",style:{display:"flex",flexDirection:"column",alignItems:"left",gap:"10px"},children:[J.jsx("label",{htmlFor:"viewMode",style:{color:"#ffd32a"},children:"View Mode:"}),J.jsxs("select",{id:"viewMode",value:r,onChange:n=>e(n.target.value),style:{background:"#ffd32a",color:"rgb(24, 24, 27)",borderRadius:"12px",height:"42px",padding:"6px 12px",fontWeight:"bold",fontSize:15,outline:"none",cursor:"pointer"},children:[J.jsx("option",{value:"2D",children:"2D"}),J.jsx("option",{value:"3D",children:"3D"}),J.jsx("option",{value:"VR",children:"VR"})]})]}),Wx="gateway.pinata.cloud",qx=r=>!r||typeof r!="string"?!1:r.startsWith("ipfs://")||r.startsWith("ipfs/"),Y2=(r,e=Wx)=>{if(!r||typeof r!="string"||!qx(r))return r;let n=r;return n.startsWith("ipfs://")?n=n.replace("ipfs://",""):n.startsWith("ipfs/")&&(n=n.replace("ipfs/","")),`https://${e.replace(/^https?:\/\//,"").replace(/\/+$/,"")}/ipfs/${n}`},cm=(r,e=Wx)=>{if(!r||typeof r!="object")return typeof r=="string"&&qx(r)?Y2(r,e):r;if(Array.isArray(r))return r.map(i=>cm(i,e));const n={};for(const i in r)if(r.hasOwnProperty(i)){const s=r[i];i==="image"&&typeof s=="string"&&qx(s)?n[i]=Y2(s,e):typeof s=="object"&&s!==null?n[i]=cm(s,e):n[i]=s}return n},TQ=(r,e=Wx)=>r&&{nodes:cm(r.nodes||[],e),links:cm(r.links||[],e)},Ah=r=>{const e=[],n=[],i=new Map;return r.forEach(({subject:s,predicate:o,object:a})=>{if(!i.has(s.id)){const l={id:s.id,label:s.label,image:s.image,isTriple:!1,color:zo("subject"),type:"subject"};i.set(s.id,l),e.push(l)}if(!i.has(a.id)){const l={id:a.id,label:a.label,image:a.image,isTriple:!1,color:zo("object"),type:"object"};i.set(a.id,l),e.push(l)}n.push({source:s.id,target:a.id,type:"subject-to-object",label:o.label,predicateId:o.id})}),TQ({nodes:e,links:n})},wQ="0x5dc0a2335c12343d8e0f71b62a73fbf70d06fcbaf647f57d82a189873ad90da3",MQ=(r,e="base",n,i)=>{const s=n||wQ,[o,a]=_e.useState({nodes:[],links:[]}),[l,c]=_e.useState(null),[u,h]=_e.useState(!0),[d,f]=_e.useState(null),[p,m]=_e.useState(!1),[_,y]=_e.useState([]),[g,x]=_e.useState(0),b=_e.useRef(null),[v,S]=_e.useState(""),[w,E]=_e.useState(""),[A,M]=_e.useState(""),[T,R]=_e.useState(!1),[O,P]=_e.useState(!1),C=_e.useCallback(async()=>{m(!0);try{let k;e==="agent"?k=await Rb(s,r):k=await Vh(r);const Q=Ah(k);a(Q),c(Q)}catch(k){console.error("Error loading graph data:",k)}finally{m(!1)}},[r,e]),I=_e.useCallback(()=>{a(l),f(null),S(""),E(""),M(""),P(!1)},[l]),L=_e.useCallback(async(k,Q,le)=>{if(k===null){f(null);return}if(f(k),i&&i(k),Q&&Q.current)try{const U={x:k.x,y:k.y,z:k.z||0},H=await Ab(k.id,r),re=Ah(H),ee=re.nodes.find(he=>he.id===k.id);ee&&(ee.x=U.x,ee.y=U.y,le==="3D"&&(ee.z=U.z),ee.fx=U.x,ee.fy=U.y,le==="3D"&&(ee.fz=U.z)),y(he=>{const be=he.slice(0,g+1);return be.push({graphData:o,selectedTriple:k}),be}),x(he=>he+1),a(re)}catch(U){console.error("Error fetching triples:",U)}},[r,o,g]),W=_e.useCallback((k,Q)=>{switch(b.current&&clearTimeout(b.current),k){case"subject":S(Q);break;case"predicate":E(Q);break;case"object":M(Q);break}b.current=setTimeout(()=>{P(!0)},500)},[]),$=_e.useCallback(async()=>{if(O){if(!v&&!w&&!A){I();return}R(!0);try{const Q=await $o({subject:v,predicate:w,object:A},r);if(!Q||Q.length===0){a({nodes:[],links:[]});return}const le=Ah(Q);a(le),y(U=>{const H=U.slice(0,g+1);return H.push({graphData:le,selectedTriple:null}),H}),x(U=>U+1)}catch(k){console.error("Error searching triples:",k)}finally{R(!1),P(!1)}}},[v,w,A,r,I,g,O]),ie=_e.useCallback(()=>{if(g>0){const{graphData:k,selectedTriple:Q}=_[g-1];a(k),f(Q),x(le=>le-1)}},[g,_]),F=_e.useCallback(()=>{if(g<_.length-1){const{graphData:k,selectedTriple:Q}=_[g+1];a(k),f(Q),x(le=>le+1)}},[g,_]);return{graphData:o,initialGraphData:l,isInitialLoad:u,selectedTriple:d,isLoading:p,isSearching:T,subjectFilter:v,predicateFilter:w,objectFilter:A,shouldSearch:O,canGoBack:g>0,canGoForward:g<_.length-1,setSelectedTriple:f,setIsInitialLoad:h,loadInitialData:C,resetGraph:I,handleNodeClick:L,handleFilterChange:W,applyFilters:$,goBack:ie,goForward:F,setGraphData:a,graphHistory:_,setGraphHistory:y,currentHistoryIndex:g,setCurrentHistoryIndex:x}};let Ch={endpoint:null,data:null,timestamp:null};const EQ=15*60*1e3,AQ=async r=>{const e=Date.now();if(Ch.data&&Ch.endpoint===r&&e-Ch.timestamp<EQ)return Ch.data;const n=await Vh(r);return Ch={endpoint:r,data:n,timestamp:e},n},CQ=async(r,e="base",n=10)=>{if(!r||r.length<1)return{subjects:[],predicates:[],objects:[],triples:[]};const i=r.toLowerCase().trim();if(["is","of","in","at","by","to"].includes(i))try{const a=await $o({predicate:i},e);if(a&&a.length>0)return{subjects:[...new Set(a.map(l=>l.subject.label))].slice(0,n),predicates:[i],objects:[...new Set(a.map(l=>l.object.label))].slice(0,n),triples:a.map(l=>({subject:l.subject.label,predicate:l.predicate.label,object:l.object.label})).slice(0,n)}}catch{}try{const a=(await AQ(e)).filter(x=>i.length<=3?x.subject&&x.subject.label&&x.subject.label.toLowerCase().indexOf(i)!==-1||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().indexOf(i)!==-1||x.object&&x.object.label&&x.object.label.toLowerCase().indexOf(i)!==-1:x.subject&&x.subject.label&&x.subject.label.toLowerCase().includes(i)||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().includes(i)||x.object&&x.object.label&&x.object.label.toLowerCase().includes(i));if(a.length>0){const x=A=>{if(!A)return 0;const M=A.toLowerCase();let T=100-Math.min(A.length,50);return M.startsWith(i)&&(T+=200),M===i&&(T+=300),!/^0x[0-9a-f]{8,}$/i.test(M)&&!/[0-9a-f]{30,}/i.test(M)&&(T+=150),/^[A-Za-z0-9]+ - [A-Za-z0-9 ]+$/.test(A)&&(T+=100),T},b=[...new Set(a.filter(A=>A.subject&&A.subject.label&&A.subject.label.toLowerCase().indexOf(i)!==-1).map(A=>A.subject.label))].sort((A,M)=>x(M)-x(A));let v=[...new Set(a.filter(A=>A.predicate&&A.predicate.label&&A.predicate.label.toLowerCase().indexOf(i)!==-1).map(A=>A.predicate.label))].sort((A,M)=>A.toLowerCase()===i?-1:M.toLowerCase()===i?1:x(M)-x(A));const S=[...new Set(a.filter(A=>A.object&&A.object.label&&A.object.label.toLowerCase().indexOf(i)!==-1).map(A=>A.object.label))].sort((A,M)=>x(M)-x(A)),w=A=>{if(!A)return 0;const M=A.subject?x(A.subject):0,T=A.predicate?x(A.predicate):0,R=A.object?x(A.object):0;return Math.max(M,T,R)},E=a.map(A=>({subject:A.subject.label,predicate:A.predicate.label,object:A.object.label})).sort((A,M)=>w(M)-w(A)).slice(0,n);return{subjects:b.slice(0,n),predicates:v.slice(0,n),objects:S.slice(0,n),triples:E}}const c=await $o({subject:r},e),h=await $o({predicate:r},e),f=await $o({object:r},e);let p=[...c||[]];h&&h.length>0&&(p=[...p,...h.filter(x=>!p.some(b=>b.id===x.id))]),f&&f.length>0&&(p=[...p,...f.filter(x=>!p.some(b=>b.id===x.id))]);const m=[...new Set(p.filter(x=>x.subject&&x.subject.label).map(x=>x.subject.label).filter(x=>x.toLowerCase().includes(i)))],_=[...new Set(p.filter(x=>x.predicate&&x.predicate.label).map(x=>x.predicate.label).filter(x=>x.toLowerCase().includes(i)))],y=[...new Set(p.filter(x=>x.object&&x.object.label).map(x=>x.object.label).filter(x=>x.toLowerCase().includes(i)))],g=p.map(x=>({subject:x.subject.label,predicate:x.predicate.label,object:x.object.label})).slice(0,n);return{subjects:m.slice(0,n),predicates:_.slice(0,n),objects:y.slice(0,n),triples:g}}catch{return{subjects:[],predicates:[],objects:[],triples:[]}}},RQ=({endpoint:r,onSearch:e,isSearching:n,onSearchStart:i})=>{const[s,o]=_e.useState(""),[a,l]=_e.useState({subjects:[],predicates:[],objects:[],triples:[]}),[c,u]=_e.useState({subject:"",predicate:"",object:""}),[h,d]=_e.useState(!1),[f,p]=_e.useState(!1),m=_e.useRef(null),_=_e.useRef(null);_e.useEffect(()=>{const P=C=>{_.current&&!_.current.contains(C.target)&&d(!1)};return document.addEventListener("mousedown",P),()=>{document.removeEventListener("mousedown",P)}},[]),_e.useEffect(()=>(s.length>=2?(clearTimeout(m.current),p(!0),d(!0),m.current=setTimeout(async()=>{try{const P=await CQ(s,r);l(P),d(!0),p(!1)}catch(P){console.error("Error retrieving suggestions:",P),p(!1)}},300)):(l({subjects:[],predicates:[],objects:[],triples:[]}),d(!1),p(!1)),()=>{clearTimeout(m.current)}),[s,r]);const y=(P,C)=>{u(I=>({...I,[P]:I[P]===C?"":C}))},g=async()=>{typeof i=="function"&&i();try{const P={subject:c.subject||"",predicate:c.predicate||"",object:c.object||""};typeof e=="function"&&await e(s,P)}catch{}},x=c.subject||c.predicate||c.object,b=a.subjects.length>0||a.predicates.length>0||a.objects.length>0||a.triples&&a.triples.length>0,v={container:{width:"100%",maxWidth:"550px",margin:"0 auto",position:"relative",zIndex:1e3},inputWrapper:{display:"flex",width:"100%",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",borderRadius:"12px",overflow:"hidden",backgroundColor:"rgba(30, 30, 40, 0.6)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.2)"},input:{flex:1,padding:"10px 15px",fontSize:"15px",border:"none",backgroundColor:"transparent",color:"white",outline:"none",fontWeight:"400",height:"40px"},button:{padding:"0 22px",border:"none",cursor:"pointer",fontWeight:"bold",fontSize:"15px",textTransform:"uppercase"},activeFilters:{display:"flex",flexWrap:"wrap",alignItems:"center",marginTop:"12px",padding:"8px 12px",backgroundColor:"rgba(30, 30, 40, 0.7)",borderRadius:"6px",border:"1px solid rgba(255, 255, 255, 0.1)",backdropFilter:"blur(5px)"},filtersLabel:{fontWeight:"600",marginRight:"12px",color:"rgba(255, 255, 255, 0.9)",fontSize:"13px"},filtersChips:{display:"flex",flexWrap:"wrap",gap:"6px",flex:1},filterChip:{display:"flex",alignItems:"center",padding:"3px 8px",borderRadius:"16px",fontSize:"12px",color:"white",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)"},subjectChip:{backgroundColor:`${fn.SUBJECT}cc`},predicateChip:{backgroundColor:`${fn.PREDICATE}cc`},objectChip:{backgroundColor:`${fn.OBJECT}cc`},chipButton:{background:"none",border:"none",color:"white",marginLeft:"4px",cursor:"pointer",fontSize:"14px",lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",borderRadius:"50%",transition:"background-color 0.2s ease"},chipButtonHover:{backgroundColor:"rgba(255, 255, 255, 0.2)"},clearButton:{padding:"4px 10px",backgroundColor:"rgba(255, 70, 70, 0.8)",color:"white",border:"none",borderRadius:"16px",cursor:"pointer",fontSize:"12px",fontWeight:"500",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",marginLeft:"auto"},clearButtonHover:{backgroundColor:"rgba(255, 70, 70, 1)"},suggestionsContainer:{position:"absolute",top:"calc(100% + 8px)",left:0,right:0,backgroundColor:"rgba(25, 25, 35, 0.9)",backdropFilter:"blur(10px)",border:"1px solid rgba(255, 255, 255, 0.1)",borderRadius:"8px",maxHeight:"400px",overflowY:"auto",zIndex:1001,boxShadow:"0 8px 16px rgba(0, 0, 0, 0.3)",color:"white"},suggestionCategory:{padding:"14px",borderBottom:"1px solid rgba(255, 255, 255, 0.1)"},categoryHeader:{fontWeight:"600",marginBottom:"10px",color:"rgba(255, 255, 255, 0.8)",fontSize:"14px",textTransform:"uppercase",letterSpacing:"0.5px"},suggestionList:{display:"flex",flexWrap:"wrap",gap:"8px"},suggestionItem:{padding:"3px 8px",borderRadius:"16px",backgroundColor:"rgba(255, 255, 255, 0.15)",fontSize:"12px",cursor:"pointer",transition:"all 0.2s ease",color:"rgba(255, 255, 255, 0.9)"},suggestionItemHover:{backgroundColor:"rgba(255, 255, 255, 0.25)"},selectedSuggestion:{backgroundColor:"#4A66E8",color:"white"},loadingContainer:{display:"flex",justifyContent:"center",alignItems:"center",padding:"25px"},loader:{width:"30px",height:"30px",border:"3px solid rgba(255,255,255,0.2)",borderRadius:"50%",borderTop:"3px solid #ffd32a",animation:"spin 1s linear infinite"},noResults:{padding:"25px",textAlign:"center",fontSize:"14px",color:"rgba(255,255,255,0.7)"},tripleSuggestion:{padding:"8px 12px",borderRadius:"12px",fontSize:"13px",cursor:"pointer",transition:"all 0.2s ease",backgroundColor:"rgba(30, 30, 40, 0.55)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.15)",display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"6px",alignItems:"center",justifyContent:"center"},tripleSuggestionHover:{backgroundColor:"rgba(50, 50, 60, 0.65)"},tripleSubjectPart:{color:fn.SUBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.SUBJECT}33`},triplePredicatePart:{color:fn.PREDICATE,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.PREDICATE}33`},tripleObjectPart:{color:fn.OBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.OBJECT}33`},subjectSuggestion:{backgroundColor:fn.SUBJECT,color:"#fff",fontWeight:"500",border:"none"},predicateSuggestion:{backgroundColor:fn.PREDICATE,color:"#fff",fontWeight:"500",border:"none"},objectSuggestion:{backgroundColor:fn.OBJECT,color:"#fff",fontWeight:"500",border:"none"}},[S,w]=_e.useState(!1),[E,A]=_e.useState(!1),[M,T]=_e.useState(null),[R,O]=_e.useState(null);return J.jsxs("div",{style:v.container,children:[J.jsx("style",{children:`
5404
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oQ(r,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return KZ(r)}function jx(r,e){return jx=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},jx(r,e)}function G2(r,e){return XZ(r)||iQ(r,e)||V2(r,e)||rQ()}function om(r){return YZ(r)||nQ(r)||V2(r)||sQ()}function aQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function lQ(r){var e=aQ(r,"string");return typeof e=="symbol"?e:e+""}function V2(r,e){if(r){if(typeof r=="string")return Hx(r,e);var n={}.toString.call(r).slice(8,-1);return n==="Object"&&r.constructor&&(n=r.constructor.name),n==="Map"||n==="Set"?Array.from(r):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hx(r,e):void 0}}var Eh=typeof window<"u"&&window.THREE?window.THREE:{CanvasTexture:R3,Sprite:A3,SpriteMaterial:TT,SRGBColorSpace:mi};Eh.Sprite;const cQ=({graphData:r,onNodeClick:e,onEngineStop:n,fgRef:i,children:s,selectedTriple:o,endpoint:a,disableNodeDetailsSidebar:l=!1})=>{const c=_e.useRef(),[u,h]=_e.useState({width:100,height:100}),[d,f]=_e.useState(null),[p,m]=_e.useState(null),[_,y]=_e.useState({x:0,y:0}),g=_e.useRef(new Map);_e.useEffect(()=>{const b=()=>{c.current&&h({width:c.current.clientWidth,height:c.current.clientHeight})};return b(),window.addEventListener("resize",b),()=>window.removeEventListener("resize",b)},[]);const x=b=>{if(g.current.has(b.id))return g.current.get(b.id);const v=128,S=document.createElement("canvas");S.width=S.height=v;const w=S.getContext("2d");if(w.clearRect(0,0,v,v),b.image){const M=new window.Image;M.crossOrigin="anonymous",M.src=b.image,M.onload=()=>{if(w.clearRect(0,0,v,v),b.type==="object"){w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v);const T=Math.max(v/M.width,v/M.height),R=M.width*T,O=M.height*T;w.drawImage(M,v/2-R/2,v/2-O/2,R,O)}else{w.save(),w.beginPath(),w.arc(v/2,v/2,v/2,0,2*Math.PI),w.closePath(),w.clip(),w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v);const T=Math.max(v/M.width,v/M.height),R=M.width*T,O=M.height*T;w.drawImage(M,v/2-R/2,v/2-O/2,R,O),w.restore()}E.needsUpdate=!0,i.current&&i.current.emit("redraw")}}else{b.type==="object"?(w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v)):(w.save(),w.beginPath(),w.arc(v/2,v/2,v/2,0,2*Math.PI),w.closePath(),w.clip(),w.fillStyle=zo(b.type)+"CC",w.fillRect(0,0,v,v),w.restore());const M=(b.label||"?").substring(0,3);w.font="bold 48px Sans-Serif",w.fillStyle="#fff",w.textAlign="center",w.textBaseline="middle",w.fillText(M,v/2,v/2+6)}const E=new Ri(S);E.needsUpdate=!0;const A=new dd({map:E,transparent:!0});return g.current.set(b.id,A),A};return J.jsxs("div",{ref:c,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},onMouseMove:b=>{if(c.current){const v=c.current.getBoundingClientRect();y({x:b.clientX-v.left,y:b.clientY-v.top})}},children:[J.jsx(Vx,{ref:i,graphData:r,width:u.width,height:u.height,controlType:"fly",backgroundColor:"rgba(0,0,0,0)",nodeLabel:"",onNodeClick:e,linkColor:()=>"rgba(255, 211, 42, 0.15)",linkDirectionalParticles:2,linkDirectionalParticleSpeed:.0025,linkDirectionalParticleColor:()=>"rgba(255,255,255,0.5)",nodeAutoColorBy:"type",nodeThreeObject:b=>{const S=new ra,w=x(b);let E;return b.type==="object"?E=new yi(new qc(16,16),w):E=new yi(new T0(16/2,48),w),S.add(E),S},onEngineStop:n,onNodeHover:b=>{requestAnimationFrame(()=>f(b))},onLinkHover:b=>{requestAnimationFrame(()=>m(b))},onBackgroundClick:()=>{requestAnimationFrame(()=>{m(null),f(null)})},onZoom:()=>{requestAnimationFrame(()=>{m(null),f(null)})}}),o&&!l&&J.jsx("div",{style:{position:"absolute",top:80,right:30,width:350,zIndex:9999,maxHeight:"80vh",background:"#18181b",borderRadius:"10px",border:"3px solid #ffd32a",boxShadow:"0 8px 30px rgba(0, 0, 0, 0.5)",overflowY:"auto"},children:J.jsx($h,{triple:o,endpoint:a,onClose:()=>e(null)})}),J.jsx("div",{style:{position:"relative",zIndex:2e3},children:s}),p&&p.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:fn.PREDICATE,color:"#fff",border:`1.5px solid ${fn.PREDICATE}`,borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:p.label}):d&&d.label?J.jsx("div",{style:{position:"absolute",left:_.x+18,top:_.y-10,background:"#232326",color:"#fff",border:"1.5px solid #ffd32a",borderRadius:8,padding:"6px 14px",fontSize:15,fontWeight:"bold",zIndex:1e3,boxShadow:"0 2px 8px rgba(0,0,0,0.18)",pointerEvents:"none",whiteSpace:"nowrap",maxWidth:260,overflow:"hidden",textOverflow:"ellipsis"},children:d.label}):null]})},uQ="data:image/svg+xml,%3csvg%20width='32'%20height='30'%20viewBox='0%200%2032%2030'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M26.9436%2019.5778C25.8567%2019.5772%2024.8057%2019.9695%2023.9819%2020.6833L20.0907%2017.6358C20.4028%2017.004%2020.565%2016.3078%2020.5646%2015.6021C20.5642%2015.4181%2020.5531%2015.2343%2020.5312%2015.0517L22.9947%2014.2259C23.5462%2015.1905%2024.4272%2015.9203%2025.4735%2016.2794C26.5199%2016.6384%2027.6602%2016.6023%2028.682%2016.1777C29.7039%2015.753%2030.5375%2014.9689%2031.0276%2013.9713C31.5178%2012.9738%2031.631%2011.8308%2031.3461%2010.7554C31.0613%209.68008%2030.3979%208.74564%2029.4794%208.12623C28.561%207.50683%2027.4502%207.2447%2026.354%207.38869C25.2579%207.53269%2024.2511%208.07298%2023.5213%208.90891C22.7914%209.74483%2022.3884%2010.8194%2022.3871%2011.9323C22.3875%2012.1163%2022.3986%2012.3001%2022.4206%2012.4828L19.957%2013.3085C19.475%2012.4631%2018.7374%2011.7948%2017.8516%2011.4012C16.9658%2011.0076%2015.9783%2010.9092%2015.0331%2011.1204L13.7967%208.32213C14.7159%207.66222%2015.359%206.68228%2015.6014%205.57222C15.8438%204.46216%2015.6682%203.30103%2015.1087%202.31386C14.5492%201.32668%2013.6457%200.583768%2012.5731%200.229086C11.5006%20-0.125597%2010.3354%20-0.0667882%209.30348%200.394115C8.27155%200.855018%207.44631%201.68519%206.9877%202.72375C6.52908%203.76231%206.46976%204.9353%206.82122%206.01538C7.17267%207.09547%207.90989%208.00574%208.88998%208.56979C9.87008%209.13384%2011.0233%209.31149%2012.1261%209.06833L13.3624%2011.8666C12.4386%2012.528%2011.7937%2013.5131%2011.5543%2014.6286C11.3149%2015.7441%2011.4982%2016.9094%2012.0683%2017.8958L7.80656%2021.7185C6.90029%2021.0354%205.77439%2020.7154%204.64711%2020.8206C3.51984%2020.9257%202.4715%2021.4485%201.7053%2022.2876C0.939107%2023.1267%200.509642%2024.2222%200.50016%2025.362C0.490678%2026.5017%200.901855%2027.6044%201.65398%2028.4562C2.40611%2029.3081%203.44561%2029.8485%204.57097%2029.9726C5.69634%2030.0968%206.8274%2029.7958%207.74491%2029.1281C8.66242%2028.4604%209.30101%2027.4736%209.53689%2026.3588C9.77278%2025.2441%209.58915%2024.0809%209.02161%2023.0947L13.2743%2019.2719C14.1021%2019.8983%2015.1177%2020.2212%2016.1527%2020.187C17.1877%2020.1528%2018.18%2019.7636%2018.9653%2019.0839L22.8564%2022.1313C22.4174%2023.0251%2022.2795%2024.0385%2022.4637%2025.0182C22.6479%2025.9978%2023.1441%2026.8904%2023.8772%2027.5608C24.6104%2028.2311%2025.5405%2028.6428%2026.5267%2028.7333C27.513%2028.8239%2028.5017%2028.5885%2029.3432%2028.0627C30.1847%2027.537%2030.8332%2026.7495%2031.1904%2025.8196C31.5476%2024.8896%2031.5941%2023.8678%2031.3229%2022.9088C31.0517%2021.9499%2030.4775%2021.106%2029.6873%2020.5049C28.8971%2019.9039%2027.9339%2019.5784%2026.9436%2019.5778Z'%20fill='%2318181B'/%3e%3c/svg%3e";var $2={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},H2=_e.createContext&&_e.createContext($2),hQ=["attr","size","title"];function dQ(r,e){if(r==null)return{};var n=fQ(r,e),i,s;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);for(s=0;s<o.length;s++)i=o[s],!(e.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(r,i)&&(n[i]=r[i])}return n}function fQ(r,e){if(r==null)return{};var n={};for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i)){if(e.indexOf(i)>=0)continue;n[i]=r[i]}return n}function am(){return am=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])}return r},am.apply(this,arguments)}function j2(r,e){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable})),n.push.apply(n,i)}return n}function lm(r){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?j2(Object(n),!0).forEach(function(i){pQ(r,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):j2(Object(n)).forEach(function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(n,i))})}return r}function pQ(r,e,n){return e=mQ(e),e in r?Object.defineProperty(r,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[e]=n,r}function mQ(r){var e=gQ(r,"string");return typeof e=="symbol"?e:e+""}function gQ(r,e){if(typeof r!="object"||!r)return r;var n=r[Symbol.toPrimitive];if(n!==void 0){var i=n.call(r,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function W2(r){return r&&r.map((e,n)=>_e.createElement(e.tag,lm({key:n},e.attr),W2(e.child)))}function q2(r){return e=>_e.createElement(yQ,am({attr:lm({},r.attr)},e),W2(r.child))}function yQ(r){var e=n=>{var{attr:i,size:s,title:o}=r,a=dQ(r,hQ),l=s||n.size||"1em",c;return n.className&&(c=n.className),r.className&&(c=(c?c+" ":"")+r.className),_e.createElement("svg",am({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,i,a,{className:c,style:lm(lm({color:r.color||n.color},n.style),r.style),height:l,width:l,xmlns:"http://www.w3.org/2000/svg"}),o&&_e.createElement("title",null,o),r.children)};return H2!==void 0?_e.createElement(H2.Consumer,null,n=>e(n)):e($2)}function _Q(r){return q2({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"},child:[]}]})(r)}function vQ(r){return q2({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"},child:[]}]})(r)}const X2={background:"#ffd32a",color:"#18181b",border:"none",borderRadius:12,width:54,height:54,fontSize:22,fontWeight:"bold",boxShadow:"0 2px 8px rgba(0,0,0,0.18)",cursor:"pointer",marginBottom:0,marginTop:0,textTransform:"uppercase",display:"flex",alignItems:"center",justifyContent:"center",padding:0,transition:"background 0.2s, color 0.2s, transform 0.1s"},xQ={background:"#ffe066",color:"#18181b",transform:"translateY(-2px) scale(1.03)"},bQ=({onReset:r,onBack:e,onForward:n,canGoBack:i,canGoForward:s})=>{const[o,a]=_e.useState(""),l=c=>o===c?{...X2,...xQ}:X2;return J.jsxs("div",{style:{position:"absolute",top:"5px",left:"8px",zIndex:50,display:"flex",flexDirection:"row",gap:"16px",alignItems:"center"},children:[J.jsx("div",{style:{width:54,height:54}}),J.jsx("button",{style:{...l("graph"),width:54},onClick:r,"aria-label":"Return to graph",onMouseEnter:()=>a("graph"),onMouseLeave:()=>a(""),children:J.jsx("img",{src:uQ,alt:"PI Graph",style:{width:28,height:28}})}),J.jsx("button",{style:{...l("prev"),opacity:i?1:.5},onClick:e,disabled:!i,"aria-label":"Previous",onMouseEnter:()=>a("prev"),onMouseLeave:()=>a(""),children:J.jsx(_Q,{})}),J.jsx("button",{style:{...l("next"),opacity:s?1:.5},onClick:n,disabled:!s,"aria-label":"Next",onMouseEnter:()=>a("next"),onMouseLeave:()=>a(""),children:J.jsx(vQ,{})})]})},SQ=({viewMode:r,onViewModeChange:e})=>J.jsxs("div",{className:"agent-navbar",style:{display:"flex",flexDirection:"column",alignItems:"left",gap:"10px"},children:[J.jsx("label",{htmlFor:"viewMode",style:{color:"#ffd32a"},children:"View Mode:"}),J.jsxs("select",{id:"viewMode",value:r,onChange:n=>e(n.target.value),style:{background:"#ffd32a",color:"rgb(24, 24, 27)",borderRadius:"12px",height:"42px",padding:"6px 12px",fontWeight:"bold",fontSize:15,outline:"none",cursor:"pointer"},children:[J.jsx("option",{value:"2D",children:"2D"}),J.jsx("option",{value:"3D",children:"3D"}),J.jsx("option",{value:"VR",children:"VR"})]})]}),Wx="intuition-portal.mypinata.cloud",qx=r=>!r||typeof r!="string"?!1:r.startsWith("ipfs://")||r.startsWith("ipfs/"),Y2=(r,e=Wx)=>{if(!r||typeof r!="string"||!qx(r))return r;let n=r;return n.startsWith("ipfs://")?n=n.replace("ipfs://",""):n.startsWith("ipfs/")&&(n=n.replace("ipfs/","")),`https://${e.replace(/^https?:\/\//,"").replace(/\/+$/,"")}/ipfs/${n}`},cm=(r,e=Wx)=>{if(!r||typeof r!="object")return typeof r=="string"&&qx(r)?Y2(r,e):r;if(Array.isArray(r))return r.map(i=>cm(i,e));const n={};for(const i in r)if(r.hasOwnProperty(i)){const s=r[i];i==="image"&&typeof s=="string"&&qx(s)?n[i]=Y2(s,e):typeof s=="object"&&s!==null?n[i]=cm(s,e):n[i]=s}return n},TQ=(r,e=Wx)=>r&&{nodes:cm(r.nodes||[],e),links:cm(r.links||[],e)},Ah=r=>{const e=[],n=[],i=new Map;return r.forEach(({subject:s,predicate:o,object:a})=>{if(!i.has(s.id)){const l={id:s.id,label:s.label,image:s.image,isTriple:!1,color:zo("subject"),type:"subject"};i.set(s.id,l),e.push(l)}if(!i.has(a.id)){const l={id:a.id,label:a.label,image:a.image,isTriple:!1,color:zo("object"),type:"object"};i.set(a.id,l),e.push(l)}n.push({source:s.id,target:a.id,type:"subject-to-object",label:o.label,predicateId:o.id})}),TQ({nodes:e,links:n})},wQ="0x5dc0a2335c12343d8e0f71b62a73fbf70d06fcbaf647f57d82a189873ad90da3",MQ=(r,e="base",n,i)=>{const s=n||wQ,[o,a]=_e.useState({nodes:[],links:[]}),[l,c]=_e.useState(null),[u,h]=_e.useState(!0),[d,f]=_e.useState(null),[p,m]=_e.useState(!1),[_,y]=_e.useState([]),[g,x]=_e.useState(0),b=_e.useRef(null),[v,S]=_e.useState(""),[w,E]=_e.useState(""),[A,M]=_e.useState(""),[T,R]=_e.useState(!1),[O,P]=_e.useState(!1),C=_e.useCallback(async()=>{m(!0);try{let k;e==="agent"?k=await Rb(s,r):k=await Vh(r);const Q=Ah(k);a(Q),c(Q),y([{graphData:Q,selectedTriple:null}]),x(0)}catch(k){console.error("Error loading graph data:",k)}finally{m(!1)}},[r,e]),I=_e.useCallback(()=>{a(l),f(null),S(""),E(""),M(""),P(!1),y([{graphData:l,selectedTriple:null}]),x(0)},[l]),L=_e.useCallback(async(k,Q,le)=>{if(k===null){f(null);return}if(f(k),i&&i(k),Q&&Q.current)try{const U={x:k.x,y:k.y,z:k.z||0},H=await Ab(k.id,r),re=Ah(H),ee=re.nodes.find(he=>he.id===k.id);ee&&(ee.x=U.x,ee.y=U.y,le==="3D"&&(ee.z=U.z),ee.fx=U.x,ee.fy=U.y,le==="3D"&&(ee.fz=U.z)),y(he=>{const be=he.slice(0,g+1);return be.push({graphData:re,selectedTriple:k}),be}),x(he=>he+1),a(re)}catch(U){console.error("Error fetching triples:",U)}},[r,o,g]),W=_e.useCallback((k,Q)=>{switch(b.current&&clearTimeout(b.current),k){case"subject":S(Q);break;case"predicate":E(Q);break;case"object":M(Q);break}b.current=setTimeout(()=>{P(!0)},500)},[]),$=_e.useCallback(async()=>{if(O){if(!v&&!w&&!A){I();return}R(!0);try{const Q=await $o({subject:v,predicate:w,object:A},r);if(!Q||Q.length===0){a({nodes:[],links:[]});return}const le=Ah(Q);a(le),y(U=>{const H=U.slice(0,g+1);return H.push({graphData:le,selectedTriple:null}),H}),x(U=>U+1)}catch(k){console.error("Error searching triples:",k)}finally{R(!1),P(!1)}}},[v,w,A,r,I,g,O]),ie=_e.useCallback(()=>{if(g>0){const{graphData:k,selectedTriple:Q}=_[g-1];a(k),f(Q),x(le=>le-1)}},[g,_]),F=_e.useCallback(()=>{if(g<_.length-1){const{graphData:k,selectedTriple:Q}=_[g+1];a(k),f(Q),x(le=>le+1)}},[g,_]);return{graphData:o,initialGraphData:l,isInitialLoad:u,selectedTriple:d,isLoading:p,isSearching:T,subjectFilter:v,predicateFilter:w,objectFilter:A,shouldSearch:O,canGoBack:g>0,canGoForward:g<_.length-1,setSelectedTriple:f,setIsInitialLoad:h,loadInitialData:C,resetGraph:I,handleNodeClick:L,handleFilterChange:W,applyFilters:$,goBack:ie,goForward:F,setGraphData:a,graphHistory:_,setGraphHistory:y,currentHistoryIndex:g,setCurrentHistoryIndex:x}};let Ch={endpoint:null,data:null,timestamp:null};const EQ=15*60*1e3,AQ=async r=>{const e=Date.now();if(Ch.data&&Ch.endpoint===r&&e-Ch.timestamp<EQ)return Ch.data;const n=await Vh(r);return Ch={endpoint:r,data:n,timestamp:e},n},CQ=async(r,e="base",n=10)=>{if(!r||r.length<1)return{subjects:[],predicates:[],objects:[],triples:[]};const i=r.toLowerCase().trim();if(["is","of","in","at","by","to"].includes(i))try{const a=await $o({predicate:i},e);if(a&&a.length>0)return{subjects:[...new Set(a.map(l=>l.subject.label))].slice(0,n),predicates:[i],objects:[...new Set(a.map(l=>l.object.label))].slice(0,n),triples:a.map(l=>({subject:l.subject.label,predicate:l.predicate.label,object:l.object.label})).slice(0,n)}}catch{}try{const a=(await AQ(e)).filter(x=>i.length<=3?x.subject&&x.subject.label&&x.subject.label.toLowerCase().indexOf(i)!==-1||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().indexOf(i)!==-1||x.object&&x.object.label&&x.object.label.toLowerCase().indexOf(i)!==-1:x.subject&&x.subject.label&&x.subject.label.toLowerCase().includes(i)||x.predicate&&x.predicate.label&&x.predicate.label.toLowerCase().includes(i)||x.object&&x.object.label&&x.object.label.toLowerCase().includes(i));if(a.length>0){const x=A=>{if(!A)return 0;const M=A.toLowerCase();let T=100-Math.min(A.length,50);return M.startsWith(i)&&(T+=200),M===i&&(T+=300),!/^0x[0-9a-f]{8,}$/i.test(M)&&!/[0-9a-f]{30,}/i.test(M)&&(T+=150),/^[A-Za-z0-9]+ - [A-Za-z0-9 ]+$/.test(A)&&(T+=100),T},b=[...new Set(a.filter(A=>A.subject&&A.subject.label&&A.subject.label.toLowerCase().indexOf(i)!==-1).map(A=>A.subject.label))].sort((A,M)=>x(M)-x(A));let v=[...new Set(a.filter(A=>A.predicate&&A.predicate.label&&A.predicate.label.toLowerCase().indexOf(i)!==-1).map(A=>A.predicate.label))].sort((A,M)=>A.toLowerCase()===i?-1:M.toLowerCase()===i?1:x(M)-x(A));const S=[...new Set(a.filter(A=>A.object&&A.object.label&&A.object.label.toLowerCase().indexOf(i)!==-1).map(A=>A.object.label))].sort((A,M)=>x(M)-x(A)),w=A=>{if(!A)return 0;const M=A.subject?x(A.subject):0,T=A.predicate?x(A.predicate):0,R=A.object?x(A.object):0;return Math.max(M,T,R)},E=a.map(A=>({subject:A.subject.label,predicate:A.predicate.label,object:A.object.label})).sort((A,M)=>w(M)-w(A)).slice(0,n);return{subjects:b.slice(0,n),predicates:v.slice(0,n),objects:S.slice(0,n),triples:E}}const c=await $o({subject:r},e),h=await $o({predicate:r},e),f=await $o({object:r},e);let p=[...c||[]];h&&h.length>0&&(p=[...p,...h.filter(x=>!p.some(b=>b.id===x.id))]),f&&f.length>0&&(p=[...p,...f.filter(x=>!p.some(b=>b.id===x.id))]);const m=[...new Set(p.filter(x=>x.subject&&x.subject.label).map(x=>x.subject.label).filter(x=>x.toLowerCase().includes(i)))],_=[...new Set(p.filter(x=>x.predicate&&x.predicate.label).map(x=>x.predicate.label).filter(x=>x.toLowerCase().includes(i)))],y=[...new Set(p.filter(x=>x.object&&x.object.label).map(x=>x.object.label).filter(x=>x.toLowerCase().includes(i)))],g=p.map(x=>({subject:x.subject.label,predicate:x.predicate.label,object:x.object.label})).slice(0,n);return{subjects:m.slice(0,n),predicates:_.slice(0,n),objects:y.slice(0,n),triples:g}}catch{return{subjects:[],predicates:[],objects:[],triples:[]}}},RQ=({endpoint:r,onSearch:e,isSearching:n,onSearchStart:i})=>{const[s,o]=_e.useState(""),[a,l]=_e.useState({subjects:[],predicates:[],objects:[],triples:[]}),[c,u]=_e.useState({subject:"",predicate:"",object:""}),[h,d]=_e.useState(!1),[f,p]=_e.useState(!1),m=_e.useRef(null),_=_e.useRef(null);_e.useEffect(()=>{const P=C=>{_.current&&!_.current.contains(C.target)&&d(!1)};return document.addEventListener("mousedown",P),()=>{document.removeEventListener("mousedown",P)}},[]),_e.useEffect(()=>(s.length>=2?(clearTimeout(m.current),p(!0),d(!0),m.current=setTimeout(async()=>{try{const P=await CQ(s,r);l(P),d(!0),p(!1)}catch(P){console.error("Error retrieving suggestions:",P),p(!1)}},300)):(l({subjects:[],predicates:[],objects:[],triples:[]}),d(!1),p(!1)),()=>{clearTimeout(m.current)}),[s,r]);const y=(P,C)=>{u(I=>({...I,[P]:I[P]===C?"":C}))},g=async()=>{typeof i=="function"&&i();try{const P={subject:c.subject||"",predicate:c.predicate||"",object:c.object||""};typeof e=="function"&&await e(s,P)}catch{}},x=c.subject||c.predicate||c.object,b=a.subjects.length>0||a.predicates.length>0||a.objects.length>0||a.triples&&a.triples.length>0,v={container:{width:"100%",maxWidth:"550px",margin:"0 auto",position:"relative",zIndex:1e3},inputWrapper:{display:"flex",width:"100%",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",borderRadius:"12px",overflow:"hidden",backgroundColor:"rgba(30, 30, 40, 0.6)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.2)"},input:{flex:1,padding:"10px 15px",fontSize:"15px",border:"none",backgroundColor:"transparent",color:"white",outline:"none",fontWeight:"400",height:"40px"},button:{padding:"0 22px",border:"none",cursor:"pointer",fontWeight:"bold",fontSize:"15px",textTransform:"uppercase"},activeFilters:{display:"flex",flexWrap:"wrap",alignItems:"center",marginTop:"12px",padding:"8px 12px",backgroundColor:"rgba(30, 30, 40, 0.7)",borderRadius:"6px",border:"1px solid rgba(255, 255, 255, 0.1)",backdropFilter:"blur(5px)"},filtersLabel:{fontWeight:"600",marginRight:"12px",color:"rgba(255, 255, 255, 0.9)",fontSize:"13px"},filtersChips:{display:"flex",flexWrap:"wrap",gap:"6px",flex:1},filterChip:{display:"flex",alignItems:"center",padding:"3px 8px",borderRadius:"16px",fontSize:"12px",color:"white",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)"},subjectChip:{backgroundColor:`${fn.SUBJECT}cc`},predicateChip:{backgroundColor:`${fn.PREDICATE}cc`},objectChip:{backgroundColor:`${fn.OBJECT}cc`},chipButton:{background:"none",border:"none",color:"white",marginLeft:"4px",cursor:"pointer",fontSize:"14px",lineHeight:1,display:"flex",alignItems:"center",justifyContent:"center",width:"16px",height:"16px",borderRadius:"50%",transition:"background-color 0.2s ease"},chipButtonHover:{backgroundColor:"rgba(255, 255, 255, 0.2)"},clearButton:{padding:"4px 10px",backgroundColor:"rgba(255, 70, 70, 0.8)",color:"white",border:"none",borderRadius:"16px",cursor:"pointer",fontSize:"12px",fontWeight:"500",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",marginLeft:"auto"},clearButtonHover:{backgroundColor:"rgba(255, 70, 70, 1)"},suggestionsContainer:{position:"absolute",top:"calc(100% + 8px)",left:0,right:0,backgroundColor:"rgba(25, 25, 35, 0.9)",backdropFilter:"blur(10px)",border:"1px solid rgba(255, 255, 255, 0.1)",borderRadius:"8px",maxHeight:"400px",overflowY:"auto",zIndex:1001,boxShadow:"0 8px 16px rgba(0, 0, 0, 0.3)",color:"white"},suggestionCategory:{padding:"14px",borderBottom:"1px solid rgba(255, 255, 255, 0.1)"},categoryHeader:{fontWeight:"600",marginBottom:"10px",color:"rgba(255, 255, 255, 0.8)",fontSize:"14px",textTransform:"uppercase",letterSpacing:"0.5px"},suggestionList:{display:"flex",flexWrap:"wrap",gap:"8px"},suggestionItem:{padding:"3px 8px",borderRadius:"16px",backgroundColor:"rgba(255, 255, 255, 0.15)",fontSize:"12px",cursor:"pointer",transition:"all 0.2s ease",color:"rgba(255, 255, 255, 0.9)"},suggestionItemHover:{backgroundColor:"rgba(255, 255, 255, 0.25)"},selectedSuggestion:{backgroundColor:"#4A66E8",color:"white"},loadingContainer:{display:"flex",justifyContent:"center",alignItems:"center",padding:"25px"},loader:{width:"30px",height:"30px",border:"3px solid rgba(255,255,255,0.2)",borderRadius:"50%",borderTop:"3px solid #ffd32a",animation:"spin 1s linear infinite"},noResults:{padding:"25px",textAlign:"center",fontSize:"14px",color:"rgba(255,255,255,0.7)"},tripleSuggestion:{padding:"8px 12px",borderRadius:"12px",fontSize:"13px",cursor:"pointer",transition:"all 0.2s ease",backgroundColor:"rgba(30, 30, 40, 0.55)",backdropFilter:"blur(5px)",border:"1px solid rgba(255, 255, 255, 0.15)",display:"flex",flexDirection:"row",flexWrap:"wrap",gap:"6px",alignItems:"center",justifyContent:"center"},tripleSuggestionHover:{backgroundColor:"rgba(50, 50, 60, 0.65)"},tripleSubjectPart:{color:fn.SUBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.SUBJECT}33`},triplePredicatePart:{color:fn.PREDICATE,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.PREDICATE}33`},tripleObjectPart:{color:fn.OBJECT,fontWeight:"500",padding:"2px 6px",borderRadius:"4px",backgroundColor:`${fn.OBJECT}33`},subjectSuggestion:{backgroundColor:fn.SUBJECT,color:"#fff",fontWeight:"500",border:"none"},predicateSuggestion:{backgroundColor:fn.PREDICATE,color:"#fff",fontWeight:"500",border:"none"},objectSuggestion:{backgroundColor:fn.OBJECT,color:"#fff",fontWeight:"500",border:"none"}},[S,w]=_e.useState(!1),[E,A]=_e.useState(!1),[M,T]=_e.useState(null),[R,O]=_e.useState(null);return J.jsxs("div",{style:v.container,children:[J.jsx("style",{children:`
5405
5405
  @keyframes spin {
5406
5406
  0% { transform: rotate(0deg); }
5407
5407
  100% { transform: rotate(360deg); }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playermap_graph",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "private": false,
5
5
  "description": "A React library for intuition visualization using force-directed graphs",
6
6
  "author": "Agent Studio",