@agentica/core 0.38.0 → 0.40.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.
Files changed (67) hide show
  1. package/lib/Agentica.js +1 -1
  2. package/lib/Agentica.js.map +1 -1
  3. package/lib/MicroAgentica.js +1 -1
  4. package/lib/MicroAgentica.js.map +1 -1
  5. package/lib/context/AgenticaContext.d.ts +2 -1
  6. package/lib/context/AgenticaContextRequestResult.d.ts +12 -0
  7. package/lib/context/AgenticaContextRequestResult.js +3 -0
  8. package/lib/context/AgenticaContextRequestResult.js.map +1 -0
  9. package/lib/context/MicroAgenticaContext.d.ts +2 -1
  10. package/lib/errors/AgenticaJsonParseError.d.ts +17 -0
  11. package/lib/errors/AgenticaJsonParseError.js +33 -0
  12. package/lib/errors/AgenticaJsonParseError.js.map +1 -0
  13. package/lib/errors/AgenticaValidationError.d.ts +18 -0
  14. package/lib/errors/AgenticaValidationError.js +33 -0
  15. package/lib/errors/AgenticaValidationError.js.map +1 -0
  16. package/lib/errors/index.d.ts +2 -0
  17. package/lib/errors/index.js +19 -0
  18. package/lib/errors/index.js.map +1 -0
  19. package/lib/events/AgenticaRequestEvent.d.ts +1 -1
  20. package/lib/factory/events.d.ts +1 -1
  21. package/lib/index.d.ts +1 -0
  22. package/lib/index.js +1 -0
  23. package/lib/index.js.map +1 -1
  24. package/lib/index.mjs +139 -32
  25. package/lib/index.mjs.map +1 -1
  26. package/lib/orchestrate/call.js +20 -14
  27. package/lib/orchestrate/call.js.map +1 -1
  28. package/lib/orchestrate/cancel.js +7 -3
  29. package/lib/orchestrate/cancel.js.map +1 -1
  30. package/lib/orchestrate/describe.js +16 -3
  31. package/lib/orchestrate/describe.js.map +1 -1
  32. package/lib/orchestrate/initialize.js +15 -3
  33. package/lib/orchestrate/initialize.js.map +1 -1
  34. package/lib/orchestrate/select.js +17 -5
  35. package/lib/orchestrate/select.js.map +1 -1
  36. package/lib/structures/IAgenticaConfig.d.ts +2 -54
  37. package/lib/structures/IAgenticaConfigBase.d.ts +82 -0
  38. package/lib/structures/IAgenticaConfigBase.js +3 -0
  39. package/lib/structures/IAgenticaConfigBase.js.map +1 -0
  40. package/lib/structures/IMicroAgenticaConfig.d.ts +2 -54
  41. package/lib/utils/ChatGptCompletionMessageUtil.spec.js +3 -3
  42. package/lib/utils/ChatGptCompletionMessageUtil.spec.js.map +1 -1
  43. package/lib/utils/request.d.ts +3 -2
  44. package/lib/utils/request.js +18 -8
  45. package/lib/utils/request.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/Agentica.ts +2 -2
  48. package/src/MicroAgentica.ts +2 -2
  49. package/src/context/AgenticaContext.ts +2 -1
  50. package/src/context/AgenticaContextRequestResult.ts +14 -0
  51. package/src/context/MicroAgenticaContext.ts +2 -1
  52. package/src/errors/AgenticaJsonParseError.ts +47 -0
  53. package/src/errors/AgenticaValidationError.ts +49 -0
  54. package/src/errors/index.ts +2 -0
  55. package/src/events/AgenticaRequestEvent.ts +1 -1
  56. package/src/factory/events.ts +1 -1
  57. package/src/index.ts +1 -0
  58. package/src/orchestrate/call.ts +23 -14
  59. package/src/orchestrate/cancel.ts +7 -3
  60. package/src/orchestrate/describe.ts +16 -2
  61. package/src/orchestrate/initialize.ts +15 -2
  62. package/src/orchestrate/select.ts +15 -2
  63. package/src/structures/IAgenticaConfig.ts +2 -58
  64. package/src/structures/IAgenticaConfigBase.ts +87 -0
  65. package/src/structures/IMicroAgenticaConfig.ts +2 -58
  66. package/src/utils/ChatGptCompletionMessageUtil.spec.ts +3 -3
  67. package/src/utils/request.ts +21 -9
@@ -33,9 +33,9 @@ describe("chatGptCompletionMessageUtil", () => {
33
33
  expect(result).toEqual(chunk);
34
34
  });
35
35
  it("should handle invalid JSON", () => {
36
- expect(() => {
37
- ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.transformCompletionChunk("invalid json");
38
- }).toThrow();
36
+ const result = ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.transformCompletionChunk("invalid json");
37
+ // https://github.com/wrtnlabs/agentica/pull/464/files
38
+ expect(result).toEqual("invalid json");
39
39
  });
40
40
  });
41
41
  describe("accumulate", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatGptCompletionMessageUtil.spec.js","sourceRoot":"","sources":["../../src/utils/ChatGptCompletionMessageUtil.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatGptCompletionMessageUtil.spec.js","sourceRoot":"","sources":["../../src/utils/ChatGptCompletionMessageUtil.spec.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import type OpenAI from "openai";
2
+ import type { AgenticaContextRequestResult } from "../context/AgenticaContextRequestResult";
2
3
  import type { AgenticaTokenUsage } from "../context/AgenticaTokenUsage";
3
4
  import type { AgenticaEventSource, AgenticaRequestEvent, AgenticaResponseEvent } from "../events";
4
5
  import type { IAgenticaConfig, IAgenticaVendor, IMicroAgenticaConfig } from "../structures";
5
- export declare function getChatCompletionWithStreamingFunction(props: {
6
+ export declare function getChatCompletionFunction(props: {
6
7
  vendor: IAgenticaVendor;
7
8
  config?: IAgenticaConfig | IMicroAgenticaConfig;
8
9
  dispatch: (event: AgenticaRequestEvent | AgenticaResponseEvent) => Promise<void>;
9
10
  abortSignal?: AbortSignal;
10
11
  usage: AgenticaTokenUsage;
11
- }): (source: AgenticaEventSource, body: Omit<OpenAI.ChatCompletionCreateParamsStreaming, "model" | "stream">) => Promise<ReadableStream<OpenAI.Chat.Completions.ChatCompletionChunk>>;
12
+ }): (source: AgenticaEventSource, body: Omit<OpenAI.ChatCompletionCreateParamsStreaming | OpenAI.ChatCompletionCreateParamsNonStreaming, "model">) => Promise<AgenticaContextRequestResult>;
@@ -9,25 +9,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getChatCompletionWithStreamingFunction = getChatCompletionWithStreamingFunction;
12
+ exports.getChatCompletionFunction = getChatCompletionFunction;
13
13
  const uuid_1 = require("uuid");
14
14
  const AgenticaTokenUsageAggregator_1 = require("../context/internal/AgenticaTokenUsageAggregator");
15
15
  const factory_1 = require("../factory");
16
16
  const ChatGptCompletionMessageUtil_1 = require("./ChatGptCompletionMessageUtil");
17
17
  const StreamUtil_1 = require("./StreamUtil");
18
- function getChatCompletionWithStreamingFunction(props) {
18
+ function getChatCompletionFunction(props) {
19
19
  return (source, body) => __awaiter(this, void 0, void 0, function* () {
20
- var _a, _b;
20
+ var _a, _b, _c, _d;
21
+ const streamOptions = ((_a = props.config) === null || _a === void 0 ? void 0 : _a.stream) === true || ((_b = props.config) === null || _b === void 0 ? void 0 : _b.stream) === undefined
22
+ ? { stream: true, stream_options: { include_usage: true } }
23
+ : { stream: false };
21
24
  const event = (0, factory_1.createRequestEvent)({
22
25
  source,
23
- body: Object.assign(Object.assign({}, body), { model: props.vendor.model, stream: true, stream_options: {
24
- include_usage: true,
25
- } }),
26
+ body: Object.assign(Object.assign(Object.assign({}, body), { model: props.vendor.model }), streamOptions),
26
27
  options: Object.assign(Object.assign({}, props.vendor.options), { signal: props.abortSignal }),
27
28
  });
28
29
  yield props.dispatch(event);
29
30
  // completion
30
- const backoffStrategy = (_b = (_a = props.config) === null || _a === void 0 ? void 0 : _a.backoffStrategy) !== null && _b !== void 0 ? _b : ((props) => {
31
+ const backoffStrategy = (_d = (_c = props.config) === null || _c === void 0 ? void 0 : _c.backoffStrategy) !== null && _d !== void 0 ? _d : ((props) => {
31
32
  throw props.error;
32
33
  });
33
34
  const completion = yield (() => __awaiter(this, void 0, void 0, function* () {
@@ -43,6 +44,12 @@ function getChatCompletionWithStreamingFunction(props) {
43
44
  }
44
45
  }
45
46
  }))();
47
+ if ("toReadableStream" in completion === false) {
48
+ return {
49
+ type: "none-stream",
50
+ value: completion,
51
+ };
52
+ }
46
53
  const [streamForEvent, temporaryStream] = StreamUtil_1.StreamUtil.transform(completion.toReadableStream(), value => ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.transformCompletionChunk(value), props.abortSignal).tee();
47
54
  const [streamForAggregate, streamForReturn] = temporaryStream.tee();
48
55
  (() => __awaiter(this, void 0, void 0, function* () {
@@ -77,7 +84,10 @@ function getChatCompletionWithStreamingFunction(props) {
77
84
  }),
78
85
  created_at: new Date().toISOString(),
79
86
  }).catch(() => { });
80
- return streamForReturn;
87
+ return {
88
+ type: "stream",
89
+ value: streamForReturn,
90
+ };
81
91
  });
82
92
  }
83
93
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.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.38.0",
3
+ "version": "0.40.0",
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
@@ -20,7 +20,7 @@ import { createInitializeEvent, createUserMessageEvent } from "./factory/events"
20
20
  import { execute } from "./orchestrate/execute";
21
21
  import { transformHistory } from "./transformers/transformHistory";
22
22
  import { __map_take } from "./utils/__map_take";
23
- import { getChatCompletionWithStreamingFunction } from "./utils/request";
23
+ import { getChatCompletionFunction } from "./utils/request";
24
24
 
25
25
  /**
26
26
  * Agentica AI chatbot agent.
@@ -256,7 +256,7 @@ export class Agentica {
256
256
  dispatch: (event: AgenticaEvent) => Promise<void>;
257
257
  abortSignal?: AbortSignal;
258
258
  }): AgenticaContext {
259
- const request = getChatCompletionWithStreamingFunction({
259
+ const request = getChatCompletionFunction({
260
260
  vendor: this.props.vendor,
261
261
  config: this.props.config,
262
262
  dispatch: props.dispatch,
@@ -20,7 +20,7 @@ import { call, describe } from "./orchestrate";
20
20
  import { transformHistory } from "./transformers/transformHistory";
21
21
  import { __map_take } from "./utils/__map_take";
22
22
  import { assertExecuteFailure } from "./utils/assertExecuteFailure";
23
- import { getChatCompletionWithStreamingFunction } from "./utils/request";
23
+ import { getChatCompletionFunction } from "./utils/request";
24
24
 
25
25
  /**
26
26
  * Micro AI chatbot.
@@ -258,7 +258,7 @@ export class MicroAgentica {
258
258
  dispatch: (event: MicroAgenticaEvent) => Promise<void>;
259
259
  abortSignal?: AbortSignal;
260
260
  }): MicroAgenticaContext {
261
- const request = getChatCompletionWithStreamingFunction({
261
+ const request = getChatCompletionFunction({
262
262
  vendor: this.props.vendor,
263
263
  config: this.props.config,
264
264
  dispatch: props.dispatch,
@@ -6,6 +6,7 @@ import type { AgenticaHistory } from "../histories/AgenticaHistory";
6
6
  import type { AgenticaUserMessageHistory } from "../histories/AgenticaUserMessageHistory";
7
7
  import type { IAgenticaConfig } from "../structures/IAgenticaConfig";
8
8
 
9
+ import type { AgenticaContextRequestResult } from "./AgenticaContextRequestResult";
9
10
  import type { AgenticaOperationCollection } from "./AgenticaOperationCollection";
10
11
  import type { AgenticaOperationSelection } from "./AgenticaOperationSelection";
11
12
 
@@ -126,7 +127,7 @@ export interface AgenticaContext {
126
127
  request: (
127
128
  source: AgenticaEventSource,
128
129
  body: Omit<OpenAI.ChatCompletionCreateParamsStreaming, "model" | "stream">,
129
- ) => Promise<ReadableStream<OpenAI.Chat.Completions.ChatCompletionChunk>>;
130
+ ) => Promise<AgenticaContextRequestResult>;
130
131
 
131
132
  /**
132
133
  * Initialize the agent.
@@ -0,0 +1,14 @@
1
+ import type OpenAI from "openai";
2
+
3
+ export type AgenticaContextRequestResult = AgenticaContextRequestResult.Stream | AgenticaContextRequestResult.NoneStream;
4
+
5
+ export namespace AgenticaContextRequestResult {
6
+ export interface Stream {
7
+ type: "stream";
8
+ value: ReadableStream<OpenAI.Chat.Completions.ChatCompletionChunk>;
9
+ }
10
+ export interface NoneStream {
11
+ type: "none-stream";
12
+ value: OpenAI.ChatCompletion;
13
+ }
14
+ }
@@ -5,6 +5,7 @@ import type { AgenticaUserMessageHistory } from "../histories/AgenticaUserMessag
5
5
  import type { MicroAgenticaHistory } from "../histories/MicroAgenticaHistory";
6
6
  import type { IMicroAgenticaConfig } from "../structures/IMicroAgenticaConfig";
7
7
 
8
+ import type { AgenticaContextRequestResult } from "./AgenticaContextRequestResult";
8
9
  import type { AgenticaOperationCollection } from "./AgenticaOperationCollection";
9
10
 
10
11
  /**
@@ -94,5 +95,5 @@ export interface MicroAgenticaContext {
94
95
  request: (
95
96
  source: MicroAgenticaEvent.Source,
96
97
  body: Omit<OpenAI.ChatCompletionCreateParamsStreaming, "model" | "stream">,
97
- ) => Promise<ReadableStream<OpenAI.Chat.Completions.ChatCompletionChunk>>;
98
+ ) => Promise<AgenticaContextRequestResult>;
98
99
  }
@@ -0,0 +1,47 @@
1
+ import { AgenticaConstant } from "../constants/AgenticaConstant";
2
+
3
+ export class AgenticaJsonParseError extends Error {
4
+ public readonly arguments: string;
5
+ public readonly reason: string;
6
+
7
+ public constructor(props: AgenticaJsonParseError.IProps) {
8
+ super(`Invalid JSON format. The parsing failed after ${AgenticaConstant.RETRY} retries.`);
9
+
10
+ const proto = new.target.prototype;
11
+
12
+ // eslint-disable-next-line
13
+ if (Object.setPrototypeOf) {
14
+ Object.setPrototypeOf(this, proto);
15
+ }
16
+ else {
17
+ // eslint-disable-next-line
18
+ (this as any).__proto__ = proto;
19
+ }
20
+
21
+ this.arguments = props.arguments;
22
+ this.reason = props.reason;
23
+ }
24
+
25
+ public get name(): "AgenticaJsonParseError" {
26
+ return "AgenticaJsonParseError";
27
+ }
28
+
29
+ public toJSON(): AgenticaJsonParseError.IJson {
30
+ return {
31
+ name: "AgenticaJsonParseError",
32
+ message: this.message,
33
+ arguments: this.arguments,
34
+ reason: this.reason,
35
+ };
36
+ }
37
+ }
38
+ export namespace AgenticaJsonParseError {
39
+ export interface IProps {
40
+ arguments: string;
41
+ reason: string;
42
+ }
43
+ export interface IJson extends IProps {
44
+ name: "AgenticaJsonParseError";
45
+ message: string;
46
+ }
47
+ }
@@ -0,0 +1,49 @@
1
+ import type { IValidation } from "@samchon/openapi";
2
+
3
+ import { AgenticaConstant } from "../constants/AgenticaConstant";
4
+
5
+ export class AgenticaValidationError extends Error {
6
+ public readonly arguments: unknown;
7
+ public readonly errors: IValidation.IError[];
8
+
9
+ public constructor(props: AgenticaValidationError.IProps) {
10
+ super(`Invalid arguments. The validation failed after ${AgenticaConstant.RETRY} retries.`);
11
+
12
+ const proto = new.target.prototype;
13
+
14
+ // eslint-disable-next-line
15
+ if (Object.setPrototypeOf) {
16
+ Object.setPrototypeOf(this, proto);
17
+ }
18
+ else {
19
+ // eslint-disable-next-line
20
+ (this as any).__proto__ = proto;
21
+ }
22
+
23
+ this.arguments = props.arguments;
24
+ this.errors = props.errors;
25
+ }
26
+
27
+ public get name(): "AgenticaValidationError" {
28
+ return "AgenticaValidationError";
29
+ }
30
+
31
+ public toJSON(): AgenticaValidationError.IJson {
32
+ return {
33
+ name: "AgenticaValidationError",
34
+ message: this.message,
35
+ arguments: this.arguments,
36
+ errors: this.errors,
37
+ };
38
+ }
39
+ }
40
+ export namespace AgenticaValidationError {
41
+ export interface IProps {
42
+ arguments: unknown;
43
+ errors: IValidation.IError[];
44
+ }
45
+ export interface IJson extends IProps {
46
+ name: "AgenticaValidationError";
47
+ message: string;
48
+ }
49
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./AgenticaJsonParseError";
2
+ export * from "./AgenticaValidationError";
@@ -5,6 +5,6 @@ import type { AgenticaEventSource } from "./AgenticaEventSource";
5
5
 
6
6
  export interface AgenticaRequestEvent extends AgenticaEventBase<"request"> {
7
7
  source: AgenticaEventSource;
8
- body: OpenAI.ChatCompletionCreateParamsStreaming;
8
+ body: OpenAI.ChatCompletionCreateParamsStreaming | OpenAI.ChatCompletionCreateParamsNonStreaming;
9
9
  options?: OpenAI.RequestOptions | undefined;
10
10
  }
@@ -310,7 +310,7 @@ export function createDescribeEvent(props: {
310
310
  ----------------------------------------------------------- */
311
311
  export function createRequestEvent(props: {
312
312
  source: AgenticaEventSource;
313
- body: OpenAI.ChatCompletionCreateParamsStreaming;
313
+ body: OpenAI.ChatCompletionCreateParamsStreaming | OpenAI.ChatCompletionCreateParamsNonStreaming;
314
314
  options?: OpenAI.RequestOptions | undefined;
315
315
  }): AgenticaRequestEvent {
316
316
  const id: string = v4();
package/src/index.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./Agentica";
2
2
 
3
3
  export * from "./constants";
4
4
  export * from "./context";
5
+ export * from "./errors";
5
6
  export * from "./events";
6
7
  export * as factory from "./factory";
7
8
  export * from "./functional";
@@ -20,6 +20,8 @@ import { AgenticaConstant } from "../constants/AgenticaConstant";
20
20
  import { AgenticaDefaultPrompt } from "../constants/AgenticaDefaultPrompt";
21
21
  import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
22
22
  import { isAgenticaContext } from "../context/internal/isAgenticaContext";
23
+ import { AgenticaJsonParseError } from "../errors/AgenticaJsonParseError";
24
+ import { AgenticaValidationError } from "../errors/AgenticaValidationError";
23
25
  import { createAssistantMessageEvent, createCallEvent, createExecuteEvent, createJsonParseErrorEvent, createValidateEvent } from "../factory/events";
24
26
  import { decodeHistory, decodeUserMessageContent } from "../factory/histories";
25
27
  import { __get_retry } from "../utils/__retry";
@@ -46,7 +48,7 @@ export async function call(
46
48
  };
47
49
 
48
50
  const completion = await retryFn(async (prevError) => {
49
- const stream: ReadableStream<OpenAI.ChatCompletionChunk> = await ctx.request("call", {
51
+ const result = await ctx.request("call", {
50
52
  messages: [
51
53
  // COMMON SYSTEM PROMPT
52
54
  {
@@ -104,7 +106,11 @@ export async function call(
104
106
  // parallel_tool_calls: false,
105
107
  });
106
108
 
107
- const completion = await reduceStreamingWithDispatch(stream, (props) => {
109
+ if (result.type === "none-stream") {
110
+ return result.value;
111
+ }
112
+
113
+ const completion = await reduceStreamingWithDispatch(result.value, (props) => {
108
114
  const event: AgenticaAssistantMessageEvent = createAssistantMessageEvent(props);
109
115
  void ctx.dispatch(event).catch(() => {});
110
116
  });
@@ -223,11 +229,10 @@ async function correctTypeError(
223
229
  call_id: callEvent.id,
224
230
  operation: callEvent.operation,
225
231
  arguments: callEvent.arguments,
226
- value: {
227
- name: "ValidationError",
228
- message: `Invalid arguments. The validation failed after ${AgenticaConstant.RETRY} retries.`,
232
+ value: new AgenticaValidationError({
233
+ arguments: callEvent.arguments,
229
234
  errors: validateEvent.result.errors,
230
- },
235
+ }),
231
236
  success: false,
232
237
  }),
233
238
  operation: callEvent.operation,
@@ -283,12 +288,10 @@ async function correctJsonError(
283
288
  call_id: toolCall.id,
284
289
  operation: parseErrorEvent.operation,
285
290
  arguments: {},
286
- value: {
287
- name: "JsonParseError",
288
- message: `Invalid JSON format. The parsing failed after ${AgenticaConstant.RETRY} retries.`,
291
+ value: new AgenticaJsonParseError({
289
292
  arguments: parseErrorEvent.arguments,
290
- errorMessage: parseErrorEvent.errorMessage,
291
- },
293
+ reason: parseErrorEvent.errorMessage,
294
+ }),
292
295
  success: false,
293
296
  }),
294
297
  operation: parseErrorEvent.operation,
@@ -350,7 +353,7 @@ async function correctError(
350
353
  return props.giveUp();
351
354
  }
352
355
 
353
- const stream: ReadableStream<OpenAI.ChatCompletionChunk> = await ctx.request("call", {
356
+ const result = await ctx.request("call", {
354
357
  messages: [
355
358
  // COMMON SYSTEM PROMPT
356
359
  {
@@ -424,8 +427,14 @@ async function correctError(
424
427
  tool_choice: "required",
425
428
  // parallel_tool_calls: false,
426
429
  });
427
- const chunks: OpenAI.ChatCompletionChunk[] = await StreamUtil.readAll(stream);
428
- const completion: OpenAI.ChatCompletion = ChatGptCompletionMessageUtil.merge(chunks);
430
+
431
+ const completion = await (async () => {
432
+ if (result.type === "none-stream") {
433
+ return result.value;
434
+ }
435
+ return ChatGptCompletionMessageUtil.merge(await StreamUtil.readAll(result.value));
436
+ })();
437
+
429
438
  const toolCall: OpenAI.ChatCompletionMessageFunctionToolCall | undefined = completion.choices[0]?.message.tool_calls?.filter(
430
439
  tc => tc.type === "function",
431
440
  ).find(
@@ -95,7 +95,7 @@ async function step(
95
95
  // ----
96
96
  // EXECUTE CHATGPT API
97
97
  // ----
98
- const completionStream = await ctx.request("cancel", {
98
+ const result = await ctx.request("cancel", {
99
99
  messages: [
100
100
  // COMMON SYSTEM PROMPT
101
101
  {
@@ -171,8 +171,12 @@ async function step(
171
171
  // parallel_tool_calls: true,
172
172
  });
173
173
 
174
- const chunks = await StreamUtil.readAll(completionStream, ctx.abortSignal);
175
- const completion = ChatGptCompletionMessageUtil.merge(chunks);
174
+ const completion = await (async () => {
175
+ if (result.type === "none-stream") {
176
+ return result.value;
177
+ }
178
+ return ChatGptCompletionMessageUtil.merge(await StreamUtil.readAll(result.value));
179
+ })();
176
180
 
177
181
  // ----
178
182
  // VALIDATION
@@ -10,6 +10,7 @@ import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
10
10
  import { createDescribeEvent } from "../factory/events";
11
11
  import { decodeHistory } from "../factory/histories";
12
12
  import { reduceStreamingWithDispatch } from "../utils/ChatGptCompletionStreamingUtil";
13
+ import { toAsyncGenerator } from "../utils/StreamUtil";
13
14
 
14
15
  export async function describe(
15
16
  ctx: AgenticaContext | MicroAgenticaContext,
@@ -19,7 +20,7 @@ export async function describe(
19
20
  return;
20
21
  }
21
22
 
22
- const completionStream = await ctx.request("describe", {
23
+ const result = await ctx.request("describe", {
23
24
  messages: [
24
25
  // COMMON SYSTEM PROMPT
25
26
  {
@@ -38,7 +39,20 @@ export async function describe(
38
39
  ],
39
40
  });
40
41
 
41
- await reduceStreamingWithDispatch(completionStream, (props) => {
42
+ if (result.type === "none-stream") {
43
+ const message = result.value.choices[0]?.message.content ?? "";
44
+ const event: AgenticaDescribeEvent = createDescribeEvent({
45
+ executes: histories,
46
+ stream: toAsyncGenerator(message),
47
+ done: () => true,
48
+ get: () => message,
49
+ join: async () => message,
50
+ });
51
+ void ctx.dispatch(event).catch(() => {});
52
+ return;
53
+ }
54
+
55
+ await reduceStreamingWithDispatch(result.value, (props) => {
42
56
  const event: AgenticaDescribeEvent = createDescribeEvent({
43
57
  executes: histories,
44
58
  ...props,
@@ -12,6 +12,7 @@ import { AgenticaSystemPrompt } from "../constants/AgenticaSystemPrompt";
12
12
  import { createAssistantMessageEvent } from "../factory/events";
13
13
  import { decodeHistory, decodeUserMessageContent } from "../factory/histories";
14
14
  import { reduceStreamingWithDispatch } from "../utils/ChatGptCompletionStreamingUtil";
15
+ import { toAsyncGenerator } from "../utils/StreamUtil";
15
16
 
16
17
  const FUNCTION: ILlmFunction = typia.llm.application<
17
18
  __IChatInitialApplication
@@ -21,7 +22,7 @@ export async function initialize(ctx: AgenticaContext): Promise<void> {
21
22
  // ----
22
23
  // EXECUTE CHATGPT API
23
24
  // ----
24
- const completionStream = await ctx.request("initialize", {
25
+ const result = await ctx.request("initialize", {
25
26
  messages: [
26
27
  // COMMON SYSTEM PROMPT
27
28
  {
@@ -62,7 +63,19 @@ export async function initialize(ctx: AgenticaContext): Promise<void> {
62
63
  // parallel_tool_calls: false,
63
64
  });
64
65
 
65
- const completion = await reduceStreamingWithDispatch(completionStream, (props) => {
66
+ if (result.type === "none-stream") {
67
+ const message = result.value.choices[0]?.message.content ?? "";
68
+ const event = createAssistantMessageEvent({
69
+ stream: toAsyncGenerator(message),
70
+ done: () => true,
71
+ get: () => message,
72
+ join: async () => message,
73
+ });
74
+ void ctx.dispatch(event).catch(() => {});
75
+ return;
76
+ }
77
+
78
+ const completion = await reduceStreamingWithDispatch(result.value, (props) => {
66
79
  const event: AgenticaAssistantMessageEvent = createAssistantMessageEvent(props);
67
80
  void ctx.dispatch(event).catch(() => {});
68
81
  }, ctx.abortSignal);
@@ -108,7 +108,7 @@ async function step(
108
108
  // EXECUTE CHATGPT API
109
109
  // ----
110
110
  const completion = await retryFn(async (prevError) => {
111
- const stream = await ctx.request("select", {
111
+ const result = await ctx.request("select", {
112
112
  messages: [
113
113
  // COMMON SYSTEM PROMPT
114
114
  {
@@ -191,7 +191,20 @@ async function step(
191
191
  // parallel_tool_calls: false,
192
192
  });
193
193
 
194
- const completion = await reduceStreamingWithDispatch(stream, (props) => {
194
+ if (result.type === "none-stream") {
195
+ const completion = result.value;
196
+ const allAssistantMessagesEmpty = completion.choices.every(v => v.message.tool_calls == null && v.message.content === "");
197
+ if (allAssistantMessagesEmpty) {
198
+ const firstChoice = completion.choices.at(0);
199
+ if ((firstChoice?.message as { reasoning?: string })?.reasoning != null) {
200
+ throw new AssistantMessageEmptyWithReasoningError((firstChoice?.message as { reasoning?: string })?.reasoning ?? "");
201
+ }
202
+ throw new AssistantMessageEmptyError();
203
+ }
204
+ return completion;
205
+ }
206
+
207
+ const completion = await reduceStreamingWithDispatch(result.value, (props) => {
195
208
  const event: AgenticaAssistantMessageEvent = createAssistantMessageEvent(props);
196
209
  void ctx.dispatch(event).catch(() => {});
197
210
  }, ctx.abortSignal);