@arvo-tools/agentic 0.1.0 → 0.3.0

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.
@@ -0,0 +1,391 @@
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
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ 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);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
74
+ var __values = (this && this.__values) || function(o) {
75
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
76
+ if (m) return m.call(o);
77
+ if (o && typeof o.length === "number") return {
78
+ next: function () {
79
+ if (o && i >= o.length) o = void 0;
80
+ return { value: o && o[i++], done: !o };
81
+ }
82
+ };
83
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
84
+ };
85
+ Object.defineProperty(exports, "__esModule", { value: true });
86
+ exports.agentLoop = void 0;
87
+ var openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
88
+ var arvo_core_1 = require("arvo-core");
89
+ var utils_1 = require("./utils");
90
+ var agentLoop = function (param, config) { return __awaiter(void 0, void 0, void 0, function () {
91
+ var _a;
92
+ return __generator(this, function (_b) {
93
+ switch (_b.label) {
94
+ case 0: return [4 /*yield*/, arvo_core_1.ArvoOpenTelemetry.getInstance().startActiveSpan({
95
+ name: 'AgentLoop',
96
+ context: {
97
+ inheritFrom: 'TRACE_HEADERS',
98
+ traceHeaders: config.otelInfo.headers,
99
+ },
100
+ disableSpanManagement: true,
101
+ spanOptions: {
102
+ attributes: (_a = {},
103
+ _a[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.AGENT,
104
+ _a),
105
+ },
106
+ fn: function (span) { return __awaiter(void 0, void 0, void 0, function () {
107
+ var otelInfo, nameToToolMap, lifecycle, executionUnits, currentToolInteractionCount, messages, toolQuotaExhausted, response, arvoToolCalls, mcpToolResultPromises, internalToolResultPromises, _loop_1, _a, _b, item, _c, _d, item, e_1_1, _e, _f, item, e_2_1, outputResult;
108
+ var e_3, _g, e_1, _h, e_2, _j;
109
+ var _k, _l, _m;
110
+ return __generator(this, function (_o) {
111
+ switch (_o.label) {
112
+ case 0:
113
+ otelInfo = {
114
+ span: span,
115
+ headers: (0, arvo_core_1.getOtelHeaderFromSpan)(span),
116
+ };
117
+ nameToToolMap = Object.fromEntries(param.tools.map(function (item) { return [item.name, item]; }));
118
+ lifecycle = param.initLifecycle;
119
+ executionUnits = param.currentTotalExecutionUnits;
120
+ _o.label = 1;
121
+ case 1:
122
+ _o.trys.push([1, , 22, 23]);
123
+ currentToolInteractionCount = param.toolInteraction.current;
124
+ messages = __spreadArray([], __read(param.messages), false);
125
+ _o.label = 2;
126
+ case 2:
127
+ if (!(currentToolInteractionCount <= param.toolInteraction.max)) return [3 /*break*/, 21];
128
+ toolQuotaExhausted = !(currentToolInteractionCount < param.toolInteraction.max);
129
+ return [4 /*yield*/, param.llm({
130
+ lifecycle: lifecycle,
131
+ system: param.system,
132
+ messages: messages,
133
+ tools: param.tools,
134
+ toolInteractions: {
135
+ current: currentToolInteractionCount,
136
+ max: param.toolInteraction.max,
137
+ exhausted: toolQuotaExhausted,
138
+ },
139
+ outputFormat: {
140
+ type: param.llmResponseType,
141
+ format: param.outputFormat,
142
+ },
143
+ }, { otelInfo: otelInfo })];
144
+ case 3:
145
+ response = _o.sent();
146
+ currentToolInteractionCount++;
147
+ executionUnits += response.executionUnits;
148
+ if (!(response.type === 'tool_call')) return [3 /*break*/, 19];
149
+ arvoToolCalls = [];
150
+ mcpToolResultPromises = [];
151
+ internalToolResultPromises = [];
152
+ _loop_1 = function (item) {
153
+ var toolCallContent = {
154
+ type: 'tool_use',
155
+ toolUseId: item.toolUseId,
156
+ name: item.name,
157
+ input: item.input,
158
+ };
159
+ messages.push({ role: 'assistant', content: toolCallContent });
160
+ var resolvedToolDef = nameToToolMap[item.name];
161
+ if (!resolvedToolDef) {
162
+ messages.push({
163
+ role: 'user',
164
+ content: {
165
+ type: 'tool_result',
166
+ toolUseId: item.toolUseId,
167
+ content: "The tool ".concat(item.name, " does not exist. Please check if you are using the correct tool and don't call this tool again till you have confirmed the existance of the correct tool"),
168
+ },
169
+ });
170
+ return "continue";
171
+ }
172
+ if (resolvedToolDef.serverConfig.kind === 'mcp') {
173
+ mcpToolResultPromises.push((function () { return __awaiter(void 0, void 0, void 0, function () {
174
+ var response;
175
+ var _a, _b;
176
+ return __generator(this, function (_c) {
177
+ switch (_c.label) {
178
+ case 0: return [4 /*yield*/, ((_b = (_a = param.mcp) === null || _a === void 0 ? void 0 : _a.invokeTool({ name: resolvedToolDef.serverConfig.name, arguments: item.input }, { otelInfo: otelInfo })) === null || _b === void 0 ? void 0 : _b.catch(function (err) { return ({
179
+ type: 'error',
180
+ name: err.name,
181
+ message: err.message,
182
+ }); }))];
183
+ case 1:
184
+ response = _c.sent();
185
+ return [2 /*return*/, {
186
+ type: 'tool_result',
187
+ toolUseId: item.toolUseId,
188
+ content: response
189
+ ? JSON.stringify(response)
190
+ : 'No response available from the MCP',
191
+ }];
192
+ }
193
+ });
194
+ }); })());
195
+ }
196
+ else if (resolvedToolDef.serverConfig.kind === 'internal') {
197
+ internalToolResultPromises.push((function () { return __awaiter(void 0, void 0, void 0, function () {
198
+ var serverConfig, response;
199
+ var _a;
200
+ return __generator(this, function (_b) {
201
+ switch (_b.label) {
202
+ case 0:
203
+ serverConfig = resolvedToolDef.serverConfig;
204
+ if (!('fn' in serverConfig.contract &&
205
+ serverConfig.contract.fn &&
206
+ typeof serverConfig.contract.fn === 'function')) {
207
+ return [2 /*return*/, {
208
+ type: 'tool_result',
209
+ toolUseId: item.toolUseId,
210
+ content: 'Invalid internal tool call',
211
+ }];
212
+ }
213
+ return [4 /*yield*/, ((_a = serverConfig.contract
214
+ .fn(item.input, { otelInfo: otelInfo })) === null || _a === void 0 ? void 0 : _a.catch(function (err) { return ({
215
+ type: 'error',
216
+ name: err.name,
217
+ message: err.message,
218
+ }); }))];
219
+ case 1:
220
+ response = _b.sent();
221
+ return [2 /*return*/, {
222
+ type: 'tool_result',
223
+ toolUseId: item.toolUseId,
224
+ content: response
225
+ ? JSON.stringify(response)
226
+ : 'No response available from the internal tool',
227
+ }];
228
+ }
229
+ });
230
+ }); })());
231
+ }
232
+ else if (resolvedToolDef.serverConfig.kind === 'arvo') {
233
+ var zodParseResult = ((_k = resolvedToolDef.serverConfig.contract) === null || _k === void 0 ? void 0 : _k.accepts.schema).safeParse(item.input);
234
+ if (zodParseResult === null || zodParseResult === void 0 ? void 0 : zodParseResult.error) {
235
+ messages.push({
236
+ role: 'user',
237
+ content: {
238
+ type: 'tool_result',
239
+ toolUseId: item.toolUseId,
240
+ content: JSON.stringify({
241
+ type: 'error',
242
+ name: "".concat(zodParseResult.error.name, " Please refer to the tool definition for '").concat(item.name, "'"),
243
+ message: zodParseResult.error.message,
244
+ }),
245
+ },
246
+ });
247
+ }
248
+ else {
249
+ arvoToolCalls.push(__assign(__assign({}, toolCallContent), { name: (_m = (_l = resolvedToolDef.serverConfig.contract) === null || _l === void 0 ? void 0 : _l.accepts.type) !== null && _m !== void 0 ? _m : resolvedToolDef.serverConfig.name }));
250
+ }
251
+ }
252
+ };
253
+ try {
254
+ for (_a = (e_3 = void 0, __values((0, utils_1.prioritizeToolCalls)(response.toolRequests, nameToToolMap))), _b = _a.next(); !_b.done; _b = _a.next()) {
255
+ item = _b.value;
256
+ _loop_1(item);
257
+ }
258
+ }
259
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
260
+ finally {
261
+ try {
262
+ if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
263
+ }
264
+ finally { if (e_3) throw e_3.error; }
265
+ }
266
+ _o.label = 4;
267
+ case 4:
268
+ _o.trys.push([4, 9, 10, 11]);
269
+ e_1 = void 0;
270
+ return [4 /*yield*/, Promise.all(mcpToolResultPromises)];
271
+ case 5:
272
+ _c = (__values.apply(void 0, [_o.sent()])), _d = _c.next();
273
+ _o.label = 6;
274
+ case 6:
275
+ if (!!_d.done) return [3 /*break*/, 8];
276
+ item = _d.value;
277
+ messages.push({ role: 'user', content: item });
278
+ _o.label = 7;
279
+ case 7:
280
+ _d = _c.next();
281
+ return [3 /*break*/, 6];
282
+ case 8: return [3 /*break*/, 11];
283
+ case 9:
284
+ e_1_1 = _o.sent();
285
+ e_1 = { error: e_1_1 };
286
+ return [3 /*break*/, 11];
287
+ case 10:
288
+ try {
289
+ if (_d && !_d.done && (_h = _c.return)) _h.call(_c);
290
+ }
291
+ finally { if (e_1) throw e_1.error; }
292
+ return [7 /*endfinally*/];
293
+ case 11:
294
+ _o.trys.push([11, 16, 17, 18]);
295
+ e_2 = void 0;
296
+ return [4 /*yield*/, Promise.all(internalToolResultPromises)];
297
+ case 12:
298
+ _e = (__values.apply(void 0, [_o.sent()])), _f = _e.next();
299
+ _o.label = 13;
300
+ case 13:
301
+ if (!!_f.done) return [3 /*break*/, 15];
302
+ item = _f.value;
303
+ messages.push({ role: 'user', content: item });
304
+ _o.label = 14;
305
+ case 14:
306
+ _f = _e.next();
307
+ return [3 /*break*/, 13];
308
+ case 15: return [3 /*break*/, 18];
309
+ case 16:
310
+ e_2_1 = _o.sent();
311
+ e_2 = { error: e_2_1 };
312
+ return [3 /*break*/, 18];
313
+ case 17:
314
+ try {
315
+ if (_f && !_f.done && (_j = _e.return)) _j.call(_e);
316
+ }
317
+ finally { if (e_2) throw e_2.error; }
318
+ return [7 /*endfinally*/];
319
+ case 18:
320
+ if (arvoToolCalls.length) {
321
+ return [2 /*return*/, {
322
+ messages: messages,
323
+ toolCalls: arvoToolCalls,
324
+ toolInteractions: {
325
+ current: currentToolInteractionCount,
326
+ max: param.toolInteraction.max,
327
+ },
328
+ executionUnits: executionUnits,
329
+ }];
330
+ }
331
+ lifecycle = 'tool_result';
332
+ return [3 /*break*/, 2];
333
+ case 19: return [4 /*yield*/, param.outputBuilder(__assign(__assign({}, response), { outputFormat: param.outputFormat, span: span }))];
334
+ case 20:
335
+ outputResult = _o.sent();
336
+ if ('error' in outputResult && outputResult.error) {
337
+ messages.push({
338
+ role: 'assistant',
339
+ content: {
340
+ type: 'text',
341
+ content: 'content' in response && response.content ? response.content : 'No response',
342
+ },
343
+ });
344
+ messages.push({
345
+ role: 'user',
346
+ content: {
347
+ type: 'text',
348
+ content: JSON.stringify({
349
+ type: 'error',
350
+ name: outputResult.error.name,
351
+ message: outputResult.error.message,
352
+ }),
353
+ },
354
+ });
355
+ lifecycle = 'output_error_feedback';
356
+ return [3 /*break*/, 2];
357
+ }
358
+ if ('data' in outputResult && outputResult.data) {
359
+ messages.push({
360
+ role: 'assistant',
361
+ content: {
362
+ type: 'text',
363
+ content: JSON.stringify(outputResult.data),
364
+ },
365
+ });
366
+ return [2 /*return*/, {
367
+ messages: messages,
368
+ output: outputResult.data,
369
+ toolInteractions: {
370
+ current: currentToolInteractionCount,
371
+ max: param.toolInteraction.max,
372
+ },
373
+ executionUnits: executionUnits,
374
+ }];
375
+ }
376
+ return [3 /*break*/, 2];
377
+ case 21: throw new Error("Tool calls exhausted the max quota: ".concat(currentToolInteractionCount));
378
+ case 22:
379
+ span.end();
380
+ return [7 /*endfinally*/];
381
+ case 23: return [2 /*return*/];
382
+ }
383
+ });
384
+ }); },
385
+ })];
386
+ case 1: return [2 /*return*/, _b.sent()];
387
+ }
388
+ });
389
+ }); };
390
+ exports.agentLoop = agentLoop;
391
+ //# sourceMappingURL=agentLoop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentLoop.js","sourceRoot":"","sources":["../../src/Agent/agentLoop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { AgentInternalTool, AgentMessage, AgentServiceContract, AnyArvoOrchestratorContract, CreateArvoAgentParam } from './types.js';
2
+ type AgentState = {
3
+ currentSubject: string;
4
+ system: string | null;
5
+ messages: AgentMessage[];
6
+ toolInteractions: {
7
+ max: number;
8
+ current: number;
9
+ };
10
+ awaitingToolCalls: Record<string, {
11
+ type: string;
12
+ data: Record<string, unknown> | null;
13
+ }>;
14
+ totalExecutionUnits: number;
15
+ };
16
+ export declare const createArvoAgent: <TSelfContract extends AnyArvoOrchestratorContract, TServiceContract extends Record<string, AgentServiceContract>, TTools extends Record<string, AgentInternalTool>>({ contracts, memory, handler, llm, mcp, maxToolInteractions, llmResponseType, tools, }: CreateArvoAgentParam<TSelfContract, TServiceContract, TTools>) => import("arvo-event-handler").ArvoResumable<AgentState, TSelfContract, { [K in keyof TServiceContract & string]: TServiceContract[K]["contract"]; }>;
17
+ export {};
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Agent/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAOpB,KAAK,UAAU,GAAG;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC1F,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,aAAa,SAAS,2BAA2B,EACjD,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC7D,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAChD,wFASC,oBAAoB,CAAC,aAAa,EAAE,gBAAgB,EAAE,MAAM,CAAC,8EAGtD,CAAC,yEAuNV,CAAC"}