@agentica/core 0.32.2 → 0.32.3-dev.2

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 (43) hide show
  1. package/lib/index.mjs +320 -342
  2. package/lib/index.mjs.map +1 -1
  3. package/lib/orchestrate/call.js +87 -107
  4. package/lib/orchestrate/call.js.map +1 -1
  5. package/lib/orchestrate/describe.js +5 -50
  6. package/lib/orchestrate/describe.js.map +1 -1
  7. package/lib/orchestrate/initialize.js +5 -50
  8. package/lib/orchestrate/initialize.js.map +1 -1
  9. package/lib/orchestrate/select.js +107 -126
  10. package/lib/orchestrate/select.js.map +1 -1
  11. package/lib/utils/AssistantMessageEmptyError.d.ts +7 -0
  12. package/lib/utils/AssistantMessageEmptyError.js +17 -0
  13. package/lib/utils/AssistantMessageEmptyError.js.map +1 -0
  14. package/lib/utils/ChatGptCompletionStreamingUtil.d.ts +8 -0
  15. package/lib/utils/ChatGptCompletionStreamingUtil.js +86 -0
  16. package/lib/utils/ChatGptCompletionStreamingUtil.js.map +1 -0
  17. package/lib/utils/ChatGptCompletionStreamingUtil.spec.d.ts +1 -0
  18. package/lib/utils/ChatGptCompletionStreamingUtil.spec.js +855 -0
  19. package/lib/utils/ChatGptCompletionStreamingUtil.spec.js.map +1 -0
  20. package/lib/utils/MPSC.js +8 -6
  21. package/lib/utils/MPSC.js.map +1 -1
  22. package/lib/utils/StreamUtil.d.ts +1 -1
  23. package/lib/utils/StreamUtil.js +2 -2
  24. package/lib/utils/StreamUtil.js.map +1 -1
  25. package/lib/utils/__retry.d.ts +1 -0
  26. package/lib/utils/__retry.js +30 -0
  27. package/lib/utils/__retry.js.map +1 -0
  28. package/lib/utils/__retry.spec.d.ts +1 -0
  29. package/lib/utils/__retry.spec.js +172 -0
  30. package/lib/utils/__retry.spec.js.map +1 -0
  31. package/package.json +1 -1
  32. package/src/orchestrate/call.ts +88 -114
  33. package/src/orchestrate/describe.ts +7 -65
  34. package/src/orchestrate/initialize.ts +4 -64
  35. package/src/orchestrate/select.ts +111 -138
  36. package/src/utils/AssistantMessageEmptyError.ts +13 -0
  37. package/src/utils/ChatGptCompletionMessageUtil.ts +1 -1
  38. package/src/utils/ChatGptCompletionStreamingUtil.spec.ts +908 -0
  39. package/src/utils/ChatGptCompletionStreamingUtil.ts +90 -0
  40. package/src/utils/MPSC.ts +8 -6
  41. package/src/utils/StreamUtil.ts +2 -2
  42. package/src/utils/__retry.spec.ts +198 -0
  43. package/src/utils/__retry.ts +18 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatGptCompletionStreamingUtil.spec.js","sourceRoot":"","sources":["../../src/utils/ChatGptCompletionStreamingUtil.spec.ts"],"names":[],"mappings":"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"}
package/lib/utils/MPSC.js CHANGED
@@ -15,13 +15,15 @@ class MPSC {
15
15
  constructor() {
16
16
  this.queue = new AsyncQueue_1.AsyncQueue();
17
17
  this.consumer = new ReadableStream({
18
- pull: (controller) => __awaiter(this, void 0, void 0, function* () {
19
- const { value, done } = yield this.queue.dequeue();
20
- if (done === true) {
21
- controller.close();
22
- return;
18
+ start: (controller) => __awaiter(this, void 0, void 0, function* () {
19
+ while (true) {
20
+ const { value, done } = yield this.queue.dequeue();
21
+ if (done === true) {
22
+ controller.close();
23
+ return;
24
+ }
25
+ controller.enqueue(value);
23
26
  }
24
- controller.enqueue(value);
25
27
  }),
26
28
  });
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MPSC.js","sourceRoot":"","sources":["../../src/utils/MPSC.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0C;AAE1C,MAAa,IAAI;IAIf;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAU,EAAK,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAI;YACpC,IAAI,EAAE,CAAO,UAAU,EAAE,EAAE;gBACzB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEK,UAAU;;YACd,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;KAAA;IAEK,cAAc;;YAClB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACpC,CAAC;KAAA;CACF;AArCD,oBAqCC"}
1
+ {"version":3,"file":"MPSC.js","sourceRoot":"","sources":["../../src/utils/MPSC.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0C;AAE1C,MAAa,IAAI;IAIf;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,uBAAU,EAAK,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAI;YACpC,KAAK,EAAE,CAAO,UAAU,EAAE,EAAE;gBAC1B,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACnD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAClB,UAAU,CAAC,KAAK,EAAE,CAAC;wBACnB,OAAO;oBACT,CAAC;oBACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEK,UAAU;;YACd,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;KAAA;IAEK,cAAc;;YAClB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACpC,CAAC;KAAA;CACF;AAvCD,oBAuCC"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  declare function readAll<T>(stream: ReadableStream<T>): Promise<T[]>;
7
7
  declare function reduce<T, R = T>(stream: ReadableStream<T>, reducer: (acc: T | R, cur: T) => R, initial?: R): Promise<R | null>;
8
- declare function from<T>(value: T): ReadableStream<T>;
8
+ declare function from<T>(...value: T[]): ReadableStream<T>;
9
9
  export declare function toAsyncGenerator<T>(value: T): AsyncGenerator<T, undefined, undefined>;
10
10
  export declare function streamDefaultReaderToAsyncGenerator<T>(reader: ReadableStreamDefaultReader<T>): AsyncGenerator<Awaited<T>, undefined, undefined>;
11
11
  declare function transform<T, R>(stream: ReadableStream<T>, transformer: (value: T) => R): ReadableStream<R>;
@@ -79,10 +79,10 @@ function reduce(stream, reducer, initial) {
79
79
  return acc;
80
80
  });
81
81
  }
82
- function from(value) {
82
+ function from(...value) {
83
83
  const stream = new ReadableStream({
84
84
  start: (controller) => {
85
- controller.enqueue(value);
85
+ value.forEach(v => controller.enqueue(v));
86
86
  controller.close();
87
87
  },
88
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StreamUtil.js","sourceRoot":"","sources":["../../src/utils/StreamUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,4CAEC;AAED,kFAQC;AA3DD;;;;GAIG;AAEH,SAAe,OAAO,CAAI,MAAyB;;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAED,SAAe,MAAM,CAAW,MAAyB,EAAE,OAAkC,EAAE,OAAW;;;QACxG,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,mCAAmC,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,GAAG,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAiB,CAAC;;YAE5C,KAA0B,eAAA,aAAA,cAAA,QAAQ,CAAA,cAAA,kFAAE,CAAC;gBAAX,wBAAQ;gBAAR,WAAQ;gBAAvB,MAAM,KAAK,KAAA,CAAA;gBACpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjB,GAAG,GAAG,KAAK,CAAC;oBACZ,SAAS;gBACX,CAAC;gBAED,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;;;;;;;;;QAED,OAAO,GAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAS,IAAI,CAAI,KAAQ;IACvB,MAAM,MAAM,GAAG,IAAI,cAAc,CAAI;QACnC,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;YACpB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAuB,gBAAgB,CAAI,KAAQ;;QACjD,oBAAM,KAAK,CAAA,CAAC;IACd,CAAC;CAAA;AAED,SAAuB,mCAAmC,CAAI,MAAsC;;QAClG,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAM,MAAM,CAAC,IAAI,EAAE,CAAA,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,oBAAM,KAAK,CAAA,CAAC;QACd,CAAC;IACH,CAAC;CAAA;AAED,SAAS,SAAS,CAAO,MAAyB,EAAE,WAA4B;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,OAAO,IAAI,cAAc,CAAI;QAC3B,IAAI,EAAE,CAAO,UAAU,EAAE,EAAE;YACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,CAAC;iBACI,CAAC;gBACJ,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,UAAU,GAAG;IACxB,OAAO;IACP,MAAM;IACN,IAAI;IACJ,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"StreamUtil.js","sourceRoot":"","sources":["../../src/utils/StreamUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,4CAEC;AAED,kFAQC;AA3DD;;;;GAIG;AAEH,SAAe,OAAO,CAAI,MAAyB;;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAAA;AAED,SAAe,MAAM,CAAW,MAAyB,EAAE,OAAkC,EAAE,OAAW;;;QACxG,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,mCAAmC,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,GAAG,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAiB,CAAC;;YAE5C,KAA0B,eAAA,aAAA,cAAA,QAAQ,CAAA,cAAA,kFAAE,CAAC;gBAAX,wBAAQ;gBAAR,WAAQ;gBAAvB,MAAM,KAAK,KAAA,CAAA;gBACpB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjB,GAAG,GAAG,KAAK,CAAC;oBACZ,SAAS;gBACX,CAAC;gBAED,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;;;;;;;;;QAED,OAAO,GAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAS,IAAI,CAAI,GAAG,KAAU;IAC5B,MAAM,MAAM,GAAG,IAAI,cAAc,CAAI;QACnC,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;YACpB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAuB,gBAAgB,CAAI,KAAQ;;QACjD,oBAAM,KAAK,CAAA,CAAC;IACd,CAAC;CAAA;AAED,SAAuB,mCAAmC,CAAI,MAAsC;;QAClG,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAM,MAAM,CAAC,IAAI,EAAE,CAAA,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YACD,oBAAM,KAAK,CAAA,CAAC;QACd,CAAC;IACH,CAAC;CAAA;AAED,SAAS,SAAS,CAAO,MAAyB,EAAE,WAA4B;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAElC,OAAO,IAAI,cAAc,CAAI;QAC3B,IAAI,EAAE,CAAO,UAAU,EAAE,EAAE;YACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,CAAC;iBACI,CAAC;gBACJ,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,UAAU,GAAG;IACxB,OAAO;IACP,MAAM;IACN,IAAI;IACJ,SAAS;CACV,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.__get_retry = __get_retry;
13
+ /**
14
+ * @internal
15
+ */
16
+ function __get_retry(limit) {
17
+ const retryFn = (fn_1, prevError_1, ...args_1) => __awaiter(this, [fn_1, prevError_1, ...args_1], void 0, function* (fn, prevError, attempt = 0) {
18
+ try {
19
+ return yield fn(prevError);
20
+ }
21
+ catch (error) {
22
+ if (attempt >= limit - 1) {
23
+ throw error;
24
+ }
25
+ return retryFn(fn, error, attempt + 1);
26
+ }
27
+ });
28
+ return retryFn;
29
+ }
30
+ //# sourceMappingURL=__retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__retry.js","sourceRoot":"","sources":["../../src/utils/__retry.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,kCAcC;AAjBD;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,+BAAyG,EAAE,oEAAjG,EAAuC,EAAE,SAAmB,EAAE,UAAkB,CAAC;QACzG,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,172 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const __retry_1 = require("./__retry");
13
+ describe("__get_retry", () => {
14
+ beforeEach(() => {
15
+ vi.clearAllMocks();
16
+ });
17
+ describe("success cases", () => {
18
+ it("should not retry when successful on first attempt", () => __awaiter(void 0, void 0, void 0, function* () {
19
+ const mockFn = vi.fn().mockResolvedValue("success");
20
+ const retryFn = (0, __retry_1.__get_retry)(3);
21
+ const result = yield retryFn(mockFn);
22
+ expect(result).toBe("success");
23
+ expect(mockFn).toHaveBeenCalledTimes(1);
24
+ expect(mockFn).toHaveBeenCalledWith(undefined);
25
+ }));
26
+ it("should call exactly 2 times when successful on second attempt", () => __awaiter(void 0, void 0, void 0, function* () {
27
+ const mockFn = vi.fn()
28
+ .mockRejectedValueOnce(new Error("First failure"))
29
+ .mockResolvedValue("success");
30
+ const retryFn = (0, __retry_1.__get_retry)(3);
31
+ const result = yield retryFn(mockFn);
32
+ expect(result).toBe("success");
33
+ expect(mockFn).toHaveBeenCalledTimes(2);
34
+ expect(mockFn).toHaveBeenNthCalledWith(1, undefined);
35
+ expect(mockFn).toHaveBeenNthCalledWith(2, new Error("First failure"));
36
+ }));
37
+ it("should call limit times when successful on last attempt", () => __awaiter(void 0, void 0, void 0, function* () {
38
+ const mockFn = vi.fn()
39
+ .mockRejectedValueOnce(new Error("First failure"))
40
+ .mockRejectedValueOnce(new Error("Second failure"))
41
+ .mockResolvedValue("success");
42
+ const retryFn = (0, __retry_1.__get_retry)(3);
43
+ const result = yield retryFn(mockFn);
44
+ expect(result).toBe("success");
45
+ expect(mockFn).toHaveBeenCalledTimes(3);
46
+ expect(mockFn).toHaveBeenNthCalledWith(1, undefined);
47
+ expect(mockFn).toHaveBeenNthCalledWith(2, new Error("First failure"));
48
+ expect(mockFn).toHaveBeenNthCalledWith(3, new Error("Second failure"));
49
+ }));
50
+ });
51
+ describe("failure cases", () => {
52
+ it("should throw last error after limit attempts", () => __awaiter(void 0, void 0, void 0, function* () {
53
+ const error1 = new Error("First failure");
54
+ const error2 = new Error("Second failure");
55
+ const error3 = new Error("Third failure");
56
+ const mockFn = vi.fn()
57
+ .mockRejectedValueOnce(error1)
58
+ .mockRejectedValueOnce(error2)
59
+ .mockRejectedValueOnce(error3);
60
+ const retryFn = (0, __retry_1.__get_retry)(3);
61
+ yield expect(retryFn(mockFn)).rejects.toThrow("Third failure");
62
+ expect(mockFn).toHaveBeenCalledTimes(3);
63
+ expect(mockFn).toHaveBeenNthCalledWith(1, undefined);
64
+ expect(mockFn).toHaveBeenNthCalledWith(2, error1);
65
+ expect(mockFn).toHaveBeenNthCalledWith(3, error2);
66
+ }));
67
+ it("should throw error immediately when limit is 1", () => __awaiter(void 0, void 0, void 0, function* () {
68
+ const error = new Error("Immediate failure");
69
+ const mockFn = vi.fn().mockRejectedValue(error);
70
+ const retryFn = (0, __retry_1.__get_retry)(1);
71
+ yield expect(retryFn(mockFn)).rejects.toThrow("Immediate failure");
72
+ expect(mockFn).toHaveBeenCalledTimes(1);
73
+ expect(mockFn).toHaveBeenCalledWith(undefined);
74
+ }));
75
+ });
76
+ describe("prevError propagation", () => {
77
+ it("should pass previous error as prevError correctly", () => __awaiter(void 0, void 0, void 0, function* () {
78
+ const error1 = new Error("First error");
79
+ const error2 = new Error("Second error");
80
+ const mockFn = vi.fn()
81
+ .mockRejectedValueOnce(error1)
82
+ .mockRejectedValueOnce(error2)
83
+ .mockResolvedValue("success");
84
+ const retryFn = (0, __retry_1.__get_retry)(3);
85
+ const result = yield retryFn(mockFn);
86
+ expect(result).toBe("success");
87
+ expect(mockFn).toHaveBeenCalledTimes(3);
88
+ expect(mockFn).toHaveBeenNthCalledWith(1, undefined);
89
+ expect(mockFn).toHaveBeenNthCalledWith(2, error1);
90
+ expect(mockFn).toHaveBeenNthCalledWith(3, error2);
91
+ }));
92
+ it("should use initial prevError in first call when provided", () => __awaiter(void 0, void 0, void 0, function* () {
93
+ const initialError = new Error("Initial error");
94
+ const mockFn = vi.fn().mockResolvedValue("success");
95
+ const retryFn = (0, __retry_1.__get_retry)(3);
96
+ const result = yield retryFn(mockFn, initialError);
97
+ expect(result).toBe("success");
98
+ expect(mockFn).toHaveBeenCalledTimes(1);
99
+ expect(mockFn).toHaveBeenCalledWith(initialError);
100
+ }));
101
+ });
102
+ describe("different error types", () => {
103
+ it("should handle string errors correctly", () => __awaiter(void 0, void 0, void 0, function* () {
104
+ const mockFn = vi.fn()
105
+ .mockRejectedValueOnce("String error")
106
+ .mockResolvedValue("success");
107
+ const retryFn = (0, __retry_1.__get_retry)(2);
108
+ const result = yield retryFn(mockFn);
109
+ expect(result).toBe("success");
110
+ expect(mockFn).toHaveBeenCalledTimes(2);
111
+ expect(mockFn).toHaveBeenNthCalledWith(2, "String error");
112
+ }));
113
+ it("should handle null errors correctly", () => __awaiter(void 0, void 0, void 0, function* () {
114
+ const mockFn = vi.fn()
115
+ .mockRejectedValueOnce(null)
116
+ .mockResolvedValue("success");
117
+ const retryFn = (0, __retry_1.__get_retry)(2);
118
+ const result = yield retryFn(mockFn);
119
+ expect(result).toBe("success");
120
+ expect(mockFn).toHaveBeenCalledTimes(2);
121
+ expect(mockFn).toHaveBeenNthCalledWith(2, null);
122
+ }));
123
+ it("should handle undefined errors correctly", () => __awaiter(void 0, void 0, void 0, function* () {
124
+ const mockFn = vi.fn()
125
+ .mockRejectedValueOnce(undefined)
126
+ .mockResolvedValue("success");
127
+ const retryFn = (0, __retry_1.__get_retry)(2);
128
+ const result = yield retryFn(mockFn);
129
+ expect(result).toBe("success");
130
+ expect(mockFn).toHaveBeenCalledTimes(2);
131
+ expect(mockFn).toHaveBeenNthCalledWith(2, undefined);
132
+ }));
133
+ });
134
+ describe("recursive call verification", () => {
135
+ it("should occur recursive calls in correct order", () => __awaiter(void 0, void 0, void 0, function* () {
136
+ const callOrder = [];
137
+ const mockFn = vi.fn()
138
+ .mockImplementationOnce(() => {
139
+ callOrder.push("first call");
140
+ throw new Error("First failure");
141
+ })
142
+ .mockImplementationOnce(() => {
143
+ callOrder.push("second call");
144
+ throw new Error("Second failure");
145
+ })
146
+ .mockImplementationOnce(() => __awaiter(void 0, void 0, void 0, function* () {
147
+ callOrder.push("third call");
148
+ return Promise.resolve("success");
149
+ }));
150
+ const retryFn = (0, __retry_1.__get_retry)(3);
151
+ const result = yield retryFn(mockFn);
152
+ expect(result).toBe("success");
153
+ expect(callOrder).toEqual(["first call", "second call", "third call"]);
154
+ expect(mockFn).toHaveBeenCalledTimes(3);
155
+ }));
156
+ });
157
+ describe("type safety", () => {
158
+ it("should handle different return types correctly", () => __awaiter(void 0, void 0, void 0, function* () {
159
+ const stringFn = vi.fn().mockResolvedValue("string result");
160
+ const numberFn = vi.fn().mockResolvedValue(42);
161
+ const objectFn = vi.fn().mockResolvedValue({ key: "value" });
162
+ const retryFn = (0, __retry_1.__get_retry)(3);
163
+ const stringResult = yield retryFn(stringFn);
164
+ const numberResult = yield retryFn(numberFn);
165
+ const objectResult = yield retryFn(objectFn);
166
+ expect(stringResult).toBe("string result");
167
+ expect(numberResult).toBe(42);
168
+ expect(objectResult).toEqual({ key: "value" });
169
+ }));
170
+ });
171
+ });
172
+ //# sourceMappingURL=__retry.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__retry.spec.js","sourceRoot":"","sources":["../../src/utils/__retry.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentica/core",
3
- "version": "0.32.2",
3
+ "version": "0.32.3-dev.2",
4
4
  "description": "Agentic AI Library specialized in LLM Function Calling",
5
5
  "author": "Wrtn Technologies",
6
6
  "license": "MIT",
@@ -23,9 +23,11 @@ import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
23
23
  import { isAgenticaContext } from "../context/internal/isAgenticaContext";
24
24
  import { createAssistantMessageEvent, createCallEvent, createExecuteEvent, createJsonParseErrorEvent, createValidateEvent } from "../factory/events";
25
25
  import { decodeHistory, decodeUserMessageContent } from "../factory/histories";
26
- import { MPSC } from "../utils";
26
+ import { __get_retry } from "../utils/__retry";
27
+ import { AssistantMessageEmptyError, AssistantMessageEmptyWithReasoningError } from "../utils/AssistantMessageEmptyError";
27
28
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
28
- import { streamDefaultReaderToAsyncGenerator, StreamUtil, toAsyncGenerator } from "../utils/StreamUtil";
29
+ import { reduceStreamingWithDispatch } from "../utils/ChatGptCompletionStreamingUtil";
30
+ import { StreamUtil, toAsyncGenerator } from "../utils/StreamUtil";
29
31
 
30
32
  import { cancelFunctionFromContext } from "./internal/cancelFunctionFromContext";
31
33
 
@@ -33,131 +35,103 @@ export async function call<Model extends ILlmSchema.Model>(
33
35
  ctx: AgenticaContext<Model> | MicroAgenticaContext<Model>,
34
36
  operations: AgenticaOperation<Model>[],
35
37
  ): Promise<AgenticaExecuteEvent<Model>[]> {
36
- const stream: ReadableStream<OpenAI.ChatCompletionChunk> = await ctx.request("call", {
37
- messages: [
38
- // COMMON SYSTEM PROMPT
39
- {
40
- role: "system",
41
- content: AgenticaDefaultPrompt.write(ctx.config),
42
- } satisfies OpenAI.ChatCompletionSystemMessageParam,
43
- // PREVIOUS HISTORIES
44
- ...ctx.histories.map(decodeHistory).flat(),
45
- // USER INPUT
46
- {
47
- role: "user",
48
- content: ctx.prompt.contents.map(decodeUserMessageContent),
49
- },
50
- // SYSTEM PROMPT
51
- ...(ctx.config?.systemPrompt?.execute === null
52
- ? []
53
- : [{
54
- role: "system",
55
- content: ctx.config?.systemPrompt?.execute?.(ctx.histories as MicroAgenticaHistory<Model>[])
56
- ?? AgenticaSystemPrompt.EXECUTE,
57
- } satisfies OpenAI.ChatCompletionSystemMessageParam]),
58
- ],
59
- // STACKED FUNCTIONS
60
- tools: operations.map(
61
- s =>
62
- ({
63
- type: "function",
64
- function: {
65
- name: s.name,
66
-
67
- description: s.function.description,
68
- parameters: (
69
- (
70
- "separated" in s.function
71
- && s.function.separated !== undefined
72
- )
73
- ? (s.function.separated.llm
74
- ?? ({
75
- type: "object",
76
- properties: {},
77
- required: [],
78
- additionalProperties: false,
79
- $defs: {},
80
- } satisfies IChatGptSchema.IParameters))
81
-
82
- : s.function.parameters) as Record<string, any>,
83
- },
84
- }) as OpenAI.ChatCompletionTool,
85
- ),
86
- tool_choice: "auto",
87
- // parallel_tool_calls: false,
88
- });
89
-
90
- const selectContext: ({
91
- content: string;
92
- mpsc: MPSC<string>;
93
- })[] = [];
94
- const nullableCompletion = await StreamUtil.reduce<OpenAI.ChatCompletionChunk, Promise<OpenAI.ChatCompletion>>(stream, async (accPromise, chunk) => {
95
- const acc = await accPromise;
96
-
97
- const registerContext = (
98
- choices: OpenAI.ChatCompletionChunk.Choice[],
99
- ) => {
100
- for (const choice of choices) {
101
- /**
102
- * @TODO fix it
103
- * Sometimes, the complete message arrives along with a finish reason.
104
- */
105
- if (choice.finish_reason != null) {
106
- selectContext[choice.index]?.mpsc.close();
107
- continue;
108
- }
38
+ const _retryFn = __get_retry(ctx.config?.retry ?? AgenticaConstant.RETRY);
39
+ const retryFn = async (fn: (prevError?: unknown) => Promise<OpenAI.ChatCompletion>) => {
40
+ return _retryFn(fn).catch((e) => {
41
+ if (e instanceof AssistantMessageEmptyError) {
42
+ return Symbol("emptyAssistantMessage");
43
+ }
44
+ throw e;
45
+ });
46
+ };
109
47
 
110
- if (choice.delta.content == null || choice.delta.content === "") {
111
- continue;
112
- }
48
+ const completion = await retryFn(async (prevError) => {
49
+ const stream: ReadableStream<OpenAI.ChatCompletionChunk> = await ctx.request("call", {
50
+ messages: [
51
+ // COMMON SYSTEM PROMPT
52
+ {
53
+ role: "system",
54
+ content: AgenticaDefaultPrompt.write(ctx.config),
55
+ } satisfies OpenAI.ChatCompletionSystemMessageParam,
56
+ // PREVIOUS HISTORIES
57
+ ...ctx.histories.map(decodeHistory).flat(),
58
+ // USER INPUT
59
+ {
60
+ role: "user",
61
+ content: ctx.prompt.contents.map(decodeUserMessageContent),
62
+ },
63
+ ...(prevError instanceof AssistantMessageEmptyWithReasoningError ? [
64
+ {
65
+ role: "assistant",
66
+ content: prevError.reasoning,
67
+ } satisfies OpenAI.ChatCompletionMessageParam,
68
+ ] : []),
69
+ // SYSTEM PROMPT
70
+ ...(ctx.config?.systemPrompt?.execute === null
71
+ ? []
72
+ : [{
73
+ role: "system",
74
+ content: ctx.config?.systemPrompt?.execute?.(ctx.histories as MicroAgenticaHistory<Model>[])
75
+ ?? AgenticaSystemPrompt.EXECUTE,
76
+ } satisfies OpenAI.ChatCompletionSystemMessageParam]),
77
+ ],
78
+ // STACKED FUNCTIONS
79
+ tools: operations.map(
80
+ s =>
81
+ ({
82
+ type: "function",
83
+ function: {
84
+ name: s.name,
113
85
 
114
- if (selectContext[choice.index] != null) {
115
- selectContext[choice.index]!.content += choice.delta.content;
116
- selectContext[choice.index]!.mpsc.produce(choice.delta.content);
117
- continue;
118
- }
86
+ description: s.function.description,
87
+ parameters: (
88
+ (
89
+ "separated" in s.function
90
+ && s.function.separated !== undefined
91
+ )
92
+ ? (s.function.separated.llm
93
+ ?? ({
94
+ type: "object",
95
+ properties: {},
96
+ required: [],
97
+ additionalProperties: false,
98
+ $defs: {},
99
+ } satisfies IChatGptSchema.IParameters))
119
100
 
120
- const mpsc = new MPSC<string>();
101
+ : s.function.parameters) as Record<string, any>,
102
+ },
103
+ }) as OpenAI.ChatCompletionTool,
104
+ ),
105
+ tool_choice: "auto",
106
+ // parallel_tool_calls: false,
107
+ });
121
108
 
122
- selectContext[choice.index] = {
123
- content: choice.delta.content,
124
- mpsc,
125
- };
126
- mpsc.produce(choice.delta.content);
109
+ const completion = await reduceStreamingWithDispatch(stream, (props) => {
110
+ const event: AgenticaAssistantMessageEvent = createAssistantMessageEvent(props);
111
+ ctx.dispatch(event);
112
+ });
127
113
 
128
- const event: AgenticaAssistantMessageEvent = createAssistantMessageEvent({
129
- stream: streamDefaultReaderToAsyncGenerator(mpsc.consumer.getReader()),
130
- done: () => mpsc.done(),
131
- get: () => selectContext[choice.index]?.content ?? "",
132
- join: async () => {
133
- await mpsc.waitClosed();
134
- return selectContext[choice.index]!.content;
135
- },
136
- });
137
- ctx.dispatch(event);
114
+ const allAssistantMessagesEmpty = completion.choices.every(v => v.message.tool_calls == null && v.message.content === "");
115
+ if (allAssistantMessagesEmpty) {
116
+ const firstChoice = completion.choices.at(0);
117
+ if ((firstChoice?.message as { reasoning?: string })?.reasoning != null) {
118
+ throw new AssistantMessageEmptyWithReasoningError((firstChoice?.message as { reasoning?: string })?.reasoning ?? "");
138
119
  }
139
- };
140
- if (acc.object === "chat.completion.chunk") {
141
- registerContext([acc, chunk].flatMap(v => v.choices));
142
- return ChatGptCompletionMessageUtil.merge([acc, chunk]);
120
+ throw new AssistantMessageEmptyError();
143
121
  }
144
- registerContext(chunk.choices);
145
- return ChatGptCompletionMessageUtil.accumulate(acc, chunk);
122
+ return completion;
146
123
  });
147
- const completion = nullableCompletion!;
148
- const emptyAssistantMessages = completion.choices.filter(v => v.message.tool_calls == null && v.message.content === "");
149
- if(emptyAssistantMessages.length > 0) {
150
- emptyAssistantMessages.forEach(v => {
124
+
125
+ if (typeof completion === "symbol") {
151
126
  const event: AgenticaAssistantMessageEvent = createAssistantMessageEvent({
152
- stream: toAsyncGenerator(v.message.content ?? ""),
127
+ stream: toAsyncGenerator(""),
153
128
  done: () => true,
154
- get: () => v.message.content ?? "",
129
+ get: () => "",
155
130
  join: async () => {
156
- return v.message.content ?? "";
131
+ return "";
157
132
  },
158
- });
159
- ctx.dispatch(event);
160
133
  });
134
+ ctx.dispatch(event);
161
135
  return [];
162
136
  }
163
137