@linxiraos/pi-catalog 1.1.26 → 1.2.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/CHANGELOG.md +4 -6
- package/dist/types/compat/auth-ids.d.ts +2 -2
- package/dist/types/compat/collapse.d.ts +7 -0
- package/dist/types/compat/image-tokenization.d.ts +52 -0
- package/dist/types/compat/judgment-questions.d.ts +7 -0
- package/dist/types/compat/prompt-cache-lookback.d.ts +7 -0
- package/dist/types/compat/provider-ids.d.ts +1 -1
- package/dist/types/compat/reasoning-carry.d.ts +21 -0
- package/dist/types/compat/request-size.d.ts +7 -0
- package/dist/types/compat/taxonomy.d.ts +0 -10
- package/dist/types/compat/types.d.ts +4 -0
- package/dist/types/discovery/antigravity.d.ts +13 -3
- package/dist/types/hosts.d.ts +4 -0
- package/dist/types/model-cache.d.ts +6 -0
- package/dist/types/model-manager.d.ts +16 -0
- package/dist/types/provider-models/account-access.d.ts +11 -0
- package/dist/types/provider-models/google.d.ts +23 -1
- package/dist/types/provider-models/openai-compat.d.ts +19 -1
- package/dist/types/provider-models/special.d.ts +8 -0
- package/dist/types/types.d.ts +134 -23
- package/dist/types/wire/cloudflare-ai-gateway.d.ts +0 -10
- package/dist/types/wire/cloudflare.d.ts +10 -0
- package/dist/types/wire/factory-droid.d.ts +1 -1
- package/dist/types/wire/gemini-headers.d.ts +6 -3
- package/package.json +4 -4
- package/src/build.ts +39 -35
- package/src/compat/auth-ids.ts +6 -0
- package/src/compat/axes.ts +43 -5
- package/src/compat/cascade.ts +6 -1
- package/src/compat/collapse.d.ts +7 -0
- package/src/compat/collapse.ts +11 -0
- package/src/compat/image-tokenization.ts +166 -0
- package/src/compat/judgment-questions.ts +12 -0
- package/src/compat/prompt-cache-lookback.ts +23 -0
- package/src/compat/provider-ids.d.ts +1 -1
- package/src/compat/provider-ids.ts +3 -0
- package/src/compat/reasoning-carry.ts +64 -0
- package/src/compat/request-size.ts +25 -0
- package/src/compat/resolve.ts +36 -25
- package/src/compat/rules/README.md +13 -3
- package/src/compat/rules/auth/_order.kdl +2 -2
- package/src/compat/rules/auth/cloudflare-workers-ai.kdl +9 -0
- package/src/compat/rules/auth/coralbricks.kdl +13 -0
- package/src/compat/rules/auth/minimax-code-cn.kdl +1 -1
- package/src/compat/rules/auth/minimax-code.kdl +1 -1
- package/src/compat/rules/auth/openai-codex.kdl +1 -1
- package/src/compat/rules/auth/snowflake.kdl +11 -0
- package/src/compat/rules/auth/stencil.kdl +1 -1
- package/src/compat/rules/classes/anthropic.kdl +188 -7
- package/src/compat/rules/classes/deepseek.kdl +11 -3
- package/src/compat/rules/classes/gemini.kdl +12 -0
- package/src/compat/rules/classes/glm.kdl +17 -8
- package/src/compat/rules/classes/kimi.kdl +15 -0
- package/src/compat/rules/classes/meta.kdl +4 -4
- package/src/compat/rules/classes/minimax.kdl +31 -1
- package/src/compat/rules/classes/openai.kdl +114 -4
- package/src/compat/rules/classes/qwen.kdl +2 -1
- package/src/compat/rules/providers/abliteration.kdl +7 -0
- package/src/compat/rules/providers/amazon-bedrock.kdl +0 -7
- package/src/compat/rules/providers/anthropic.kdl +13 -0
- package/src/compat/rules/providers/apple.kdl +1 -0
- package/src/compat/rules/providers/cloudflare-workers-ai.kdl +34 -0
- package/src/compat/rules/providers/coralbricks.kdl +62 -0
- package/src/compat/rules/providers/cursor.kdl +28 -8
- package/src/compat/rules/providers/devin.kdl +2 -2
- package/src/compat/rules/providers/factory-droid.kdl +77 -13
- package/src/compat/rules/providers/github-copilot.kdl +29 -0
- package/src/compat/rules/providers/google-antigravity.kdl +8 -1
- package/src/compat/rules/providers/groq.kdl +21 -0
- package/src/compat/rules/providers/image-tokenization.kdl +42 -0
- package/src/compat/rules/providers/judgment-questions.kdl +53 -0
- package/src/compat/rules/providers/litellm.kdl +4 -1
- package/src/compat/rules/providers/meta.kdl +3 -3
- package/src/compat/rules/providers/minimax-code-cn.kdl +10 -5
- package/src/compat/rules/providers/minimax-code.kdl +10 -5
- package/src/compat/rules/providers/mistral.kdl +25 -1
- package/src/compat/rules/providers/moonshot.kdl +11 -0
- package/src/compat/rules/providers/muse-code.kdl +7 -0
- package/src/compat/rules/providers/ollama.kdl +3 -0
- package/src/compat/rules/providers/openai-codex.kdl +18 -13
- package/src/compat/rules/providers/openai.kdl +22 -0
- package/src/compat/rules/providers/opencode-go.kdl +11 -0
- package/src/compat/rules/providers/opencode-zen.kdl +20 -0
- package/src/compat/rules/providers/openrouter.kdl +6 -0
- package/src/compat/rules/providers/snowflake.kdl +135 -0
- package/src/compat/rules/providers/tool-result-images.kdl +16 -0
- package/src/compat/rules/providers/zhipu-coding-plan.kdl +10 -0
- package/src/compat/rules/runtime/behavior.kdl +8 -5
- package/src/compat/rules/taxonomy/_collapse.kdl +52 -2
- package/src/compat/rules/taxonomy/deepseek.kdl +4 -0
- package/src/compat/rules/taxonomy/kimi.kdl +5 -0
- package/src/compat/rules.json +1 -1
- package/src/compat/taxonomy.d.ts +0 -10
- package/src/compat/taxonomy.ts +3 -3
- package/src/compat/types.d.ts +4 -0
- package/src/compat/types.ts +4 -0
- package/src/discovery/antigravity.d.ts +13 -3
- package/src/discovery/antigravity.ts +33 -17
- package/src/discovery/cursor.ts +28 -4
- package/src/discovery/devin.ts +20 -2
- package/src/hosts.d.ts +4 -0
- package/src/hosts.ts +2 -0
- package/src/model-cache.d.ts +6 -0
- package/src/model-cache.ts +123 -47
- package/src/model-manager.d.ts +16 -0
- package/src/model-manager.ts +107 -41
- package/src/model-tokenizer.ts +3 -0
- package/src/models.json +1 -1
- package/src/provider-models/account-access.d.ts +11 -0
- package/src/provider-models/account-access.ts +30 -0
- package/src/provider-models/cache-provider-id.ts +13 -6
- package/src/provider-models/cline-pass.ts +33 -0
- package/src/provider-models/descriptors.ts +4 -0
- package/src/provider-models/google.d.ts +23 -1
- package/src/provider-models/google.ts +72 -14
- package/src/provider-models/openai-compat.d.ts +19 -1
- package/src/provider-models/openai-compat.ts +281 -42
- package/src/provider-models/special.d.ts +8 -0
- package/src/provider-models/special.ts +26 -22
- package/src/types.d.ts +134 -23
- package/src/types.ts +183 -20
- package/src/wire/cloudflare-ai-gateway.d.ts +0 -10
- package/src/wire/cloudflare-ai-gateway.ts +0 -36
- package/src/wire/cloudflare.ts +40 -0
- package/src/wire/factory-droid.d.ts +1 -1
- package/src/wire/factory-droid.ts +1 -1
- package/src/wire/gemini-headers.d.ts +6 -3
- package/src/wire/gemini-headers.ts +39 -21
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
provider "openai-codex" {
|
|
4
4
|
default-model "gpt-5.5"
|
|
5
5
|
env "OPENAI_CODEX_OAUTH_TOKEN"
|
|
6
|
+
dynamic-models-authoritative #true
|
|
6
7
|
kind-apis {
|
|
7
8
|
image "openai-codex-responses"
|
|
8
9
|
}
|
|
@@ -24,9 +25,13 @@ provider "openai-codex" {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
// Replaces the Codex provider's handwritten flex/priority pricing fallback.
|
|
28
|
+
// Fast (priority) draws included subscription usage at 2.5x Standard on
|
|
29
|
+
// every model that supports it; purchased credits and Enterprise
|
|
30
|
+
// pay-as-you-go bill 2x. See
|
|
31
|
+
// https://learn.chatgpt.com/docs/agent-configuration/speed.
|
|
27
32
|
service-tier-cost {
|
|
28
33
|
flex 0.5
|
|
29
|
-
priority 2
|
|
34
|
+
priority 2.5
|
|
30
35
|
}
|
|
31
36
|
// Harmony-protocol leak detection/mitigation applies to every Codex model,
|
|
32
37
|
// current and future; replaces the provider check in harmony-leak.ts.
|
|
@@ -72,10 +77,6 @@ provider "openai-codex" {
|
|
|
72
77
|
cache-read 1.0
|
|
73
78
|
cache-write 0
|
|
74
79
|
}
|
|
75
|
-
service-tier-cost {
|
|
76
|
-
flex 0.5
|
|
77
|
-
priority 2.5
|
|
78
|
-
}
|
|
79
80
|
limits-patch {
|
|
80
81
|
context-window 272000
|
|
81
82
|
}
|
|
@@ -106,6 +107,18 @@ provider "openai-codex" {
|
|
|
106
107
|
}
|
|
107
108
|
max-context-window 922000
|
|
108
109
|
}
|
|
110
|
+
// Codex Ultrafast ships on GPT-6 Astra and GPT-6.1 Sol. This table uses
|
|
111
|
+
// OpenAI's included-usage multipliers for Codex: Ultrafast 8x and Fast 2.5x
|
|
112
|
+
// Standard (purchased credits / Enterprise pay-as-you-go bill 6x and 2x
|
|
113
|
+
// instead). See https://learn.chatgpt.com/docs/agent-configuration/speed
|
|
114
|
+
// and https://learn.chatgpt.com/docs/pricing.
|
|
115
|
+
models "gpt-6-astra" "gpt-6-astra-wm" "gpt-6.1-sol" "gpt-6.1-sol-wm" {
|
|
116
|
+
service-tier-cost {
|
|
117
|
+
flex 0.5
|
|
118
|
+
priority 2.5
|
|
119
|
+
ultrafast 8
|
|
120
|
+
}
|
|
121
|
+
}
|
|
109
122
|
models "gpt-6-luna" "gpt-6-luna-wm" {
|
|
110
123
|
cost-patch {
|
|
111
124
|
input 0.1
|
|
@@ -126,14 +139,6 @@ provider "openai-codex" {
|
|
|
126
139
|
revision "<5.4" {
|
|
127
140
|
supports-reasoning-summary #false
|
|
128
141
|
}
|
|
129
|
-
// Subscription Codex rates the priority service tier at 2.5x for the
|
|
130
|
-
// GPT-5.5 generation (2x elsewhere).
|
|
131
|
-
revision "=5.5" {
|
|
132
|
-
service-tier-cost {
|
|
133
|
-
flex 0.5
|
|
134
|
-
priority 2.5
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
142
|
// Codex discovery reports inconsistent priorities for the GPT-5.4
|
|
138
143
|
// family; normalize by variant. Mini/nano also keep the lower prompt
|
|
139
144
|
// budget despite their plain OpenAI ids.
|
|
@@ -84,8 +84,23 @@ provider "openai" {
|
|
|
84
84
|
limits context=8192
|
|
85
85
|
supports-tools #false
|
|
86
86
|
}
|
|
87
|
+
// Decisions API (`POST /v1/decisions`, public beta,
|
|
88
|
+
// developers.openai.com/api/docs/guides/decisions) answers typed questions
|
|
89
|
+
// with GPT-6 Luna. The wire id is the chat row's `gpt-6-luna`, so the judge
|
|
90
|
+
// row takes its own id. Billed $0.10 per 1M input tokens, no output charge.
|
|
91
|
+
model "gpt-6-luna-decisions" name="GPT-6 Luna Decisions" api="openai-decisions" base-url="https://api.openai.com/v1" {
|
|
92
|
+
request-model-id "gpt-6-luna"
|
|
93
|
+
reasoning #false
|
|
94
|
+
input "text" "image"
|
|
95
|
+
cost input=0.1 output=0 cache-read=0 cache-write=0
|
|
96
|
+
limits context=1050000
|
|
97
|
+
supports-tools #false
|
|
98
|
+
}
|
|
87
99
|
}
|
|
88
100
|
|
|
101
|
+
models "gpt-6-luna-decisions" {
|
|
102
|
+
kind "judge"
|
|
103
|
+
}
|
|
89
104
|
models "whisper-1" "gpt-4o-transcribe" "gpt-4o-mini-transcribe" {
|
|
90
105
|
kind "stt"
|
|
91
106
|
}
|
|
@@ -177,6 +192,13 @@ provider "openai" {
|
|
|
177
192
|
cache-write 25.0
|
|
178
193
|
}
|
|
179
194
|
}
|
|
195
|
+
// API Ultrafast is 6x the standard card on both context tiers: GPT-6 Astra
|
|
196
|
+
// $60/$6/$75/$300 and GPT-6.1 Sol $12/$0.60/$15/$60 per 1M short-context.
|
|
197
|
+
models "gpt-6-astra*" "gpt-6.1-sol*" {
|
|
198
|
+
service-tier-cost {
|
|
199
|
+
ultrafast 6
|
|
200
|
+
}
|
|
201
|
+
}
|
|
180
202
|
// residue: the bare Daybreak rolling aliases pin the documented 5.6-gen
|
|
181
203
|
// wire restrictions without carrying the gpt- prefix identity.
|
|
182
204
|
models "daybreak-blue-latest" "daybreak-red-latest" {
|
|
@@ -78,6 +78,17 @@ provider "opencode-go" {
|
|
|
78
78
|
thinking-mode "effort"
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
+
// LongCat exposes a reasoning toggle, not selectable effort tiers.
|
|
82
|
+
// Off uses the gateway's boolean reasoning switch, never a fake lowest tier.
|
|
83
|
+
models "longcat-2.5-preview-free" {
|
|
84
|
+
thinking-efforts
|
|
85
|
+
supports-reasoning-effort #false
|
|
86
|
+
reasoning-disable-mode "openrouter-enabled-false"
|
|
87
|
+
}
|
|
88
|
+
// Space Bunny publishes low through max, without the generic minimal tier.
|
|
89
|
+
models "space-bunny-free" {
|
|
90
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
91
|
+
}
|
|
81
92
|
// residue: taxonomy ranks and exact globs do not isolate these models.
|
|
82
93
|
models "glm-5" "glm-5.1" {
|
|
83
94
|
thinking-efforts "minimal" "low" "medium" "high" "xhigh"
|
|
@@ -116,4 +116,24 @@ provider "opencode-zen" {
|
|
|
116
116
|
thinking-efforts "minimal" "low" "medium" "high"
|
|
117
117
|
thinking-mode "effort"
|
|
118
118
|
}
|
|
119
|
+
// Zen serves Jev over System One, not chat completions.
|
|
120
|
+
seed api="typesafe" bundle="always" base-url="https://opencode.ai/zen" {
|
|
121
|
+
model "jev-1.13" name="Jev 1.13" {
|
|
122
|
+
reasoning #false
|
|
123
|
+
input "text"
|
|
124
|
+
cost input=0.042 output=0 cache-read=0 cache-write=0
|
|
125
|
+
limits
|
|
126
|
+
supports-tools #false
|
|
127
|
+
}
|
|
128
|
+
model "jev-1.13-free" name="Jev 1.13 Free" {
|
|
129
|
+
reasoning #false
|
|
130
|
+
input "text"
|
|
131
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
132
|
+
limits
|
|
133
|
+
supports-tools #false
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
models "jev-1.13" "jev-1.13-free" {
|
|
137
|
+
kind "judge"
|
|
138
|
+
}
|
|
119
139
|
}
|
|
@@ -159,6 +159,12 @@ provider "openrouter" {
|
|
|
159
159
|
family "o-series" {
|
|
160
160
|
thinking-efforts "minimal" "low" "medium" "high"
|
|
161
161
|
}
|
|
162
|
+
// OpenRouter's Responses API does not document `configuration_update`
|
|
163
|
+
// input items (and serves `-pro` rows that would need pro mode, where the
|
|
164
|
+
// item is unsupported): GPT-6 effort changes stay on the request level.
|
|
165
|
+
revision ">=6 <7" {
|
|
166
|
+
supports-configuration-update #false
|
|
167
|
+
}
|
|
162
168
|
}
|
|
163
169
|
class "stepfun" {
|
|
164
170
|
family "step" {
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// Documented account-billed Cortex REST API, not verified CoCo-subscription usage.
|
|
2
|
+
// Model IDs and compatibility: https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-rest-api
|
|
3
|
+
// Output is capped at the Cortex REST API's documented 16,384-token maximum (rate-limit table;
|
|
4
|
+
// newer models absent from that table are assumed to share it). Context windows are conservative
|
|
5
|
+
// AI_COMPLETE configured ceilings, not verified REST maxima:
|
|
6
|
+
// https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-rest-api#label-cortex-rest-api-rate-limits
|
|
7
|
+
// https://docs.snowflake.com/en/user-guide/snowflake-cortex/aisql-regional-availability
|
|
8
|
+
// USD per million tokens estimates: Consumption Table 6(b) AI Credits x $2.00
|
|
9
|
+
// (on-demand global routing); regional routing and contract discounts change billing.
|
|
10
|
+
// https://www.snowflake.com/legal-files/CreditConsumptionTable.pdf
|
|
11
|
+
// https://docs.snowflake.com/en/user-guide/snowflake-cortex/pricing
|
|
12
|
+
provider "snowflake" {
|
|
13
|
+
default-model "claude-opus-5-5"
|
|
14
|
+
env "SNOWFLAKE_PAT"
|
|
15
|
+
|
|
16
|
+
// Credential-scoped roster: never fetch during catalog generation. The `.invalid`
|
|
17
|
+
// origin is a placeholder that snowflakeTransport replaces with the account URL.
|
|
18
|
+
seed api="anthropic-messages" base-url="https://snowflake-account.invalid/api/v2/cortex" bundle="always" precedence="seed" {
|
|
19
|
+
model "claude-opus-5-5" name="Claude Opus 5.5" {
|
|
20
|
+
reasoning #true
|
|
21
|
+
input "text" "image"
|
|
22
|
+
cost input=4 output=20 cache-write=5 cache-read=0.2
|
|
23
|
+
limits context=1000000 max-tokens=16384
|
|
24
|
+
}
|
|
25
|
+
model "claude-opus-5" name="Claude Opus 5" {
|
|
26
|
+
reasoning #true
|
|
27
|
+
input "text" "image"
|
|
28
|
+
cost input=5 output=25 cache-write=6.25 cache-read=0.5
|
|
29
|
+
limits context=1000000 max-tokens=16384
|
|
30
|
+
}
|
|
31
|
+
model "claude-opus-4-8" name="Claude Opus 4.8" {
|
|
32
|
+
reasoning #true
|
|
33
|
+
input "text" "image"
|
|
34
|
+
cost input=5 output=25 cache-write=6.25 cache-read=0.5
|
|
35
|
+
limits context=1000000 max-tokens=16384
|
|
36
|
+
}
|
|
37
|
+
model "claude-opus-4-7" name="Claude Opus 4.7" {
|
|
38
|
+
reasoning #true
|
|
39
|
+
input "text" "image"
|
|
40
|
+
cost input=5 output=25 cache-write=6.25 cache-read=0.5
|
|
41
|
+
limits context=1000000 max-tokens=16384
|
|
42
|
+
}
|
|
43
|
+
model "claude-opus-4-6" name="Claude Opus 4.6" {
|
|
44
|
+
reasoning #true
|
|
45
|
+
input "text" "image"
|
|
46
|
+
cost input=5 output=25 cache-write=6.25 cache-read=0.5
|
|
47
|
+
limits context=1000000 max-tokens=16384
|
|
48
|
+
}
|
|
49
|
+
model "claude-opus-4-5" name="Claude Opus 4.5" {
|
|
50
|
+
reasoning #true
|
|
51
|
+
input "text" "image"
|
|
52
|
+
cost input=5 output=25 cache-write=6.25 cache-read=0.5
|
|
53
|
+
limits context=200000 max-tokens=16384
|
|
54
|
+
}
|
|
55
|
+
model "claude-sonnet-5" name="Claude Sonnet 5" {
|
|
56
|
+
reasoning #true
|
|
57
|
+
input "text" "image"
|
|
58
|
+
cost input=2 output=10 cache-write=2.5 cache-read=0.2
|
|
59
|
+
limits context=1000000 max-tokens=16384
|
|
60
|
+
}
|
|
61
|
+
model "claude-sonnet-4-6" name="Claude Sonnet 4.6" {
|
|
62
|
+
reasoning #true
|
|
63
|
+
input "text" "image"
|
|
64
|
+
cost input=3 output=15 cache-write=3.75 cache-read=0.3
|
|
65
|
+
limits context=1000000 max-tokens=16384
|
|
66
|
+
}
|
|
67
|
+
model "claude-sonnet-4-5" name="Claude Sonnet 4.5" {
|
|
68
|
+
reasoning #true
|
|
69
|
+
input "text" "image"
|
|
70
|
+
cost input=3 output=15 cache-write=3.75 cache-read=0.3
|
|
71
|
+
limits context=200000 max-tokens=16384
|
|
72
|
+
}
|
|
73
|
+
model "claude-haiku-4-5" name="Claude Haiku 4.5" {
|
|
74
|
+
reasoning #true
|
|
75
|
+
input "text" "image"
|
|
76
|
+
cost input=1 output=5 cache-write=1.25 cache-read=0.1
|
|
77
|
+
limits context=200000 max-tokens=16384
|
|
78
|
+
}
|
|
79
|
+
model "openai-gpt-5.1" name="GPT-5.1" api="openai-completions" base-url="https://snowflake-account.invalid/api/v2/cortex/v1" {
|
|
80
|
+
reasoning #true
|
|
81
|
+
input "text" "image"
|
|
82
|
+
cost input=1.25 output=10 cache-write=0 cache-read=0.13
|
|
83
|
+
limits context=272000 max-tokens=16384
|
|
84
|
+
}
|
|
85
|
+
model "openai-gpt-5" name="GPT-5" api="openai-completions" base-url="https://snowflake-account.invalid/api/v2/cortex/v1" {
|
|
86
|
+
reasoning #true
|
|
87
|
+
input "text" "image"
|
|
88
|
+
cost input=1.25 output=10 cache-write=0 cache-read=0.13
|
|
89
|
+
limits context=272000 max-tokens=16384
|
|
90
|
+
}
|
|
91
|
+
model "openai-gpt-5-mini" name="GPT-5 Mini" api="openai-completions" base-url="https://snowflake-account.invalid/api/v2/cortex/v1" {
|
|
92
|
+
reasoning #true
|
|
93
|
+
input "text" "image"
|
|
94
|
+
cost input=0.25 output=2 cache-write=0 cache-read=0.03
|
|
95
|
+
limits context=272000 max-tokens=16384
|
|
96
|
+
}
|
|
97
|
+
model "openai-gpt-5-nano" name="GPT-5 Nano" api="openai-completions" base-url="https://snowflake-account.invalid/api/v2/cortex/v1" {
|
|
98
|
+
reasoning #true
|
|
99
|
+
input "text" "image"
|
|
100
|
+
cost input=0.06 output=0.44 cache-write=0 cache-read=0.01
|
|
101
|
+
limits context=272000 max-tokens=16384
|
|
102
|
+
}
|
|
103
|
+
model "openai-gpt-4.1" name="GPT-4.1" api="openai-completions" base-url="https://snowflake-account.invalid/api/v2/cortex/v1" {
|
|
104
|
+
reasoning #false
|
|
105
|
+
input "text" "image"
|
|
106
|
+
cost input=2 output=8 cache-write=0 cache-read=0.5
|
|
107
|
+
limits context=128000 max-tokens=16384
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Claude thinking modes and effort ladders come from the Anthropic lineage rules
|
|
112
|
+
// (classes/anthropic.kdl). Live Cortex probes matched them: Opus 4.7+/Sonnet 5
|
|
113
|
+
// accept xhigh and max; Opus 4.6 and Sonnet 4.6 reject xhigh.
|
|
114
|
+
// Cortex compatibility chart: ephemeral 5-minute caching and Bedrock-compatible betas only.
|
|
115
|
+
class "anthropic" {
|
|
116
|
+
supports-eager-tool-input-streaming #false
|
|
117
|
+
supports-long-cache-retention #false
|
|
118
|
+
}
|
|
119
|
+
// Cortex documents reasoning_effort none/minimal/low/medium/high. Prefixed ids
|
|
120
|
+
// (openai-gpt-*) carry no `gpt` family, so the <5.2 lineage ladder is restated
|
|
121
|
+
// here; 5.2+ rows fall through to the unscoped lineage ladders in classes/openai.kdl.
|
|
122
|
+
class "openai" {
|
|
123
|
+
revision ">=5 <5.2" {
|
|
124
|
+
thinking-mode "effort"
|
|
125
|
+
thinking-efforts "minimal" "low" "medium" "high"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Cortex compatibility chart: max_tokens/store are hard errors; non-OpenAI backends accept user/assistant/system roles only.
|
|
129
|
+
on-api "openai-completions" {
|
|
130
|
+
max-tokens-field "max_completion_tokens"
|
|
131
|
+
supports-store #false
|
|
132
|
+
supports-developer-role #false
|
|
133
|
+
supports-reasoning-effort #true
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Converse rejects image blocks nested inside toolResult content for OpenAI models,
|
|
2
|
+
// so their tool-result images move into sibling user blocks. The rule is scoped by
|
|
3
|
+
// adapter, not provider name, so a custom provider on bedrock-converse-stream gets
|
|
4
|
+
// it too.
|
|
5
|
+
on-api "bedrock-converse-stream" {
|
|
6
|
+
class "openai" {
|
|
7
|
+
requires-tool-result-image-hoisting #true
|
|
8
|
+
}
|
|
9
|
+
// Opaque application-inference-profile ARNs carry no vendor signal, so an
|
|
10
|
+
// OpenAI-backed profile classifies here and would otherwise nest images in
|
|
11
|
+
// toolResult content and hit the same rejection. Hoisting is accepted by
|
|
12
|
+
// every Converse model measured, so it is the safe default for unknowns.
|
|
13
|
+
class "unknown" {
|
|
14
|
+
requires-tool-result-image-hoisting #true
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -5,6 +5,16 @@ provider "zhipu-coding-plan" {
|
|
|
5
5
|
env "ZHIPU_API_KEY"
|
|
6
6
|
dynamic-models-authoritative #true
|
|
7
7
|
discovery label="Zhipu Coding Plan"
|
|
8
|
+
// The coding-plan upstream snapshot omits FlashX although the served SKU
|
|
9
|
+
// has the same limits and mandatory-thinking ladder as GLM-5.3-Flash.
|
|
10
|
+
seed api="openai-completions" base-url="https://open.bigmodel.cn/api/coding/paas/v4" bundle="always" {
|
|
11
|
+
model "glm-5.3-flashx" name="GLM-5.3-FlashX" {
|
|
12
|
+
reasoning #true
|
|
13
|
+
input "text" "image"
|
|
14
|
+
cost input=0 output=0 cache-read=0 cache-write=0
|
|
15
|
+
limits context=1000000 max-tokens=131072
|
|
16
|
+
}
|
|
17
|
+
}
|
|
8
18
|
|
|
9
19
|
// Replaces the Zhipu provider thinking-format branch.
|
|
10
20
|
thinking-format "zai"
|
|
@@ -92,13 +92,13 @@ behavior {
|
|
|
92
92
|
// Factory Droid bills each model from one subscription pool: Droid Core
|
|
93
93
|
// (flat rate) or Standard Credits. Unknown ids have no inferred entitlement.
|
|
94
94
|
quota-tiers provider="factory-droid" {
|
|
95
|
-
tier "core" "inkling" "mistral-medium-3.5" "glm-5.3-flash" "glm-5.3" "glm-5.2" "glm-5.2-fast" \
|
|
95
|
+
tier "core" "inkling" "mistral-large-4" "mistral-medium-3.5" "glm-5.3-flash" "glm-5.3" "glm-5.2" "glm-5.2-fast" \
|
|
96
96
|
"kimi-k3" "qwen3.8-max" "nemotron-3-ultra" "deepseek-v4.1-flash" "deepseek-v4-flash-0731" \
|
|
97
97
|
"deepseek-v4-pro" "minimax-m3" "minimax-m2.7"
|
|
98
98
|
tier "standard" "claude-fable-5.1" "claude-fable-5" "claude-opus-5-5" "claude-opus-5-5-fast" \
|
|
99
99
|
"claude-opus-5" "claude-opus-5-fast" "claude-opus-4-8" "claude-opus-4-8-fast" "claude-opus-4-7" \
|
|
100
100
|
"claude-opus-4-6" "claude-opus-4-5-20251101" "claude-sonnet-5-5" "claude-sonnet-5" \
|
|
101
|
-
"claude-sonnet-4-6" "claude-sonnet-4-5-20250929" "claude-haiku-4-5-20251001" "gpt-6-astra" \
|
|
101
|
+
"claude-sonnet-4-6" "claude-sonnet-4-5-20250929" "claude-haiku-5-5" "claude-haiku-4-5-20251001" "gpt-6-astra" \
|
|
102
102
|
"gpt-6.1-sol" "gpt-6-sol" "gpt-6-luna" "gpt-5.6-sol" "gpt-5.6-sol-fast" "gpt-5.6-terra" \
|
|
103
103
|
"gpt-5.6-luna" "gpt-5.5" "gpt-5.5-fast" "gpt-5.5-pro" "gpt-5.4" "gpt-5.4-fast" "gpt-5.4-mini" \
|
|
104
104
|
"gpt-5.4-mini-fast" "gpt-5.3-codex" "gpt-5.3-codex-fast" "gpt-5.2" "garnet-07-15" \
|
|
@@ -172,7 +172,7 @@ behavior {
|
|
|
172
172
|
// SuperGrok's roster interleaves media models the chat picker cannot
|
|
173
173
|
// serve; the dedicated tool surfaces route them instead.
|
|
174
174
|
exclude-models provider="xai-oauth" exact="grok-imagine-image-quality" exact="grok-imagine-image-2.0" \
|
|
175
|
-
|
|
175
|
+
prefix="grok-imagine-video" prefix="grok-stt-" prefix="grok-voice-"
|
|
176
176
|
// Meta's /v1/models lists image generation and transcription SKUs beside
|
|
177
177
|
// the Muse Spark chat models.
|
|
178
178
|
exclude-models provider="meta" prefix="muse-image-" prefix="muse-voice-"
|
|
@@ -279,7 +279,8 @@ behavior {
|
|
|
279
279
|
exact="claude-opus-4-8" exact="claude-opus-4-8-fast" exact="claude-opus-4-7" \
|
|
280
280
|
exact="claude-opus-4-6" exact="claude-opus-4-5-20251101" exact="claude-sonnet-5-5" \
|
|
281
281
|
exact="claude-sonnet-5" exact="claude-sonnet-4-6" exact="claude-sonnet-4-5-20250929" \
|
|
282
|
-
exact="claude-haiku-4-5-20251001" exact="atlas-07-21" exact="aster-07-15"
|
|
282
|
+
exact="claude-haiku-5-5" exact="claude-haiku-4-5-20251001" exact="atlas-07-21" exact="aster-07-15" \
|
|
283
|
+
exact="minimax-m2.7"
|
|
283
284
|
route "openai-responses" exact="gpt-6-astra" exact="gpt-6.1-sol" exact="gpt-6-sol" exact="gpt-6-luna" \
|
|
284
285
|
exact="gpt-5.6-sol" exact="gpt-5.6-sol-fast" exact="gpt-5.6-terra" exact="gpt-5.6-luna" \
|
|
285
286
|
exact="gpt-5.5" exact="gpt-5.5-fast" exact="gpt-5.5-pro" exact="gpt-5.4" exact="gpt-5.4-fast" \
|
|
@@ -288,7 +289,7 @@ behavior {
|
|
|
288
289
|
route "google-generate" exact="garnet-07-15" exact="gemini-3.1-pro-preview" exact="gemini-3.8-flash" \
|
|
289
290
|
exact="gemini-3.7-flash" exact="gemini-3.6-flash" exact="gemini-3.5-flash" \
|
|
290
291
|
exact="gemini-3-flash-preview"
|
|
291
|
-
route "openai-completions" exact="inkling" exact="mistral-medium-3.5" exact="glm-5.3-flash" \
|
|
292
|
+
route "openai-completions" exact="inkling" exact="mistral-large-4" exact="mistral-medium-3.5" exact="glm-5.3-flash" \
|
|
292
293
|
exact="glm-5.3" exact="glm-5.2" exact="glm-5.2-fast" exact="kimi-k3" exact="qwen3.8-max" \
|
|
293
294
|
exact="nemotron-3-ultra" exact="deepseek-v4.1-flash" exact="deepseek-v4-flash-0731" \
|
|
294
295
|
exact="deepseek-v4-pro" exact="minimax-m3"
|
|
@@ -351,6 +352,8 @@ behavior {
|
|
|
351
352
|
alias "claude-opus-4-6" peer-id="claude-opus-4-6@default"
|
|
352
353
|
alias "claude-sonnet-4-5" peer-id="claude-sonnet-4-5@20250929"
|
|
353
354
|
alias "claude-sonnet-4-6" peer-id="claude-sonnet-4-6@default"
|
|
355
|
+
alias "claude-opus-5-5" peer-id="claude-opus-5-5@default"
|
|
356
|
+
alias "claude-sonnet-5-5" peer-id="claude-sonnet-5-5@default"
|
|
354
357
|
}
|
|
355
358
|
// SuperGrok surfaces a few models under IDs that differ from their public
|
|
356
359
|
// xai equivalent, so the exact-id price mirror misses them.
|
|
@@ -88,6 +88,24 @@ collapse {
|
|
|
88
88
|
mode "budget"
|
|
89
89
|
efforts "minimal" "low" "medium" "high"
|
|
90
90
|
}
|
|
91
|
+
variant-family "google-antigravity" "claude-opus-5-5" name="Claude Opus 5.5" {
|
|
92
|
+
members "claude-opus-5-5-low" "claude-opus-5-5-medium" "claude-opus-5-5-high"
|
|
93
|
+
route "low" "claude-opus-5-5-low"
|
|
94
|
+
route "medium" "claude-opus-5-5-medium"
|
|
95
|
+
route "high" "claude-opus-5-5-high"
|
|
96
|
+
mode "budget"
|
|
97
|
+
efforts "low" "medium" "high"
|
|
98
|
+
requires-effort #true
|
|
99
|
+
}
|
|
100
|
+
variant-family "google-antigravity" "claude-sonnet-5-5" name="Claude Sonnet 5.5" {
|
|
101
|
+
members "claude-sonnet-5-5-low" "claude-sonnet-5-5-medium" "claude-sonnet-5-5-high"
|
|
102
|
+
route "low" "claude-sonnet-5-5-low"
|
|
103
|
+
route "medium" "claude-sonnet-5-5-medium"
|
|
104
|
+
route "high" "claude-sonnet-5-5-high"
|
|
105
|
+
mode "budget"
|
|
106
|
+
efforts "low" "medium" "high"
|
|
107
|
+
requires-effort #true
|
|
108
|
+
}
|
|
91
109
|
variant-family "google-antigravity" "claude-sonnet-4-6" name="Claude Sonnet 4.6" {
|
|
92
110
|
members "claude-sonnet-4-6" "claude-sonnet-4-6-thinking"
|
|
93
111
|
mode "budget"
|
|
@@ -639,6 +657,12 @@ collapse {
|
|
|
639
657
|
// Retired id: the Codex image model was relabeled to what the backend runs
|
|
640
658
|
// (gpt-image-2-codex); keep saved `openai-codex/gpt-image-1` roles resolving.
|
|
641
659
|
provider-alias "openai-codex" "gpt-image-1" "gpt-image-2"
|
|
660
|
+
// Retired rich-lane ids: AvailableModels discovery named Grok 4.5/4.6 lanes
|
|
661
|
+
// after the unprefixed model name before they adopted these family ids
|
|
662
|
+
// (#14164). Family `aliases` (not `provider-alias`) so saved selectors and
|
|
663
|
+
// models.yml `modelOverrides` keyed by the old ids both migrate. Grok 4.6
|
|
664
|
+
// is spelled out instead of riding the `cursor-grok-{rev}` template: a
|
|
665
|
+
// templated `grok-{rev}` alias would also claim the live Grok 4.7+ ids.
|
|
642
666
|
variant-family "cursor" "cursor-grok-4.5" name="Grok 4.5" {
|
|
643
667
|
members "cursor-grok-4.5-low" "cursor-grok-4.5-medium" "cursor-grok-4.5-high"
|
|
644
668
|
route "low" "cursor-grok-4.5-low"
|
|
@@ -648,6 +672,7 @@ collapse {
|
|
|
648
672
|
efforts "low" "medium" "high"
|
|
649
673
|
requires-effort #true
|
|
650
674
|
default-member "cursor-grok-4.5-medium"
|
|
675
|
+
aliases "grok-4.5"
|
|
651
676
|
}
|
|
652
677
|
variant-family "cursor" "cursor-grok-4.5-fast" name="Grok 4.5 Fast" {
|
|
653
678
|
members "cursor-grok-4.5-low-fast" "cursor-grok-4.5-medium-fast" "cursor-grok-4.5-high-fast"
|
|
@@ -658,8 +683,33 @@ collapse {
|
|
|
658
683
|
efforts "low" "medium" "high"
|
|
659
684
|
requires-effort #true
|
|
660
685
|
default-member "cursor-grok-4.5-medium-fast"
|
|
686
|
+
aliases "grok-4.5-fast"
|
|
687
|
+
}
|
|
688
|
+
variant-family "cursor" "cursor-grok-4.6" name="Grok 4.6" {
|
|
689
|
+
members "cursor-grok-4.6-low" "cursor-grok-4.6-medium" "cursor-grok-4.6-high" "cursor-grok-4.6-xhigh"
|
|
690
|
+
route "low" "cursor-grok-4.6-low"
|
|
691
|
+
route "medium" "cursor-grok-4.6-medium"
|
|
692
|
+
route "high" "cursor-grok-4.6-high"
|
|
693
|
+
route "xhigh" "cursor-grok-4.6-xhigh"
|
|
694
|
+
mode "effort"
|
|
695
|
+
efforts "low" "medium" "high" "xhigh"
|
|
696
|
+
requires-effort #true
|
|
697
|
+
default-member "cursor-grok-4.6-medium"
|
|
698
|
+
aliases "grok-4.6"
|
|
699
|
+
}
|
|
700
|
+
variant-family "cursor" "cursor-grok-4.6-fast" name="Grok 4.6 Fast" {
|
|
701
|
+
members "cursor-grok-4.6-low-fast" "cursor-grok-4.6-medium-fast" "cursor-grok-4.6-high-fast" "cursor-grok-4.6-xhigh-fast"
|
|
702
|
+
route "low" "cursor-grok-4.6-low-fast"
|
|
703
|
+
route "medium" "cursor-grok-4.6-medium-fast"
|
|
704
|
+
route "high" "cursor-grok-4.6-high-fast"
|
|
705
|
+
route "xhigh" "cursor-grok-4.6-xhigh-fast"
|
|
706
|
+
mode "effort"
|
|
707
|
+
efforts "low" "medium" "high" "xhigh"
|
|
708
|
+
requires-effort #true
|
|
709
|
+
default-member "cursor-grok-4.6-medium-fast"
|
|
710
|
+
aliases "grok-4.6-fast"
|
|
661
711
|
}
|
|
662
|
-
variant-family "cursor" "cursor-grok-{rev}" name="Grok {rev}" revision=">=4.
|
|
712
|
+
variant-family "cursor" "cursor-grok-{rev}" name="Grok {rev}" revision=">=4.7" {
|
|
663
713
|
members "cursor-grok-{rev}-low" "cursor-grok-{rev}-medium" "cursor-grok-{rev}-high" "cursor-grok-{rev}-xhigh"
|
|
664
714
|
route "low" "cursor-grok-{rev}-low"
|
|
665
715
|
route "medium" "cursor-grok-{rev}-medium"
|
|
@@ -670,7 +720,7 @@ collapse {
|
|
|
670
720
|
requires-effort #true
|
|
671
721
|
default-member "cursor-grok-{rev}-medium"
|
|
672
722
|
}
|
|
673
|
-
variant-family "cursor" "cursor-grok-{rev}-fast" name="Grok {rev} Fast" revision=">=4.
|
|
723
|
+
variant-family "cursor" "cursor-grok-{rev}-fast" name="Grok {rev} Fast" revision=">=4.7" {
|
|
674
724
|
members "cursor-grok-{rev}-low-fast" "cursor-grok-{rev}-medium-fast" "cursor-grok-{rev}-high-fast" "cursor-grok-{rev}-xhigh-fast"
|
|
675
725
|
route "low" "cursor-grok-{rev}-low-fast"
|
|
676
726
|
route "medium" "cursor-grok-{rev}-medium-fast"
|
|
@@ -15,6 +15,10 @@ class "deepseek" {
|
|
|
15
15
|
family "v4" glob="*deepseek-v4*"
|
|
16
16
|
family "v3" glob="*deepseek-v3*"
|
|
17
17
|
|
|
18
|
+
revision prefix="deepseek-v" anywhere=#true
|
|
19
|
+
|
|
20
|
+
override id="deepseek-bare-flash-v4-1" provider="deepseek" model="deepseek-flash" class="deepseek" family="flash" revision="4.1" rationale="The first-party bare Flash alias serves DeepSeek V4.1 Flash, not V4 Flash" provenance="providers/deepseek.kdl"
|
|
21
|
+
override id="opencode-go-bare-flash-v4-1" provider="opencode-go" model="deepseek-flash" class="deepseek" family="flash" revision="4.1" rationale="OpenCode Go's bare Flash lane shares the reviewed V4.1 Flash deployment contract" provenance="providers/opencode-go.kdl"
|
|
18
22
|
override id="vercel-deepseek-v3-2-thinking-product" provider="vercel-ai-gateway" model="deepseek-v3.2-thinking" logical="deepseek/deepseek-v3.2-thinking" class="deepseek" rationale="Oracle exposes this independently priced product rather than an effort route" provenance="fixtures/llm-oracle/catalog/models.normalized.json"
|
|
19
23
|
override id="opencode-zen-big-pickle-family" provider="opencode-zen" model="big-pickle" class="deepseek" rationale="OpenCode Zen's big-pickle is a DeepSeek reasoning alias whose upstream 400s require exact reasoning_content replay" provenance="models.json census"
|
|
20
24
|
override id="umans-deepseek-v4-flash-family" provider="umans" model="umans-deepseek-v4-flash-0731" logical="umans-deepseek-v4-flash-0731" class="deepseek" rationale="The opaque Umans product identifier is backed by the reviewed DeepSeek V4 Flash family" provenance="fixtures/llm-oracle/catalog-policy/compat-profiles.json:compat-04"
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
class "kimi" {
|
|
2
2
|
namespace "moonshotai"
|
|
3
3
|
bounded "kimi"
|
|
4
|
+
// Kimi Code exposes bare K3 SKUs; selectors may include a provider namespace.
|
|
5
|
+
exact "k3"
|
|
6
|
+
exact "k3-256k"
|
|
4
7
|
|
|
5
8
|
family "k2" glob="*kimi-k2*"
|
|
6
9
|
family "k2.5" glob="*kimi-k2.5*" priority=10
|
|
@@ -13,6 +16,8 @@ class "kimi" {
|
|
|
13
16
|
family "k2.7-code" glob="*kimi-k2p7*code*" priority=10
|
|
14
17
|
family "k2-thinking" glob="*kimi-k2-thinking*" priority=20
|
|
15
18
|
family "k3" glob="*kimi-k3*"
|
|
19
|
+
family "k3" glob="k3"
|
|
20
|
+
family "k3" glob="k3-256k"
|
|
16
21
|
|
|
17
22
|
override id="kilo-kimi-k2-thinking-product" provider="kilo" model="kimi-k2-thinking" logical="moonshotai/kimi-k2-thinking" class="kimi" rationale="Oracle exposes this independently priced product rather than an effort route" provenance="fixtures/llm-oracle/catalog/models.normalized.json"
|
|
18
23
|
override id="openrouter-kimi-k2-thinking-product" provider="openrouter" model="kimi-k2-thinking" logical="moonshotai/kimi-k2-thinking" class="kimi" rationale="Oracle exposes this independently priced product rather than an effort route" provenance="fixtures/llm-oracle/catalog/models.normalized.json"
|