@zimtsui/brainswitch 0.0.54 → 0.0.56
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/DEVELOPMENT.md +13 -14
- package/README.md +7 -14
- package/build/adaptor.d.ts +5 -5
- package/build/adaptor.js +16 -16
- package/build/adaptor.js.map +1 -1
- package/build/agentloop.d.ts +5 -5
- package/build/agentloop.js +4 -4
- package/build/agentloop.js.map +1 -1
- package/build/api-types/anthropic/billing.d.ts +12 -0
- package/build/api-types/anthropic/billing.js +15 -0
- package/build/api-types/anthropic/billing.js.map +1 -0
- package/build/api-types/anthropic/tool-codec.d.ts +17 -0
- package/build/api-types/anthropic/tool-codec.js +73 -0
- package/build/api-types/anthropic/tool-codec.js.map +1 -0
- package/build/api-types/google/billing.d.ts +12 -0
- package/build/api-types/google/billing.js +24 -0
- package/build/api-types/google/billing.js.map +1 -0
- package/build/api-types/google/restful-request.d.ts +8 -0
- package/build/api-types/google/restful-request.js +2 -0
- package/build/api-types/google/restful-request.js.map +1 -0
- package/build/api-types/google/tool-codec.d.ts +16 -0
- package/build/api-types/{google.js → google/tool-codec.js} +27 -26
- package/build/api-types/google/tool-codec.js.map +1 -0
- package/build/api-types/openai-chatcompletion/billing.d.ts +13 -0
- package/build/api-types/openai-chatcompletion/billing.js +16 -0
- package/build/api-types/openai-chatcompletion/billing.js.map +1 -0
- package/build/api-types/openai-chatcompletion/tool-codec.d.ts +18 -0
- package/build/api-types/openai-chatcompletion/tool-codec.js +86 -0
- package/build/api-types/openai-chatcompletion/tool-codec.js.map +1 -0
- package/build/api-types/openai-responses/billing.d.ts +12 -0
- package/build/api-types/openai-responses/billing.js +15 -0
- package/build/api-types/openai-responses/billing.js.map +1 -0
- package/build/api-types/openai-responses/tool-codec.d.ts +16 -0
- package/build/api-types/openai-responses/tool-codec.js +72 -0
- package/build/api-types/openai-responses/tool-codec.js.map +1 -0
- package/build/compatible/engine.d/aliyun.d.ts +23 -0
- package/build/compatible/engine.d/aliyun.js +44 -0
- package/build/compatible/engine.d/aliyun.js.map +1 -0
- package/build/compatible/engine.d/anthropic.d.ts +23 -0
- package/build/compatible/engine.d/anthropic.js +41 -0
- package/build/compatible/engine.d/anthropic.js.map +1 -0
- package/build/compatible/engine.d/google.d.ts +23 -0
- package/build/compatible/engine.d/google.js +45 -0
- package/build/compatible/engine.d/google.js.map +1 -0
- package/build/compatible/engine.d/openai-responses.d.ts +23 -0
- package/build/compatible/engine.d/openai-responses.js +41 -0
- package/build/compatible/engine.d/openai-responses.js.map +1 -0
- package/build/compatible/engine.d.ts +18 -0
- package/build/compatible/engine.js +21 -0
- package/build/compatible/engine.js.map +1 -0
- package/build/compatible/session.d.ts +78 -0
- package/build/compatible/session.js +138 -0
- package/build/compatible/session.js.map +1 -0
- package/build/compatible/tool-call-validator.d.ts +11 -0
- package/build/compatible/tool-call-validator.js +12 -0
- package/build/compatible/tool-call-validator.js.map +1 -0
- package/build/compatible.d/aliyun/transport.d.ts +11 -0
- package/build/compatible.d/aliyun/transport.js +9 -0
- package/build/compatible.d/aliyun/transport.js.map +1 -0
- package/build/compatible.d/anthropic/message-codec.d.ts +31 -0
- package/build/compatible.d/anthropic/message-codec.js +88 -0
- package/build/compatible.d/anthropic/message-codec.js.map +1 -0
- package/build/compatible.d/anthropic/transport.d.ts +31 -0
- package/build/compatible.d/anthropic/transport.js +137 -0
- package/build/compatible.d/anthropic/transport.js.map +1 -0
- package/build/compatible.d/google/message-codec.d.ts +31 -0
- package/build/compatible.d/google/message-codec.js +98 -0
- package/build/compatible.d/google/message-codec.js.map +1 -0
- package/build/compatible.d/google/transport.d.ts +28 -0
- package/build/compatible.d/google/transport.js +74 -0
- package/build/compatible.d/google/transport.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions/message-codec.d.ts +19 -0
- package/build/compatible.d/openai-chatcompletions/message-codec.js +66 -0
- package/build/compatible.d/openai-chatcompletions/message-codec.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions/transport.d.ts +9 -0
- package/build/compatible.d/openai-chatcompletions/transport.js +25 -0
- package/build/compatible.d/openai-chatcompletions/transport.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions.d/monolith.d.ts +36 -0
- package/build/compatible.d/openai-chatcompletions.d/monolith.js +74 -0
- package/build/compatible.d/openai-chatcompletions.d/monolith.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions.d/stream.d.ts +35 -0
- package/build/{compatible-engines.d → compatible.d}/openai-chatcompletions.d/stream.js +52 -42
- package/build/compatible.d/openai-chatcompletions.d/stream.js.map +1 -0
- package/build/compatible.d/openai-responses/message-codec.d.ts +32 -0
- package/build/compatible.d/openai-responses/message-codec.js +105 -0
- package/build/compatible.d/openai-responses/message-codec.js.map +1 -0
- package/build/compatible.d/openai-responses/transport.d.ts +33 -0
- package/build/compatible.d/openai-responses/transport.js +88 -0
- package/build/compatible.d/openai-responses/transport.js.map +1 -0
- package/build/config.js +1 -1
- package/build/config.js.map +1 -1
- package/build/engine.d.ts +48 -26
- package/build/engine.js +78 -29
- package/build/engine.js.map +1 -1
- package/build/exports.d.ts +14 -13
- package/build/exports.js +14 -13
- package/build/exports.js.map +1 -1
- package/build/function.d.ts +25 -13
- package/build/function.js +2 -1
- package/build/function.js.map +1 -1
- package/build/inference-context.d.ts +1 -1
- package/build/native-engines.d/google/agentloop.d.ts +6 -6
- package/build/native-engines.d/google/agentloop.js +5 -5
- package/build/native-engines.d/google/agentloop.js.map +1 -1
- package/build/native-engines.d/google/engine.d.ts +28 -103
- package/build/native-engines.d/google/engine.js +63 -304
- package/build/native-engines.d/google/engine.js.map +1 -1
- package/build/native-engines.d/google/exports.d.ts +5 -5
- package/build/native-engines.d/google/exports.js +5 -5
- package/build/native-engines.d/google/exports.js.map +1 -1
- package/build/native-engines.d/google/message-codec.d.ts +21 -0
- package/build/native-engines.d/google/message-codec.js +69 -0
- package/build/native-engines.d/google/message-codec.js.map +1 -0
- package/build/native-engines.d/google/session.d.ts +16 -15
- package/build/native-engines.d/google/session.js +2 -2
- package/build/native-engines.d/google/session.js.map +1 -1
- package/build/native-engines.d/google/transport.d.ts +31 -0
- package/build/native-engines.d/google/transport.js +81 -0
- package/build/native-engines.d/google/transport.js.map +1 -0
- package/build/native-engines.d/openai-responses/agentloop.d.ts +7 -7
- package/build/native-engines.d/openai-responses/agentloop.js +6 -6
- package/build/native-engines.d/openai-responses/agentloop.js.map +1 -1
- package/build/native-engines.d/openai-responses/engine.d.ts +26 -106
- package/build/native-engines.d/openai-responses/engine.js +53 -334
- package/build/native-engines.d/openai-responses/engine.js.map +1 -1
- package/build/native-engines.d/openai-responses/exports.d.ts +6 -7
- package/build/native-engines.d/openai-responses/exports.js +6 -7
- package/build/native-engines.d/openai-responses/exports.js.map +1 -1
- package/build/native-engines.d/openai-responses/message-codec.d.ts +21 -0
- package/build/native-engines.d/openai-responses/message-codec.js +69 -0
- package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
- package/build/native-engines.d/openai-responses/session.d.ts +27 -26
- package/build/native-engines.d/openai-responses/session.js +3 -3
- package/build/native-engines.d/openai-responses/session.js.map +1 -1
- package/build/native-engines.d/openai-responses/tool-call-validator.d.ts +12 -0
- package/build/native-engines.d/openai-responses/tool-call-validator.js +33 -0
- package/build/native-engines.d/openai-responses/tool-call-validator.js.map +1 -0
- package/build/native-engines.d/openai-responses/tool.d.ts +3 -3
- package/build/native-engines.d/openai-responses/tool.js +1 -1
- package/build/native-engines.d/openai-responses/tool.js.map +1 -1
- package/build/native-engines.d/openai-responses/transport.d.ts +36 -0
- package/build/native-engines.d/openai-responses/transport.js +104 -0
- package/build/native-engines.d/openai-responses/transport.js.map +1 -0
- package/build/session.d.ts +5 -75
- package/build/session.js +0 -136
- package/build/session.js.map +1 -1
- package/build/throttle.d.ts +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/test/build/test-codecs.js +230 -0
- package/test/build/test-codecs.js.map +1 -0
- package/test/build/test-compatible-engine.d.ts +1 -0
- package/test/build/test-compatible-engine.js +27 -0
- package/test/build/test-compatible-engine.js.map +1 -0
- package/test/build/test-compatible-engines.d.ts +1 -0
- package/test/build/test-compatible-engines.js +112 -0
- package/test/build/test-compatible-engines.js.map +1 -0
- package/test/build/test-engine.d.ts +1 -0
- package/test/build/test-engine.js +97 -0
- package/test/build/test-engine.js.map +1 -0
- package/test/build/test-helpers.d.ts +46 -0
- package/test/build/test-helpers.js +45 -0
- package/test/build/test-helpers.js.map +1 -0
- package/test/build/test-native-engines.d.ts +1 -0
- package/test/build/test-native-engines.js +64 -0
- package/test/build/test-native-engines.js.map +1 -0
- package/test/build/test.d.ts +5 -0
- package/test/build/test.js +6 -0
- package/test/build/test.js.map +1 -0
- package/test/build/tsconfig.tsbuildinfo +1 -0
- package/test/src/test-codecs.ts +256 -0
- package/test/src/test-compatible-engine.ts +45 -0
- package/test/src/test-compatible-engines.ts +129 -0
- package/test/src/test-engine.ts +144 -0
- package/test/src/test-helpers.ts +53 -0
- package/test/src/test-native-engines.ts +75 -0
- package/test/src/test.ts +5 -0
- package/test/src/tsconfig.json +30 -0
- package/build/api-types/anthropic.d.ts +0 -29
- package/build/api-types/anthropic.js +0 -93
- package/build/api-types/anthropic.js.map +0 -1
- package/build/api-types/google.d.ts +0 -28
- package/build/api-types/google.js.map +0 -1
- package/build/api-types/openai-chat-completions.d.ts +0 -31
- package/build/api-types/openai-chat-completions.js +0 -113
- package/build/api-types/openai-chat-completions.js.map +0 -1
- package/build/api-types/openai-responses.d.ts +0 -23
- package/build/api-types/openai-responses.js +0 -71
- package/build/api-types/openai-responses.js.map +0 -1
- package/build/compatible-engine.d.ts +0 -51
- package/build/compatible-engine.js +0 -67
- package/build/compatible-engine.js.map +0 -1
- package/build/compatible-engines.d/aliyun.d.ts +0 -69
- package/build/compatible-engines.d/aliyun.js +0 -149
- package/build/compatible-engines.d/aliyun.js.map +0 -1
- package/build/compatible-engines.d/anthropic.d.ts +0 -78
- package/build/compatible-engines.d/anthropic.js +0 -312
- package/build/compatible-engines.d/anthropic.js.map +0 -1
- package/build/compatible-engines.d/google.d.ts +0 -83
- package/build/compatible-engines.d/google.js +0 -279
- package/build/compatible-engines.d/google.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.d.ts +0 -15
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js +0 -75
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d/stream.d.ts +0 -21
- package/build/compatible-engines.d/openai-chatcompletions.d/stream.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d.ts +0 -27
- package/build/compatible-engines.d/openai-chatcompletions.js +0 -76
- package/build/compatible-engines.d/openai-chatcompletions.js.map +0 -1
- package/build/compatible-engines.d/openai-responses.d.ts +0 -93
- package/build/compatible-engines.d/openai-responses.js +0 -300
- package/build/compatible-engines.d/openai-responses.js.map +0 -1
- package/build/test.js +0 -198
- package/build/test.js.map +0 -1
- /package/{build/test.d.ts → test/build/test-codecs.d.ts} +0 -0
|
@@ -1,314 +1,73 @@
|
|
|
1
|
-
import { Function } from
|
|
2
|
-
import { RoleMessage } from
|
|
3
|
-
import {
|
|
4
|
-
import {} from
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
1
|
+
import { Function } from '#@/function.ts';
|
|
2
|
+
import { RoleMessage } from '#@/native-engines.d/google/session.ts';
|
|
3
|
+
import { Engine } from '#@/engine.ts';
|
|
4
|
+
import {} from '#@/inference-context.ts';
|
|
5
|
+
import { GoogleToolCodec } from '#@/api-types/google/tool-codec.ts';
|
|
6
|
+
import { GoogleBilling } from '#@/api-types/google/billing.ts';
|
|
7
|
+
import { ToolCallValidator } from '#@/compatible/tool-call-validator.ts';
|
|
8
|
+
import { GoogleCompatibleMessageCodec } from '#@/compatible.d/google/message-codec.ts';
|
|
9
|
+
import { GoogleNativeMessageCodec } from '#@/native-engines.d/google/message-codec.ts';
|
|
10
|
+
import { GoogleNativeTransport } from '#@/native-engines.d/google/transport.ts';
|
|
11
|
+
export class GoogleNativeEngine extends Engine {
|
|
12
|
+
toolChoice;
|
|
13
|
+
codeExecution;
|
|
14
|
+
urlContext;
|
|
15
|
+
googleSearch;
|
|
16
|
+
toolCodec;
|
|
17
|
+
compatibleMessageCodec;
|
|
18
|
+
messageCodec;
|
|
19
|
+
billing;
|
|
20
|
+
toolCallValidator;
|
|
21
|
+
transport;
|
|
22
|
+
parallelToolCall;
|
|
23
|
+
constructor(options) {
|
|
24
|
+
super(options);
|
|
25
|
+
this.parallelToolCall = options.parallelToolCall ?? true;
|
|
26
|
+
if (this.parallelToolCall) { }
|
|
27
|
+
else
|
|
28
|
+
throw new Error('Parallel tool calling is required by Google engine.');
|
|
29
|
+
this.toolChoice = options.toolChoice ?? Function.ToolChoice.AUTO;
|
|
30
|
+
this.codeExecution = options.codeExecution ?? false;
|
|
31
|
+
this.urlContext = options.urlContext ?? false;
|
|
32
|
+
this.googleSearch = options.googleSearch ?? false;
|
|
33
|
+
this.toolCodec = new GoogleToolCodec({
|
|
34
|
+
fdm: this.fdm,
|
|
35
|
+
});
|
|
36
|
+
this.compatibleMessageCodec = new GoogleCompatibleMessageCodec({ toolCodec: this.toolCodec });
|
|
37
|
+
this.messageCodec = new GoogleNativeMessageCodec({
|
|
38
|
+
toolCodec: this.toolCodec,
|
|
39
|
+
compatibleMessageCodec: this.compatibleMessageCodec,
|
|
40
|
+
codeExecution: this.codeExecution,
|
|
41
|
+
});
|
|
42
|
+
this.billing = new GoogleBilling({ pricing: this.pricing });
|
|
43
|
+
this.toolCallValidator = new ToolCallValidator({ toolChoice: this.toolChoice });
|
|
44
|
+
this.transport = new GoogleNativeTransport({
|
|
45
|
+
inferenceParams: this.inferenceParams,
|
|
46
|
+
providerSpec: this.providerSpec,
|
|
47
|
+
fdm: this.fdm,
|
|
48
|
+
throttle: this.throttle,
|
|
49
|
+
toolChoice: this.toolChoice,
|
|
50
|
+
codeExecution: this.codeExecution,
|
|
51
|
+
urlContext: this.urlContext,
|
|
52
|
+
googleSearch: this.googleSearch,
|
|
53
|
+
messageCodec: this.messageCodec,
|
|
54
|
+
toolCodec: this.toolCodec,
|
|
55
|
+
billing: this.billing,
|
|
56
|
+
toolCallValidator: this.toolCallValidator,
|
|
57
|
+
});
|
|
52
58
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const response = await this.stateless(wfctx, session);
|
|
56
|
-
session.chatMessages.push(response);
|
|
57
|
-
return response;
|
|
59
|
+
infer(wfctx, session, signal) {
|
|
60
|
+
return this.transport.fetch(wfctx, session, signal);
|
|
58
61
|
}
|
|
59
|
-
|
|
60
|
-
function appendUserMessage(session, message) {
|
|
62
|
+
appendUserMessage(session, message) {
|
|
61
63
|
return {
|
|
62
|
-
|
|
64
|
+
developerMessage: session.developerMessage,
|
|
63
65
|
chatMessages: [...session.chatMessages, message],
|
|
64
66
|
};
|
|
65
67
|
}
|
|
66
|
-
|
|
67
|
-
function pushUserMessage(session, message) {
|
|
68
|
+
pushUserMessage(session, message) {
|
|
68
69
|
session.chatMessages.push(message);
|
|
69
70
|
return session;
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
-
function convertToAiMessage(content) {
|
|
73
|
-
if (content.parts) { }
|
|
74
|
-
else
|
|
75
|
-
throw new Error();
|
|
76
|
-
return RoleMessage.Ai.create(content.parts.flatMap(part => {
|
|
77
|
-
const parts = [];
|
|
78
|
-
let payload = false;
|
|
79
|
-
if (part.text) {
|
|
80
|
-
payload = true;
|
|
81
|
-
parts.push(RoleMessage.Part.Text.create(part.text));
|
|
82
|
-
}
|
|
83
|
-
if (part.functionCall) {
|
|
84
|
-
payload = true;
|
|
85
|
-
parts.push(this.convertToFunctionCall(part.functionCall));
|
|
86
|
-
}
|
|
87
|
-
if (this.codeExecution && part.executableCode) {
|
|
88
|
-
payload = true;
|
|
89
|
-
if (part.executableCode.code) { }
|
|
90
|
-
else
|
|
91
|
-
throw new Error();
|
|
92
|
-
if (part.executableCode.language) { }
|
|
93
|
-
else
|
|
94
|
-
throw new Error();
|
|
95
|
-
parts.push(RoleMessage.Ai.Part.ExecutableCode.create(part.executableCode.code, part.executableCode.language));
|
|
96
|
-
}
|
|
97
|
-
if (this.codeExecution && part.codeExecutionResult) {
|
|
98
|
-
payload = true;
|
|
99
|
-
if (part.codeExecutionResult.outcome) { }
|
|
100
|
-
else
|
|
101
|
-
throw new Error();
|
|
102
|
-
parts.push(RoleMessage.Ai.Part.CodeExecutionResult.create(part.codeExecutionResult.outcome, part.codeExecutionResult.output));
|
|
103
|
-
}
|
|
104
|
-
if (payload) { }
|
|
105
|
-
else
|
|
106
|
-
throw new ResponseInvalid('Unknown content part', { cause: content });
|
|
107
|
-
return parts;
|
|
108
|
-
}), content);
|
|
109
|
-
}
|
|
110
|
-
GoogleNativeEngine.convertToAiMessage = convertToAiMessage;
|
|
111
|
-
function convertFromAiMessage(aiMessage) {
|
|
112
|
-
return aiMessage.getRaw();
|
|
113
|
-
}
|
|
114
|
-
GoogleNativeEngine.convertFromAiMessage = convertFromAiMessage;
|
|
115
|
-
function convertFromUserMessage(userMessage) {
|
|
116
|
-
return (GoogleCompatibleEngine.convertFromUserMessage).call(this, userMessage);
|
|
117
|
-
}
|
|
118
|
-
GoogleNativeEngine.convertFromUserMessage = convertFromUserMessage;
|
|
119
|
-
function convertFromDeveloperMessage(developerMessage) {
|
|
120
|
-
return (GoogleCompatibleEngine.convertFromDeveloperMessage).call(this, developerMessage);
|
|
121
|
-
}
|
|
122
|
-
GoogleNativeEngine.convertFromDeveloperMessage = convertFromDeveloperMessage;
|
|
123
|
-
function convertFromChatMessages(chatMessages) {
|
|
124
|
-
return chatMessages.map(chatMessage => {
|
|
125
|
-
if (chatMessage instanceof RoleMessage.User.Instance)
|
|
126
|
-
return this.convertFromUserMessage(chatMessage);
|
|
127
|
-
else if (chatMessage instanceof RoleMessage.Ai.Instance)
|
|
128
|
-
return this.convertFromAiMessage(chatMessage);
|
|
129
|
-
else
|
|
130
|
-
throw new Error();
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
GoogleNativeEngine.convertFromChatMessages = convertFromChatMessages;
|
|
134
|
-
function convertFromToolChoice(toolChoice) {
|
|
135
|
-
return (GoogleCompatibleEngine.convertFromToolChoice).call(this, toolChoice);
|
|
136
|
-
}
|
|
137
|
-
GoogleNativeEngine.convertFromToolChoice = convertFromToolChoice;
|
|
138
|
-
async function fetch(wfctx, session, signal) {
|
|
139
|
-
const systemInstruction = session.developerMessage && this.convertFromDeveloperMessage(session.developerMessage);
|
|
140
|
-
const contents = this.convertFromChatMessages(session.chatMessages);
|
|
141
|
-
await this.throttle.requests(wfctx);
|
|
142
|
-
const fdentries = Object.entries(this.fdm);
|
|
143
|
-
const functionDeclarations = fdentries.map(fdentry => this.convertFromFunctionDeclarationEntry(fdentry));
|
|
144
|
-
const tools = [];
|
|
145
|
-
if (functionDeclarations.length)
|
|
146
|
-
tools.push({ functionDeclarations });
|
|
147
|
-
if (this.urlContext)
|
|
148
|
-
tools.push({ urlContext: {} });
|
|
149
|
-
if (this.googleSearch)
|
|
150
|
-
tools.push({ googleSearch: {} });
|
|
151
|
-
if (this.codeExecution)
|
|
152
|
-
tools.push({ codeExecution: {} });
|
|
153
|
-
const reqbody = {
|
|
154
|
-
contents,
|
|
155
|
-
tools: tools.length ? tools : undefined,
|
|
156
|
-
toolConfig: functionDeclarations.length ? {
|
|
157
|
-
functionCallingConfig: this.convertFromToolChoice(this.toolChoice),
|
|
158
|
-
} : undefined,
|
|
159
|
-
systemInstruction,
|
|
160
|
-
generationConfig: this.maxTokens || this.additionalOptions ? {
|
|
161
|
-
maxOutputTokens: this.maxTokens ?? undefined,
|
|
162
|
-
...this.additionalOptions,
|
|
163
|
-
} : undefined,
|
|
164
|
-
};
|
|
165
|
-
logger.message?.trace(reqbody);
|
|
166
|
-
const res = await Undici.fetch(this.apiURL, {
|
|
167
|
-
method: 'POST',
|
|
168
|
-
headers: new Headers({
|
|
169
|
-
'Content-Type': 'application/json',
|
|
170
|
-
'x-goog-api-key': this.apiKey,
|
|
171
|
-
}),
|
|
172
|
-
body: JSON.stringify(reqbody),
|
|
173
|
-
dispatcher: this.proxyAgent,
|
|
174
|
-
signal,
|
|
175
|
-
});
|
|
176
|
-
logger.message?.trace(res);
|
|
177
|
-
if (res.ok) { }
|
|
178
|
-
else
|
|
179
|
-
throw new Error(undefined, { cause: res });
|
|
180
|
-
const response = await res.json();
|
|
181
|
-
if (response.candidates?.[0]?.content?.parts?.length) { }
|
|
182
|
-
else
|
|
183
|
-
throw new ResponseInvalid('Content missing', { cause: response });
|
|
184
|
-
if (response.candidates[0].finishReason === Google.FinishReason.MAX_TOKENS)
|
|
185
|
-
throw new ResponseInvalid('Token limit exceeded.', { cause: response });
|
|
186
|
-
if (response.candidates[0].finishReason === Google.FinishReason.STOP) { }
|
|
187
|
-
else
|
|
188
|
-
throw new ResponseInvalid('Abnormal finish reason', { cause: response });
|
|
189
|
-
for (const part of response.candidates[0].content.parts) {
|
|
190
|
-
if (part.text)
|
|
191
|
-
logger.inference?.debug(part.text + '\n');
|
|
192
|
-
if (part.functionCall)
|
|
193
|
-
logger.message?.debug(part.functionCall);
|
|
194
|
-
}
|
|
195
|
-
if (response.usageMetadata?.promptTokenCount) { }
|
|
196
|
-
else
|
|
197
|
-
throw new Error('Prompt token count absent', { cause: response });
|
|
198
|
-
logger.message?.debug(response.usageMetadata);
|
|
199
|
-
const candidatesTokenCount = response.usageMetadata.candidatesTokenCount ?? 0;
|
|
200
|
-
const cacheHitTokenCount = response.usageMetadata.cachedContentTokenCount ?? 0;
|
|
201
|
-
const cacheMissTokenCount = response.usageMetadata.promptTokenCount - cacheHitTokenCount;
|
|
202
|
-
const thinkingTokenCount = response.usageMetadata.thoughtsTokenCount ?? 0;
|
|
203
|
-
const cost = this.inputPrice * cacheMissTokenCount / 1e6 +
|
|
204
|
-
this.cachePrice * cacheHitTokenCount / 1e6 +
|
|
205
|
-
this.outputPrice * candidatesTokenCount / 1e6 +
|
|
206
|
-
this.outputPrice * thinkingTokenCount / 1e6;
|
|
207
|
-
wfctx.cost?.(cost);
|
|
208
|
-
const aiMessage = this.convertToAiMessage(response.candidates[0].content);
|
|
209
|
-
this.validateToolCallsByToolChoice(aiMessage.getFunctionCalls());
|
|
210
|
-
return aiMessage;
|
|
211
|
-
}
|
|
212
|
-
GoogleNativeEngine.fetch = fetch;
|
|
213
|
-
function validateToolCallsByToolChoice(toolCalls) {
|
|
214
|
-
Function.Call.validate(toolCalls, this.toolChoice, new ResponseInvalid('Invalid function call', { cause: toolCalls }));
|
|
215
|
-
}
|
|
216
|
-
GoogleNativeEngine.validateToolCallsByToolChoice = validateToolCallsByToolChoice;
|
|
217
|
-
class Instance {
|
|
218
|
-
baseUrl;
|
|
219
|
-
apiKey;
|
|
220
|
-
model;
|
|
221
|
-
name;
|
|
222
|
-
inputPrice;
|
|
223
|
-
outputPrice;
|
|
224
|
-
cachePrice;
|
|
225
|
-
fdm;
|
|
226
|
-
additionalOptions;
|
|
227
|
-
throttle;
|
|
228
|
-
timeout;
|
|
229
|
-
maxTokens;
|
|
230
|
-
proxyAgent;
|
|
231
|
-
parallelToolCall;
|
|
232
|
-
apiURL;
|
|
233
|
-
codeExecution;
|
|
234
|
-
urlContext;
|
|
235
|
-
googleSearch;
|
|
236
|
-
toolChoice;
|
|
237
|
-
constructor(options) {
|
|
238
|
-
({
|
|
239
|
-
baseUrl: this.baseUrl,
|
|
240
|
-
apiKey: this.apiKey,
|
|
241
|
-
model: this.model,
|
|
242
|
-
name: this.name,
|
|
243
|
-
inputPrice: this.inputPrice,
|
|
244
|
-
outputPrice: this.outputPrice,
|
|
245
|
-
cachePrice: this.cachePrice,
|
|
246
|
-
fdm: this.fdm,
|
|
247
|
-
additionalOptions: this.additionalOptions,
|
|
248
|
-
throttle: this.throttle,
|
|
249
|
-
timeout: this.timeout,
|
|
250
|
-
maxTokens: this.maxTokens,
|
|
251
|
-
proxyAgent: this.proxyAgent,
|
|
252
|
-
} = (Engine.OwnProps.init).call(this, options));
|
|
253
|
-
({ parallelToolCall: this.parallelToolCall } = (GoogleEngine.OwnProps.init).call(this, options));
|
|
254
|
-
({
|
|
255
|
-
apiURL: this.apiURL,
|
|
256
|
-
codeExecution: this.codeExecution,
|
|
257
|
-
urlContext: this.urlContext,
|
|
258
|
-
googleSearch: this.googleSearch,
|
|
259
|
-
toolChoice: this.toolChoice,
|
|
260
|
-
} = (GoogleNativeEngine.OwnProps.init).call(this, options));
|
|
261
|
-
}
|
|
262
|
-
stateless(wfctx, session) {
|
|
263
|
-
return (GoogleNativeEngine.stateless).call(this, wfctx, session);
|
|
264
|
-
}
|
|
265
|
-
stateful(wfctx, session) {
|
|
266
|
-
return (GoogleNativeEngine.stateful).call(this, wfctx, session);
|
|
267
|
-
}
|
|
268
|
-
appendUserMessage(session, message) {
|
|
269
|
-
return (GoogleNativeEngine.appendUserMessage).call(this, session, message);
|
|
270
|
-
}
|
|
271
|
-
pushUserMessage(session, message) {
|
|
272
|
-
return (GoogleNativeEngine.pushUserMessage).call(this, session, message);
|
|
273
|
-
}
|
|
274
|
-
validateToolCallsByToolChoice(toolCalls) {
|
|
275
|
-
return (GoogleNativeEngine.validateToolCallsByToolChoice).call(this, toolCalls);
|
|
276
|
-
}
|
|
277
|
-
convertFromFunctionCall(fc) {
|
|
278
|
-
return (GoogleEngine.convertFromFunctionCall).call(this, fc);
|
|
279
|
-
}
|
|
280
|
-
convertToFunctionCall(googlefc) {
|
|
281
|
-
return (GoogleEngine.convertToFunctionCall).call(this, googlefc);
|
|
282
|
-
}
|
|
283
|
-
convertFromFunctionDeclarationEntry(fdentry) {
|
|
284
|
-
return (GoogleEngine.convertFromFunctionDeclarationEntry).call(this, fdentry);
|
|
285
|
-
}
|
|
286
|
-
convertFromUserMessage(userMessage) {
|
|
287
|
-
return (GoogleNativeEngine.convertFromUserMessage).call(this, userMessage);
|
|
288
|
-
}
|
|
289
|
-
convertFromAiMessage(aiMessage) {
|
|
290
|
-
return (GoogleNativeEngine.convertFromAiMessage).call(this, aiMessage);
|
|
291
|
-
}
|
|
292
|
-
convertFromDeveloperMessage(developerMessage) {
|
|
293
|
-
return (GoogleNativeEngine.convertFromDeveloperMessage).call(this, developerMessage);
|
|
294
|
-
}
|
|
295
|
-
convertFromChatMessages(chatMessages) {
|
|
296
|
-
return (GoogleNativeEngine.convertFromChatMessages).call(this, chatMessages);
|
|
297
|
-
}
|
|
298
|
-
convertToAiMessage(content) {
|
|
299
|
-
return (GoogleNativeEngine.convertToAiMessage).call(this, content);
|
|
300
|
-
}
|
|
301
|
-
convertFromToolChoice(toolChoice) {
|
|
302
|
-
return (GoogleNativeEngine.convertFromToolChoice).call(this, toolChoice);
|
|
303
|
-
}
|
|
304
|
-
fetch(wfctx, session, signal) {
|
|
305
|
-
return (GoogleNativeEngine.fetch).call(this, wfctx, session, signal);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
GoogleNativeEngine.Instance = Instance;
|
|
309
|
-
function create(options) {
|
|
310
|
-
return new GoogleNativeEngine.Instance(options);
|
|
311
|
-
}
|
|
312
|
-
GoogleNativeEngine.create = create;
|
|
313
|
-
})(GoogleNativeEngine || (GoogleNativeEngine = {}));
|
|
72
|
+
}
|
|
314
73
|
//# sourceMappingURL=engine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
3
|
-
export * from '
|
|
4
|
-
export * from '
|
|
5
|
-
export * from '
|
|
1
|
+
export * from '#@/native-engines.d/google/engine.ts';
|
|
2
|
+
export * from '#@/native-engines.d/google/session.ts';
|
|
3
|
+
export * from '#@/native-engines.d/google/agentloop.ts';
|
|
4
|
+
export * from '#@/telemetry.ts';
|
|
5
|
+
export * from '#@/engine.ts';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
1
|
+
export * from '#@/native-engines.d/google/engine.ts';
|
|
2
|
+
export * from '#@/native-engines.d/google/session.ts';
|
|
3
|
+
export * from '#@/native-engines.d/google/agentloop.ts';
|
|
4
|
+
export * from '#@/telemetry.ts';
|
|
5
|
+
export * from '#@/engine.ts';
|
|
6
6
|
//# sourceMappingURL=exports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/exports.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/exports.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { RoleMessage, type Session } from '#@/native-engines.d/google/session.ts';
|
|
2
|
+
import { Function } from '#@/function.ts';
|
|
3
|
+
import * as Google from '@google/genai';
|
|
4
|
+
import { GoogleCompatibleMessageCodec } from '#@/compatible.d/google/message-codec.ts';
|
|
5
|
+
import type { GoogleToolCodec } from '#@/api-types/google/tool-codec.ts';
|
|
6
|
+
export declare class GoogleNativeMessageCodec<fdm extends Function.Declaration.Map> {
|
|
7
|
+
protected ctx: GoogleNativeMessageCodec.Context<fdm>;
|
|
8
|
+
constructor(ctx: GoogleNativeMessageCodec.Context<fdm>);
|
|
9
|
+
convertFromAiMessage(aiMessage: RoleMessage.Ai<fdm>): Google.Content;
|
|
10
|
+
convertFromUserMessage(userMessage: RoleMessage.User<fdm>): Google.Content;
|
|
11
|
+
convertFromDeveloperMessage(developerMessage: RoleMessage.Developer): Google.Content;
|
|
12
|
+
convertFromChatMessages(chatMessages: Session.ChatMessage<fdm>[]): Google.Content[];
|
|
13
|
+
convertToAiMessage(content: Google.Content): RoleMessage.Ai<fdm>;
|
|
14
|
+
}
|
|
15
|
+
export declare namespace GoogleNativeMessageCodec {
|
|
16
|
+
interface Context<fdm extends Function.Declaration.Map> {
|
|
17
|
+
toolCodec: GoogleToolCodec<fdm>;
|
|
18
|
+
compatibleMessageCodec: GoogleCompatibleMessageCodec<fdm>;
|
|
19
|
+
codeExecution: boolean;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ResponseInvalid } from '#@/engine.ts';
|
|
2
|
+
import { RoleMessage } from '#@/native-engines.d/google/session.ts';
|
|
3
|
+
import { Function } from '#@/function.ts';
|
|
4
|
+
import * as Google from '@google/genai';
|
|
5
|
+
import { GoogleCompatibleMessageCodec } from '#@/compatible.d/google/message-codec.ts';
|
|
6
|
+
export class GoogleNativeMessageCodec {
|
|
7
|
+
ctx;
|
|
8
|
+
constructor(ctx) {
|
|
9
|
+
this.ctx = ctx;
|
|
10
|
+
}
|
|
11
|
+
convertFromAiMessage(aiMessage) {
|
|
12
|
+
return aiMessage.getRaw();
|
|
13
|
+
}
|
|
14
|
+
convertFromUserMessage(userMessage) {
|
|
15
|
+
return this.ctx.compatibleMessageCodec.convertFromUserMessage(userMessage);
|
|
16
|
+
}
|
|
17
|
+
convertFromDeveloperMessage(developerMessage) {
|
|
18
|
+
return this.ctx.compatibleMessageCodec.convertFromDeveloperMessage(developerMessage);
|
|
19
|
+
}
|
|
20
|
+
convertFromChatMessages(chatMessages) {
|
|
21
|
+
return chatMessages.map(chatMessage => {
|
|
22
|
+
if (chatMessage instanceof RoleMessage.User.Instance)
|
|
23
|
+
return this.convertFromUserMessage(chatMessage);
|
|
24
|
+
else if (chatMessage instanceof RoleMessage.Ai.Instance)
|
|
25
|
+
return this.convertFromAiMessage(chatMessage);
|
|
26
|
+
else
|
|
27
|
+
throw new Error();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
convertToAiMessage(content) {
|
|
31
|
+
if (content.parts) { }
|
|
32
|
+
else
|
|
33
|
+
throw new Error();
|
|
34
|
+
return RoleMessage.Ai.create(content.parts.flatMap(part => {
|
|
35
|
+
const parts = [];
|
|
36
|
+
let payload = false;
|
|
37
|
+
if (part.text) {
|
|
38
|
+
payload = true;
|
|
39
|
+
parts.push(RoleMessage.Part.Text.create(part.text));
|
|
40
|
+
}
|
|
41
|
+
if (part.functionCall) {
|
|
42
|
+
payload = true;
|
|
43
|
+
parts.push(this.ctx.toolCodec.convertToFunctionCall(part.functionCall));
|
|
44
|
+
}
|
|
45
|
+
if (this.ctx.codeExecution && part.executableCode) {
|
|
46
|
+
payload = true;
|
|
47
|
+
if (part.executableCode.code) { }
|
|
48
|
+
else
|
|
49
|
+
throw new Error();
|
|
50
|
+
if (part.executableCode.language) { }
|
|
51
|
+
else
|
|
52
|
+
throw new Error();
|
|
53
|
+
parts.push(RoleMessage.Ai.Part.ExecutableCode.create(part.executableCode.code, part.executableCode.language));
|
|
54
|
+
}
|
|
55
|
+
if (this.ctx.codeExecution && part.codeExecutionResult) {
|
|
56
|
+
payload = true;
|
|
57
|
+
if (part.codeExecutionResult.outcome) { }
|
|
58
|
+
else
|
|
59
|
+
throw new Error();
|
|
60
|
+
parts.push(RoleMessage.Ai.Part.CodeExecutionResult.create(part.codeExecutionResult.outcome, part.codeExecutionResult.output));
|
|
61
|
+
}
|
|
62
|
+
if (payload) { }
|
|
63
|
+
else
|
|
64
|
+
throw new ResponseInvalid('Unknown content part', { cause: content });
|
|
65
|
+
return parts;
|
|
66
|
+
}), content);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=message-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/message-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import * as Compatible from '
|
|
2
|
-
import { Function } from '
|
|
1
|
+
import * as Compatible from '#@/compatible/session.ts';
|
|
2
|
+
import { Function } from '#@/function.ts';
|
|
3
3
|
import * as Google from '@google/genai';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import type { GenericSession } from '#@/session.ts';
|
|
5
|
+
export interface Session<in out fdm extends Function.Declaration.Map> extends GenericSession<RoleMessage.User<fdm>, RoleMessage.Ai<fdm>, RoleMessage.Developer> {
|
|
6
|
+
}
|
|
7
|
+
export declare namespace Session {
|
|
8
|
+
type ChatMessage<fdm extends Function.Declaration.Map> = GenericSession.ChatMessage<RoleMessage.User<fdm>, RoleMessage.Ai<fdm>>;
|
|
7
9
|
}
|
|
8
|
-
export type ChatMessage<fdu extends Function.Declaration = never> = RoleMessage.User<fdu> | RoleMessage.Ai<fdu>;
|
|
9
10
|
export type RoleMessage = RoleMessage.Instance;
|
|
10
11
|
export declare namespace RoleMessage {
|
|
11
12
|
abstract class Instance {
|
|
@@ -17,23 +18,23 @@ export declare namespace RoleMessage {
|
|
|
17
18
|
namespace Part {
|
|
18
19
|
export import Text = Compatible.RoleMessage.Part.Text;
|
|
19
20
|
}
|
|
20
|
-
type Ai<
|
|
21
|
+
type Ai<fdm extends Function.Declaration.Map> = Ai.Instance<fdm>;
|
|
21
22
|
namespace Ai {
|
|
22
|
-
function create<
|
|
23
|
+
function create<fdm extends Function.Declaration.Map>(parts: RoleMessage.Ai.Part<fdm>[], raw: Google.Content): Ai<fdm>;
|
|
23
24
|
const NOMINAL: unique symbol;
|
|
24
|
-
class Instance<out
|
|
25
|
-
protected parts: RoleMessage.Ai.Part<
|
|
25
|
+
class Instance<in out fdm extends Function.Declaration.Map> extends RoleMessage.Instance {
|
|
26
|
+
protected parts: RoleMessage.Ai.Part<fdm>[];
|
|
26
27
|
protected raw: Google.Content;
|
|
27
28
|
readonly [NOMINAL]: void;
|
|
28
|
-
constructor(parts: RoleMessage.Ai.Part<
|
|
29
|
-
getParts(): RoleMessage.Ai.Part<
|
|
29
|
+
constructor(parts: RoleMessage.Ai.Part<fdm>[], raw: Google.Content);
|
|
30
|
+
getParts(): RoleMessage.Ai.Part<fdm>[];
|
|
30
31
|
getRaw(): Google.Content;
|
|
31
32
|
getText(): string;
|
|
32
33
|
getOnlyText(): string;
|
|
33
|
-
getOnlyFunctionCall(): Function.Call.
|
|
34
|
-
getFunctionCalls(): Function.Call.
|
|
34
|
+
getOnlyFunctionCall(): Function.Call.From<fdm>;
|
|
35
|
+
getFunctionCalls(): Function.Call.From<fdm>[];
|
|
35
36
|
}
|
|
36
|
-
type Part<
|
|
37
|
+
type Part<fdm extends Function.Declaration.Map> = RoleMessage.Part.Text | Function.Call.From<fdm> | RoleMessage.Ai.Part.ExecutableCode | RoleMessage.Ai.Part.CodeExecutionResult;
|
|
37
38
|
namespace Part {
|
|
38
39
|
type ExecutableCode = ExecutableCode.Instance;
|
|
39
40
|
namespace ExecutableCode {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as Compatible from
|
|
2
|
-
import { Function } from
|
|
1
|
+
import * as Compatible from '#@/compatible/session.ts';
|
|
2
|
+
import { Function } from '#@/function.ts';
|
|
3
3
|
import * as Google from '@google/genai';
|
|
4
4
|
export var RoleMessage;
|
|
5
5
|
(function (RoleMessage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAmBxC,MAAM,KAAW,WAAW,CAuF3B;AAvFD,WAAiB,WAAW;IACxB,MAAsB,QAAQ;QACnB,MAAM,CAAU,oBAAoB,GAAG,MAAM,EAAE,CAAC;;IADrC,oBAAQ,WAK7B,CAAA;IACD,IAAiB,IAAI,CAEpB;IAFD,WAAiB,IAAI;QACH,SAAI,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1D,CAAC,EAFgB,IAAI,GAAJ,gBAAI,KAAJ,gBAAI,QAEpB;IAGD,IAAiB,EAAE,CAuElB;IAvED,WAAiB,EAAE;QACf,SAAgB,MAAM,CAClB,KAAiC,EACjC,GAAmB;YAEnB,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QALe,SAAM,SAKrB,CAAA;QACY,UAAO,GAAG,MAAM,EAAE,CAAC;QAChC,MAAa,QAAsD,SAAQ,WAAW,CAAC,QAAQ;YAG7E;YACA;YAFd,YACc,KAAiC,EACjC,GAAmB;gBAE7B,KAAK,EAAE,CAAC;gBAHE,UAAK,GAAL,KAAK,CAA4B;gBACjC,QAAG,GAAH,GAAG,CAAgB;YAGjC,CAAC;YAEM,QAAQ;gBACX,OAAO,IAAI,CAAC,KAAK,CAAC;YACtB,CAAC;YACM,MAAM;gBACT,OAAO,IAAI,CAAC,GAAG,CAAC;YACpB,CAAC;YACM,OAAO;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrH,CAAC;YACM,WAAW;gBACd,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBACxG,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YACM,mBAAmB;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAChD,OAAO,GAAG,CAAC,CAAC,CAAE,CAAC;YACnB,CAAC;YACM,gBAAgB;gBACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;SACJ;QA9BY,WAAQ,WA8BpB,CAAA;QASD,IAAiB,IAAI,CAuBpB;QAvBD,WAAiB,IAAI;YAEjB,IAAiB,cAAc,CAS9B;YATD,WAAiB,cAAc;gBACd,sBAAO,GAAG,MAAM,EAAE,CAAC;gBAChC,MAAa,QAAQ;oBAES;oBAAqB;oBAA/C,YAA0B,IAAY,EAAS,QAAgB;wBAArC,SAAI,GAAJ,IAAI,CAAQ;wBAAS,aAAQ,GAAR,QAAQ,CAAQ;oBAAG,CAAC;iBACtE;gBAHY,uBAAQ,WAGpB,CAAA;gBACD,SAAgB,MAAM,CAAC,IAAY,EAAE,QAAgB;oBACjD,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC;gBAFe,qBAAM,SAErB,CAAA;YACL,CAAC,EATgB,cAAc,GAAd,mBAAc,KAAd,mBAAc,QAS9B;YAED,IAAiB,mBAAmB,CASnC;YATD,WAAiB,mBAAmB;gBACnB,2BAAO,GAAG,MAAM,EAAE,CAAC;gBAChC,MAAa,QAAQ;oBAES;oBAAwB;oBAAlD,YAA0B,OAAe,EAAS,MAAe;wBAAvC,YAAO,GAAP,OAAO,CAAQ;wBAAS,WAAM,GAAN,MAAM,CAAS;oBAAG,CAAC;iBACxE;gBAHY,4BAAQ,WAGpB,CAAA;gBACD,SAAgB,MAAM,CAAC,OAAe,EAAE,MAAe;oBACnD,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAFe,0BAAM,SAErB,CAAA;YACL,CAAC,EATgB,mBAAmB,GAAnB,wBAAmB,KAAnB,wBAAmB,QASnC;QACL,CAAC,EAvBgB,IAAI,GAAJ,OAAI,KAAJ,OAAI,QAuBpB;IACL,CAAC,EAvEgB,EAAE,GAAF,cAAE,KAAF,cAAE,QAuElB;IAEa,gBAAI,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;IACnC,qBAAS,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;AAC/D,CAAC,EAvFgB,WAAW,KAAX,WAAW,QAuF3B"}
|