@adonis-agora/agent 0.20.0 → 0.21.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 +10 -0
- package/README.md +39 -1
- package/dist/assets/spa/assets/index-BYLm0nq8.css +1 -0
- package/dist/assets/spa/assets/index-CkOAJYbh.js +9 -0
- package/dist/assets/spa/index.html +13 -0
- package/dist/configure.d.ts +11 -6
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +12 -6
- package/dist/configure.js.map +1 -1
- package/dist/providers/dashboard_provider.d.ts +55 -0
- package/dist/providers/dashboard_provider.d.ts.map +1 -0
- package/dist/providers/dashboard_provider.js +152 -0
- package/dist/providers/dashboard_provider.js.map +1 -0
- package/dist/src/dashboard/define_config.d.ts +75 -0
- package/dist/src/dashboard/define_config.d.ts.map +1 -0
- package/dist/src/dashboard/define_config.js +56 -0
- package/dist/src/dashboard/define_config.js.map +1 -0
- package/dist/src/dashboard/gate.d.ts +33 -0
- package/dist/src/dashboard/gate.d.ts.map +1 -0
- package/dist/src/dashboard/gate.js +52 -0
- package/dist/src/dashboard/gate.js.map +1 -0
- package/dist/src/dashboard/index.d.ts +20 -0
- package/dist/src/dashboard/index.d.ts.map +1 -0
- package/dist/src/dashboard/index.js +20 -0
- package/dist/src/dashboard/index.js.map +1 -0
- package/dist/src/dashboard/paths.d.ts +40 -0
- package/dist/src/dashboard/paths.d.ts.map +1 -0
- package/dist/src/dashboard/paths.js +99 -0
- package/dist/src/dashboard/paths.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/stubs/config/agent.stub +7 -0
- package/package.json +28 -18
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure path/asset helpers for serving the `@adonis-agora/agent-dashboard` governance SPA — extracted
|
|
3
|
+
* so they can be unit-tested without booting an AdonisJS app. Both dashboard providers compose these;
|
|
4
|
+
* each holds only the router wiring + I/O. Owned here (rather than in `@adonis-agora/agent-dashboard`)
|
|
5
|
+
* so `packages/adonis`'s OWN embedded dashboard provider (`providers/dashboard_provider.ts`) can reuse
|
|
6
|
+
* them without depending on the dashboard package at runtime — the dashboard package already depends
|
|
7
|
+
* on THIS one (for `AgentConfig`/`ActorResolver`/...), and a package.json edge the other way would be
|
|
8
|
+
* circular. See `providers/dashboard_provider.ts`'s module doc for the full story.
|
|
9
|
+
*/
|
|
10
|
+
/** Collapse duplicate slashes and strip leading/trailing ones: `/agent//` → `agent`. */
|
|
11
|
+
export declare function trimSlashes(path: string): string;
|
|
12
|
+
/** The agent API base as an absolute path with a single leading slash: `agent` → `/agent`. */
|
|
13
|
+
export declare function apiBaseFor(agentPath: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* The canonical dashboard mount path (no trailing slash), default `<agentPath>/dashboard`. A caller
|
|
16
|
+
* may override with an explicit `dashboardPath`; both are normalized to a single leading slash.
|
|
17
|
+
*/
|
|
18
|
+
export declare function mountPathFor(agentPath: string, dashboardPath?: string): string;
|
|
19
|
+
/** MIME type for a filename by extension; `application/octet-stream` for anything unknown. */
|
|
20
|
+
export declare function contentTypeFor(filename: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Reject a wildcard asset request that tries to escape the SPA root via `..` or an absolute path.
|
|
23
|
+
* Returns the safe, normalized relative segments (never starting with `..`), or `null` to deny.
|
|
24
|
+
*/
|
|
25
|
+
export declare function safeAssetSegments(wildcard: string | string[] | undefined): string[] | null;
|
|
26
|
+
/**
|
|
27
|
+
* Inject the resolved agent API base into the served `index.html` as a global the SPA reads before
|
|
28
|
+
* boot, so the client calls the exact base the provider mounted (no build-time coupling). Idempotent
|
|
29
|
+
* per response — inserted right before `</head>`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function injectApiBase(html: string, apiBase: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Inject a `<base href="${mount}/">` as the FIRST thing inside `<head>`, so the SPA's relative
|
|
34
|
+
* `./assets/*` URLs (Vite `base: './'`) resolve against the mount directory no matter whether the
|
|
35
|
+
* browser's URL carries a trailing slash. This replaces the old trailing-slash redirect, which the
|
|
36
|
+
* AdonisJS router (it normalizes trailing slashes) turned into a duplicate-route crash. `mount` is a
|
|
37
|
+
* leading-slash, no-trailing-slash path (e.g. `/agent/dashboard`).
|
|
38
|
+
*/
|
|
39
|
+
export declare function injectBaseHref(html: string, mount: string): string;
|
|
40
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/dashboard/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAM9E;AAsBD,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,CAU1F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAInE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlE"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure path/asset helpers for serving the `@adonis-agora/agent-dashboard` governance SPA — extracted
|
|
3
|
+
* so they can be unit-tested without booting an AdonisJS app. Both dashboard providers compose these;
|
|
4
|
+
* each holds only the router wiring + I/O. Owned here (rather than in `@adonis-agora/agent-dashboard`)
|
|
5
|
+
* so `packages/adonis`'s OWN embedded dashboard provider (`providers/dashboard_provider.ts`) can reuse
|
|
6
|
+
* them without depending on the dashboard package at runtime — the dashboard package already depends
|
|
7
|
+
* on THIS one (for `AgentConfig`/`ActorResolver`/...), and a package.json edge the other way would be
|
|
8
|
+
* circular. See `providers/dashboard_provider.ts`'s module doc for the full story.
|
|
9
|
+
*/
|
|
10
|
+
/** Collapse duplicate slashes and strip leading/trailing ones: `/agent//` → `agent`. */
|
|
11
|
+
export function trimSlashes(path) {
|
|
12
|
+
return path.replace(/\/+/g, '/').replace(/^\/+|\/+$/g, '');
|
|
13
|
+
}
|
|
14
|
+
/** The agent API base as an absolute path with a single leading slash: `agent` → `/agent`. */
|
|
15
|
+
export function apiBaseFor(agentPath) {
|
|
16
|
+
const trimmed = trimSlashes(agentPath);
|
|
17
|
+
return trimmed === '' ? '/' : `/${trimmed}`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The canonical dashboard mount path (no trailing slash), default `<agentPath>/dashboard`. A caller
|
|
21
|
+
* may override with an explicit `dashboardPath`; both are normalized to a single leading slash.
|
|
22
|
+
*/
|
|
23
|
+
export function mountPathFor(agentPath, dashboardPath) {
|
|
24
|
+
if (dashboardPath !== undefined && trimSlashes(dashboardPath) !== '') {
|
|
25
|
+
return `/${trimSlashes(dashboardPath)}`;
|
|
26
|
+
}
|
|
27
|
+
const trimmed = trimSlashes(agentPath);
|
|
28
|
+
return trimmed === '' ? '/dashboard' : `/${trimmed}/dashboard`;
|
|
29
|
+
}
|
|
30
|
+
const CONTENT_TYPES = {
|
|
31
|
+
html: 'text/html; charset=utf-8',
|
|
32
|
+
js: 'text/javascript; charset=utf-8',
|
|
33
|
+
mjs: 'text/javascript; charset=utf-8',
|
|
34
|
+
css: 'text/css; charset=utf-8',
|
|
35
|
+
json: 'application/json; charset=utf-8',
|
|
36
|
+
svg: 'image/svg+xml',
|
|
37
|
+
png: 'image/png',
|
|
38
|
+
jpg: 'image/jpeg',
|
|
39
|
+
jpeg: 'image/jpeg',
|
|
40
|
+
gif: 'image/gif',
|
|
41
|
+
webp: 'image/webp',
|
|
42
|
+
ico: 'image/x-icon',
|
|
43
|
+
woff: 'font/woff',
|
|
44
|
+
woff2: 'font/woff2',
|
|
45
|
+
ttf: 'font/ttf',
|
|
46
|
+
map: 'application/json; charset=utf-8',
|
|
47
|
+
txt: 'text/plain; charset=utf-8',
|
|
48
|
+
};
|
|
49
|
+
/** MIME type for a filename by extension; `application/octet-stream` for anything unknown. */
|
|
50
|
+
export function contentTypeFor(filename) {
|
|
51
|
+
const dot = filename.lastIndexOf('.');
|
|
52
|
+
const ext = dot === -1 ? '' : filename.slice(dot + 1).toLowerCase();
|
|
53
|
+
return CONTENT_TYPES[ext] ?? 'application/octet-stream';
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Reject a wildcard asset request that tries to escape the SPA root via `..` or an absolute path.
|
|
57
|
+
* Returns the safe, normalized relative segments (never starting with `..`), or `null` to deny.
|
|
58
|
+
*/
|
|
59
|
+
export function safeAssetSegments(wildcard) {
|
|
60
|
+
const parts = Array.isArray(wildcard) ? wildcard : (wildcard ?? '').split('/');
|
|
61
|
+
const segments = [];
|
|
62
|
+
for (const raw of parts) {
|
|
63
|
+
const part = raw.trim();
|
|
64
|
+
if (part === '' || part === '.')
|
|
65
|
+
continue;
|
|
66
|
+
if (part === '..' || part.includes('\0') || part.includes('\\'))
|
|
67
|
+
return null;
|
|
68
|
+
segments.push(part);
|
|
69
|
+
}
|
|
70
|
+
return segments;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Inject the resolved agent API base into the served `index.html` as a global the SPA reads before
|
|
74
|
+
* boot, so the client calls the exact base the provider mounted (no build-time coupling). Idempotent
|
|
75
|
+
* per response — inserted right before `</head>`.
|
|
76
|
+
*/
|
|
77
|
+
export function injectApiBase(html, apiBase) {
|
|
78
|
+
const tag = `<script>window.__AGENT_DASHBOARD_BASE__=${JSON.stringify(apiBase)}</script>`;
|
|
79
|
+
if (html.includes('</head>'))
|
|
80
|
+
return html.replace('</head>', `${tag}</head>`);
|
|
81
|
+
return `${tag}${html}`;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Inject a `<base href="${mount}/">` as the FIRST thing inside `<head>`, so the SPA's relative
|
|
85
|
+
* `./assets/*` URLs (Vite `base: './'`) resolve against the mount directory no matter whether the
|
|
86
|
+
* browser's URL carries a trailing slash. This replaces the old trailing-slash redirect, which the
|
|
87
|
+
* AdonisJS router (it normalizes trailing slashes) turned into a duplicate-route crash. `mount` is a
|
|
88
|
+
* leading-slash, no-trailing-slash path (e.g. `/agent/dashboard`).
|
|
89
|
+
*/
|
|
90
|
+
export function injectBaseHref(html, mount) {
|
|
91
|
+
const tag = `<base href="${mount}/">`;
|
|
92
|
+
const headOpen = html.match(/<head[^>]*>/i);
|
|
93
|
+
if (headOpen?.index !== undefined) {
|
|
94
|
+
const at = headOpen.index + headOpen[0].length;
|
|
95
|
+
return html.slice(0, at) + tag + html.slice(at);
|
|
96
|
+
}
|
|
97
|
+
return `${tag}${html}`;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/dashboard/paths.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
|
@@ -39,6 +39,13 @@ export default defineConfig({
|
|
|
39
39
|
// defaultRoles: ['ADMIN'], // roles a tool requires when it declares none (fail-closed)
|
|
40
40
|
// maxSteps: 8, // cap on model↔tool iterations per turn
|
|
41
41
|
|
|
42
|
+
// Governance console — served automatically at <path>/dashboard (default /agent/dashboard), no
|
|
43
|
+
// separate install. It only mounts once `governanceAuthorize` is set (every panel but Quota reads
|
|
44
|
+
// the cross-actor governance routes, which need that gate too — see the docs). Toggle it off,
|
|
45
|
+
// relocate it, or add an extra gate on top of governanceAuthorize:
|
|
46
|
+
// dashboard: { enabled: true, path: '/agent/dashboard', authorize: (actor) => actor.roles?.includes('ADMIN') ?? false },
|
|
47
|
+
// governanceAuthorize: (actor) => actor.roles?.includes('ADMIN') ?? false,
|
|
48
|
+
|
|
42
49
|
// Multimodal uploads — mounts POST /agent/attachments, which stages a file into a model-fetchable
|
|
43
50
|
// MessageAttachment the client sends back with its next chat message. Bind your own store (presign
|
|
44
51
|
// S3/GCS or wrap your media pipeline); `attachmentStores.memory()` inlines bytes as a data: URL.
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonis-agora/agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "git+https://github.com/DavideCarvalho/adonis-agent.git",
|
|
8
|
+
"url": "git+https://github.com/DavideCarvalho/adonis-agora-agent.git",
|
|
9
9
|
"directory": "packages/adonis"
|
|
10
10
|
},
|
|
11
11
|
"author": "Davi Carvalho <davi@goflip.ai>",
|
|
@@ -58,6 +58,16 @@
|
|
|
58
58
|
"import": "./dist/providers/agent_provider.js",
|
|
59
59
|
"default": "./dist/providers/agent_provider.js"
|
|
60
60
|
},
|
|
61
|
+
"./dashboard_provider": {
|
|
62
|
+
"types": "./dist/providers/dashboard_provider.d.ts",
|
|
63
|
+
"import": "./dist/providers/dashboard_provider.js",
|
|
64
|
+
"default": "./dist/providers/dashboard_provider.js"
|
|
65
|
+
},
|
|
66
|
+
"./dashboard": {
|
|
67
|
+
"types": "./dist/src/dashboard/index.d.ts",
|
|
68
|
+
"import": "./dist/src/dashboard/index.js",
|
|
69
|
+
"default": "./dist/src/dashboard/index.js"
|
|
70
|
+
},
|
|
61
71
|
"./configure": {
|
|
62
72
|
"types": "./dist/configure.d.ts",
|
|
63
73
|
"import": "./dist/configure.js",
|
|
@@ -106,8 +116,8 @@
|
|
|
106
116
|
],
|
|
107
117
|
"sideEffects": false,
|
|
108
118
|
"dependencies": {
|
|
109
|
-
"@modelcontextprotocol/sdk": "
|
|
110
|
-
"@standard-schema/spec": "
|
|
119
|
+
"@modelcontextprotocol/sdk": "1.30.0",
|
|
120
|
+
"@standard-schema/spec": "1.1.0"
|
|
111
121
|
},
|
|
112
122
|
"peerDependencies": {
|
|
113
123
|
"@adonis-agora/authz": ">=0.4.2 <1.0.0",
|
|
@@ -166,27 +176,27 @@
|
|
|
166
176
|
}
|
|
167
177
|
},
|
|
168
178
|
"devDependencies": {
|
|
169
|
-
"@adonis-agora/authz": "
|
|
170
|
-
"@adonis-agora/diagnostics": "
|
|
179
|
+
"@adonis-agora/authz": "0.10.1",
|
|
180
|
+
"@adonis-agora/diagnostics": "0.2.5",
|
|
171
181
|
"@adonis-agora/durable": "0.21.0",
|
|
172
|
-
"@adonis-agora/telescope": "
|
|
173
|
-
"@adonisjs/assembler": "
|
|
182
|
+
"@adonis-agora/telescope": "0.6.0",
|
|
183
|
+
"@adonisjs/assembler": "8.4.0",
|
|
174
184
|
"@adonisjs/core": "7.4.0",
|
|
175
|
-
"@adonisjs/lucid": "
|
|
185
|
+
"@adonisjs/lucid": "22.4.2",
|
|
176
186
|
"@qdrant/js-client-rest": "1.19.0",
|
|
177
|
-
"@types/node": "
|
|
187
|
+
"@types/node": "22.20.0",
|
|
178
188
|
"@types/react": "19.2.18",
|
|
179
189
|
"ai": "7.0.59",
|
|
180
|
-
"better-sqlite3": "
|
|
181
|
-
"luxon": "
|
|
182
|
-
"node-sql-parser": "
|
|
190
|
+
"better-sqlite3": "11.10.0",
|
|
191
|
+
"luxon": "3.7.2",
|
|
192
|
+
"node-sql-parser": "5.4.0",
|
|
183
193
|
"react": "19.2.8",
|
|
184
|
-
"typescript": "
|
|
185
|
-
"vitest": "
|
|
186
|
-
"zod": "
|
|
194
|
+
"typescript": "5.9.3",
|
|
195
|
+
"vitest": "3.2.7",
|
|
196
|
+
"zod": "3.25.76"
|
|
187
197
|
},
|
|
188
198
|
"engines": {
|
|
189
|
-
"node": "
|
|
199
|
+
"node": "v22.23.2"
|
|
190
200
|
},
|
|
191
201
|
"keywords": [
|
|
192
202
|
"adonisjs",
|
|
@@ -204,7 +214,7 @@
|
|
|
204
214
|
"build": "pnpm run clean && tsc -p tsconfig.build.json && pnpm run copy:stubs && pnpm run check:dist",
|
|
205
215
|
"check:dist": "node ../../scripts/assert-build-output.mjs dist src/index.js",
|
|
206
216
|
"clean": "rm -rf dist",
|
|
207
|
-
"copy:stubs": "mkdir -p dist/stubs/config dist/stubs/database/migrations && cp stubs/config/agent.stub dist/stubs/config/agent.stub && cp stubs/config/mcp.stub dist/stubs/config/mcp.stub && cp -r stubs/database/migrations/. dist/stubs/database/migrations/",
|
|
217
|
+
"copy:stubs": "mkdir -p dist/stubs/config dist/stubs/database/migrations dist/assets && cp stubs/config/agent.stub dist/stubs/config/agent.stub && cp stubs/config/mcp.stub dist/stubs/config/mcp.stub && cp -r stubs/database/migrations/. dist/stubs/database/migrations/ && rm -rf dist/assets/spa && cp -r ../dashboard/dist/spa dist/assets/spa",
|
|
208
218
|
"test": "vitest run --passWithNoTests",
|
|
209
219
|
"test:watch": "vitest",
|
|
210
220
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.tests.json"
|