@agentuity/runtime 1.0.39 → 1.0.40
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 +70 -1
- package/dist/app.d.ts +68 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +33 -0
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/app.ts +102 -0
- package/src/index.ts +2 -0
package/README.md
CHANGED
|
@@ -71,6 +71,43 @@ router.post('/greeting', greetingAgent.validator(), async (c) => {
|
|
|
71
71
|
export default router;
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
+
### Using Plain Hono with Agentuity Types
|
|
75
|
+
|
|
76
|
+
If you prefer using `new Hono()` directly instead of `createRouter()`, import the `Env` type to type Agentuity context variables (`c.var.logger`, `c.var.thread`, `c.var.session`, `c.var.kv`, etc.). These values are populated at runtime when the router is mounted through the Agentuity runtime (via `createApp()`):
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
import { type Env } from '@agentuity/runtime';
|
|
80
|
+
import { Hono } from 'hono';
|
|
81
|
+
|
|
82
|
+
const router = new Hono<Env>();
|
|
83
|
+
|
|
84
|
+
router.get('/hello', (c) => {
|
|
85
|
+
// All Agentuity context variables are fully typed
|
|
86
|
+
c.var.logger.info('Request from thread %s', c.var.thread.id);
|
|
87
|
+
return c.json({ sessionId: c.var.sessionId });
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
export default router;
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
With custom application state:
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { type Env } from '@agentuity/runtime';
|
|
97
|
+
import { Hono } from 'hono';
|
|
98
|
+
|
|
99
|
+
interface MyAppState {
|
|
100
|
+
db: Database;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const router = new Hono<Env<MyAppState>>();
|
|
104
|
+
|
|
105
|
+
router.get('/data', (c) => {
|
|
106
|
+
const db = c.var.app.db; // typed as Database
|
|
107
|
+
return c.json({ connected: true });
|
|
108
|
+
});
|
|
109
|
+
```
|
|
110
|
+
|
|
74
111
|
### Streaming Responses
|
|
75
112
|
|
|
76
113
|
```typescript
|
|
@@ -162,7 +199,7 @@ Creates a type-safe agent with input/output validation.
|
|
|
162
199
|
|
|
163
200
|
### createRouter()
|
|
164
201
|
|
|
165
|
-
Creates a new router for
|
|
202
|
+
Creates a new Hono router pre-typed with `Env` for Agentuity context variables. This is equivalent to `new Hono<Env>()` but is the recommended approach.
|
|
166
203
|
|
|
167
204
|
**Methods:**
|
|
168
205
|
|
|
@@ -177,6 +214,38 @@ Use these middleware functions with standard HTTP methods:
|
|
|
177
214
|
- `stream((c) => ReadableStream)` - Streaming responses (use with `router.post()`)
|
|
178
215
|
- `cron(schedule, (c) => { ... })` - Scheduled tasks (use with `router.post()`)
|
|
179
216
|
|
|
217
|
+
### Env\<TAppState\>
|
|
218
|
+
|
|
219
|
+
The Hono environment type that provides typed access to Agentuity context variables in route handlers. Use this when creating a plain `new Hono()` instance instead of `createRouter()`.
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
import { type Env } from '@agentuity/runtime';
|
|
223
|
+
import { Hono } from 'hono';
|
|
224
|
+
|
|
225
|
+
const router = new Hono<Env>();
|
|
226
|
+
// c.var.logger, c.var.thread, c.var.session, c.var.kv, etc. are typed
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**Variables provided by Env:**
|
|
230
|
+
|
|
231
|
+
| Variable | Type | Description |
|
|
232
|
+
| ----------- | ----------------- | ----------------------------- |
|
|
233
|
+
| `logger` | `Logger` | Structured logger |
|
|
234
|
+
| `tracer` | `Tracer` | OpenTelemetry tracer |
|
|
235
|
+
| `meter` | `Meter` | OpenTelemetry meter |
|
|
236
|
+
| `sessionId` | `string` | Current session ID |
|
|
237
|
+
| `thread` | `Thread` | Thread information and state |
|
|
238
|
+
| `session` | `Session` | Session information and state |
|
|
239
|
+
| `kv` | `KeyValueStorage` | Key-value storage |
|
|
240
|
+
| `stream` | `StreamStorage` | Stream storage |
|
|
241
|
+
| `vector` | `VectorStorage` | Vector storage |
|
|
242
|
+
| `sandbox` | `SandboxService` | Sandbox service |
|
|
243
|
+
| `queue` | `QueueService` | Queue service |
|
|
244
|
+
| `email` | `EmailService` | Email service |
|
|
245
|
+
| `schedule` | `ScheduleService` | Schedule service |
|
|
246
|
+
| `task` | `TaskStorage` | Task storage |
|
|
247
|
+
| `app` | `TAppState` | Custom application state |
|
|
248
|
+
|
|
180
249
|
### AgentContext
|
|
181
250
|
|
|
182
251
|
Context object available in agent handlers:
|
package/dist/app.d.ts
CHANGED
|
@@ -202,6 +202,67 @@ export interface AppConfig<TAppState = Record<string, never>> {
|
|
|
202
202
|
* to zero which will cause the request to wait indefinitely.
|
|
203
203
|
*/
|
|
204
204
|
requestTimeout?: number;
|
|
205
|
+
/**
|
|
206
|
+
* **Experimental** — Optional user-provided router(s) to use instead of file-based routing.
|
|
207
|
+
*
|
|
208
|
+
* When provided, the CLI's generated entry file mounts these routers instead
|
|
209
|
+
* of auto-discovering individual route files from `src/api/`. All Agentuity
|
|
210
|
+
* middleware (CORS, OTel, agent context) is applied to each mount path.
|
|
211
|
+
*
|
|
212
|
+
* Accepts three forms:
|
|
213
|
+
* - A plain `Hono` instance → mounted at `/api` (default)
|
|
214
|
+
* - A `{ path, router }` object → mounted at the specified path
|
|
215
|
+
* - An array of `{ path, router }` objects → each mounted at its path
|
|
216
|
+
*
|
|
217
|
+
* Use `createRouter()` to get typed access to Agentuity context variables
|
|
218
|
+
* (`c.var.logger`, `c.var.thread`, `c.var.session`, etc.), or use
|
|
219
|
+
* `new Hono<Env>()` for the same types with a plain Hono instance.
|
|
220
|
+
*
|
|
221
|
+
* @experimental This API may change in future releases.
|
|
222
|
+
*
|
|
223
|
+
* @example Single router (mounted at /api)
|
|
224
|
+
* ```typescript
|
|
225
|
+
* const router = createRouter();
|
|
226
|
+
* router.route('/users', usersRouter);
|
|
227
|
+
* export const app = await createApp({ router });
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* @example Single router at custom path
|
|
231
|
+
* ```typescript
|
|
232
|
+
* const router = createRouter();
|
|
233
|
+
* router.route('/users', usersRouter);
|
|
234
|
+
* export const app = await createApp({
|
|
235
|
+
* router: { path: '/v1', router },
|
|
236
|
+
* });
|
|
237
|
+
* ```
|
|
238
|
+
*
|
|
239
|
+
* @example Multiple routers at different paths
|
|
240
|
+
* ```typescript
|
|
241
|
+
* export const app = await createApp({
|
|
242
|
+
* router: [
|
|
243
|
+
* { path: '/api/v1', router: v1Router },
|
|
244
|
+
* { path: '/api/v2', router: v2Router },
|
|
245
|
+
* ],
|
|
246
|
+
* });
|
|
247
|
+
* ```
|
|
248
|
+
*/
|
|
249
|
+
router?: import('hono').Hono<any, any, any> | RouteMount | RouteMount[];
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* A user-provided router with its mount path.
|
|
253
|
+
*
|
|
254
|
+
* @experimental This API may change in future releases.
|
|
255
|
+
*/
|
|
256
|
+
export interface RouteMount {
|
|
257
|
+
/**
|
|
258
|
+
* The base path to mount the router at (e.g. `/api`, `/api/v1`).
|
|
259
|
+
* Agentuity middleware (CORS, OTel, agent context) is applied to `{path}/*`.
|
|
260
|
+
*/
|
|
261
|
+
path: string;
|
|
262
|
+
/**
|
|
263
|
+
* The Hono router to mount.
|
|
264
|
+
*/
|
|
265
|
+
router: import('hono').Hono<any, any, any>;
|
|
205
266
|
}
|
|
206
267
|
export interface Variables<TAppState = Record<string, never>> {
|
|
207
268
|
logger: Logger;
|
|
@@ -321,6 +382,13 @@ export declare function getAppState<TAppState = any>(): TAppState;
|
|
|
321
382
|
* Used by generated entry file for middleware setup
|
|
322
383
|
*/
|
|
323
384
|
export declare function getAppConfig<TAppState = any>(): AppConfig<TAppState> | undefined;
|
|
385
|
+
/**
|
|
386
|
+
* Get the user-provided router mounts from createApp({ router }).
|
|
387
|
+
* Returns undefined if no user router was provided (file-based routing).
|
|
388
|
+
* Used by generated entry file to skip file-based route discovery.
|
|
389
|
+
* @internal
|
|
390
|
+
*/
|
|
391
|
+
export declare function getUserRouter(): RouteMount[] | undefined;
|
|
324
392
|
/**
|
|
325
393
|
* Set the global app config (for testing purposes)
|
|
326
394
|
* @internal
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/app.js
CHANGED
|
@@ -43,6 +43,11 @@ export async function createApp(config) {
|
|
|
43
43
|
// Store state and config globally for generated entry file to access
|
|
44
44
|
globalThis.__AGENTUITY_APP_STATE__ = state;
|
|
45
45
|
globalThis.__AGENTUITY_APP_CONFIG__ = config;
|
|
46
|
+
// Store user-provided router(s) normalized as RouteMount[] for the entry file.
|
|
47
|
+
// When set, the entry file mounts these instead of auto-discovered route files.
|
|
48
|
+
if (config?.router) {
|
|
49
|
+
globalThis.__AGENTUITY_USER_ROUTER__ = normalizeRouterConfig(config.router);
|
|
50
|
+
}
|
|
46
51
|
// Store shutdown function for cleanup
|
|
47
52
|
const shutdown = config?.shutdown;
|
|
48
53
|
if (shutdown) {
|
|
@@ -134,6 +139,34 @@ export function getAppState() {
|
|
|
134
139
|
export function getAppConfig() {
|
|
135
140
|
return globalThis.__AGENTUITY_APP_CONFIG__;
|
|
136
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Normalize the router config into a consistent RouteMount[] form.
|
|
144
|
+
* - Plain Hono → [{ path: '/api', router }]
|
|
145
|
+
* - { path, router } → [{ path, router }]
|
|
146
|
+
* - [{ path, router }, ...] → as-is
|
|
147
|
+
* @internal
|
|
148
|
+
*/
|
|
149
|
+
function normalizeRouterConfig(
|
|
150
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
151
|
+
router) {
|
|
152
|
+
if (Array.isArray(router)) {
|
|
153
|
+
return router;
|
|
154
|
+
}
|
|
155
|
+
if ('router' in router && 'path' in router) {
|
|
156
|
+
return [router];
|
|
157
|
+
}
|
|
158
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
159
|
+
return [{ path: '/api', router: router }];
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get the user-provided router mounts from createApp({ router }).
|
|
163
|
+
* Returns undefined if no user router was provided (file-based routing).
|
|
164
|
+
* Used by generated entry file to skip file-based route discovery.
|
|
165
|
+
* @internal
|
|
166
|
+
*/
|
|
167
|
+
export function getUserRouter() {
|
|
168
|
+
return globalThis.__AGENTUITY_USER_ROUTER__;
|
|
169
|
+
}
|
|
137
170
|
/**
|
|
138
171
|
* Set the global app config (for testing purposes)
|
|
139
172
|
* @internal
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAyUA;;;GAGG;AACH,MAAM,UAAU,MAAM;IACrB,OAAO,IAAI,CAAC;AACb,CAAC;AAED,yCAAyC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACN,gBAAgB,IAAI,sBAAsB,EAC1C,mBAAmB,IAAI,yBAAyB,GAChD,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA0DjD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,MAA6B;IAE7B,6BAA6B;IAC7B,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAE,EAAgB,CAAC;IAEvE,qEAAqE;IACpE,UAAkB,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACnD,UAAkB,CAAC,wBAAwB,GAAG,MAAM,CAAC;IAEtD,+EAA+E;IAC/E,gFAAgF;IAChF,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QACnB,UAAkB,CAAC,yBAAyB,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtF,CAAC;IAED,sCAAsC;IACtC,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,UAAkB,CAAC,sBAAsB,GAAG,QAAQ,CAAC;IACvD,CAAC;IAED,kEAAkE;IAClE,4EAA4E;IAC5E,sEAAsE;IACtE,uFAAuF;IACvF,MAAM,MAAM,GAAW;QACtB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACjB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;;gBACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YACjB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;;gBACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;;gBACrB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAI,EAAS,EAAE;YACzB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,IAAI,EAAE;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACjC,+DAA+D;YAC/D,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;YACnB,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzC,CAAC;KACD,CAAC;IAEF,sCAAsC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC;IACxC,MAAM,MAAM,GAAW;QACtB,GAAG,EAAE,oBAAoB,IAAI,EAAE;KAC/B,CAAC;IAEF,kEAAkE;IAClE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC;IACjC,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACd,qLAAqL,CACrL,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,YAAoC,CAAC;IAEpD,OAAO;QACN,KAAK;QACL,QAAQ;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,gBAAgB,EAAE,sBAAsB;QACxC,mBAAmB,EAAE,yBAAyB;KAC9C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IAC1B,OAAQ,UAAkB,CAAC,uBAAuB,IAAK,EAAgB,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAQ,UAAkB,CAAC,wBAAwB,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB;AAC7B,8DAA8D;AAC9D,MAAsE;IAEtE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAoB,CAAC,CAAC;IAC/B,CAAC;IACD,8DAA8D;IAC9D,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAA4C,EAAE,CAAC,CAAC;AACjF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC5B,OAAQ,UAAkB,CAAC,yBAAyB,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAkB,MAAwC;IACrF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAQ,UAAkB,CAAC,wBAAwB,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,UAAkB,CAAC,wBAAwB,GAAG,MAAM,CAAC;IACvD,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AAO3E;;GAEG;AACH,SAAS,gBAAgB;IACxB,MAAM,MAAM,GAAG,UAA4C,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAkB;IACtD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,GAAG,EAAE;QACX,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAChC,oCAAoC;IACpC,MAAM,QAAQ,GAAI,UAAkB,CAAC,sBAAsB,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,wDAAwD;IACxD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC;YACJ,MAAM,IAAI,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACR,sCAAsC;QACvC,CAAC;IACF,CAAC;AACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { type AgentContext, type AgentEventName, type AgentEventCallback, type AgentRuntimeState, type CreateEvalConfig, type AgentValidator, type Agent, type CreateAgentConfig, type AgentRunner, getGlobalRuntimeState, getAgentRuntime, type AgentName, type AgentRegistry, registerAgent, setAgentConfig, getAgentConfig, type CreateAgentConfigExplicit, createAgent, populateAgentsRegistry, createAgentMiddleware, getAgents, runAgentSetups, runAgentShutdowns, runInAgentContext, } from './agent';
|
|
2
|
-
export { type AppConfig, type CompressionConfig, type CorsConfig, type Variables, type TriggerType, type PrivateVariables, type Env, type AppResult, type ShutdownHook, createApp, getApp, getAppState, getAppConfig, runShutdown, registerShutdownHook, fireEvent, } from './app';
|
|
2
|
+
export { type AppConfig, type CompressionConfig, type CorsConfig, type Variables, type TriggerType, type PrivateVariables, type Env, type RouteMount, type AppResult, type ShutdownHook, createApp, getApp, getAppState, getAppConfig, getUserRouter, runShutdown, registerShutdownHook, fireEvent, } from './app';
|
|
3
3
|
export { createTrustedCorsOrigin, type TrustedCorsOriginOptions } from './cors';
|
|
4
4
|
export { addEventListener, removeEventListener } from './_events';
|
|
5
5
|
export { createBaseMiddleware, createCorsMiddleware, createOtelMiddleware, createCompressionMiddleware, createWebSessionMiddleware, getSessionSecret, } from './middleware';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// agent.ts exports
|
|
2
2
|
export { getGlobalRuntimeState, getAgentRuntime, registerAgent, setAgentConfig, getAgentConfig, createAgent, populateAgentsRegistry, createAgentMiddleware, getAgents, runAgentSetups, runAgentShutdowns, runInAgentContext, } from './agent';
|
|
3
3
|
// app.ts exports (all app-related functionality)
|
|
4
|
-
export { createApp, getApp, getAppState, getAppConfig, runShutdown, registerShutdownHook, fireEvent, } from './app';
|
|
4
|
+
export { createApp, getApp, getAppState, getAppConfig, getUserRouter, runShutdown, registerShutdownHook, fireEvent, } from './app';
|
|
5
5
|
// cors.ts exports (trusted origin helpers)
|
|
6
6
|
export { createTrustedCorsOrigin } from './cors';
|
|
7
7
|
export { addEventListener, removeEventListener } from './_events';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAUN,qBAAqB,EACrB,eAAe,EAGf,aAAa,EACb,cAAc,EACd,cAAc,EAEd,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,SAAS,CAAC;AAEjB,iDAAiD;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/runtime",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.40",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
"prepublishOnly": "bun run clean && bun run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@agentuity/auth": "1.0.
|
|
30
|
-
"@agentuity/core": "1.0.
|
|
31
|
-
"@agentuity/frontend": "1.0.
|
|
32
|
-
"@agentuity/schema": "1.0.
|
|
33
|
-
"@agentuity/server": "1.0.
|
|
29
|
+
"@agentuity/auth": "1.0.40",
|
|
30
|
+
"@agentuity/core": "1.0.40",
|
|
31
|
+
"@agentuity/frontend": "1.0.40",
|
|
32
|
+
"@agentuity/schema": "1.0.40",
|
|
33
|
+
"@agentuity/server": "1.0.40",
|
|
34
34
|
"@opentelemetry/api": "^1.9.0",
|
|
35
35
|
"@opentelemetry/api-logs": "^0.207.0",
|
|
36
36
|
"@opentelemetry/auto-instrumentations-node": "^0.66.0",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"zod": "^4.3.5"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@agentuity/test-utils": "1.0.
|
|
53
|
+
"@agentuity/test-utils": "1.0.40",
|
|
54
54
|
"@types/bun": "latest",
|
|
55
55
|
"@types/react": "^19.2.2",
|
|
56
56
|
"@types/react-dom": "^19.2.2",
|
package/src/app.ts
CHANGED
|
@@ -226,6 +226,71 @@ export interface AppConfig<TAppState = Record<string, never>> {
|
|
|
226
226
|
* to zero which will cause the request to wait indefinitely.
|
|
227
227
|
*/
|
|
228
228
|
requestTimeout?: number;
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* **Experimental** — Optional user-provided router(s) to use instead of file-based routing.
|
|
232
|
+
*
|
|
233
|
+
* When provided, the CLI's generated entry file mounts these routers instead
|
|
234
|
+
* of auto-discovering individual route files from `src/api/`. All Agentuity
|
|
235
|
+
* middleware (CORS, OTel, agent context) is applied to each mount path.
|
|
236
|
+
*
|
|
237
|
+
* Accepts three forms:
|
|
238
|
+
* - A plain `Hono` instance → mounted at `/api` (default)
|
|
239
|
+
* - A `{ path, router }` object → mounted at the specified path
|
|
240
|
+
* - An array of `{ path, router }` objects → each mounted at its path
|
|
241
|
+
*
|
|
242
|
+
* Use `createRouter()` to get typed access to Agentuity context variables
|
|
243
|
+
* (`c.var.logger`, `c.var.thread`, `c.var.session`, etc.), or use
|
|
244
|
+
* `new Hono<Env>()` for the same types with a plain Hono instance.
|
|
245
|
+
*
|
|
246
|
+
* @experimental This API may change in future releases.
|
|
247
|
+
*
|
|
248
|
+
* @example Single router (mounted at /api)
|
|
249
|
+
* ```typescript
|
|
250
|
+
* const router = createRouter();
|
|
251
|
+
* router.route('/users', usersRouter);
|
|
252
|
+
* export const app = await createApp({ router });
|
|
253
|
+
* ```
|
|
254
|
+
*
|
|
255
|
+
* @example Single router at custom path
|
|
256
|
+
* ```typescript
|
|
257
|
+
* const router = createRouter();
|
|
258
|
+
* router.route('/users', usersRouter);
|
|
259
|
+
* export const app = await createApp({
|
|
260
|
+
* router: { path: '/v1', router },
|
|
261
|
+
* });
|
|
262
|
+
* ```
|
|
263
|
+
*
|
|
264
|
+
* @example Multiple routers at different paths
|
|
265
|
+
* ```typescript
|
|
266
|
+
* export const app = await createApp({
|
|
267
|
+
* router: [
|
|
268
|
+
* { path: '/api/v1', router: v1Router },
|
|
269
|
+
* { path: '/api/v2', router: v2Router },
|
|
270
|
+
* ],
|
|
271
|
+
* });
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
275
|
+
router?: import('hono').Hono<any, any, any> | RouteMount | RouteMount[];
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* A user-provided router with its mount path.
|
|
280
|
+
*
|
|
281
|
+
* @experimental This API may change in future releases.
|
|
282
|
+
*/
|
|
283
|
+
export interface RouteMount {
|
|
284
|
+
/**
|
|
285
|
+
* The base path to mount the router at (e.g. `/api`, `/api/v1`).
|
|
286
|
+
* Agentuity middleware (CORS, OTel, agent context) is applied to `{path}/*`.
|
|
287
|
+
*/
|
|
288
|
+
path: string;
|
|
289
|
+
/**
|
|
290
|
+
* The Hono router to mount.
|
|
291
|
+
*/
|
|
292
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
293
|
+
router: import('hono').Hono<any, any, any>;
|
|
229
294
|
}
|
|
230
295
|
|
|
231
296
|
export interface Variables<TAppState = Record<string, never>> {
|
|
@@ -373,6 +438,12 @@ export async function createApp<TAppState = Record<string, never>>(
|
|
|
373
438
|
(globalThis as any).__AGENTUITY_APP_STATE__ = state;
|
|
374
439
|
(globalThis as any).__AGENTUITY_APP_CONFIG__ = config;
|
|
375
440
|
|
|
441
|
+
// Store user-provided router(s) normalized as RouteMount[] for the entry file.
|
|
442
|
+
// When set, the entry file mounts these instead of auto-discovered route files.
|
|
443
|
+
if (config?.router) {
|
|
444
|
+
(globalThis as any).__AGENTUITY_USER_ROUTER__ = normalizeRouterConfig(config.router);
|
|
445
|
+
}
|
|
446
|
+
|
|
376
447
|
// Store shutdown function for cleanup
|
|
377
448
|
const shutdown = config?.shutdown;
|
|
378
449
|
if (shutdown) {
|
|
@@ -464,6 +535,37 @@ export function getAppConfig<TAppState = any>(): AppConfig<TAppState> | undefine
|
|
|
464
535
|
return (globalThis as any).__AGENTUITY_APP_CONFIG__;
|
|
465
536
|
}
|
|
466
537
|
|
|
538
|
+
/**
|
|
539
|
+
* Normalize the router config into a consistent RouteMount[] form.
|
|
540
|
+
* - Plain Hono → [{ path: '/api', router }]
|
|
541
|
+
* - { path, router } → [{ path, router }]
|
|
542
|
+
* - [{ path, router }, ...] → as-is
|
|
543
|
+
* @internal
|
|
544
|
+
*/
|
|
545
|
+
function normalizeRouterConfig(
|
|
546
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
547
|
+
router: import('hono').Hono<any, any, any> | RouteMount | RouteMount[]
|
|
548
|
+
): RouteMount[] {
|
|
549
|
+
if (Array.isArray(router)) {
|
|
550
|
+
return router;
|
|
551
|
+
}
|
|
552
|
+
if ('router' in router && 'path' in router) {
|
|
553
|
+
return [router as RouteMount];
|
|
554
|
+
}
|
|
555
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
556
|
+
return [{ path: '/api', router: router as import('hono').Hono<any, any, any> }];
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* Get the user-provided router mounts from createApp({ router }).
|
|
561
|
+
* Returns undefined if no user router was provided (file-based routing).
|
|
562
|
+
* Used by generated entry file to skip file-based route discovery.
|
|
563
|
+
* @internal
|
|
564
|
+
*/
|
|
565
|
+
export function getUserRouter(): RouteMount[] | undefined {
|
|
566
|
+
return (globalThis as any).__AGENTUITY_USER_ROUTER__;
|
|
567
|
+
}
|
|
568
|
+
|
|
467
569
|
/**
|
|
468
570
|
* Set the global app config (for testing purposes)
|
|
469
571
|
* @internal
|
package/src/index.ts
CHANGED
|
@@ -35,12 +35,14 @@ export {
|
|
|
35
35
|
type TriggerType,
|
|
36
36
|
type PrivateVariables,
|
|
37
37
|
type Env,
|
|
38
|
+
type RouteMount,
|
|
38
39
|
type AppResult,
|
|
39
40
|
type ShutdownHook,
|
|
40
41
|
createApp,
|
|
41
42
|
getApp,
|
|
42
43
|
getAppState,
|
|
43
44
|
getAppConfig,
|
|
45
|
+
getUserRouter,
|
|
44
46
|
runShutdown,
|
|
45
47
|
registerShutdownHook,
|
|
46
48
|
fireEvent,
|