@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.
Files changed (61) hide show
  1. package/dist/Agent/AgentDefaults.d.ts +4 -2
  2. package/dist/Agent/AgentDefaults.d.ts.map +1 -1
  3. package/dist/Agent/AgentDefaults.js +3 -0
  4. package/dist/Agent/AgentDefaults.js.map +1 -1
  5. package/dist/Agent/agentLoop.d.ts +22 -1
  6. package/dist/Agent/agentLoop.d.ts.map +1 -1
  7. package/dist/Agent/agentLoop.js +41 -6
  8. package/dist/Agent/agentLoop.js.map +1 -1
  9. package/dist/Agent/index.d.ts +76 -3
  10. package/dist/Agent/index.d.ts.map +1 -1
  11. package/dist/Agent/index.js +102 -25
  12. package/dist/Agent/index.js.map +1 -1
  13. package/dist/Agent/schema.d.ts +9 -0
  14. package/dist/Agent/schema.d.ts.map +1 -1
  15. package/dist/Agent/schema.js +7 -0
  16. package/dist/Agent/schema.js.map +1 -1
  17. package/dist/Agent/types.d.ts +222 -58
  18. package/dist/Agent/types.d.ts.map +1 -1
  19. package/dist/Agent/utils.d.ts +46 -1
  20. package/dist/Agent/utils.d.ts.map +1 -1
  21. package/dist/Agent/utils.js +43 -0
  22. package/dist/Agent/utils.js.map +1 -1
  23. package/dist/AgentTool/index.d.ts +30 -0
  24. package/dist/AgentTool/index.d.ts.map +1 -0
  25. package/dist/{Agent/agentTool.js → AgentTool/index.js} +27 -1
  26. package/dist/AgentTool/index.js.map +1 -0
  27. package/dist/AgentTool/types.d.ts +59 -0
  28. package/dist/AgentTool/types.d.ts.map +1 -0
  29. package/dist/AgentTool/types.js +3 -0
  30. package/dist/AgentTool/types.js.map +1 -0
  31. package/dist/Integrations/MCPClient.d.ts +62 -29
  32. package/dist/Integrations/MCPClient.d.ts.map +1 -1
  33. package/dist/Integrations/MCPClient.js +60 -29
  34. package/dist/Integrations/MCPClient.js.map +1 -1
  35. package/dist/Integrations/openai/index.d.ts +25 -0
  36. package/dist/Integrations/openai/index.d.ts.map +1 -0
  37. package/dist/Integrations/{openai.js → openai/index.js} +64 -28
  38. package/dist/Integrations/openai/index.js.map +1 -0
  39. package/dist/Integrations/prompts.d.ts +8 -0
  40. package/dist/Integrations/prompts.d.ts.map +1 -0
  41. package/dist/Integrations/prompts.js +12 -0
  42. package/dist/Integrations/prompts.js.map +1 -0
  43. package/dist/Integrations/types.d.ts +101 -0
  44. package/dist/Integrations/types.d.ts.map +1 -0
  45. package/dist/Integrations/types.js +3 -0
  46. package/dist/Integrations/types.js.map +1 -0
  47. package/dist/index.d.ts +7 -4
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +5 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/interfaces.mcp.d.ts +29 -0
  52. package/dist/interfaces.mcp.d.ts.map +1 -1
  53. package/dist/types.d.ts +13 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +1 -1
  56. package/dist/Agent/agentTool.d.ts +0 -4
  57. package/dist/Agent/agentTool.d.ts.map +0 -1
  58. package/dist/Agent/agentTool.js.map +0 -1
  59. package/dist/Integrations/openai.d.ts +0 -10
  60. package/dist/Integrations/openai.d.ts.map +0 -1
  61. 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("../Agent/utils");
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 (_s) {
184
- switch (_s.label) {
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 (lifecycle === 'init')
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 = (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 ");
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
- _s.label = 1;
263
+ _u.label = 1;
229
264
  case 1:
230
- _s.trys.push([1, 3, 4, 5]);
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
- model: llmModel,
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 = _s.sent();
303
+ completion = _u.sent();
274
304
  choice = completion.choices[0];
275
305
  llmUsage = {
276
306
  tokens: {
277
- prompt: (_j = (_h = completion.usage) === null || _h === void 0 ? void 0 : _h.prompt_tokens) !== null && _j !== void 0 ? _j : 0,
278
- completion: (_l = (_k = completion.usage) === null || _k === void 0 ? void 0 : _k.completion_tokens) !== null && _l !== void 0 ? _l : 0,
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 = (_o = (_m = config === null || config === void 0 ? void 0 : config.executionunits) === null || _m === void 0 ? void 0 : _m.call(config, llmUsage.tokens.prompt, llmUsage.tokens.completion)) !== null && _o !== void 0 ? _o : llmUsage.tokens.prompt + llmUsage.tokens.completion;
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 ((_p = choice === null || choice === void 0 ? void 0 : choice.message) === null || _p === void 0 ? void 0 : _p.tool_calls) {
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 (_t) {
297
- // Skip malformed tool calls
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 = (_r = (_q = choice === null || choice === void 0 ? void 0 : choice.message) === null || _q === void 0 ? void 0 : _q.content) !== null && _r !== void 0 ? _r : '';
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 = _s.sent();
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=openai.js.map
389
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Integrations/openai/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAGqD;AACrD,0CAAoD;AACpD,uCAA+D;AAK/D,yDAAqD;AAErD,2CAM2B;AAC3B,sCAAuD;AAOvD;;;;;;;;GAQG;AACH,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;AAEF;;;;;;;;;;;;;GAaG;AACI,IAAM,oBAAoB,GAC/B,UACE,MAAc,EACd,MAMC;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,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gDACxD,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;oDACD,SAAS,EAAE,IAAI,CAAC,SAAS;iDAC1B,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,GAChB,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,uDAAG,gBAAgB,CAAC,mCAAI,mCAAyB,CAAC;4CAC3E,QAAQ,CAAC,IAAI,CAAC;gDACZ,IAAI,EAAE,MAAM;gDACZ,OAAO,EAAE;oDACP,IAAI,EAAE,MAAM;oDACZ,OAAO,EAAE,YAAY;iDACtB;gDACD,SAAS,EAAE,CAAC;6CACb,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,qBACrD,KAAK,EAAE,QAAQ,IACZ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gDAC5B,CAAC,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,SAAS,EAAE;gDAC1D,CAAC,CAAC,EAAE,UAAU,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAClD,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAC7E,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC3C,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,EAAE,cAAc,IAC/B,EAAA;;wCATI,UAAU,GAAG,SASjB;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,OAAO,GAAG,EAAE,CAAC;wDACb,IAAA,2BAAe,EAAC,GAAY,EAAE,IAAI,CAAC,CAAC;oDACtC,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;wCAEG,OAAO,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,mCAAI,EAAE,CAAC;wCAC7C,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;4CACtC,OAAO,GAAG,UAAG,OAAO,wCAA8B,mBAAmB,CAAC,SAAS,cAAW,CAAC;wCAC7F,CAAC;wCACD,IAAI,MAAM,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;4CAC9C,OAAO,GAAG,UAAG,OAAO,gEAA6D,CAAC;wCACpF,CAAC;wCACD,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;wBA5KF,sBAAA,SA4KE,EAAA;;;SAAA;AAhLJ,CAgLI,CAAC;AA3LM,QAAA,oBAAoB,wBA2L1B"}
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -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, AgentInternalTool, AgentLLMContext, AgentLLMIntegration, AgentLLMIntegrationOutput, AgentLLMIntegrationParam, AgentMediaContent, AgentMessage, AgentMessageContent, AgentOutputBuilder, AgentServiceContract, AgentTextContent, AgentToolCallContent, AgentToolDefinition, AgentToolResultContent, AnyArvoContract, AnyArvoOrchestratorContract, CreateArvoAgentParam, NonEmptyArray, PromiseLike, } from './Agent/types';
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,kCAAkC,EAClC,+BAA+B,EAC/B,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,YAAY,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.createAgentTool = exports.AgentDefaults = exports.createArvoAgent = void 0;
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,iCAA0C;AAAjC,wGAAA,eAAe,OAAA;AACxB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,+CAAoD;AAA3C,4GAAA,eAAe,OAAA;AACxB,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;AAwB9B,uCAMuB;AALrB,kHAAA,yBAAyB,OAAA;AACzB,2HAAA,kCAAkC,OAAA;AAClC,2HAAA,kCAAkC,OAAA;AAClC,wHAAA,+BAA+B,OAAA;AAC/B,qGAAA,YAAY,OAAA;AAEd,sDAAqD;AAA5C,sGAAA,SAAS,OAAA;AAClB,gDAA6D;AAApD,8GAAA,oBAAoB,OAAA"}
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"}
@@ -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;IAC/D,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;IACrB,UAAU,EAAE,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,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;IACF,eAAe,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtF"}
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
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@arvo-tools/agentic",
3
- "version": "0.4.1",
3
+ "version": "1.0.1",
4
4
  "description": "Agentic toolset for building applications using arvo-core and arvo-event-handler",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -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":"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"}