@mariozechner/pi-ai 0.56.0 → 0.56.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.generated.d.ts +211 -35
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.generated.js +255 -84
- package/dist/models.generated.js.map +1 -1
- package/dist/models.js +2 -2
- package/dist/models.js.map +1 -1
- package/dist/providers/google-gemini-cli.d.ts.map +1 -1
- package/dist/providers/google-gemini-cli.js +21 -10
- package/dist/providers/google-gemini-cli.js.map +1 -1
- package/dist/providers/google-shared.d.ts.map +1 -1
- package/dist/providers/google-shared.js +16 -22
- package/dist/providers/google-shared.js.map +1 -1
- package/dist/providers/mistral.d.ts +22 -0
- package/dist/providers/mistral.d.ts.map +1 -0
- package/dist/providers/mistral.js +495 -0
- package/dist/providers/mistral.js.map +1 -0
- package/dist/providers/openai-codex-responses.d.ts.map +1 -1
- package/dist/providers/openai-codex-responses.js +1 -1
- package/dist/providers/openai-codex-responses.js.map +1 -1
- package/dist/providers/openai-completions.d.ts.map +1 -1
- package/dist/providers/openai-completions.js +8 -33
- package/dist/providers/openai-completions.js.map +1 -1
- package/dist/providers/openai-responses-shared.d.ts.map +1 -1
- package/dist/providers/openai-responses-shared.js +30 -13
- package/dist/providers/openai-responses-shared.js.map +1 -1
- package/dist/providers/register-builtins.d.ts.map +1 -1
- package/dist/providers/register-builtins.js +6 -0
- package/dist/providers/register-builtins.js.map +1 -1
- package/dist/types.d.ts +6 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/hash.d.ts +3 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +14 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/overflow.d.ts +1 -1
- package/dist/utils/overflow.d.ts.map +1 -1
- package/dist/utils/overflow.js +4 -3
- package/dist/utils/overflow.js.map +1 -1
- package/package.json +5 -7
- package/oauth.d.ts +0 -1
- package/oauth.js +0 -1
package/README.md
CHANGED
|
@@ -627,6 +627,7 @@ The library uses a registry of API implementations. Built-in APIs include:
|
|
|
627
627
|
- **`google-generative-ai`**: Google Generative AI API (`streamGoogle`, `GoogleOptions`)
|
|
628
628
|
- **`google-gemini-cli`**: Google Cloud Code Assist API (`streamGoogleGeminiCli`, `GoogleGeminiCliOptions`)
|
|
629
629
|
- **`google-vertex`**: Google Vertex AI API (`streamGoogleVertex`, `GoogleVertexOptions`)
|
|
630
|
+
- **`mistral-conversations`**: Mistral Conversations API (`streamMistral`, `MistralOptions`)
|
|
630
631
|
- **`openai-completions`**: OpenAI Chat Completions API (`streamOpenAICompletions`, `OpenAICompletionsOptions`)
|
|
631
632
|
- **`openai-responses`**: OpenAI Responses API (`streamOpenAIResponses`, `OpenAIResponsesOptions`)
|
|
632
633
|
- **`openai-codex-responses`**: OpenAI Codex Responses API (`streamOpenAICodexResponses`, `OpenAICodexResponsesOptions`)
|
|
@@ -639,7 +640,8 @@ A **provider** offers models through a specific API. For example:
|
|
|
639
640
|
- **Anthropic** models use the `anthropic-messages` API
|
|
640
641
|
- **Google** models use the `google-generative-ai` API
|
|
641
642
|
- **OpenAI** models use the `openai-responses` API
|
|
642
|
-
- **Mistral
|
|
643
|
+
- **Mistral** models use the `mistral-conversations` API
|
|
644
|
+
- **xAI, Cerebras, Groq, etc.** models use the `openai-completions` API (OpenAI-compatible)
|
|
643
645
|
|
|
644
646
|
### Querying Providers and Models
|
|
645
647
|
|
|
@@ -729,7 +731,7 @@ const response = await stream(ollamaModel, context, {
|
|
|
729
731
|
|
|
730
732
|
### OpenAI Compatibility Settings
|
|
731
733
|
|
|
732
|
-
The `openai-completions` API is implemented by many providers with minor differences. By default, the library auto-detects compatibility settings based on `baseUrl` for known providers (Cerebras, xAI,
|
|
734
|
+
The `openai-completions` API is implemented by many providers with minor differences. By default, the library auto-detects compatibility settings based on `baseUrl` for a small set of known OpenAI-compatible providers (Cerebras, xAI, Chutes, DeepSeek, zAi, OpenCode, etc.). For custom proxies or unknown endpoints, you can override these settings via the `compat` field. For `openai-responses` models, the compat field only supports Responses-specific flags.
|
|
733
735
|
|
|
734
736
|
```typescript
|
|
735
737
|
interface OpenAICompletionsCompat {
|
|
@@ -742,7 +744,6 @@ interface OpenAICompletionsCompat {
|
|
|
742
744
|
requiresToolResultName?: boolean; // Whether tool results require the `name` field (default: false)
|
|
743
745
|
requiresAssistantAfterToolResult?: boolean; // Whether tool results must be followed by an assistant message (default: false)
|
|
744
746
|
requiresThinkingAsText?: boolean; // Whether thinking blocks must be converted to text (default: false)
|
|
745
|
-
requiresMistralToolIds?: boolean; // Whether tool call IDs must be normalized to Mistral format (default: false)
|
|
746
747
|
thinkingFormat?: 'openai' | 'zai' | 'qwen'; // Format for reasoning param: 'openai' uses reasoning_effort, 'zai' uses thinking: { type: "enabled" }, 'qwen' uses enable_thinking: boolean (default: openai)
|
|
747
748
|
openRouterRouting?: OpenRouterRouting; // OpenRouter routing preferences (default: {})
|
|
748
749
|
vercelGatewayRouting?: VercelGatewayRouting; // Vercel AI Gateway routing preferences (default: {})
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./providers/azure-openai-responses.js";
|
|
|
8
8
|
export * from "./providers/google.js";
|
|
9
9
|
export * from "./providers/google-gemini-cli.js";
|
|
10
10
|
export * from "./providers/google-vertex.js";
|
|
11
|
+
export * from "./providers/mistral.js";
|
|
11
12
|
export * from "./providers/openai-completions.js";
|
|
12
13
|
export * from "./providers/openai-responses.js";
|
|
13
14
|
export * from "./providers/register-builtins.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,YAAY,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"@sinclair/typebox\";\nexport { Type } from \"@sinclair/typebox\";\n\nexport * from \"./api-registry.js\";\nexport * from \"./env-api-keys.js\";\nexport * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/azure-openai-responses.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./providers/register-builtins.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/json-parse.js\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n} from \"./utils/oauth/types.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,YAAY,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACtB,MAAM,wBAAwB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"@sinclair/typebox\";\nexport { Type } from \"@sinclair/typebox\";\n\nexport * from \"./api-registry.js\";\nexport * from \"./env-api-keys.js\";\nexport * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/azure-openai-responses.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\nexport * from \"./providers/mistral.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./providers/register-builtins.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/json-parse.js\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n} from \"./utils/oauth/types.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export * from "./providers/azure-openai-responses.js";
|
|
|
7
7
|
export * from "./providers/google.js";
|
|
8
8
|
export * from "./providers/google-gemini-cli.js";
|
|
9
9
|
export * from "./providers/google-vertex.js";
|
|
10
|
+
export * from "./providers/mistral.js";
|
|
10
11
|
export * from "./providers/openai-completions.js";
|
|
11
12
|
export * from "./providers/openai-responses.js";
|
|
12
13
|
export * from "./providers/register-builtins.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AAWtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"@sinclair/typebox\";\nexport { Type } from \"@sinclair/typebox\";\n\nexport * from \"./api-registry.js\";\nexport * from \"./env-api-keys.js\";\nexport * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/azure-openai-responses.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./providers/register-builtins.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/json-parse.js\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n} from \"./utils/oauth/types.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AAWtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export type { Static, TSchema } from \"@sinclair/typebox\";\nexport { Type } from \"@sinclair/typebox\";\n\nexport * from \"./api-registry.js\";\nexport * from \"./env-api-keys.js\";\nexport * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/azure-openai-responses.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\nexport * from \"./providers/mistral.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./providers/register-builtins.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/json-parse.js\";\nexport type {\n\tOAuthAuthInfo,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tOAuthPrompt,\n\tOAuthProvider,\n\tOAuthProviderId,\n\tOAuthProviderInfo,\n\tOAuthProviderInterface,\n} from \"./utils/oauth/types.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
|
package/dist/models.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare function calculateCost<TApi extends Api>(model: Model<TApi>, usag
|
|
|
11
11
|
* Check if a model supports xhigh thinking level.
|
|
12
12
|
*
|
|
13
13
|
* Supported today:
|
|
14
|
-
* - GPT-5.2 / GPT-5.3 model families
|
|
14
|
+
* - GPT-5.2 / GPT-5.3 / GPT-5.4 model families
|
|
15
15
|
* - Anthropic Messages API Opus 4.6 models (xhigh maps to adaptive effort "max")
|
|
16
16
|
*/
|
|
17
17
|
export declare function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean;
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAanE,KAAK,QAAQ,CACZ,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,wBAAgB,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EAC1G,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAGtC;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,aAAa,EACxD,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAGhE;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAO/F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAU3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,GAAG,EAC9C,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EACjC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,GAC/B,OAAO,CAGT","sourcesContent":["import { MODELS } from \"./models.generated.js\";\nimport type { Api, KnownProvider, Model, Usage } from \"./types.js\";\n\nconst modelRegistry: Map<string, Map<string, Model<Api>>> = new Map();\n\n// Initialize registry from MODELS on module load\nfor (const [provider, models] of Object.entries(MODELS)) {\n\tconst providerModels = new Map<string, Model<Api>>();\n\tfor (const [id, model] of Object.entries(models)) {\n\t\tproviderModels.set(id, model as Model<Api>);\n\t}\n\tmodelRegistry.set(provider, providerModels);\n}\n\ntype ModelApi<\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\nexport function getModel<TProvider extends KnownProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(\n\tprovider: TProvider,\n\tmodelId: TModelId,\n): Model<ModelApi<TProvider, TModelId>> {\n\tconst providerModels = modelRegistry.get(provider);\n\treturn providerModels?.get(modelId as string) as Model<ModelApi<TProvider, TModelId>>;\n}\n\nexport function getProviders(): KnownProvider[] {\n\treturn Array.from(modelRegistry.keys()) as KnownProvider[];\n}\n\nexport function getModels<TProvider extends KnownProvider>(\n\tprovider: TProvider,\n): Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {\n\tconst models = modelRegistry.get(provider);\n\treturn models ? (Array.from(models.values()) as Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[]) : [];\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tusage.cost.input = (model.cost.input / 1000000) * usage.input;\n\tusage.cost.output = (model.cost.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (model.cost.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (model.cost.cacheWrite / 1000000) * usage.cacheWrite;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\n/**\n * Check if a model supports xhigh thinking level.\n *\n * Supported today:\n * - GPT-5.2 / GPT-5.3 model families\n * - Anthropic Messages API Opus 4.6 models (xhigh maps to adaptive effort \"max\")\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\")) {\n\t\treturn true;\n\t}\n\n\tif (model.api === \"anthropic-messages\") {\n\t\treturn model.id.includes(\"opus-4-6\") || model.id.includes(\"opus-4.6\");\n\t}\n\n\treturn false;\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.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAanE,KAAK,QAAQ,CACZ,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,wBAAgB,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EAC1G,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAGtC;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,aAAa,EACxD,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAGhE;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAO/F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAU3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,GAAG,EAC9C,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EACjC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,GAC/B,OAAO,CAGT","sourcesContent":["import { MODELS } from \"./models.generated.js\";\nimport type { Api, KnownProvider, Model, Usage } from \"./types.js\";\n\nconst modelRegistry: Map<string, Map<string, Model<Api>>> = new Map();\n\n// Initialize registry from MODELS on module load\nfor (const [provider, models] of Object.entries(MODELS)) {\n\tconst providerModels = new Map<string, Model<Api>>();\n\tfor (const [id, model] of Object.entries(models)) {\n\t\tproviderModels.set(id, model as Model<Api>);\n\t}\n\tmodelRegistry.set(provider, providerModels);\n}\n\ntype ModelApi<\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\nexport function getModel<TProvider extends KnownProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(\n\tprovider: TProvider,\n\tmodelId: TModelId,\n): Model<ModelApi<TProvider, TModelId>> {\n\tconst providerModels = modelRegistry.get(provider);\n\treturn providerModels?.get(modelId as string) as Model<ModelApi<TProvider, TModelId>>;\n}\n\nexport function getProviders(): KnownProvider[] {\n\treturn Array.from(modelRegistry.keys()) as KnownProvider[];\n}\n\nexport function getModels<TProvider extends KnownProvider>(\n\tprovider: TProvider,\n): Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {\n\tconst models = modelRegistry.get(provider);\n\treturn models ? (Array.from(models.values()) as Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[]) : [];\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tusage.cost.input = (model.cost.input / 1000000) * usage.input;\n\tusage.cost.output = (model.cost.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (model.cost.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (model.cost.cacheWrite / 1000000) * usage.cacheWrite;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\n/**\n * Check if a model supports xhigh thinking level.\n *\n * Supported today:\n * - GPT-5.2 / GPT-5.3 / GPT-5.4 model families\n * - Anthropic Messages API Opus 4.6 models (xhigh maps to adaptive effort \"max\")\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\n\tif (model.api === \"anthropic-messages\") {\n\t\treturn model.id.includes(\"opus-4-6\") || model.id.includes(\"opus-4.6\");\n\t}\n\n\treturn false;\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"]}
|
|
@@ -2282,6 +2282,23 @@ export declare const MODELS: {
|
|
|
2282
2282
|
contextWindow: number;
|
|
2283
2283
|
maxTokens: number;
|
|
2284
2284
|
};
|
|
2285
|
+
readonly "gpt-5.4": {
|
|
2286
|
+
id: string;
|
|
2287
|
+
name: string;
|
|
2288
|
+
api: "azure-openai-responses";
|
|
2289
|
+
provider: string;
|
|
2290
|
+
baseUrl: string;
|
|
2291
|
+
reasoning: true;
|
|
2292
|
+
input: ("image" | "text")[];
|
|
2293
|
+
cost: {
|
|
2294
|
+
input: number;
|
|
2295
|
+
output: number;
|
|
2296
|
+
cacheRead: number;
|
|
2297
|
+
cacheWrite: number;
|
|
2298
|
+
};
|
|
2299
|
+
contextWindow: number;
|
|
2300
|
+
maxTokens: number;
|
|
2301
|
+
};
|
|
2285
2302
|
readonly o1: {
|
|
2286
2303
|
id: string;
|
|
2287
2304
|
name: string;
|
|
@@ -2980,6 +2997,29 @@ export declare const MODELS: {
|
|
|
2980
2997
|
contextWindow: number;
|
|
2981
2998
|
maxTokens: number;
|
|
2982
2999
|
};
|
|
3000
|
+
readonly "gpt-5.3-codex": {
|
|
3001
|
+
id: string;
|
|
3002
|
+
name: string;
|
|
3003
|
+
api: "openai-responses";
|
|
3004
|
+
provider: string;
|
|
3005
|
+
baseUrl: string;
|
|
3006
|
+
headers: {
|
|
3007
|
+
"User-Agent": string;
|
|
3008
|
+
"Editor-Version": string;
|
|
3009
|
+
"Editor-Plugin-Version": string;
|
|
3010
|
+
"Copilot-Integration-Id": string;
|
|
3011
|
+
};
|
|
3012
|
+
reasoning: true;
|
|
3013
|
+
input: ("image" | "text")[];
|
|
3014
|
+
cost: {
|
|
3015
|
+
input: number;
|
|
3016
|
+
output: number;
|
|
3017
|
+
cacheRead: number;
|
|
3018
|
+
cacheWrite: number;
|
|
3019
|
+
};
|
|
3020
|
+
contextWindow: number;
|
|
3021
|
+
maxTokens: number;
|
|
3022
|
+
};
|
|
2983
3023
|
readonly "grok-code-fast-1": {
|
|
2984
3024
|
id: string;
|
|
2985
3025
|
name: string;
|
|
@@ -4666,7 +4706,7 @@ export declare const MODELS: {
|
|
|
4666
4706
|
readonly "codestral-latest": {
|
|
4667
4707
|
id: string;
|
|
4668
4708
|
name: string;
|
|
4669
|
-
api: "
|
|
4709
|
+
api: "mistral-conversations";
|
|
4670
4710
|
provider: string;
|
|
4671
4711
|
baseUrl: string;
|
|
4672
4712
|
reasoning: false;
|
|
@@ -4683,7 +4723,7 @@ export declare const MODELS: {
|
|
|
4683
4723
|
readonly "devstral-2512": {
|
|
4684
4724
|
id: string;
|
|
4685
4725
|
name: string;
|
|
4686
|
-
api: "
|
|
4726
|
+
api: "mistral-conversations";
|
|
4687
4727
|
provider: string;
|
|
4688
4728
|
baseUrl: string;
|
|
4689
4729
|
reasoning: false;
|
|
@@ -4700,7 +4740,7 @@ export declare const MODELS: {
|
|
|
4700
4740
|
readonly "devstral-medium-2507": {
|
|
4701
4741
|
id: string;
|
|
4702
4742
|
name: string;
|
|
4703
|
-
api: "
|
|
4743
|
+
api: "mistral-conversations";
|
|
4704
4744
|
provider: string;
|
|
4705
4745
|
baseUrl: string;
|
|
4706
4746
|
reasoning: false;
|
|
@@ -4717,7 +4757,7 @@ export declare const MODELS: {
|
|
|
4717
4757
|
readonly "devstral-medium-latest": {
|
|
4718
4758
|
id: string;
|
|
4719
4759
|
name: string;
|
|
4720
|
-
api: "
|
|
4760
|
+
api: "mistral-conversations";
|
|
4721
4761
|
provider: string;
|
|
4722
4762
|
baseUrl: string;
|
|
4723
4763
|
reasoning: false;
|
|
@@ -4734,7 +4774,7 @@ export declare const MODELS: {
|
|
|
4734
4774
|
readonly "devstral-small-2505": {
|
|
4735
4775
|
id: string;
|
|
4736
4776
|
name: string;
|
|
4737
|
-
api: "
|
|
4777
|
+
api: "mistral-conversations";
|
|
4738
4778
|
provider: string;
|
|
4739
4779
|
baseUrl: string;
|
|
4740
4780
|
reasoning: false;
|
|
@@ -4751,7 +4791,7 @@ export declare const MODELS: {
|
|
|
4751
4791
|
readonly "devstral-small-2507": {
|
|
4752
4792
|
id: string;
|
|
4753
4793
|
name: string;
|
|
4754
|
-
api: "
|
|
4794
|
+
api: "mistral-conversations";
|
|
4755
4795
|
provider: string;
|
|
4756
4796
|
baseUrl: string;
|
|
4757
4797
|
reasoning: false;
|
|
@@ -4768,7 +4808,7 @@ export declare const MODELS: {
|
|
|
4768
4808
|
readonly "labs-devstral-small-2512": {
|
|
4769
4809
|
id: string;
|
|
4770
4810
|
name: string;
|
|
4771
|
-
api: "
|
|
4811
|
+
api: "mistral-conversations";
|
|
4772
4812
|
provider: string;
|
|
4773
4813
|
baseUrl: string;
|
|
4774
4814
|
reasoning: false;
|
|
@@ -4785,7 +4825,7 @@ export declare const MODELS: {
|
|
|
4785
4825
|
readonly "magistral-medium-latest": {
|
|
4786
4826
|
id: string;
|
|
4787
4827
|
name: string;
|
|
4788
|
-
api: "
|
|
4828
|
+
api: "mistral-conversations";
|
|
4789
4829
|
provider: string;
|
|
4790
4830
|
baseUrl: string;
|
|
4791
4831
|
reasoning: true;
|
|
@@ -4802,7 +4842,7 @@ export declare const MODELS: {
|
|
|
4802
4842
|
readonly "magistral-small": {
|
|
4803
4843
|
id: string;
|
|
4804
4844
|
name: string;
|
|
4805
|
-
api: "
|
|
4845
|
+
api: "mistral-conversations";
|
|
4806
4846
|
provider: string;
|
|
4807
4847
|
baseUrl: string;
|
|
4808
4848
|
reasoning: true;
|
|
@@ -4819,7 +4859,7 @@ export declare const MODELS: {
|
|
|
4819
4859
|
readonly "ministral-3b-latest": {
|
|
4820
4860
|
id: string;
|
|
4821
4861
|
name: string;
|
|
4822
|
-
api: "
|
|
4862
|
+
api: "mistral-conversations";
|
|
4823
4863
|
provider: string;
|
|
4824
4864
|
baseUrl: string;
|
|
4825
4865
|
reasoning: false;
|
|
@@ -4836,7 +4876,7 @@ export declare const MODELS: {
|
|
|
4836
4876
|
readonly "ministral-8b-latest": {
|
|
4837
4877
|
id: string;
|
|
4838
4878
|
name: string;
|
|
4839
|
-
api: "
|
|
4879
|
+
api: "mistral-conversations";
|
|
4840
4880
|
provider: string;
|
|
4841
4881
|
baseUrl: string;
|
|
4842
4882
|
reasoning: false;
|
|
@@ -4853,7 +4893,7 @@ export declare const MODELS: {
|
|
|
4853
4893
|
readonly "mistral-large-2411": {
|
|
4854
4894
|
id: string;
|
|
4855
4895
|
name: string;
|
|
4856
|
-
api: "
|
|
4896
|
+
api: "mistral-conversations";
|
|
4857
4897
|
provider: string;
|
|
4858
4898
|
baseUrl: string;
|
|
4859
4899
|
reasoning: false;
|
|
@@ -4870,7 +4910,7 @@ export declare const MODELS: {
|
|
|
4870
4910
|
readonly "mistral-large-2512": {
|
|
4871
4911
|
id: string;
|
|
4872
4912
|
name: string;
|
|
4873
|
-
api: "
|
|
4913
|
+
api: "mistral-conversations";
|
|
4874
4914
|
provider: string;
|
|
4875
4915
|
baseUrl: string;
|
|
4876
4916
|
reasoning: false;
|
|
@@ -4887,7 +4927,7 @@ export declare const MODELS: {
|
|
|
4887
4927
|
readonly "mistral-large-latest": {
|
|
4888
4928
|
id: string;
|
|
4889
4929
|
name: string;
|
|
4890
|
-
api: "
|
|
4930
|
+
api: "mistral-conversations";
|
|
4891
4931
|
provider: string;
|
|
4892
4932
|
baseUrl: string;
|
|
4893
4933
|
reasoning: false;
|
|
@@ -4904,7 +4944,7 @@ export declare const MODELS: {
|
|
|
4904
4944
|
readonly "mistral-medium-2505": {
|
|
4905
4945
|
id: string;
|
|
4906
4946
|
name: string;
|
|
4907
|
-
api: "
|
|
4947
|
+
api: "mistral-conversations";
|
|
4908
4948
|
provider: string;
|
|
4909
4949
|
baseUrl: string;
|
|
4910
4950
|
reasoning: false;
|
|
@@ -4921,7 +4961,7 @@ export declare const MODELS: {
|
|
|
4921
4961
|
readonly "mistral-medium-2508": {
|
|
4922
4962
|
id: string;
|
|
4923
4963
|
name: string;
|
|
4924
|
-
api: "
|
|
4964
|
+
api: "mistral-conversations";
|
|
4925
4965
|
provider: string;
|
|
4926
4966
|
baseUrl: string;
|
|
4927
4967
|
reasoning: false;
|
|
@@ -4938,7 +4978,7 @@ export declare const MODELS: {
|
|
|
4938
4978
|
readonly "mistral-medium-latest": {
|
|
4939
4979
|
id: string;
|
|
4940
4980
|
name: string;
|
|
4941
|
-
api: "
|
|
4981
|
+
api: "mistral-conversations";
|
|
4942
4982
|
provider: string;
|
|
4943
4983
|
baseUrl: string;
|
|
4944
4984
|
reasoning: false;
|
|
@@ -4955,7 +4995,7 @@ export declare const MODELS: {
|
|
|
4955
4995
|
readonly "mistral-nemo": {
|
|
4956
4996
|
id: string;
|
|
4957
4997
|
name: string;
|
|
4958
|
-
api: "
|
|
4998
|
+
api: "mistral-conversations";
|
|
4959
4999
|
provider: string;
|
|
4960
5000
|
baseUrl: string;
|
|
4961
5001
|
reasoning: false;
|
|
@@ -4972,7 +5012,7 @@ export declare const MODELS: {
|
|
|
4972
5012
|
readonly "mistral-small-2506": {
|
|
4973
5013
|
id: string;
|
|
4974
5014
|
name: string;
|
|
4975
|
-
api: "
|
|
5015
|
+
api: "mistral-conversations";
|
|
4976
5016
|
provider: string;
|
|
4977
5017
|
baseUrl: string;
|
|
4978
5018
|
reasoning: false;
|
|
@@ -4989,7 +5029,7 @@ export declare const MODELS: {
|
|
|
4989
5029
|
readonly "mistral-small-latest": {
|
|
4990
5030
|
id: string;
|
|
4991
5031
|
name: string;
|
|
4992
|
-
api: "
|
|
5032
|
+
api: "mistral-conversations";
|
|
4993
5033
|
provider: string;
|
|
4994
5034
|
baseUrl: string;
|
|
4995
5035
|
reasoning: false;
|
|
@@ -5006,7 +5046,7 @@ export declare const MODELS: {
|
|
|
5006
5046
|
readonly "open-mistral-7b": {
|
|
5007
5047
|
id: string;
|
|
5008
5048
|
name: string;
|
|
5009
|
-
api: "
|
|
5049
|
+
api: "mistral-conversations";
|
|
5010
5050
|
provider: string;
|
|
5011
5051
|
baseUrl: string;
|
|
5012
5052
|
reasoning: false;
|
|
@@ -5023,7 +5063,7 @@ export declare const MODELS: {
|
|
|
5023
5063
|
readonly "open-mixtral-8x22b": {
|
|
5024
5064
|
id: string;
|
|
5025
5065
|
name: string;
|
|
5026
|
-
api: "
|
|
5066
|
+
api: "mistral-conversations";
|
|
5027
5067
|
provider: string;
|
|
5028
5068
|
baseUrl: string;
|
|
5029
5069
|
reasoning: false;
|
|
@@ -5040,7 +5080,7 @@ export declare const MODELS: {
|
|
|
5040
5080
|
readonly "open-mixtral-8x7b": {
|
|
5041
5081
|
id: string;
|
|
5042
5082
|
name: string;
|
|
5043
|
-
api: "
|
|
5083
|
+
api: "mistral-conversations";
|
|
5044
5084
|
provider: string;
|
|
5045
5085
|
baseUrl: string;
|
|
5046
5086
|
reasoning: false;
|
|
@@ -5057,7 +5097,7 @@ export declare const MODELS: {
|
|
|
5057
5097
|
readonly "pixtral-12b": {
|
|
5058
5098
|
id: string;
|
|
5059
5099
|
name: string;
|
|
5060
|
-
api: "
|
|
5100
|
+
api: "mistral-conversations";
|
|
5061
5101
|
provider: string;
|
|
5062
5102
|
baseUrl: string;
|
|
5063
5103
|
reasoning: false;
|
|
@@ -5074,7 +5114,7 @@ export declare const MODELS: {
|
|
|
5074
5114
|
readonly "pixtral-large-latest": {
|
|
5075
5115
|
id: string;
|
|
5076
5116
|
name: string;
|
|
5077
|
-
api: "
|
|
5117
|
+
api: "mistral-conversations";
|
|
5078
5118
|
provider: string;
|
|
5079
5119
|
baseUrl: string;
|
|
5080
5120
|
reasoning: false;
|
|
@@ -5566,6 +5606,23 @@ export declare const MODELS: {
|
|
|
5566
5606
|
contextWindow: number;
|
|
5567
5607
|
maxTokens: number;
|
|
5568
5608
|
};
|
|
5609
|
+
readonly "gpt-5.4": {
|
|
5610
|
+
id: string;
|
|
5611
|
+
name: string;
|
|
5612
|
+
api: "openai-responses";
|
|
5613
|
+
provider: string;
|
|
5614
|
+
baseUrl: string;
|
|
5615
|
+
reasoning: true;
|
|
5616
|
+
input: ("image" | "text")[];
|
|
5617
|
+
cost: {
|
|
5618
|
+
input: number;
|
|
5619
|
+
output: number;
|
|
5620
|
+
cacheRead: number;
|
|
5621
|
+
cacheWrite: number;
|
|
5622
|
+
};
|
|
5623
|
+
contextWindow: number;
|
|
5624
|
+
maxTokens: number;
|
|
5625
|
+
};
|
|
5569
5626
|
readonly o1: {
|
|
5570
5627
|
id: string;
|
|
5571
5628
|
name: string;
|
|
@@ -5823,6 +5880,23 @@ export declare const MODELS: {
|
|
|
5823
5880
|
contextWindow: number;
|
|
5824
5881
|
maxTokens: number;
|
|
5825
5882
|
};
|
|
5883
|
+
readonly "gpt-5.4": {
|
|
5884
|
+
id: string;
|
|
5885
|
+
name: string;
|
|
5886
|
+
api: "openai-codex-responses";
|
|
5887
|
+
provider: string;
|
|
5888
|
+
baseUrl: string;
|
|
5889
|
+
reasoning: true;
|
|
5890
|
+
input: ("image" | "text")[];
|
|
5891
|
+
cost: {
|
|
5892
|
+
input: number;
|
|
5893
|
+
output: number;
|
|
5894
|
+
cacheRead: number;
|
|
5895
|
+
cacheWrite: number;
|
|
5896
|
+
};
|
|
5897
|
+
contextWindow: number;
|
|
5898
|
+
maxTokens: number;
|
|
5899
|
+
};
|
|
5826
5900
|
};
|
|
5827
5901
|
readonly opencode: {
|
|
5828
5902
|
readonly "big-pickle": {
|
|
@@ -6250,10 +6324,10 @@ export declare const MODELS: {
|
|
|
6250
6324
|
contextWindow: number;
|
|
6251
6325
|
maxTokens: number;
|
|
6252
6326
|
};
|
|
6253
|
-
readonly "
|
|
6327
|
+
readonly "gpt-5.4": {
|
|
6254
6328
|
id: string;
|
|
6255
6329
|
name: string;
|
|
6256
|
-
api: "openai-
|
|
6330
|
+
api: "openai-responses";
|
|
6257
6331
|
provider: string;
|
|
6258
6332
|
baseUrl: string;
|
|
6259
6333
|
reasoning: true;
|
|
@@ -6267,14 +6341,14 @@ export declare const MODELS: {
|
|
|
6267
6341
|
contextWindow: number;
|
|
6268
6342
|
maxTokens: number;
|
|
6269
6343
|
};
|
|
6270
|
-
readonly "
|
|
6344
|
+
readonly "kimi-k2.5": {
|
|
6271
6345
|
id: string;
|
|
6272
6346
|
name: string;
|
|
6273
6347
|
api: "openai-completions";
|
|
6274
6348
|
provider: string;
|
|
6275
6349
|
baseUrl: string;
|
|
6276
6350
|
reasoning: true;
|
|
6277
|
-
input: "text"[];
|
|
6351
|
+
input: ("image" | "text")[];
|
|
6278
6352
|
cost: {
|
|
6279
6353
|
input: number;
|
|
6280
6354
|
output: number;
|
|
@@ -6284,7 +6358,7 @@ export declare const MODELS: {
|
|
|
6284
6358
|
contextWindow: number;
|
|
6285
6359
|
maxTokens: number;
|
|
6286
6360
|
};
|
|
6287
|
-
readonly "minimax-m2.
|
|
6361
|
+
readonly "minimax-m2.1": {
|
|
6288
6362
|
id: string;
|
|
6289
6363
|
name: string;
|
|
6290
6364
|
api: "openai-completions";
|
|
@@ -6301,10 +6375,10 @@ export declare const MODELS: {
|
|
|
6301
6375
|
contextWindow: number;
|
|
6302
6376
|
maxTokens: number;
|
|
6303
6377
|
};
|
|
6304
|
-
readonly "minimax-m2.5
|
|
6378
|
+
readonly "minimax-m2.5": {
|
|
6305
6379
|
id: string;
|
|
6306
6380
|
name: string;
|
|
6307
|
-
api: "
|
|
6381
|
+
api: "openai-completions";
|
|
6308
6382
|
provider: string;
|
|
6309
6383
|
baseUrl: string;
|
|
6310
6384
|
reasoning: true;
|
|
@@ -6318,13 +6392,13 @@ export declare const MODELS: {
|
|
|
6318
6392
|
contextWindow: number;
|
|
6319
6393
|
maxTokens: number;
|
|
6320
6394
|
};
|
|
6321
|
-
readonly "
|
|
6395
|
+
readonly "minimax-m2.5-free": {
|
|
6322
6396
|
id: string;
|
|
6323
6397
|
name: string;
|
|
6324
|
-
api: "
|
|
6398
|
+
api: "anthropic-messages";
|
|
6325
6399
|
provider: string;
|
|
6326
6400
|
baseUrl: string;
|
|
6327
|
-
reasoning:
|
|
6401
|
+
reasoning: true;
|
|
6328
6402
|
input: "text"[];
|
|
6329
6403
|
cost: {
|
|
6330
6404
|
input: number;
|
|
@@ -7393,6 +7467,23 @@ export declare const MODELS: {
|
|
|
7393
7467
|
contextWindow: number;
|
|
7394
7468
|
maxTokens: number;
|
|
7395
7469
|
};
|
|
7470
|
+
readonly "inception/mercury-2": {
|
|
7471
|
+
id: string;
|
|
7472
|
+
name: string;
|
|
7473
|
+
api: "openai-completions";
|
|
7474
|
+
provider: string;
|
|
7475
|
+
baseUrl: string;
|
|
7476
|
+
reasoning: true;
|
|
7477
|
+
input: "text"[];
|
|
7478
|
+
cost: {
|
|
7479
|
+
input: number;
|
|
7480
|
+
output: number;
|
|
7481
|
+
cacheRead: number;
|
|
7482
|
+
cacheWrite: number;
|
|
7483
|
+
};
|
|
7484
|
+
contextWindow: number;
|
|
7485
|
+
maxTokens: number;
|
|
7486
|
+
};
|
|
7396
7487
|
readonly "inception/mercury-coder": {
|
|
7397
7488
|
id: string;
|
|
7398
7489
|
name: string;
|
|
@@ -8889,6 +8980,40 @@ export declare const MODELS: {
|
|
|
8889
8980
|
contextWindow: number;
|
|
8890
8981
|
maxTokens: number;
|
|
8891
8982
|
};
|
|
8983
|
+
readonly "openai/gpt-5.4": {
|
|
8984
|
+
id: string;
|
|
8985
|
+
name: string;
|
|
8986
|
+
api: "openai-completions";
|
|
8987
|
+
provider: string;
|
|
8988
|
+
baseUrl: string;
|
|
8989
|
+
reasoning: true;
|
|
8990
|
+
input: ("image" | "text")[];
|
|
8991
|
+
cost: {
|
|
8992
|
+
input: number;
|
|
8993
|
+
output: number;
|
|
8994
|
+
cacheRead: number;
|
|
8995
|
+
cacheWrite: number;
|
|
8996
|
+
};
|
|
8997
|
+
contextWindow: number;
|
|
8998
|
+
maxTokens: number;
|
|
8999
|
+
};
|
|
9000
|
+
readonly "openai/gpt-5.4-pro": {
|
|
9001
|
+
id: string;
|
|
9002
|
+
name: string;
|
|
9003
|
+
api: "openai-completions";
|
|
9004
|
+
provider: string;
|
|
9005
|
+
baseUrl: string;
|
|
9006
|
+
reasoning: true;
|
|
9007
|
+
input: ("image" | "text")[];
|
|
9008
|
+
cost: {
|
|
9009
|
+
input: number;
|
|
9010
|
+
output: number;
|
|
9011
|
+
cacheRead: number;
|
|
9012
|
+
cacheWrite: number;
|
|
9013
|
+
};
|
|
9014
|
+
contextWindow: number;
|
|
9015
|
+
maxTokens: number;
|
|
9016
|
+
};
|
|
8892
9017
|
readonly "openai/gpt-oss-120b": {
|
|
8893
9018
|
id: string;
|
|
8894
9019
|
name: string;
|
|
@@ -11186,6 +11311,23 @@ export declare const MODELS: {
|
|
|
11186
11311
|
contextWindow: number;
|
|
11187
11312
|
maxTokens: number;
|
|
11188
11313
|
};
|
|
11314
|
+
readonly "inception/mercury-2": {
|
|
11315
|
+
id: string;
|
|
11316
|
+
name: string;
|
|
11317
|
+
api: "anthropic-messages";
|
|
11318
|
+
provider: string;
|
|
11319
|
+
baseUrl: string;
|
|
11320
|
+
reasoning: true;
|
|
11321
|
+
input: "text"[];
|
|
11322
|
+
cost: {
|
|
11323
|
+
input: number;
|
|
11324
|
+
output: number;
|
|
11325
|
+
cacheRead: number;
|
|
11326
|
+
cacheWrite: number;
|
|
11327
|
+
};
|
|
11328
|
+
contextWindow: number;
|
|
11329
|
+
maxTokens: number;
|
|
11330
|
+
};
|
|
11189
11331
|
readonly "inception/mercury-coder-small": {
|
|
11190
11332
|
id: string;
|
|
11191
11333
|
name: string;
|
|
@@ -12121,6 +12263,40 @@ export declare const MODELS: {
|
|
|
12121
12263
|
contextWindow: number;
|
|
12122
12264
|
maxTokens: number;
|
|
12123
12265
|
};
|
|
12266
|
+
readonly "openai/gpt-5.4": {
|
|
12267
|
+
id: string;
|
|
12268
|
+
name: string;
|
|
12269
|
+
api: "anthropic-messages";
|
|
12270
|
+
provider: string;
|
|
12271
|
+
baseUrl: string;
|
|
12272
|
+
reasoning: true;
|
|
12273
|
+
input: ("image" | "text")[];
|
|
12274
|
+
cost: {
|
|
12275
|
+
input: number;
|
|
12276
|
+
output: number;
|
|
12277
|
+
cacheRead: number;
|
|
12278
|
+
cacheWrite: number;
|
|
12279
|
+
};
|
|
12280
|
+
contextWindow: number;
|
|
12281
|
+
maxTokens: number;
|
|
12282
|
+
};
|
|
12283
|
+
readonly "openai/gpt-5.4-pro": {
|
|
12284
|
+
id: string;
|
|
12285
|
+
name: string;
|
|
12286
|
+
api: "anthropic-messages";
|
|
12287
|
+
provider: string;
|
|
12288
|
+
baseUrl: string;
|
|
12289
|
+
reasoning: true;
|
|
12290
|
+
input: ("image" | "text")[];
|
|
12291
|
+
cost: {
|
|
12292
|
+
input: number;
|
|
12293
|
+
output: number;
|
|
12294
|
+
cacheRead: number;
|
|
12295
|
+
cacheWrite: number;
|
|
12296
|
+
};
|
|
12297
|
+
contextWindow: number;
|
|
12298
|
+
maxTokens: number;
|
|
12299
|
+
};
|
|
12124
12300
|
readonly "openai/gpt-oss-120b": {
|
|
12125
12301
|
id: string;
|
|
12126
12302
|
name: string;
|