@sammorrowdrums/mcpi-ai 0.70.8 → 0.85.0-bootstrap.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/LICENSE +21 -0
- package/README.md +845 -486
- 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 +1060 -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 +242 -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 +967 -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/api/cloudflare-gateway-binding.d.ts +69 -0
- package/dist/api/cloudflare-gateway-binding.d.ts.map +1 -0
- package/dist/api/cloudflare-gateway-binding.js +159 -0
- package/dist/api/cloudflare-gateway-binding.js.map +1 -0
- package/dist/api/cloudflare.d.ts +9 -0
- package/dist/api/cloudflare.d.ts.map +1 -0
- package/dist/api/cloudflare.js +9 -0
- package/dist/api/cloudflare.js.map +1 -0
- package/dist/api/constrained-sampling.d.ts +20 -0
- package/dist/api/constrained-sampling.d.ts.map +1 -0
- package/dist/api/constrained-sampling.js +222 -0
- package/dist/api/constrained-sampling.js.map +1 -0
- package/dist/{providers → api}/github-copilot-headers.d.ts +1 -1
- 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 +417 -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/{providers → api}/google-shared.d.ts +23 -7
- package/dist/api/google-shared.d.ts.map +1 -0
- package/dist/{providers → api}/google-shared.js +76 -30
- 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 +466 -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 +19 -0
- package/dist/api/lazy.d.ts.map +1 -0
- package/dist/api/lazy.js +70 -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 +736 -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/api/openai-codex-responses.d.ts +31 -0
- package/dist/api/openai-codex-responses.d.ts.map +1 -0
- package/dist/api/openai-codex-responses.js +1294 -0
- 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/api/openai-completions.d.ts +22 -0
- package/dist/api/openai-completions.d.ts.map +1 -0
- package/dist/api/openai-completions.js +1279 -0
- 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 +3 -0
- package/dist/api/openai-prompt-cache.d.ts.map +1 -0
- package/dist/api/openai-prompt-cache.js +10 -0
- package/dist/api/openai-prompt-cache.js.map +1 -0
- package/dist/{providers → api}/openai-responses-shared.d.ts +11 -3
- package/dist/api/openai-responses-shared.d.ts.map +1 -0
- package/dist/api/openai-responses-shared.js +686 -0
- package/dist/api/openai-responses-shared.js.map +1 -0
- package/dist/{providers → api}/openai-responses.d.ts +5 -4
- package/dist/api/openai-responses.d.ts.map +1 -0
- package/dist/api/openai-responses.js +283 -0
- 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/api/openrouter-images.js +132 -0
- 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/pi-messages.d.ts +97 -0
- package/dist/api/pi-messages.d.ts.map +1 -0
- package/dist/api/pi-messages.js +307 -0
- package/dist/api/pi-messages.js.map +1 -0
- package/dist/api/pi-messages.lazy.d.ts +3 -0
- package/dist/api/pi-messages.lazy.d.ts.map +1 -0
- package/dist/api/pi-messages.lazy.js +3 -0
- package/dist/api/pi-messages.lazy.js.map +1 -0
- package/dist/api/simple-options.d.ts +11 -0
- package/dist/api/simple-options.d.ts.map +1 -0
- package/dist/api/simple-options.js +59 -0
- package/dist/api/simple-options.js.map +1 -0
- package/dist/{providers → api}/transform-messages.d.ts +1 -1
- package/dist/api/transform-messages.d.ts.map +1 -0
- package/dist/{providers → api}/transform-messages.js +4 -1
- 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 +17 -0
- package/dist/auth/credential-store.d.ts.map +1 -0
- package/dist/auth/credential-store.js +51 -0
- package/dist/auth/credential-store.js.map +1 -0
- package/dist/auth/helpers.d.ts +22 -0
- package/dist/auth/helpers.d.ts.map +1 -0
- package/dist/auth/helpers.js +53 -0
- package/dist/auth/helpers.js.map +1 -0
- package/dist/auth/oauth/anthropic.d.ts +9 -0
- package/dist/auth/oauth/anthropic.d.ts.map +1 -0
- package/dist/{utils → auth}/oauth/anthropic.js +66 -93
- package/dist/auth/oauth/anthropic.js.map +1 -0
- package/dist/auth/oauth/device-code.d.ts +23 -0
- package/dist/auth/oauth/device-code.d.ts.map +1 -0
- package/dist/auth/oauth/device-code.js +69 -0
- package/dist/auth/oauth/device-code.js.map +1 -0
- package/dist/auth/oauth/github-copilot.d.ts +6 -0
- package/dist/auth/oauth/github-copilot.d.ts.map +1 -0
- package/dist/auth/oauth/github-copilot.js +328 -0
- package/dist/auth/oauth/github-copilot.js.map +1 -0
- package/dist/auth/oauth/kimi-coding.d.ts +10 -0
- package/dist/auth/oauth/kimi-coding.d.ts.map +1 -0
- package/dist/auth/oauth/kimi-coding.js +261 -0
- package/dist/auth/oauth/kimi-coding.js.map +1 -0
- package/dist/auth/oauth/load.d.ts +27 -0
- package/dist/auth/oauth/load.d.ts.map +1 -0
- package/dist/auth/oauth/load.js +59 -0
- package/dist/auth/oauth/load.js.map +1 -0
- package/dist/auth/oauth/oauth-page.d.ts.map +1 -0
- package/dist/auth/oauth/oauth-page.js.map +1 -0
- package/dist/auth/oauth/openai-codex.d.ts +9 -0
- package/dist/auth/oauth/openai-codex.d.ts.map +1 -0
- package/dist/auth/oauth/openai-codex.js +450 -0
- package/dist/auth/oauth/openai-codex.js.map +1 -0
- package/dist/auth/oauth/openrouter.d.ts +15 -0
- package/dist/auth/oauth/openrouter.d.ts.map +1 -0
- package/dist/auth/oauth/openrouter.js +277 -0
- package/dist/auth/oauth/openrouter.js.map +1 -0
- package/dist/auth/oauth/pkce.d.ts.map +1 -0
- package/dist/auth/oauth/pkce.js.map +1 -0
- package/dist/auth/oauth/radius.d.ts +17 -0
- package/dist/auth/oauth/radius.d.ts.map +1 -0
- package/dist/auth/oauth/radius.js +321 -0
- package/dist/auth/oauth/radius.js.map +1 -0
- package/dist/auth/oauth/xai.d.ts +6 -0
- package/dist/auth/oauth/xai.d.ts.map +1 -0
- package/dist/auth/oauth/xai.js +190 -0
- package/dist/auth/oauth/xai.js.map +1 -0
- package/dist/auth/resolve.d.ts +27 -0
- package/dist/auth/resolve.d.ts.map +1 -0
- package/dist/auth/resolve.js +132 -0
- package/dist/auth/resolve.js.map +1 -0
- package/dist/auth/types.d.ts +231 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/bedrock-provider.d.ts +2 -2
- package/dist/bedrock-provider.d.ts.map +1 -1
- package/dist/bedrock-provider.js +3 -3
- package/dist/bedrock-provider.js.map +1 -1
- package/dist/bun-oauth.d.ts +3 -0
- package/dist/bun-oauth.d.ts.map +1 -0
- package/dist/bun-oauth.js +21 -0
- package/dist/bun-oauth.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +60 -63
- package/dist/cli.js.map +1 -1
- package/dist/compat/extension-oauth-types.d.ts +39 -0
- package/dist/compat/extension-oauth-types.d.ts.map +1 -0
- package/dist/compat/extension-oauth-types.js +2 -0
- package/dist/compat/extension-oauth-types.js.map +1 -0
- package/dist/compat.d.ts +67 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +199 -0
- package/dist/compat.js.map +1 -0
- package/dist/env-api-keys.d.ts +8 -5
- package/dist/env-api-keys.d.ts.map +1 -1
- package/dist/env-api-keys.js +60 -22
- package/dist/env-api-keys.js.map +1 -1
- package/dist/image-models.d.ts +10 -0
- package/dist/image-models.d.ts.map +1 -0
- package/dist/image-models.generated.d.ts +740 -0
- package/dist/image-models.generated.d.ts.map +1 -0
- package/dist/image-models.generated.js +742 -0
- package/dist/image-models.generated.js.map +1 -0
- package/dist/image-models.js +23 -0
- package/dist/image-models.js.map +1 -0
- package/dist/images-api-registry.d.ts +14 -0
- package/dist/images-api-registry.d.ts.map +1 -0
- package/dist/images-api-registry.js +22 -0
- package/dist/images-api-registry.js.map +1 -0
- package/dist/images-models.d.ts +95 -0
- package/dist/images-models.d.ts.map +1 -0
- package/dist/images-models.js +143 -0
- package/dist/images-models.js.map +1 -0
- package/dist/images.d.ts +4 -0
- package/dist/images.d.ts.map +1 -0
- package/dist/images.js +14 -0
- package/dist/images.js.map +1 -0
- package/dist/index.d.ts +32 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/legacy-api-aliases.d.ts +42 -0
- package/dist/legacy-api-aliases.d.ts.map +1 -0
- package/dist/legacy-api-aliases.js +49 -0
- package/dist/legacy-api-aliases.js.map +1 -0
- package/dist/model-catalog.d.ts +17 -0
- package/dist/model-catalog.d.ts.map +1 -0
- package/dist/model-catalog.js +4 -0
- package/dist/model-catalog.js.map +1 -0
- package/dist/models-store.d.ts +29 -0
- package/dist/models-store.d.ts.map +1 -0
- package/dist/models-store.js +17 -0
- package/dist/models-store.js.map +1 -0
- package/dist/models.d.ts +191 -15
- package/dist/models.d.ts.map +1 -1
- package/dist/models.generated.d.ts +78 -15427
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.generated.js +78 -15235
- package/dist/models.generated.js.map +1 -1
- package/dist/models.js +565 -38
- package/dist/models.js.map +1 -1
- package/dist/oauth.d.ts +2 -1
- package/dist/oauth.d.ts.map +1 -1
- package/dist/oauth.js +1 -1
- package/dist/oauth.js.map +1 -1
- package/dist/providers/all.d.ts +28 -0
- package/dist/providers/all.d.ts.map +1 -0
- package/dist/providers/all.js +131 -0
- package/dist/providers/all.js.map +1 -0
- package/dist/providers/amazon-bedrock.d.ts +2 -37
- package/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/providers/amazon-bedrock.js +81 -724
- package/dist/providers/amazon-bedrock.js.map +1 -1
- package/dist/providers/amazon-bedrock.models.d.ts +4 -0
- package/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
- package/dist/providers/amazon-bedrock.models.js +6 -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 +4 -0
- package/dist/providers/ant-ling.models.d.ts.map +1 -0
- package/dist/providers/ant-ling.models.js +6 -0
- package/dist/providers/ant-ling.models.js.map +1 -0
- package/dist/providers/anthropic.d.ts +2 -53
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +48 -940
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/anthropic.models.d.ts +4 -0
- package/dist/providers/anthropic.models.d.ts.map +1 -0
- package/dist/providers/anthropic.models.js +6 -0
- package/dist/providers/anthropic.models.js.map +1 -0
- package/dist/providers/azure-openai-responses.d.ts +2 -14
- package/dist/providers/azure-openai-responses.d.ts.map +1 -1
- package/dist/providers/azure-openai-responses.js +11 -184
- package/dist/providers/azure-openai-responses.js.map +1 -1
- package/dist/providers/azure-openai-responses.models.d.ts +4 -0
- package/dist/providers/azure-openai-responses.models.d.ts.map +1 -0
- package/dist/providers/azure-openai-responses.models.js +6 -0
- package/dist/providers/azure-openai-responses.models.js.map +1 -0
- package/dist/providers/baseten.d.ts +3 -0
- package/dist/providers/baseten.d.ts.map +1 -0
- package/dist/providers/baseten.js +15 -0
- package/dist/providers/baseten.js.map +1 -0
- package/dist/providers/baseten.models.d.ts +4 -0
- package/dist/providers/baseten.models.d.ts.map +1 -0
- package/dist/providers/baseten.models.js +6 -0
- package/dist/providers/baseten.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 +4 -0
- package/dist/providers/cerebras.models.d.ts.map +1 -0
- package/dist/providers/cerebras.models.js +6 -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 +21 -0
- package/dist/providers/cloudflare-ai-gateway.js.map +1 -0
- package/dist/providers/cloudflare-ai-gateway.models.d.ts +4 -0
- package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
- package/dist/providers/cloudflare-ai-gateway.models.js +6 -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 +86 -0
- package/dist/providers/cloudflare-auth.js.map +1 -0
- package/dist/providers/cloudflare-stream.d.ts +8 -0
- package/dist/providers/cloudflare-stream.d.ts.map +1 -0
- package/dist/providers/cloudflare-stream.js +21 -0
- package/dist/providers/cloudflare-stream.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 +15 -0
- package/dist/providers/cloudflare-workers-ai.js.map +1 -0
- package/dist/providers/cloudflare-workers-ai.models.d.ts +4 -0
- package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
- package/dist/providers/cloudflare-workers-ai.models.js +6 -0
- package/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
- package/dist/providers/data/.manifest.json +1 -0
- package/dist/providers/data/amazon-bedrock.json +1 -0
- package/dist/providers/data/ant-ling.json +1 -0
- package/dist/providers/data/anthropic.json +1 -0
- package/dist/providers/data/azure-openai-responses.json +1 -0
- package/dist/providers/data/baseten.json +1 -0
- package/dist/providers/data/cerebras.json +1 -0
- package/dist/providers/data/cloudflare-ai-gateway.json +1 -0
- package/dist/providers/data/cloudflare-workers-ai.json +1 -0
- package/dist/providers/data/deepseek.json +1 -0
- package/dist/providers/data/fireworks.json +1 -0
- package/dist/providers/data/github-copilot.json +1 -0
- package/dist/providers/data/google-vertex.json +1 -0
- package/dist/providers/data/google.json +1 -0
- package/dist/providers/data/groq.json +1 -0
- package/dist/providers/data/huggingface.json +1 -0
- package/dist/providers/data/kimi-coding.json +1 -0
- package/dist/providers/data/minimax-cn.json +1 -0
- package/dist/providers/data/minimax.json +1 -0
- package/dist/providers/data/mistral.json +1 -0
- package/dist/providers/data/moonshotai-cn.json +1 -0
- package/dist/providers/data/moonshotai.json +1 -0
- package/dist/providers/data/nvidia.json +1 -0
- package/dist/providers/data/openai-codex.json +1 -0
- package/dist/providers/data/openai.json +1 -0
- package/dist/providers/data/opencode-go.json +1 -0
- package/dist/providers/data/opencode.json +1 -0
- package/dist/providers/data/openrouter.json +1 -0
- package/dist/providers/data/qwen-token-plan-cn.json +1 -0
- package/dist/providers/data/qwen-token-plan-individual.json +1 -0
- package/dist/providers/data/qwen-token-plan.json +1 -0
- package/dist/providers/data/together.json +1 -0
- package/dist/providers/data/vercel-ai-gateway.json +1 -0
- package/dist/providers/data/xai.json +1 -0
- package/dist/providers/data/xiaomi-token-plan-ams.json +1 -0
- package/dist/providers/data/xiaomi-token-plan-cn.json +1 -0
- package/dist/providers/data/xiaomi-token-plan-sgp.json +1 -0
- package/dist/providers/data/xiaomi.json +1 -0
- package/dist/providers/data/zai-coding-cn.json +1 -0
- package/dist/providers/data/zai.json +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 +4 -0
- package/dist/providers/deepseek.models.d.ts.map +1 -0
- package/dist/providers/deepseek.models.js +6 -0
- package/dist/providers/deepseek.models.js.map +1 -0
- package/dist/providers/faux.d.ts +53 -7
- package/dist/providers/faux.d.ts.map +1 -1
- package/dist/providers/faux.js +131 -11
- 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 +4 -0
- package/dist/providers/fireworks.models.d.ts.map +1 -0
- package/dist/providers/fireworks.models.js +6 -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 +35 -0
- package/dist/providers/github-copilot.js.map +1 -0
- package/dist/providers/github-copilot.models.d.ts +4 -0
- package/dist/providers/github-copilot.models.d.ts.map +1 -0
- package/dist/providers/github-copilot.models.js +6 -0
- package/dist/providers/github-copilot.models.js.map +1 -0
- package/dist/providers/google-vertex.d.ts +2 -14
- package/dist/providers/google-vertex.d.ts.map +1 -1
- package/dist/providers/google-vertex.js +86 -433
- package/dist/providers/google-vertex.js.map +1 -1
- package/dist/providers/google-vertex.models.d.ts +4 -0
- package/dist/providers/google-vertex.models.d.ts.map +1 -0
- package/dist/providers/google-vertex.models.js +6 -0
- package/dist/providers/google-vertex.models.js.map +1 -0
- package/dist/providers/google.d.ts +2 -12
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js +12 -396
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/google.models.d.ts +4 -0
- package/dist/providers/google.models.d.ts.map +1 -0
- package/dist/providers/google.models.js +6 -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 +4 -0
- package/dist/providers/groq.models.d.ts.map +1 -0
- package/dist/providers/groq.models.js +6 -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 +4 -0
- package/dist/providers/huggingface.models.d.ts.map +1 -0
- package/dist/providers/huggingface.models.js +6 -0
- package/dist/providers/huggingface.models.js.map +1 -0
- package/dist/providers/images/register-builtins.d.ts +4 -0
- 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 +24 -0
- package/dist/providers/kimi-coding.js.map +1 -0
- package/dist/providers/kimi-coding.models.d.ts +4 -0
- package/dist/providers/kimi-coding.models.d.ts.map +1 -0
- package/dist/providers/kimi-coding.models.js +6 -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 +4 -0
- package/dist/providers/minimax-cn.models.d.ts.map +1 -0
- package/dist/providers/minimax-cn.models.js +6 -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 +4 -0
- package/dist/providers/minimax.models.d.ts.map +1 -0
- package/dist/providers/minimax.models.js +6 -0
- package/dist/providers/minimax.models.js.map +1 -0
- package/dist/providers/mistral.d.ts +2 -24
- package/dist/providers/mistral.d.ts.map +1 -1
- package/dist/providers/mistral.js +12 -531
- package/dist/providers/mistral.js.map +1 -1
- package/dist/providers/mistral.models.d.ts +4 -0
- package/dist/providers/mistral.models.d.ts.map +1 -0
- package/dist/providers/mistral.models.js +6 -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 +4 -0
- package/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
- package/dist/providers/moonshotai-cn.models.js +6 -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 +4 -0
- package/dist/providers/moonshotai.models.d.ts.map +1 -0
- package/dist/providers/moonshotai.models.js +6 -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 +4 -0
- package/dist/providers/nvidia.models.d.ts.map +1 -0
- package/dist/providers/nvidia.models.js +6 -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 +22 -0
- package/dist/providers/openai-codex.js.map +1 -0
- package/dist/providers/openai-codex.models.d.ts +4 -0
- package/dist/providers/openai-codex.models.d.ts.map +1 -0
- package/dist/providers/openai-codex.models.js +6 -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 +4 -0
- package/dist/providers/openai.models.d.ts.map +1 -0
- package/dist/providers/openai.models.js +6 -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 +20 -0
- package/dist/providers/opencode-go.js.map +1 -0
- package/dist/providers/opencode-go.models.d.ts +4 -0
- package/dist/providers/opencode-go.models.d.ts.map +1 -0
- package/dist/providers/opencode-go.models.js +6 -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 +4 -0
- package/dist/providers/opencode.models.d.ts.map +1 -0
- package/dist/providers/opencode.models.js +6 -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 +22 -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 +23 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/openrouter.models.d.ts +4 -0
- package/dist/providers/openrouter.models.d.ts.map +1 -0
- package/dist/providers/openrouter.models.js +6 -0
- package/dist/providers/openrouter.models.js.map +1 -0
- package/dist/providers/qwen-token-plan-cn.d.ts +3 -0
- package/dist/providers/qwen-token-plan-cn.d.ts.map +1 -0
- package/dist/providers/qwen-token-plan-cn.js +15 -0
- package/dist/providers/qwen-token-plan-cn.js.map +1 -0
- package/dist/providers/qwen-token-plan-cn.models.d.ts +4 -0
- package/dist/providers/qwen-token-plan-cn.models.d.ts.map +1 -0
- package/dist/providers/qwen-token-plan-cn.models.js +6 -0
- package/dist/providers/qwen-token-plan-cn.models.js.map +1 -0
- package/dist/providers/qwen-token-plan-individual.d.ts +3 -0
- package/dist/providers/qwen-token-plan-individual.d.ts.map +1 -0
- package/dist/providers/qwen-token-plan-individual.js +15 -0
- package/dist/providers/qwen-token-plan-individual.js.map +1 -0
- package/dist/providers/qwen-token-plan-individual.models.d.ts +4 -0
- package/dist/providers/qwen-token-plan-individual.models.d.ts.map +1 -0
- package/dist/providers/qwen-token-plan-individual.models.js +6 -0
- package/dist/providers/qwen-token-plan-individual.models.js.map +1 -0
- package/dist/providers/qwen-token-plan.d.ts +3 -0
- package/dist/providers/qwen-token-plan.d.ts.map +1 -0
- package/dist/providers/qwen-token-plan.js +15 -0
- package/dist/providers/qwen-token-plan.js.map +1 -0
- package/dist/providers/qwen-token-plan.models.d.ts +4 -0
- package/dist/providers/qwen-token-plan.models.d.ts.map +1 -0
- package/dist/providers/qwen-token-plan.models.js +6 -0
- package/dist/providers/qwen-token-plan.models.js.map +1 -0
- package/dist/providers/radius-config.d.ts +26 -0
- package/dist/providers/radius-config.d.ts.map +1 -0
- package/dist/providers/radius-config.js +63 -0
- package/dist/providers/radius-config.js.map +1 -0
- package/dist/providers/radius.d.ts +9 -0
- package/dist/providers/radius.d.ts.map +1 -0
- package/dist/providers/radius.js +64 -0
- package/dist/providers/radius.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 +4 -0
- package/dist/providers/together.models.d.ts.map +1 -0
- package/dist/providers/together.models.js +6 -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 +4 -0
- package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
- package/dist/providers/vercel-ai-gateway.models.js +6 -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 +28 -0
- package/dist/providers/xai.js.map +1 -0
- package/dist/providers/xai.models.d.ts +4 -0
- package/dist/providers/xai.models.d.ts.map +1 -0
- package/dist/providers/xai.models.js +6 -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 +4 -0
- package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-ams.models.js +6 -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 +4 -0
- package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-cn.models.js +6 -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 +4 -0
- package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
- package/dist/providers/xiaomi-token-plan-sgp.models.js +6 -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 +4 -0
- package/dist/providers/xiaomi.models.d.ts.map +1 -0
- package/dist/providers/xiaomi.models.js +6 -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 +4 -0
- package/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
- package/dist/providers/zai-coding-cn.models.js +6 -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 +4 -0
- package/dist/providers/zai.models.d.ts.map +1 -0
- package/dist/providers/zai.models.js +6 -0
- package/dist/providers/zai.models.js.map +1 -0
- package/dist/session-resources.d.ts +4 -0
- package/dist/session-resources.d.ts.map +1 -0
- package/dist/session-resources.js +22 -0
- package/dist/session-resources.js.map +1 -0
- package/dist/types.d.ts +361 -49
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/abort-signals.d.ts +6 -0
- package/dist/utils/abort-signals.d.ts.map +1 -0
- package/dist/utils/abort-signals.js +34 -0
- package/dist/utils/abort-signals.js.map +1 -0
- package/dist/utils/abort.d.ts +8 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +49 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/deferred-tools.d.ts +9 -0
- package/dist/utils/deferred-tools.d.ts.map +1 -0
- package/dist/utils/deferred-tools.js +36 -0
- package/dist/utils/deferred-tools.js.map +1 -0
- package/dist/utils/diagnostics.d.ts +19 -0
- package/dist/utils/diagnostics.d.ts.map +1 -0
- package/dist/utils/diagnostics.js +25 -0
- package/dist/utils/diagnostics.js.map +1 -0
- package/dist/utils/error-body.d.ts +25 -0
- package/dist/utils/error-body.d.ts.map +1 -0
- package/dist/utils/error-body.js +133 -0
- package/dist/utils/error-body.js.map +1 -0
- package/dist/utils/estimate.d.ts +17 -0
- package/dist/utils/estimate.d.ts.map +1 -0
- package/dist/utils/estimate.js +116 -0
- package/dist/utils/estimate.js.map +1 -0
- package/dist/utils/event-stream.d.ts +3 -3
- package/dist/utils/event-stream.d.ts.map +1 -1
- package/dist/utils/event-stream.js +2 -2
- package/dist/utils/event-stream.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/node-http-proxy.d.ts +4 -0
- package/dist/utils/node-http-proxy.d.ts.map +1 -0
- package/dist/utils/node-http-proxy.js +92 -0
- package/dist/utils/node-http-proxy.js.map +1 -0
- package/dist/utils/overflow.d.ts +19 -4
- package/dist/utils/overflow.d.ts.map +1 -1
- package/dist/utils/overflow.js +44 -4
- package/dist/utils/overflow.js.map +1 -1
- package/dist/utils/pi-user-agent.d.ts +2 -0
- package/dist/utils/pi-user-agent.d.ts.map +1 -0
- package/dist/utils/pi-user-agent.js +12 -0
- package/dist/utils/pi-user-agent.js.map +1 -0
- package/dist/utils/provider-env.d.ts +7 -0
- package/dist/utils/provider-env.d.ts.map +1 -0
- package/dist/utils/provider-env.js +44 -0
- package/dist/utils/provider-env.js.map +1 -0
- package/dist/utils/provider-retry.d.ts +16 -0
- package/dist/utils/provider-retry.d.ts.map +1 -0
- package/dist/utils/provider-retry.js +94 -0
- package/dist/utils/provider-retry.js.map +1 -0
- package/dist/utils/retry.d.ts +53 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +174 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/text.d.ts +6 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +10 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/utils/uuid.d.ts +3 -0
- package/dist/utils/uuid.d.ts.map +1 -0
- package/dist/utils/uuid.js +46 -0
- package/dist/utils/uuid.js.map +1 -0
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +49 -21
- package/dist/utils/validation.js.map +1 -1
- package/package.json +52 -55
- 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/providers/github-copilot-headers.d.ts.map +0 -1
- package/dist/providers/github-copilot-headers.js.map +0 -1
- package/dist/providers/google-gemini-cli.d.ts +0 -74
- package/dist/providers/google-gemini-cli.d.ts.map +0 -1
- package/dist/providers/google-gemini-cli.js +0 -779
- package/dist/providers/google-gemini-cli.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/openai-codex-responses.d.ts +0 -11
- package/dist/providers/openai-codex-responses.d.ts.map +0 -1
- package/dist/providers/openai-codex-responses.js +0 -779
- package/dist/providers/openai-codex-responses.js.map +0 -1
- package/dist/providers/openai-completions.d.ts +0 -19
- package/dist/providers/openai-completions.d.ts.map +0 -1
- package/dist/providers/openai-completions.js +0 -876
- package/dist/providers/openai-completions.js.map +0 -1
- package/dist/providers/openai-responses-shared.d.ts.map +0 -1
- package/dist/providers/openai-responses-shared.js +0 -483
- 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 +0 -208
- package/dist/providers/openai-responses.js.map +0 -1
- package/dist/providers/register-builtins.d.ts +0 -38
- package/dist/providers/register-builtins.d.ts.map +0 -1
- package/dist/providers/register-builtins.js +0 -261
- package/dist/providers/register-builtins.js.map +0 -1
- package/dist/providers/simple-options.d.ts +0 -8
- package/dist/providers/simple-options.d.ts.map +0 -1
- package/dist/providers/simple-options.js +0 -36
- 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 -8
- package/dist/stream.d.ts.map +0 -1
- package/dist/stream.js +0 -27
- package/dist/stream.js.map +0 -1
- package/dist/utils/oauth/anthropic.d.ts +0 -25
- package/dist/utils/oauth/anthropic.d.ts.map +0 -1
- package/dist/utils/oauth/anthropic.js.map +0 -1
- package/dist/utils/oauth/github-copilot.d.ts +0 -30
- package/dist/utils/oauth/github-copilot.d.ts.map +0 -1
- package/dist/utils/oauth/github-copilot.js +0 -292
- package/dist/utils/oauth/github-copilot.js.map +0 -1
- package/dist/utils/oauth/google-antigravity.d.ts +0 -26
- package/dist/utils/oauth/google-antigravity.d.ts.map +0 -1
- package/dist/utils/oauth/google-antigravity.js +0 -377
- package/dist/utils/oauth/google-antigravity.js.map +0 -1
- package/dist/utils/oauth/google-gemini-cli.d.ts +0 -26
- package/dist/utils/oauth/google-gemini-cli.d.ts.map +0 -1
- package/dist/utils/oauth/google-gemini-cli.js +0 -482
- package/dist/utils/oauth/google-gemini-cli.js.map +0 -1
- package/dist/utils/oauth/index.d.ts +0 -61
- package/dist/utils/oauth/index.d.ts.map +0 -1
- package/dist/utils/oauth/index.js +0 -131
- package/dist/utils/oauth/index.js.map +0 -1
- package/dist/utils/oauth/oauth-page.d.ts.map +0 -1
- package/dist/utils/oauth/oauth-page.js.map +0 -1
- package/dist/utils/oauth/openai-codex.d.ts +0 -34
- package/dist/utils/oauth/openai-codex.d.ts.map +0 -1
- package/dist/utils/oauth/openai-codex.js +0 -374
- package/dist/utils/oauth/openai-codex.js.map +0 -1
- package/dist/utils/oauth/pkce.d.ts.map +0 -1
- package/dist/utils/oauth/pkce.js.map +0 -1
- package/dist/utils/oauth/types.d.ts +0 -47
- package/dist/utils/oauth/types.d.ts.map +0 -1
- package/dist/utils/oauth/types.js.map +0 -1
- /package/dist/{providers → api}/github-copilot-headers.js +0 -0
- /package/dist/{utils → auth}/oauth/oauth-page.d.ts +0 -0
- /package/dist/{utils → auth}/oauth/oauth-page.js +0 -0
- /package/dist/{utils → auth}/oauth/pkce.d.ts +0 -0
- /package/dist/{utils → auth}/oauth/pkce.js +0 -0
- /package/dist/{utils/oauth → auth}/types.js +0 -0
package/dist/types.d.ts
CHANGED
|
@@ -1,10 +1,32 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { TelemetryContext } from "@sammorrowdrums/mcpi-telemetry";
|
|
2
|
+
import type { AnthropicOptions } from "./api/anthropic-messages.ts";
|
|
3
|
+
import type { AzureOpenAIResponsesOptions } from "./api/azure-openai-responses.ts";
|
|
4
|
+
import type { BedrockOptions } from "./api/bedrock-converse-stream.ts";
|
|
5
|
+
import type { GoogleOptions } from "./api/google-generative-ai.ts";
|
|
6
|
+
import type { GoogleVertexOptions } from "./api/google-vertex.ts";
|
|
7
|
+
import type { MistralOptions } from "./api/mistral-conversations.ts";
|
|
8
|
+
import type { OpenAICodexResponsesOptions } from "./api/openai-codex-responses.ts";
|
|
9
|
+
import type { OpenAICompletionsOptions } from "./api/openai-completions.ts";
|
|
10
|
+
import type { OpenAIResponsesOptions } from "./api/openai-responses.ts";
|
|
11
|
+
import type { PiMessagesOptions } from "./api/pi-messages.ts";
|
|
12
|
+
import type { AssistantMessageDiagnostic } from "./utils/diagnostics.ts";
|
|
13
|
+
import type { AssistantMessageEventStream } from "./utils/event-stream.ts";
|
|
14
|
+
export type { AssistantMessageEventStream } from "./utils/event-stream.ts";
|
|
15
|
+
export type KnownApi = "openai-completions" | "mistral-conversations" | "openai-responses" | "azure-openai-responses" | "openai-codex-responses" | "anthropic-messages" | "bedrock-converse-stream" | "google-generative-ai" | "google-vertex" | "pi-messages";
|
|
4
16
|
export type Api = KnownApi | (string & {});
|
|
5
|
-
export type
|
|
6
|
-
export type
|
|
7
|
-
export type
|
|
17
|
+
export type KnownImagesApi = "openrouter-images";
|
|
18
|
+
export type ImagesApi = KnownImagesApi | (string & {});
|
|
19
|
+
export type KnownProvider = "amazon-bedrock" | "ant-ling" | "anthropic" | "google" | "google-vertex" | "openai" | "azure-openai-responses" | "openai-codex" | "radius" | "nvidia" | "deepseek" | "github-copilot" | "xai" | "groq" | "cerebras" | "openrouter" | "vercel-ai-gateway" | "zai" | "zai-coding-cn" | "mistral" | "minimax" | "minimax-cn" | "moonshotai" | "moonshotai-cn" | "huggingface" | "fireworks" | "together" | "baseten" | "opencode" | "opencode-go" | "kimi-coding" | "cloudflare-workers-ai" | "cloudflare-ai-gateway" | "qwen-token-plan" | "qwen-token-plan-cn" | "qwen-token-plan-individual" | "xiaomi" | "xiaomi-token-plan-cn" | "xiaomi-token-plan-ams" | "xiaomi-token-plan-sgp";
|
|
20
|
+
export type ProviderId = KnownProvider | string;
|
|
21
|
+
export type KnownImagesProvider = "openrouter";
|
|
22
|
+
export type ImagesProviderId = KnownImagesProvider | string;
|
|
23
|
+
export type ThinkingLevel = "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
|
|
24
|
+
export type ModelThinkingLevel = "off" | ThinkingLevel;
|
|
25
|
+
export type ThinkingLevelMap = Partial<Record<ModelThinkingLevel, string | null>>;
|
|
26
|
+
export type ChatTemplateKwargValue = string | number | boolean | null | {
|
|
27
|
+
$var: "thinking.enabled" | "thinking.effort";
|
|
28
|
+
omitWhenOff?: boolean;
|
|
29
|
+
};
|
|
8
30
|
/** Token budgets for each thinking level (token-based providers only) */
|
|
9
31
|
export interface ThinkingBudgets {
|
|
10
32
|
minimal?: number;
|
|
@@ -13,48 +35,62 @@ export interface ThinkingBudgets {
|
|
|
13
35
|
high?: number;
|
|
14
36
|
}
|
|
15
37
|
export type CacheRetention = "none" | "short" | "long";
|
|
16
|
-
export type Transport = "sse" | "websocket" | "auto";
|
|
38
|
+
export type Transport = "sse" | "websocket" | "websocket-cached" | "auto";
|
|
39
|
+
/** Provider-scoped environment overrides. Values take precedence over process.env. */
|
|
40
|
+
export type ProviderEnv = Record<string, string>;
|
|
41
|
+
export type ProviderHeaders = Record<string, string | null>;
|
|
42
|
+
export type FetchFunction = typeof globalThis.fetch;
|
|
43
|
+
export type SessionAffinityFormat = "openai" | "openai-nosession" | "openrouter";
|
|
17
44
|
export interface ProviderResponse {
|
|
18
45
|
status: number;
|
|
19
46
|
headers: Record<string, string>;
|
|
20
47
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
maxTokens?: number;
|
|
48
|
+
/** Authentication, HTTP transport, and lifecycle callbacks shared by provider requests. */
|
|
49
|
+
export interface ProviderRequestOptions<TModel = Model<Api>> {
|
|
24
50
|
signal?: AbortSignal;
|
|
51
|
+
/** Explicit parent context for telemetry produced by this logical request. */
|
|
52
|
+
telemetryContext?: TelemetryContext;
|
|
25
53
|
apiKey?: string;
|
|
26
54
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
transport?: Transport;
|
|
31
|
-
/**
|
|
32
|
-
* Prompt cache retention preference. Providers map this to their supported values.
|
|
33
|
-
* Default: "short".
|
|
55
|
+
* Optional fetch implementation for provider HTTP requests.
|
|
56
|
+
* Defaults to `globalThis.fetch`. Provider adapters that cannot inject a custom implementation may reject it.
|
|
57
|
+
* This does not affect WebSocket transports.
|
|
34
58
|
*/
|
|
35
|
-
|
|
59
|
+
fetch?: FetchFunction;
|
|
36
60
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
61
|
+
* Provider-scoped environment values. These take precedence over process.env for
|
|
62
|
+
* provider configuration such as regional settings, endpoint placeholders, and
|
|
63
|
+
* proxy variables.
|
|
40
64
|
*/
|
|
41
|
-
|
|
65
|
+
env?: ProviderEnv;
|
|
42
66
|
/**
|
|
43
67
|
* Optional callback for inspecting or replacing provider payloads before sending.
|
|
44
68
|
* Return undefined to keep the payload unchanged.
|
|
45
69
|
*/
|
|
46
|
-
onPayload?: (payload: unknown, model:
|
|
70
|
+
onPayload?: (payload: unknown, model: TModel) => unknown | undefined | Promise<unknown | undefined>;
|
|
47
71
|
/**
|
|
48
|
-
* Optional callback invoked after an HTTP response is received
|
|
49
|
-
* its body stream is consumed.
|
|
72
|
+
* Optional callback invoked after an HTTP response is received.
|
|
50
73
|
*/
|
|
51
|
-
onResponse?: (response: ProviderResponse, model:
|
|
74
|
+
onResponse?: (response: ProviderResponse, model: TModel) => void | Promise<void>;
|
|
52
75
|
/**
|
|
53
76
|
* Optional custom HTTP headers to include in API requests.
|
|
54
|
-
* Merged with provider defaults;
|
|
55
|
-
*
|
|
77
|
+
* Merged with provider defaults; caller values override default headers.
|
|
78
|
+
* On AWS Bedrock these are injected via a Smithy `build`-step middleware so
|
|
79
|
+
* they are covered by SigV4 signing; reserved headers (`x-amz-*`,
|
|
80
|
+
* `authorization`, `host`) are silently ignored to preserve SigV4 / bearer auth.
|
|
81
|
+
* A null value suppresses a provider/API default header with the same name.
|
|
56
82
|
*/
|
|
57
|
-
headers?:
|
|
83
|
+
headers?: ProviderHeaders;
|
|
84
|
+
/**
|
|
85
|
+
* HTTP request timeout in milliseconds for providers/SDKs that support it.
|
|
86
|
+
* For example, OpenAI and Anthropic SDK clients default to 10 minutes.
|
|
87
|
+
*/
|
|
88
|
+
timeoutMs?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Maximum retry attempts for providers/SDKs that support client-side retries.
|
|
91
|
+
* For example, OpenAI and Anthropic SDK clients default to 2.
|
|
92
|
+
*/
|
|
93
|
+
maxRetries?: number;
|
|
58
94
|
/**
|
|
59
95
|
* Maximum delay in milliseconds to wait for a retry when the server requests a long wait.
|
|
60
96
|
* If the server's requested delay exceeds this value, the request fails immediately
|
|
@@ -63,6 +99,45 @@ export interface StreamOptions {
|
|
|
63
99
|
* Default: 60000 (60 seconds). Set to 0 to disable the cap.
|
|
64
100
|
*/
|
|
65
101
|
maxRetryDelayMs?: number;
|
|
102
|
+
}
|
|
103
|
+
export interface StreamOptions extends ProviderRequestOptions<Model<Api>> {
|
|
104
|
+
/**
|
|
105
|
+
* Optional callback invoked after an HTTP response is received and before
|
|
106
|
+
* its body stream is consumed.
|
|
107
|
+
*/
|
|
108
|
+
onResponse?: (response: ProviderResponse, model: Model<Api>) => void | Promise<void>;
|
|
109
|
+
temperature?: number;
|
|
110
|
+
/**
|
|
111
|
+
* Arbitrary sampling parameters merged into the request body as-is, after the named request
|
|
112
|
+
* fields, so keys here override them. Lets custom OpenAI-compatible servers (llama.cpp, vLLM,
|
|
113
|
+
* SGLang, ...) receive parameters mcpi does not model, e.g. `top_p`, `top_k`, `min_p`,
|
|
114
|
+
* `repetition_penalty`. Merged over `Model.samplingParams` per key. Only applied by
|
|
115
|
+
* OpenAI-compatible adapters (completions, responses, Azure responses); other APIs ignore it.
|
|
116
|
+
*/
|
|
117
|
+
samplingParams?: Record<string, unknown>;
|
|
118
|
+
maxTokens?: number;
|
|
119
|
+
/**
|
|
120
|
+
* Preferred transport for providers that support multiple transports.
|
|
121
|
+
* Providers that do not support this option ignore it.
|
|
122
|
+
*/
|
|
123
|
+
transport?: Transport;
|
|
124
|
+
/**
|
|
125
|
+
* Prompt cache retention preference. Providers map this to their supported values.
|
|
126
|
+
* Default: "short".
|
|
127
|
+
*/
|
|
128
|
+
cacheRetention?: CacheRetention;
|
|
129
|
+
/**
|
|
130
|
+
* Optional session identifier for providers that support session-based caching.
|
|
131
|
+
* Providers can use this to enable prompt caching, request routing, or other
|
|
132
|
+
* session-aware features. Ignored by providers that don't support it.
|
|
133
|
+
*/
|
|
134
|
+
sessionId?: string;
|
|
135
|
+
/**
|
|
136
|
+
* WebSocket connect timeout in milliseconds for providers that support
|
|
137
|
+
* WebSocket transports. This covers the connection/open handshake only;
|
|
138
|
+
* stream idleness after connection uses timeoutMs.
|
|
139
|
+
*/
|
|
140
|
+
websocketConnectTimeoutMs?: number;
|
|
66
141
|
/**
|
|
67
142
|
* Optional metadata to include in API requests.
|
|
68
143
|
* Providers extract the fields they understand and ignore the rest.
|
|
@@ -71,12 +146,79 @@ export interface StreamOptions {
|
|
|
71
146
|
metadata?: Record<string, unknown>;
|
|
72
147
|
}
|
|
73
148
|
export type ProviderStreamOptions = StreamOptions & Record<string, unknown>;
|
|
149
|
+
export interface DeferredFetchOptions extends ProviderRequestOptions<Model<Api>> {
|
|
150
|
+
/**
|
|
151
|
+
* Maximum provider long-poll duration in milliseconds.
|
|
152
|
+
* Defaults to 0, which performs one status check.
|
|
153
|
+
*/
|
|
154
|
+
wait?: number;
|
|
155
|
+
}
|
|
156
|
+
/** Request options for best-effort deferred-response cancellation. */
|
|
157
|
+
export type DeferredCancelOptions = ProviderRequestOptions<Model<Api>>;
|
|
158
|
+
/**
|
|
159
|
+
* Maps known APIs to their full provider-specific stream option types.
|
|
160
|
+
* Type-only imports from API implementation modules are erased at emit, so
|
|
161
|
+
* this is tree-shake safe.
|
|
162
|
+
*/
|
|
163
|
+
export interface ApiOptionsMap {
|
|
164
|
+
"anthropic-messages": AnthropicOptions;
|
|
165
|
+
"openai-completions": OpenAICompletionsOptions;
|
|
166
|
+
"openai-responses": OpenAIResponsesOptions;
|
|
167
|
+
"openai-codex-responses": OpenAICodexResponsesOptions;
|
|
168
|
+
"azure-openai-responses": AzureOpenAIResponsesOptions;
|
|
169
|
+
"google-generative-ai": GoogleOptions;
|
|
170
|
+
"google-vertex": GoogleVertexOptions;
|
|
171
|
+
"mistral-conversations": MistralOptions;
|
|
172
|
+
"bedrock-converse-stream": BedrockOptions;
|
|
173
|
+
"pi-messages": PiMessagesOptions;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Full stream options for an API. Known APIs resolve to their concrete option
|
|
177
|
+
* type; custom API strings fall back to the generic shape.
|
|
178
|
+
*/
|
|
179
|
+
export type ApiStreamOptions<TApi extends Api> = TApi extends keyof ApiOptionsMap ? ApiOptionsMap[TApi] : StreamOptions & Record<string, unknown>;
|
|
180
|
+
/**
|
|
181
|
+
* The uniform stream contract of an API implementation module: every module
|
|
182
|
+
* under `src/api/` exports `stream` and `streamSimple`; capable modules may also
|
|
183
|
+
* export deferred-response methods. Lazy wrappers (`lazyApi()`) and provider
|
|
184
|
+
* factories pass these around as values. This is the untyped dispatch shape;
|
|
185
|
+
* per-API option typing lives on the implementation modules themselves and on
|
|
186
|
+
* `Provider.stream()` via `ApiStreamOptions`.
|
|
187
|
+
*/
|
|
188
|
+
export interface ProviderStreams {
|
|
189
|
+
stream(model: Model<Api>, context: Context, options?: StreamOptions): AssistantMessageEventStream;
|
|
190
|
+
streamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;
|
|
191
|
+
fetchDeferred?(model: Model<Api>, handle: DeferredHandle, options?: DeferredFetchOptions): AssistantMessageEventStream;
|
|
192
|
+
cancelDeferred?(model: Model<Api>, handle: DeferredHandle, options?: DeferredCancelOptions): Promise<void>;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* The uniform contract of an image-generation API implementation module:
|
|
196
|
+
* every image API module under `src/api/` exports exactly `generateImages`,
|
|
197
|
+
* so the module itself satisfies this interface. Lazy wrappers and image
|
|
198
|
+
* provider factories pass these around as values.
|
|
199
|
+
*/
|
|
200
|
+
export interface ProviderImages {
|
|
201
|
+
generateImages(model: ImagesModel<ImagesApi>, context: ImagesContext, options?: ImagesOptions): Promise<AssistantImages>;
|
|
202
|
+
}
|
|
203
|
+
export interface ImagesOptions extends ProviderRequestOptions<ImagesModel<ImagesApi>> {
|
|
204
|
+
/**
|
|
205
|
+
* Optional metadata to include in API requests.
|
|
206
|
+
* Providers extract the fields they understand and ignore the rest.
|
|
207
|
+
*/
|
|
208
|
+
metadata?: Record<string, unknown>;
|
|
209
|
+
}
|
|
210
|
+
export type ProviderImagesOptions = ImagesOptions & Record<string, unknown>;
|
|
74
211
|
export interface SimpleStreamOptions extends StreamOptions {
|
|
75
212
|
reasoning?: ThinkingLevel;
|
|
213
|
+
/** Ask a capable provider to return a durable handle and continue the request asynchronously. */
|
|
214
|
+
deferred?: boolean | {
|
|
215
|
+
window?: "15m" | "1h" | "24h";
|
|
216
|
+
};
|
|
76
217
|
/** Custom token budgets for thinking levels (token-based providers only) */
|
|
77
218
|
thinkingBudgets?: ThinkingBudgets;
|
|
78
219
|
}
|
|
79
220
|
export type StreamFunction<TApi extends Api = Api, TOptions extends StreamOptions = StreamOptions> = (model: Model<TApi>, context: Context, options?: TOptions) => AssistantMessageEventStream;
|
|
221
|
+
export type ImagesFunction<TApi extends ImagesApi = ImagesApi, TOptions extends ImagesOptions = ImagesOptions> = (model: ImagesModel<TApi>, context: ImagesContext, options?: TOptions) => Promise<AssistantImages>;
|
|
80
222
|
export interface TextSignatureV1 {
|
|
81
223
|
v: 1;
|
|
82
224
|
id: string;
|
|
@@ -107,12 +249,22 @@ export interface ToolCall {
|
|
|
107
249
|
name: string;
|
|
108
250
|
arguments: Record<string, any>;
|
|
109
251
|
thoughtSignature?: string;
|
|
252
|
+
/** OpenAI Responses namespace for calls to dynamically loaded or namespaced tools. */
|
|
253
|
+
namespace?: string;
|
|
110
254
|
}
|
|
111
255
|
export interface Usage {
|
|
112
256
|
input: number;
|
|
113
257
|
output: number;
|
|
114
258
|
cacheRead: number;
|
|
115
259
|
cacheWrite: number;
|
|
260
|
+
/** Subset of `cacheWrite` written with 1h retention. Only Anthropic reports this split. */
|
|
261
|
+
cacheWrite1h?: number;
|
|
262
|
+
/**
|
|
263
|
+
* Reasoning/thinking tokens, when the provider reports them. This is a subset of
|
|
264
|
+
* `output`: `output` already includes these tokens. Set to a number (possibly 0) by
|
|
265
|
+
* providers that expose a reasoning breakdown; left undefined by providers that don't.
|
|
266
|
+
*/
|
|
267
|
+
reasoning?: number;
|
|
116
268
|
totalTokens: number;
|
|
117
269
|
cost: {
|
|
118
270
|
input: number;
|
|
@@ -122,7 +274,21 @@ export interface Usage {
|
|
|
122
274
|
total: number;
|
|
123
275
|
};
|
|
124
276
|
}
|
|
125
|
-
export type StopReason = "stop" | "length" | "toolUse" | "error" | "aborted";
|
|
277
|
+
export type StopReason = "pending" | "stop" | "length" | "toolUse" | "error" | "aborted" | "deferred";
|
|
278
|
+
export type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
279
|
+
[key: string]: JsonValue;
|
|
280
|
+
};
|
|
281
|
+
export interface DeferredHandle {
|
|
282
|
+
provider: string;
|
|
283
|
+
modelId: string;
|
|
284
|
+
api: string;
|
|
285
|
+
/** Provider token, such as a response id or batch id plus row id. */
|
|
286
|
+
id: string;
|
|
287
|
+
expiresAt?: number;
|
|
288
|
+
pollAfterMs?: number;
|
|
289
|
+
/** Provider conversion data required to reconstruct the final assistant message. */
|
|
290
|
+
data?: JsonValue;
|
|
291
|
+
}
|
|
126
292
|
export interface UserMessage {
|
|
127
293
|
role: "user";
|
|
128
294
|
content: string | (TextContent | ImageContent)[];
|
|
@@ -132,12 +298,21 @@ export interface AssistantMessage {
|
|
|
132
298
|
role: "assistant";
|
|
133
299
|
content: (TextContent | ThinkingContent | ToolCall)[];
|
|
134
300
|
api: Api;
|
|
135
|
-
provider:
|
|
301
|
+
provider: ProviderId;
|
|
136
302
|
model: string;
|
|
303
|
+
responseModel?: string;
|
|
137
304
|
responseId?: string;
|
|
305
|
+
diagnostics?: AssistantMessageDiagnostic[];
|
|
138
306
|
usage: Usage;
|
|
139
307
|
stopReason: StopReason;
|
|
308
|
+
deferred?: DeferredHandle;
|
|
140
309
|
errorMessage?: string;
|
|
310
|
+
rawStopReason?: string;
|
|
311
|
+
/**
|
|
312
|
+
* Provider indication of whether the model explicitly ended its turn.
|
|
313
|
+
* Preserved for debugging and does not currently affect agent control flow.
|
|
314
|
+
*/
|
|
315
|
+
endTurn?: boolean;
|
|
141
316
|
timestamp: number;
|
|
142
317
|
}
|
|
143
318
|
export interface ToolResultMessage<TDetails = any> {
|
|
@@ -146,15 +321,58 @@ export interface ToolResultMessage<TDetails = any> {
|
|
|
146
321
|
toolName: string;
|
|
147
322
|
content: (TextContent | ImageContent)[];
|
|
148
323
|
details?: TDetails;
|
|
324
|
+
/** Usage from the tool execution itself, if available. Not part of main LLM context accounting. */
|
|
325
|
+
usage?: Usage;
|
|
326
|
+
/**
|
|
327
|
+
* Names from `Context.tools` that became available after this result.
|
|
328
|
+
* Providers with native deferred tool loading use this as the load point;
|
|
329
|
+
* other providers ignore it and use `Context.tools` normally.
|
|
330
|
+
*/
|
|
331
|
+
addedToolNames?: string[];
|
|
149
332
|
isError: boolean;
|
|
150
333
|
timestamp: number;
|
|
151
334
|
}
|
|
152
335
|
export type Message = UserMessage | AssistantMessage | ToolResultMessage;
|
|
336
|
+
export type ImagesInputContent = TextContent | ImageContent;
|
|
337
|
+
export type ImagesOutputContent = TextContent | ImageContent;
|
|
338
|
+
export interface ImagesContext {
|
|
339
|
+
input: ImagesInputContent[];
|
|
340
|
+
}
|
|
341
|
+
export type ImagesStopReason = "stop" | "error" | "aborted";
|
|
342
|
+
export interface AssistantImages {
|
|
343
|
+
api: ImagesApi;
|
|
344
|
+
provider: ImagesProviderId;
|
|
345
|
+
model: string;
|
|
346
|
+
output: ImagesOutputContent[];
|
|
347
|
+
responseId?: string;
|
|
348
|
+
usage?: Usage;
|
|
349
|
+
stopReason: ImagesStopReason;
|
|
350
|
+
errorMessage?: string;
|
|
351
|
+
timestamp: number;
|
|
352
|
+
}
|
|
153
353
|
import type { TSchema } from "typebox";
|
|
354
|
+
/** OpenAI grammar variants for constrained sampling. */
|
|
355
|
+
export type GrammarFormat = "openai_lark" | "openai_regex";
|
|
356
|
+
export type GrammarVariants = Partial<Record<GrammarFormat, string>>;
|
|
357
|
+
/**
|
|
358
|
+
* Optional provider-side constrained sampling configs for a tool.
|
|
359
|
+
*
|
|
360
|
+
* The `json_schema` value roughly maps to the concept of `strict` in APIs which is
|
|
361
|
+
* implemented as json-schema constrained sampling by APIs. Grammar variants let
|
|
362
|
+
* callers provide provider-specific encodings of the same intended language.
|
|
363
|
+
*/
|
|
364
|
+
export type ConstrainedSamplingConfig = {
|
|
365
|
+
type: "json_schema";
|
|
366
|
+
strict: "prefer" | "require";
|
|
367
|
+
} | {
|
|
368
|
+
type: "grammar";
|
|
369
|
+
variants: GrammarVariants;
|
|
370
|
+
};
|
|
154
371
|
export interface Tool<TParameters extends TSchema = TSchema> {
|
|
155
372
|
name: string;
|
|
156
373
|
description: string;
|
|
157
374
|
parameters: TParameters;
|
|
375
|
+
constrainedSampling?: false | ConstrainedSamplingConfig;
|
|
158
376
|
}
|
|
159
377
|
export interface Context {
|
|
160
378
|
systemPrompt?: string;
|
|
@@ -216,7 +434,7 @@ export type AssistantMessageEvent = {
|
|
|
216
434
|
partial: AssistantMessage;
|
|
217
435
|
} | {
|
|
218
436
|
type: "done";
|
|
219
|
-
reason: Extract<StopReason, "stop" | "length" | "toolUse">;
|
|
437
|
+
reason: Extract<StopReason, "stop" | "length" | "toolUse" | "deferred">;
|
|
220
438
|
message: AssistantMessage;
|
|
221
439
|
} | {
|
|
222
440
|
type: "error";
|
|
@@ -234,10 +452,10 @@ export interface OpenAICompletionsCompat {
|
|
|
234
452
|
supportsDeveloperRole?: boolean;
|
|
235
453
|
/** Whether the provider supports `reasoning_effort`. Default: auto-detected from URL. */
|
|
236
454
|
supportsReasoningEffort?: boolean;
|
|
237
|
-
/** Optional mapping from pi-ai reasoning levels to provider/model-specific `reasoning_effort` values. */
|
|
238
|
-
reasoningEffortMap?: Partial<Record<ThinkingLevel, string>>;
|
|
239
455
|
/** Whether the provider supports `stream_options: { include_usage: true }` for token usage in streaming responses. Default: true. */
|
|
240
456
|
supportsUsageInStreaming?: boolean;
|
|
457
|
+
/** Whether streamed responses include `finish_reason`. When false, mcpi infers `stop` or `toolUse` when the stream ends. Default: true. */
|
|
458
|
+
supportsFinishReason?: boolean;
|
|
241
459
|
/** Which field to use for max tokens. Default: auto-detected from URL. */
|
|
242
460
|
maxTokensField?: "max_completion_tokens" | "max_tokens";
|
|
243
461
|
/** Whether tool results require the `name` field. Default: auto-detected from URL. */
|
|
@@ -246,29 +464,55 @@ export interface OpenAICompletionsCompat {
|
|
|
246
464
|
requiresAssistantAfterToolResult?: boolean;
|
|
247
465
|
/** Whether thinking blocks must be converted to text blocks with <thinking> delimiters. Default: auto-detected from URL. */
|
|
248
466
|
requiresThinkingAsText?: boolean;
|
|
249
|
-
/**
|
|
250
|
-
|
|
251
|
-
/**
|
|
467
|
+
/** Whether all replayed assistant messages must include an empty reasoning_content field when reasoning is enabled. Default: auto-detected from URL. */
|
|
468
|
+
requiresReasoningContentOnAssistantMessages?: boolean;
|
|
469
|
+
/** Format for reasoning/thinking parameter. "openai" uses reasoning_effort, "openrouter" uses reasoning: { effort }, "deepseek" uses thinking: { type } plus reasoning_effort when supported, "together" uses reasoning: { enabled } plus reasoning_effort when supported, "baseten" uses configurable chat_template_args plus reasoning_effort when supported, "zai" uses thinking: { type }, "qwen" uses top-level enable_thinking: boolean, "qwen-chat-template" uses chat_template_kwargs.enable_thinking and preserve_thinking, "chat-template" uses configurable chat_template_kwargs, "string-thinking" uses top-level thinking: string, and "ant-ling" uses reasoning: { effort } only when the mapped effort is non-null. Default: "openai". */
|
|
470
|
+
thinkingFormat?: "openai" | "openrouter" | "deepseek" | "together" | "baseten" | "zai" | "qwen" | "chat-template" | "qwen-chat-template" | "string-thinking" | "ant-ling";
|
|
471
|
+
/** Kwargs to send as `chat_template_kwargs` when `thinkingFormat` is `chat-template`. Use `{ "$var": "thinking.enabled" }` or `{ "$var": "thinking.effort" }` for mcpi-controlled thinking values. */
|
|
472
|
+
chatTemplateKwargs?: Record<string, ChatTemplateKwargValue>;
|
|
473
|
+
/** Arguments to send as `chat_template_args` when `thinkingFormat` is `baseten`. Use `{ "$var": "thinking.enabled" }` or `{ "$var": "thinking.effort" }` for mcpi-controlled thinking values. */
|
|
474
|
+
chatTemplateArgs?: Record<string, ChatTemplateKwargValue>;
|
|
475
|
+
/** OpenRouter-compatible routing preferences sent as the `provider` request field. */
|
|
252
476
|
openRouterRouting?: OpenRouterRouting;
|
|
253
477
|
/** Vercel AI Gateway routing preferences. Only used when baseUrl points to Vercel AI Gateway. */
|
|
254
478
|
vercelGatewayRouting?: VercelGatewayRouting;
|
|
255
479
|
/** Whether z.ai supports top-level `tool_stream: true` for streaming tool call deltas. Default: false. */
|
|
256
480
|
zaiToolStream?: boolean;
|
|
481
|
+
/** Whether the provider supports top-level `thinking_token_budget` to cap reasoning tokens (vLLM). Reasoning and the answer share `max_tokens` on these endpoints, so without a budget a reasoning-heavy turn can consume the whole response and emit no answer. Default: false. */
|
|
482
|
+
supportsThinkingTokenBudget?: boolean;
|
|
483
|
+
/** Whether the provider supports OpenAI custom tools with Lark/regex grammar formats. When false, grammar-constrained tools fall back to normal function tools. Default: false; the generated model catalog enables it for capable models. */
|
|
484
|
+
supportsOpenAIGrammarTools?: boolean;
|
|
257
485
|
/** Whether the provider supports the `strict` field in tool definitions. Default: true. */
|
|
258
486
|
supportsStrictMode?: boolean;
|
|
259
|
-
/** Cache control convention for prompt caching. "anthropic" applies Anthropic-style `cache_control` markers to the system prompt, last tool definition, and last user
|
|
487
|
+
/** Cache control convention for prompt caching. "anthropic" applies Anthropic-style `cache_control` markers to the system prompt, last tool definition, and last user, assistant, or tool-result text content. */
|
|
260
488
|
cacheControlFormat?: "anthropic";
|
|
261
|
-
/** Whether to send
|
|
489
|
+
/** Whether to send session-affinity data from `options.sessionId`. Default: false. */
|
|
262
490
|
sendSessionAffinityHeaders?: boolean;
|
|
491
|
+
/** Provider-specific deferred tool serialization mode. */
|
|
492
|
+
deferredToolsMode?: "kimi";
|
|
493
|
+
/** Session-affinity header format: `openai` sends `session_id`, `x-client-request-id`, and `x-session-affinity`; `openai-nosession` sends `x-client-request-id` and `x-session-affinity`; `openrouter` sends `x-session-id`. Does not affect the `prompt_cache_key` body param, which is governed by cache retention. Default: auto-detected. */
|
|
494
|
+
sessionAffinityFormat?: SessionAffinityFormat;
|
|
263
495
|
/** Whether the provider supports long prompt cache retention (`prompt_cache_retention: "24h"` or Anthropic-style `cache_control.ttl: "1h"`, depending on format). Default: true. */
|
|
264
496
|
supportsLongCacheRetention?: boolean;
|
|
265
497
|
}
|
|
266
498
|
/** Compatibility settings for OpenAI Responses APIs. */
|
|
267
499
|
export interface OpenAIResponsesCompat {
|
|
268
|
-
/** Whether
|
|
269
|
-
|
|
500
|
+
/** Whether the provider supports the `developer` role (vs `system`). Default: true. */
|
|
501
|
+
supportsDeveloperRole?: boolean;
|
|
502
|
+
/** Session-affinity header format: `openai` sends `session_id` and `x-client-request-id`; `openai-nosession` sends `x-client-request-id`; `openrouter` sends `x-session-id`. Does not affect the `prompt_cache_key` body param, which is governed by cache retention. Default: auto-detected. */
|
|
503
|
+
sessionAffinityFormat?: SessionAffinityFormat;
|
|
270
504
|
/** Whether the provider supports `prompt_cache_retention: "24h"`. Default: true. */
|
|
271
505
|
supportsLongCacheRetention?: boolean;
|
|
506
|
+
/** Whether the provider supports strict JSON-schema function tools. Defaults are API-specific; generated OpenAI models enable it explicitly. */
|
|
507
|
+
supportsStrictMode?: boolean;
|
|
508
|
+
/** Whether to emit OpenAI custom tools with Lark/regex grammar formats. When false, grammar-constrained tools fall back to normal function tools. Default: false; the generated model catalog enables it for capable models. */
|
|
509
|
+
supportsOpenAIGrammarTools?: boolean;
|
|
510
|
+
/** Whether the model supports message-anchored `additional_tools` input items. Default: false. */
|
|
511
|
+
supportsAdditionalTools?: boolean;
|
|
512
|
+
/** Whether the model supports client-executed tool search for deferred tools. Default: false. */
|
|
513
|
+
supportsToolSearch?: boolean;
|
|
514
|
+
/** Whether the model accepts `prompt_cache_options` (OpenAI GPT-5.6+ explicit prompt caching). Older OpenAI models reject the parameter. Default: false. */
|
|
515
|
+
supportsExplicitPromptCacheMode?: boolean;
|
|
272
516
|
}
|
|
273
517
|
/** Compatibility settings for Anthropic Messages-compatible APIs. */
|
|
274
518
|
export interface AnthropicMessagesCompat {
|
|
@@ -282,6 +526,53 @@ export interface AnthropicMessagesCompat {
|
|
|
282
526
|
supportsEagerToolInputStreaming?: boolean;
|
|
283
527
|
/** Whether the provider supports Anthropic long cache retention (`cache_control.ttl: "1h"`). Default: true. */
|
|
284
528
|
supportsLongCacheRetention?: boolean;
|
|
529
|
+
/**
|
|
530
|
+
* Whether to send the `x-session-affinity` header from `options.sessionId`
|
|
531
|
+
* when caching is enabled. Required for providers like Fireworks that use
|
|
532
|
+
* session affinity for prompt cache routing (requests to the same replica
|
|
533
|
+
* maximize cache hits).
|
|
534
|
+
* Default: false.
|
|
535
|
+
*/
|
|
536
|
+
sendSessionAffinityHeaders?: boolean;
|
|
537
|
+
/**
|
|
538
|
+
* Whether the provider supports Anthropic-style `cache_control` markers on
|
|
539
|
+
* tool definitions. When false, `cache_control` is omitted from tool params.
|
|
540
|
+
* Some Anthropic-compatible providers (e.g., Fireworks) do not support this
|
|
541
|
+
* field on tools and may reject or ignore it.
|
|
542
|
+
* Default: true.
|
|
543
|
+
*/
|
|
544
|
+
supportsCacheControlOnTools?: boolean;
|
|
545
|
+
/**
|
|
546
|
+
* Whether the model accepts the Anthropic `temperature` request field.
|
|
547
|
+
* Claude Opus 4.7+ rejects non-default temperature values.
|
|
548
|
+
* Default: true.
|
|
549
|
+
*/
|
|
550
|
+
supportsTemperature?: boolean;
|
|
551
|
+
/**
|
|
552
|
+
* Whether to force adaptive thinking (`thinking.type: "adaptive"` plus
|
|
553
|
+
* `output_config.effort`) regardless of the model id. Built-in models that
|
|
554
|
+
* require adaptive thinking set this in generated metadata. Custom
|
|
555
|
+
* Anthropic-compatible providers can set this to `true` for any model whose
|
|
556
|
+
* upstream requires the adaptive format. Set to `false` to
|
|
557
|
+
* opt out on overridden built-in models.
|
|
558
|
+
* Default: false.
|
|
559
|
+
*/
|
|
560
|
+
forceAdaptiveThinking?: boolean;
|
|
561
|
+
/** Whether to replay empty thinking signatures as `signature: ""` instead of converting thinking to text. Default: false. */
|
|
562
|
+
allowEmptySignature?: boolean;
|
|
563
|
+
/** Whether the provider supports Anthropic strict tool schemas. Default: false; generated Anthropic models enable it explicitly. */
|
|
564
|
+
supportsStrictTools?: boolean;
|
|
565
|
+
/**
|
|
566
|
+
* Whether the provider supports deferred tools loaded by `tool_reference`
|
|
567
|
+
* blocks in tool results. Default: true for first-party Anthropic models
|
|
568
|
+
* except Haiku and models older than Claude 4.5; false for other providers.
|
|
569
|
+
*/
|
|
570
|
+
supportsToolReferences?: boolean;
|
|
571
|
+
}
|
|
572
|
+
/** Compatibility settings for Amazon Bedrock models. */
|
|
573
|
+
export interface BedrockCompat {
|
|
574
|
+
/** Whether the model supports Bedrock strict tool schemas. Default: false. */
|
|
575
|
+
supportsStrictMode?: boolean;
|
|
285
576
|
}
|
|
286
577
|
/**
|
|
287
578
|
* OpenRouter provider routing preferences.
|
|
@@ -362,24 +653,45 @@ export interface VercelGatewayRouting {
|
|
|
362
653
|
/** List of provider slugs to try in order (e.g., ["anthropic", "openai"]). */
|
|
363
654
|
order?: string[];
|
|
364
655
|
}
|
|
656
|
+
export interface ModelCostRates {
|
|
657
|
+
input: number;
|
|
658
|
+
output: number;
|
|
659
|
+
cacheRead: number;
|
|
660
|
+
cacheWrite: number;
|
|
661
|
+
}
|
|
662
|
+
export interface ModelCostTier extends ModelCostRates {
|
|
663
|
+
/** Use this tier for requests whose total input usage exceeds this token count. */
|
|
664
|
+
inputTokensAbove: number;
|
|
665
|
+
}
|
|
666
|
+
export interface ModelCost extends ModelCostRates {
|
|
667
|
+
/** Request-wide pricing tiers. The highest matching input threshold applies to the full request. */
|
|
668
|
+
tiers?: ModelCostTier[];
|
|
669
|
+
}
|
|
365
670
|
export interface Model<TApi extends Api> {
|
|
366
671
|
id: string;
|
|
367
672
|
name: string;
|
|
368
673
|
api: TApi;
|
|
369
|
-
provider:
|
|
674
|
+
provider: ProviderId;
|
|
370
675
|
baseUrl: string;
|
|
371
676
|
reasoning: boolean;
|
|
677
|
+
/**
|
|
678
|
+
* Maps mcpi thinking levels to provider/model-specific values.
|
|
679
|
+
* Missing keys use provider defaults. null marks a level as unsupported.
|
|
680
|
+
*/
|
|
681
|
+
thinkingLevelMap?: ThinkingLevelMap;
|
|
372
682
|
input: ("text" | "image")[];
|
|
373
|
-
cost:
|
|
374
|
-
input: number;
|
|
375
|
-
output: number;
|
|
376
|
-
cacheRead: number;
|
|
377
|
-
cacheWrite: number;
|
|
378
|
-
};
|
|
683
|
+
cost: ModelCost;
|
|
379
684
|
contextWindow: number;
|
|
380
685
|
maxTokens: number;
|
|
686
|
+
/** Default sampling parameters for this model. See {@link StreamOptions.samplingParams}; per-request keys override these. */
|
|
687
|
+
samplingParams?: Record<string, unknown>;
|
|
381
688
|
headers?: Record<string, string>;
|
|
382
689
|
/** Compatibility overrides for OpenAI-compatible APIs. If not set, auto-detected from baseUrl. */
|
|
383
|
-
compat?: TApi extends "openai-completions" ? OpenAICompletionsCompat : TApi extends "openai-responses" ? OpenAIResponsesCompat : TApi extends "anthropic-messages" ? AnthropicMessagesCompat : never;
|
|
690
|
+
compat?: TApi extends "openai-completions" ? OpenAICompletionsCompat : TApi extends "openai-responses" | "azure-openai-responses" | "openai-codex-responses" ? OpenAIResponsesCompat : TApi extends "anthropic-messages" ? AnthropicMessagesCompat : TApi extends "bedrock-converse-stream" ? BedrockCompat : never;
|
|
691
|
+
}
|
|
692
|
+
export interface ImagesModel<TApi extends ImagesApi> extends Omit<Model<Api>, "api" | "provider" | "reasoning" | "contextWindow" | "maxTokens" | "compat"> {
|
|
693
|
+
api: TApi;
|
|
694
|
+
provider: ImagesProviderId;
|
|
695
|
+
output: ("text" | "image")[];
|
|
384
696
|
}
|
|
385
697
|
//# sourceMappingURL=types.d.ts.map
|