agentglow 0.2.0 → 0.2.2

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.
Files changed (26) hide show
  1. package/README.md +17 -0
  2. package/cli/agentglow.mjs +177 -0
  3. package/cli/lib/net.mjs +73 -0
  4. package/cli/lib/server.mjs +128 -0
  5. package/cli/lib/settings.mjs +192 -0
  6. package/cli/lib/uv.mjs +139 -0
  7. package/dist/chunks/{KitScene-BuFtYuhc.js → KitScene-C3SZiKL5.js} +1101 -1045
  8. package/dist/chunks/{index-DO9SAG-u.js → index--dwzdFRh.js} +1 -1
  9. package/dist/chunks/{index-DCmhxN8v.js → index-B2PGx_wt.js} +37 -37
  10. package/dist/chunks/{index-HyfZ0ePz.js → index-BZOG_CQS.js} +110 -110
  11. package/dist/chunks/{index-Bo5HRf-O.js → index-BfGluv59.js} +69 -69
  12. package/dist/chunks/{index-tonipLb2.js → index-Bm4te7Ug.js} +1 -1
  13. package/dist/chunks/{index-e6egU2Q6.js → index-Bqv_wy49.js} +1 -1
  14. package/dist/chunks/{index-ZT88hgW-.js → index-Bsmr7FwH.js} +1 -1
  15. package/dist/chunks/{index-BPyTLdiF.js → index-Bw31uayO.js} +33 -33
  16. package/dist/chunks/{index-Dn6oRasS.js → index-C4F16M9q.js} +117 -117
  17. package/dist/chunks/{index-jLXx_Wgk.js → index-CRRHsMqy.js} +15 -15
  18. package/dist/chunks/{index-Cyv7bII1.js → index-CS8eZTr_.js} +1 -1
  19. package/dist/chunks/{index-D733n3Hf.js → index-CdzGoWrn.js} +1 -1
  20. package/dist/chunks/{index-XMOz-HBf.js → index-CvDEulcq.js} +1 -1
  21. package/dist/chunks/{index-D0UvupqM.js → index-DXBfdHew.js} +1 -1
  22. package/dist/chunks/{index-C42Ihyo1.js → index-DdCs_ye9.js} +222 -222
  23. package/dist/chunks/{index-C5YqtHnC.js → index-_KrED-np.js} +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/types/world.d.ts +10 -0
  26. package/package.json +12 -2
@@ -6,19 +6,19 @@ import { EffectComposer as Vt, Bloom as zt, Vignette as Gt } from "@react-three/
6
6
  import { useRef as B, useMemo as E, useEffect as Et, useState as Ft } from "react";
7
7
  import * as t from "three";
8
8
  import { useFrame as he } from "@react-three/fiber";
9
- import { T as Mt, w as K, L as Ie, d as Bt, a as xe, c as ft, h as Ae, l as Rt, F as It, p as Ot, e as Tt, f as be, s as _t, S as _e, q as Lt, R as Nt, k as Me, u as Ut, o as Xt, K as Ht, m as Kt, G as jt, n as Yt, j as qt } from "./KitScene-BuFtYuhc.js";
9
+ import { T as Mt, w as K, L as Ie, d as Bt, a as xe, c as ft, h as Ae, l as Rt, H as It, p as Ot, e as Tt, f as be, s as Lt, S as Le, q as _t, R as Nt, k as Me, u as Ut, A as Xt, o as Ht, K as Kt, m as jt, G as Yt, n as qt, j as Wt } from "./KitScene-C3SZiKL5.js";
10
10
  var bt;
11
- const j = typeof window < "u" && !!((bt = window.matchMedia) != null && bt.call(window, "(prefers-reduced-motion: reduce)").matches), pt = new t.Color("#3db8ff"), Se = new t.Color("#9fdcff"), He = new t.Color("#ff4fa8"), mt = new t.Color("#ff9ccf"), oe = new t.Color(1, 1, 1), Fe = new t.Color("#ffc24a"), Wt = new t.Color("#ff2d55"), $t = new t.Color("#3a4560"), lt = Object.fromEntries(Object.entries(Mt).map(([e, r]) => [e, new t.Color(r)])), q = (e) => e < 0 ? 0 : e > 1 ? 1 : e, je = (e) => 1 - Math.pow(1 - q(e), 3), Re = (e) => (e = q(e), e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2);
12
- let Le = null;
13
- function Dt() {
14
- if (Le) return Le;
11
+ const j = typeof window < "u" && !!((bt = window.matchMedia) != null && bt.call(window, "(prefers-reduced-motion: reduce)").matches), pt = new t.Color("#3db8ff"), Se = new t.Color("#9fdcff"), He = new t.Color("#ff4fa8"), mt = new t.Color("#ff9ccf"), oe = new t.Color(1, 1, 1), Fe = new t.Color("#ffc24a"), $t = new t.Color("#ff2d55"), Dt = new t.Color("#3a4560"), lt = Object.fromEntries(Object.entries(Mt).map(([e, r]) => [e, new t.Color(r)])), q = (e) => e < 0 ? 0 : e > 1 ? 1 : e, je = (e) => 1 - Math.pow(1 - q(e), 3), Re = (e) => (e = q(e), e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2);
12
+ let _e = null;
13
+ function Zt() {
14
+ if (_e) return _e;
15
15
  const e = document.createElement("canvas");
16
16
  e.width = e.height = 128;
17
17
  const r = e.getContext("2d"), a = r.createRadialGradient(64, 64, 0, 64, 64, 64);
18
- return a.addColorStop(0, "rgba(255,255,255,1)"), a.addColorStop(0.12, "rgba(255,255,255,0.7)"), a.addColorStop(0.4, "rgba(255,255,255,0.15)"), a.addColorStop(1, "rgba(255,255,255,0)"), r.fillStyle = a, r.fillRect(0, 0, 128, 128), Le = new t.CanvasTexture(e), Le;
18
+ return a.addColorStop(0, "rgba(255,255,255,1)"), a.addColorStop(0.12, "rgba(255,255,255,0.7)"), a.addColorStop(0.4, "rgba(255,255,255,0.15)"), a.addColorStop(1, "rgba(255,255,255,0)"), r.fillStyle = a, r.fillRect(0, 0, 128, 128), _e = new t.CanvasTexture(e), _e;
19
19
  }
20
20
  function $(e = "#fff") {
21
- return new t.SpriteMaterial({ map: Dt(), color: e, blending: t.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 });
21
+ return new t.SpriteMaterial({ map: Zt(), color: e, blending: t.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 });
22
22
  }
23
23
  function le(e = "#fff") {
24
24
  return new t.MeshBasicMaterial({ color: e, blending: t.AdditiveBlending, depthWrite: !1, transparent: !0, toneMapped: !1 });
@@ -27,7 +27,7 @@ function ue(e = "#fff", r = !1) {
27
27
  return new t.LineBasicMaterial({ color: e, vertexColors: r, transparent: !0, blending: t.AdditiveBlending, depthWrite: !1, toneMapped: !1 });
28
28
  }
29
29
  const De = new t.SphereGeometry(1, 24, 18), ut = new t.ConeGeometry(1, 1, 12).translate(0, 0.5, 0), dt = new t.TorusGeometry(1, 0.03, 6, 72);
30
- function Zt(e = 48, r = 6) {
30
+ function kt(e = 48, r = 6) {
31
31
  const a = [], o = [];
32
32
  for (let n = 0; n <= e; n++)
33
33
  for (let i = 0; i < r; i++) {
@@ -42,7 +42,7 @@ function Zt(e = 48, r = 6) {
42
42
  const u = new t.BufferGeometry();
43
43
  return u.setAttribute("position", new t.Float32BufferAttribute(a, 3)), u.setIndex(o), u.boundingSphere = new t.Sphere(new t.Vector3(), 1e4), u;
44
44
  }
45
- const St = Zt();
45
+ const St = kt();
46
46
  function xt(e, r = 0.04) {
47
47
  return new t.ShaderMaterial({
48
48
  uniforms: {
@@ -147,11 +147,11 @@ class Ct {
147
147
  }
148
148
  }
149
149
  const ce = 2.4, Pe = /* @__PURE__ */ new Map(), Ke = /* @__PURE__ */ new Map();
150
- function kt(e, r, a) {
150
+ function Jt(e, r, a) {
151
151
  return e.r += r.r * a, e.g += r.g * a, e.b += r.b * a, e;
152
152
  }
153
- const Jt = new t.Vector3(), Qt = new t.Vector3(0, 1, 0);
154
- function eo() {
153
+ const Qt = new t.Vector3(), eo = new t.Vector3(0, 1, 0);
154
+ function to() {
155
155
  const e = [], r = (n, i) => e.push(...n, ...i), o = (n, i, c = 48) => {
156
156
  for (let p = 0; p < c; p++) {
157
157
  const b = p / c * Math.PI * 2, h = (p + 1) / c * Math.PI * 2;
@@ -170,7 +170,7 @@ function eo() {
170
170
  const u = new t.BufferGeometry();
171
171
  return u.setAttribute("position", new t.Float32BufferAttribute(e, 3)), u;
172
172
  }
173
- const to = eo(), oo = new t.CylinderGeometry(1, 1, 1.4, 32, 1, !0).rotateX(Math.PI / 2), ye = (e, r, a) => ({ geo: e, edges: new t.EdgesGeometry(e, 25), pos: r, rot: a }), Ne = {
173
+ const oo = to(), no = new t.CylinderGeometry(1, 1, 1.4, 32, 1, !0).rotateX(Math.PI / 2), ye = (e, r, a) => ({ geo: e, edges: new t.EdgesGeometry(e, 25), pos: r, rot: a }), Ne = {
174
174
  db: () => [ye(new t.CylinderGeometry(0.4, 0.4, 0.66, 24)), ye(new t.TorusGeometry(0.4, 0.01, 4, 40), [0, 0.11, 0], [Math.PI / 2, 0, 0])],
175
175
  warehouse: () => [-0.28, 0, 0.28].map((e) => ye(new t.BoxGeometry(0.9, 0.18, 0.55), [0, e, 0])),
176
176
  spark: () => [ye(new t.IcosahedronGeometry(0.42, 0))],
@@ -178,7 +178,7 @@ const to = eo(), oo = new t.CylinderGeometry(1, 1, 1.4, 32, 1, !0).rotateX(Math.
178
178
  storage: () => [ye(new t.BoxGeometry(0.66, 0.66, 0.66), void 0, [0.4, 0.6, 0])],
179
179
  queue: () => [ye(new t.CapsuleGeometry(0.18, 0.7, 4, 12), void 0, [0, 0, Math.PI / 2])]
180
180
  };
181
- function no({ mcp: e, backend: r }) {
181
+ function ro({ mcp: e, backend: r }) {
182
182
  const a = e.srv, o = r.res, u = B(null), n = E(() => {
183
183
  var v;
184
184
  return ((v = Ne[o.kind]) == null ? void 0 : v.call(Ne)) ?? Ne.api();
@@ -193,13 +193,13 @@ function no({ mcp: e, backend: r }) {
193
193
  c.fill.color.copy(i).multiplyScalar(s * 0.22), c.line.color.copy(i).multiplyScalar(s * 1.3), c.halo.color.copy(i).multiplyScalar(f ? 0.4 + P * 0.2 : 0.02 + g * 0.22), (V = b.current) == null || V.scale.setScalar(f ? 3.6 + P * 0.6 : 2.2 + g), p.current && (p.current.scale.setScalar(f ? 1.18 + P * 0.06 : 1 + g * 0.08), p.current.rotation.y = j ? 0.4 : G * (f ? 0.7 : 0.12));
194
194
  let C = null;
195
195
  for (const R of K.mcpCalls) R.server === a.name && R.resource === o.name && (!C || R.start > C.start) && (C = R);
196
- let _ = o.name;
196
+ let L = o.name;
197
197
  if (f) {
198
198
  let R = "";
199
- for (const L of K.mcpPending.values()) L.server === a.name && L.resource === o.name && (R = L.tool);
200
- _ = `${o.name} ▸ ${R || "query"}()`;
201
- } else C && C.phase === "result" && x - C.start < 1800 && (_ = `${o.name} ✓ returned`);
202
- z.current && (_ !== A.current && (z.current.setText(_), A.current = _), z.current.setOpacity(f ? 1 : 0.5 + g * 0.5));
199
+ for (const _ of K.mcpPending.values()) _.server === a.name && _.resource === o.name && (R = _.tool);
200
+ L = `${o.name} ▸ ${R || "query"}()`;
201
+ } else C && C.phase === "result" && x - C.start < 1800 && (L = `${o.name} ✓ returned`);
202
+ z.current && (L !== A.current && (z.current.setText(L), A.current = L), z.current.setOpacity(f ? 1 : 0.5 + g * 0.5));
203
203
  const y = c.edge.uniforms;
204
204
  y.uTime.value = j ? 0 : G;
205
205
  const I = C && C.phase === "result" ? (x - C.start) / C.dur : 9, T = h.current;
@@ -219,15 +219,15 @@ function no({ mcp: e, backend: r }) {
219
219
  }
220
220
  const Ze = new t.Vector3(), Ue = new t.Vector3();
221
221
  function ht(e, r, a, o, u, n, i) {
222
- ie(r, a, o, u, Ze), ie(r, a, o, q(u + 0.02 * n), Ue), e.position.copy(Ze), Ue.sub(Ze), Ue.lengthSq() > 1e-8 && e.quaternion.setFromUnitVectors(Qt, Ue.normalize()), e.scale.set(i * 0.38, i, i * 0.38);
222
+ ie(r, a, o, u, Ze), ie(r, a, o, q(u + 0.02 * n), Ue), e.position.copy(Ze), Ue.sub(Ze), Ue.lengthSq() > 1e-8 && e.quaternion.setFromUnitVectors(eo, Ue.normalize()), e.scale.set(i * 0.38, i, i * 0.38);
223
223
  }
224
- function ro({ mcp: e }) {
224
+ function so({ mcp: e }) {
225
225
  const r = e.srv, a = B(null), o = E(() => new t.Color(r.color), [r.color]), u = E(() => ({ line: ue(o), fill: le(o), core: $("#fff"), halo: $(o), hit: $("#fff") }), [o]), n = B(null), i = B(null), c = B(null), p = B(null), b = B(r.calls), h = B(-1e9);
226
226
  return he(({ clock: z }) => {
227
227
  var f, g, P;
228
228
  (f = a.current) == null || f.position.copy(e.pos);
229
229
  const A = performance.now();
230
- r.calls !== b.current && (b.current = r.calls, h.current = A), (g = n.current) == null || g.lookAt(Jt);
230
+ r.calls !== b.current && (b.current = r.calls, h.current = A), (g = n.current) == null || g.lookAt(Qt);
231
231
  const v = r.inflight > 0, x = Math.exp(-((A - r.activeAt) / 1e3) * 1.4), G = (v ? 0.8 : 0.32) + x * 0.5;
232
232
  u.line.color.copy(o).multiplyScalar(G * 1.4), u.fill.color.copy(o).multiplyScalar(G * 0.05), u.core.color.setScalar(v ? 0.7 : 0.18), u.halo.color.copy(o).multiplyScalar(v ? 0.24 : 0.06 + x * 0.12), (P = c.current) == null || P.scale.setScalar(5 + (v ? 0.8 : 0)), i.current && (i.current.rotation.z = j ? 0 : z.elapsedTime * (v ? 0.55 : 0.08));
233
233
  const l = (A - h.current) / 700;
@@ -235,8 +235,8 @@ function ro({ mcp: e }) {
235
235
  }), /* @__PURE__ */ d(de, { children: /* @__PURE__ */ Y("group", { ref: a, children: [
236
236
  /* @__PURE__ */ d("sprite", { ref: c, material: u.halo }),
237
237
  /* @__PURE__ */ d("group", { ref: n, children: /* @__PURE__ */ Y("group", { ref: i, children: [
238
- /* @__PURE__ */ d("lineSegments", { geometry: to, material: u.line }),
239
- /* @__PURE__ */ d("mesh", { geometry: oo, material: u.fill })
238
+ /* @__PURE__ */ d("lineSegments", { geometry: oo, material: u.line }),
239
+ /* @__PURE__ */ d("mesh", { geometry: no, material: u.fill })
240
240
  ] }) }),
241
241
  /* @__PURE__ */ d("sprite", { material: u.core, scale: 0.9 }),
242
242
  /* @__PURE__ */ d("sprite", { ref: p, material: u.hit, visible: !1 }),
@@ -244,28 +244,28 @@ function ro({ mcp: e }) {
244
244
  ] }) });
245
245
  }
246
246
  const vt = 28, ke = 40, Je = 24;
247
- function so() {
247
+ function ao() {
248
248
  const e = E(() => new Ct(vt * 2, ke), []), r = E(() => ue("#fff", !0), []), a = E(() => new qe(vt), []), o = E(() => Array.from({ length: Je }, () => $("#fff")), []), u = B([]), n = E(() => ({ a: new t.Vector3(), b: new t.Vector3(), c: new t.Vector3(), p: new t.Vector3(), col: new t.Color(), k: new t.Color() }), []);
249
249
  return he(({ clock: i }) => {
250
250
  const c = performance.now(), p = j ? 0 : i.elapsedTime;
251
251
  e.begin(), a.begin();
252
252
  const { a: b, b: h, c: z, p: A, col: v, k: x } = n, G = (f, g, P, s) => {
253
- const C = xe(f), _ = K.mcpServers.get(g), y = ft(g);
254
- if (!C || !_ || !y) return;
255
- b.copy(C), h.copy(y), Ye(b, h, 1.2, z), v.set(_.color);
253
+ const C = xe(f), L = K.mcpServers.get(g), y = ft(g);
254
+ if (!C || !L || !y) return;
255
+ b.copy(C), h.copy(y), Ye(b, h, 1.2, z), v.set(L.color);
256
256
  let I;
257
- P === 0 ? (v.lerp(Fe, q(s / 1.2)), s > 1.2 && v.lerp(Wt, q((s - 1.2) / 1)), I = (0.25 + Math.min(0.6, s * 0.25)) * je(s / 0.3)) : (v.lerp(oe, 0.35), I = 1.2 * (s < 0.75 ? 1 : 1 - (s - 0.75) / 0.25));
257
+ P === 0 ? (v.lerp(Fe, q(s / 1.2)), s > 1.2 && v.lerp($t, q((s - 1.2) / 1)), I = (0.25 + Math.min(0.6, s * 0.25)) * je(s / 0.3)) : (v.lerp(oe, 0.35), I = 1.2 * (s < 0.75 ? 1 : 1 - (s - 0.75) / 0.25));
258
258
  const T = 1 - Re(s / 0.75);
259
259
  for (let w = 0; w < 2; w++) {
260
260
  const V = e.next();
261
261
  if (V < 0) return;
262
262
  const R = w ? 0.045 : 0;
263
- for (let L = 0; L < ke; L++)
263
+ for (let _ = 0; _ < ke; _++)
264
264
  for (let U = 0; U < 2; U++) {
265
- const m = (L + U) / ke;
266
- ie(b, z, h, m, A), e.P.setXYZ(V + L * 2 + U, A.x + R, A.y + R, A.z);
265
+ const m = (_ + U) / ke;
266
+ ie(b, z, h, m, A), e.P.setXYZ(V + _ * 2 + U, A.x + R, A.y + R, A.z);
267
267
  let M;
268
- P === 0 ? M = I * (0.22 + Math.pow(Math.max(0, Math.sin(m * 26 - p * 3)), 10) * 1.8) * (w ? 0.3 : 1) : M = I * (0.18 + Math.exp(-(((m - T) / 0.05) ** 2)) * 3.4 * (s < 0.8 ? 1 : 0)) * (w ? 0.5 : 1), e.C.setXYZ(V + L * 2 + U, v.r * M, v.g * M, v.b * M);
268
+ P === 0 ? M = I * (0.22 + Math.pow(Math.max(0, Math.sin(m * 26 - p * 3)), 10) * 1.8) * (w ? 0.3 : 1) : M = I * (0.18 + Math.exp(-(((m - T) / 0.05) ** 2)) * 3.4 * (s < 0.8 ? 1 : 0)) * (w ? 0.5 : 1), e.C.setXYZ(V + _ * 2 + U, v.r * M, v.g * M, v.b * M);
269
269
  }
270
270
  }
271
271
  x.copy(v), P === 0 ? a.add(b, z, h, 0.93, 1, 0.45, x, 0.5 + I * 1.3) : a.add(b, z, h, 0.07, -1, 0.6, x, I * 1.5);
@@ -276,8 +276,8 @@ function so() {
276
276
  let l = 0;
277
277
  for (const f of K.mcpCalls) {
278
278
  if (f.phase !== "call" || l >= Je) continue;
279
- const g = xe(f.instance), P = K.mcpServers.get(f.server), s = ft(f.server), C = u.current[l], _ = q((c - f.start) / f.dur);
280
- !g || !P || !s || !C || _ >= 1 || (b.copy(g), h.copy(s), Ye(b, h, 1.2, z), ie(b, z, h, Re(_), A), C.visible = !0, C.position.copy(A), C.scale.setScalar(0.85), o[l].color.set(P.color).lerp(oe, 0.4).multiplyScalar(1.5), l++);
279
+ const g = xe(f.instance), P = K.mcpServers.get(f.server), s = ft(f.server), C = u.current[l], L = q((c - f.start) / f.dur);
280
+ !g || !P || !s || !C || L >= 1 || (b.copy(g), h.copy(s), Ye(b, h, 1.2, z), ie(b, z, h, Re(L), A), C.visible = !0, C.position.copy(A), C.scale.setScalar(0.85), o[l].color.set(P.color).lerp(oe, 0.4).multiplyScalar(1.5), l++);
281
281
  }
282
282
  for (let f = l; f < Je; f++) u.current[f] && (u.current[f].visible = !1);
283
283
  }), /* @__PURE__ */ Y(de, { children: [
@@ -286,7 +286,7 @@ function so() {
286
286
  o.map((i, c) => /* @__PURE__ */ d("sprite", { ref: (p) => void (u.current[c] = p), material: i, visible: !1 }, c))
287
287
  ] });
288
288
  }
289
- const Ge = 40, Qe = 160, ao = new t.MeshBasicMaterial({ transparent: !0, opacity: 0, depthWrite: !1, colorWrite: !1 }), io = new t.Vector3(0, 1, 0), co = new t.Vector3(0, 0, 1), et = new t.Vector3(), gt = new t.Vector3(), Ee = new t.Vector3(), lo = (() => {
289
+ const Ge = 40, Qe = 160, io = new t.MeshBasicMaterial({ transparent: !0, opacity: 0, depthWrite: !1, colorWrite: !1 }), co = new t.Vector3(0, 1, 0), lo = new t.Vector3(0, 0, 1), et = new t.Vector3(), gt = new t.Vector3(), Ee = new t.Vector3(), uo = (() => {
290
290
  const e = new Float32Array((Qe + 1) * 3);
291
291
  for (let a = 0; a <= Qe; a++) {
292
292
  const o = a / Qe * Math.PI * 2;
@@ -296,11 +296,11 @@ const Ge = 40, Qe = 160, ao = new t.MeshBasicMaterial({ transparent: !0, opacity
296
296
  return r.setAttribute("position", new t.BufferAttribute(e, 3)), r.boundingSphere = new t.Sphere(new t.Vector3(), 1e4), r;
297
297
  })(), Be = 40, ct = Array.from({ length: Be }, () => ({ on: !1, start: 0, size: 1, o: new t.Vector3(), dir: new t.Vector3(), perp: new t.Vector3(), c: new t.Color() }));
298
298
  let tt = 0;
299
- function uo(e, r, a, o, u) {
299
+ function fo(e, r, a, o, u) {
300
300
  const n = ct[tt];
301
301
  tt = (tt + 1) % Be, n.on = !0, n.start = performance.now(), n.size = a, n.o.copy(e), n.dir.copy(e).sub(r), n.dir.lengthSq() < 1e-4 && n.dir.set(0, 1, 0), n.dir.normalize(), n.dir.x += Math.sin(u * 12.9) * 0.6, n.dir.y += Math.cos(u * 7.3) * 0.6, n.dir.z += 0.35, n.dir.normalize(), n.perp.set(0, 0, 1).cross(n.dir).normalize(), n.perp.lengthSq() < 0.5 && n.perp.set(1, 0, 0), n.c.copy(o).lerp(oe, 0.35);
302
302
  }
303
- function fo({ agent: e, selected: r, onSelect: a }) {
303
+ function po({ agent: e, selected: r, onSelect: a }) {
304
304
  const o = e.inst, u = B(null), n = B(null), i = B(null), c = B(null), p = B(null), b = B(null), h = B(null), z = B(null), A = B(null), v = B(null), x = lt[o.type], G = !!o.subagent, l = E(
305
305
  () => ({
306
306
  core: le("#fff"),
@@ -318,7 +318,7 @@ function fo({ agent: e, selected: r, onSelect: a }) {
318
318
  ), f = E(() => {
319
319
  const y = new t.BufferGeometry();
320
320
  return y.setAttribute("position", new t.BufferAttribute(new Float32Array(Ge * 3), 3)), y.setAttribute("color", new t.BufferAttribute(new Float32Array(Ge * 3), 3)), y.boundingSphere = new t.Sphere(new t.Vector3(), 1e4), y;
321
- }, []), g = E(() => Object.assign(new t.Line(f, l.trail), { frustumCulled: !1 }), [f, l.trail]), P = E(() => Object.assign(new t.Line(lo, l.orbit), { frustumCulled: !1, matrixAutoUpdate: !1, visible: !1 }), [l.orbit]), s = E(
321
+ }, []), g = E(() => Object.assign(new t.Line(f, l.trail), { frustumCulled: !1 }), [f, l.trail]), P = E(() => Object.assign(new t.Line(uo, l.orbit), { frustumCulled: !1, matrixAutoUpdate: !1, visible: !1 }), [l.orbit]), s = E(
322
322
  () => ({
323
323
  p: new t.Vector3(),
324
324
  ctrl: new t.Vector3(),
@@ -343,7 +343,7 @@ function fo({ agent: e, selected: r, onSelect: a }) {
343
343
  ), C = (y, I) => I.copy(s.n).addScaledVector(s.a, Math.cos(y)).addScaledVector(s.b, Math.sin(y));
344
344
  he(({ clock: y, camera: I }) => {
345
345
  var pe, te, ae, Te, me;
346
- const T = performance.now(), w = y.elapsedTime, V = o.exitAt ? (T - o.exitAt) / 1e3 / (Rt(o) / It) : -1, R = V >= 0 ? q(V / 0.8) : 0, L = V > 0 ? V : 0;
346
+ const T = performance.now(), w = y.elapsedTime, V = o.exitAt ? (T - o.exitAt) / 1e3 / (Rt(o) / It) : -1, R = V >= 0 ? q(V / 0.8) : 0, _ = V > 0 ? V : 0;
347
347
  if (G) {
348
348
  const F = 0.32 * be.spread;
349
349
  s.n.copy(e.pos), s.a.set(F, 0, 0), s.b.set(0, F * 0.45, F * 0.6);
@@ -351,11 +351,11 @@ function fo({ agent: e, selected: r, onSelect: a }) {
351
351
  const F = Pe.get(e.run.id) ?? e.run.origin;
352
352
  s.n.copy(F), s.a.copy(e.pos).sub(F);
353
353
  let W = s.a.length();
354
- W < 0.5 && (s.a.set(0, 0.5, 0), W = 0.5), s.b.set(-s.a.y, s.a.x, 0).normalize().multiplyScalar(W * s.tilt * s.dir).addScaledVector(co, W * s.lean);
354
+ W < 0.5 && (s.a.set(0, 0.5, 0), W = 0.5), s.b.set(-s.a.y, s.a.x, 0).normalize().multiplyScalar(W * s.tilt * s.dir).addScaledVector(lo, W * s.lean);
355
355
  }
356
356
  let m = G ? w * (G ? j ? 0 : 0.9 : 0) * s.dir + s.seed * 6.28 : j ? 0 : Math.sin(w * 0.6 + s.seed * 9) * 0.06;
357
- m += s.dir * L * 0.9;
358
- const M = 1 + L * L * 0.07;
357
+ m += s.dir * _ * 0.9;
358
+ const M = 1 + _ * _ * 0.07;
359
359
  C(m, e.live), M !== 1 && e.live.sub(s.n).multiplyScalar(M).add(s.n);
360
360
  const N = je((T - o.bornAt) / 1100);
361
361
  if (N < 1) {
@@ -368,13 +368,13 @@ function fo({ agent: e, selected: r, onSelect: a }) {
368
368
  let Ve = !1;
369
369
  for (const F of K.mcpPending.values()) F.instance === o.id && (Ve = !0);
370
370
  const Oe = j ? 0.5 : 0.5 + 0.5 * Math.sin(w * (k ? 6 : 1.6) + s.seed * 30);
371
- o.llmCalls !== s.llm && (s.llm = o.llmCalls, V < 0 && uo(X, Pe.get(e.run.id) ?? e.run.origin, o.pulse, x, s.seed + o.llmCalls * 0.37));
371
+ o.llmCalls !== s.llm && (s.llm = o.llmCalls, V < 0 && fo(X, Pe.get(e.run.id) ?? e.run.origin, o.pulse, x, s.seed + o.llmCalls * 0.37));
372
372
  const re = e.scale, fe = je((T - o.bornAt) / 700), $e = 0.3 * re * fe * (1 - R * 0.9) * (1 + ne * 0.12);
373
- if ((te = n.current) == null || te.scale.setScalar(Math.max(1e-4, $e)), s.c.copy(x).multiplyScalar((k ? 1 + Oe * 0.4 : 0.55 + Oe * 0.15) + ne * 0.5), V >= 0 && s.c.lerp($t, R), l.shell.color.copy(s.c), l.core.color.setScalar((k ? 0.9 : 0.45) * (1 - R) + ne * 0.4), i.current && (i.current.scale.setScalar(Math.max(1e-4, (k ? 2.4 : 1.7) * re * fe * (1 - R * 0.7) + ne * 0.9 * be.scale)), l.halo.color.copy(x).multiplyScalar(((k ? 0.32 : 0.16) + ne * 0.25) * ve)), b.current) {
373
+ if ((te = n.current) == null || te.scale.setScalar(Math.max(1e-4, $e)), s.c.copy(x).multiplyScalar((k ? 1 + Oe * 0.4 : 0.55 + Oe * 0.15) + ne * 0.5), V >= 0 && s.c.lerp(Dt, R), l.shell.color.copy(s.c), l.core.color.setScalar((k ? 0.9 : 0.45) * (1 - R) + ne * 0.4), i.current && (i.current.scale.setScalar(Math.max(1e-4, (k ? 2.4 : 1.7) * re * fe * (1 - R * 0.7) + ne * 0.9 * be.scale)), l.halo.color.copy(x).multiplyScalar(((k ? 0.32 : 0.16) + ne * 0.25) * ve)), b.current) {
374
374
  const F = V >= 0 && V < 0.9 ? 1 - V / 0.9 : 0;
375
375
  b.current.visible = F > 0, b.current.scale.setScalar(Math.max(1e-4, re * (1.2 + (1 - F) * 3.5))), l.flash.color.copy(o.status === "failed" ? Fe : oe).multiplyScalar(F * F * 0.9);
376
376
  }
377
- if (s.ringK += ((Ve && V < 0 ? 1 : 0) - s.ringK) * 0.1, c.current && (c.current.visible = s.ringK > 0.02, c.current.rotation.set(1.2 + Math.sin(w * 0.8) * 0.3, w * 1.4, 0), c.current.scale.setScalar(Math.max(1e-4, 0.62 * re * s.ringK)), l.ring.color.copy(Fe).multiplyScalar(1.1 * s.ringK * (0.7 + Oe * 0.3))), p.current && (p.current.visible = r, p.current.quaternion.copy(I.quaternion), p.current.scale.setScalar(0.8 * re + (j ? 0 : Math.sin(w * 3) * 0.04))), (ae = z.current) == null || ae.scale.setScalar(Math.max(0.55, 0.62 * re)), G ? (Te = v.current) == null || Te.position.set(0.3 * re + 0.15, 0, 0) : (me = v.current) == null || me.position.set(0, (s.a.y > 0.2 ? 1 : -1) * (0.42 * re + 0.28), 0), A.current && (s.labelK += ((_t(o.id) ? 1 : 0) - s.labelK) * 0.12, A.current.setOpacity(q((T - o.bornAt) / 600) * (1 - q(V / 1.2)) * 0.95 * s.labelK)), !G) {
377
+ if (s.ringK += ((Ve && V < 0 ? 1 : 0) - s.ringK) * 0.1, c.current && (c.current.visible = s.ringK > 0.02, c.current.rotation.set(1.2 + Math.sin(w * 0.8) * 0.3, w * 1.4, 0), c.current.scale.setScalar(Math.max(1e-4, 0.62 * re * s.ringK)), l.ring.color.copy(Fe).multiplyScalar(1.1 * s.ringK * (0.7 + Oe * 0.3))), p.current && (p.current.visible = r, p.current.quaternion.copy(I.quaternion), p.current.scale.setScalar(0.8 * re + (j ? 0 : Math.sin(w * 3) * 0.04))), (ae = z.current) == null || ae.scale.setScalar(Math.max(0.55, 0.62 * re)), G ? (Te = v.current) == null || Te.position.set(0.3 * re + 0.15, 0, 0) : (me = v.current) == null || me.position.set(0, (s.a.y > 0.2 ? 1 : -1) * (0.42 * re + 0.28), 0), A.current && (s.labelK += ((Lt(o.id) ? 1 : 0) - s.labelK) * 0.12, A.current.setOpacity(q((T - o.bornAt) / 600) * (1 - q(V / 1.2)) * 0.95 * s.labelK)), !G) {
378
378
  const F = s.a.length();
379
379
  P.visible = F > 0.6 && ve > 0.02, P.visible && (Ee.crossVectors(s.a, s.b).normalize(), P.matrix.makeBasis(s.a, s.b, Ee).setPosition(s.n), P.matrixWorldNeedsUpdate = !0, l.orbit.color.copy(x).multiplyScalar((k ? 0.32 : 0.2) * fe * (1 - R) * ve));
380
380
  }
@@ -394,13 +394,13 @@ function fo({ agent: e, selected: r, onSelect: a }) {
394
394
  if (ee.uGrow.value = o.parent && s.linkK > 0.01 ? ge : 0, ee.uOpacity.value = (k ? 0.7 : 0.45) * s.linkK, ee.uFlow.value = s.linkK, ee.uTime.value = j ? 0 : w, ee.uHead.value = ge < 1 ? ge : -1, h.current) {
395
395
  const F = o.parent && s.linkK > 0.05 && ge >= 1;
396
396
  if (h.current.visible = !!F, F) {
397
- ie(s.par, s.ctrl, X, 0.74, et), ie(s.par, s.ctrl, X, 0.8, gt), h.current.position.copy(et), Ee.subVectors(gt, et), Ee.lengthSq() > 1e-8 && h.current.quaternion.setFromUnitVectors(io, Ee.normalize());
397
+ ie(s.par, s.ctrl, X, 0.74, et), ie(s.par, s.ctrl, X, 0.8, gt), h.current.position.copy(et), Ee.subVectors(gt, et), Ee.lengthSq() > 1e-8 && h.current.quaternion.setFromUnitVectors(co, Ee.normalize());
398
398
  const W = (G ? 0.11 : 0.15) * Math.min(1.3, be.scale);
399
399
  h.current.scale.set(W, W * 2.6, W), l.arrow.color.copy(x).multiplyScalar(1.5 * s.linkK);
400
400
  }
401
401
  }
402
402
  });
403
- const _ = o.id.split(":")[2];
403
+ const L = o.id.split(":")[2];
404
404
  return /* @__PURE__ */ Y(de, { children: [
405
405
  /* @__PURE__ */ d("primitive", { object: P }),
406
406
  /* @__PURE__ */ d("mesh", { geometry: St, material: l.field, frustumCulled: !1 }),
@@ -416,7 +416,7 @@ function fo({ agent: e, selected: r, onSelect: a }) {
416
416
  {
417
417
  ref: z,
418
418
  geometry: De,
419
- material: ao,
419
+ material: io,
420
420
  onClick: (y) => {
421
421
  y.stopPropagation(), a(o.id);
422
422
  },
@@ -433,7 +433,7 @@ function fo({ agent: e, selected: r, onSelect: a }) {
433
433
  {
434
434
  ref: A,
435
435
  anchorX: G ? "left" : "center",
436
- text: `${o.name}${_ !== void 0 ? ` ${Number(_) + 1}` : ""}`,
436
+ text: `${o.name}${L !== void 0 ? ` ${Number(L) + 1}` : ""}`,
437
437
  color: Mt[o.type],
438
438
  size: G ? 0.22 : 0.28,
439
439
  opacity: 0,
@@ -445,7 +445,7 @@ function fo({ agent: e, selected: r, onSelect: a }) {
445
445
  ] });
446
446
  }
447
447
  const Ce = 36, yt = 1.5;
448
- function po() {
448
+ function mo() {
449
449
  const e = E(() => {
450
450
  const n = new t.BufferGeometry();
451
451
  return n.setAttribute("position", new t.BufferAttribute(new Float32Array(Be * Ce * 6), 3)), n.setAttribute("color", new t.BufferAttribute(new Float32Array(Be * Ce * 6), 3)), n.boundingSphere = new t.Sphere(new t.Vector3(), 1e4), n;
@@ -466,9 +466,9 @@ function po() {
466
466
  const v = 1 - A / yt, x = 0.4 + A * 7.5, G = 1.2 + h.size * 1.1, l = 0.1 + h.size * 0.07, f = p * Ce * 2;
467
467
  for (let g = 0; g < Ce; g++)
468
468
  for (let P = 0; P < 2; P++) {
469
- const s = (g + P) / Ce, C = Math.max(0, x - G * (1 - s)), _ = Math.sin(Math.PI * s), y = Math.sin(s * Math.PI * 2 * (3 + h.size)) * l * _;
469
+ const s = (g + P) / Ce, C = Math.max(0, x - G * (1 - s)), L = Math.sin(Math.PI * s), y = Math.sin(s * Math.PI * 2 * (3 + h.size)) * l * L;
470
470
  u.copy(h.o).addScaledVector(h.dir, C).addScaledVector(h.perp, y), i.setXYZ(f + g * 2 + P, u.x, u.y, u.z);
471
- const I = _ * v * 1.4;
471
+ const I = L * v * 1.4;
472
472
  c.setXYZ(f + g * 2 + P, h.c.r * I, h.c.g * I, h.c.b * I);
473
473
  }
474
474
  p++;
@@ -480,7 +480,7 @@ function po() {
480
480
  ] });
481
481
  }
482
482
  const ot = 24;
483
- function mo() {
483
+ function ho() {
484
484
  const e = E(() => Array.from({ length: ot }, () => $("#fff")), []), r = B([]), a = E(() => ({ c: new t.Vector3(), h: new t.Vector3() }), []);
485
485
  return he(() => {
486
486
  const o = performance.now();
@@ -498,7 +498,7 @@ function mo() {
498
498
  for (let n = u; n < ot; n++) r.current[n] && (r.current[n].visible = !1);
499
499
  }), /* @__PURE__ */ d(de, { children: e.map((o, u) => /* @__PURE__ */ d("sprite", { ref: (n) => void (r.current[u] = n), material: o, visible: !1 }, u)) });
500
500
  }
501
- const we = 14, ho = 0.2, vo = new t.OctahedronGeometry(0.13, 0), go = (
501
+ const we = 14, vo = 0.2, go = new t.OctahedronGeometry(0.13, 0), yo = (
502
502
  /* glsl */
503
503
  `
504
504
  attribute vec3 aCol;
@@ -509,7 +509,7 @@ void main(){
509
509
  vV = normalize(-mv.xyz); vC = aCol;
510
510
  gl_Position = projectionMatrix * mv;
511
511
  }`
512
- ), yo = (
512
+ ), wo = (
513
513
  /* glsl */
514
514
  `
515
515
  uniform float uGain;
@@ -524,7 +524,7 @@ void main(){
524
524
  gl_FragColor = vec4(col * uGain, 1.0);
525
525
  }`
526
526
  ), nt = new t.Vector3();
527
- function wo(e, r) {
527
+ function bo(e, r) {
528
528
  let a = 0, o = 0, u = 0, n = 1 / 0;
529
529
  for (const p of Me.agents.values())
530
530
  p.run === e && (p.depth === 0 ? (a++, o += p.eu, u += p.ev) : n = Math.min(n, p.ev));
@@ -538,7 +538,7 @@ function wo(e, r) {
538
538
  r.v = n < 1 / 0 ? (c + n) / 2 : c - i;
539
539
  }
540
540
  const rt = { u: 0, v: 0 };
541
- function bo({ run: e }) {
541
+ function Mo({ run: e }) {
542
542
  const r = E(() => new t.Vector3(), []), a = E(() => new t.Vector3(), []), o = E(() => ({ init: !1, c: new t.Color(), topY: 0, topSet: !1 }), []);
543
543
  Et(() => (Pe.set(e.id, r), Ke.set(e.id, a), () => {
544
544
  Pe.get(e.id) === r && Pe.delete(e.id), Ke.get(e.id) === a && Ke.delete(e.id);
@@ -546,7 +546,7 @@ function bo({ run: e }) {
546
546
  const u = E(() => {
547
547
  const h = new t.SphereGeometry(1, 16, 12), z = new t.InstancedBufferAttribute(new Float32Array(we * 3), 3);
548
548
  h.setAttribute("aCol", z);
549
- const A = new t.ShaderMaterial({ uniforms: { uGain: { value: 1 } }, vertexShader: go, fragmentShader: yo }), v = new t.InstancedMesh(h, A, we);
549
+ const A = new t.ShaderMaterial({ uniforms: { uGain: { value: 1 } }, vertexShader: yo, fragmentShader: wo }), v = new t.InstancedMesh(h, A, we);
550
550
  v.frustumCulled = !1;
551
551
  const x = new Float32Array(we * 3), G = Math.PI * (3 - Math.sqrt(5));
552
552
  for (let l = 0; l < we; l++) {
@@ -560,27 +560,27 @@ function bo({ run: e }) {
560
560
  () => ({
561
561
  core: $(new t.Color("#7a5cff").multiplyScalar(0.35)),
562
562
  cloud: $("#000"),
563
- beads: _e.map(() => le("#fff"))
563
+ beads: Le.map(() => le("#fff"))
564
564
  }),
565
565
  []
566
566
  ), c = B(null), p = B([]), b = B(null);
567
567
  return he(({ clock: h }) => {
568
568
  var T;
569
569
  const z = performance.now(), A = h.elapsedTime, v = e.run ?? K.runs.get(e.id);
570
- wo(e, rt), Lt(e, rt.u, rt.v, nt), o.init ? r.lerp(nt, 0.12) : (r.copy(nt), o.init = !0);
570
+ bo(e, rt), _t(e, rt.u, rt.v, nt), o.init ? r.lerp(nt, 0.12) : (r.copy(nt), o.init = !0);
571
571
  const x = Math.max(0.6, be.scale), G = v ? je((z - v.startedAt) / 1200) : 1, l = v != null && v.endedAt ? q(1 - (z - v.endedAt - (Nt - 2600)) / 2600) : 1, f = (v == null ? void 0 : v.status) === "started" ? 1 : 0.6;
572
572
  c.current && (c.current.position.copy(r), c.current.scale.setScalar(Math.max(1e-4, x * (0.4 + 0.6 * G) * (0.6 + 0.4 * l))));
573
- const { mesh: g, mat: P, pos: s, o: C } = u, _ = j ? 0 : 0.02;
573
+ const { mesh: g, mat: P, pos: s, o: C } = u, L = j ? 0 : 0.02;
574
574
  for (let w = 0; w < we; w++)
575
- C.position.set(s[w * 3] + Math.sin(A * 2.1 + w * 1.7) * _, s[w * 3 + 1] + Math.cos(A * 1.8 + w * 2.3) * _, s[w * 3 + 2] + Math.sin(A * 1.6 + w) * _), C.scale.setScalar(ho), C.updateMatrix(), g.setMatrixAt(w, C.matrix);
575
+ C.position.set(s[w * 3] + Math.sin(A * 2.1 + w * 1.7) * L, s[w * 3 + 1] + Math.cos(A * 1.8 + w * 2.3) * L, s[w * 3 + 2] + Math.sin(A * 1.6 + w) * L), C.scale.setScalar(vo), C.updateMatrix(), g.setMatrixAt(w, C.matrix);
576
576
  g.instanceMatrix.needsUpdate = !0;
577
577
  const y = j ? 1 : 0.88 + 0.12 * Math.sin(A * 0.7 + e.index);
578
578
  P.uniforms.uGain.value = (0.55 + 0.45 * f) * l * (0.7 + 0.3 * G), i.cloud.color.copy(n).multiplyScalar(0.22 * l * f * y * G);
579
- for (let w = 0; w < _e.length; w++) {
579
+ for (let w = 0; w < Le.length; w++) {
580
580
  const V = p.current[w];
581
581
  if (!V || (V.visible = !!(v != null && v.hasSteps), !(v != null && v.hasSteps))) continue;
582
- const R = v.steps[_e[w]], L = w / 3 * Math.PI * 2 + (j ? 0 : A * 0.35);
583
- V.position.set(Math.cos(L) * 0.72, Math.sin(L) * 0.72 * 0.42, Math.sin(L) * 0.3);
582
+ const R = v.steps[Le[w]], _ = w / 3 * Math.PI * 2 + (j ? 0 : A * 0.35);
583
+ V.position.set(Math.cos(_) * 0.72, Math.sin(_) * 0.72 * 0.42, Math.sin(_) * 0.3);
584
584
  const U = 0.5 + 0.5 * Math.sin(A * 4);
585
585
  V.scale.setScalar(R === "running" ? 1.25 + U * 0.3 : 1), V.rotation.y = j ? 0 : A * 0.8, i.beads[w].color.copy(R === "running" ? Fe : R === "done" ? Se : R === "failed" ? He : n).multiplyScalar((R === "queued" ? 0.35 : R === "running" ? 1.2 + U * 0.6 : 0.9) * l);
586
586
  }
@@ -592,20 +592,20 @@ function bo({ run: e }) {
592
592
  /* @__PURE__ */ d("sprite", { material: i.cloud, scale: 4.2, position: [0, 0, -0.6] }),
593
593
  /* @__PURE__ */ d("sprite", { material: i.core, scale: 1.8 }),
594
594
  /* @__PURE__ */ d("primitive", { object: u.mesh }),
595
- _e.map((h, z) => /* @__PURE__ */ d("mesh", { ref: (A) => void (p.current[z] = A), geometry: vo, material: i.beads[z], visible: !1 }, h))
595
+ Le.map((h, z) => /* @__PURE__ */ d("mesh", { ref: (A) => void (p.current[z] = A), geometry: go, material: i.beads[z], visible: !1 }, h))
596
596
  ] }),
597
- /* @__PURE__ */ d("group", { ref: b, children: e.run && /* @__PURE__ */ d(Mo, { run: e.run, color: `#${n.getHexString()}` }) })
597
+ /* @__PURE__ */ d("group", { ref: b, children: e.run && /* @__PURE__ */ d(So, { run: e.run, color: `#${n.getHexString()}` }) })
598
598
  ] });
599
599
  }
600
- function Mo({ run: e, color: r }) {
600
+ function So({ run: e, color: r }) {
601
601
  Ut();
602
602
  const a = e.status !== "started";
603
603
  let o = 0;
604
- for (const n of K.instances.values()) n.run === e.id && !n.exitAt && o++;
605
- const u = e.hasSteps ? [...Xt(e, { base: "#9fb3d1", current: "#ffc24a", done: "#cfe9ff" })] : [{ text: "nucleus", color: "#9fb3d1" }];
604
+ for (const n of K.instances.values()) n.run === e.id && Xt(n) && o++;
605
+ const u = e.hasSteps ? [...Ht(e, { base: "#9fb3d1", current: "#ffc24a", done: "#cfe9ff" })] : [{ text: "nucleus", color: "#9fb3d1" }];
606
606
  return u.push({ text: a ? " · complete" : ` · ${o} e-`, color: "#9fb3d1" }), /* @__PURE__ */ d(Ie, { text: e.topic, secondary: u, color: r, size: 0.32, secondarySize: 0.25, maxWidth: 10, opacity: a ? 0.5 : 0.95, fadeMs: 400, anchorY: "bottom", pxRange: [10, 14] });
607
607
  }
608
- const So = 140, st = 0.17, wt = 40, at = 18, it = 5, Xe = 4, xo = (
608
+ const xo = 140, st = 0.17, wt = 40, at = 18, it = 5, Xe = 4, Co = (
609
609
  /* glsl */
610
610
  `
611
611
  attribute vec3 aCol; attribute float aFire;
@@ -616,7 +616,7 @@ void main(){
616
616
  vV = normalize(-mv.xyz); vC = aCol; vF = aFire;
617
617
  gl_Position = projectionMatrix * mv;
618
618
  }`
619
- ), Co = (
619
+ ), Ao = (
620
620
  /* glsl */
621
621
  `
622
622
  varying vec3 vN; varying vec3 vV; varying vec3 vC; varying float vF;
@@ -630,7 +630,7 @@ void main(){
630
630
  col += vC * vF * 1.8 + vec3(1.0) * vF * vF * 0.9;
631
631
  gl_FragColor = vec4(col, 1.0);
632
632
  }`
633
- ), Ao = () => new t.ShaderMaterial({
633
+ ), Po = () => new t.ShaderMaterial({
634
634
  uniforms: { uColor: { value: new t.Color() } },
635
635
  vertexShader: (
636
636
  /* glsl */
@@ -645,10 +645,10 @@ void main(){
645
645
  transparent: !0,
646
646
  depthWrite: !1,
647
647
  blending: t.AdditiveBlending
648
- }), Po = new t.SphereGeometry(1, 48, 32);
649
- function Vo({ galaxy: e }) {
648
+ }), Vo = new t.SphereGeometry(1, 48, 32);
649
+ function zo({ galaxy: e }) {
650
650
  const r = E(() => {
651
- const l = e.nodes.slice(0, So), f = new Set(l.map((g) => g.id));
651
+ const l = e.nodes.slice(0, xo), f = new Set(l.map((g) => g.id));
652
652
  return { nodes: l, links: e.links.filter((g) => f.has(g.source) && f.has(g.target)) };
653
653
  }, [e]), a = r.nodes.length, o = E(() => {
654
654
  const l = new Float32Array(a * 3), f = Math.PI * (3 - Math.sqrt(5));
@@ -656,17 +656,17 @@ function Vo({ galaxy: e }) {
656
656
  const M = (ce - st) * (0.3 + 0.7 * Math.cbrt(1 - m / a)), N = 1 - 2 * (m + 0.5) / a, X = Math.sqrt(1 - N * N);
657
657
  l.set([Math.cos(m * f) * X * M, N * M, Math.sin(m * f) * X * M], m * 3);
658
658
  }
659
- const g = r.nodes.map((m, M) => new t.Color(Ht[m.kind] ?? "#94a3b8").lerp(oe, 0.08 + M * 37 % 10 / 70).multiplyScalar(0.8)), P = new Map(r.nodes.map((m, M) => [m.id, M])), s = [], C = /* @__PURE__ */ new Set(), _ = (m, M) => (l[m * 3] - l[M * 3]) ** 2 + (l[m * 3 + 1] - l[M * 3 + 1]) ** 2 + (l[m * 3 + 2] - l[M * 3 + 2]) ** 2, y = (m, M) => {
659
+ const g = r.nodes.map((m, M) => new t.Color(Kt[m.kind] ?? "#94a3b8").lerp(oe, 0.08 + M * 37 % 10 / 70).multiplyScalar(0.8)), P = new Map(r.nodes.map((m, M) => [m.id, M])), s = [], C = /* @__PURE__ */ new Set(), L = (m, M) => (l[m * 3] - l[M * 3]) ** 2 + (l[m * 3 + 1] - l[M * 3 + 1]) ** 2 + (l[m * 3 + 2] - l[M * 3 + 2]) ** 2, y = (m, M) => {
660
660
  const N = m < M ? m * 4096 + M : M * 4096 + m;
661
661
  m === M || C.has(N) || (C.add(N), s.push(m, M));
662
662
  };
663
663
  for (const m of r.links) {
664
664
  const M = P.get(m.source), N = P.get(m.target);
665
- M !== void 0 && N !== void 0 && _(M, N) < (ce * 0.9) ** 2 && y(M, N);
665
+ M !== void 0 && N !== void 0 && L(M, N) < (ce * 0.9) ** 2 && y(M, N);
666
666
  }
667
667
  for (let m = 0; m < a; m++) {
668
668
  let M = -1, N = 1 / 0;
669
- for (let X = 0; X < a; X++) X !== m && _(m, X) < N && (N = _(m, X), M = X);
669
+ for (let X = 0; X < a; X++) X !== m && L(m, X) < N && (N = L(m, X), M = X);
670
670
  M >= 0 && y(m, M);
671
671
  }
672
672
  const I = new Float32Array(s.length * 3);
@@ -675,30 +675,30 @@ function Vo({ galaxy: e }) {
675
675
  T.setAttribute("position", new t.BufferAttribute(I, 3)), T.setAttribute("color", new t.BufferAttribute(new Float32Array(s.length * 3), 3)), T.boundingSphere = new t.Sphere(new t.Vector3(), ce * 2);
676
676
  const w = new t.SphereGeometry(1, 20, 14), V = new t.InstancedBufferAttribute(new Float32Array(a * 3), 3), R = new t.InstancedBufferAttribute(new Float32Array(a), 1);
677
677
  w.setAttribute("aCol", V), w.setAttribute("aFire", R);
678
- const L = new t.InstancedMesh(w, new t.ShaderMaterial({ vertexShader: xo, fragmentShader: Co }), a);
679
- L.frustumCulled = !1;
678
+ const _ = new t.InstancedMesh(w, new t.ShaderMaterial({ vertexShader: Co, fragmentShader: Ao }), a);
679
+ _.frustumCulled = !1;
680
680
  const U = new t.Object3D();
681
681
  for (let m = 0; m < a; m++)
682
- U.position.set(l[m * 3], l[m * 3 + 1], l[m * 3 + 2]), U.scale.setScalar(st), U.updateMatrix(), L.setMatrixAt(m, U.matrix), V.setXYZ(m, g[m].r, g[m].g, g[m].b);
683
- return { pos: l, base: g, mesh: L, aCol: V, aFire: R, o: U, bgeo: T, owner: Int32Array.from(s), fire: new Float32Array(a), fireC: Array.from({ length: a }, () => new t.Color()) };
682
+ U.position.set(l[m * 3], l[m * 3 + 1], l[m * 3 + 2]), U.scale.setScalar(st), U.updateMatrix(), _.setMatrixAt(m, U.matrix), V.setXYZ(m, g[m].r, g[m].g, g[m].b);
683
+ return { pos: l, base: g, mesh: _, aCol: V, aFire: R, o: U, bgeo: T, owner: Int32Array.from(s), fire: new Float32Array(a), fireC: Array.from({ length: a }, () => new t.Color()) };
684
684
  }, [r, a]), u = E(
685
685
  () => ({
686
686
  beam: ue("#fff", !0),
687
687
  bond: ue("#fff", !0),
688
688
  core: $(new t.Color("#7a5cff").multiplyScalar(0.35)),
689
689
  cloud: $(new t.Color("#1d4ed8").multiplyScalar(0.22)),
690
- waves: Array.from({ length: it }, Ao)
690
+ waves: Array.from({ length: it }, Po)
691
691
  }),
692
692
  []
693
693
  ), n = E(() => new Ct(wt, at), []), i = E(() => new qe(wt), []), c = B([]), p = B([]), b = B([]), h = B(Array(Xe).fill("")), [z, A] = Ft("left"), v = E(() => /* @__PURE__ */ new Map(), [r]), x = E(() => ({ v: new t.Vector3(), mid: new t.Vector3(), p: new t.Vector3(), c: new t.Color(), c2: new t.Color(), sp: new t.Vector3() }), []), G = (l) => {
694
694
  let f = v.get(l);
695
- return f === void 0 && v.set(l, f = Yt(e, l) % a), f;
695
+ return f === void 0 && v.set(l, f = qt(e, l) % a), f;
696
696
  };
697
697
  return he(({ clock: l, camera: f, size: g }) => {
698
698
  if (!a) return;
699
- const P = performance.now(), s = l.elapsedTime, { pos: C, base: _, fire: y, fireC: I, mesh: T, aCol: w, aFire: V, o: R } = o;
699
+ const P = performance.now(), s = l.elapsedTime, { pos: C, base: L, fire: y, fireC: I, mesh: T, aCol: w, aFire: V, o: R } = o;
700
700
  y.fill(0);
701
- const { v: L, mid: U, p: m, c: M, c2: N } = x;
701
+ const { v: _, mid: U, p: m, c: M, c2: N } = x;
702
702
  n.begin(), i.begin();
703
703
  let X = 0;
704
704
  for (const S of K.flares) {
@@ -711,20 +711,20 @@ function Vo({ galaxy: e }) {
711
711
  }
712
712
  X++;
713
713
  }
714
- const ge = xe(S.instance), pe = ge ? Kt(ge, x.sp) : void 0;
714
+ const ge = xe(S.instance), pe = ge ? jt(ge, x.sp) : void 0;
715
715
  if (pe && H < 2) {
716
716
  const te = n.next();
717
717
  if (te < 0) continue;
718
- L.set(C[O * 3], C[O * 3 + 1], C[O * 3 + 2]), U.copy(pe).add(L).multiplyScalar(0.5), U.z += 0.8;
718
+ _.set(C[O * 3], C[O * 3 + 1], C[O * 3 + 2]), U.copy(pe).add(_).multiplyScalar(0.5), U.z += 0.8;
719
719
  const ae = Math.min(1, H / 0.2) * Math.pow(1 - H / 2, 1.6), Te = Q ? Math.min(1, H * 1.1) : 1 - Math.min(1, H * 1.1);
720
720
  for (let me = 0; me < at; me++)
721
721
  for (let F = 0; F < 2; F++) {
722
722
  const W = (me + F) / at;
723
- ie(pe, U, L, W, m), n.P.setXYZ(te + me * 2 + F, m.x, m.y, m.z);
723
+ ie(pe, U, _, W, m), n.P.setXYZ(te + me * 2 + F, m.x, m.y, m.z);
724
724
  const ze = Math.exp(-(((W - Te) / 0.07) ** 2)) * 2.2;
725
725
  N.copy(se).multiplyScalar(ae * (0.18 + ze) * 0.8), n.C.setXYZ(te + me * 2 + F, N.r, N.g, N.b);
726
726
  }
727
- Q ? i.add(pe, U, L, 0.86, 1, 0.38, mt, ae * 1.4) : i.add(pe, U, L, 0.12, -1, 0.38, se, ae * 1.4);
727
+ Q ? i.add(pe, U, _, 0.86, 1, 0.38, mt, ae * 1.4) : i.add(pe, U, _, 0.12, -1, 0.38, se, ae * 1.4);
728
728
  }
729
729
  }
730
730
  for (let S = X; S < it; S++) c.current[S] && (c.current[S].visible = !1);
@@ -732,12 +732,12 @@ function Vo({ galaxy: e }) {
732
732
  const ve = j ? 0 : 0.025;
733
733
  for (let S = 0; S < a; S++) {
734
734
  const O = y[S];
735
- M.copy(_[S]), O > 0.01 && kt(M.multiplyScalar(1 - O * 0.5), I[S], O * 0.9), w.setXYZ(S, M.r, M.g, M.b), V.setX(S, O), R.position.set(C[S * 3] + Math.sin(s * 2.1 + S * 1.7) * ve, C[S * 3 + 1] + Math.cos(s * 1.8 + S * 2.3) * ve, C[S * 3 + 2] + Math.sin(s * 1.6 + S) * ve), R.scale.setScalar(st * (1 + O * 0.35)), R.updateMatrix(), T.setMatrixAt(S, R.matrix);
735
+ M.copy(L[S]), O > 0.01 && Jt(M.multiplyScalar(1 - O * 0.5), I[S], O * 0.9), w.setXYZ(S, M.r, M.g, M.b), V.setX(S, O), R.position.set(C[S * 3] + Math.sin(s * 2.1 + S * 1.7) * ve, C[S * 3 + 1] + Math.cos(s * 1.8 + S * 2.3) * ve, C[S * 3 + 2] + Math.sin(s * 1.6 + S) * ve), R.scale.setScalar(st * (1 + O * 0.35)), R.updateMatrix(), T.setMatrixAt(S, R.matrix);
736
736
  }
737
737
  T.instanceMatrix.needsUpdate = !0, w.needsUpdate = !0, V.needsUpdate = !0;
738
738
  const k = o.bgeo.getAttribute("color"), ne = o.owner;
739
739
  for (let S = 0; S < ne.length; S++) {
740
- const O = Math.max(y[ne[S]], y[ne[S ^ 1]]), H = _[ne[S]];
740
+ const O = Math.max(y[ne[S]], y[ne[S ^ 1]]), H = L[ne[S]];
741
741
  k.setXYZ(S, H.r * 0.22 + O * 0.5, H.g * 0.22 + O * 0.5, H.b * 0.22 + O * 0.55);
742
742
  }
743
743
  k.needsUpdate = !0;
@@ -763,14 +763,14 @@ function Vo({ galaxy: e }) {
763
763
  /* @__PURE__ */ d("sprite", { material: u.core, scale: ce * 1.6 }),
764
764
  /* @__PURE__ */ d("lineSegments", { geometry: o.bgeo, material: u.bond, frustumCulled: !1 }),
765
765
  /* @__PURE__ */ d("primitive", { object: o.mesh }),
766
- u.waves.map((l, f) => /* @__PURE__ */ d("mesh", { ref: (g) => void (c.current[f] = g), geometry: Po, material: l, visible: !1 }, f)),
766
+ u.waves.map((l, f) => /* @__PURE__ */ d("mesh", { ref: (g) => void (c.current[f] = g), geometry: Vo, material: l, visible: !1 }, f)),
767
767
  /* @__PURE__ */ d("lineSegments", { geometry: n.geo, material: u.beam, frustumCulled: !1 }),
768
768
  /* @__PURE__ */ d("primitive", { object: i.mesh }),
769
769
  Array.from({ length: Xe }, (l, f) => /* @__PURE__ */ d("group", { ref: (g) => void (b.current[f] = g), children: /* @__PURE__ */ d(Ie, { ref: (g) => void (p.current[f] = g), text: "", font: "mono", anchorX: z, size: 0.24, opacity: 0, fadeMs: 250, pxRange: [8, 11.5] }) }, f)),
770
- /* @__PURE__ */ d(jt, { position: [0, -ce - 0.85, 0], prefix: "molecule · ", font: "mono", color: "#ff4fa8", letterSpacing: 0.04, size: 0.26, opacity: 0.75, pxRange: [8.5, 12] })
770
+ /* @__PURE__ */ d(Yt, { position: [0, -ce - 0.85, 0], prefix: "molecule · ", font: "mono", color: "#ff4fa8", letterSpacing: 0.04, size: 0.26, opacity: 0.75, pxRange: [8.5, 12] })
771
771
  ] });
772
772
  }
773
- function zo() {
773
+ function Go() {
774
774
  const e = E(() => {
775
775
  const a = [], o = (n, i) => a.push(...n, ...i);
776
776
  for (const n of [4, 8, 12, 16, 20, 24])
@@ -788,18 +788,18 @@ function zo() {
788
788
  }, []), r = E(() => ue(new t.Color("#3db8ff").multiplyScalar(0.075)), []);
789
789
  return /* @__PURE__ */ d("lineSegments", { geometry: e, material: r, position: [0, 0, -9] });
790
790
  }
791
- const Go = new t.Vector3();
792
- function Eo(e) {
791
+ const Eo = new t.Vector3();
792
+ function Fo(e) {
793
793
  for (const r of Me.runs.values()) {
794
794
  const a = Pe.get(r.id);
795
795
  a && e(a, 0.8 * Math.max(0.6, be.scale));
796
796
  const o = Ke.get(r.id);
797
- o && e(Go.set(o.x, o.y + 0.5, o.z), 1.2);
797
+ o && e(Eo.set(o.x, o.y + 0.5, o.z), 1.2);
798
798
  }
799
799
  }
800
800
  function _o() {
801
801
  return /* @__PURE__ */ Y(
802
- qt,
802
+ Wt,
803
803
  {
804
804
  title: "atom · agent orbitals",
805
805
  subtitle: "Each run is an atom: the nucleus is the run hub, agents are electrons on its shells, subagents orbit their parent · LLM calls emit photons sized by tokens · ◎ MCP detectors with backend sensors · graph = molecule on the side · exit = decay",
@@ -813,22 +813,22 @@ function _o() {
813
813
  agentRadius: 0.75,
814
814
  graph: { natural: ce * 1.15, radius: 2.3 },
815
815
  peripheryGap: 3.8,
816
- Background: /* @__PURE__ */ d(zo, {}),
817
- Agent: fo,
818
- RunMarker: bo,
819
- McpServer: ro,
820
- Backend: no,
821
- GraphResource: Vo,
816
+ Background: /* @__PURE__ */ d(Go, {}),
817
+ Agent: po,
818
+ RunMarker: Mo,
819
+ McpServer: so,
820
+ Backend: ro,
821
+ GraphResource: zo,
822
822
  cluster: { radius: 1.3, variant: "orb" },
823
- extents: Eo,
823
+ extents: Fo,
824
824
  PostFX: /* @__PURE__ */ Y(Vt, { multisampling: 0, children: [
825
825
  /* @__PURE__ */ d(zt, { mipmapBlur: !0, intensity: 1.05, luminanceThreshold: 0.22, luminanceSmoothing: 0.25, radius: 0.7 }),
826
826
  /* @__PURE__ */ d(Gt, { eskil: !1, offset: 0.25, darkness: 0.85 })
827
827
  ] }),
828
828
  children: [
829
- /* @__PURE__ */ d(po, {}),
830
829
  /* @__PURE__ */ d(mo, {}),
831
- /* @__PURE__ */ d(so, {})
830
+ /* @__PURE__ */ d(ho, {}),
831
+ /* @__PURE__ */ d(ao, {})
832
832
  ]
833
833
  }
834
834
  );