@oh-my-pi/pi-catalog 18.8.2 → 18.8.4

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 CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [18.8.4] - 2026-10-08
6
+
7
+ ### Fixed
8
+
9
+ - Fixed Claude Haiku 5.5 opening at its full 1M window on Amazon Bedrock, Google Vertex, and other non-Anthropic hosts: every priced host now carries the 5x pricing band above 100K input tokens, so the window stays at 100K unless extended context is on ([#14903](https://github.com/can1357/oh-my-pi/pull/14903) by [@H4vC](https://github.com/H4vC)).
10
+
11
+ ## [18.8.3] - 2026-10-07
12
+
13
+ ### Added
14
+
15
+ - 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.
16
+
5
17
  ## [18.8.2] - 2026-10-07
6
18
 
7
19
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi/pi-catalog",
3
- "version": "18.8.2",
3
+ "version": "18.8.4",
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.2",
97
- "@oh-my-pi/pi-utils": "18.8.2"
96
+ "@oh-my-pi/omptype": "18.8.4",
97
+ "@oh-my-pi/pi-utils": "18.8.4"
98
98
  },
99
99
  "devDependencies": {
100
100
  "@bgotink/kdl": "0.4.0",
101
- "@oh-my-pi/pi-ai": "18.8.2",
101
+ "@oh-my-pi/pi-ai": "18.8.4",
102
102
  "@types/bun": "^1.3.14"
103
103
  },
104
104
  "engines": {
@@ -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
- if (facts.revGte("4.6") && !facts.family("haiku")) return "anthropic-adaptive";
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,21 @@ 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
+ // Haiku 5.5 bills every rate 5x for prompts over 100K. Derived from each
104
+ // host's list price so non-Anthropic hosts get the band too; the Claude
105
+ // API pins absolute rates further down.
106
+ // https://platform.claude.com/docs/en/models/haiku-5-5/overview#pricing
107
+ revision ">=5.5 <6" {
108
+ long-context-cost {
109
+ input-threshold 100000
110
+ multiplier 5.0
111
+ }
112
+ }
113
+ }
99
114
  // On-demand compaction (compact-2026-09-04) works on the Claude API, Vertex,
100
115
  // and Amazon Bedrock's `/anthropic` routes, not Bedrock Converse.
101
116
  // Foundry / Claude Platform on AWS are first-party Anthropic routes whose
@@ -121,6 +136,11 @@ class "anthropic" {
121
136
  supports-server-compaction #true
122
137
  }
123
138
  }
139
+ family "haiku" {
140
+ revision ">=5.5 <6" {
141
+ supports-server-compaction #true
142
+ }
143
+ }
124
144
  models "claude-mythos-preview" {
125
145
  supports-server-compaction #true
126
146
  }
@@ -173,6 +193,15 @@ class "anthropic" {
173
193
  thinking-prefix-binding #true
174
194
  }
175
195
  }
196
+ // Haiku 5.5 binds signed thinking to the exact preceding conversation like
197
+ // Sonnet 5.5. It accepts a forced `tool_choice` (the response just skips
198
+ // thinking), so it keeps forced tool selection.
199
+ // https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide
200
+ family "haiku" {
201
+ revision ">=5.5 <6" {
202
+ thinking-prefix-binding #true
203
+ }
204
+ }
176
205
  on "anthropic" "cloudflare-ai-gateway" "google-vertex" {
177
206
  family "fable" {
178
207
  revision ">=5" {
@@ -200,6 +229,13 @@ class "anthropic" {
200
229
  supports-turn-scoped-system #true
201
230
  }
202
231
  }
232
+ family "haiku" {
233
+ revision ">=5.5 <6" {
234
+ supports-mid-conversation-system #true
235
+ supports-mid-conversation-tool-changes #true
236
+ supports-turn-scoped-system #true
237
+ }
238
+ }
203
239
  family "opus" {
204
240
  revision ">=4.8" {
205
241
  supports-mid-conversation-system #true
@@ -230,6 +266,13 @@ class "anthropic" {
230
266
  supports-per-message-effort #true
231
267
  }
232
268
  }
269
+ // Haiku 5.5 mirrors Sonnet 5.5; Vertex stays off until verified.
270
+ family "haiku" {
271
+ revision ">=5.5 <6" {
272
+ supports-thinking-binding-controls #true
273
+ supports-per-message-effort #true
274
+ }
275
+ }
233
276
  family "opus" {
234
277
  revision ">=5" {
235
278
  supports-per-message-effort #true
@@ -257,6 +300,10 @@ class "anthropic" {
257
300
  "google-vertex" "opencode-zen" "snowflake" "vercel-ai-gateway" {
258
301
  family "haiku" {
259
302
  thinking-mode "budget"
303
+ // Haiku 5.5 is the first adaptive Haiku: `budget_tokens` is a 400.
304
+ revision ">=5.5 <6" {
305
+ thinking-mode "anthropic-adaptive"
306
+ }
260
307
  }
261
308
  }
262
309
  on "amazon-bedrock" "anthropic" "cloudflare-ai-gateway" "github-copilot" "gitlab-duo" \
@@ -365,6 +412,34 @@ class "anthropic" {
365
412
  max-tokens 128000
366
413
  }
367
414
  }
415
+ // /v1/models reports neither reasoning, vision, pricing nor limits for
416
+ // Haiku 5.5, so a discovered row would materialize as a text-only,
417
+ // unpriced, non-reasoning model; pin the model card. Prompts over 100K
418
+ // input tokens bill the whole request at the long-context rates.
419
+ // https://platform.claude.com/docs/en/models/haiku-5-5/overview
420
+ family "haiku" {
421
+ revision ">=5.5 <6" {
422
+ thinking-upgrade-neutral #true
423
+ input-modalities "text" "image"
424
+ cost-patch {
425
+ input 0.1
426
+ output 0.5
427
+ cache-read 0.01
428
+ cache-write 0.125
429
+ }
430
+ long-context-cost {
431
+ input-threshold 100000
432
+ input 0.5
433
+ output 2.5
434
+ cache-read 0.05
435
+ cache-write 0.625
436
+ }
437
+ limits-patch {
438
+ context-window 1000000
439
+ max-tokens 128000
440
+ }
441
+ }
442
+ }
368
443
  family "mythos" {
369
444
  cost-patch {
370
445
  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" {