@draht/ai 2026.7.11 → 2026.7.12-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/dist/api/anthropic-messages.d.ts.map +1 -1
- package/dist/api/anthropic-messages.js.map +1 -1
- package/dist/api/anthropic-messages.lazy.d.ts.map +1 -1
- package/dist/api/azure-openai-responses.d.ts.map +1 -1
- package/dist/api/azure-openai-responses.js.map +1 -1
- package/dist/api/azure-openai-responses.lazy.d.ts.map +1 -1
- package/dist/api/bedrock-converse-stream.d.ts.map +1 -1
- package/dist/api/bedrock-converse-stream.js.map +1 -1
- package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -1
- package/dist/api/bedrock-converse-stream.lazy.js.map +1 -1
- package/dist/api/cloudflare.d.ts.map +1 -1
- package/dist/api/cloudflare.js.map +1 -1
- package/dist/api/github-copilot-headers.d.ts.map +1 -1
- package/dist/api/github-copilot-headers.js.map +1 -1
- package/dist/api/google-generative-ai.d.ts.map +1 -1
- package/dist/api/google-generative-ai.js.map +1 -1
- package/dist/api/google-generative-ai.lazy.d.ts.map +1 -1
- package/dist/api/google-shared.d.ts.map +1 -1
- package/dist/api/google-shared.js.map +1 -1
- package/dist/api/google-vertex.d.ts.map +1 -1
- package/dist/api/google-vertex.js.map +1 -1
- package/dist/api/google-vertex.lazy.d.ts.map +1 -1
- package/dist/api/lazy.d.ts.map +1 -1
- package/dist/api/lazy.js.map +1 -1
- package/dist/api/mistral-conversations.d.ts.map +1 -1
- package/dist/api/mistral-conversations.js.map +1 -1
- package/dist/api/mistral-conversations.lazy.d.ts.map +1 -1
- package/dist/api/openai-codex-responses.d.ts.map +1 -1
- package/dist/api/openai-codex-responses.js +0 -6
- package/dist/api/openai-codex-responses.js.map +1 -1
- package/dist/api/openai-codex-responses.lazy.d.ts.map +1 -1
- package/dist/api/openai-completions.d.ts.map +1 -1
- package/dist/api/openai-completions.js.map +1 -1
- package/dist/api/openai-completions.lazy.d.ts.map +1 -1
- package/dist/api/openai-prompt-cache.d.ts.map +1 -1
- package/dist/api/openai-prompt-cache.js.map +1 -1
- package/dist/api/openai-responses-shared.d.ts.map +1 -1
- package/dist/api/openai-responses-shared.js.map +1 -1
- package/dist/api/openai-responses.d.ts.map +1 -1
- package/dist/api/openai-responses.js.map +1 -1
- package/dist/api/openai-responses.lazy.d.ts.map +1 -1
- package/dist/api/openrouter-images.d.ts.map +1 -1
- package/dist/api/openrouter-images.js.map +1 -1
- package/dist/api/openrouter-images.lazy.d.ts.map +1 -1
- package/dist/api/simple-options.d.ts.map +1 -1
- package/dist/api/simple-options.js.map +1 -1
- package/dist/api/transform-messages.d.ts.map +1 -1
- package/dist/api/transform-messages.js.map +1 -1
- package/dist/auth/context.d.ts.map +1 -1
- package/dist/auth/context.js.map +1 -1
- package/dist/auth/credential-store.d.ts.map +1 -1
- package/dist/auth/credential-store.js +4 -2
- package/dist/auth/credential-store.js.map +1 -1
- package/dist/auth/helpers.d.ts.map +1 -1
- package/dist/auth/helpers.js.map +1 -1
- package/dist/auth/resolve.d.ts.map +1 -1
- package/dist/auth/resolve.js +0 -1
- package/dist/auth/resolve.js.map +1 -1
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/bedrock-provider.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/compat.d.ts.map +1 -1
- package/dist/compat.js.map +1 -1
- package/dist/env-api-keys.d.ts.map +1 -1
- package/dist/env-api-keys.js.map +1 -1
- package/dist/image-models.d.ts.map +1 -1
- package/dist/image-models.generated.d.ts.map +1 -1
- package/dist/image-models.js.map +1 -1
- package/dist/images-api-registry.d.ts.map +1 -1
- package/dist/images-api-registry.js.map +1 -1
- package/dist/images-models.d.ts.map +1 -1
- package/dist/images-models.js +1 -3
- package/dist/images-models.js.map +1 -1
- package/dist/images.d.ts.map +1 -1
- package/dist/images.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/legacy-api-aliases.d.ts.map +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.js +1 -3
- package/dist/models.js.map +1 -1
- package/dist/oauth.d.ts.map +1 -1
- package/dist/providers/all.d.ts.map +1 -1
- package/dist/providers/all.js.map +1 -1
- package/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/providers/amazon-bedrock.js.map +1 -1
- package/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
- package/dist/providers/ant-ling.d.ts.map +1 -1
- package/dist/providers/ant-ling.js.map +1 -1
- package/dist/providers/ant-ling.models.d.ts.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/anthropic.models.d.ts.map +1 -1
- package/dist/providers/azure-openai-responses.d.ts.map +1 -1
- package/dist/providers/azure-openai-responses.js.map +1 -1
- package/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
- package/dist/providers/cerebras.d.ts.map +1 -1
- package/dist/providers/cerebras.js.map +1 -1
- package/dist/providers/cerebras.models.d.ts.map +1 -1
- package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
- package/dist/providers/cloudflare-ai-gateway.js.map +1 -1
- package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
- package/dist/providers/cloudflare-auth.d.ts.map +1 -1
- package/dist/providers/cloudflare-auth.js.map +1 -1
- package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -1
- package/dist/providers/cloudflare-workers-ai.js.map +1 -1
- package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -1
- package/dist/providers/deepseek.d.ts.map +1 -1
- package/dist/providers/deepseek.js.map +1 -1
- package/dist/providers/deepseek.models.d.ts.map +1 -1
- package/dist/providers/faux.d.ts.map +1 -1
- package/dist/providers/faux.js.map +1 -1
- package/dist/providers/fireworks.d.ts.map +1 -1
- package/dist/providers/fireworks.js.map +1 -1
- package/dist/providers/fireworks.models.d.ts.map +1 -1
- package/dist/providers/github-copilot.d.ts.map +1 -1
- package/dist/providers/github-copilot.js.map +1 -1
- package/dist/providers/github-copilot.models.d.ts.map +1 -1
- package/dist/providers/google-vertex.d.ts.map +1 -1
- package/dist/providers/google-vertex.js.map +1 -1
- package/dist/providers/google-vertex.models.d.ts.map +1 -1
- package/dist/providers/google.d.ts.map +1 -1
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/google.models.d.ts.map +1 -1
- package/dist/providers/groq.d.ts.map +1 -1
- package/dist/providers/groq.js.map +1 -1
- package/dist/providers/groq.models.d.ts.map +1 -1
- package/dist/providers/huggingface.d.ts.map +1 -1
- package/dist/providers/huggingface.js.map +1 -1
- package/dist/providers/huggingface.models.d.ts.map +1 -1
- package/dist/providers/images/register-builtins.d.ts.map +1 -1
- package/dist/providers/images/register-builtins.js.map +1 -1
- package/dist/providers/kimi-coding.d.ts.map +1 -1
- package/dist/providers/kimi-coding.js.map +1 -1
- package/dist/providers/kimi-coding.models.d.ts.map +1 -1
- package/dist/providers/minimax-cn.d.ts.map +1 -1
- package/dist/providers/minimax-cn.js.map +1 -1
- package/dist/providers/minimax-cn.models.d.ts.map +1 -1
- package/dist/providers/minimax.d.ts.map +1 -1
- package/dist/providers/minimax.js.map +1 -1
- package/dist/providers/minimax.models.d.ts.map +1 -1
- package/dist/providers/mistral.d.ts.map +1 -1
- package/dist/providers/mistral.js.map +1 -1
- package/dist/providers/mistral.models.d.ts.map +1 -1
- package/dist/providers/moonshotai-cn.d.ts.map +1 -1
- package/dist/providers/moonshotai-cn.js.map +1 -1
- package/dist/providers/moonshotai-cn.models.d.ts.map +1 -1
- package/dist/providers/moonshotai.d.ts.map +1 -1
- package/dist/providers/moonshotai.js.map +1 -1
- package/dist/providers/moonshotai.models.d.ts.map +1 -1
- package/dist/providers/nvidia.d.ts.map +1 -1
- package/dist/providers/nvidia.js.map +1 -1
- package/dist/providers/nvidia.models.d.ts.map +1 -1
- package/dist/providers/openai-codex.d.ts.map +1 -1
- package/dist/providers/openai-codex.js.map +1 -1
- package/dist/providers/openai-codex.models.d.ts.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openai.models.d.ts.map +1 -1
- package/dist/providers/opencode-go.d.ts.map +1 -1
- package/dist/providers/opencode-go.js.map +1 -1
- package/dist/providers/opencode-go.models.d.ts.map +1 -1
- package/dist/providers/opencode.d.ts.map +1 -1
- package/dist/providers/opencode.js.map +1 -1
- package/dist/providers/opencode.models.d.ts.map +1 -1
- package/dist/providers/openrouter-images.d.ts.map +1 -1
- package/dist/providers/openrouter-images.js.map +1 -1
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/openrouter.models.d.ts.map +1 -1
- package/dist/providers/openrouter.models.js +15 -15
- package/dist/providers/openrouter.models.js.map +1 -1
- package/dist/providers/together.d.ts.map +1 -1
- package/dist/providers/together.js.map +1 -1
- package/dist/providers/together.models.d.ts.map +1 -1
- package/dist/providers/vercel-ai-gateway.d.ts.map +1 -1
- package/dist/providers/vercel-ai-gateway.js.map +1 -1
- package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
- package/dist/providers/xai.d.ts.map +1 -1
- package/dist/providers/xai.js +6 -2
- package/dist/providers/xai.js.map +1 -1
- package/dist/providers/xai.models.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-ams.js.map +1 -1
- package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-cn.js.map +1 -1
- package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -1
- package/dist/providers/xiaomi-token-plan-sgp.js.map +1 -1
- package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -1
- package/dist/providers/xiaomi.d.ts.map +1 -1
- package/dist/providers/xiaomi.js.map +1 -1
- package/dist/providers/xiaomi.models.d.ts.map +1 -1
- package/dist/providers/zai-coding-cn.d.ts.map +1 -1
- package/dist/providers/zai-coding-cn.js.map +1 -1
- package/dist/providers/zai-coding-cn.models.d.ts.map +1 -1
- package/dist/providers/zai.d.ts.map +1 -1
- package/dist/providers/zai.js.map +1 -1
- package/dist/providers/zai.models.d.ts.map +1 -1
- package/dist/session-resources.d.ts.map +1 -1
- package/dist/session-resources.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/abort-signals.d.ts.map +1 -1
- package/dist/utils/abort-signals.js.map +1 -1
- package/dist/utils/diagnostics.d.ts.map +1 -1
- package/dist/utils/diagnostics.js.map +1 -1
- package/dist/utils/error-body.d.ts.map +1 -1
- package/dist/utils/error-body.js.map +1 -1
- package/dist/utils/estimate.d.ts.map +1 -1
- package/dist/utils/estimate.js.map +1 -1
- package/dist/utils/event-stream.d.ts.map +1 -1
- package/dist/utils/event-stream.js +3 -7
- package/dist/utils/event-stream.js.map +1 -1
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/headers.d.ts.map +1 -1
- package/dist/utils/headers.js.map +1 -1
- package/dist/utils/json-parse.d.ts.map +1 -1
- package/dist/utils/json-parse.js.map +1 -1
- package/dist/utils/node-http-proxy.d.ts.map +1 -1
- package/dist/utils/node-http-proxy.js.map +1 -1
- package/dist/utils/oauth/anthropic.d.ts.map +1 -1
- package/dist/utils/oauth/anthropic.js.map +1 -1
- package/dist/utils/oauth/device-code.d.ts.map +1 -1
- package/dist/utils/oauth/device-code.js.map +1 -1
- package/dist/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/utils/oauth/github-copilot.js.map +1 -1
- package/dist/utils/oauth/google-antigravity.d.ts.map +1 -1
- package/dist/utils/oauth/google-antigravity.js.map +1 -1
- package/dist/utils/oauth/google-gemini-cli.d.ts.map +1 -1
- package/dist/utils/oauth/google-gemini-cli.js.map +1 -1
- package/dist/utils/oauth/index.d.ts +1 -0
- package/dist/utils/oauth/index.d.ts.map +1 -1
- package/dist/utils/oauth/index.js +4 -0
- package/dist/utils/oauth/index.js.map +1 -1
- package/dist/utils/oauth/load.d.ts +1 -0
- package/dist/utils/oauth/load.d.ts.map +1 -1
- package/dist/utils/oauth/load.js +1 -0
- package/dist/utils/oauth/load.js.map +1 -1
- package/dist/utils/oauth/oauth-page.d.ts.map +1 -1
- package/dist/utils/oauth/oauth-page.js.map +1 -1
- package/dist/utils/oauth/openai-codex.d.ts.map +1 -1
- package/dist/utils/oauth/openai-codex.js.map +1 -1
- package/dist/utils/oauth/opencode-go.d.ts.map +1 -1
- package/dist/utils/oauth/opencode-go.js.map +1 -1
- package/dist/utils/oauth/pkce.d.ts.map +1 -1
- package/dist/utils/oauth/pkce.js.map +1 -1
- package/dist/utils/oauth/types.d.ts.map +1 -1
- package/dist/utils/oauth/xai.d.ts +34 -0
- package/dist/utils/oauth/xai.d.ts.map +1 -0
- package/dist/utils/oauth/xai.js +339 -0
- package/dist/utils/oauth/xai.js.map +1 -0
- package/dist/utils/overflow.d.ts.map +1 -1
- package/dist/utils/overflow.js.map +1 -1
- package/dist/utils/provider-env.d.ts.map +1 -1
- package/dist/utils/provider-env.js.map +1 -1
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/sanitize-unicode.d.ts.map +1 -1
- package/dist/utils/sanitize-unicode.js.map +1 -1
- package/dist/utils/typebox-helpers.d.ts.map +1 -1
- package/dist/utils/typebox-helpers.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/package.json +4 -4
package/dist/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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","sourcesContent":["import { lazyStream } from \"./api/lazy.ts\";\nimport { defaultProviderAuthContext as defaultAuthContext } from \"./auth/context.ts\";\nimport { InMemoryCredentialStore } from \"./auth/credential-store.ts\";\nimport { ModelsError, resolveProviderAuth } from \"./auth/resolve.ts\";\nimport type { AuthContext, AuthResult, CredentialStore, ProviderAuth } from \"./auth/types.ts\";\nimport type {\n\tApi,\n\tApiStreamOptions,\n\tAssistantMessage,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tModelCostRates,\n\tModelThinkingLevel,\n\tProviderHeaders,\n\tProviderStreams,\n\tSimpleStreamOptions,\n\tStreamOptions,\n\tUsage,\n} from \"./types.ts\";\n\nexport { type AuthModel, ModelsError, type ModelsErrorCode } from \"./auth/resolve.ts\";\n\n/**\n * A provider is the concrete runtime unit. It owns id/name/base metadata,\n * auth methods, model listing, and stream behavior.\n *\n * `TApi` lets concrete provider factories declare which APIs their models\n * use (e.g. `openaiProvider(): Provider<\"openai-responses\" | \"openai-completions\">`),\n * giving typed model lists to direct factory users. Inside a `Models`\n * collection providers are held as `Provider<Api>`.\n */\nexport interface Provider<TApi extends Api = Api> {\n\treadonly id: string;\n\treadonly name: string;\n\n\treadonly baseUrl?: string;\n\treadonly headers?: ProviderHeaders;\n\n\t/**\n\t * Required: at least one of `apiKey`/`oauth`. Every provider has auth\n\t * semantics — even providers with only ambient credentials (env vars, AWS\n\t * profiles, ADC files) and keyless local servers provide `apiKey` auth\n\t * whose `resolve()` reports whether the provider is configured.\n\t * `Models.getAuth()` returns undefined when the provider is unconfigured.\n\t */\n\treadonly auth: ProviderAuth;\n\n\t/**\n\t * Current known models, sync. Static providers return their catalog;\n\t * dynamic providers return the list as of the last `refreshModels()`\n\t * (empty before the first). Must not throw; `Models` treats a throwing\n\t * implementation as having no models.\n\t */\n\tgetModels(): readonly Model<TApi>[];\n\n\t/**\n\t * Dynamic providers only: fetch and update the model list. Side-effect-free\n\t * discovery (no loading/downloading); provider-specific model lifecycle\n\t * belongs in app commands. Concurrent calls share one in-flight fetch.\n\t * May reject (network); on rejection the model list stays at its last-known\n\t * state and a later call retries.\n\t */\n\trefreshModels?(): Promise<void>;\n\n\tstream<T extends TApi>(\n\t\tmodel: Model<T>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<T>,\n\t): AssistantMessageEventStream;\n\n\tstreamSimple(model: Model<TApi>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;\n}\n\n/**\n * Runtime collection of providers plus auth application and stream\n * convenience. Providers own stream behavior; `Models` resolves auth and\n * delegates each request to the provider that owns the model.\n */\nexport interface Models {\n\tgetProviders(): readonly Provider[];\n\tgetProvider(id: string): Provider | undefined;\n\n\t/**\n\t * Sync read of last-known models from one provider or all providers.\n\t * Best-effort: a provider whose `getModels()` throws yields no models.\n\t */\n\tgetModels(provider?: string): readonly Model<Api>[];\n\n\t/**\n\t * Sync runtime model lookup against last-known lists. Dynamic model lists\n\t * are typed as `Model<Api>`; narrow with the `hasApi()` type guard.\n\t */\n\tgetModel(provider: string, id: string): Model<Api> | undefined;\n\n\t/**\n\t * Ask dynamic providers to re-fetch their model lists. With a provider id,\n\t * rejects with `ModelsError` (\"model_source\") on that provider's fetch\n\t * failure; without one, refreshes all providers concurrently best-effort.\n\t * Static providers (no `refreshModels`) are no-ops.\n\t */\n\trefresh(provider?: string): Promise<void>;\n\n\t/**\n\t * Resolve request auth for a model. Includes a source label for status UI.\n\t * Resolves `undefined` when the provider is unknown or unconfigured.\n\t * Rejects with `ModelsError`: code \"oauth\" when a token refresh fails (the\n\t * stored credential is preserved for retry; re-login fixes it), code \"auth\"\n\t * when api-key resolution or the credential store fails. Request paths\n\t * surface rejections as stream errors; status/availability UIs catch them\n\t * and render \"needs re-login\" instead of treating them as unconfigured.\n\t */\n\tgetAuth(model: Model<Api>): Promise<AuthResult | undefined>;\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream;\n\n\tcomplete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage>;\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;\n\tcompleteSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage>;\n}\n\nexport interface MutableModels extends Models {\n\t/** Upsert/replace by provider.id. Provider ids are unique. */\n\tsetProvider(provider: Provider): void;\n\tdeleteProvider(id: string): void;\n\tclearProviders(): void;\n}\n\nexport interface CreateModelsOptions {\n\tcredentials?: CredentialStore;\n\tauthContext?: AuthContext;\n}\n\nclass ModelsImpl implements MutableModels {\n\tprivate providers = new Map<string, Provider>();\n\tprivate credentials: CredentialStore;\n\tprivate authContext: AuthContext;\n\n\tconstructor(options?: CreateModelsOptions) {\n\t\tthis.credentials = options?.credentials ?? new InMemoryCredentialStore();\n\t\tthis.authContext = options?.authContext ?? defaultAuthContext();\n\t}\n\n\tsetProvider(provider: Provider): void {\n\t\tthis.providers.set(provider.id, provider);\n\t}\n\n\tdeleteProvider(id: string): void {\n\t\tthis.providers.delete(id);\n\t}\n\n\tclearProviders(): void {\n\t\tthis.providers.clear();\n\t}\n\n\tgetProviders(): readonly Provider[] {\n\t\treturn Array.from(this.providers.values());\n\t}\n\n\tgetProvider(id: string): Provider | undefined {\n\t\treturn this.providers.get(id);\n\t}\n\n\tgetModels(provider?: string): readonly Model<Api>[] {\n\t\tif (provider !== undefined) {\n\t\t\tconst entry = this.providers.get(provider);\n\t\t\tif (!entry) return [];\n\t\t\ttry {\n\t\t\t\treturn entry.getModels();\n\t\t\t} catch {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\n\t\tconst models: Model<Api>[] = [];\n\t\tfor (const entry of this.providers.values()) {\n\t\t\ttry {\n\t\t\t\tmodels.push(...entry.getModels());\n\t\t\t} catch {\n\t\t\t\t// Best-effort: ill-behaved providers yield no models.\n\t\t\t}\n\t\t}\n\t\treturn models;\n\t}\n\n\tgetModel(provider: string, id: string): Model<Api> | undefined {\n\t\treturn this.getModels(provider).find((model) => model.id === id);\n\t}\n\n\tasync refresh(provider?: string): Promise<void> {\n\t\tif (provider !== undefined) {\n\t\t\tconst entry = this.providers.get(provider);\n\t\t\tif (!entry?.refreshModels) return;\n\t\t\ttry {\n\t\t\t\tawait entry.refreshModels();\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof ModelsError) throw error;\n\t\t\t\tthrow new ModelsError(\"model_source\", `Model refresh failed for ${provider}`, { cause: error });\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Cannot reject: the async mapper turns even sync throws from ill-behaved\n\t\t// providers into rejections, and allSettled captures all of them.\n\t\tawait Promise.allSettled(Array.from(this.providers.values(), async (entry) => entry.refreshModels?.()));\n\t}\n\n\tasync getAuth(model: Model<Api>): Promise<AuthResult | undefined> {\n\t\tconst provider = this.providers.get(model.provider);\n\t\tif (!provider) return undefined;\n\t\treturn resolveProviderAuth(provider, model, this.credentials, this.authContext);\n\t}\n\n\tprivate requireProvider(model: Model<Api>): Provider {\n\t\tconst provider = this.providers.get(model.provider);\n\t\tif (!provider) {\n\t\t\tthrow new ModelsError(\"provider\", `Unknown provider: ${model.provider}`);\n\t\t}\n\t\treturn provider;\n\t}\n\n\tprivate async applyAuth<TOptions extends StreamOptions>(\n\t\tmodel: Model<Api>,\n\t\toptions: TOptions | undefined,\n\t): Promise<{ requestModel: Model<Api>; requestOptions: TOptions | undefined }> {\n\t\tconst resolution = await resolveProviderAuth(\n\t\t\tthis.requireProvider(model),\n\t\t\tmodel,\n\t\t\tthis.credentials,\n\t\t\tthis.authContext,\n\t\t\t{\n\t\t\t\tapiKey: options?.apiKey,\n\t\t\t\tenv: options?.env,\n\t\t\t},\n\t\t);\n\t\tconst auth = resolution?.auth;\n\t\tif (!auth) return { requestModel: model, requestOptions: options };\n\n\t\tconst requestModel = auth.baseUrl ? { ...model, baseUrl: auth.baseUrl } : model;\n\n\t\t// Explicit request options win per-field; headers/env merge per key.\n\t\tconst apiKey = options?.apiKey ?? auth.apiKey;\n\t\tconst headers = auth.headers || options?.headers ? { ...auth.headers, ...options?.headers } : undefined;\n\t\tconst env = resolution.env || options?.env ? { ...(resolution.env ?? {}), ...(options?.env ?? {}) } : undefined;\n\t\tconst requestOptions = { ...options, apiKey, headers, env } as TOptions;\n\n\t\treturn { requestModel, requestOptions };\n\t}\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options as StreamOptions | undefined);\n\t\t\treturn provider.stream(requestModel as Model<TApi>, context, requestOptions as ApiStreamOptions<TApi>);\n\t\t});\n\t}\n\n\tasync complete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage> {\n\t\treturn this.stream(model, context, options).result();\n\t}\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\t\treturn provider.streamSimple(requestModel, context, requestOptions);\n\t\t});\n\t}\n\n\tasync completeSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage> {\n\t\treturn this.streamSimple(model, context, options).result();\n\t}\n}\n\nexport function createModels(options?: CreateModelsOptions): MutableModels {\n\treturn new ModelsImpl(options);\n}\n\nexport interface CreateProviderOptions<TApi extends Api = Api> {\n\tid: string;\n\t/** Display name. Default: `id`. */\n\tname?: string;\n\tbaseUrl?: string;\n\theaders?: ProviderHeaders;\n\t/** Required — every provider has auth semantics, even ambient/keyless ones. */\n\tauth: ProviderAuth;\n\t/** Initial model list (empty for purely dynamic providers). */\n\tmodels: readonly Model<TApi>[];\n\t/**\n\t * Dynamic providers: fetch the current list. Stored on success; concurrent\n\t * calls share one in-flight fetch. May reject: the stored list then stays\n\t * at its last-known state, the rejection propagates to the caller of\n\t * `refreshModels()` (wrapped as ModelsError \"model_source\" by\n\t * `Models.refresh(provider)`), and a later call retries.\n\t */\n\trefreshModels?: () => Promise<readonly Model<TApi>[]>;\n\t/** Single implementation, or map keyed by `model.api` for mixed-API providers. */\n\tapi: ProviderStreams | Partial<Record<TApi, ProviderStreams>>;\n}\n\n/**\n * Builds a provider from parts. Built-in provider factories and models.json\n * custom providers both go through this. A single `api` streams all models;\n * an `api` map dispatches on `model.api`, and a model whose api has no entry\n * produces a stream error.\n */\nexport function createProvider<TApi extends Api = Api>(input: CreateProviderOptions<TApi>): Provider<TApi> {\n\tlet models = input.models;\n\tlet inflightRefresh: Promise<void> | undefined;\n\tconst refreshModels = input.refreshModels;\n\tconst single =\n\t\ttypeof (input.api as ProviderStreams).stream === \"function\" ? (input.api as ProviderStreams) : undefined;\n\tconst byApi = single ? undefined : (input.api as Partial<Record<string, ProviderStreams>>);\n\n\tconst apiFor = (model: Model<Api>): ProviderStreams | undefined => single ?? byApi?.[model.api];\n\n\tconst dispatch = (\n\t\tmodel: Model<Api>,\n\t\trun: (streams: ProviderStreams) => AssistantMessageEventStream,\n\t): AssistantMessageEventStream => {\n\t\tconst streams = apiFor(model);\n\t\tif (!streams) {\n\t\t\treturn lazyStream(model, async () => {\n\t\t\t\tthrow new ModelsError(\"stream\", `Provider ${input.id} has no API implementation for \"${model.api}\"`);\n\t\t\t});\n\t\t}\n\t\treturn run(streams);\n\t};\n\n\treturn {\n\t\tid: input.id,\n\t\tname: input.name ?? input.id,\n\t\tbaseUrl: input.baseUrl,\n\t\theaders: input.headers,\n\t\tauth: input.auth,\n\t\tgetModels: () => models,\n\t\trefreshModels: refreshModels\n\t\t\t? () => {\n\t\t\t\t\tinflightRefresh ??= (async () => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tmodels = await refreshModels();\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tinflightRefresh = undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t})();\n\t\t\t\t\treturn inflightRefresh;\n\t\t\t\t}\n\t\t\t: undefined,\n\t\tstream: (model, context, options) => dispatch(model, (streams) => streams.stream(model, context, options)),\n\t\tstreamSimple: (model, context, options) =>\n\t\t\tdispatch(model, (streams) => streams.streamSimple(model, context, options)),\n\t};\n}\n\n/**\n * Runtime-checked narrowing for dynamically looked-up models:\n *\n * ```ts\n * const model = models.getModel(\"anthropic\", \"claude-opus-4-7\");\n * if (model && hasApi(model, \"anthropic-messages\")) {\n * // model: Model<\"anthropic-messages\">, stream options fully typed\n * }\n * ```\n */\nexport function hasApi<TApi extends Api>(model: Model<Api>, api: TApi): model is Model<TApi> {\n\treturn model.api === api;\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tconst inputTokens = usage.input + usage.cacheRead + usage.cacheWrite;\n\tlet rates: ModelCostRates = model.cost;\n\tlet matchedThreshold = -1;\n\tfor (const tier of model.cost.tiers ?? []) {\n\t\tif (inputTokens > tier.inputTokensAbove && tier.inputTokensAbove > matchedThreshold) {\n\t\t\trates = tier;\n\t\t\tmatchedThreshold = tier.inputTokensAbove;\n\t\t}\n\t}\n\n\t// Anthropic charges 2x base input for 1h cache writes.\n\tconst longWrite = usage.cacheWrite1h ?? 0;\n\tconst shortWrite = usage.cacheWrite - longWrite;\n\tusage.cost.input = (rates.input / 1000000) * usage.input;\n\tusage.cost.output = (rates.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (rates.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (rates.cacheWrite * shortWrite + rates.input * 2 * longWrite) / 1000000;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\nconst EXTENDED_THINKING_LEVELS: ModelThinkingLevel[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\nexport function getSupportedThinkingLevels<TApi extends Api>(model: Model<TApi>): ModelThinkingLevel[] {\n\tif (!model.reasoning) return [\"off\"];\n\n\treturn EXTENDED_THINKING_LEVELS.filter((level) => {\n\t\tconst mapped = model.thinkingLevelMap?.[level];\n\t\tif (mapped === null) return false;\n\t\tif (level === \"xhigh\" || level === \"max\") return mapped !== undefined;\n\t\treturn true;\n\t});\n}\n\nexport function clampThinkingLevel<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tlevel: ModelThinkingLevel,\n): ModelThinkingLevel {\n\tconst availableLevels = getSupportedThinkingLevels(model);\n\tif (availableLevels.includes(level)) return level;\n\n\tconst requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level);\n\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\tfor (let i = requestedIndex; i < EXTENDED_THINKING_LEVELS.length; i++) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\tfor (let i = requestedIndex - 1; i >= 0; i--) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\treturn availableLevels[0] ?? \"off\";\n}\n\n/**\n * Check if a model supports xhigh thinking level.\n */\nexport function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean {\n\tif (model.id.includes(\"gpt-5.2\") || model.id.includes(\"gpt-5.3\") || model.id.includes(\"gpt-5.4\")) {\n\t\treturn true;\n\t}\n\tif (\n\t\tmodel.id.includes(\"opus-4-6\") ||\n\t\tmodel.id.includes(\"opus-4.6\") ||\n\t\tmodel.id.includes(\"opus-4-7\") ||\n\t\tmodel.id.includes(\"opus-4.7\") ||\n\t\tmodel.id.includes(\"sonnet-4-6\") ||\n\t\tmodel.id.includes(\"sonnet-4.6\") ||\n\t\tmodel.id.includes(\"haiku-4-5\") ||\n\t\tmodel.id.includes(\"haiku-4.5\")\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Check if a model supports the max thinking level.\n * Currently Anthropic Opus 4.6 and Opus 4.7 only.\n */\nexport function supportsMax<TApi extends Api>(model: Model<TApi>): boolean {\n\treturn (\n\t\tmodel.id.includes(\"opus-4-6\") ||\n\t\tmodel.id.includes(\"opus-4.6\") ||\n\t\tmodel.id.includes(\"opus-4-7\") ||\n\t\tmodel.id.includes(\"opus-4.7\")\n\t);\n}\n\n/**\n * Check if two models are equal by comparing both their id and provider.\n * Returns false if either model is null or undefined.\n */\nexport function modelsAreEqual<TApi extends Api>(\n\ta: Model<TApi> | null | undefined,\n\tb: Model<TApi> | null | undefined,\n): boolean {\n\tif (!a || !b) return false;\n\treturn a.id === b.id && a.provider === b.provider;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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","sourcesContent":["import { lazyStream } from \"./api/lazy.ts\";\nimport { defaultProviderAuthContext as defaultAuthContext } from \"./auth/context.ts\";\nimport { InMemoryCredentialStore } from \"./auth/credential-store.ts\";\nimport { ModelsError, resolveProviderAuth } from \"./auth/resolve.ts\";\nimport type { AuthContext, AuthResult, CredentialStore, ProviderAuth } from \"./auth/types.ts\";\nimport type {\n\tApi,\n\tApiStreamOptions,\n\tAssistantMessage,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tModelCostRates,\n\tModelThinkingLevel,\n\tProviderHeaders,\n\tProviderStreams,\n\tSimpleStreamOptions,\n\tStreamOptions,\n\tUsage,\n} from \"./types.ts\";\n\nexport { type AuthModel, ModelsError, type ModelsErrorCode } from \"./auth/resolve.ts\";\n\n/**\n * A provider is the concrete runtime unit. It owns id/name/base metadata,\n * auth methods, model listing, and stream behavior.\n *\n * `TApi` lets concrete provider factories declare which APIs their models\n * use (e.g. `openaiProvider(): Provider<\"openai-responses\" | \"openai-completions\">`),\n * giving typed model lists to direct factory users. Inside a `Models`\n * collection providers are held as `Provider<Api>`.\n */\nexport interface Provider<TApi extends Api = Api> {\n\treadonly id: string;\n\treadonly name: string;\n\n\treadonly baseUrl?: string;\n\treadonly headers?: ProviderHeaders;\n\n\t/**\n\t * Required: at least one of `apiKey`/`oauth`. Every provider has auth\n\t * semantics — even providers with only ambient credentials (env vars, AWS\n\t * profiles, ADC files) and keyless local servers provide `apiKey` auth\n\t * whose `resolve()` reports whether the provider is configured.\n\t * `Models.getAuth()` returns undefined when the provider is unconfigured.\n\t */\n\treadonly auth: ProviderAuth;\n\n\t/**\n\t * Current known models, sync. Static providers return their catalog;\n\t * dynamic providers return the list as of the last `refreshModels()`\n\t * (empty before the first). Must not throw; `Models` treats a throwing\n\t * implementation as having no models.\n\t */\n\tgetModels(): readonly Model<TApi>[];\n\n\t/**\n\t * Dynamic providers only: fetch and update the model list. Side-effect-free\n\t * discovery (no loading/downloading); provider-specific model lifecycle\n\t * belongs in app commands. Concurrent calls share one in-flight fetch.\n\t * May reject (network); on rejection the model list stays at its last-known\n\t * state and a later call retries.\n\t */\n\trefreshModels?(): Promise<void>;\n\n\tstream<T extends TApi>(\n\t\tmodel: Model<T>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<T>,\n\t): AssistantMessageEventStream;\n\n\tstreamSimple(model: Model<TApi>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;\n}\n\n/**\n * Runtime collection of providers plus auth application and stream\n * convenience. Providers own stream behavior; `Models` resolves auth and\n * delegates each request to the provider that owns the model.\n */\nexport interface Models {\n\tgetProviders(): readonly Provider[];\n\tgetProvider(id: string): Provider | undefined;\n\n\t/**\n\t * Sync read of last-known models from one provider or all providers.\n\t * Best-effort: a provider whose `getModels()` throws yields no models.\n\t */\n\tgetModels(provider?: string): readonly Model<Api>[];\n\n\t/**\n\t * Sync runtime model lookup against last-known lists. Dynamic model lists\n\t * are typed as `Model<Api>`; narrow with the `hasApi()` type guard.\n\t */\n\tgetModel(provider: string, id: string): Model<Api> | undefined;\n\n\t/**\n\t * Ask dynamic providers to re-fetch their model lists. With a provider id,\n\t * rejects with `ModelsError` (\"model_source\") on that provider's fetch\n\t * failure; without one, refreshes all providers concurrently best-effort.\n\t * Static providers (no `refreshModels`) are no-ops.\n\t */\n\trefresh(provider?: string): Promise<void>;\n\n\t/**\n\t * Resolve request auth for a model. Includes a source label for status UI.\n\t * Resolves `undefined` when the provider is unknown or unconfigured.\n\t * Rejects with `ModelsError`: code \"oauth\" when a token refresh fails (the\n\t * stored credential is preserved for retry; re-login fixes it), code \"auth\"\n\t * when api-key resolution or the credential store fails. Request paths\n\t * surface rejections as stream errors; status/availability UIs catch them\n\t * and render \"needs re-login\" instead of treating them as unconfigured.\n\t */\n\tgetAuth(model: Model<Api>): Promise<AuthResult | undefined>;\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream;\n\n\tcomplete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage>;\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;\n\tcompleteSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage>;\n}\n\nexport interface MutableModels extends Models {\n\t/** Upsert/replace by provider.id. Provider ids are unique. */\n\tsetProvider(provider: Provider): void;\n\tdeleteProvider(id: string): void;\n\tclearProviders(): void;\n}\n\nexport interface CreateModelsOptions {\n\tcredentials?: CredentialStore;\n\tauthContext?: AuthContext;\n}\n\nclass ModelsImpl implements MutableModels {\n\tprivate providers = new Map<string, Provider>();\n\tprivate credentials: CredentialStore;\n\tprivate authContext: AuthContext;\n\n\tconstructor(options?: CreateModelsOptions) {\n\t\tthis.credentials = options?.credentials ?? new InMemoryCredentialStore();\n\t\tthis.authContext = options?.authContext ?? defaultAuthContext();\n\t}\n\n\tsetProvider(provider: Provider): void {\n\t\tthis.providers.set(provider.id, provider);\n\t}\n\n\tdeleteProvider(id: string): void {\n\t\tthis.providers.delete(id);\n\t}\n\n\tclearProviders(): void {\n\t\tthis.providers.clear();\n\t}\n\n\tgetProviders(): readonly Provider[] {\n\t\treturn Array.from(this.providers.values());\n\t}\n\n\tgetProvider(id: string): Provider | undefined {\n\t\treturn this.providers.get(id);\n\t}\n\n\tgetModels(provider?: string): readonly Model<Api>[] {\n\t\tif (provider !== undefined) {\n\t\t\tconst entry = this.providers.get(provider);\n\t\t\tif (!entry) return [];\n\t\t\ttry {\n\t\t\t\treturn entry.getModels();\n\t\t\t} catch {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t}\n\n\t\tconst models: Model<Api>[] = [];\n\t\tfor (const entry of this.providers.values()) {\n\t\t\ttry {\n\t\t\t\tmodels.push(...entry.getModels());\n\t\t\t} catch {\n\t\t\t\t// Best-effort: ill-behaved providers yield no models.\n\t\t\t}\n\t\t}\n\t\treturn models;\n\t}\n\n\tgetModel(provider: string, id: string): Model<Api> | undefined {\n\t\treturn this.getModels(provider).find((model) => model.id === id);\n\t}\n\n\tasync refresh(provider?: string): Promise<void> {\n\t\tif (provider !== undefined) {\n\t\t\tconst entry = this.providers.get(provider);\n\t\t\tif (!entry?.refreshModels) return;\n\t\t\ttry {\n\t\t\t\tawait entry.refreshModels();\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof ModelsError) throw error;\n\t\t\t\tthrow new ModelsError(\"model_source\", `Model refresh failed for ${provider}`, { cause: error });\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Cannot reject: the async mapper turns even sync throws from ill-behaved\n\t\t// providers into rejections, and allSettled captures all of them.\n\t\tawait Promise.allSettled(Array.from(this.providers.values(), async (entry) => entry.refreshModels?.()));\n\t}\n\n\tasync getAuth(model: Model<Api>): Promise<AuthResult | undefined> {\n\t\tconst provider = this.providers.get(model.provider);\n\t\tif (!provider) return undefined;\n\t\treturn resolveProviderAuth(provider, model, this.credentials, this.authContext);\n\t}\n\n\tprivate requireProvider(model: Model<Api>): Provider {\n\t\tconst provider = this.providers.get(model.provider);\n\t\tif (!provider) {\n\t\t\tthrow new ModelsError(\"provider\", `Unknown provider: ${model.provider}`);\n\t\t}\n\t\treturn provider;\n\t}\n\n\tprivate async applyAuth<TOptions extends StreamOptions>(\n\t\tmodel: Model<Api>,\n\t\toptions: TOptions | undefined,\n\t): Promise<{ requestModel: Model<Api>; requestOptions: TOptions | undefined }> {\n\t\tconst resolution = await resolveProviderAuth(\n\t\t\tthis.requireProvider(model),\n\t\t\tmodel,\n\t\t\tthis.credentials,\n\t\t\tthis.authContext,\n\t\t\t{\n\t\t\t\tapiKey: options?.apiKey,\n\t\t\t\tenv: options?.env,\n\t\t\t},\n\t\t);\n\t\tconst auth = resolution?.auth;\n\t\tif (!auth) return { requestModel: model, requestOptions: options };\n\n\t\tconst requestModel = auth.baseUrl ? { ...model, baseUrl: auth.baseUrl } : model;\n\n\t\t// Explicit request options win per-field; headers/env merge per key.\n\t\tconst apiKey = options?.apiKey ?? auth.apiKey;\n\t\tconst headers = auth.headers || options?.headers ? { ...auth.headers, ...options?.headers } : undefined;\n\t\tconst env = resolution.env || options?.env ? { ...(resolution.env ?? {}), ...(options?.env ?? {}) } : undefined;\n\t\tconst requestOptions = { ...options, apiKey, headers, env } as TOptions;\n\n\t\treturn { requestModel, requestOptions };\n\t}\n\n\tstream<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options as StreamOptions | undefined);\n\t\t\treturn provider.stream(requestModel as Model<TApi>, context, requestOptions as ApiStreamOptions<TApi>);\n\t\t});\n\t}\n\n\tasync complete<TApi extends Api>(\n\t\tmodel: Model<TApi>,\n\t\tcontext: Context,\n\t\toptions?: ApiStreamOptions<TApi>,\n\t): Promise<AssistantMessage> {\n\t\treturn this.stream(model, context, options).result();\n\t}\n\n\tstreamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream {\n\t\treturn lazyStream(model, async () => {\n\t\t\tconst provider = this.requireProvider(model);\n\t\t\tconst { requestModel, requestOptions } = await this.applyAuth(model, options);\n\t\t\treturn provider.streamSimple(requestModel, context, requestOptions);\n\t\t});\n\t}\n\n\tasync completeSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): Promise<AssistantMessage> {\n\t\treturn this.streamSimple(model, context, options).result();\n\t}\n}\n\nexport function createModels(options?: CreateModelsOptions): MutableModels {\n\treturn new ModelsImpl(options);\n}\n\nexport interface CreateProviderOptions<TApi extends Api = Api> {\n\tid: string;\n\t/** Display name. Default: `id`. */\n\tname?: string;\n\tbaseUrl?: string;\n\theaders?: ProviderHeaders;\n\t/** Required — every provider has auth semantics, even ambient/keyless ones. */\n\tauth: ProviderAuth;\n\t/** Initial model list (empty for purely dynamic providers). */\n\tmodels: readonly Model<TApi>[];\n\t/**\n\t * Dynamic providers: fetch the current list. Stored on success; concurrent\n\t * calls share one in-flight fetch. May reject: the stored list then stays\n\t * at its last-known state, the rejection propagates to the caller of\n\t * `refreshModels()` (wrapped as ModelsError \"model_source\" by\n\t * `Models.refresh(provider)`), and a later call retries.\n\t */\n\trefreshModels?: () => Promise<readonly Model<TApi>[]>;\n\t/** Single implementation, or map keyed by `model.api` for mixed-API providers. */\n\tapi: ProviderStreams | Partial<Record<TApi, ProviderStreams>>;\n}\n\n/**\n * Builds a provider from parts. Built-in provider factories and models.json\n * custom providers both go through this. A single `api` streams all models;\n * an `api` map dispatches on `model.api`, and a model whose api has no entry\n * produces a stream error.\n */\nexport function createProvider<TApi extends Api = Api>(input: CreateProviderOptions<TApi>): Provider<TApi> {\n\tlet models = input.models;\n\tlet inflightRefresh: Promise<void> | undefined;\n\tconst refreshModels = input.refreshModels;\n\tconst single =\n\t\ttypeof (input.api as ProviderStreams).stream === \"function\" ? (input.api as ProviderStreams) : undefined;\n\tconst byApi = single ? undefined : (input.api as Partial<Record<string, ProviderStreams>>);\n\n\tconst apiFor = (model: Model<Api>): ProviderStreams | undefined => single ?? byApi?.[model.api];\n\n\tconst dispatch = (\n\t\tmodel: Model<Api>,\n\t\trun: (streams: ProviderStreams) => AssistantMessageEventStream,\n\t): AssistantMessageEventStream => {\n\t\tconst streams = apiFor(model);\n\t\tif (!streams) {\n\t\t\treturn lazyStream(model, async () => {\n\t\t\t\tthrow new ModelsError(\"stream\", `Provider ${input.id} has no API implementation for \"${model.api}\"`);\n\t\t\t});\n\t\t}\n\t\treturn run(streams);\n\t};\n\n\treturn {\n\t\tid: input.id,\n\t\tname: input.name ?? input.id,\n\t\tbaseUrl: input.baseUrl,\n\t\theaders: input.headers,\n\t\tauth: input.auth,\n\t\tgetModels: () => models,\n\t\trefreshModels: refreshModels\n\t\t\t? () => {\n\t\t\t\t\tinflightRefresh ??= (async () => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tmodels = await refreshModels();\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tinflightRefresh = undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t})();\n\t\t\t\t\treturn inflightRefresh;\n\t\t\t\t}\n\t\t\t: undefined,\n\t\tstream: (model, context, options) => dispatch(model, (streams) => streams.stream(model, context, options)),\n\t\tstreamSimple: (model, context, options) =>\n\t\t\tdispatch(model, (streams) => streams.streamSimple(model, context, options)),\n\t};\n}\n\n/**\n * Runtime-checked narrowing for dynamically looked-up models:\n *\n * ```ts\n * const model = models.getModel(\"anthropic\", \"claude-opus-4-7\");\n * if (model && hasApi(model, \"anthropic-messages\")) {\n * // model: Model<\"anthropic-messages\">, stream options fully typed\n * }\n * ```\n */\nexport function hasApi<TApi extends Api>(model: Model<Api>, api: TApi): model is Model<TApi> {\n\treturn model.api === api;\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tconst inputTokens = usage.input + usage.cacheRead + usage.cacheWrite;\n\tlet rates: ModelCostRates = model.cost;\n\tlet matchedThreshold = -1;\n\tfor (const tier of model.cost.tiers ?? []) {\n\t\tif (inputTokens > tier.inputTokensAbove && tier.inputTokensAbove > matchedThreshold) {\n\t\t\trates = tier;\n\t\t\tmatchedThreshold = tier.inputTokensAbove;\n\t\t}\n\t}\n\n\t// Anthropic charges 2x base input for 1h cache writes.\n\tconst longWrite = usage.cacheWrite1h ?? 0;\n\tconst shortWrite = usage.cacheWrite - longWrite;\n\tusage.cost.input = (rates.input / 1000000) * usage.input;\n\tusage.cost.output = (rates.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (rates.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (rates.cacheWrite * shortWrite + rates.input * 2 * longWrite) / 1000000;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\nconst EXTENDED_THINKING_LEVELS: ModelThinkingLevel[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\nexport function getSupportedThinkingLevels<TApi extends Api>(model: Model<TApi>): ModelThinkingLevel[] {\n\tif (!model.reasoning) return [\"off\"];\n\n\treturn EXTENDED_THINKING_LEVELS.filter((level) => {\n\t\tconst mapped = model.thinkingLevelMap?.[level];\n\t\tif (mapped === null) return false;\n\t\tif (level === \"xhigh\" || level === \"max\") return mapped !== undefined;\n\t\treturn true;\n\t});\n}\n\nexport function clampThinkingLevel<TApi extends Api>(\n\tmodel: Model<TApi>,\n\tlevel: ModelThinkingLevel,\n): ModelThinkingLevel {\n\tconst availableLevels = getSupportedThinkingLevels(model);\n\tif (availableLevels.includes(level)) return level;\n\n\tconst requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level);\n\tif (requestedIndex === -1) return availableLevels[0] ?? \"off\";\n\n\tfor (let i = requestedIndex; i < EXTENDED_THINKING_LEVELS.length; i++) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\tfor (let i = requestedIndex - 1; i >= 0; i--) {\n\t\tconst candidate = EXTENDED_THINKING_LEVELS[i];\n\t\tif (availableLevels.includes(candidate)) return candidate;\n\t}\n\treturn availableLevels[0] ?? \"off\";\n}\n\n/**\n * Check if a model supports xhigh thinking level.\n */\nexport function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean {\n\tif (model.id.includes(\"gpt-5.2\") || model.id.includes(\"gpt-5.3\") || model.id.includes(\"gpt-5.4\")) {\n\t\treturn true;\n\t}\n\tif (\n\t\tmodel.id.includes(\"opus-4-6\") ||\n\t\tmodel.id.includes(\"opus-4.6\") ||\n\t\tmodel.id.includes(\"opus-4-7\") ||\n\t\tmodel.id.includes(\"opus-4.7\") ||\n\t\tmodel.id.includes(\"sonnet-4-6\") ||\n\t\tmodel.id.includes(\"sonnet-4.6\") ||\n\t\tmodel.id.includes(\"haiku-4-5\") ||\n\t\tmodel.id.includes(\"haiku-4.5\")\n\t) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n/**\n * Check if a model supports the max thinking level.\n * Currently Anthropic Opus 4.6 and Opus 4.7 only.\n */\nexport function supportsMax<TApi extends Api>(model: Model<TApi>): boolean {\n\treturn (\n\t\tmodel.id.includes(\"opus-4-6\") ||\n\t\tmodel.id.includes(\"opus-4.6\") ||\n\t\tmodel.id.includes(\"opus-4-7\") ||\n\t\tmodel.id.includes(\"opus-4.7\")\n\t);\n}\n\n/**\n * Check if two models are equal by comparing both their id and provider.\n * Returns false if either model is null or undefined.\n */\nexport function modelsAreEqual<TApi extends Api>(\n\ta: Model<TApi> | null | undefined,\n\tb: Model<TApi> | null | undefined,\n): boolean {\n\tif (!a || !b) return false;\n\treturn a.id === b.id && a.provider === b.provider;\n}\n"]}
|
package/dist/oauth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/providers/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,mBAAmB,EAAgB,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AACzG,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAsC7D,KAAK,eAAe,CACnB,SAAS,SAAS,aAAa,EAC/B,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,IAC9C,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEjH,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EACjH,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAG7C;AAED,wBAAgB,mBAAmB,IAAI,aAAa,EAAE,CAErD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,aAAa,EAC/D,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAKvE;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,IAAI,QAAQ,EAAE,CAsC7C;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAM1E;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CAEzD;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,CAMtF"
|
|
1
|
+
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/providers/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,mBAAmB,EAAgB,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AACzG,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAsC7D,KAAK,eAAe,CACnB,SAAS,SAAS,aAAa,EAC/B,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,IAC9C,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEjH,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EACjH,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAG7C;AAED,wBAAgB,mBAAmB,IAAI,aAAa,EAAE,CAErD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,aAAa,EAC/D,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAKvE;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,IAAI,QAAQ,EAAE,CAsC7C;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,aAAa,CAM1E;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CAEzD;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,CAMtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/providers/all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiD,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAA4B,YAAY,EAAqC,MAAM,cAAc,CAAC;AAEzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD,oDAAoD;AACpD,MAAM,UAAU,eAAe,CAC9B,QAAmB,EACnB,OAAiB
|
|
1
|
+
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/providers/all.ts"],"names":[],"mappings":"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","sourcesContent":["import { createImagesModels, type ImagesProvider, type MutableImagesModels } from \"../images-models.ts\";\nimport { MODELS } from \"../models.generated.ts\";\nimport { type CreateModelsOptions, createModels, type MutableModels, type Provider } from \"../models.ts\";\nimport type { Api, KnownProvider, Model } from \"../types.ts\";\nimport { amazonBedrockProvider } from \"./amazon-bedrock.ts\";\nimport { antLingProvider } from \"./ant-ling.ts\";\nimport { anthropicProvider } from \"./anthropic.ts\";\nimport { azureOpenAIResponsesProvider } from \"./azure-openai-responses.ts\";\nimport { cerebrasProvider } from \"./cerebras.ts\";\nimport { cloudflareAIGatewayProvider } from \"./cloudflare-ai-gateway.ts\";\nimport { cloudflareWorkersAIProvider } from \"./cloudflare-workers-ai.ts\";\nimport { deepseekProvider } from \"./deepseek.ts\";\nimport { fireworksProvider } from \"./fireworks.ts\";\nimport { githubCopilotProvider } from \"./github-copilot.ts\";\nimport { googleProvider } from \"./google.ts\";\nimport { googleVertexProvider } from \"./google-vertex.ts\";\nimport { groqProvider } from \"./groq.ts\";\nimport { huggingfaceProvider } from \"./huggingface.ts\";\nimport { kimiCodingProvider } from \"./kimi-coding.ts\";\nimport { minimaxProvider } from \"./minimax.ts\";\nimport { minimaxCnProvider } from \"./minimax-cn.ts\";\nimport { mistralProvider } from \"./mistral.ts\";\nimport { moonshotaiProvider } from \"./moonshotai.ts\";\nimport { moonshotaiCnProvider } from \"./moonshotai-cn.ts\";\nimport { nvidiaProvider } from \"./nvidia.ts\";\nimport { openaiProvider } from \"./openai.ts\";\nimport { openaiCodexProvider } from \"./openai-codex.ts\";\nimport { opencodeProvider } from \"./opencode.ts\";\nimport { opencodeGoProvider } from \"./opencode-go.ts\";\nimport { openrouterProvider } from \"./openrouter.ts\";\nimport { openrouterImagesProvider } from \"./openrouter-images.ts\";\nimport { togetherProvider } from \"./together.ts\";\nimport { vercelAIGatewayProvider } from \"./vercel-ai-gateway.ts\";\nimport { xaiProvider } from \"./xai.ts\";\nimport { xiaomiProvider } from \"./xiaomi.ts\";\nimport { xiaomiTokenPlanAmsProvider } from \"./xiaomi-token-plan-ams.ts\";\nimport { xiaomiTokenPlanCnProvider } from \"./xiaomi-token-plan-cn.ts\";\nimport { xiaomiTokenPlanSgpProvider } from \"./xiaomi-token-plan-sgp.ts\";\nimport { zaiProvider } from \"./zai.ts\";\nimport { zaiCodingCnProvider } from \"./zai-coding-cn.ts\";\n\ntype BuiltinModelApi<\n\tTProvider extends KnownProvider,\n\tTModelId extends keyof (typeof MODELS)[TProvider],\n> = (typeof MODELS)[TProvider][TModelId] extends { api: infer TApi } ? (TApi extends Api ? TApi : never) : never;\n\n/** Typed read of the generated built-in catalog. */\nexport function getBuiltinModel<TProvider extends KnownProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(\n\tprovider: TProvider,\n\tmodelId: TModelId,\n): Model<BuiltinModelApi<TProvider, TModelId>> {\n\tconst models = MODELS[provider] as Record<string, Model<Api>> | undefined;\n\treturn models?.[modelId as string] as Model<BuiltinModelApi<TProvider, TModelId>>;\n}\n\nexport function getBuiltinProviders(): KnownProvider[] {\n\treturn Object.keys(MODELS) as KnownProvider[];\n}\n\nexport function getBuiltinModels<TProvider extends KnownProvider>(\n\tprovider: TProvider,\n): Model<BuiltinModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {\n\tconst models = MODELS[provider] as Record<string, Model<Api>> | undefined;\n\treturn models\n\t\t? (Object.values(models) as Model<BuiltinModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[])\n\t\t: [];\n}\n\n/** All built-in providers, freshly constructed. */\nexport function builtinProviders(): Provider[] {\n\treturn [\n\t\tamazonBedrockProvider(),\n\t\tantLingProvider(),\n\t\tanthropicProvider(),\n\t\tazureOpenAIResponsesProvider(),\n\t\tcerebrasProvider(),\n\t\tcloudflareAIGatewayProvider(),\n\t\tcloudflareWorkersAIProvider(),\n\t\tdeepseekProvider(),\n\t\tfireworksProvider(),\n\t\tgithubCopilotProvider(),\n\t\tgoogleProvider(),\n\t\tgoogleVertexProvider(),\n\t\tgroqProvider(),\n\t\thuggingfaceProvider(),\n\t\tkimiCodingProvider(),\n\t\tminimaxProvider(),\n\t\tminimaxCnProvider(),\n\t\tmistralProvider(),\n\t\tmoonshotaiProvider(),\n\t\tmoonshotaiCnProvider(),\n\t\tnvidiaProvider(),\n\t\topenaiProvider(),\n\t\topenaiCodexProvider(),\n\t\topencodeProvider(),\n\t\topencodeGoProvider(),\n\t\topenrouterProvider(),\n\t\ttogetherProvider(),\n\t\tvercelAIGatewayProvider(),\n\t\txaiProvider(),\n\t\txiaomiProvider(),\n\t\txiaomiTokenPlanAmsProvider(),\n\t\txiaomiTokenPlanCnProvider(),\n\t\txiaomiTokenPlanSgpProvider(),\n\t\tzaiProvider(),\n\t\tzaiCodingCnProvider(),\n\t];\n}\n\n/** A `Models` collection with every built-in provider registered. */\nexport function builtinModels(options?: CreateModelsOptions): MutableModels {\n\tconst models = createModels(options);\n\tfor (const provider of builtinProviders()) {\n\t\tmodels.setProvider(provider);\n\t}\n\treturn models;\n}\n\n/** All built-in image-generation providers, freshly constructed. */\nexport function builtinImagesProviders(): ImagesProvider[] {\n\treturn [openrouterImagesProvider()];\n}\n\n/** An `ImagesModels` collection with every built-in image-generation provider registered. */\nexport function builtinImagesModels(options?: CreateModelsOptions): MutableImagesModels {\n\tconst models = createImagesModels(options);\n\tfor (const provider of builtinImagesProviders()) {\n\t\tmodels.setProvider(provider);\n\t}\n\treturn models;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/amazon-bedrock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAwB7D,wBAAgB,qBAAqB,IAAI,QAAQ,CAAC,yBAAyB,CAAC,CAQ3E"
|
|
1
|
+
{"version":3,"file":"amazon-bedrock.d.ts","sourceRoot":"","sources":["../../src/providers/amazon-bedrock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAwB7D,wBAAgB,qBAAqB,IAAI,QAAQ,CAAC,yBAAyB,CAAC,CAQ3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-bedrock.js","sourceRoot":"","sources":["../../src/providers/amazon-bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,GAAe;IAC/B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"amazon-bedrock.js","sourceRoot":"","sources":["../../src/providers/amazon-bedrock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,GAAe;IAC/B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE;QACtC,IAAI,UAAU,EAAE,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC9F,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;QACvG,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC7E,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,wCAAwC,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAC1G,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACtG,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QACpG,OAAO,SAAS,CAAC;IAClB,CAAC;CACD,CAAC;AAEF,MAAM,UAAU,qBAAqB;IACpC,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAC5C,GAAG,EAAE,wBAAwB,EAAE;KAC/B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { bedrockConverseStreamApi } from \"../api/bedrock-converse-stream.lazy.ts\";\nimport type { ApiKeyAuth } from \"../auth/types.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { AMAZON_BEDROCK_MODELS } from \"./amazon-bedrock.models.ts\";\n\n/**\n * Bedrock auth is ambient: the AWS SDK's default credential chain handles the\n * actual signing, so `resolve` only reports whether the provider is\n * configured. A stored credential key is surfaced as the bearer token.\n */\nconst bedrockAuth: ApiKeyAuth = {\n\tname: \"AWS credentials\",\n\tresolve: async ({ ctx, credential }) => {\n\t\tif (credential?.key) return { auth: { apiKey: credential.key }, source: \"stored credential\" };\n\t\tif (await ctx.env(\"AWS_BEARER_TOKEN_BEDROCK\")) return { auth: {}, source: \"AWS_BEARER_TOKEN_BEDROCK\" };\n\t\tif (await ctx.env(\"AWS_PROFILE\")) return { auth: {}, source: \"AWS_PROFILE\" };\n\t\tif ((await ctx.env(\"AWS_ACCESS_KEY_ID\")) && (await ctx.env(\"AWS_SECRET_ACCESS_KEY\"))) {\n\t\t\treturn { auth: {}, source: \"AWS access keys\" };\n\t\t}\n\t\tif (await ctx.env(\"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\")) return { auth: {}, source: \"ECS task role\" };\n\t\tif (await ctx.env(\"AWS_CONTAINER_CREDENTIALS_FULL_URI\")) return { auth: {}, source: \"ECS task role\" };\n\t\tif (await ctx.env(\"AWS_WEB_IDENTITY_TOKEN_FILE\")) return { auth: {}, source: \"web identity token\" };\n\t\treturn undefined;\n\t},\n};\n\nexport function amazonBedrockProvider(): Provider<\"bedrock-converse-stream\"> {\n\treturn createProvider({\n\t\tid: \"amazon-bedrock\",\n\t\tname: \"Amazon Bedrock\",\n\t\tauth: { apiKey: bedrockAuth },\n\t\tmodels: Object.values(AMAZON_BEDROCK_MODELS),\n\t\tapi: bedrockConverseStreamApi(),\n\t});\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amazon-bedrock.models.d.ts","sourceRoot":"","sources":["../../src/providers/amazon-bedrock.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6yDxB,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 AMAZON_BEDROCK_MODELS = {\n\t\"amazon.nova-2-lite-v1:0\": {\n\t\tid: \"amazon.nova-2-lite-v1:0\",\n\t\tname: \"Nova 2 Lite\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.33,\n\t\t\toutput: 2.75,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"amazon.nova-lite-v1:0\": {\n\t\tid: \"amazon.nova-lite-v1:0\",\n\t\tname: \"Nova Lite\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.24,\n\t\t\tcacheRead: 0.015,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 300000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"amazon.nova-micro-v1:0\": {\n\t\tid: \"amazon.nova-micro-v1:0\",\n\t\tname: \"Nova Micro\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.035,\n\t\t\toutput: 0.14,\n\t\t\tcacheRead: 0.00875,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"amazon.nova-pro-v1:0\": {\n\t\tid: \"amazon.nova-pro-v1:0\",\n\t\tname: \"Nova Pro\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.8,\n\t\t\toutput: 3.2,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 300000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-fable-5\": {\n\t\tid: \"anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-1-20250805-v1:0\": {\n\t\tid: \"anthropic.claude-opus-4-1-20250805-v1:0\",\n\t\tname: \"Claude Opus 4.1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 15,\n\t\t\toutput: 75,\n\t\t\tcacheRead: 1.5,\n\t\t\tcacheWrite: 18.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-7\": {\n\t\tid: \"anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-8\": {\n\t\tid: \"anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-sonnet-4-6\": {\n\t\tid: \"anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-sonnet-5\": {\n\t\tid: \"anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"au.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"au.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"AU Anthropic Claude Opus 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 16.5,\n\t\t\toutput: 82.5,\n\t\t\tcacheRead: 1.65,\n\t\t\tcacheWrite: 20.625,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-opus-4-8\": {\n\t\tid: \"au.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"au.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"au.anthropic.claude-sonnet-4-6\",\n\t\tname: \"AU Anthropic Claude Sonnet 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3.3,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.33,\n\t\t\tcacheWrite: 4.125,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-sonnet-5\": {\n\t\tid: \"au.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"deepseek.r1-v1:0\": {\n\t\tid: \"deepseek.r1-v1:0\",\n\t\tname: \"DeepSeek-R1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.35,\n\t\t\toutput: 5.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"deepseek.v3-v1:0\": {\n\t\tid: \"deepseek.v3-v1:0\",\n\t\tname: \"DeepSeek-V3.1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.58,\n\t\t\toutput: 1.68,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 163840,\n\t\tmaxTokens: 81920,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"deepseek.v3.2\": {\n\t\tid: \"deepseek.v3.2\",\n\t\tname: \"DeepSeek-V3.2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.62,\n\t\t\toutput: 1.85,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 163840,\n\t\tmaxTokens: 81920,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-fable-5\": {\n\t\tid: \"eu.anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 11,\n\t\t\toutput: 55,\n\t\t\tcacheRead: 1.1,\n\t\t\tcacheWrite: 13.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"eu.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.1,\n\t\t\toutput: 5.5,\n\t\t\tcacheRead: 0.11,\n\t\t\tcacheWrite: 1.375,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"eu.anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"eu.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-7\": {\n\t\tid: \"eu.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-8\": {\n\t\tid: \"eu.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"eu.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3.3,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.33,\n\t\t\tcacheWrite: 4.125,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"eu.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3.3,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.33,\n\t\t\tcacheWrite: 4.125,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-sonnet-5\": {\n\t\tid: \"eu.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2.2,\n\t\t\toutput: 11,\n\t\t\tcacheRead: 0.22,\n\t\t\tcacheWrite: 2.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-fable-5\": {\n\t\tid: \"global.anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"global.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"global.anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"global.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-7\": {\n\t\tid: \"global.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-8\": {\n\t\tid: \"global.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"global.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"global.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-sonnet-5\": {\n\t\tid: \"global.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"google.gemma-3-27b-it\": {\n\t\tid: \"google.gemma-3-27b-it\",\n\t\tname: \"Google Gemma 3 27B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.12,\n\t\t\toutput: 0.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 202752,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"google.gemma-3-4b-it\": {\n\t\tid: \"google.gemma-3-4b-it\",\n\t\tname: \"Gemma 3 4B IT\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.04,\n\t\t\toutput: 0.08,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"jp.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-opus-4-7\": {\n\t\tid: \"jp.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-opus-4-8\": {\n\t\tid: \"jp.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"jp.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"jp.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-sonnet-5\": {\n\t\tid: \"jp.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama3-1-70b-instruct-v1:0\": {\n\t\tid: \"meta.llama3-1-70b-instruct-v1:0\",\n\t\tname: \"Llama 3.1 70B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.72,\n\t\t\toutput: 0.72,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama3-1-8b-instruct-v1:0\": {\n\t\tid: \"meta.llama3-1-8b-instruct-v1:0\",\n\t\tname: \"Llama 3.1 8B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 0.22,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama3-3-70b-instruct-v1:0\": {\n\t\tid: \"meta.llama3-3-70b-instruct-v1:0\",\n\t\tname: \"Llama 3.3 70B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.72,\n\t\t\toutput: 0.72,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama4-maverick-17b-instruct-v1:0\": {\n\t\tid: \"meta.llama4-maverick-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Maverick 17B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.24,\n\t\t\toutput: 0.97,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama4-scout-17b-instruct-v1:0\": {\n\t\tid: \"meta.llama4-scout-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Scout 17B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.17,\n\t\t\toutput: 0.66,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 3500000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"minimax.minimax-m2\": {\n\t\tid: \"minimax.minimax-m2\",\n\t\tname: \"MiniMax M2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204608,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"minimax.minimax-m2.1\": {\n\t\tid: \"minimax.minimax-m2.1\",\n\t\tname: \"MiniMax M2.1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"minimax.minimax-m2.5\": {\n\t\tid: \"minimax.minimax-m2.5\",\n\t\tname: \"MiniMax M2.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 196608,\n\t\tmaxTokens: 98304,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.devstral-2-123b\": {\n\t\tid: \"mistral.devstral-2-123b\",\n\t\tname: \"Devstral 2 123B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.4,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.magistral-small-2509\": {\n\t\tid: \"mistral.magistral-small-2509\",\n\t\tname: \"Magistral Small 1.2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 40000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.ministral-3-14b-instruct\": {\n\t\tid: \"mistral.ministral-3-14b-instruct\",\n\t\tname: \"Ministral 14B 3.0\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 0.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.ministral-3-3b-instruct\": {\n\t\tid: \"mistral.ministral-3-3b-instruct\",\n\t\tname: \"Ministral 3 3B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.1,\n\t\t\toutput: 0.1,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.ministral-3-8b-instruct\": {\n\t\tid: \"mistral.ministral-3-8b-instruct\",\n\t\tname: \"Ministral 3 8B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.15,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.mistral-large-3-675b-instruct\": {\n\t\tid: \"mistral.mistral-large-3-675b-instruct\",\n\t\tname: \"Mistral Large 3\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.pixtral-large-2502-v1:0\": {\n\t\tid: \"mistral.pixtral-large-2502-v1:0\",\n\t\tname: \"Pixtral Large (25.02)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.voxtral-mini-3b-2507\": {\n\t\tid: \"mistral.voxtral-mini-3b-2507\",\n\t\tname: \"Voxtral Mini 3B 2507\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.04,\n\t\t\toutput: 0.04,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.voxtral-small-24b-2507\": {\n\t\tid: \"mistral.voxtral-small-24b-2507\",\n\t\tname: \"Voxtral Small 24B 2507\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.35,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 32000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"moonshot.kimi-k2-thinking\": {\n\t\tid: \"moonshot.kimi-k2-thinking\",\n\t\tname: \"Kimi K2 Thinking\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 2.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262143,\n\t\tmaxTokens: 16000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"moonshotai.kimi-k2.5\": {\n\t\tid: \"moonshotai.kimi-k2.5\",\n\t\tname: \"Kimi K2.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262143,\n\t\tmaxTokens: 16000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-nano-12b-v2\": {\n\t\tid: \"nvidia.nemotron-nano-12b-v2\",\n\t\tname: \"NVIDIA Nemotron Nano 12B v2 VL BF16\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-nano-3-30b\": {\n\t\tid: \"nvidia.nemotron-nano-3-30b\",\n\t\tname: \"NVIDIA Nemotron Nano 3 30B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.24,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-nano-9b-v2\": {\n\t\tid: \"nvidia.nemotron-nano-9b-v2\",\n\t\tname: \"NVIDIA Nemotron Nano 9B v2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.23,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-super-3-120b\": {\n\t\tid: \"nvidia.nemotron-super-3-120b\",\n\t\tname: \"NVIDIA Nemotron 3 Super 120B A12B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.65,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-5.4\": {\n\t\tid: \"openai.gpt-5.4\",\n\t\tname: \"GPT-5.4\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2.75,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.275,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 272000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-5.5\": {\n\t\tid: \"openai.gpt-5.5\",\n\t\tname: \"GPT-5.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 33,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 272000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-120b\": {\n\t\tid: \"openai.gpt-oss-120b\",\n\t\tname: \"gpt-oss-120b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-120b-1:0\": {\n\t\tid: \"openai.gpt-oss-120b-1:0\",\n\t\tname: \"gpt-oss-120b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-20b\": {\n\t\tid: \"openai.gpt-oss-20b\",\n\t\tname: \"gpt-oss-20b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-20b-1:0\": {\n\t\tid: \"openai.gpt-oss-20b-1:0\",\n\t\tname: \"gpt-oss-20b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-safeguard-120b\": {\n\t\tid: \"openai.gpt-oss-safeguard-120b\",\n\t\tname: \"GPT OSS Safeguard 120B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-safeguard-20b\": {\n\t\tid: \"openai.gpt-oss-safeguard-20b\",\n\t\tname: \"GPT OSS Safeguard 20B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-235b-a22b-2507-v1:0\": {\n\t\tid: \"qwen.qwen3-235b-a22b-2507-v1:0\",\n\t\tname: \"Qwen3 235B A22B 2507\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 0.88,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-32b-v1:0\": {\n\t\tid: \"qwen.qwen3-32b-v1:0\",\n\t\tname: \"Qwen3 32B (dense)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 16384,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-coder-30b-a3b-v1:0\": {\n\t\tid: \"qwen.qwen3-coder-30b-a3b-v1:0\",\n\t\tname: \"Qwen3 Coder 30B A3B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-coder-480b-a35b-v1:0\": {\n\t\tid: \"qwen.qwen3-coder-480b-a35b-v1:0\",\n\t\tname: \"Qwen3 Coder 480B A35B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 1.8,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-coder-next\": {\n\t\tid: \"qwen.qwen3-coder-next\",\n\t\tname: \"Qwen3 Coder Next\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 1.8,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-next-80b-a3b\": {\n\t\tid: \"qwen.qwen3-next-80b-a3b\",\n\t\tname: \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 1.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262000,\n\t\tmaxTokens: 262000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-vl-235b-a22b\": {\n\t\tid: \"qwen.qwen3-vl-235b-a22b\",\n\t\tname: \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262000,\n\t\tmaxTokens: 262000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-fable-5\": {\n\t\tid: \"us.anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"us.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-1-20250805-v1:0\": {\n\t\tid: \"us.anthropic.claude-opus-4-1-20250805-v1:0\",\n\t\tname: \"Claude Opus 4.1 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 15,\n\t\t\toutput: 75,\n\t\t\tcacheRead: 1.5,\n\t\t\tcacheWrite: 18.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"us.anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"us.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-7\": {\n\t\tid: \"us.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-8\": {\n\t\tid: \"us.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"us.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"us.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-sonnet-5\": {\n\t\tid: \"us.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\",\"max\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.deepseek.r1-v1:0\": {\n\t\tid: \"us.deepseek.r1-v1:0\",\n\t\tname: \"DeepSeek-R1 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.35,\n\t\t\toutput: 5.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.meta.llama4-maverick-17b-instruct-v1:0\": {\n\t\tid: \"us.meta.llama4-maverick-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Maverick 17B Instruct (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.24,\n\t\t\toutput: 0.97,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.meta.llama4-scout-17b-instruct-v1:0\": {\n\t\tid: \"us.meta.llama4-scout-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Scout 17B Instruct (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.17,\n\t\t\toutput: 0.66,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 3500000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"writer.palmyra-x4-v1:0\": {\n\t\tid: \"writer.palmyra-x4-v1:0\",\n\t\tname: \"Palmyra X4\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 2.5,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 122880,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"writer.palmyra-x5-v1:0\": {\n\t\tid: \"writer.palmyra-x5-v1:0\",\n\t\tname: \"Palmyra X5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1040000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"xai.grok-4.3\": {\n\t\tid: \"xai.grok-4.3\",\n\t\tname: \"Grok 4.3\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.25,\n\t\t\toutput: 2.5,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"zai.glm-4.7\": {\n\t\tid: \"zai.glm-4.7\",\n\t\tname: \"GLM-4.7\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 2.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"zai.glm-4.7-flash\": {\n\t\tid: \"zai.glm-4.7-flash\",\n\t\tname: \"GLM-4.7-Flash\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"zai.glm-5\": {\n\t\tid: \"zai.glm-5\",\n\t\tname: \"GLM-5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 3.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 202752,\n\t\tmaxTokens: 101376,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n} as const;\n"]}
|
|
1
|
+
{"version":3,"file":"amazon-bedrock.models.d.ts","sourceRoot":"","sources":["../../src/providers/amazon-bedrock.models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ant-ling.d.ts","sourceRoot":"","sources":["../../src/providers/ant-ling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,eAAe,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAShE"
|
|
1
|
+
{"version":3,"file":"ant-ling.d.ts","sourceRoot":"","sources":["../../src/providers/ant-ling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,eAAe,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAShE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ant-ling.js","sourceRoot":"","sources":["../../src/providers/ant-ling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,eAAe
|
|
1
|
+
{"version":3,"file":"ant-ling.js","sourceRoot":"","sources":["../../src/providers/ant-ling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,eAAe;IAC9B,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE;QACzE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QACtC,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { ANT_LING_MODELS } from \"./ant-ling.models.ts\";\n\nexport function antLingProvider(): Provider<\"openai-completions\"> {\n\treturn createProvider({\n\t\tid: \"ant-ling\",\n\t\tname: \"Ant Ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Ant Ling API key\", [\"ANT_LING_API_KEY\"]) },\n\t\tmodels: Object.values(ANT_LING_MODELS),\n\t\tapi: openAICompletionsApi(),\n\t});\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ant-ling.models.d.ts","sourceRoot":"","sources":["../../src/providers/ant-ling.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"ant-ling.models.d.ts","sourceRoot":"","sources":["../../src/providers/ant-ling.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;YAWzB,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;;;;YAeV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;;;;;YAaQ,GAAK;YAAM,OAAS;YAAM,GAAK;YAAM,MAAQ;YAAM,IAAM;YAAQ,KAAO;;;;YAG1F,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7D,wBAAgB,iBAAiB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAalE"
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7D,wBAAgB,iBAAiB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAalE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,iBAAiB
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,iBAAiB;IAChC,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE;YACL,gEAAgE;YAChE,MAAM,EAAE,aAAa,CAAC,mBAAmB,EAAE,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;YAC1F,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;SAClF;QACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACvC,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { envApiKeyAuth, lazyOAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { loadAnthropicOAuth } from \"../utils/oauth/load.ts\";\nimport { ANTHROPIC_MODELS } from \"./anthropic.models.ts\";\n\nexport function anthropicProvider(): Provider<\"anthropic-messages\"> {\n\treturn createProvider({\n\t\tid: \"anthropic\",\n\t\tname: \"Anthropic\",\n\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\tauth: {\n\t\t\t// ANTHROPIC_OAUTH_TOKEN takes precedence over ANTHROPIC_API_KEY\n\t\t\tapiKey: envApiKeyAuth(\"Anthropic API key\", [\"ANTHROPIC_OAUTH_TOKEN\", \"ANTHROPIC_API_KEY\"]),\n\t\t\toauth: lazyOAuth({ name: \"Anthropic (Claude Pro/Max)\", load: loadAnthropicOAuth }),\n\t\t},\n\t\tmodels: Object.values(ANTHROPIC_MODELS),\n\t\tapi: anthropicMessagesApi(),\n\t});\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.models.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"anthropic.models.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;YASR,GAAK;YAAM,KAAO;YAAS,GAAK;;;;YAGlD,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;YAaQ,GAAK;;;;YAGvB,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;YAaQ,KAAO;YAAS,GAAK;;;;YAGvC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;;YAaQ,KAAO;YAAS,GAAK;;;;YAGvC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;YAcV,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;YAaQ,GAAK;;;;YAGvB,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;;;;;;;;;;;;YAaQ,KAAO;YAAS,GAAK;;;;YAGvC,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU;;;;;CAKH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-openai-responses.d.ts","sourceRoot":"","sources":["../../src/providers/azure-openai-responses.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,4BAA4B,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAQjF"
|
|
1
|
+
{"version":3,"file":"azure-openai-responses.d.ts","sourceRoot":"","sources":["../../src/providers/azure-openai-responses.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,4BAA4B,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAQjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"azure-openai-responses.js","sourceRoot":"","sources":["../../src/providers/azure-openai-responses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,UAAU,4BAA4B
|
|
1
|
+
{"version":3,"file":"azure-openai-responses.js","sourceRoot":"","sources":["../../src/providers/azure-openai-responses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAEnF,MAAM,UAAU,4BAA4B;IAC3C,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,sBAAsB,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE;QACjF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,6BAA6B,CAAC;QACpD,GAAG,EAAE,uBAAuB,EAAE;KAC9B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { azureOpenAIResponsesApi } from \"../api/azure-openai-responses.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { AZURE_OPENAI_RESPONSES_MODELS } from \"./azure-openai-responses.models.ts\";\n\nexport function azureOpenAIResponsesProvider(): Provider<\"azure-openai-responses\"> {\n\treturn createProvider({\n\t\tid: \"azure-openai-responses\",\n\t\tname: \"Azure OpenAI\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Azure OpenAI API key\", [\"AZURE_OPENAI_API_KEY\"]) },\n\t\tmodels: Object.values(AZURE_OPENAI_RESPONSES_MODELS),\n\t\tapi: azureOpenAIResponsesApi(),\n\t});\n}\n"]}
|