@zimtsui/brainswitch 0.0.55 → 0.0.57

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 (272) hide show
  1. package/DEVELOPMENT.md +13 -14
  2. package/README.md +110 -62
  3. package/assets/verbatim/declarations.handlebars +11 -0
  4. package/assets/verbatim/instruction.md +49 -0
  5. package/build/adaptor.d.ts +38 -7
  6. package/build/adaptor.js +35 -37
  7. package/build/adaptor.js.map +1 -1
  8. package/build/api-types/anthropic/billing.d.ts +12 -0
  9. package/build/api-types/anthropic/billing.js +14 -0
  10. package/build/api-types/anthropic/billing.js.map +1 -0
  11. package/build/api-types/anthropic/tool-codec.d.ts +16 -0
  12. package/build/api-types/anthropic/tool-codec.js +58 -0
  13. package/build/api-types/anthropic/tool-codec.js.map +1 -0
  14. package/build/api-types/google/billing.d.ts +12 -0
  15. package/build/api-types/google/billing.js +23 -0
  16. package/build/api-types/google/billing.js.map +1 -0
  17. package/build/api-types/google/restful-request.d.ts +8 -0
  18. package/build/api-types/google/restful-request.js +1 -0
  19. package/build/api-types/google/restful-request.js.map +1 -0
  20. package/build/api-types/google/tool-codec.d.ts +16 -0
  21. package/build/api-types/{google.js → google/tool-codec.js} +32 -29
  22. package/build/api-types/google/tool-codec.js.map +1 -0
  23. package/build/api-types/openai-chatcompletions/billing.d.ts +12 -0
  24. package/build/api-types/openai-chatcompletions/billing.js +14 -0
  25. package/build/api-types/openai-chatcompletions/billing.js.map +1 -0
  26. package/build/api-types/openai-chatcompletions/tool-codec.d.ts +17 -0
  27. package/build/api-types/openai-chatcompletions/tool-codec.js +80 -0
  28. package/build/api-types/openai-chatcompletions/tool-codec.js.map +1 -0
  29. package/build/api-types/openai-responses/billing.d.ts +12 -0
  30. package/build/api-types/openai-responses/billing.js +14 -0
  31. package/build/api-types/openai-responses/billing.js.map +1 -0
  32. package/build/api-types/openai-responses/tool-codec.d.ts +16 -0
  33. package/build/api-types/openai-responses/tool-codec.js +76 -0
  34. package/build/api-types/openai-responses/tool-codec.js.map +1 -0
  35. package/build/assets.d.ts +7 -0
  36. package/build/assets.js +8 -0
  37. package/build/assets.js.map +1 -0
  38. package/build/compatible-engine/session.d.ts +67 -0
  39. package/build/compatible-engine/session.js +92 -0
  40. package/build/compatible-engine/session.js.map +1 -0
  41. package/build/compatible-engine/structuring.d.ts +36 -0
  42. package/build/compatible-engine/structuring.js +34 -0
  43. package/build/compatible-engine/structuring.js.map +1 -0
  44. package/build/compatible-engine/validation.d.ts +21 -0
  45. package/build/compatible-engine/validation.js +82 -0
  46. package/build/compatible-engine/validation.js.map +1 -0
  47. package/build/compatible-engine.d/agentloop.d.ts +12 -0
  48. package/build/compatible-engine.d/agentloop.js +52 -0
  49. package/build/compatible-engine.d/agentloop.js.map +1 -0
  50. package/build/compatible-engine.d/aliyun/transport.d.ts +12 -0
  51. package/build/compatible-engine.d/aliyun/transport.js +7 -0
  52. package/build/compatible-engine.d/aliyun/transport.js.map +1 -0
  53. package/build/compatible-engine.d/aliyun.d.ts +24 -0
  54. package/build/compatible-engine.d/aliyun.js +46 -0
  55. package/build/compatible-engine.d/aliyun.js.map +1 -0
  56. package/build/compatible-engine.d/anthropic/choice-codec.d.ts +5 -0
  57. package/build/compatible-engine.d/anthropic/choice-codec.js +26 -0
  58. package/build/compatible-engine.d/anthropic/choice-codec.js.map +1 -0
  59. package/build/compatible-engine.d/anthropic/message-codec.d.ts +36 -0
  60. package/build/compatible-engine.d/anthropic/message-codec.js +86 -0
  61. package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -0
  62. package/build/compatible-engine.d/anthropic/transport.d.ts +34 -0
  63. package/build/compatible-engine.d/anthropic/transport.js +150 -0
  64. package/build/compatible-engine.d/anthropic/transport.js.map +1 -0
  65. package/build/compatible-engine.d/anthropic.d.ts +26 -0
  66. package/build/compatible-engine.d/anthropic.js +46 -0
  67. package/build/compatible-engine.d/anthropic.js.map +1 -0
  68. package/build/compatible-engine.d/google/choice-codec.d.ts +5 -0
  69. package/build/compatible-engine.d/google/choice-codec.js +27 -0
  70. package/build/compatible-engine.d/google/choice-codec.js.map +1 -0
  71. package/build/compatible-engine.d/google/message-codec.d.ts +36 -0
  72. package/build/compatible-engine.d/google/message-codec.js +94 -0
  73. package/build/compatible-engine.d/google/message-codec.js.map +1 -0
  74. package/build/compatible-engine.d/google/transport.d.ts +30 -0
  75. package/build/compatible-engine.d/google/transport.js +78 -0
  76. package/build/compatible-engine.d/google/transport.js.map +1 -0
  77. package/build/compatible-engine.d/google.d.ts +26 -0
  78. package/build/compatible-engine.d/google.js +50 -0
  79. package/build/compatible-engine.d/google.js.map +1 -0
  80. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.d.ts +5 -0
  81. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +31 -0
  82. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +1 -0
  83. package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +24 -0
  84. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +71 -0
  85. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -0
  86. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +38 -0
  87. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js +77 -0
  88. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +1 -0
  89. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +37 -0
  90. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +190 -0
  91. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +1 -0
  92. package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +10 -0
  93. package/build/compatible-engine.d/openai-chatcompletions/transport.js +11 -0
  94. package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -0
  95. package/build/compatible-engine.d/openai-chatcompletions.d.ts +17 -0
  96. package/build/compatible-engine.d/openai-chatcompletions.js +14 -0
  97. package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -0
  98. package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +5 -0
  99. package/build/compatible-engine.d/openai-responses/choice-codec.js +30 -0
  100. package/build/compatible-engine.d/openai-responses/choice-codec.js.map +1 -0
  101. package/build/compatible-engine.d/openai-responses/message-codec.d.ts +36 -0
  102. package/build/compatible-engine.d/openai-responses/message-codec.js +96 -0
  103. package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -0
  104. package/build/compatible-engine.d/openai-responses/transport.d.ts +35 -0
  105. package/build/compatible-engine.d/openai-responses/transport.js +80 -0
  106. package/build/compatible-engine.d/openai-responses/transport.js.map +1 -0
  107. package/build/compatible-engine.d/openai-responses.d.ts +26 -0
  108. package/build/compatible-engine.d/openai-responses.js +46 -0
  109. package/build/compatible-engine.d/openai-responses.js.map +1 -0
  110. package/build/compatible-engine.d.ts +17 -46
  111. package/build/compatible-engine.js +20 -58
  112. package/build/compatible-engine.js.map +1 -1
  113. package/build/config.d.ts +1 -0
  114. package/build/config.js +0 -1
  115. package/build/config.js.map +1 -1
  116. package/build/endpoint-spec.d.ts +1 -0
  117. package/build/endpoint-spec.js +2 -1
  118. package/build/endpoint-spec.js.map +1 -1
  119. package/build/engine/session.d.ts +7 -0
  120. package/build/engine/session.js +1 -0
  121. package/build/engine/session.js.map +1 -0
  122. package/build/engine/transport.d.ts +5 -0
  123. package/build/engine/transport.js +1 -0
  124. package/build/engine/transport.js.map +1 -0
  125. package/build/engine/validation.d.ts +9 -0
  126. package/build/engine/validation.js +1 -0
  127. package/build/engine/validation.js.map +1 -0
  128. package/build/engine.d.ts +60 -29
  129. package/build/engine.js +86 -19
  130. package/build/engine.js.map +1 -1
  131. package/build/exports.d.ts +4 -3
  132. package/build/exports.js +4 -3
  133. package/build/exports.js.map +1 -1
  134. package/build/function.d.ts +79 -54
  135. package/build/function.js +30 -46
  136. package/build/function.js.map +1 -1
  137. package/build/inference-context.d.ts +2 -2
  138. package/build/inference-context.js +0 -1
  139. package/build/inference-context.js.map +1 -1
  140. package/build/native-engines.d/google/message-codec.d.ts +23 -0
  141. package/build/native-engines.d/google/message-codec.js +67 -0
  142. package/build/native-engines.d/google/message-codec.js.map +1 -0
  143. package/build/native-engines.d/google/session.d.ts +45 -51
  144. package/build/native-engines.d/google/session.js +84 -80
  145. package/build/native-engines.d/google/session.js.map +1 -1
  146. package/build/native-engines.d/google/transport.d.ts +34 -0
  147. package/build/native-engines.d/google/transport.js +81 -0
  148. package/build/native-engines.d/google/transport.js.map +1 -0
  149. package/build/native-engines.d/google/validation.d.ts +22 -0
  150. package/build/native-engines.d/google/validation.js +20 -0
  151. package/build/native-engines.d/google/validation.js.map +1 -0
  152. package/build/native-engines.d/google.d/agentloop.d.ts +12 -0
  153. package/build/native-engines.d/google.d/agentloop.js +57 -0
  154. package/build/native-engines.d/google.d/agentloop.js.map +1 -0
  155. package/build/native-engines.d/google.d/exports.d.ts +3 -0
  156. package/build/native-engines.d/google.d/exports.js +4 -0
  157. package/build/native-engines.d/google.d/exports.js.map +1 -0
  158. package/build/native-engines.d/google.d.ts +42 -0
  159. package/build/native-engines.d/google.js +83 -0
  160. package/build/native-engines.d/google.js.map +1 -0
  161. package/build/native-engines.d/openai-responses/choice-codec.d.ts +5 -0
  162. package/build/native-engines.d/openai-responses/choice-codec.js +30 -0
  163. package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -0
  164. package/build/native-engines.d/openai-responses/message-codec.d.ts +23 -0
  165. package/build/native-engines.d/openai-responses/message-codec.js +75 -0
  166. package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
  167. package/build/native-engines.d/openai-responses/session.d.ts +47 -44
  168. package/build/native-engines.d/openai-responses/session.js +73 -103
  169. package/build/native-engines.d/openai-responses/session.js.map +1 -1
  170. package/build/native-engines.d/openai-responses/structuring.d.ts +19 -0
  171. package/build/native-engines.d/openai-responses/structuring.js +19 -0
  172. package/build/native-engines.d/openai-responses/structuring.js.map +1 -0
  173. package/build/native-engines.d/openai-responses/tool.d.ts +14 -11
  174. package/build/native-engines.d/openai-responses/tool.js +1 -12
  175. package/build/native-engines.d/openai-responses/tool.js.map +1 -1
  176. package/build/native-engines.d/openai-responses/transport.d.ts +35 -0
  177. package/build/native-engines.d/openai-responses/transport.js +84 -0
  178. package/build/native-engines.d/openai-responses/transport.js.map +1 -0
  179. package/build/native-engines.d/openai-responses/validation.d.ts +20 -0
  180. package/build/native-engines.d/openai-responses/validation.js +80 -0
  181. package/build/native-engines.d/openai-responses/validation.js.map +1 -0
  182. package/build/native-engines.d/openai-responses.d/agentloop.d.ts +12 -0
  183. package/build/native-engines.d/openai-responses.d/agentloop.js +61 -0
  184. package/build/native-engines.d/openai-responses.d/agentloop.js.map +1 -0
  185. package/build/native-engines.d/{google → openai-responses.d}/exports.d.ts +1 -2
  186. package/build/native-engines.d/{google → openai-responses.d}/exports.js +1 -2
  187. package/build/native-engines.d/openai-responses.d/exports.js.map +1 -0
  188. package/build/native-engines.d/openai-responses.d.ts +44 -0
  189. package/build/native-engines.d/openai-responses.js +78 -0
  190. package/build/native-engines.d/openai-responses.js.map +1 -0
  191. package/build/throttle.d.ts +5 -4
  192. package/build/throttle.js +17 -14
  193. package/build/throttle.js.map +1 -1
  194. package/build/tsconfig.tsbuildinfo +1 -1
  195. package/build/verbatim/codec/declarations.d.ts +2 -0
  196. package/build/verbatim/codec/declarations.js +22 -0
  197. package/build/verbatim/codec/declarations.js.map +1 -0
  198. package/build/verbatim/codec/request.d.ts +7 -0
  199. package/build/verbatim/codec/request.js +53 -0
  200. package/build/verbatim/codec/request.js.map +1 -0
  201. package/build/verbatim/codec.d.ts +2 -0
  202. package/build/verbatim/codec.js +3 -0
  203. package/build/verbatim/codec.js.map +1 -0
  204. package/build/verbatim.d.ts +74 -0
  205. package/build/verbatim.js +17 -0
  206. package/build/verbatim.js.map +1 -0
  207. package/examples/agent.ts +65 -0
  208. package/examples/chat.ts +24 -0
  209. package/examples/config.ts +24 -0
  210. package/examples/tsconfig.json +34 -0
  211. package/examples/verbatim.ts +44 -0
  212. package/package.json +10 -9
  213. package/build/agentloop.d.ts +0 -12
  214. package/build/agentloop.js +0 -43
  215. package/build/agentloop.js.map +0 -1
  216. package/build/api-types/anthropic.d.ts +0 -29
  217. package/build/api-types/anthropic.js +0 -93
  218. package/build/api-types/anthropic.js.map +0 -1
  219. package/build/api-types/google.d.ts +0 -28
  220. package/build/api-types/google.js.map +0 -1
  221. package/build/api-types/openai-chat-completions.d.ts +0 -31
  222. package/build/api-types/openai-chat-completions.js +0 -113
  223. package/build/api-types/openai-chat-completions.js.map +0 -1
  224. package/build/api-types/openai-responses.d.ts +0 -23
  225. package/build/api-types/openai-responses.js +0 -71
  226. package/build/api-types/openai-responses.js.map +0 -1
  227. package/build/compatible-engines.d/aliyun.d.ts +0 -69
  228. package/build/compatible-engines.d/aliyun.js +0 -149
  229. package/build/compatible-engines.d/aliyun.js.map +0 -1
  230. package/build/compatible-engines.d/anthropic.d.ts +0 -78
  231. package/build/compatible-engines.d/anthropic.js +0 -312
  232. package/build/compatible-engines.d/anthropic.js.map +0 -1
  233. package/build/compatible-engines.d/google.d.ts +0 -83
  234. package/build/compatible-engines.d/google.js +0 -279
  235. package/build/compatible-engines.d/google.js.map +0 -1
  236. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.d.ts +0 -15
  237. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js +0 -75
  238. package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js.map +0 -1
  239. package/build/compatible-engines.d/openai-chatcompletions.d/stream.d.ts +0 -21
  240. package/build/compatible-engines.d/openai-chatcompletions.d/stream.js +0 -186
  241. package/build/compatible-engines.d/openai-chatcompletions.d/stream.js.map +0 -1
  242. package/build/compatible-engines.d/openai-chatcompletions.d.ts +0 -27
  243. package/build/compatible-engines.d/openai-chatcompletions.js +0 -76
  244. package/build/compatible-engines.d/openai-chatcompletions.js.map +0 -1
  245. package/build/compatible-engines.d/openai-responses.d.ts +0 -93
  246. package/build/compatible-engines.d/openai-responses.js +0 -300
  247. package/build/compatible-engines.d/openai-responses.js.map +0 -1
  248. package/build/frontmatter.d.ts +0 -5
  249. package/build/frontmatter.js +0 -13
  250. package/build/frontmatter.js.map +0 -1
  251. package/build/native-engines.d/google/agentloop.d.ts +0 -12
  252. package/build/native-engines.d/google/agentloop.js +0 -42
  253. package/build/native-engines.d/google/agentloop.js.map +0 -1
  254. package/build/native-engines.d/google/engine.d.ts +0 -110
  255. package/build/native-engines.d/google/engine.js +0 -314
  256. package/build/native-engines.d/google/engine.js.map +0 -1
  257. package/build/native-engines.d/google/exports.js.map +0 -1
  258. package/build/native-engines.d/openai-responses/agentloop.d.ts +0 -13
  259. package/build/native-engines.d/openai-responses/agentloop.js +0 -53
  260. package/build/native-engines.d/openai-responses/agentloop.js.map +0 -1
  261. package/build/native-engines.d/openai-responses/engine.d.ts +0 -112
  262. package/build/native-engines.d/openai-responses/engine.js +0 -344
  263. package/build/native-engines.d/openai-responses/engine.js.map +0 -1
  264. package/build/native-engines.d/openai-responses/exports.d.ts +0 -7
  265. package/build/native-engines.d/openai-responses/exports.js +0 -8
  266. package/build/native-engines.d/openai-responses/exports.js.map +0 -1
  267. package/build/session.d.ts +0 -77
  268. package/build/session.js +0 -137
  269. package/build/session.js.map +0 -1
  270. package/build/test.d.ts +0 -1
  271. package/build/test.js +0 -198
  272. package/build/test.js.map +0 -1
@@ -0,0 +1,67 @@
1
+ import { ResponseInvalid } from "../../engine.js";
2
+ import { RoleMessage } from "./session.js";
3
+ import * as VerbatimCodec from "../../verbatim/codec.js";
4
+ export class MessageCodec {
5
+ ctx;
6
+ constructor(ctx) {
7
+ this.ctx = ctx;
8
+ }
9
+ encodeAiMessage(aiMessage) {
10
+ return aiMessage.getRaw();
11
+ }
12
+ encodeUserMessage(userMessage) {
13
+ return this.ctx.compatibleMessageCodec.encodeUserMessage(userMessage);
14
+ }
15
+ encodeDeveloperMessage(developerMessage) {
16
+ return this.ctx.compatibleMessageCodec.encodeDeveloperMessage(developerMessage);
17
+ }
18
+ encodeChatMessages(chatMessages) {
19
+ return chatMessages.map(chatMessage => {
20
+ if (chatMessage instanceof RoleMessage.User)
21
+ return this.encodeUserMessage(chatMessage);
22
+ else if (chatMessage instanceof RoleMessage.Ai)
23
+ return this.encodeAiMessage(chatMessage);
24
+ else
25
+ throw new Error();
26
+ });
27
+ }
28
+ decodeAiMessage(content) {
29
+ if (content.parts) { }
30
+ else
31
+ throw new Error();
32
+ const parts = content.parts.flatMap(part => {
33
+ const parts = [];
34
+ if (part.text) {
35
+ const vrs = VerbatimCodec.Request.decode(part.text, this.ctx.vdm);
36
+ parts.push(new RoleMessage.Part.Text(part.text, vrs));
37
+ }
38
+ if (part.functionCall) {
39
+ parts.push(this.ctx.toolCodec.decodeFunctionCall(part.functionCall));
40
+ }
41
+ if (part.executableCode) {
42
+ if (this.ctx.codeExecution) { }
43
+ else
44
+ throw new ResponseInvalid('Unexpected code execution', { cause: content });
45
+ if (part.executableCode.code) { }
46
+ else
47
+ throw new Error();
48
+ if (part.executableCode.language) { }
49
+ else
50
+ throw new Error();
51
+ parts.push(new RoleMessage.Ai.Part.ExecutableCode(part.executableCode.code, part.executableCode.language));
52
+ }
53
+ if (part.codeExecutionResult) {
54
+ if (this.ctx.codeExecution) { }
55
+ else
56
+ throw new ResponseInvalid('Unexpected code execution result', { cause: content });
57
+ if (part.codeExecutionResult.outcome) { }
58
+ else
59
+ throw new Error();
60
+ parts.push(new RoleMessage.Ai.Part.CodeExecutionResult(part.codeExecutionResult.outcome, part.codeExecutionResult.output));
61
+ }
62
+ return parts;
63
+ });
64
+ return new RoleMessage.Ai(parts, content);
65
+ }
66
+ }
67
+ //# sourceMappingURL=message-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-codec.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/message-codec.ts"],"names":[],"mappings":"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"}
@@ -1,64 +1,58 @@
1
- import * as Compatible from '../../session.ts';
1
+ import { RoleMessage as CompatibleRoleMessage } from '../../compatible-engine/session.ts';
2
2
  import { Function } from '../../function.ts';
3
3
  import * as Google from '@google/genai';
4
- export interface Session<out fdu extends Function.Declaration = never> {
5
- developerMessage?: RoleMessage.Developer;
6
- chatMessages: ChatMessage<fdu>[];
4
+ import type { Engine } from '../../engine.ts';
5
+ import { Verbatim } from '../../verbatim.ts';
6
+ declare const NOMINAL: unique symbol;
7
+ export interface Session<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> extends Engine.Session<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>, RoleMessage.Developer> {
7
8
  }
8
- export type ChatMessage<fdu extends Function.Declaration = never> = RoleMessage.User<fdu> | RoleMessage.Ai<fdu>;
9
- export type RoleMessage = RoleMessage.Instance;
10
- export declare namespace RoleMessage {
11
- abstract class Instance {
12
- static readonly ROLE_MESSAGE_NOMINAL: unique symbol;
13
- private readonly [Instance.ROLE_MESSAGE_NOMINAL];
14
- abstract getText(): string;
15
- abstract getOnlyText(): string;
9
+ export declare namespace Session {
10
+ type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Session<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
11
+ type ChatMessage<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto> = Engine.Session.ChatMessage<RoleMessage.User<fdu>, RoleMessage.Ai<fdu, vdu>>;
12
+ namespace ChatMessage {
13
+ type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = ChatMessage<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
16
14
  }
15
+ }
16
+ export declare namespace RoleMessage {
17
17
  namespace Part {
18
- export import Text = Compatible.RoleMessage.Part.Text;
18
+ export import Text = CompatibleRoleMessage.Part.Text;
19
+ }
20
+ class Ai<in out fdu extends Function.Decl.Proto, in out vdu extends Verbatim.Decl.Proto> {
21
+ protected parts: RoleMessage.Ai.Part<fdu, vdu>[];
22
+ protected raw: Google.Content;
23
+ protected [NOMINAL]: never;
24
+ constructor(parts: RoleMessage.Ai.Part<fdu, vdu>[], raw: Google.Content);
25
+ getParts(): RoleMessage.Ai.Part<fdu, vdu>[];
26
+ getRaw(): Google.Content;
27
+ allChatPart(): boolean;
28
+ getChatParts(): RoleMessage.Ai.Part<fdu, vdu>[];
29
+ static encodeChatPart<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto>(part: RoleMessage.Ai.Part<fdu, vdu>): string;
30
+ getChatText(): string;
31
+ getFunctionCalls(): Function.Call.Of<fdu>[];
32
+ getVerbatimRequests(): Verbatim.Request.Of<vdu>[];
33
+ getOnlyFunctionCall(): Function.Call.Of<fdu>;
34
+ getOnlyVerbatimRequest(): Verbatim.Request.Of<vdu>;
19
35
  }
20
- type Ai<fdu extends Function.Declaration = never> = Ai.Instance<fdu>;
21
36
  namespace Ai {
22
- function create<fdu extends Function.Declaration = never>(parts: RoleMessage.Ai.Part<fdu>[], raw: Google.Content): Ai<fdu>;
23
- const NOMINAL: unique symbol;
24
- class Instance<out fdu extends Function.Declaration = never> extends RoleMessage.Instance {
25
- protected parts: RoleMessage.Ai.Part<fdu>[];
26
- protected raw: Google.Content;
27
- readonly [NOMINAL]: void;
28
- constructor(parts: RoleMessage.Ai.Part<fdu>[], raw: Google.Content);
29
- getParts(): RoleMessage.Ai.Part<fdu>[];
30
- getRaw(): Google.Content;
31
- getText(): string;
32
- getOnlyText(): string;
33
- getOnlyFunctionCall(): Function.Call.Distributive<fdu>;
34
- getFunctionCalls(): Function.Call.Distributive<fdu>[];
35
- }
36
- type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Function.Call.Distributive<fdu> | RoleMessage.Ai.Part.ExecutableCode | RoleMessage.Ai.Part.CodeExecutionResult;
37
+ type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Ai<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
38
+ type Part<fdu extends Function.Decl.Proto, vdu extends Verbatim.Decl.Proto> = RoleMessage.Part.Text<vdu> | Function.Call.Of<fdu> | RoleMessage.Ai.Part.ExecutableCode | RoleMessage.Ai.Part.CodeExecutionResult;
37
39
  namespace Part {
38
- type ExecutableCode = ExecutableCode.Instance;
39
- namespace ExecutableCode {
40
- const NOMINAL: unique symbol;
41
- class Instance {
42
- code: string;
43
- language: string;
44
- private readonly [NOMINAL];
45
- constructor(code: string, language: string);
46
- }
47
- function create(code: string, language: string): Instance;
40
+ type From<fdm extends Function.Decl.Map.Proto, vdm extends Verbatim.Decl.Map.Proto> = Part<Function.Decl.From<fdm>, Verbatim.Decl.From<vdm>>;
41
+ class ExecutableCode {
42
+ code: string;
43
+ language: string;
44
+ protected [NOMINAL]: never;
45
+ constructor(code: string, language: string);
48
46
  }
49
- type CodeExecutionResult = CodeExecutionResult.Instance;
50
- namespace CodeExecutionResult {
51
- const NOMINAL: unique symbol;
52
- class Instance {
53
- outcome: string;
54
- output?: string | undefined;
55
- private readonly [NOMINAL];
56
- constructor(outcome: string, output?: string | undefined);
57
- }
58
- function create(outcome: string, output?: string): Instance;
47
+ class CodeExecutionResult {
48
+ outcome: string;
49
+ output?: string | undefined;
50
+ protected [NOMINAL]: never;
51
+ constructor(outcome: string, output?: string | undefined);
59
52
  }
60
53
  }
61
54
  }
62
- export import User = Compatible.RoleMessage.User;
63
- export import Developer = Compatible.RoleMessage.Developer;
55
+ export import User = CompatibleRoleMessage.User;
56
+ export import Developer = CompatibleRoleMessage.Developer;
64
57
  }
58
+ export {};
@@ -1,97 +1,101 @@
1
- import * as Compatible from "../../session.js";
1
+ import { RoleMessage as CompatibleRoleMessage } from "../../compatible-engine/session.js";
2
2
  import { Function } from "../../function.js";
3
- import * as Google from '@google/genai';
3
+ const NOMINAL = Symbol();
4
4
  export var RoleMessage;
5
5
  (function (RoleMessage) {
6
- class Instance {
7
- static ROLE_MESSAGE_NOMINAL = Symbol();
8
- }
9
- RoleMessage.Instance = Instance;
10
6
  let Part;
11
7
  (function (Part) {
12
- Part.Text = Compatible.RoleMessage.Part.Text;
8
+ Part.Text = CompatibleRoleMessage.Part.Text;
13
9
  })(Part = RoleMessage.Part || (RoleMessage.Part = {}));
14
- let Ai;
15
- (function (Ai) {
16
- function create(parts, raw) {
17
- return new Instance(parts, raw);
10
+ class Ai {
11
+ parts;
12
+ raw;
13
+ constructor(parts, raw) {
14
+ this.parts = parts;
15
+ this.raw = raw;
18
16
  }
19
- Ai.create = create;
20
- Ai.NOMINAL = Symbol();
21
- class Instance extends RoleMessage.Instance {
22
- parts;
23
- raw;
24
- constructor(parts, raw) {
25
- super();
26
- this.parts = parts;
27
- this.raw = raw;
28
- }
29
- getParts() {
30
- return this.parts;
31
- }
32
- getRaw() {
33
- return this.raw;
34
- }
35
- getText() {
36
- return this.parts.filter(part => part instanceof RoleMessage.Part.Text.Instance).map(part => part.text).join('');
37
- }
38
- getOnlyText() {
39
- if (this.parts.every(part => part instanceof RoleMessage.Part.Text.Instance)) { }
40
- else
41
- throw new Error();
42
- return this.getText();
43
- }
44
- getOnlyFunctionCall() {
45
- const fcs = this.getFunctionCalls();
46
- if (fcs.length === 1) { }
47
- else
48
- throw new Error();
49
- return fcs[0];
50
- }
51
- getFunctionCalls() {
52
- return this.parts.filter(part => part instanceof Function.Call);
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('');
53
44
  }
45
+ else
46
+ throw new Error();
54
47
  }
55
- Ai.Instance = Instance;
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) {
56
76
  let Part;
57
77
  (function (Part) {
58
- let ExecutableCode;
59
- (function (ExecutableCode) {
60
- ExecutableCode.NOMINAL = Symbol();
61
- class Instance {
62
- code;
63
- language;
64
- constructor(code, language) {
65
- this.code = code;
66
- this.language = language;
67
- }
68
- }
69
- ExecutableCode.Instance = Instance;
70
- function create(code, language) {
71
- return new Instance(code, language);
72
- }
73
- ExecutableCode.create = create;
74
- })(ExecutableCode = Part.ExecutableCode || (Part.ExecutableCode = {}));
75
- let CodeExecutionResult;
76
- (function (CodeExecutionResult) {
77
- CodeExecutionResult.NOMINAL = Symbol();
78
- class Instance {
79
- outcome;
80
- output;
81
- constructor(outcome, output) {
82
- this.outcome = outcome;
83
- this.output = output;
84
- }
78
+ class ExecutableCode {
79
+ code;
80
+ language;
81
+ constructor(code, language) {
82
+ this.code = code;
83
+ this.language = language;
85
84
  }
86
- CodeExecutionResult.Instance = Instance;
87
- function create(outcome, output) {
88
- return new Instance(outcome, output);
85
+ }
86
+ Part.ExecutableCode = ExecutableCode;
87
+ class CodeExecutionResult {
88
+ outcome;
89
+ output;
90
+ constructor(outcome, output) {
91
+ this.outcome = outcome;
92
+ this.output = output;
89
93
  }
90
- CodeExecutionResult.create = create;
91
- })(CodeExecutionResult = Part.CodeExecutionResult || (Part.CodeExecutionResult = {}));
94
+ }
95
+ Part.CodeExecutionResult = CodeExecutionResult;
92
96
  })(Part = Ai.Part || (Ai.Part = {}));
93
97
  })(Ai = RoleMessage.Ai || (RoleMessage.Ai = {}));
94
- RoleMessage.User = Compatible.RoleMessage.User;
95
- RoleMessage.Developer = Compatible.RoleMessage.Developer;
98
+ RoleMessage.User = CompatibleRoleMessage.User;
99
+ RoleMessage.Developer = CompatibleRoleMessage.Developer;
96
100
  })(RoleMessage || (RoleMessage = {}));
97
101
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/google/session.ts"],"names":[],"mappings":"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"}
@@ -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
+ }