@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,359 @@
1
+ import { BEDROCK_DEFAULT_EMBEDDING_MODEL } from '@llumiverse/common';
2
+ import { Base64DataSource, buildEmbeddingsResult, dataSourceToBase64, LlumiverseError, normalizeEmbeddingsOptions, } from '@llumiverse/core';
3
+ /** Matches s3[.region].amazonaws.com or bucket.s3[.region].amazonaws.com — anchored to prevent subdomain spoofing. */
4
+ const S3_HOSTNAME_RE = /^(?:[^.]+\.)?s3(?:\.[a-z0-9-]+)?\.amazonaws\.com$/;
5
+ function isS3Url(url) {
6
+ if (url.startsWith('s3://'))
7
+ return true;
8
+ try {
9
+ const parsed = new URL(url);
10
+ return S3_HOSTNAME_RE.test(parsed.hostname);
11
+ }
12
+ catch {
13
+ return false;
14
+ }
15
+ }
16
+ /**
17
+ * Converts an S3 HTTPS URL to s3:// URI form. Handles both addressing styles:
18
+ * virtual-hosted: https://bucket.s3[.region].amazonaws.com/key
19
+ * path-style: https://s3[.region].amazonaws.com/bucket/key
20
+ */
21
+ function toS3Uri(url) {
22
+ if (url.startsWith('s3://'))
23
+ return url;
24
+ const parsed = new URL(url);
25
+ // Virtual-hosted style: bucket.s3[.region].amazonaws.com
26
+ const virtualHostedMatch = parsed.hostname.match(/^([^.]+)\.s3(?:\.[a-z0-9-]+)?\.amazonaws\.com$/);
27
+ if (virtualHostedMatch) {
28
+ const bucket = virtualHostedMatch[1];
29
+ const key = parsed.pathname.replace(/^\/+/, '');
30
+ return `s3://${bucket}/${key}`;
31
+ }
32
+ // Path-style: s3[.region].amazonaws.com/bucket/key
33
+ const pathParts = parsed.pathname.replace(/^\/+/, '').split('/');
34
+ const bucket = pathParts[0];
35
+ const key = pathParts.slice(1).join('/');
36
+ return `s3://${bucket}/${key}`;
37
+ }
38
+ async function dataSourceToBedrockMediaSource(ds) {
39
+ const url = await ds.getURL().catch(() => undefined);
40
+ if (url && isS3Url(url)) {
41
+ return { s3Location: { uri: toS3Uri(url) } };
42
+ }
43
+ if (ds instanceof Base64DataSource) {
44
+ return { base64String: ds.getBase64() };
45
+ }
46
+ return { base64String: await dataSourceToBase64(ds) };
47
+ }
48
+ async function invokeJson(driver, modelId, body) {
49
+ const executor = driver.getExecutor();
50
+ const res = await executor.invokeModel({
51
+ modelId,
52
+ contentType: 'application/json',
53
+ accept: 'application/json',
54
+ body: JSON.stringify(body),
55
+ });
56
+ if (!res.body)
57
+ throw new Error(`InvokeModel returned empty response body for model: ${modelId}`);
58
+ return JSON.parse(new TextDecoder().decode(res.body));
59
+ }
60
+ // ── Shared format lookup maps ───────────────────────────────────────────────
61
+ const MIME_TO_IMAGE_FORMAT = {
62
+ 'image/jpeg': 'jpeg',
63
+ 'image/jpg': 'jpeg',
64
+ 'image/png': 'png',
65
+ 'image/gif': 'gif',
66
+ 'image/webp': 'webp',
67
+ };
68
+ const MIME_TO_AUDIO_FORMAT = {
69
+ 'audio/mpeg': 'mp3',
70
+ 'audio/mp3': 'mp3',
71
+ 'audio/wav': 'wav',
72
+ 'audio/wave': 'wav',
73
+ 'audio/x-wav': 'wav',
74
+ 'audio/ogg': 'ogg',
75
+ };
76
+ const MIME_TO_VIDEO_FORMAT = {
77
+ 'video/mp4': 'mp4',
78
+ 'video/quicktime': 'mov',
79
+ 'video/x-matroska': 'mkv',
80
+ 'video/webm': 'webm',
81
+ 'video/x-flv': 'flv',
82
+ 'video/mpeg': 'mpeg',
83
+ 'video/mpg': 'mpg',
84
+ 'video/x-ms-wmv': 'wmv',
85
+ 'video/3gpp': '3gp',
86
+ };
87
+ function requireFormat(map, mime, label) {
88
+ const fmt = map[mime.toLowerCase()];
89
+ if (!fmt)
90
+ throw new Error(`Unsupported ${label} MIME type for Bedrock: '${mime}'`);
91
+ return fmt;
92
+ }
93
+ function toNovaEmbeddingPurpose(taskType) {
94
+ return taskType === 'query' ? 'GENERIC_RETRIEVAL' : 'GENERIC_INDEX';
95
+ }
96
+ async function toNovaSource(ds) {
97
+ const url = await ds.getURL().catch(() => undefined);
98
+ if (url && isS3Url(url))
99
+ return { s3Location: { uri: toS3Uri(url) } };
100
+ const bytes = ds instanceof Base64DataSource ? ds.getBase64() : await dataSourceToBase64(ds);
101
+ return { bytes };
102
+ }
103
+ async function buildNovaParams(input) {
104
+ switch (input.type) {
105
+ case 'text':
106
+ return { text: { truncationMode: 'END', value: input.text } };
107
+ case 'image': {
108
+ const source = await toNovaSource(input.source);
109
+ return { image: { format: requireFormat(MIME_TO_IMAGE_FORMAT, input.source.mime_type, 'image'), source } };
110
+ }
111
+ case 'audio': {
112
+ const source = await toNovaSource(input.source);
113
+ return { audio: { format: requireFormat(MIME_TO_AUDIO_FORMAT, input.source.mime_type, 'audio'), source } };
114
+ }
115
+ case 'video': {
116
+ // Sync path supports video up to 30 s / 100 MB via S3 (or 25 MB inline base64).
117
+ // Longer video requires StartAsyncInvoke with segmentationConfig — not implemented.
118
+ const source = await toNovaSource(input.source);
119
+ return {
120
+ video: {
121
+ format: requireFormat(MIME_TO_VIDEO_FORMAT, input.source.mime_type, 'video'),
122
+ source,
123
+ embeddingMode: 'AUDIO_VIDEO_COMBINED',
124
+ },
125
+ };
126
+ }
127
+ }
128
+ }
129
+ async function generateNovaEmbeddings(driver, options, modelId) {
130
+ const items = [];
131
+ for (const input of options.inputs) {
132
+ const inputTaskType = input.type === 'text' ? input.task_type : undefined;
133
+ const purpose = toNovaEmbeddingPurpose(inputTaskType ?? options.task_type);
134
+ const modalParams = await buildNovaParams(input);
135
+ const request = {
136
+ taskType: 'SINGLE_EMBEDDING',
137
+ singleEmbeddingParams: {
138
+ embeddingPurpose: purpose,
139
+ ...(options.dimensions ? { embeddingDimension: options.dimensions } : {}),
140
+ ...modalParams,
141
+ },
142
+ };
143
+ const response = await invokeJson(driver, modelId, request);
144
+ const item = response.embeddings?.[0];
145
+ if (!item?.embedding) {
146
+ throw new Error(`Nova embeddings response missing 'embeddings[0].embedding' for input type '${input.type}'`);
147
+ }
148
+ items.push({ outputs: [{ values: item.embedding, modality: input.type }] });
149
+ }
150
+ return buildEmbeddingsResult(modelId, items);
151
+ }
152
+ async function generateTitanEmbeddings(driver, options, modelId) {
153
+ const isImageModel = modelId.includes('titan-embed-image');
154
+ const items = [];
155
+ let totalTokens;
156
+ for (const input of options.inputs) {
157
+ if (input.type === 'video' || input.type === 'audio') {
158
+ throw new Error(`Titan embeddings do not support '${input.type}' input`);
159
+ }
160
+ if (isImageModel) {
161
+ const body = {};
162
+ if (input.type === 'text')
163
+ body.inputText = input.text;
164
+ if (input.type === 'image')
165
+ body.inputImage = await dataSourceToBase64(input.source);
166
+ if (options.dimensions)
167
+ body.embeddingConfig = { outputEmbeddingLength: options.dimensions };
168
+ const res = await invokeJson(driver, modelId, body);
169
+ if (res.message)
170
+ throw new Error(`Titan image embedding error: ${res.message}`);
171
+ if (!res.embedding)
172
+ throw new Error(`Titan image embedding response missing 'embedding'`);
173
+ items.push({
174
+ outputs: [{ values: res.embedding, modality: input.type }],
175
+ input_tokens: res.inputTextTokenCount,
176
+ });
177
+ if (typeof res.inputTextTokenCount === 'number')
178
+ totalTokens = (totalTokens ?? 0) + res.inputTextTokenCount;
179
+ }
180
+ else {
181
+ if (input.type !== 'text') {
182
+ throw new Error(`Titan text embeddings model '${modelId}' only supports text input`);
183
+ }
184
+ const body = { inputText: input.text };
185
+ if (options.dimensions)
186
+ body.dimensions = options.dimensions;
187
+ const res = await invokeJson(driver, modelId, body);
188
+ if (!res.embedding)
189
+ throw new Error(`Titan text embedding response missing 'embedding' (model ${modelId})`);
190
+ items.push({
191
+ outputs: [{ values: res.embedding, modality: 'text' }],
192
+ input_tokens: res.inputTextTokenCount,
193
+ });
194
+ if (typeof res.inputTextTokenCount === 'number')
195
+ totalTokens = (totalTokens ?? 0) + res.inputTextTokenCount;
196
+ }
197
+ }
198
+ const usage = totalTokens !== undefined ? { input_tokens: totalTokens } : undefined;
199
+ return buildEmbeddingsResult(modelId, items, usage);
200
+ }
201
+ function cohereInputType(taskType) {
202
+ switch (taskType) {
203
+ case 'query':
204
+ return 'search_query';
205
+ case 'document':
206
+ return 'search_document';
207
+ default:
208
+ return undefined;
209
+ }
210
+ }
211
+ async function generateCohereEmbeddings(driver, options, modelId) {
212
+ const textInputs = [];
213
+ const imageInputs = [];
214
+ options.inputs.forEach((input, index) => {
215
+ if (input.type === 'text')
216
+ textInputs.push({ index, input });
217
+ else if (input.type === 'image')
218
+ imageInputs.push({ index, input });
219
+ else
220
+ throw new Error(`Cohere embeddings do not support '${input.type}' input`);
221
+ });
222
+ const items = new Array(options.inputs.length);
223
+ // Group texts by their effective input_type so per-input task_type overrides are respected.
224
+ const textGroups = new Map();
225
+ for (const entry of textInputs) {
226
+ const key = cohereInputType(entry.input.task_type ?? options.task_type);
227
+ if (!textGroups.has(key))
228
+ textGroups.set(key, []);
229
+ textGroups.get(key)?.push(entry);
230
+ }
231
+ for (const [groupInputType, group] of textGroups) {
232
+ const body = {
233
+ texts: group.map((t) => t.input.text),
234
+ input_type: groupInputType,
235
+ };
236
+ const res = await invokeJson(driver, modelId, body);
237
+ if (res.embeddings.length !== group.length) {
238
+ driver.logger.warn(`[Bedrock/Cohere] Embedding count mismatch: expected ${group.length}, got ${res.embeddings.length} (model ${modelId})`);
239
+ throw new Error(`Cohere returned ${res.embeddings.length} embeddings for ${group.length} texts (model ${modelId})`);
240
+ }
241
+ group.forEach((entry, i) => {
242
+ items[entry.index] = { outputs: [{ values: res.embeddings[i], modality: 'text' }] };
243
+ });
244
+ }
245
+ // Cohere accepts exactly one image per call; images must be data URIs.
246
+ for (const entry of imageInputs) {
247
+ const base64 = await dataSourceToBase64(entry.input.source);
248
+ const dataUri = `data:${entry.input.source.mime_type};base64,${base64}`;
249
+ const body = { images: [dataUri], input_type: 'image' };
250
+ const res = await invokeJson(driver, modelId, body);
251
+ if (!res.embeddings[0]) {
252
+ throw new Error(`Cohere returned no embedding for image input (model ${modelId})`);
253
+ }
254
+ items[entry.index] = { outputs: [{ values: res.embeddings[0], modality: 'image' }] };
255
+ }
256
+ return buildEmbeddingsResult(modelId, items);
257
+ }
258
+ function isMarengoEnvelope(r) {
259
+ return Array.isArray(r.embeddings);
260
+ }
261
+ async function generateMarengoEmbeddings(driver, options, modelId) {
262
+ const items = [];
263
+ for (const input of options.inputs) {
264
+ const request = await buildMarengoRequest(input);
265
+ const response = await invokeJson(driver, modelId, request);
266
+ const segments = isMarengoEnvelope(response) ? response.embeddings : [response];
267
+ const outputs = segments
268
+ .filter((seg) => Array.isArray(seg.embedding))
269
+ .map((seg) => ({
270
+ values: seg.embedding,
271
+ modality: input.type === 'text' ? 'text' : input.type,
272
+ start_sec: seg.startSec,
273
+ end_sec: seg.endSec,
274
+ embedding_option: seg.embeddingOption,
275
+ }));
276
+ if (outputs.length === 0) {
277
+ throw new Error(`Marengo response did not contain embedding values for input type '${input.type}'`);
278
+ }
279
+ items.push({ outputs });
280
+ }
281
+ return buildEmbeddingsResult(modelId, items);
282
+ }
283
+ async function buildMarengoRequest(input) {
284
+ switch (input.type) {
285
+ case 'text':
286
+ return { inputType: 'text', inputText: input.text };
287
+ case 'image': {
288
+ const media = await dataSourceToBedrockMediaSource(input.source);
289
+ return { inputType: 'image', mediaSource: media };
290
+ }
291
+ case 'video': {
292
+ const media = await dataSourceToBedrockMediaSource(input.source);
293
+ const request = { inputType: 'video', mediaSource: media };
294
+ if (input.start_sec !== undefined)
295
+ request.startSec = input.start_sec;
296
+ if (input.length_sec !== undefined)
297
+ request.lengthSec = input.length_sec;
298
+ if (input.use_fixed_length_sec !== undefined)
299
+ request.useFixedLengthSec = input.use_fixed_length_sec;
300
+ if (input.min_clip_sec !== undefined)
301
+ request.minClipSec = input.min_clip_sec;
302
+ // Marengo accepts at most one embedding_option per request.
303
+ // For multiple views (e.g. visual-text + audio), submit separate inputs — one per option.
304
+ if (input.embedding_option) {
305
+ if (input.embedding_option.length > 1) {
306
+ throw new Error(`Marengo accepts only one embedding_option per request; ` +
307
+ `received [${input.embedding_option.join(', ')}]. ` +
308
+ `Submit separate inputs, one per option.`);
309
+ }
310
+ if (input.embedding_option.length === 1) {
311
+ request.embeddingOption = input.embedding_option[0];
312
+ }
313
+ }
314
+ return request;
315
+ }
316
+ case 'audio': {
317
+ const media = await dataSourceToBedrockMediaSource(input.source);
318
+ const request = { inputType: 'audio', mediaSource: media };
319
+ if (input.start_sec !== undefined)
320
+ request.startSec = input.start_sec;
321
+ if (input.length_sec !== undefined)
322
+ request.lengthSec = input.length_sec;
323
+ return request;
324
+ }
325
+ }
326
+ }
327
+ // =================== Routing ===================
328
+ export async function generateBedrockEmbeddings(driver, options) {
329
+ const normalized = normalizeEmbeddingsOptions(options);
330
+ const modelId = normalized.model ?? BEDROCK_DEFAULT_EMBEDDING_MODEL;
331
+ driver.logger.info(`[Bedrock] Generating embeddings with model ${modelId} for ${normalized.inputs.length} input(s)`);
332
+ try {
333
+ if (modelId.includes('twelvelabs.marengo')) {
334
+ return await generateMarengoEmbeddings(driver, normalized, modelId);
335
+ }
336
+ if (modelId.startsWith('cohere.embed')) {
337
+ return await generateCohereEmbeddings(driver, normalized, modelId);
338
+ }
339
+ if (modelId.includes('titan-embed')) {
340
+ return await generateTitanEmbeddings(driver, normalized, modelId);
341
+ }
342
+ return await generateNovaEmbeddings(driver, normalized, modelId);
343
+ }
344
+ catch (error) {
345
+ if (LlumiverseError.isLlumiverseError(error))
346
+ throw error;
347
+ // Re-throw plain validation errors (thrown before any HTTP call) as-is.
348
+ if (error instanceof Error &&
349
+ typeof error.$metadata === 'undefined' &&
350
+ typeof error.status !== 'number')
351
+ throw error;
352
+ throw driver.formatLlumiverseError(error, {
353
+ provider: 'bedrock',
354
+ model: modelId,
355
+ operation: 'execute',
356
+ });
357
+ }
358
+ }
359
+ //# sourceMappingURL=embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/bedrock/embeddings.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { Bedrock, type FoundationModelSummary } from "@aws-sdk/client-bedrock";
2
- import { BedrockRuntime, type ConverseRequest, type ConverseResponse, type ConverseStreamOutput, type Message } from "@aws-sdk/client-bedrock-runtime";
3
- import type { AwsCredentialIdentity, Provider } from "@aws-sdk/types";
4
- import { AbstractDriver, type AIModel, type Completion, type CompletionChunkObject, type DataSource, type DriverOptions, type EmbeddingsOptions, type EmbeddingsResult, type ExecutionOptions, LlumiverseError, type LlumiverseErrorContext, type PromptSegment, type TrainingJob, type TrainingOptions } from "@llumiverse/core";
5
- import { type NovaMessagesPrompt } from "@llumiverse/core/formatters";
6
- import { type TwelvelabsPegasusRequest } from "./twelvelabs.js";
1
+ import { Bedrock, type FoundationModelSummary } from '@aws-sdk/client-bedrock';
2
+ import { BedrockRuntime, type ConverseRequest, type ConverseResponse, type ConverseStreamOutput, type Message } from '@aws-sdk/client-bedrock-runtime';
3
+ import type { AwsCredentialIdentity, Provider } from '@aws-sdk/types';
4
+ import { type AIModel, type Completion, type CompletionChunkObject, type DataSource, type DriverOptions, type EmbeddingsOptions, type EmbeddingsResult, type ExecutionOptions, type HttpTimeoutOptions, LlumiverseError, type LlumiverseErrorContext, type PromptSegment, type TrainingJob, type TrainingOptions } from '@llumiverse/core';
5
+ import { AbstractDriver } from '@llumiverse/core/driver';
6
+ import { type NovaMessagesPrompt } from '@llumiverse/core/formatters';
7
+ import { type TwelvelabsPegasusRequest } from './twelvelabs.js';
7
8
  export interface BedrockModelCapabilities {
8
9
  name: string;
9
10
  canStream: boolean;
@@ -35,9 +36,19 @@ export declare class BedrockDriver extends AbstractDriver<BedrockDriverOptions,
35
36
  private _service?;
36
37
  private _service_region?;
37
38
  constructor(options: BedrockDriverOptions);
38
- getExecutor(): BedrockRuntime;
39
+ /**
40
+ * Build a Smithy `requestHandler` config from the driver's
41
+ * `httpTimeout` so AWS SDK calls fail fast on hung upstream Bedrock
42
+ * endpoints instead of using the AWS default (no request timeout).
43
+ * Returns a partial config the SDK merges into its default handler.
44
+ */
45
+ private getBedrockRequestHandlerConfig;
46
+ private createExecutor;
47
+ getExecutor(httpTimeout?: HttpTimeoutOptions): BedrockRuntime;
48
+ private getScopedExecutor;
39
49
  getService(region?: string): Bedrock;
40
50
  protected formatPrompt(segments: PromptSegment[], opts: ExecutionOptions): Promise<BedrockPrompt>;
51
+ formatDebugPrompt(prompt: BedrockPrompt): BedrockPrompt;
41
52
  /**
42
53
  * Format AWS Bedrock errors into LlumiverseError with proper status codes and retryability.
43
54
  *
@@ -104,8 +115,7 @@ export declare class BedrockDriver extends AbstractDriver<BedrockDriverOptions,
104
115
  listTrainableModels(): Promise<AIModel<string>[]>;
105
116
  listModels(): Promise<AIModel[]>;
106
117
  _listModels(foundationFilter?: (m: FoundationModelSummary) => boolean): Promise<AIModel[]>;
107
- generateEmbeddings({ text, image, model }: EmbeddingsOptions): Promise<EmbeddingsResult>;
108
- private generateTwelvelabsMarengoEmbeddings;
118
+ generateEmbeddings(options: EmbeddingsOptions): Promise<EmbeddingsResult>;
109
119
  /**
110
120
  * Cleanup AWS SDK clients when the driver is evicted from the cache.
111
121
  */
@@ -135,4 +145,18 @@ export declare function convertToolBlocksToText(messages: Message[]): Message[];
135
145
  * the tools were interrupted, allowing the conversation to continue.
136
146
  */
137
147
  export declare function fixOrphanedToolUse(messages: Message[]): Message[];
148
+ /**
149
+ * Drop toolResult blocks whose toolUseId has no matching toolUse in the
150
+ * immediately-preceding assistant message. Mirror of {@link fixOrphanedToolUse}:
151
+ * that function synthesizes results for an unanswered toolUse (e.g. a cancelled
152
+ * run); this one removes results left dangling after their toolUse was dropped
153
+ * (e.g. by conversation compaction/trimming).
154
+ *
155
+ * Without this, the AWS Converse API rejects the request because every
156
+ * toolResult must correspond to a toolUse in the previous message. Bedrock
157
+ * conversations are already role-alternating, so a compaction that drops an
158
+ * assistant toolUse turn leaves an orphaned toolResult (and a user/user
159
+ * adjacency); dropping the orphan — and the now-empty message — repairs both.
160
+ */
161
+ export declare function fixOrphanedToolResults(messages: Message[]): Message[];
138
162
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bedrock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,OAAO,EAEP,KAAK,sBAAsB,EAM9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,cAAc,EAEd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAGzB,KAAK,OAAO,EAGf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACH,KAAK,OAAO,EAIZ,KAAK,UAAU,EACf,KAAK,qBAAqB,EAE1B,KAAK,UAAU,EACf,KAAK,aAAa,EAElB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAKrB,KAAK,kBAAkB,EAGvB,eAAe,EACf,KAAK,sBAAsB,EAI3B,KAAK,aAAa,EAOlB,KAAK,WAAW,EAEhB,KAAK,eAAe,EAEvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAcxF,OAAO,EAAiC,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAwD/F,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACvD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,WAAW,CAAC,EAAE,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;CACzE;AAiBD,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,eAAe,GAAG,wBAAwB,CAAC;AA0K5F,qBAAa,aAAc,SAAQ,cAAc,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAClF,MAAM,CAAC,QAAQ,SAAa;IAE5B,QAAQ,SAA0B;IAElC,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,OAAO,EAAE,oBAAoB;IAOzC;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,cAAc;IAQtB,WAAW,CAAC,WAAW,CAAC,EAAE,kBAAkB;IAU5C,OAAO,CAAC,iBAAiB;IAezB,UAAU,CAAC,MAAM,GAAE,MAA4B;cAY/B,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAUhG,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa;IAU9D;;;;;;;;;;;;OAYG;IACI,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,GAAG,eAAe;IAyD9F;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,uBAAuB;IAwC/B,qBAAqB,CACjB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,gBAAgB,GAC3B,qBAAqB;IAgExB,kBAAkB,CACd,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,gBAAgB,EAC1B,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAChE,qBAAqB;IAiHxB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;YAkBnD,YAAY;cA8CV,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBtE;;;OAGG;IACH,0BAA0B,CACtB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,OAAO,EAAE,EACjB,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS,EAC9B,OAAO,EAAE,gBAAgB,GAC1B,eAAe,GAAG,SAAS;IAoFxB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;YAqFpF,kCAAkC;YA0ClC,wCAAwC;IAmEhD,2BAA2B,CAC7B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAwChD,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB;IA0PjE,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxC,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAuDlG,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IA6ClF,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBnD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAanD,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAOtC,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAOjD,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAShC,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAgL1F,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI/E;;OAEG;IACH,OAAO,IAAI,IAAI;CAOlB;AAyCD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAUtE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CA0CtE;AAyED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAwFjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CA6BrE"}