@llumiverse/drivers 1.3.0 → 1.4.0-dev.20260629.090753Z

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
@@ -0,0 +1,162 @@
1
+ import { VERTEX_DEFAULT_EMBEDDING_MODEL, VERTEX_MULTIMODAL_EMBEDDING_MODEL } from '@llumiverse/common';
2
+ import { buildEmbeddingsResult, LlumiverseError, normalizeEmbeddingsOptions, } from '@llumiverse/core';
3
+ import { generateLegacyMultimodalEmbeddings } from './embed-legacy-multimodal.js';
4
+ import { dataSourceToVertexSourceData } from './source-utils.js';
5
+ /**
6
+ * Models that do not accept task_type as an API parameter and instead expect
7
+ * the task to be conveyed by a documented prompt prefix.
8
+ */
9
+ const TASK_TYPE_PREFIX_MODELS = new Set(['gemini-embedding-2']);
10
+ /**
11
+ * Apply the documented prompt prefix for gemini-embedding-2 (prefix-only model).
12
+ *
13
+ * Prefixes per Google docs:
14
+ * query → "task: search result | query: {text}"
15
+ * document → "title: {title} | text: {text}" (uses "none" when title is absent)
16
+ */
17
+ function buildPrefixText(input) {
18
+ if (!input.task_type)
19
+ return input.text;
20
+ if (input.task_type === 'query') {
21
+ return `task: search result | query: ${input.text}`;
22
+ }
23
+ // document
24
+ const title = input.title ?? 'none';
25
+ return `title: ${title} | text: ${input.text}`;
26
+ }
27
+ function toGoogleTaskType(taskType) {
28
+ switch (taskType) {
29
+ case 'query':
30
+ return 'RETRIEVAL_QUERY';
31
+ case 'document':
32
+ return 'RETRIEVAL_DOCUMENT';
33
+ default:
34
+ return undefined;
35
+ }
36
+ }
37
+ /**
38
+ * Models only available in the Vertex "global" location.
39
+ */
40
+ const GLOBAL_ONLY_MODELS = new Set(['gemini-embedding-2']);
41
+ /**
42
+ * Models that only support one input content per embedContent request.
43
+ */
44
+ const NON_GROUPING_MODELS = new Set(['gemini-embedding-001', 'gemini-embedding-2']);
45
+ async function dataSourceToPart(ds) {
46
+ const source = await dataSourceToVertexSourceData(ds);
47
+ if (source.gcsUri) {
48
+ return { fileData: { fileUri: source.gcsUri, mimeType: ds.mime_type } };
49
+ }
50
+ if (!source.bytesBase64Encoded) {
51
+ throw new Error('Data source conversion produced neither GCS URI nor inline bytes');
52
+ }
53
+ return { inlineData: { data: source.bytesBase64Encoded, mimeType: ds.mime_type } };
54
+ }
55
+ function textConfig(input, viaPrefix) {
56
+ const config = {};
57
+ if (!viaPrefix && input.task_type)
58
+ config.taskType = toGoogleTaskType(input.task_type);
59
+ if (input.title)
60
+ config.title = input.title;
61
+ return config;
62
+ }
63
+ function configSignature(input, viaPrefix) {
64
+ if (input.type !== 'text')
65
+ return '{}';
66
+ return JSON.stringify(textConfig(input, viaPrefix));
67
+ }
68
+ async function inputToContent(input, viaPrefix) {
69
+ if (input.type === 'text') {
70
+ const text = viaPrefix ? buildPrefixText(input) : input.text;
71
+ return { role: 'user', parts: [{ text }] };
72
+ }
73
+ return { role: 'user', parts: [await dataSourceToPart(input.source)] };
74
+ }
75
+ function configForGroup(representative, viaPrefix, options) {
76
+ const config = {};
77
+ if (representative.type === 'text') {
78
+ Object.assign(config, textConfig(representative, viaPrefix));
79
+ }
80
+ if (options.dimensions !== undefined)
81
+ config.outputDimensionality = options.dimensions;
82
+ return Object.keys(config).length > 0 ? config : undefined;
83
+ }
84
+ function addInputTokenUsage(usage, tokenCount) {
85
+ usage.input_text_tokens = (usage.input_text_tokens ?? 0) + tokenCount;
86
+ usage.input_tokens = (usage.input_tokens ?? 0) + tokenCount;
87
+ }
88
+ /**
89
+ * Models that use the legacy multimodal predict API instead of embedContent.
90
+ */
91
+ const LEGACY_MULTIMODAL_MODELS = new Set([VERTEX_MULTIMODAL_EMBEDDING_MODEL]);
92
+ /**
93
+ * Generate Vertex AI embeddings via @google/genai's embedContent API.
94
+ * Text inputs are sent as Content with a text part; task_type and title
95
+ * are applied via the SDK config (or via prompt prefix for models that
96
+ * don't accept them as API parameters).
97
+ * Image/video/audio inputs are sent as inlineData (base64) or fileData (gs://).
98
+ * Inputs with the same config signature are batched in a single call;
99
+ * differing configs produce separate calls. Results preserve input order.
100
+ */
101
+ export async function generateVertexAiEmbeddings(driver, options) {
102
+ const normalized = normalizeEmbeddingsOptions(options);
103
+ const model = normalized.model ?? VERTEX_DEFAULT_EMBEDDING_MODEL;
104
+ if (LEGACY_MULTIMODAL_MODELS.has(model)) {
105
+ return generateLegacyMultimodalEmbeddings(driver, normalized);
106
+ }
107
+ const viaPrefix = TASK_TYPE_PREFIX_MODELS.has(model);
108
+ const region = GLOBAL_ONLY_MODELS.has(model) ? 'global' : undefined;
109
+ const disableGrouping = NON_GROUPING_MODELS.has(model);
110
+ const groups = new Map();
111
+ normalized.inputs.forEach((input, index) => {
112
+ const key = disableGrouping ? `single:${index}` : configSignature(input, viaPrefix);
113
+ const group = groups.get(key);
114
+ if (group) {
115
+ group.push({ index, input });
116
+ return;
117
+ }
118
+ groups.set(key, [{ index, input }]);
119
+ });
120
+ const ai = region ? driver.getGoogleGenAIClient(region) : driver.getGoogleGenAIClient();
121
+ const items = new Array(normalized.inputs.length);
122
+ const usage = {};
123
+ for (const group of groups.values()) {
124
+ const contents = await Promise.all(group.map((entry) => inputToContent(entry.input, viaPrefix)));
125
+ const config = configForGroup(group[0].input, viaPrefix, normalized);
126
+ try {
127
+ const response = await ai.models.embedContent({ model, contents, config });
128
+ const embeddings = response.embeddings ?? [];
129
+ if (embeddings.length !== group.length) {
130
+ throw new Error(`Vertex AI embedContent returned ${embeddings.length} embeddings for ${group.length} inputs (model ${model})`);
131
+ }
132
+ embeddings.forEach((embedding, i) => {
133
+ const entry = group[i];
134
+ const values = embedding.values;
135
+ if (!values) {
136
+ throw new Error(`Vertex AI embedContent returned an empty embedding for input ${entry.index} (model ${model})`);
137
+ }
138
+ const tokenCount = embedding.statistics?.tokenCount;
139
+ items[entry.index] = {
140
+ outputs: [{ values, modality: entry.input.type }],
141
+ input_tokens: tokenCount,
142
+ };
143
+ if (typeof tokenCount === 'number') {
144
+ addInputTokenUsage(usage, tokenCount);
145
+ }
146
+ });
147
+ }
148
+ catch (error) {
149
+ if (LlumiverseError.isLlumiverseError(error))
150
+ throw error;
151
+ if (error instanceof Error && typeof error.status !== 'number')
152
+ throw error;
153
+ throw driver.formatLlumiverseError(error, {
154
+ provider: 'vertexai',
155
+ model,
156
+ operation: 'execute',
157
+ });
158
+ }
159
+ }
160
+ return buildEmbeddingsResult(model, items, Object.keys(usage).length > 0 ? usage : undefined);
161
+ }
162
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../../src/vertexai/embeddings/embed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AACvG,OAAO,EACH,qBAAqB,EAQrB,eAAe,EACf,0BAA0B,GAE7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEjE;;;GAGG;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAExE;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAyB;IAC9C,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxC,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,gCAAgC,KAAK,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IACD,WAAW;IACX,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;IACpC,OAAO,UAAU,KAAK,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAKD,SAAS,gBAAgB,CAAC,QAAuC;IAC7D,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,OAAO;YACR,OAAO,iBAAiB,CAAC;QAC7B,KAAK,UAAU;YACX,OAAO,oBAAoB,CAAC;QAChC;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5F,KAAK,UAAU,gBAAgB,CAAC,EAAc;IAC1C,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,EAAE,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACvF,CAAC;AAID,SAAS,UAAU,CAAC,KAAyB,EAAE,SAAkB;IAC7D,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,KAAK,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5C,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAqB,EAAE,SAAkB;IAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,KAAqB,EAAE,SAAkB;IACnE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CACnB,cAA8B,EAC9B,SAAkB,EAClB,OAA0B;IAE1B,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IACvF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA2B,EAAE,UAAkB;IACvE,KAAK,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;IACtE,KAAK,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,UAAU,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAS,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAEtF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,MAAsB,EACtB,OAA0B;IAE1B,MAAM,UAAU,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,8BAA8B,CAAC;IAEjE,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,kCAAkC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsD,CAAC;IAC7E,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACxF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAsB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,KAAK,GAAyB,EAAE,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAErE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACX,mCAAmC,UAAU,CAAC,MAAM,mBAAmB,KAAK,CAAC,MAAM,kBAAkB,KAAK,GAAG,CAChH,CAAC;YACN,CAAC;YAED,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;gBAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;gBAChC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CACX,gEAAgE,KAAK,CAAC,KAAK,WAAW,KAAK,GAAG,CACjG,CAAC;gBACN,CAAC;gBACD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;gBACpD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG;oBACjB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACjD,YAAY,EAAE,UAAU;iBAC3B,CAAC;gBACF,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACjC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC1D,IAAI,KAAK,YAAY,KAAK,IAAI,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACtG,MAAM,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE;gBACtC,QAAQ,EAAE,UAAU;gBACpB,KAAK;gBACL,SAAS,EAAE,SAAS;aACvB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAClG,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type DataSource } from '@llumiverse/core';
2
+ interface VertexSourceData {
3
+ gcsUri?: string;
4
+ bytesBase64Encoded?: string;
5
+ }
6
+ export declare function isGcsUrl(url: string): boolean;
7
+ export declare function dataSourceToVertexSourceData(ds: DataSource): Promise<VertexSourceData>;
8
+ export {};
9
+ //# sourceMappingURL=source-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-utils.d.ts","sourceRoot":"","sources":["../../../src/vertexai/embeddings/source-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAEzF,UAAU,gBAAgB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAM7C;AAED,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAa5F"}
@@ -0,0 +1,18 @@
1
+ import { Base64DataSource, dataSourceToBase64 } from '@llumiverse/core';
2
+ export function isGcsUrl(url) {
3
+ return (url.startsWith('gs://') ||
4
+ url.startsWith('https://storage.googleapis.com/') ||
5
+ url.startsWith('https://storage.cloud.google.com/'));
6
+ }
7
+ export async function dataSourceToVertexSourceData(ds) {
8
+ const url = await ds.getURL().catch(() => undefined);
9
+ if (url && isGcsUrl(url)) {
10
+ return { gcsUri: url };
11
+ }
12
+ const bytesBase64Encoded = ds instanceof Base64DataSource ? ds.getBase64() : await dataSourceToBase64(ds);
13
+ if (!bytesBase64Encoded) {
14
+ throw new Error(`Data source conversion produced empty result — name=${ds.name}, mime=${ds.mime_type ?? 'unknown'}`);
15
+ }
16
+ return { bytesBase64Encoded };
17
+ }
18
+ //# sourceMappingURL=source-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-utils.js","sourceRoot":"","sources":["../../../src/vertexai/embeddings/source-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAOzF,MAAM,UAAU,QAAQ,CAAC,GAAW;IAChC,OAAO,CACH,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QACvB,GAAG,CAAC,UAAU,CAAC,iCAAiC,CAAC;QACjD,GAAG,CAAC,UAAU,CAAC,mCAAmC,CAAC,CACtD,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EAAc;IAC7D,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,kBAAkB,GAAG,EAAE,YAAY,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC1G,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,uDAAuD,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,SAAS,IAAI,SAAS,EAAE,CACtG,CAAC;IACN,CAAC;IACD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAClC,CAAC"}
@@ -1,10 +1,14 @@
1
- import { AnthropicVertex } from "@anthropic-ai/vertex-sdk";
2
- import { PredictionServiceClient, v1beta1 } from "@google-cloud/aiplatform";
3
- import { type Content, GoogleGenAI, type Model } from "@google/genai";
4
- import { type AIModel, AbstractDriver, type Completion, type CompletionChunkObject, type DriverOptions, type EmbeddingsOptions, type EmbeddingsResult, type ExecutionOptions, type LlumiverseError, type LlumiverseErrorContext, type ModelSearchPayload, type PromptSegment } from "@llumiverse/core";
5
- import { FetchClient } from "@vertesia/api-fetch-client";
6
- import { GoogleAuth, type GoogleAuthOptions } from "google-auth-library";
7
- import { type ImagenPrompt } from "./models/imagen.js";
1
+ import { AnthropicVertex } from '@anthropic-ai/vertex-sdk';
2
+ import { type Content, GoogleGenAI, type Model } from '@google/genai';
3
+ import { PredictionServiceClient, v1beta1 } from '@google-cloud/aiplatform';
4
+ import { type AIModel, type Completion, type CompletionChunkObject, type DriverOptions, type EmbeddingsOptions, type EmbeddingsResult, type ExecutionOptions, type HttpTimeoutOptions, type LlumiverseError, type LlumiverseErrorContext, type ModelSearchPayload, type PromptSegment } from '@llumiverse/core';
5
+ import { AbstractDriver } from '@llumiverse/core/driver';
6
+ import { FetchClient } from '@vertesia/api-fetch-client';
7
+ import { type AuthClient, GoogleAuth, type GoogleAuthOptions } from 'google-auth-library';
8
+ import { type ClaudePrompt } from '../shared/claude-messages.js';
9
+ import { type ImagenPrompt } from './models/imagen.js';
10
+ import type { LLamaPrompt } from './models/llama.js';
11
+ import { trimModelName } from './models.js';
8
12
  export interface VertexAIDriverOptions extends DriverOptions {
9
13
  project: string;
10
14
  region: string;
@@ -14,8 +18,8 @@ export interface GenerateContentPrompt {
14
18
  contents: Content[];
15
19
  system?: Content;
16
20
  }
17
- export type VertexAIPrompt = ImagenPrompt | GenerateContentPrompt;
18
- export declare function trimModelName(model: string): string;
21
+ export type VertexAIPrompt = ImagenPrompt | GenerateContentPrompt | ClaudePrompt | LLamaPrompt;
22
+ export { trimModelName };
19
23
  export declare class VertexAIDriver extends AbstractDriver<VertexAIDriverOptions, VertexAIPrompt> {
20
24
  static PROVIDER: string;
21
25
  provider: string;
@@ -25,27 +29,39 @@ export declare class VertexAIDriver extends AbstractDriver<VertexAIDriverOptions
25
29
  googleGenAI: GoogleGenAI | undefined;
26
30
  googleGenAIRegion: string | undefined;
27
31
  googleGenAIFlex: boolean | undefined;
28
- llamaClient: FetchClient & {
32
+ llamaClient: (FetchClient & {
29
33
  region?: string;
30
- } | undefined;
34
+ }) | undefined;
31
35
  modelGarden: v1beta1.ModelGardenServiceClient | undefined;
32
36
  imagenClient: PredictionServiceClient | undefined;
33
- googleAuth: GoogleAuth<any>;
37
+ predictionClient: PredictionServiceClient | undefined;
38
+ googleAuth: GoogleAuth<AuthClient>;
34
39
  private authClientPromise;
35
40
  constructor(options: VertexAIDriverOptions);
41
+ /**
42
+ * Cleanup Google Cloud clients when the driver is evicted from the cache.
43
+ * `super.destroy()` releases the HTTP agent socket pool created by
44
+ * {@link AbstractDriver.getHttpAgent} / {@link AbstractDriver.getDriverFetch}.
45
+ */
46
+ destroy(): void;
36
47
  private getAuthClient;
37
- getGoogleGenAIClient(region?: string, flex?: boolean): GoogleGenAI;
48
+ private getSdkRequestTimeoutMs;
49
+ private getGoogleGenAIHttpOptions;
50
+ private getAnthropicVertexClientOptions;
51
+ getGoogleGenAIClient(region?: string, flex?: boolean, httpTimeout?: HttpTimeoutOptions): GoogleGenAI;
38
52
  private buildGoogleGenAIClient;
39
- getFetchClient(): FetchClient;
53
+ getFetchClient(region?: string): FetchClient;
40
54
  getLLamaClient(region?: string): FetchClient;
41
- getAnthropicClient(region?: string): Promise<AnthropicVertex>;
55
+ getAnthropicClient(region?: string, httpTimeout?: HttpTimeoutOptions): Promise<AnthropicVertex>;
42
56
  getAIPlatformClient(): Promise<v1beta1.ModelServiceClient>;
43
57
  getModelGardenClient(): Promise<v1beta1.ModelGardenServiceClient>;
44
58
  getImagenClient(): Promise<PredictionServiceClient>;
59
+ getPredictionServiceClient(): Promise<PredictionServiceClient>;
45
60
  validateResult(result: Completion, options: ExecutionOptions): void;
46
61
  protected canStream(options: ExecutionOptions): Promise<boolean>;
47
62
  protected isImageModel(model: string): boolean;
48
63
  createPrompt(segments: PromptSegment[], options: ExecutionOptions): Promise<VertexAIPrompt>;
64
+ formatDebugPrompt(prompt: VertexAIPrompt): VertexAIPrompt;
49
65
  requestTextCompletion(prompt: VertexAIPrompt, options: ExecutionOptions): Promise<Completion>;
50
66
  requestTextCompletionStream(prompt: VertexAIPrompt, options: ExecutionOptions): Promise<AsyncIterable<CompletionChunkObject>>;
51
67
  /**
@@ -64,10 +80,6 @@ export declare class VertexAIDriver extends AbstractDriver<VertexAIDriverOptions
64
80
  listModels(_params?: ModelSearchPayload): Promise<AIModel<string>[]>;
65
81
  validateConnection(): Promise<boolean>;
66
82
  generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>;
67
- /**
68
- * Cleanup Google Cloud clients when the driver is evicted from the cache.
69
- */
70
- destroy(): void;
71
83
  /**
72
84
  * Format VertexAI errors by routing to model-specific error handlers.
73
85
  * Each model definition (Gemini, Claude, Llama) can provide custom error parsing
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vertexai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAGrB,KAAK,kBAAkB,EAEvB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAEvB,KAAK,aAAa,EAKrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAiB,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,8BAA8B,CAAC;AAI1F,OAAO,EAAkD,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAsB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAqBD,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,qBAAqB,GAAG,YAAY,GAAG,WAAW,CAAC;AAE/F,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,qBAAa,cAAe,SAAQ,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC;IACrF,MAAM,CAAC,QAAQ,SAAc;IAC7B,QAAQ,SAA2B;IAEnC,UAAU,EAAE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACnD,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,CAAC,WAAW,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IAC7D,WAAW,EAAE,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAC1D,YAAY,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAClD,gBAAgB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAEtD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,CAAC,iBAAiB,CAAkC;gBAE/C,OAAO,EAAE,qBAAqB;IAkB1C;;;;OAIG;IACH,OAAO,IAAI,IAAI;YAQD,aAAa;IAO3B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,+BAA+B;IAUhC,oBAAoB,CACvB,MAAM,GAAE,MAA4B,EACpC,IAAI,GAAE,OAAe,EACrB,WAAW,CAAC,EAAE,kBAAkB,GACjC,WAAW;IAcd,OAAO,CAAC,sBAAsB;IAYvB,cAAc,CAAC,MAAM,GAAE,MAA4B,GAAG,WAAW;IAejE,cAAc,CAAC,MAAM,GAAE,MAAsB,GAAG,WAAW;IAkBrD,kBAAkB,CAC3B,MAAM,GAAE,MAA4B,EACpC,WAAW,CAAC,EAAE,kBAAkB,GACjC,OAAO,CAAC,eAAe,CAAC;IAwBd,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAa1D,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAajE,eAAe,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAcnD,0BAA0B,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAa3E,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB;IAY5D,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhE,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvC,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;IAO3F,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc;IAa1D,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAG7F,2BAA2B,CAC7B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAIhD;;;;OAIG;IACH,0BAA0B,CACtB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAC9B,OAAO,EAAE,gBAAgB,GAC1B,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS;IAsGlC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IA6FlC,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAM9F,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAS1D,UAAU,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAuO1E,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI/E;;;;;;;;OAQG;IACI,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,GAAG,eAAe;CAiBjG"}