@zimtsui/typechat 0.0.97 → 0.0.99

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 (258) hide show
  1. package/DEVELOPMENT.md +3 -8
  2. package/README.md +5 -177
  3. package/assets/verbatim/instruction.md +1 -1
  4. package/assets/verbatim/response.handlebars +1 -1
  5. package/build/adaptor.d.ts +9 -9
  6. package/build/adaptor.js +15 -17
  7. package/build/adaptor.js.map +1 -1
  8. package/build/endpoint-spec.d.ts +1 -1
  9. package/build/endpoint-spec.js +1 -1
  10. package/build/engine/message.d.ts +75 -0
  11. package/build/engine/message.js +165 -0
  12. package/build/engine/message.js.map +1 -0
  13. package/build/engine/middleware.d.ts +11 -0
  14. package/build/engine/middleware.js +1 -0
  15. package/build/engine/middleware.js.map +1 -0
  16. package/build/engine/parts-validator.d.ts +9 -0
  17. package/build/engine/parts-validator.js +11 -0
  18. package/build/engine/parts-validator.js.map +1 -0
  19. package/build/engine/recoverable.d.ts +13 -0
  20. package/build/engine/recoverable.js +29 -0
  21. package/build/engine/recoverable.js.map +1 -0
  22. package/build/engine/session.d.ts +8 -32
  23. package/build/engine/session.js +0 -19
  24. package/build/engine/session.js.map +1 -1
  25. package/build/engine/structuring-validator.d.ts +15 -0
  26. package/build/engine/structuring-validator.js +64 -0
  27. package/build/engine/structuring-validator.js.map +1 -0
  28. package/build/engine/transport.d.ts +6 -3
  29. package/build/engine.d.ts +40 -39
  30. package/build/engine.js +100 -64
  31. package/build/engine.js.map +1 -1
  32. package/build/engines/anthropic/billing.js.map +1 -0
  33. package/build/engines/anthropic/message-codec.d.ts +22 -0
  34. package/build/engines/anthropic/message-codec.js +79 -0
  35. package/build/engines/anthropic/message-codec.js.map +1 -0
  36. package/build/engines/anthropic/message.d.ts +22 -0
  37. package/build/engines/anthropic/message.js +25 -0
  38. package/build/engines/anthropic/message.js.map +1 -0
  39. package/build/{compatible-engine.d/anthropic/choice-codec.d.ts → engines/anthropic/structuring-choice-codec.d.ts} +2 -2
  40. package/build/engines/anthropic/structuring-choice-codec.js +23 -0
  41. package/build/engines/anthropic/structuring-choice-codec.js.map +1 -0
  42. package/build/{api-types → engines}/anthropic/tool-codec.d.ts +5 -4
  43. package/build/{api-types → engines}/anthropic/tool-codec.js +16 -14
  44. package/build/engines/anthropic/tool-codec.js.map +1 -0
  45. package/build/engines/anthropic/transport.d.ts +37 -0
  46. package/build/{compatible-engine.d → engines}/anthropic/transport.js +8 -12
  47. package/build/engines/anthropic/transport.js.map +1 -0
  48. package/build/engines/anthropic.d.ts +22 -0
  49. package/build/engines/anthropic.js +46 -0
  50. package/build/engines/anthropic.js.map +1 -0
  51. package/build/engines/google/billing.js.map +1 -0
  52. package/build/engines/google/message-codec.d.ts +24 -0
  53. package/build/engines/google/message-codec.js +113 -0
  54. package/build/engines/google/message-codec.js.map +1 -0
  55. package/build/engines/google/message.d.ts +37 -0
  56. package/build/engines/google/message.js +58 -0
  57. package/build/engines/google/message.js.map +1 -0
  58. package/build/engines/google/restful-request.js.map +1 -0
  59. package/build/{compatible-engine.d/google/choice-codec.d.ts → engines/google/structuring-choice-codec.d.ts} +2 -2
  60. package/build/engines/google/structuring-choice-codec.js +23 -0
  61. package/build/engines/google/structuring-choice-codec.js.map +1 -0
  62. package/build/{api-types → engines}/google/tool-codec.d.ts +5 -4
  63. package/build/{api-types → engines}/google/tool-codec.js +15 -13
  64. package/build/engines/google/tool-codec.js.map +1 -0
  65. package/build/{native-engines.d → engines}/google/transport.d.ts +13 -14
  66. package/build/{native-engines.d → engines}/google/transport.js +18 -13
  67. package/build/engines/google/transport.js.map +1 -0
  68. package/build/engines/google.d.ts +41 -0
  69. package/build/engines/google.js +151 -0
  70. package/build/engines/google.js.map +1 -0
  71. package/build/engines/openai-chatcompletions/billing.js.map +1 -0
  72. package/build/engines/openai-chatcompletions/message-codec.d.ts +22 -0
  73. package/build/engines/openai-chatcompletions/message-codec.js +80 -0
  74. package/build/engines/openai-chatcompletions/message-codec.js.map +1 -0
  75. package/build/{compatible-engine.d/openai-chatcompletions/choice-codec.d.ts → engines/openai-chatcompletions/structuring-choice-codec.d.ts} +2 -2
  76. package/build/engines/openai-chatcompletions/structuring-choice-codec.js +22 -0
  77. package/build/engines/openai-chatcompletions/structuring-choice-codec.js.map +1 -0
  78. package/build/engines/openai-chatcompletions/tool-codec.d.ts +17 -0
  79. package/build/{api-types → engines}/openai-chatcompletions/tool-codec.js +19 -17
  80. package/build/engines/openai-chatcompletions/tool-codec.js.map +1 -0
  81. package/build/{compatible-engine.d → engines}/openai-chatcompletions/transport.d.ts +13 -15
  82. package/build/{compatible-engine.d → engines}/openai-chatcompletions/transport.js +8 -18
  83. package/build/engines/openai-chatcompletions/transport.js.map +1 -0
  84. package/build/engines/openai-chatcompletions.d.ts +22 -0
  85. package/build/engines/openai-chatcompletions.js +48 -0
  86. package/build/engines/openai-chatcompletions.js.map +1 -0
  87. package/build/engines/openai-responses/billing.js.map +1 -0
  88. package/build/engines/openai-responses/message-codec.d.ts +24 -0
  89. package/build/{compatible-engine.d → engines}/openai-responses/message-codec.js +55 -51
  90. package/build/engines/openai-responses/message-codec.js.map +1 -0
  91. package/build/engines/openai-responses/message.d.ts +25 -0
  92. package/build/engines/openai-responses/message.js +43 -0
  93. package/build/engines/openai-responses/message.js.map +1 -0
  94. package/build/engines/openai-responses/structuring-choice-codec.d.ts +3 -0
  95. package/build/engines/openai-responses/structuring-choice-codec.js +22 -0
  96. package/build/engines/openai-responses/structuring-choice-codec.js.map +1 -0
  97. package/build/engines/openai-responses/structuring-validator.d.ts +12 -0
  98. package/build/engines/openai-responses/structuring-validator.js +64 -0
  99. package/build/engines/openai-responses/structuring-validator.js.map +1 -0
  100. package/build/engines/openai-responses/tool-codec.d.ts +17 -0
  101. package/build/{api-types → engines}/openai-responses/tool-codec.js +19 -17
  102. package/build/engines/openai-responses/tool-codec.js.map +1 -0
  103. package/build/{native-engines.d → engines}/openai-responses/tool.d.ts +1 -3
  104. package/build/{native-engines.d → engines}/openai-responses/tool.js +3 -3
  105. package/build/engines/openai-responses/tool.js.map +1 -0
  106. package/build/{compatible-engine.d → engines}/openai-responses/transport.d.ts +16 -12
  107. package/build/{native-engines.d → engines}/openai-responses/transport.js +11 -9
  108. package/build/engines/openai-responses/transport.js.map +1 -0
  109. package/build/engines/openai-responses.d.ts +41 -0
  110. package/build/engines/openai-responses.js +134 -0
  111. package/build/engines/openai-responses.js.map +1 -0
  112. package/build/exports.d.ts +5 -5
  113. package/build/exports.js +5 -5
  114. package/build/exports.js.map +1 -1
  115. package/build/function.d.ts +7 -7
  116. package/build/function.js +19 -19
  117. package/build/function.js.map +1 -1
  118. package/build/repetition.d.ts +2 -2
  119. package/build/repetition.js +21 -20
  120. package/build/repetition.js.map +1 -1
  121. package/build/structuring-choice.d.ts +15 -0
  122. package/build/structuring-choice.js +18 -0
  123. package/build/structuring-choice.js.map +1 -0
  124. package/build/tsconfig.tsbuildinfo +1 -1
  125. package/build/verbatim/codec/declarations.js +0 -2
  126. package/build/verbatim/codec/declarations.js.map +1 -1
  127. package/build/verbatim/codec/quotation.js +0 -3
  128. package/build/verbatim/codec/quotation.js.map +1 -1
  129. package/build/verbatim/codec/request.js +4 -4
  130. package/build/verbatim/codec/request.js.map +1 -1
  131. package/build/verbatim/codec/response.js +0 -3
  132. package/build/verbatim/codec/response.js.map +1 -1
  133. package/package.json +2 -4
  134. package/build/api-types/anthropic/billing.js.map +0 -1
  135. package/build/api-types/anthropic/tool-codec.js.map +0 -1
  136. package/build/api-types/google/billing.js.map +0 -1
  137. package/build/api-types/google/restful-request.js.map +0 -1
  138. package/build/api-types/google/tool-codec.js.map +0 -1
  139. package/build/api-types/openai-chatcompletions/billing.js.map +0 -1
  140. package/build/api-types/openai-chatcompletions/tool-codec.d.ts +0 -16
  141. package/build/api-types/openai-chatcompletions/tool-codec.js.map +0 -1
  142. package/build/api-types/openai-responses/billing.js.map +0 -1
  143. package/build/api-types/openai-responses/tool-codec.d.ts +0 -16
  144. package/build/api-types/openai-responses/tool-codec.js.map +0 -1
  145. package/build/compatible-engine/session.d.ts +0 -56
  146. package/build/compatible-engine/session.js +0 -85
  147. package/build/compatible-engine/session.js.map +0 -1
  148. package/build/compatible-engine/structuring.d.ts +0 -36
  149. package/build/compatible-engine/structuring.js +0 -34
  150. package/build/compatible-engine/structuring.js.map +0 -1
  151. package/build/compatible-engine/validation.d.ts +0 -28
  152. package/build/compatible-engine/validation.js +0 -104
  153. package/build/compatible-engine/validation.js.map +0 -1
  154. package/build/compatible-engine.d/agentloop.d.ts +0 -12
  155. package/build/compatible-engine.d/agentloop.js +0 -52
  156. package/build/compatible-engine.d/agentloop.js.map +0 -1
  157. package/build/compatible-engine.d/anthropic/choice-codec.js +0 -27
  158. package/build/compatible-engine.d/anthropic/choice-codec.js.map +0 -1
  159. package/build/compatible-engine.d/anthropic/message-codec.d.ts +0 -34
  160. package/build/compatible-engine.d/anthropic/message-codec.js +0 -85
  161. package/build/compatible-engine.d/anthropic/message-codec.js.map +0 -1
  162. package/build/compatible-engine.d/anthropic/transport.d.ts +0 -38
  163. package/build/compatible-engine.d/anthropic/transport.js.map +0 -1
  164. package/build/compatible-engine.d/anthropic.d.ts +0 -25
  165. package/build/compatible-engine.d/anthropic.js +0 -47
  166. package/build/compatible-engine.d/anthropic.js.map +0 -1
  167. package/build/compatible-engine.d/google/choice-codec.js +0 -27
  168. package/build/compatible-engine.d/google/choice-codec.js.map +0 -1
  169. package/build/compatible-engine.d/google/message-codec.d.ts +0 -34
  170. package/build/compatible-engine.d/google/message-codec.js +0 -95
  171. package/build/compatible-engine.d/google/message-codec.js.map +0 -1
  172. package/build/compatible-engine.d/google/transport.d.ts +0 -35
  173. package/build/compatible-engine.d/google/transport.js +0 -97
  174. package/build/compatible-engine.d/google/transport.js.map +0 -1
  175. package/build/compatible-engine.d/google.d.ts +0 -25
  176. package/build/compatible-engine.d/google.js +0 -64
  177. package/build/compatible-engine.d/google.js.map +0 -1
  178. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +0 -31
  179. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +0 -1
  180. package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +0 -22
  181. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +0 -68
  182. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +0 -1
  183. package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +0 -1
  184. package/build/compatible-engine.d/openai-chatcompletions.d.ts +0 -25
  185. package/build/compatible-engine.d/openai-chatcompletions.js +0 -49
  186. package/build/compatible-engine.d/openai-chatcompletions.js.map +0 -1
  187. package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +0 -5
  188. package/build/compatible-engine.d/openai-responses/choice-codec.js +0 -30
  189. package/build/compatible-engine.d/openai-responses/choice-codec.js.map +0 -1
  190. package/build/compatible-engine.d/openai-responses/message-codec.d.ts +0 -36
  191. package/build/compatible-engine.d/openai-responses/message-codec.js.map +0 -1
  192. package/build/compatible-engine.d/openai-responses/transport.js +0 -91
  193. package/build/compatible-engine.d/openai-responses/transport.js.map +0 -1
  194. package/build/compatible-engine.d/openai-responses.d.ts +0 -25
  195. package/build/compatible-engine.d/openai-responses.js +0 -47
  196. package/build/compatible-engine.d/openai-responses.js.map +0 -1
  197. package/build/compatible-engine.d.ts +0 -26
  198. package/build/compatible-engine.js +0 -34
  199. package/build/compatible-engine.js.map +0 -1
  200. package/build/engine/validation.d.ts +0 -6
  201. package/build/engine/validation.js +0 -1
  202. package/build/engine/validation.js.map +0 -1
  203. package/build/native-engines.d/google/message-codec.d.ts +0 -26
  204. package/build/native-engines.d/google/message-codec.js +0 -70
  205. package/build/native-engines.d/google/message-codec.js.map +0 -1
  206. package/build/native-engines.d/google/session.d.ts +0 -58
  207. package/build/native-engines.d/google/session.js +0 -101
  208. package/build/native-engines.d/google/session.js.map +0 -1
  209. package/build/native-engines.d/google/transport.js.map +0 -1
  210. package/build/native-engines.d/google/validation.d.ts +0 -28
  211. package/build/native-engines.d/google/validation.js +0 -26
  212. package/build/native-engines.d/google/validation.js.map +0 -1
  213. package/build/native-engines.d/google.d/agentloop.d.ts +0 -12
  214. package/build/native-engines.d/google.d/agentloop.js +0 -57
  215. package/build/native-engines.d/google.d/agentloop.js.map +0 -1
  216. package/build/native-engines.d/google.d/exports.d.ts +0 -2
  217. package/build/native-engines.d/google.d/exports.js +0 -3
  218. package/build/native-engines.d/google.d/exports.js.map +0 -1
  219. package/build/native-engines.d/google.d.ts +0 -43
  220. package/build/native-engines.d/google.js +0 -100
  221. package/build/native-engines.d/google.js.map +0 -1
  222. package/build/native-engines.d/openai-responses/choice-codec.d.ts +0 -5
  223. package/build/native-engines.d/openai-responses/choice-codec.js +0 -30
  224. package/build/native-engines.d/openai-responses/choice-codec.js.map +0 -1
  225. package/build/native-engines.d/openai-responses/message-codec.d.ts +0 -25
  226. package/build/native-engines.d/openai-responses/message-codec.js +0 -99
  227. package/build/native-engines.d/openai-responses/message-codec.js.map +0 -1
  228. package/build/native-engines.d/openai-responses/session.d.ts +0 -61
  229. package/build/native-engines.d/openai-responses/session.js +0 -86
  230. package/build/native-engines.d/openai-responses/session.js.map +0 -1
  231. package/build/native-engines.d/openai-responses/structuring.d.ts +0 -19
  232. package/build/native-engines.d/openai-responses/structuring.js +0 -19
  233. package/build/native-engines.d/openai-responses/structuring.js.map +0 -1
  234. package/build/native-engines.d/openai-responses/tool.js.map +0 -1
  235. package/build/native-engines.d/openai-responses/transport.d.ts +0 -40
  236. package/build/native-engines.d/openai-responses/transport.js.map +0 -1
  237. package/build/native-engines.d/openai-responses/validation.d.ts +0 -28
  238. package/build/native-engines.d/openai-responses/validation.js +0 -101
  239. package/build/native-engines.d/openai-responses/validation.js.map +0 -1
  240. package/build/native-engines.d/openai-responses.d/agentloop.d.ts +0 -12
  241. package/build/native-engines.d/openai-responses.d/agentloop.js +0 -61
  242. package/build/native-engines.d/openai-responses.d/agentloop.js.map +0 -1
  243. package/build/native-engines.d/openai-responses.d/exports.d.ts +0 -2
  244. package/build/native-engines.d/openai-responses.d/exports.js +0 -3
  245. package/build/native-engines.d/openai-responses.d/exports.js.map +0 -1
  246. package/build/native-engines.d/openai-responses.d.ts +0 -45
  247. package/build/native-engines.d/openai-responses.js +0 -82
  248. package/build/native-engines.d/openai-responses.js.map +0 -1
  249. /package/build/{api-types → engines}/anthropic/billing.d.ts +0 -0
  250. /package/build/{api-types → engines}/anthropic/billing.js +0 -0
  251. /package/build/{api-types → engines}/google/billing.d.ts +0 -0
  252. /package/build/{api-types → engines}/google/billing.js +0 -0
  253. /package/build/{api-types → engines}/google/restful-request.d.ts +0 -0
  254. /package/build/{api-types → engines}/google/restful-request.js +0 -0
  255. /package/build/{api-types → engines}/openai-chatcompletions/billing.d.ts +0 -0
  256. /package/build/{api-types → engines}/openai-chatcompletions/billing.js +0 -0
  257. /package/build/{api-types → engines}/openai-responses/billing.d.ts +0 -0
  258. /package/build/{api-types → engines}/openai-responses/billing.js +0 -0
@@ -1,97 +0,0 @@
1
- import * as Google from '@google/genai';
2
- import * as Undici from 'undici';
3
- import { loggers } from "../../telemetry.js";
4
- import * as ChoiceCodec from "./choice-codec.js";
5
- import { MIMEType } from 'whatwg-mimetype';
6
- export class Transport {
7
- apiURL;
8
- inferenceParams;
9
- providerSpec;
10
- fdm;
11
- throttle;
12
- structuringChoice;
13
- messageCodec;
14
- toolCodec;
15
- billing;
16
- constructor(options) {
17
- this.apiURL = new URL(`${options.providerSpec.baseUrl}/v1beta/models/${options.inferenceParams.model}:generateContent`);
18
- this.inferenceParams = options.inferenceParams;
19
- this.providerSpec = options.providerSpec;
20
- this.fdm = options.fdm;
21
- this.throttle = options.throttle;
22
- this.structuringChoice = options.choice;
23
- this.messageCodec = options.messageCodec;
24
- this.toolCodec = options.toolCodec;
25
- this.billing = options.billing;
26
- }
27
- async fetch(wfctx, session, signal) {
28
- await this.throttle.requests(wfctx);
29
- // Prepare request body
30
- const systemInstruction = session.developerMessage && this.messageCodec.encodeDeveloperMessage(session.developerMessage);
31
- const contents = this.messageCodec.encodeChatMessages(session.chatMessages);
32
- const apiFds = this.toolCodec.encodeFunctionDeclarationMap(this.fdm);
33
- const apiTools = [];
34
- if (apiFds.length)
35
- apiTools.push({ functionDeclarations: apiFds });
36
- const apiToolConfig = {};
37
- if (apiFds.length)
38
- apiToolConfig.functionCallingConfig = ChoiceCodec.encode(this.structuringChoice);
39
- const reqbody = {
40
- contents,
41
- tools: apiTools,
42
- toolConfig: apiToolConfig,
43
- systemInstruction,
44
- generationConfig: this.inferenceParams.additionalOptions,
45
- };
46
- loggers.message.debug(reqbody);
47
- // Send request
48
- const res = await Undici.fetch(this.apiURL, {
49
- method: 'POST',
50
- headers: {
51
- 'Content-Type': 'application/json',
52
- 'x-goog-api-key': this.providerSpec.apiKey,
53
- },
54
- body: JSON.stringify(reqbody),
55
- dispatcher: this.providerSpec.dispatcher,
56
- signal,
57
- });
58
- // Get response
59
- if (res.ok) { }
60
- else {
61
- const contentType = res.headers.get('Content-Type');
62
- if (contentType) { }
63
- else
64
- throw new Error(res.statusText, { cause: res });
65
- const mimeType = new MIMEType(contentType);
66
- if (mimeType.essence === 'application/json')
67
- throw new Error(res.statusText, { cause: await res.json() });
68
- else if (mimeType.type === 'text')
69
- throw new Error(res.statusText, { cause: await res.text() });
70
- else
71
- throw new Error(res.statusText, { cause: res });
72
- }
73
- const response = await res.json();
74
- loggers.message.debug(response);
75
- // Validate response
76
- if (response.candidates?.[0]?.content?.parts?.length) { }
77
- else
78
- throw new SyntaxError('Content missing', { cause: response });
79
- if (response.candidates[0].finishReason === Google.FinishReason.MAX_TOKENS)
80
- throw new SyntaxError('Token limit exceeded.', { cause: response });
81
- if (response.candidates[0].finishReason === Google.FinishReason.STOP) { }
82
- else
83
- throw new SyntaxError('Abnormal finish reason', { cause: response });
84
- if (response.usageMetadata) { }
85
- else
86
- throw new SyntaxError('Usage metadata missing', { cause: response });
87
- for (const part of response.candidates[0].content.parts) {
88
- if (part.text)
89
- loggers.inference.info(part.text);
90
- if (part.functionCall)
91
- loggers.message.info(part.functionCall);
92
- }
93
- wfctx.cost?.(this.billing.charge(response.usageMetadata));
94
- return this.messageCodec.decodeAiMessage(response.candidates[0].content);
95
- }
96
- }
97
- //# sourceMappingURL=transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/compatible-engine.d/google/transport.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { CompatibleEngine } from '../compatible-engine.ts';
2
- import { Function } from '../function.ts';
3
- import * as MessageCodecModule from './google/message-codec.ts';
4
- import { ToolCodec } from '../api-types/google/tool-codec.ts';
5
- import { Billing } from '../api-types/google/billing.ts';
6
- import * as TransportModule from './google/transport.ts';
7
- import type { Verbatim } from '../verbatim.ts';
8
- import * as ChoiceCodecModule from './google/choice-codec.ts';
9
- export type GoogleCompatibleEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = GoogleCompatibleEngine.Instance<fdm, vdm>;
10
- export declare namespace GoogleCompatibleEngine {
11
- class Instance<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends CompatibleEngine.Instance<fdm, vdm> {
12
- protected options: GoogleCompatibleEngine.Options<fdm, vdm>;
13
- protected toolCodec: ToolCodec<fdm>;
14
- protected messageCodec: GoogleCompatibleEngine.MessageCodec<fdm, vdm>;
15
- protected billing: Billing;
16
- protected transport: GoogleCompatibleEngine.Transport<fdm, vdm>;
17
- constructor(options: GoogleCompatibleEngine.Options<fdm, vdm>);
18
- clone(): GoogleCompatibleEngine<fdm, vdm>;
19
- }
20
- interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends CompatibleEngine.Options<fdm, vdm> {
21
- }
22
- export import Transport = TransportModule.Transport;
23
- export import MessageCodec = MessageCodecModule.MessageCodec;
24
- export import ChoiceCodec = ChoiceCodecModule;
25
- }
@@ -1,64 +0,0 @@
1
- import { CompatibleEngine } from "../compatible-engine.js";
2
- import * as MessageCodecModule from "./google/message-codec.js";
3
- import { ToolCodec } from "../api-types/google/tool-codec.js";
4
- import { Billing } from "../api-types/google/billing.js";
5
- import * as TransportModule from "./google/transport.js";
6
- import * as ChoiceCodecModule from "./google/choice-codec.js";
7
- import { env } from 'node:process';
8
- import { Agent, ProxyAgent } from 'undici';
9
- export var GoogleCompatibleEngine;
10
- (function (GoogleCompatibleEngine) {
11
- class Instance extends CompatibleEngine.Instance {
12
- options;
13
- toolCodec;
14
- messageCodec;
15
- billing;
16
- transport;
17
- constructor(options) {
18
- super(options);
19
- this.options = options;
20
- const proxyUrl = options.endpointSpec.proxy || env.https_proxy || env.HTTPS_PROXY;
21
- this.providerSpec.dispatcher = proxyUrl
22
- ? new ProxyAgent({
23
- uri: proxyUrl,
24
- headersTimeout: 0,
25
- bodyTimeout: 0,
26
- })
27
- : new Agent({
28
- headersTimeout: 0,
29
- bodyTimeout: 0,
30
- });
31
- if (options.endpointSpec.parallelToolCall === false)
32
- throw new Error('Parallel tool calling is required by Google engine.');
33
- this.toolCodec = new ToolCodec({
34
- fdm: this.fdm,
35
- });
36
- this.messageCodec = new GoogleCompatibleEngine.MessageCodec({
37
- toolCodec: this.toolCodec,
38
- vdm: this.vdm,
39
- });
40
- this.billing = new Billing({ pricing: this.pricing });
41
- this.transport = new GoogleCompatibleEngine.Transport({
42
- inferenceParams: this.inferenceParams,
43
- providerSpec: this.providerSpec,
44
- fdm: this.fdm,
45
- throttle: this.throttle,
46
- choice: this.structuringChoice,
47
- messageCodec: this.messageCodec,
48
- toolCodec: this.toolCodec,
49
- billing: this.billing,
50
- });
51
- }
52
- clone() {
53
- const engine = new GoogleCompatibleEngine.Instance(this.options);
54
- engine.middlewares = [...this.middlewares];
55
- engine.statefulMiddlewares = [...this.statefulMiddlewares];
56
- return engine;
57
- }
58
- }
59
- GoogleCompatibleEngine.Instance = Instance;
60
- GoogleCompatibleEngine.Transport = TransportModule.Transport;
61
- GoogleCompatibleEngine.MessageCodec = MessageCodecModule.MessageCodec;
62
- GoogleCompatibleEngine.ChoiceCodec = ChoiceCodecModule;
63
- })(GoogleCompatibleEngine || (GoogleCompatibleEngine = {}));
64
- //# sourceMappingURL=google.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/compatible-engine.d/google.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { Structuring } from "../../compatible-engine/structuring.js";
2
- export function encode(choice) {
3
- if (choice === Structuring.Choice.NONE)
4
- return 'none';
5
- else if (choice === Structuring.Choice.REQUIRED)
6
- return 'auto';
7
- else if (choice === Structuring.Choice.ANYONE)
8
- return 'auto';
9
- else if (choice === Structuring.Choice.AUTO)
10
- return 'auto';
11
- else if (choice === Structuring.Choice.FCall.REQUIRED)
12
- return 'required';
13
- else if (choice === Structuring.Choice.FCall.ANYONE)
14
- return 'required';
15
- else if (choice instanceof Structuring.Choice.FCall)
16
- return {
17
- type: 'function',
18
- function: {
19
- name: choice.name,
20
- },
21
- };
22
- else if (choice === Structuring.Choice.VRequest.REQUIRED)
23
- return 'none';
24
- else if (choice === Structuring.Choice.VRequest.ANYONE)
25
- return 'none';
26
- else if (choice instanceof Structuring.Choice.VRequest)
27
- return 'none';
28
- else
29
- throw new Error();
30
- }
31
- //# sourceMappingURL=choice-codec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"choice-codec.js","sourceRoot":"","sources":["../../../src/compatible-engine.d/openai-chatcompletions/choice-codec.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAGrE,MAAM,UAAU,MAAM,CAIlB,MAAoC;IAGpC,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SACjD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SAC1D,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACxD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAEtD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;SACpE,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;SAClE,IAAI,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,KAAK;QAC/C,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;aACpB;SACJ,CAAC;SAED,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SACnE,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACjE,IAAI,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;;QAEjE,MAAM,IAAI,KAAK,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,22 +0,0 @@
1
- import { RoleMessage, type Session } from '../../compatible-engine/session.ts';
2
- import { Function } from '../../function.ts';
3
- import OpenAI from 'openai';
4
- import type { ToolCodec } from '../../api-types/openai-chatcompletions/tool-codec.ts';
5
- import type { Verbatim } from '../../verbatim.ts';
6
- export declare class MessageCodec<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
7
- protected toolCodec: ToolCodec<fdm>;
8
- protected vdm: vdm;
9
- constructor(options: MessageCodec.Options<fdm, vdm>);
10
- decodeAiMessage(message: OpenAI.ChatCompletionMessage): RoleMessage.Ai.From<fdm, vdm>;
11
- encodeDeveloperMessage(developerMessage: RoleMessage.Developer): OpenAI.ChatCompletionSystemMessageParam;
12
- encodeUserMessage(userMessage: RoleMessage.User.From<fdm>): [OpenAI.ChatCompletionUserMessageParam] | OpenAI.ChatCompletionToolMessageParam[];
13
- encodeAiMessage(aiMessage: RoleMessage.Ai.From<fdm, vdm>): OpenAI.ChatCompletionAssistantMessageParam;
14
- encodeRoleMessage(roleMessage: Session.ChatMessage.From<fdm, vdm> | RoleMessage.Developer): OpenAI.ChatCompletionMessageParam[];
15
- encodeRoleMessages(chatMessages: (Session.ChatMessage.From<fdm, vdm> | RoleMessage.Developer)[]): OpenAI.ChatCompletionMessageParam[];
16
- }
17
- export declare namespace MessageCodec {
18
- interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
19
- toolCodec: ToolCodec<fdm>;
20
- vdm: vdm;
21
- }
22
- }
@@ -1,68 +0,0 @@
1
- import { RoleMessage } from "../../compatible-engine/session.js";
2
- import { Function } from "../../function.js";
3
- import * as VerbatimCodec from "../../verbatim/codec.js";
4
- export class MessageCodec {
5
- toolCodec;
6
- vdm;
7
- constructor(options) {
8
- this.toolCodec = options.toolCodec;
9
- this.vdm = options.vdm;
10
- }
11
- decodeAiMessage(message) {
12
- const parts = [];
13
- if (message.content) {
14
- const vrs = VerbatimCodec.Request.decode(message.content, this.vdm);
15
- parts.push(new RoleMessage.Part.Text(message.content, vrs));
16
- }
17
- if (message.tool_calls)
18
- for (const apifc of message.tool_calls)
19
- if (apifc.type === 'function')
20
- parts.push(this.toolCodec.decodeFunctionCall(apifc));
21
- else
22
- throw new Error();
23
- if (parts.length)
24
- return new RoleMessage.Ai(parts);
25
- else
26
- throw new SyntaxError('Content or tool calls not found in Response', { cause: message });
27
- }
28
- encodeDeveloperMessage(developerMessage) {
29
- return {
30
- role: 'system',
31
- content: developerMessage.getText(),
32
- };
33
- }
34
- encodeUserMessage(userMessage) {
35
- const textParts = userMessage.getParts().filter(part => part instanceof RoleMessage.Part.Text);
36
- const frs = userMessage.getFunctionResponses();
37
- if (textParts.length && !frs.length)
38
- return [{ role: 'user', content: textParts.map(part => ({ type: 'text', text: part.text })) }];
39
- else if (!textParts.length && frs.length)
40
- return frs.map(fr => this.toolCodec.encodeFunctionResponse(fr));
41
- else
42
- throw new Error('Unsupported user message type.');
43
- }
44
- encodeAiMessage(aiMessage) {
45
- const parts = aiMessage.getParts();
46
- const textParts = parts.filter(part => part instanceof RoleMessage.Part.Text);
47
- const fcParts = parts.filter(part => part instanceof Function.Call);
48
- return {
49
- role: 'assistant',
50
- content: textParts.length ? textParts.map(part => part.text).join('') : undefined,
51
- tool_calls: fcParts.length ? fcParts.map(fc => this.toolCodec.encodeFunctionCall(fc)) : undefined,
52
- };
53
- }
54
- encodeRoleMessage(roleMessage) {
55
- if (roleMessage instanceof RoleMessage.Developer)
56
- return [this.encodeDeveloperMessage(roleMessage)];
57
- else if (roleMessage instanceof RoleMessage.User)
58
- return this.encodeUserMessage(roleMessage);
59
- else if (roleMessage instanceof RoleMessage.Ai)
60
- return [this.encodeAiMessage(roleMessage)];
61
- else
62
- throw new Error();
63
- }
64
- encodeRoleMessages(chatMessages) {
65
- return chatMessages.map(chatMessage => this.encodeRoleMessage(chatMessage)).flat();
66
- }
67
- }
68
- //# sourceMappingURL=message-codec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/compatible-engine.d/openai-chatcompletions/message-codec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/compatible-engine.d/openai-chatcompletions/transport.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { Function } from '../function.ts';
2
- import { CompatibleEngine } from '../compatible-engine.ts';
3
- import * as MessageCodecModule from './openai-chatcompletions/message-codec.ts';
4
- import * as TransportModule from './openai-chatcompletions/transport.ts';
5
- import type { Verbatim } from '../verbatim.ts';
6
- import * as ChoiceCodecModule from './openai-chatcompletions/choice-codec.ts';
7
- import { ToolCodec } from '../api-types/openai-chatcompletions/tool-codec.ts';
8
- import { Billing } from '../api-types/openai-chatcompletions/billing.ts';
9
- export type OpenAIChatCompletionsCompatibleEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = OpenAIChatCompletionsCompatibleEngine.Instance<fdm, vdm>;
10
- export declare namespace OpenAIChatCompletionsCompatibleEngine {
11
- class Instance<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends CompatibleEngine.Instance<fdm, vdm> {
12
- protected options: OpenAIChatCompletionsCompatibleEngine.Options<fdm, vdm>;
13
- protected toolCodec: ToolCodec<fdm>;
14
- protected messageCodec: MessageCodec<fdm, vdm>;
15
- protected billing: Billing;
16
- protected transport: Transport<fdm, vdm>;
17
- constructor(options: OpenAIChatCompletionsCompatibleEngine.Options<fdm, vdm>);
18
- clone(): OpenAIChatCompletionsCompatibleEngine<fdm, vdm>;
19
- }
20
- interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends CompatibleEngine.Options<fdm, vdm> {
21
- }
22
- export import Transport = TransportModule.Transport;
23
- export import MessageCodec = MessageCodecModule.MessageCodec;
24
- export import ChoiceCodec = ChoiceCodecModule;
25
- }
@@ -1,49 +0,0 @@
1
- import { CompatibleEngine } from "../compatible-engine.js";
2
- import * as MessageCodecModule from "./openai-chatcompletions/message-codec.js";
3
- import * as TransportModule from "./openai-chatcompletions/transport.js";
4
- import * as ChoiceCodecModule from "./openai-chatcompletions/choice-codec.js";
5
- import { ToolCodec } from "../api-types/openai-chatcompletions/tool-codec.js";
6
- import { Billing } from "../api-types/openai-chatcompletions/billing.js";
7
- export var OpenAIChatCompletionsCompatibleEngine;
8
- (function (OpenAIChatCompletionsCompatibleEngine) {
9
- class Instance extends CompatibleEngine.Instance {
10
- options;
11
- toolCodec;
12
- messageCodec;
13
- billing;
14
- transport;
15
- constructor(options) {
16
- super(options);
17
- this.options = options;
18
- this.toolCodec = new ToolCodec({
19
- fdm: this.fdm,
20
- });
21
- this.messageCodec = new OpenAIChatCompletionsCompatibleEngine.MessageCodec({
22
- toolCodec: this.toolCodec,
23
- vdm: this.vdm,
24
- });
25
- this.billing = new Billing({ pricing: this.pricing });
26
- this.transport = new OpenAIChatCompletionsCompatibleEngine.Transport({
27
- inferenceParams: this.inferenceParams,
28
- providerSpec: this.providerSpec,
29
- fdm: this.fdm,
30
- throttle: this.throttle,
31
- choice: this.structuringChoice,
32
- messageCodec: this.messageCodec,
33
- toolCodec: this.toolCodec,
34
- billing: this.billing,
35
- });
36
- }
37
- clone() {
38
- const engine = new OpenAIChatCompletionsCompatibleEngine.Instance(this.options);
39
- engine.middlewares = [...this.middlewares];
40
- engine.statefulMiddlewares = [...this.statefulMiddlewares];
41
- return engine;
42
- }
43
- }
44
- OpenAIChatCompletionsCompatibleEngine.Instance = Instance;
45
- OpenAIChatCompletionsCompatibleEngine.Transport = TransportModule.Transport;
46
- OpenAIChatCompletionsCompatibleEngine.MessageCodec = MessageCodecModule.MessageCodec;
47
- OpenAIChatCompletionsCompatibleEngine.ChoiceCodec = ChoiceCodecModule;
48
- })(OpenAIChatCompletionsCompatibleEngine || (OpenAIChatCompletionsCompatibleEngine = {}));
49
- //# sourceMappingURL=openai-chatcompletions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-chatcompletions.js","sourceRoot":"","sources":["../../src/compatible-engine.d/openai-chatcompletions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,kBAAkB,MAAM,2CAA2C,CAAC;AAChF,OAAO,KAAK,eAAe,MAAM,uCAAuC,CAAC;AAEzE,OAAO,KAAK,iBAAiB,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,gDAAgD,CAAC;AAQzE,MAAM,KAAW,qCAAqC,CAiDrD;AAjDD,WAAiB,qCAAqC;IAClD,MAAa,QAGX,SAAQ,gBAAgB,CAAC,QAAkB;QAMZ;QALnB,SAAS,CAAiB;QAC1B,YAAY,CAAyB;QACrC,OAAO,CAAU;QACR,SAAS,CAAsB;QAElD,YAA6B,OAAgE;YACzF,KAAK,CAAC,OAAO,CAAC,CAAC;YADU,YAAO,GAAP,OAAO,CAAyD;YAEzF,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,sCAAA,YAAY,CAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAqC,CAAC,SAAS,CAAC;gBACjE,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,iBAAiB;gBAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;aACxB,CAAC,CAAC;QACP,CAAC;QAEe,KAAK;YACjB,MAAM,MAAM,GAAG,IAAI,qCAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChF,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC;QAClB,CAAC;KAEJ;IAtCY,8CAAQ,WAsCpB,CAAA;IAOa,+CAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IACtC,kDAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC;IAC/C,iDAAW,GAAG,iBAAiB,CAAC;AAClD,CAAC,EAjDgB,qCAAqC,KAArC,qCAAqC,QAiDrD"}
@@ -1,5 +0,0 @@
1
- import { Structuring } from '../../compatible-engine/structuring.ts';
2
- import type { Function } from '../../function.ts';
3
- import type { Verbatim } from '../../verbatim.ts';
4
- import type { OpenAI } from 'openai';
5
- export declare function encode<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto>(choice: Structuring.Choice<fdu, vdu>): OpenAI.Responses.ToolChoiceOptions | OpenAI.Responses.ToolChoiceAllowed;
@@ -1,30 +0,0 @@
1
- import { Structuring } from "../../compatible-engine/structuring.js";
2
- export function encode(choice) {
3
- if (choice === Structuring.Choice.NONE)
4
- return 'none';
5
- else if (choice === Structuring.Choice.REQUIRED)
6
- return 'auto';
7
- else if (choice === Structuring.Choice.ANYONE)
8
- return 'auto';
9
- else if (choice === Structuring.Choice.AUTO)
10
- return 'auto';
11
- else if (choice === Structuring.Choice.FCall.REQUIRED)
12
- return 'required';
13
- else if (choice === Structuring.Choice.FCall.ANYONE)
14
- return 'required';
15
- else if (choice instanceof Structuring.Choice.FCall)
16
- return {
17
- type: 'allowed_tools',
18
- mode: 'required',
19
- tools: [{ type: 'function', name: choice.name }],
20
- };
21
- else if (choice === Structuring.Choice.VRequest.REQUIRED)
22
- return 'none';
23
- else if (choice === Structuring.Choice.VRequest.ANYONE)
24
- return 'none';
25
- else if (choice instanceof Structuring.Choice.VRequest)
26
- return 'none';
27
- else
28
- throw new Error();
29
- }
30
- //# sourceMappingURL=choice-codec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"choice-codec.js","sourceRoot":"","sources":["../../../src/compatible-engine.d/openai-responses/choice-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAOrE,MAAM,UAAU,MAAM,CAIlB,MAAoC;IAEpC,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SACjD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SAC1D,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACxD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;SAEtD,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;SACpE,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;SAClE,IAAI,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,KAAK;QAC/C,OAAO;YACH,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAiD;SACnG,CAAC;SAED,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;SACnE,IAAI,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;SACjE,IAAI,MAAM,YAAY,WAAW,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;;QAEjE,MAAM,IAAI,KAAK,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,36 +0,0 @@
1
- import { RoleMessage, type Session } from '../../compatible-engine/session.ts';
2
- import { Function } from '../../function.ts';
3
- import OpenAI from 'openai';
4
- import type { ToolCodec } from '../../api-types/openai-responses/tool-codec.ts';
5
- import type { Verbatim } from '../../verbatim.ts';
6
- import { Media } from '../../media.ts';
7
- declare const NOMINAL: unique symbol;
8
- export declare class MessageCodec<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
9
- protected toolCodec: ToolCodec<fdm>;
10
- protected vdm: vdm;
11
- constructor(options: MessageCodec.Options<fdm, vdm>);
12
- decodeAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): MessageCodec.Message.Ai.From<fdm, vdm>;
13
- protected encodeImageResolution(resolution: Media.Image.Resolution): OpenAI.Responses.ResponseInputImage['detail'];
14
- encodeUserMessage(userMessage: RoleMessage.User.From<fdm>): OpenAI.Responses.ResponseInput;
15
- encodeAiMessage(aiMessage: RoleMessage.Ai.From<fdm, vdm>): OpenAI.Responses.ResponseInput;
16
- encodeDeveloperMessage(developerMessage: RoleMessage.Developer): string;
17
- encodeChatMessage(chatMessage: Session.ChatMessage.From<fdm, vdm>): OpenAI.Responses.ResponseInput;
18
- }
19
- export declare namespace MessageCodec {
20
- interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
21
- toolCodec: ToolCodec<fdm>;
22
- vdm: vdm;
23
- }
24
- namespace Message {
25
- class Ai<out fdu extends Function.Decl.Proto, out vdu extends Verbatim.Decl.Proto> extends RoleMessage.Ai<fdu, vdu> {
26
- protected raw: OpenAI.Responses.ResponseOutputItem[];
27
- [NOMINAL]: void;
28
- constructor(parts: RoleMessage.Ai.Part<fdu, vdu>[], raw: OpenAI.Responses.ResponseOutputItem[]);
29
- getRaw(): OpenAI.Responses.ResponseOutputItem[];
30
- }
31
- namespace Ai {
32
- type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Ai<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
33
- }
34
- }
35
- }
36
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/compatible-engine.d/openai-responses/message-codec.ts"],"names":[],"mappings":"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"}
@@ -1,91 +0,0 @@
1
- import OpenAI from 'openai';
2
- import { loggers } from "../../telemetry.js";
3
- import * as ChoiceCodec from "./choice-codec.js";
4
- import * as Undici from 'undici';
5
- export class Transport {
6
- client;
7
- inferenceParams;
8
- providerSpec;
9
- fdm;
10
- throttle;
11
- choice;
12
- messageCodec;
13
- toolCodec;
14
- billing;
15
- constructor(options) {
16
- this.client = new OpenAI({
17
- baseURL: options.providerSpec.baseUrl,
18
- apiKey: options.providerSpec.apiKey,
19
- fetch: Undici.fetch,
20
- fetchOptions: { dispatcher: options.providerSpec.dispatcher },
21
- });
22
- this.inferenceParams = options.inferenceParams;
23
- this.providerSpec = options.providerSpec;
24
- this.fdm = options.fdm;
25
- this.throttle = options.throttle;
26
- this.choice = options.choice;
27
- this.messageCodec = options.messageCodec;
28
- this.toolCodec = options.toolCodec;
29
- this.billing = options.billing;
30
- }
31
- makeParams(session) {
32
- const tools = this.toolCodec.encodeFunctionDeclarationMap(this.fdm);
33
- return {
34
- model: this.inferenceParams.model,
35
- include: ['reasoning.encrypted_content'],
36
- store: false,
37
- stream: true,
38
- input: session.chatMessages.flatMap(chatMessage => this.messageCodec.encodeChatMessage(chatMessage)),
39
- instructions: session.developerMessage && this.messageCodec.encodeDeveloperMessage(session.developerMessage),
40
- tools: tools.length ? tools : undefined,
41
- tool_choice: tools.length ? ChoiceCodec.encode(this.choice) : undefined,
42
- parallel_tool_calls: tools.length ? this.inferenceParams.parallelToolCall : undefined,
43
- ...this.inferenceParams.additionalOptions,
44
- };
45
- }
46
- async fetch(wfctx, session, signal) {
47
- await this.throttle.requests(wfctx);
48
- // Prepare request
49
- const params = this.makeParams(session);
50
- loggers.message.debug(params);
51
- // Send request
52
- let response = null;
53
- const stream = await this.client.responses.create(params, { signal });
54
- for await (const event of stream) {
55
- loggers.stream.trace(event);
56
- if (event.type === 'response.completed')
57
- response = event.response;
58
- else if (event.type === 'response.incomplete')
59
- response = event.response;
60
- else if (event.type === 'response.failed')
61
- response = event.response;
62
- else if (event.type === 'error')
63
- throw new SyntaxError('Response stream error', { cause: event });
64
- }
65
- // Validate response
66
- if (response) { }
67
- else
68
- throw new Error();
69
- loggers.message.debug(response);
70
- if (response.status === 'completed') { }
71
- else
72
- throw new SyntaxError('Abnormal response status', { cause: response });
73
- if (response.usage) { }
74
- else
75
- throw new Error();
76
- // Log response
77
- for (const item of response.output)
78
- if (item.type === 'message')
79
- for (const part of item.content)
80
- if (part.type === 'output_text')
81
- loggers.inference.info(part.text);
82
- else if (part.type === 'refusal')
83
- loggers.inference.warn(part.refusal);
84
- else
85
- loggers.message.info(item);
86
- loggers.message.info(response.usage);
87
- wfctx.cost?.(this.billing.charge(response.usage));
88
- return this.messageCodec.decodeAiMessage(response.output);
89
- }
90
- }
91
- //# sourceMappingURL=transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/compatible-engine.d/openai-responses/transport.ts"],"names":[],"mappings":"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"}