@arvo-tools/agentic 0.4.1 → 1.0.1
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/Agent/AgentDefaults.d.ts +4 -2
- package/dist/Agent/AgentDefaults.d.ts.map +1 -1
- package/dist/Agent/AgentDefaults.js +3 -0
- package/dist/Agent/AgentDefaults.js.map +1 -1
- package/dist/Agent/agentLoop.d.ts +22 -1
- package/dist/Agent/agentLoop.d.ts.map +1 -1
- package/dist/Agent/agentLoop.js +41 -6
- package/dist/Agent/agentLoop.js.map +1 -1
- package/dist/Agent/index.d.ts +76 -3
- package/dist/Agent/index.d.ts.map +1 -1
- package/dist/Agent/index.js +102 -25
- package/dist/Agent/index.js.map +1 -1
- package/dist/Agent/schema.d.ts +9 -0
- package/dist/Agent/schema.d.ts.map +1 -1
- package/dist/Agent/schema.js +7 -0
- package/dist/Agent/schema.js.map +1 -1
- package/dist/Agent/types.d.ts +222 -58
- package/dist/Agent/types.d.ts.map +1 -1
- package/dist/Agent/utils.d.ts +46 -1
- package/dist/Agent/utils.d.ts.map +1 -1
- package/dist/Agent/utils.js +43 -0
- package/dist/Agent/utils.js.map +1 -1
- package/dist/AgentTool/index.d.ts +30 -0
- package/dist/AgentTool/index.d.ts.map +1 -0
- package/dist/{Agent/agentTool.js → AgentTool/index.js} +27 -1
- package/dist/AgentTool/index.js.map +1 -0
- package/dist/AgentTool/types.d.ts +59 -0
- package/dist/AgentTool/types.d.ts.map +1 -0
- package/dist/AgentTool/types.js +3 -0
- package/dist/AgentTool/types.js.map +1 -0
- package/dist/Integrations/MCPClient.d.ts +62 -29
- package/dist/Integrations/MCPClient.d.ts.map +1 -1
- package/dist/Integrations/MCPClient.js +60 -29
- package/dist/Integrations/MCPClient.js.map +1 -1
- package/dist/Integrations/openai/index.d.ts +25 -0
- package/dist/Integrations/openai/index.d.ts.map +1 -0
- package/dist/Integrations/{openai.js → openai/index.js} +64 -28
- package/dist/Integrations/openai/index.js.map +1 -0
- package/dist/Integrations/prompts.d.ts +8 -0
- package/dist/Integrations/prompts.d.ts.map +1 -0
- package/dist/Integrations/prompts.js +12 -0
- package/dist/Integrations/prompts.js.map +1 -0
- package/dist/Integrations/types.d.ts +101 -0
- package/dist/Integrations/types.d.ts.map +1 -0
- package/dist/Integrations/types.js +3 -0
- package/dist/Integrations/types.js.map +1 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces.mcp.d.ts +29 -0
- package/dist/interfaces.mcp.d.ts.map +1 -1
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/Agent/agentTool.d.ts +0 -4
- package/dist/Agent/agentTool.d.ts.map +0 -1
- package/dist/Agent/agentTool.js.map +0 -1
- package/dist/Integrations/openai.d.ts +0 -10
- package/dist/Integrations/openai.d.ts.map +0 -1
- package/dist/Integrations/openai.js.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type OpenAI from 'openai';
|
|
2
|
+
import type { ChatModel } from 'openai/resources/shared.mjs';
|
|
3
|
+
import type { AgentLLMIntegration, AgentLLMIntegrationParam } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* Creates an Arvo-compatible LLM Adapter for OpenAI models (GPT-4, GPT-3.5, etc.).
|
|
6
|
+
*
|
|
7
|
+
* This integration handles the complexity of:
|
|
8
|
+
* 1. **Structured Outputs:** Automatically converts Zod schemas to OpenAI `json_schema` format when required.
|
|
9
|
+
* 2. **Context Optimization:** Automatically strips large media payloads (images/files) from the history during resume/tool-result cycles to save tokens.
|
|
10
|
+
* 3. **Observability:** Instruments every call with OpenInference-compliant OpenTelemetry attributes.
|
|
11
|
+
* 4. **Safety:** Injects a tool limit prompt when the Agent exhausts its tool budget (customizable via `toolLimitPrompt`).
|
|
12
|
+
*
|
|
13
|
+
* @param client - An initialized `OpenAI` SDK client instance.
|
|
14
|
+
* @param config - Configuration for model behavior (Model ID, Temperature, Max Tokens) and cost calculation logic.
|
|
15
|
+
* @param config.toolLimitPrompt - Custom system instruction to inject when `maxToolInteractions` logic is triggered. useful for guiding the model to summarize or fail gracefully.
|
|
16
|
+
* @returns An `AgentLLMIntegration` function ready to be passed to `createArvoAgent`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const openaiLLMIntegration: (client: OpenAI, config?: {
|
|
19
|
+
model?: ChatModel;
|
|
20
|
+
temperature?: number;
|
|
21
|
+
maxTokens?: number;
|
|
22
|
+
executionunits?: (prompt: number, completion: number) => number;
|
|
23
|
+
toolLimitPrompt?: (toolInteractions: AgentLLMIntegrationParam["toolInteractions"]) => string;
|
|
24
|
+
}) => AgentLLMIntegration;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Integrations/openai/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAY7D,OAAO,KAAK,EACV,mBAAmB,EAEnB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAiGlB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,GAE7B,QAAQ,MAAM,EACd,SAAS;IACP,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,KAAK,MAAM,CAAC;CAC9F,KACA,mBAiLC,CAAC"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -52,7 +63,17 @@ var openinference_semantic_conventions_1 = require("@arizeai/openinference-seman
|
|
|
52
63
|
var api_1 = require("@opentelemetry/api");
|
|
53
64
|
var arvo_core_1 = require("arvo-core");
|
|
54
65
|
var zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
55
|
-
var utils_1 = require("
|
|
66
|
+
var utils_1 = require("../../Agent/utils");
|
|
67
|
+
var prompts_1 = require("../prompts");
|
|
68
|
+
/**
|
|
69
|
+
* Internal Adapter: Maps Arvo's generic Agent Message format to OpenAI's specific API format.
|
|
70
|
+
*
|
|
71
|
+
* Handles:
|
|
72
|
+
* - System Prompt injection.
|
|
73
|
+
* - Mapping Tool Results to their originating Tool Call IDs.
|
|
74
|
+
* - Multimodal Content (converting Arvo media objects to OpenAI Image/File URLs).
|
|
75
|
+
* - Reconstructs the specific message ordering OpenAI expects (User -> Assistant(ToolCall) -> Tool(Result)).
|
|
76
|
+
*/
|
|
56
77
|
var formatMessagesForOpenAI = function (messages, systemPrompt) {
|
|
57
78
|
var e_1, _a, e_2, _b;
|
|
58
79
|
var _c;
|
|
@@ -157,6 +178,20 @@ var formatMessagesForOpenAI = function (messages, systemPrompt) {
|
|
|
157
178
|
}
|
|
158
179
|
return formattedMessages;
|
|
159
180
|
};
|
|
181
|
+
/**
|
|
182
|
+
* Creates an Arvo-compatible LLM Adapter for OpenAI models (GPT-4, GPT-3.5, etc.).
|
|
183
|
+
*
|
|
184
|
+
* This integration handles the complexity of:
|
|
185
|
+
* 1. **Structured Outputs:** Automatically converts Zod schemas to OpenAI `json_schema` format when required.
|
|
186
|
+
* 2. **Context Optimization:** Automatically strips large media payloads (images/files) from the history during resume/tool-result cycles to save tokens.
|
|
187
|
+
* 3. **Observability:** Instruments every call with OpenInference-compliant OpenTelemetry attributes.
|
|
188
|
+
* 4. **Safety:** Injects a tool limit prompt when the Agent exhausts its tool budget (customizable via `toolLimitPrompt`).
|
|
189
|
+
*
|
|
190
|
+
* @param client - An initialized `OpenAI` SDK client instance.
|
|
191
|
+
* @param config - Configuration for model behavior (Model ID, Temperature, Max Tokens) and cost calculation logic.
|
|
192
|
+
* @param config.toolLimitPrompt - Custom system instruction to inject when `maxToolInteractions` logic is triggered. useful for guiding the model to summarize or fail gracefully.
|
|
193
|
+
* @returns An `AgentLLMIntegration` function ready to be passed to `createArvoAgent`.
|
|
194
|
+
*/
|
|
160
195
|
var openaiLLMIntegration = function (client, config) {
|
|
161
196
|
return function (_a, _b) { return __awaiter(void 0, [_a, _b], void 0, function (_c, _d) {
|
|
162
197
|
var _e;
|
|
@@ -179,9 +214,9 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
179
214
|
fn: function (span) { return __awaiter(void 0, void 0, void 0, function () {
|
|
180
215
|
var llmModel, llmInvocationParams, messages, system, limitMessage, toolDef, tools_1, tools_1_1, tool, formattedMessages, responseFormat, completion, choice, llmUsage, executionUnits, toolRequests, _a, _b, toolCall, content, e_3;
|
|
181
216
|
var e_4, _c, e_5, _d;
|
|
182
|
-
var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
183
|
-
return __generator(this, function (
|
|
184
|
-
switch (
|
|
217
|
+
var _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
218
|
+
return __generator(this, function (_u) {
|
|
219
|
+
switch (_u.label) {
|
|
185
220
|
case 0:
|
|
186
221
|
llmModel = (_e = config === null || config === void 0 ? void 0 : config.model) !== null && _e !== void 0 ? _e : 'gpt-4o';
|
|
187
222
|
llmInvocationParams = {
|
|
@@ -189,28 +224,28 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
189
224
|
maxTokens: (_g = config === null || config === void 0 ? void 0 : config.maxTokens) !== null && _g !== void 0 ? _g : 4096,
|
|
190
225
|
};
|
|
191
226
|
messages = _messages.map(function (item) {
|
|
192
|
-
if (
|
|
193
|
-
return item;
|
|
194
|
-
if (item.content.type === 'media') {
|
|
227
|
+
if (item.content.type === 'media' && item.seenCount > 0) {
|
|
195
228
|
return {
|
|
196
229
|
role: item.role,
|
|
197
230
|
content: {
|
|
198
231
|
type: 'text',
|
|
199
232
|
content: "Media file (type: ".concat(item.content.contentType.type, "@").concat(item.content.contentType.format, ") already parsed and looked at. No need for you to look at it again"),
|
|
200
233
|
},
|
|
234
|
+
seenCount: item.seenCount,
|
|
201
235
|
};
|
|
202
236
|
}
|
|
203
237
|
return item;
|
|
204
238
|
});
|
|
205
239
|
system = _system;
|
|
206
240
|
if (toolInteractions.exhausted) {
|
|
207
|
-
limitMessage = (
|
|
241
|
+
limitMessage = (_j = (_h = config === null || config === void 0 ? void 0 : config.toolLimitPrompt) === null || _h === void 0 ? void 0 : _h.call(config, toolInteractions)) !== null && _j !== void 0 ? _j : prompts_1.DEFAULT_TOOL_LIMIT_PROMPT;
|
|
208
242
|
messages.push({
|
|
209
243
|
role: 'user',
|
|
210
244
|
content: {
|
|
211
245
|
type: 'text',
|
|
212
246
|
content: limitMessage,
|
|
213
247
|
},
|
|
248
|
+
seenCount: 0,
|
|
214
249
|
});
|
|
215
250
|
system = "".concat(system, "\n\n").concat(limitMessage);
|
|
216
251
|
}
|
|
@@ -225,9 +260,9 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
225
260
|
system: system,
|
|
226
261
|
tools: tools,
|
|
227
262
|
}, span);
|
|
228
|
-
|
|
263
|
+
_u.label = 1;
|
|
229
264
|
case 1:
|
|
230
|
-
|
|
265
|
+
_u.trys.push([1, 3, 4, 5]);
|
|
231
266
|
toolDef = [];
|
|
232
267
|
try {
|
|
233
268
|
for (tools_1 = __values(tools), tools_1_1 = tools_1.next(); !tools_1_1.done; tools_1_1 = tools_1.next()) {
|
|
@@ -261,26 +296,21 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
261
296
|
},
|
|
262
297
|
}
|
|
263
298
|
: undefined;
|
|
264
|
-
return [4 /*yield*/, client.chat.completions.create({
|
|
265
|
-
|
|
266
|
-
max_tokens: llmInvocationParams.maxTokens,
|
|
267
|
-
temperature: llmInvocationParams.temperature,
|
|
268
|
-
tools: toolDef.length ? toolDef : undefined,
|
|
269
|
-
messages: formattedMessages,
|
|
270
|
-
response_format: responseFormat,
|
|
271
|
-
})];
|
|
299
|
+
return [4 /*yield*/, client.chat.completions.create(__assign(__assign({ model: llmModel }, (llmModel.includes('gpt-5')
|
|
300
|
+
? { max_completion_tokens: llmInvocationParams.maxTokens }
|
|
301
|
+
: { max_tokens: llmInvocationParams.maxTokens })), { temperature: llmModel.includes('gpt-5') ? 1 : llmInvocationParams.temperature, tools: toolDef.length ? toolDef : undefined, messages: formattedMessages, response_format: responseFormat }))];
|
|
272
302
|
case 2:
|
|
273
|
-
completion =
|
|
303
|
+
completion = _u.sent();
|
|
274
304
|
choice = completion.choices[0];
|
|
275
305
|
llmUsage = {
|
|
276
306
|
tokens: {
|
|
277
|
-
prompt: (
|
|
278
|
-
completion: (
|
|
307
|
+
prompt: (_l = (_k = completion.usage) === null || _k === void 0 ? void 0 : _k.prompt_tokens) !== null && _l !== void 0 ? _l : 0,
|
|
308
|
+
completion: (_o = (_m = completion.usage) === null || _m === void 0 ? void 0 : _m.completion_tokens) !== null && _o !== void 0 ? _o : 0,
|
|
279
309
|
},
|
|
280
310
|
};
|
|
281
|
-
executionUnits = (
|
|
311
|
+
executionUnits = (_q = (_p = config === null || config === void 0 ? void 0 : config.executionunits) === null || _p === void 0 ? void 0 : _p.call(config, llmUsage.tokens.prompt, llmUsage.tokens.completion)) !== null && _q !== void 0 ? _q : llmUsage.tokens.prompt + llmUsage.tokens.completion;
|
|
282
312
|
(0, utils_1.setOpenInferenceUsageOutputAttr)(llmUsage, span);
|
|
283
|
-
if ((
|
|
313
|
+
if ((_r = choice === null || choice === void 0 ? void 0 : choice.message) === null || _r === void 0 ? void 0 : _r.tool_calls) {
|
|
284
314
|
toolRequests = [];
|
|
285
315
|
try {
|
|
286
316
|
for (_a = __values(choice.message
|
|
@@ -293,8 +323,8 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
293
323
|
input: JSON.parse(toolCall.function.arguments),
|
|
294
324
|
});
|
|
295
325
|
}
|
|
296
|
-
catch (
|
|
297
|
-
|
|
326
|
+
catch (err) {
|
|
327
|
+
(0, arvo_core_1.exceptionToSpan)(err, span);
|
|
298
328
|
}
|
|
299
329
|
}
|
|
300
330
|
}
|
|
@@ -315,7 +345,13 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
315
345
|
}];
|
|
316
346
|
}
|
|
317
347
|
}
|
|
318
|
-
content = (
|
|
348
|
+
content = (_t = (_s = choice === null || choice === void 0 ? void 0 : choice.message) === null || _s === void 0 ? void 0 : _s.content) !== null && _t !== void 0 ? _t : '';
|
|
349
|
+
if (choice.finish_reason === 'length') {
|
|
350
|
+
content = "".concat(content, " [Max response token limit ").concat(llmInvocationParams.maxTokens, " reached]");
|
|
351
|
+
}
|
|
352
|
+
if (choice.finish_reason === 'content_filter') {
|
|
353
|
+
content = "".concat(content, " [Request blocked due to OpenAI content filtering policies]");
|
|
354
|
+
}
|
|
319
355
|
(0, utils_1.setOpenInferenceResponseOutputAttr)({ response: content }, span);
|
|
320
356
|
if (outputFormat.type === 'json') {
|
|
321
357
|
return [2 /*return*/, {
|
|
@@ -333,7 +369,7 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
333
369
|
executionUnits: executionUnits,
|
|
334
370
|
}];
|
|
335
371
|
case 3:
|
|
336
|
-
e_3 =
|
|
372
|
+
e_3 = _u.sent();
|
|
337
373
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: e_3 === null || e_3 === void 0 ? void 0 : e_3.message });
|
|
338
374
|
throw e_3;
|
|
339
375
|
case 4:
|
|
@@ -350,4 +386,4 @@ var openaiLLMIntegration = function (client, config) {
|
|
|
350
386
|
}); };
|
|
351
387
|
};
|
|
352
388
|
exports.openaiLLMIntegration = openaiLLMIntegration;
|
|
353
|
-
//# sourceMappingURL=
|
|
389
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Integrations/openai/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard System Instruction injected when the Agent reaches its `maxToolInteractions` limit.
|
|
3
|
+
*
|
|
4
|
+
* This prompt overrides the Agent's natural tendency to keep calling tools, forcing it to
|
|
5
|
+
* synthesize a final response based on whatever partial data it has managed to collect so far.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_TOOL_LIMIT_PROMPT: string;
|
|
8
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/Integrations/prompts.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,QAOpC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_TOOL_LIMIT_PROMPT = void 0;
|
|
4
|
+
var arvo_core_1 = require("arvo-core");
|
|
5
|
+
/**
|
|
6
|
+
* Standard System Instruction injected when the Agent reaches its `maxToolInteractions` limit.
|
|
7
|
+
*
|
|
8
|
+
* This prompt overrides the Agent's natural tendency to keep calling tools, forcing it to
|
|
9
|
+
* synthesize a final response based on whatever partial data it has managed to collect so far.
|
|
10
|
+
*/
|
|
11
|
+
exports.DEFAULT_TOOL_LIMIT_PROMPT = (0, arvo_core_1.cleanString)("\n **CRITICAL WARNING: You have reached your tool interaction limit!**\n You must answer the original question using all the data available to you. \n You have run out of tool call budget. No more tool calls are allowed any more.\n If you cannot answer the query well. Then mention what you have done briefly, what\n can you answer based on the collected data, what data is missing and why you cannot \n answer any further. \n");
|
|
12
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/Integrations/prompts.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAExC;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG,IAAA,uBAAW,EAAC,mbAOpD,CAAC,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type z from 'zod';
|
|
2
|
+
import type { AgentLLMContext, AgentMessage, AgentToolCallContent, AgentToolDefinition } from '../Agent/types';
|
|
3
|
+
import type { OtelInfoType } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* The standardized input payload passed to a Custom LLM Integration function.
|
|
6
|
+
*
|
|
7
|
+
* If you are building a custom adapter (e.g. for Vertex AI or Bedrock), your job is to
|
|
8
|
+
* map these Arvo-standard fields onto your provider's specific API request format.
|
|
9
|
+
*/
|
|
10
|
+
export type AgentLLMIntegrationParam = {
|
|
11
|
+
/**
|
|
12
|
+
* The reason for this LLM invocation. Use this to optimize your prompt strategy:
|
|
13
|
+
* - `'init'`: Fresh start. Ingest system prompt and initial context.
|
|
14
|
+
* - `'tool_result'`: Resume. The input contains new tool outputs.
|
|
15
|
+
* - `'output_error_feedback'`: Correction. The previous response failed Zod validation;
|
|
16
|
+
* you should prompt the model to fix its format.
|
|
17
|
+
*/
|
|
18
|
+
lifecycle: 'init' | 'tool_result' | 'output_error_feedback';
|
|
19
|
+
/** The full conversation history in Arvo's standard format (needs mapping to provider format). */
|
|
20
|
+
messages: AgentMessage[];
|
|
21
|
+
/** The computed system prompt (generated by the context builder on Agent init). */
|
|
22
|
+
system: string | null;
|
|
23
|
+
/** List of available tools. You must convert these to your provider's tool/function schema. */
|
|
24
|
+
tools: AgentToolDefinition[];
|
|
25
|
+
/**
|
|
26
|
+
* Tool loop limits.
|
|
27
|
+
* If `exhausted` is true, you should inject a system instruction forcing the LLM to stop calling tools
|
|
28
|
+
* and synthesize a final answer.
|
|
29
|
+
*/
|
|
30
|
+
toolInteractions: AgentLLMContext['toolInteractions'] & {
|
|
31
|
+
exhausted: boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The required output mode.
|
|
35
|
+
* - `'text' | 'media'`: Standard chat completion.
|
|
36
|
+
* - `'json'`: Structured Output mode. You should enforce the provided Zod `format` via your provider's JSON mode.
|
|
37
|
+
*/
|
|
38
|
+
outputFormat: {
|
|
39
|
+
type: 'text';
|
|
40
|
+
} | {
|
|
41
|
+
type: 'json';
|
|
42
|
+
format: z.ZodTypeAny;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* The normalized response object your Custom Integration must return.
|
|
47
|
+
*
|
|
48
|
+
* You must parse your provider's raw response (e.g. OpenAI `Choice`, Anthropic `ContentBlock`)
|
|
49
|
+
* and normalize it into one of these three mutually exclusive types so the Agent Loop can act on it.
|
|
50
|
+
*/
|
|
51
|
+
export type AgentLLMIntegrationOutput = {
|
|
52
|
+
/** Token metrics for observability/billing. */
|
|
53
|
+
usage: {
|
|
54
|
+
tokens: {
|
|
55
|
+
prompt: number;
|
|
56
|
+
completion: number;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* A standardized cost metric for Arvo's throttling/billing (e.g. 1 unit = 1 input token).
|
|
61
|
+
* You define the calculation logic in your integration.
|
|
62
|
+
*/
|
|
63
|
+
executionUnits: number;
|
|
64
|
+
} & ({
|
|
65
|
+
/** The LLM wants to execute tools. */
|
|
66
|
+
type: 'tool_call';
|
|
67
|
+
toolRequests: Omit<AgentToolCallContent, 'type'>[];
|
|
68
|
+
} | {
|
|
69
|
+
/** The LLM responded with conversational text. */
|
|
70
|
+
type: 'text';
|
|
71
|
+
content: string;
|
|
72
|
+
} | {
|
|
73
|
+
/**
|
|
74
|
+
* The LLM responded with Structured JSON (requested via `outputFormat`).
|
|
75
|
+
* `parsedContent` must be the valid JS object result of parsing `content`.
|
|
76
|
+
* You can use `tryParseJson` utility from `@arvo-tools/agentic`
|
|
77
|
+
*/
|
|
78
|
+
type: 'json';
|
|
79
|
+
content: string;
|
|
80
|
+
parsedContent: Record<string, unknown> | null;
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Interface for an LLM Provider Adapter function.
|
|
84
|
+
*
|
|
85
|
+
* This function bridges the generic Arvo Agent Loop and a specific Model Provider (OpenAI, Anthropic, Bedrock, etc.).
|
|
86
|
+
*
|
|
87
|
+
* @remarks
|
|
88
|
+
* **Implementation Responsibilities:**
|
|
89
|
+
* 1. **Map Input:** Convert Arvo's standard `AgentMessage[]` and `AgentToolDefinition[]` into the provider's specific API format.
|
|
90
|
+
* 2. **Invoke Model:** Make the actual network call to the LLM (handling retries/timeouts internally).
|
|
91
|
+
* 3. **Instrumentation:** Use the provided `config.otelInfo` to link your network call to the existing OpenTelemetry Trace.
|
|
92
|
+
* 4. **Normalize Output:** Parse the provider's response (Content vs. Tool Calls) into the standard `AgentLLMIntegrationOutput`.
|
|
93
|
+
*
|
|
94
|
+
* @param param - The current state of the Agent (System Prompt, History, Tools, Lifecycle Constraints).
|
|
95
|
+
* @param config - Observability context containing the active Trace Headers and Span.
|
|
96
|
+
* @returns A Promise resolving to the standardized output (Text, JSON, or Tool Requests) that the Agent Loop can act upon.
|
|
97
|
+
*/
|
|
98
|
+
export type AgentLLMIntegration = (param: AgentLLMIntegrationParam, config: {
|
|
99
|
+
otelInfo: OtelInfoType;
|
|
100
|
+
}) => Promise<AgentLLMIntegrationOutput>;
|
|
101
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Integrations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,uBAAuB,CAAC;IAE5D,kGAAkG;IAClG,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB,mFAAmF;IACnF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,+FAA+F;IAC/F,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAE7B;;;;OAIG;IACH,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAAG;QACtD,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF;;;;OAIG;IACH,YAAY,EACR;QACE,IAAI,EAAE,MAAM,CAAC;KACd,GACD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;KACtB,CAAC;CACP,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,+CAA+C;IAC/C,KAAK,EAAE;QACL,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IACF;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,CACA;IACE,sCAAsC;IACtC,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,CAAC;CACpD,GACD;IACE,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C,CACJ,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,wBAAwB,EAC/B,MAAM,EAAE;IAAE,QAAQ,EAAE,YAAY,CAAA;CAAE,KAC/B,OAAO,CAAC,yBAAyB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/Integrations/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
export { createArvoAgent } from './Agent';
|
|
1
|
+
export { AgentState, createArvoAgent } from './Agent';
|
|
2
2
|
export { AgentDefaults } from './Agent/AgentDefaults';
|
|
3
|
-
export { createAgentTool } from './Agent/agentTool';
|
|
4
3
|
export { AgentMediaContentSchema, AgentMessageContentSchema, AgentMessageSchema, AgentTextContentSchema, AgentToolCallContentSchema, AgentToolResultContentSchema, } from './Agent/schema';
|
|
5
|
-
export type { AgentContextBuilder,
|
|
4
|
+
export type { AgentContextBuilder, AgentLLMContext, AgentMediaContent, AgentMessage, AgentMessageContent, AgentOutputBuilder, AgentServiceContract, AgentTextContent, AgentToolCallContent, AgentToolDefinition, AgentToolResultContent, AnyArvoContract, AnyArvoOrchestratorContract, CreateArvoAgentParam, } from './Agent/types';
|
|
6
5
|
export { setOpenInferenceInputAttr, setOpenInferenceResponseOutputAttr, setOpenInferenceToolCallOutputAttr, setOpenInferenceUsageOutputAttr, tryParseJson, } from './Agent/utils';
|
|
6
|
+
export { createAgentTool } from './AgentTool';
|
|
7
|
+
export type { AgentInternalTool } from './AgentTool/types';
|
|
7
8
|
export { MCPClient } from './Integrations/MCPClient';
|
|
8
9
|
export { openaiLLMIntegration } from './Integrations/openai';
|
|
10
|
+
export { DEFAULT_TOOL_LIMIT_PROMPT } from './Integrations/prompts';
|
|
11
|
+
export type { AgentLLMIntegration, AgentLLMIntegrationOutput, AgentLLMIntegrationParam, } from './Integrations/types';
|
|
9
12
|
export type { IMCPClient } from './interfaces.mcp';
|
|
10
|
-
export type { OtelInfoType } from './types';
|
|
13
|
+
export type { NonEmptyArray, OtelInfoType, PromiseAble } from './types';
|
|
11
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,kCAAkC,EAClC,+BAA+B,EAC/B,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.openaiLLMIntegration = exports.MCPClient = exports.tryParseJson = exports.setOpenInferenceUsageOutputAttr = exports.setOpenInferenceToolCallOutputAttr = exports.setOpenInferenceResponseOutputAttr = exports.setOpenInferenceInputAttr = exports.AgentToolResultContentSchema = exports.AgentToolCallContentSchema = exports.AgentTextContentSchema = exports.AgentMessageSchema = exports.AgentMessageContentSchema = exports.AgentMediaContentSchema = exports.
|
|
3
|
+
exports.DEFAULT_TOOL_LIMIT_PROMPT = exports.openaiLLMIntegration = exports.MCPClient = exports.createAgentTool = exports.tryParseJson = exports.setOpenInferenceUsageOutputAttr = exports.setOpenInferenceToolCallOutputAttr = exports.setOpenInferenceResponseOutputAttr = exports.setOpenInferenceInputAttr = exports.AgentToolResultContentSchema = exports.AgentToolCallContentSchema = exports.AgentTextContentSchema = exports.AgentMessageSchema = exports.AgentMessageContentSchema = exports.AgentMediaContentSchema = exports.AgentDefaults = exports.createArvoAgent = void 0;
|
|
4
4
|
var Agent_1 = require("./Agent");
|
|
5
5
|
Object.defineProperty(exports, "createArvoAgent", { enumerable: true, get: function () { return Agent_1.createArvoAgent; } });
|
|
6
6
|
var AgentDefaults_1 = require("./Agent/AgentDefaults");
|
|
7
7
|
Object.defineProperty(exports, "AgentDefaults", { enumerable: true, get: function () { return AgentDefaults_1.AgentDefaults; } });
|
|
8
|
-
var agentTool_1 = require("./Agent/agentTool");
|
|
9
|
-
Object.defineProperty(exports, "createAgentTool", { enumerable: true, get: function () { return agentTool_1.createAgentTool; } });
|
|
10
8
|
var schema_1 = require("./Agent/schema");
|
|
11
9
|
Object.defineProperty(exports, "AgentMediaContentSchema", { enumerable: true, get: function () { return schema_1.AgentMediaContentSchema; } });
|
|
12
10
|
Object.defineProperty(exports, "AgentMessageContentSchema", { enumerable: true, get: function () { return schema_1.AgentMessageContentSchema; } });
|
|
@@ -20,8 +18,12 @@ Object.defineProperty(exports, "setOpenInferenceResponseOutputAttr", { enumerabl
|
|
|
20
18
|
Object.defineProperty(exports, "setOpenInferenceToolCallOutputAttr", { enumerable: true, get: function () { return utils_1.setOpenInferenceToolCallOutputAttr; } });
|
|
21
19
|
Object.defineProperty(exports, "setOpenInferenceUsageOutputAttr", { enumerable: true, get: function () { return utils_1.setOpenInferenceUsageOutputAttr; } });
|
|
22
20
|
Object.defineProperty(exports, "tryParseJson", { enumerable: true, get: function () { return utils_1.tryParseJson; } });
|
|
21
|
+
var AgentTool_1 = require("./AgentTool");
|
|
22
|
+
Object.defineProperty(exports, "createAgentTool", { enumerable: true, get: function () { return AgentTool_1.createAgentTool; } });
|
|
23
23
|
var MCPClient_1 = require("./Integrations/MCPClient");
|
|
24
24
|
Object.defineProperty(exports, "MCPClient", { enumerable: true, get: function () { return MCPClient_1.MCPClient; } });
|
|
25
25
|
var openai_1 = require("./Integrations/openai");
|
|
26
26
|
Object.defineProperty(exports, "openaiLLMIntegration", { enumerable: true, get: function () { return openai_1.openaiLLMIntegration; } });
|
|
27
|
+
var prompts_1 = require("./Integrations/prompts");
|
|
28
|
+
Object.defineProperty(exports, "DEFAULT_TOOL_LIMIT_PROMPT", { enumerable: true, get: function () { return prompts_1.DEFAULT_TOOL_LIMIT_PROMPT; } });
|
|
27
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAsD;AAAjC,wGAAA,eAAe,OAAA;AACpC,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,yCAOwB;AANtB,iHAAA,uBAAuB,OAAA;AACvB,mHAAA,yBAAyB,OAAA;AACzB,4GAAA,kBAAkB,OAAA;AAClB,gHAAA,sBAAsB,OAAA;AACtB,oHAAA,0BAA0B,OAAA;AAC1B,sHAAA,4BAA4B,OAAA;AAkB9B,uCAMuB;AALrB,kHAAA,yBAAyB,OAAA;AACzB,2HAAA,kCAAkC,OAAA;AAClC,2HAAA,kCAAkC,OAAA;AAClC,wHAAA,+BAA+B,OAAA;AAC/B,qGAAA,YAAY,OAAA;AAEd,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAExB,sDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,gDAA6D;AAApD,8GAAA,oBAAoB,OAAA;AAC7B,kDAAmE;AAA1D,oHAAA,yBAAyB,OAAA"}
|
package/dist/interfaces.mcp.d.ts
CHANGED
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
import type { OtelInfoType } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Interface designed to abstract the connection to a Model Context Protocol (MCP) Server.
|
|
4
|
+
*
|
|
5
|
+
* Implementing this interface allows Arvo Agents to connect to the standardized MCP ecosystem
|
|
6
|
+
* (e.g. Filesystems, GitHub, PostgreSQL, Slack) as if they were native tools.
|
|
7
|
+
*/
|
|
2
8
|
export interface IMCPClient {
|
|
9
|
+
/**
|
|
10
|
+
* Establishes the transport session (e.g. SSE, Stdio, HTTP) with the MCP Server.
|
|
11
|
+
* Should perform handshake and capability negotiation.
|
|
12
|
+
*/
|
|
3
13
|
connect: (config: {
|
|
4
14
|
otelInfo: OtelInfoType;
|
|
5
15
|
}) => Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Executes a specific capability on the remote MCP server.
|
|
18
|
+
*
|
|
19
|
+
* @param param - The tool name and arguments generated by the LLM.
|
|
20
|
+
* @returns The tool's output as a string, to be fed back into the LLM's context window.
|
|
21
|
+
*/
|
|
6
22
|
invokeTool: (param: {
|
|
7
23
|
name: string;
|
|
8
24
|
arguments?: Record<string, unknown> | null;
|
|
9
25
|
}, config: {
|
|
10
26
|
otelInfo: OtelInfoType;
|
|
11
27
|
}) => Promise<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Closes the transport session and releases resources.
|
|
30
|
+
*/
|
|
12
31
|
disconnect: (config: {
|
|
13
32
|
otelInfo: OtelInfoType;
|
|
14
33
|
}) => Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Discovers available capabilities from the MCP Server.
|
|
36
|
+
* These definitions are converted by Arvo into the specific format required by the LLM (e.g. OpenAI Tool specs).
|
|
37
|
+
*/
|
|
15
38
|
getTools: (config: {
|
|
16
39
|
otelInfo: OtelInfoType;
|
|
17
40
|
}) => Promise<{
|
|
@@ -19,6 +42,12 @@ export interface IMCPClient {
|
|
|
19
42
|
description: string;
|
|
20
43
|
inputSchema: Record<string, any>;
|
|
21
44
|
}[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Retrieves the priority mapping for the MCP tools.
|
|
47
|
+
*
|
|
48
|
+
* This allows external MCP tools to participate in Arvo's **Priority Batch Execution** logic,
|
|
49
|
+
* ensuring critical tools take precedence over optional ones during orchestration.
|
|
50
|
+
*/
|
|
22
51
|
getToolPriority(config: {
|
|
23
52
|
otelInfo: OtelInfoType;
|
|
24
53
|
}): Promise<Record<string, number>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.mcp.d.ts","sourceRoot":"","sources":["../src/interfaces.mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.mcp.d.ts","sourceRoot":"","sources":["../src/interfaces.mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D;;;;;OAKG;IACH,UAAU,EAAE,CACV,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,EACnE,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAC/B,OAAO,CAAC,MAAM,CAAC,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;OAGG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CACvD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QAEpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAClC,EAAE,CACJ,CAAC;IAEF;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import type { Span } from '@opentelemetry/api';
|
|
2
2
|
import type { OpenTelemetryHeaders } from 'arvo-core';
|
|
3
|
+
/**
|
|
4
|
+
* Observability Context.
|
|
5
|
+
*
|
|
6
|
+
* This object acts as the "Trace Baton," passing the active OpenTelemetry Span and
|
|
7
|
+
* Trace Parent headers between functions. Use this to ensure your custom integrations
|
|
8
|
+
* and tools correctly propagate distributed traces.
|
|
9
|
+
*/
|
|
3
10
|
export type OtelInfoType = {
|
|
11
|
+
/** The active OpenTelemetry Span for the current operation. */
|
|
4
12
|
span: Span;
|
|
13
|
+
/** Trace Headers (traceparent/tracestate) for propagating context across network boundaries. */
|
|
5
14
|
headers: OpenTelemetryHeaders;
|
|
6
15
|
};
|
|
16
|
+
/** A utility type enforcing that an array contains at least one element. */
|
|
17
|
+
export type NonEmptyArray<T> = [T, ...T[]];
|
|
18
|
+
/** A utility type representing a value that may be either synchronous (`T`) or asynchronous (`Promise<T>`). */
|
|
19
|
+
export type PromiseAble<T> = Promise<T> | T;
|
|
7
20
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,+DAA+D;IAC/D,IAAI,EAAE,IAAI,CAAC;IACX,gGAAgG;IAChG,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAE3C,+GAA+G;AAC/G,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type z from 'zod';
|
|
2
|
-
import type { AgentInternalTool } from './types.js';
|
|
3
|
-
export declare const createAgentTool: <TInputSchema extends z.ZodTypeAny, TOutputSchema extends z.ZodTypeAny>(param: AgentInternalTool<TInputSchema, TOutputSchema>) => AgentInternalTool<TInputSchema, TOutputSchema>;
|
|
4
|
-
//# sourceMappingURL=agentTool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentTool.d.ts","sourceRoot":"","sources":["../../src/Agent/agentTool.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,eAAe,GAC1B,YAAY,SAAS,CAAC,CAAC,UAAU,EACjC,aAAa,SAAS,CAAC,CAAC,UAAU,EAElC,OAAO,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,KAiD/C,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentTool.js","sourceRoot":"","sources":["../../src/Agent/agentTool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAGqD;AACrD,0CAAoD;AACpD,uCAAqE;AAK9D,IAAM,eAAe,GAAG,UAI7B,KAAqD;IAErD,OAAA,uBACK,KAAK,KACR,EAAE,EAAE,UAAO,KAA4B,EAAE,MAAkC;;;;4BACzE,qBAAM,6BAAiB,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC;4BACpD,IAAI,EAAE,oBAAa,KAAK,CAAC,IAAI,cAAW;4BACxC,qBAAqB,EAAE,IAAI;4BAC3B,OAAO,EAAE;gCACP,WAAW,EAAE,eAAe;gCAC5B,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;6BACtC;4BACD,WAAW,EAAE;gCACX,UAAU;oCACR,GAAC,wDAAgC,CAAC,uBAAuB,IAAG,0DAAqB,CAAC,IAAI;uCACvF;6BACF;4BACD,EAAE,EAAE,UAAO,IAAI;;;;;;4CAEX,IAAI,CAAC,YAAY,CAAC,wDAAgC,CAAC,uBAAuB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;4CACxF,IAAI,CAAC,YAAY,CACf,wDAAgC,CAAC,iCAAiC,EAClE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;4CACF,IAAI,CAAC,YAAY,CAAC,wDAAgC,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;4CACjF,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4CACrD,IAAI,eAAe,CAAC,KAAK;gDACvB,MAAM,IAAI,KAAK,CACb,2GAAoG,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAE,CACvI,CAAC;4CACW,qBAAM,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;oDAClD,QAAQ,EAAE;wDACR,IAAI,MAAA;wDACJ,OAAO,EAAE,IAAA,iCAAqB,EAAC,IAAI,CAAC;qDACrC;iDACF,CAAC,EAAA;;4CALI,MAAM,GAAG,SAKb;4CACF,IAAI,CAAC,YAAY,CACf,wDAAgC,CAAC,YAAY,EAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACvB,CAAC;4CACF,sBAAO,MAAM,EAAC;;;4CAEd,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,KAAK,EAAE,OAAO,EAAG,KAAa,aAAb,KAAG,uBAAH,KAAG,CAAY,OAAO,EAAE,CAAC,CAAC;4CACjF,MAAM,KAAG,CAAC;;4CAEV,IAAI,CAAC,GAAG,EAAE,CAAC;;;;;iCAEd;yBACF,CAAC,EAAA;4BA3CF,sBAAA,SA2CE,EAAA;;;aAAA,IAC8C;AA/CpD,CA+CoD,CAAC;AArD1C,QAAA,eAAe,mBAqD2B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type OpenAI from 'openai';
|
|
2
|
-
import type { ChatModel } from 'openai/resources/shared.mjs';
|
|
3
|
-
import type { AgentLLMIntegration } from '../Agent/types';
|
|
4
|
-
export declare const openaiLLMIntegration: (client: OpenAI, config?: {
|
|
5
|
-
model: ChatModel;
|
|
6
|
-
temperature?: number;
|
|
7
|
-
maxTokens?: number;
|
|
8
|
-
executionunits?: (prompt: number, completion: number) => number;
|
|
9
|
-
}) => AgentLLMIntegration;
|
|
10
|
-
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/Integrations/openai.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,KAAK,EACV,mBAAmB,EAMpB,MAAM,gBAAgB,CAAC;AA+FxB,eAAO,MAAM,oBAAoB,GAE7B,QAAQ,MAAM,EACd,SAAS;IACP,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CACjE,KACA,mBA8KC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/Integrations/openai.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAGqD;AACrD,0CAAoD;AACpD,uCAA2D;AAK3D,yDAAqD;AASrD,wCAMwB;AAExB,IAAM,uBAAuB,GAAG,UAC9B,QAA8C,EAC9C,YAA2B;;;IAE3B,IAAM,iBAAiB,GAAiC,EAAE,CAAC;IAE3D,IAAI,YAAY,EAAE,CAAC;QACjB,iBAAiB,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;IACL,CAAC;IAED,IAAM,eAAe,GAA2C,EAAE,CAAC;;QACnE,KAAsB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA,wDAAE,CAAC;YAA5B,IAAM,OAAO,qBAAA;YAChB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACtE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAC/D,CAAC;QACH,CAAC;;;;;;;;;;QAED,KAAsB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA,wDAAE,CAAC;YAA5B,IAAM,OAAO,qBAAA;YAChB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpC,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;qBACjC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5F,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,WAAW;gCACjB,SAAS,EAAE;oCACT,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;iCAC7B;6BACF;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3F,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;oCACJ,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ;oCAC9C,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;iCACnC;6BACF;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACpC,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;qBACjC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/C,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,WAAW;wBACjB,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,UAAU;gCAChB,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;gCAC7B,QAAQ,EAAE;oCACR,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;oCAC1B,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;iCACjD;6BACF;yBACF;qBACF,CAAC,CAAC;oBACH,IAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC9D,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;wBACvC,OAAO,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;qBAC9E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;;;;;;;;;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEK,IAAM,oBAAoB,GAC/B,UACE,MAAc,EACd,MAKC;IAEH,OAAA,yEACE,EAA0F,EAC1F,EAAY;;YADA,SAAS,cAAA,EAAU,OAAO,YAAA,EAAE,KAAK,WAAA,EAAE,YAAY,kBAAA,EAAE,SAAS,eAAA,EAAE,gBAAgB,sBAAA;YACtF,QAAQ,cAAA;;;wBAEV,qBAAM,6BAAiB,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC;wBACpD,IAAI,EAAE,qBAAc,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,4BAA4B,MAAG;wBAC5H,qBAAqB,EAAE,IAAI;wBAC3B,OAAO,EAAE;4BACP,WAAW,EAAE,eAAe;4BAC5B,YAAY,EAAE,QAAQ,CAAC,OAAO;yBAC/B;wBACD,WAAW,EAAE;4BACX,UAAU;gCACR,GAAC,wDAAgC,CAAC,uBAAuB,IAAG,0DAAqB,CAAC,GAAG;mCACtF;yBACF;wBACD,EAAE,EAAE,UAAO,IAAI;;;;;;;wCACP,QAAQ,GAAc,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,QAAQ,CAAC;wCAChD,mBAAmB,GAAG;4CAC1B,WAAW,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,CAAC;4CACrC,SAAS,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,mCAAI,IAAI;yCACrC,CAAC;wCAEI,QAAQ,GAAmB,SAAS,CAAC,GAAG,CAAC,UAAC,IAAI;4CAClD,IAAI,SAAS,KAAK,MAAM;gDAAE,OAAO,IAAI,CAAC;4CACtC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gDAClC,OAAO;oDACL,IAAI,EAAE,IAAI,CAAC,IAAI;oDACf,OAAO,EAAE;wDACP,IAAI,EAAE,MAAM;wDACZ,OAAO,EAAE,4BAAqB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,wEAAqE;qDACpK;iDACF,CAAC;4CACJ,CAAC;4CACD,OAAO,IAAI,CAAC;wCACd,CAAC,CAAC,CAAC;wCACC,MAAM,GAAG,OAAO,CAAC;wCAErB,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;4CACzB,YAAY,GAAG,IAAA,uBAAW,EAAC,yfAOhC,CAAC,CAAC;4CACH,QAAQ,CAAC,IAAI,CAAC;gDACZ,IAAI,EAAE,MAAM;gDACZ,OAAO,EAAE;oDACP,IAAI,EAAE,MAAM;oDACZ,OAAO,EAAE,YAAY;iDACtB;6CACF,CAAC,CAAC;4CACH,MAAM,GAAG,UAAG,MAAM,iBAAO,YAAY,CAAE,CAAC;wCAC1C,CAAC;wCAED,IAAA,iCAAyB,EACvB;4CACE,GAAG,EAAE;gDACH,QAAQ,EAAE,QAAQ;gDAClB,MAAM,EAAE,QAAQ;gDAChB,KAAK,EAAE,QAAQ;gDACf,eAAe,EAAE,mBAAmB;6CACrC;4CACD,QAAQ,UAAA;4CACR,MAAM,QAAA;4CACN,KAAK,OAAA;yCACN,EACD,IAAI,CACL,CAAC;;;;wCAGM,OAAO,GAAyB,EAAE,CAAC;;4CACzC,KAAmB,UAAA,SAAA,KAAK,CAAA,2EAAE,CAAC;gDAAhB,IAAI;gDACb,OAAO,CAAC,IAAI,CAAC;oDACX,IAAI,EAAE,UAAU;oDAChB,QAAQ,EAAE;wDACR,IAAI,EAAE,IAAI,CAAC,IAAI;wDACf,WAAW,EAAE,IAAI,CAAC,WAAW;wDAC7B,UAAU,EAAE,IAAI,CAAC,WAAW;qDAC7B;iDACF,CAAC,CAAC;4CACL,CAAC;;;;;;;;;wCAEK,iBAAiB,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wCAE9D,cAAc,GAClB,YAAY,CAAC,IAAI,KAAK,MAAM;4CAC1B,CAAC,CAAC;gDACE,IAAI,EAAE,aAAsB;gDAC5B,WAAW,EAAE;oDACX,IAAI,EAAE,iBAAiB;oDACvB,WAAW,EAAE,8BAA8B;oDAC3C,sLAAsL;oDACtL,MAAM,EAAE,IAAA,oCAAe,EAAC,YAAY,CAAC,MAAa,CAAC;iDACpD;6CACF;4CACH,CAAC,CAAC,SAAS,CAAC;wCAEG,qBAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gDACtD,KAAK,EAAE,QAAQ;gDACf,UAAU,EAAE,mBAAmB,CAAC,SAAS;gDACzC,WAAW,EAAE,mBAAmB,CAAC,WAAW;gDAC5C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gDAC3C,QAAQ,EAAE,iBAAiB;gDAC3B,eAAe,EAAE,cAAc;6CAChC,CAAC,EAAA;;wCAPI,UAAU,GAAG,SAOjB;wCAEI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wCAC/B,QAAQ,GAAoD;4CAChE,MAAM,EAAE;gDACN,MAAM,EAAE,MAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,aAAa,mCAAI,CAAC;gDAC5C,UAAU,EAAE,MAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,iBAAiB,mCAAI,CAAC;6CACrD;yCACF,CAAC;wCACI,cAAc,GAClB,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,uDAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,mCAC5E,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;wCAEtD,IAAA,uCAA+B,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wCAEhD,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,UAAU,EAAE,CAAC;4CAC1B,YAAY,GAAyC,EAAE,CAAC;;gDAC9D,KAAuB,KAAA,SAAA,MAAM,CAAC,OAAO;qDAClC,UAAqD,CAAA,4CAAE,CAAC;oDADhD,QAAQ;oDAEjB,IAAI,CAAC;wDACH,YAAY,CAAC,IAAI,CAAC;4DAChB,SAAS,EAAE,QAAQ,CAAC,EAAE;4DACtB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;4DAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAA4B;yDAC1E,CAAC,CAAC;oDACL,CAAC;oDAAC,WAAM,CAAC;wDACP,4BAA4B;oDAC9B,CAAC;gDACH,CAAC;;;;;;;;;4CAED,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gDACxB,IAAA,0CAAkC,EAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;gDACtE,sBAAO;wDACL,IAAI,EAAE,WAAW;wDACjB,YAAY,cAAA;wDACZ,KAAK,EAAE,QAAQ;wDACf,cAAc,gBAAA;qDACf,EAAC;4CACJ,CAAC;wCACH,CAAC;wCAEK,OAAO,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,mCAAI,EAAE,CAAC;wCAC/C,IAAA,0CAAkC,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;wCAChE,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4CACjC,sBAAO;oDACL,IAAI,EAAE,MAAM;oDACZ,OAAO,EAAE,OAAO,IAAI,IAAI;oDACxB,aAAa,EAAE,IAAA,oBAAY,EAAC,OAAO,IAAI,IAAI,CAAC;oDAC5C,KAAK,EAAE,QAAQ;oDACf,cAAc,gBAAA;iDACf,EAAC;wCACJ,CAAC;wCAED,sBAAO;gDACL,IAAI,EAAE,MAAM;gDACZ,OAAO,SAAA;gDACP,KAAK,EAAE,QAAQ;gDACf,cAAc,gBAAA;6CACf,EAAC;;;wCAEF,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,KAAK,EAAE,OAAO,EAAG,GAAW,aAAX,GAAC,uBAAD,GAAC,CAAY,OAAO,EAAE,CAAC,CAAC;wCAC/E,MAAM,GAAC,CAAC;;wCAER,IAAI,CAAC,GAAG,EAAE,CAAC;;;;;6BAEd;qBACF,CAAC,EAAA;wBAzKF,sBAAA,SAyKE,EAAA;;;SAAA;AA7KJ,CA6KI,CAAC;AAvLM,QAAA,oBAAoB,wBAuL1B"}
|