@reminix/runtime 0.0.13 → 0.0.15
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 +1 -1
- package/dist/agent-adapter.d.ts +3 -7
- package/dist/agent-adapter.d.ts.map +1 -1
- package/dist/agent-adapter.js +24 -11
- package/dist/agent-adapter.js.map +1 -1
- package/dist/agent.d.ts +39 -60
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +149 -259
- package/dist/agent.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +70 -23
- package/dist/server.js.map +1 -1
- package/dist/tool.d.ts +28 -22
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +25 -19
- package/dist/tool.js.map +1 -1
- package/dist/types.d.ts +41 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/agent.js
CHANGED
|
@@ -3,16 +3,95 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { VERSION } from './version.js';
|
|
5
5
|
/**
|
|
6
|
-
* Default
|
|
7
|
-
* Request: { prompt: '...' }
|
|
6
|
+
* Default input schema for agents.
|
|
7
|
+
* Request: { input: { prompt: '...' } }
|
|
8
8
|
*/
|
|
9
|
-
const
|
|
9
|
+
const DEFAULT_AGENT_INPUT = {
|
|
10
10
|
type: 'object',
|
|
11
11
|
properties: {
|
|
12
12
|
prompt: { type: 'string', description: 'The prompt or task for the agent' },
|
|
13
13
|
},
|
|
14
14
|
required: ['prompt'],
|
|
15
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Default output schema for agents.
|
|
18
|
+
* Response: { output: '...' }
|
|
19
|
+
*/
|
|
20
|
+
const DEFAULT_AGENT_OUTPUT = {
|
|
21
|
+
type: 'string',
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Chat agent input schema.
|
|
25
|
+
* Request: { input: { messages: [...] } }
|
|
26
|
+
*/
|
|
27
|
+
const CHAT_AGENT_INPUT = {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
messages: {
|
|
31
|
+
type: 'array',
|
|
32
|
+
items: {
|
|
33
|
+
type: 'object',
|
|
34
|
+
properties: {
|
|
35
|
+
role: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
enum: ['system', 'user', 'assistant', 'tool'],
|
|
38
|
+
},
|
|
39
|
+
content: {
|
|
40
|
+
type: ['string', 'null'],
|
|
41
|
+
},
|
|
42
|
+
name: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
},
|
|
45
|
+
tool_call_id: {
|
|
46
|
+
type: 'string',
|
|
47
|
+
},
|
|
48
|
+
tool_calls: {
|
|
49
|
+
type: 'array',
|
|
50
|
+
items: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: {
|
|
53
|
+
id: { type: 'string' },
|
|
54
|
+
type: { type: 'string', enum: ['function'] },
|
|
55
|
+
function: {
|
|
56
|
+
type: 'object',
|
|
57
|
+
properties: {
|
|
58
|
+
name: { type: 'string' },
|
|
59
|
+
arguments: { type: 'string' },
|
|
60
|
+
},
|
|
61
|
+
required: ['name', 'arguments'],
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
required: ['id', 'type', 'function'],
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
required: ['role'],
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
required: ['messages'],
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Chat agent output schema.
|
|
76
|
+
* Response: { output: { messages: [...] } }
|
|
77
|
+
*/
|
|
78
|
+
const CHAT_AGENT_OUTPUT = {
|
|
79
|
+
type: 'object',
|
|
80
|
+
properties: {
|
|
81
|
+
messages: {
|
|
82
|
+
type: 'array',
|
|
83
|
+
items: {
|
|
84
|
+
type: 'object',
|
|
85
|
+
properties: {
|
|
86
|
+
role: { type: 'string' },
|
|
87
|
+
content: { type: ['string', 'null'] },
|
|
88
|
+
},
|
|
89
|
+
required: ['role'],
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
required: ['messages'],
|
|
94
|
+
};
|
|
16
95
|
/**
|
|
17
96
|
* Abstract base class defining the agent interface.
|
|
18
97
|
*
|
|
@@ -21,29 +100,22 @@ const DEFAULT_AGENT_PARAMETERS = {
|
|
|
21
100
|
* `AgentAdapter` for framework adapters.
|
|
22
101
|
*/
|
|
23
102
|
export class AgentBase {
|
|
24
|
-
/**
|
|
25
|
-
* Whether execute supports streaming. Override to enable.
|
|
26
|
-
*/
|
|
27
|
-
get streaming() {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
103
|
/**
|
|
31
104
|
* Return agent metadata for discovery.
|
|
32
105
|
* Override this to provide custom metadata.
|
|
33
106
|
*/
|
|
34
107
|
get metadata() {
|
|
35
108
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
responseKeys: ['content'],
|
|
109
|
+
capabilities: { streaming: false },
|
|
110
|
+
input: DEFAULT_AGENT_INPUT,
|
|
111
|
+
output: DEFAULT_AGENT_OUTPUT,
|
|
40
112
|
};
|
|
41
113
|
}
|
|
42
114
|
/**
|
|
43
|
-
* Handle a streaming
|
|
115
|
+
* Handle a streaming invoke request.
|
|
44
116
|
*/
|
|
45
117
|
// eslint-disable-next-line require-yield
|
|
46
|
-
async *
|
|
118
|
+
async *invokeStream(_request) {
|
|
47
119
|
throw new Error('Streaming not implemented for this agent');
|
|
48
120
|
}
|
|
49
121
|
/**
|
|
@@ -96,7 +168,6 @@ export class AgentBase {
|
|
|
96
168
|
{
|
|
97
169
|
name: this.name,
|
|
98
170
|
...this.metadata,
|
|
99
|
-
streaming: this.streaming,
|
|
100
171
|
},
|
|
101
172
|
],
|
|
102
173
|
}, { headers: corsHeaders });
|
|
@@ -106,38 +177,29 @@ export class AgentBase {
|
|
|
106
177
|
if (method === 'POST' && invokeMatch) {
|
|
107
178
|
const agentName = invokeMatch[1];
|
|
108
179
|
if (agentName !== this.name) {
|
|
109
|
-
return Response.json({ error: `Agent '${agentName}' not found` }, { status: 404, headers: corsHeaders });
|
|
180
|
+
return Response.json({ error: { type: 'NotFoundError', message: `Agent '${agentName}' not found` } }, { status: 404, headers: corsHeaders });
|
|
110
181
|
}
|
|
111
182
|
const body = (await request.json());
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
// Extract declared keys from body into input object
|
|
115
|
-
// e.g., requestKeys: ['prompt'] with body { prompt: '...' } -> input = { prompt: '...' }
|
|
116
|
-
const input = {};
|
|
117
|
-
for (const key of requestKeys) {
|
|
118
|
-
if (key in body) {
|
|
119
|
-
input[key] = body[key];
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
const executeRequest = {
|
|
123
|
-
input,
|
|
183
|
+
const invokeRequest = {
|
|
184
|
+
input: body.input ?? {},
|
|
124
185
|
stream: body.stream === true,
|
|
125
186
|
context: body.context,
|
|
126
187
|
};
|
|
127
188
|
// Handle streaming
|
|
128
|
-
if (
|
|
189
|
+
if (invokeRequest.stream) {
|
|
129
190
|
const stream = new ReadableStream({
|
|
130
191
|
start: async (controller) => {
|
|
131
192
|
const encoder = new TextEncoder();
|
|
132
193
|
try {
|
|
133
|
-
for await (const chunk of this.
|
|
134
|
-
controller.enqueue(encoder.encode(`data: ${chunk}\n\n`));
|
|
194
|
+
for await (const chunk of this.invokeStream(invokeRequest)) {
|
|
195
|
+
controller.enqueue(encoder.encode(`data: ${JSON.stringify({ delta: chunk })}\n\n`));
|
|
135
196
|
}
|
|
136
|
-
controller.enqueue(encoder.encode(
|
|
197
|
+
controller.enqueue(encoder.encode(`data: ${JSON.stringify({ done: true })}\n\n`));
|
|
137
198
|
}
|
|
138
199
|
catch (error) {
|
|
139
200
|
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
140
|
-
|
|
201
|
+
const errorType = error instanceof Error ? error.constructor.name : 'ExecutionError';
|
|
202
|
+
controller.enqueue(encoder.encode(`data: ${JSON.stringify({ error: { type: errorType, message } })}\n\n`));
|
|
141
203
|
}
|
|
142
204
|
controller.close();
|
|
143
205
|
},
|
|
@@ -151,15 +213,16 @@ export class AgentBase {
|
|
|
151
213
|
},
|
|
152
214
|
});
|
|
153
215
|
}
|
|
154
|
-
const response = await this.
|
|
216
|
+
const response = await this.invoke(invokeRequest);
|
|
155
217
|
return Response.json(response, { headers: corsHeaders });
|
|
156
218
|
}
|
|
157
219
|
// Not found
|
|
158
|
-
return Response.json({ error: 'Not found' }, { status: 404, headers: corsHeaders });
|
|
220
|
+
return Response.json({ error: { type: 'NotFoundError', message: 'Not found' } }, { status: 404, headers: corsHeaders });
|
|
159
221
|
}
|
|
160
222
|
catch (error) {
|
|
161
223
|
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
162
|
-
|
|
224
|
+
const errorType = error instanceof Error ? error.constructor.name : 'ExecutionError';
|
|
225
|
+
return Response.json({ error: { type: errorType, message } }, { status: 500, headers: corsHeaders });
|
|
163
226
|
}
|
|
164
227
|
};
|
|
165
228
|
}
|
|
@@ -182,8 +245,8 @@ export class AgentBase {
|
|
|
182
245
|
export class Agent extends AgentBase {
|
|
183
246
|
_name;
|
|
184
247
|
_metadata;
|
|
185
|
-
|
|
186
|
-
|
|
248
|
+
_invokeHandler = null;
|
|
249
|
+
_invokeStreamHandler = null;
|
|
187
250
|
/**
|
|
188
251
|
* Create a new agent.
|
|
189
252
|
*
|
|
@@ -206,19 +269,15 @@ export class Agent extends AgentBase {
|
|
|
206
269
|
*/
|
|
207
270
|
get metadata() {
|
|
208
271
|
return {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
272
|
+
capabilities: {
|
|
273
|
+
streaming: this._invokeStreamHandler !== null,
|
|
274
|
+
...this._metadata.capabilities,
|
|
275
|
+
},
|
|
276
|
+
input: this._metadata.input ?? DEFAULT_AGENT_INPUT,
|
|
277
|
+
output: this._metadata.output ?? DEFAULT_AGENT_OUTPUT,
|
|
213
278
|
...this._metadata,
|
|
214
279
|
};
|
|
215
280
|
}
|
|
216
|
-
/**
|
|
217
|
-
* Whether execute supports streaming.
|
|
218
|
-
*/
|
|
219
|
-
get streaming() {
|
|
220
|
-
return this._executeStreamHandler !== null;
|
|
221
|
-
}
|
|
222
281
|
/**
|
|
223
282
|
* Register a handler.
|
|
224
283
|
*
|
|
@@ -228,7 +287,7 @@ export class Agent extends AgentBase {
|
|
|
228
287
|
* });
|
|
229
288
|
*/
|
|
230
289
|
handler(fn) {
|
|
231
|
-
this.
|
|
290
|
+
this._invokeHandler = fn;
|
|
232
291
|
return this;
|
|
233
292
|
}
|
|
234
293
|
/**
|
|
@@ -236,31 +295,31 @@ export class Agent extends AgentBase {
|
|
|
236
295
|
*
|
|
237
296
|
* @example
|
|
238
297
|
* agent.streamHandler(async function* (request) {
|
|
239
|
-
* yield '
|
|
240
|
-
* yield '
|
|
298
|
+
* yield 'Hello';
|
|
299
|
+
* yield ' world!';
|
|
241
300
|
* });
|
|
242
301
|
*/
|
|
243
302
|
streamHandler(fn) {
|
|
244
|
-
this.
|
|
303
|
+
this._invokeStreamHandler = fn;
|
|
245
304
|
return this;
|
|
246
305
|
}
|
|
247
306
|
/**
|
|
248
|
-
* Handle an
|
|
307
|
+
* Handle an invoke request.
|
|
249
308
|
*/
|
|
250
|
-
async
|
|
251
|
-
if (this.
|
|
252
|
-
throw new Error(`No
|
|
309
|
+
async invoke(request) {
|
|
310
|
+
if (this._invokeHandler === null) {
|
|
311
|
+
throw new Error(`No invoke handler registered for agent '${this._name}'`);
|
|
253
312
|
}
|
|
254
|
-
return this.
|
|
313
|
+
return this._invokeHandler(request);
|
|
255
314
|
}
|
|
256
315
|
/**
|
|
257
|
-
* Handle a streaming
|
|
316
|
+
* Handle a streaming invoke request.
|
|
258
317
|
*/
|
|
259
|
-
async *
|
|
260
|
-
if (this.
|
|
261
|
-
throw new Error(`No streaming
|
|
318
|
+
async *invokeStream(request) {
|
|
319
|
+
if (this._invokeStreamHandler === null) {
|
|
320
|
+
throw new Error(`No streaming invoke handler registered for agent '${this._name}'`);
|
|
262
321
|
}
|
|
263
|
-
yield* this.
|
|
322
|
+
yield* this._invokeStreamHandler(request);
|
|
264
323
|
}
|
|
265
324
|
}
|
|
266
325
|
/**
|
|
@@ -269,77 +328,38 @@ export class Agent extends AgentBase {
|
|
|
269
328
|
function isAsyncGeneratorFunction(fn) {
|
|
270
329
|
return fn?.constructor?.name === 'AsyncGeneratorFunction';
|
|
271
330
|
}
|
|
272
|
-
/**
|
|
273
|
-
* Wrap output schema to match the full response structure based on responseKeys.
|
|
274
|
-
*
|
|
275
|
-
* If responseKeys = ["output"], wraps the schema as { output: <schema> }
|
|
276
|
-
* If responseKeys = ["message"], wraps the schema as { message: <schema> }
|
|
277
|
-
* If responseKeys = ["message", "output"], wraps as { message: <schema>, output: <schema> }
|
|
278
|
-
*
|
|
279
|
-
* @param outputSchema - The schema for the return value (or undefined)
|
|
280
|
-
* @param responseKeys - List of top-level response keys
|
|
281
|
-
* @returns Wrapped schema describing the full response object, or undefined if outputSchema is undefined
|
|
282
|
-
*/
|
|
283
|
-
function wrapOutputSchemaForResponseKeys(outputSchema, responseKeys) {
|
|
284
|
-
if (outputSchema === undefined || responseKeys.length === 0) {
|
|
285
|
-
return undefined;
|
|
286
|
-
}
|
|
287
|
-
// If single response key, wrap the output schema
|
|
288
|
-
if (responseKeys.length === 1) {
|
|
289
|
-
return {
|
|
290
|
-
type: 'object',
|
|
291
|
-
properties: { [responseKeys[0]]: outputSchema },
|
|
292
|
-
required: responseKeys,
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
// Multiple response keys - need to split the output schema
|
|
296
|
-
// For now, assume the output schema describes the first key's value
|
|
297
|
-
// and other keys are optional/unknown
|
|
298
|
-
const properties = { [responseKeys[0]]: outputSchema };
|
|
299
|
-
const required = [responseKeys[0]];
|
|
300
|
-
// For additional keys, we don't know their schema, so mark as optional
|
|
301
|
-
// Users can override via metadata if they need full schema
|
|
302
|
-
for (const key of responseKeys.slice(1)) {
|
|
303
|
-
properties[key] = { type: 'object' }; // Placeholder - should be overridden
|
|
304
|
-
}
|
|
305
|
-
return {
|
|
306
|
-
type: 'object',
|
|
307
|
-
properties,
|
|
308
|
-
required,
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
331
|
/**
|
|
312
332
|
* Create an agent from a configuration object.
|
|
313
333
|
*
|
|
314
|
-
* By default, agents expect `{ prompt: string }` in the request body and
|
|
315
|
-
* return `{ output:
|
|
334
|
+
* By default, agents expect `{ input: { prompt: string } }` in the request body and
|
|
335
|
+
* return `{ output: string }`. You can customize by providing `input` schema.
|
|
316
336
|
*
|
|
317
337
|
* @example
|
|
318
338
|
* ```typescript
|
|
319
|
-
* // Simple agent with default
|
|
320
|
-
* // Request: { prompt: 'Hello world' }
|
|
339
|
+
* // Simple agent with default input/output
|
|
340
|
+
* // Request: { input: { prompt: 'Hello world' } }
|
|
321
341
|
* // Response: { output: 'You said: Hello world' }
|
|
322
342
|
* const echo = agent('echo', {
|
|
323
343
|
* description: 'Echo the prompt',
|
|
324
344
|
* handler: async ({ prompt }) => `You said: ${prompt}`,
|
|
325
345
|
* });
|
|
326
346
|
*
|
|
327
|
-
* // Agent with custom
|
|
328
|
-
* // Request: { a: 1, b: 2 }
|
|
347
|
+
* // Agent with custom input schema
|
|
348
|
+
* // Request: { input: { a: 1, b: 2 } }
|
|
329
349
|
* // Response: { output: 3 }
|
|
330
350
|
* const calculator = agent('calculator', {
|
|
331
351
|
* description: 'Add two numbers',
|
|
332
|
-
*
|
|
352
|
+
* input: {
|
|
333
353
|
* type: 'object',
|
|
334
354
|
* properties: { a: { type: 'number' }, b: { type: 'number' } },
|
|
335
355
|
* required: ['a', 'b'],
|
|
336
356
|
* },
|
|
357
|
+
* output: { type: 'number' },
|
|
337
358
|
* handler: async ({ a, b }) => (a as number) + (b as number),
|
|
338
359
|
* });
|
|
339
360
|
*
|
|
340
361
|
* // Streaming agent (async generator)
|
|
341
|
-
* // Request: { prompt: 'hello world' }
|
|
342
|
-
* // Response: { output: 'hello world ' } (streamed)
|
|
362
|
+
* // Request: { input: { prompt: 'hello world' }, stream: true }
|
|
343
363
|
* const streamer = agent('streamer', {
|
|
344
364
|
* description: 'Stream text word by word',
|
|
345
365
|
* handler: async function* ({ prompt }) {
|
|
@@ -351,43 +371,17 @@ function wrapOutputSchemaForResponseKeys(outputSchema, responseKeys) {
|
|
|
351
371
|
* ```
|
|
352
372
|
*/
|
|
353
373
|
export function agent(name, options) {
|
|
354
|
-
|
|
355
|
-
const
|
|
356
|
-
// Derive requestKeys from parameters.properties
|
|
357
|
-
const requestKeys = Object.keys(parameters.properties);
|
|
358
|
-
// Default responseKeys (can be overridden via metadata)
|
|
359
|
-
const responseKeys = ['content'];
|
|
360
|
-
// Wrap output schema to match responseKeys structure
|
|
361
|
-
const wrappedOutput = wrapOutputSchemaForResponseKeys(options.output, responseKeys);
|
|
362
|
-
// Build metadata (allow metadata override to change responseKeys)
|
|
363
|
-
const baseMetadata = {
|
|
364
|
-
type: 'agent',
|
|
365
|
-
description: options.description,
|
|
366
|
-
parameters,
|
|
367
|
-
requestKeys,
|
|
368
|
-
responseKeys,
|
|
369
|
-
};
|
|
370
|
-
// If metadata override includes responseKeys, re-wrap output schema
|
|
371
|
-
const finalResponseKeys = options.metadata?.responseKeys ?? responseKeys;
|
|
372
|
-
const finalWrappedOutput = options.metadata?.responseKeys !== undefined
|
|
373
|
-
? wrapOutputSchemaForResponseKeys(options.output, finalResponseKeys)
|
|
374
|
-
: wrappedOutput;
|
|
375
|
-
if (finalWrappedOutput !== undefined) {
|
|
376
|
-
baseMetadata.output = finalWrappedOutput;
|
|
377
|
-
}
|
|
374
|
+
const inputSchema = options.input ?? DEFAULT_AGENT_INPUT;
|
|
375
|
+
const outputSchema = options.output ?? DEFAULT_AGENT_OUTPUT;
|
|
378
376
|
const agentInstance = new Agent(name, {
|
|
379
377
|
metadata: {
|
|
380
|
-
|
|
381
|
-
|
|
378
|
+
description: options.description,
|
|
379
|
+
input: inputSchema,
|
|
380
|
+
output: outputSchema,
|
|
382
381
|
},
|
|
383
382
|
});
|
|
384
383
|
// Detect if handler is an async generator function
|
|
385
384
|
const isStreaming = isAsyncGeneratorFunction(options.handler);
|
|
386
|
-
// Get the response keys from the agent's metadata (allows custom override)
|
|
387
|
-
const getResponseKeys = () => {
|
|
388
|
-
const keys = agentInstance.metadata.responseKeys;
|
|
389
|
-
return keys && keys.length > 0 ? keys : ['content'];
|
|
390
|
-
};
|
|
391
385
|
if (isStreaming) {
|
|
392
386
|
const streamFn = options.handler;
|
|
393
387
|
// Register streaming handler
|
|
@@ -400,28 +394,14 @@ export function agent(name, options) {
|
|
|
400
394
|
for await (const chunk of streamFn(request.input, request.context)) {
|
|
401
395
|
chunks.push(chunk);
|
|
402
396
|
}
|
|
403
|
-
|
|
404
|
-
// If result is dict, use as-is; otherwise wrap in first responseKey
|
|
405
|
-
if (typeof result === 'object' && result !== null && !Array.isArray(result)) {
|
|
406
|
-
return result;
|
|
407
|
-
}
|
|
408
|
-
const responseKeys = getResponseKeys();
|
|
409
|
-
return { [responseKeys[0]]: result };
|
|
397
|
+
return { output: chunks.join('') };
|
|
410
398
|
});
|
|
411
399
|
}
|
|
412
400
|
else {
|
|
413
401
|
const regularHandler = options.handler;
|
|
414
402
|
agentInstance.handler(async (request) => {
|
|
415
403
|
const result = await regularHandler(request.input, request.context);
|
|
416
|
-
|
|
417
|
-
const responseKeys = getResponseKeys();
|
|
418
|
-
if (typeof result === 'object' &&
|
|
419
|
-
result !== null &&
|
|
420
|
-
!Array.isArray(result) &&
|
|
421
|
-
responseKeys.every((key) => key in result)) {
|
|
422
|
-
return result;
|
|
423
|
-
}
|
|
424
|
-
return { [responseKeys[0]]: result };
|
|
404
|
+
return { output: result };
|
|
425
405
|
});
|
|
426
406
|
}
|
|
427
407
|
return agentInstance;
|
|
@@ -432,14 +412,12 @@ export function agent(name, options) {
|
|
|
432
412
|
* This is a convenience factory that creates an agent with a standard chat
|
|
433
413
|
* interface (messages in, messages out).
|
|
434
414
|
*
|
|
435
|
-
* Request: `{ messages: [...] }`
|
|
436
|
-
* Response: `{ messages: [{ role: 'assistant', content: '...' }, ...] }`
|
|
415
|
+
* Request: `{ input: { messages: [...] } }`
|
|
416
|
+
* Response: `{ output: { messages: [{ role: 'assistant', content: '...' }, ...] } }`
|
|
437
417
|
*
|
|
438
418
|
* @example
|
|
439
419
|
* ```typescript
|
|
440
420
|
* // Non-streaming chat agent
|
|
441
|
-
* // Request: { messages: [{ role: 'user', content: 'hello' }] }
|
|
442
|
-
* // Response: { messages: [{ role: 'assistant', content: 'You said: hello' }] }
|
|
443
421
|
* const bot = chatAgent('bot', {
|
|
444
422
|
* description: 'A simple chatbot',
|
|
445
423
|
* handler: async (messages) => {
|
|
@@ -460,95 +438,15 @@ export function agent(name, options) {
|
|
|
460
438
|
* ```
|
|
461
439
|
*/
|
|
462
440
|
export function chatAgent(name, options) {
|
|
463
|
-
// Chat agents have default request/response keys (can be overridden via metadata)
|
|
464
|
-
const requestKeys = ['messages'];
|
|
465
|
-
const responseKeys = ['messages'];
|
|
466
|
-
// Message item schema (shared between parameters and output)
|
|
467
|
-
const messageItemSchema = {
|
|
468
|
-
type: 'object',
|
|
469
|
-
properties: {
|
|
470
|
-
role: {
|
|
471
|
-
type: 'string',
|
|
472
|
-
enum: ['system', 'user', 'assistant', 'tool'],
|
|
473
|
-
},
|
|
474
|
-
content: {
|
|
475
|
-
type: ['string', 'null'],
|
|
476
|
-
},
|
|
477
|
-
name: {
|
|
478
|
-
type: 'string',
|
|
479
|
-
},
|
|
480
|
-
tool_call_id: {
|
|
481
|
-
type: 'string',
|
|
482
|
-
},
|
|
483
|
-
tool_calls: {
|
|
484
|
-
type: 'array',
|
|
485
|
-
items: {
|
|
486
|
-
type: 'object',
|
|
487
|
-
properties: {
|
|
488
|
-
id: { type: 'string' },
|
|
489
|
-
type: { type: 'string', enum: ['function'] },
|
|
490
|
-
function: {
|
|
491
|
-
type: 'object',
|
|
492
|
-
properties: {
|
|
493
|
-
name: { type: 'string' },
|
|
494
|
-
arguments: { type: 'string' },
|
|
495
|
-
},
|
|
496
|
-
required: ['name', 'arguments'],
|
|
497
|
-
},
|
|
498
|
-
},
|
|
499
|
-
required: ['id', 'type', 'function'],
|
|
500
|
-
},
|
|
501
|
-
},
|
|
502
|
-
},
|
|
503
|
-
required: ['role'],
|
|
504
|
-
};
|
|
505
|
-
// Define standard chat agent schemas
|
|
506
|
-
const parametersSchema = {
|
|
507
|
-
type: 'object',
|
|
508
|
-
properties: {
|
|
509
|
-
messages: {
|
|
510
|
-
type: 'array',
|
|
511
|
-
items: messageItemSchema,
|
|
512
|
-
},
|
|
513
|
-
},
|
|
514
|
-
required: ['messages'],
|
|
515
|
-
};
|
|
516
|
-
// Messages schema (array of messages, the value, not the full response)
|
|
517
|
-
const messagesSchema = {
|
|
518
|
-
type: 'array',
|
|
519
|
-
items: messageItemSchema,
|
|
520
|
-
};
|
|
521
|
-
// Wrap messages schema to match responseKeys structure
|
|
522
|
-
const wrappedOutput = wrapOutputSchemaForResponseKeys(messagesSchema, responseKeys);
|
|
523
|
-
// Build metadata (allow metadata override to change responseKeys)
|
|
524
|
-
const baseMetadata = {
|
|
525
|
-
type: 'chat_agent',
|
|
526
|
-
description: options.description,
|
|
527
|
-
parameters: parametersSchema,
|
|
528
|
-
requestKeys,
|
|
529
|
-
responseKeys,
|
|
530
|
-
};
|
|
531
|
-
// If metadata override includes responseKeys, re-wrap output schema
|
|
532
|
-
const finalResponseKeys = options.metadata?.responseKeys ?? responseKeys;
|
|
533
|
-
const finalWrappedOutput = options.metadata?.responseKeys !== undefined
|
|
534
|
-
? wrapOutputSchemaForResponseKeys(messagesSchema, finalResponseKeys)
|
|
535
|
-
: wrappedOutput;
|
|
536
|
-
if (finalWrappedOutput !== undefined) {
|
|
537
|
-
baseMetadata.output = finalWrappedOutput;
|
|
538
|
-
}
|
|
539
441
|
const agentInstance = new Agent(name, {
|
|
540
442
|
metadata: {
|
|
541
|
-
|
|
542
|
-
|
|
443
|
+
description: options.description,
|
|
444
|
+
input: CHAT_AGENT_INPUT,
|
|
445
|
+
output: CHAT_AGENT_OUTPUT,
|
|
543
446
|
},
|
|
544
447
|
});
|
|
545
448
|
// Detect if handler is an async generator function
|
|
546
449
|
const isStreaming = isAsyncGeneratorFunction(options.handler);
|
|
547
|
-
// Get the response keys from the agent's metadata (allows custom override)
|
|
548
|
-
const getResponseKeys = () => {
|
|
549
|
-
const keys = agentInstance.metadata.responseKeys;
|
|
550
|
-
return keys && keys.length > 0 ? keys : ['messages'];
|
|
551
|
-
};
|
|
552
450
|
if (isStreaming) {
|
|
553
451
|
const streamFn = options.handler;
|
|
554
452
|
// Register streaming handler
|
|
@@ -563,10 +461,11 @@ export function chatAgent(name, options) {
|
|
|
563
461
|
for await (const chunk of streamFn(rawMessages, request.context)) {
|
|
564
462
|
chunks.push(chunk);
|
|
565
463
|
}
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
464
|
+
return {
|
|
465
|
+
output: {
|
|
466
|
+
messages: [{ role: 'assistant', content: chunks.join('') }],
|
|
467
|
+
},
|
|
468
|
+
};
|
|
570
469
|
});
|
|
571
470
|
}
|
|
572
471
|
else {
|
|
@@ -574,20 +473,11 @@ export function chatAgent(name, options) {
|
|
|
574
473
|
agentInstance.handler(async (request) => {
|
|
575
474
|
const rawMessages = (request.input.messages ?? []);
|
|
576
475
|
const result = await regularHandler(rawMessages, request.context);
|
|
577
|
-
const responseKeys = getResponseKeys();
|
|
578
|
-
// Check if result is already a full response dict with all responseKeys
|
|
579
|
-
// (This handles cases where responseKeys are overridden and function returns a dict)
|
|
580
|
-
if (typeof result === 'object' &&
|
|
581
|
-
result !== null &&
|
|
582
|
-
!Array.isArray(result) &&
|
|
583
|
-
responseKeys.every((key) => key in result)) {
|
|
584
|
-
return result;
|
|
585
|
-
}
|
|
586
476
|
// Convert list of Message objects to list of dicts
|
|
587
477
|
const messagesList = Array.isArray(result)
|
|
588
478
|
? result.map((m) => ({ role: m.role, content: m.content }))
|
|
589
479
|
: [{ role: result.role, content: result.content }];
|
|
590
|
-
return {
|
|
480
|
+
return { output: { messages: messagesList } };
|
|
591
481
|
});
|
|
592
482
|
}
|
|
593
483
|
return agentInstance;
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;GAGG;AACH,MAAM,mBAAmB,GAAe;IACtC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;KAC5E;IACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,oBAAoB,GAAe;IACvC,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAe;IACnC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;qBAC9C;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;qBACzB;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;qBACf;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,QAAQ;qBACf;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE;gCAC5C,QAAQ,EAAE;oCACR,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wCACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qCAC9B;oCACD,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;iCAChC;6BACF;4BACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC;yBACrC;qBACF;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD,QAAQ,EAAE,CAAC,UAAU,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAAe;IACpC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;iBACtC;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;KACF;IACD,QAAQ,EAAE,CAAC,UAAU,CAAC;CACvB,CAAC;AA8BF;;;;;;GAMG;AACH,MAAM,OAAgB,SAAS;IAM7B;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO;YACL,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAClC,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,oBAAoB;SAC7B,CAAC;IACJ,CAAC;IAOD;;OAEG;IACH,yCAAyC;IACzC,KAAK,CAAC,CAAC,YAAY,CAAC,QAA4B;QAC9C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS;QACP,OAAO,KAAK,EAAE,OAAgB,EAAqB,EAAE;YACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAE9B,eAAe;YACf,MAAM,WAAW,GAAG;gBAClB,6BAA6B,EAAE,GAAG;gBAClC,8BAA8B,EAAE,oBAAoB;gBACpD,8BAA8B,EAAE,cAAc;aAC/C,CAAC;YAEF,wBAAwB;YACxB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC;gBACH,cAAc;gBACd,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAED,YAAY;gBACZ,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzC,OAAO,QAAQ,CAAC,IAAI,CAClB;wBACE,OAAO,EAAE;4BACP,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,OAAO;4BAChB,QAAQ,EAAE,YAAY;4BACtB,SAAS,EAAE,OAAO;yBACnB;wBACD,MAAM,EAAE;4BACN;gCACE,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,GAAG,IAAI,CAAC,QAAQ;6BACjB;yBACF;qBACF,EACD,EAAE,OAAO,EAAE,WAAW,EAAE,CACzB,CAAC;gBACJ,CAAC;gBAED,6BAA6B;gBAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,IAAI,MAAM,KAAK,MAAM,IAAI,WAAW,EAAE,CAAC;oBACrC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC5B,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,SAAS,aAAa,EAAE,EAAE,EAC/E,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CACtC,CAAC;oBACJ,CAAC;oBAED,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAuB,CAAC;oBAE1D,MAAM,aAAa,GAAuB;wBACxC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;wBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;wBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;qBACtB,CAAC;oBAEF,mBAAmB;oBACnB,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;wBACzB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;4BAChC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gCAC1B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;gCAClC,IAAI,CAAC;oCACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;wCAC3D,UAAU,CAAC,OAAO,CAChB,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAChE,CAAC;oCACJ,CAAC;oCACD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gCACpF,CAAC;gCAAC,OAAO,KAAK,EAAE,CAAC;oCACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oCACzE,MAAM,SAAS,GACb,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;oCACrE,UAAU,CAAC,OAAO,CAChB,OAAO,CAAC,MAAM,CACZ,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CACvE,CACF,CAAC;gCACJ,CAAC;gCACD,UAAU,CAAC,KAAK,EAAE,CAAC;4BACrB,CAAC;yBACF,CAAC,CAAC;wBAEH,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;4BAC1B,OAAO,EAAE;gCACP,GAAG,WAAW;gCACd,cAAc,EAAE,mBAAmB;gCACnC,eAAe,EAAE,UAAU;gCAC3B,UAAU,EAAE,YAAY;6BACzB;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAED,YAAY;gBACZ,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAC1D,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CACtC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,MAAM,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBACrF,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EACvC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CACtC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,KAAM,SAAQ,SAAS;IACjB,KAAK,CAAS;IACd,SAAS,CAAyB;IAE3C,cAAc,GAAyB,IAAI,CAAC;IAC5C,oBAAoB,GAA+B,IAAI,CAAC;IAEhE;;;;;OAKG;IACH,YAAY,IAAY,EAAE,OAA+C;QACvE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO;YACL,YAAY,EAAE;gBACZ,SAAS,EAAE,IAAI,CAAC,oBAAoB,KAAK,IAAI;gBAC7C,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY;aAC/B;YACD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,mBAAmB;YAClD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,oBAAoB;YACrD,GAAG,IAAI,CAAC,SAAS;SAClB,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,EAAiB;QACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAuB;QACnC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,YAAY,CAAC,OAA2B;QAC7C,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAqDD;;GAEG;AACH,SAAS,wBAAwB,CAC/B,EAAW;IAEX,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,KAAK,wBAAwB,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,OAAqB;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,oBAAoB,CAAC;IAE5D,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;QACpC,QAAQ,EAAE;YACR,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;SACrB;KACF,CAAC,CAAC;IAEH,mDAAmD;IACnD,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAGiB,CAAC;QAE3C,6BAA6B;QAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,EAAE,OAA2B;YACtE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAA2B,EAAgC,EAAE;YACxF,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,OAAO,CAAC,OAGV,CAAC;QAEtB,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAA2B,EAAgC,EAAE;YACxF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAAyB;IAC/D,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;QACpC,QAAQ,EAAE;YACR,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,iBAAiB;SAC1B;KACF,CAAC,CAAC;IAEH,mDAAmD;IACnD,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9D,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAGiB,CAAC;QAE3C,6BAA6B;QAC7B,aAAa,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,EAAE,OAA2B;YACtE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAc,CAAC;YAChE,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAA2B,EAAgC,EAAE;YACxF,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAc,CAAC;YAChE,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,OAAO;gBACL,MAAM,EAAE;oBACN,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;iBAC5D;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,OAAO,CAAC,OAGR,CAAC;QAExB,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAA2B,EAAgC,EAAE;YACxF,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAc,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAElE,mDAAmD;YACnD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC,EAAE,IAAI,EAAG,MAAkB,CAAC,IAAI,EAAE,OAAO,EAAG,MAAkB,CAAC,OAAO,EAAE,CAAC,CAAC;YAE/E,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
|