@oh-my-pi/pi-catalog 18.8.2 → 18.8.3
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 +6 -0
- package/package.json +4 -4
- package/src/compat/resolve.ts +4 -2
- package/src/compat/rules/classes/anthropic.kdl +66 -1
- package/src/compat/rules/providers/anthropic.kdl +6 -0
- package/src/compat/rules/providers/moonshot.kdl +11 -0
- package/src/compat/rules.json +1 -1
- package/src/model-tokenizer.ts +3 -0
- package/src/models.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [18.8.3] - 2026-10-07
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added Claude Haiku 5.5 with adaptive thinking (low through max effort), image input, a 1M-token context window, 128K output, and its tiered pricing above 100K input tokens.
|
|
10
|
+
|
|
5
11
|
## [18.8.2] - 2026-10-07
|
|
6
12
|
|
|
7
13
|
### Fixed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oh-my-pi/pi-catalog",
|
|
3
|
-
"version": "18.8.
|
|
3
|
+
"version": "18.8.3",
|
|
4
4
|
"description": "Model catalog for omp: bundled model database, provider discovery descriptors, model identity, classification, and equivalence",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -93,12 +93,12 @@
|
|
|
93
93
|
"gen:proto": "bun scripts/generate-protocols.ts"
|
|
94
94
|
},
|
|
95
95
|
"dependencies": {
|
|
96
|
-
"@oh-my-pi/omptype": "18.8.
|
|
97
|
-
"@oh-my-pi/pi-utils": "18.8.
|
|
96
|
+
"@oh-my-pi/omptype": "18.8.3",
|
|
97
|
+
"@oh-my-pi/pi-utils": "18.8.3"
|
|
98
98
|
},
|
|
99
99
|
"devDependencies": {
|
|
100
100
|
"@bgotink/kdl": "0.4.0",
|
|
101
|
-
"@oh-my-pi/pi-ai": "18.8.
|
|
101
|
+
"@oh-my-pi/pi-ai": "18.8.3",
|
|
102
102
|
"@types/bun": "^1.3.14"
|
|
103
103
|
},
|
|
104
104
|
"engines": {
|
package/src/compat/resolve.ts
CHANGED
|
@@ -107,11 +107,12 @@ class IdentityFacts {
|
|
|
107
107
|
return this.is("kimi") && this.family("k2.7-code", "k3");
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
/** Adaptive-thinking Claude generation floor (Opus ≥ min; Sonnet/Fable/Mythos ≥ 5). */
|
|
110
|
+
/** Adaptive-thinking Claude generation floor (Opus ≥ min; Sonnet/Fable/Mythos ≥ 5; Haiku ≥ 5.5). */
|
|
111
111
|
anthropicAdaptiveGenAtLeast(opusMin: string): boolean {
|
|
112
112
|
if (!this.is("anthropic")) return false;
|
|
113
113
|
if (this.family("opus")) return this.revGte(opusMin);
|
|
114
114
|
if (this.family("sonnet", "fable", "mythos")) return this.revGte("5");
|
|
115
|
+
if (this.family("haiku")) return this.revGte("5.5");
|
|
115
116
|
return false;
|
|
116
117
|
}
|
|
117
118
|
}
|
|
@@ -1009,7 +1010,8 @@ function defaultThinkingMode<TApi extends Api>(spec: ModelSpec<TApi>, facts: Ide
|
|
|
1009
1010
|
return "anthropic-budget-effort";
|
|
1010
1011
|
}
|
|
1011
1012
|
if (facts.is("anthropic")) {
|
|
1012
|
-
|
|
1013
|
+
// Haiku stays on budget thinking until 5.5, its first adaptive generation.
|
|
1014
|
+
if (facts.revGte(facts.family("haiku") ? "5.5" : "4.6")) return "anthropic-adaptive";
|
|
1013
1015
|
if (facts.family("opus") && facts.revGte("4.5")) return "anthropic-budget-effort";
|
|
1014
1016
|
}
|
|
1015
1017
|
return "budget";
|
|
@@ -72,7 +72,7 @@ class "anthropic" {
|
|
|
72
72
|
thinking-prefix-binding #true
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
// Adaptive Claude (Opus 4.7+, Sonnet/Fable/Mythos 5+) rejects explicit
|
|
75
|
+
// Adaptive Claude (Opus 4.7+, Sonnet/Fable/Mythos 5+, Haiku 5.5+) rejects explicit
|
|
76
76
|
// sampling params (`temperature`, `top_p`, `top_k`) with a 400 on every
|
|
77
77
|
// serving host. The `<10` bound keeps whole-number revisions such as
|
|
78
78
|
// `claude-opus-45` (Opus 4.5) out of the range.
|
|
@@ -96,6 +96,11 @@ class "anthropic" {
|
|
|
96
96
|
supports-sampling-params #false
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
+
family "haiku" {
|
|
100
|
+
revision ">=5.5 <10" {
|
|
101
|
+
supports-sampling-params #false
|
|
102
|
+
}
|
|
103
|
+
}
|
|
99
104
|
// On-demand compaction (compact-2026-09-04) works on the Claude API, Vertex,
|
|
100
105
|
// and Amazon Bedrock's `/anthropic` routes, not Bedrock Converse.
|
|
101
106
|
// Foundry / Claude Platform on AWS are first-party Anthropic routes whose
|
|
@@ -121,6 +126,11 @@ class "anthropic" {
|
|
|
121
126
|
supports-server-compaction #true
|
|
122
127
|
}
|
|
123
128
|
}
|
|
129
|
+
family "haiku" {
|
|
130
|
+
revision ">=5.5 <6" {
|
|
131
|
+
supports-server-compaction #true
|
|
132
|
+
}
|
|
133
|
+
}
|
|
124
134
|
models "claude-mythos-preview" {
|
|
125
135
|
supports-server-compaction #true
|
|
126
136
|
}
|
|
@@ -173,6 +183,15 @@ class "anthropic" {
|
|
|
173
183
|
thinking-prefix-binding #true
|
|
174
184
|
}
|
|
175
185
|
}
|
|
186
|
+
// Haiku 5.5 binds signed thinking to the exact preceding conversation like
|
|
187
|
+
// Sonnet 5.5. It accepts a forced `tool_choice` (the response just skips
|
|
188
|
+
// thinking), so it keeps forced tool selection.
|
|
189
|
+
// https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide
|
|
190
|
+
family "haiku" {
|
|
191
|
+
revision ">=5.5 <6" {
|
|
192
|
+
thinking-prefix-binding #true
|
|
193
|
+
}
|
|
194
|
+
}
|
|
176
195
|
on "anthropic" "cloudflare-ai-gateway" "google-vertex" {
|
|
177
196
|
family "fable" {
|
|
178
197
|
revision ">=5" {
|
|
@@ -200,6 +219,13 @@ class "anthropic" {
|
|
|
200
219
|
supports-turn-scoped-system #true
|
|
201
220
|
}
|
|
202
221
|
}
|
|
222
|
+
family "haiku" {
|
|
223
|
+
revision ">=5.5 <6" {
|
|
224
|
+
supports-mid-conversation-system #true
|
|
225
|
+
supports-mid-conversation-tool-changes #true
|
|
226
|
+
supports-turn-scoped-system #true
|
|
227
|
+
}
|
|
228
|
+
}
|
|
203
229
|
family "opus" {
|
|
204
230
|
revision ">=4.8" {
|
|
205
231
|
supports-mid-conversation-system #true
|
|
@@ -230,6 +256,13 @@ class "anthropic" {
|
|
|
230
256
|
supports-per-message-effort #true
|
|
231
257
|
}
|
|
232
258
|
}
|
|
259
|
+
// Haiku 5.5 mirrors Sonnet 5.5; Vertex stays off until verified.
|
|
260
|
+
family "haiku" {
|
|
261
|
+
revision ">=5.5 <6" {
|
|
262
|
+
supports-thinking-binding-controls #true
|
|
263
|
+
supports-per-message-effort #true
|
|
264
|
+
}
|
|
265
|
+
}
|
|
233
266
|
family "opus" {
|
|
234
267
|
revision ">=5" {
|
|
235
268
|
supports-per-message-effort #true
|
|
@@ -257,6 +290,10 @@ class "anthropic" {
|
|
|
257
290
|
"google-vertex" "opencode-zen" "snowflake" "vercel-ai-gateway" {
|
|
258
291
|
family "haiku" {
|
|
259
292
|
thinking-mode "budget"
|
|
293
|
+
// Haiku 5.5 is the first adaptive Haiku: `budget_tokens` is a 400.
|
|
294
|
+
revision ">=5.5 <6" {
|
|
295
|
+
thinking-mode "anthropic-adaptive"
|
|
296
|
+
}
|
|
260
297
|
}
|
|
261
298
|
}
|
|
262
299
|
on "amazon-bedrock" "anthropic" "cloudflare-ai-gateway" "github-copilot" "gitlab-duo" \
|
|
@@ -365,6 +402,34 @@ class "anthropic" {
|
|
|
365
402
|
max-tokens 128000
|
|
366
403
|
}
|
|
367
404
|
}
|
|
405
|
+
// /v1/models reports neither reasoning, vision, pricing nor limits for
|
|
406
|
+
// Haiku 5.5, so a discovered row would materialize as a text-only,
|
|
407
|
+
// unpriced, non-reasoning model; pin the model card. Prompts over 100K
|
|
408
|
+
// input tokens bill the whole request at the long-context rates.
|
|
409
|
+
// https://platform.claude.com/docs/en/models/haiku-5-5/overview
|
|
410
|
+
family "haiku" {
|
|
411
|
+
revision ">=5.5 <6" {
|
|
412
|
+
thinking-upgrade-neutral #true
|
|
413
|
+
input-modalities "text" "image"
|
|
414
|
+
cost-patch {
|
|
415
|
+
input 0.1
|
|
416
|
+
output 0.5
|
|
417
|
+
cache-read 0.01
|
|
418
|
+
cache-write 0.125
|
|
419
|
+
}
|
|
420
|
+
long-context-cost {
|
|
421
|
+
input-threshold 100000
|
|
422
|
+
input 0.5
|
|
423
|
+
output 2.5
|
|
424
|
+
cache-read 0.05
|
|
425
|
+
cache-write 0.625
|
|
426
|
+
}
|
|
427
|
+
limits-patch {
|
|
428
|
+
context-window 1000000
|
|
429
|
+
max-tokens 128000
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
368
433
|
family "mythos" {
|
|
369
434
|
cost-patch {
|
|
370
435
|
input 10.0
|
|
@@ -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"
|
|
@@ -31,6 +31,17 @@ provider "moonshot" {
|
|
|
31
31
|
input-modalities "text" "image"
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
// stencil.so reports a $3 K3 cache write; Moonshot bills only cache hits
|
|
35
|
+
// ($0.30) and misses (the $3 input rate), with no cache-write charge.
|
|
36
|
+
// https://platform.moonshot.ai/docs/pricing/chat-k3
|
|
37
|
+
models "kimi-k3" {
|
|
38
|
+
cost-patch {
|
|
39
|
+
input 3.0
|
|
40
|
+
output 15.0
|
|
41
|
+
cache-read 0.3
|
|
42
|
+
cache-write 0.0
|
|
43
|
+
}
|
|
44
|
+
}
|
|
34
45
|
// The /models roster carries no modality metadata for the named vision/vl
|
|
35
46
|
// SKUs; the bounded id token is the census signal.
|
|
36
47
|
models token="vision" {
|