@zimtsui/typechat 0.0.61

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 (216) hide show
  1. package/DEVELOPMENT.md +22 -0
  2. package/LICENSE +165 -0
  3. package/README.md +202 -0
  4. package/assets/verbatim/declarations.handlebars +11 -0
  5. package/assets/verbatim/instruction.md +49 -0
  6. package/build/adaptor.d.ts +45 -0
  7. package/build/adaptor.js +90 -0
  8. package/build/adaptor.js.map +1 -0
  9. package/build/api-types/anthropic/billing.d.ts +12 -0
  10. package/build/api-types/anthropic/billing.js +14 -0
  11. package/build/api-types/anthropic/billing.js.map +1 -0
  12. package/build/api-types/anthropic/tool-codec.d.ts +16 -0
  13. package/build/api-types/anthropic/tool-codec.js +58 -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 +23 -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 +1 -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/tool-codec.js +80 -0
  23. package/build/api-types/google/tool-codec.js.map +1 -0
  24. package/build/api-types/openai-chatcompletions/billing.d.ts +12 -0
  25. package/build/api-types/openai-chatcompletions/billing.js +14 -0
  26. package/build/api-types/openai-chatcompletions/billing.js.map +1 -0
  27. package/build/api-types/openai-chatcompletions/tool-codec.d.ts +17 -0
  28. package/build/api-types/openai-chatcompletions/tool-codec.js +80 -0
  29. package/build/api-types/openai-chatcompletions/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 +14 -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 +76 -0
  35. package/build/api-types/openai-responses/tool-codec.js.map +1 -0
  36. package/build/assets.d.ts +7 -0
  37. package/build/assets.js +8 -0
  38. package/build/assets.js.map +1 -0
  39. package/build/compatible-engine/session.d.ts +67 -0
  40. package/build/compatible-engine/session.js +92 -0
  41. package/build/compatible-engine/session.js.map +1 -0
  42. package/build/compatible-engine/structuring.d.ts +36 -0
  43. package/build/compatible-engine/structuring.js +34 -0
  44. package/build/compatible-engine/structuring.js.map +1 -0
  45. package/build/compatible-engine/validation.d.ts +21 -0
  46. package/build/compatible-engine/validation.js +82 -0
  47. package/build/compatible-engine/validation.js.map +1 -0
  48. package/build/compatible-engine.d/agentloop.d.ts +12 -0
  49. package/build/compatible-engine.d/agentloop.js +52 -0
  50. package/build/compatible-engine.d/agentloop.js.map +1 -0
  51. package/build/compatible-engine.d/aliyun/transport.d.ts +12 -0
  52. package/build/compatible-engine.d/aliyun/transport.js +7 -0
  53. package/build/compatible-engine.d/aliyun/transport.js.map +1 -0
  54. package/build/compatible-engine.d/aliyun.d.ts +24 -0
  55. package/build/compatible-engine.d/aliyun.js +46 -0
  56. package/build/compatible-engine.d/aliyun.js.map +1 -0
  57. package/build/compatible-engine.d/anthropic/choice-codec.d.ts +5 -0
  58. package/build/compatible-engine.d/anthropic/choice-codec.js +26 -0
  59. package/build/compatible-engine.d/anthropic/choice-codec.js.map +1 -0
  60. package/build/compatible-engine.d/anthropic/message-codec.d.ts +36 -0
  61. package/build/compatible-engine.d/anthropic/message-codec.js +86 -0
  62. package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -0
  63. package/build/compatible-engine.d/anthropic/transport.d.ts +34 -0
  64. package/build/compatible-engine.d/anthropic/transport.js +150 -0
  65. package/build/compatible-engine.d/anthropic/transport.js.map +1 -0
  66. package/build/compatible-engine.d/anthropic.d.ts +26 -0
  67. package/build/compatible-engine.d/anthropic.js +46 -0
  68. package/build/compatible-engine.d/anthropic.js.map +1 -0
  69. package/build/compatible-engine.d/google/choice-codec.d.ts +5 -0
  70. package/build/compatible-engine.d/google/choice-codec.js +27 -0
  71. package/build/compatible-engine.d/google/choice-codec.js.map +1 -0
  72. package/build/compatible-engine.d/google/message-codec.d.ts +36 -0
  73. package/build/compatible-engine.d/google/message-codec.js +94 -0
  74. package/build/compatible-engine.d/google/message-codec.js.map +1 -0
  75. package/build/compatible-engine.d/google/transport.d.ts +30 -0
  76. package/build/compatible-engine.d/google/transport.js +78 -0
  77. package/build/compatible-engine.d/google/transport.js.map +1 -0
  78. package/build/compatible-engine.d/google.d.ts +26 -0
  79. package/build/compatible-engine.d/google.js +50 -0
  80. package/build/compatible-engine.d/google.js.map +1 -0
  81. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.d.ts +5 -0
  82. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +31 -0
  83. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +1 -0
  84. package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +24 -0
  85. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +71 -0
  86. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -0
  87. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +38 -0
  88. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js +77 -0
  89. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +1 -0
  90. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +37 -0
  91. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +190 -0
  92. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +1 -0
  93. package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +10 -0
  94. package/build/compatible-engine.d/openai-chatcompletions/transport.js +11 -0
  95. package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -0
  96. package/build/compatible-engine.d/openai-chatcompletions.d.ts +17 -0
  97. package/build/compatible-engine.d/openai-chatcompletions.js +14 -0
  98. package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -0
  99. package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +5 -0
  100. package/build/compatible-engine.d/openai-responses/choice-codec.js +30 -0
  101. package/build/compatible-engine.d/openai-responses/choice-codec.js.map +1 -0
  102. package/build/compatible-engine.d/openai-responses/message-codec.d.ts +36 -0
  103. package/build/compatible-engine.d/openai-responses/message-codec.js +96 -0
  104. package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -0
  105. package/build/compatible-engine.d/openai-responses/transport.d.ts +35 -0
  106. package/build/compatible-engine.d/openai-responses/transport.js +80 -0
  107. package/build/compatible-engine.d/openai-responses/transport.js.map +1 -0
  108. package/build/compatible-engine.d/openai-responses.d.ts +26 -0
  109. package/build/compatible-engine.d/openai-responses.js +46 -0
  110. package/build/compatible-engine.d/openai-responses.js.map +1 -0
  111. package/build/compatible-engine.d.ts +22 -0
  112. package/build/compatible-engine.js +29 -0
  113. package/build/compatible-engine.js.map +1 -0
  114. package/build/config.d.ts +24 -0
  115. package/build/config.js +11 -0
  116. package/build/config.js.map +1 -0
  117. package/build/endpoint-spec.d.ts +20 -0
  118. package/build/endpoint-spec.js +26 -0
  119. package/build/endpoint-spec.js.map +1 -0
  120. package/build/engine/session.d.ts +7 -0
  121. package/build/engine/session.js +1 -0
  122. package/build/engine/session.js.map +1 -0
  123. package/build/engine/transport.d.ts +5 -0
  124. package/build/engine/transport.js +1 -0
  125. package/build/engine/transport.js.map +1 -0
  126. package/build/engine/validation.d.ts +9 -0
  127. package/build/engine/validation.js +1 -0
  128. package/build/engine/validation.js.map +1 -0
  129. package/build/engine.d.ts +82 -0
  130. package/build/engine.js +104 -0
  131. package/build/engine.js.map +1 -0
  132. package/build/exports.d.ts +14 -0
  133. package/build/exports.js +15 -0
  134. package/build/exports.js.map +1 -0
  135. package/build/function.d.ts +106 -0
  136. package/build/function.js +55 -0
  137. package/build/function.js.map +1 -0
  138. package/build/inference-context.d.ts +6 -0
  139. package/build/inference-context.js +1 -0
  140. package/build/inference-context.js.map +1 -0
  141. package/build/native-engines.d/google/message-codec.d.ts +23 -0
  142. package/build/native-engines.d/google/message-codec.js +67 -0
  143. package/build/native-engines.d/google/message-codec.js.map +1 -0
  144. package/build/native-engines.d/google/session.d.ts +58 -0
  145. package/build/native-engines.d/google/session.js +101 -0
  146. package/build/native-engines.d/google/session.js.map +1 -0
  147. package/build/native-engines.d/google/transport.d.ts +34 -0
  148. package/build/native-engines.d/google/transport.js +81 -0
  149. package/build/native-engines.d/google/transport.js.map +1 -0
  150. package/build/native-engines.d/google/validation.d.ts +22 -0
  151. package/build/native-engines.d/google/validation.js +20 -0
  152. package/build/native-engines.d/google/validation.js.map +1 -0
  153. package/build/native-engines.d/google.d/agentloop.d.ts +12 -0
  154. package/build/native-engines.d/google.d/agentloop.js +57 -0
  155. package/build/native-engines.d/google.d/agentloop.js.map +1 -0
  156. package/build/native-engines.d/google.d/exports.d.ts +2 -0
  157. package/build/native-engines.d/google.d/exports.js +3 -0
  158. package/build/native-engines.d/google.d/exports.js.map +1 -0
  159. package/build/native-engines.d/google.d.ts +42 -0
  160. package/build/native-engines.d/google.js +83 -0
  161. package/build/native-engines.d/google.js.map +1 -0
  162. package/build/native-engines.d/openai-responses/choice-codec.d.ts +5 -0
  163. package/build/native-engines.d/openai-responses/choice-codec.js +30 -0
  164. package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -0
  165. package/build/native-engines.d/openai-responses/message-codec.d.ts +23 -0
  166. package/build/native-engines.d/openai-responses/message-codec.js +75 -0
  167. package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
  168. package/build/native-engines.d/openai-responses/session.d.ts +61 -0
  169. package/build/native-engines.d/openai-responses/session.js +86 -0
  170. package/build/native-engines.d/openai-responses/session.js.map +1 -0
  171. package/build/native-engines.d/openai-responses/structuring.d.ts +19 -0
  172. package/build/native-engines.d/openai-responses/structuring.js +19 -0
  173. package/build/native-engines.d/openai-responses/structuring.js.map +1 -0
  174. package/build/native-engines.d/openai-responses/tool.d.ts +55 -0
  175. package/build/native-engines.d/openai-responses/tool.js +24 -0
  176. package/build/native-engines.d/openai-responses/tool.js.map +1 -0
  177. package/build/native-engines.d/openai-responses/transport.d.ts +35 -0
  178. package/build/native-engines.d/openai-responses/transport.js +84 -0
  179. package/build/native-engines.d/openai-responses/transport.js.map +1 -0
  180. package/build/native-engines.d/openai-responses/validation.d.ts +20 -0
  181. package/build/native-engines.d/openai-responses/validation.js +80 -0
  182. package/build/native-engines.d/openai-responses/validation.js.map +1 -0
  183. package/build/native-engines.d/openai-responses.d/agentloop.d.ts +12 -0
  184. package/build/native-engines.d/openai-responses.d/agentloop.js +61 -0
  185. package/build/native-engines.d/openai-responses.d/agentloop.js.map +1 -0
  186. package/build/native-engines.d/openai-responses.d/exports.d.ts +2 -0
  187. package/build/native-engines.d/openai-responses.d/exports.js +3 -0
  188. package/build/native-engines.d/openai-responses.d/exports.js.map +1 -0
  189. package/build/native-engines.d/openai-responses.d.ts +44 -0
  190. package/build/native-engines.d/openai-responses.js +78 -0
  191. package/build/native-engines.d/openai-responses.js.map +1 -0
  192. package/build/telemetry.d.ts +6 -0
  193. package/build/telemetry.js +19 -0
  194. package/build/telemetry.js.map +1 -0
  195. package/build/throttle.d.ts +11 -0
  196. package/build/throttle.js +39 -0
  197. package/build/throttle.js.map +1 -0
  198. package/build/tsconfig.tsbuildinfo +1 -0
  199. package/build/verbatim/codec/declarations.d.ts +2 -0
  200. package/build/verbatim/codec/declarations.js +22 -0
  201. package/build/verbatim/codec/declarations.js.map +1 -0
  202. package/build/verbatim/codec/request.d.ts +7 -0
  203. package/build/verbatim/codec/request.js +53 -0
  204. package/build/verbatim/codec/request.js.map +1 -0
  205. package/build/verbatim/codec.d.ts +2 -0
  206. package/build/verbatim/codec.js +3 -0
  207. package/build/verbatim/codec.js.map +1 -0
  208. package/build/verbatim.d.ts +74 -0
  209. package/build/verbatim.js +17 -0
  210. package/build/verbatim.js.map +1 -0
  211. package/examples/agent.ts +65 -0
  212. package/examples/chat.ts +24 -0
  213. package/examples/config.ts +24 -0
  214. package/examples/tsconfig.json +28 -0
  215. package/examples/verbatim.ts +44 -0
  216. package/package.json +50 -0
@@ -0,0 +1,101 @@
1
+ import { RoleMessage as CompatibleRoleMessage } from "../../compatible-engine/session.js";
2
+ import { Function } from "../../function.js";
3
+ const NOMINAL = Symbol();
4
+ export var RoleMessage;
5
+ (function (RoleMessage) {
6
+ let Part;
7
+ (function (Part) {
8
+ Part.Text = CompatibleRoleMessage.Part.Text;
9
+ })(Part = RoleMessage.Part || (RoleMessage.Part = {}));
10
+ class Ai {
11
+ parts;
12
+ raw;
13
+ constructor(parts, raw) {
14
+ this.parts = parts;
15
+ this.raw = raw;
16
+ }
17
+ getParts() {
18
+ return this.parts;
19
+ }
20
+ getRaw() {
21
+ return this.raw;
22
+ }
23
+ allChatPart() {
24
+ return this.parts.every(part => part instanceof RoleMessage.Part.Text ||
25
+ part instanceof RoleMessage.Ai.Part.ExecutableCode ||
26
+ part instanceof RoleMessage.Ai.Part.CodeExecutionResult);
27
+ }
28
+ getChatParts() {
29
+ return this.parts.filter(part => part instanceof RoleMessage.Part.Text ||
30
+ part instanceof RoleMessage.Ai.Part.ExecutableCode ||
31
+ part instanceof RoleMessage.Ai.Part.CodeExecutionResult);
32
+ }
33
+ static encodeChatPart(part) {
34
+ if (part instanceof RoleMessage.Part.Text)
35
+ return part.text;
36
+ else if (part instanceof RoleMessage.Ai.Part.ExecutableCode)
37
+ return RoleMessage.Part.Text.paragraph('```' + part.language + '\n' + part.code + '\n```').text;
38
+ else if (part instanceof RoleMessage.Ai.Part.CodeExecutionResult) {
39
+ const textParts = [];
40
+ if (part.output)
41
+ textParts.push(RoleMessage.Part.Text.paragraph('```\n' + part.output + '\n```'));
42
+ textParts.push(RoleMessage.Part.Text.paragraph(part.outcome));
43
+ return textParts.map(part => part.text).join('');
44
+ }
45
+ else
46
+ throw new Error();
47
+ }
48
+ getChatText() {
49
+ return this.getChatParts().map(part => RoleMessage.Ai.encodeChatPart(part)).join('');
50
+ }
51
+ getFunctionCalls() {
52
+ return this.parts.filter(part => part instanceof Function.Call);
53
+ }
54
+ getVerbatimRequests() {
55
+ return this.parts
56
+ .filter(part => part instanceof RoleMessage.Part.Text)
57
+ .flatMap(part => part.vrs);
58
+ }
59
+ getOnlyFunctionCall() {
60
+ const fcs = this.getFunctionCalls();
61
+ if (fcs.length === 1) { }
62
+ else
63
+ throw new Error();
64
+ return fcs[0];
65
+ }
66
+ getOnlyVerbatimRequest() {
67
+ const vrs = this.getVerbatimRequests();
68
+ if (vrs.length === 1) { }
69
+ else
70
+ throw new Error();
71
+ return vrs[0];
72
+ }
73
+ }
74
+ RoleMessage.Ai = Ai;
75
+ (function (Ai) {
76
+ let Part;
77
+ (function (Part) {
78
+ class ExecutableCode {
79
+ code;
80
+ language;
81
+ constructor(code, language) {
82
+ this.code = code;
83
+ this.language = language;
84
+ }
85
+ }
86
+ Part.ExecutableCode = ExecutableCode;
87
+ class CodeExecutionResult {
88
+ outcome;
89
+ output;
90
+ constructor(outcome, output) {
91
+ this.outcome = outcome;
92
+ this.output = output;
93
+ }
94
+ }
95
+ Part.CodeExecutionResult = CodeExecutionResult;
96
+ })(Part = Ai.Part || (Ai.Part = {}));
97
+ })(Ai = RoleMessage.Ai || (RoleMessage.Ai = {}));
98
+ RoleMessage.User = CompatibleRoleMessage.User;
99
+ RoleMessage.Developer = CompatibleRoleMessage.Developer;
100
+ })(RoleMessage || (RoleMessage = {}));
101
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type InferenceParams, type ProviderSpec } from '../../engine.ts';
2
+ import { RoleMessage, type Session } from './session.ts';
3
+ import { Function } from '../../function.ts';
4
+ import { type InferenceContext } from '../../inference-context.ts';
5
+ import { Throttle } from '../../throttle.ts';
6
+ import type { MessageCodec } from './message-codec.ts';
7
+ import type { ToolCodec } from '../../api-types/google/tool-codec.ts';
8
+ import type { Billing } from '../../api-types/google/billing.ts';
9
+ import type { Validator } from './validation.ts';
10
+ import type { Verbatim } from '../../verbatim.ts';
11
+ import type { Structuring } from '../../compatible-engine/structuring.ts';
12
+ import type { Engine } from '../../engine.ts';
13
+ export declare class GoogleNativeTransport<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> implements Engine.Transport<RoleMessage.User.From<fdm>, RoleMessage.Ai.From<fdm, vdm>, RoleMessage.Developer, Session.From<fdm, vdm>> {
14
+ protected ctx: GoogleNativeTransport.Context<fdm, vdm>;
15
+ protected apiURL: URL;
16
+ constructor(ctx: GoogleNativeTransport.Context<fdm, vdm>);
17
+ fetch(wfctx: InferenceContext, session: Session.From<fdm, vdm>, signal?: AbortSignal): Promise<RoleMessage.Ai.From<fdm, vdm>>;
18
+ }
19
+ export declare namespace GoogleNativeTransport {
20
+ interface Context<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
21
+ inferenceParams: InferenceParams;
22
+ providerSpec: ProviderSpec;
23
+ fdm: fdm;
24
+ throttle: Throttle;
25
+ choice: Structuring.Choice.From<fdm, vdm>;
26
+ codeExecution: boolean;
27
+ urlContext: boolean;
28
+ googleSearch: boolean;
29
+ messageCodec: MessageCodec<fdm, vdm>;
30
+ toolCodec: ToolCodec<fdm>;
31
+ billing: Billing;
32
+ validator: Validator.From<fdm, vdm>;
33
+ }
34
+ }
@@ -0,0 +1,81 @@
1
+ import { NetworkError, ResponseInvalid } from "../../engine.js";
2
+ import * as Google from '@google/genai';
3
+ import * as Undici from 'undici';
4
+ import { logger } from "../../telemetry.js";
5
+ import * as ChoiceCodec from "../../compatible-engine.d/google/choice-codec.js";
6
+ export class GoogleNativeTransport {
7
+ ctx;
8
+ apiURL;
9
+ constructor(ctx) {
10
+ this.ctx = ctx;
11
+ this.apiURL = new URL(`${this.ctx.providerSpec.baseUrl}/v1beta/models/${this.ctx.inferenceParams.model}:generateContent`);
12
+ }
13
+ async fetch(wfctx, session, signal) {
14
+ const systemInstruction = session.developerMessage && this.ctx.messageCodec.encodeDeveloperMessage(session.developerMessage);
15
+ const contents = this.ctx.messageCodec.encodeChatMessages(session.chatMessages);
16
+ await this.ctx.throttle.requests(wfctx);
17
+ const functionDeclarations = this.ctx.toolCodec.encodeFunctionDeclarationMap(this.ctx.fdm);
18
+ const tools = [];
19
+ if (functionDeclarations.length)
20
+ tools.push({ functionDeclarations });
21
+ if (this.ctx.urlContext)
22
+ tools.push({ urlContext: {} });
23
+ if (this.ctx.googleSearch)
24
+ tools.push({ googleSearch: {} });
25
+ if (this.ctx.codeExecution)
26
+ tools.push({ codeExecution: {} });
27
+ const reqbody = {
28
+ contents,
29
+ tools: tools.length ? tools : undefined,
30
+ toolConfig: functionDeclarations.length ? {
31
+ functionCallingConfig: ChoiceCodec.encode(this.ctx.choice),
32
+ } : undefined,
33
+ systemInstruction,
34
+ generationConfig: this.ctx.inferenceParams.maxTokens || this.ctx.inferenceParams.additionalOptions ? {
35
+ maxOutputTokens: this.ctx.inferenceParams.maxTokens ?? undefined,
36
+ ...this.ctx.inferenceParams.additionalOptions,
37
+ } : undefined,
38
+ };
39
+ logger.message.trace(reqbody);
40
+ const res = await Undici.fetch(this.apiURL, {
41
+ method: 'POST',
42
+ headers: new Headers({
43
+ 'Content-Type': 'application/json',
44
+ 'x-goog-api-key': this.ctx.providerSpec.apiKey,
45
+ }),
46
+ body: JSON.stringify(reqbody),
47
+ dispatcher: this.ctx.providerSpec.proxyAgent,
48
+ signal,
49
+ }).catch(e => {
50
+ if (e instanceof TypeError)
51
+ throw new NetworkError(undefined, { cause: e });
52
+ else
53
+ throw e;
54
+ });
55
+ logger.message.trace(res);
56
+ if (res.ok) { }
57
+ else
58
+ throw new Error(undefined, { cause: res });
59
+ const response = await res.json();
60
+ if (response.candidates?.[0]?.content?.parts?.length) { }
61
+ else
62
+ throw new ResponseInvalid('Content missing', { cause: response });
63
+ if (response.candidates[0].finishReason === Google.FinishReason.MAX_TOKENS)
64
+ throw new ResponseInvalid('Token limit exceeded.', { cause: response });
65
+ if (response.candidates[0].finishReason === Google.FinishReason.STOP) { }
66
+ else
67
+ throw new ResponseInvalid('Abnormal finish reason', { cause: response });
68
+ for (const part of response.candidates[0].content.parts) {
69
+ if (part.text)
70
+ logger.inference.debug(part.text + '\n');
71
+ if (part.functionCall)
72
+ logger.message.debug(part.functionCall);
73
+ }
74
+ if (response.usageMetadata) { }
75
+ else
76
+ throw new ResponseInvalid('Usage metadata missing', { cause: response });
77
+ wfctx.cost?.(this.ctx.billing.charge(response.usageMetadata));
78
+ return this.ctx.messageCodec.decodeAiMessage(response.candidates[0].content);
79
+ }
80
+ }
81
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Structuring } from '../../compatible-engine/structuring.ts';
2
+ import { Function } from '../../function.ts';
3
+ import { Verbatim } from '../../verbatim.ts';
4
+ import { RoleMessage } from './session.ts';
5
+ import { Validator as CompatibleValidator } from '../../compatible-engine/validation.ts';
6
+ import { Engine } from '../../engine.ts';
7
+ export declare class Validator<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> implements Engine.Validator<fdu, vdu, RoleMessage.Ai<fdu, vdu>> {
8
+ protected ctx: Validator.Context<fdu, vdu>;
9
+ protected compatibleValidator: CompatibleValidator<fdu, vdu>;
10
+ constructor(ctx: Validator.Context<fdu, vdu>);
11
+ validateParts(message: RoleMessage.Ai<fdu, vdu>): void;
12
+ validateChoice(message: RoleMessage.Ai<fdu, vdu>): void;
13
+ }
14
+ export declare namespace Validator {
15
+ type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Validator<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
16
+ interface Context<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
17
+ choice: Structuring.Choice<fdu, vdu>;
18
+ }
19
+ namespace Context {
20
+ type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Context<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
21
+ }
22
+ }
@@ -0,0 +1,20 @@
1
+ import { Validator as CompatibleValidator } from "../../compatible-engine/validation.js";
2
+ import { ResponseInvalid } from "../../engine.js";
3
+ export class Validator {
4
+ ctx;
5
+ compatibleValidator;
6
+ constructor(ctx) {
7
+ this.ctx = ctx;
8
+ this.compatibleValidator = new CompatibleValidator({ choice: ctx.choice });
9
+ }
10
+ validateParts(message) {
11
+ const parts = message.getParts();
12
+ if (parts.length) { }
13
+ else
14
+ throw new ResponseInvalid('Empty message.');
15
+ }
16
+ validateChoice(message) {
17
+ this.compatibleValidator.validateStructuring(message.getFunctionCalls(), message.getVerbatimRequests());
18
+ }
19
+ }
20
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/validation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,eAAe,EAAU,MAAM,iBAAiB,CAAC;AAI1D,MAAM,OAAO,SAAS;IAKW;IADnB,mBAAmB,CAAgC;IAC7D,YAA6B,GAAgC;QAAhC,QAAG,GAAH,GAAG,CAA6B;QACzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IAEM,aAAa,CAChB,OAAiC;QAEjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;YAAM,MAAM,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAEM,cAAc,CACjB,OAAiC;QAEjC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC5G,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { type InferenceContext } from '../../inference-context.ts';
2
+ import { Function } from '../../function.ts';
3
+ import { GoogleNativeEngine } from '../google.ts';
4
+ import * as CompatibleAgentloopModule from '../../compatible-engine.d/agentloop.ts';
5
+ import type { Verbatim } from '../../verbatim.ts';
6
+ /**
7
+ * @param session mutable
8
+ */
9
+ export declare function agentloop<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto>(wfctx: InferenceContext, session: GoogleNativeEngine.Session.From<fdm, vdm>, engine: GoogleNativeEngine<fdm, vdm>, fnm: Function.Map<fdm>, limit?: number): AsyncGenerator<string, string, void>;
10
+ export declare namespace agentloop {
11
+ export import FunctionCallLimitExceeded = CompatibleAgentloopModule.agentloop.FunctionCallLimitExceeded;
12
+ }
@@ -0,0 +1,57 @@
1
+ import { Function } from "../../function.js";
2
+ import { GoogleNativeEngine } from "../google.js";
3
+ import * as CompatibleAgentloopModule from "../../compatible-engine.d/agentloop.js";
4
+ /**
5
+ * @param session mutable
6
+ */
7
+ export async function* agentloop(wfctx, session, engine, fnm, limit = Number.POSITIVE_INFINITY) {
8
+ for (let i = 0; i < limit; i++) {
9
+ const response = await engine.stateful(wfctx, session);
10
+ if (response.allChatPart())
11
+ return response.getChatText();
12
+ const pfrs = [];
13
+ for (const part of response.getParts()) {
14
+ if (part instanceof GoogleNativeEngine.RoleMessage.Part.Text) {
15
+ yield GoogleNativeEngine.RoleMessage.Ai.encodeChatPart(part);
16
+ }
17
+ else if (part instanceof Function.Call) {
18
+ const fc = part;
19
+ const f = fnm[fc.name];
20
+ pfrs.push((async () => {
21
+ try {
22
+ return Function.Response.Successful.of({
23
+ id: fc.id,
24
+ name: fc.name,
25
+ text: await f.call(fnm, fc.args),
26
+ });
27
+ }
28
+ catch (e) {
29
+ if (e instanceof Function.Error) { }
30
+ else
31
+ throw e;
32
+ return Function.Response.Failed.of({
33
+ id: fc.id,
34
+ name: fc.name,
35
+ error: e.message,
36
+ });
37
+ }
38
+ })());
39
+ }
40
+ else if (part instanceof GoogleNativeEngine.RoleMessage.Ai.Part.ExecutableCode) {
41
+ yield GoogleNativeEngine.RoleMessage.Ai.encodeChatPart(part);
42
+ }
43
+ else if (part instanceof GoogleNativeEngine.RoleMessage.Ai.Part.CodeExecutionResult) {
44
+ yield GoogleNativeEngine.RoleMessage.Ai.encodeChatPart(part);
45
+ }
46
+ else
47
+ throw new Error();
48
+ }
49
+ const frs = await Promise.all(pfrs);
50
+ engine.pushUserMessage(session, new GoogleNativeEngine.RoleMessage.User(frs));
51
+ }
52
+ throw new agentloop.FunctionCallLimitExceeded('Function call limit exceeded.');
53
+ }
54
+ (function (agentloop) {
55
+ agentloop.FunctionCallLimitExceeded = CompatibleAgentloopModule.agentloop.FunctionCallLimitExceeded;
56
+ })(agentloop || (agentloop = {}));
57
+ //# sourceMappingURL=agentloop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentloop.js","sourceRoot":"","sources":["../../../src/native-engines.d/google.d/agentloop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from '../google.ts';
2
+ export * from './agentloop.ts';
@@ -0,0 +1,3 @@
1
+ export * from "../google.js";
2
+ export * from "./agentloop.js";
3
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../src/native-engines.d/google.d/exports.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Function } from '../function.ts';
2
+ import * as SessionModule from './google/session.ts';
3
+ import { Engine } from '../engine.ts';
4
+ import { type InferenceContext } from '../inference-context.ts';
5
+ import { ToolCodec } from '../api-types/google/tool-codec.ts';
6
+ import { Billing } from '../api-types/google/billing.ts';
7
+ import * as ValidationModule from './google/validation.ts';
8
+ import { MessageCodec as CompatibleMessageCodec } from '../compatible-engine.d/google/message-codec.ts';
9
+ import * as MessageCodecModule from './google/message-codec.ts';
10
+ import { GoogleNativeTransport } from './google/transport.ts';
11
+ import type { Verbatim } from '../verbatim.ts';
12
+ import { Structuring } from '../compatible-engine/structuring.ts';
13
+ export type GoogleNativeEngine<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = GoogleNativeEngine.Instance<fdm, vdm>;
14
+ export declare namespace GoogleNativeEngine {
15
+ class Instance<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Instance<fdm, vdm, GoogleNativeEngine.RoleMessage.User.From<fdm>, GoogleNativeEngine.RoleMessage.Ai.From<fdm, vdm>, GoogleNativeEngine.RoleMessage.Developer, GoogleNativeEngine.Session.From<fdm, vdm>> {
16
+ protected choice: Structuring.Choice.From<fdm, vdm>;
17
+ protected codeExecution: boolean;
18
+ protected urlContext: boolean;
19
+ protected googleSearch: boolean;
20
+ protected toolCodec: ToolCodec<fdm>;
21
+ protected compatibleMessageCodec: CompatibleMessageCodec<fdm, vdm>;
22
+ protected messageCodec: GoogleNativeEngine.MessageCodec<fdm, vdm>;
23
+ protected billing: Billing;
24
+ protected validator: GoogleNativeEngine.Validator.From<fdm, vdm>;
25
+ protected transport: GoogleNativeTransport<fdm, vdm>;
26
+ protected parallelToolCall: boolean;
27
+ constructor(options: GoogleNativeEngine.Options<fdm, vdm>);
28
+ protected infer(wfctx: InferenceContext, session: GoogleNativeEngine.Session.From<fdm, vdm>, signal?: AbortSignal): Promise<GoogleNativeEngine.RoleMessage.Ai.From<fdm, vdm>>;
29
+ appendUserMessage(session: GoogleNativeEngine.Session.From<fdm, vdm>, message: GoogleNativeEngine.RoleMessage.User.From<fdm>): GoogleNativeEngine.Session.From<fdm, vdm>;
30
+ pushUserMessage(session: GoogleNativeEngine.Session.From<fdm, vdm>, message: GoogleNativeEngine.RoleMessage.User.From<fdm>): GoogleNativeEngine.Session.From<fdm, vdm>;
31
+ }
32
+ interface Options<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> extends Engine.Options<fdm, vdm> {
33
+ structuringChoice?: Structuring.Choice.From<fdm, vdm>;
34
+ codeExecution?: boolean;
35
+ urlContext?: boolean;
36
+ googleSearch?: boolean;
37
+ }
38
+ export import Session = SessionModule.Session;
39
+ export import RoleMessage = SessionModule.RoleMessage;
40
+ export import Validator = ValidationModule.Validator;
41
+ export import MessageCodec = MessageCodecModule.MessageCodec;
42
+ }
@@ -0,0 +1,83 @@
1
+ import * as SessionModule from "./google/session.js";
2
+ import { Engine } from "../engine.js";
3
+ import { ToolCodec } from "../api-types/google/tool-codec.js";
4
+ import { Billing } from "../api-types/google/billing.js";
5
+ import * as ValidationModule from "./google/validation.js";
6
+ import { MessageCodec as CompatibleMessageCodec } from "../compatible-engine.d/google/message-codec.js";
7
+ import * as MessageCodecModule from "./google/message-codec.js";
8
+ import { GoogleNativeTransport } from "./google/transport.js";
9
+ import { Structuring } from "../compatible-engine/structuring.js";
10
+ export var GoogleNativeEngine;
11
+ (function (GoogleNativeEngine) {
12
+ class Instance extends Engine.Instance {
13
+ choice;
14
+ codeExecution;
15
+ urlContext;
16
+ googleSearch;
17
+ toolCodec;
18
+ compatibleMessageCodec;
19
+ messageCodec;
20
+ billing;
21
+ validator;
22
+ transport;
23
+ parallelToolCall;
24
+ constructor(options) {
25
+ super(options);
26
+ this.parallelToolCall = options.parallelToolCall ?? true;
27
+ if (this.parallelToolCall) { }
28
+ else
29
+ throw new Error('Parallel tool calling is required by Google engine.');
30
+ this.choice = options.structuringChoice ?? Structuring.Choice.AUTO;
31
+ this.codeExecution = options.codeExecution ?? false;
32
+ this.urlContext = options.urlContext ?? false;
33
+ this.googleSearch = options.googleSearch ?? false;
34
+ this.toolCodec = new ToolCodec({
35
+ fdm: this.fdm,
36
+ });
37
+ this.compatibleMessageCodec = new CompatibleMessageCodec({
38
+ toolCodec: this.toolCodec,
39
+ vdm: this.vdm,
40
+ });
41
+ this.messageCodec = new GoogleNativeEngine.MessageCodec({
42
+ toolCodec: this.toolCodec,
43
+ compatibleMessageCodec: this.compatibleMessageCodec,
44
+ codeExecution: this.codeExecution,
45
+ vdm: this.vdm,
46
+ });
47
+ this.billing = new Billing({ pricing: this.pricing });
48
+ this.validator = new GoogleNativeEngine.Validator({ choice: this.choice });
49
+ this.transport = new GoogleNativeTransport({
50
+ inferenceParams: this.inferenceParams,
51
+ providerSpec: this.providerSpec,
52
+ fdm: this.fdm,
53
+ throttle: this.throttle,
54
+ choice: this.choice,
55
+ codeExecution: this.codeExecution,
56
+ urlContext: this.urlContext,
57
+ googleSearch: this.googleSearch,
58
+ messageCodec: this.messageCodec,
59
+ toolCodec: this.toolCodec,
60
+ billing: this.billing,
61
+ validator: this.validator,
62
+ });
63
+ }
64
+ infer(wfctx, session, signal) {
65
+ return this.transport.fetch(wfctx, session, signal);
66
+ }
67
+ appendUserMessage(session, message) {
68
+ return {
69
+ developerMessage: session.developerMessage,
70
+ chatMessages: [...session.chatMessages, message],
71
+ };
72
+ }
73
+ pushUserMessage(session, message) {
74
+ session.chatMessages.push(message);
75
+ return session;
76
+ }
77
+ }
78
+ GoogleNativeEngine.Instance = Instance;
79
+ GoogleNativeEngine.RoleMessage = SessionModule.RoleMessage;
80
+ GoogleNativeEngine.Validator = ValidationModule.Validator;
81
+ GoogleNativeEngine.MessageCodec = MessageCodecModule.MessageCodec;
82
+ })(GoogleNativeEngine || (GoogleNativeEngine = {}));
83
+ //# sourceMappingURL=google.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/native-engines.d/google.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxG,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAQlE,MAAM,KAAW,kBAAkB,CAyGlC;AAzGD,WAAiB,kBAAkB;IAC/B,MAAa,QAGX,SAAQ,MAAM,CAAC,QAMhB;QACa,MAAM,CAAoC;QAC1C,aAAa,CAAU;QACvB,UAAU,CAAU;QACpB,YAAY,CAAU;QAEtB,SAAS,CAAiB;QAC1B,sBAAsB,CAAmC;QACzD,YAAY,CAA4C;QACxD,OAAO,CAAU;QACR,SAAS,CAA8C;QACvD,SAAS,CAAkC;QAC3C,gBAAgB,CAAU;QAE7C,YAAmB,OAA6C;YAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;YACzD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAC1G,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,iBAAiB,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YACnE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;YAElD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,sBAAsB,CAAC;gBACrD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,YAAY,CAAC;gBACpD,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,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,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,CAAC;gBACvC,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,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC5B,CAAC,CAAC;QACP,CAAC;QAEkB,KAAK,CACpB,KAAuB,EACvB,OAAkD,EAClD,MAAoB;YAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAEe,iBAAiB,CAC7B,OAAkD,EAClD,OAAsD;YAEtD,OAAO;gBACH,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;aACnD,CAAC;QACN,CAAC;QAEe,eAAe,CAC3B,OAAkD,EAClD,OAAsD;YAEtD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,OAAO,CAAC;QACnB,CAAC;KACJ;IAxFY,2BAAQ,WAwFpB,CAAA;IAaa,8BAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IACxC,4BAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;IACvC,+BAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC;AACjE,CAAC,EAzGgB,kBAAkB,KAAlB,kBAAkB,QAyGlC"}
@@ -0,0 +1,5 @@
1
+ import { Structuring } from './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;
@@ -0,0 +1,30 @@
1
+ import { Structuring } from "./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.TCall.REQUIRED)
12
+ return 'required';
13
+ else if (choice === Structuring.Choice.TCall.ANYONE)
14
+ return 'required';
15
+ else if (choice instanceof Structuring.Choice.TCall.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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice-codec.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/choice-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,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,CAAC,KAAK;QACrD,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"}
@@ -0,0 +1,23 @@
1
+ import { RoleMessage, type Session } from './session.ts';
2
+ import { Function } from '../../function.ts';
3
+ import OpenAI from 'openai';
4
+ import { MessageCodec as CompatibleMessageCodec } from '../../compatible-engine.d/openai-responses/message-codec.ts';
5
+ import type { ToolCodec } from '../../api-types/openai-responses/tool-codec.ts';
6
+ import type { Verbatim } from '../../verbatim.ts';
7
+ export declare class MessageCodec<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
8
+ protected ctx: MessageCodec.Context<fdm, vdm>;
9
+ constructor(ctx: MessageCodec.Context<fdm, vdm>);
10
+ encodeFunctionResponse(fr: Function.Response.From<fdm>): OpenAI.Responses.ResponseInputItem.FunctionCallOutput;
11
+ decodeAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): RoleMessage.Ai.From<fdm, vdm>;
12
+ encodeUserMessage(userMessage: RoleMessage.User.From<fdm>): OpenAI.Responses.ResponseInput;
13
+ encodeAiMessage(aiMessage: RoleMessage.Ai.From<fdm, vdm>): OpenAI.Responses.ResponseInput;
14
+ encodeDeveloperMessage(developerMessage: RoleMessage.Developer): string;
15
+ encodeChatMessage(chatMessage: Session.ChatMessage.From<fdm, vdm>): OpenAI.Responses.ResponseInput;
16
+ }
17
+ export declare namespace MessageCodec {
18
+ interface Context<in out fdm extends Function.Decl.Map.Proto, in out vdm extends Verbatim.Decl.Map.Proto> {
19
+ toolCodec: ToolCodec<fdm>;
20
+ compatibleMessageCodec: CompatibleMessageCodec<fdm, vdm>;
21
+ vdm: vdm;
22
+ }
23
+ }