@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
|
@@ -65,7 +65,7 @@ class "glm" {
|
|
|
65
65
|
// GLM Coding Plan: the selectable 1M-context served ids; pin them so
|
|
66
66
|
// endpoint discovery or older bundled fallbacks cannot regress to 200k.
|
|
67
67
|
on "zai" "zhipu-coding-plan" {
|
|
68
|
-
models "glm-5.2" "glm-5.3" "glm-5.3-flash" {
|
|
68
|
+
models "glm-5.2" "glm-5.3" "glm-5.3-flash" "glm-5.3-flashx" {
|
|
69
69
|
limits-patch {
|
|
70
70
|
context-window 1000000
|
|
71
71
|
max-tokens 131072
|
|
@@ -84,10 +84,9 @@ class "glm" {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
//
|
|
88
|
-
// reports as text-only.
|
|
87
|
+
// GLM-5.3 Flash and FlashX accept native image input on their coding routes.
|
|
89
88
|
on "zai" "zhipu-coding-plan" {
|
|
90
|
-
models "glm-5.3-flash" {
|
|
89
|
+
models "glm-5.3-flash" "glm-5.3-flashx" {
|
|
91
90
|
input-modalities "text" "image"
|
|
92
91
|
}
|
|
93
92
|
}
|
|
@@ -99,17 +98,27 @@ class "glm" {
|
|
|
99
98
|
thinking-efforts "minimal" "low" "medium" "high"
|
|
100
99
|
}
|
|
101
100
|
}
|
|
102
|
-
// GLM-5.3+ coding SKUs (base/air/turbo/flash
|
|
101
|
+
// GLM-5.3+ coding SKUs (base/air/turbo/flash/flashx) expose a uniform
|
|
103
102
|
// wire-exact low/high/max reasoning-effort ladder on every host, thinking
|
|
104
103
|
// can no longer be disabled, and the default effort is max.
|
|
105
104
|
// residue: taxonomy ranks cannot separate these ids from the vision (`…v`)
|
|
106
|
-
// and
|
|
105
|
+
// and preview shapes that keep host dialects; the explicit priority resolves
|
|
107
106
|
// the intentional overlap with census host-dialect residues such as
|
|
108
107
|
// baseten's `zai-org/GLM-5*`.
|
|
109
|
-
models "*glm-5.3" "*glm-5.3-air" "*glm-5.3-turbo" "*glm-5.3-flash" "*glm-5.3:*" \
|
|
110
|
-
"*glm-5.3-flash-uncensored" "*glm-5.3-free" "*glm-5.3-highspeed" "*glm-5.3-flash-lab" priority=10 {
|
|
108
|
+
models "*glm-5.3" "*glm-5.3-air" "*glm-5.3-turbo" "*glm-5.3-flash" "*glm-5.3-flashx" "*glm-5.3:*" \
|
|
109
|
+
"*glm-5.3-flash-uncensored" "*glm-5.3-free" "*glm-5.3-highspeed" "*glm-5.3-fast" "*glm-5.3-flash-lab" priority=10 {
|
|
111
110
|
thinking-default-level "max"
|
|
112
111
|
thinking-efforts "low" "high" "max"
|
|
113
112
|
thinking-requires-effort #true
|
|
114
113
|
}
|
|
114
|
+
// GLM 5+ reasoning reaches omp as its plaintext trace on every host, and
|
|
115
|
+
// family plus revision pin the weights (glm-5.2, glm-5.3-flash, ...). GLM 4
|
|
116
|
+
// classifies too coarsely to carry: 4.0 also matches glm-4.5v and glm-4.6v.
|
|
117
|
+
revision ">=5" {
|
|
118
|
+
portable-reasoning #true
|
|
119
|
+
// residue: fine-tuned weights that classify as the base GLM revision.
|
|
120
|
+
models "*-uncensored" "*-cybersecurity" {
|
|
121
|
+
portable-reasoning #false
|
|
122
|
+
}
|
|
123
|
+
}
|
|
115
124
|
}
|
|
@@ -115,5 +115,20 @@ class "kimi" {
|
|
|
115
115
|
native-kimi-k3-reasoning #true
|
|
116
116
|
clamp-output-to-model-max #true
|
|
117
117
|
}
|
|
118
|
+
// Native K3 accepts forced tools on the Anthropic surface too;
|
|
119
|
+
// omitting thinking leaves its mandatory provider default intact.
|
|
120
|
+
on-api "anthropic-messages" {
|
|
121
|
+
family "k3" {
|
|
122
|
+
supports-forced-tool-choice #true
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// K3 reasoning reaches omp as its plaintext trace on every host, and K3 was
|
|
127
|
+
// trained to read all of its earlier reasoning back (preserved thinking).
|
|
128
|
+
// A recall probe showed the reasoning slot of moonshot, factory-droid,
|
|
129
|
+
// openrouter and devin reaches the model, so K3 reasoning moves between
|
|
130
|
+
// those hosts natively instead of as visible `<think>` text.
|
|
131
|
+
family "k3" {
|
|
132
|
+
portable-reasoning #true
|
|
118
133
|
}
|
|
119
134
|
}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
class "meta" {
|
|
4
4
|
// Exact ids on purpose: only an exact selector upgrades hosts whose
|
|
5
5
|
// discovery misreports a Muse Spark revision as non-reasoning.
|
|
6
|
-
// muse-spark-1.3
|
|
7
|
-
// keep the 5-tier ladder.
|
|
8
|
-
models "muse-spark-1.3" {
|
|
6
|
+
// muse-spark-1.3 standard and contributor expose the max effort tier;
|
|
7
|
+
// older revisions keep the 5-tier ladder.
|
|
8
|
+
models "muse-spark-1.3" "muse-spark-1.3-contributor" {
|
|
9
9
|
thinking-efforts "minimal" "low" "medium" "high" "xhigh" "max"
|
|
10
10
|
thinking-mode "effort"
|
|
11
11
|
}
|
|
12
|
-
models "muse-spark-1.1" "muse-spark-1.2" "muse-spark-1.2-contributor"
|
|
12
|
+
models "muse-spark-1.1" "muse-spark-1.2" "muse-spark-1.2-contributor" {
|
|
13
13
|
thinking-efforts "minimal" "low" "medium" "high" "xhigh"
|
|
14
14
|
thinking-mode "effort"
|
|
15
15
|
}
|
|
@@ -51,7 +51,7 @@ class "minimax" {
|
|
|
51
51
|
thinking-efforts "minimal" "low" "medium" "high" "xhigh"
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
on "minimax" "minimax-cn" "vercel-ai-gateway" {
|
|
54
|
+
on "minimax" "minimax-cn" "minimax-code" "minimax-code-cn" "vercel-ai-gateway" {
|
|
55
55
|
thinking-mode "anthropic-adaptive"
|
|
56
56
|
family "m2" {
|
|
57
57
|
// Replaces the Anthropic-route MiniMax effort remap table.
|
|
@@ -71,6 +71,26 @@ class "minimax" {
|
|
|
71
71
|
thinking-efforts "low" "medium" "high"
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
// MiniMax-M3.1-Flash-Preview always thinks (`thinking.type: "disabled"` and
|
|
75
|
+
// effort `none` 400 with error 2013) and tunes depth through
|
|
76
|
+
// `output_config.effort` from `low` to `max` (the default when omitted).
|
|
77
|
+
// The identity map replaces the M3 family's adaptive-tag-only map so each
|
|
78
|
+
// level reaches the wire. Like the M2 family, thinking cannot be turned off:
|
|
79
|
+
// `thinking-requires-effort` hides the off level and clamps forced-off
|
|
80
|
+
// requests to the lowest effort instead of sending `disabled`.
|
|
81
|
+
on "minimax" "minimax-cn" "minimax-code" "minimax-code-cn" {
|
|
82
|
+
models "MiniMax-M3.1-Flash-Preview" {
|
|
83
|
+
thinking-requires-effort #true
|
|
84
|
+
thinking-efforts "low" "medium" "high" "xhigh" "max"
|
|
85
|
+
thinking-effort-map {
|
|
86
|
+
low "low"
|
|
87
|
+
medium "medium"
|
|
88
|
+
high "high"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Token Plan rows ride the Anthropic route; these OpenAI-only wire axes
|
|
93
|
+
// serve the legacy lightning rows that stay on the OpenAI-compatible one.
|
|
74
94
|
on "minimax-code" "minimax-code-cn" {
|
|
75
95
|
supports-reasoning-effort #false
|
|
76
96
|
supports-store #false
|
|
@@ -78,4 +98,14 @@ class "minimax" {
|
|
|
78
98
|
on "minimax-code" "minimax-code-cn" "wafer-serverless" {
|
|
79
99
|
reasoning-content-field "reasoning_content"
|
|
80
100
|
}
|
|
101
|
+
// M3 reasoning reaches omp as its plaintext trace on every host, and
|
|
102
|
+
// MiniMax asks agents to pass all earlier reasoning back.
|
|
103
|
+
family "m3" {
|
|
104
|
+
portable-reasoning #true
|
|
105
|
+
// residue: M3.1 Flash Preview classifies as family m3 (no revision is
|
|
106
|
+
// extracted), but it is a different model.
|
|
107
|
+
models "*m3.1*" {
|
|
108
|
+
portable-reasoning #false
|
|
109
|
+
}
|
|
110
|
+
}
|
|
81
111
|
}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
// Model-lineage compat for "openai"; regenerated from the frozen census using class taxonomy selectors.
|
|
2
2
|
|
|
3
3
|
class "openai" {
|
|
4
|
-
// Replaces the o-series mandatory-reasoning fallback.
|
|
4
|
+
// Replaces the o-series mandatory-reasoning fallback. o-series and GPT-5+
|
|
5
|
+
// reject explicit sampling params (`temperature`, `top_p`) with a 400 on
|
|
6
|
+
// every serving host (#5606), whichever API fronts them.
|
|
5
7
|
family "o-series" {
|
|
6
8
|
thinking-requires-effort #true
|
|
9
|
+
supports-sampling-params #false
|
|
10
|
+
}
|
|
11
|
+
revision ">=5" {
|
|
12
|
+
supports-sampling-params #false
|
|
7
13
|
}
|
|
8
14
|
// GPT wire ladders are model generations, not host contracts: <5.2 keeps
|
|
9
15
|
// the classic four-tier scale, 5.2+ drops minimal for xhigh, and 5.6+
|
|
@@ -43,10 +49,12 @@ class "openai" {
|
|
|
43
49
|
delegation-bias "restrained"
|
|
44
50
|
supports-steering #true
|
|
45
51
|
}
|
|
46
|
-
// GPT-6
|
|
52
|
+
// The GPT-6 family changes reasoning effort mid-conversation through a
|
|
47
53
|
// `configuration_update` input item so the request-level effort (and the
|
|
48
|
-
// cached prompt prefix) stays put
|
|
49
|
-
|
|
54
|
+
// cached prompt prefix) stays put. OpenAI's reasoning guide ("Change
|
|
55
|
+
// reasoning mid-conversation") documents it for the family, and Codex's
|
|
56
|
+
// `/models` reports `supports_reasoning_effort_updates` on every GPT-6 SKU.
|
|
57
|
+
revision ">=6 <7" {
|
|
50
58
|
supports-configuration-update #true
|
|
51
59
|
}
|
|
52
60
|
// Codex SKUs: the advertised 400K figure includes the output budget; the
|
|
@@ -81,3 +89,105 @@ class "openai" {
|
|
|
81
89
|
}
|
|
82
90
|
}
|
|
83
91
|
}
|
|
92
|
+
|
|
93
|
+
// GPT-5.2+ bills images in 32px patches × 1.2, sized per `detail` level:
|
|
94
|
+
// https://developers.openai.com/api/docs/guides/images-vision#calculating-costs
|
|
95
|
+
// Older lines carry no lineage rule and bill at their wire API's fallback
|
|
96
|
+
// (providers/image-tokenization.kdl).
|
|
97
|
+
class "openai" {
|
|
98
|
+
// gpt-5.6 sizing, shared by later lines. `<10` keeps separator-collapsed
|
|
99
|
+
// revisions (`openai-gpt-52-codex` parses as 52) off the 5.6+ sizing.
|
|
100
|
+
revision ">=5.6 <10" {
|
|
101
|
+
image-tokenization {
|
|
102
|
+
regime "openai-patch"
|
|
103
|
+
multiplier 1.2
|
|
104
|
+
auto "original"
|
|
105
|
+
low {
|
|
106
|
+
max-edge 512
|
|
107
|
+
}
|
|
108
|
+
high {
|
|
109
|
+
max-edge 2048
|
|
110
|
+
patch-budget 2500
|
|
111
|
+
}
|
|
112
|
+
original {
|
|
113
|
+
max-edge 65535
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
revision "=5.5" {
|
|
118
|
+
image-tokenization {
|
|
119
|
+
regime "openai-patch"
|
|
120
|
+
multiplier 1.2
|
|
121
|
+
auto "original"
|
|
122
|
+
low {
|
|
123
|
+
max-edge 512
|
|
124
|
+
}
|
|
125
|
+
high {
|
|
126
|
+
max-edge 2048
|
|
127
|
+
patch-budget 2500
|
|
128
|
+
}
|
|
129
|
+
original {
|
|
130
|
+
max-edge 6000
|
|
131
|
+
patch-budget 10000
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// gpt-5.4: `auto` sizes like `high`, and `low` keeps a 6,144-patch budget.
|
|
136
|
+
revision "=5.4" {
|
|
137
|
+
image-tokenization {
|
|
138
|
+
regime "openai-patch"
|
|
139
|
+
multiplier 1.2
|
|
140
|
+
auto "high"
|
|
141
|
+
low {
|
|
142
|
+
max-edge 2048
|
|
143
|
+
patch-budget 6144
|
|
144
|
+
}
|
|
145
|
+
high {
|
|
146
|
+
max-edge 2048
|
|
147
|
+
patch-budget 2500
|
|
148
|
+
}
|
|
149
|
+
original {
|
|
150
|
+
max-edge 6000
|
|
151
|
+
patch-budget 10000
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// gpt-5.2 (and the 5.3 Codex SKU) size every level the same way.
|
|
156
|
+
revision ">=5.2 <5.4" {
|
|
157
|
+
image-tokenization {
|
|
158
|
+
regime "openai-patch"
|
|
159
|
+
multiplier 1.2
|
|
160
|
+
auto "high"
|
|
161
|
+
low {
|
|
162
|
+
max-edge 2048
|
|
163
|
+
patch-budget 6144
|
|
164
|
+
}
|
|
165
|
+
high {
|
|
166
|
+
max-edge 2048
|
|
167
|
+
patch-budget 6144
|
|
168
|
+
}
|
|
169
|
+
original {
|
|
170
|
+
max-edge 2048
|
|
171
|
+
patch-budget 6144
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// residue: astra's limits differ from the rest of its revision.
|
|
176
|
+
models "*gpt-6-astra*" {
|
|
177
|
+
image-tokenization {
|
|
178
|
+
regime "openai-patch"
|
|
179
|
+
multiplier 1.2
|
|
180
|
+
auto "original"
|
|
181
|
+
low {
|
|
182
|
+
max-edge 512
|
|
183
|
+
}
|
|
184
|
+
high {
|
|
185
|
+
max-edge 65535
|
|
186
|
+
patch-budget 2500
|
|
187
|
+
}
|
|
188
|
+
original {
|
|
189
|
+
max-edge 65535
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// Model-lineage compat for "qwen"; regenerated from the frozen census using class taxonomy selectors.
|
|
2
2
|
|
|
3
3
|
class "qwen" {
|
|
4
|
-
|
|
4
|
+
// Groq owns its Qwen effort ladder in providers/groq.kdl.
|
|
5
|
+
on "aiand" "aimlapi" "alibaba-coding-plan" "amazon-bedrock" "coreweave" "huggingface" \
|
|
5
6
|
"kilo" "nanogpt" "novita" "nvidia" "ollama-cloud" "openrouter" "synthetic" \
|
|
6
7
|
"together" "venice" "wafer-serverless" "zenmux" {
|
|
7
8
|
thinking-efforts "minimal" "low" "medium" "high"
|
|
@@ -37,4 +37,11 @@ provider "abliteration" {
|
|
|
37
37
|
|
|
38
38
|
include-encrypted-reasoning #false
|
|
39
39
|
stream-idle-timeout-ms 0
|
|
40
|
+
// Abliterated weights classify as the GLM revision they derive from, but
|
|
41
|
+
// they are modified weights: their reasoning is not carried to or from GLM.
|
|
42
|
+
class "glm" {
|
|
43
|
+
revision ">=5" {
|
|
44
|
+
portable-reasoning #false
|
|
45
|
+
}
|
|
46
|
+
}
|
|
40
47
|
}
|
|
@@ -36,8 +36,6 @@ provider "amazon-bedrock" {
|
|
|
36
36
|
}
|
|
37
37
|
class "openai" {
|
|
38
38
|
thinking-mode "effort"
|
|
39
|
-
// OpenAI models reject Converse image blocks nested inside toolResult content.
|
|
40
|
-
requires-tool-result-image-hoisting #true
|
|
41
39
|
}
|
|
42
40
|
class "deepseek" {
|
|
43
41
|
requires-reasoning-content-for-all-assistant-turns #true
|
|
@@ -51,11 +49,6 @@ provider "amazon-bedrock" {
|
|
|
51
49
|
class "unknown" {
|
|
52
50
|
thinking-efforts "minimal" "low" "medium" "high"
|
|
53
51
|
thinking-mode "budget"
|
|
54
|
-
// Opaque application-inference-profile ARNs carry no vendor signal, so an
|
|
55
|
-
// OpenAI-backed profile classifies here and would otherwise nest images in
|
|
56
|
-
// toolResult content and hit the same rejection. Hoisting is accepted by
|
|
57
|
-
// every Converse model measured, so it is the safe default for unknowns.
|
|
58
|
-
requires-tool-result-image-hoisting #true
|
|
59
52
|
}
|
|
60
53
|
// residue: taxonomy ranks and exact globs do not isolate these models.
|
|
61
54
|
models "moonshot.kimi-k2-thinking" {
|
|
@@ -34,6 +34,12 @@ provider "anthropic" {
|
|
|
34
34
|
cost input=2 output=10 cache-read=0.2 cache-write=2.5
|
|
35
35
|
limits context=1000000 max-tokens=128000
|
|
36
36
|
}
|
|
37
|
+
model "claude-haiku-5-5" name="Claude Haiku 5.5" {
|
|
38
|
+
reasoning #true
|
|
39
|
+
input "text" "image"
|
|
40
|
+
cost input=0.1 output=0.5 cache-read=0.01 cache-write=0.125
|
|
41
|
+
limits context=1000000 max-tokens=128000
|
|
42
|
+
}
|
|
37
43
|
model "claude-fable-5" name="Claude Fable 5" {
|
|
38
44
|
reasoning #true
|
|
39
45
|
input "text" "image"
|
|
@@ -68,6 +74,13 @@ provider "anthropic" {
|
|
|
68
74
|
// combines this fact with a per-request effective-URL check, so it never
|
|
69
75
|
// authorizes a block on its own.
|
|
70
76
|
first-party-provider #true
|
|
77
|
+
// Messages requests cap at 32 MB. Reserve 8 MB for text, tools, and JSON
|
|
78
|
+
// framing when retaining inline base64 images in a long conversation.
|
|
79
|
+
// Applied only on the official endpoint; a custom baseUrl has its own limit.
|
|
80
|
+
// https://platform.claude.com/docs/en/api/overview#request-size-limits
|
|
81
|
+
on-api "anthropic-messages" {
|
|
82
|
+
inline-image-byte-budget 24000000
|
|
83
|
+
}
|
|
71
84
|
class "anthropic" {
|
|
72
85
|
revision ">=3.7 <4.6" {
|
|
73
86
|
thinking-efforts "minimal" "low" "medium" "high" "xhigh"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Cloudflare Workers AI decision models. Clef and Clef Flash answer typed
|
|
2
|
+
// questions over JSON state with the TypeSafe System One body
|
|
3
|
+
// (`{model, state, questions}`) at
|
|
4
|
+
// `POST /client/v4/accounts/{account_id}/ai/run/@cf/cloudflare/<model>`.
|
|
5
|
+
// `<account>` in the base URL is resolved per request from the stored login
|
|
6
|
+
// credential (else `CLOUDFLARE_ACCOUNT_ID`).
|
|
7
|
+
|
|
8
|
+
provider "cloudflare-workers-ai" {
|
|
9
|
+
default-model "@cf/cloudflare/clef"
|
|
10
|
+
env "CLOUDFLARE_API_TOKEN" "CLOUDFLARE_AUTH_TOKEN"
|
|
11
|
+
|
|
12
|
+
// developers.cloudflare.com/workers-ai/models/clef and /clef-flash: both
|
|
13
|
+
// take text and image input and bill input tokens only.
|
|
14
|
+
seed api="workers-ai-systemone" base-url="https://api.cloudflare.com/client/v4/accounts/<account>/ai/run" bundle="always" {
|
|
15
|
+
model "@cf/cloudflare/clef" name="Clef" {
|
|
16
|
+
reasoning #false
|
|
17
|
+
input "text" "image"
|
|
18
|
+
cost input=0.24 output=0 cache-read=0 cache-write=0
|
|
19
|
+
limits context=65536
|
|
20
|
+
supports-tools #false
|
|
21
|
+
}
|
|
22
|
+
model "@cf/cloudflare/clef-flash" name="Clef Flash" {
|
|
23
|
+
reasoning #false
|
|
24
|
+
input "text" "image"
|
|
25
|
+
cost input=0.038 output=0 cache-read=0 cache-write=0
|
|
26
|
+
limits context=24576
|
|
27
|
+
supports-tools #false
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
models "*" {
|
|
32
|
+
kind "judge"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// CoralBricks inference gateway deployment contract
|
|
2
|
+
// (https://www.coralbricks.ai/docs.md; catalog snapshot 2026-10-08).
|
|
3
|
+
//
|
|
4
|
+
// Coral serves open-weight models behind an OpenAI-compatible wire at
|
|
5
|
+
// https://inference.coralbricks.ai/v1 with a single bearer API key. The
|
|
6
|
+
// key-protected `GET /v1/models` publishes each row's context window,
|
|
7
|
+
// per-million pricing, and capability flags, and Coral documents those
|
|
8
|
+
// flags as authoritative (unsupported content answers
|
|
9
|
+
// `400 unsupported_content_type` rather than being dropped), so live
|
|
10
|
+
// discovery is the deployment truth and same-id rows on other hosts must
|
|
11
|
+
// not backfill capabilities or limits into this provider's rows.
|
|
12
|
+
provider "coralbricks" {
|
|
13
|
+
default-model "glm-5.3-fast"
|
|
14
|
+
// Official docs authenticate via `CORAL_API_KEY`
|
|
15
|
+
// (https://www.coralbricks.ai/docs.md#authentication); `CORALBRICKS_API_KEY`
|
|
16
|
+
// is the alias the Coral pi provider extension shipped with, kept as a
|
|
17
|
+
// compatibility fallback in precedence order.
|
|
18
|
+
env "CORAL_API_KEY" "CORALBRICKS_API_KEY"
|
|
19
|
+
dynamic-models-authoritative #true
|
|
20
|
+
skip-cross-provider-reference-fills #true
|
|
21
|
+
discovery label="CoralBricks"
|
|
22
|
+
|
|
23
|
+
// Reviewed snapshot of the public catalog
|
|
24
|
+
// (https://www.coralbricks.ai/api/public/models). Coral retired GLM 5.3
|
|
25
|
+
// Flash on 2026-10-07 and renamed the remaining slugs (`glm-5.3-fast`,
|
|
26
|
+
// `deepseek-v4.1-flash-fast`). The public rows list input/output rates
|
|
27
|
+
// only; cache-write rates come from Coral's published pricing and cached
|
|
28
|
+
// reads are $0 on every model. `/v1/models` needs a key, so generation
|
|
29
|
+
// without credentials bundles these rows; successful runtime discovery
|
|
30
|
+
// replaces them.
|
|
31
|
+
seed api="openai-completions" base-url="https://inference.coralbricks.ai/v1" bundle="always" {
|
|
32
|
+
model "glm-5.3-fast" name="GLM 5.3" {
|
|
33
|
+
reasoning #true
|
|
34
|
+
input "text"
|
|
35
|
+
cost input=1.12 output=4.4 cache-read=0 cache-write=1.68
|
|
36
|
+
limits context=1048576 max-tokens=131072
|
|
37
|
+
}
|
|
38
|
+
model "deepseek-v4.1-flash-fast" name="DeepSeek V4.1 Flash" {
|
|
39
|
+
reasoning #true
|
|
40
|
+
input "text" "image"
|
|
41
|
+
cost input=0.3 output=1.2 cache-read=0 cache-write=0.09
|
|
42
|
+
limits context=1048576 max-tokens=131072
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// DeepSeek V4.1 Flash is the one CoralBricks SKU that advertises a genuine
|
|
47
|
+
// off value (`none` in its reasoning-effort vocabulary, per the reasoning
|
|
48
|
+
// table at https://www.coralbricks.ai/docs.md#reasoning), so a
|
|
49
|
+
// thinking-off request disables reasoning instead of clamping to the
|
|
50
|
+
// lowest effort like the GLM SKUs.
|
|
51
|
+
models "deepseek-v4.1-flash-fast" {
|
|
52
|
+
reasoning-disable-mode "none-effort"
|
|
53
|
+
}
|
|
54
|
+
// Gateway request dialect, matching Coral's plain Chat Completions
|
|
55
|
+
// surface ("unchanged from what your existing SDK expects"): output caps
|
|
56
|
+
// ride `max_tokens`, system prompts ride the `system` role, and no
|
|
57
|
+
// `store` field is sent. Coral accepts unknown fields, so acceptance is
|
|
58
|
+
// not evidence the semantics are honored (same call as charm-hyper).
|
|
59
|
+
supports-developer-role #false
|
|
60
|
+
supports-store #false
|
|
61
|
+
max-tokens-field "max_tokens"
|
|
62
|
+
}
|
|
@@ -28,12 +28,18 @@ provider "cursor" {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
// GetUsableModels advertises no input modalities or context windows.
|
|
31
|
-
//
|
|
32
|
-
//
|
|
31
|
+
// Reviewed full-context K3 aliases are multimodal and 1M-context.
|
|
32
|
+
// K3 family identity alone does not verify other Cursor SKUs such as k3-256k.
|
|
33
33
|
class "kimi" {
|
|
34
34
|
family "k3" {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
models "*kimi-k3*" "k3" "*/k3" {
|
|
36
|
+
input-modalities "text" "image"
|
|
37
|
+
context-window-floor 1000000
|
|
38
|
+
}
|
|
39
|
+
// Cursor's agent protocol relays thinking opaquely, so it is not
|
|
40
|
+
// verified as K3's full trace: Cursor K3 turns are not carried to
|
|
41
|
+
// other K3 hosts (Cursor itself refuses foreign history).
|
|
42
|
+
portable-reasoning #false
|
|
37
43
|
}
|
|
38
44
|
family "k2.7-code" {
|
|
39
45
|
// Cursor advertised Kimi K2.7 Code Context window 262k.
|
|
@@ -56,10 +62,6 @@ provider "cursor" {
|
|
|
56
62
|
context-window-floor 272000
|
|
57
63
|
}
|
|
58
64
|
}
|
|
59
|
-
models "k3" "*/k3" {
|
|
60
|
-
input-modalities "text" "image"
|
|
61
|
-
context-window-floor 1000000
|
|
62
|
-
}
|
|
63
65
|
models "default" {
|
|
64
66
|
context-window-floor 256000
|
|
65
67
|
}
|
|
@@ -169,6 +171,24 @@ provider "cursor" {
|
|
|
169
171
|
cache-write 12.5
|
|
170
172
|
}
|
|
171
173
|
}
|
|
174
|
+
// Claude Haiku 5.5: $0.10/$0.50, cache $0.01/$0.125. Requests above
|
|
175
|
+
// 100k input tokens bill every leg at 5x ($0.50/$2.50, cache
|
|
176
|
+
// $0.05/$0.625), on the 1M lane too.
|
|
177
|
+
models "claude-haiku-5-5" "claude-haiku-5-5-1m" {
|
|
178
|
+
cost-patch {
|
|
179
|
+
input 0.1
|
|
180
|
+
output 0.5
|
|
181
|
+
cache-read 0.01
|
|
182
|
+
cache-write 0.125
|
|
183
|
+
}
|
|
184
|
+
long-context-cost {
|
|
185
|
+
input-threshold 100000
|
|
186
|
+
input 0.5
|
|
187
|
+
output 2.5
|
|
188
|
+
cache-read 0.05
|
|
189
|
+
cache-write 0.625
|
|
190
|
+
}
|
|
191
|
+
}
|
|
172
192
|
// Claude 4.7 Opus: $5/$25, cache $0.50/$6.25. Up to 1M same rates.
|
|
173
193
|
models "claude-opus-4-7-high" "claude-opus-4-7-low" "claude-opus-4-7-max" "claude-opus-4-7-medium" "claude-opus-4-7-xhigh" {
|
|
174
194
|
cost-patch {
|
|
@@ -14,8 +14,8 @@ provider "devin" {
|
|
|
14
14
|
// bundle would misstate every other account's entitlements and leave zombie
|
|
15
15
|
// rows behind (see CREDENTIAL_SCOPED_PROVIDERS in generate-models.ts). Both
|
|
16
16
|
// SWE-1.6 lanes are verified live against `GetCliModelConfigs`; the
|
|
17
|
-
// seed's `default-model` (`swe-1-6`) must resolve synchronously at
|
|
18
|
-
//
|
|
17
|
+
// seed's `default-model` (`swe-1-6`) must resolve synchronously at boot;
|
|
18
|
+
// discovery then replaces the seed and the account default it marks wins. Field
|
|
19
19
|
// shape mirrors `devinModelSpec` so seeded and discovered rows are
|
|
20
20
|
// indistinguishable downstream.
|
|
21
21
|
seed api="devin-agent" base-url="https://server.codeium.com" bundle="always" {
|