@adonis-agora/agent-dashboard 0.7.1 → 0.7.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.
@@ -0,0 +1 @@
1
+ :root{--bg:#09090b;--panel:#0c0c0f;--panel-2:#101017;--line:#1c1c22;--line-soft:#16161a;--text:#e7e7ea;--muted:#76767f;--agora-primary:#a78bfa;--agora-primary-soft:#a78bfa24;--agora-accent:#60a5fa;--primary:var(--agora-primary);--primary-fg:#09090b;--good:#34d399;--warn:#fbbf24;--bad:#f87171;--info:var(--agora-accent)}:root[data-theme=light],:root:not([data-theme=dark]),:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f6f2;--panel:#fbfaf8;--panel-2:#f5f3ef;--line:#2020271f;--line-soft:#2020270f;--text:#1a1a23;--muted:#656572;--primary-fg:#faf8f4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif}.mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.tnum{font-variant-numeric:tabular-nums}.app-bg{z-index:0;pointer-events:none;opacity:.9;background-image:radial-gradient(900px 420px at 82% -10%,#4426df1f,#0000 70%),radial-gradient(700px 360px at 8% -12%,#0dccf20f,#0000 70%);position:fixed;inset:0}.shell{z-index:1;max-width:1180px;margin:0 auto;padding:28px 24px 64px;position:relative}.masthead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:32px;height:32px;color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary) 40%, transparent);border-radius:8px;place-items:center;font-weight:700;display:grid}.brand h1{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.brand p{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:1px 0 0;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:10px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.tab{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);background:color-mix(in srgb, var(--primary) 10%, transparent);border-color:color-mix(in srgb, var(--primary) 50%, var(--line))}.controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.range-input{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 9px;font-family:inherit;font-size:12px}.price-input{min-width:225px}.icon-btn{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;width:34px;height:32px;display:grid}.icon-btn:hover{color:var(--text)}.panel{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line);border-radius:12px;padding:18px}.grid{gap:16px;display:grid}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.stat-4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.grid.cols-3,.grid.cols-2,.grid.stat-4{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.grid.cols-3,.grid.cols-2,.grid.stat-4{grid-template-columns:1fr}}.stat .label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px;font-size:11px}.stat .value{letter-spacing:-.02em;font-size:24px;font-weight:600}.stat .sub{color:var(--muted);margin-top:4px;font-size:12px}.section-title{justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.section-title h2{letter-spacing:.01em;margin:0;font-size:14px}.section-title .hint{color:var(--muted);font-size:12px}.table{border-collapse:collapse;width:100%;font-size:12px}.table tbody{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);padding:0 10px 10px;font-size:11px;font-weight:500}.table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:10px}.table tr:last-child td{border-bottom:none}.table .num{text-align:right}.table-wrap{overflow-x:auto}.bar{background:var(--line);border-radius:999px;min-width:60px;height:6px;overflow:hidden}.bar>span{background:var(--primary);border-radius:999px;height:100%;display:block}.legend{flex-direction:column;gap:8px;font-size:12px;display:flex}.legend .row{align-items:center;gap:8px;display:flex}.swatch{border-radius:3px;flex:none;width:10px;height:10px}.legend .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;display:inline-flex}.dot{background:currentColor;border-radius:999px;width:7px;height:7px;display:inline-block}.s-completed,.s-ok,.s-success,.s-approved{color:var(--good)}.s-running,.s-pending,.s-pending_approval,.s-awaiting_approval{color:var(--info)}.s-failed,.s-error,.s-rejected,.s-forbidden{color:var(--bad)}.s-cancelled,.s-canceled{color:var(--warn)}.btn{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px;transition:color .15s,border-color .15s,background .15s}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.approve{color:var(--good);background:color-mix(in srgb, var(--good) 10%, var(--panel));border-color:color-mix(in srgb, var(--good) 50%, var(--line))}.btn.reject{color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, var(--panel));border-color:color-mix(in srgb, var(--bad) 50%, var(--line))}.rowbtns{justify-content:flex-end;gap:6px;display:inline-flex}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--panel-2)}.th-sort{appearance:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0}.th-sort:hover{color:var(--text)}.warnnum{color:var(--warn)}.msg{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:10px 12px}.msg-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.msg-body{white-space:pre-wrap;word-break:break-word;font-size:13px}.empty{color:var(--muted);text-align:center;padding:26px 10px;font-size:13px}.err{color:var(--bad);text-align:center;padding:20px 10px;font-size:13px}.skeleton{background:linear-gradient(90deg, var(--line-soft), var(--line), var(--line-soft));background-size:200% 100%;border-radius:8px;height:14px;animation:1.3s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stack{flex-direction:column;gap:16px;display:flex}.muted{color:var(--muted)}.right{text-align:right}.chart-svg{width:100%;height:auto;display:block}.foot{color:var(--muted);text-align:center;margin-top:26px;font-size:11px}
@@ -10,8 +10,8 @@
10
10
  rel="stylesheet"
11
11
  />
12
12
  <title>agent · governance console</title>
13
- <script type="module" crossorigin src="./assets/index-HVy8whBx.js"></script>
14
- <link rel="stylesheet" crossorigin href="./assets/index-DshcMnMD.css">
13
+ <script type="module" crossorigin src="./assets/index-C1YrXiT7.js"></script>
14
+ <link rel="stylesheet" crossorigin href="./assets/index-DVnnBvfn.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../../../src/client/agent-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,iGAAiG;AACjG,qBAAa,aAAc,SAAQ,KAAK;IAGpC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM;CAK1B;AAED,KAAK,SAAS,GAAG,OAAO,KAAK,CAAC;AAE9B,MAAM,WAAW,kBAAkB;IACjC,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,OAAO,GAAE,kBAAuB;YAM9B,GAAG;YAcH,IAAI;IAalB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAO9D,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAO9D,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAO9D,eAAe,CAAC,KAAK,SAAa,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAMnE,aAAa,CAAC,KAAK,SAAa,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI/D,sGAAsG;IACtG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAMtE,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;IAMjC,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IAW9D,qFAAqF;IACrF,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAInD,yFAAyF;IACzF,gBAAgB,CAAC,MAAM,GAAE,sBAA2B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAMpF,4FAA4F;IAC5F,YAAY,CAAC,KAAK,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAOnE,kGAAkG;IAClG,cAAc,CAAC,KAAK,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC;IASnE,gFAAgF;IAChF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAI5E,qGAAqG;IACrG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAU5F,4EAA4E;IAC5E,OAAO,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIvC,qFAAqF;IACrF,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;CAG9D"}
1
+ {"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../../../src/client/agent-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,iGAAiG;AACjG,qBAAa,aAAc,SAAQ,KAAK;IAGpC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAFzB,YACE,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM,EAIxB;CACF;AAED,KAAK,SAAS,GAAG,OAAO,KAAK,CAAC;AAE9B,MAAM,WAAW,kBAAkB;IACjC,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,YAAY,OAAO,GAAE,kBAAuB,EAI3C;YAEa,GAAG;YAcH,IAAI;IAalB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAK7D;IAED,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAK7D;IAED,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAK7D;IAED,eAAe,CAAC,KAAK,SAAa,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAIlE;IAED,aAAa,CAAC,KAAK,SAAa,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAE9D;IAED,sGAAsG;IACtG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAIrE;IAED,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAEhC;IAID,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAS7D;IAED,qFAAqF;IACrF,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAElD;IAED,yFAAyF;IACzF,gBAAgB,CAAC,MAAM,GAAE,sBAA2B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAInF;IAED,4FAA4F;IAC5F,YAAY,CAAC,KAAK,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAKlE;IAED,kGAAkG;IAClG,cAAc,CAAC,KAAK,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAKlE;IAID,gFAAgF;IAChF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAE3E;IAED,qGAAqG;IACrG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAM3F;IAID,4EAA4E;IAC5E,OAAO,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAEtC;IAED,qFAAqF;IACrF,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAE5D;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../../../src/client/agent-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsB/C,iGAAiG;AACjG,MAAM,OAAO,aAAc,SAAQ,KAAK;IAG3B;IAFX,YACE,OAAe,EACN,MAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAQ;QAGvB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAaD;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACL,IAAI,CAAS;IACb,OAAO,CAAY;IACnB,KAAK,CAAS;IAE/B,YAAY,UAA8B,EAAE;QAC1C,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,QAAgC,EAAE;QACnE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACvC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,WAAW,EAAE,aAAa;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CAAC,OAAO,IAAI,YAAY,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,IAAa;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC3E,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CAAC,QAAQ,IAAI,YAAY,QAAQ,CAAC,MAAM,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,KAAsB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAkB,yBAAyB,EAAE;YAC1D,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,EAAE,EAAE,KAAK,CAAC,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAsB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAkB,yBAAyB,EAAE;YAC1D,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,EAAE,EAAE,KAAK,CAAC,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAsB;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAoB,yBAAyB,EAAE;YAC5D,IAAI,EAAE,KAAK,CAAC,OAAO;YACnB,EAAE,EAAE,KAAK,CAAC,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QAChC,OAAO,IAAI,CAAC,GAAG,CAAwB,+BAA+B,EAAE;YACtE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAsB,4BAA4B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,sGAAsG;IACtG,YAAY,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,GAAG,CACb,uBAAuB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,GAAG,CAAa,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,+EAA+E;IAE/E,0FAA0F;IAC1F,QAAQ,CAAC,SAAyB,EAAE;QAClC,MAAM,KAAK,GAA2B,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7C,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAChD,IAAI,MAAM,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1C,IAAI,MAAM,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAiB,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,qFAAqF;IACrF,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,GAAG,CAAmB,oBAAoB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,yFAAyF;IACzF,gBAAgB,CAAC,SAAiC,EAAE;QAClD,MAAM,KAAK,GAA2B,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAuB,+BAA+B,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,4FAA4F;IAC5F,YAAY,CAAC,QAAwB,EAAE;QACrC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,CAAmB,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,kGAAkG;IAClG,cAAc,CAAC,QAAwB,EAAE;QACvC,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,CAAiB,yBAAyB,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,oFAAoF;IAEpF,gFAAgF;IAChF,eAAe,CAAC,KAAa,EAAE,UAAkB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAkB,oBAAoB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,qGAAqG;IACrG,cAAc,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAe;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAkB,mBAAmB,EAAE;YACrD,KAAK;YACL,UAAU;YACV,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IAEjG,4EAA4E;IAC5E,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,CAAsB,qBAAqB,CAAC,CAAC;IAC9D,CAAC;IAED,qFAAqF;IACrF,WAAW,CAAC,KAAsB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAkB,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../../../src/client/agent-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-base.js","sourceRoot":"","sources":["../../../src/client/api-base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,kEAAkE;AAClE,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACpC,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAC5B,MAAwE,MAAM;IAE9E,MAAM,QAAQ,GAAG,GAAG,CAAC,wBAAwB,CAAC;IAC9C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzF,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"api-base.js","sourceRoot":"","sources":["../../../src/client/api-base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,kEAAkE;AAClE,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACpC,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAC5B,GAAG,GAAqE,MAAM;IAE9E,MAAM,QAAQ,GAAG,GAAG,CAAC,wBAAwB,CAAC;IAC9C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzF,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-range.js","sourceRoot":"","sources":["../../../src/client/default-range.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,UAAU,MAAM,CAAC,GAAS,EAAE,UAAU,GAAG,CAAC;IAC9C,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAC,MAAY,IAAI,IAAI,EAAE,EAAE,IAAI,GAAG,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAC5B,KAA+B,EAC/B,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAClF,uDAAuD;IACvD,OAAO,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"default-range.js","sourceRoot":"","sources":["../../../src/client/default-range.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,UAAU,MAAM,CAAC,GAAS,EAAE,UAAU,GAAG,CAAC;IAC9C,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,gBAAgB,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAC,GAAG,GAAS,IAAI,IAAI,EAAE,EAAE,IAAI,GAAG,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAC5B,KAA+B,EAC/B,GAAG,GAAS,IAAI,IAAI,EAAE;IAEtB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IAClF,uDAAuD;IACvD,OAAO,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACpF,CAAC"}
@@ -1,9 +1,9 @@
1
- export * from './types.js';
2
- export * from './format.js';
1
+ export type { AgentClientOptions } from './agent-client.js';
2
+ export { AgentApiError, AgentClient } from './agent-client.js';
3
+ export * from './api-base.js';
3
4
  export * from './default-range.js';
5
+ export * from './format.js';
4
6
  export * from './spend-summary.js';
5
7
  export * from './trend-path.js';
6
- export * from './api-base.js';
7
- export { AgentClient, AgentApiError } from './agent-client.js';
8
- export type { AgentClientOptions } from './agent-client.js';
8
+ export * from './types.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -1,8 +1,8 @@
1
- export * from './types.js';
2
- export * from './format.js';
1
+ export { AgentApiError, AgentClient } from './agent-client.js';
2
+ export * from './api-base.js';
3
3
  export * from './default-range.js';
4
+ export * from './format.js';
4
5
  export * from './spend-summary.js';
5
6
  export * from './trend-path.js';
6
- export * from './api-base.js';
7
- export { AgentClient, AgentApiError } from './agent-client.js';
7
+ export * from './types.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/agent-dashboard",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Read-only governance console (spend by model/actor, usage trend, recent threads & tool calls, quota) for @adonis-agora/agent — a dependency-light React SPA served by a thin AdonisJS provider. Part of the Agora ecosystem.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,12 +32,13 @@
32
32
  "files": [
33
33
  "dist/",
34
34
  "README.md",
35
- "CHANGELOG.md"
35
+ "CHANGELOG.md",
36
+ "skills"
36
37
  ],
37
38
  "sideEffects": false,
38
39
  "peerDependencies": {
39
- "@adonisjs/core": "^7.3.0",
40
- "@adonis-agora/agent": ">=0.21.0 <1.0.0"
40
+ "@adonis-agora/agent": ">=0.21.0 <1.0.0",
41
+ "@adonisjs/core": "^7.3.0"
41
42
  },
42
43
  "peerDependenciesMeta": {
43
44
  "@adonisjs/core": {
@@ -45,19 +46,20 @@
45
46
  }
46
47
  },
47
48
  "devDependencies": {
48
- "@adonisjs/core": "7.4.0",
49
- "@testing-library/react": "16.3.2",
50
- "@types/node": "22.20.1",
49
+ "@adonis-agora/agent": "0.25.4",
50
+ "@adonisjs/core": "7.5.0",
51
+ "@tanstack/intent": "^0.3.7",
52
+ "@testing-library/react": "16.3.3",
53
+ "@types/node": "26.4.0",
51
54
  "@types/react": "19.2.18",
52
- "@types/react-dom": "19.2.4",
53
- "@vitejs/plugin-react": "4.7.0",
54
- "jsdom": "25.0.1",
55
+ "@types/react-dom": "19.2.5",
56
+ "@vitejs/plugin-react": "6.1.1",
57
+ "jsdom": "30.0.1",
55
58
  "react": "19.2.8",
56
59
  "react-dom": "19.2.8",
57
- "typescript": "5.9.3",
58
- "vite": "7.3.6",
59
- "vitest": "3.2.7",
60
- "@adonis-agora/agent": "0.24.0"
60
+ "typescript": "7.0.2",
61
+ "vite": "8.2.2",
62
+ "vitest": "4.1.11"
61
63
  },
62
64
  "engines": {
63
65
  "node": ">=20.6.0"
@@ -73,6 +75,7 @@
73
75
  "react",
74
76
  "spend",
75
77
  "usage",
78
+ "tanstack-intent",
76
79
  "agora"
77
80
  ],
78
81
  "scripts": {
@@ -0,0 +1,205 @@
1
+ ---
2
+ name: agent-console-client
3
+ description: >-
4
+ Serve and consume the @adonis-agora/agent governance console: the embedded provider
5
+ from node ace configure @adonis-agora/agent vs the standalone @adonis-agora/
6
+ agent-dashboard provider (register only ONE — duplicate-route error), the shared
7
+ config('agent').dashboard block { enabled, path, authorize, onUnauthenticated },
8
+ decideDashboardMount refusal reasons (no-governance-gate vs no-governance-queries),
9
+ and the framework-free AgentClient from @adonis-agora/agent-dashboard/client
10
+ (spendByModel/spendByActor/usageTrend/quotaToday/recentThreads/recentToolCalls/
11
+ pendingApprovals/approveToolCall) with window.__AGENT_DASHBOARD_BASE__ resolution.
12
+ Use for "dashboard blank or won't mount", "governance console 404", "build a custom
13
+ governance UI", "approve HITL calls from the browser".
14
+ metadata:
15
+ type: core
16
+ library: "@adonis-agora/agent-dashboard"
17
+ library_version: "0.7.1"
18
+ framework: adonisjs
19
+ sources:
20
+ - "DavideCarvalho/adonis-agent:packages/dashboard/README.md"
21
+ - "DavideCarvalho/adonis-agent:packages/dashboard/src/client/agent-client.ts"
22
+ - "DavideCarvalho/adonis-agent:packages/adonis/src/dashboard/define_config.ts"
23
+ - "DavideCarvalho/adonis-agent:packages/adonis/docs/governance/dashboard.mdx"
24
+ ---
25
+
26
+ # The governance console & browser client
27
+
28
+ `@adonis-agora/agent-dashboard` is a read-only React SPA over `@adonis-agora/agent`'s
29
+ cross-actor `/agent/governance/*` read routes — spend by model/actor, usage trend,
30
+ threads, tool calls, quota, and the HITL approvals inbox. Since agent@0.21.0 the same SPA
31
+ ships EMBEDDED in `@adonis-agora/agent`; this package remains for standalone installs and
32
+ for its framework-free browser client.
33
+
34
+ ## Setup
35
+
36
+ Most apps need nothing: `node ace configure @adonis-agora/agent` registers an embedded
37
+ provider that serves the SPA at `<path>/dashboard` once `governanceAuthorize` exists:
38
+
39
+ ```ts
40
+ // config/agent.ts — the gate is what makes the console mount at all.
41
+ import { defineConfig } from '@adonis-agora/agent'
42
+
43
+ export default defineConfig({
44
+ model: () => aiSdkModel(openai('gpt-4o-mini')),
45
+ store: 'lucid',
46
+ stores: { lucid: stores.lucid() },
47
+ actorResolver: new AuthActorResolver(),
48
+ governanceAuthorize: (actor) => actor.roles?.includes('ADMIN') ?? false,
49
+ // dashboard: { enabled: true, path: '/agent/dashboard', authorize: (actor) => actor.roles?.includes('ADMIN') ?? false },
50
+ })
51
+ ```
52
+
53
+ Standalone install (independent release cadence):
54
+
55
+ ```bash
56
+ pnpm add @adonis-agora/agent-dashboard
57
+ node ace add @adonis-agora/agent-dashboard
58
+ ```
59
+
60
+ ```ts
61
+ // adonisrc.ts — AFTER the agent provider; register only ONE of the two.
62
+ providers: [
63
+ () => import('@adonis-agora/agent/agent_provider'),
64
+ () => import('@adonis-agora/agent-dashboard'),
65
+ ]
66
+ ```
67
+
68
+ Both providers read the SAME `config('agent').dashboard` block, so switching between them
69
+ needs no config change.
70
+
71
+ Source: `packages/dashboard/README.md`, `packages/adonis/README.md` ("Dashboard").
72
+
73
+ ## Core patterns
74
+
75
+ ### Pattern 1 — drive the governance API with `AgentClient`
76
+
77
+ The framework-free fetch client mirrors the read surface plus pricing and HITL actions;
78
+ it sends `credentials: 'same-origin'`, so the host's session cookie gates every call
79
+ exactly as the routes do server-side:
80
+
81
+ ```ts
82
+ import { AgentClient } from '@adonis-agora/agent-dashboard/client'
83
+
84
+ const client = new AgentClient({ baseUrl: '/agent' })
85
+
86
+ const byModel = await client.spendByModel({ fromDay: '2026-03-01', toDay: '2026-03-07' })
87
+ const trend = await client.usageTrend({ fromDay: '2026-03-01', toDay: '2026-03-07' })
88
+ const quota = await client.quotaToday()
89
+ const approvals = await client.pendingApprovals({})
90
+
91
+ // HITL decisions from your own UI:
92
+ await client.approveToolCall(runId, toolCallId)
93
+ await client.rejectToolCall(runId, toolCallId, 'not this account')
94
+
95
+ // Pricing table maintenance:
96
+ await client.upsertPrice({ modelId: 'gpt-4o-mini', inputPricePer1m: 0.15, outputPricePer1m: 0.6 })
97
+ ```
98
+
99
+ Non-2xx responses throw `AgentApiError` carrying the HTTP status for branching.
100
+
101
+ Source: `packages/dashboard/src/client/agent-client.ts`, `packages/dashboard/src/client/index.ts`.
102
+
103
+ ### Pattern 2 — redirect to login via `onUnauthenticated`
104
+
105
+ The one denial `authorize` never sees is a failed actor resolution. Set a response header
106
+ inside the hook (typically a redirect); the gate detects it and skips its default
107
+ `401 { error }` JSON write:
108
+
109
+ ```ts
110
+ // config/agent.ts
111
+ export default defineConfig({
112
+ // ...
113
+ dashboard: {
114
+ onUnauthenticated: (ctx) => ctx.response.redirect('/login'),
115
+ },
116
+ })
117
+ ```
118
+
119
+ Return normally without touching the response and the default JSON is written instead —
120
+ the hook is safe to omit or use purely for logging.
121
+
122
+ Source: `packages/adonis/src/dashboard/define_config.ts`
123
+ (`AgentDashboardUnauthenticatedHook`).
124
+
125
+ ### Pattern 3 — diagnose a dead console from the boot warning
126
+
127
+ `decideDashboardMount(enabled, governanceAuthorize, governanceQueries)` produces three
128
+ distinct refusals, each logged with wording that names the responsible knob:
129
+
130
+ | Condition | Reason | Fix |
131
+ | --- | --- | --- |
132
+ | `enabled: false` | `disabled` | intentional; no warning |
133
+ | no `governanceAuthorize` | `no-governance-gate` | set the gate (or `() => true` deliberately) |
134
+ | `governanceQueries: false` | `no-governance-queries` | remove the `false` / wire a read-model |
135
+
136
+ The two non-disabled warnings are deliberately DIFFERENT strings so an operator staring
137
+ at a 404 can tell from the log alone which knob is responsible.
138
+
139
+ Source: `packages/adonis/src/dashboard/define_config.ts` (`decideDashboardMount`,
140
+ warning constants).
141
+
142
+ ## Common mistakes
143
+
144
+ ### HIGH — registering both dashboard providers
145
+
146
+ ```ts
147
+ // Wrong — embedded AND standalone serve <path>/dashboard.
148
+ providers: [
149
+ () => import('@adonis-agora/agent/agent_provider'),
150
+ () => import('@adonis-agora/agent/dashboard_provider'),
151
+ () => import('@adonis-agora/agent-dashboard'),
152
+ ]
153
+ ```
154
+
155
+ ```ts
156
+ // Correct — exactly one of the two.
157
+ providers: [
158
+ () => import('@adonis-agora/agent/agent_provider'), // its embedded dashboard_provider rides along
159
+ ]
160
+ ```
161
+
162
+ Mechanism: both mounts claim the same route path, so boot throws AdonisJS's duplicate
163
+ route error — the app fails to start rather than double-serving.
164
+ Source: `packages/dashboard/README.md` ("Register only ONE of the two providers"),
165
+ `packages/adonis/README.md`.
166
+
167
+ ### MEDIUM — setting only `dashboard.enabled: true` and expecting panels to load
168
+
169
+ ```ts
170
+ // Wrong — enabled is necessary but NOT sufficient; every panel but Quota reads gated routes.
171
+ dashboard: { enabled: true }
172
+ ```
173
+
174
+ ```ts
175
+ // Correct — the data gate is governanceAuthorize on the AGENT config.
176
+ governanceAuthorize: (actor) => actor.roles?.includes('ADMIN') ?? false,
177
+ dashboard: { enabled: true },
178
+ ```
179
+
180
+ Mechanism: without a gate the console refuses to mount entirely (boot warning naming the
181
+ knob) because it would otherwise load and fail on every panel — serving a shell that can
182
+ only 404 its own data is worse than not serving it.
183
+ Source: `packages/adonis/src/dashboard/define_config.ts` (`decideDashboardMount`,
184
+ `NO_GOVERNANCE_GATE_WARNING`).
185
+
186
+ ### LOW — hard-coding `/agent` as the client base in a custom UI
187
+
188
+ ```ts
189
+ // Wrong — breaks the moment the app mounts the agent under a prefix like /api/agent.
190
+ const client = new AgentClient({ baseUrl: '/agent' })
191
+ ```
192
+
193
+ ```ts
194
+ // Correct — reuse the same resolution the SPA uses: injected value wins, else derive.
195
+ import { resolveApiBase } from '@adonis-agora/agent-dashboard/client'
196
+ const client = new AgentClient({ baseUrl: resolveApiBase() })
197
+ ```
198
+
199
+ Mechanism: the provider injects the exact mounted base as `window.__AGENT_DASHBOARD_BASE__`
200
+ when serving index.html; absent that, `deriveApiBase(location.pathname)` strips the
201
+ trailing `/dashboard` segment — `/api/agent/dashboard` → `/api/agent`.
202
+ Source: `packages/dashboard/src/client/api-base.ts` (`resolveApiBase`, `deriveApiBase`).
203
+
204
+ See also: `agent-governance/SKILL.md` — the `governanceAuthorize` gate this console
205
+ consumes through; `agent-setup/SKILL.md` — seeding prices so `upsertPrice` rows matter.
@@ -1 +0,0 @@
1
- :root{--bg: #09090b;--panel: #0c0c0f;--panel-2: #101017;--line: #1c1c22;--line-soft: #16161a;--text: #e7e7ea;--muted: #76767f;--agora-primary: #a78bfa;--agora-primary-soft: color-mix(in srgb, #a78bfa 14%, transparent);--agora-accent: #60a5fa;--primary: var(--agora-primary);--primary-fg: #09090b;--good: #34d399;--warn: #fbbf24;--bad: #f87171;--info: var(--agora-accent)}:root[data-theme=light],:root:not([data-theme=dark]){color-scheme:dark}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light;--bg: hsl(40 30% 96%);--panel: hsl(40 28% 98%);--panel-2: hsl(40 24% 95%);--line: hsl(240 10% 14% / .12);--line-soft: hsl(240 10% 14% / .06);--text: hsl(240 14% 12%);--muted: hsl(240 6% 42%);--primary-fg: hsl(40 40% 97%)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.mono{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.tnum{font-variant-numeric:tabular-nums}.app-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(900px 420px at 82% -10%,hsl(250 74% 51% / .12),transparent 70%),radial-gradient(700px 360px at 8% -12%,hsl(190 90% 50% / .06),transparent 70%);opacity:.9}.shell{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:28px 24px 64px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);font-weight:700}.brand h1{font-size:14px;font-weight:600;margin:0;letter-spacing:-.01em}.brand p{margin:1px 0 0;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.tab{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;padding:6px 12px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:color .15s,border-color .15s,background .15s}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);background:color-mix(in srgb,var(--primary) 10%,transparent);border-color:color-mix(in srgb,var(--primary) 50%,var(--line))}.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.range-input{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:6px 9px;font-size:12px;font-family:inherit}.price-input{min-width:225px}.icon-btn{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;width:34px;height:32px;cursor:pointer;display:grid;place-items:center}.icon-btn:hover{color:var(--text)}.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:12px;padding:18px}.grid{display:grid;gap:16px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.stat-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.grid.cols-3,.grid.cols-2,.grid.stat-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid.cols-3,.grid.cols-2,.grid.stat-4{grid-template-columns:1fr}}.stat .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.stat .value{font-size:24px;font-weight:600;letter-spacing:-.02em}.stat .sub{font-size:12px;color:var(--muted);margin-top:4px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;gap:12px}.section-title h2{font-size:14px;margin:0;letter-spacing:.01em}.section-title .hint{font-size:12px;color:var(--muted)}.table{width:100%;border-collapse:collapse;font-size:12px}.table tbody{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.table th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 10px 10px;border-bottom:1px solid var(--line)}.table td{padding:10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table .num{text-align:right}.table-wrap{overflow-x:auto}.bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden;min-width:60px}.bar>span{display:block;height:100%;border-radius:999px;background:var(--primary)}.legend{display:flex;flex-direction:column;gap:8px;font-size:12px}.legend .row{display:flex;align-items:center;gap:8px}.swatch{width:10px;height:10px;border-radius:3px;flex:none}.legend .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:11px;border:1px solid var(--line);color:var(--muted)}.dot{width:7px;height:7px;border-radius:999px;background:currentColor;display:inline-block}.s-completed,.s-ok,.s-success,.s-approved{color:var(--good)}.s-running,.s-pending,.s-pending_approval,.s-awaiting_approval{color:var(--info)}.s-failed,.s-error,.s-rejected,.s-forbidden{color:var(--bad)}.s-cancelled,.s-canceled{color:var(--warn)}.btn{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:6px 12px;font-size:12px;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.approve{color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--panel));border-color:color-mix(in srgb,var(--good) 50%,var(--line))}.btn.reject{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--panel));border-color:color-mix(in srgb,var(--bad) 50%,var(--line))}.rowbtns{display:inline-flex;gap:6px;justify-content:flex-end}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--panel-2)}.th-sort{appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-sort:hover{color:var(--text)}.warnnum{color:var(--warn)}.msg{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel-2)}.msg-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.msg-body{font-size:13px;white-space:pre-wrap;word-break:break-word}.empty{color:var(--muted);font-size:13px;text-align:center;padding:26px 10px}.err{color:var(--bad);font-size:13px;padding:20px 10px;text-align:center}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--line-soft),var(--line),var(--line-soft));background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;height:14px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stack{display:flex;flex-direction:column;gap:16px}.muted{color:var(--muted)}.right{text-align:right}.chart-svg{width:100%;height:auto;display:block}.foot{margin-top:26px;font-size:11px;color:var(--muted);text-align:center}