agentglow 0.4.2 → 0.4.3
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/README.md +6 -0
- package/dist/chunks/{KitScene-D8qiflCw.js → KitScene-DsZmpTf7.js} +3632 -3341
- package/dist/chunks/{index-CAK2lh3j.js → index-B6EboYGn.js} +1 -1
- package/dist/chunks/index-CW8fTJn1.js +53 -0
- package/dist/chunks/{index-BxZgELLY.js → index-CoeLwySn.js} +132 -129
- package/dist/chunks/{index-CEd8CHA3.js → index-DATZHNA0.js} +1 -1
- package/dist/chunks/{index-BGWvBQoI.js → index-DlvN9YSt.js} +1 -1
- package/dist/chunks/{index-B-GgW6Df.js → index-avfwD6eP.js} +2 -2
- package/dist/chunks/{index-B8E_UpEh.js → index-nw9i304P.js} +1 -1
- package/dist/chunks/{index-DGp3aLoB.js → index-s99mYaJ9.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/AgentScene.d.ts +8 -1
- package/dist/types/world.d.ts +20 -0
- package/package.json +1 -1
- package/dist/chunks/index-rhTWZ_I3.js +0 -52
|
@@ -6,7 +6,7 @@ import { useFrame as gt, useThree as ue } from "@react-three/fiber";
|
|
|
6
6
|
import { EffectComposer as de, Bloom as pe, Vignette as ge, Noise as me } from "@react-three/postprocessing";
|
|
7
7
|
import { useMemo as Me, useRef as st, useEffect as At } from "react";
|
|
8
8
|
import * as w from "three";
|
|
9
|
-
import { g as ye, K as Ae, F as be, f as et, A as Z, w as q, H as ne, I as ie, R as xe, k as $t, p as we, e as Re, q as zt, o as Se, n as Ge, d as Tt, J as ze, M as ve, T as oe, i as Ie, x as Ce, G as Pe, u as Fe, L as vt, t as Jt, v as Qt, S as Be, N as Oe, O as Te, j as Ee, r as ke } from "./KitScene-
|
|
9
|
+
import { g as ye, K as Ae, F as be, f as et, A as Z, w as q, H as ne, I as ie, R as xe, k as $t, p as we, e as Re, q as zt, o as Se, n as Ge, d as Tt, J as ze, M as ve, T as oe, i as Ie, x as Ce, G as Pe, u as Fe, L as vt, t as Jt, v as Qt, S as Be, N as Oe, O as Te, j as Ee, r as ke } from "./KitScene-DsZmpTf7.js";
|
|
10
10
|
var se;
|
|
11
11
|
const pt = typeof window < "u" && !!((se = window.matchMedia) != null && se.call(window, "(prefers-reduced-motion: reduce)").matches), nt = pt ? 0.3 : 1, W = pt ? 9e3 : 24e3, it = pt ? 3500 : 8e3, F = 12, $ = pt ? 450 : 1100, Et = 9e3, Y = 64, kt = 31, _e = 4.6, ot = 28, _t = 64, Rt = 18, Lt = 16, ht = 8, X = Math.PI * 2, re = 200, tt = re + ve, Dt = 5.4, Gt = 3.2, Le = ["planner", "researcher", "writer"], yt = Object.fromEntries(Object.entries(oe).map(([g, e]) => [g, new w.Color(e)])), De = Ie, Ue = () => ({ used: !1, id: "", inst: null, seen: 0, x: 0, y: 0, z: 0, r: 1, g: 1, b: 1, omega: 0, bright: 0, swirl: 0, rscale: 1, tiltA: 0, tiltB: 0, count: 0, want: 0, rank: 0, ka: null, released: !1, p: 0, e: 0, waitMcp: 0 }), St = tt * 3, je = (g) => {
|
|
12
12
|
let e = 7;
|
|
@@ -6,7 +6,7 @@ import { EffectComposer as bt, Bloom as yt, Vignette as Mt } from "@react-three/
|
|
|
6
6
|
import { useMemo as V, useRef as U, useEffect as St, useState as xt } from "react";
|
|
7
7
|
import * as t from "three";
|
|
8
8
|
import { useFrame as Ae } from "@react-three/fiber";
|
|
9
|
-
import { T as mt, w as H, k as Ct, a as ge, d as st, h as Me, l as At, U as Vt, p as Pt, e as zt, f as Se, s as Et, L as nt, j as Gt, n as Bt, o as Ft, S as Ye, H as Rt, R as It, q as Lt, A as he, u as _t, V as Ot, E as Tt, t as Nt, v as Ut, g as Xt, b as jt, K as Kt, B as Yt, G as Ht, C as qt, x as Wt } from "./KitScene-
|
|
9
|
+
import { T as mt, w as H, k as Ct, a as ge, d as st, h as Me, l as At, U as Vt, p as Pt, e as zt, f as Se, s as Et, L as nt, j as Gt, n as Bt, o as Ft, S as Ye, H as Rt, R as It, q as Lt, A as he, u as _t, V as Ot, E as Tt, t as Nt, v as Ut, g as Xt, b as jt, K as Kt, B as Yt, G as Ht, C as qt, x as Wt } from "./KitScene-DsZmpTf7.js";
|
|
10
10
|
var dt;
|
|
11
11
|
const ee = typeof window < "u" && !!((dt = window.matchMedia) != null && dt.call(window, "(prefers-reduced-motion: reduce)").matches), at = new t.Color("#3db8ff"), ve = new t.Color("#9fdcff"), _e = new t.Color("#ff4fa8"), it = new t.Color("#ff9ccf"), ie = new t.Color(1, 1, 1), Ge = new t.Color("#ffc24a"), Zt = new t.Color("#ff2d55"), Dt = new t.Color("#3a4560"), rt = Object.fromEntries(Object.entries(mt).map(([e, s]) => [e, new t.Color(s)])), D = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Te = (e) => 1 - Math.pow(1 - D(e), 3), Ne = (e) => (e = D(e), e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2);
|
|
12
12
|
let Ie = null;
|
|
@@ -321,7 +321,7 @@ function co({ agent: e, selected: s, onSelect: a }) {
|
|
|
321
321
|
const $ = o.parent ? ge(o.parent) : void 0, k = o.parent ? H.instances.get(o.parent) : void 0, ne = !!$ && !!k && !k.exitAt && !o.exitAt;
|
|
322
322
|
r.linkK += ((ne ? 1 : 0) - r.linkK) * (ne ? 0.06 : 0.05), $ && r.par.copy($);
|
|
323
323
|
const J = i.field.uniforms;
|
|
324
|
-
J.uP0.value.copy(r.par), J.uP2.value.copy(w), Ue(r.par, w, z ? 0
|
|
324
|
+
J.uP0.value.copy(r.par), J.uP2.value.copy(w), Ue(r.par, w, z ? 0 : 1.4, r.ctrl), J.uP1.value.copy(r.ctrl);
|
|
325
325
|
const de = Ne((j - o.bornAt) / 900);
|
|
326
326
|
if (J.uGrow.value = o.parent && r.linkK > 0.01 ? de : 0, J.uOpacity.value = (N ? 0.7 : 0.45) * r.linkK, J.uFlow.value = r.linkK, J.uTime.value = ee ? 0 : g, J.uHead.value = de < 1 ? de : -1, m.current) {
|
|
327
327
|
const x = o.parent && r.linkK > 0.05 && de >= 1;
|
|
@@ -4,7 +4,7 @@ import { EffectComposer as Ne, Bloom as je, Vignette as Ke, Noise as Qe } from "
|
|
|
4
4
|
import { useFrame as K } from "@react-three/fiber";
|
|
5
5
|
import { useRef as A, useMemo as E, useEffect as Je, useState as Xe } from "react";
|
|
6
6
|
import * as t from "three";
|
|
7
|
-
import { h as oe, i as et, T as ae, f as tt, a as H, p as nt, e as ot, l as rt, j as st, s as at, L as Ge, w as G, g as ct, b as it, K as lt, G as ut, c as J, d as Ce, k as pt, m as he, n as ft, o as dt, S as fe, R as ht, q as mt, u as yt, r as gt, t as Oe, v as Pe, x as Mt } from "./KitScene-
|
|
7
|
+
import { h as oe, i as et, T as ae, f as tt, a as H, p as nt, e as ot, l as rt, j as st, s as at, L as Ge, w as G, g as ct, b as it, K as lt, G as ut, c as J, d as Ce, k as pt, m as he, n as ft, o as dt, S as fe, R as ht, q as mt, u as yt, r as gt, t as Oe, v as Pe, x as Mt } from "./KitScene-DsZmpTf7.js";
|
|
8
8
|
var Fe;
|
|
9
9
|
const U = typeof window < "u" && !!((Fe = window.matchMedia) != null && Fe.call(window, "(prefers-reduced-motion: reduce)").matches), Le = Math.PI * 2, Ae = [Math.PI * 0.5, Math.PI * 0.5 + Le / 3, Math.PI * 0.5 + Le * 2 / 3], Ye = et, wt = (e) => (oe(e, 11) - 0.5) * 2.4, Z = {
|
|
10
10
|
/** the galaxy's inner (tilted) group; its matrixWorld includes the kit's side placement + scale */
|
|
@@ -6,7 +6,7 @@ import { EffectComposer as Le, Bloom as Oe, Vignette as Ee } from "@react-three/
|
|
|
6
6
|
import * as r from "three";
|
|
7
7
|
import { useFrame as ht, useThree as Fe } from "@react-three/fiber";
|
|
8
8
|
import { useMemo as D, useRef as I, useEffect as ce } from "react";
|
|
9
|
-
import { T as le, h as et, f as Rt, K as je, w as L, F as qe, a as St, P as We, L as Bt, C as Ke, u as _e, A as st, d as ve, k as Ue, H as Ne, R as Xe, E as $e, W as He, e as Ze, s as Ye, j as Qe, n as Je, o as to, x as eo } from "./KitScene-
|
|
9
|
+
import { T as le, h as et, f as Rt, K as je, w as L, F as qe, a as St, P as We, L as Bt, C as Ke, u as _e, A as st, d as ve, k as Ue, H as Ne, R as Xe, E as $e, W as He, e as Ze, s as Ye, j as Qe, n as Je, o as to, x as eo } from "./KitScene-DsZmpTf7.js";
|
|
10
10
|
var Pe;
|
|
11
11
|
const nt = typeof window < "u" && !!((Pe = window.matchMedia) != null && Pe.call(window, "(prefers-reduced-motion: reduce)").matches), rt = (t) => t < 0 ? 0 : t > 1 ? 1 : t, jt = (t) => 1 - Math.pow(1 - rt(t), 3), ne = (t) => (t = rt(t), t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2), pt = () => performance.now() / 1e3, N = new r.Color(1, 1, 1), X = new r.Color("#bff3ff");
|
|
12
12
|
new r.Color("#2dd4bf");
|
package/dist/index.js
CHANGED
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.scene-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#03050b;color:#e8edf5;font-family:Public Sans,system-ui,sans-serif;overflow:hidden}.scene-root canvas{display:block}.hud{position:absolute;z-index:10;background:#0a0e1a8c;border:1px solid rgba(148,163,255,.16);border-radius:14px;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 8px 32px #00000059,inset 0 1px #ffffff0a}.hud-topwrap{position:absolute;z-index:10;top:12px;left:12px;max-width:calc(100% - var(--hud-side, 320px) - 36px);display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;pointer-events:none}.hud-topwrap.is-rail{--hud-side: 40px}.hud-topwrap>*{pointer-events:auto}.hud-top{position:relative;padding:6px 8px 6px 12px;min-width:0}.hud-bar{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap}.hud-bar .hud-run{margin-top:0}.hud-info{all:unset;cursor:pointer;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font:italic 600 11px/1 Georgia,serif;color:#94a3b8;border:1px solid rgba(148,163,184,.35)}.hud-info:hover,.hud-info.on{color:#e2e8f0;border-color:#818cf8}.hud-theme{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#03050b8c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%2394a3b8'/%3E%3C/svg%3E") no-repeat right 9px center;color:#cbd5e1;border:1px solid rgba(148,163,255,.22);border-radius:999px;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:4px 24px 4px 10px;cursor:pointer;outline:none}.hud-theme:hover{border-color:#818cf8}.hud-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap}.hud-sub{margin:6px 0 2px;max-width:460px;font-size:12px;line-height:1.45;color:#94a3b8}.hud-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;animation:hud-ping 1.6s ease-out infinite}@keyframes hud-ping{0%{box-shadow:0 0 #22c55eb3}to{box-shadow:0 0 0 10px #22c55e00}}.hud-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:999px;background:#94a3b829;color:#cbd5e1}.hud-stats{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.hud-stat{font-size:11px;color:#94a3b8;padding:2px 8px;border-radius:999px;background:#03050b66;white-space:nowrap}.hud-stat b{color:#f1f5f9;font-weight:700;font-variant-numeric:tabular-nums}.hud-dec{--dc: 94, 234, 212;animation:hud-dec-pulse .7s ease-out}.hud-dec.is-deny{--dc: 251, 59, 92}@keyframes hud-dec-pulse{0%{background:rgba(var(--dc),.5);box-shadow:0 0 rgba(var(--dc),.7);color:#fff}35%{background:rgba(var(--dc),.28);box-shadow:0 0 0 5px rgba(var(--dc),0)}to{background:#03050b66;box-shadow:0 0 rgba(var(--dc),0)}}@media(prefers-reduced-motion:reduce){.hud-dec{animation:none}}.hud-dec-hv{display:inline-flex;align-items:center;gap:4px;color:#a7f3d0;background:#5eead41a}.hud-dec-hv.is-deny{color:#fecdd3;background:#fb3b5c24}.hud-spark{color:#5eead4;margin-left:2px}.hud-dec-hv.is-deny .hud-spark{color:#fb7185}.hud-halt{color:#fecdd3;background:#fb3b5c38;box-shadow:inset 0 0 0 1px #fb3b5c8c;animation:hud-halt 1.6s ease-in-out infinite}.hud-halt b{color:#fb3b5c;letter-spacing:.04em}@keyframes hud-halt{50%{background:#fb3b5c57}}@media(prefers-reduced-motion:reduce){.hud-halt{animation:none}}.scene-root :focus-visible{outline:2px solid #818cf8;outline-offset:2px}.hud-side{top:12px;right:12px;bottom:12px;width:320px;display:flex;flex-direction:column;padding:8px 10px 10px;font-size:13px;box-sizing:border-box;animation:hs-in .18s ease-out}.hud-side.is-rail{width:40px;padding:6px 0;align-items:center}@keyframes hs-in{0%{opacity:.4}}.hs-head{display:flex;align-items:center;gap:2px;padding-bottom:8px;margin:0 -2px 2px;border-bottom:1px solid rgba(148,163,255,.12)}.hs-head button{all:unset;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:5px 9px;border-radius:999px}.hs-head button:hover{color:#e2e8f0}.hs-head button.on{color:#f1f5f9;background:#818cf838}.hs-head em,.hs-icon em{font-style:normal;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;color:#c7d2fe;letter-spacing:0}.hs-head .hs-collapse{margin-left:auto;font-size:14px;padding:2px 8px;letter-spacing:0}.hs-rail{display:flex;flex-direction:column;align-items:center;gap:6px}.hs-rail button{all:unset;cursor:pointer;position:relative;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#94a3b8}.hs-rail button:hover{color:#e2e8f0;background:#94a3ff1a}.hs-rail .hs-collapse{font-size:14px;margin-bottom:4px}.hs-icon em{position:absolute;top:-3px;right:-5px;min-width:14px;height:14px;padding:0 3px;box-sizing:border-box;border-radius:999px;display:grid;place-items:center;font-size:9px;background:#4f46e5;color:#eef2ff}.hs-icon em:empty{min-width:8px;width:8px;height:8px;padding:0;top:1px;right:1px;background:#22d3ee;box-shadow:0 0 8px #22d3ee}.hs-body{flex:1;min-height:0;display:flex;flex-direction:column}.hs-body[hidden]{display:none}.hs-empty{margin:14px 4px;font-size:12px;line-height:1.5;color:#64748b}.hs-events{list-style:none;margin:6px -4px 0;padding:0;overflow-y:auto;min-height:0;flex:1;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hs-events li>*{all:unset;box-sizing:border-box;width:100%;display:flex;gap:8px;align-items:baseline;padding:4px 6px;border-radius:7px;color:#cbd5e1;line-height:1.4}.hs-events li>button{cursor:pointer}.hs-events li>button:hover{background:#94a3ff1a;color:#f1f5f9}.hs-events i{flex:0 0 7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);transform:translateY(-1px)}.hs-events span{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.ap-head{display:flex;align-items:center;gap:8px;margin-top:6px}.ap-count{flex:none;color:#64748b;font-size:11px;font-variant-numeric:tabular-nums}.ap-link{all:unset;cursor:pointer;font-size:12px;color:#93c5fd}.ap-link:hover{color:#bfdbfe}.ap-searchrow{display:flex;align-items:center;gap:8px;margin-top:8px}.ap-search{flex:1;min-width:0;width:100%;box-sizing:border-box;background:#03050b99;border:1px solid rgba(148,163,255,.2);border-radius:8px;color:inherit;font:inherit;font-size:12px;padding:6px 9px;outline:none}.ap-search:focus{border-color:#818cf8}.ap-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.ap-chips button{all:unset;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:11px;padding:3px 7px;border-radius:999px;border:1px solid rgba(148,163,255,.15);color:#cbd5e1}.ap-chips button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);color:#f8fafc}.ap-chips i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.ap-chips em{font-style:normal;color:var(--c);font-weight:700;font-variant-numeric:tabular-nums}.ap-row-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.ap-seg{display:flex;border:1px solid rgba(148,163,255,.15);border-radius:8px;overflow:hidden}.ap-seg{flex:none}.ap-seg button{all:unset;cursor:pointer;font-size:11px;padding:3px 6px;color:#94a3b8;text-transform:capitalize}.ap-seg button.on{background:#818cf840;color:#f1f5f9}.ap-row-filters select{flex:1;min-width:64px;background:#03050b99;color:#cbd5e1;border:1px solid rgba(148,163,255,.15);border-radius:8px;font:inherit;font-size:11px;padding:3px 6px}.ap-list{list-style:none;margin:8px -4px 0;padding:0;overflow-y:auto;min-height:0;flex:1}.ap-list li button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px;border-radius:8px}.ap-list li button:hover{background:#94a3ff1a}.ap-list li button.is-done{opacity:.55}.ap-list i{flex:0 0 9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.ap-list i[data-status=thinking]{animation:ap-pulse .9s ease-in-out infinite}.ap-list i[data-status=waiting]{opacity:.5}.ap-list i[data-status=done]{background:transparent;border:1.5px solid var(--c);box-shadow:none}@keyframes ap-pulse{50%{transform:scale(1.5)}}.ap-name{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px;color:#e2e8f0}.ap-name small{color:#64748b;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-meta{text-align:right;font-size:11px;color:#94a3b8;font-variant-numeric:tabular-nums;display:flex;flex-direction:column}.ap-meta b{color:var(--c);font-weight:600;text-transform:lowercase}.hs-events li.is-skill>*{background:#f5b83d12}.hs-skill{flex:0 0 auto;font-size:9.5px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.06em;color:#fcd581;padding:0 6px;border-radius:999px;border:1px solid rgba(245,184,61,.55);background:#f5b83d1f}.ap-title{display:flex;align-items:center;gap:6px;min-width:0}.ap-skill{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:9.5px;font-weight:600;color:#fcd581;padding:0 6px;border-radius:999px;border:1px solid rgba(245,184,61,.55);background:#f5b83d1f}.ap-skill:before{content:"skill:";color:#b8893a;font-weight:500}.hs-skill:before{content:"";display:inline-block;width:6px;height:6px;margin:0 4px 0 -1px;border:1px solid currentColor;border-radius:50%;vertical-align:0;box-shadow:0 0 4px #f5b83d99}.hs-events li.is-dec>*{background:#5eead40d}.hs-events li.is-deny>*{background:#fb3b5c1f}.hs-dec{flex:0 0 auto;font-size:9.5px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.06em;color:var(--c);padding:0 6px;border-radius:3px;border:1px solid var(--c);background:#ffffff0a}.ap-decisions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.ap-decisions li{display:flex;gap:6px;align-items:baseline;font-size:11px;color:#e2e8f0;padding:2px 6px;border-left:2px solid var(--c);background:#ffffff08}.ap-decisions li.is-deny{background:#fb3b5c1f}.ap-decisions li.is-strike span{text-decoration:line-through;color:#94a3b8}.ap-hv{font-size:11.5px;color:#e2e8f0;margin:0 0 4px;font-variant-numeric:tabular-nums}.ap-hv-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;gap:1px;background:#ffffff0d}.ap-hv-bar span{flex-basis:0;min-width:2px}.ap-decisions b{flex:0 0 auto;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--c)}.ap-decisions span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-decisions em{flex:0 0 auto;font-style:normal;font-size:10px;color:#94a3b8;font-variant-numeric:tabular-nums}.ap-skills{display:flex;flex-wrap:wrap;gap:4px}.ap-skills span{font-size:11px;color:#e2e8f0;padding:2px 8px;border-radius:999px;border:1px solid rgba(245,184,61,.35);background:#f5b83d0f;display:inline-flex;gap:5px;align-items:baseline}.ap-skills span.on{border-color:#f5b83d;background:#f5b83d2e;color:#fde7b0;box-shadow:0 0 10px #f5b83d40}.ap-skills em{font-style:normal;font-size:10px;color:#b8893a;font-variant-numeric:tabular-nums}.ap-more{padding:6px;color:#64748b;font-size:11px}.ap-detail{overflow-y:auto;min-height:0;margin-top:8px;flex:1}.ap-detail h3{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;color:var(--c)}.ap-detail h3 i{width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}.ap-detail h3 small{color:#64748b;font-size:11px;font-weight:500}.ap-status{margin-top:3px;font-size:12px;color:#cbd5e1}.ap-status[data-status=thinking]{color:#fde68a}.ap-status[data-status=waiting]{color:#fcd34d}.ap-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:4px;margin:10px 0 4px}.ap-stats div{background:#03050b73;border-radius:8px;padding:6px;text-align:center}.ap-stats dt{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.ap-stats dd{margin:2px 0 0;font-size:15px;font-weight:700;color:#f1f5f9;font-variant-numeric:tabular-nums}.ap-detail section{margin-top:10px}.ap-detail h4{margin:0 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.ap-detail p{margin:0;font-size:12px;color:#cbd5e1}.ap-steps{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ap-steps span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;border:1px solid #334155;color:#64748b}.ap-steps span[data-status=running]{border-color:#fbbf24;color:#fde68a}.ap-steps span[data-status=waiting]{border-color:#f59e0b;color:#fcd34d;background:#f59e0b24;animation:ap-wait-pulse 1.8s ease-in-out infinite}.ap-steps span[data-status=done]{border-color:#22c55e;color:#86efac}.ap-steps span[data-status=failed]{border-color:#ef4444;color:#fca5a5}.ap-chip-link{all:unset;cursor:pointer;display:block;font-size:12px;color:#e2e8f0;padding:3px 6px;border-left:2px solid var(--c);margin:2px 0;border-radius:0 6px 6px 0}.ap-chip-link:hover{background:#94a3ff1a}.ap-wait{color:#fbbf24!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap-idle{color:#94a3b8!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap-runhead{display:flex;align-items:center;justify-content:space-between}.ap-dismiss{border:0;background:transparent;color:#94a3b8;font-size:15px;line-height:1;padding:0 4px;cursor:pointer;border-radius:4px}.ap-dismiss:hover,.ap-dismiss:focus-visible{color:#f1f5f9;background:#94a3b82e}.hud-hidden{border:0;cursor:pointer}.hud-hidden:hover{color:#f1f5f9}.ap-nodes{line-height:1.5}.ap-chat{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:12px;color:#e2e8f0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-y:auto}.ap-chat li[data-role=user]{color:#c7d2fe}.ap-chat li[data-role=agent]{padding-bottom:6px;border-bottom:1px solid rgba(148,163,255,.12)}.ap-chat b{font-weight:650}.ap-events{margin:0;padding-left:14px;display:grid;gap:3px;font-size:11px;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hud-badge--live{background:#22c55e2e;color:#86efac}.hud-badge--denied{background:#f871712e;color:#fca5a5;text-transform:none;letter-spacing:.02em}.hud-chip{text-transform:none;letter-spacing:.02em;font-weight:500;background:#818cf829;color:#c7d2fe;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.hud-chip b{font-weight:650;color:#e0e7ff}.hud-run{display:flex;gap:6px;margin-top:8px;align-items:center;flex-wrap:wrap}.hud-run input{flex:1;min-width:160px;background:#03050b99;border:1px solid rgba(148,163,255,.2);border-radius:999px;color:inherit;font:inherit;font-size:12px;padding:6px 11px;outline:none}.hud-run button{border:0;border-radius:999px;padding:6px 13px;font:inherit;font-size:12px;font-weight:600;background:linear-gradient(135deg,#818cf8,#22d3ee);color:#03050b;cursor:pointer}.hud-run button:disabled{opacity:.5}.hud-run select{max-width:160px;min-width:0;background:#03050b99;color:#cbd5e1;border:1px solid rgba(148,163,255,.2);border-radius:999px;font:inherit;font-size:12px;padding:5px 9px;cursor:pointer}.hud-run span{font-size:11px;color:#86efac}.agentglow-embed{position:relative;overflow:hidden;width:100%;height:100%;min-height:320px;isolation:isolate}.agentglow-embed .scene-root{position:absolute;top:0;right:0;bottom:0;left:0}.lod-cluster-label{all:unset;box-sizing:border-box;display:grid;gap:1px;text-align:center;cursor:pointer;pointer-events:auto;font-size:12px;font-weight:600;color:#f8fafc;padding:4px 11px 5px;border-radius:12px;white-space:nowrap;background:#03050b9e;border:1px solid color-mix(in srgb,var(--c, #818cf8) 60%,transparent);text-shadow:0 0 10px var(--c, #818cf8);box-shadow:0 0 18px color-mix(in srgb,var(--c, #818cf8) 22%,transparent);transition:border-color .2s,background .2s}.lod-cluster-label:hover{background:color-mix(in srgb,var(--c, #818cf8) 22%,rgba(3,5,11,.7));border-color:var(--c, #818cf8)}.lod-cluster-label b{font-weight:700;letter-spacing:-.01em}.lod-cluster-label small{font-size:10px;font-weight:500;color:#94a3b8;text-shadow:none;font-variant-numeric:tabular-nums}.hud-dock{display:flex;align-items:center;gap:8px}.hud-dock:empty{display:none}.hud-dock>.hud{position:static}.hud-lod{padding:6px 8px 6px 12px;display:flex;align-items:center;gap:8px;font-size:12px;color:#cbd5e1;white-space:nowrap}.hud-lod span b{margin:0 1px}.hud-lod b{color:#f1f5f9;font-variant-numeric:tabular-nums}.hud-lod i{width:7px;height:7px;border-radius:50%;background:#a5b4fc;box-shadow:0 0 8px #a5b4fc}.hud-lod button{all:unset;cursor:pointer;font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid rgba(148,163,255,.25);color:#c7d2fe}.hud-lod button:hover{background:#818cf833;color:#f8fafc}.scene-root{container:agscene / size}@container agscene (max-width: 719px){.scene-root .hud-top{padding:5px 7px 5px 10px}.scene-root .hud-title{font-size:13px}.scene-root .hud-theme{padding:3px 20px 3px 8px;font-size:10px;background-position:right 7px center}.scene-root .hud-stat:nth-child(n+3){display:none}.scene-root .hud-side:not(.is-rail){width:min(290px,calc(100% - 64px));padding:6px 8px 8px}.scene-root .hs-head button{padding:4px 6px;letter-spacing:.04em;font-size:10.5px}.scene-root .hs-head .hs-collapse{padding:2px 4px}.scene-root .ap-list li button{padding:4px 6px}.scene-root .hud-topwrap:not(.is-rail){--hud-side: min(290px, calc(100% - 64px) )}}@container agscene (max-height: 520px){.scene-root .hud-sub{max-height:4.5em;overflow:auto}}@keyframes ap-wait-pulse{50%{box-shadow:0 0 10px #f59e0b8c;border-color:#fbbf24}}@media(prefers-reduced-motion:reduce){.ap-steps span[data-status=waiting]{animation:none}}.hud-approve{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.hud-approve button{border:1px solid transparent;border-radius:999px;padding:5px 13px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.hud-approve .ha-yes{background:linear-gradient(135deg,#34d399,#22d3ee);color:#03050b}.hud-approve .ha-no{background:#fb3b5c24;border-color:#fb718599;color:#fecdd3}.hud-approve .ha-yes:hover{filter:brightness(1.1)}.hud-approve .ha-no:hover{background:#fb3b5c47}.hud-approve span{font-size:11px;color:#94a3b8}.hud-approve[data-verdict=approved] span,.hud-approve[data-verdict=approving] span{color:#86efac}.hud-approve[data-verdict=rejected] span,.hud-approve[data-verdict=rejecting] span,.hud-approve[data-verdict=error] span{color:#fda4af}.hud-approve.is-compact{margin-top:0;flex:none;gap:4px}.hud-approve.is-compact button{padding:3px 9px;font-size:11px}.hud-approvals{left:12px;bottom:12px;z-index:9;width:max-content;max-width:min(460px,calc(100% - 356px));padding:8px 10px;font-size:12px;box-sizing:border-box;border-color:#f59e0b73;box-shadow:0 8px 32px #00000059,0 0 18px #f59e0b1f}.hud-approvals.is-rail{max-width:min(460px,calc(100% - 76px))}.hud-approvals h4{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#fcd34d;display:flex;gap:6px;align-items:baseline}.hud-approvals h4 em{font-style:normal;font-variant-numeric:tabular-nums;color:#fde68a}.hud-approvals ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.hud-approvals .ha-late{font-style:normal}.hud-approvals .ha-late.is-due{color:#86efac}.hud-approvals .ha-late.is-overdue{color:#f59e0b;font-weight:600}.hud-approvals li{display:flex;align-items:center;gap:8px;min-width:0}.hud-approvals .ha-who{all:unset;cursor:pointer;flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;padding:2px 4px;border-radius:6px}.hud-approvals .ha-who:hover{background:#94a3ff1a}.hud-approvals .ha-who i{flex:0 0 8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);align-self:center}.hud-approvals .ha-who b{color:#e2e8f0;font-weight:650;white-space:nowrap}.hud-approvals .ha-who span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fbbf24;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.hud-approvals p{margin:6px 0 0;font-size:11px;color:#64748b}.hud-approvals .ha-details,.ap-approve-row .ha-details{all:unset;cursor:pointer;flex:none;font-size:11px;color:#cbd5e1;padding:3px 8px;border-radius:999px;border:1px solid rgba(148,163,255,.28)}.hud-approvals .ha-details:hover,.ap-approve-row .ha-details:hover,.hud-approvals .ha-details:focus-visible{border-color:#818cf8;color:#f1f5f9}.ap-approve-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ap-approve-row .ha-details{margin-top:8px}.hud-drawer{top:64px;max-height:calc(100% - 76px);right:calc(var(--hud-side, 320px) + 24px);width:360px;max-width:calc(100% - var(--hud-side, 320px) - 48px);z-index:11;display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;box-sizing:border-box;overflow-y:auto;font-size:12px;outline:none;background:#0a0e1ac7;border-color:#f59e0b73;box-shadow:0 12px 40px #00000073,0 0 22px #f59e0b1a;animation:hd-in .18s ease-out}.hud-drawer.is-rail{--hud-side: 40px}@keyframes hd-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hud-drawer{animation:none}}.hud-drawer .hd-head{display:flex;align-items:flex-start;gap:8px}.hud-drawer .hd-head>div{flex:1;min-width:0}.hud-drawer .hd-kicker{margin:0 0 2px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#fcd34d}.hud-drawer h3{margin:0;font-size:15px;font-weight:700;line-height:1.3;color:#f1f5f9;overflow-wrap:anywhere}.hud-drawer .hd-close{all:unset;cursor:pointer;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:17px;color:#94a3b8}.hud-drawer .hd-close:hover,.hud-drawer .hd-close:focus-visible{color:#f1f5f9;background:#94a3ff24}.hud-drawer .hd-who{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:6px;min-width:0;padding:2px 4px;margin:-2px -4px;border-radius:6px}.hud-drawer .hd-who:hover{background:#94a3ff1a}.hud-drawer .hd-who i{flex:0 0 8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);align-self:center}.hud-drawer .hd-who b{color:#e2e8f0;white-space:nowrap}.hud-drawer .hd-who span{color:#94a3b8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-drawer .hd-deadline{align-self:flex-start;font-size:11px;font-variant-numeric:tabular-nums;color:#fde68a;padding:2px 9px;border-radius:999px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3)}.hud-drawer .hd-deadline.is-due{color:#86efac;background:#22c55e1f;border-color:#22c55e59}.hud-drawer .hd-deadline.is-overdue{color:#fbbf24;font-weight:650}.hud-drawer section h4{margin:0 0 5px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.hud-drawer .hd-why{border-left:2px solid #5eead4;padding:2px 0 2px 8px}.hud-drawer .hd-why.is-deny{border-left-color:#fb7185}.hud-drawer .hd-why p{margin:0 0 4px;color:#e2e8f0;line-height:1.4}.hud-drawer .hd-why p b{font-size:9px;letter-spacing:.06em;color:#94a3b8;margin-right:2px}.hud-drawer .hd-why p em{font-style:normal;font-weight:700;color:#5eead4}.hud-drawer .hd-why.is-deny p em{color:#fda4af}.hud-drawer .hd-reason{margin:0;color:#fbbf24;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.hud-drawer .hd-dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:11px}.hud-drawer .hd-dl div{display:contents}.hud-drawer .hd-dl dt{color:#64748b}.hud-drawer .hd-dl dd{margin:0;color:#e2e8f0;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-drawer .hd-details dd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hud-drawer .ap-decisions{margin:0}.hud-drawer .hd-foot{display:grid;gap:8px;padding-top:4px;border-top:1px solid rgba(148,163,255,.12)}.hud-drawer .hd-note{width:100%;box-sizing:border-box;resize:vertical;min-height:38px;margin-top:8px;padding:6px 8px;font:inherit;font-size:12px;color:#e2e8f0;background:#03050b8c;border:1px solid rgba(148,163,255,.22);border-radius:8px;outline:none}.hud-drawer .hd-note:focus{border-color:#818cf8}.hud-drawer .hud-approve{margin-top:0}.hud-drawer .hd-keys{margin:0;font-size:10px;color:#64748b}.hud-drawer .hd-links{display:flex;flex-wrap:wrap;gap:6px}.hud-drawer .hd-links a,.hud-drawer .hd-links button{all:unset;cursor:pointer;font-size:11px;color:#c7d2fe;padding:3px 9px;border-radius:999px;border:1px solid rgba(148,163,255,.28)}.hud-drawer .hd-links a:hover,.hud-drawer .hd-links button:hover,.hud-drawer .hd-links a:focus-visible,.hud-drawer .hd-links button:focus-visible{border-color:#818cf8;color:#f1f5f9}.hud-halotip{position:fixed;z-index:30;pointer-events:none;padding:5px 8px;border-radius:8px;font-size:11px;line-height:1.45;color:#cbd5e1;background:#0a0e1ae0;border:1px solid rgba(148,163,255,.22);font-variant-numeric:tabular-nums;white-space:nowrap}.hud-halotip b{color:#f1f5f9}@container agscene (max-width: 719px){.scene-root .hud-approvals{max-width:calc(100% - 76px);padding:6px 8px}.scene-root .hud-approvals .ha-who span{display:none}.scene-root .hud-drawer{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-width:none;max-height:72%}}.hud-rejected{color:#fde68a}.hud-rejected b{color:#fbbf24}.ap-prim-dim{font-size:11px;color:#94a3b8;margin:3px 0 0;font-variant-numeric:tabular-nums}.ap-prim-bar{height:6px;border-radius:3px;overflow:hidden;background:#ffffff0f;margin-top:6px}.ap-prim-bar span{display:block;height:100%;background:#5eead4;box-shadow:0 0 8px #5eead480}.ap-skills span.ap-prim-stage{border-color:color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent)}.ap-skills span.ap-prim-stage.on{border-color:var(--c);color:#e6fffb;box-shadow:0 0 10px color-mix(in srgb,var(--c) 30%,transparent)}.ap-skills span.ap-prim-stage em{color:#94a3b8}.ap-prim-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:11px}.ap-prim-dl div{display:contents}.ap-prim-dl dt{color:#64748b}.ap-prim-dl dd{margin:0;color:#e2e8f0;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-detail h3 .rp-icon{color:var(--c);font-style:normal;margin-right:2px}.rp-spark{display:block;width:100%;height:34px;background:#ffffff08;border-radius:4px}.rp-table{width:100%;border-collapse:collapse;font-size:11px;color:#e2e8f0;font-variant-numeric:tabular-nums;margin:4px 0;table-layout:fixed}.rp-table th{text-align:right;font-weight:600;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:2px 4px}.rp-table td{text-align:right;padding:2px 4px;border-top:1px solid rgba(255,255,255,.05)}.rp-table th:first-child,.rp-table td:first-child{text-align:left;width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 0;font-size:10.5px;color:#cbd5e1}.rp-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--c);margin-right:4px}.rp-legend em{font-style:normal;color:#94a3b8}.rp-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:4px 10px;margin:4px 0}.rp-kv dt{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.rp-kv dd{margin:0;font-size:12px;color:#e2e8f0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.rp-note{font-size:10px;color:#64748b;margin:4px 0 0}.ap-chip-link em{font-style:normal;color:#94a3b8;margin-left:4px}.rp-detail .ap-stats{grid-template-columns:repeat(3,1fr)}.flow-run{display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.flow-run .scene-label{font-size:11px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.flow-steps{display:flex;gap:3px;font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.06em}.flow-steps span{padding:2px 5px;border-radius:999px;color:#64748b;background:#03050b8c;border:1px solid rgba(100,116,139,.35)}.flow-steps span[data-s=running]{color:#03050b;background:var(--c);border-color:var(--c);box-shadow:0 0 12px var(--c)}.flow-steps span[data-s=done]{color:var(--c);border-color:color-mix(in srgb,var(--c) 60%,transparent)}.flow-steps span[data-s=failed]{color:#fecaca;background:#7f1d1d}.flow-step{font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--c) 70%,white);text-shadow:0 0 8px var(--c);opacity:.55;pointer-events:none;white-space:nowrap;transition:opacity .3s}.flow-step[data-s=running]{opacity:1}.flow-hint{font-size:10px;padding:1px 7px;opacity:.9}.flow-label-core{font-size:11px;letter-spacing:.04em}
|
|
1
|
+
.scene-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#03050b;color:#e8edf5;font-family:Public Sans,system-ui,sans-serif;overflow:hidden}.scene-root canvas{display:block}.hud{position:absolute;z-index:10;background:#0a0e1a8c;border:1px solid rgba(148,163,255,.16);border-radius:14px;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 8px 32px #00000059,inset 0 1px #ffffff0a}.hud-topwrap{position:absolute;z-index:10;top:12px;left:12px;max-width:calc(100% - var(--hud-side, 320px) - 36px);display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;pointer-events:none}.hud-topwrap.is-rail{--hud-side: 40px}.hud-topwrap>*{pointer-events:auto}.hud-top{position:relative;padding:6px 8px 6px 12px;min-width:0}.hud-bar{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap}.hud-bar .hud-run{margin-top:0}.hud-info{all:unset;cursor:pointer;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font:italic 600 11px/1 Georgia,serif;color:#94a3b8;border:1px solid rgba(148,163,184,.35)}.hud-info:hover,.hud-info.on{color:#e2e8f0;border-color:#818cf8}.hud-clear{all:unset;cursor:pointer;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:999px;color:#94a3b8;border:1px solid rgba(148,163,184,.35)}.hud-clear:hover,.hud-clear:focus-visible{color:#e2e8f0;border-color:#818cf8}.hud-cleared{background:#818cf833;color:#c7d2fe}.hud-theme{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#03050b8c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%2394a3b8'/%3E%3C/svg%3E") no-repeat right 9px center;color:#cbd5e1;border:1px solid rgba(148,163,255,.22);border-radius:999px;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:4px 24px 4px 10px;cursor:pointer;outline:none}.hud-theme:hover{border-color:#818cf8}.hud-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap}.hud-sub{margin:6px 0 2px;max-width:460px;font-size:12px;line-height:1.45;color:#94a3b8}.hud-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;animation:hud-ping 1.6s ease-out infinite}@keyframes hud-ping{0%{box-shadow:0 0 #22c55eb3}to{box-shadow:0 0 0 10px #22c55e00}}.hud-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 7px;border-radius:999px;background:#94a3b829;color:#cbd5e1}.hud-stats{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.hud-stat{font-size:11px;color:#94a3b8;padding:2px 8px;border-radius:999px;background:#03050b66;white-space:nowrap}.hud-stat b{color:#f1f5f9;font-weight:700;font-variant-numeric:tabular-nums}.hud-dec{--dc: 94, 234, 212;animation:hud-dec-pulse .7s ease-out}.hud-dec.is-deny{--dc: 251, 59, 92}@keyframes hud-dec-pulse{0%{background:rgba(var(--dc),.5);box-shadow:0 0 rgba(var(--dc),.7);color:#fff}35%{background:rgba(var(--dc),.28);box-shadow:0 0 0 5px rgba(var(--dc),0)}to{background:#03050b66;box-shadow:0 0 rgba(var(--dc),0)}}@media(prefers-reduced-motion:reduce){.hud-dec{animation:none}}.hud-dec-hv{display:inline-flex;align-items:center;gap:4px;color:#a7f3d0;background:#5eead41a}.hud-dec-hv.is-deny{color:#fecdd3;background:#fb3b5c24}.hud-spark{color:#5eead4;margin-left:2px}.hud-dec-hv.is-deny .hud-spark{color:#fb7185}.hud-halt{color:#fecdd3;background:#fb3b5c38;box-shadow:inset 0 0 0 1px #fb3b5c8c;animation:hud-halt 1.6s ease-in-out infinite}.hud-halt b{color:#fb3b5c;letter-spacing:.04em}@keyframes hud-halt{50%{background:#fb3b5c57}}@media(prefers-reduced-motion:reduce){.hud-halt{animation:none}}.scene-root :focus-visible{outline:2px solid #818cf8;outline-offset:2px}.hud-side{top:12px;right:12px;bottom:12px;width:320px;display:flex;flex-direction:column;padding:8px 10px 10px;font-size:13px;box-sizing:border-box;animation:hs-in .18s ease-out}.hud-side.is-rail{width:40px;padding:6px 0;align-items:center}@keyframes hs-in{0%{opacity:.4}}.hs-head{display:flex;align-items:center;gap:2px;padding-bottom:8px;margin:0 -2px 2px;border-bottom:1px solid rgba(148,163,255,.12)}.hs-head button{all:unset;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:5px 9px;border-radius:999px}.hs-head button:hover{color:#e2e8f0}.hs-head button.on{color:#f1f5f9;background:#818cf838}.hs-head em,.hs-icon em{font-style:normal;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;color:#c7d2fe;letter-spacing:0}.hs-head .hs-collapse{margin-left:auto;font-size:14px;padding:2px 8px;letter-spacing:0}.hs-rail{display:flex;flex-direction:column;align-items:center;gap:6px}.hs-rail button{all:unset;cursor:pointer;position:relative;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#94a3b8}.hs-rail button:hover{color:#e2e8f0;background:#94a3ff1a}.hs-rail .hs-collapse{font-size:14px;margin-bottom:4px}.hs-icon em{position:absolute;top:-3px;right:-5px;min-width:14px;height:14px;padding:0 3px;box-sizing:border-box;border-radius:999px;display:grid;place-items:center;font-size:9px;background:#4f46e5;color:#eef2ff}.hs-icon em:empty{min-width:8px;width:8px;height:8px;padding:0;top:1px;right:1px;background:#22d3ee;box-shadow:0 0 8px #22d3ee}.hs-body{flex:1;min-height:0;display:flex;flex-direction:column}.hs-body[hidden]{display:none}.hs-empty{margin:14px 4px;font-size:12px;line-height:1.5;color:#64748b}.hs-events{list-style:none;margin:6px -4px 0;padding:0;overflow-y:auto;min-height:0;flex:1;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hs-events li>*{all:unset;box-sizing:border-box;width:100%;display:flex;gap:8px;align-items:baseline;padding:4px 6px;border-radius:7px;color:#cbd5e1;line-height:1.4}.hs-events li>button{cursor:pointer}.hs-events li>button:hover{background:#94a3ff1a;color:#f1f5f9}.hs-events i{flex:0 0 7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);transform:translateY(-1px)}.hs-events span{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.ap-head{display:flex;align-items:center;gap:8px;margin-top:6px}.ap-count{flex:none;color:#64748b;font-size:11px;font-variant-numeric:tabular-nums}.ap-link{all:unset;cursor:pointer;font-size:12px;color:#93c5fd}.ap-link:hover{color:#bfdbfe}.ap-searchrow{display:flex;align-items:center;gap:8px;margin-top:8px}.ap-search{flex:1;min-width:0;width:100%;box-sizing:border-box;background:#03050b99;border:1px solid rgba(148,163,255,.2);border-radius:8px;color:inherit;font:inherit;font-size:12px;padding:6px 9px;outline:none}.ap-search:focus{border-color:#818cf8}.ap-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.ap-chips button{all:unset;cursor:pointer;display:flex;align-items:center;gap:5px;font-size:11px;padding:3px 7px;border-radius:999px;border:1px solid rgba(148,163,255,.15);color:#cbd5e1}.ap-chips button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);color:#f8fafc}.ap-chips i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.ap-chips em{font-style:normal;color:var(--c);font-weight:700;font-variant-numeric:tabular-nums}.ap-row-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.ap-seg{display:flex;border:1px solid rgba(148,163,255,.15);border-radius:8px;overflow:hidden}.ap-seg{flex:none}.ap-seg button{all:unset;cursor:pointer;font-size:11px;padding:3px 6px;color:#94a3b8;text-transform:capitalize}.ap-seg button.on{background:#818cf840;color:#f1f5f9}.ap-row-filters select{flex:1;min-width:64px;background:#03050b99;color:#cbd5e1;border:1px solid rgba(148,163,255,.15);border-radius:8px;font:inherit;font-size:11px;padding:3px 6px}.ap-list{list-style:none;margin:8px -4px 0;padding:0;overflow-y:auto;min-height:0;flex:1}.ap-list li button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px;border-radius:8px}.ap-list li button:hover{background:#94a3ff1a}.ap-list li button.is-done{opacity:.55}.ap-list i{flex:0 0 9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}.ap-list i[data-status=thinking]{animation:ap-pulse .9s ease-in-out infinite}.ap-list i[data-status=waiting]{opacity:.5}.ap-list i[data-status=done]{background:transparent;border:1.5px solid var(--c);box-shadow:none}@keyframes ap-pulse{50%{transform:scale(1.5)}}.ap-name{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px;color:#e2e8f0}.ap-name small{color:#64748b;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-meta{text-align:right;font-size:11px;color:#94a3b8;font-variant-numeric:tabular-nums;display:flex;flex-direction:column}.ap-meta b{color:var(--c);font-weight:600;text-transform:lowercase}.hs-events li.is-skill>*{background:#f5b83d12}.hs-skill{flex:0 0 auto;font-size:9.5px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.06em;color:#fcd581;padding:0 6px;border-radius:999px;border:1px solid rgba(245,184,61,.55);background:#f5b83d1f}.ap-title{display:flex;align-items:center;gap:6px;min-width:0}.ap-skill{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:9.5px;font-weight:600;color:#fcd581;padding:0 6px;border-radius:999px;border:1px solid rgba(245,184,61,.55);background:#f5b83d1f}.ap-skill:before{content:"skill:";color:#b8893a;font-weight:500}.hs-skill:before{content:"";display:inline-block;width:6px;height:6px;margin:0 4px 0 -1px;border:1px solid currentColor;border-radius:50%;vertical-align:0;box-shadow:0 0 4px #f5b83d99}.hs-events li.is-dec>*{background:#5eead40d}.hs-events li.is-deny>*{background:#fb3b5c1f}.hs-dec{flex:0 0 auto;font-size:9.5px;font-weight:600;line-height:1.5;text-transform:uppercase;letter-spacing:.06em;color:var(--c);padding:0 6px;border-radius:3px;border:1px solid var(--c);background:#ffffff0a}.ap-decisions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.ap-decisions li{display:flex;gap:6px;align-items:baseline;font-size:11px;color:#e2e8f0;padding:2px 6px;border-left:2px solid var(--c);background:#ffffff08}.ap-decisions li.is-deny{background:#fb3b5c1f}.ap-decisions li.is-strike span{text-decoration:line-through;color:#94a3b8}.ap-hv{font-size:11.5px;color:#e2e8f0;margin:0 0 4px;font-variant-numeric:tabular-nums}.ap-hv-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;gap:1px;background:#ffffff0d}.ap-hv-bar span{flex-basis:0;min-width:2px}.ap-decisions b{flex:0 0 auto;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--c)}.ap-decisions span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-decisions em{flex:0 0 auto;font-style:normal;font-size:10px;color:#94a3b8;font-variant-numeric:tabular-nums}.ap-skills{display:flex;flex-wrap:wrap;gap:4px}.ap-skills span{font-size:11px;color:#e2e8f0;padding:2px 8px;border-radius:999px;border:1px solid rgba(245,184,61,.35);background:#f5b83d0f;display:inline-flex;gap:5px;align-items:baseline}.ap-skills span.on{border-color:#f5b83d;background:#f5b83d2e;color:#fde7b0;box-shadow:0 0 10px #f5b83d40}.ap-skills em{font-style:normal;font-size:10px;color:#b8893a;font-variant-numeric:tabular-nums}.ap-more{padding:6px;color:#64748b;font-size:11px}.ap-detail{overflow-y:auto;min-height:0;margin-top:8px;flex:1}.ap-detail h3{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;color:var(--c)}.ap-detail h3 i{width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}.ap-detail h3 small{color:#64748b;font-size:11px;font-weight:500}.ap-status{margin-top:3px;font-size:12px;color:#cbd5e1}.ap-status[data-status=thinking]{color:#fde68a}.ap-status[data-status=waiting]{color:#fcd34d}.ap-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:4px;margin:10px 0 4px}.ap-stats div{background:#03050b73;border-radius:8px;padding:6px;text-align:center}.ap-stats dt{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.ap-stats dd{margin:2px 0 0;font-size:15px;font-weight:700;color:#f1f5f9;font-variant-numeric:tabular-nums}.ap-detail section{margin-top:10px}.ap-detail h4{margin:0 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.ap-detail p{margin:0;font-size:12px;color:#cbd5e1}.ap-steps{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ap-steps span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;border:1px solid #334155;color:#64748b}.ap-steps span[data-status=running]{border-color:#fbbf24;color:#fde68a}.ap-steps span[data-status=waiting]{border-color:#f59e0b;color:#fcd34d;background:#f59e0b24;animation:ap-wait-pulse 1.8s ease-in-out infinite}.ap-steps span[data-status=done]{border-color:#22c55e;color:#86efac}.ap-steps span[data-status=failed]{border-color:#ef4444;color:#fca5a5}.ap-chip-link{all:unset;cursor:pointer;display:block;font-size:12px;color:#e2e8f0;padding:3px 6px;border-left:2px solid var(--c);margin:2px 0;border-radius:0 6px 6px 0}.ap-chip-link:hover{background:#94a3ff1a}.ap-wait{color:#fbbf24!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap-idle{color:#94a3b8!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ap-runhead{display:flex;align-items:center;justify-content:space-between}.ap-dismiss{border:0;background:transparent;color:#94a3b8;font-size:15px;line-height:1;padding:0 4px;cursor:pointer;border-radius:4px}.ap-dismiss:hover,.ap-dismiss:focus-visible{color:#f1f5f9;background:#94a3b82e}.hud-hidden{border:0;cursor:pointer}.hud-hidden:hover{color:#f1f5f9}.ap-nodes{line-height:1.5}.ap-chat{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:12px;color:#e2e8f0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-y:auto}.ap-chat li[data-role=user]{color:#c7d2fe}.ap-chat li[data-role=agent]{padding-bottom:6px;border-bottom:1px solid rgba(148,163,255,.12)}.ap-chat b{font-weight:650}.ap-events{margin:0;padding-left:14px;display:grid;gap:3px;font-size:11px;color:#cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hud-badge--live{background:#22c55e2e;color:#86efac}.hud-badge--denied{background:#f871712e;color:#fca5a5;text-transform:none;letter-spacing:.02em}.hud-chip{text-transform:none;letter-spacing:.02em;font-weight:500;background:#818cf829;color:#c7d2fe;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.hud-chip b{font-weight:650;color:#e0e7ff}.hud-run{display:flex;gap:6px;margin-top:8px;align-items:center;flex-wrap:wrap}.hud-run input{flex:1;min-width:160px;background:#03050b99;border:1px solid rgba(148,163,255,.2);border-radius:999px;color:inherit;font:inherit;font-size:12px;padding:6px 11px;outline:none}.hud-run button{border:0;border-radius:999px;padding:6px 13px;font:inherit;font-size:12px;font-weight:600;background:linear-gradient(135deg,#818cf8,#22d3ee);color:#03050b;cursor:pointer}.hud-run button:disabled{opacity:.5}.hud-run select{max-width:160px;min-width:0;background:#03050b99;color:#cbd5e1;border:1px solid rgba(148,163,255,.2);border-radius:999px;font:inherit;font-size:12px;padding:5px 9px;cursor:pointer}.hud-run span{font-size:11px;color:#86efac}.agentglow-embed{position:relative;overflow:hidden;width:100%;height:100%;min-height:320px;isolation:isolate}.agentglow-embed .scene-root{position:absolute;top:0;right:0;bottom:0;left:0}.lod-cluster-label{all:unset;box-sizing:border-box;display:grid;gap:1px;text-align:center;cursor:pointer;pointer-events:auto;font-size:12px;font-weight:600;color:#f8fafc;padding:4px 11px 5px;border-radius:12px;white-space:nowrap;background:#03050b9e;border:1px solid color-mix(in srgb,var(--c, #818cf8) 60%,transparent);text-shadow:0 0 10px var(--c, #818cf8);box-shadow:0 0 18px color-mix(in srgb,var(--c, #818cf8) 22%,transparent);transition:border-color .2s,background .2s}.lod-cluster-label:hover{background:color-mix(in srgb,var(--c, #818cf8) 22%,rgba(3,5,11,.7));border-color:var(--c, #818cf8)}.lod-cluster-label b{font-weight:700;letter-spacing:-.01em}.lod-cluster-label small{font-size:10px;font-weight:500;color:#94a3b8;text-shadow:none;font-variant-numeric:tabular-nums}.hud-dock{display:flex;align-items:center;gap:8px}.hud-dock:empty{display:none}.hud-dock>.hud{position:static}.hud-lod{padding:6px 8px 6px 12px;display:flex;align-items:center;gap:8px;font-size:12px;color:#cbd5e1;white-space:nowrap}.hud-lod span b{margin:0 1px}.hud-lod b{color:#f1f5f9;font-variant-numeric:tabular-nums}.hud-lod i{width:7px;height:7px;border-radius:50%;background:#a5b4fc;box-shadow:0 0 8px #a5b4fc}.hud-lod button{all:unset;cursor:pointer;font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid rgba(148,163,255,.25);color:#c7d2fe}.hud-lod button:hover{background:#818cf833;color:#f8fafc}.scene-root{container:agscene / size}@container agscene (max-width: 719px){.scene-root .hud-top{padding:5px 7px 5px 10px}.scene-root .hud-title{font-size:13px}.scene-root .hud-theme{padding:3px 20px 3px 8px;font-size:10px;background-position:right 7px center}.scene-root .hud-stat:nth-child(n+3){display:none}.scene-root .hud-side:not(.is-rail){width:min(290px,calc(100% - 64px));padding:6px 8px 8px}.scene-root .hs-head button{padding:4px 6px;letter-spacing:.04em;font-size:10.5px}.scene-root .hs-head .hs-collapse{padding:2px 4px}.scene-root .ap-list li button{padding:4px 6px}.scene-root .hud-topwrap:not(.is-rail){--hud-side: min(290px, calc(100% - 64px) )}}@container agscene (max-height: 520px){.scene-root .hud-sub{max-height:4.5em;overflow:auto}}@keyframes ap-wait-pulse{50%{box-shadow:0 0 10px #f59e0b8c;border-color:#fbbf24}}@media(prefers-reduced-motion:reduce){.ap-steps span[data-status=waiting]{animation:none}}.hud-approve{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.hud-approve button{border:1px solid transparent;border-radius:999px;padding:5px 13px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.hud-approve .ha-yes{background:linear-gradient(135deg,#34d399,#22d3ee);color:#03050b}.hud-approve .ha-no{background:#fb3b5c24;border-color:#fb718599;color:#fecdd3}.hud-approve .ha-yes:hover{filter:brightness(1.1)}.hud-approve .ha-no:hover{background:#fb3b5c47}.hud-approve span{font-size:11px;color:#94a3b8}.hud-approve[data-verdict=approved] span,.hud-approve[data-verdict=approving] span{color:#86efac}.hud-approve[data-verdict=rejected] span,.hud-approve[data-verdict=rejecting] span,.hud-approve[data-verdict=error] span{color:#fda4af}.hud-approve.is-compact{margin-top:0;flex:none;gap:4px}.hud-approve.is-compact button{padding:3px 9px;font-size:11px}.hud-approvals{left:12px;bottom:12px;z-index:9;width:max-content;max-width:min(460px,calc(100% - 356px));padding:8px 10px;font-size:12px;box-sizing:border-box;border-color:#f59e0b73;box-shadow:0 8px 32px #00000059,0 0 18px #f59e0b1f}.hud-approvals.is-rail{max-width:min(460px,calc(100% - 76px))}.hud-approvals h4{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#fcd34d;display:flex;gap:6px;align-items:baseline}.hud-approvals h4 em{font-style:normal;font-variant-numeric:tabular-nums;color:#fde68a}.hud-approvals ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.hud-approvals .ha-late{font-style:normal}.hud-approvals .ha-late.is-due{color:#86efac}.hud-approvals .ha-late.is-overdue{color:#f59e0b;font-weight:600}.hud-approvals li{display:flex;align-items:center;gap:8px;min-width:0}.hud-approvals .ha-who{all:unset;cursor:pointer;flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;padding:2px 4px;border-radius:6px}.hud-approvals .ha-who:hover{background:#94a3ff1a}.hud-approvals .ha-who i{flex:0 0 8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);align-self:center}.hud-approvals .ha-who b{color:#e2e8f0;font-weight:650;white-space:nowrap}.hud-approvals .ha-who span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fbbf24;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.hud-approvals p{margin:6px 0 0;font-size:11px;color:#64748b}.hud-approvals .ha-details,.ap-approve-row .ha-details{all:unset;cursor:pointer;flex:none;font-size:11px;color:#cbd5e1;padding:3px 8px;border-radius:999px;border:1px solid rgba(148,163,255,.28)}.hud-approvals .ha-details:hover,.ap-approve-row .ha-details:hover,.hud-approvals .ha-details:focus-visible{border-color:#818cf8;color:#f1f5f9}.ap-approve-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ap-approve-row .ha-details{margin-top:8px}.hud-drawer{top:64px;max-height:calc(100% - 76px);right:calc(var(--hud-side, 320px) + 24px);width:360px;max-width:calc(100% - var(--hud-side, 320px) - 48px);z-index:11;display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;box-sizing:border-box;overflow-y:auto;font-size:12px;outline:none;background:#0a0e1ac7;border-color:#f59e0b73;box-shadow:0 12px 40px #00000073,0 0 22px #f59e0b1a;animation:hd-in .18s ease-out}.hud-drawer.is-rail{--hud-side: 40px}@keyframes hd-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hud-drawer{animation:none}}.hud-drawer .hd-head{display:flex;align-items:flex-start;gap:8px}.hud-drawer .hd-head>div{flex:1;min-width:0}.hud-drawer .hd-kicker{margin:0 0 2px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#fcd34d}.hud-drawer h3{margin:0;font-size:15px;font-weight:700;line-height:1.3;color:#f1f5f9;overflow-wrap:anywhere}.hud-drawer .hd-close{all:unset;cursor:pointer;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:17px;color:#94a3b8}.hud-drawer .hd-close:hover,.hud-drawer .hd-close:focus-visible{color:#f1f5f9;background:#94a3ff24}.hud-drawer .hd-who{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:6px;min-width:0;padding:2px 4px;margin:-2px -4px;border-radius:6px}.hud-drawer .hd-who:hover{background:#94a3ff1a}.hud-drawer .hd-who i{flex:0 0 8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);align-self:center}.hud-drawer .hd-who b{color:#e2e8f0;white-space:nowrap}.hud-drawer .hd-who span{color:#94a3b8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-drawer .hd-deadline{align-self:flex-start;font-size:11px;font-variant-numeric:tabular-nums;color:#fde68a;padding:2px 9px;border-radius:999px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3)}.hud-drawer .hd-deadline.is-due{color:#86efac;background:#22c55e1f;border-color:#22c55e59}.hud-drawer .hd-deadline.is-overdue{color:#fbbf24;font-weight:650}.hud-drawer section h4{margin:0 0 5px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.hud-drawer .hd-why{border-left:2px solid #5eead4;padding:2px 0 2px 8px}.hud-drawer .hd-why.is-deny{border-left-color:#fb7185}.hud-drawer .hd-why p{margin:0 0 4px;color:#e2e8f0;line-height:1.4}.hud-drawer .hd-why p b{font-size:9px;letter-spacing:.06em;color:#94a3b8;margin-right:2px}.hud-drawer .hd-why p em{font-style:normal;font-weight:700;color:#5eead4}.hud-drawer .hd-why.is-deny p em{color:#fda4af}.hud-drawer .hd-reason{margin:0;color:#fbbf24;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.hud-drawer .hd-dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:11px}.hud-drawer .hd-dl div{display:contents}.hud-drawer .hd-dl dt{color:#64748b}.hud-drawer .hd-dl dd{margin:0;color:#e2e8f0;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-drawer .hd-details dd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hud-drawer .ap-decisions{margin:0}.hud-drawer .hd-foot{display:grid;gap:8px;padding-top:4px;border-top:1px solid rgba(148,163,255,.12)}.hud-drawer .hd-note{width:100%;box-sizing:border-box;resize:vertical;min-height:38px;margin-top:8px;padding:6px 8px;font:inherit;font-size:12px;color:#e2e8f0;background:#03050b8c;border:1px solid rgba(148,163,255,.22);border-radius:8px;outline:none}.hud-drawer .hd-note:focus{border-color:#818cf8}.hud-drawer .hud-approve{margin-top:0}.hud-drawer .hd-keys{margin:0;font-size:10px;color:#64748b}.hud-drawer .hd-links{display:flex;flex-wrap:wrap;gap:6px}.hud-drawer .hd-links a,.hud-drawer .hd-links button{all:unset;cursor:pointer;font-size:11px;color:#c7d2fe;padding:3px 9px;border-radius:999px;border:1px solid rgba(148,163,255,.28)}.hud-drawer .hd-links a:hover,.hud-drawer .hd-links button:hover,.hud-drawer .hd-links a:focus-visible,.hud-drawer .hd-links button:focus-visible{border-color:#818cf8;color:#f1f5f9}.hud-halotip{position:fixed;z-index:30;pointer-events:none;padding:5px 8px;border-radius:8px;font-size:11px;line-height:1.45;color:#cbd5e1;background:#0a0e1ae0;border:1px solid rgba(148,163,255,.22);font-variant-numeric:tabular-nums;white-space:nowrap}.hud-halotip b{color:#f1f5f9}@container agscene (max-width: 719px){.scene-root .hud-approvals{max-width:calc(100% - 76px);padding:6px 8px}.scene-root .hud-approvals .ha-who span{display:none}.scene-root .hud-drawer{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-width:none;max-height:72%}}.hud-rejected{color:#fde68a}.hud-rejected b{color:#fbbf24}.ap-prim-dim{font-size:11px;color:#94a3b8;margin:3px 0 0;font-variant-numeric:tabular-nums}.ap-prim-bar{height:6px;border-radius:3px;overflow:hidden;background:#ffffff0f;margin-top:6px}.ap-prim-bar span{display:block;height:100%;background:#5eead4;box-shadow:0 0 8px #5eead480}.ap-skills span.ap-prim-stage{border-color:color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent)}.ap-skills span.ap-prim-stage.on{border-color:var(--c);color:#e6fffb;box-shadow:0 0 10px color-mix(in srgb,var(--c) 30%,transparent)}.ap-skills span.ap-prim-stage em{color:#94a3b8}.ap-prim-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:11px}.ap-prim-dl div{display:contents}.ap-prim-dl dt{color:#64748b}.ap-prim-dl dd{margin:0;color:#e2e8f0;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-detail h3 .rp-icon{color:var(--c);font-style:normal;margin-right:2px}.rp-spark{display:block;width:100%;height:34px;background:#ffffff08;border-radius:4px}.rp-table{width:100%;border-collapse:collapse;font-size:11px;color:#e2e8f0;font-variant-numeric:tabular-nums;margin:4px 0;table-layout:fixed}.rp-table th{text-align:right;font-weight:600;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:2px 4px}.rp-table td{text-align:right;padding:2px 4px;border-top:1px solid rgba(255,255,255,.05)}.rp-table th:first-child,.rp-table td:first-child{text-align:left;width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 0;font-size:10.5px;color:#cbd5e1}.rp-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--c);margin-right:4px}.rp-legend em{font-style:normal;color:#94a3b8}.rp-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:4px 10px;margin:4px 0}.rp-kv dt{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.rp-kv dd{margin:0;font-size:12px;color:#e2e8f0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.rp-note{font-size:10px;color:#64748b;margin:4px 0 0}.ap-chip-link em{font-style:normal;color:#94a3b8;margin-left:4px}.rp-detail .ap-stats{grid-template-columns:repeat(3,1fr)}.flow-run{display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.flow-run .scene-label{font-size:11px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.flow-steps{display:flex;gap:3px;font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.06em}.flow-steps span{padding:2px 5px;border-radius:999px;color:#64748b;background:#03050b8c;border:1px solid rgba(100,116,139,.35)}.flow-steps span[data-s=running]{color:#03050b;background:var(--c);border-color:var(--c);box-shadow:0 0 12px var(--c)}.flow-steps span[data-s=done]{color:var(--c);border-color:color-mix(in srgb,var(--c) 60%,transparent)}.flow-steps span[data-s=failed]{color:#fecaca;background:#7f1d1d}.flow-step{font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--c) 70%,white);text-shadow:0 0 8px var(--c);opacity:.55;pointer-events:none;white-space:nowrap;transition:opacity .3s}.flow-step[data-s=running]{opacity:1}.flow-hint{font-size:10px;padding:1px 7px;opacity:.9}.flow-label-core{font-size:11px;letter-spacing:.04em}
|
|
@@ -23,8 +23,15 @@ export type AgentSceneProps = {
|
|
|
23
23
|
* "not authorized" in the HUD instead of falling back to the simulator.
|
|
24
24
|
*/
|
|
25
25
|
token?: string;
|
|
26
|
+
/** Show the per-viewer "Clear view" HUD button (and Shift+C). Default true. The server is never touched. */
|
|
27
|
+
clearable?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Controlled clear: an epoch-ms timestamp hides everything older for this viewer (as the HUD button does),
|
|
30
|
+
* `null` shows everything again, `undefined` (default) leaves it to the viewer. See also clearView() / showAllView().
|
|
31
|
+
*/
|
|
32
|
+
clearedAt?: number | null;
|
|
26
33
|
style?: CSSProperties;
|
|
27
34
|
className?: string;
|
|
28
35
|
};
|
|
29
|
-
export declare function AgentScene({ theme, source, hud, sim, scope, run, token, style, className }: AgentSceneProps): import("react").JSX.Element;
|
|
36
|
+
export declare function AgentScene({ theme, source, hud, sim, scope, run, token, clearable, clearedAt, style, className }: AgentSceneProps): import("react").JSX.Element;
|
|
30
37
|
export default AgentScene;
|
package/dist/types/world.d.ts
CHANGED
|
@@ -914,7 +914,27 @@ export declare function useWorld(): {
|
|
|
914
914
|
export declare const hash01: (id: string, salt?: number) => number;
|
|
915
915
|
/** high volume: most individual decision glyphs on screen at once (all agents) */
|
|
916
916
|
export declare const HV_GLYPHS_MAX = 3;
|
|
917
|
+
/** epoch ms of this viewer's clear (0 = not cleared) */
|
|
918
|
+
export declare const viewClearedAt: () => number;
|
|
919
|
+
/** React hook: the clear timestamp (0 = showing everything) */
|
|
920
|
+
export declare function useClearedAt(): number;
|
|
921
|
+
/** Apply one world event (stream, replay or simulator). Honours this viewer's clear (see clearView). */
|
|
917
922
|
export declare function apply(ev: WorldEvent): void;
|
|
923
|
+
/**
|
|
924
|
+
* Clear this viewer's view at `at` (epoch ms, default now): everything drawn so far is hidden (runs, agents,
|
|
925
|
+
* services, MCP servers, graph glow, events, counters) and only events with `ts >= at` draw from then on. Runs and
|
|
926
|
+
* agents still open at the clear re-appear on their next event. Connection-level code persists the timestamp.
|
|
927
|
+
*/
|
|
928
|
+
export declare function clearWorldAt(at?: number): void;
|
|
929
|
+
/**
|
|
930
|
+
* Set the clear timestamp without touching what is drawn: for a world that is about to be (re)filled from a replay
|
|
931
|
+
* (page load with a persisted clear). 0 = no clear.
|
|
932
|
+
*/
|
|
933
|
+
export declare function setViewClearedAt(at: number): void;
|
|
934
|
+
/** Undo the clear: empty the world and, in sim mode, replay this session's events (live mode re-reads the server). */
|
|
935
|
+
export declare function unclearWorld(replaySim: boolean): void;
|
|
936
|
+
/** forget the sim log (a fresh connection) */
|
|
937
|
+
export declare function resetSimLog(): void;
|
|
918
938
|
export declare function tick(now?: number): void;
|
|
919
939
|
/** 0..1 visibility for an instance: grows in on spawn, fades out after exit. */
|
|
920
940
|
export declare function presence(i: Instance, now?: number): number;
|
package/package.json
CHANGED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { createContext as p, useContext as w, useMemo as v, Suspense as A, lazy as L } from "react";
|
|
3
|
-
const g = (e) => (e ?? "").trim().replace(/\/+$/, "");
|
|
4
|
-
function S() {
|
|
5
|
-
var t, a;
|
|
6
|
-
const e = typeof location > "u" ? new URLSearchParams() : new URLSearchParams(location.search), n = (s) => e.has(s) && !["0", "false", "no"].includes(e.get(s).toLowerCase());
|
|
7
|
-
return {
|
|
8
|
-
source: g(e.get("source")),
|
|
9
|
-
sim: ((t = e.get("sim")) == null ? void 0 : t.toLowerCase()) === "hf" ? "hf" : n("sim"),
|
|
10
|
-
hud: e.get("hud") === null ? !0 : n("hud"),
|
|
11
|
-
embedded: !1,
|
|
12
|
-
run: ((a = e.get("run")) == null ? void 0 : a.trim()) || void 0
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
const b = p(null), C = b.Provider;
|
|
16
|
-
function F() {
|
|
17
|
-
return w(b) ?? S();
|
|
18
|
-
}
|
|
19
|
-
const M = ["neural", "constellation", "orbit", "atom", "flow", "bubblechamber", "fireworks"], P = {
|
|
20
|
-
orbit: { name: "Orbit", tagline: "Agents orbit a graph galaxy; runs are rings, MCP servers are satellites." },
|
|
21
|
-
neural: { name: "Neural", tagline: "A living brain: agents fire as neurons, messages pulse along synapses." },
|
|
22
|
-
flow: { name: "Flow", tagline: "A murmuration: agents condense as eddies out of the current." },
|
|
23
|
-
constellation: { name: "Constellation", tagline: "A night sky: agents are stars linked into constellations as they delegate." },
|
|
24
|
-
atom: { name: "Atom", tagline: "An atom: agents are electrons in shells, subagents jump orbits, LLM calls flash photons." },
|
|
25
|
-
bubblechamber: { name: "Bubble chamber", tagline: "A bubble chamber: agents curl as particle tracks, spawns decay into a V, LLM calls burst bubbles." },
|
|
26
|
-
fireworks: { name: "Fireworks", tagline: "A night show over the water: agents burst as star shells, subagents as secondary bursts, LLM calls crackle." }
|
|
27
|
-
}, k = {
|
|
28
|
-
orbit: () => import("./index-B8E_UpEh.js"),
|
|
29
|
-
neural: () => import("./index-BxZgELLY.js"),
|
|
30
|
-
flow: () => import("./index-BGWvBQoI.js"),
|
|
31
|
-
constellation: () => import("./index-CAK2lh3j.js"),
|
|
32
|
-
atom: () => import("./index-B-GgW6Df.js"),
|
|
33
|
-
bubblechamber: () => import("./index-DGp3aLoB.js"),
|
|
34
|
-
fireworks: () => import("./index-CEd8CHA3.js")
|
|
35
|
-
}, m = /* @__PURE__ */ new Map();
|
|
36
|
-
function y(e) {
|
|
37
|
-
let n = m.get(e);
|
|
38
|
-
return n || m.set(e, n = L(k[e])), n;
|
|
39
|
-
}
|
|
40
|
-
function T({ theme: e = "neural", source: n = "", hud: t = !0, sim: a = !1, scope: s, run: o, token: l, style: d, className: i }) {
|
|
41
|
-
const c = M.includes(e) ? e : "neural", f = y(c), u = g(n), h = v(
|
|
42
|
-
() => ({ source: u, sim: a, hud: t, embedded: !0, scope: s || void 0, run: o || void 0, token: l || void 0 }),
|
|
43
|
-
[u, a, t, s, o, l]
|
|
44
|
-
);
|
|
45
|
-
return /* @__PURE__ */ r("div", { className: `agentglow-embed${i ? ` ${i}` : ""}`, style: d, "data-theme": c, children: /* @__PURE__ */ r(C, { value: h, children: /* @__PURE__ */ r(A, { fallback: null, children: /* @__PURE__ */ r(f, {}) }) }) });
|
|
46
|
-
}
|
|
47
|
-
export {
|
|
48
|
-
T as A,
|
|
49
|
-
M as T,
|
|
50
|
-
P as a,
|
|
51
|
-
F as u
|
|
52
|
-
};
|