@earendil-works/pi-ai 0.79.9 → 0.80.1
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/README.md +633 -521
- package/dist/api/anthropic-messages.d.ts +71 -0
- package/dist/api/anthropic-messages.d.ts.map +1 -0
- package/dist/api/anthropic-messages.js +965 -0
- package/dist/api/anthropic-messages.js.map +1 -0
- package/dist/api/anthropic-messages.lazy.d.ts +3 -0
- package/dist/api/anthropic-messages.lazy.d.ts.map +1 -0
- package/dist/api/anthropic-messages.lazy.js +3 -0
- package/dist/api/anthropic-messages.lazy.js.map +1 -0
- package/dist/api/azure-openai-responses.d.ts +15 -0
- package/dist/api/azure-openai-responses.d.ts.map +1 -0
- package/dist/api/azure-openai-responses.js +225 -0
- package/dist/api/azure-openai-responses.js.map +1 -0
- package/dist/api/azure-openai-responses.lazy.d.ts +3 -0
- package/dist/api/azure-openai-responses.lazy.d.ts.map +1 -0
- package/dist/api/azure-openai-responses.lazy.js +3 -0
- package/dist/api/azure-openai-responses.lazy.js.map +1 -0
- package/dist/api/bedrock-converse-stream.d.ts +38 -0
- package/dist/api/bedrock-converse-stream.d.ts.map +1 -0
- package/dist/api/bedrock-converse-stream.js +863 -0
- package/dist/api/bedrock-converse-stream.js.map +1 -0
- package/dist/api/bedrock-converse-stream.lazy.d.ts +9 -0
- package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -0
- package/dist/api/bedrock-converse-stream.lazy.js +30 -0
- package/dist/api/bedrock-converse-stream.lazy.js.map +1 -0
- package/dist/{providers → api}/cloudflare.d.ts +0 -4
- package/dist/api/cloudflare.d.ts.map +1 -0
- package/dist/{providers → api}/cloudflare.js +0 -18
- package/dist/api/cloudflare.js.map +1 -0
- package/dist/api/github-copilot-headers.d.ts.map +1 -0
- package/dist/api/github-copilot-headers.js.map +1 -0
- package/dist/api/google-generative-ai.d.ts +13 -0
- package/dist/api/google-generative-ai.d.ts.map +1 -0
- package/dist/api/google-generative-ai.js +405 -0
- package/dist/api/google-generative-ai.js.map +1 -0
- package/dist/api/google-generative-ai.lazy.d.ts +3 -0
- package/dist/api/google-generative-ai.lazy.d.ts.map +1 -0
- package/dist/api/google-generative-ai.lazy.js +3 -0
- package/dist/api/google-generative-ai.lazy.js.map +1 -0
- package/dist/api/google-shared.d.ts.map +1 -0
- package/dist/api/google-shared.js.map +1 -0
- package/dist/api/google-vertex.d.ts +15 -0
- package/dist/api/google-vertex.d.ts.map +1 -0
- package/dist/api/google-vertex.js +454 -0
- package/dist/api/google-vertex.js.map +1 -0
- package/dist/api/google-vertex.lazy.d.ts +3 -0
- package/dist/api/google-vertex.lazy.d.ts.map +1 -0
- package/dist/api/google-vertex.lazy.js +3 -0
- package/dist/api/google-vertex.lazy.js.map +1 -0
- package/dist/api/lazy.d.ts +15 -0
- package/dist/api/lazy.d.ts.map +1 -0
- package/dist/api/lazy.js +59 -0
- package/dist/api/lazy.js.map +1 -0
- package/dist/api/mistral-conversations.d.ts +25 -0
- package/dist/api/mistral-conversations.d.ts.map +1 -0
- package/dist/api/mistral-conversations.js +555 -0
- package/dist/api/mistral-conversations.js.map +1 -0
- package/dist/api/mistral-conversations.lazy.d.ts +3 -0
- package/dist/api/mistral-conversations.lazy.d.ts.map +1 -0
- package/dist/api/mistral-conversations.lazy.js +3 -0
- package/dist/api/mistral-conversations.lazy.js.map +1 -0
- package/dist/{providers → api}/openai-codex-responses.d.ts +2 -3
- package/dist/api/openai-codex-responses.d.ts.map +1 -0
- package/dist/{providers → api}/openai-codex-responses.js +66 -45
- package/dist/api/openai-codex-responses.js.map +1 -0
- package/dist/api/openai-codex-responses.lazy.d.ts +3 -0
- package/dist/api/openai-codex-responses.lazy.d.ts.map +1 -0
- package/dist/api/openai-codex-responses.lazy.js +3 -0
- package/dist/api/openai-codex-responses.lazy.js.map +1 -0
- package/dist/{providers → api}/openai-completions.d.ts +2 -3
- package/dist/api/openai-completions.d.ts.map +1 -0
- package/dist/{providers → api}/openai-completions.js +99 -132
- package/dist/api/openai-completions.js.map +1 -0
- package/dist/api/openai-completions.lazy.d.ts +3 -0
- package/dist/api/openai-completions.lazy.d.ts.map +1 -0
- package/dist/api/openai-completions.lazy.js +3 -0
- package/dist/api/openai-completions.lazy.js.map +1 -0
- package/dist/api/openai-prompt-cache.d.ts.map +1 -0
- package/dist/api/openai-prompt-cache.js.map +1 -0
- package/dist/api/openai-responses-shared.d.ts.map +1 -0
- package/dist/{providers → api}/openai-responses-shared.js +37 -29
- package/dist/api/openai-responses-shared.js.map +1 -0
- package/dist/{providers → api}/openai-responses.d.ts +2 -3
- package/dist/api/openai-responses.d.ts.map +1 -0
- package/dist/{providers → api}/openai-responses.js +27 -32
- package/dist/api/openai-responses.js.map +1 -0
- package/dist/api/openai-responses.lazy.d.ts +3 -0
- package/dist/api/openai-responses.lazy.d.ts.map +1 -0
- package/dist/api/openai-responses.lazy.js +3 -0
- package/dist/api/openai-responses.lazy.js.map +1 -0
- package/dist/api/openrouter-images.d.ts +3 -0
- package/dist/api/openrouter-images.d.ts.map +1 -0
- package/dist/{providers/images/openrouter.js → api/openrouter-images.js} +5 -15
- package/dist/api/openrouter-images.js.map +1 -0
- package/dist/api/openrouter-images.lazy.d.ts +3 -0
- package/dist/api/openrouter-images.lazy.d.ts.map +1 -0
- package/dist/api/openrouter-images.lazy.js +4 -0
- package/dist/api/openrouter-images.lazy.js.map +1 -0
- package/dist/api/simple-options.d.ts.map +1 -0
- package/dist/api/simple-options.js.map +1 -0
- package/dist/api/transform-messages.d.ts.map +1 -0
- package/dist/api/transform-messages.js.map +1 -0
- package/dist/auth/context.d.ts +7 -0
- package/dist/auth/context.d.ts.map +1 -0
- package/dist/auth/context.js +42 -0
- package/dist/auth/context.js.map +1 -0
- package/dist/auth/credential-store.d.ts +16 -0
- package/dist/auth/credential-store.d.ts.map +1 -0
- package/dist/auth/credential-store.js +37 -0
- package/dist/auth/credential-store.js.map +1 -0
- package/dist/auth/helpers.d.ts +20 -0
- package/dist/auth/helpers.d.ts.map +1 -0
- package/dist/auth/helpers.js +46 -0
- package/dist/auth/helpers.js.map +1 -0
- package/dist/auth/resolve.d.ts +22 -0
- package/dist/auth/resolve.d.ts.map +1 -0
- package/dist/auth/resolve.js +86 -0
- package/dist/auth/resolve.js.map +1 -0
- package/dist/auth/types.d.ts +180 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/bedrock-provider.d.ts +2 -4
- package/dist/bedrock-provider.d.ts.map +1 -1
- package/dist/bedrock-provider.js +3 -4
- package/dist/bedrock-provider.js.map +1 -1
- package/dist/compat.d.ts +64 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +181 -0
- package/dist/compat.js.map +1 -0
- package/dist/images-api-registry.d.ts +0 -1
- package/dist/images-api-registry.d.ts.map +1 -1
- package/dist/images-api-registry.js +0 -3
- package/dist/images-api-registry.js.map +1 -1
- package/dist/images-models.d.ts +93 -0
- package/dist/images-models.d.ts.map +1 -0
- package/dist/images-models.js +138 -0
- package/dist/images-models.js.map +1 -0
- package/dist/images.d.ts +1 -0
- package/dist/images.d.ts.map +1 -1
- package/dist/images.js +1 -0
- package/dist/images.js.map +1 -1
- package/dist/index.d.ts +29 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -4
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +133 -9
- package/dist/models.d.ts.map +1 -1
- package/dist/models.generated.d.ts +1793 -183
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.generated.js +70 -17172
- package/dist/models.generated.js.map +1 -1
- package/dist/models.js +178 -17
- package/dist/models.js.map +1 -1
- package/dist/providers/all.d.ts +21 -0
- package/dist/providers/all.d.ts.map +1 -0
- package/dist/providers/all.js +114 -0
- package/dist/providers/all.js.map +1 -0
- package/dist/providers/amazon-bedrock.d.ts +2 -38
- package/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/providers/amazon-bedrock.js +35 -865
- package/dist/providers/amazon-bedrock.js.map +1 -1
- package/dist/providers/amazon-bedrock.models.d.ts +1718 -0
- package/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
- package/dist/providers/amazon-bedrock.models.js +1675 -0
- package/dist/providers/amazon-bedrock.models.js.map +1 -0
- package/dist/providers/ant-ling.d.ts +3 -0
- package/dist/providers/ant-ling.d.ts.map +1 -0
- package/dist/providers/ant-ling.js +15 -0
- package/dist/providers/ant-ling.js.map +1 -0
- package/dist/providers/ant-ling.models.d.ts +86 -0
- package/dist/providers/ant-ling.models.d.ts.map +1 -0
- package/dist/providers/ant-ling.models.js +60 -0
- package/dist/providers/ant-ling.models.js.map +1 -0
- package/dist/providers/anthropic.d.ts +2 -71
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +17 -973
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/anthropic.models.d.ts +458 -0
- package/dist/providers/anthropic.models.d.ts.map +1 -0
- package/dist/providers/anthropic.models.js +439 -0
- package/dist/providers/anthropic.models.js.map +1 -0
- package/dist/providers/azure-openai-responses.d.ts +2 -15
- package/dist/providers/azure-openai-responses.d.ts.map +1 -1
- package/dist/providers/azure-openai-responses.js +11 -230
- package/dist/providers/azure-openai-responses.js.map +1 -1
- package/dist/providers/azure-openai-responses.models.d.ts +804 -0
- package/dist/providers/azure-openai-responses.models.d.ts.map +1 -0
- package/dist/providers/azure-openai-responses.models.js +743 -0
- package/dist/providers/azure-openai-responses.models.js.map +1 -0
- package/dist/providers/cerebras.d.ts +3 -0
- package/dist/providers/cerebras.d.ts.map +1 -0
- package/dist/providers/cerebras.js +15 -0
- package/dist/providers/cerebras.js.map +1 -0
- package/dist/providers/cerebras.models.d.ts +45 -0
- package/dist/providers/cerebras.models.d.ts.map +1 -0
- package/dist/providers/cerebras.models.js +41 -0
- package/dist/providers/cerebras.models.js.map +1 -0
- package/dist/providers/cloudflare-ai-gateway.d.ts +3 -0
- package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -0
- package/dist/providers/cloudflare-ai-gateway.js +20 -0
- package/dist/providers/cloudflare-ai-gateway.js.map +1 -0
- package/dist/providers/cloudflare-ai-gateway.models.d.ts +765 -0
- package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
- package/dist/providers/cloudflare-ai-gateway.models.js +666 -0
- package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -0
- package/dist/providers/cloudflare-auth.d.ts +4 -0
- package/dist/providers/cloudflare-auth.d.ts.map +1 -0
- package/dist/providers/cloudflare-auth.js +87 -0
- package/dist/providers/cloudflare-auth.js.map +1 -0
- package/dist/providers/cloudflare-workers-ai.d.ts +3 -0
- package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -0
- package/dist/providers/cloudflare-workers-ai.js +14 -0
- package/dist/providers/cloudflare-workers-ai.js.map +1 -0
- package/dist/providers/cloudflare-workers-ai.models.d.ts +302 -0
- package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
- package/dist/providers/cloudflare-workers-ai.models.js +239 -0
- package/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
- package/dist/providers/deepseek.d.ts +3 -0
- package/dist/providers/deepseek.d.ts.map +1 -0
- package/dist/providers/deepseek.js +15 -0
- package/dist/providers/deepseek.js.map +1 -0
- package/dist/providers/deepseek.models.d.ts +63 -0
- package/dist/providers/deepseek.models.d.ts.map +1 -0
- package/dist/providers/deepseek.models.js +43 -0
- package/dist/providers/deepseek.models.js.map +1 -0
- package/dist/providers/faux.d.ts +43 -2
- package/dist/providers/faux.d.ts.map +1 -1
- package/dist/providers/faux.js +34 -7
- package/dist/providers/faux.js.map +1 -1
- package/dist/providers/fireworks.d.ts +3 -0
- package/dist/providers/fireworks.d.ts.map +1 -0
- package/dist/providers/fireworks.js +19 -0
- package/dist/providers/fireworks.js.map +1 -0
- package/dist/providers/fireworks.models.d.ts +353 -0
- package/dist/providers/fireworks.models.d.ts.map +1 -0
- package/dist/providers/fireworks.models.js +276 -0
- package/dist/providers/fireworks.models.js.map +1 -0
- package/dist/providers/github-copilot.d.ts +3 -0
- package/dist/providers/github-copilot.d.ts.map +1 -0
- package/dist/providers/github-copilot.js +25 -0
- package/dist/providers/github-copilot.js.map +1 -0
- package/dist/providers/github-copilot.models.d.ts +616 -0
- package/dist/providers/github-copilot.models.d.ts.map +1 -0
- package/dist/providers/github-copilot.models.js +426 -0
- package/dist/providers/github-copilot.models.js.map +1 -0
- package/dist/providers/google-vertex.d.ts +2 -15
- package/dist/providers/google-vertex.d.ts.map +1 -1
- package/dist/providers/google-vertex.js +30 -455
- package/dist/providers/google-vertex.js.map +1 -1
- package/dist/providers/google-vertex.models.d.ts +202 -0
- package/dist/providers/google-vertex.models.d.ts.map +1 -0
- package/dist/providers/google-vertex.models.js +182 -0
- package/dist/providers/google-vertex.models.js.map +1 -0
- package/dist/providers/google.d.ts +2 -13
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +12 -408
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/google.models.d.ts +328 -0
- package/dist/providers/google.models.d.ts.map +1 -0
- package/dist/providers/google.models.js +288 -0
- package/dist/providers/google.models.js.map +1 -0
- package/dist/providers/groq.d.ts +3 -0
- package/dist/providers/groq.d.ts.map +1 -0
- package/dist/providers/groq.js +15 -0
- package/dist/providers/groq.js.map +1 -0
- package/dist/providers/groq.models.d.ts +128 -0
- package/dist/providers/groq.models.d.ts.map +1 -0
- package/dist/providers/groq.models.js +125 -0
- package/dist/providers/groq.models.js.map +1 -0
- package/dist/providers/huggingface.d.ts +3 -0
- package/dist/providers/huggingface.d.ts.map +1 -0
- package/dist/providers/huggingface.js +15 -0
- package/dist/providers/huggingface.js.map +1 -0
- package/dist/providers/huggingface.models.d.ts +883 -0
- package/dist/providers/huggingface.models.d.ts.map +1 -0
- package/dist/providers/huggingface.models.js +797 -0
- package/dist/providers/huggingface.models.js.map +1 -0
- package/dist/providers/images/{openrouter.d.ts → register-builtins.d.ts} +2 -2
- package/dist/providers/images/register-builtins.d.ts.map +1 -0
- package/dist/providers/images/register-builtins.js +34 -0
- package/dist/providers/images/register-builtins.js.map +1 -0
- package/dist/providers/kimi-coding.d.ts +3 -0
- package/dist/providers/kimi-coding.d.ts.map +1 -0
- package/dist/providers/kimi-coding.js +15 -0
- package/dist/providers/kimi-coding.js.map +1 -0
- package/dist/providers/kimi-coding.models.d.ts +63 -0
- package/dist/providers/kimi-coding.models.d.ts.map +1 -0
- package/dist/providers/kimi-coding.models.js +59 -0
- package/dist/providers/kimi-coding.models.js.map +1 -0
- package/dist/providers/minimax-cn.d.ts +3 -0
- package/dist/providers/minimax-cn.d.ts.map +1 -0
- package/dist/providers/minimax-cn.js +15 -0
- package/dist/providers/minimax-cn.js.map +1 -0
- package/dist/providers/minimax-cn.models.d.ts +54 -0
- package/dist/providers/minimax-cn.models.d.ts.map +1 -0
- package/dist/providers/minimax-cn.models.js +56 -0
- package/dist/providers/minimax-cn.models.js.map +1 -0
- package/dist/providers/minimax.d.ts +3 -0
- package/dist/providers/minimax.d.ts.map +1 -0
- package/dist/providers/minimax.js +15 -0
- package/dist/providers/minimax.js.map +1 -0
- package/dist/providers/minimax.models.d.ts +54 -0
- package/dist/providers/minimax.models.d.ts.map +1 -0
- package/dist/providers/minimax.models.js +56 -0
- package/dist/providers/minimax.models.js.map +1 -0
- package/dist/providers/mistral.d.ts +2 -25
- package/dist/providers/mistral.d.ts.map +1 -1
- package/dist/providers/mistral.js +12 -560
- package/dist/providers/mistral.js.map +1 -1
- package/dist/providers/mistral.models.d.ts +513 -0
- package/dist/providers/mistral.models.d.ts.map +1 -0
- package/dist/providers/mistral.models.js +515 -0
- package/dist/providers/mistral.models.js.map +1 -0
- package/dist/providers/moonshotai-cn.d.ts +3 -0
- package/dist/providers/moonshotai-cn.d.ts.map +1 -0
- package/dist/providers/moonshotai-cn.js +15 -0
- package/dist/providers/moonshotai-cn.js.map +1 -0
- package/dist/providers/moonshotai-cn.models.d.ts +234 -0
- package/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
- package/dist/providers/moonshotai-cn.models.js +169 -0
- package/dist/providers/moonshotai-cn.models.js.map +1 -0
- package/dist/providers/moonshotai.d.ts +3 -0
- package/dist/providers/moonshotai.d.ts.map +1 -0
- package/dist/providers/moonshotai.js +15 -0
- package/dist/providers/moonshotai.js.map +1 -0
- package/dist/providers/moonshotai.models.d.ts +234 -0
- package/dist/providers/moonshotai.models.d.ts.map +1 -0
- package/dist/providers/moonshotai.models.js +169 -0
- package/dist/providers/moonshotai.models.js.map +1 -0
- package/dist/providers/nvidia.d.ts +3 -0
- package/dist/providers/nvidia.d.ts.map +1 -0
- package/dist/providers/nvidia.js +15 -0
- package/dist/providers/nvidia.js.map +1 -0
- package/dist/providers/nvidia.models.d.ts +535 -0
- package/dist/providers/nvidia.models.d.ts.map +1 -0
- package/dist/providers/nvidia.models.js +366 -0
- package/dist/providers/nvidia.models.js.map +1 -0
- package/dist/providers/openai-codex.d.ts +3 -0
- package/dist/providers/openai-codex.d.ts.map +1 -0
- package/dist/providers/openai-codex.js +18 -0
- package/dist/providers/openai-codex.js.map +1 -0
- package/dist/providers/openai-codex.models.d.ts +87 -0
- package/dist/providers/openai-codex.models.d.ts.map +1 -0
- package/dist/providers/openai-codex.models.js +77 -0
- package/dist/providers/openai-codex.models.js.map +1 -0
- package/dist/providers/openai.d.ts +3 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +15 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/openai.models.d.ts +805 -0
- package/dist/providers/openai.models.d.ts.map +1 -0
- package/dist/providers/openai.models.js +743 -0
- package/dist/providers/openai.models.js.map +1 -0
- package/dist/providers/opencode-go.d.ts +3 -0
- package/dist/providers/opencode-go.d.ts.map +1 -0
- package/dist/providers/opencode-go.js +18 -0
- package/dist/providers/opencode-go.js.map +1 -0
- package/dist/providers/opencode-go.models.d.ts +309 -0
- package/dist/providers/opencode-go.models.d.ts.map +1 -0
- package/dist/providers/opencode-go.models.js +240 -0
- package/dist/providers/opencode-go.models.js.map +1 -0
- package/dist/providers/opencode.d.ts +3 -0
- package/dist/providers/opencode.d.ts.map +1 -0
- package/dist/providers/opencode.js +22 -0
- package/dist/providers/opencode.js.map +1 -0
- package/dist/providers/opencode.models.d.ts +976 -0
- package/dist/providers/opencode.models.d.ts.map +1 -0
- package/dist/providers/opencode.models.js +815 -0
- package/dist/providers/opencode.models.js.map +1 -0
- package/dist/providers/openrouter-images.d.ts +3 -0
- package/dist/providers/openrouter-images.d.ts.map +1 -0
- package/dist/providers/openrouter-images.js +14 -0
- package/dist/providers/openrouter-images.js.map +1 -0
- package/dist/providers/openrouter.d.ts +3 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +15 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/openrouter.models.d.ts +5405 -0
- package/dist/providers/openrouter.models.d.ts.map +1 -0
- package/dist/providers/openrouter.models.js +4635 -0
- package/dist/providers/openrouter.models.js.map +1 -0
- package/dist/providers/together.d.ts +3 -0
- package/dist/providers/together.d.ts.map +1 -0
- package/dist/providers/together.js +15 -0
- package/dist/providers/together.js.map +1 -0
- package/dist/providers/together.models.d.ts +567 -0
- package/dist/providers/together.models.d.ts.map +1 -0
- package/dist/providers/together.models.js +361 -0
- package/dist/providers/together.models.js.map +1 -0
- package/dist/providers/vercel-ai-gateway.d.ts +3 -0
- package/dist/providers/vercel-ai-gateway.d.ts.map +1 -0
- package/dist/providers/vercel-ai-gateway.js +15 -0
- package/dist/providers/vercel-ai-gateway.js.map +1 -0
- package/dist/providers/vercel-ai-gateway.models.d.ts +2938 -0
- package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
- package/dist/providers/vercel-ai-gateway.models.js +2897 -0
- package/dist/providers/vercel-ai-gateway.models.js.map +1 -0
- package/dist/providers/xai.d.ts +3 -0
- package/dist/providers/xai.d.ts.map +1 -0
- package/dist/providers/xai.js +15 -0
- package/dist/providers/xai.js.map +1 -0
- package/dist/providers/xai.models.d.ts +157 -0
- package/dist/providers/xai.models.d.ts.map +1 -0
- package/dist/providers/xai.models.js +131 -0
- package/dist/providers/xai.models.js.map +1 -0
- package/dist/providers/xiaomi-token-plan-ams.d.ts +3 -0
- package/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-ams.js +15 -0
- package/dist/providers/xiaomi-token-plan-ams.js.map +1 -0
- package/dist/providers/xiaomi-token-plan-ams.models.d.ts +108 -0
- package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-ams.models.js +95 -0
- package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -0
- package/dist/providers/xiaomi-token-plan-cn.d.ts +3 -0
- package/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-cn.js +15 -0
- package/dist/providers/xiaomi-token-plan-cn.js.map +1 -0
- package/dist/providers/xiaomi-token-plan-cn.models.d.ts +108 -0
- package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-cn.models.js +95 -0
- package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -0
- package/dist/providers/xiaomi-token-plan-sgp.d.ts +3 -0
- package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-sgp.js +15 -0
- package/dist/providers/xiaomi-token-plan-sgp.js.map +1 -0
- package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +108 -0
- package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-sgp.models.js +95 -0
- package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -0
- package/dist/providers/xiaomi.d.ts +3 -0
- package/dist/providers/xiaomi.d.ts.map +1 -0
- package/dist/providers/xiaomi.js +15 -0
- package/dist/providers/xiaomi.js.map +1 -0
- package/dist/providers/xiaomi.models.d.ts +129 -0
- package/dist/providers/xiaomi.models.d.ts.map +1 -0
- package/dist/providers/xiaomi.models.js +113 -0
- package/dist/providers/xiaomi.models.js.map +1 -0
- package/dist/providers/zai-coding-cn.d.ts +3 -0
- package/dist/providers/zai-coding-cn.d.ts.map +1 -0
- package/dist/providers/zai-coding-cn.js +15 -0
- package/dist/providers/zai-coding-cn.js.map +1 -0
- package/dist/providers/zai-coding-cn.models.d.ts +153 -0
- package/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
- package/dist/providers/zai-coding-cn.models.js +114 -0
- package/dist/providers/zai-coding-cn.models.js.map +1 -0
- package/dist/providers/zai.d.ts +3 -0
- package/dist/providers/zai.d.ts.map +1 -0
- package/dist/providers/zai.js +15 -0
- package/dist/providers/zai.js.map +1 -0
- package/dist/providers/zai.models.d.ts +153 -0
- package/dist/providers/zai.models.d.ts.map +1 -0
- package/dist/providers/zai.models.js +114 -0
- package/dist/providers/zai.models.js.map +1 -0
- package/dist/types.d.ts +67 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/headers.d.ts +2 -0
- package/dist/utils/headers.d.ts.map +1 -1
- package/dist/utils/headers.js +10 -0
- package/dist/utils/headers.js.map +1 -1
- package/dist/utils/oauth/anthropic.d.ts +2 -0
- package/dist/utils/oauth/anthropic.d.ts.map +1 -1
- package/dist/utils/oauth/anthropic.js +31 -0
- package/dist/utils/oauth/anthropic.js.map +1 -1
- package/dist/utils/oauth/github-copilot.d.ts +2 -0
- package/dist/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/utils/oauth/github-copilot.js +33 -2
- package/dist/utils/oauth/github-copilot.js.map +1 -1
- package/dist/utils/oauth/load.d.ts +5 -0
- package/dist/utils/oauth/load.d.ts.map +1 -0
- package/dist/utils/oauth/load.js +22 -0
- package/dist/utils/oauth/load.js.map +1 -0
- package/dist/utils/oauth/openai-codex.d.ts +2 -0
- package/dist/utils/oauth/openai-codex.d.ts.map +1 -1
- package/dist/utils/oauth/openai-codex.js +49 -0
- package/dist/utils/oauth/openai-codex.js.map +1 -1
- package/package.json +15 -42
- package/dist/api-registry.d.ts +0 -20
- package/dist/api-registry.d.ts.map +0 -1
- package/dist/api-registry.js +0 -44
- package/dist/api-registry.js.map +0 -1
- package/dist/base.d.ts +0 -30
- package/dist/base.d.ts.map +0 -1
- package/dist/base.js +0 -18
- package/dist/base.js.map +0 -1
- package/dist/providers/cloudflare.d.ts.map +0 -1
- package/dist/providers/cloudflare.js.map +0 -1
- package/dist/providers/github-copilot-headers.d.ts.map +0 -1
- package/dist/providers/github-copilot-headers.js.map +0 -1
- package/dist/providers/google-shared.d.ts.map +0 -1
- package/dist/providers/google-shared.js.map +0 -1
- package/dist/providers/images/openrouter.d.ts.map +0 -1
- package/dist/providers/images/openrouter.js.map +0 -1
- package/dist/providers/openai-codex-responses.d.ts.map +0 -1
- package/dist/providers/openai-codex-responses.js.map +0 -1
- package/dist/providers/openai-completions.d.ts.map +0 -1
- package/dist/providers/openai-completions.js.map +0 -1
- package/dist/providers/openai-prompt-cache.d.ts.map +0 -1
- package/dist/providers/openai-prompt-cache.js.map +0 -1
- package/dist/providers/openai-responses-shared.d.ts.map +0 -1
- package/dist/providers/openai-responses-shared.js.map +0 -1
- package/dist/providers/openai-responses.d.ts.map +0 -1
- package/dist/providers/openai-responses.js.map +0 -1
- package/dist/providers/register-builtins.d.ts +0 -37
- package/dist/providers/register-builtins.d.ts.map +0 -1
- package/dist/providers/register-builtins.js +0 -191
- package/dist/providers/register-builtins.js.map +0 -1
- package/dist/providers/simple-options.d.ts.map +0 -1
- package/dist/providers/simple-options.js.map +0 -1
- package/dist/providers/transform-messages.d.ts.map +0 -1
- package/dist/providers/transform-messages.js.map +0 -1
- package/dist/stream.d.ts +0 -6
- package/dist/stream.d.ts.map +0 -1
- package/dist/stream.js +0 -37
- package/dist/stream.js.map +0 -1
- /package/dist/{providers → api}/github-copilot-headers.d.ts +0 -0
- /package/dist/{providers → api}/github-copilot-headers.js +0 -0
- /package/dist/{providers → api}/google-shared.d.ts +0 -0
- /package/dist/{providers → api}/google-shared.js +0 -0
- /package/dist/{providers → api}/openai-prompt-cache.d.ts +0 -0
- /package/dist/{providers → api}/openai-prompt-cache.js +0 -0
- /package/dist/{providers → api}/openai-responses-shared.d.ts +0 -0
- /package/dist/{providers → api}/simple-options.d.ts +0 -0
- /package/dist/{providers → api}/simple-options.js +0 -0
- /package/dist/{providers → api}/transform-messages.d.ts +0 -0
- /package/dist/{providers → api}/transform-messages.js +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
export declare const GOOGLE_VERTEX_MODELS: {
|
|
2
|
+
readonly "gemini-2.5-flash": {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
api: "google-vertex";
|
|
6
|
+
provider: string;
|
|
7
|
+
baseUrl: string;
|
|
8
|
+
reasoning: true;
|
|
9
|
+
input: ("image" | "text")[];
|
|
10
|
+
cost: {
|
|
11
|
+
input: number;
|
|
12
|
+
output: number;
|
|
13
|
+
cacheRead: number;
|
|
14
|
+
cacheWrite: number;
|
|
15
|
+
};
|
|
16
|
+
contextWindow: number;
|
|
17
|
+
maxTokens: number;
|
|
18
|
+
};
|
|
19
|
+
readonly "gemini-2.5-flash-lite": {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
api: "google-vertex";
|
|
23
|
+
provider: string;
|
|
24
|
+
baseUrl: string;
|
|
25
|
+
reasoning: true;
|
|
26
|
+
input: ("image" | "text")[];
|
|
27
|
+
cost: {
|
|
28
|
+
input: number;
|
|
29
|
+
output: number;
|
|
30
|
+
cacheRead: number;
|
|
31
|
+
cacheWrite: number;
|
|
32
|
+
};
|
|
33
|
+
contextWindow: number;
|
|
34
|
+
maxTokens: number;
|
|
35
|
+
};
|
|
36
|
+
readonly "gemini-2.5-pro": {
|
|
37
|
+
id: string;
|
|
38
|
+
name: string;
|
|
39
|
+
api: "google-vertex";
|
|
40
|
+
provider: string;
|
|
41
|
+
baseUrl: string;
|
|
42
|
+
reasoning: true;
|
|
43
|
+
input: ("image" | "text")[];
|
|
44
|
+
cost: {
|
|
45
|
+
input: number;
|
|
46
|
+
output: number;
|
|
47
|
+
cacheRead: number;
|
|
48
|
+
cacheWrite: number;
|
|
49
|
+
};
|
|
50
|
+
contextWindow: number;
|
|
51
|
+
maxTokens: number;
|
|
52
|
+
};
|
|
53
|
+
readonly "gemini-3-flash-preview": {
|
|
54
|
+
id: string;
|
|
55
|
+
name: string;
|
|
56
|
+
api: "google-vertex";
|
|
57
|
+
provider: string;
|
|
58
|
+
baseUrl: string;
|
|
59
|
+
reasoning: true;
|
|
60
|
+
thinkingLevelMap: {
|
|
61
|
+
off: null;
|
|
62
|
+
};
|
|
63
|
+
input: ("image" | "text")[];
|
|
64
|
+
cost: {
|
|
65
|
+
input: number;
|
|
66
|
+
output: number;
|
|
67
|
+
cacheRead: number;
|
|
68
|
+
cacheWrite: number;
|
|
69
|
+
};
|
|
70
|
+
contextWindow: number;
|
|
71
|
+
maxTokens: number;
|
|
72
|
+
};
|
|
73
|
+
readonly "gemini-3.1-flash-lite": {
|
|
74
|
+
id: string;
|
|
75
|
+
name: string;
|
|
76
|
+
api: "google-vertex";
|
|
77
|
+
provider: string;
|
|
78
|
+
baseUrl: string;
|
|
79
|
+
reasoning: true;
|
|
80
|
+
thinkingLevelMap: {
|
|
81
|
+
off: null;
|
|
82
|
+
};
|
|
83
|
+
input: ("image" | "text")[];
|
|
84
|
+
cost: {
|
|
85
|
+
input: number;
|
|
86
|
+
output: number;
|
|
87
|
+
cacheRead: number;
|
|
88
|
+
cacheWrite: number;
|
|
89
|
+
};
|
|
90
|
+
contextWindow: number;
|
|
91
|
+
maxTokens: number;
|
|
92
|
+
};
|
|
93
|
+
readonly "gemini-3.1-pro-preview": {
|
|
94
|
+
id: string;
|
|
95
|
+
name: string;
|
|
96
|
+
api: "google-vertex";
|
|
97
|
+
provider: string;
|
|
98
|
+
baseUrl: string;
|
|
99
|
+
reasoning: true;
|
|
100
|
+
thinkingLevelMap: {
|
|
101
|
+
off: null;
|
|
102
|
+
minimal: null;
|
|
103
|
+
low: string;
|
|
104
|
+
medium: null;
|
|
105
|
+
high: string;
|
|
106
|
+
};
|
|
107
|
+
input: ("image" | "text")[];
|
|
108
|
+
cost: {
|
|
109
|
+
input: number;
|
|
110
|
+
output: number;
|
|
111
|
+
cacheRead: number;
|
|
112
|
+
cacheWrite: number;
|
|
113
|
+
};
|
|
114
|
+
contextWindow: number;
|
|
115
|
+
maxTokens: number;
|
|
116
|
+
};
|
|
117
|
+
readonly "gemini-3.1-pro-preview-customtools": {
|
|
118
|
+
id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
api: "google-vertex";
|
|
121
|
+
provider: string;
|
|
122
|
+
baseUrl: string;
|
|
123
|
+
reasoning: true;
|
|
124
|
+
thinkingLevelMap: {
|
|
125
|
+
off: null;
|
|
126
|
+
minimal: null;
|
|
127
|
+
low: string;
|
|
128
|
+
medium: null;
|
|
129
|
+
high: string;
|
|
130
|
+
};
|
|
131
|
+
input: ("image" | "text")[];
|
|
132
|
+
cost: {
|
|
133
|
+
input: number;
|
|
134
|
+
output: number;
|
|
135
|
+
cacheRead: number;
|
|
136
|
+
cacheWrite: number;
|
|
137
|
+
};
|
|
138
|
+
contextWindow: number;
|
|
139
|
+
maxTokens: number;
|
|
140
|
+
};
|
|
141
|
+
readonly "gemini-3.5-flash": {
|
|
142
|
+
id: string;
|
|
143
|
+
name: string;
|
|
144
|
+
api: "google-vertex";
|
|
145
|
+
provider: string;
|
|
146
|
+
baseUrl: string;
|
|
147
|
+
reasoning: true;
|
|
148
|
+
thinkingLevelMap: {
|
|
149
|
+
off: null;
|
|
150
|
+
};
|
|
151
|
+
input: ("image" | "text")[];
|
|
152
|
+
cost: {
|
|
153
|
+
input: number;
|
|
154
|
+
output: number;
|
|
155
|
+
cacheRead: number;
|
|
156
|
+
cacheWrite: number;
|
|
157
|
+
};
|
|
158
|
+
contextWindow: number;
|
|
159
|
+
maxTokens: number;
|
|
160
|
+
};
|
|
161
|
+
readonly "gemini-flash-latest": {
|
|
162
|
+
id: string;
|
|
163
|
+
name: string;
|
|
164
|
+
api: "google-vertex";
|
|
165
|
+
provider: string;
|
|
166
|
+
baseUrl: string;
|
|
167
|
+
reasoning: true;
|
|
168
|
+
thinkingLevelMap: {
|
|
169
|
+
off: null;
|
|
170
|
+
};
|
|
171
|
+
input: ("image" | "text")[];
|
|
172
|
+
cost: {
|
|
173
|
+
input: number;
|
|
174
|
+
output: number;
|
|
175
|
+
cacheRead: number;
|
|
176
|
+
cacheWrite: number;
|
|
177
|
+
};
|
|
178
|
+
contextWindow: number;
|
|
179
|
+
maxTokens: number;
|
|
180
|
+
};
|
|
181
|
+
readonly "gemini-flash-lite-latest": {
|
|
182
|
+
id: string;
|
|
183
|
+
name: string;
|
|
184
|
+
api: "google-vertex";
|
|
185
|
+
provider: string;
|
|
186
|
+
baseUrl: string;
|
|
187
|
+
reasoning: true;
|
|
188
|
+
thinkingLevelMap: {
|
|
189
|
+
off: null;
|
|
190
|
+
};
|
|
191
|
+
input: ("image" | "text")[];
|
|
192
|
+
cost: {
|
|
193
|
+
input: number;
|
|
194
|
+
output: number;
|
|
195
|
+
cacheRead: number;
|
|
196
|
+
cacheWrite: number;
|
|
197
|
+
};
|
|
198
|
+
contextWindow: number;
|
|
199
|
+
maxTokens: number;
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=google-vertex.models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-vertex.models.d.ts","sourceRoot":"","sources":["../../src/providers/google-vertex.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkLvB,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const GOOGLE_VERTEX_MODELS = {\n\t\"gemini-2.5-flash\": {\n\t\tid: \"gemini-2.5-flash\",\n\t\tname: \"Gemini 2.5 Flash\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 2.5,\n\t\t\tcacheRead: 0.03,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-2.5-flash-lite\": {\n\t\tid: \"gemini-2.5-flash-lite\",\n\t\tname: \"Gemini 2.5 Flash-Lite\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.1,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0.01,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-2.5-pro\": {\n\t\tid: \"gemini-2.5-pro\",\n\t\tname: \"Gemini 2.5 Pro\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.25,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.125,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3-flash-preview\": {\n\t\tid: \"gemini-3-flash-preview\",\n\t\tname: \"Gemini 3 Flash Preview\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.05,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.1-flash-lite\": {\n\t\tid: \"gemini-3.1-flash-lite\",\n\t\tname: \"Gemini 3.1 Flash Lite\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0.025,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.1-pro-preview\": {\n\t\tid: \"gemini-3.1-pro-preview\",\n\t\tname: \"Gemini 3.1 Pro Preview\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":\"LOW\",\"medium\":null,\"high\":\"HIGH\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 12,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.1-pro-preview-customtools\": {\n\t\tid: \"gemini-3.1-pro-preview-customtools\",\n\t\tname: \"Gemini 3.1 Pro Preview Custom Tools\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":\"LOW\",\"medium\":null,\"high\":\"HIGH\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 12,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.5-flash\": {\n\t\tid: \"gemini-3.5-flash\",\n\t\tname: \"Gemini 3.5 Flash\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.5,\n\t\t\toutput: 9,\n\t\t\tcacheRead: 0.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-flash-latest\": {\n\t\tid: \"gemini-flash-latest\",\n\t\tname: \"Gemini Flash Latest\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.5,\n\t\t\toutput: 9,\n\t\t\tcacheRead: 0.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-flash-lite-latest\": {\n\t\tid: \"gemini-flash-lite-latest\",\n\t\tname: \"Gemini Flash-Lite Latest\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0.025,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n} as const;\n"]}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
// This file is auto-generated by scripts/generate-models.ts
|
|
2
|
+
// Do not edit manually - run 'npm run generate-models' to update
|
|
3
|
+
export const GOOGLE_VERTEX_MODELS = {
|
|
4
|
+
"gemini-2.5-flash": {
|
|
5
|
+
id: "gemini-2.5-flash",
|
|
6
|
+
name: "Gemini 2.5 Flash",
|
|
7
|
+
api: "google-vertex",
|
|
8
|
+
provider: "google-vertex",
|
|
9
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
10
|
+
reasoning: true,
|
|
11
|
+
input: ["text", "image"],
|
|
12
|
+
cost: {
|
|
13
|
+
input: 0.3,
|
|
14
|
+
output: 2.5,
|
|
15
|
+
cacheRead: 0.03,
|
|
16
|
+
cacheWrite: 0,
|
|
17
|
+
},
|
|
18
|
+
contextWindow: 1048576,
|
|
19
|
+
maxTokens: 65536,
|
|
20
|
+
},
|
|
21
|
+
"gemini-2.5-flash-lite": {
|
|
22
|
+
id: "gemini-2.5-flash-lite",
|
|
23
|
+
name: "Gemini 2.5 Flash-Lite",
|
|
24
|
+
api: "google-vertex",
|
|
25
|
+
provider: "google-vertex",
|
|
26
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
27
|
+
reasoning: true,
|
|
28
|
+
input: ["text", "image"],
|
|
29
|
+
cost: {
|
|
30
|
+
input: 0.1,
|
|
31
|
+
output: 0.4,
|
|
32
|
+
cacheRead: 0.01,
|
|
33
|
+
cacheWrite: 0,
|
|
34
|
+
},
|
|
35
|
+
contextWindow: 1048576,
|
|
36
|
+
maxTokens: 65536,
|
|
37
|
+
},
|
|
38
|
+
"gemini-2.5-pro": {
|
|
39
|
+
id: "gemini-2.5-pro",
|
|
40
|
+
name: "Gemini 2.5 Pro",
|
|
41
|
+
api: "google-vertex",
|
|
42
|
+
provider: "google-vertex",
|
|
43
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
44
|
+
reasoning: true,
|
|
45
|
+
input: ["text", "image"],
|
|
46
|
+
cost: {
|
|
47
|
+
input: 1.25,
|
|
48
|
+
output: 10,
|
|
49
|
+
cacheRead: 0.125,
|
|
50
|
+
cacheWrite: 0,
|
|
51
|
+
},
|
|
52
|
+
contextWindow: 1048576,
|
|
53
|
+
maxTokens: 65536,
|
|
54
|
+
},
|
|
55
|
+
"gemini-3-flash-preview": {
|
|
56
|
+
id: "gemini-3-flash-preview",
|
|
57
|
+
name: "Gemini 3 Flash Preview",
|
|
58
|
+
api: "google-vertex",
|
|
59
|
+
provider: "google-vertex",
|
|
60
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
61
|
+
reasoning: true,
|
|
62
|
+
thinkingLevelMap: { "off": null },
|
|
63
|
+
input: ["text", "image"],
|
|
64
|
+
cost: {
|
|
65
|
+
input: 0.5,
|
|
66
|
+
output: 3,
|
|
67
|
+
cacheRead: 0.05,
|
|
68
|
+
cacheWrite: 0,
|
|
69
|
+
},
|
|
70
|
+
contextWindow: 1048576,
|
|
71
|
+
maxTokens: 65536,
|
|
72
|
+
},
|
|
73
|
+
"gemini-3.1-flash-lite": {
|
|
74
|
+
id: "gemini-3.1-flash-lite",
|
|
75
|
+
name: "Gemini 3.1 Flash Lite",
|
|
76
|
+
api: "google-vertex",
|
|
77
|
+
provider: "google-vertex",
|
|
78
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
79
|
+
reasoning: true,
|
|
80
|
+
thinkingLevelMap: { "off": null },
|
|
81
|
+
input: ["text", "image"],
|
|
82
|
+
cost: {
|
|
83
|
+
input: 0.25,
|
|
84
|
+
output: 1.5,
|
|
85
|
+
cacheRead: 0.025,
|
|
86
|
+
cacheWrite: 0,
|
|
87
|
+
},
|
|
88
|
+
contextWindow: 1048576,
|
|
89
|
+
maxTokens: 65536,
|
|
90
|
+
},
|
|
91
|
+
"gemini-3.1-pro-preview": {
|
|
92
|
+
id: "gemini-3.1-pro-preview",
|
|
93
|
+
name: "Gemini 3.1 Pro Preview",
|
|
94
|
+
api: "google-vertex",
|
|
95
|
+
provider: "google-vertex",
|
|
96
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
97
|
+
reasoning: true,
|
|
98
|
+
thinkingLevelMap: { "off": null, "minimal": null, "low": "LOW", "medium": null, "high": "HIGH" },
|
|
99
|
+
input: ["text", "image"],
|
|
100
|
+
cost: {
|
|
101
|
+
input: 2,
|
|
102
|
+
output: 12,
|
|
103
|
+
cacheRead: 0.2,
|
|
104
|
+
cacheWrite: 0,
|
|
105
|
+
},
|
|
106
|
+
contextWindow: 1048576,
|
|
107
|
+
maxTokens: 65536,
|
|
108
|
+
},
|
|
109
|
+
"gemini-3.1-pro-preview-customtools": {
|
|
110
|
+
id: "gemini-3.1-pro-preview-customtools",
|
|
111
|
+
name: "Gemini 3.1 Pro Preview Custom Tools",
|
|
112
|
+
api: "google-vertex",
|
|
113
|
+
provider: "google-vertex",
|
|
114
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
115
|
+
reasoning: true,
|
|
116
|
+
thinkingLevelMap: { "off": null, "minimal": null, "low": "LOW", "medium": null, "high": "HIGH" },
|
|
117
|
+
input: ["text", "image"],
|
|
118
|
+
cost: {
|
|
119
|
+
input: 2,
|
|
120
|
+
output: 12,
|
|
121
|
+
cacheRead: 0.2,
|
|
122
|
+
cacheWrite: 0,
|
|
123
|
+
},
|
|
124
|
+
contextWindow: 1048576,
|
|
125
|
+
maxTokens: 65536,
|
|
126
|
+
},
|
|
127
|
+
"gemini-3.5-flash": {
|
|
128
|
+
id: "gemini-3.5-flash",
|
|
129
|
+
name: "Gemini 3.5 Flash",
|
|
130
|
+
api: "google-vertex",
|
|
131
|
+
provider: "google-vertex",
|
|
132
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
133
|
+
reasoning: true,
|
|
134
|
+
thinkingLevelMap: { "off": null },
|
|
135
|
+
input: ["text", "image"],
|
|
136
|
+
cost: {
|
|
137
|
+
input: 1.5,
|
|
138
|
+
output: 9,
|
|
139
|
+
cacheRead: 0.15,
|
|
140
|
+
cacheWrite: 0,
|
|
141
|
+
},
|
|
142
|
+
contextWindow: 1048576,
|
|
143
|
+
maxTokens: 65536,
|
|
144
|
+
},
|
|
145
|
+
"gemini-flash-latest": {
|
|
146
|
+
id: "gemini-flash-latest",
|
|
147
|
+
name: "Gemini Flash Latest",
|
|
148
|
+
api: "google-vertex",
|
|
149
|
+
provider: "google-vertex",
|
|
150
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
151
|
+
reasoning: true,
|
|
152
|
+
thinkingLevelMap: { "off": null },
|
|
153
|
+
input: ["text", "image"],
|
|
154
|
+
cost: {
|
|
155
|
+
input: 1.5,
|
|
156
|
+
output: 9,
|
|
157
|
+
cacheRead: 0.15,
|
|
158
|
+
cacheWrite: 0,
|
|
159
|
+
},
|
|
160
|
+
contextWindow: 1048576,
|
|
161
|
+
maxTokens: 65536,
|
|
162
|
+
},
|
|
163
|
+
"gemini-flash-lite-latest": {
|
|
164
|
+
id: "gemini-flash-lite-latest",
|
|
165
|
+
name: "Gemini Flash-Lite Latest",
|
|
166
|
+
api: "google-vertex",
|
|
167
|
+
provider: "google-vertex",
|
|
168
|
+
baseUrl: "https://{location}-aiplatform.googleapis.com",
|
|
169
|
+
reasoning: true,
|
|
170
|
+
thinkingLevelMap: { "off": null },
|
|
171
|
+
input: ["text", "image"],
|
|
172
|
+
cost: {
|
|
173
|
+
input: 0.25,
|
|
174
|
+
output: 1.5,
|
|
175
|
+
cacheRead: 0.025,
|
|
176
|
+
cacheWrite: 0,
|
|
177
|
+
},
|
|
178
|
+
contextWindow: 1048576,
|
|
179
|
+
maxTokens: 65536,
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=google-vertex.models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-vertex.models.js","sourceRoot":"","sources":["../../src/providers/google-vertex.models.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const GOOGLE_VERTEX_MODELS = {\n\t\"gemini-2.5-flash\": {\n\t\tid: \"gemini-2.5-flash\",\n\t\tname: \"Gemini 2.5 Flash\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 2.5,\n\t\t\tcacheRead: 0.03,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-2.5-flash-lite\": {\n\t\tid: \"gemini-2.5-flash-lite\",\n\t\tname: \"Gemini 2.5 Flash-Lite\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.1,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0.01,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-2.5-pro\": {\n\t\tid: \"gemini-2.5-pro\",\n\t\tname: \"Gemini 2.5 Pro\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.25,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.125,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3-flash-preview\": {\n\t\tid: \"gemini-3-flash-preview\",\n\t\tname: \"Gemini 3 Flash Preview\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0.05,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.1-flash-lite\": {\n\t\tid: \"gemini-3.1-flash-lite\",\n\t\tname: \"Gemini 3.1 Flash Lite\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0.025,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.1-pro-preview\": {\n\t\tid: \"gemini-3.1-pro-preview\",\n\t\tname: \"Gemini 3.1 Pro Preview\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":\"LOW\",\"medium\":null,\"high\":\"HIGH\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 12,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.1-pro-preview-customtools\": {\n\t\tid: \"gemini-3.1-pro-preview-customtools\",\n\t\tname: \"Gemini 3.1 Pro Preview Custom Tools\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":\"LOW\",\"medium\":null,\"high\":\"HIGH\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 12,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-3.5-flash\": {\n\t\tid: \"gemini-3.5-flash\",\n\t\tname: \"Gemini 3.5 Flash\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.5,\n\t\t\toutput: 9,\n\t\t\tcacheRead: 0.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-flash-latest\": {\n\t\tid: \"gemini-flash-latest\",\n\t\tname: \"Gemini Flash Latest\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.5,\n\t\t\toutput: 9,\n\t\t\tcacheRead: 0.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n\t\"gemini-flash-lite-latest\": {\n\t\tid: \"gemini-flash-lite-latest\",\n\t\tname: \"Gemini Flash-Lite Latest\",\n\t\tapi: \"google-vertex\",\n\t\tprovider: \"google-vertex\",\n\t\tbaseUrl: \"https://{location}-aiplatform.googleapis.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0.025,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"google-vertex\">,\n} as const;\n"]}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface GoogleOptions extends StreamOptions {
|
|
4
|
-
toolChoice?: "auto" | "none" | "any";
|
|
5
|
-
thinking?: {
|
|
6
|
-
enabled: boolean;
|
|
7
|
-
budgetTokens?: number;
|
|
8
|
-
level?: GoogleThinkingLevel;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
export declare const streamGoogle: StreamFunction<"google-generative-ai", GoogleOptions>;
|
|
12
|
-
export declare const streamSimpleGoogle: StreamFunction<"google-generative-ai", SimpleStreamOptions>;
|
|
13
|
-
export declare function register(): void;
|
|
1
|
+
import { type Provider } from "../models.ts";
|
|
2
|
+
export declare function googleProvider(): Provider<"google-generative-ai">;
|
|
14
3
|
//# sourceMappingURL=google.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAKX,mBAAmB,EACnB,cAAc,EACd,aAAa,EAMb,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAW9D,MAAM,WAAW,aAAc,SAAQ,aAAa;IACnD,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACrC,QAAQ,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,mBAAmB,CAAC;KAC5B,CAAC;CACF;AAKD,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,sBAAsB,EAAE,aAAa,CAuO9E,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,sBAAsB,EAAE,mBAAmB,CAoC1F,CAAC;AAEF,wBAAgB,QAAQ,IAAI,IAAI,CAM/B","sourcesContent":["import {\n\ttype GenerateContentConfig,\n\ttype GenerateContentParameters,\n\tGoogleGenAI,\n\ttype ThinkingConfig,\n} from \"@google/genai\";\nimport { registerApiProvider } from \"../api-registry.ts\";\nimport { calculateCost, clampThinkingLevel } from \"../models.ts\";\nimport type {\n\tApi,\n\tAssistantMessage,\n\tContext,\n\tModel,\n\tSimpleStreamOptions,\n\tStreamFunction,\n\tStreamOptions,\n\tTextContent,\n\tThinkingBudgets,\n\tThinkingContent,\n\tThinkingLevel,\n\tToolCall,\n} from \"../types.ts\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.ts\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.ts\";\nimport type { GoogleThinkingLevel } from \"./google-shared.ts\";\nimport {\n\tconvertMessages,\n\tconvertTools,\n\tisThinkingPart,\n\tmapStopReason,\n\tmapToolChoice,\n\tretainThoughtSignature,\n} from \"./google-shared.ts\";\nimport { buildBaseOptions } from \"./simple-options.ts\";\n\nexport interface GoogleOptions extends StreamOptions {\n\ttoolChoice?: \"auto\" | \"none\" | \"any\";\n\tthinking?: {\n\t\tenabled: boolean;\n\t\tbudgetTokens?: number; // -1 for dynamic, 0 to disable\n\t\tlevel?: GoogleThinkingLevel;\n\t};\n}\n\n// Counter for generating unique tool call IDs\nlet toolCallCounter = 0;\n\nexport const streamGoogle: StreamFunction<\"google-generative-ai\", GoogleOptions> = (\n\tmodel: Model<\"google-generative-ai\">,\n\tcontext: Context,\n\toptions?: GoogleOptions,\n): AssistantMessageEventStream => {\n\tconst stream = new AssistantMessageEventStream();\n\n\t(async () => {\n\t\tconst output: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tcontent: [],\n\t\t\tapi: \"google-generative-ai\" as Api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\tstopReason: \"stop\",\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\ttry {\n\t\t\tconst apiKey = options?.apiKey;\n\t\t\tif (!apiKey) {\n\t\t\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t\t\t}\n\t\t\tconst client = createClient(model, apiKey, options?.headers);\n\t\t\tlet params = buildParams(model, context, options);\n\t\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\t\tif (nextParams !== undefined) {\n\t\t\t\tparams = nextParams as GenerateContentParameters;\n\t\t\t}\n\t\t\tconst googleStream = await client.models.generateContentStream(params);\n\n\t\t\tstream.push({ type: \"start\", partial: output });\n\t\t\tlet currentBlock: TextContent | ThinkingContent | null = null;\n\t\t\tconst blocks = output.content;\n\t\t\tconst blockIndex = () => blocks.length - 1;\n\t\t\tfor await (const chunk of googleStream) {\n\t\t\t\t// @google/genai documents GenerateContentResponse.responseId as an output-only field\n\t\t\t\t// used to identify each response. Keep the first non-empty one from the stream.\n\t\t\t\toutput.responseId ||= chunk.responseId;\n\t\t\t\tconst candidate = chunk.candidates?.[0];\n\t\t\t\tif (candidate?.content?.parts) {\n\t\t\t\t\tfor (const part of candidate.content.parts) {\n\t\t\t\t\t\tif (part.text !== undefined) {\n\t\t\t\t\t\t\tconst isThinking = isThinkingPart(part);\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!currentBlock ||\n\t\t\t\t\t\t\t\t(isThinking && currentBlock.type !== \"thinking\") ||\n\t\t\t\t\t\t\t\t(!isThinking && currentBlock.type !== \"text\")\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tif (currentBlock) {\n\t\t\t\t\t\t\t\t\tif (currentBlock.type === \"text\") {\n\t\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\t\t\t\t\t\tcontentIndex: blocks.length - 1,\n\t\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.text,\n\t\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.thinking,\n\t\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (isThinking) {\n\t\t\t\t\t\t\t\t\tcurrentBlock = { type: \"thinking\", thinking: \"\", thinkingSignature: undefined };\n\t\t\t\t\t\t\t\t\toutput.content.push(currentBlock);\n\t\t\t\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: blockIndex(), partial: output });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcurrentBlock = { type: \"text\", text: \"\" };\n\t\t\t\t\t\t\t\t\toutput.content.push(currentBlock);\n\t\t\t\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex: blockIndex(), partial: output });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (currentBlock.type === \"thinking\") {\n\t\t\t\t\t\t\t\tcurrentBlock.thinking += part.text;\n\t\t\t\t\t\t\t\tcurrentBlock.thinkingSignature = retainThoughtSignature(\n\t\t\t\t\t\t\t\t\tcurrentBlock.thinkingSignature,\n\t\t\t\t\t\t\t\t\tpart.thoughtSignature,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\tdelta: part.text,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcurrentBlock.text += part.text;\n\t\t\t\t\t\t\t\tcurrentBlock.textSignature = retainThoughtSignature(\n\t\t\t\t\t\t\t\t\tcurrentBlock.textSignature,\n\t\t\t\t\t\t\t\t\tpart.thoughtSignature,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\tdelta: part.text,\n\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (part.functionCall) {\n\t\t\t\t\t\t\tif (currentBlock) {\n\t\t\t\t\t\t\t\tif (currentBlock.type === \"text\") {\n\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.text,\n\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\t\t\tcontent: currentBlock.thinking,\n\t\t\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcurrentBlock = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Generate unique ID if not provided or if it's a duplicate\n\t\t\t\t\t\t\tconst providedId = part.functionCall.id;\n\t\t\t\t\t\t\tconst needsNewId =\n\t\t\t\t\t\t\t\t!providedId || output.content.some((b) => b.type === \"toolCall\" && b.id === providedId);\n\t\t\t\t\t\t\tconst toolCallId = needsNewId\n\t\t\t\t\t\t\t\t? `${part.functionCall.name}_${Date.now()}_${++toolCallCounter}`\n\t\t\t\t\t\t\t\t: providedId;\n\n\t\t\t\t\t\t\tconst toolCall: ToolCall = {\n\t\t\t\t\t\t\t\ttype: \"toolCall\",\n\t\t\t\t\t\t\t\tid: toolCallId,\n\t\t\t\t\t\t\t\tname: part.functionCall.name || \"\",\n\t\t\t\t\t\t\t\targuments: (part.functionCall.args as Record<string, any>) ?? {},\n\t\t\t\t\t\t\t\t...(part.thoughtSignature && { thoughtSignature: part.thoughtSignature }),\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\toutput.content.push(toolCall);\n\t\t\t\t\t\t\tstream.push({ type: \"toolcall_start\", contentIndex: blockIndex(), partial: output });\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\t\t\tdelta: JSON.stringify(toolCall.arguments),\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tstream.push({ type: \"toolcall_end\", contentIndex: blockIndex(), toolCall, partial: output });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (candidate?.finishReason) {\n\t\t\t\t\toutput.stopReason = mapStopReason(candidate.finishReason);\n\t\t\t\t\tif (output.content.some((b) => b.type === \"toolCall\")) {\n\t\t\t\t\t\toutput.stopReason = \"toolUse\";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (chunk.usageMetadata) {\n\t\t\t\t\toutput.usage = {\n\t\t\t\t\t\tinput:\n\t\t\t\t\t\t\t(chunk.usageMetadata.promptTokenCount || 0) - (chunk.usageMetadata.cachedContentTokenCount || 0),\n\t\t\t\t\t\toutput:\n\t\t\t\t\t\t\t(chunk.usageMetadata.candidatesTokenCount || 0) + (chunk.usageMetadata.thoughtsTokenCount || 0),\n\t\t\t\t\t\tcacheRead: chunk.usageMetadata.cachedContentTokenCount || 0,\n\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\ttotalTokens: chunk.usageMetadata.totalTokenCount || 0,\n\t\t\t\t\t\tcost: {\n\t\t\t\t\t\t\tinput: 0,\n\t\t\t\t\t\t\toutput: 0,\n\t\t\t\t\t\t\tcacheRead: 0,\n\t\t\t\t\t\t\tcacheWrite: 0,\n\t\t\t\t\t\t\ttotal: 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (currentBlock) {\n\t\t\t\tif (currentBlock.type === \"text\") {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\tcontent: currentBlock.text,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tstream.push({\n\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\tcontentIndex: blockIndex(),\n\t\t\t\t\t\tcontent: currentBlock.thinking,\n\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options?.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tif (output.stopReason === \"aborted\" || output.stopReason === \"error\") {\n\t\t\t\tthrow new Error(\"An unknown error occurred\");\n\t\t\t}\n\n\t\t\tstream.push({ type: \"done\", reason: output.stopReason, message: output });\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\t// Remove internal index property used during streaming\n\t\t\tfor (const block of output.content) {\n\t\t\t\tif (\"index\" in block) {\n\t\t\t\t\tdelete (block as { index?: number }).index;\n\t\t\t\t}\n\t\t\t}\n\t\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\t\tstream.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\t\tstream.end();\n\t\t}\n\t})();\n\n\treturn stream;\n};\n\nexport const streamSimpleGoogle: StreamFunction<\"google-generative-ai\", SimpleStreamOptions> = (\n\tmodel: Model<\"google-generative-ai\">,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n): AssistantMessageEventStream => {\n\tconst apiKey = options?.apiKey;\n\tif (!apiKey) {\n\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t}\n\n\tconst base = buildBaseOptions(model, options, apiKey);\n\tif (!options?.reasoning) {\n\t\treturn streamGoogle(model, context, { ...base, thinking: { enabled: false } } satisfies GoogleOptions);\n\t}\n\n\tconst clampedReasoning = clampThinkingLevel(model, options.reasoning);\n\tconst effort = (clampedReasoning === \"off\" ? \"high\" : clampedReasoning) as ClampedThinkingLevel;\n\tconst googleModel = model as Model<\"google-generative-ai\">;\n\n\tif (isGemini3ProModel(googleModel) || isGemini3FlashModel(googleModel) || isGemma4Model(googleModel)) {\n\t\treturn streamGoogle(model, context, {\n\t\t\t...base,\n\t\t\tthinking: {\n\t\t\t\tenabled: true,\n\t\t\t\tlevel: getThinkingLevel(effort, googleModel),\n\t\t\t},\n\t\t} satisfies GoogleOptions);\n\t}\n\n\treturn streamGoogle(model, context, {\n\t\t...base,\n\t\tthinking: {\n\t\t\tenabled: true,\n\t\t\tbudgetTokens: getGoogleBudget(googleModel, effort, options.thinkingBudgets),\n\t\t},\n\t} satisfies GoogleOptions);\n};\n\nexport function register(): void {\n\tregisterApiProvider({\n\t\tapi: \"google-generative-ai\",\n\t\tstream: streamGoogle,\n\t\tstreamSimple: streamSimpleGoogle,\n\t});\n}\n\nfunction createClient(\n\tmodel: Model<\"google-generative-ai\">,\n\tapiKey?: string,\n\toptionsHeaders?: Record<string, string>,\n): GoogleGenAI {\n\tconst httpOptions: { baseUrl?: string; apiVersion?: string; headers?: Record<string, string> } = {};\n\tif (model.baseUrl) {\n\t\thttpOptions.baseUrl = model.baseUrl;\n\t\thttpOptions.apiVersion = \"\"; // baseUrl already includes version path, don't append\n\t}\n\tif (model.headers || optionsHeaders) {\n\t\thttpOptions.headers = { ...model.headers, ...optionsHeaders };\n\t}\n\n\treturn new GoogleGenAI({\n\t\tapiKey,\n\t\thttpOptions: Object.keys(httpOptions).length > 0 ? httpOptions : undefined,\n\t});\n}\n\nfunction buildParams(\n\tmodel: Model<\"google-generative-ai\">,\n\tcontext: Context,\n\toptions: GoogleOptions = {},\n): GenerateContentParameters {\n\tconst contents = convertMessages(model, context);\n\n\tconst generationConfig: GenerateContentConfig = {};\n\tif (options.temperature !== undefined) {\n\t\tgenerationConfig.temperature = options.temperature;\n\t}\n\tif (options.maxTokens !== undefined) {\n\t\tgenerationConfig.maxOutputTokens = options.maxTokens;\n\t}\n\n\tconst config: GenerateContentConfig = {\n\t\t...(Object.keys(generationConfig).length > 0 && generationConfig),\n\t\t...(context.systemPrompt && { systemInstruction: sanitizeSurrogates(context.systemPrompt) }),\n\t\t...(context.tools && context.tools.length > 0 && { tools: convertTools(context.tools) }),\n\t};\n\n\tif (context.tools && context.tools.length > 0 && options.toolChoice) {\n\t\tconfig.toolConfig = {\n\t\t\tfunctionCallingConfig: {\n\t\t\t\tmode: mapToolChoice(options.toolChoice),\n\t\t\t},\n\t\t};\n\t} else {\n\t\tconfig.toolConfig = undefined;\n\t}\n\n\tif (options.thinking?.enabled && model.reasoning) {\n\t\tconst thinkingConfig: ThinkingConfig = { includeThoughts: true };\n\t\tif (options.thinking.level !== undefined) {\n\t\t\t// Cast to any since our GoogleThinkingLevel mirrors Google's ThinkingLevel enum values\n\t\t\tthinkingConfig.thinkingLevel = options.thinking.level as any;\n\t\t} else if (options.thinking.budgetTokens !== undefined) {\n\t\t\tthinkingConfig.thinkingBudget = options.thinking.budgetTokens;\n\t\t}\n\t\tconfig.thinkingConfig = thinkingConfig;\n\t} else if (model.reasoning && options.thinking && !options.thinking.enabled) {\n\t\tconfig.thinkingConfig = getDisabledThinkingConfig(model);\n\t}\n\n\tif (options.signal) {\n\t\tif (options.signal.aborted) {\n\t\t\tthrow new Error(\"Request aborted\");\n\t\t}\n\t\tconfig.abortSignal = options.signal;\n\t}\n\n\tconst params: GenerateContentParameters = {\n\t\tmodel: model.id,\n\t\tcontents,\n\t\tconfig,\n\t};\n\n\treturn params;\n}\n\ntype ClampedThinkingLevel = Exclude<ThinkingLevel, \"xhigh\">;\n\nfunction isGemma4Model(model: Model<\"google-generative-ai\">): boolean {\n\treturn /gemma-?4/.test(model.id.toLowerCase());\n}\n\nfunction isGemini3ProModel(model: Model<\"google-generative-ai\">): boolean {\n\treturn /gemini-3(?:\\.\\d+)?-pro/.test(model.id.toLowerCase());\n}\n\nfunction isGemini3FlashModel(model: Model<\"google-generative-ai\">): boolean {\n\tconst id = model.id.toLowerCase();\n\treturn /gemini-3(?:\\.\\d+)?-flash/.test(id) || id === \"gemini-flash-latest\" || id === \"gemini-flash-lite-latest\";\n}\n\nfunction getDisabledThinkingConfig(model: Model<\"google-generative-ai\">): ThinkingConfig {\n\t// Google docs: Gemini 3.1 Pro cannot disable thinking, and Gemini 3 Flash / Flash-Lite\n\t// do not support full thinking-off either. For Gemini 3 models, use the lowest supported\n\t// thinkingLevel without includeThoughts so hidden thinking remains invisible to pi.\n\tif (isGemini3ProModel(model)) {\n\t\treturn { thinkingLevel: \"LOW\" as any };\n\t}\n\tif (isGemini3FlashModel(model)) {\n\t\treturn { thinkingLevel: \"MINIMAL\" as any };\n\t}\n\tif (isGemma4Model(model)) {\n\t\treturn { thinkingLevel: \"MINIMAL\" as any };\n\t}\n\n\t// Gemini 2.x supports disabling via thinkingBudget = 0.\n\treturn { thinkingBudget: 0 };\n}\n\nfunction getThinkingLevel(effort: ClampedThinkingLevel, model: Model<\"google-generative-ai\">): GoogleThinkingLevel {\n\tif (isGemini3ProModel(model)) {\n\t\tswitch (effort) {\n\t\t\tcase \"minimal\":\n\t\t\tcase \"low\":\n\t\t\t\treturn \"LOW\";\n\t\t\tcase \"medium\":\n\t\t\tcase \"high\":\n\t\t\t\treturn \"HIGH\";\n\t\t}\n\t}\n\tif (isGemma4Model(model)) {\n\t\tswitch (effort) {\n\t\t\tcase \"minimal\":\n\t\t\tcase \"low\":\n\t\t\t\treturn \"MINIMAL\";\n\t\t\tcase \"medium\":\n\t\t\tcase \"high\":\n\t\t\t\treturn \"HIGH\";\n\t\t}\n\t}\n\tswitch (effort) {\n\t\tcase \"minimal\":\n\t\t\treturn \"MINIMAL\";\n\t\tcase \"low\":\n\t\t\treturn \"LOW\";\n\t\tcase \"medium\":\n\t\t\treturn \"MEDIUM\";\n\t\tcase \"high\":\n\t\t\treturn \"HIGH\";\n\t}\n}\n\nfunction getGoogleBudget(\n\tmodel: Model<\"google-generative-ai\">,\n\teffort: ClampedThinkingLevel,\n\tcustomBudgets?: ThinkingBudgets,\n): number {\n\tif (customBudgets?.[effort] !== undefined) {\n\t\treturn customBudgets[effort]!;\n\t}\n\n\tif (model.id.includes(\"2.5-pro\")) {\n\t\tconst budgets: Record<ClampedThinkingLevel, number> = {\n\t\t\tminimal: 128,\n\t\t\tlow: 2048,\n\t\t\tmedium: 8192,\n\t\t\thigh: 32768,\n\t\t};\n\t\treturn budgets[effort];\n\t}\n\n\tif (model.id.includes(\"2.5-flash-lite\")) {\n\t\tconst budgets: Record<ClampedThinkingLevel, number> = {\n\t\t\tminimal: 512,\n\t\t\tlow: 2048,\n\t\t\tmedium: 8192,\n\t\t\thigh: 24576,\n\t\t};\n\t\treturn budgets[effort];\n\t}\n\n\tif (model.id.includes(\"2.5-flash\")) {\n\t\tconst budgets: Record<ClampedThinkingLevel, number> = {\n\t\t\tminimal: 128,\n\t\t\tlow: 2048,\n\t\t\tmedium: 8192,\n\t\t\thigh: 24576,\n\t\t};\n\t\treturn budgets[effort];\n\t}\n\n\treturn -1;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../src/providers/google.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,cAAc,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CASjE","sourcesContent":["import { googleGenerativeAIApi } from \"../api/google-generative-ai.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { GOOGLE_MODELS } from \"./google.models.ts\";\n\nexport function googleProvider(): Provider<\"google-generative-ai\"> {\n\treturn createProvider({\n\t\tid: \"google\",\n\t\tname: \"Google\",\n\t\tbaseUrl: \"https://generativelanguage.googleapis.com/v1beta\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Gemini API key\", [\"GEMINI_API_KEY\"]) },\n\t\tmodels: Object.values(GOOGLE_MODELS),\n\t\tapi: googleGenerativeAIApi(),\n\t});\n}\n"]}
|