@llumiverse/drivers 1.2.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.
- package/lib/{types/adobe → adobe}/firefly.d.ts +2 -1
- package/lib/adobe/firefly.d.ts.map +1 -0
- package/lib/adobe/firefly.js +120 -0
- package/lib/adobe/firefly.js.map +1 -0
- package/lib/anthropic/index.d.ts +23 -0
- package/lib/anthropic/index.d.ts.map +1 -0
- package/lib/anthropic/index.js +68 -0
- package/lib/anthropic/index.js.map +1 -0
- package/lib/{types/azure → azure}/azure_foundry.d.ts +9 -7
- package/lib/azure/azure_foundry.d.ts.map +1 -0
- package/lib/{esm/azure → azure}/azure_foundry.js +138 -124
- package/lib/azure/azure_foundry.js.map +1 -0
- package/lib/{types/bedrock → bedrock}/converse.d.ts +2 -2
- package/lib/bedrock/converse.d.ts.map +1 -0
- package/lib/{esm/bedrock → bedrock}/converse.js +86 -79
- package/lib/bedrock/converse.js.map +1 -0
- package/lib/bedrock/embeddings.d.ts +4 -0
- package/lib/bedrock/embeddings.d.ts.map +1 -0
- package/lib/bedrock/embeddings.js +359 -0
- package/lib/bedrock/embeddings.js.map +1 -0
- package/lib/{types/bedrock → bedrock}/index.d.ts +33 -9
- package/lib/bedrock/index.d.ts.map +1 -0
- package/lib/{esm/bedrock → bedrock}/index.js +599 -324
- package/lib/bedrock/index.js.map +1 -0
- package/lib/{types/bedrock → bedrock}/nova-image-payload.d.ts +5 -5
- package/lib/bedrock/nova-image-payload.d.ts.map +1 -0
- package/lib/{esm/bedrock → bedrock}/nova-image-payload.js +31 -36
- package/lib/bedrock/nova-image-payload.js.map +1 -0
- package/lib/{types/bedrock → bedrock}/payloads.d.ts +1 -1
- package/lib/bedrock/payloads.d.ts.map +1 -0
- package/lib/{cjs/bedrock → bedrock}/payloads.js.map +1 -1
- package/lib/{types/bedrock → bedrock}/s3.d.ts +3 -2
- package/lib/bedrock/s3.d.ts.map +1 -0
- package/lib/{esm/bedrock → bedrock}/s3.js +27 -23
- package/lib/bedrock/s3.js.map +1 -0
- package/lib/{types/bedrock → bedrock}/twelvelabs.d.ts +8 -9
- package/lib/bedrock/twelvelabs.d.ts.map +1 -0
- package/lib/{esm/bedrock → bedrock}/twelvelabs.js +17 -21
- package/lib/bedrock/twelvelabs.js.map +1 -0
- package/lib/{types/groq → groq}/index.d.ts +6 -4
- package/lib/groq/index.d.ts.map +1 -0
- package/lib/{esm/groq → groq}/index.js +72 -39
- package/lib/groq/index.js.map +1 -0
- package/lib/{types/huggingface_ie.d.ts → huggingface_ie.d.ts} +4 -3
- package/lib/huggingface_ie.d.ts.map +1 -0
- package/lib/{esm/huggingface_ie.js → huggingface_ie.js} +32 -31
- package/lib/huggingface_ie.js.map +1 -0
- package/lib/index.d.ts +16 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +16 -0
- package/lib/index.js.map +1 -0
- package/lib/{types/mistral → mistral}/index.d.ts +6 -5
- package/lib/mistral/index.d.ts.map +1 -0
- package/lib/{esm/mistral → mistral}/index.js +66 -38
- package/lib/mistral/index.js.map +1 -0
- package/lib/{types/mistral → mistral}/types.d.ts +1 -0
- package/lib/mistral/types.d.ts.map +1 -0
- package/lib/mistral/types.js.map +1 -0
- package/lib/{types/openai → openai}/azure_openai.d.ts +5 -4
- package/lib/openai/azure_openai.d.ts.map +1 -0
- package/lib/{esm/openai → openai}/azure_openai.js +17 -14
- package/lib/openai/azure_openai.js.map +1 -0
- package/lib/openai/drivers.d.ts +4 -0
- package/lib/openai/drivers.d.ts.map +1 -0
- package/lib/openai/drivers.js +9 -0
- package/lib/openai/drivers.js.map +1 -0
- package/lib/{types/openai → openai}/index.d.ts +17 -5
- package/lib/openai/index.d.ts.map +1 -0
- package/lib/{esm/openai → openai}/index.js +254 -148
- package/lib/openai/index.js.map +1 -0
- package/lib/{types/openai → openai}/openai.d.ts +3 -3
- package/lib/openai/openai.d.ts.map +1 -0
- package/lib/openai/openai.js +15 -0
- package/lib/openai/openai.js.map +1 -0
- package/lib/{types/openai → openai}/openai_compatible.d.ts +3 -3
- package/lib/openai/openai_compatible.d.ts.map +1 -0
- package/lib/{esm/openai → openai}/openai_compatible.js +14 -11
- package/lib/openai/openai_compatible.js.map +1 -0
- package/lib/{types/openai → openai}/openai_format.d.ts +3 -2
- package/lib/openai/openai_format.d.ts.map +1 -0
- package/lib/{esm/openai → openai}/openai_format.js +66 -24
- package/lib/openai/openai_format.js.map +1 -0
- package/lib/{types/replicate.d.ts → replicate.d.ts} +3 -2
- package/lib/replicate.d.ts.map +1 -0
- package/lib/{esm/replicate.js → replicate.js} +59 -49
- package/lib/replicate.js.map +1 -0
- package/lib/shared/claude-messages.d.ts +99 -0
- package/lib/shared/claude-messages.d.ts.map +1 -0
- package/lib/shared/claude-messages.js +869 -0
- package/lib/shared/claude-messages.js.map +1 -0
- package/lib/{types/shared → shared}/claude-thinking.d.ts +1 -1
- package/lib/shared/claude-thinking.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/claude-thinking.js +5 -7
- package/lib/shared/claude-thinking.js.map +1 -0
- package/lib/shared/debug-prompt.d.ts +5 -0
- package/lib/shared/debug-prompt.d.ts.map +1 -0
- package/lib/shared/debug-prompt.js +25 -0
- package/lib/shared/debug-prompt.js.map +1 -0
- package/lib/{types/test-driver → test-driver}/TestErrorCompletionStream.d.ts +1 -1
- package/lib/test-driver/TestErrorCompletionStream.d.ts.map +1 -0
- package/lib/test-driver/TestErrorCompletionStream.js +16 -0
- package/lib/test-driver/TestErrorCompletionStream.js.map +1 -0
- package/lib/{types/test-driver → test-driver}/TestValidationErrorCompletionStream.d.ts +1 -1
- package/lib/test-driver/TestValidationErrorCompletionStream.d.ts.map +1 -0
- package/lib/{esm/test-driver → test-driver}/TestValidationErrorCompletionStream.js +4 -4
- package/lib/test-driver/TestValidationErrorCompletionStream.js.map +1 -0
- package/lib/{types/test-driver → test-driver}/index.d.ts +3 -3
- package/lib/test-driver/index.d.ts.map +1 -0
- package/lib/{esm/test-driver → test-driver}/index.js +20 -20
- package/lib/test-driver/index.js.map +1 -0
- package/lib/{types/test-driver → test-driver}/utils.d.ts +1 -1
- package/lib/test-driver/utils.d.ts.map +1 -0
- package/lib/{esm/test-driver → test-driver}/utils.js +4 -4
- package/lib/test-driver/utils.js.map +1 -0
- package/lib/togetherai/index.d.ts +15 -0
- package/lib/togetherai/index.d.ts.map +1 -0
- package/lib/togetherai/index.js +54 -0
- package/lib/togetherai/index.js.map +1 -0
- package/lib/{types/togetherai → togetherai}/interfaces.d.ts +1 -1
- package/lib/togetherai/interfaces.d.ts.map +1 -0
- package/lib/{cjs/watsonx → togetherai}/interfaces.js.map +1 -1
- package/lib/vertexai/debug.d.ts +2 -0
- package/lib/vertexai/debug.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/debug.js +1 -1
- package/lib/vertexai/debug.js.map +1 -0
- package/lib/vertexai/embeddings/embed-legacy-multimodal.d.ts +9 -0
- package/lib/vertexai/embeddings/embed-legacy-multimodal.d.ts.map +1 -0
- package/lib/vertexai/embeddings/embed-legacy-multimodal.js +141 -0
- package/lib/vertexai/embeddings/embed-legacy-multimodal.js.map +1 -0
- package/lib/vertexai/embeddings/embed.d.ts +13 -0
- package/lib/vertexai/embeddings/embed.d.ts.map +1 -0
- package/lib/vertexai/embeddings/embed.js +162 -0
- package/lib/vertexai/embeddings/embed.js.map +1 -0
- package/lib/vertexai/embeddings/source-utils.d.ts +9 -0
- package/lib/vertexai/embeddings/source-utils.d.ts.map +1 -0
- package/lib/vertexai/embeddings/source-utils.js +18 -0
- package/lib/vertexai/embeddings/source-utils.js.map +1 -0
- package/lib/{types/vertexai → vertexai}/index.d.ts +31 -19
- package/lib/vertexai/index.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/index.js +221 -159
- package/lib/vertexai/index.js.map +1 -0
- package/lib/vertexai/models/claude.d.ts +16 -0
- package/lib/vertexai/models/claude.d.ts.map +1 -0
- package/lib/vertexai/models/claude.js +65 -0
- package/lib/vertexai/models/claude.js.map +1 -0
- package/lib/{types/vertexai → vertexai}/models/gemini.d.ts +29 -5
- package/lib/vertexai/models/gemini.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/models/gemini.js +255 -127
- package/lib/vertexai/models/gemini.js.map +1 -0
- package/lib/{types/vertexai → vertexai}/models/imagen.d.ts +12 -11
- package/lib/vertexai/models/imagen.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/models/imagen.js +74 -47
- package/lib/vertexai/models/imagen.js.map +1 -0
- package/lib/{types/vertexai → vertexai}/models/llama.d.ts +4 -4
- package/lib/vertexai/models/llama.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/models/llama.js +37 -33
- package/lib/vertexai/models/llama.js.map +1 -0
- package/lib/vertexai/models.d.ts +21 -0
- package/lib/vertexai/models.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/models.js +12 -9
- package/lib/vertexai/models.js.map +1 -0
- package/lib/{types/watsonx → watsonx}/index.d.ts +4 -3
- package/lib/watsonx/index.d.ts.map +1 -0
- package/lib/{esm/watsonx → watsonx}/index.js +69 -41
- package/lib/watsonx/index.js.map +1 -0
- package/lib/watsonx/interfaces.d.ts.map +1 -0
- package/lib/{esm/watsonx → watsonx}/interfaces.js.map +1 -1
- package/lib/{types/xai → xai}/index.d.ts +4 -4
- package/lib/xai/index.d.ts.map +1 -0
- package/lib/{esm/xai → xai}/index.js +22 -18
- package/lib/xai/index.js.map +1 -0
- package/package.json +88 -36
- package/src/adobe/firefly.ts +60 -43
- package/src/anthropic/index.ts +121 -0
- package/src/azure/azure_foundry.ts +210 -165
- package/src/bedrock/converse.ts +124 -101
- package/src/bedrock/embeddings.test.ts +508 -0
- package/src/bedrock/embeddings.ts +517 -0
- package/src/bedrock/error-handling.test.ts +62 -14
- package/src/bedrock/index.ts +832 -466
- package/src/bedrock/nova-image-payload.ts +98 -91
- package/src/bedrock/payloads.ts +9 -9
- package/src/bedrock/s3.test.ts +39 -0
- package/src/bedrock/s3.ts +57 -38
- package/src/bedrock/streaming-tool-use.test.ts +86 -69
- package/src/bedrock/twelvelabs.ts +35 -32
- package/src/groq/index.ts +143 -60
- package/src/http-timeout-wiring.test.ts +263 -0
- package/src/huggingface_ie.ts +45 -61
- package/src/index.ts +15 -15
- package/src/mistral/index.ts +97 -48
- package/src/mistral/types.ts +13 -12
- package/src/openai/azure_openai.ts +35 -27
- package/src/openai/drivers.ts +9 -0
- package/src/openai/error-handling.test.ts +308 -113
- package/src/openai/index.ts +389 -254
- package/src/openai/openai.ts +6 -13
- package/src/openai/openai_compatible.ts +35 -25
- package/src/openai/openai_format.ts +90 -40
- package/src/replicate.ts +108 -86
- package/src/shared/claude-messages.test.ts +37 -0
- package/src/shared/claude-messages.ts +1085 -0
- package/src/shared/claude-thinking.ts +6 -12
- package/src/shared/debug-prompt.ts +28 -0
- package/src/test-driver/TestErrorCompletionStream.ts +9 -10
- package/src/test-driver/TestValidationErrorCompletionStream.ts +9 -10
- package/src/test-driver/index.ts +43 -27
- package/src/test-driver/utils.ts +8 -8
- package/src/togetherai/index.test.ts +32 -0
- package/src/togetherai/index.ts +64 -128
- package/src/togetherai/interfaces.ts +5 -5
- package/src/vertexai/debug.ts +3 -3
- package/src/vertexai/embeddings/embed-legacy-multimodal.ts +211 -0
- package/src/vertexai/embeddings/embed.ts +206 -0
- package/src/vertexai/embeddings/embeddings.test.ts +497 -0
- package/src/vertexai/embeddings/source-utils.test.ts +54 -0
- package/src/vertexai/embeddings/source-utils.ts +29 -0
- package/src/vertexai/index.ts +339 -253
- package/src/vertexai/models/claude-error-handling.test.ts +86 -39
- package/src/vertexai/models/claude-streaming-spacing.test.ts +82 -75
- package/src/vertexai/models/claude.ts +84 -1041
- package/src/vertexai/models/gemini-conversation-mutation.test.ts +65 -23
- package/src/vertexai/models/gemini-error-handling.test.ts +126 -10
- package/src/vertexai/models/gemini-orphaned-tool-result.test.ts +118 -0
- package/src/vertexai/models/gemini.ts +372 -182
- package/src/vertexai/models/imagen.ts +164 -100
- package/src/vertexai/models/llama.ts +70 -48
- package/src/vertexai/models.ts +36 -16
- package/src/watsonx/index.ts +101 -65
- package/src/watsonx/interfaces.ts +10 -15
- package/src/xai/index.ts +30 -30
- package/lib/cjs/adobe/firefly.js +0 -120
- package/lib/cjs/adobe/firefly.js.map +0 -1
- package/lib/cjs/azure/azure_foundry.js +0 -432
- package/lib/cjs/azure/azure_foundry.js.map +0 -1
- package/lib/cjs/bedrock/converse.js +0 -359
- package/lib/cjs/bedrock/converse.js.map +0 -1
- package/lib/cjs/bedrock/index.js +0 -1508
- package/lib/cjs/bedrock/index.js.map +0 -1
- package/lib/cjs/bedrock/nova-image-payload.js +0 -207
- package/lib/cjs/bedrock/nova-image-payload.js.map +0 -1
- package/lib/cjs/bedrock/payloads.js +0 -3
- package/lib/cjs/bedrock/s3.js +0 -107
- package/lib/cjs/bedrock/s3.js.map +0 -1
- package/lib/cjs/bedrock/twelvelabs.js +0 -87
- package/lib/cjs/bedrock/twelvelabs.js.map +0 -1
- package/lib/cjs/groq/index.js +0 -328
- package/lib/cjs/groq/index.js.map +0 -1
- package/lib/cjs/huggingface_ie.js +0 -201
- package/lib/cjs/huggingface_ie.js.map +0 -1
- package/lib/cjs/index.js +0 -31
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/mistral/index.js +0 -176
- package/lib/cjs/mistral/index.js.map +0 -1
- package/lib/cjs/mistral/types.js +0 -83
- package/lib/cjs/mistral/types.js.map +0 -1
- package/lib/cjs/openai/azure_openai.js +0 -72
- package/lib/cjs/openai/azure_openai.js.map +0 -1
- package/lib/cjs/openai/index.js +0 -1129
- package/lib/cjs/openai/index.js.map +0 -1
- package/lib/cjs/openai/openai.js +0 -21
- package/lib/cjs/openai/openai.js.map +0 -1
- package/lib/cjs/openai/openai_compatible.js +0 -63
- package/lib/cjs/openai/openai_compatible.js.map +0 -1
- package/lib/cjs/openai/openai_format.js +0 -131
- package/lib/cjs/openai/openai_format.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/replicate.js +0 -275
- package/lib/cjs/replicate.js.map +0 -1
- package/lib/cjs/shared/claude-thinking.js +0 -60
- package/lib/cjs/shared/claude-thinking.js.map +0 -1
- package/lib/cjs/test-driver/TestErrorCompletionStream.js +0 -20
- package/lib/cjs/test-driver/TestErrorCompletionStream.js.map +0 -1
- package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js +0 -24
- package/lib/cjs/test-driver/TestValidationErrorCompletionStream.js.map +0 -1
- package/lib/cjs/test-driver/index.js +0 -109
- package/lib/cjs/test-driver/index.js.map +0 -1
- package/lib/cjs/test-driver/utils.js +0 -30
- package/lib/cjs/test-driver/utils.js.map +0 -1
- package/lib/cjs/togetherai/index.js +0 -126
- package/lib/cjs/togetherai/index.js.map +0 -1
- package/lib/cjs/togetherai/interfaces.js +0 -3
- package/lib/cjs/togetherai/interfaces.js.map +0 -1
- package/lib/cjs/vertexai/debug.js +0 -12
- package/lib/cjs/vertexai/debug.js.map +0 -1
- package/lib/cjs/vertexai/embeddings/embeddings-image.js +0 -27
- package/lib/cjs/vertexai/embeddings/embeddings-image.js.map +0 -1
- package/lib/cjs/vertexai/embeddings/embeddings-text.js +0 -23
- package/lib/cjs/vertexai/embeddings/embeddings-text.js.map +0 -1
- package/lib/cjs/vertexai/index.js +0 -644
- package/lib/cjs/vertexai/index.js.map +0 -1
- package/lib/cjs/vertexai/models/claude.js +0 -917
- package/lib/cjs/vertexai/models/claude.js.map +0 -1
- package/lib/cjs/vertexai/models/gemini.js +0 -858
- package/lib/cjs/vertexai/models/gemini.js.map +0 -1
- package/lib/cjs/vertexai/models/imagen.js +0 -303
- package/lib/cjs/vertexai/models/imagen.js.map +0 -1
- package/lib/cjs/vertexai/models/llama.js +0 -183
- package/lib/cjs/vertexai/models/llama.js.map +0 -1
- package/lib/cjs/vertexai/models.js +0 -35
- package/lib/cjs/vertexai/models.js.map +0 -1
- package/lib/cjs/watsonx/index.js +0 -161
- package/lib/cjs/watsonx/index.js.map +0 -1
- package/lib/cjs/watsonx/interfaces.js +0 -3
- package/lib/cjs/xai/index.js +0 -65
- package/lib/cjs/xai/index.js.map +0 -1
- package/lib/esm/adobe/firefly.js +0 -116
- package/lib/esm/adobe/firefly.js.map +0 -1
- package/lib/esm/azure/azure_foundry.js.map +0 -1
- package/lib/esm/bedrock/converse.js.map +0 -1
- package/lib/esm/bedrock/index.js.map +0 -1
- package/lib/esm/bedrock/nova-image-payload.js.map +0 -1
- package/lib/esm/bedrock/payloads.js.map +0 -1
- package/lib/esm/bedrock/s3.js.map +0 -1
- package/lib/esm/bedrock/twelvelabs.js.map +0 -1
- package/lib/esm/groq/index.js.map +0 -1
- package/lib/esm/huggingface_ie.js.map +0 -1
- package/lib/esm/index.js +0 -15
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/mistral/index.js.map +0 -1
- package/lib/esm/mistral/types.js.map +0 -1
- package/lib/esm/openai/azure_openai.js.map +0 -1
- package/lib/esm/openai/index.js.map +0 -1
- package/lib/esm/openai/openai.js +0 -14
- package/lib/esm/openai/openai.js.map +0 -1
- package/lib/esm/openai/openai_compatible.js.map +0 -1
- package/lib/esm/openai/openai_format.js.map +0 -1
- package/lib/esm/replicate.js.map +0 -1
- package/lib/esm/shared/claude-thinking.js.map +0 -1
- package/lib/esm/test-driver/TestErrorCompletionStream.js +0 -16
- package/lib/esm/test-driver/TestErrorCompletionStream.js.map +0 -1
- package/lib/esm/test-driver/TestValidationErrorCompletionStream.js.map +0 -1
- package/lib/esm/test-driver/index.js.map +0 -1
- package/lib/esm/test-driver/utils.js.map +0 -1
- package/lib/esm/togetherai/index.js +0 -122
- package/lib/esm/togetherai/index.js.map +0 -1
- package/lib/esm/togetherai/interfaces.js.map +0 -1
- package/lib/esm/vertexai/debug.js.map +0 -1
- package/lib/esm/vertexai/embeddings/embeddings-image.js +0 -24
- package/lib/esm/vertexai/embeddings/embeddings-image.js.map +0 -1
- package/lib/esm/vertexai/embeddings/embeddings-text.js +0 -20
- package/lib/esm/vertexai/embeddings/embeddings-text.js.map +0 -1
- package/lib/esm/vertexai/index.js.map +0 -1
- package/lib/esm/vertexai/models/claude.js +0 -906
- package/lib/esm/vertexai/models/claude.js.map +0 -1
- package/lib/esm/vertexai/models/gemini.js.map +0 -1
- package/lib/esm/vertexai/models/imagen.js.map +0 -1
- package/lib/esm/vertexai/models/llama.js.map +0 -1
- package/lib/esm/vertexai/models.js.map +0 -1
- package/lib/esm/watsonx/index.js.map +0 -1
- package/lib/esm/xai/index.js.map +0 -1
- package/lib/types/adobe/firefly.d.ts.map +0 -1
- package/lib/types/azure/azure_foundry.d.ts.map +0 -1
- package/lib/types/bedrock/converse.d.ts.map +0 -1
- package/lib/types/bedrock/index.d.ts.map +0 -1
- package/lib/types/bedrock/nova-image-payload.d.ts.map +0 -1
- package/lib/types/bedrock/payloads.d.ts.map +0 -1
- package/lib/types/bedrock/s3.d.ts.map +0 -1
- package/lib/types/bedrock/twelvelabs.d.ts.map +0 -1
- package/lib/types/groq/index.d.ts.map +0 -1
- package/lib/types/huggingface_ie.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -15
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/mistral/index.d.ts.map +0 -1
- package/lib/types/mistral/types.d.ts.map +0 -1
- package/lib/types/openai/azure_openai.d.ts.map +0 -1
- package/lib/types/openai/index.d.ts.map +0 -1
- package/lib/types/openai/openai.d.ts.map +0 -1
- package/lib/types/openai/openai_compatible.d.ts.map +0 -1
- package/lib/types/openai/openai_format.d.ts.map +0 -1
- package/lib/types/replicate.d.ts.map +0 -1
- package/lib/types/shared/claude-thinking.d.ts.map +0 -1
- package/lib/types/test-driver/TestErrorCompletionStream.d.ts.map +0 -1
- package/lib/types/test-driver/TestValidationErrorCompletionStream.d.ts.map +0 -1
- package/lib/types/test-driver/index.d.ts.map +0 -1
- package/lib/types/test-driver/utils.d.ts.map +0 -1
- package/lib/types/togetherai/index.d.ts +0 -23
- package/lib/types/togetherai/index.d.ts.map +0 -1
- package/lib/types/togetherai/interfaces.d.ts.map +0 -1
- package/lib/types/vertexai/debug.d.ts +0 -2
- package/lib/types/vertexai/debug.d.ts.map +0 -1
- package/lib/types/vertexai/embeddings/embeddings-image.d.ts +0 -11
- package/lib/types/vertexai/embeddings/embeddings-image.d.ts.map +0 -1
- package/lib/types/vertexai/embeddings/embeddings-text.d.ts +0 -10
- package/lib/types/vertexai/embeddings/embeddings-text.d.ts.map +0 -1
- package/lib/types/vertexai/index.d.ts.map +0 -1
- package/lib/types/vertexai/models/claude.d.ts +0 -119
- package/lib/types/vertexai/models/claude.d.ts.map +0 -1
- package/lib/types/vertexai/models/gemini.d.ts.map +0 -1
- package/lib/types/vertexai/models/imagen.d.ts.map +0 -1
- package/lib/types/vertexai/models/llama.d.ts.map +0 -1
- package/lib/types/vertexai/models.d.ts +0 -20
- package/lib/types/vertexai/models.d.ts.map +0 -1
- package/lib/types/watsonx/index.d.ts.map +0 -1
- package/lib/types/watsonx/interfaces.d.ts.map +0 -1
- package/lib/types/xai/index.d.ts.map +0 -1
- package/src/vertexai/embeddings/embeddings-image.ts +0 -52
- package/src/vertexai/embeddings/embeddings-text.ts +0 -54
- /package/lib/{esm/bedrock → bedrock}/payloads.js +0 -0
- /package/lib/{esm/mistral → mistral}/types.js +0 -0
- /package/lib/{esm/togetherai → togetherai}/interfaces.js +0 -0
- /package/lib/{types/watsonx → watsonx}/interfaces.d.ts +0 -0
- /package/lib/{esm/watsonx → watsonx}/interfaces.js +0 -0
package/src/adobe/firefly.ts
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
|
+
AIModel,
|
|
3
|
+
Completion,
|
|
4
|
+
CompletionChunkObject,
|
|
5
|
+
DriverOptions,
|
|
6
|
+
EmbeddingsOptions,
|
|
7
|
+
EmbeddingsResult,
|
|
8
|
+
ExecutionOptions,
|
|
9
|
+
ModelSearchPayload,
|
|
10
|
+
PromptSegment,
|
|
11
|
+
} from '@llumiverse/core';
|
|
12
|
+
import { AbstractDriver } from '@llumiverse/core/driver';
|
|
2
13
|
|
|
3
14
|
interface FireflyImageSource {
|
|
4
15
|
url?: string;
|
|
@@ -67,7 +78,7 @@ export interface FireflyDriverOptions extends DriverOptions {
|
|
|
67
78
|
}
|
|
68
79
|
|
|
69
80
|
export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
70
|
-
static PROVIDER =
|
|
81
|
+
static PROVIDER = 'firefly';
|
|
71
82
|
provider = FireflyDriver.PROVIDER;
|
|
72
83
|
|
|
73
84
|
private readonly endpoint: string;
|
|
@@ -76,37 +87,39 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
76
87
|
super(options);
|
|
77
88
|
|
|
78
89
|
if (!options.apiKey) {
|
|
79
|
-
throw new Error(
|
|
90
|
+
throw new Error('No API key provided for Firefly driver');
|
|
80
91
|
}
|
|
81
92
|
|
|
82
|
-
this.endpoint = options.endpoint ||
|
|
93
|
+
this.endpoint = options.endpoint || 'https://firefly-api.adobe.io/v3';
|
|
83
94
|
}
|
|
84
95
|
|
|
85
96
|
async requestTextCompletion(_prompt: string, _options: ExecutionOptions): Promise<Completion> {
|
|
86
|
-
throw new Error(
|
|
97
|
+
throw new Error('Text completion not supported by Firefly');
|
|
87
98
|
}
|
|
88
99
|
|
|
89
|
-
async requestTextCompletionStream(
|
|
90
|
-
|
|
100
|
+
async requestTextCompletionStream(
|
|
101
|
+
_prompt: string,
|
|
102
|
+
_options: ExecutionOptions,
|
|
103
|
+
): Promise<AsyncIterable<CompletionChunkObject>> {
|
|
104
|
+
throw new Error('Text completion streaming not supported by Firefly');
|
|
91
105
|
}
|
|
92
106
|
|
|
93
107
|
async requestImageGeneration(segments: PromptSegment[], options: ExecutionOptions): Promise<Completion> {
|
|
94
108
|
this.logger.debug(`[${this.provider}] Generating image with model ${options.model}`);
|
|
95
|
-
const prompt = segments.map(s => s.content).join(
|
|
96
|
-
|
|
109
|
+
const prompt = segments.map((s) => s.content).join('\n\n');
|
|
97
110
|
|
|
98
111
|
try {
|
|
99
112
|
const payload: FireflyGenerateRequest = {
|
|
100
113
|
prompt: prompt as string,
|
|
101
114
|
};
|
|
102
115
|
|
|
103
|
-
const response = await
|
|
116
|
+
const response = await this.getDriverFetch()(`${this.endpoint}/images/generate`, {
|
|
104
117
|
method: 'POST',
|
|
105
118
|
headers: {
|
|
106
119
|
'Content-Type': 'application/json',
|
|
107
120
|
'x-api-key': this.options.apiKey,
|
|
108
121
|
},
|
|
109
|
-
body: JSON.stringify(payload)
|
|
122
|
+
body: JSON.stringify(payload),
|
|
110
123
|
});
|
|
111
124
|
|
|
112
125
|
if (!response.ok) {
|
|
@@ -120,27 +133,31 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
120
133
|
return {
|
|
121
134
|
result: [],
|
|
122
135
|
error: {
|
|
123
|
-
message:
|
|
124
|
-
code:
|
|
125
|
-
}
|
|
136
|
+
message: 'Prompt contains denied words or blocked artists',
|
|
137
|
+
code: 'content_policy_violation',
|
|
138
|
+
},
|
|
126
139
|
};
|
|
127
140
|
}
|
|
128
141
|
|
|
129
142
|
return {
|
|
130
|
-
result: result.outputs.map(output => ({
|
|
131
|
-
type:
|
|
132
|
-
value: output.image.url
|
|
133
|
-
}))
|
|
143
|
+
result: result.outputs.map((output) => ({
|
|
144
|
+
type: 'image' as const,
|
|
145
|
+
value: output.image.url,
|
|
146
|
+
})),
|
|
134
147
|
};
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
148
|
+
} catch (error: unknown) {
|
|
149
|
+
this.logger.error({ error }, '[Firefly] Image generation failed');
|
|
150
|
+
const generationError = error instanceof Error ? error : new Error(String(error));
|
|
151
|
+
const errorCode =
|
|
152
|
+
(error as { code?: unknown })?.code === 'content_policy_violation'
|
|
153
|
+
? 'content_policy_violation'
|
|
154
|
+
: 'validation_error';
|
|
138
155
|
return {
|
|
139
156
|
result: [],
|
|
140
157
|
error: {
|
|
141
|
-
message:
|
|
142
|
-
code:
|
|
143
|
-
}
|
|
158
|
+
message: generationError.message,
|
|
159
|
+
code: errorCode,
|
|
160
|
+
},
|
|
144
161
|
};
|
|
145
162
|
}
|
|
146
163
|
}
|
|
@@ -156,44 +173,44 @@ export class FireflyDriver extends AbstractDriver<FireflyDriverOptions> {
|
|
|
156
173
|
async listModels(_params?: ModelSearchPayload): Promise<AIModel[]> {
|
|
157
174
|
return [
|
|
158
175
|
{
|
|
159
|
-
id:
|
|
160
|
-
name:
|
|
176
|
+
id: 'firefly-v3-text-to-image',
|
|
177
|
+
name: 'Firefly v3 Text to Image',
|
|
161
178
|
provider: this.provider,
|
|
162
|
-
description:
|
|
163
|
-
tags: [
|
|
179
|
+
description: 'Adobe Firefly v3 text to image generation model',
|
|
180
|
+
tags: ['image-generation'],
|
|
164
181
|
},
|
|
165
182
|
{
|
|
166
|
-
id:
|
|
167
|
-
name:
|
|
183
|
+
id: 'firefly-v3-image-to-image',
|
|
184
|
+
name: 'Firefly v3 Image to Image',
|
|
168
185
|
provider: this.provider,
|
|
169
|
-
description:
|
|
170
|
-
tags: [
|
|
186
|
+
description: 'Adobe Firefly v3 image to image generation model',
|
|
187
|
+
tags: ['image-generation'],
|
|
171
188
|
},
|
|
172
189
|
{
|
|
173
|
-
id:
|
|
174
|
-
name:
|
|
190
|
+
id: 'firefly-v3-inpainting',
|
|
191
|
+
name: 'Firefly v3 Inpainting',
|
|
175
192
|
provider: this.provider,
|
|
176
|
-
description:
|
|
177
|
-
tags: [
|
|
178
|
-
}
|
|
193
|
+
description: 'Adobe Firefly v3 inpainting model',
|
|
194
|
+
tags: ['image-generation'],
|
|
195
|
+
},
|
|
179
196
|
];
|
|
180
197
|
}
|
|
181
198
|
|
|
182
199
|
async validateConnection(): Promise<boolean> {
|
|
183
200
|
try {
|
|
184
|
-
const response = await
|
|
201
|
+
const response = await this.getDriverFetch()(`${this.endpoint}/auth/validate`, {
|
|
185
202
|
headers: {
|
|
186
|
-
'x-api-key': this.options.apiKey
|
|
187
|
-
}
|
|
203
|
+
'x-api-key': this.options.apiKey,
|
|
204
|
+
},
|
|
188
205
|
});
|
|
189
206
|
return response.ok;
|
|
190
207
|
} catch (error) {
|
|
191
|
-
this.logger.error({ error },
|
|
208
|
+
this.logger.error({ error }, '[Firefly] Connection validation failed');
|
|
192
209
|
return false;
|
|
193
210
|
}
|
|
194
211
|
}
|
|
195
212
|
|
|
196
213
|
async generateEmbeddings(_options: EmbeddingsOptions): Promise<EmbeddingsResult> {
|
|
197
|
-
throw new Error(
|
|
214
|
+
throw new Error('Embeddings not supported by Firefly');
|
|
198
215
|
}
|
|
199
|
-
}
|
|
216
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
2
|
+
import type { AnthropicClaudeOptions } from '@llumiverse/common';
|
|
3
|
+
import {
|
|
4
|
+
type AIModel,
|
|
5
|
+
type Completion,
|
|
6
|
+
type CompletionChunkObject,
|
|
7
|
+
type DriverOptions,
|
|
8
|
+
type EmbeddingsOptions,
|
|
9
|
+
type EmbeddingsResult,
|
|
10
|
+
type ExecutionOptions,
|
|
11
|
+
LlumiverseError,
|
|
12
|
+
type LlumiverseErrorContext,
|
|
13
|
+
type ModelSearchPayload,
|
|
14
|
+
ModelType,
|
|
15
|
+
type PromptSegment,
|
|
16
|
+
Providers,
|
|
17
|
+
} from '@llumiverse/core';
|
|
18
|
+
import { AbstractDriver } from '@llumiverse/core/driver';
|
|
19
|
+
import {
|
|
20
|
+
buildClaudeStreamingConversation,
|
|
21
|
+
type ClaudePrompt,
|
|
22
|
+
executeClaudeCompletion,
|
|
23
|
+
formatAnthropicLlumiverseError,
|
|
24
|
+
formatClaudeDebugPrompt,
|
|
25
|
+
formatClaudePrompt,
|
|
26
|
+
streamClaudeCompletion,
|
|
27
|
+
} from '../shared/claude-messages.js';
|
|
28
|
+
|
|
29
|
+
export interface AnthropicDriverOptions extends DriverOptions {
|
|
30
|
+
apiKey?: string;
|
|
31
|
+
baseURL?: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class AnthropicDriver extends AbstractDriver<AnthropicDriverOptions, ClaudePrompt> {
|
|
35
|
+
provider = Providers.anthropic;
|
|
36
|
+
client: Anthropic;
|
|
37
|
+
|
|
38
|
+
constructor(opts: AnthropicDriverOptions) {
|
|
39
|
+
super(opts);
|
|
40
|
+
// Route requests through the driver's HTTP agent (configured by
|
|
41
|
+
// opts.httpTimeout) so a hung upstream surfaces in seconds rather
|
|
42
|
+
// than blocking on Node's 5-minute undici default.
|
|
43
|
+
this.client = new Anthropic({
|
|
44
|
+
apiKey: opts.apiKey,
|
|
45
|
+
...(opts.baseURL ? { baseURL: opts.baseURL } : {}),
|
|
46
|
+
fetch: this.getDriverFetch(),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
protected formatPrompt(segments: PromptSegment[], opts: ExecutionOptions): Promise<ClaudePrompt> {
|
|
51
|
+
return formatClaudePrompt(segments, opts, this.logger);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public formatDebugPrompt(prompt: ClaudePrompt): ClaudePrompt {
|
|
55
|
+
return formatClaudeDebugPrompt(prompt);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
async requestTextCompletion(prompt: ClaudePrompt, options: ExecutionOptions): Promise<Completion> {
|
|
59
|
+
const model_options = options.model_options as AnthropicClaudeOptions | undefined;
|
|
60
|
+
if (model_options?._option_id !== undefined && model_options?._option_id !== 'anthropic-claude') {
|
|
61
|
+
this.logger.debug({ options: options.model_options }, 'Unexpected option id');
|
|
62
|
+
}
|
|
63
|
+
return executeClaudeCompletion(this.client, prompt, options);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
async requestTextCompletionStream(
|
|
67
|
+
prompt: ClaudePrompt,
|
|
68
|
+
options: ExecutionOptions,
|
|
69
|
+
): Promise<AsyncIterable<CompletionChunkObject>> {
|
|
70
|
+
const model_options = options.model_options as AnthropicClaudeOptions | undefined;
|
|
71
|
+
if (model_options?._option_id !== undefined && model_options?._option_id !== 'anthropic-claude') {
|
|
72
|
+
this.logger.debug({ options: options.model_options }, 'Unexpected option id');
|
|
73
|
+
}
|
|
74
|
+
return streamClaudeCompletion(this.client, prompt, options);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
async listModels(_params?: ModelSearchPayload): Promise<AIModel[]> {
|
|
78
|
+
const page = await this.client.models.list({ limit: 1000 });
|
|
79
|
+
return page.data.map(
|
|
80
|
+
(m) =>
|
|
81
|
+
({
|
|
82
|
+
id: m.id,
|
|
83
|
+
name: m.display_name ?? m.id,
|
|
84
|
+
provider: Providers.anthropic,
|
|
85
|
+
type: ModelType.Text,
|
|
86
|
+
can_stream: true,
|
|
87
|
+
}) satisfies AIModel,
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
async validateConnection(): Promise<boolean> {
|
|
92
|
+
try {
|
|
93
|
+
await this.client.models.list({ limit: 1 });
|
|
94
|
+
return true;
|
|
95
|
+
} catch {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
async generateEmbeddings(_opts: EmbeddingsOptions): Promise<EmbeddingsResult> {
|
|
101
|
+
throw new LlumiverseError(
|
|
102
|
+
'[anthropic] Anthropic does not support embeddings',
|
|
103
|
+
false,
|
|
104
|
+
{ provider: Providers.anthropic, model: _opts.model ?? 'unknown', operation: 'execute' },
|
|
105
|
+
undefined,
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
buildStreamingConversation(
|
|
110
|
+
prompt: ClaudePrompt,
|
|
111
|
+
result: unknown[],
|
|
112
|
+
toolUse: unknown[] | undefined,
|
|
113
|
+
options: ExecutionOptions,
|
|
114
|
+
): ClaudePrompt {
|
|
115
|
+
return buildClaudeStreamingConversation(prompt, result, toolUse, options);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
formatLlumiverseError(error: unknown, context: LlumiverseErrorContext): LlumiverseError {
|
|
119
|
+
return formatAnthropicLlumiverseError(error, context);
|
|
120
|
+
}
|
|
121
|
+
}
|