@arvo-tools/agentic 1.2.2 → 1.2.4

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 (45) hide show
  1. package/dist/Agent/index.d.ts +1 -1
  2. package/dist/Agent/index.d.ts.map +1 -1
  3. package/dist/Agent/index.js +2 -1
  4. package/dist/Agent/index.js.map +1 -1
  5. package/dist/Agent/stream/schema.d.ts +331 -7
  6. package/dist/Agent/stream/schema.d.ts.map +1 -1
  7. package/dist/Agent/stream/schema.js +51 -1
  8. package/dist/Agent/stream/schema.js.map +1 -1
  9. package/dist/Agent/types.d.ts +7 -1
  10. package/dist/Agent/types.d.ts.map +1 -1
  11. package/dist/Integrations/anthropic/index.d.ts.map +1 -1
  12. package/dist/Integrations/anthropic/index.js +40 -84
  13. package/dist/Integrations/anthropic/index.js.map +1 -1
  14. package/dist/Integrations/anthropic/nonstreamable.d.ts +7 -0
  15. package/dist/Integrations/anthropic/nonstreamable.d.ts.map +1 -0
  16. package/dist/Integrations/anthropic/nonstreamable.js +112 -0
  17. package/dist/Integrations/anthropic/nonstreamable.js.map +1 -0
  18. package/dist/Integrations/anthropic/streamable.d.ts +9 -0
  19. package/dist/Integrations/anthropic/streamable.d.ts.map +1 -0
  20. package/dist/Integrations/anthropic/streamable.js +245 -0
  21. package/dist/Integrations/anthropic/streamable.js.map +1 -0
  22. package/dist/Integrations/anthropic/types.d.ts +1 -1
  23. package/dist/Integrations/anthropic/types.d.ts.map +1 -1
  24. package/dist/Integrations/defaultContextTransformer.d.ts +3 -0
  25. package/dist/Integrations/defaultContextTransformer.d.ts.map +1 -0
  26. package/dist/Integrations/defaultContextTransformer.js +62 -0
  27. package/dist/Integrations/defaultContextTransformer.js.map +1 -0
  28. package/dist/Integrations/openai/index.d.ts.map +1 -1
  29. package/dist/Integrations/openai/index.js +48 -92
  30. package/dist/Integrations/openai/index.js.map +1 -1
  31. package/dist/Integrations/openai/nonstreamable.d.ts +10 -0
  32. package/dist/Integrations/openai/nonstreamable.d.ts.map +1 -0
  33. package/dist/Integrations/openai/nonstreamable.js +129 -0
  34. package/dist/Integrations/openai/nonstreamable.js.map +1 -0
  35. package/dist/Integrations/openai/streamable.d.ts +12 -0
  36. package/dist/Integrations/openai/streamable.d.ts.map +1 -0
  37. package/dist/Integrations/openai/streamable.js +321 -0
  38. package/dist/Integrations/openai/streamable.js.map +1 -0
  39. package/dist/Integrations/openai/types.d.ts +1 -1
  40. package/dist/Integrations/openai/types.d.ts.map +1 -1
  41. package/dist/Integrations/types.d.ts +5 -0
  42. package/dist/Integrations/types.d.ts.map +1 -1
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/package.json +5 -4
@@ -12,6 +12,6 @@ export type AnthropicLlmIntegrationConfig = {
12
12
  * @default
13
13
  * { model: 'claude-sonnet-4-20250514', max_tokens: 4096, temperature: 0 }
14
14
  */
15
- invocationParam?: Pick<Anthropic.MessageCreateParamsNonStreaming, 'model' | 'temperature' | 'max_tokens'>;
15
+ invocationParam?: Partial<Pick<Anthropic.MessageCreateParamsNonStreaming | Anthropic.MessageCreateParamsStreaming, 'model' | 'temperature' | 'max_tokens' | 'stream'>>;
16
16
  } & CommonIntegrationConfig;
17
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Integrations/anthropic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,IAAI,CACpB,SAAS,CAAC,+BAA+B,EACzC,OAAO,GAAG,aAAa,GAAG,YAAY,CACvC,CAAC;CACH,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Integrations/anthropic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,OAAO,CACvB,IAAI,CACF,SAAS,CAAC,+BAA+B,GAAG,SAAS,CAAC,4BAA4B,EAClF,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,CAClD,CACF,CAAC;CACH,GAAG,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CommonIntegrationConfig } from './types';
2
+ export declare const defaultContextTransformer: NonNullable<CommonIntegrationConfig['contextTransformer']>;
3
+ //# sourceMappingURL=defaultContextTransformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultContextTransformer.d.ts","sourceRoot":"","sources":["../../src/Integrations/defaultContextTransformer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,yBAAyB,EAAE,WAAW,CACjD,uBAAuB,CAAC,oBAAoB,CAAC,CAgB7C,CAAC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.defaultContextTransformer = void 0;
40
+ var defaultContextTransformer = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
41
+ var messages = _b.messages, system = _b.system;
42
+ return __generator(this, function (_c) {
43
+ return [2 /*return*/, ({
44
+ messages: messages.map(function (item) {
45
+ if (item.content.type === 'media' && item.seenCount > 0) {
46
+ return {
47
+ role: item.role,
48
+ content: {
49
+ type: 'text',
50
+ 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"),
51
+ },
52
+ seenCount: item.seenCount,
53
+ };
54
+ }
55
+ return item;
56
+ }),
57
+ system: system,
58
+ })];
59
+ });
60
+ }); };
61
+ exports.defaultContextTransformer = defaultContextTransformer;
62
+ //# sourceMappingURL=defaultContextTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultContextTransformer.js","sourceRoot":"","sources":["../../src/Integrations/defaultContextTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,yBAAyB,GAElC,iEAAO,EAAoB;QAAlB,QAAQ,cAAA,EAAE,MAAM,YAAA;;QAAO,sBAAA,CAAC;gBACnC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI;oBAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;wBACxD,OAAO;4BACL,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,OAAO,EAAE;gCACP,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,4BAAqB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,wEAAqE;6BACpK;4BACD,SAAS,EAAE,IAAI,CAAC,SAAS;yBAC1B,CAAC;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAmB;gBACpB,MAAM,EAAE,MAAM;aACf,CAAC,EAAA;;KAAA,CAAC;AAjBU,QAAA,yBAAyB,6BAiBnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Integrations/openai/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAa1C,OAAO,KAAK,EAAE,mBAAmB,EAA6B,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAG1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAC9B,OAAO,SAAS,MAAM,GAAG,WAAW,EACnC,QAAQ,OAAO,EACf,SAAS,0BAA0B,CAAC,OAAO,CAAC,KAC3C,mBAsLC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Integrations/openai/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAY1C,OAAO,KAAK,EAAE,mBAAmB,EAAiD,MAAM,UAAU,CAAC;AAGnG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAG1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAC9B,OAAO,SAAS,MAAM,GAAG,WAAW,EACnC,QAAQ,OAAO,EACf,SAAS,0BAA0B,CAAC,OAAO,CAAC,KAC3C,mBAiLC,CAAC"}
@@ -64,7 +64,10 @@ var api_1 = require("@opentelemetry/api");
64
64
  var arvo_core_1 = require("arvo-core");
65
65
  var zod_to_json_schema_1 = require("zod-to-json-schema");
66
66
  var utils_1 = require("../../Agent/utils");
67
+ var defaultContextTransformer_1 = require("../defaultContextTransformer");
67
68
  var prompts_1 = require("../prompts");
69
+ var nonstreamable_1 = require("./nonstreamable");
70
+ var streamable_1 = require("./streamable");
68
71
  var utils_2 = require("./utils");
69
72
  /**
70
73
  * Creates an Arvo-compatible LLM Adapter for OpenAI and compatible models (e.g., Azure OpenAI).
@@ -84,7 +87,7 @@ var utils_2 = require("./utils");
84
87
  var openaiLLMIntegration = function (client, config) {
85
88
  return function (_a, _b) { return __awaiter(void 0, [_a, _b], void 0, function (_c, _d) {
86
89
  var _e;
87
- var _messages = _c.messages, _system = _c.system, tools = _c.tools, outputFormat = _c.outputFormat, lifecycle = _c.lifecycle, toolInteractions = _c.toolInteractions;
90
+ var _messages = _c.messages, _system = _c.system, tools = _c.tools, outputFormat = _c.outputFormat, lifecycle = _c.lifecycle, toolInteractions = _c.toolInteractions, onStream = _c.onStream;
88
91
  var otelInfo = _d.otelInfo;
89
92
  return __generator(this, function (_f) {
90
93
  switch (_f.label) {
@@ -101,40 +104,21 @@ var openaiLLMIntegration = function (client, config) {
101
104
  _e),
102
105
  },
103
106
  fn: function (span) { return __awaiter(void 0, void 0, void 0, function () {
104
- var llmChatCompletionParams, _a, messages, system, limitMessage, toolDef, tools_1, tools_1_1, tool, formattedMessages, responseFormat, completion, choice, llmUsage, executionUnits, toolRequests, _b, _c, toolCall, content, e_1;
105
- var e_2, _d, e_3, _e;
106
- var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
107
- return __generator(this, function (_1) {
108
- switch (_1.label) {
107
+ var llmChatCompletionParams, _a, messages, system, limitMessage, toolDef, tools_1, tools_1_1, tool, formattedMessages, responseFormat, enableStreaming, baseParams, result, llmUsage, executionUnits, content, e_1;
108
+ var e_2, _b;
109
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
110
+ return __generator(this, function (_r) {
111
+ switch (_r.label) {
109
112
  case 0:
110
- llmChatCompletionParams = (_f = config === null || config === void 0 ? void 0 : config.invocationParam) !== null && _f !== void 0 ? _f : {
111
- model: 'gpt-4o',
112
- max_completion_tokens: 4096,
113
- temperature: 0,
114
- };
115
- return [4 /*yield*/, ((_g = config === null || config === void 0 ? void 0 : config.contextTransformer) === null || _g === void 0 ? void 0 : _g.call(config, {
113
+ llmChatCompletionParams = __assign({ model: 'gpt-4o', max_completion_tokens: 4096, temperature: 0, stream: true }, ((_c = config === null || config === void 0 ? void 0 : config.invocationParam) !== null && _c !== void 0 ? _c : {}));
114
+ return [4 /*yield*/, ((_d = config === null || config === void 0 ? void 0 : config.contextTransformer) !== null && _d !== void 0 ? _d : defaultContextTransformer_1.defaultContextTransformer)({
116
115
  messages: _messages,
117
116
  system: _system,
118
- }))];
117
+ })];
119
118
  case 1:
120
- _a = (_h = (_1.sent())) !== null && _h !== void 0 ? _h : {
121
- messages: _messages.map(function (item) {
122
- if (item.content.type === 'media' && item.seenCount > 0) {
123
- return {
124
- role: item.role,
125
- content: {
126
- type: 'text',
127
- 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"),
128
- },
129
- seenCount: item.seenCount,
130
- };
131
- }
132
- return item;
133
- }),
134
- system: _system,
135
- }, messages = _a.messages, system = _a.system;
119
+ _a = _r.sent(), messages = _a.messages, system = _a.system;
136
120
  if (toolInteractions.exhausted) {
137
- limitMessage = (_k = (_j = config === null || config === void 0 ? void 0 : config.toolLimitPrompt) === null || _j === void 0 ? void 0 : _j.call(config, toolInteractions)) !== null && _k !== void 0 ? _k : prompts_1.DEFAULT_TOOL_LIMIT_PROMPT;
121
+ limitMessage = (_f = (_e = config === null || config === void 0 ? void 0 : config.toolLimitPrompt) === null || _e === void 0 ? void 0 : _e.call(config, toolInteractions)) !== null && _f !== void 0 ? _f : prompts_1.DEFAULT_TOOL_LIMIT_PROMPT;
138
122
  messages.push({
139
123
  role: 'user',
140
124
  content: {
@@ -147,8 +131,8 @@ var openaiLLMIntegration = function (client, config) {
147
131
  }
148
132
  (0, utils_1.setOpenInferenceInputAttr)({
149
133
  llm: {
150
- provider: (_m = (_l = config === null || config === void 0 ? void 0 : config.telemetry) === null || _l === void 0 ? void 0 : _l.modelProvider) !== null && _m !== void 0 ? _m : 'openai',
151
- system: (_p = (_o = config === null || config === void 0 ? void 0 : config.telemetry) === null || _o === void 0 ? void 0 : _o.modelSystem) !== null && _p !== void 0 ? _p : (((_q = config === null || config === void 0 ? void 0 : config.telemetry) === null || _q === void 0 ? void 0 : _q.modelProvider) === 'azure' ? 'azure_openai' : 'openai'),
134
+ provider: (_h = (_g = config === null || config === void 0 ? void 0 : config.telemetry) === null || _g === void 0 ? void 0 : _g.modelProvider) !== null && _h !== void 0 ? _h : 'openai',
135
+ system: (_k = (_j = config === null || config === void 0 ? void 0 : config.telemetry) === null || _j === void 0 ? void 0 : _j.modelSystem) !== null && _k !== void 0 ? _k : (((_l = config === null || config === void 0 ? void 0 : config.telemetry) === null || _l === void 0 ? void 0 : _l.modelProvider) === 'azure' ? 'azure_openai' : 'openai'),
152
136
  model: llmChatCompletionParams === null || llmChatCompletionParams === void 0 ? void 0 : llmChatCompletionParams.model,
153
137
  invocationParam: llmChatCompletionParams,
154
138
  },
@@ -156,9 +140,9 @@ var openaiLLMIntegration = function (client, config) {
156
140
  system: system,
157
141
  tools: tools,
158
142
  }, span);
159
- _1.label = 2;
143
+ _r.label = 2;
160
144
  case 2:
161
- _1.trys.push([2, 4, 5, 6]);
145
+ _r.trys.push([2, 7, 8, 9]);
162
146
  toolDef = [];
163
147
  try {
164
148
  for (tools_1 = __values(tools), tools_1_1 = tools_1.next(); !tools_1_1.done; tools_1_1 = tools_1.next()) {
@@ -176,7 +160,7 @@ var openaiLLMIntegration = function (client, config) {
176
160
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
177
161
  finally {
178
162
  try {
179
- if (tools_1_1 && !tools_1_1.done && (_d = tools_1.return)) _d.call(tools_1);
163
+ if (tools_1_1 && !tools_1_1.done && (_b = tools_1.return)) _b.call(tools_1);
180
164
  }
181
165
  finally { if (e_2) throw e_2.error; }
182
166
  }
@@ -187,66 +171,37 @@ var openaiLLMIntegration = function (client, config) {
187
171
  json_schema: {
188
172
  name: 'response_schema',
189
173
  description: 'The required response schema',
190
- // biome-ignore lint/suspicious/noExplicitAny: Make the typescript compiler ignore. Otherwise, it emits error "Type instantiation is excessively deep and possibly infinite. ts(2589)"
174
+ // biome-ignore lint/suspicious/noExplicitAny: Make the typescript compiler ignore
191
175
  schema: (0, zod_to_json_schema_1.zodToJsonSchema)(outputFormat.format),
192
176
  },
193
177
  }
194
178
  : undefined;
195
- return [4 /*yield*/, client.chat.completions.create(__assign(__assign({}, llmChatCompletionParams), { tools: toolDef.length ? toolDef : undefined, messages: formattedMessages, response_format: responseFormat }))];
179
+ enableStreaming = (_o = (_m = config === null || config === void 0 ? void 0 : config.invocationParam) === null || _m === void 0 ? void 0 : _m.stream) !== null && _o !== void 0 ? _o : false;
180
+ baseParams = __assign(__assign({}, llmChatCompletionParams), { tools: toolDef.length ? toolDef : undefined, messages: formattedMessages, response_format: responseFormat, stream_options: enableStreaming ? { include_usage: true } : undefined });
181
+ result = void 0;
182
+ if (!enableStreaming) return [3 /*break*/, 4];
183
+ return [4 /*yield*/, (0, streamable_1.streamableOpenAI)(client, __assign(__assign({}, baseParams), { stream: true }), { span: span, onStream: onStream })];
196
184
  case 3:
197
- completion = _1.sent();
198
- choice = completion.choices[0];
199
- llmUsage = {
200
- tokens: {
201
- prompt: (_s = (_r = completion.usage) === null || _r === void 0 ? void 0 : _r.prompt_tokens) !== null && _s !== void 0 ? _s : 0,
202
- completion: (_u = (_t = completion.usage) === null || _t === void 0 ? void 0 : _t.completion_tokens) !== null && _u !== void 0 ? _u : 0,
203
- },
204
- };
205
- executionUnits = (_w = (_v = config === null || config === void 0 ? void 0 : config.executionunits) === null || _v === void 0 ? void 0 : _v.call(config, llmUsage.tokens.prompt, llmUsage.tokens.completion)) !== null && _w !== void 0 ? _w : llmUsage.tokens.prompt + llmUsage.tokens.completion;
185
+ result = _r.sent();
186
+ return [3 /*break*/, 6];
187
+ case 4: return [4 /*yield*/, (0, nonstreamable_1.nonStreamableOpenAI)(client, __assign(__assign({}, baseParams), { stream: false }), { span: span })];
188
+ case 5:
189
+ result = _r.sent();
190
+ _r.label = 6;
191
+ case 6:
192
+ llmUsage = result.usage;
193
+ 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;
206
194
  (0, utils_1.setOpenInferenceUsageOutputAttr)(llmUsage, span);
207
- if ((_x = choice === null || choice === void 0 ? void 0 : choice.message) === null || _x === void 0 ? void 0 : _x.tool_calls) {
208
- toolRequests = [];
209
- try {
210
- for (_b = __values(choice.message
211
- .tool_calls), _c = _b.next(); !_c.done; _c = _b.next()) {
212
- toolCall = _c.value;
213
- try {
214
- toolRequests.push({
215
- toolUseId: toolCall.id,
216
- name: toolCall.function.name,
217
- input: JSON.parse(toolCall.function.arguments),
218
- });
219
- }
220
- catch (err) {
221
- (0, arvo_core_1.exceptionToSpan)(err, span);
222
- }
223
- }
224
- }
225
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
226
- finally {
227
- try {
228
- if (_c && !_c.done && (_e = _b.return)) _e.call(_b);
229
- }
230
- finally { if (e_3) throw e_3.error; }
231
- }
232
- if (toolRequests.length) {
233
- (0, utils_1.setOpenInferenceToolCallOutputAttr)({ toolCalls: toolRequests }, span);
234
- return [2 /*return*/, {
235
- type: 'tool_call',
236
- toolRequests: toolRequests,
237
- usage: llmUsage,
238
- executionUnits: executionUnits,
239
- }];
240
- }
241
- }
242
- content = (_z = (_y = choice === null || choice === void 0 ? void 0 : choice.message) === null || _y === void 0 ? void 0 : _y.content) !== null && _z !== void 0 ? _z : '';
243
- if (choice.finish_reason === 'length') {
244
- content = "".concat(content, " [Max response token limit (<= ").concat((_0 = llmChatCompletionParams.max_tokens) !== null && _0 !== void 0 ? _0 : llmChatCompletionParams.max_completion_tokens, ") reached]");
245
- throw new Error("Agent reached max token limit. The partial response is \"".concat(content, "\""));
246
- }
247
- if (choice.finish_reason === 'content_filter') {
248
- content = "".concat(content, " [Request blocked due to OpenAI content filtering policies]");
195
+ if (result.toolRequests && result.toolRequests.length > 0) {
196
+ (0, utils_1.setOpenInferenceToolCallOutputAttr)({ toolCalls: result.toolRequests }, span);
197
+ return [2 /*return*/, {
198
+ type: 'tool_call',
199
+ toolRequests: result.toolRequests,
200
+ usage: llmUsage,
201
+ executionUnits: executionUnits,
202
+ }];
249
203
  }
204
+ content = result.response || '';
250
205
  (0, utils_1.setOpenInferenceResponseOutputAttr)({ response: content }, span);
251
206
  if (outputFormat.type === 'json') {
252
207
  return [2 /*return*/, {
@@ -263,14 +218,15 @@ var openaiLLMIntegration = function (client, config) {
263
218
  usage: llmUsage,
264
219
  executionUnits: executionUnits,
265
220
  }];
266
- case 4:
267
- e_1 = _1.sent();
221
+ case 7:
222
+ e_1 = _r.sent();
268
223
  span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: e_1 === null || e_1 === void 0 ? void 0 : e_1.message });
224
+ (0, arvo_core_1.exceptionToSpan)(e_1, span);
269
225
  throw e_1;
270
- case 5:
226
+ case 8:
271
227
  span.end();
272
228
  return [7 /*endfinally*/];
273
- case 6: return [2 /*return*/];
229
+ case 9: return [2 /*return*/];
274
230
  }
275
231
  });
276
232
  }); },
@@ -1 +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;AAGvD,iCAAkD;AAElD;;;;;;;;;;;;;;GAcG;AACI,IAAM,oBAAoB,GAC/B,UACE,MAAe,EACf,MAA4C;IAE9C,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,uBAAuB,GAC3B,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,mCAAI;4CACzB,KAAK,EAAE,QAAQ;4CACf,qBAAqB,EAAE,IAAI;4CAC3B,WAAW,EAAE,CAAC;yCACf,CAAC;wCAEwB,qBAAM,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,uDAAG;gDAC7D,QAAQ,EAAE,SAAS;gDACnB,MAAM,EAAE,OAAO;6CAChB,CAAC,CAAA,EAAA;;wCAHE,KAAuB,MAAA,CAAC,SAG1B,CAAC,mCAAI;4CACL,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,IAAI;gDAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oDACxD,OAAO;wDACL,IAAI,EAAE,IAAI,CAAC,IAAI;wDACf,OAAO,EAAE;4DACP,IAAI,EAAE,MAAM;4DACZ,OAAO,EAAE,4BAAqB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,cAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,wEAAqE;yDACpK;wDACD,SAAS,EAAE,IAAI,CAAC,SAAS;qDAC1B,CAAC;gDACJ,CAAC;gDACD,OAAO,IAAI,CAAC;4CACd,CAAC,CAAmB;4CACpB,MAAM,EAAE,OAAO;yCAChB,EAlBK,QAAQ,cAAA,EAAE,MAAM,YAAA;wCAoBtB,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,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,0CAAE,aAAa,mCAAI,QAAQ;gDACtD,MAAM,EACJ,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,0CAAE,WAAW,mCAC9B,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,0CAAE,aAAa,MAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;gDAC5E,KAAK,EAAE,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,KAAK;gDACrC,eAAe,EAAE,uBAAuB;6CACzC;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,IAAA,+BAAuB,EAAC,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,uBAClD,uBAAuB,KAC1B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC3C,QAAQ,EAAE,iBAAiB,EAC3B,eAAe,EAAE,cAAc,IAC/B,EAAA;;wCALI,UAAU,GAAG,SAKjB;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,4CAAkC,MAAA,uBAAuB,CAAC,UAAU,mCAAI,uBAAuB,CAAC,qBAAqB,eAAY,CAAC;4CACtJ,MAAM,IAAI,KAAK,CAAC,mEAA2D,OAAO,OAAG,CAAC,CAAC;wCACzF,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;wBAjLF,sBAAA,SAiLE,EAAA;;;SAAA;AArLJ,CAqLI,CAAC;AA1LM,QAAA,oBAAoB,wBA0L1B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Integrations/openai/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Span } from '@opentelemetry/api';
2
+ import type OpenAI from 'openai';
3
+ import type { AzureOpenAI } from 'openai';
4
+ import type { LLMExecutionResult } from '../types';
5
+ export declare const nonStreamableOpenAI: <TClient extends OpenAI | AzureOpenAI>(client: TClient, param: Parameters<TClient["chat"]["completions"]["create"]>[0] & {
6
+ stream: false;
7
+ }, config: {
8
+ span: Span;
9
+ }) => Promise<LLMExecutionResult>;
10
+ //# sourceMappingURL=nonstreamable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonstreamable.d.ts","sourceRoot":"","sources":["../../../src/Integrations/openai/nonstreamable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,KAAK,EAA6B,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAAU,OAAO,SAAS,MAAM,GAAG,WAAW,EAC5E,QAAQ,OAAO,EACf,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,EAClF,QAAQ;IACN,IAAI,EAAE,IAAI,CAAC;CACZ,KACA,OAAO,CAAC,kBAAkB,CAyE5B,CAAC"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.nonStreamableOpenAI = void 0;
51
+ var arvo_core_1 = require("arvo-core");
52
+ var nonStreamableOpenAI = function (client, param, config) { return __awaiter(void 0, void 0, void 0, function () {
53
+ var completion, choice, llmUsage, toolRequests, _a, _b, toolCall, content;
54
+ var e_1, _c;
55
+ var _d, _e, _f, _g, _h, _j, _k;
56
+ return __generator(this, function (_l) {
57
+ switch (_l.label) {
58
+ case 0: return [4 /*yield*/, client.chat.completions.create(param)];
59
+ case 1:
60
+ completion = _l.sent();
61
+ choice = completion.choices[0];
62
+ llmUsage = {
63
+ tokens: {
64
+ prompt: (_e = (_d = completion.usage) === null || _d === void 0 ? void 0 : _d.prompt_tokens) !== null && _e !== void 0 ? _e : 0,
65
+ completion: (_g = (_f = completion.usage) === null || _f === void 0 ? void 0 : _f.completion_tokens) !== null && _g !== void 0 ? _g : 0,
66
+ },
67
+ };
68
+ if ((_h = choice === null || choice === void 0 ? void 0 : choice.message) === null || _h === void 0 ? void 0 : _h.tool_calls) {
69
+ toolRequests = [];
70
+ try {
71
+ for (_a = __values(choice.message.tool_calls), _b = _a.next(); !_b.done; _b = _a.next()) {
72
+ toolCall = _b.value;
73
+ try {
74
+ toolRequests.push({
75
+ toolUseId: toolCall.id,
76
+ name: toolCall.function.name,
77
+ input: JSON.parse(toolCall.function.arguments),
78
+ });
79
+ }
80
+ catch (e) {
81
+ (0, arvo_core_1.logToSpan)({
82
+ level: 'WARNING',
83
+ message: "Failed to parse tool call arguments for tool '".concat(toolCall.function.name, "' (id: ").concat(toolCall.id, "). Tool call will be dropped. Error: ").concat(e.message),
84
+ }, config.span);
85
+ }
86
+ }
87
+ }
88
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
89
+ finally {
90
+ try {
91
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
92
+ }
93
+ finally { if (e_1) throw e_1.error; }
94
+ }
95
+ if (toolRequests.length) {
96
+ return [2 /*return*/, {
97
+ toolRequests: toolRequests,
98
+ response: null,
99
+ usage: llmUsage,
100
+ }];
101
+ }
102
+ }
103
+ content = (_k = (_j = choice === null || choice === void 0 ? void 0 : choice.message) === null || _j === void 0 ? void 0 : _j.content) !== null && _k !== void 0 ? _k : '';
104
+ if (choice.finish_reason === 'length') {
105
+ content = content
106
+ ? "".concat(content, "\n\n[Response truncated: Maximum token limit reached]")
107
+ : '[Response truncated: Maximum token limit reached]';
108
+ (0, arvo_core_1.logToSpan)({
109
+ level: 'WARNING',
110
+ message: 'Max token limit reached. Response truncated',
111
+ }, config.span);
112
+ }
113
+ if (choice.finish_reason === 'content_filter') {
114
+ content = "".concat(content, "\n\n[Request blocked due to OpenAI content filtering policies]");
115
+ (0, arvo_core_1.logToSpan)({
116
+ level: 'WARNING',
117
+ message: 'Content filtered by OpenAI',
118
+ }, config.span);
119
+ }
120
+ return [2 /*return*/, {
121
+ toolRequests: null,
122
+ response: content,
123
+ usage: llmUsage,
124
+ }];
125
+ }
126
+ });
127
+ }); };
128
+ exports.nonStreamableOpenAI = nonStreamableOpenAI;
129
+ //# sourceMappingURL=nonstreamable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonstreamable.js","sourceRoot":"","sources":["../../../src/Integrations/openai/nonstreamable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAsC;AAO/B,IAAM,mBAAmB,GAAG,UACjC,MAAe,EACf,KAAkF,EAClF,MAEC;;;;;;oBAEkB,qBAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAA;;gBAAxD,UAAU,GAAG,SAA2C;gBAExD,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/B,QAAQ,GAAoD;oBAChE,MAAM,EAAE;wBACN,MAAM,EAAE,MAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,aAAa,mCAAI,CAAC;wBAC5C,UAAU,EAAE,MAAA,MAAA,UAAU,CAAC,KAAK,0CAAE,iBAAiB,mCAAI,CAAC;qBACrD;iBACF,CAAC;gBAEF,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,UAAU,EAAE,CAAC;oBAC1B,YAAY,GAAyC,EAAE,CAAC;;wBAC9D,KAAuB,KAAA,SAAA,MAAM,CAAC,OAAO,CAAC,UAAqD,CAAA,4CAAE,CAAC;4BAAnF,QAAQ;4BACjB,IAAI,CAAC;gCACH,YAAY,CAAC,IAAI,CAAC;oCAChB,SAAS,EAAE,QAAQ,CAAC,EAAE;oCACtB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;oCAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAA4B;iCAC1E,CAAC,CAAC;4BACL,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,IAAA,qBAAS,EACP;oCACE,KAAK,EAAE,SAAS;oCAChB,OAAO,EAAE,wDAAiD,QAAQ,CAAC,QAAQ,CAAC,IAAI,oBAAU,QAAQ,CAAC,EAAE,kDAAyC,CAAW,CAAC,OAAO,CAAE;iCACpK,EACD,MAAM,CAAC,IAAI,CACZ,CAAC;4BACJ,CAAC;wBACH,CAAC;;;;;;;;;oBAED,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;wBACxB,sBAAO;gCACL,YAAY,cAAA;gCACZ,QAAQ,EAAE,IAAI;gCACd,KAAK,EAAE,QAAQ;6BAChB,EAAC;oBACJ,CAAC;gBACH,CAAC;gBAEG,OAAO,GAAG,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,OAAO,mCAAI,EAAE,CAAC;gBAE7C,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACtC,OAAO,GAAG,OAAO;wBACf,CAAC,CAAC,UAAG,OAAO,0DAAuD;wBACnE,CAAC,CAAC,mDAAmD,CAAC;oBAExD,IAAA,qBAAS,EACP;wBACE,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,6CAA6C;qBACvD,EACD,MAAM,CAAC,IAAI,CACZ,CAAC;gBACJ,CAAC;gBAED,IAAI,MAAM,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;oBAC9C,OAAO,GAAG,UAAG,OAAO,mEAAgE,CAAC;oBAErF,IAAA,qBAAS,EACP;wBACE,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,4BAA4B;qBACtC,EACD,MAAM,CAAC,IAAI,CACZ,CAAC;gBACJ,CAAC;gBAED,sBAAO;wBACL,YAAY,EAAE,IAAI;wBAClB,QAAQ,EAAE,OAAO;wBACjB,KAAK,EAAE,QAAQ;qBAChB,EAAC;;;KACH,CAAC;AA/EW,QAAA,mBAAmB,uBA+E9B"}
@@ -0,0 +1,12 @@
1
+ import type { Span } from '@opentelemetry/api';
2
+ import type OpenAI from 'openai';
3
+ import type { AzureOpenAI } from 'openai';
4
+ import type { AgentEventStreamer } from '../../Agent/stream/types';
5
+ import type { LLMExecutionResult } from '../types';
6
+ export declare const streamableOpenAI: <TClient extends OpenAI | AzureOpenAI>(client: TClient, param: Parameters<TClient["chat"]["completions"]["create"]>[0] & {
7
+ stream: true;
8
+ }, config: {
9
+ span: Span;
10
+ onStream: AgentEventStreamer;
11
+ }) => Promise<LLMExecutionResult>;
12
+ //# sourceMappingURL=streamable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamable.d.ts","sourceRoot":"","sources":["../../../src/Integrations/openai/streamable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAA6B,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9E,eAAO,MAAM,gBAAgB,GAAU,OAAO,SAAS,MAAM,GAAG,WAAW,EACzE,QAAQ,OAAO,EACf,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,EACjF,QAAQ;IACN,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,KACA,OAAO,CAAC,kBAAkB,CAyN5B,CAAC"}