@agentuity/runtime 0.0.109 → 0.0.111
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/AGENTS.md +44 -2
- package/dist/_context.d.ts +20 -0
- package/dist/_context.d.ts.map +1 -1
- package/dist/_context.js +37 -0
- package/dist/_context.js.map +1 -1
- package/dist/_metadata.d.ts +7 -1
- package/dist/_metadata.d.ts.map +1 -1
- package/dist/_metadata.js +35 -2
- package/dist/_metadata.js.map +1 -1
- package/dist/_standalone.d.ts +1 -0
- package/dist/_standalone.d.ts.map +1 -1
- package/dist/_standalone.js +11 -3
- package/dist/_standalone.js.map +1 -1
- package/dist/agent.d.ts +31 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +8 -5
- package/dist/agent.js.map +1 -1
- package/dist/eval.d.ts +11 -8
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +4 -2
- package/dist/eval.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/thread/local.d.ts.map +1 -1
- package/dist/services/thread/local.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js.map +1 -1
- package/dist/workbench.d.ts.map +1 -1
- package/dist/workbench.js +63 -23
- package/dist/workbench.js.map +1 -1
- package/package.json +7 -6
- package/src/_context.ts +48 -1
- package/src/_metadata.ts +42 -3
- package/src/_standalone.ts +12 -3
- package/src/agent.ts +41 -7
- package/src/eval.ts +11 -8
- package/src/index.ts +4 -0
- package/src/services/thread/local.ts +2 -1
- package/src/session.ts +4 -1
- package/src/workbench.ts +93 -29
package/dist/workbench.js
CHANGED
|
@@ -5,7 +5,63 @@ import { createRouter } from './router';
|
|
|
5
5
|
import { websocket } from './handlers/websocket';
|
|
6
6
|
import { privateContext } from './_server';
|
|
7
7
|
import { getThreadProvider } from './_services';
|
|
8
|
-
import { loadBuildMetadata, getAgentMetadataByAgentId, hasMetadata } from './_metadata';
|
|
8
|
+
import { loadBuildMetadata, getAgentMetadataByAgentId, hasMetadata, ensureAgentsImported, } from './_metadata';
|
|
9
|
+
import { TOKENS_HEADER, DURATION_HEADER } from './_tokens';
|
|
10
|
+
/**
|
|
11
|
+
* Middleware that captures execution metadata (tokens, duration, sessionId) after the handler completes
|
|
12
|
+
* and saves it to thread state. Applied only to the /execute route.
|
|
13
|
+
*/
|
|
14
|
+
const createWorkbenchExecutionMetadataMiddleware = () => {
|
|
15
|
+
return async (ctx, next) => {
|
|
16
|
+
const started = performance.now();
|
|
17
|
+
await next();
|
|
18
|
+
// After handler completes, tokens and duration headers are available
|
|
19
|
+
const thread = ctx.var.thread;
|
|
20
|
+
if (!thread) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// Get execution context set by the handler
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
|
+
const executionCtx = ctx.var.workbenchExecution;
|
|
26
|
+
if (!executionCtx) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const { agentId, input, result } = executionCtx;
|
|
30
|
+
const agentMessagesKey = `messages_${agentId}`;
|
|
31
|
+
const maxMessages = 50;
|
|
32
|
+
// Read tokens and duration from response headers
|
|
33
|
+
const tokens = ctx.res.headers.get(TOKENS_HEADER) ?? undefined;
|
|
34
|
+
const duration = ctx.res.headers.get(DURATION_HEADER) ??
|
|
35
|
+
`${((performance.now() - started) / 1000).toFixed(1)}s`;
|
|
36
|
+
const sessionId = ctx.var.sessionId;
|
|
37
|
+
// Store input with metadata
|
|
38
|
+
await thread.state.push(agentMessagesKey, {
|
|
39
|
+
type: 'input',
|
|
40
|
+
data: input,
|
|
41
|
+
sessionId,
|
|
42
|
+
timestamp: Date.now(),
|
|
43
|
+
}, maxMessages);
|
|
44
|
+
// Store output with metadata (tokens, duration)
|
|
45
|
+
if (result !== undefined && result !== null) {
|
|
46
|
+
await thread.state.push(agentMessagesKey, {
|
|
47
|
+
type: 'output',
|
|
48
|
+
data: result,
|
|
49
|
+
sessionId,
|
|
50
|
+
tokens,
|
|
51
|
+
duration,
|
|
52
|
+
timestamp: Date.now(),
|
|
53
|
+
}, maxMessages);
|
|
54
|
+
}
|
|
55
|
+
// Save thread state
|
|
56
|
+
try {
|
|
57
|
+
const threadProvider = getThreadProvider();
|
|
58
|
+
await threadProvider.save(thread);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
ctx.var.logger?.warn('Failed to save thread state');
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
};
|
|
9
65
|
export const createWorkbenchExecutionRoute = () => {
|
|
10
66
|
const authHeader = process.env.AGENTUITY_WORKBENCH_APIKEY
|
|
11
67
|
? `Bearer ${process.env.AGENTUITY_WORKBENCH_APIKEY}`
|
|
@@ -77,27 +133,9 @@ export const createWorkbenchExecutionRoute = () => {
|
|
|
77
133
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
78
134
|
result = await agentObj.handler();
|
|
79
135
|
}
|
|
80
|
-
// Store
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
const agentMessagesKey = `messages_${agentId}`;
|
|
84
|
-
const maxMessages = 50;
|
|
85
|
-
await ctx.var.thread.state.push(agentMessagesKey, { type: 'input', data: input }, maxMessages);
|
|
86
|
-
if (result !== undefined && result !== null) {
|
|
87
|
-
await ctx.var.thread.state.push(agentMessagesKey, { type: 'output', data: result }, maxMessages);
|
|
88
|
-
}
|
|
89
|
-
// Manually save the thread to ensure state persists
|
|
90
|
-
try {
|
|
91
|
-
const threadProvider = getThreadProvider();
|
|
92
|
-
await threadProvider.save(ctx.var.thread);
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
ctx.var.logger?.warn('Failed to save thread state');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
ctx.var.logger?.warn('Thread not available in workbench execution route');
|
|
100
|
-
}
|
|
136
|
+
// Store execution context for the metadata middleware to save with tokens/duration
|
|
137
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
138
|
+
ctx.set('workbenchExecution', { agentId, input, result });
|
|
101
139
|
return ctx.json({ success: true, data: result ?? null });
|
|
102
140
|
}
|
|
103
141
|
catch (error) {
|
|
@@ -235,7 +273,7 @@ export const createWorkbenchRouter = () => {
|
|
|
235
273
|
router.get('/_agentuity/workbench/sample', createWorkbenchSampleRoute());
|
|
236
274
|
router.get('/_agentuity/workbench/state', createWorkbenchStateRoute());
|
|
237
275
|
router.delete('/_agentuity/workbench/state', createWorkbenchClearStateRoute());
|
|
238
|
-
router.post('/_agentuity/workbench/execute', createWorkbenchExecutionRoute());
|
|
276
|
+
router.post('/_agentuity/workbench/execute', createWorkbenchExecutionMetadataMiddleware(), createWorkbenchExecutionRoute());
|
|
239
277
|
return router;
|
|
240
278
|
};
|
|
241
279
|
export const createWorkbenchSampleRoute = () => {
|
|
@@ -380,6 +418,8 @@ export const createWorkbenchMetadataRoute = () => {
|
|
|
380
418
|
return ctx.json({ error: 'Metadata file not found. Run build to generate metadata.' }, { status: 500 });
|
|
381
419
|
}
|
|
382
420
|
try {
|
|
421
|
+
// Ensure all agents are imported so their schemas are available
|
|
422
|
+
await ensureAgentsImported();
|
|
383
423
|
// Get runtime agents for JSON schema generation
|
|
384
424
|
const agents = getAgents();
|
|
385
425
|
const agentsByName = new Map();
|
package/dist/workbench.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench.js","sourceRoot":"","sources":["../src/workbench.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workbench.js","sourceRoot":"","sources":["../src/workbench.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/runtime",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.111",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -26,9 +26,10 @@
|
|
|
26
26
|
"prepublishOnly": "bun run clean && bun run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@agentuity/
|
|
30
|
-
"@agentuity/
|
|
31
|
-
"@agentuity/
|
|
29
|
+
"@agentuity/auth": "0.0.111",
|
|
30
|
+
"@agentuity/core": "0.0.111",
|
|
31
|
+
"@agentuity/schema": "0.0.111",
|
|
32
|
+
"@agentuity/server": "0.0.111",
|
|
32
33
|
"@opentelemetry/api": "^1.9.0",
|
|
33
34
|
"@opentelemetry/api-logs": "^0.207.0",
|
|
34
35
|
"@opentelemetry/auto-instrumentations-node": "^0.66.0",
|
|
@@ -47,10 +48,10 @@
|
|
|
47
48
|
"@traceloop/ai-semantic-conventions": "0.21.0",
|
|
48
49
|
"@traceloop/node-server-sdk": "0.21.1",
|
|
49
50
|
"hono": "^4.7.13",
|
|
50
|
-
"zod": "^4.
|
|
51
|
+
"zod": "^4.3.5"
|
|
51
52
|
},
|
|
52
53
|
"devDependencies": {
|
|
53
|
-
"@agentuity/test-utils": "0.0.
|
|
54
|
+
"@agentuity/test-utils": "0.0.111",
|
|
54
55
|
"@types/bun": "latest",
|
|
55
56
|
"@types/react": "^19.2.2",
|
|
56
57
|
"@types/react-dom": "^19.2.2",
|
package/src/_context.ts
CHANGED
|
@@ -8,7 +8,14 @@ import {
|
|
|
8
8
|
type VectorStorage,
|
|
9
9
|
type SandboxService,
|
|
10
10
|
} from '@agentuity/core';
|
|
11
|
-
import type {
|
|
11
|
+
import type { AuthInterface } from '@agentuity/auth';
|
|
12
|
+
import type {
|
|
13
|
+
AgentContext,
|
|
14
|
+
AgentRegistry,
|
|
15
|
+
AgentRunner,
|
|
16
|
+
AgentRuntimeState,
|
|
17
|
+
AgentMetadata,
|
|
18
|
+
} from './agent';
|
|
12
19
|
import { AGENT_RUNTIME, CURRENT_AGENT } from './_config';
|
|
13
20
|
import type { Logger } from './logger';
|
|
14
21
|
import type WaitUntilHandler from './_waituntil';
|
|
@@ -30,6 +37,7 @@ export interface RequestAgentContextArgs<
|
|
|
30
37
|
config: TConfig;
|
|
31
38
|
app: TAppState;
|
|
32
39
|
runtime: AgentRuntimeState;
|
|
40
|
+
auth?: AuthInterface | null;
|
|
33
41
|
}
|
|
34
42
|
|
|
35
43
|
export class RequestAgentContext<
|
|
@@ -55,6 +63,44 @@ export class RequestAgentContext<
|
|
|
55
63
|
[AGENT_RUNTIME]: AgentRuntimeState;
|
|
56
64
|
private handler: WaitUntilHandler;
|
|
57
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Fallback auth value for non-HTTP contexts (standalone, tests, etc.)
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
private _initialAuth: AuthInterface | null;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Authentication context - lazily reads from HTTP context if available.
|
|
74
|
+
*
|
|
75
|
+
* This is a getter that prefers the current HTTP context's `c.var.auth`,
|
|
76
|
+
* allowing auth middleware that runs after the agent middleware to still
|
|
77
|
+
* propagate auth to agents.
|
|
78
|
+
*/
|
|
79
|
+
get auth(): AuthInterface | null {
|
|
80
|
+
// Prefer HTTP context var.auth if available (allows late-binding from route middleware)
|
|
81
|
+
if (inHTTPContext()) {
|
|
82
|
+
try {
|
|
83
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
84
|
+
const httpCtx = httpAsyncLocalStorage.getStore() as any;
|
|
85
|
+
if (httpCtx?.var && 'auth' in httpCtx.var) {
|
|
86
|
+
return httpCtx.var.auth ?? null;
|
|
87
|
+
}
|
|
88
|
+
} catch {
|
|
89
|
+
// If HTTP context not available, fall through
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Fallback: whatever was passed in at creation time (for standalone/test contexts)
|
|
93
|
+
return this._initialAuth;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Set auth for non-HTTP contexts (standalone, tests).
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
set auth(value: AuthInterface | null) {
|
|
101
|
+
this._initialAuth = value;
|
|
102
|
+
}
|
|
103
|
+
|
|
58
104
|
constructor(args: RequestAgentContextArgs<TAgentMap, TConfig, TAppState>) {
|
|
59
105
|
this.agent = args.agent;
|
|
60
106
|
this.logger = args.logger;
|
|
@@ -64,6 +110,7 @@ export class RequestAgentContext<
|
|
|
64
110
|
this.session = args.session;
|
|
65
111
|
this.config = args.config;
|
|
66
112
|
this.app = args.app;
|
|
113
|
+
this._initialAuth = args.auth ?? null;
|
|
67
114
|
this[AGENT_RUNTIME] = args.runtime;
|
|
68
115
|
this.state = new Map<string, unknown>();
|
|
69
116
|
this.handler = args.handler;
|
package/src/_metadata.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface BuildMetadataAgent {
|
|
|
22
22
|
evals?: Array<{
|
|
23
23
|
filename: string;
|
|
24
24
|
id: string;
|
|
25
|
-
|
|
25
|
+
identifier: string;
|
|
26
26
|
name: string;
|
|
27
27
|
version: string;
|
|
28
28
|
description?: string;
|
|
@@ -228,7 +228,7 @@ function ensureAgentMaps(): void {
|
|
|
228
228
|
if (evalMeta.name) {
|
|
229
229
|
evalsByName.set(evalMeta.name, evalMeta);
|
|
230
230
|
internal.info(
|
|
231
|
-
`[metadata] Indexed eval: agent='${agent.name}' eval='${evalMeta.name}'
|
|
231
|
+
`[metadata] Indexed eval: agent='${agent.name}' eval='${evalMeta.name}' identifier='${evalMeta.identifier}'`
|
|
232
232
|
);
|
|
233
233
|
}
|
|
234
234
|
}
|
|
@@ -316,7 +316,7 @@ export function getEvalMetadata(
|
|
|
316
316
|
}
|
|
317
317
|
const result = agentEvals?.get(evalName);
|
|
318
318
|
internal.info(
|
|
319
|
-
`[metadata] getEvalMetadata result: ${result ? `found
|
|
319
|
+
`[metadata] getEvalMetadata result: ${result ? `found identifier=${result.identifier}` : 'not found'}`
|
|
320
320
|
);
|
|
321
321
|
return result;
|
|
322
322
|
}
|
|
@@ -339,6 +339,45 @@ export function hasMetadata(): boolean {
|
|
|
339
339
|
return loadBuildMetadata() !== undefined;
|
|
340
340
|
}
|
|
341
341
|
|
|
342
|
+
// Track if agents have been imported
|
|
343
|
+
let _agentsImported = false;
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Import all agents from metadata filenames to ensure they're registered.
|
|
347
|
+
* This is needed so that runtime schemas are available for JSON schema generation.
|
|
348
|
+
* Safe to call multiple times - will only import once.
|
|
349
|
+
*/
|
|
350
|
+
export async function ensureAgentsImported(): Promise<void> {
|
|
351
|
+
if (_agentsImported) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
const metadata = loadBuildMetadata();
|
|
356
|
+
if (!metadata?.agents?.length) {
|
|
357
|
+
_agentsImported = true;
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
internal.info('[metadata] ensureAgentsImported: importing %d agents', metadata.agents.length);
|
|
362
|
+
|
|
363
|
+
for (const agent of metadata.agents) {
|
|
364
|
+
if (!agent.filename) {
|
|
365
|
+
continue;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
try {
|
|
369
|
+
// Convert relative filename to absolute path from cwd
|
|
370
|
+
const absolutePath = join(process.cwd(), agent.filename);
|
|
371
|
+
internal.info('[metadata] importing agent: %s from %s', agent.name, absolutePath);
|
|
372
|
+
await import(absolutePath);
|
|
373
|
+
} catch (err) {
|
|
374
|
+
internal.info('[metadata] failed to import agent %s: %s', agent.name, err);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
_agentsImported = true;
|
|
379
|
+
}
|
|
380
|
+
|
|
342
381
|
/**
|
|
343
382
|
* Clear the metadata cache (useful for testing or hot reload)
|
|
344
383
|
*/
|
package/src/_standalone.ts
CHANGED
|
@@ -114,6 +114,7 @@ export class StandaloneAgentContext<
|
|
|
114
114
|
state: Map<string, unknown>;
|
|
115
115
|
session: Session;
|
|
116
116
|
thread: Thread;
|
|
117
|
+
auth: import('@agentuity/auth/types').AuthInterface | null;
|
|
117
118
|
[AGENT_IDS]?: Set<string>;
|
|
118
119
|
|
|
119
120
|
// Immutable options stored from constructor
|
|
@@ -183,6 +184,8 @@ export class StandaloneAgentContext<
|
|
|
183
184
|
serializeUserData: () => undefined,
|
|
184
185
|
} as Session);
|
|
185
186
|
|
|
187
|
+
this.auth = null;
|
|
188
|
+
|
|
186
189
|
// Create isolated runtime state
|
|
187
190
|
this[AGENT_RUNTIME] = {
|
|
188
191
|
agents: new Map(),
|
|
@@ -377,7 +380,9 @@ export class StandaloneAgentContext<
|
|
|
377
380
|
sessionEventProvider
|
|
378
381
|
.complete({
|
|
379
382
|
id: invocationSessionId,
|
|
380
|
-
threadId: (await invocationThread.empty())
|
|
383
|
+
threadId: (await invocationThread.empty())
|
|
384
|
+
? null
|
|
385
|
+
: invocationThread.id,
|
|
381
386
|
statusCode: 200, // Success
|
|
382
387
|
agentIds: Array.from(agentIds),
|
|
383
388
|
userData,
|
|
@@ -410,7 +415,9 @@ export class StandaloneAgentContext<
|
|
|
410
415
|
sessionEventProvider
|
|
411
416
|
.complete({
|
|
412
417
|
id: invocationSessionId,
|
|
413
|
-
threadId: (await invocationThread.empty())
|
|
418
|
+
threadId: (await invocationThread.empty())
|
|
419
|
+
? null
|
|
420
|
+
: invocationThread.id,
|
|
414
421
|
statusCode: 500, // Error
|
|
415
422
|
error: message,
|
|
416
423
|
agentIds: Array.from(agentIds),
|
|
@@ -434,7 +441,9 @@ export class StandaloneAgentContext<
|
|
|
434
441
|
sessionEventProvider
|
|
435
442
|
.complete({
|
|
436
443
|
id: invocationSessionId,
|
|
437
|
-
threadId: (await invocationThread.empty())
|
|
444
|
+
threadId: (await invocationThread.empty())
|
|
445
|
+
? null
|
|
446
|
+
: invocationThread.id,
|
|
438
447
|
statusCode: 200,
|
|
439
448
|
agentIds: Array.from(agentIds),
|
|
440
449
|
userData,
|
package/src/agent.ts
CHANGED
|
@@ -305,6 +305,37 @@ export interface AgentContext<
|
|
|
305
305
|
* ```
|
|
306
306
|
*/
|
|
307
307
|
current: AgentMetadata;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Authentication context when request is authenticated.
|
|
311
|
+
* Available when auth middleware is configured on the Hono app.
|
|
312
|
+
*
|
|
313
|
+
* Will be `null` for:
|
|
314
|
+
* - Unauthenticated requests
|
|
315
|
+
* - Cron jobs
|
|
316
|
+
* - Agent-to-agent calls without auth propagation
|
|
317
|
+
*
|
|
318
|
+
* @example
|
|
319
|
+
* ```typescript
|
|
320
|
+
* handler: async (ctx, input) => {
|
|
321
|
+
* if (!ctx.auth) {
|
|
322
|
+
* return { error: 'Please sign in' };
|
|
323
|
+
* }
|
|
324
|
+
*
|
|
325
|
+
* // Access user info
|
|
326
|
+
* const user = await ctx.auth.getUser();
|
|
327
|
+
* ctx.logger.info(`Request from ${user.email}`);
|
|
328
|
+
*
|
|
329
|
+
* // Check organization role
|
|
330
|
+
* if (await ctx.auth.hasOrgRole('admin')) {
|
|
331
|
+
* // Admin-only logic
|
|
332
|
+
* }
|
|
333
|
+
*
|
|
334
|
+
* return { userId: user.id };
|
|
335
|
+
* }
|
|
336
|
+
* ```
|
|
337
|
+
*/
|
|
338
|
+
auth: import('@agentuity/auth').AuthInterface | null;
|
|
308
339
|
}
|
|
309
340
|
|
|
310
341
|
type InternalAgentMetadata = {
|
|
@@ -636,7 +667,7 @@ export type Agent<
|
|
|
636
667
|
* **Method overloads:**
|
|
637
668
|
* - `agent.validator()` - Validates using agent's input/output schemas
|
|
638
669
|
* - `agent.validator({ output: schema })` - Output-only validation (no input validation)
|
|
639
|
-
* - `agent.validator({ input: schema })` - Custom input schema override
|
|
670
|
+
* - `agent.validator({ input: schema })` - Custom input schema override (skips agent's output validation)
|
|
640
671
|
* - `agent.validator({ input: schema, output: schema })` - Both input and output validated
|
|
641
672
|
*
|
|
642
673
|
* @returns Hono middleware handler with proper type inference
|
|
@@ -1675,7 +1706,7 @@ export function createAgent<
|
|
|
1675
1706
|
handler: EvalFunction<AgentInput, AgentOutput>;
|
|
1676
1707
|
metadata?: {
|
|
1677
1708
|
id?: string;
|
|
1678
|
-
|
|
1709
|
+
identifier?: string;
|
|
1679
1710
|
version?: string;
|
|
1680
1711
|
filename?: string;
|
|
1681
1712
|
};
|
|
@@ -1737,10 +1768,9 @@ export function createAgent<
|
|
|
1737
1768
|
metadata: {
|
|
1738
1769
|
// Use build-time injected metadata if available, otherwise fallback to empty/undefined
|
|
1739
1770
|
id: evalMetadata.id || undefined,
|
|
1740
|
-
|
|
1771
|
+
identifier: evalMetadata.identifier || undefined,
|
|
1741
1772
|
version: evalMetadata.version || undefined,
|
|
1742
1773
|
filename: evalMetadata.filename || '',
|
|
1743
|
-
identifier: evalName,
|
|
1744
1774
|
name: evalName,
|
|
1745
1775
|
description: evalConfig.description || '',
|
|
1746
1776
|
},
|
|
@@ -1883,14 +1913,14 @@ export function createAgent<
|
|
|
1883
1913
|
const evalMeta = getEvalMetadata(agentName, evalName);
|
|
1884
1914
|
internal.info(`[EVALRUN] Eval metadata lookup result:`, {
|
|
1885
1915
|
found: !!evalMeta,
|
|
1886
|
-
|
|
1916
|
+
identifier: evalMeta?.identifier,
|
|
1887
1917
|
id: evalMeta?.id,
|
|
1888
1918
|
filename: evalMeta?.filename,
|
|
1889
1919
|
});
|
|
1890
1920
|
|
|
1891
1921
|
// evalId = deployment-specific ID (evalid_...), evalIdentifier = stable (eval_...)
|
|
1892
1922
|
const evalId = evalMeta?.id || '';
|
|
1893
|
-
const evalIdentifier = evalMeta?.
|
|
1923
|
+
const evalIdentifier = evalMeta?.identifier || '';
|
|
1894
1924
|
internal.info(
|
|
1895
1925
|
`[EVALRUN] Resolved evalId='${evalId}', evalIdentifier='${evalIdentifier}'`
|
|
1896
1926
|
);
|
|
@@ -2162,7 +2192,10 @@ export function createAgent<
|
|
|
2162
2192
|
// Add validator method with overloads
|
|
2163
2193
|
agent.validator = ((override?: any) => {
|
|
2164
2194
|
const effectiveInputSchema = override?.input ?? inputSchema;
|
|
2165
|
-
|
|
2195
|
+
// Only use agent's output schema if no override was provided at all.
|
|
2196
|
+
// If override is provided (even with just input), don't auto-apply agent's output schema
|
|
2197
|
+
// unless the override explicitly includes output.
|
|
2198
|
+
const effectiveOutputSchema = override ? override.output : outputSchema;
|
|
2166
2199
|
|
|
2167
2200
|
// Helper to build the standard Hono input validator so types flow
|
|
2168
2201
|
const buildInputValidator = (schema?: StandardSchemaV1) =>
|
|
@@ -2439,6 +2472,7 @@ export const createAgentMiddleware = (agentName: AgentName | ''): MiddlewareHand
|
|
|
2439
2472
|
config: config || {},
|
|
2440
2473
|
app: app || {},
|
|
2441
2474
|
runtime: getGlobalRuntimeState(),
|
|
2475
|
+
auth: ctx.var.auth ?? null,
|
|
2442
2476
|
};
|
|
2443
2477
|
|
|
2444
2478
|
return setupRequestAgentContext(ctx as unknown as Record<string, unknown>, args, next);
|
package/src/eval.ts
CHANGED
|
@@ -14,7 +14,8 @@ export type EvalRunResultMetadata = {
|
|
|
14
14
|
export const EvalHandlerResultSchema = z.object({
|
|
15
15
|
passed: z.boolean(),
|
|
16
16
|
score: z.number().min(0).max(1).optional(),
|
|
17
|
-
|
|
17
|
+
reason: z.string().optional(),
|
|
18
|
+
metadata: z.record(z.string(), z.any()).optional(),
|
|
18
19
|
});
|
|
19
20
|
|
|
20
21
|
export type EvalHandlerResult = z.infer<typeof EvalHandlerResultSchema>;
|
|
@@ -24,7 +25,8 @@ export const EvalRunResultSuccessSchema = z.object({
|
|
|
24
25
|
success: z.literal(true),
|
|
25
26
|
passed: z.boolean(),
|
|
26
27
|
score: z.number().min(0).max(1).optional(),
|
|
27
|
-
|
|
28
|
+
reason: z.string().optional(),
|
|
29
|
+
metadata: z.record(z.string(), z.any()).optional(),
|
|
28
30
|
});
|
|
29
31
|
|
|
30
32
|
export type EvalRunResultSuccess = z.infer<typeof EvalRunResultSuccessSchema>;
|
|
@@ -33,7 +35,8 @@ export type EvalRunResultError = {
|
|
|
33
35
|
success: false;
|
|
34
36
|
passed: false;
|
|
35
37
|
error: string;
|
|
36
|
-
|
|
38
|
+
reason?: string;
|
|
39
|
+
metadata?: EvalRunResultMetadata;
|
|
37
40
|
};
|
|
38
41
|
|
|
39
42
|
export type EvalRunResult = EvalRunResultSuccess | EvalRunResultError;
|
|
@@ -49,17 +52,17 @@ export type CreateEvalRunRequest = {
|
|
|
49
52
|
|
|
50
53
|
type InternalEvalMetadata = {
|
|
51
54
|
/**
|
|
52
|
-
* the unique
|
|
55
|
+
* the unique deployment-specific id for this eval (evalid_...)
|
|
53
56
|
*/
|
|
54
57
|
id: string;
|
|
55
58
|
/**
|
|
56
|
-
* the
|
|
59
|
+
* the stable identifier for this project and eval across multiple deployments (eval_...)
|
|
57
60
|
*/
|
|
58
|
-
|
|
61
|
+
identifier: string;
|
|
59
62
|
/**
|
|
60
|
-
* the
|
|
63
|
+
* the human readable name for the eval
|
|
61
64
|
*/
|
|
62
|
-
|
|
65
|
+
name: string;
|
|
63
66
|
/**
|
|
64
67
|
* the relative path to the eval from the root project directory
|
|
65
68
|
*/
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// agent.ts exports
|
|
2
2
|
export {
|
|
3
|
+
type AgentContext,
|
|
3
4
|
type AgentEventName,
|
|
4
5
|
type AgentEventCallback,
|
|
5
6
|
type AgentRuntimeState,
|
|
@@ -153,6 +154,9 @@ export {
|
|
|
153
154
|
// _waituntil.ts exports
|
|
154
155
|
export { hasWaitUntilPending } from './_waituntil';
|
|
155
156
|
|
|
157
|
+
// _context.ts exports (for auth integration)
|
|
158
|
+
export { inAgentContext, inHTTPContext, getAgentContext, getHTTPContext } from './_context';
|
|
159
|
+
|
|
156
160
|
// _standalone.ts exports
|
|
157
161
|
export {
|
|
158
162
|
createAgentContext,
|
|
@@ -165,7 +165,8 @@ export class LocalThreadProvider implements ThreadProvider {
|
|
|
165
165
|
|
|
166
166
|
let stateJson = '';
|
|
167
167
|
if (hasState || hasMetadata) {
|
|
168
|
-
const data: { state?: Record<string, unknown>; metadata?: Record<string, unknown> } =
|
|
168
|
+
const data: { state?: Record<string, unknown>; metadata?: Record<string, unknown> } =
|
|
169
|
+
{};
|
|
169
170
|
if (hasState) data.state = state;
|
|
170
171
|
if (hasMetadata) data.metadata = finalMetadata;
|
|
171
172
|
stateJson = JSON.stringify(data);
|
package/src/session.ts
CHANGED
|
@@ -1872,7 +1872,10 @@ export class DefaultThreadProvider implements ThreadProvider {
|
|
|
1872
1872
|
internal.info('[thread] WebSocket merge completed');
|
|
1873
1873
|
} else if (saveMode === 'full') {
|
|
1874
1874
|
const serialized = await thread.getSerializedState();
|
|
1875
|
-
internal.info(
|
|
1875
|
+
internal.info(
|
|
1876
|
+
'[thread] saving to WebSocket, serialized length: %d',
|
|
1877
|
+
serialized.length
|
|
1878
|
+
);
|
|
1876
1879
|
const metadata = thread.getMetadataForSave();
|
|
1877
1880
|
await this.wsClient.save(thread.id, serialized, metadata);
|
|
1878
1881
|
internal.info('[thread] WebSocket save completed');
|