@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,279 +0,0 @@
1
- import { CompatibleEngine } from "../compatible-engine.js";
2
- import { Engine, ResponseInvalid } from "../engine.js";
3
- import { RoleMessage } from "../session.js";
4
- import { Function } from "../function.js";
5
- import * as Google from '@google/genai';
6
- import * as Undici from 'undici';
7
- import {} from "../inference-context.js";
8
- import { GoogleEngine } from "../api-types/google.js";
9
- import { Throttle } from "../throttle.js";
10
- import { logger } from "../telemetry.js";
11
- export var GoogleCompatibleEngine;
12
- (function (GoogleCompatibleEngine) {
13
- let OwnProps;
14
- (function (OwnProps) {
15
- function init(options) {
16
- return {
17
- apiURL: new URL(`${this.baseUrl}/v1beta/models/${this.model}:generateContent`),
18
- };
19
- }
20
- OwnProps.init = init;
21
- })(OwnProps = GoogleCompatibleEngine.OwnProps || (GoogleCompatibleEngine.OwnProps = {}));
22
- function convertFromAiMessage(aiMessage) {
23
- if (aiMessage instanceof GoogleCompatibleEngine.Message.Ai.Instance)
24
- return aiMessage.getRaw();
25
- else {
26
- const parts = aiMessage.getParts().map(part => {
27
- if (part instanceof RoleMessage.Part.Text.Instance)
28
- return Google.createPartFromText(part.text);
29
- else if (part instanceof Function.Call) {
30
- if (part.args instanceof Object) { }
31
- else
32
- throw new Error();
33
- return Google.createPartFromFunctionCall(part.name, part.args);
34
- }
35
- else
36
- throw new Error();
37
- });
38
- return Google.createModelContent(parts);
39
- }
40
- }
41
- GoogleCompatibleEngine.convertFromAiMessage = convertFromAiMessage;
42
- function convertFromChatMessages(chatMessages) {
43
- return chatMessages.map(chatMessage => {
44
- if (chatMessage instanceof RoleMessage.User.Instance)
45
- return this.convertFromUserMessage(chatMessage);
46
- else if (chatMessage instanceof RoleMessage.Ai.Instance)
47
- return this.convertFromAiMessage(chatMessage);
48
- else
49
- throw new Error();
50
- });
51
- }
52
- GoogleCompatibleEngine.convertFromChatMessages = convertFromChatMessages;
53
- async function fetch(wfctx, session, signal) {
54
- const systemInstruction = session.developerMessage && this.convertFromDeveloperMessage(session.developerMessage);
55
- const contents = this.convertFromChatMessages(session.chatMessages);
56
- await this.throttle.requests(wfctx);
57
- const fdentries = Object.entries(this.fdm);
58
- const tools = fdentries.map(fdentry => this.convertFromFunctionDeclarationEntry(fdentry));
59
- const reqbody = {
60
- contents,
61
- tools: tools.length ? [{
62
- functionDeclarations: tools,
63
- }] : undefined,
64
- toolConfig: tools.length ? {
65
- functionCallingConfig: this.convertFromToolChoice(this.toolChoice),
66
- } : undefined,
67
- systemInstruction,
68
- generationConfig: this.maxTokens || this.additionalOptions ? {
69
- maxOutputTokens: this.maxTokens ?? undefined,
70
- ...this.additionalOptions,
71
- } : undefined,
72
- };
73
- logger.message?.trace(reqbody);
74
- const res = await Undici.fetch(this.apiURL, {
75
- method: 'POST',
76
- headers: new Headers({
77
- 'Content-Type': 'application/json',
78
- 'x-goog-api-key': this.apiKey,
79
- }),
80
- body: JSON.stringify(reqbody),
81
- dispatcher: this.proxyAgent,
82
- signal,
83
- });
84
- logger.message?.trace(res);
85
- if (res.ok) { }
86
- else
87
- throw new Error(undefined, { cause: res });
88
- const response = await res.json();
89
- if (response.candidates?.[0]?.content?.parts?.length) { }
90
- else
91
- throw new ResponseInvalid('Content missing', { cause: response });
92
- if (response.candidates[0].finishReason === Google.FinishReason.MAX_TOKENS)
93
- throw new ResponseInvalid('Token limit exceeded.', { cause: response });
94
- if (response.candidates[0].finishReason === Google.FinishReason.STOP) { }
95
- else
96
- throw new ResponseInvalid('Abnormal finish reason', { cause: response });
97
- for (const part of response.candidates[0].content.parts) {
98
- if (part.text)
99
- logger.inference?.debug(part.text + '\n');
100
- if (part.functionCall)
101
- logger.message?.debug(part.functionCall);
102
- }
103
- if (response.usageMetadata?.promptTokenCount) { }
104
- else
105
- throw new Error('Prompt token count absent', { cause: response });
106
- logger.message?.debug(response.usageMetadata);
107
- const candidatesTokenCount = response.usageMetadata.candidatesTokenCount ?? 0;
108
- const cacheHitTokenCount = response.usageMetadata.cachedContentTokenCount ?? 0;
109
- const cacheMissTokenCount = response.usageMetadata.promptTokenCount - cacheHitTokenCount;
110
- const thinkingTokenCount = response.usageMetadata.thoughtsTokenCount ?? 0;
111
- const cost = this.inputPrice * cacheMissTokenCount / 1e6 +
112
- this.cachePrice * cacheHitTokenCount / 1e6 +
113
- this.outputPrice * candidatesTokenCount / 1e6 +
114
- this.outputPrice * thinkingTokenCount / 1e6;
115
- wfctx.cost?.(cost);
116
- const aiMessage = this.convertToAiMessage(response.candidates[0].content);
117
- this.validateToolCallsByToolChoice(aiMessage.getFunctionCalls());
118
- return aiMessage;
119
- }
120
- GoogleCompatibleEngine.fetch = fetch;
121
- function convertFromUserMessage(userMessage) {
122
- const parts = userMessage.getParts().map(part => {
123
- if (part instanceof RoleMessage.Part.Text.Instance)
124
- return Google.createPartFromText(part.text);
125
- else if (part instanceof Function.Response)
126
- return {
127
- functionResponse: { id: part.id, name: part.name, response: { returnValue: part.text } },
128
- };
129
- else
130
- throw new Error();
131
- });
132
- return Google.createUserContent(parts);
133
- }
134
- GoogleCompatibleEngine.convertFromUserMessage = convertFromUserMessage;
135
- function convertFromDeveloperMessage(developerMessage) {
136
- const parts = developerMessage.getParts().map(part => Google.createPartFromText(part.text));
137
- return { parts };
138
- }
139
- GoogleCompatibleEngine.convertFromDeveloperMessage = convertFromDeveloperMessage;
140
- function convertFromToolChoice(toolChoice) {
141
- if (toolChoice === Function.ToolChoice.NONE)
142
- return { mode: Google.FunctionCallingConfigMode.NONE };
143
- else if (toolChoice === Function.ToolChoice.REQUIRED)
144
- return { mode: Google.FunctionCallingConfigMode.ANY };
145
- else if (toolChoice === Function.ToolChoice.AUTO)
146
- return { mode: Google.FunctionCallingConfigMode.AUTO };
147
- else
148
- return { mode: Google.FunctionCallingConfigMode.ANY, allowedFunctionNames: [...toolChoice] };
149
- }
150
- GoogleCompatibleEngine.convertFromToolChoice = convertFromToolChoice;
151
- function convertToAiMessage(content) {
152
- if (content.parts) { }
153
- else
154
- throw new Error();
155
- return GoogleCompatibleEngine.Message.Ai.create(content.parts.flatMap(part => {
156
- const parts = [];
157
- if (part.functionCall || part.text) { }
158
- else
159
- throw new ResponseInvalid('Unknown content part', { cause: content });
160
- if (part.text)
161
- parts.push(RoleMessage.Part.Text.create(part.text));
162
- if (part.functionCall)
163
- parts.push(this.convertToFunctionCall(part.functionCall));
164
- return parts;
165
- }), content);
166
- }
167
- GoogleCompatibleEngine.convertToAiMessage = convertToAiMessage;
168
- let Message;
169
- (function (Message) {
170
- let Ai;
171
- (function (Ai) {
172
- function create(parts, raw) {
173
- return new Instance(parts, raw);
174
- }
175
- Ai.create = create;
176
- Ai.NOMINAL = Symbol();
177
- class Instance extends RoleMessage.Ai.Instance {
178
- raw;
179
- constructor(parts, raw) {
180
- super(parts);
181
- this.raw = raw;
182
- }
183
- getRaw() {
184
- return this.raw;
185
- }
186
- }
187
- Ai.Instance = Instance;
188
- })(Ai = Message.Ai || (Message.Ai = {}));
189
- })(Message = GoogleCompatibleEngine.Message || (GoogleCompatibleEngine.Message = {}));
190
- class Instance {
191
- baseUrl;
192
- apiKey;
193
- model;
194
- name;
195
- inputPrice;
196
- outputPrice;
197
- cachePrice;
198
- fdm;
199
- additionalOptions;
200
- throttle;
201
- timeout;
202
- maxTokens;
203
- proxyAgent;
204
- toolChoice;
205
- parallelToolCall;
206
- apiURL;
207
- constructor(options) {
208
- ({
209
- baseUrl: this.baseUrl,
210
- apiKey: this.apiKey,
211
- model: this.model,
212
- name: this.name,
213
- inputPrice: this.inputPrice,
214
- outputPrice: this.outputPrice,
215
- cachePrice: this.cachePrice,
216
- fdm: this.fdm,
217
- additionalOptions: this.additionalOptions,
218
- throttle: this.throttle,
219
- timeout: this.timeout,
220
- maxTokens: this.maxTokens,
221
- proxyAgent: this.proxyAgent,
222
- } = (Engine.OwnProps.init).call(this, options));
223
- ({ toolChoice: this.toolChoice } = (CompatibleEngine.OwnProps.init).call(this, options));
224
- ({ parallelToolCall: this.parallelToolCall } = (GoogleEngine.OwnProps.init).call(this, options));
225
- ({ apiURL: this.apiURL } = (GoogleCompatibleEngine.OwnProps.init).call(this, options));
226
- }
227
- stateless(wfctx, session) {
228
- return (CompatibleEngine.stateless).call(this, wfctx, session);
229
- }
230
- stateful(wfctx, session) {
231
- return (CompatibleEngine.stateful).call(this, wfctx, session);
232
- }
233
- appendUserMessage(session, message) {
234
- return (CompatibleEngine.appendUserMessage).call(this, session, message);
235
- }
236
- pushUserMessage(session, message) {
237
- return (CompatibleEngine.pushUserMessage).call(this, session, message);
238
- }
239
- validateToolCallsByToolChoice(toolCalls) {
240
- return (CompatibleEngine.validateToolCallsByToolChoice).call(this, toolCalls);
241
- }
242
- convertFromFunctionCall(fc) {
243
- return (GoogleEngine.convertFromFunctionCall).call(this, fc);
244
- }
245
- convertToFunctionCall(googlefc) {
246
- return (GoogleEngine.convertToFunctionCall).call(this, googlefc);
247
- }
248
- convertFromFunctionDeclarationEntry(fdentry) {
249
- return (GoogleEngine.convertFromFunctionDeclarationEntry).call(this, fdentry);
250
- }
251
- convertFromUserMessage(userMessage) {
252
- return (GoogleCompatibleEngine.convertFromUserMessage).call(this, userMessage);
253
- }
254
- convertFromAiMessage(aiMessage) {
255
- return (GoogleCompatibleEngine.convertFromAiMessage).call(this, aiMessage);
256
- }
257
- convertFromDeveloperMessage(developerMessage) {
258
- return (GoogleCompatibleEngine.convertFromDeveloperMessage).call(this, developerMessage);
259
- }
260
- convertFromChatMessages(chatMessages) {
261
- return (GoogleCompatibleEngine.convertFromChatMessages).call(this, chatMessages);
262
- }
263
- convertToAiMessage(content) {
264
- return (GoogleCompatibleEngine.convertToAiMessage).call(this, content);
265
- }
266
- convertFromToolChoice(toolChoice) {
267
- return (GoogleCompatibleEngine.convertFromToolChoice).call(this, toolChoice);
268
- }
269
- fetch(wfctx, session, signal) {
270
- return (GoogleCompatibleEngine.fetch).call(this, wfctx, session, signal);
271
- }
272
- }
273
- GoogleCompatibleEngine.Instance = Instance;
274
- function create(options) {
275
- return new GoogleCompatibleEngine.Instance(options);
276
- }
277
- GoogleCompatibleEngine.create = create;
278
- })(GoogleCompatibleEngine || (GoogleCompatibleEngine = {}));
279
- //# sourceMappingURL=google.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/compatible-engines.d/google.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { RoleMessage, type Session } from '../../session.ts';
2
- import { Function } from '../../function.ts';
3
- import type OpenAI from 'openai';
4
- import { OpenAIChatCompletionsCompatibleEngine } from '../openai-chatcompletions.ts';
5
- import { type InferenceContext } from '../../inference-context.ts';
6
- export declare namespace OpenAIChatCompletionsCompatibleMonolithEngine {
7
- interface Underhood<in out fdm extends Function.Declaration.Map> extends OpenAIChatCompletionsCompatibleEngine.Underhood<fdm> {
8
- apiURL: URL;
9
- makeParams(session: Session<Function.Declaration.From<fdm>>): OpenAI.ChatCompletionCreateParamsNonStreaming;
10
- fetchRaw(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
11
- }
12
- function getApiURL(baseUrl: string): URL;
13
- function makeParams<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleEngine.Underhood<fdm>, session: Session<Function.Declaration.From<fdm>>): OpenAI.ChatCompletionCreateParamsNonStreaming;
14
- function fetchRaw<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleMonolithEngine.Underhood<fdm>, wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
15
- }
@@ -1,75 +0,0 @@
1
- import { RoleMessage } from "../../session.js";
2
- import { Function } from "../../function.js";
3
- import { OpenAIChatCompletionsCompatibleEngine } from "../openai-chatcompletions.js";
4
- import {} from "../../inference-context.js";
5
- import { fetch } from 'undici';
6
- import { ResponseInvalid } from "../../engine.js";
7
- import { logger } from "../../telemetry.js";
8
- export var OpenAIChatCompletionsCompatibleMonolithEngine;
9
- (function (OpenAIChatCompletionsCompatibleMonolithEngine) {
10
- function getApiURL(baseUrl) {
11
- return new URL(`${baseUrl}/chat/completions`);
12
- }
13
- OpenAIChatCompletionsCompatibleMonolithEngine.getApiURL = getApiURL;
14
- function makeParams(session) {
15
- const fdentries = Object.entries(this.fdm);
16
- const tools = fdentries.map(fdentry => this.convertFromFunctionDeclarationEntry(fdentry));
17
- return {
18
- model: this.model,
19
- stream: false,
20
- messages: [
21
- ...(session.developerMessage ? this.convertFromRoleMessage(session.developerMessage) : []),
22
- ...session.chatMessages.flatMap(chatMessage => this.convertFromRoleMessage(chatMessage)),
23
- ],
24
- tools: tools.length ? tools : undefined,
25
- tool_choice: tools.length ? this.convertFromToolChoice(this.toolChoice) : undefined,
26
- parallel_tool_calls: tools.length ? this.parallelToolCall : undefined,
27
- max_completion_tokens: this.maxTokens ?? undefined,
28
- ...this.additionalOptions,
29
- };
30
- }
31
- OpenAIChatCompletionsCompatibleMonolithEngine.makeParams = makeParams;
32
- async function fetchRaw(wfctx, session, signal) {
33
- const params = this.makeParams(session);
34
- logger.message?.trace(params);
35
- await this.throttle.requests(wfctx);
36
- const res = await fetch(this.apiURL, {
37
- method: 'POST',
38
- headers: new Headers({
39
- 'Content-Type': 'application/json',
40
- 'Authorization': `Bearer ${this.apiKey}`,
41
- }),
42
- body: JSON.stringify(params),
43
- dispatcher: this.proxyAgent,
44
- signal,
45
- });
46
- if (res.ok) { }
47
- else
48
- throw new Error(undefined, { cause: res });
49
- const completion = await res.json();
50
- logger.message?.trace(completion);
51
- const choice = completion.choices[0];
52
- if (choice) { }
53
- else
54
- throw new ResponseInvalid('Content missing', { cause: completion });
55
- this.handleFinishReason(completion, choice.finish_reason);
56
- if (completion.usage) { }
57
- else
58
- throw new Error();
59
- const cost = this.calcCost(completion.usage);
60
- wfctx.cost?.(cost);
61
- const aiMessage = this.convertToAiMessage(choice.message);
62
- // logging
63
- const text = aiMessage.getText();
64
- if (text)
65
- logger.inference?.debug(text + '\n');
66
- const apifcs = choice.message.tool_calls;
67
- if (apifcs?.length)
68
- logger.message?.debug(apifcs);
69
- logger.message?.debug(completion.usage);
70
- this.validateToolCallsByToolChoice(aiMessage.getFunctionCalls());
71
- return aiMessage;
72
- }
73
- OpenAIChatCompletionsCompatibleMonolithEngine.fetchRaw = fetchRaw;
74
- })(OpenAIChatCompletionsCompatibleMonolithEngine || (OpenAIChatCompletionsCompatibleMonolithEngine = {}));
75
- //# sourceMappingURL=monolith.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"monolith.js","sourceRoot":"","sources":["../../../src/compatible-engines.d/openai-chatcompletions.d/monolith.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { RoleMessage, type Session } from '../../session.ts';
2
- import { Function } from '../../function.ts';
3
- import type OpenAI from 'openai';
4
- import { OpenAIChatCompletionsCompatibleEngine } from '../openai-chatcompletions.ts';
5
- import { type InferenceContext } from '../../inference-context.ts';
6
- export declare namespace OpenAIChatCompletionsCompatibleStreamEngine {
7
- interface Options<in out fdm extends Function.Declaration.Map> extends OpenAIChatCompletionsCompatibleEngine.Options<fdm> {
8
- }
9
- interface Underhood<in out fdm extends Function.Declaration.Map> extends OpenAIChatCompletionsCompatibleEngine.Underhood<fdm> {
10
- client: OpenAI;
11
- makeParams(session: Session<Function.Declaration.From<fdm>>): OpenAI.ChatCompletionCreateParamsStreaming;
12
- convertToFunctionCallFromDelta(apifc: OpenAI.ChatCompletionChunk.Choice.Delta.ToolCall): Function.Call.Distributive<Function.Declaration.From<fdm>>;
13
- convertCompletionStockToCompletion(stock: OpenAI.ChatCompletionChunk): OpenAI.ChatCompletion;
14
- fetchRaw(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
15
- getDeltaThoughts(delta: OpenAI.ChatCompletionChunk.Choice.Delta): string | null;
16
- }
17
- function makeParams<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleEngine.Underhood<fdm>, session: Session<Function.Declaration.From<fdm>>): OpenAI.ChatCompletionCreateParamsStreaming;
18
- function convertToFunctionCallFromDelta<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleEngine.Underhood<fdm>, apifc: OpenAI.ChatCompletionChunk.Choice.Delta.ToolCall): Function.Call.Distributive<Function.Declaration.From<fdm>>;
19
- function convertCompletionStockToCompletion(stock: OpenAI.ChatCompletionChunk): OpenAI.ChatCompletion;
20
- function fetchRaw<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleStreamEngine.Underhood<fdm>, wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
21
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/compatible-engines.d/openai-chatcompletions.d/stream.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { type CompatibleEngine } from '../compatible-engine.ts';
2
- import { RoleMessage, type Session } from '../session.ts';
3
- import { Function } from '../function.ts';
4
- import OpenAI from 'openai';
5
- import type { InferenceContext } from '../inference-context.ts';
6
- import { type OpenAIChatCompletionsEngine } from '../api-types/openai-chat-completions.ts';
7
- export declare namespace OpenAIChatCompletionsCompatibleEngine {
8
- interface Options<in out fdm extends Function.Declaration.Map> extends OpenAIChatCompletionsEngine.Options<fdm>, CompatibleEngine.Options<fdm> {
9
- }
10
- interface Underhood<in out fdm extends Function.Declaration.Map> extends CompatibleEngine.Underhood<fdm>, OpenAIChatCompletionsEngine.Underhood<fdm> {
11
- fetch(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
12
- convertToAiMessage(message: OpenAI.ChatCompletionMessage): RoleMessage.Ai<Function.Declaration.From<fdm>>;
13
- convertFromDeveloperMessage(developerMessage: RoleMessage.Developer): OpenAI.ChatCompletionSystemMessageParam;
14
- convertFromUserMessage(userMessage: RoleMessage.User<Function.Declaration.From<fdm>>): [OpenAI.ChatCompletionUserMessageParam] | OpenAI.ChatCompletionToolMessageParam[];
15
- convertFromAiMessage(aiMessage: RoleMessage.Ai<Function.Declaration.From<fdm>>): OpenAI.ChatCompletionAssistantMessageParam;
16
- convertFromRoleMessage(roleMessage: RoleMessage): OpenAI.ChatCompletionMessageParam[];
17
- validateToolCallsByToolChoice(toolCalls: Function.Call.Distributive<Function.Declaration.From<fdm>>[]): void;
18
- fetchRaw(wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
19
- }
20
- function fetch<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleEngine.Underhood<fdm>, wfctx: InferenceContext, session: Session<Function.Declaration.From<fdm>>, signal?: AbortSignal): Promise<RoleMessage.Ai<Function.Declaration.From<fdm>>>;
21
- function convertToAiMessage<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleEngine.Underhood<fdm>, message: OpenAI.ChatCompletionMessage): RoleMessage.Ai<Function.Declaration.From<fdm>>;
22
- function convertFromDeveloperMessage(developerMessage: RoleMessage.Developer): OpenAI.ChatCompletionSystemMessageParam;
23
- function convertFromUserMessage<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsEngine.Underhood<fdm>, userMessage: RoleMessage.User<Function.Declaration.From<fdm>>): [OpenAI.ChatCompletionUserMessageParam] | OpenAI.ChatCompletionToolMessageParam[];
24
- function convertFromAiMessage<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsEngine.Underhood<fdm>, aiMessage: RoleMessage.Ai<Function.Declaration.From<fdm>>): OpenAI.ChatCompletionAssistantMessageParam;
25
- function convertFromRoleMessage<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleEngine.Underhood<fdm>, roleMessage: RoleMessage): OpenAI.ChatCompletionMessageParam[];
26
- function validateToolCallsByToolChoice<fdm extends Function.Declaration.Map>(this: OpenAIChatCompletionsCompatibleEngine.Underhood<fdm>, toolCalls: Function.Call.Distributive<Function.Declaration.From<fdm>>[]): void;
27
- }
@@ -1,76 +0,0 @@
1
- import {} from "../compatible-engine.js";
2
- import { ResponseInvalid } from "../engine.js";
3
- import { RoleMessage } from "../session.js";
4
- import { Function } from "../function.js";
5
- import OpenAI from 'openai';
6
- import {} from "../api-types/openai-chat-completions.js";
7
- export var OpenAIChatCompletionsCompatibleEngine;
8
- (function (OpenAIChatCompletionsCompatibleEngine) {
9
- async function fetch(wfctx, session, signal) {
10
- return await this.fetchRaw(wfctx, session, signal).catch(e => Promise.reject(e instanceof OpenAI.APIError ? new ResponseInvalid(undefined, { cause: e }) : e));
11
- }
12
- OpenAIChatCompletionsCompatibleEngine.fetch = fetch;
13
- function convertToAiMessage(message) {
14
- const parts = [];
15
- if (message.content)
16
- parts.push(RoleMessage.Part.Text.create(this.extractContent(message.content)));
17
- if (message.tool_calls)
18
- parts.push(...message.tool_calls.map(apifc => {
19
- if (apifc.type === 'function') { }
20
- else
21
- throw new Error();
22
- return this.convertToFunctionCall(apifc);
23
- }));
24
- if (parts.length) { }
25
- else
26
- throw new ResponseInvalid('Content or tool calls not found in Response', { cause: message });
27
- return RoleMessage.Ai.create(parts);
28
- }
29
- OpenAIChatCompletionsCompatibleEngine.convertToAiMessage = convertToAiMessage;
30
- function convertFromDeveloperMessage(developerMessage) {
31
- return {
32
- role: 'system',
33
- content: developerMessage.getOnlyText(),
34
- };
35
- }
36
- OpenAIChatCompletionsCompatibleEngine.convertFromDeveloperMessage = convertFromDeveloperMessage;
37
- function convertFromUserMessage(userMessage) {
38
- const textParts = userMessage.getParts().filter(part => part instanceof RoleMessage.Part.Text.Instance);
39
- const frs = userMessage.getFunctionResponses();
40
- if (textParts.length && !frs.length)
41
- return [{ role: 'user', content: textParts.map(part => ({ type: 'text', text: part.text })) }];
42
- else if (!textParts.length && frs.length)
43
- return frs.map(fr => this.convertFromFunctionResponse(fr));
44
- else
45
- throw new Error();
46
- }
47
- OpenAIChatCompletionsCompatibleEngine.convertFromUserMessage = convertFromUserMessage;
48
- function convertFromAiMessage(aiMessage) {
49
- const parts = aiMessage.getParts();
50
- const textParts = parts.filter(part => part instanceof RoleMessage.Part.Text.Instance);
51
- const fcParts = parts.filter(part => part instanceof Function.Call);
52
- return {
53
- role: 'assistant',
54
- content: textParts.length ? textParts.map(part => part.text).join('') : undefined,
55
- tool_calls: fcParts.length ? fcParts.map(fc => this.convertFromFunctionCall(fc)) : undefined,
56
- };
57
- }
58
- OpenAIChatCompletionsCompatibleEngine.convertFromAiMessage = convertFromAiMessage;
59
- function convertFromRoleMessage(roleMessage) {
60
- if (roleMessage instanceof RoleMessage.Developer.Instance)
61
- return [this.convertFromDeveloperMessage(roleMessage)];
62
- else if (roleMessage instanceof RoleMessage.User.Instance)
63
- return this.convertFromUserMessage(roleMessage);
64
- else if (roleMessage instanceof RoleMessage.Ai.Instance)
65
- return [this.convertFromAiMessage(roleMessage)];
66
- else
67
- throw new Error();
68
- }
69
- OpenAIChatCompletionsCompatibleEngine.convertFromRoleMessage = convertFromRoleMessage;
70
- function validateToolCallsByToolChoice(toolCalls) {
71
- // https://community.openai.com/t/function-call-with-finish-reason-of-stop/437226/7
72
- Function.Call.validate(toolCalls, this.toolChoice, new ResponseInvalid('Invalid function call', { cause: toolCalls }));
73
- }
74
- OpenAIChatCompletionsCompatibleEngine.validateToolCallsByToolChoice = validateToolCallsByToolChoice;
75
- })(OpenAIChatCompletionsCompatibleEngine || (OpenAIChatCompletionsCompatibleEngine = {}));
76
- //# sourceMappingURL=openai-chatcompletions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-chatcompletions.js","sourceRoot":"","sources":["../../src/compatible-engines.d/openai-chatcompletions.ts"],"names":[],"mappings":"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"}