@agentica/core 0.39.0 → 0.41.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/events/AgenticaRequestEvent.d.ts +11 -4
- package/lib/events/AgenticaResponseEvent.d.ts +14 -22
- package/lib/factory/events.d.ts +7 -5
- package/lib/factory/events.js +3 -1
- package/lib/factory/events.js.map +1 -1
- package/lib/index.mjs +107 -24
- package/lib/index.mjs.map +1 -1
- package/lib/orchestrate/call.js +12 -5
- 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 +40 -9
- package/lib/utils/request.js.map +1 -1
- package/package.json +5 -5
- 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/events/AgenticaRequestEvent.ts +21 -4
- package/src/events/AgenticaResponseEvent.ts +24 -25
- package/src/factory/events.ts +18 -8
- package/src/orchestrate/call.ts +15 -5
- 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 +43 -10
|
@@ -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,27 @@ 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
|
-
|
|
24
|
-
|
|
25
|
-
} }),
|
|
26
|
+
stream: streamOptions.stream,
|
|
27
|
+
body: Object.assign(Object.assign(Object.assign({}, body), { model: props.vendor.model }), streamOptions),
|
|
26
28
|
options: Object.assign(Object.assign({}, props.vendor.options), { signal: props.abortSignal }),
|
|
27
29
|
});
|
|
28
30
|
yield props.dispatch(event);
|
|
29
31
|
// completion
|
|
30
|
-
const backoffStrategy = (
|
|
32
|
+
const backoffStrategy = (_d = (_c = props.config) === null || _c === void 0 ? void 0 : _c.backoffStrategy) !== null && _d !== void 0 ? _d : ((props) => {
|
|
31
33
|
throw props.error;
|
|
32
34
|
});
|
|
33
35
|
const completion = yield (() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -43,6 +45,31 @@ function getChatCompletionWithStreamingFunction(props) {
|
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
}))();
|
|
48
|
+
if ("toReadableStream" in completion === false) {
|
|
49
|
+
if (completion.usage != null) {
|
|
50
|
+
AgenticaTokenUsageAggregator_1.AgenticaTokenUsageAggregator.aggregate({
|
|
51
|
+
kind: source,
|
|
52
|
+
completionUsage: completion.usage,
|
|
53
|
+
usage: props.usage,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
void props.dispatch({
|
|
57
|
+
id: (0, uuid_1.v4)(),
|
|
58
|
+
type: "response",
|
|
59
|
+
request_id: event.id,
|
|
60
|
+
source,
|
|
61
|
+
stream: false,
|
|
62
|
+
body: event.body,
|
|
63
|
+
completion,
|
|
64
|
+
options: event.options,
|
|
65
|
+
join: () => __awaiter(this, void 0, void 0, function* () { return completion; }),
|
|
66
|
+
created_at: new Date().toISOString(),
|
|
67
|
+
}).catch(() => { });
|
|
68
|
+
return {
|
|
69
|
+
type: "none-stream",
|
|
70
|
+
value: completion,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
46
73
|
const [streamForEvent, temporaryStream] = StreamUtil_1.StreamUtil.transform(completion.toReadableStream(), value => ChatGptCompletionMessageUtil_1.ChatGptCompletionMessageUtil.transformCompletionChunk(value), props.abortSignal).tee();
|
|
47
74
|
const [streamForAggregate, streamForReturn] = temporaryStream.tee();
|
|
48
75
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -68,8 +95,9 @@ function getChatCompletionWithStreamingFunction(props) {
|
|
|
68
95
|
type: "response",
|
|
69
96
|
request_id: event.id,
|
|
70
97
|
source,
|
|
71
|
-
stream:
|
|
98
|
+
stream: true,
|
|
72
99
|
body: event.body,
|
|
100
|
+
completion: (0, StreamUtil_1.streamDefaultReaderToAsyncGenerator)(streamForStream.getReader(), props.abortSignal),
|
|
73
101
|
options: event.options,
|
|
74
102
|
join: () => __awaiter(this, void 0, void 0, function* () {
|
|
75
103
|
const chunks = yield StreamUtil_1.StreamUtil.readAll(streamForJoin, props.abortSignal);
|
|
@@ -77,7 +105,10 @@ function getChatCompletionWithStreamingFunction(props) {
|
|
|
77
105
|
}),
|
|
78
106
|
created_at: new Date().toISOString(),
|
|
79
107
|
}).catch(() => { });
|
|
80
|
-
return
|
|
108
|
+
return {
|
|
109
|
+
type: "stream",
|
|
110
|
+
value: streamForReturn,
|
|
111
|
+
};
|
|
81
112
|
});
|
|
82
113
|
}
|
|
83
114
|
//# 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentica/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"description": "Agentic AI Library specialized in LLM Function Calling",
|
|
5
5
|
"author": "Wrtn Technologies",
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
40
|
-
"@samchon/openapi": "^6.0.
|
|
40
|
+
"@samchon/openapi": "^6.0.1",
|
|
41
41
|
"openai": "^6.15.0",
|
|
42
|
-
"typia": "^11.0.
|
|
42
|
+
"typia": "^11.0.3"
|
|
43
43
|
},
|
|
44
44
|
"peerDependenciesMeta": {
|
|
45
45
|
"@modelcontextprotocol/sdk": {
|
|
@@ -47,11 +47,11 @@
|
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@samchon/openapi": "^6.0.
|
|
50
|
+
"@samchon/openapi": "^6.0.1",
|
|
51
51
|
"es-jsonkit": "^0.1.6",
|
|
52
52
|
"jsonrepair": "^3.13.1",
|
|
53
53
|
"tstl": "^3.0.0",
|
|
54
|
-
"typia": "^11.0.
|
|
54
|
+
"typia": "^11.0.3",
|
|
55
55
|
"uuid": "^13.0.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
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
|
}
|
|
@@ -3,8 +3,25 @@ import type OpenAI from "openai";
|
|
|
3
3
|
import type { AgenticaEventBase } from "./AgenticaEventBase";
|
|
4
4
|
import type { AgenticaEventSource } from "./AgenticaEventSource";
|
|
5
5
|
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
export type AgenticaRequestEvent =
|
|
7
|
+
| AgenticaRequestEvent.Streaming
|
|
8
|
+
| AgenticaRequestEvent.NonStreaming;
|
|
9
|
+
export namespace AgenticaRequestEvent {
|
|
10
|
+
export type Streaming = Base<
|
|
11
|
+
true,
|
|
12
|
+
OpenAI.ChatCompletionCreateParamsStreaming
|
|
13
|
+
>;
|
|
14
|
+
|
|
15
|
+
export type NonStreaming = Base<
|
|
16
|
+
false,
|
|
17
|
+
OpenAI.ChatCompletionCreateParamsNonStreaming
|
|
18
|
+
>;
|
|
19
|
+
|
|
20
|
+
interface Base<Stream extends boolean, Body extends object>
|
|
21
|
+
extends AgenticaEventBase<"request"> {
|
|
22
|
+
source: AgenticaEventSource;
|
|
23
|
+
stream: Stream;
|
|
24
|
+
body: Body;
|
|
25
|
+
options?: OpenAI.RequestOptions | undefined;
|
|
26
|
+
}
|
|
10
27
|
}
|
|
@@ -3,31 +3,30 @@ import type OpenAI from "openai";
|
|
|
3
3
|
import type { AgenticaEventBase } from "./AgenticaEventBase";
|
|
4
4
|
import type { AgenticaEventSource } from "./AgenticaEventSource";
|
|
5
5
|
|
|
6
|
-
export
|
|
7
|
-
|
|
6
|
+
export type AgenticaResponseEvent =
|
|
7
|
+
| AgenticaResponseEvent.Streaming
|
|
8
|
+
| AgenticaResponseEvent.NonStreaming;
|
|
9
|
+
export namespace AgenticaResponseEvent {
|
|
10
|
+
export type Streaming = Base<
|
|
11
|
+
true,
|
|
12
|
+
OpenAI.ChatCompletionCreateParamsStreaming,
|
|
13
|
+
AsyncGenerator<OpenAI.ChatCompletionChunk, undefined, undefined>
|
|
14
|
+
>;
|
|
8
15
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
export type NonStreaming = Base<
|
|
17
|
+
false,
|
|
18
|
+
OpenAI.ChatCompletionCreateParamsNonStreaming,
|
|
19
|
+
OpenAI.ChatCompletion
|
|
20
|
+
>;
|
|
13
21
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Options for the request.
|
|
26
|
-
*/
|
|
27
|
-
options?: OpenAI.RequestOptions | undefined;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Wait the completion.
|
|
31
|
-
*/
|
|
32
|
-
join: () => Promise<OpenAI.ChatCompletion>;
|
|
22
|
+
interface Base<Stream extends boolean, Body extends object, Completion extends object>
|
|
23
|
+
extends AgenticaEventBase<"response"> {
|
|
24
|
+
source: AgenticaEventSource;
|
|
25
|
+
request_id: string;
|
|
26
|
+
stream: Stream;
|
|
27
|
+
body: Body;
|
|
28
|
+
completion: Completion;
|
|
29
|
+
options?: OpenAI.RequestOptions | undefined;
|
|
30
|
+
join: () => Promise<OpenAI.ChatCompletion>;
|
|
31
|
+
}
|
|
33
32
|
}
|
package/src/factory/events.ts
CHANGED
|
@@ -308,9 +308,12 @@ export function createDescribeEvent(props: {
|
|
|
308
308
|
/* -----------------------------------------------------------
|
|
309
309
|
API REQUESTS
|
|
310
310
|
----------------------------------------------------------- */
|
|
311
|
-
export function createRequestEvent(props: {
|
|
311
|
+
export function createRequestEvent<Stream extends boolean>(props: {
|
|
312
312
|
source: AgenticaEventSource;
|
|
313
|
-
|
|
313
|
+
stream: Stream;
|
|
314
|
+
body: Stream extends true
|
|
315
|
+
? OpenAI.ChatCompletionCreateParamsStreaming
|
|
316
|
+
: OpenAI.ChatCompletionCreateParamsNonStreaming;
|
|
314
317
|
options?: OpenAI.RequestOptions | undefined;
|
|
315
318
|
}): AgenticaRequestEvent {
|
|
316
319
|
const id: string = v4();
|
|
@@ -320,17 +323,23 @@ export function createRequestEvent(props: {
|
|
|
320
323
|
id,
|
|
321
324
|
created_at,
|
|
322
325
|
source: props.source,
|
|
323
|
-
|
|
326
|
+
stream: props.stream as false,
|
|
327
|
+
body: props.body as OpenAI.ChatCompletionCreateParamsNonStreaming,
|
|
324
328
|
options: props.options,
|
|
325
329
|
};
|
|
326
330
|
}
|
|
327
331
|
|
|
328
|
-
export function createResponseEvent(props: {
|
|
332
|
+
export function createResponseEvent<Stream extends boolean>(props: {
|
|
329
333
|
request_id: string;
|
|
330
334
|
source: AgenticaEventSource;
|
|
331
|
-
|
|
335
|
+
stream: Stream;
|
|
336
|
+
body: Stream extends true
|
|
337
|
+
? OpenAI.ChatCompletionCreateParamsStreaming
|
|
338
|
+
: OpenAI.ChatCompletionCreateParamsNonStreaming;
|
|
332
339
|
options?: OpenAI.RequestOptions | undefined;
|
|
333
|
-
|
|
340
|
+
completion: Stream extends true
|
|
341
|
+
? AsyncGenerator<OpenAI.ChatCompletionChunk, undefined, undefined>
|
|
342
|
+
: OpenAI.ChatCompletion;
|
|
334
343
|
join: () => Promise<OpenAI.ChatCompletion>;
|
|
335
344
|
}): AgenticaResponseEvent {
|
|
336
345
|
const id: string = v4();
|
|
@@ -341,9 +350,10 @@ export function createResponseEvent(props: {
|
|
|
341
350
|
request_id: props.request_id,
|
|
342
351
|
created_at,
|
|
343
352
|
source: props.source,
|
|
344
|
-
|
|
353
|
+
stream: props.stream as false,
|
|
354
|
+
body: props.body as OpenAI.ChatCompletionCreateParamsNonStreaming,
|
|
355
|
+
completion: props.completion as OpenAI.ChatCompletion,
|
|
345
356
|
options: props.options,
|
|
346
|
-
stream: props.stream,
|
|
347
357
|
join: props.join,
|
|
348
358
|
};
|
|
349
359
|
}
|
package/src/orchestrate/call.ts
CHANGED
|
@@ -48,7 +48,7 @@ export async function call(
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
const completion = await retryFn(async (prevError) => {
|
|
51
|
-
const
|
|
51
|
+
const result = await ctx.request("call", {
|
|
52
52
|
messages: [
|
|
53
53
|
// COMMON SYSTEM PROMPT
|
|
54
54
|
{
|
|
@@ -106,7 +106,11 @@ export async function call(
|
|
|
106
106
|
// parallel_tool_calls: false,
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
if (result.type === "none-stream") {
|
|
110
|
+
return result.value;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
const completion = await reduceStreamingWithDispatch(result.value, (props) => {
|
|
110
114
|
const event: AgenticaAssistantMessageEvent = createAssistantMessageEvent(props);
|
|
111
115
|
void ctx.dispatch(event).catch(() => {});
|
|
112
116
|
});
|
|
@@ -349,7 +353,7 @@ async function correctError(
|
|
|
349
353
|
return props.giveUp();
|
|
350
354
|
}
|
|
351
355
|
|
|
352
|
-
const
|
|
356
|
+
const result = await ctx.request("call", {
|
|
353
357
|
messages: [
|
|
354
358
|
// COMMON SYSTEM PROMPT
|
|
355
359
|
{
|
|
@@ -423,8 +427,14 @@ async function correctError(
|
|
|
423
427
|
tool_choice: "required",
|
|
424
428
|
// parallel_tool_calls: false,
|
|
425
429
|
});
|
|
426
|
-
|
|
427
|
-
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
|
+
|
|
428
438
|
const toolCall: OpenAI.ChatCompletionMessageFunctionToolCall | undefined = completion.choices[0]?.message.tool_calls?.filter(
|
|
429
439
|
tc => tc.type === "function",
|
|
430
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);
|