@adonis-agora/agent-dashboard 0.12.0 → 1.0.0-rc.0
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/CHANGELOG.md +20 -0
- package/dist/spa/assets/index-CH2ptBLA.js +9 -0
- package/dist/spa/index.html +1 -1
- package/dist/src/client/agent-client.d.ts +9 -1
- package/dist/src/client/agent-client.d.ts.map +1 -1
- package/dist/src/client/agent-client.js +12 -2
- package/dist/src/client/agent-client.js.map +1 -1
- package/dist/src/client/api-base.d.ts +6 -19
- package/dist/src/client/api-base.d.ts.map +1 -1
- package/dist/src/client/api-base.js +5 -14
- package/dist/src/client/api-base.js.map +1 -1
- package/dist/src/client/index.d.ts +1 -1
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/client/index.js +1 -1
- package/dist/src/client/index.js.map +1 -1
- package/package.json +5 -5
- package/skills/agent-console-client/SKILL.md +4 -3
- package/dist/spa/assets/index-DUq09Q_k.js +0 -9
package/dist/spa/index.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
rel="stylesheet"
|
|
11
11
|
/>
|
|
12
12
|
<title>agent · governance console</title>
|
|
13
|
-
<script type="module" crossorigin src="./assets/index-
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-CH2ptBLA.js"></script>
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/index-BxmGk7Ik.css">
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
@@ -10,6 +10,13 @@ export declare class AgentApiError extends Error {
|
|
|
10
10
|
* state the UI renders as "not available here", distinct from a network/auth failure.
|
|
11
11
|
*/
|
|
12
12
|
export declare function isUnsupported(error: unknown): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* `true` when the server does not offer a read at all: {@link isUnsupported} (`501`), or a `404`
|
|
15
|
+
* from an older agent server that has no such route (`/governance/spend/feature` before 0.93,
|
|
16
|
+
* `/governance/pricing` without a pricing store before 1.0). Only for collection reads whose route
|
|
17
|
+
* takes no id, where a `404` cannot mean "that record does not exist".
|
|
18
|
+
*/
|
|
19
|
+
export declare function isUnavailable(error: unknown): boolean;
|
|
13
20
|
type FetchLike = typeof fetch;
|
|
14
21
|
export interface AgentClientOptions {
|
|
15
22
|
/** Agent API base (e.g. `/agent`). Defaults to the injected/derived base for the current page. */
|
|
@@ -36,7 +43,8 @@ export declare class AgentClient {
|
|
|
36
43
|
spendByActor(range: GovernanceRange): Promise<ActorSpendRow[]>;
|
|
37
44
|
/**
|
|
38
45
|
* `GET /agent/governance/spend/feature` — spend per feature, agent turns and recorded usage side by
|
|
39
|
-
* side. Rejects with a `501` {@link AgentApiError} (see {@link
|
|
46
|
+
* side. Rejects with a `501` or `404` {@link AgentApiError} (see {@link isUnavailable}) on an older
|
|
47
|
+
* server.
|
|
40
48
|
*/
|
|
41
49
|
spendByFeature(range: GovernanceRange): Promise<FeatureSpendRow[]>;
|
|
42
50
|
usageTrend(range: GovernanceRange): Promise<UsageTrendPoint[]>;
|
|
@@ -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,UAAU,EACV,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;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;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
|
|
1
|
+
{"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../../../src/client/agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,15 @@ export class AgentApiError extends Error {
|
|
|
16
16
|
export function isUnsupported(error) {
|
|
17
17
|
return error instanceof AgentApiError && error.status === 501;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* `true` when the server does not offer a read at all: {@link isUnsupported} (`501`), or a `404`
|
|
21
|
+
* from an older agent server that has no such route (`/governance/spend/feature` before 0.93,
|
|
22
|
+
* `/governance/pricing` without a pricing store before 1.0). Only for collection reads whose route
|
|
23
|
+
* takes no id, where a `404` cannot mean "that record does not exist".
|
|
24
|
+
*/
|
|
25
|
+
export function isUnavailable(error) {
|
|
26
|
+
return isUnsupported(error) || (error instanceof AgentApiError && error.status === 404);
|
|
27
|
+
}
|
|
19
28
|
/**
|
|
20
29
|
* A framework-free browser client for the `@adonis-agora/agent` provider's READ surface: the five
|
|
21
30
|
* `/agent/governance/*` rollups plus the per-actor `quota`. Same-origin, `credentials:
|
|
@@ -70,7 +79,8 @@ export class AgentClient {
|
|
|
70
79
|
}
|
|
71
80
|
/**
|
|
72
81
|
* `GET /agent/governance/spend/feature` — spend per feature, agent turns and recorded usage side by
|
|
73
|
-
* side. Rejects with a `501` {@link AgentApiError} (see {@link
|
|
82
|
+
* side. Rejects with a `501` or `404` {@link AgentApiError} (see {@link isUnavailable}) on an older
|
|
83
|
+
* server.
|
|
74
84
|
*/
|
|
75
85
|
spendByFeature(range) {
|
|
76
86
|
return this.get('/governance/spend/feature', {
|
|
@@ -173,7 +183,7 @@ export class AgentClient {
|
|
|
173
183
|
...(reason ? { reason } : {}),
|
|
174
184
|
});
|
|
175
185
|
}
|
|
176
|
-
// ── Model pricing —
|
|
186
|
+
// ── Model pricing — `501` (an older server: `404`) when the server binds no pricing store. ──
|
|
177
187
|
/** `GET /agent/governance/pricing` — every model's current per-1M rates. */
|
|
178
188
|
pricing() {
|
|
179
189
|
return this.get('/governance/pricing');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../../../src/client/agent-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../../../src/client/agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,22 +2,11 @@
|
|
|
2
2
|
* Resolve the base URL of the agent routes the SPA calls. The provider hands the exact base it
|
|
3
3
|
* mounted the agent under to the page as a JSON data block
|
|
4
4
|
* (`<script type="application/json" id="agent-dashboard-config">{"apiBase":…}</script>`) when it
|
|
5
|
-
* serves `index.html`;
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* The data block, and not an inline script setting the global, because a host
|
|
11
|
-
* Content-Security-Policy of `script-src 'self' 'nonce-…'` (shield's `@nonce`) refuses an un-nonced
|
|
12
|
-
* inline script without a word: the global was never set, the location-derived base took over, and
|
|
13
|
-
* a console mounted anywhere but the default answered 404 to all of its own requests while rendering
|
|
14
|
-
* perfectly. A data block is never executed, so no policy can refuse it.
|
|
5
|
+
* serves `index.html`; when it is absent (e.g. the standalone `vite dev` preview) we derive it from
|
|
6
|
+
* the page's own location by stripping the trailing `/dashboard` mount segment. Either way the SPA
|
|
7
|
+
* never hard-codes `/agent`. A data block is never executed, so no Content-Security-Policy can
|
|
8
|
+
* refuse it.
|
|
15
9
|
*/
|
|
16
|
-
declare global {
|
|
17
|
-
interface Window {
|
|
18
|
-
__AGENT_DASHBOARD_BASE__?: string;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
10
|
/** `id` of the data block the provider injects (`@adonis-agora/agent`'s `CONFIG_ELEMENT_ID`). */
|
|
22
11
|
export declare const CONFIG_ELEMENT_ID = "agent-dashboard-config";
|
|
23
12
|
/**
|
|
@@ -27,8 +16,6 @@ export declare const CONFIG_ELEMENT_ID = "agent-dashboard-config";
|
|
|
27
16
|
* cleaned (trailing slash removed) as a best-effort base.
|
|
28
17
|
*/
|
|
29
18
|
export declare function deriveApiBase(pathname: string): string;
|
|
30
|
-
/** The resolved agent API base for this page: the data block, else
|
|
31
|
-
export declare function resolveApiBase(win?: Pick<Window, 'location'>
|
|
32
|
-
__AGENT_DASHBOARD_BASE__?: string;
|
|
33
|
-
}, doc?: Pick<Document, 'getElementById'> | undefined): string;
|
|
19
|
+
/** The resolved agent API base for this page: the data block, else location-derived. */
|
|
20
|
+
export declare function resolveApiBase(win?: Pick<Window, 'location'>, doc?: Pick<Document, 'getElementById'> | undefined): string;
|
|
34
21
|
//# sourceMappingURL=api-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-base.d.ts","sourceRoot":"","sources":["../../../src/client/api-base.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api-base.d.ts","sourceRoot":"","sources":["../../../src/client/api-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iGAAiG;AACjG,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAsB1D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAC5B,GAAG,GAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAU,EACtC,GAAG,GAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,SAE5B,GACX,MAAM,CAIR"}
|
|
@@ -2,16 +2,10 @@
|
|
|
2
2
|
* Resolve the base URL of the agent routes the SPA calls. The provider hands the exact base it
|
|
3
3
|
* mounted the agent under to the page as a JSON data block
|
|
4
4
|
* (`<script type="application/json" id="agent-dashboard-config">{"apiBase":…}</script>`) when it
|
|
5
|
-
* serves `index.html`;
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* The data block, and not an inline script setting the global, because a host
|
|
11
|
-
* Content-Security-Policy of `script-src 'self' 'nonce-…'` (shield's `@nonce`) refuses an un-nonced
|
|
12
|
-
* inline script without a word: the global was never set, the location-derived base took over, and
|
|
13
|
-
* a console mounted anywhere but the default answered 404 to all of its own requests while rendering
|
|
14
|
-
* perfectly. A data block is never executed, so no policy can refuse it.
|
|
5
|
+
* serves `index.html`; when it is absent (e.g. the standalone `vite dev` preview) we derive it from
|
|
6
|
+
* the page's own location by stripping the trailing `/dashboard` mount segment. Either way the SPA
|
|
7
|
+
* never hard-codes `/agent`. A data block is never executed, so no Content-Security-Policy can
|
|
8
|
+
* refuse it.
|
|
15
9
|
*/
|
|
16
10
|
/** `id` of the data block the provider injects (`@adonis-agora/agent`'s `CONFIG_ELEMENT_ID`). */
|
|
17
11
|
export const CONFIG_ELEMENT_ID = 'agent-dashboard-config';
|
|
@@ -47,16 +41,13 @@ export function deriveApiBase(pathname) {
|
|
|
47
41
|
}
|
|
48
42
|
return clean === '' ? '/' : clean;
|
|
49
43
|
}
|
|
50
|
-
/** The resolved agent API base for this page: the data block, else
|
|
44
|
+
/** The resolved agent API base for this page: the data block, else location-derived. */
|
|
51
45
|
export function resolveApiBase(win = window, doc = typeof document === 'undefined'
|
|
52
46
|
? undefined
|
|
53
47
|
: document) {
|
|
54
48
|
const fromBlock = readInjectedApiBase(doc);
|
|
55
49
|
if (fromBlock !== undefined)
|
|
56
50
|
return stripTrailingSlash(fromBlock);
|
|
57
|
-
const injected = win.__AGENT_DASHBOARD_BASE__;
|
|
58
|
-
if (typeof injected === 'string' && injected !== '')
|
|
59
|
-
return stripTrailingSlash(injected);
|
|
60
51
|
return deriveApiBase(win.location.pathname);
|
|
61
52
|
}
|
|
62
53
|
//# sourceMappingURL=api-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-base.js","sourceRoot":"","sources":["../../../src/client/api-base.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api-base.js","sourceRoot":"","sources":["../../../src/client/api-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iGAAiG;AACjG,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAE1D,2FAA2F;AAC3F,SAAS,mBAAmB,CAC1B,GAAiD;IAEjD,MAAM,OAAO,GAAG,GAAG,EAAE,cAAc,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC/D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAI,MAAuC,EAAE,OAAO,CAAC;QAClE,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,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,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAC5B,GAAG,GAA6B,MAAM,EACtC,GAAG,GAAiD,OAAO,QAAQ,KAAK,WAAW;IACjF,CAAC,CAAC,SAAS;IACX,CAAC,CAAC,QAAQ;IAEZ,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { AgentClientOptions } from './agent-client.js';
|
|
2
|
-
export { AgentApiError, AgentClient, isUnsupported } from './agent-client.js';
|
|
2
|
+
export { AgentApiError, AgentClient, isUnavailable, isUnsupported } from './agent-client.js';
|
|
3
3
|
export * from './api-base.js';
|
|
4
4
|
export * from './default-range.js';
|
|
5
5
|
export * from './format.js';
|
|
@@ -1 +1 @@
|
|
|
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,aAAa,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,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7F,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
package/dist/src/client/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AgentApiError, AgentClient, isUnsupported } from './agent-client.js';
|
|
1
|
+
export { AgentApiError, AgentClient, isUnavailable, isUnsupported } from './agent-client.js';
|
|
2
2
|
export * from './api-base.js';
|
|
3
3
|
export * from './default-range.js';
|
|
4
4
|
export * from './format.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,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,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7F,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.
|
|
3
|
+
"version": "1.0.0-rc.0",
|
|
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": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
],
|
|
56
56
|
"sideEffects": false,
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@adonis-agora/agent": ">=0.26.0 <1.0.0",
|
|
58
|
+
"@adonis-agora/agent": ">=0.26.0 <2.0.0 || >=1.0.0-rc.0 <2.0.0",
|
|
59
59
|
"@adonisjs/core": "^7.3.0"
|
|
60
60
|
},
|
|
61
61
|
"peerDependenciesMeta": {
|
|
@@ -64,19 +64,19 @@
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@adonis-agora/agent": "0.
|
|
67
|
+
"@adonis-agora/agent": "1.0.0-rc.0",
|
|
68
68
|
"@adonisjs/core": "7.6.0",
|
|
69
69
|
"@tanstack/intent": "0.5.6",
|
|
70
70
|
"@testing-library/react": "16.3.3",
|
|
71
71
|
"@types/node": "26.6.5",
|
|
72
72
|
"@types/react": "19.3.0",
|
|
73
73
|
"@types/react-dom": "19.3.0",
|
|
74
|
-
"@vitejs/plugin-react": "6.1
|
|
74
|
+
"@vitejs/plugin-react": "6.2.1",
|
|
75
75
|
"jsdom": "30.1.3",
|
|
76
76
|
"react": "19.3.1",
|
|
77
77
|
"react-dom": "19.3.1",
|
|
78
78
|
"typescript": "7.0.2",
|
|
79
|
-
"vite": "8.3.
|
|
79
|
+
"vite": "8.3.6",
|
|
80
80
|
"vitest": "5.0.5"
|
|
81
81
|
},
|
|
82
82
|
"engines": {
|
|
@@ -8,13 +8,13 @@ description: >-
|
|
|
8
8
|
decideDashboardMount refusal reasons (no-governance-gate vs no-governance-queries),
|
|
9
9
|
and the framework-free AgentClient from @adonis-agora/agent-dashboard/client
|
|
10
10
|
(spendByModel/spendByActor/usageTrend/quotaToday/recentThreads/recentToolCalls/
|
|
11
|
-
pendingApprovals/approveToolCall) with
|
|
11
|
+
pendingApprovals/approveToolCall) with injected-config apiBase resolution.
|
|
12
12
|
Use for "dashboard blank or won't mount", "governance console 404", "build a custom
|
|
13
13
|
governance UI", "approve HITL calls from the browser".
|
|
14
14
|
metadata:
|
|
15
15
|
type: core
|
|
16
16
|
library: "@adonis-agora/agent-dashboard"
|
|
17
|
-
library_version: "0.
|
|
17
|
+
library_version: "1.0.0-rc.0"
|
|
18
18
|
framework: adonisjs
|
|
19
19
|
sources:
|
|
20
20
|
- "DavideCarvalho/adonis-agent:packages/dashboard/README.md"
|
|
@@ -196,7 +196,8 @@ import { resolveApiBase } from '@adonis-agora/agent-dashboard/client'
|
|
|
196
196
|
const client = new AgentClient({ baseUrl: resolveApiBase() })
|
|
197
197
|
```
|
|
198
198
|
|
|
199
|
-
Mechanism: the provider injects the exact mounted base as
|
|
199
|
+
Mechanism: the provider injects the exact mounted base as a JSON data block
|
|
200
|
+
(`<script type="application/json" id="agent-dashboard-config">{"apiBase":…}</script>`)
|
|
200
201
|
when serving index.html; absent that, `deriveApiBase(location.pathname)` strips the
|
|
201
202
|
trailing `/dashboard` segment — `/api/agent/dashboard` → `/api/agent`.
|
|
202
203
|
Source: `packages/dashboard/src/client/api-base.ts` (`resolveApiBase`, `deriveApiBase`).
|