@agentuity/runtime 0.0.51 → 0.0.53
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/dist/_config.js +99 -0
- package/dist/_config.js.map +1 -0
- package/dist/_context.d.ts +11 -11
- package/dist/_context.d.ts.map +1 -1
- package/dist/_context.js +84 -0
- package/dist/_context.js.map +1 -0
- package/dist/_idle.js +24 -0
- package/dist/_idle.js.map +1 -0
- package/dist/_server.js +489 -0
- package/dist/_server.js.map +1 -0
- package/dist/_services.js +258 -0
- package/dist/_services.js.map +1 -0
- package/dist/_tokens.js +98 -0
- package/dist/_tokens.js.map +1 -0
- package/dist/_util.js +54 -0
- package/dist/_util.js.map +1 -0
- package/dist/_waituntil.js +87 -0
- package/dist/_waituntil.js.map +1 -0
- package/dist/agent.d.ts +24 -15
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +507 -0
- package/dist/agent.js.map +1 -0
- package/dist/app.d.ts +6 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +72 -0
- package/dist/app.js.map +1 -0
- package/dist/eval.d.ts +1 -1
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +2 -0
- package/dist/eval.js.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/io/email.js +154 -0
- package/dist/io/email.js.map +1 -0
- package/dist/logger/console.js +274 -0
- package/dist/logger/console.js.map +1 -0
- package/dist/logger/index.js +3 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/internal.js +133 -0
- package/dist/logger/internal.js.map +1 -0
- package/dist/logger/logger.js +2 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/user.js +7 -0
- package/dist/logger/user.js.map +1 -0
- package/dist/logger/util.js +77 -0
- package/dist/logger/util.js.map +1 -0
- package/dist/otel/config.js +23 -0
- package/dist/otel/config.js.map +1 -0
- package/dist/otel/console.js +52 -0
- package/dist/otel/console.js.map +1 -0
- package/dist/otel/exporters/index.js +4 -0
- package/dist/otel/exporters/index.js.map +1 -0
- package/dist/otel/exporters/jsonl-log-exporter.js +103 -0
- package/dist/otel/exporters/jsonl-log-exporter.js.map +1 -0
- package/dist/otel/exporters/jsonl-metric-exporter.js +104 -0
- package/dist/otel/exporters/jsonl-metric-exporter.js.map +1 -0
- package/dist/otel/exporters/jsonl-trace-exporter.js +111 -0
- package/dist/otel/exporters/jsonl-trace-exporter.js.map +1 -0
- package/dist/otel/fetch.js +81 -0
- package/dist/otel/fetch.js.map +1 -0
- package/dist/otel/http.js +44 -0
- package/dist/otel/http.js.map +1 -0
- package/dist/otel/logger.js +278 -0
- package/dist/otel/logger.js.map +1 -0
- package/dist/otel/otel.js +233 -0
- package/dist/otel/otel.js.map +1 -0
- package/dist/router.js +350 -0
- package/dist/router.js.map +1 -0
- package/dist/services/evalrun/composite.js +26 -0
- package/dist/services/evalrun/composite.js.map +1 -0
- package/dist/services/evalrun/http.js +74 -0
- package/dist/services/evalrun/http.js.map +1 -0
- package/dist/services/evalrun/index.js +5 -0
- package/dist/services/evalrun/index.js.map +1 -0
- package/dist/services/evalrun/json.js +38 -0
- package/dist/services/evalrun/json.js.map +1 -0
- package/dist/services/evalrun/local.js +22 -0
- package/dist/services/evalrun/local.js.map +1 -0
- package/dist/services/local/_db.js +144 -0
- package/dist/services/local/_db.js.map +1 -0
- package/dist/services/local/_router.js +60 -0
- package/dist/services/local/_router.js.map +1 -0
- package/dist/services/local/_util.js +42 -0
- package/dist/services/local/_util.js.map +1 -0
- package/dist/services/local/index.js +8 -0
- package/dist/services/local/index.js.map +1 -0
- package/dist/services/local/keyvalue.js +114 -0
- package/dist/services/local/keyvalue.js.map +1 -0
- package/dist/services/local/objectstore.js +117 -0
- package/dist/services/local/objectstore.js.map +1 -0
- package/dist/services/local/stream.js +218 -0
- package/dist/services/local/stream.js.map +1 -0
- package/dist/services/local/vector.js +183 -0
- package/dist/services/local/vector.js.map +1 -0
- package/dist/services/session/composite.js +26 -0
- package/dist/services/session/composite.js.map +1 -0
- package/dist/services/session/http.js +42 -0
- package/dist/services/session/http.js.map +1 -0
- package/dist/services/session/index.js +5 -0
- package/dist/services/session/index.js.map +1 -0
- package/dist/services/session/json.js +35 -0
- package/dist/services/session/json.js.map +1 -0
- package/dist/services/session/local.js +22 -0
- package/dist/services/session/local.js.map +1 -0
- package/dist/session.js +199 -0
- package/dist/session.js.map +1 -0
- package/dist/workbench.js +38 -0
- package/dist/workbench.js.map +1 -0
- package/package.json +5 -5
- package/src/_context.ts +34 -13
- package/src/agent.ts +76 -40
- package/src/app.ts +6 -1
- package/src/eval.ts +1 -1
package/src/agent.ts
CHANGED
|
@@ -30,24 +30,36 @@ import type { EvalRunStartEvent } from '@agentuity/core';
|
|
|
30
30
|
export type AgentEventName = 'started' | 'completed' | 'errored';
|
|
31
31
|
|
|
32
32
|
export type AgentEventCallback<TAgent extends Agent<any, any, any>> =
|
|
33
|
-
| ((
|
|
34
|
-
|
|
33
|
+
| ((
|
|
34
|
+
eventName: 'started',
|
|
35
|
+
agent: TAgent,
|
|
36
|
+
context: AgentContext<any, any, any>
|
|
37
|
+
) => Promise<void> | void)
|
|
38
|
+
| ((
|
|
39
|
+
eventName: 'completed',
|
|
40
|
+
agent: TAgent,
|
|
41
|
+
context: AgentContext<any, any, any>
|
|
42
|
+
) => Promise<void> | void)
|
|
35
43
|
| ((
|
|
36
44
|
eventName: 'errored',
|
|
37
45
|
agent: TAgent,
|
|
38
|
-
context: AgentContext,
|
|
46
|
+
context: AgentContext<any, any, any>,
|
|
39
47
|
data: Error
|
|
40
48
|
) => Promise<void> | void);
|
|
41
49
|
|
|
42
|
-
export interface AgentContext
|
|
50
|
+
export interface AgentContext<
|
|
51
|
+
TAgentRegistry extends AgentRegistry = AgentRegistry,
|
|
52
|
+
TCurrent extends AgentRunner<any, any, any> | undefined = AgentRunner<any, any, any> | undefined,
|
|
53
|
+
TParent extends AgentRunner<any, any, any> | undefined = AgentRunner<any, any, any> | undefined,
|
|
54
|
+
> {
|
|
43
55
|
// email: () => Promise<Email | null>;
|
|
44
56
|
// sms: () => Promise<SMS | null>;
|
|
45
57
|
// cron: () => Promise<Cron | null>;
|
|
46
58
|
waitUntil: (promise: Promise<void> | (() => void | Promise<void>)) => void;
|
|
47
|
-
agent
|
|
48
|
-
current
|
|
49
|
-
parent
|
|
50
|
-
agentName
|
|
59
|
+
agent: TAgentRegistry; // Will be augmented by generated code with strongly-typed agents
|
|
60
|
+
current: TCurrent; // Current agent runner
|
|
61
|
+
parent: TParent; // Parent agent runner (use ctx.agent.parentName for strict typing)
|
|
62
|
+
agentName: AgentName;
|
|
51
63
|
logger: Logger;
|
|
52
64
|
sessionId: string;
|
|
53
65
|
tracer: Tracer;
|
|
@@ -69,6 +81,10 @@ type InternalAgentMetadata = {
|
|
|
69
81
|
* the unique identifier for this project and agent across multiple deployments.
|
|
70
82
|
*/
|
|
71
83
|
identifier: string;
|
|
84
|
+
/**
|
|
85
|
+
* the unique identifier for this agent across multiple deployments
|
|
86
|
+
*/
|
|
87
|
+
agentId: string;
|
|
72
88
|
/**
|
|
73
89
|
* the relative path to the agent from the root project directory.
|
|
74
90
|
*/
|
|
@@ -113,7 +129,7 @@ export type Agent<
|
|
|
113
129
|
TStream extends boolean = false,
|
|
114
130
|
> = {
|
|
115
131
|
metadata: AgentMetadata;
|
|
116
|
-
handler: (ctx: AgentContext, ...args: any[]) => any | Promise<any>;
|
|
132
|
+
handler: (ctx: AgentContext<any, any, any>, ...args: any[]) => any | Promise<any>;
|
|
117
133
|
evals?: Eval[];
|
|
118
134
|
createEval: CreateEvalMethod<TInput, TOutput>;
|
|
119
135
|
addEventListener(
|
|
@@ -121,7 +137,7 @@ export type Agent<
|
|
|
121
137
|
callback: (
|
|
122
138
|
eventName: 'started',
|
|
123
139
|
agent: Agent<TInput, TOutput, TStream>,
|
|
124
|
-
context: AgentContext
|
|
140
|
+
context: AgentContext<any, any, any>
|
|
125
141
|
) => Promise<void> | void
|
|
126
142
|
): void;
|
|
127
143
|
addEventListener(
|
|
@@ -129,7 +145,7 @@ export type Agent<
|
|
|
129
145
|
callback: (
|
|
130
146
|
eventName: 'completed',
|
|
131
147
|
agent: Agent<TInput, TOutput, TStream>,
|
|
132
|
-
context: AgentContext
|
|
148
|
+
context: AgentContext<any, any, any>
|
|
133
149
|
) => Promise<void> | void
|
|
134
150
|
): void;
|
|
135
151
|
addEventListener(
|
|
@@ -137,7 +153,7 @@ export type Agent<
|
|
|
137
153
|
callback: (
|
|
138
154
|
eventName: 'errored',
|
|
139
155
|
agent: Agent<TInput, TOutput, TStream>,
|
|
140
|
-
context: AgentContext,
|
|
156
|
+
context: AgentContext<any, any, any>,
|
|
141
157
|
data: Error
|
|
142
158
|
) => Promise<void> | void
|
|
143
159
|
): void;
|
|
@@ -146,7 +162,7 @@ export type Agent<
|
|
|
146
162
|
callback: (
|
|
147
163
|
eventName: 'started',
|
|
148
164
|
agent: Agent<TInput, TOutput, TStream>,
|
|
149
|
-
context: AgentContext
|
|
165
|
+
context: AgentContext<any, any, any>
|
|
150
166
|
) => Promise<void> | void
|
|
151
167
|
): void;
|
|
152
168
|
removeEventListener(
|
|
@@ -154,7 +170,7 @@ export type Agent<
|
|
|
154
170
|
callback: (
|
|
155
171
|
eventName: 'completed',
|
|
156
172
|
agent: Agent<TInput, TOutput, TStream>,
|
|
157
|
-
context: AgentContext
|
|
173
|
+
context: AgentContext<any, any, any>
|
|
158
174
|
) => Promise<void> | void
|
|
159
175
|
): void;
|
|
160
176
|
removeEventListener(
|
|
@@ -162,7 +178,7 @@ export type Agent<
|
|
|
162
178
|
callback: (
|
|
163
179
|
eventName: 'errored',
|
|
164
180
|
agent: Agent<TInput, TOutput, TStream>,
|
|
165
|
-
context: AgentContext,
|
|
181
|
+
context: AgentContext<any, any, any>,
|
|
166
182
|
data: Error
|
|
167
183
|
) => Promise<void> | void
|
|
168
184
|
): void;
|
|
@@ -206,18 +222,18 @@ const agentEventListeners = new WeakMap<
|
|
|
206
222
|
async function fireAgentEvent(
|
|
207
223
|
agent: Agent<any, any, any>,
|
|
208
224
|
eventName: 'started' | 'completed',
|
|
209
|
-
context: AgentContext
|
|
225
|
+
context: AgentContext<any, any, any>
|
|
210
226
|
): Promise<void>;
|
|
211
227
|
async function fireAgentEvent(
|
|
212
228
|
agent: Agent<any, any, any>,
|
|
213
229
|
eventName: 'errored',
|
|
214
|
-
context: AgentContext,
|
|
230
|
+
context: AgentContext<any, any, any>,
|
|
215
231
|
data: Error
|
|
216
232
|
): Promise<void>;
|
|
217
233
|
async function fireAgentEvent(
|
|
218
234
|
agent: Agent<any, any, any>,
|
|
219
235
|
eventName: AgentEventName,
|
|
220
|
-
context: AgentContext,
|
|
236
|
+
context: AgentContext<any, any, any>,
|
|
221
237
|
data?: Error
|
|
222
238
|
): Promise<void> {
|
|
223
239
|
// Fire agent-level listeners
|
|
@@ -254,7 +270,13 @@ async function fireAgentEvent(
|
|
|
254
270
|
* After augmentation, this becomes a strict union of agent names for full type safety.
|
|
255
271
|
*/
|
|
256
272
|
export type AgentName = string;
|
|
257
|
-
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Agent registry interface.
|
|
276
|
+
* This interface is augmented by generated code to provide strongly-typed agent access.
|
|
277
|
+
*/
|
|
278
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
279
|
+
export interface AgentRegistry {}
|
|
258
280
|
|
|
259
281
|
export const registerAgent = (name: AgentName, agent: Agent): void => {
|
|
260
282
|
agents.set(name, agent);
|
|
@@ -275,38 +297,43 @@ export function createAgent<
|
|
|
275
297
|
? TStream extends true
|
|
276
298
|
? TOutput extends StandardSchemaV1
|
|
277
299
|
? (
|
|
278
|
-
c: AgentContext,
|
|
300
|
+
c: AgentContext<any, any, any>,
|
|
279
301
|
input: StandardSchemaV1.InferOutput<TInput>
|
|
280
302
|
) =>
|
|
281
303
|
| Promise<ReadableStream<StandardSchemaV1.InferOutput<TOutput>>>
|
|
282
304
|
| ReadableStream<StandardSchemaV1.InferOutput<TOutput>>
|
|
283
305
|
: (
|
|
284
|
-
c: AgentContext,
|
|
306
|
+
c: AgentContext<any, any, any>,
|
|
285
307
|
input: StandardSchemaV1.InferOutput<TInput>
|
|
286
308
|
) => Promise<ReadableStream<unknown>> | ReadableStream<unknown>
|
|
287
309
|
: TOutput extends StandardSchemaV1
|
|
288
310
|
? (
|
|
289
|
-
c: AgentContext,
|
|
311
|
+
c: AgentContext<any, any, any>,
|
|
290
312
|
input: StandardSchemaV1.InferOutput<TInput>
|
|
291
313
|
) =>
|
|
292
314
|
| Promise<StandardSchemaV1.InferOutput<TOutput>>
|
|
293
315
|
| StandardSchemaV1.InferOutput<TOutput>
|
|
294
|
-
: (
|
|
316
|
+
: (
|
|
317
|
+
c: AgentContext<any, any, any>,
|
|
318
|
+
input: StandardSchemaV1.InferOutput<TInput>
|
|
319
|
+
) => Promise<void> | void
|
|
295
320
|
: TStream extends true
|
|
296
321
|
? TOutput extends StandardSchemaV1
|
|
297
322
|
? (
|
|
298
|
-
c: AgentContext
|
|
323
|
+
c: AgentContext<any, any, any>
|
|
299
324
|
) =>
|
|
300
325
|
| Promise<ReadableStream<StandardSchemaV1.InferOutput<TOutput>>>
|
|
301
326
|
| ReadableStream<StandardSchemaV1.InferOutput<TOutput>>
|
|
302
|
-
: (
|
|
327
|
+
: (
|
|
328
|
+
c: AgentContext<any, any, any>
|
|
329
|
+
) => Promise<ReadableStream<unknown>> | ReadableStream<unknown>
|
|
303
330
|
: TOutput extends StandardSchemaV1
|
|
304
331
|
? (
|
|
305
|
-
c: AgentContext
|
|
332
|
+
c: AgentContext<any, any, any>
|
|
306
333
|
) =>
|
|
307
334
|
| Promise<StandardSchemaV1.InferOutput<TOutput>>
|
|
308
335
|
| StandardSchemaV1.InferOutput<TOutput>
|
|
309
|
-
: (c: AgentContext) => Promise<void> | void;
|
|
336
|
+
: (c: AgentContext<any, any, any>) => Promise<void> | void;
|
|
310
337
|
}): Agent<TInput, TOutput, TStream> {
|
|
311
338
|
const inputSchema = config.schema?.input;
|
|
312
339
|
const outputSchema = config.schema?.output;
|
|
@@ -741,9 +768,14 @@ export function createAgent<
|
|
|
741
768
|
return agent as Agent<TInput, TOutput, TStream>;
|
|
742
769
|
}
|
|
743
770
|
|
|
744
|
-
const runWithSpan = async <
|
|
771
|
+
const runWithSpan = async <
|
|
772
|
+
T,
|
|
773
|
+
TInput extends StandardSchemaV1 | undefined = any,
|
|
774
|
+
TOutput extends StandardSchemaV1 | undefined = any,
|
|
775
|
+
TStream extends boolean = false,
|
|
776
|
+
>(
|
|
745
777
|
tracer: Tracer,
|
|
746
|
-
agent: Agent<
|
|
778
|
+
agent: Agent<TInput, TOutput, TStream>,
|
|
747
779
|
handler: () => Promise<T>
|
|
748
780
|
): Promise<T> => {
|
|
749
781
|
const currentContext = context.active();
|
|
@@ -783,9 +815,11 @@ const createAgentRunner = <
|
|
|
783
815
|
if (agent.inputSchema) {
|
|
784
816
|
return {
|
|
785
817
|
metadata: agent.metadata,
|
|
786
|
-
run: async (input:
|
|
787
|
-
return runWithSpan
|
|
788
|
-
|
|
818
|
+
run: async (input: InferSchemaInput<Exclude<TInput, undefined>>) => {
|
|
819
|
+
return runWithSpan<any, TInput, TOutput, TStream>(
|
|
820
|
+
tracer,
|
|
821
|
+
agent,
|
|
822
|
+
async () => await agent.handler(ctx as unknown as AgentContext<any, any, any>, input)
|
|
789
823
|
);
|
|
790
824
|
},
|
|
791
825
|
} as AgentRunner<TInput, TOutput, TStream>;
|
|
@@ -793,8 +827,10 @@ const createAgentRunner = <
|
|
|
793
827
|
return {
|
|
794
828
|
metadata: agent.metadata,
|
|
795
829
|
run: async () => {
|
|
796
|
-
return runWithSpan
|
|
797
|
-
|
|
830
|
+
return runWithSpan<any, TInput, TOutput, TStream>(
|
|
831
|
+
tracer,
|
|
832
|
+
agent,
|
|
833
|
+
async () => await agent.handler(ctx as unknown as AgentContext<any, any, any>)
|
|
798
834
|
);
|
|
799
835
|
},
|
|
800
836
|
} as AgentRunner<TInput, TOutput, TStream>;
|
|
@@ -882,7 +918,11 @@ export const createAgentMiddleware = (agentName: AgentName): MiddlewareHandler =
|
|
|
882
918
|
const thread = ctx.var.thread;
|
|
883
919
|
const session = ctx.var.session;
|
|
884
920
|
|
|
885
|
-
const args:
|
|
921
|
+
const args: RequestAgentContextArgs<
|
|
922
|
+
AgentRegistry,
|
|
923
|
+
AgentRunner | undefined,
|
|
924
|
+
AgentRunner | undefined
|
|
925
|
+
> = {
|
|
886
926
|
agent: agentsObj,
|
|
887
927
|
current: currentAgent,
|
|
888
928
|
parent: parentAgent,
|
|
@@ -895,11 +935,7 @@ export const createAgentMiddleware = (agentName: AgentName): MiddlewareHandler =
|
|
|
895
935
|
handler: ctx.var.waitUntilHandler,
|
|
896
936
|
};
|
|
897
937
|
|
|
898
|
-
return runInAgentContext(
|
|
899
|
-
ctx as unknown as Record<string, unknown>,
|
|
900
|
-
args as RequestAgentContextArgs<any, any>,
|
|
901
|
-
next
|
|
902
|
-
);
|
|
938
|
+
return runInAgentContext(ctx as unknown as Record<string, unknown>, args, next);
|
|
903
939
|
};
|
|
904
940
|
};
|
|
905
941
|
|
package/src/app.ts
CHANGED
|
@@ -15,7 +15,7 @@ import type {
|
|
|
15
15
|
SessionStartEvent,
|
|
16
16
|
} from '@agentuity/core';
|
|
17
17
|
import type { Email } from './io/email';
|
|
18
|
-
import type { Agent, AgentContext } from './agent';
|
|
18
|
+
import type { Agent, AgentContext, AgentRegistry } from './agent';
|
|
19
19
|
import type { ThreadProvider, SessionProvider, Session, Thread } from './session';
|
|
20
20
|
import type WaitUntilHandler from './_waituntil';
|
|
21
21
|
|
|
@@ -77,6 +77,11 @@ export interface Variables {
|
|
|
77
77
|
sessionId: string;
|
|
78
78
|
thread: Thread;
|
|
79
79
|
session: Session;
|
|
80
|
+
agent: AgentRegistry;
|
|
81
|
+
kv: KeyValueStorage;
|
|
82
|
+
objectstore: ObjectStorage;
|
|
83
|
+
stream: StreamStorage;
|
|
84
|
+
vector: VectorStorage;
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
export type TriggerType = SessionStartEvent['trigger'];
|
package/src/eval.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { StandardSchemaV1 } from '@agentuity/core';
|
|
|
3
3
|
import type { AgentContext } from './agent';
|
|
4
4
|
|
|
5
5
|
// Eval SDK types
|
|
6
|
-
export type EvalContext = AgentContext
|
|
6
|
+
export type EvalContext = AgentContext<any, any, any>;
|
|
7
7
|
|
|
8
8
|
export type EvalRunResultMetadata = {
|
|
9
9
|
reason: string;
|