@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.
Files changed (215) hide show
  1. package/DEVELOPMENT.md +13 -14
  2. package/README.md +7 -14
  3. package/build/adaptor.d.ts +5 -5
  4. package/build/adaptor.js +16 -16
  5. package/build/adaptor.js.map +1 -1
  6. package/build/agentloop.d.ts +5 -5
  7. package/build/agentloop.js +4 -4
  8. package/build/agentloop.js.map +1 -1
  9. package/build/api-types/anthropic/billing.d.ts +12 -0
  10. package/build/api-types/anthropic/billing.js +15 -0
  11. package/build/api-types/anthropic/billing.js.map +1 -0
  12. package/build/api-types/anthropic/tool-codec.d.ts +17 -0
  13. package/build/api-types/anthropic/tool-codec.js +73 -0
  14. package/build/api-types/anthropic/tool-codec.js.map +1 -0
  15. package/build/api-types/google/billing.d.ts +12 -0
  16. package/build/api-types/google/billing.js +24 -0
  17. package/build/api-types/google/billing.js.map +1 -0
  18. package/build/api-types/google/restful-request.d.ts +8 -0
  19. package/build/api-types/google/restful-request.js +2 -0
  20. package/build/api-types/google/restful-request.js.map +1 -0
  21. package/build/api-types/google/tool-codec.d.ts +16 -0
  22. package/build/api-types/{google.js → google/tool-codec.js} +27 -26
  23. package/build/api-types/google/tool-codec.js.map +1 -0
  24. package/build/api-types/openai-chatcompletion/billing.d.ts +13 -0
  25. package/build/api-types/openai-chatcompletion/billing.js +16 -0
  26. package/build/api-types/openai-chatcompletion/billing.js.map +1 -0
  27. package/build/api-types/openai-chatcompletion/tool-codec.d.ts +18 -0
  28. package/build/api-types/openai-chatcompletion/tool-codec.js +86 -0
  29. package/build/api-types/openai-chatcompletion/tool-codec.js.map +1 -0
  30. package/build/api-types/openai-responses/billing.d.ts +12 -0
  31. package/build/api-types/openai-responses/billing.js +15 -0
  32. package/build/api-types/openai-responses/billing.js.map +1 -0
  33. package/build/api-types/openai-responses/tool-codec.d.ts +16 -0
  34. package/build/api-types/openai-responses/tool-codec.js +72 -0
  35. package/build/api-types/openai-responses/tool-codec.js.map +1 -0
  36. package/build/compatible/engine.d/aliyun.d.ts +23 -0
  37. package/build/compatible/engine.d/aliyun.js +44 -0
  38. package/build/compatible/engine.d/aliyun.js.map +1 -0
  39. package/build/compatible/engine.d/anthropic.d.ts +23 -0
  40. package/build/compatible/engine.d/anthropic.js +41 -0
  41. package/build/compatible/engine.d/anthropic.js.map +1 -0
  42. package/build/compatible/engine.d/google.d.ts +23 -0
  43. package/build/compatible/engine.d/google.js +45 -0
  44. package/build/compatible/engine.d/google.js.map +1 -0
  45. package/build/compatible/engine.d/openai-responses.d.ts +23 -0
  46. package/build/compatible/engine.d/openai-responses.js +41 -0
  47. package/build/compatible/engine.d/openai-responses.js.map +1 -0
  48. package/build/compatible/engine.d.ts +18 -0
  49. package/build/compatible/engine.js +21 -0
  50. package/build/compatible/engine.js.map +1 -0
  51. package/build/compatible/session.d.ts +78 -0
  52. package/build/compatible/session.js +138 -0
  53. package/build/compatible/session.js.map +1 -0
  54. package/build/compatible/tool-call-validator.d.ts +11 -0
  55. package/build/compatible/tool-call-validator.js +12 -0
  56. package/build/compatible/tool-call-validator.js.map +1 -0
  57. package/build/compatible.d/aliyun/transport.d.ts +11 -0
  58. package/build/compatible.d/aliyun/transport.js +9 -0
  59. package/build/compatible.d/aliyun/transport.js.map +1 -0
  60. package/build/compatible.d/anthropic/message-codec.d.ts +31 -0
  61. package/build/compatible.d/anthropic/message-codec.js +88 -0
  62. package/build/compatible.d/anthropic/message-codec.js.map +1 -0
  63. package/build/compatible.d/anthropic/transport.d.ts +31 -0
  64. package/build/compatible.d/anthropic/transport.js +137 -0
  65. package/build/compatible.d/anthropic/transport.js.map +1 -0
  66. package/build/compatible.d/google/message-codec.d.ts +31 -0
  67. package/build/compatible.d/google/message-codec.js +98 -0
  68. package/build/compatible.d/google/message-codec.js.map +1 -0
  69. package/build/compatible.d/google/transport.d.ts +28 -0
  70. package/build/compatible.d/google/transport.js +74 -0
  71. package/build/compatible.d/google/transport.js.map +1 -0
  72. package/build/compatible.d/openai-chatcompletions/message-codec.d.ts +19 -0
  73. package/build/compatible.d/openai-chatcompletions/message-codec.js +66 -0
  74. package/build/compatible.d/openai-chatcompletions/message-codec.js.map +1 -0
  75. package/build/compatible.d/openai-chatcompletions/transport.d.ts +9 -0
  76. package/build/compatible.d/openai-chatcompletions/transport.js +25 -0
  77. package/build/compatible.d/openai-chatcompletions/transport.js.map +1 -0
  78. package/build/compatible.d/openai-chatcompletions.d/monolith.d.ts +36 -0
  79. package/build/compatible.d/openai-chatcompletions.d/monolith.js +74 -0
  80. package/build/compatible.d/openai-chatcompletions.d/monolith.js.map +1 -0
  81. package/build/compatible.d/openai-chatcompletions.d/stream.d.ts +35 -0
  82. package/build/{compatible-engines.d → compatible.d}/openai-chatcompletions.d/stream.js +52 -42
  83. package/build/compatible.d/openai-chatcompletions.d/stream.js.map +1 -0
  84. package/build/compatible.d/openai-responses/message-codec.d.ts +32 -0
  85. package/build/compatible.d/openai-responses/message-codec.js +105 -0
  86. package/build/compatible.d/openai-responses/message-codec.js.map +1 -0
  87. package/build/compatible.d/openai-responses/transport.d.ts +33 -0
  88. package/build/compatible.d/openai-responses/transport.js +88 -0
  89. package/build/compatible.d/openai-responses/transport.js.map +1 -0
  90. package/build/config.js +1 -1
  91. package/build/config.js.map +1 -1
  92. package/build/engine.d.ts +48 -26
  93. package/build/engine.js +78 -29
  94. package/build/engine.js.map +1 -1
  95. package/build/exports.d.ts +14 -13
  96. package/build/exports.js +14 -13
  97. package/build/exports.js.map +1 -1
  98. package/build/function.d.ts +25 -13
  99. package/build/function.js +2 -1
  100. package/build/function.js.map +1 -1
  101. package/build/inference-context.d.ts +1 -1
  102. package/build/native-engines.d/google/agentloop.d.ts +6 -6
  103. package/build/native-engines.d/google/agentloop.js +5 -5
  104. package/build/native-engines.d/google/agentloop.js.map +1 -1
  105. package/build/native-engines.d/google/engine.d.ts +28 -103
  106. package/build/native-engines.d/google/engine.js +63 -304
  107. package/build/native-engines.d/google/engine.js.map +1 -1
  108. package/build/native-engines.d/google/exports.d.ts +5 -5
  109. package/build/native-engines.d/google/exports.js +5 -5
  110. package/build/native-engines.d/google/exports.js.map +1 -1
  111. package/build/native-engines.d/google/message-codec.d.ts +21 -0
  112. package/build/native-engines.d/google/message-codec.js +69 -0
  113. package/build/native-engines.d/google/message-codec.js.map +1 -0
  114. package/build/native-engines.d/google/session.d.ts +16 -15
  115. package/build/native-engines.d/google/session.js +2 -2
  116. package/build/native-engines.d/google/session.js.map +1 -1
  117. package/build/native-engines.d/google/transport.d.ts +31 -0
  118. package/build/native-engines.d/google/transport.js +81 -0
  119. package/build/native-engines.d/google/transport.js.map +1 -0
  120. package/build/native-engines.d/openai-responses/agentloop.d.ts +7 -7
  121. package/build/native-engines.d/openai-responses/agentloop.js +6 -6
  122. package/build/native-engines.d/openai-responses/agentloop.js.map +1 -1
  123. package/build/native-engines.d/openai-responses/engine.d.ts +26 -106
  124. package/build/native-engines.d/openai-responses/engine.js +53 -334
  125. package/build/native-engines.d/openai-responses/engine.js.map +1 -1
  126. package/build/native-engines.d/openai-responses/exports.d.ts +6 -7
  127. package/build/native-engines.d/openai-responses/exports.js +6 -7
  128. package/build/native-engines.d/openai-responses/exports.js.map +1 -1
  129. package/build/native-engines.d/openai-responses/message-codec.d.ts +21 -0
  130. package/build/native-engines.d/openai-responses/message-codec.js +69 -0
  131. package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
  132. package/build/native-engines.d/openai-responses/session.d.ts +27 -26
  133. package/build/native-engines.d/openai-responses/session.js +3 -3
  134. package/build/native-engines.d/openai-responses/session.js.map +1 -1
  135. package/build/native-engines.d/openai-responses/tool-call-validator.d.ts +12 -0
  136. package/build/native-engines.d/openai-responses/tool-call-validator.js +33 -0
  137. package/build/native-engines.d/openai-responses/tool-call-validator.js.map +1 -0
  138. package/build/native-engines.d/openai-responses/tool.d.ts +3 -3
  139. package/build/native-engines.d/openai-responses/tool.js +1 -1
  140. package/build/native-engines.d/openai-responses/tool.js.map +1 -1
  141. package/build/native-engines.d/openai-responses/transport.d.ts +36 -0
  142. package/build/native-engines.d/openai-responses/transport.js +104 -0
  143. package/build/native-engines.d/openai-responses/transport.js.map +1 -0
  144. package/build/session.d.ts +5 -75
  145. package/build/session.js +0 -136
  146. package/build/session.js.map +1 -1
  147. package/build/throttle.d.ts +1 -1
  148. package/build/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +4 -4
  150. package/test/build/test-codecs.js +230 -0
  151. package/test/build/test-codecs.js.map +1 -0
  152. package/test/build/test-compatible-engine.d.ts +1 -0
  153. package/test/build/test-compatible-engine.js +27 -0
  154. package/test/build/test-compatible-engine.js.map +1 -0
  155. package/test/build/test-compatible-engines.d.ts +1 -0
  156. package/test/build/test-compatible-engines.js +112 -0
  157. package/test/build/test-compatible-engines.js.map +1 -0
  158. package/test/build/test-engine.d.ts +1 -0
  159. package/test/build/test-engine.js +97 -0
  160. package/test/build/test-engine.js.map +1 -0
  161. package/test/build/test-helpers.d.ts +46 -0
  162. package/test/build/test-helpers.js +45 -0
  163. package/test/build/test-helpers.js.map +1 -0
  164. package/test/build/test-native-engines.d.ts +1 -0
  165. package/test/build/test-native-engines.js +64 -0
  166. package/test/build/test-native-engines.js.map +1 -0
  167. package/test/build/test.d.ts +5 -0
  168. package/test/build/test.js +6 -0
  169. package/test/build/test.js.map +1 -0
  170. package/test/build/tsconfig.tsbuildinfo +1 -0
  171. package/test/src/test-codecs.ts +256 -0
  172. package/test/src/test-compatible-engine.ts +45 -0
  173. package/test/src/test-compatible-engines.ts +129 -0
  174. package/test/src/test-engine.ts +144 -0
  175. package/test/src/test-helpers.ts +53 -0
  176. package/test/src/test-native-engines.ts +75 -0
  177. package/test/src/test.ts +5 -0
  178. package/test/src/tsconfig.json +30 -0
  179. package/build/api-types/anthropic.d.ts +0 -29
  180. package/build/api-types/anthropic.js +0 -93
  181. package/build/api-types/anthropic.js.map +0 -1
  182. package/build/api-types/google.d.ts +0 -28
  183. package/build/api-types/google.js.map +0 -1
  184. package/build/api-types/openai-chat-completions.d.ts +0 -31
  185. package/build/api-types/openai-chat-completions.js +0 -113
  186. package/build/api-types/openai-chat-completions.js.map +0 -1
  187. package/build/api-types/openai-responses.d.ts +0 -23
  188. package/build/api-types/openai-responses.js +0 -71
  189. package/build/api-types/openai-responses.js.map +0 -1
  190. package/build/compatible-engine.d.ts +0 -51
  191. package/build/compatible-engine.js +0 -67
  192. package/build/compatible-engine.js.map +0 -1
  193. package/build/compatible-engines.d/aliyun.d.ts +0 -69
  194. package/build/compatible-engines.d/aliyun.js +0 -149
  195. package/build/compatible-engines.d/aliyun.js.map +0 -1
  196. package/build/compatible-engines.d/anthropic.d.ts +0 -78
  197. package/build/compatible-engines.d/anthropic.js +0 -312
  198. package/build/compatible-engines.d/anthropic.js.map +0 -1
  199. package/build/compatible-engines.d/google.d.ts +0 -83
  200. package/build/compatible-engines.d/google.js +0 -279
  201. package/build/compatible-engines.d/google.js.map +0 -1
  202. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.d.ts +0 -15
  203. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js +0 -75
  204. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js.map +0 -1
  205. package/build/compatible-engines.d/openai-chatcompletions.d/stream.d.ts +0 -21
  206. package/build/compatible-engines.d/openai-chatcompletions.d/stream.js.map +0 -1
  207. package/build/compatible-engines.d/openai-chatcompletions.d.ts +0 -27
  208. package/build/compatible-engines.d/openai-chatcompletions.js +0 -76
  209. package/build/compatible-engines.d/openai-chatcompletions.js.map +0 -1
  210. package/build/compatible-engines.d/openai-responses.d.ts +0 -93
  211. package/build/compatible-engines.d/openai-responses.js +0 -300
  212. package/build/compatible-engines.d/openai-responses.js.map +0 -1
  213. package/build/test.js +0 -198
  214. package/build/test.js.map +0 -1
  215. /package/{build/test.d.ts → test/build/test-codecs.d.ts} +0 -0
@@ -1,314 +1,73 @@
1
- import { Function } from "../../function.js";
2
- import { RoleMessage } from "./session.js";
3
- import { ResponseInvalid, Engine, USER_ABORTION, InferenceTimeout } from "../../engine.js";
4
- import {} from "../../inference-context.js";
5
- import * as Google from '@google/genai';
6
- import * as Undici from 'undici';
7
- import { GoogleEngine } from "../../api-types/google.js";
8
- import { GoogleCompatibleEngine } from "../../compatible-engines.d/google.js";
9
- import { CompatibleEngine } from "../../compatible-engine.js";
10
- import { Throttle } from "../../throttle.js";
11
- import { logger } from "../../telemetry.js";
12
- export var GoogleNativeEngine;
13
- (function (GoogleNativeEngine) {
14
- let OwnProps;
15
- (function (OwnProps) {
16
- function init(options) {
17
- return {
18
- apiURL: new URL(`${this.baseUrl}/v1beta/models/${this.model}:generateContent`),
19
- codeExecution: options.codeExecution ?? false,
20
- urlContext: options.urlContext ?? false,
21
- googleSearch: options.googleSearch ?? false,
22
- toolChoice: options.toolChoice ?? Function.ToolChoice.AUTO,
23
- };
24
- }
25
- OwnProps.init = init;
26
- })(OwnProps = GoogleNativeEngine.OwnProps || (GoogleNativeEngine.OwnProps = {}));
27
- async function stateless(wfctx, session) {
28
- for (let retry = 0;; retry++) {
29
- const signalTimeout = this.timeout ? AbortSignal.timeout(this.timeout) : undefined;
30
- const signal = wfctx.signal && signalTimeout ? AbortSignal.any([
31
- wfctx.signal,
32
- signalTimeout,
33
- ]) : wfctx.signal || signalTimeout;
34
- try {
35
- return await this.fetch(wfctx, session, signal);
36
- }
37
- catch (e) {
38
- if (wfctx.signal?.aborted)
39
- throw USER_ABORTION; // 用户中止
40
- else if (signalTimeout?.aborted)
41
- e = new InferenceTimeout(undefined, { cause: e }); // 推理超时
42
- else if (e instanceof ResponseInvalid) { } // 模型抽风
43
- else if (e instanceof TypeError) { } // 网络故障
44
- else
45
- throw e;
46
- if (retry < 3)
47
- logger.message?.warn(e);
48
- else
49
- throw e;
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
- GoogleNativeEngine.stateless = stateless;
54
- async function stateful(wfctx, session) {
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
- GoogleNativeEngine.stateful = stateful;
60
- function appendUserMessage(session, message) {
62
+ appendUserMessage(session, message) {
61
63
  return {
62
- ...session,
64
+ developerMessage: session.developerMessage,
63
65
  chatMessages: [...session.chatMessages, message],
64
66
  };
65
67
  }
66
- GoogleNativeEngine.appendUserMessage = appendUserMessage;
67
- function pushUserMessage(session, message) {
68
+ pushUserMessage(session, message) {
68
69
  session.chatMessages.push(message);
69
70
  return session;
70
71
  }
71
- GoogleNativeEngine.pushUserMessage = pushUserMessage;
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAkC,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAyB,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAsB5C,MAAM,KAAW,kBAAkB,CA4XlC;AA5XD,WAAiB,kBAAkB;IAwB/B,IAAiB,QAAQ,CAaxB;IAbD,WAAiB,QAAQ;QACrB,SAAgB,IAAI,CAEhB,OAAqB;YAErB,OAAO;gBACH,MAAM,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,IAAI,CAAC,KAAK,kBAAkB,CAAC;gBAC9E,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;gBAC7C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;gBACvC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;gBAC3C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI;aAC7D,CAAC;QACN,CAAC;QAXe,aAAI,OAWnB,CAAA;IACL,CAAC,EAbgB,QAAQ,GAAR,2BAAQ,KAAR,2BAAQ,QAaxB;IAqBM,KAAK,UAAU,SAAS,CAE3B,KAAuB,EACvB,OAAgD;QAEhD,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC3D,KAAK,CAAC,MAAM;gBACZ,aAAa;aAChB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC;YACnC,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAM,aAAa,CAAC,CAAqC,OAAO;qBACtF,IAAI,aAAa,EAAE,OAAO;oBAAE,CAAC,GAAG,IAAI,gBAAgB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;qBACtF,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC,CAAA,CAAC,CAAmC,OAAO;qBAC9E,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC,CAAA,CAAC,CAA2C,OAAO;;oBAChF,MAAM,CAAC,CAAC;gBACb,IAAI,KAAK,GAAG,CAAC;oBAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;;oBAAM,MAAM,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IAtBqB,4BAAS,YAsB9B,CAAA;IAEM,KAAK,UAAU,QAAQ,CAE1B,KAAuB,EACvB,OAAgD;QAEhD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IACpB,CAAC;IARqB,2BAAQ,WAQ7B,CAAA;IAED,SAAgB,iBAAiB,CAC7B,OAAgD,EAChD,OAAyD;QAEzD,OAAO;YACH,GAAG,OAAO;YACV,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;SACnD,CAAC;IACN,CAAC;IARe,oCAAiB,oBAQhC,CAAA;IAED,SAAgB,eAAe,CAC3B,OAAgD,EAChD,OAAyD;QAEzD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACnB,CAAC;IANe,kCAAe,kBAM9B,CAAA;IAED,SAAgB,kBAAkB,CAE9B,OAAuB;QAEvB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtD,MAAM,KAAK,GAA0D,EAAE,CAAC;YACxE,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5C,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBACxD,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC5D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClH,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjD,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAA,CAAC;;oBAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YAClI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,IAAI,eAAe,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3F,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjB,CAAC;IA9Be,qCAAkB,qBA8BjC,CAAA;IAED,SAAgB,oBAAoB,CAChC,SAAyD;QAEzD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAJe,uCAAoB,uBAInC,CAAA;IAED,SAAgB,sBAAsB,CAElC,WAA6D;QAE7D,OAAO,CAAC,sBAAsB,CAAC,sBAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACxF,CAAC;IALe,yCAAsB,yBAKrC,CAAA;IAED,SAAgB,2BAA2B,CAEvC,gBAAuC;QAEvC,OAAO,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC7F,CAAC;IALe,8CAA2B,8BAK1C,CAAA;IAED,SAAgB,uBAAuB,CAEnC,YAA2D;QAE3D,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YAClC,IAAI,WAAW,YAAY,WAAW,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;iBACjG,IAAI,WAAW,YAAY,WAAW,CAAC,EAAE,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;;gBAClG,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IATe,0CAAuB,0BAStC,CAAA;IAED,SAAgB,qBAAqB,CAEjC,UAAoC;QAEpC,OAAO,CAAC,sBAAsB,CAAC,qBAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IALe,wCAAqB,wBAKpC,CAAA;IAEM,KAAK,UAAU,KAAK,CAEvB,KAAuB,EACvB,OAAgD,EAChD,MAAoB;QAEpB,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACjH,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAEpE,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAA2C,CAAC;QACrF,MAAM,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzG,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,IAAI,oBAAoB,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,aAAa;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAgC;YACzC,QAAQ;YACR,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACvC,UAAU,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC;aACrE,CAAC,CAAC,CAAC,SAAS;YACb,iBAAiB;YACjB,gBAAgB,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACzD,eAAe,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;gBAC5C,GAAG,IAAI,CAAC,iBAAiB;aAC5B,CAAC,CAAC,CAAC,SAAS;SAChB,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,OAAO,CAAC;gBACjB,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,IAAI,CAAC,MAAM;aAChC,CAAC;YACF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM;SACT,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,EAAoC,CAAC;QAEpE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChI,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAAC,UAAU;YACtE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA,CAAC;;YACnE,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG9E,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,YAAY;gBAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAA,CAAC;;YAC3C,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE9C,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAC9E,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,IAAI,CAAC,CAAC;QAC/E,MAAM,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;QACzF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,IAAI,CAAC,CAAC;QAC1E,MAAM,IAAI,GACN,IAAI,CAAC,UAAU,GAAG,mBAAmB,GAAG,GAAG;YAC3C,IAAI,CAAC,UAAU,GAAG,kBAAkB,GAAG,GAAG;YAC1C,IAAI,CAAC,WAAW,GAAG,oBAAoB,GAAG,GAAG;YAC7C,IAAI,CAAC,WAAW,GAAG,kBAAkB,GAAG,GAAG,CAAC;QAChD,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC;IACrB,CAAC;IA5EqB,wBAAK,QA4E1B,CAAA;IAED,SAAgB,6BAA6B,CAEzC,SAAuE;QAEvE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAClB,SAAS,EACT,IAAI,CAAC,UAAU,EACf,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CACrE,CAAC;IACN,CAAC;IATe,gDAA6B,gCAS5C,CAAA;IAED,MAAa,QAAQ;QACV,OAAO,CAAS;QAChB,MAAM,CAAS;QACf,KAAK,CAAS;QACd,IAAI,CAAS;QACb,UAAU,CAAS;QACnB,WAAW,CAAS;QACpB,UAAU,CAAS;QACnB,GAAG,CAAM;QACT,iBAAiB,CAA2B;QAC5C,QAAQ,CAAW;QACnB,OAAO,CAAU;QACjB,SAAS,CAAU;QACnB,UAAU,CAAqB;QAE/B,gBAAgB,CAAU;QAE1B,MAAM,CAAM;QACZ,aAAa,CAAU;QACvB,UAAU,CAAU;QACpB,YAAY,CAAU;QACtB,UAAU,CAA2B;QAE5C,YAAmB,OAAwC;YACvD,CAAC;gBACG,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAErD,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAEtG,CAAC;gBACG,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAS,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACrE,CAAC;QAGM,SAAS,CAAC,KAAuB,EAAE,OAAgD;YACtF,OAAO,CAAC,kBAAkB,CAAC,SAAc,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QACM,QAAQ,CAAC,KAAuB,EAAE,OAAgD;YACrF,OAAO,CAAC,kBAAkB,CAAC,QAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QACM,iBAAiB,CAAC,OAAgD,EAAE,OAAyD;YAChI,OAAO,CAAC,kBAAkB,CAAC,iBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC;QACM,eAAe,CAAC,OAAgD,EAAE,OAAyD;YAC9H,OAAO,CAAC,kBAAkB,CAAC,eAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;QACM,6BAA6B,CAAC,SAAuE;YACxG,OAAO,CAAC,kBAAkB,CAAC,6BAAkC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;QAGM,uBAAuB,CAAC,EAA8D;YACzF,OAAO,CAAC,YAAY,CAAC,uBAA4B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;QACM,qBAAqB,CAAC,QAA6B;YACtD,OAAO,CAAC,YAAY,CAAC,qBAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1E,CAAC;QACM,mCAAmC,CAAC,OAA6C;YACpF,OAAO,CAAC,YAAY,CAAC,mCAAwC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvF,CAAC;QAGM,sBAAsB,CAAC,WAA6D;YACvF,OAAO,CAAC,kBAAkB,CAAC,sBAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpF,CAAC;QACM,oBAAoB,CAAC,SAAyD;YACjF,OAAO,CAAC,kBAAkB,CAAC,oBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;QACM,2BAA2B,CAAC,gBAAuC;YACtE,OAAO,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACzF,CAAC;QACM,uBAAuB,CAAC,YAA2D;YACtF,OAAO,CAAC,kBAAkB,CAAC,uBAA4B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACtF,CAAC;QACM,kBAAkB,CAAC,OAAuB;YAC7C,OAAO,CAAC,kBAAkB,CAAC,kBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5E,CAAC;QACM,qBAAqB,CAAC,UAAoC;YAC7D,OAAO,CAAC,kBAAkB,CAAC,qBAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClF,CAAC;QAGM,KAAK,CAAC,KAAuB,EAAE,OAAgD,EAAE,MAAoB;YACxG,OAAO,CAAC,kBAAkB,CAAC,KAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;KAEJ;IAxGY,2BAAQ,WAwGpB,CAAA;IAED,SAAgB,MAAM,CAClB,OAAwC;QAExC,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAM,OAAO,CAAC,CAAC;IACzD,CAAC;IAJe,yBAAM,SAIrB,CAAA;AACL,CAAC,EA5XgB,kBAAkB,KAAlB,kBAAkB,QA4XlC"}
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 './engine.ts';
2
- export * from './session.ts';
3
- export * from './agentloop.ts';
4
- export * from '../../telemetry.ts';
5
- export * from '../../engine.ts';
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 "./engine.js";
2
- export * from "./session.js";
3
- export * from "./agentloop.js";
4
- export * from "../../telemetry.js";
5
- export * from "../../engine.js";
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,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,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 '../../session.ts';
2
- import { Function } from '../../function.ts';
1
+ import * as Compatible from '#@/compatible/session.ts';
2
+ import { Function } from '#@/function.ts';
3
3
  import * as Google from '@google/genai';
4
- export interface Session<out fdu extends Function.Declaration = never> {
5
- developerMessage?: RoleMessage.Developer;
6
- chatMessages: ChatMessage<fdu>[];
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<fdu extends Function.Declaration = never> = Ai.Instance<fdu>;
21
+ type Ai<fdm extends Function.Declaration.Map> = Ai.Instance<fdm>;
21
22
  namespace Ai {
22
- function create<fdu extends Function.Declaration = never>(parts: RoleMessage.Ai.Part<fdu>[], raw: Google.Content): Ai<fdu>;
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 fdu extends Function.Declaration = never> extends RoleMessage.Instance {
25
- protected parts: RoleMessage.Ai.Part<fdu>[];
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<fdu>[], raw: Google.Content);
29
- getParts(): RoleMessage.Ai.Part<fdu>[];
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.Distributive<fdu>;
34
- getFunctionCalls(): Function.Call.Distributive<fdu>[];
34
+ getOnlyFunctionCall(): Function.Call.From<fdm>;
35
+ getFunctionCalls(): Function.Call.From<fdm>[];
35
36
  }
36
- type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Function.Call.Distributive<fdu> | RoleMessage.Ai.Part.ExecutableCode | RoleMessage.Ai.Part.CodeExecutionResult;
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 "../../session.js";
2
- import { Function } from "../../function.js";
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":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/session.ts"],"names":[],"mappings":"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"}