@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.
- package/lib/Agentica.js +1 -1
- package/lib/Agentica.js.map +1 -1
- package/lib/MicroAgentica.js +1 -1
- package/lib/MicroAgentica.js.map +1 -1
- package/lib/context/AgenticaContext.d.ts +2 -1
- package/lib/context/AgenticaContextRequestResult.d.ts +12 -0
- package/lib/context/AgenticaContextRequestResult.js +3 -0
- package/lib/context/AgenticaContextRequestResult.js.map +1 -0
- package/lib/context/MicroAgenticaContext.d.ts +2 -1
- package/lib/errors/AgenticaJsonParseError.d.ts +17 -0
- package/lib/errors/AgenticaJsonParseError.js +33 -0
- package/lib/errors/AgenticaJsonParseError.js.map +1 -0
- package/lib/errors/AgenticaValidationError.d.ts +18 -0
- package/lib/errors/AgenticaValidationError.js +33 -0
- package/lib/errors/AgenticaValidationError.js.map +1 -0
- package/lib/errors/index.d.ts +2 -0
- package/lib/errors/index.js +19 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/events/AgenticaRequestEvent.d.ts +1 -1
- package/lib/factory/events.d.ts +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +139 -32
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/call.js +20 -14
- package/lib/orchestrate/call.js.map +1 -1
- package/lib/orchestrate/cancel.js +7 -3
- package/lib/orchestrate/cancel.js.map +1 -1
- package/lib/orchestrate/describe.js +16 -3
- package/lib/orchestrate/describe.js.map +1 -1
- package/lib/orchestrate/initialize.js +15 -3
- package/lib/orchestrate/initialize.js.map +1 -1
- package/lib/orchestrate/select.js +17 -5
- package/lib/orchestrate/select.js.map +1 -1
- package/lib/structures/IAgenticaConfig.d.ts +2 -54
- package/lib/structures/IAgenticaConfigBase.d.ts +82 -0
- package/lib/structures/IAgenticaConfigBase.js +3 -0
- package/lib/structures/IAgenticaConfigBase.js.map +1 -0
- package/lib/structures/IMicroAgenticaConfig.d.ts +2 -54
- package/lib/utils/ChatGptCompletionMessageUtil.spec.js +3 -3
- package/lib/utils/ChatGptCompletionMessageUtil.spec.js.map +1 -1
- package/lib/utils/request.d.ts +3 -2
- package/lib/utils/request.js +18 -8
- package/lib/utils/request.js.map +1 -1
- package/package.json +1 -1
- package/src/Agentica.ts +2 -2
- package/src/MicroAgentica.ts +2 -2
- package/src/context/AgenticaContext.ts +2 -1
- package/src/context/AgenticaContextRequestResult.ts +14 -0
- package/src/context/MicroAgenticaContext.ts +2 -1
- package/src/errors/AgenticaJsonParseError.ts +47 -0
- package/src/errors/AgenticaValidationError.ts +49 -0
- package/src/errors/index.ts +2 -0
- package/src/events/AgenticaRequestEvent.ts +1 -1
- package/src/factory/events.ts +1 -1
- package/src/index.ts +1 -0
- package/src/orchestrate/call.ts +23 -14
- package/src/orchestrate/cancel.ts +7 -3
- package/src/orchestrate/describe.ts +16 -2
- package/src/orchestrate/initialize.ts +15 -2
- package/src/orchestrate/select.ts +15 -2
- package/src/structures/IAgenticaConfig.ts +2 -58
- package/src/structures/IAgenticaConfigBase.ts +87 -0
- package/src/structures/IMicroAgenticaConfig.ts +2 -58
- package/src/utils/ChatGptCompletionMessageUtil.spec.ts +3 -3
- 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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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":";;AAMA,iFAA8E;AAE9E,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,KAAK,GAAG;gBACZ,EAAE,EAAE,SAAS;gBACb,OAAO,EAAE,CAAC;wBACR,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;qBAC5B,CAAC;gBACF,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,uBAAuB;aAChC,CAAC;YAEF,MAAM,MAAM,GAAG,2DAA4B,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,KAAK,GAAG;gBACZ,EAAE,EAAE,SAAS;gBACb,OAAO,EAAE,CAAC;wBACR,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;qBAC5B,CAAC;gBACF,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,uBAAuB;aAChC,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,2DAA4B,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;YACjF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,
|
|
1
|
+
{"version":3,"file":"ChatGptCompletionMessageUtil.spec.js","sourceRoot":"","sources":["../../src/utils/ChatGptCompletionMessageUtil.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/request.d.ts
CHANGED
|
@@ -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
|
|
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"
|
|
12
|
+
}): (source: AgenticaEventSource, body: Omit<OpenAI.ChatCompletionCreateParamsStreaming | OpenAI.ChatCompletionCreateParamsNonStreaming, "model">) => Promise<AgenticaContextRequestResult>;
|
package/lib/utils/request.js
CHANGED
|
@@ -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.
|
|
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
|
|
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,
|
|
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 = (
|
|
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
|
|
87
|
+
return {
|
|
88
|
+
type: "stream",
|
|
89
|
+
value: streamForReturn,
|
|
90
|
+
};
|
|
81
91
|
});
|
|
82
92
|
}
|
|
83
93
|
//# sourceMappingURL=request.js.map
|
package/lib/utils/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
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 {
|
|
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 =
|
|
259
|
+
const request = getChatCompletionFunction({
|
|
260
260
|
vendor: this.props.vendor,
|
|
261
261
|
config: this.props.config,
|
|
262
262
|
dispatch: props.dispatch,
|
package/src/MicroAgentica.ts
CHANGED
|
@@ -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 {
|
|
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 =
|
|
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<
|
|
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<
|
|
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
|
+
}
|
|
@@ -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
|
}
|
package/src/factory/events.ts
CHANGED
|
@@ -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
package/src/orchestrate/call.ts
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
428
|
-
const completion
|
|
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
|
|
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
|
|
175
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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);
|