@agentica/core 0.16.9 → 0.17.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.
- package/lib/Agentica.js +2 -2
- package/lib/Agentica.js.map +1 -1
- package/lib/MicroAgentica.js +2 -2
- package/lib/MicroAgentica.js.map +1 -1
- package/lib/events/AgenticaDescribeEvent.d.ts +1 -1
- package/lib/events/AgenticaResponseEvent.d.ts +1 -1
- package/lib/events/AgenticaTextEvent.d.ts +1 -1
- package/lib/factory/events.d.ts +3 -3
- package/lib/index.mjs +29 -16
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/call.js +1 -1
- package/lib/orchestrate/call.js.map +1 -1
- package/lib/orchestrate/describe.js +1 -1
- package/lib/orchestrate/describe.js.map +1 -1
- package/lib/orchestrate/initialize.js +1 -1
- package/lib/orchestrate/initialize.js.map +1 -1
- package/lib/orchestrate/select.js +1 -1
- package/lib/orchestrate/select.js.map +1 -1
- package/lib/transformers/AgenticaEventTransformer.js +2 -2
- package/lib/transformers/AgenticaEventTransformer.js.map +1 -1
- package/lib/utils/StreamUtil.d.ts +4 -2
- package/lib/utils/StreamUtil.js +58 -10
- package/lib/utils/StreamUtil.js.map +1 -1
- package/package.json +1 -1
- package/src/Agentica.ts +3 -3
- package/src/MicroAgentica.ts +3 -3
- package/src/events/AgenticaDescribeEvent.ts +1 -1
- package/src/events/AgenticaResponseEvent.ts +1 -1
- package/src/events/AgenticaTextEvent.ts +1 -1
- package/src/factory/events.ts +3 -3
- package/src/orchestrate/call.ts +2 -2
- package/src/orchestrate/describe.ts +2 -2
- package/src/orchestrate/initialize.ts +2 -2
- package/src/orchestrate/select.ts +2 -2
- package/src/transformers/AgenticaEventTransformer.ts +3 -3
- 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.
|
|
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.
|
|
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":";;;;;;;;;;;;AAoGA,0CAaC;AAnGD,8CAA+L;AAC/L,sDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"AgenticaEventTransformer.js","sourceRoot":"","sources":["../../src/transformers/AgenticaEventTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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
|
-
|
|
15
|
+
from: typeof from;
|
|
14
16
|
transform: typeof transform;
|
|
15
17
|
};
|
|
16
18
|
export {};
|
package/lib/utils/StreamUtil.js
CHANGED
|
@@ -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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
77
|
+
finally { if (e_1) throw e_1.error; }
|
|
46
78
|
}
|
|
47
79
|
return acc;
|
|
48
80
|
});
|
|
49
81
|
}
|
|
50
|
-
function
|
|
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
|
-
|
|
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":"
|
|
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
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:
|
|
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 () => {
|
package/src/MicroAgentica.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
10
|
+
stream: AsyncGenerator<string, undefined, undefined>;
|
|
11
11
|
join: () => Promise<string>;
|
|
12
12
|
toJSON: () => IAgenticaEventJson.IText;
|
|
13
13
|
toHistory: () => AgenticaTextHistory;
|
package/src/factory/events.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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:
|
|
219
|
+
stream: AsyncGenerator<OpenAI.ChatCompletionChunk, undefined, undefined>;
|
|
220
220
|
join: () => Promise<OpenAI.ChatCompletion>;
|
|
221
221
|
}): AgenticaResponseEvent {
|
|
222
222
|
return {
|
package/src/orchestrate/call.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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 {
|
|
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:
|
|
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:
|
|
179
|
+
stream: toAsyncGenerator(props.event.text),
|
|
180
180
|
done: () => true,
|
|
181
181
|
get: () => props.event.text,
|
|
182
182
|
join: async () => props.event.text,
|
package/src/utils/StreamUtil.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
-
|
|
81
|
+
from,
|
|
72
82
|
transform,
|
|
73
83
|
};
|