@zimtsui/brainswitch 0.0.56 → 0.0.59

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 (322) hide show
  1. package/README.md +109 -54
  2. package/assets/verbatim/declarations.handlebars +11 -0
  3. package/assets/verbatim/instruction.md +49 -0
  4. package/build/adaptor.d.ts +40 -9
  5. package/build/adaptor.js +36 -38
  6. package/build/adaptor.js.map +1 -1
  7. package/build/api-types/anthropic/billing.d.ts +5 -5
  8. package/build/api-types/anthropic/billing.js +1 -2
  9. package/build/api-types/anthropic/billing.js.map +1 -1
  10. package/build/api-types/anthropic/tool-codec.d.ts +11 -12
  11. package/build/api-types/anthropic/tool-codec.js +27 -42
  12. package/build/api-types/anthropic/tool-codec.js.map +1 -1
  13. package/build/api-types/google/billing.d.ts +5 -5
  14. package/build/api-types/google/billing.js +2 -3
  15. package/build/api-types/google/billing.js.map +1 -1
  16. package/build/api-types/google/restful-request.d.ts +1 -1
  17. package/build/api-types/google/restful-request.js +0 -1
  18. package/build/api-types/google/restful-request.js.map +1 -1
  19. package/build/api-types/google/tool-codec.d.ts +11 -11
  20. package/build/api-types/google/tool-codec.js +21 -19
  21. package/build/api-types/google/tool-codec.js.map +1 -1
  22. package/build/api-types/{openai-chatcompletion → openai-chatcompletions}/billing.d.ts +2 -3
  23. package/build/api-types/{openai-chatcompletion → openai-chatcompletions}/billing.js +0 -2
  24. package/build/api-types/openai-chatcompletions/billing.js.map +1 -0
  25. package/build/api-types/openai-chatcompletions/tool-codec.d.ts +17 -0
  26. package/build/api-types/{openai-chatcompletion → openai-chatcompletions}/tool-codec.js +26 -32
  27. package/build/api-types/openai-chatcompletions/tool-codec.js.map +1 -0
  28. package/build/api-types/openai-responses/billing.d.ts +5 -5
  29. package/build/api-types/openai-responses/billing.js +1 -2
  30. package/build/api-types/openai-responses/billing.js.map +1 -1
  31. package/build/api-types/openai-responses/tool-codec.d.ts +11 -11
  32. package/build/api-types/openai-responses/tool-codec.js +36 -32
  33. package/build/api-types/openai-responses/tool-codec.js.map +1 -1
  34. package/build/assets.d.ts +7 -0
  35. package/build/assets.js +8 -0
  36. package/build/assets.js.map +1 -0
  37. package/build/compatible-engine/session.d.ts +67 -0
  38. package/build/compatible-engine/session.js +92 -0
  39. package/build/compatible-engine/session.js.map +1 -0
  40. package/build/compatible-engine/structuring.d.ts +36 -0
  41. package/build/compatible-engine/structuring.js +34 -0
  42. package/build/compatible-engine/structuring.js.map +1 -0
  43. package/build/compatible-engine/validation.d.ts +21 -0
  44. package/build/compatible-engine/validation.js +82 -0
  45. package/build/compatible-engine/validation.js.map +1 -0
  46. package/build/compatible-engine.d/agentloop.d.ts +12 -0
  47. package/build/compatible-engine.d/agentloop.js +52 -0
  48. package/build/compatible-engine.d/agentloop.js.map +1 -0
  49. package/build/compatible-engine.d/aliyun/transport.d.ts +12 -0
  50. package/build/compatible-engine.d/aliyun/transport.js +7 -0
  51. package/build/compatible-engine.d/aliyun/transport.js.map +1 -0
  52. package/build/compatible-engine.d/aliyun.d.ts +24 -0
  53. package/build/compatible-engine.d/aliyun.js +46 -0
  54. package/build/compatible-engine.d/aliyun.js.map +1 -0
  55. package/build/compatible-engine.d/anthropic/choice-codec.d.ts +5 -0
  56. package/build/compatible-engine.d/anthropic/choice-codec.js +26 -0
  57. package/build/compatible-engine.d/anthropic/choice-codec.js.map +1 -0
  58. package/build/compatible-engine.d/anthropic/message-codec.d.ts +36 -0
  59. package/build/compatible-engine.d/anthropic/message-codec.js +86 -0
  60. package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -0
  61. package/build/compatible-engine.d/anthropic/transport.d.ts +34 -0
  62. package/build/compatible-engine.d/anthropic/transport.js +150 -0
  63. package/build/compatible-engine.d/anthropic/transport.js.map +1 -0
  64. package/build/compatible-engine.d/anthropic.d.ts +26 -0
  65. package/build/compatible-engine.d/anthropic.js +46 -0
  66. package/build/compatible-engine.d/anthropic.js.map +1 -0
  67. package/build/compatible-engine.d/google/choice-codec.d.ts +5 -0
  68. package/build/compatible-engine.d/google/choice-codec.js +27 -0
  69. package/build/compatible-engine.d/google/choice-codec.js.map +1 -0
  70. package/build/compatible-engine.d/google/message-codec.d.ts +36 -0
  71. package/build/compatible-engine.d/google/message-codec.js +94 -0
  72. package/build/compatible-engine.d/google/message-codec.js.map +1 -0
  73. package/build/compatible-engine.d/google/transport.d.ts +30 -0
  74. package/build/{compatible.d → compatible-engine.d}/google/transport.js +22 -18
  75. package/build/compatible-engine.d/google/transport.js.map +1 -0
  76. package/build/compatible-engine.d/google.d.ts +26 -0
  77. package/build/compatible-engine.d/google.js +50 -0
  78. package/build/compatible-engine.d/google.js.map +1 -0
  79. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.d.ts +5 -0
  80. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +31 -0
  81. package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +1 -0
  82. package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +24 -0
  83. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +71 -0
  84. package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -0
  85. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +38 -0
  86. package/build/{compatible.d/openai-chatcompletions.d → compatible-engine.d/openai-chatcompletions/transport.d}/monolith.js +25 -22
  87. package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +1 -0
  88. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +37 -0
  89. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +190 -0
  90. package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +1 -0
  91. package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +10 -0
  92. package/build/compatible-engine.d/openai-chatcompletions/transport.js +11 -0
  93. package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -0
  94. package/build/compatible-engine.d/openai-chatcompletions.d.ts +17 -0
  95. package/build/compatible-engine.d/openai-chatcompletions.js +14 -0
  96. package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -0
  97. package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +5 -0
  98. package/build/compatible-engine.d/openai-responses/choice-codec.js +30 -0
  99. package/build/compatible-engine.d/openai-responses/choice-codec.js.map +1 -0
  100. package/build/compatible-engine.d/openai-responses/message-codec.d.ts +36 -0
  101. package/build/compatible-engine.d/openai-responses/message-codec.js +96 -0
  102. package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -0
  103. package/build/compatible-engine.d/openai-responses/transport.d.ts +35 -0
  104. package/build/{compatible.d → compatible-engine.d}/openai-responses/transport.js +21 -29
  105. package/build/compatible-engine.d/openai-responses/transport.js.map +1 -0
  106. package/build/compatible-engine.d/openai-responses.d.ts +26 -0
  107. package/build/compatible-engine.d/openai-responses.js +46 -0
  108. package/build/compatible-engine.d/openai-responses.js.map +1 -0
  109. package/build/compatible-engine.d.ts +22 -0
  110. package/build/compatible-engine.js +29 -0
  111. package/build/compatible-engine.js.map +1 -0
  112. package/build/config.d.ts +1 -0
  113. package/build/config.js +1 -2
  114. package/build/config.js.map +1 -1
  115. package/build/endpoint-spec.d.ts +1 -0
  116. package/build/endpoint-spec.js +2 -1
  117. package/build/endpoint-spec.js.map +1 -1
  118. package/build/engine/session.d.ts +7 -0
  119. package/build/{session.js.map → engine/session.js.map} +1 -1
  120. package/build/engine/transport.d.ts +5 -0
  121. package/build/engine/transport.js +1 -0
  122. package/build/engine/transport.js.map +1 -0
  123. package/build/engine/validation.d.ts +9 -0
  124. package/build/engine/validation.js +1 -0
  125. package/build/engine/validation.js.map +1 -0
  126. package/build/engine.d.ts +49 -40
  127. package/build/engine.js +88 -70
  128. package/build/engine.js.map +1 -1
  129. package/build/exports.d.ts +14 -14
  130. package/build/exports.js +14 -14
  131. package/build/exports.js.map +1 -1
  132. package/build/function.d.ts +79 -66
  133. package/build/function.js +30 -47
  134. package/build/function.js.map +1 -1
  135. package/build/inference-context.d.ts +2 -2
  136. package/build/inference-context.js +0 -1
  137. package/build/inference-context.js.map +1 -1
  138. package/build/native-engines.d/google/message-codec.d.ts +18 -16
  139. package/build/native-engines.d/google/message-codec.js +31 -33
  140. package/build/native-engines.d/google/message-codec.js.map +1 -1
  141. package/build/native-engines.d/google/session.d.ts +44 -51
  142. package/build/native-engines.d/google/session.js +85 -81
  143. package/build/native-engines.d/google/session.js.map +1 -1
  144. package/build/native-engines.d/google/transport.d.ts +22 -19
  145. package/build/native-engines.d/google/transport.js +13 -13
  146. package/build/native-engines.d/google/transport.js.map +1 -1
  147. package/build/native-engines.d/google/validation.d.ts +22 -0
  148. package/build/native-engines.d/google/validation.js +20 -0
  149. package/build/native-engines.d/google/validation.js.map +1 -0
  150. package/build/native-engines.d/google.d/agentloop.d.ts +12 -0
  151. package/build/native-engines.d/google.d/agentloop.js +57 -0
  152. package/build/native-engines.d/google.d/agentloop.js.map +1 -0
  153. package/build/native-engines.d/google.d/exports.d.ts +3 -0
  154. package/build/native-engines.d/google.d/exports.js +4 -0
  155. package/build/native-engines.d/google.d/exports.js.map +1 -0
  156. package/build/native-engines.d/google.d.ts +42 -0
  157. package/build/native-engines.d/google.js +83 -0
  158. package/build/native-engines.d/google.js.map +1 -0
  159. package/build/native-engines.d/openai-responses/choice-codec.d.ts +5 -0
  160. package/build/native-engines.d/openai-responses/choice-codec.js +30 -0
  161. package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -0
  162. package/build/native-engines.d/openai-responses/message-codec.d.ts +19 -17
  163. package/build/native-engines.d/openai-responses/message-codec.js +31 -25
  164. package/build/native-engines.d/openai-responses/message-codec.js.map +1 -1
  165. package/build/native-engines.d/openai-responses/session.d.ts +47 -45
  166. package/build/native-engines.d/openai-responses/session.js +75 -105
  167. package/build/native-engines.d/openai-responses/session.js.map +1 -1
  168. package/build/native-engines.d/openai-responses/structuring.d.ts +19 -0
  169. package/build/native-engines.d/openai-responses/structuring.js +19 -0
  170. package/build/native-engines.d/openai-responses/structuring.js.map +1 -0
  171. package/build/native-engines.d/openai-responses/tool.d.ts +15 -12
  172. package/build/native-engines.d/openai-responses/tool.js +1 -12
  173. package/build/native-engines.d/openai-responses/tool.js.map +1 -1
  174. package/build/native-engines.d/openai-responses/transport.d.ts +24 -25
  175. package/build/native-engines.d/openai-responses/transport.js +21 -41
  176. package/build/native-engines.d/openai-responses/transport.js.map +1 -1
  177. package/build/native-engines.d/openai-responses/validation.d.ts +20 -0
  178. package/build/native-engines.d/openai-responses/validation.js +80 -0
  179. package/build/native-engines.d/openai-responses/validation.js.map +1 -0
  180. package/build/native-engines.d/openai-responses.d/agentloop.d.ts +12 -0
  181. package/build/native-engines.d/openai-responses.d/agentloop.js +61 -0
  182. package/build/native-engines.d/openai-responses.d/agentloop.js.map +1 -0
  183. package/build/native-engines.d/openai-responses.d/exports.d.ts +4 -0
  184. package/build/native-engines.d/openai-responses.d/exports.js +5 -0
  185. package/build/native-engines.d/openai-responses.d/exports.js.map +1 -0
  186. package/build/native-engines.d/openai-responses.d.ts +44 -0
  187. package/build/native-engines.d/openai-responses.js +78 -0
  188. package/build/native-engines.d/openai-responses.js.map +1 -0
  189. package/build/throttle.d.ts +6 -5
  190. package/build/throttle.js +17 -14
  191. package/build/throttle.js.map +1 -1
  192. package/build/tsconfig.tsbuildinfo +1 -1
  193. package/build/verbatim/codec/declarations.d.ts +2 -0
  194. package/build/verbatim/codec/declarations.js +22 -0
  195. package/build/verbatim/codec/declarations.js.map +1 -0
  196. package/build/verbatim/codec/request.d.ts +7 -0
  197. package/build/verbatim/codec/request.js +53 -0
  198. package/build/verbatim/codec/request.js.map +1 -0
  199. package/build/verbatim/codec.d.ts +2 -0
  200. package/build/verbatim/codec.js +3 -0
  201. package/build/verbatim/codec.js.map +1 -0
  202. package/build/verbatim.d.ts +74 -0
  203. package/build/verbatim.js +17 -0
  204. package/build/verbatim.js.map +1 -0
  205. package/examples/agent.ts +65 -0
  206. package/examples/chat.ts +24 -0
  207. package/examples/config.ts +24 -0
  208. package/{test/src → examples}/tsconfig.json +6 -2
  209. package/examples/verbatim.ts +44 -0
  210. package/package.json +15 -13
  211. package/build/agentloop.d.ts +0 -12
  212. package/build/agentloop.js +0 -43
  213. package/build/agentloop.js.map +0 -1
  214. package/build/api-types/openai-chatcompletion/billing.js.map +0 -1
  215. package/build/api-types/openai-chatcompletion/tool-codec.d.ts +0 -18
  216. package/build/api-types/openai-chatcompletion/tool-codec.js.map +0 -1
  217. package/build/compatible/engine.d/aliyun.d.ts +0 -23
  218. package/build/compatible/engine.d/aliyun.js +0 -44
  219. package/build/compatible/engine.d/aliyun.js.map +0 -1
  220. package/build/compatible/engine.d/anthropic.d.ts +0 -23
  221. package/build/compatible/engine.d/anthropic.js +0 -41
  222. package/build/compatible/engine.d/anthropic.js.map +0 -1
  223. package/build/compatible/engine.d/google.d.ts +0 -23
  224. package/build/compatible/engine.d/google.js +0 -45
  225. package/build/compatible/engine.d/google.js.map +0 -1
  226. package/build/compatible/engine.d/openai-responses.d.ts +0 -23
  227. package/build/compatible/engine.d/openai-responses.js +0 -41
  228. package/build/compatible/engine.d/openai-responses.js.map +0 -1
  229. package/build/compatible/engine.d.ts +0 -18
  230. package/build/compatible/engine.js +0 -21
  231. package/build/compatible/engine.js.map +0 -1
  232. package/build/compatible/session.d.ts +0 -78
  233. package/build/compatible/session.js +0 -138
  234. package/build/compatible/session.js.map +0 -1
  235. package/build/compatible/tool-call-validator.d.ts +0 -11
  236. package/build/compatible/tool-call-validator.js +0 -12
  237. package/build/compatible/tool-call-validator.js.map +0 -1
  238. package/build/compatible.d/aliyun/transport.d.ts +0 -11
  239. package/build/compatible.d/aliyun/transport.js +0 -9
  240. package/build/compatible.d/aliyun/transport.js.map +0 -1
  241. package/build/compatible.d/anthropic/message-codec.d.ts +0 -31
  242. package/build/compatible.d/anthropic/message-codec.js +0 -88
  243. package/build/compatible.d/anthropic/message-codec.js.map +0 -1
  244. package/build/compatible.d/anthropic/transport.d.ts +0 -31
  245. package/build/compatible.d/anthropic/transport.js +0 -137
  246. package/build/compatible.d/anthropic/transport.js.map +0 -1
  247. package/build/compatible.d/google/message-codec.d.ts +0 -31
  248. package/build/compatible.d/google/message-codec.js +0 -98
  249. package/build/compatible.d/google/message-codec.js.map +0 -1
  250. package/build/compatible.d/google/transport.d.ts +0 -28
  251. package/build/compatible.d/google/transport.js.map +0 -1
  252. package/build/compatible.d/openai-chatcompletions/message-codec.d.ts +0 -19
  253. package/build/compatible.d/openai-chatcompletions/message-codec.js +0 -66
  254. package/build/compatible.d/openai-chatcompletions/message-codec.js.map +0 -1
  255. package/build/compatible.d/openai-chatcompletions/transport.d.ts +0 -9
  256. package/build/compatible.d/openai-chatcompletions/transport.js +0 -25
  257. package/build/compatible.d/openai-chatcompletions/transport.js.map +0 -1
  258. package/build/compatible.d/openai-chatcompletions.d/monolith.d.ts +0 -36
  259. package/build/compatible.d/openai-chatcompletions.d/monolith.js.map +0 -1
  260. package/build/compatible.d/openai-chatcompletions.d/stream.d.ts +0 -35
  261. package/build/compatible.d/openai-chatcompletions.d/stream.js +0 -196
  262. package/build/compatible.d/openai-chatcompletions.d/stream.js.map +0 -1
  263. package/build/compatible.d/openai-responses/message-codec.d.ts +0 -32
  264. package/build/compatible.d/openai-responses/message-codec.js +0 -105
  265. package/build/compatible.d/openai-responses/message-codec.js.map +0 -1
  266. package/build/compatible.d/openai-responses/transport.d.ts +0 -33
  267. package/build/compatible.d/openai-responses/transport.js.map +0 -1
  268. package/build/frontmatter.d.ts +0 -5
  269. package/build/frontmatter.js +0 -13
  270. package/build/frontmatter.js.map +0 -1
  271. package/build/native-engines.d/google/agentloop.d.ts +0 -12
  272. package/build/native-engines.d/google/agentloop.js +0 -42
  273. package/build/native-engines.d/google/agentloop.js.map +0 -1
  274. package/build/native-engines.d/google/engine.d.ts +0 -35
  275. package/build/native-engines.d/google/engine.js +0 -73
  276. package/build/native-engines.d/google/engine.js.map +0 -1
  277. package/build/native-engines.d/google/exports.d.ts +0 -5
  278. package/build/native-engines.d/google/exports.js +0 -6
  279. package/build/native-engines.d/google/exports.js.map +0 -1
  280. package/build/native-engines.d/openai-responses/agentloop.d.ts +0 -13
  281. package/build/native-engines.d/openai-responses/agentloop.js +0 -53
  282. package/build/native-engines.d/openai-responses/agentloop.js.map +0 -1
  283. package/build/native-engines.d/openai-responses/engine.d.ts +0 -32
  284. package/build/native-engines.d/openai-responses/engine.js +0 -63
  285. package/build/native-engines.d/openai-responses/engine.js.map +0 -1
  286. package/build/native-engines.d/openai-responses/exports.d.ts +0 -6
  287. package/build/native-engines.d/openai-responses/exports.js +0 -7
  288. package/build/native-engines.d/openai-responses/exports.js.map +0 -1
  289. package/build/native-engines.d/openai-responses/tool-call-validator.d.ts +0 -12
  290. package/build/native-engines.d/openai-responses/tool-call-validator.js +0 -33
  291. package/build/native-engines.d/openai-responses/tool-call-validator.js.map +0 -1
  292. package/build/session.d.ts +0 -7
  293. package/test/build/test-codecs.d.ts +0 -1
  294. package/test/build/test-codecs.js +0 -230
  295. package/test/build/test-codecs.js.map +0 -1
  296. package/test/build/test-compatible-engine.d.ts +0 -1
  297. package/test/build/test-compatible-engine.js +0 -27
  298. package/test/build/test-compatible-engine.js.map +0 -1
  299. package/test/build/test-compatible-engines.d.ts +0 -1
  300. package/test/build/test-compatible-engines.js +0 -112
  301. package/test/build/test-compatible-engines.js.map +0 -1
  302. package/test/build/test-engine.d.ts +0 -1
  303. package/test/build/test-engine.js +0 -97
  304. package/test/build/test-engine.js.map +0 -1
  305. package/test/build/test-helpers.d.ts +0 -46
  306. package/test/build/test-helpers.js +0 -45
  307. package/test/build/test-helpers.js.map +0 -1
  308. package/test/build/test-native-engines.d.ts +0 -1
  309. package/test/build/test-native-engines.js +0 -64
  310. package/test/build/test-native-engines.js.map +0 -1
  311. package/test/build/test.d.ts +0 -5
  312. package/test/build/test.js +0 -6
  313. package/test/build/test.js.map +0 -1
  314. package/test/build/tsconfig.tsbuildinfo +0 -1
  315. package/test/src/test-codecs.ts +0 -256
  316. package/test/src/test-compatible-engine.ts +0 -45
  317. package/test/src/test-compatible-engines.ts +0 -129
  318. package/test/src/test-engine.ts +0 -144
  319. package/test/src/test-helpers.ts +0 -53
  320. package/test/src/test-native-engines.ts +0 -75
  321. package/test/src/test.ts +0 -5
  322. /package/build/{session.js → engine/session.js} +0 -0
@@ -1,112 +0,0 @@
1
- import test from 'ava';
2
- import { Adaptor } from '#@/adaptor.ts';
3
- import { Function } from '#@/function.ts';
4
- import { OpenAIResponsesCompatibleEngine } from '#@/compatible/engine.d/openai-responses.ts';
5
- import { GoogleCompatibleEngine } from '#@/compatible/engine.d/google.ts';
6
- import { AnthropicCompatibleEngine } from '#@/compatible/engine.d/anthropic.ts';
7
- import { AliyunEngine } from '#@/compatible/engine.d/aliyun.ts';
8
- import { fdm, makeBaseOptions } from "./test-helpers.js";
9
- class OpenAIResponsesCompatibleEngineProbe extends OpenAIResponsesCompatibleEngine {
10
- getToolChoice() {
11
- return this.toolChoice;
12
- }
13
- getParallelToolCall() {
14
- return this.parallelToolCall;
15
- }
16
- }
17
- class GoogleCompatibleEngineProbe extends GoogleCompatibleEngine {
18
- getToolChoice() {
19
- return this.toolChoice;
20
- }
21
- getParallelToolCall() {
22
- return this.parallelToolCall;
23
- }
24
- }
25
- class AnthropicCompatibleEngineProbe extends AnthropicCompatibleEngine {
26
- getToolChoice() {
27
- return this.toolChoice;
28
- }
29
- getParallelToolCall() {
30
- return this.parallelToolCall;
31
- }
32
- }
33
- class AliyunEngineProbe extends AliyunEngine {
34
- getToolChoice() {
35
- return this.toolChoice;
36
- }
37
- getParallelToolCall() {
38
- return this.parallelToolCall;
39
- }
40
- }
41
- test('compatible engines preserve aggregated defaults', t => {
42
- const openaiEngine = new OpenAIResponsesCompatibleEngineProbe({
43
- ...makeBaseOptions(),
44
- apiType: 'openai-responses',
45
- });
46
- const googleEngine = new GoogleCompatibleEngineProbe({
47
- ...makeBaseOptions(),
48
- apiType: 'google',
49
- });
50
- const anthropicEngine = new AnthropicCompatibleEngineProbe({
51
- ...makeBaseOptions(),
52
- apiType: 'anthropic',
53
- });
54
- const aliyunEngine = new AliyunEngineProbe({
55
- ...makeBaseOptions(),
56
- apiType: 'aliyun',
57
- });
58
- t.is(openaiEngine.fdm, fdm);
59
- t.is(openaiEngine.getToolChoice(), Function.ToolChoice.AUTO);
60
- t.false(openaiEngine.getParallelToolCall());
61
- t.is(googleEngine.getToolChoice(), Function.ToolChoice.AUTO);
62
- t.true(googleEngine.getParallelToolCall());
63
- t.is(anthropicEngine.getToolChoice(), Function.ToolChoice.AUTO);
64
- t.false(anthropicEngine.getParallelToolCall());
65
- t.is(aliyunEngine.getToolChoice(), Function.ToolChoice.AUTO);
66
- t.false(aliyunEngine.getParallelToolCall());
67
- });
68
- test('Adaptor.makeEngine returns each compatible implementation', t => {
69
- const adaptor = Adaptor.create({
70
- brainswitch: {
71
- endpoints: {
72
- oa: {
73
- baseUrl: 'https://example.com/v1',
74
- apiKey: 'k',
75
- model: 'm',
76
- name: 'oa',
77
- apiType: 'openai-responses',
78
- },
79
- gg: {
80
- baseUrl: 'https://generativelanguage.googleapis.com',
81
- apiKey: 'k',
82
- model: 'gemini-test',
83
- name: 'gg',
84
- apiType: 'google',
85
- },
86
- an: {
87
- baseUrl: 'https://api.anthropic.com',
88
- apiKey: 'k',
89
- model: 'claude-test',
90
- name: 'an',
91
- apiType: 'anthropic',
92
- },
93
- al: {
94
- baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
95
- apiKey: 'k',
96
- model: 'qwen-test',
97
- name: 'al',
98
- apiType: 'aliyun',
99
- },
100
- },
101
- },
102
- });
103
- const openaiEngine = adaptor.makeEngine('oa', fdm);
104
- const googleEngine = adaptor.makeEngine('gg', fdm);
105
- const anthropicEngine = adaptor.makeEngine('an', fdm);
106
- const aliyunEngine = adaptor.makeEngine('al', fdm);
107
- t.true(openaiEngine instanceof OpenAIResponsesCompatibleEngine);
108
- t.true(googleEngine instanceof GoogleCompatibleEngine);
109
- t.true(anthropicEngine instanceof AnthropicCompatibleEngine);
110
- t.true(aliyunEngine instanceof AliyunEngine);
111
- });
112
- //# sourceMappingURL=test-compatible-engines.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-compatible-engines.js","sourceRoot":"","sources":["../src/test-compatible-engines.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,oCAAqC,SAAQ,+BAAoC;IAC5E,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAED,MAAM,2BAA4B,SAAQ,sBAA2B;IAC1D,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAED,MAAM,8BAA+B,SAAQ,yBAA8B;IAChE,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAED,MAAM,iBAAkB,SAAQ,YAAiB;IACtC,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAGD,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE;IACxD,MAAM,YAAY,GAAG,IAAI,oCAAoC,CAAC;QAC1D,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,2BAA2B,CAAC;QACjD,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,QAAQ;KACpB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,IAAI,8BAA8B,CAAC;QACvD,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,WAAW;KACvB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;QACvC,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,QAAQ;KACpB,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE5C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE3C,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE/C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,CAAC,CAAC,EAAE;IAClE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,WAAW,EAAE;YACT,SAAS,EAAE;gBACP,EAAE,EAAE;oBACA,OAAO,EAAE,wBAAwB;oBACjC,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,kBAAkB;iBAC9B;gBACD,EAAE,EAAE;oBACA,OAAO,EAAE,2CAA2C;oBACpD,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,QAAQ;iBACpB;gBACD,EAAE,EAAE;oBACA,OAAO,EAAE,2BAA2B;oBACpC,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,WAAW;iBACvB;gBACD,EAAE,EAAE;oBACA,OAAO,EAAE,mDAAmD;oBAC5D,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,QAAQ;iBACpB;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEnD,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,+BAA+B,CAAC,CAAC;IAChE,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,sBAAsB,CAAC,CAAC;IACvD,CAAC,CAAC,IAAI,CAAC,eAAe,YAAY,yBAAyB,CAAC,CAAC;IAC7D,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,YAAY,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,97 +0,0 @@
1
- import test from 'ava';
2
- import { Engine, InferenceTimeout, ResponseInvalid, UserAbortion } from '#@/engine.ts';
3
- import {} from '#@/session.ts';
4
- import {} from '#@/inference-context.ts';
5
- import {} from '#@/compatible/session.ts';
6
- import { fdm, makeBaseOptions, makeInferenceContext, makeUserMessage, } from "./test-helpers.js";
7
- class StubEngine extends Engine {
8
- parallelToolCall = false;
9
- responder = async () => 'ok';
10
- infer(wfctx, session, signal) {
11
- return this.responder(wfctx, session, signal);
12
- }
13
- appendUserMessage(session, message) {
14
- return {
15
- ...session,
16
- chatMessages: [...session.chatMessages, message],
17
- };
18
- }
19
- pushUserMessage(session, message) {
20
- session.chatMessages.push(message);
21
- return session;
22
- }
23
- }
24
- function makeStringSession() {
25
- return { chatMessages: [] };
26
- }
27
- test('Engine stores function declaration map', t => {
28
- const engine = new StubEngine({
29
- ...makeBaseOptions(),
30
- apiType: 'google',
31
- });
32
- t.is(engine.fdm, fdm);
33
- });
34
- test('Engine.stateless retries ResponseInvalid and succeeds', async (t) => {
35
- const engine = new StubEngine({
36
- ...makeBaseOptions(),
37
- apiType: 'google',
38
- });
39
- let attempts = 0;
40
- engine.responder = async () => {
41
- attempts += 1;
42
- if (attempts < 3)
43
- throw new ResponseInvalid('temporary');
44
- return 'retry-ok';
45
- };
46
- const response = await engine.stateless(makeInferenceContext(), makeStringSession());
47
- t.is(attempts, 3);
48
- t.is(response, 'retry-ok');
49
- });
50
- test('Engine.stateless converts aborted workflow signal to UserAbortion', async (t) => {
51
- const engine = new StubEngine({
52
- ...makeBaseOptions(),
53
- apiType: 'google',
54
- });
55
- const controller = new AbortController();
56
- engine.responder = async () => {
57
- controller.abort();
58
- throw new TypeError('aborted');
59
- };
60
- const e = await engine.stateless(makeInferenceContext(controller.signal), makeStringSession()).catch((e) => e);
61
- t.true(e instanceof UserAbortion);
62
- });
63
- test('Engine.stateless converts timeout abort to InferenceTimeout', async (t) => {
64
- const engine = new StubEngine({
65
- ...makeBaseOptions(),
66
- apiType: 'google',
67
- timeout: 1,
68
- });
69
- engine.responder = async (_wfctx, _session, signal) => {
70
- await new Promise(resolve => setTimeout(resolve, 10));
71
- if (signal?.aborted)
72
- throw new TypeError('timed out');
73
- return 'late';
74
- };
75
- const e = await t.throwsAsync(engine.stateless(makeInferenceContext(), makeStringSession()));
76
- t.true(e instanceof InferenceTimeout);
77
- });
78
- test('Engine stateful/append/push message semantics are correct', async (t) => {
79
- const engine = new StubEngine({
80
- ...makeBaseOptions(),
81
- apiType: 'google',
82
- });
83
- engine.responder = async () => 'stateful-ok';
84
- const session = makeStringSession();
85
- const response = await engine.stateful(makeInferenceContext(), session);
86
- t.is(response, 'stateful-ok');
87
- t.deepEqual(session.chatMessages, ['stateful-ok']);
88
- const user = makeUserMessage();
89
- const appended = engine.appendUserMessage(session, user);
90
- t.not(appended, session);
91
- t.deepEqual(appended.chatMessages, ['stateful-ok', user]);
92
- t.deepEqual(session.chatMessages, ['stateful-ok']);
93
- const pushed = engine.pushUserMessage(session, user);
94
- t.is(pushed, session);
95
- t.deepEqual(session.chatMessages, ['stateful-ok', user]);
96
- });
97
- //# sourceMappingURL=test-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-engine.js","sourceRoot":"","sources":["../src/test-engine.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { type InferenceContext } from '#@/inference-context.ts';
2
- import { RoleMessage, type Session } from '#@/compatible/session.ts';
3
- import { Throttle } from '#@/throttle.ts';
4
- export declare const fdm: {
5
- foo: {
6
- description: string;
7
- paraschema: import("@sinclair/typebox").TObject<{
8
- x: import("@sinclair/typebox").TNumber;
9
- }>;
10
- };
11
- bar: {
12
- description: string;
13
- paraschema: import("@sinclair/typebox").TObject<{
14
- y: import("@sinclair/typebox").TString;
15
- }>;
16
- };
17
- };
18
- export type fdm = typeof fdm;
19
- export declare function makeBaseOptions(): {
20
- baseUrl: string;
21
- apiKey: string;
22
- model: string;
23
- name: string;
24
- functionDeclarationMap: {
25
- foo: {
26
- description: string;
27
- paraschema: import("@sinclair/typebox").TObject<{
28
- x: import("@sinclair/typebox").TNumber;
29
- }>;
30
- };
31
- bar: {
32
- description: string;
33
- paraschema: import("@sinclair/typebox").TObject<{
34
- y: import("@sinclair/typebox").TString;
35
- }>;
36
- };
37
- };
38
- throttle: Throttle;
39
- inputPrice: number;
40
- outputPrice: number;
41
- cachePrice: number;
42
- };
43
- export declare function makeSession(): Session<fdm>;
44
- export declare function makeUserMessage(): RoleMessage.User<fdm>;
45
- export declare function makeAiMessage(text?: string): RoleMessage.Ai<fdm>;
46
- export declare function makeInferenceContext(signal?: AbortSignal | null): InferenceContext;
@@ -1,45 +0,0 @@
1
- import { Type } from '@sinclair/typebox';
2
- import { Function } from '#@/function.ts';
3
- import {} from '#@/inference-context.ts';
4
- import { RoleMessage } from '#@/compatible/session.ts';
5
- import { Throttle } from '#@/throttle.ts';
6
- export const fdm = {
7
- foo: {
8
- description: 'foo tool',
9
- paraschema: Type.Object({ x: Type.Number() }),
10
- },
11
- bar: {
12
- description: 'bar tool',
13
- paraschema: Type.Object({ y: Type.String() }),
14
- },
15
- };
16
- export function makeBaseOptions() {
17
- return {
18
- baseUrl: 'https://example.com/v1',
19
- apiKey: 'test-key',
20
- model: 'test-model',
21
- name: 'Test Endpoint',
22
- functionDeclarationMap: fdm,
23
- throttle: new Throttle(60),
24
- inputPrice: 1,
25
- outputPrice: 2,
26
- cachePrice: 3,
27
- };
28
- }
29
- export function makeSession() {
30
- return { chatMessages: [] };
31
- }
32
- export function makeUserMessage() {
33
- return RoleMessage.User.create([RoleMessage.Part.Text.create('hello')]);
34
- }
35
- export function makeAiMessage(text = 'ok') {
36
- return RoleMessage.Ai.create([RoleMessage.Part.Text.create(text)]);
37
- }
38
- export function makeInferenceContext(signal = null) {
39
- return {
40
- busy: null,
41
- signal,
42
- cost() { },
43
- };
44
- }
45
- //# sourceMappingURL=test-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAyB,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,GAAG,EAAE;QACD,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAChD;IACD,GAAG,EAAE;QACD,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAChD;CAC+B,CAAC;AAIrC,MAAM,UAAU,eAAe;IAC3B,OAAO;QACH,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,eAAe;QACrB,sBAAsB,EAAE,GAAG;QAC3B,QAAQ,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;KAChB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAI,GAAG,IAAI;IACrC,OAAO,WAAW,CAAC,EAAE,CAAC,MAAM,CAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAA6B,IAAI;IAClE,OAAO;QACH,IAAI,EAAE,IAAI;QACV,MAAM;QACN,IAAI,KAAI,CAAC;KACZ,CAAC;AACN,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,64 +0,0 @@
1
- import test from 'ava';
2
- import { Function } from '#@/function.ts';
3
- import { GoogleNativeEngine } from '#@/native-engines.d/google/engine.ts';
4
- import { OpenAIResponsesNativeEngine } from '#@/native-engines.d/openai-responses/engine.ts';
5
- import { Adaptor } from '#@/adaptor.ts';
6
- import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
7
- import { fdm, makeBaseOptions } from "./test-helpers.js";
8
- class GoogleNativeEngineProbe extends GoogleNativeEngine {
9
- getToolChoice() {
10
- return this.toolChoice;
11
- }
12
- getParallelToolCall() {
13
- return this.parallelToolCall;
14
- }
15
- }
16
- class OpenAIResponsesNativeEngineProbe extends OpenAIResponsesNativeEngine {
17
- getToolChoice() {
18
- return this.toolChoice;
19
- }
20
- getParallelToolCall() {
21
- return this.parallelToolCall;
22
- }
23
- }
24
- test('native engines preserve aggregated defaults', t => {
25
- const googleEngine = new GoogleNativeEngineProbe({
26
- ...makeBaseOptions(),
27
- apiType: 'google',
28
- });
29
- const openaiEngine = new OpenAIResponsesNativeEngineProbe({
30
- ...makeBaseOptions(),
31
- apiType: 'openai-responses',
32
- });
33
- t.is(googleEngine.getToolChoice(), Function.ToolChoice.AUTO);
34
- t.true(googleEngine.getParallelToolCall());
35
- t.is(openaiEngine.getToolChoice(), Function.ToolChoice.AUTO);
36
- t.false(openaiEngine.getParallelToolCall());
37
- });
38
- test('Adaptor native engine factories return expected implementations', t => {
39
- const adaptor = Adaptor.create({
40
- brainswitch: {
41
- endpoints: {
42
- oa: {
43
- baseUrl: 'https://example.com/v1',
44
- apiKey: 'k',
45
- model: 'm',
46
- name: 'oa',
47
- apiType: 'openai-responses',
48
- },
49
- gg: {
50
- baseUrl: 'https://generativelanguage.googleapis.com',
51
- apiKey: 'k',
52
- model: 'gemini-test',
53
- name: 'gg',
54
- apiType: 'google',
55
- },
56
- },
57
- },
58
- });
59
- const openaiEngine = adaptor.makeOpenAIResponsesNativeEngine('oa', fdm);
60
- const googleEngine = adaptor.makeGoogleNativeEngine('gg', fdm);
61
- t.true(openaiEngine instanceof OpenAIResponsesNativeEngine);
62
- t.true(googleEngine instanceof GoogleNativeEngine);
63
- });
64
- //# sourceMappingURL=test-native-engines.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-native-engines.js","sourceRoot":"","sources":["../src/test-native-engines.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,8CAA8C,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,uBAAwB,SAAQ,kBAAuB;IAClD,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAED,MAAM,gCAAiC,SAAQ,2BAAgC;IACpE,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAGD,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;IACpD,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC;QAC7C,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,QAAQ;KACpB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,gCAAgC,CAAC;QACtD,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE3C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,CAAC,CAAC,EAAE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,WAAW,EAAE;YACT,SAAS,EAAE;gBACP,EAAE,EAAE;oBACA,OAAO,EAAE,wBAAwB;oBACjC,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,kBAAkB;iBAC9B;gBACD,EAAE,EAAE;oBACA,OAAO,EAAE,2CAA2C;oBACpD,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,QAAQ;iBACpB;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,+BAA+B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE/D,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,2BAA2B,CAAC,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,kBAAkB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- import './test-engine.ts';
2
- import './test-compatible-engine.ts';
3
- import './test-compatible-engines.ts';
4
- import './test-codecs.ts';
5
- import './test-native-engines.ts';
@@ -1,6 +0,0 @@
1
- import "./test-engine.js";
2
- import "./test-compatible-engine.js";
3
- import "./test-compatible-engines.js";
4
- import "./test-codecs.js";
5
- import "./test-native-engines.js";
6
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;AACrC,OAAO,8BAA8B,CAAC;AACtC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,0BAA0B,CAAC"}