@mariozechner/pi-ai 0.63.1 → 0.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -636,6 +636,92 @@ The library uses a registry of API implementations. Built-in APIs include:
636
636
  - **`azure-openai-responses`**: Azure OpenAI Responses API (`streamAzureOpenAIResponses`, `AzureOpenAIResponsesOptions`)
637
637
  - **`bedrock-converse-stream`**: Amazon Bedrock Converse API (`streamBedrock`, `BedrockOptions`)
638
638
 
639
+ ### Faux provider for tests
640
+
641
+ `registerFauxProvider()` registers a temporary in-memory provider for tests and demos. It is opt-in and not part of the built-in provider set.
642
+
643
+ ```typescript
644
+ import {
645
+ complete,
646
+ fauxAssistantMessage,
647
+ fauxText,
648
+ fauxThinking,
649
+ fauxToolCall,
650
+ registerFauxProvider,
651
+ stream,
652
+ } from '@mariozechner/pi-ai';
653
+
654
+ const registration = registerFauxProvider({
655
+ tokensPerSecond: 50 // optional
656
+ });
657
+
658
+ const model = registration.getModel();
659
+ const context = {
660
+ messages: [{ role: 'user', content: 'Summarize package.json and then call echo', timestamp: Date.now() }]
661
+ };
662
+
663
+ registration.setResponses([
664
+ fauxAssistantMessage([
665
+ fauxThinking('Need to inspect package metadata first.'),
666
+ fauxToolCall('echo', { text: 'package.json' })
667
+ ], { stopReason: 'toolUse' })
668
+ ]);
669
+
670
+ const first = await complete(model, context, {
671
+ sessionId: 'session-1',
672
+ cacheRetention: 'short'
673
+ });
674
+ context.messages.push(first);
675
+
676
+ context.messages.push({
677
+ role: 'toolResult',
678
+ toolCallId: first.content.find((block) => block.type === 'toolCall')!.id,
679
+ toolName: 'echo',
680
+ content: [{ type: 'text', text: 'package.json contents here' }],
681
+ isError: false,
682
+ timestamp: Date.now()
683
+ });
684
+
685
+ registration.setResponses([
686
+ fauxAssistantMessage([
687
+ fauxThinking('Now I can summarize the tool output.'),
688
+ fauxText('Here is the summary.')
689
+ ])
690
+ ]);
691
+
692
+ const s = stream(model, context);
693
+ for await (const event of s) {
694
+ console.log(event.type);
695
+ }
696
+
697
+ // Optional: register multiple faux models for model-switching tests
698
+ const multiModel = registerFauxProvider({
699
+ models: [
700
+ { id: 'faux-fast', reasoning: false },
701
+ { id: 'faux-thinker', reasoning: true }
702
+ ]
703
+ });
704
+ const thinker = multiModel.getModel('faux-thinker');
705
+
706
+ console.log(thinker?.reasoning);
707
+ console.log(registration.getPendingResponseCount());
708
+ console.log(registration.state.callCount);
709
+ registration.unregister();
710
+ multiModel.unregister();
711
+ ```
712
+
713
+ Notes:
714
+ - Responses are consumed from a queue in request start order.
715
+ - If the queue is empty, the faux provider returns an assistant error message with `errorMessage: "No more faux responses queued"`.
716
+ - Use `registration.setResponses([...])` to replace the remaining queue and `registration.appendResponses([...])` to add more responses.
717
+ - `registration.models` exposes all registered faux models. `registration.getModel()` returns the first one, and `registration.getModel(id)` returns a specific one.
718
+ - Use `fauxAssistantMessage(...)` for scripted assistant replies. Use `fauxText(...)`, `fauxThinking(...)`, and `fauxToolCall(...)` to build content blocks without filling in low-level fields manually.
719
+ - `registration.unregister()` removes the temporary provider from the global API registry.
720
+ - Usage is estimated at roughly 1 token per 4 characters. When `sessionId` is present and `cacheRetention` is not `"none"`, prompt cache reads and writes are simulated automatically.
721
+ - Tool call arguments stream incrementally via `toolcall_delta` chunks.
722
+ - By default, each streamed chunk is emitted on its own microtask. Set `tokensPerSecond` to pace chunk delivery in real time.
723
+ - The intended use is one deterministic scripted flow per registration. If you need independent concurrent flows, register separate faux providers.
724
+
639
725
  ### Providers and Models
640
726
 
641
727
  A **provider** offers models through a specific API. For example:
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from "./models.js";
6
6
  export type { BedrockOptions } from "./providers/amazon-bedrock.js";
7
7
  export type { AnthropicOptions } from "./providers/anthropic.js";
8
8
  export type { AzureOpenAIResponsesOptions } from "./providers/azure-openai-responses.js";
9
+ export * from "./providers/faux.js";
9
10
  export type { GoogleOptions } from "./providers/google.js";
10
11
  export type { GoogleGeminiCliOptions, GoogleThinkingLevel } from "./providers/google-gemini-cli.js";
11
12
  export type { GoogleVertexOptions } from "./providers/google-vertex.js";
@@ -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,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACpG,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,YAAY,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,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 type { BedrockOptions } from \"./providers/amazon-bedrock.js\";\nexport type { AnthropicOptions } from \"./providers/anthropic.js\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.js\";\nexport type { GoogleOptions } from \"./providers/google.js\";\nexport type { GoogleGeminiCliOptions, GoogleThinkingLevel } from \"./providers/google-gemini-cli.js\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.js\";\nexport type { MistralOptions } from \"./providers/mistral.js\";\nexport type { OpenAICodexResponsesOptions } from \"./providers/openai-codex-responses.js\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.js\";\nexport type { OpenAIResponsesOptions } 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,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACpG,YAAY,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,YAAY,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAClF,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,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 type { BedrockOptions } from \"./providers/amazon-bedrock.js\";\nexport type { AnthropicOptions } from \"./providers/anthropic.js\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.js\";\nexport * from \"./providers/faux.js\";\nexport type { GoogleOptions } from \"./providers/google.js\";\nexport type { GoogleGeminiCliOptions, GoogleThinkingLevel } from \"./providers/google-gemini-cli.js\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.js\";\nexport type { MistralOptions } from \"./providers/mistral.js\";\nexport type { OpenAICodexResponsesOptions } from \"./providers/openai-codex-responses.js\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.js\";\nexport type { OpenAIResponsesOptions } 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
@@ -2,6 +2,7 @@ export { Type } from "@sinclair/typebox";
2
2
  export * from "./api-registry.js";
3
3
  export * from "./env-api-keys.js";
4
4
  export * from "./models.js";
5
+ export * from "./providers/faux.js";
5
6
  export * from "./providers/register-builtins.js";
6
7
  export * from "./stream.js";
7
8
  export * from "./types.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;AAW5B,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 type { BedrockOptions } from \"./providers/amazon-bedrock.js\";\nexport type { AnthropicOptions } from \"./providers/anthropic.js\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.js\";\nexport type { GoogleOptions } from \"./providers/google.js\";\nexport type { GoogleGeminiCliOptions, GoogleThinkingLevel } from \"./providers/google-gemini-cli.js\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.js\";\nexport type { MistralOptions } from \"./providers/mistral.js\";\nexport type { OpenAICodexResponsesOptions } from \"./providers/openai-codex-responses.js\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.js\";\nexport type { OpenAIResponsesOptions } 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;AAI5B,cAAc,qBAAqB,CAAC;AAQpC,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 type { BedrockOptions } from \"./providers/amazon-bedrock.js\";\nexport type { AnthropicOptions } from \"./providers/anthropic.js\";\nexport type { AzureOpenAIResponsesOptions } from \"./providers/azure-openai-responses.js\";\nexport * from \"./providers/faux.js\";\nexport type { GoogleOptions } from \"./providers/google.js\";\nexport type { GoogleGeminiCliOptions, GoogleThinkingLevel } from \"./providers/google-gemini-cli.js\";\nexport type { GoogleVertexOptions } from \"./providers/google-vertex.js\";\nexport type { MistralOptions } from \"./providers/mistral.js\";\nexport type { OpenAICodexResponsesOptions } from \"./providers/openai-codex-responses.js\";\nexport type { OpenAICompletionsOptions } from \"./providers/openai-completions.js\";\nexport type { OpenAIResponsesOptions } 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"]}
@@ -3606,6 +3606,23 @@ export declare const MODELS: {
3606
3606
  contextWindow: number;
3607
3607
  maxTokens: number;
3608
3608
  };
3609
+ readonly "gemma-3-27b-it": {
3610
+ id: string;
3611
+ name: string;
3612
+ api: "google-generative-ai";
3613
+ provider: string;
3614
+ baseUrl: string;
3615
+ reasoning: false;
3616
+ input: ("image" | "text")[];
3617
+ cost: {
3618
+ input: number;
3619
+ output: number;
3620
+ cacheRead: number;
3621
+ cacheWrite: number;
3622
+ };
3623
+ contextWindow: number;
3624
+ maxTokens: number;
3625
+ };
3609
3626
  };
3610
3627
  readonly "google-antigravity": {
3611
3628
  readonly "claude-opus-4-5-thinking": {
@@ -4124,6 +4141,40 @@ export declare const MODELS: {
4124
4141
  contextWindow: number;
4125
4142
  maxTokens: number;
4126
4143
  };
4144
+ readonly "groq/compound": {
4145
+ id: string;
4146
+ name: string;
4147
+ api: "openai-completions";
4148
+ provider: string;
4149
+ baseUrl: string;
4150
+ reasoning: true;
4151
+ input: "text"[];
4152
+ cost: {
4153
+ input: number;
4154
+ output: number;
4155
+ cacheRead: number;
4156
+ cacheWrite: number;
4157
+ };
4158
+ contextWindow: number;
4159
+ maxTokens: number;
4160
+ };
4161
+ readonly "groq/compound-mini": {
4162
+ id: string;
4163
+ name: string;
4164
+ api: "openai-completions";
4165
+ provider: string;
4166
+ baseUrl: string;
4167
+ reasoning: true;
4168
+ input: "text"[];
4169
+ cost: {
4170
+ input: number;
4171
+ output: number;
4172
+ cacheRead: number;
4173
+ cacheWrite: number;
4174
+ };
4175
+ contextWindow: number;
4176
+ maxTokens: number;
4177
+ };
4127
4178
  readonly "llama-3.1-8b-instant": {
4128
4179
  id: string;
4129
4180
  name: string;
@@ -4311,6 +4362,23 @@ export declare const MODELS: {
4311
4362
  contextWindow: number;
4312
4363
  maxTokens: number;
4313
4364
  };
4365
+ readonly "openai/gpt-oss-safeguard-20b": {
4366
+ id: string;
4367
+ name: string;
4368
+ api: "openai-completions";
4369
+ provider: string;
4370
+ baseUrl: string;
4371
+ reasoning: true;
4372
+ input: "text"[];
4373
+ cost: {
4374
+ input: number;
4375
+ output: number;
4376
+ cacheRead: number;
4377
+ cacheWrite: number;
4378
+ };
4379
+ contextWindow: number;
4380
+ maxTokens: number;
4381
+ };
4314
4382
  readonly "qwen-qwq-32b": {
4315
4383
  id: string;
4316
4384
  name: string;
@@ -7700,6 +7768,23 @@ export declare const MODELS: {
7700
7768
  contextWindow: number;
7701
7769
  maxTokens: number;
7702
7770
  };
7771
+ readonly "kwaipilot/kat-coder-pro-v2": {
7772
+ id: string;
7773
+ name: string;
7774
+ api: "openai-completions";
7775
+ provider: string;
7776
+ baseUrl: string;
7777
+ reasoning: false;
7778
+ input: "text"[];
7779
+ cost: {
7780
+ input: number;
7781
+ output: number;
7782
+ cacheRead: number;
7783
+ cacheWrite: number;
7784
+ };
7785
+ contextWindow: number;
7786
+ maxTokens: number;
7787
+ };
7703
7788
  readonly "meituan/longcat-flash-chat": {
7704
7789
  id: string;
7705
7790
  name: string;
@@ -8227,23 +8312,6 @@ export declare const MODELS: {
8227
8312
  contextWindow: number;
8228
8313
  maxTokens: number;
8229
8314
  };
8230
- readonly "mistralai/mistral-small-3.1-24b-instruct:free": {
8231
- id: string;
8232
- name: string;
8233
- api: "openai-completions";
8234
- provider: string;
8235
- baseUrl: string;
8236
- reasoning: false;
8237
- input: ("image" | "text")[];
8238
- cost: {
8239
- input: number;
8240
- output: number;
8241
- cacheRead: number;
8242
- cacheWrite: number;
8243
- };
8244
- contextWindow: number;
8245
- maxTokens: number;
8246
- };
8247
8315
  readonly "mistralai/mistral-small-3.2-24b-instruct": {
8248
8316
  id: string;
8249
8317
  name: string;
@@ -9842,23 +9910,6 @@ export declare const MODELS: {
9842
9910
  contextWindow: number;
9843
9911
  maxTokens: number;
9844
9912
  };
9845
- readonly "qwen/qwen3-4b:free": {
9846
- id: string;
9847
- name: string;
9848
- api: "openai-completions";
9849
- provider: string;
9850
- baseUrl: string;
9851
- reasoning: true;
9852
- input: "text"[];
9853
- cost: {
9854
- input: number;
9855
- output: number;
9856
- cacheRead: number;
9857
- cacheWrite: number;
9858
- };
9859
- contextWindow: number;
9860
- maxTokens: number;
9861
- };
9862
9913
  readonly "qwen/qwen3-8b": {
9863
9914
  id: string;
9864
9915
  name: string;
@@ -11697,6 +11748,23 @@ export declare const MODELS: {
11697
11748
  contextWindow: number;
11698
11749
  maxTokens: number;
11699
11750
  };
11751
+ readonly "kwaipilot/kat-coder-pro-v2": {
11752
+ id: string;
11753
+ name: string;
11754
+ api: "anthropic-messages";
11755
+ provider: string;
11756
+ baseUrl: string;
11757
+ reasoning: true;
11758
+ input: "text"[];
11759
+ cost: {
11760
+ input: number;
11761
+ output: number;
11762
+ cacheRead: number;
11763
+ cacheWrite: number;
11764
+ };
11765
+ contextWindow: number;
11766
+ maxTokens: number;
11767
+ };
11700
11768
  readonly "meituan/longcat-flash-chat": {
11701
11769
  id: string;
11702
11770
  name: string;
@@ -13397,23 +13465,6 @@ export declare const MODELS: {
13397
13465
  contextWindow: number;
13398
13466
  maxTokens: number;
13399
13467
  };
13400
- readonly "zai/glm-5": {
13401
- id: string;
13402
- name: string;
13403
- api: "anthropic-messages";
13404
- provider: string;
13405
- baseUrl: string;
13406
- reasoning: true;
13407
- input: "text"[];
13408
- cost: {
13409
- input: number;
13410
- output: number;
13411
- cacheRead: number;
13412
- cacheWrite: number;
13413
- };
13414
- contextWindow: number;
13415
- maxTokens: number;
13416
- };
13417
13468
  readonly "zai/glm-5-turbo": {
13418
13469
  id: string;
13419
13470
  name: string;