@llumiverse/drivers 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/{types/anthropic → anthropic}/index.d.ts +4 -2
- package/lib/anthropic/index.d.ts.map +1 -0
- package/lib/{esm/anthropic → anthropic}/index.js +19 -8
- 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 +16 -5
- package/lib/openai/index.d.ts.map +1 -0
- package/lib/{esm/openai → openai}/index.js +242 -141
- 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/{types/shared → shared}/claude-messages.d.ts +25 -1
- package/lib/shared/claude-messages.d.ts.map +1 -0
- package/lib/{esm/shared → shared}/claude-messages.js +212 -59
- 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/{types/vertexai → vertexai}/models/claude.d.ts +4 -4
- package/lib/vertexai/models/claude.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/models/claude.js +17 -20
- package/lib/vertexai/models/claude.js.map +1 -0
- package/lib/{types/vertexai → vertexai}/models/gemini.d.ts +28 -4
- package/lib/vertexai/models/gemini.d.ts.map +1 -0
- package/lib/{esm/vertexai → vertexai}/models/gemini.js +238 -116
- 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 +87 -36
- package/src/adobe/firefly.ts +60 -43
- package/src/anthropic/index.ts +37 -20
- 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 -16
- 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 +378 -248
- 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 +303 -97
- 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 +331 -244
- package/src/vertexai/models/claude-error-handling.test.ts +83 -36
- package/src/vertexai/models/claude-streaming-spacing.test.ts +82 -75
- package/src/vertexai/models/claude.ts +55 -40
- 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 +349 -172
- 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/anthropic/index.js +0 -64
- package/lib/cjs/anthropic/index.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 -32
- 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 -1135
- 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-messages.js +0 -737
- package/lib/cjs/shared/claude-messages.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 -72
- package/lib/cjs/vertexai/models/claude.js.map +0 -1
- package/lib/cjs/vertexai/models/gemini.js +0 -864
- 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/anthropic/index.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 -16
- 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-messages.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.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/anthropic/index.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 -16
- 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-messages.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.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
|
@@ -1,47 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EventStream } from
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
1
|
+
import { TrainingJobStatus, } from '@llumiverse/core';
|
|
2
|
+
import { EventStream } from '@llumiverse/core/async';
|
|
3
|
+
import { AbstractDriver } from '@llumiverse/core/driver';
|
|
4
|
+
import { EventSource } from 'eventsource';
|
|
5
|
+
import Replicate from 'replicate';
|
|
5
6
|
let cachedTrainableModels;
|
|
6
7
|
let cachedTrainableModelsTimestamp = 0;
|
|
7
8
|
const supportFineTunning = new Set([
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
'meta/llama-2-70b-chat',
|
|
10
|
+
'meta/llama-2-13b-chat',
|
|
11
|
+
'meta/llama-2-7b-chat',
|
|
12
|
+
'meta/llama-2-7b',
|
|
13
|
+
'meta/llama-2-70b',
|
|
14
|
+
'meta/llama-2-13b',
|
|
15
|
+
'mistralai/mistral-7b-v0.1',
|
|
15
16
|
]);
|
|
16
17
|
export class ReplicateDriver extends AbstractDriver {
|
|
17
|
-
static PROVIDER =
|
|
18
|
+
static PROVIDER = 'replicate';
|
|
18
19
|
provider = ReplicateDriver.PROVIDER;
|
|
19
20
|
service;
|
|
20
21
|
static parseModelId(modelId) {
|
|
21
|
-
const [owner, modelPart] = modelId.split(
|
|
22
|
+
const [owner, modelPart] = modelId.split('/');
|
|
22
23
|
const i = modelPart.indexOf(':');
|
|
23
24
|
if (i === -1) {
|
|
24
|
-
throw new Error(
|
|
25
|
+
throw new Error('Invalid model id. Expected format: owner/model:version');
|
|
25
26
|
}
|
|
26
27
|
return {
|
|
27
|
-
owner,
|
|
28
|
+
owner,
|
|
29
|
+
model: modelPart.slice(0, i),
|
|
30
|
+
version: modelPart.slice(i + 1),
|
|
28
31
|
};
|
|
29
32
|
}
|
|
30
33
|
constructor(options) {
|
|
31
34
|
super(options);
|
|
32
35
|
this.service = new Replicate({
|
|
33
36
|
auth: options.apiKey,
|
|
37
|
+
fetch: this.getDriverFetch(),
|
|
34
38
|
});
|
|
35
39
|
}
|
|
36
40
|
extractDataFromResponse(response) {
|
|
37
|
-
const text = response.output.join(
|
|
41
|
+
const text = response.output.join('');
|
|
38
42
|
return {
|
|
39
43
|
result: text,
|
|
40
44
|
};
|
|
41
45
|
}
|
|
42
46
|
async requestTextCompletionStream(prompt, options) {
|
|
43
|
-
if (options.model_options?._option_id !== undefined && options.model_options?._option_id !==
|
|
44
|
-
this.logger.debug({ options: options.model_options },
|
|
47
|
+
if (options.model_options?._option_id !== undefined && options.model_options?._option_id !== 'text-fallback') {
|
|
48
|
+
this.logger.debug({ options: options.model_options }, 'Unexpected option id');
|
|
45
49
|
}
|
|
46
50
|
options.model_options = options.model_options;
|
|
47
51
|
const model = ReplicateDriver.parseModelId(options.model);
|
|
@@ -56,23 +60,24 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
56
60
|
};
|
|
57
61
|
const prediction = await this.service.predictions.create(predictionData);
|
|
58
62
|
const stream = new EventStream();
|
|
63
|
+
// biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
|
|
59
64
|
const source = new EventSource(prediction.urls.stream);
|
|
60
|
-
source.addEventListener(
|
|
61
|
-
stream.push({ result: [{ type:
|
|
65
|
+
source.addEventListener('output', (e) => {
|
|
66
|
+
stream.push({ result: [{ type: 'text', value: e.data }] });
|
|
62
67
|
});
|
|
63
|
-
source.addEventListener(
|
|
68
|
+
source.addEventListener('error', (e) => {
|
|
64
69
|
let error;
|
|
65
70
|
try {
|
|
66
71
|
error = JSON.parse(e.data);
|
|
67
72
|
}
|
|
68
|
-
catch
|
|
73
|
+
catch {
|
|
69
74
|
error = JSON.stringify(e);
|
|
70
75
|
}
|
|
71
|
-
this.logger.error({ e, error },
|
|
76
|
+
this.logger.error({ e, error }, 'Error in SSE stream');
|
|
72
77
|
});
|
|
73
|
-
source.addEventListener(
|
|
78
|
+
source.addEventListener('done', () => {
|
|
74
79
|
try {
|
|
75
|
-
stream.close(
|
|
80
|
+
stream.close(''); // not using e.data which is {}
|
|
76
81
|
}
|
|
77
82
|
finally {
|
|
78
83
|
source.close();
|
|
@@ -81,8 +86,8 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
81
86
|
return stream;
|
|
82
87
|
}
|
|
83
88
|
async requestTextCompletion(prompt, options) {
|
|
84
|
-
if (options.model_options?._option_id !== undefined && options.model_options?._option_id !==
|
|
85
|
-
this.logger.debug({ options: options.model_options },
|
|
89
|
+
if (options.model_options?._option_id !== undefined && options.model_options?._option_id !== 'text-fallback') {
|
|
90
|
+
this.logger.debug({ options: options.model_options }, 'Unexpected option id');
|
|
86
91
|
}
|
|
87
92
|
options.model_options = options.model_options;
|
|
88
93
|
const model = ReplicateDriver.parseModelId(options.model);
|
|
@@ -102,15 +107,15 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
102
107
|
// if (stream) return prediction;
|
|
103
108
|
//not streaming, wait for the result
|
|
104
109
|
const res = await this.service.wait(prediction, {});
|
|
105
|
-
const text = res.output.join(
|
|
110
|
+
const text = res.output.join('');
|
|
106
111
|
return {
|
|
107
|
-
result: [{ type:
|
|
112
|
+
result: [{ type: 'text', value: text }],
|
|
108
113
|
original_response: options.include_original_response ? res : undefined,
|
|
109
114
|
};
|
|
110
115
|
}
|
|
111
116
|
async startTraining(dataset, options) {
|
|
112
|
-
if (options.name.indexOf(
|
|
113
|
-
throw new Error(
|
|
117
|
+
if (options.name.indexOf('/') === -1) {
|
|
118
|
+
throw new Error('Invalid target model name. Expected format: owner/model');
|
|
114
119
|
}
|
|
115
120
|
const { owner, model, version } = ReplicateDriver.parseModelId(options.model);
|
|
116
121
|
const job = await this.service.trainings.create(owner, model, version, {
|
|
@@ -147,22 +152,25 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
147
152
|
await this.service.predictions.list();
|
|
148
153
|
return true;
|
|
149
154
|
}
|
|
150
|
-
catch
|
|
155
|
+
catch {
|
|
151
156
|
return false;
|
|
152
157
|
}
|
|
153
158
|
}
|
|
154
159
|
async _listTrainableModels() {
|
|
155
|
-
const promises = Array.from(supportFineTunning).map(id => {
|
|
160
|
+
const promises = Array.from(supportFineTunning).map((id) => {
|
|
156
161
|
const [owner, model] = id.split('/');
|
|
157
162
|
return this.service.models.get(owner, model);
|
|
158
163
|
});
|
|
159
164
|
const results = await Promise.all(promises);
|
|
160
|
-
return results
|
|
161
|
-
|
|
165
|
+
return results
|
|
166
|
+
.filter((m) => !!m.latest_version)
|
|
167
|
+
.map((m) => {
|
|
168
|
+
const fullName = `${m.owner}/${m.name}`;
|
|
169
|
+
// biome-ignore lint/style/noNonNullAssertion: intentional non-null assertion; TS can't prove narrowing here
|
|
162
170
|
const v = m.latest_version;
|
|
163
171
|
return {
|
|
164
|
-
id: fullName
|
|
165
|
-
name: fullName
|
|
172
|
+
id: `${fullName}:${v.id}`,
|
|
173
|
+
name: `${fullName}@${v.cog_version}:${v.id.slice(0, 6)}`,
|
|
166
174
|
provider: this.provider,
|
|
167
175
|
owner: m.owner,
|
|
168
176
|
description: m.description,
|
|
@@ -170,7 +178,8 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
170
178
|
});
|
|
171
179
|
}
|
|
172
180
|
async listTrainableModels() {
|
|
173
|
-
if (!cachedTrainableModels || Date.now() > cachedTrainableModelsTimestamp + 12 * 3600 * 1000) {
|
|
181
|
+
if (!cachedTrainableModels || Date.now() > cachedTrainableModelsTimestamp + 12 * 3600 * 1000) {
|
|
182
|
+
// 12 hours
|
|
174
183
|
cachedTrainableModels = await this._listTrainableModels();
|
|
175
184
|
cachedTrainableModelsTimestamp = Date.now();
|
|
176
185
|
}
|
|
@@ -180,9 +189,9 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
180
189
|
if (!params.text) {
|
|
181
190
|
return this.listTrainableModels();
|
|
182
191
|
}
|
|
183
|
-
const [owner, model] = params.text.split(
|
|
192
|
+
const [owner, model] = params.text.split('/');
|
|
184
193
|
if (!owner || !model) {
|
|
185
|
-
throw new Error(
|
|
194
|
+
throw new Error('Invalid model name. Expected format: owner/model');
|
|
186
195
|
}
|
|
187
196
|
return this.listModelVersions(owner, model);
|
|
188
197
|
}
|
|
@@ -191,14 +200,15 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
191
200
|
this.service.models.get(owner, model),
|
|
192
201
|
this.service.models.versions.list(owner, model),
|
|
193
202
|
]);
|
|
194
|
-
|
|
195
|
-
|
|
203
|
+
const versionResults = versions.results ?? [];
|
|
204
|
+
if (!rModel || !versions || versionResults.length === 0) {
|
|
205
|
+
throw new Error('Model not found or no versions available');
|
|
196
206
|
}
|
|
197
|
-
const models =
|
|
198
|
-
const fullName = rModel.owner
|
|
207
|
+
const models = versionResults.map((v) => {
|
|
208
|
+
const fullName = `${rModel.owner}/${rModel.name}`;
|
|
199
209
|
return {
|
|
200
|
-
id: fullName
|
|
201
|
-
name: fullName
|
|
210
|
+
id: `${fullName}:${v.id}`,
|
|
211
|
+
name: `${fullName}@${v.cog_version}:${v.id.slice(0, 6)}`,
|
|
202
212
|
provider: this.provider,
|
|
203
213
|
owner: rModel.owner,
|
|
204
214
|
description: rModel.description,
|
|
@@ -211,7 +221,7 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
211
221
|
return models;
|
|
212
222
|
}
|
|
213
223
|
async searchModels(params) {
|
|
214
|
-
const res = await this.service.request(
|
|
224
|
+
const res = await this.service.request('models/search', {
|
|
215
225
|
params: {
|
|
216
226
|
query: params.text,
|
|
217
227
|
},
|
|
@@ -230,7 +240,7 @@ export class ReplicateDriver extends AbstractDriver {
|
|
|
230
240
|
return models;
|
|
231
241
|
}
|
|
232
242
|
async generateEmbeddings() {
|
|
233
|
-
throw new Error(
|
|
243
|
+
throw new Error('Method not implemented.');
|
|
234
244
|
}
|
|
235
245
|
}
|
|
236
246
|
function jobInfo(job, modelName) {
|
|
@@ -262,7 +272,7 @@ function jobInfo(job, modelName) {
|
|
|
262
272
|
id: job.id,
|
|
263
273
|
status,
|
|
264
274
|
details,
|
|
265
|
-
model: modelName ? modelName
|
|
275
|
+
model: modelName ? `${modelName}:${job.version}` : job.version,
|
|
266
276
|
};
|
|
267
277
|
}
|
|
268
278
|
//# sourceMappingURL=replicate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replicate.js","sourceRoot":"","sources":["../src/replicate.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,14 @@ import type { ContentBlock, Message, MessageParam, TextBlockParam } from '@anthr
|
|
|
11
11
|
import type { MessageCreateParamsBase } from '@anthropic-ai/sdk/resources/messages.js';
|
|
12
12
|
import type AnthropicVertex from '@anthropic-ai/vertex-sdk';
|
|
13
13
|
import { type Completion, type CompletionChunkObject, type ExecutionOptions, type ExecutionTokenUsage, LlumiverseError, type LlumiverseErrorContext, type PromptSegment, type StatelessExecutionOptions, type ToolUse } from '@llumiverse/core';
|
|
14
|
+
interface WarnLogger {
|
|
15
|
+
warn: (data: Record<string, unknown>, message: string) => void;
|
|
16
|
+
}
|
|
14
17
|
export interface ClaudePrompt {
|
|
15
18
|
messages: MessageParam[];
|
|
16
19
|
system?: TextBlockParam[];
|
|
17
20
|
}
|
|
21
|
+
export declare function formatClaudeDebugPrompt(prompt: ClaudePrompt): ClaudePrompt;
|
|
18
22
|
export interface AnthropicUsageLike {
|
|
19
23
|
input_tokens: number;
|
|
20
24
|
output_tokens: number;
|
|
@@ -46,11 +50,31 @@ export declare function claudeFinishReason(reason: string | undefined): string |
|
|
|
46
50
|
export declare function collectClaudeTools(content: ContentBlock[]): ToolUse[] | undefined;
|
|
47
51
|
export declare function collectAllTextContent(content: ContentBlock[], includeThoughts?: boolean): string;
|
|
48
52
|
export declare function claudeMaxTokens(option: StatelessExecutionOptions): number;
|
|
49
|
-
export declare function formatClaudePrompt(segments: PromptSegment[], options: ExecutionOptions): Promise<ClaudePrompt>;
|
|
53
|
+
export declare function formatClaudePrompt(segments: PromptSegment[], options: ExecutionOptions, logger?: WarnLogger): Promise<ClaudePrompt>;
|
|
50
54
|
export declare function createPromptFromResponse(response: Message): ClaudePrompt;
|
|
51
55
|
export declare function mergeConsecutiveUserMessages(messages: MessageParam[]): MessageParam[];
|
|
52
56
|
export declare function sanitizeMessages(messages: MessageParam[]): MessageParam[];
|
|
53
57
|
export declare function fixOrphanedToolUse(messages: MessageParam[]): MessageParam[];
|
|
58
|
+
/**
|
|
59
|
+
* Drop tool_result blocks whose tool_use_id has no matching tool_use in the
|
|
60
|
+
* immediately preceding assistant message. This is the mirror of
|
|
61
|
+
* {@link fixOrphanedToolUse}: that function synthesizes results for tool_uses
|
|
62
|
+
* left unanswered (e.g. a cancelled run); this one removes results left dangling
|
|
63
|
+
* after their tool_use was dropped (e.g. by conversation compaction/trimming, or
|
|
64
|
+
* a parallel tool batch whose results were split across messages that cannot be
|
|
65
|
+
* re-paired).
|
|
66
|
+
*
|
|
67
|
+
* Without this, the Anthropic / Vertex-Anthropic API rejects the request with a
|
|
68
|
+
* non-retryable 400: "unexpected `tool_use_id` found in `tool_result` blocks ...
|
|
69
|
+
* Each `tool_result` block must have a corresponding `tool_use` block in the
|
|
70
|
+
* previous message." — which terminates the conversation.
|
|
71
|
+
*
|
|
72
|
+
* Must run AFTER mergeConsecutiveUserMessages so that parallel tool results which
|
|
73
|
+
* were split across separate user messages are first combined into the single
|
|
74
|
+
* user turn that follows the assistant tool_use message (otherwise valid results
|
|
75
|
+
* whose "previous message" is another user message would be wrongly dropped).
|
|
76
|
+
*/
|
|
77
|
+
export declare function fixOrphanedToolResults(messages: MessageParam[]): MessageParam[];
|
|
54
78
|
export declare function updateClaudeConversation(conversation: ClaudePrompt | undefined | null, prompt: ClaudePrompt): ClaudePrompt;
|
|
55
79
|
export declare function claudeMessagesContainToolBlocks(messages: MessageParam[]): boolean;
|
|
56
80
|
export declare function convertClaudeToolBlocksToText(messages: MessageParam[]): MessageParam[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-messages.d.ts","sourceRoot":"","sources":["../../src/shared/claude-messages.ts"],"names":[],"mappings":"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"}
|