@llumiverse/drivers 1.3.0 → 1.4.0

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 (409) hide show
  1. package/lib/{types/adobe → adobe}/firefly.d.ts +2 -1
  2. package/lib/adobe/firefly.d.ts.map +1 -0
  3. package/lib/adobe/firefly.js +120 -0
  4. package/lib/adobe/firefly.js.map +1 -0
  5. package/lib/{types/anthropic → anthropic}/index.d.ts +4 -2
  6. package/lib/anthropic/index.d.ts.map +1 -0
  7. package/lib/{esm/anthropic → anthropic}/index.js +19 -8
  8. package/lib/anthropic/index.js.map +1 -0
  9. package/lib/{types/azure → azure}/azure_foundry.d.ts +9 -7
  10. package/lib/azure/azure_foundry.d.ts.map +1 -0
  11. package/lib/{esm/azure → azure}/azure_foundry.js +138 -124
  12. package/lib/azure/azure_foundry.js.map +1 -0
  13. package/lib/{types/bedrock → bedrock}/converse.d.ts +2 -2
  14. package/lib/bedrock/converse.d.ts.map +1 -0
  15. package/lib/{esm/bedrock → bedrock}/converse.js +86 -79
  16. package/lib/bedrock/converse.js.map +1 -0
  17. package/lib/bedrock/embeddings.d.ts +4 -0
  18. package/lib/bedrock/embeddings.d.ts.map +1 -0
  19. package/lib/bedrock/embeddings.js +359 -0
  20. package/lib/bedrock/embeddings.js.map +1 -0
  21. package/lib/{types/bedrock → bedrock}/index.d.ts +33 -9
  22. package/lib/bedrock/index.d.ts.map +1 -0
  23. package/lib/{esm/bedrock → bedrock}/index.js +599 -324
  24. package/lib/bedrock/index.js.map +1 -0
  25. package/lib/{types/bedrock → bedrock}/nova-image-payload.d.ts +5 -5
  26. package/lib/bedrock/nova-image-payload.d.ts.map +1 -0
  27. package/lib/{esm/bedrock → bedrock}/nova-image-payload.js +31 -36
  28. package/lib/bedrock/nova-image-payload.js.map +1 -0
  29. package/lib/{types/bedrock → bedrock}/payloads.d.ts +1 -1
  30. package/lib/bedrock/payloads.d.ts.map +1 -0
  31. package/lib/{cjs/bedrock → bedrock}/payloads.js.map +1 -1
  32. package/lib/{types/bedrock → bedrock}/s3.d.ts +3 -2
  33. package/lib/bedrock/s3.d.ts.map +1 -0
  34. package/lib/{esm/bedrock → bedrock}/s3.js +27 -23
  35. package/lib/bedrock/s3.js.map +1 -0
  36. package/lib/{types/bedrock → bedrock}/twelvelabs.d.ts +8 -9
  37. package/lib/bedrock/twelvelabs.d.ts.map +1 -0
  38. package/lib/{esm/bedrock → bedrock}/twelvelabs.js +17 -21
  39. package/lib/bedrock/twelvelabs.js.map +1 -0
  40. package/lib/{types/groq → groq}/index.d.ts +6 -4
  41. package/lib/groq/index.d.ts.map +1 -0
  42. package/lib/{esm/groq → groq}/index.js +72 -39
  43. package/lib/groq/index.js.map +1 -0
  44. package/lib/{types/huggingface_ie.d.ts → huggingface_ie.d.ts} +4 -3
  45. package/lib/huggingface_ie.d.ts.map +1 -0
  46. package/lib/{esm/huggingface_ie.js → huggingface_ie.js} +32 -31
  47. package/lib/huggingface_ie.js.map +1 -0
  48. package/lib/index.d.ts +16 -0
  49. package/lib/index.d.ts.map +1 -0
  50. package/lib/index.js +16 -0
  51. package/lib/index.js.map +1 -0
  52. package/lib/{types/mistral → mistral}/index.d.ts +6 -5
  53. package/lib/mistral/index.d.ts.map +1 -0
  54. package/lib/{esm/mistral → mistral}/index.js +66 -38
  55. package/lib/mistral/index.js.map +1 -0
  56. package/lib/{types/mistral → mistral}/types.d.ts +1 -0
  57. package/lib/mistral/types.d.ts.map +1 -0
  58. package/lib/mistral/types.js.map +1 -0
  59. package/lib/{types/openai → openai}/azure_openai.d.ts +5 -4
  60. package/lib/openai/azure_openai.d.ts.map +1 -0
  61. package/lib/{esm/openai → openai}/azure_openai.js +17 -14
  62. package/lib/openai/azure_openai.js.map +1 -0
  63. package/lib/openai/drivers.d.ts +4 -0
  64. package/lib/openai/drivers.d.ts.map +1 -0
  65. package/lib/openai/drivers.js +9 -0
  66. package/lib/openai/drivers.js.map +1 -0
  67. package/lib/{types/openai → openai}/index.d.ts +16 -5
  68. package/lib/openai/index.d.ts.map +1 -0
  69. package/lib/{esm/openai → openai}/index.js +242 -141
  70. package/lib/openai/index.js.map +1 -0
  71. package/lib/{types/openai → openai}/openai.d.ts +3 -3
  72. package/lib/openai/openai.d.ts.map +1 -0
  73. package/lib/openai/openai.js +15 -0
  74. package/lib/openai/openai.js.map +1 -0
  75. package/lib/{types/openai → openai}/openai_compatible.d.ts +3 -3
  76. package/lib/openai/openai_compatible.d.ts.map +1 -0
  77. package/lib/{esm/openai → openai}/openai_compatible.js +14 -11
  78. package/lib/openai/openai_compatible.js.map +1 -0
  79. package/lib/{types/openai → openai}/openai_format.d.ts +3 -2
  80. package/lib/openai/openai_format.d.ts.map +1 -0
  81. package/lib/{esm/openai → openai}/openai_format.js +66 -24
  82. package/lib/openai/openai_format.js.map +1 -0
  83. package/lib/{types/replicate.d.ts → replicate.d.ts} +3 -2
  84. package/lib/replicate.d.ts.map +1 -0
  85. package/lib/{esm/replicate.js → replicate.js} +59 -49
  86. package/lib/replicate.js.map +1 -0
  87. package/lib/{types/shared → shared}/claude-messages.d.ts +25 -1
  88. package/lib/shared/claude-messages.d.ts.map +1 -0
  89. package/lib/{esm/shared → shared}/claude-messages.js +212 -59
  90. package/lib/shared/claude-messages.js.map +1 -0
  91. package/lib/{types/shared → shared}/claude-thinking.d.ts +1 -1
  92. package/lib/shared/claude-thinking.d.ts.map +1 -0
  93. package/lib/{esm/shared → shared}/claude-thinking.js +5 -7
  94. package/lib/shared/claude-thinking.js.map +1 -0
  95. package/lib/shared/debug-prompt.d.ts +5 -0
  96. package/lib/shared/debug-prompt.d.ts.map +1 -0
  97. package/lib/shared/debug-prompt.js +25 -0
  98. package/lib/shared/debug-prompt.js.map +1 -0
  99. package/lib/{types/test-driver → test-driver}/TestErrorCompletionStream.d.ts +1 -1
  100. package/lib/test-driver/TestErrorCompletionStream.d.ts.map +1 -0
  101. package/lib/test-driver/TestErrorCompletionStream.js +16 -0
  102. package/lib/test-driver/TestErrorCompletionStream.js.map +1 -0
  103. package/lib/{types/test-driver → test-driver}/TestValidationErrorCompletionStream.d.ts +1 -1
  104. package/lib/test-driver/TestValidationErrorCompletionStream.d.ts.map +1 -0
  105. package/lib/{esm/test-driver → test-driver}/TestValidationErrorCompletionStream.js +4 -4
  106. package/lib/test-driver/TestValidationErrorCompletionStream.js.map +1 -0
  107. package/lib/{types/test-driver → test-driver}/index.d.ts +3 -3
  108. package/lib/test-driver/index.d.ts.map +1 -0
  109. package/lib/{esm/test-driver → test-driver}/index.js +20 -20
  110. package/lib/test-driver/index.js.map +1 -0
  111. package/lib/{types/test-driver → test-driver}/utils.d.ts +1 -1
  112. package/lib/test-driver/utils.d.ts.map +1 -0
  113. package/lib/{esm/test-driver → test-driver}/utils.js +4 -4
  114. package/lib/test-driver/utils.js.map +1 -0
  115. package/lib/togetherai/index.d.ts +15 -0
  116. package/lib/togetherai/index.d.ts.map +1 -0
  117. package/lib/togetherai/index.js +54 -0
  118. package/lib/togetherai/index.js.map +1 -0
  119. package/lib/{types/togetherai → togetherai}/interfaces.d.ts +1 -1
  120. package/lib/togetherai/interfaces.d.ts.map +1 -0
  121. package/lib/{cjs/watsonx → togetherai}/interfaces.js.map +1 -1
  122. package/lib/vertexai/debug.d.ts +2 -0
  123. package/lib/vertexai/debug.d.ts.map +1 -0
  124. package/lib/{esm/vertexai → vertexai}/debug.js +1 -1
  125. package/lib/vertexai/debug.js.map +1 -0
  126. package/lib/vertexai/embeddings/embed-legacy-multimodal.d.ts +9 -0
  127. package/lib/vertexai/embeddings/embed-legacy-multimodal.d.ts.map +1 -0
  128. package/lib/vertexai/embeddings/embed-legacy-multimodal.js +141 -0
  129. package/lib/vertexai/embeddings/embed-legacy-multimodal.js.map +1 -0
  130. package/lib/vertexai/embeddings/embed.d.ts +13 -0
  131. package/lib/vertexai/embeddings/embed.d.ts.map +1 -0
  132. package/lib/vertexai/embeddings/embed.js +162 -0
  133. package/lib/vertexai/embeddings/embed.js.map +1 -0
  134. package/lib/vertexai/embeddings/source-utils.d.ts +9 -0
  135. package/lib/vertexai/embeddings/source-utils.d.ts.map +1 -0
  136. package/lib/vertexai/embeddings/source-utils.js +18 -0
  137. package/lib/vertexai/embeddings/source-utils.js.map +1 -0
  138. package/lib/{types/vertexai → vertexai}/index.d.ts +31 -19
  139. package/lib/vertexai/index.d.ts.map +1 -0
  140. package/lib/{esm/vertexai → vertexai}/index.js +221 -159
  141. package/lib/vertexai/index.js.map +1 -0
  142. package/lib/{types/vertexai → vertexai}/models/claude.d.ts +4 -4
  143. package/lib/vertexai/models/claude.d.ts.map +1 -0
  144. package/lib/{esm/vertexai → vertexai}/models/claude.js +17 -20
  145. package/lib/vertexai/models/claude.js.map +1 -0
  146. package/lib/{types/vertexai → vertexai}/models/gemini.d.ts +28 -4
  147. package/lib/vertexai/models/gemini.d.ts.map +1 -0
  148. package/lib/{esm/vertexai → vertexai}/models/gemini.js +238 -116
  149. package/lib/vertexai/models/gemini.js.map +1 -0
  150. package/lib/{types/vertexai → vertexai}/models/imagen.d.ts +12 -11
  151. package/lib/vertexai/models/imagen.d.ts.map +1 -0
  152. package/lib/{esm/vertexai → vertexai}/models/imagen.js +74 -47
  153. package/lib/vertexai/models/imagen.js.map +1 -0
  154. package/lib/{types/vertexai → vertexai}/models/llama.d.ts +4 -4
  155. package/lib/vertexai/models/llama.d.ts.map +1 -0
  156. package/lib/{esm/vertexai → vertexai}/models/llama.js +37 -33
  157. package/lib/vertexai/models/llama.js.map +1 -0
  158. package/lib/vertexai/models.d.ts +21 -0
  159. package/lib/vertexai/models.d.ts.map +1 -0
  160. package/lib/{esm/vertexai → vertexai}/models.js +12 -9
  161. package/lib/vertexai/models.js.map +1 -0
  162. package/lib/{types/watsonx → watsonx}/index.d.ts +4 -3
  163. package/lib/watsonx/index.d.ts.map +1 -0
  164. package/lib/{esm/watsonx → watsonx}/index.js +69 -41
  165. package/lib/watsonx/index.js.map +1 -0
  166. package/lib/watsonx/interfaces.d.ts.map +1 -0
  167. package/lib/{esm/watsonx → watsonx}/interfaces.js.map +1 -1
  168. package/lib/{types/xai → xai}/index.d.ts +4 -4
  169. package/lib/xai/index.d.ts.map +1 -0
  170. package/lib/{esm/xai → xai}/index.js +22 -18
  171. package/lib/xai/index.js.map +1 -0
  172. package/package.json +87 -36
  173. package/src/adobe/firefly.ts +60 -43
  174. package/src/anthropic/index.ts +37 -20
  175. package/src/azure/azure_foundry.ts +210 -165
  176. package/src/bedrock/converse.ts +124 -101
  177. package/src/bedrock/embeddings.test.ts +508 -0
  178. package/src/bedrock/embeddings.ts +517 -0
  179. package/src/bedrock/error-handling.test.ts +62 -14
  180. package/src/bedrock/index.ts +832 -466
  181. package/src/bedrock/nova-image-payload.ts +98 -91
  182. package/src/bedrock/payloads.ts +9 -9
  183. package/src/bedrock/s3.test.ts +39 -0
  184. package/src/bedrock/s3.ts +57 -38
  185. package/src/bedrock/streaming-tool-use.test.ts +86 -69
  186. package/src/bedrock/twelvelabs.ts +35 -32
  187. package/src/groq/index.ts +143 -60
  188. package/src/http-timeout-wiring.test.ts +263 -0
  189. package/src/huggingface_ie.ts +45 -61
  190. package/src/index.ts +15 -16
  191. package/src/mistral/index.ts +97 -48
  192. package/src/mistral/types.ts +13 -12
  193. package/src/openai/azure_openai.ts +35 -27
  194. package/src/openai/drivers.ts +9 -0
  195. package/src/openai/error-handling.test.ts +308 -113
  196. package/src/openai/index.ts +378 -248
  197. package/src/openai/openai.ts +6 -13
  198. package/src/openai/openai_compatible.ts +35 -25
  199. package/src/openai/openai_format.ts +90 -40
  200. package/src/replicate.ts +108 -86
  201. package/src/shared/claude-messages.test.ts +37 -0
  202. package/src/shared/claude-messages.ts +303 -97
  203. package/src/shared/claude-thinking.ts +6 -12
  204. package/src/shared/debug-prompt.ts +28 -0
  205. package/src/test-driver/TestErrorCompletionStream.ts +9 -10
  206. package/src/test-driver/TestValidationErrorCompletionStream.ts +9 -10
  207. package/src/test-driver/index.ts +43 -27
  208. package/src/test-driver/utils.ts +8 -8
  209. package/src/togetherai/index.test.ts +32 -0
  210. package/src/togetherai/index.ts +64 -128
  211. package/src/togetherai/interfaces.ts +5 -5
  212. package/src/vertexai/debug.ts +3 -3
  213. package/src/vertexai/embeddings/embed-legacy-multimodal.ts +211 -0
  214. package/src/vertexai/embeddings/embed.ts +206 -0
  215. package/src/vertexai/embeddings/embeddings.test.ts +497 -0
  216. package/src/vertexai/embeddings/source-utils.test.ts +54 -0
  217. package/src/vertexai/embeddings/source-utils.ts +29 -0
  218. package/src/vertexai/index.ts +331 -244
  219. package/src/vertexai/models/claude-error-handling.test.ts +83 -36
  220. package/src/vertexai/models/claude-streaming-spacing.test.ts +82 -75
  221. package/src/vertexai/models/claude.ts +55 -40
  222. package/src/vertexai/models/gemini-conversation-mutation.test.ts +65 -23
  223. package/src/vertexai/models/gemini-error-handling.test.ts +126 -10
  224. package/src/vertexai/models/gemini-orphaned-tool-result.test.ts +118 -0
  225. package/src/vertexai/models/gemini.ts +349 -172
  226. package/src/vertexai/models/imagen.ts +164 -100
  227. package/src/vertexai/models/llama.ts +70 -48
  228. package/src/vertexai/models.ts +36 -16
  229. package/src/watsonx/index.ts +101 -65
  230. package/src/watsonx/interfaces.ts +10 -15
  231. package/src/xai/index.ts +30 -30
  232. package/lib/cjs/adobe/firefly.js +0 -120
  233. package/lib/cjs/adobe/firefly.js.map +0 -1
  234. package/lib/cjs/anthropic/index.js +0 -64
  235. package/lib/cjs/anthropic/index.js.map +0 -1
  236. package/lib/cjs/azure/azure_foundry.js +0 -432
  237. package/lib/cjs/azure/azure_foundry.js.map +0 -1
  238. package/lib/cjs/bedrock/converse.js +0 -359
  239. package/lib/cjs/bedrock/converse.js.map +0 -1
  240. package/lib/cjs/bedrock/index.js +0 -1508
  241. package/lib/cjs/bedrock/index.js.map +0 -1
  242. package/lib/cjs/bedrock/nova-image-payload.js +0 -207
  243. package/lib/cjs/bedrock/nova-image-payload.js.map +0 -1
  244. package/lib/cjs/bedrock/payloads.js +0 -3
  245. package/lib/cjs/bedrock/s3.js +0 -107
  246. package/lib/cjs/bedrock/s3.js.map +0 -1
  247. package/lib/cjs/bedrock/twelvelabs.js +0 -87
  248. package/lib/cjs/bedrock/twelvelabs.js.map +0 -1
  249. package/lib/cjs/groq/index.js +0 -328
  250. package/lib/cjs/groq/index.js.map +0 -1
  251. package/lib/cjs/huggingface_ie.js +0 -201
  252. package/lib/cjs/huggingface_ie.js.map +0 -1
  253. package/lib/cjs/index.js +0 -32
  254. package/lib/cjs/index.js.map +0 -1
  255. package/lib/cjs/mistral/index.js +0 -176
  256. package/lib/cjs/mistral/index.js.map +0 -1
  257. package/lib/cjs/mistral/types.js +0 -83
  258. package/lib/cjs/mistral/types.js.map +0 -1
  259. package/lib/cjs/openai/azure_openai.js +0 -72
  260. package/lib/cjs/openai/azure_openai.js.map +0 -1
  261. package/lib/cjs/openai/index.js +0 -1135
  262. package/lib/cjs/openai/index.js.map +0 -1
  263. package/lib/cjs/openai/openai.js +0 -21
  264. package/lib/cjs/openai/openai.js.map +0 -1
  265. package/lib/cjs/openai/openai_compatible.js +0 -63
  266. package/lib/cjs/openai/openai_compatible.js.map +0 -1
  267. package/lib/cjs/openai/openai_format.js +0 -131
  268. package/lib/cjs/openai/openai_format.js.map +0 -1
  269. package/lib/cjs/package.json +0 -3
  270. package/lib/cjs/replicate.js +0 -275
  271. package/lib/cjs/replicate.js.map +0 -1
  272. package/lib/cjs/shared/claude-messages.js +0 -737
  273. package/lib/cjs/shared/claude-messages.js.map +0 -1
  274. package/lib/cjs/shared/claude-thinking.js +0 -60
  275. package/lib/cjs/shared/claude-thinking.js.map +0 -1
  276. package/lib/cjs/test-driver/TestErrorCompletionStream.js +0 -20
  277. package/lib/cjs/test-driver/TestErrorCompletionStream.js.map +0 -1
  278. package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js +0 -24
  279. package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js.map +0 -1
  280. package/lib/cjs/test-driver/index.js +0 -109
  281. package/lib/cjs/test-driver/index.js.map +0 -1
  282. package/lib/cjs/test-driver/utils.js +0 -30
  283. package/lib/cjs/test-driver/utils.js.map +0 -1
  284. package/lib/cjs/togetherai/index.js +0 -126
  285. package/lib/cjs/togetherai/index.js.map +0 -1
  286. package/lib/cjs/togetherai/interfaces.js +0 -3
  287. package/lib/cjs/togetherai/interfaces.js.map +0 -1
  288. package/lib/cjs/vertexai/debug.js +0 -12
  289. package/lib/cjs/vertexai/debug.js.map +0 -1
  290. package/lib/cjs/vertexai/embeddings/embeddings-image.js +0 -27
  291. package/lib/cjs/vertexai/embeddings/embeddings-image.js.map +0 -1
  292. package/lib/cjs/vertexai/embeddings/embeddings-text.js +0 -23
  293. package/lib/cjs/vertexai/embeddings/embeddings-text.js.map +0 -1
  294. package/lib/cjs/vertexai/index.js +0 -644
  295. package/lib/cjs/vertexai/index.js.map +0 -1
  296. package/lib/cjs/vertexai/models/claude.js +0 -72
  297. package/lib/cjs/vertexai/models/claude.js.map +0 -1
  298. package/lib/cjs/vertexai/models/gemini.js +0 -864
  299. package/lib/cjs/vertexai/models/gemini.js.map +0 -1
  300. package/lib/cjs/vertexai/models/imagen.js +0 -303
  301. package/lib/cjs/vertexai/models/imagen.js.map +0 -1
  302. package/lib/cjs/vertexai/models/llama.js +0 -183
  303. package/lib/cjs/vertexai/models/llama.js.map +0 -1
  304. package/lib/cjs/vertexai/models.js +0 -35
  305. package/lib/cjs/vertexai/models.js.map +0 -1
  306. package/lib/cjs/watsonx/index.js +0 -161
  307. package/lib/cjs/watsonx/index.js.map +0 -1
  308. package/lib/cjs/watsonx/interfaces.js +0 -3
  309. package/lib/cjs/xai/index.js +0 -65
  310. package/lib/cjs/xai/index.js.map +0 -1
  311. package/lib/esm/adobe/firefly.js +0 -116
  312. package/lib/esm/adobe/firefly.js.map +0 -1
  313. package/lib/esm/anthropic/index.js.map +0 -1
  314. package/lib/esm/azure/azure_foundry.js.map +0 -1
  315. package/lib/esm/bedrock/converse.js.map +0 -1
  316. package/lib/esm/bedrock/index.js.map +0 -1
  317. package/lib/esm/bedrock/nova-image-payload.js.map +0 -1
  318. package/lib/esm/bedrock/payloads.js.map +0 -1
  319. package/lib/esm/bedrock/s3.js.map +0 -1
  320. package/lib/esm/bedrock/twelvelabs.js.map +0 -1
  321. package/lib/esm/groq/index.js.map +0 -1
  322. package/lib/esm/huggingface_ie.js.map +0 -1
  323. package/lib/esm/index.js +0 -16
  324. package/lib/esm/index.js.map +0 -1
  325. package/lib/esm/mistral/index.js.map +0 -1
  326. package/lib/esm/mistral/types.js.map +0 -1
  327. package/lib/esm/openai/azure_openai.js.map +0 -1
  328. package/lib/esm/openai/index.js.map +0 -1
  329. package/lib/esm/openai/openai.js +0 -14
  330. package/lib/esm/openai/openai.js.map +0 -1
  331. package/lib/esm/openai/openai_compatible.js.map +0 -1
  332. package/lib/esm/openai/openai_format.js.map +0 -1
  333. package/lib/esm/replicate.js.map +0 -1
  334. package/lib/esm/shared/claude-messages.js.map +0 -1
  335. package/lib/esm/shared/claude-thinking.js.map +0 -1
  336. package/lib/esm/test-driver/TestErrorCompletionStream.js +0 -16
  337. package/lib/esm/test-driver/TestErrorCompletionStream.js.map +0 -1
  338. package/lib/esm/test-driver/TestValidationErrorCompletionStream.js.map +0 -1
  339. package/lib/esm/test-driver/index.js.map +0 -1
  340. package/lib/esm/test-driver/utils.js.map +0 -1
  341. package/lib/esm/togetherai/index.js +0 -122
  342. package/lib/esm/togetherai/index.js.map +0 -1
  343. package/lib/esm/togetherai/interfaces.js.map +0 -1
  344. package/lib/esm/vertexai/debug.js.map +0 -1
  345. package/lib/esm/vertexai/embeddings/embeddings-image.js +0 -24
  346. package/lib/esm/vertexai/embeddings/embeddings-image.js.map +0 -1
  347. package/lib/esm/vertexai/embeddings/embeddings-text.js +0 -20
  348. package/lib/esm/vertexai/embeddings/embeddings-text.js.map +0 -1
  349. package/lib/esm/vertexai/index.js.map +0 -1
  350. package/lib/esm/vertexai/models/claude.js.map +0 -1
  351. package/lib/esm/vertexai/models/gemini.js.map +0 -1
  352. package/lib/esm/vertexai/models/imagen.js.map +0 -1
  353. package/lib/esm/vertexai/models/llama.js.map +0 -1
  354. package/lib/esm/vertexai/models.js.map +0 -1
  355. package/lib/esm/watsonx/index.js.map +0 -1
  356. package/lib/esm/xai/index.js.map +0 -1
  357. package/lib/types/adobe/firefly.d.ts.map +0 -1
  358. package/lib/types/anthropic/index.d.ts.map +0 -1
  359. package/lib/types/azure/azure_foundry.d.ts.map +0 -1
  360. package/lib/types/bedrock/converse.d.ts.map +0 -1
  361. package/lib/types/bedrock/index.d.ts.map +0 -1
  362. package/lib/types/bedrock/nova-image-payload.d.ts.map +0 -1
  363. package/lib/types/bedrock/payloads.d.ts.map +0 -1
  364. package/lib/types/bedrock/s3.d.ts.map +0 -1
  365. package/lib/types/bedrock/twelvelabs.d.ts.map +0 -1
  366. package/lib/types/groq/index.d.ts.map +0 -1
  367. package/lib/types/huggingface_ie.d.ts.map +0 -1
  368. package/lib/types/index.d.ts +0 -16
  369. package/lib/types/index.d.ts.map +0 -1
  370. package/lib/types/mistral/index.d.ts.map +0 -1
  371. package/lib/types/mistral/types.d.ts.map +0 -1
  372. package/lib/types/openai/azure_openai.d.ts.map +0 -1
  373. package/lib/types/openai/index.d.ts.map +0 -1
  374. package/lib/types/openai/openai.d.ts.map +0 -1
  375. package/lib/types/openai/openai_compatible.d.ts.map +0 -1
  376. package/lib/types/openai/openai_format.d.ts.map +0 -1
  377. package/lib/types/replicate.d.ts.map +0 -1
  378. package/lib/types/shared/claude-messages.d.ts.map +0 -1
  379. package/lib/types/shared/claude-thinking.d.ts.map +0 -1
  380. package/lib/types/test-driver/TestErrorCompletionStream.d.ts.map +0 -1
  381. package/lib/types/test-driver/TestValidationErrorCompletionStream.d.ts.map +0 -1
  382. package/lib/types/test-driver/index.d.ts.map +0 -1
  383. package/lib/types/test-driver/utils.d.ts.map +0 -1
  384. package/lib/types/togetherai/index.d.ts +0 -23
  385. package/lib/types/togetherai/index.d.ts.map +0 -1
  386. package/lib/types/togetherai/interfaces.d.ts.map +0 -1
  387. package/lib/types/vertexai/debug.d.ts +0 -2
  388. package/lib/types/vertexai/debug.d.ts.map +0 -1
  389. package/lib/types/vertexai/embeddings/embeddings-image.d.ts +0 -11
  390. package/lib/types/vertexai/embeddings/embeddings-image.d.ts.map +0 -1
  391. package/lib/types/vertexai/embeddings/embeddings-text.d.ts +0 -10
  392. package/lib/types/vertexai/embeddings/embeddings-text.d.ts.map +0 -1
  393. package/lib/types/vertexai/index.d.ts.map +0 -1
  394. package/lib/types/vertexai/models/claude.d.ts.map +0 -1
  395. package/lib/types/vertexai/models/gemini.d.ts.map +0 -1
  396. package/lib/types/vertexai/models/imagen.d.ts.map +0 -1
  397. package/lib/types/vertexai/models/llama.d.ts.map +0 -1
  398. package/lib/types/vertexai/models.d.ts +0 -20
  399. package/lib/types/vertexai/models.d.ts.map +0 -1
  400. package/lib/types/watsonx/index.d.ts.map +0 -1
  401. package/lib/types/watsonx/interfaces.d.ts.map +0 -1
  402. package/lib/types/xai/index.d.ts.map +0 -1
  403. package/src/vertexai/embeddings/embeddings-image.ts +0 -52
  404. package/src/vertexai/embeddings/embeddings-text.ts +0 -54
  405. /package/lib/{esm/bedrock → bedrock}/payloads.js +0 -0
  406. /package/lib/{esm/mistral → mistral}/types.js +0 -0
  407. /package/lib/{esm/togetherai → togetherai}/interfaces.js +0 -0
  408. /package/lib/{types/watsonx → watsonx}/interfaces.d.ts +0 -0
  409. /package/lib/{esm/watsonx → watsonx}/interfaces.js +0 -0
@@ -1,30 +1,23 @@
1
-
2
-
3
- import { DriverOptions, Providers } from "@llumiverse/core";
4
- import OpenAI from "openai";
5
- import { BaseOpenAIDriver } from "./index.js";
1
+ import { type DriverOptions, Providers } from '@llumiverse/core';
2
+ import OpenAI from 'openai';
3
+ import { BaseOpenAIDriver } from './index.js';
6
4
 
7
5
  export interface OpenAIDriverOptions extends DriverOptions {
8
-
9
6
  /**
10
7
  * The OpenAI api key
11
8
  */
12
9
  apiKey?: string; //type with azure credentials
13
-
14
10
  }
15
11
 
16
-
17
-
18
-
19
12
  export class OpenAIDriver extends BaseOpenAIDriver {
20
-
21
13
  service: OpenAI;
22
14
  readonly provider = Providers.openai;
23
15
 
24
16
  constructor(opts: OpenAIDriverOptions) {
25
17
  super(opts);
26
18
  this.service = new OpenAI({
27
- apiKey: opts.apiKey
19
+ apiKey: opts.apiKey,
20
+ fetch: this.getDriverFetch(),
28
21
  });
29
22
  }
30
- }
23
+ }
@@ -1,6 +1,13 @@
1
- import { AIModel, DriverOptions, ModelType, Providers, getModelCapabilities, modelModalitiesToArray } from "@llumiverse/core";
2
- import OpenAI from "openai";
3
- import { BaseOpenAIDriver } from "./index.js";
1
+ import {
2
+ type AIModel,
3
+ type DriverOptions,
4
+ getModelCapabilities,
5
+ ModelType,
6
+ modelModalitiesToArray,
7
+ Providers,
8
+ } from '@llumiverse/core';
9
+ import OpenAI from 'openai';
10
+ import { BaseOpenAIDriver } from './index.js';
4
11
 
5
12
  export interface OpenAICompatibleDriverOptions extends DriverOptions {
6
13
  /**
@@ -34,17 +41,18 @@ export class OpenAICompatibleDriver extends BaseOpenAIDriver {
34
41
  super(opts);
35
42
 
36
43
  if (!opts.apiKey) {
37
- throw new Error("apiKey is required");
44
+ throw new Error('apiKey is required');
38
45
  }
39
46
 
40
47
  if (!opts.endpoint) {
41
- throw new Error("endpoint is required for OpenAI-compatible driver");
48
+ throw new Error('endpoint is required for OpenAI-compatible driver');
42
49
  }
43
50
 
44
51
  this.service = new OpenAI({
45
52
  apiKey: opts.apiKey,
46
53
  baseURL: opts.endpoint,
47
54
  defaultHeaders: opts.default_headers,
55
+ fetch: this.getDriverFetch(),
48
56
  });
49
57
  }
50
58
 
@@ -52,29 +60,31 @@ export class OpenAICompatibleDriver extends BaseOpenAIDriver {
52
60
  try {
53
61
  const result = (await this.service.models.list()).data;
54
62
 
55
- const models = result.map((m) => {
56
- const modelCapability = getModelCapabilities(m.id, "openai");
57
- let owner = m.owned_by;
58
- if (owner === "system") {
59
- owner = "unknown";
60
- }
61
- return {
62
- id: m.id,
63
- name: m.id,
64
- provider: this.provider,
65
- owner: owner,
66
- type: ModelType.Text,
67
- can_stream: true,
68
- is_multimodal: false,
69
- input_modalities: modelModalitiesToArray(modelCapability.input),
70
- output_modalities: modelModalitiesToArray(modelCapability.output),
71
- tool_support: modelCapability.tool_support,
72
- } satisfies AIModel<string>;
73
- }).sort((a, b) => a.id.localeCompare(b.id));
63
+ const models = result
64
+ .map((m) => {
65
+ const modelCapability = getModelCapabilities(m.id, 'openai');
66
+ let owner = m.owned_by;
67
+ if (owner === 'system') {
68
+ owner = 'unknown';
69
+ }
70
+ return {
71
+ id: m.id,
72
+ name: m.id,
73
+ provider: this.provider,
74
+ owner: owner,
75
+ type: ModelType.Text,
76
+ can_stream: true,
77
+ is_multimodal: false,
78
+ input_modalities: modelModalitiesToArray(modelCapability.input),
79
+ output_modalities: modelModalitiesToArray(modelCapability.output),
80
+ tool_support: modelCapability.tool_support,
81
+ } satisfies AIModel<string>;
82
+ })
83
+ .sort((a, b) => a.id.localeCompare(b.id));
74
84
 
75
85
  return models;
76
86
  } catch (error) {
77
- this.logger.warn({ error }, "[OpenAICompatible] Failed to list models, returning empty list");
87
+ this.logger.warn({ error }, '[OpenAICompatible] Failed to list models, returning empty list');
78
88
  return [];
79
89
  }
80
90
  }
@@ -1,15 +1,58 @@
1
1
  // This file is used by multiple drivers
2
2
  // to format prompts in a way that is compatible with OpenAI's API.
3
3
 
4
- import { PromptRole, PromptOptions, PromptSegment } from "@llumiverse/common";
5
- import { readStreamAsBase64 } from "@llumiverse/core";
6
- import type OpenAI from "openai";
4
+ import { type PromptOptions, PromptRole, type PromptSegment } from '@llumiverse/common';
5
+ import { readStreamAsBase64 } from '@llumiverse/core';
6
+ import type OpenAI from 'openai';
7
+ import { truncateDataUrlForDebug } from '../shared/debug-prompt.js';
7
8
 
8
9
  // Types for Response API
9
10
  type ResponseInputItem = OpenAI.Responses.ResponseInputItem;
10
11
  type ResponseInputContent = OpenAI.Responses.ResponseInputContent;
11
12
  type EasyInputMessage = OpenAI.Responses.EasyInputMessage;
12
13
 
14
+ function isResponseInputContent(value: unknown): value is ResponseInputContent {
15
+ return (
16
+ typeof value === 'object' &&
17
+ value !== null &&
18
+ 'type' in value &&
19
+ (value.type === 'input_text' || value.type === 'input_image' || value.type === 'input_file')
20
+ );
21
+ }
22
+
23
+ function isEasyInputMessageWithInputContent(
24
+ item: ResponseInputItem,
25
+ ): item is EasyInputMessage & { content: ResponseInputContent[] } {
26
+ return 'content' in item && Array.isArray(item.content) && item.content.every(isResponseInputContent);
27
+ }
28
+
29
+ export function formatOpenAIDebugPrompt(prompt: ResponseInputItem[]): ResponseInputItem[] {
30
+ return prompt.map((item) => {
31
+ if (!isEasyInputMessageWithInputContent(item)) {
32
+ return item;
33
+ }
34
+ const content = item.content.map((content) => {
35
+ if (content.type === 'input_image' && 'image_url' in content && typeof content.image_url === 'string') {
36
+ return {
37
+ ...content,
38
+ image_url: truncateDataUrlForDebug(content.image_url),
39
+ } satisfies ResponseInputContent;
40
+ }
41
+ if (content.type === 'input_file' && 'file_data' in content && typeof content.file_data === 'string') {
42
+ return {
43
+ ...content,
44
+ file_data: truncateDataUrlForDebug(content.file_data),
45
+ } satisfies ResponseInputContent;
46
+ }
47
+ return content;
48
+ });
49
+ return {
50
+ ...item,
51
+ content,
52
+ } satisfies EasyInputMessage;
53
+ });
54
+ }
55
+
13
56
  export interface OpenAITextMessage {
14
57
  content: string;
15
58
  role: 'system' | 'user' | 'assistant' | 'developer';
@@ -27,14 +70,14 @@ export function formatOpenAILikeTextPrompt(segments: PromptSegment[]): OpenAITex
27
70
 
28
71
  for (const msg of segments) {
29
72
  if (msg.role === PromptRole.system) {
30
- system.push({ content: msg.content, role: "system" });
73
+ system.push({ content: msg.content, role: 'system' });
31
74
  } else if (msg.role === PromptRole.safety) {
32
- safety.push({ content: "IMPORTANT: " + msg.content, role: "system" });
75
+ safety.push({ content: `IMPORTANT: ${msg.content}`, role: 'system' });
33
76
  } else if (msg.role !== PromptRole.negative && msg.role !== PromptRole.mask && msg.role !== PromptRole.tool) {
34
77
  user.push({
35
78
  content: msg.content,
36
79
  role: msg.role || 'user',
37
- })
80
+ });
38
81
  }
39
82
  }
40
83
 
@@ -42,14 +85,15 @@ export function formatOpenAILikeTextPrompt(segments: PromptSegment[]): OpenAITex
42
85
  return system.concat(user).concat(safety);
43
86
  }
44
87
 
45
-
46
- export async function formatOpenAILikeMultimodalPrompt(segments: PromptSegment[], opts: PromptOptions & OpenAIPromptFormatterOptions): Promise<ResponseInputItem[]> {
88
+ export async function formatOpenAILikeMultimodalPrompt(
89
+ segments: PromptSegment[],
90
+ opts: PromptOptions & OpenAIPromptFormatterOptions,
91
+ ): Promise<ResponseInputItem[]> {
47
92
  const system: ResponseInputItem[] = [];
48
93
  const safety: ResponseInputItem[] = [];
49
94
  const others: ResponseInputItem[] = [];
50
95
 
51
96
  for (const msg of segments) {
52
-
53
97
  const parts: ResponseInputContent[] = [];
54
98
 
55
99
  //generate the parts based on PromptSegment
@@ -58,98 +102,104 @@ export async function formatOpenAILikeMultimodalPrompt(segments: PromptSegment[]
58
102
  const stream = await file.getStream();
59
103
  const data = await readStreamAsBase64(stream);
60
104
  parts.push({
61
- type: "input_image",
62
- image_url: `data:${file.mime_type || "image/jpeg"};base64,${data}`,
63
- detail: "auto",
64
- })
105
+ type: 'input_image',
106
+ image_url: `data:${file.mime_type || 'image/jpeg'};base64,${data}`,
107
+ detail: 'auto',
108
+ });
65
109
  }
66
110
  }
67
111
 
68
112
  if (msg.content) {
69
113
  parts.push({
70
- type: "input_text",
114
+ type: 'input_text',
71
115
  text: msg.content,
72
- })
116
+ });
73
117
  }
74
118
 
75
-
76
119
  if (msg.role === PromptRole.system) {
77
120
  // For system messages, filter to only text parts
78
- const textParts = parts.filter((part): part is OpenAI.Responses.ResponseInputText => part.type === 'input_text');
121
+ const textParts = parts.filter(
122
+ (part): part is OpenAI.Responses.ResponseInputText => part.type === 'input_text',
123
+ );
79
124
  const textContent = textParts.length === 1 && !msg.files ? textParts[0].text : textParts;
80
125
  const systemMsg: EasyInputMessage = {
81
- role: "system",
126
+ type: 'message',
127
+ role: 'system',
82
128
  content: textContent,
83
129
  };
84
130
  system.push(systemMsg);
85
131
 
86
132
  if (opts.useToolForFormatting && opts.schema) {
87
- system.forEach(s => {
133
+ system.forEach((s) => {
88
134
  if ((s as EasyInputMessage).role === 'system') {
89
135
  const sysMsg = s as EasyInputMessage;
90
136
  if (typeof sysMsg.content === 'string') {
91
- sysMsg.content = "TOOL: " + sysMsg.content;
137
+ sysMsg.content = `TOOL: ${sysMsg.content}`;
92
138
  } else if (Array.isArray(sysMsg.content)) {
93
- sysMsg.content.forEach((c: any) => {
94
- if (c.type === "input_text") c.text = "TOOL: " + c.text;
139
+ sysMsg.content.forEach((c) => {
140
+ if (c.type === 'input_text') c.text = `TOOL: ${c.text}`;
95
141
  });
96
142
  }
97
143
  }
98
144
  });
99
145
  }
100
-
101
146
  } else if (msg.role === PromptRole.safety) {
102
- const textParts = parts.filter((part): part is OpenAI.Responses.ResponseInputText => part.type === 'input_text');
147
+ const textParts = parts.filter(
148
+ (part): part is OpenAI.Responses.ResponseInputText => part.type === 'input_text',
149
+ );
103
150
  const safetyMsg: EasyInputMessage = {
104
- role: "system",
151
+ type: 'message',
152
+ role: 'system',
105
153
  content: textParts,
106
154
  };
107
155
 
108
156
  if (Array.isArray(safetyMsg.content)) {
109
- safetyMsg.content.forEach((c: any) => {
110
- if (c.type === "input_text") c.text = "DO NOT IGNORE - IMPORTANT: " + c.text;
157
+ safetyMsg.content.forEach((c) => {
158
+ if (c.type === 'input_text') c.text = `DO NOT IGNORE - IMPORTANT: ${c.text}`;
111
159
  });
112
160
  }
113
161
 
114
162
  system.push(safetyMsg);
115
163
  } else if (msg.role === PromptRole.tool) {
116
164
  if (!msg.tool_use_id) {
117
- throw new Error("Tool use id is required for tool messages")
165
+ throw new Error('Tool use id is required for tool messages');
118
166
  }
119
167
  const toolOutputMsg: OpenAI.Responses.ResponseInputItem.FunctionCallOutput = {
120
- type: "function_call_output",
168
+ type: 'function_call_output',
121
169
  call_id: msg.tool_use_id,
122
- output: msg.content || ""
170
+ output: msg.content || '',
123
171
  };
124
172
  others.push(toolOutputMsg);
125
173
  } else if (msg.role !== PromptRole.negative && msg.role !== PromptRole.mask) {
126
174
  const inputMsg: EasyInputMessage = {
175
+ type: 'message',
127
176
  role: msg.role === 'assistant' ? 'assistant' : 'user',
128
177
  content: parts,
129
178
  };
130
179
  others.push(inputMsg);
131
180
  }
132
-
133
181
  }
134
182
 
135
183
  if (opts.result_schema && !opts.useToolForFormatting) {
136
184
  const schemaMsg: EasyInputMessage = {
137
- role: "system",
138
- content: [{
139
- type: "input_text",
140
- text: "IMPORTANT: only answer using JSON, and respecting the schema included below, between the <response_schema> tags. " + `<response_schema>${JSON.stringify(opts.result_schema)}</response_schema>`
141
- }]
185
+ type: 'message',
186
+ role: 'system',
187
+ content: [
188
+ {
189
+ type: 'input_text',
190
+ text: `IMPORTANT: only answer using JSON, and respecting the schema included below, between the <response_schema> tags. <response_schema>${JSON.stringify(opts.result_schema)}</response_schema>`,
191
+ },
192
+ ],
142
193
  };
143
194
  system.push(schemaMsg);
144
195
  }
145
196
 
146
197
  // put system messages first and safety last
147
198
  return ([] as ResponseInputItem[]).concat(system).concat(others).concat(safety);
148
-
149
199
  }
150
200
 
151
201
  export interface OpenAIPromptFormatterOptions {
152
- multimodal?: boolean
153
- useToolForFormatting?: boolean
154
- schema?: object
202
+ multimodal?: boolean;
203
+ useToolForFormatting?: boolean;
204
+ schema?: object;
155
205
  }