@agentica/core 0.16.9 → 0.17.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 (39) hide show
  1. package/lib/Agentica.js +2 -2
  2. package/lib/Agentica.js.map +1 -1
  3. package/lib/MicroAgentica.js +2 -2
  4. package/lib/MicroAgentica.js.map +1 -1
  5. package/lib/events/AgenticaDescribeEvent.d.ts +1 -1
  6. package/lib/events/AgenticaResponseEvent.d.ts +1 -1
  7. package/lib/events/AgenticaTextEvent.d.ts +1 -1
  8. package/lib/factory/events.d.ts +3 -3
  9. package/lib/functional/assertMcpLlmApplication.js +42 -8
  10. package/lib/functional/assertMcpLlmApplication.js.map +1 -1
  11. package/lib/index.mjs +33 -24
  12. package/lib/index.mjs.map +1 -1
  13. package/lib/orchestrate/call.js +1 -1
  14. package/lib/orchestrate/call.js.map +1 -1
  15. package/lib/orchestrate/describe.js +1 -1
  16. package/lib/orchestrate/describe.js.map +1 -1
  17. package/lib/orchestrate/initialize.js +1 -1
  18. package/lib/orchestrate/initialize.js.map +1 -1
  19. package/lib/orchestrate/select.js +1 -1
  20. package/lib/orchestrate/select.js.map +1 -1
  21. package/lib/transformers/AgenticaEventTransformer.js +2 -2
  22. package/lib/transformers/AgenticaEventTransformer.js.map +1 -1
  23. package/lib/utils/StreamUtil.d.ts +4 -2
  24. package/lib/utils/StreamUtil.js +58 -10
  25. package/lib/utils/StreamUtil.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/Agentica.ts +3 -3
  28. package/src/MicroAgentica.ts +3 -3
  29. package/src/events/AgenticaDescribeEvent.ts +1 -1
  30. package/src/events/AgenticaResponseEvent.ts +1 -1
  31. package/src/events/AgenticaTextEvent.ts +1 -1
  32. package/src/factory/events.ts +3 -3
  33. package/src/functional/assertMcpLlmApplication.ts +6 -5
  34. package/src/orchestrate/call.ts +2 -2
  35. package/src/orchestrate/describe.ts +2 -2
  36. package/src/orchestrate/initialize.ts +2 -2
  37. package/src/orchestrate/select.ts +2 -2
  38. package/src/transformers/AgenticaEventTransformer.ts +3 -3
  39. package/src/utils/StreamUtil.ts +18 -8
@@ -98,7 +98,7 @@ function transformDescribe(props) {
98
98
  operations: props.operations,
99
99
  event: next,
100
100
  })),
101
- stream: StreamUtil_1.StreamUtil.to(props.event.text),
101
+ stream: (0, StreamUtil_1.toAsyncGenerator)(props.event.text),
102
102
  done: () => true,
103
103
  get: () => props.event.text,
104
104
  join: () => __awaiter(this, void 0, void 0, function* () { return props.event.text; }),
@@ -135,7 +135,7 @@ function transformSelect(props) {
135
135
  function transformText(props) {
136
136
  return (0, events_1.createTextEvent)({
137
137
  role: props.event.role,
138
- stream: StreamUtil_1.StreamUtil.to(props.event.text),
138
+ stream: (0, StreamUtil_1.toAsyncGenerator)(props.event.text),
139
139
  done: () => true,
140
140
  get: () => props.event.text,
141
141
  join: () => __awaiter(this, void 0, void 0, function* () { return props.event.text; }),
@@ -1 +1 @@
1
- {"version":3,"file":"AgenticaEventTransformer.js","sourceRoot":"","sources":["../../src/transformers/AgenticaEventTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgenticaEventTransformer.js","sourceRoot":"","sources":["../../src/transformers/AgenticaEventTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAoGA,0CAaC;AAnGD,8CAA+L;AAC/L,sDAAiE;AACjE,oDAAuD;AAEvD,SAAS,aAAa,CAAiC,KAMtD;;IACC,MAAM,KAAK,GAAyC,MAAA,KAAK,CAAC,UAAU;SACjE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,0CAC1B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,oCAAoC,KAAK,CAAC,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CACjG,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAiC,KAGlD;IACC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC;YACnB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,eAAe,CAAC;YACrB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzC,OAAO,iBAAiB,CAAC;YACvB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,gBAAgB,CAAC;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC3C,OAAO,mBAAmB,EAAE,CAAC;IAC/B,CAAC;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,gBAAgB,CAAC;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,eAAe,CAAC;YACrB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;SACI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,aAAa,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;SACI,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAAC,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAiC,KAGtD;IACC,OAAO,IAAA,wBAAe,EAAC;QACrB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;QAClB,SAAS,EAAE,aAAa,CAAC;YACvB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;SAC7B,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,eAAe,CAAiC,KAG/D;IACC,OAAO,IAAA,0BAAiB,EAAC;QACvB,SAAS,EAAE,IAAA,qCAAwB,EAAC;YAClC,SAAS,EAAE,aAAa,CAAC;gBACvB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS;aACvC,CAAC;YACF,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;SACrC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAiC,KAG1D;IACC,OAAO,IAAA,4BAAmB,EAAC;QACzB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACxC,gBAAgB,CAAC;YACf,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,IAAI;SACZ,CAAC,CACH;QACD,MAAM,EAAE,IAAA,6BAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;QAC3B,IAAI,EAAE,GAAS,EAAE,gDAAC,OAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA,GAAA;KACnC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAiC,KAGzD;IACC,OAAO,IAAA,2BAAkB,EAAC;QACxB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;QAClB,SAAS,EAAE,aAAa,CAAC;YACvB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;SAC7B,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;QAChC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,IAAA,8BAAqB,GAAE,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAEzB;IACC,OAAO,IAAA,2BAAkB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAiC,KAGxD;IACC,OAAO,IAAA,0BAAiB,EAAC;QACvB,SAAS,EAAE,IAAA,qCAAwB,EAAC;YAClC,SAAS,EAAE,aAAa,CAAC;gBACvB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS;aACvC,CAAC;YACF,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;SACrC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAEtB;IACC,OAAO,IAAA,wBAAe,EAAC;QACrB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;QACtB,MAAM,EAAE,IAAA,6BAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;QAChB,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;QAC3B,IAAI,EAAE,GAAS,EAAE,gDAAC,OAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA,GAAA;KACnC,CAAC,CAAC;AACL,CAAC;AAEY,QAAA,wBAAwB,GAAG;IACtC,SAAS;IACT,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,aAAa;CACd,CAAC"}
@@ -5,12 +5,14 @@
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 to<T>(value: T): ReadableStream<T>;
8
+ declare function from<T>(value: T): ReadableStream<T>;
9
+ export declare function toAsyncGenerator<T>(value: T): AsyncGenerator<T, undefined, undefined>;
10
+ export declare function streamDefaultReaderToAsyncGenerator<T>(reader: ReadableStreamDefaultReader<T>): AsyncGenerator<Awaited<T>, undefined, undefined>;
9
11
  declare function transform<T, R>(stream: ReadableStream<T>, transformer: (value: T) => R): ReadableStream<R>;
10
12
  export declare const StreamUtil: {
11
13
  readAll: typeof readAll;
12
14
  reduce: typeof reduce;
13
- to: typeof to;
15
+ from: typeof from;
14
16
  transform: typeof transform;
15
17
  };
16
18
  export {};
@@ -8,8 +8,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
12
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
+ var m = o[Symbol.asyncIterator], i;
14
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
15
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
16
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
17
+ };
18
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
19
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
20
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
21
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
22
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
23
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
24
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
25
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
26
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
27
+ function fulfill(value) { resume("next", value); }
28
+ function reject(value) { resume("throw", value); }
29
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
30
+ };
11
31
  Object.defineProperty(exports, "__esModule", { value: true });
12
32
  exports.StreamUtil = void 0;
33
+ exports.toAsyncGenerator = toAsyncGenerator;
34
+ exports.streamDefaultReaderToAsyncGenerator = streamDefaultReaderToAsyncGenerator;
13
35
  /**
14
36
  * @module StreamUtil
15
37
  *
@@ -31,23 +53,33 @@ function readAll(stream) {
31
53
  }
32
54
  function reduce(stream, reducer, initial) {
33
55
  return __awaiter(this, void 0, void 0, function* () {
56
+ var _a, e_1, _b, _c;
34
57
  const reader = stream.getReader();
58
+ const iterator = streamDefaultReaderToAsyncGenerator(reader);
35
59
  let acc = (initial !== null && initial !== void 0 ? initial : null);
36
- while (true) {
37
- const { done, value } = yield reader.read();
38
- if (done) {
39
- break;
60
+ try {
61
+ for (var _d = true, iterator_1 = __asyncValues(iterator), iterator_1_1; iterator_1_1 = yield iterator_1.next(), _a = iterator_1_1.done, !_a; _d = true) {
62
+ _c = iterator_1_1.value;
63
+ _d = false;
64
+ const value = _c;
65
+ if (acc === null) {
66
+ acc = value;
67
+ continue;
68
+ }
69
+ acc = reducer(acc, value);
40
70
  }
41
- if (acc === null) {
42
- acc = value;
43
- continue;
71
+ }
72
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
73
+ finally {
74
+ try {
75
+ if (!_d && !_a && (_b = iterator_1.return)) yield _b.call(iterator_1);
44
76
  }
45
- acc = reducer(acc, value);
77
+ finally { if (e_1) throw e_1.error; }
46
78
  }
47
79
  return acc;
48
80
  });
49
81
  }
50
- function to(value) {
82
+ function from(value) {
51
83
  const stream = new ReadableStream({
52
84
  start: (controller) => {
53
85
  controller.enqueue(value);
@@ -56,6 +88,22 @@ function to(value) {
56
88
  });
57
89
  return stream;
58
90
  }
91
+ function toAsyncGenerator(value) {
92
+ return __asyncGenerator(this, arguments, function* toAsyncGenerator_1() {
93
+ yield yield __await(value);
94
+ });
95
+ }
96
+ function streamDefaultReaderToAsyncGenerator(reader) {
97
+ return __asyncGenerator(this, arguments, function* streamDefaultReaderToAsyncGenerator_1() {
98
+ while (true) {
99
+ const { done, value } = yield __await(reader.read());
100
+ if (done) {
101
+ break;
102
+ }
103
+ yield yield __await(value);
104
+ }
105
+ });
106
+ }
59
107
  function transform(stream, transformer) {
60
108
  const reader = stream.getReader();
61
109
  return new ReadableStream({
@@ -73,7 +121,7 @@ function transform(stream, transformer) {
73
121
  exports.StreamUtil = {
74
122
  readAll,
75
123
  reduce,
76
- to,
124
+ from,
77
125
  transform,
78
126
  };
79
127
  //# sourceMappingURL=StreamUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreamUtil.js","sourceRoot":"","sources":["../../src/utils/StreamUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;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;QAElC,IAAI,GAAG,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAiB,CAAC;QAE5C,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,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,GAAG,GAAG,KAAK,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,GAAQ,CAAC;IAClB,CAAC;CAAA;AAED,SAAS,EAAE,CAAI,KAAQ;IACrB,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,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,EAAE;IACF,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentica/core",
3
- "version": "0.16.9",
3
+ "version": "0.17.1",
4
4
  "description": "Agentic AI Library specialized in LLM Function Calling",
5
5
  "author": "Wrtn Technologies",
6
6
  "license": "MIT",
package/src/Agentica.ts CHANGED
@@ -22,7 +22,7 @@ import { execute } from "./orchestrate/execute";
22
22
  import { AgenticaHistoryTransformer } from "./transformers/AgenticaHistoryTransformer";
23
23
  import { __map_take } from "./utils/__map_take";
24
24
  import { ChatGptCompletionMessageUtil } from "./utils/ChatGptCompletionMessageUtil";
25
- import { StreamUtil } from "./utils/StreamUtil";
25
+ import { streamDefaultReaderToAsyncGenerator, StreamUtil, toAsyncGenerator } from "./utils/StreamUtil";
26
26
 
27
27
  /**
28
28
  * Agentica AI chatbot agent.
@@ -134,7 +134,7 @@ export class Agentica<Model extends ILlmSchema.Model> {
134
134
  this.dispatch(
135
135
  createTextEvent({
136
136
  role: "user",
137
- stream: StreamUtil.to(content),
137
+ stream: toAsyncGenerator(content),
138
138
  done: () => true,
139
139
  get: () => content,
140
140
  join: async () => Promise.resolve(content),
@@ -282,7 +282,7 @@ export class Agentica<Model extends ILlmSchema.Model> {
282
282
  await dispatch({
283
283
  type: "response",
284
284
  source,
285
- stream: streamForStream,
285
+ stream: streamDefaultReaderToAsyncGenerator(streamForStream.getReader()),
286
286
  body: event.body,
287
287
  options: event.options,
288
288
  join: async () => {
@@ -21,7 +21,7 @@ import { call, describe } from "./orchestrate";
21
21
  import { AgenticaHistoryTransformer } from "./transformers/AgenticaHistoryTransformer";
22
22
  import { __map_take } from "./utils/__map_take";
23
23
  import { ChatGptCompletionMessageUtil } from "./utils/ChatGptCompletionMessageUtil";
24
- import { StreamUtil } from "./utils/StreamUtil";
24
+ import { streamDefaultReaderToAsyncGenerator, StreamUtil, toAsyncGenerator } from "./utils/StreamUtil";
25
25
 
26
26
  /**
27
27
  * Micro AI chatbot.
@@ -115,7 +115,7 @@ export class MicroAgentica<Model extends ILlmSchema.Model> {
115
115
  this.dispatch(
116
116
  createTextEvent({
117
117
  role: "user",
118
- stream: StreamUtil.to(content),
118
+ stream: toAsyncGenerator(content),
119
119
  done: () => true,
120
120
  get: () => content,
121
121
  join: async () => Promise.resolve(content),
@@ -252,7 +252,7 @@ export class MicroAgentica<Model extends ILlmSchema.Model> {
252
252
  await dispatch({
253
253
  type: "response",
254
254
  source,
255
- stream: streamForStream,
255
+ stream: streamDefaultReaderToAsyncGenerator(streamForStream.getReader()),
256
256
  body: event.body,
257
257
  options: event.options,
258
258
  join: async () => {
@@ -10,7 +10,7 @@ export interface AgenticaDescribeEvent<
10
10
  Model extends ILlmSchema.Model,
11
11
  > extends AgenticaEventBase<"describe"> {
12
12
  executes: AgenticaExecuteHistory<Model>[];
13
- stream: ReadableStream<string>;
13
+ stream: AsyncGenerator<string, undefined, undefined>;
14
14
 
15
15
  join: () => Promise<string>;
16
16
  toJSON: () => IAgenticaEventJson.IDescribe;
@@ -17,7 +17,7 @@ export interface AgenticaResponseEvent extends AgenticaEventBase<"response"> {
17
17
  /**
18
18
  * The text content stream.
19
19
  */
20
- stream: ReadableStream<OpenAI.ChatCompletionChunk>;
20
+ stream: AsyncGenerator<OpenAI.ChatCompletionChunk, undefined, undefined>;
21
21
 
22
22
  /**
23
23
  * Options for the request.
@@ -7,7 +7,7 @@ export interface AgenticaTextEvent<
7
7
  Role extends "assistant" | "user" = "assistant" | "user",
8
8
  > extends AgenticaEventBase<"text"> {
9
9
  role: Role;
10
- stream: ReadableStream<string>;
10
+ stream: AsyncGenerator<string, undefined, undefined>;
11
11
  join: () => Promise<string>;
12
12
  toJSON: () => IAgenticaEventJson.IText;
13
13
  toHistory: () => AgenticaTextHistory;
@@ -136,7 +136,7 @@ export function createExecuteEvent<Model extends ILlmSchema.Model>(props: {
136
136
  ----------------------------------------------------------- */
137
137
  export function createTextEvent<Role extends "user" | "assistant">(props: {
138
138
  role: Role;
139
- stream: ReadableStream<string>;
139
+ stream: AsyncGenerator<string, undefined, undefined>;
140
140
  done: () => boolean;
141
141
  get: () => string;
142
142
  join: () => Promise<string>;
@@ -167,7 +167,7 @@ export function createTextEvent<Role extends "user" | "assistant">(props: {
167
167
 
168
168
  export function createDescribeEvent<Model extends ILlmSchema.Model>(props: {
169
169
  executes: AgenticaExecuteHistory<Model>[];
170
- stream: ReadableStream<string>;
170
+ stream: AsyncGenerator<string, undefined, undefined>;
171
171
  done: () => boolean;
172
172
  get: () => string;
173
173
  join: () => Promise<string>;
@@ -216,7 +216,7 @@ export function createResponseEvent(props: {
216
216
  source: AgenticaEventSource;
217
217
  body: OpenAI.ChatCompletionCreateParamsStreaming;
218
218
  options?: OpenAI.RequestOptions | undefined;
219
- stream: ReadableStream<OpenAI.ChatCompletionChunk>;
219
+ stream: AsyncGenerator<OpenAI.ChatCompletionChunk, undefined, undefined>;
220
220
  join: () => Promise<OpenAI.ChatCompletion>;
221
221
  }): AgenticaResponseEvent {
222
222
  return {
@@ -1,8 +1,3 @@
1
- import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
- import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
3
- import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
4
- import { ListToolsResultSchema } from "@modelcontextprotocol/sdk/types.js";
5
-
6
1
  import type { IMcpLlmApplication, IMcpLlmTransportProps } from "../structures/mcp";
7
2
  /**
8
3
  * Create an MCP LLM application instance with type assertion.
@@ -18,6 +13,12 @@ import type { IMcpLlmApplication, IMcpLlmTransportProps } from "../structures/mc
18
13
  * @author Samchon
19
14
  */
20
15
  export async function assertMcpLlmApplication(props: IMcpLlmTransportProps): Promise<IMcpLlmApplication> {
16
+ // for peerDependencies
17
+ const { Client } = await import("@modelcontextprotocol/sdk/client/index.js");
18
+ const { SSEClientTransport } = await import("@modelcontextprotocol/sdk/client/sse.js");
19
+ const { StdioClientTransport } = await import("@modelcontextprotocol/sdk/client/stdio.js");
20
+ const { ListToolsResultSchema } = await import("@modelcontextprotocol/sdk/types.js");
21
+
21
22
  const client = new Client({
22
23
  name: "get_tool_list",
23
24
  version: "1.0.0",
@@ -31,7 +31,7 @@ import { createCallEvent, createExecuteEvent, createTextEvent, createValidateEve
31
31
  import { createCancelHistory, createExecuteHistory, createTextHistory, decodeHistory } from "../factory/histories";
32
32
  import { createOperationSelection } from "../factory/operations";
33
33
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
34
- import { StreamUtil } from "../utils/StreamUtil";
34
+ import { StreamUtil, toAsyncGenerator } from "../utils/StreamUtil";
35
35
 
36
36
  import { cancelFunction } from "./internal/cancelFunction";
37
37
 
@@ -186,7 +186,7 @@ export async function call<Model extends ILlmSchema.Model>(
186
186
  role: "assistant",
187
187
  get: () => value.text,
188
188
  done: () => true,
189
- stream: StreamUtil.to(value.text),
189
+ stream: toAsyncGenerator(value.text),
190
190
  join: async () => Promise.resolve(value.text),
191
191
  }),
192
192
  ).catch(() => {});
@@ -12,7 +12,7 @@ import { createDescribeEvent } from "../factory/events";
12
12
  import { createDescribeHistory, decodeHistory } from "../factory/histories";
13
13
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
14
14
  import { MPSC } from "../utils/MPSC";
15
- import { StreamUtil } from "../utils/StreamUtil";
15
+ import { streamDefaultReaderToAsyncGenerator, StreamUtil } from "../utils/StreamUtil";
16
16
 
17
17
  export async function describe<Model extends ILlmSchema.Model>(
18
18
  ctx: AgenticaContext<Model> | MicroAgenticaContext<Model>,
@@ -85,7 +85,7 @@ export async function describe<Model extends ILlmSchema.Model>(
85
85
  ctx.dispatch(
86
86
  createDescribeEvent({
87
87
  executes: histories,
88
- stream: mpsc.consumer,
88
+ stream: streamDefaultReaderToAsyncGenerator(mpsc.consumer.getReader()),
89
89
  done: () => mpsc.done(),
90
90
  get: () => describeContext[choice.index]?.content ?? "",
91
91
  join: async () => {
@@ -13,7 +13,7 @@ import { createTextEvent } from "../factory/events";
13
13
  import { createTextHistory, decodeHistory } from "../factory/histories";
14
14
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
15
15
  import { MPSC } from "../utils/MPSC";
16
- import { StreamUtil } from "../utils/StreamUtil";
16
+ import { streamDefaultReaderToAsyncGenerator, StreamUtil } from "../utils/StreamUtil";
17
17
 
18
18
  const FUNCTION: ILlmFunction<"chatgpt"> = typia.llm.application<
19
19
  __IChatInitialApplication,
@@ -109,7 +109,7 @@ export async function initialize<Model extends ILlmSchema.Model>(ctx: AgenticaCo
109
109
  ctx.dispatch(
110
110
  createTextEvent({
111
111
  role: "assistant",
112
- stream: mpsc.consumer,
112
+ stream: streamDefaultReaderToAsyncGenerator(mpsc.consumer.getReader()),
113
113
  done: () => mpsc.done(),
114
114
  get: () => textContext[choice.index]!.content,
115
115
  join: async () => {
@@ -22,7 +22,7 @@ import { createTextEvent } from "../factory/events";
22
22
  import { createSelectHistory, createTextHistory, decodeHistory } from "../factory/histories";
23
23
  import { createOperationSelection } from "../factory/operations";
24
24
  import { ChatGptCompletionMessageUtil } from "../utils/ChatGptCompletionMessageUtil";
25
- import { StreamUtil } from "../utils/StreamUtil";
25
+ import { StreamUtil, toAsyncGenerator } from "../utils/StreamUtil";
26
26
 
27
27
  import { selectFunction } from "./internal/selectFunction";
28
28
 
@@ -269,7 +269,7 @@ async function step<Model extends ILlmSchema.Model>(ctx: AgenticaContext<Model>,
269
269
  ctx.dispatch(
270
270
  createTextEvent({
271
271
  role: "assistant",
272
- stream: StreamUtil.to(text.text),
272
+ stream: toAsyncGenerator(text.text),
273
273
  join: async () => Promise.resolve(text.text),
274
274
  done: () => true,
275
275
  get: () => text.text,
@@ -14,7 +14,7 @@ import type { IAgenticaEventJson } from "../json/IAgenticaEventJson";
14
14
 
15
15
  import { createCallEvent, createCancelEvent, createDescribeEvent, createExecuteEvent, createInitializeEvent, createRequestEvent, createSelectEvent, createTextEvent } from "../factory/events";
16
16
  import { createOperationSelection } from "../factory/operations";
17
- import { StreamUtil } from "../utils/StreamUtil";
17
+ import { toAsyncGenerator } from "../utils/StreamUtil";
18
18
 
19
19
  function findOperation<Model extends ILlmSchema.Model>(props: {
20
20
  operations: Map<string, Map<string, AgenticaOperation<Model>>>;
@@ -124,7 +124,7 @@ function transformDescribe<Model extends ILlmSchema.Model>(props: {
124
124
  event: next,
125
125
  }),
126
126
  ),
127
- stream: StreamUtil.to(props.event.text),
127
+ stream: toAsyncGenerator(props.event.text),
128
128
  done: () => true,
129
129
  get: () => props.event.text,
130
130
  join: async () => props.event.text,
@@ -176,7 +176,7 @@ function transformText(props: {
176
176
  }): AgenticaTextEvent {
177
177
  return createTextEvent({
178
178
  role: props.event.role,
179
- stream: StreamUtil.to(props.event.text),
179
+ stream: toAsyncGenerator(props.event.text),
180
180
  done: () => true,
181
181
  get: () => props.event.text,
182
182
  join: async () => props.event.text,
@@ -19,14 +19,10 @@ async function readAll<T>(stream: ReadableStream<T>): Promise<T[]> {
19
19
 
20
20
  async function reduce<T, R = T>(stream: ReadableStream<T>, reducer: (acc: T | R, cur: T) => R, initial?: R): Promise<R | null> {
21
21
  const reader = stream.getReader();
22
-
22
+ const iterator = streamDefaultReaderToAsyncGenerator(reader);
23
23
  let acc = (initial ?? null) as R | null | T;
24
24
 
25
- while (true) {
26
- const { done, value } = await reader.read();
27
- if (done) {
28
- break;
29
- }
25
+ for await (const value of iterator) {
30
26
  if (acc === null) {
31
27
  acc = value;
32
28
  continue;
@@ -38,7 +34,7 @@ async function reduce<T, R = T>(stream: ReadableStream<T>, reducer: (acc: T | R,
38
34
  return acc as R;
39
35
  }
40
36
 
41
- function to<T>(value: T): ReadableStream<T> {
37
+ function from<T>(value: T): ReadableStream<T> {
42
38
  const stream = new ReadableStream<T>({
43
39
  start: (controller) => {
44
40
  controller.enqueue(value);
@@ -49,6 +45,20 @@ function to<T>(value: T): ReadableStream<T> {
49
45
  return stream;
50
46
  }
51
47
 
48
+ export async function* toAsyncGenerator<T>(value: T): AsyncGenerator<T, undefined, undefined> {
49
+ yield value;
50
+ }
51
+
52
+ export async function* streamDefaultReaderToAsyncGenerator<T>(reader: ReadableStreamDefaultReader<T>): AsyncGenerator<Awaited<T>, undefined, undefined> {
53
+ while (true) {
54
+ const { done, value } = await reader.read();
55
+ if (done) {
56
+ break;
57
+ }
58
+ yield value;
59
+ }
60
+ }
61
+
52
62
  function transform<T, R>(stream: ReadableStream<T>, transformer: (value: T) => R): ReadableStream<R> {
53
63
  const reader = stream.getReader();
54
64
 
@@ -68,6 +78,6 @@ function transform<T, R>(stream: ReadableStream<T>, transformer: (value: T) => R
68
78
  export const StreamUtil = {
69
79
  readAll,
70
80
  reduce,
71
- to,
81
+ from,
72
82
  transform,
73
83
  };