@oh-my-pi/pi-catalog 18.13.2 → 18.13.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 CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [18.13.3] - 2026-10-28
6
+
7
+ ### Added
8
+
9
+ - Added DeepSeek V4.1 Flash 1017 to the Factory Droid provider for accounts with Factory's 1017 flag; turning thinking off on its Baseten route disables reasoning instead of falling back to low effort ([#17234](https://github.com/can1357/oh-my-pi/pull/17234) by [@skipper019](https://github.com/skipper019))
10
+
11
+ ### Changed
12
+
13
+ - Made Kimi Code model discovery authoritative and cached per credential, added K3.1 Pro and K3.1 Pro Highspeed to the bundled Kimi Code catalog, and preserved live thinking metadata there ([#17224](https://github.com/can1357/oh-my-pi/pull/17224) by [@trukhinyuri](https://github.com/trukhinyuri))
14
+ - Updated Bun engine requirement to ≥1.4.4
15
+
16
+ ### Fixed
17
+
18
+ - Codex model refresh now lists models available to an entitled account even when other saved accounts return HTTP 402 ([#17198](https://github.com/can1357/oh-my-pi/issues/17198)).
19
+ - LiteLLM discovery now reads every `/v2/model/info` page before selecting the proxy's model roster, rather than caching only the first 50 entries; malformed or incomplete pagination falls back without caching a partial page ([#17237](https://github.com/can1357/oh-my-pi/pull/17237) by [@maykonmichel](https://github.com/maykonmichel)).
20
+ - Fixed hosted web search on OpenAI Responses and Codex Responses selecting GPT-5.6 Luna instead of GPT-6 Luna ([#17202](https://github.com/can1357/oh-my-pi/pull/17202) by [@mateo-bolanos](https://github.com/mateo-bolanos)).
21
+
5
22
  ## [18.13.2] - 2026-10-27
6
23
 
7
24
  ### Added
package/README.md CHANGED
@@ -36,7 +36,7 @@ Model- or provider-conditional policy (identity, effort ladders, wire quirks, mo
36
36
  bun add @oh-my-pi/pi-catalog
37
37
  ```
38
38
 
39
- Ships TypeScript source directly (no build step); requires Bun ≥ 1.3.14.
39
+ Ships TypeScript source directly (no build step); requires Bun ≥ 1.4.4.
40
40
 
41
41
  ## Cost calculation
42
42
 
@@ -27,12 +27,11 @@ export interface CodexModelDiscoveryResult {
27
27
  models: ModelSpec<"openai-codex-responses">[];
28
28
  etag?: string;
29
29
  /**
30
- * Set when the backend rejected the credential itself (401/403, e.g.
31
- * `token_revoked`); `models` is empty. A definitive per-account denial,
32
- * unlike the `null` result for transport/parse failures, so multi-account
33
- * discovery can skip the account instead of aborting.
30
+ * A definitive per-account denial (401/403 auth, 402 payment). `models` is
31
+ * empty; unlike transport/parse failures, sibling accounts can still supply
32
+ * an authoritative catalog.
34
33
  */
35
- rejectedStatus?: 401 | 403;
34
+ rejectedStatus?: 401 | 402 | 403;
36
35
  }
37
36
  /**
38
37
  * Fetches model metadata from Codex backend and normalizes it for pi model management.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi/pi-catalog",
3
- "version": "18.13.2",
3
+ "version": "18.13.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,15 +93,15 @@
93
93
  "gen:proto": "bun scripts/generate-protocols.ts"
94
94
  },
95
95
  "dependencies": {
96
- "@oh-my-pi/omptype": "18.13.2",
97
- "@oh-my-pi/pi-utils": "18.13.2"
96
+ "@oh-my-pi/omptype": "18.13.3",
97
+ "@oh-my-pi/pi-utils": "18.13.3"
98
98
  },
99
99
  "devDependencies": {
100
100
  "@bgotink/kdl": "0.4.0",
101
- "@oh-my-pi/pi-ai": "18.13.2",
101
+ "@oh-my-pi/pi-ai": "18.13.3",
102
102
  "@types/bun": "^1.3.14"
103
103
  },
104
104
  "engines": {
105
- "bun": ">=1.3.14"
105
+ "bun": ">=1.4.4"
106
106
  }
107
107
  }
@@ -84,14 +84,14 @@ class "openai" {
84
84
  on-api "openai-responses" {
85
85
  revision ">=5" {
86
86
  web-search "openai"
87
- web-search-model "gpt-5.6-luna"
87
+ web-search-model "gpt-6-luna"
88
88
  hosted-image #true
89
89
  image-model "gpt-image-2"
90
90
  }
91
91
  }
92
92
  on-api "openai-codex-responses" {
93
93
  revision ">=5" {
94
- web-search-model "gpt-5.6-luna"
94
+ web-search-model "gpt-6-luna"
95
95
  hosted-image #true
96
96
  image-model "gpt-image-2"
97
97
  }
@@ -345,6 +345,12 @@ provider "factory-droid" {
345
345
  cost input=0 output=0 cache-read=0 cache-write=0
346
346
  limits context=136464 max-tokens=65536
347
347
  }
348
+ model "deepseek-v4.1-flash-1017" name="DeepSeek V4.1 Flash 1017" {
349
+ reasoning #true
350
+ input "text" "image"
351
+ cost input=0 output=0 cache-read=0 cache-write=0
352
+ limits context=908928 max-tokens=131072
353
+ }
348
354
  model "deepseek-v4.1-flash" name="DeepSeek V4.1 Flash" {
349
355
  reasoning #true
350
356
  input "text" "image"
@@ -975,6 +981,17 @@ provider "factory-droid" {
975
981
  thinking-requires-effort #false
976
982
  thinking-default-level "high"
977
983
  }
984
+ models "deepseek-v4.1-flash-1017" {
985
+ routing-family "factory"
986
+ upstream-rotation "fireworks" "baseten" "databricks"
987
+ credit-rates { input 0.12; output 4; cache-read 0.024 }
988
+ // No bundled Fireworks row for the 1017 slug; Fireworks prices it like V4.1 Flash.
989
+ list-price-from "fireworks" "deepseek-v4.1-flash"
990
+ thinking-efforts "low" "high" "max"
991
+ thinking-requires-effort #false
992
+ thinking-default-level "high"
993
+ entitlement { feature-flag "deepseek_v4_1_flash_1017" }
994
+ }
978
995
  models "deepseek-v4.1-flash" {
979
996
  routing-family "factory"
980
997
  upstream-rotation "fireworks" "baseten" "databricks"
@@ -1131,6 +1148,13 @@ provider "factory-droid" {
1131
1148
  synthetic-reasoning-content-fallback " "
1132
1149
  }
1133
1150
  }
1151
+ // Droid 0.250.0 configures the 1017 checkpoint's Baseten route with
1152
+ // thinkingMode "reasoning-effort": thinking off is sent as `none`.
1153
+ models "deepseek-v4.1-flash-1017" {
1154
+ on-upstream "baseten" {
1155
+ completions-reasoning-mode "effort"
1156
+ }
1157
+ }
1134
1158
  // The replay codec follows the selected route, including EU GLM routes.
1135
1159
  on-upstream "mistral" {
1136
1160
  models "glm-*" "mistral-medium-3.5" "mistral-large-4" {
@@ -2,6 +2,7 @@
2
2
 
3
3
  provider "kimi-code" {
4
4
  default-model "kimi-for-coding"
5
+ dynamic-models-authoritative #true
5
6
  discovery label="Kimi Code" {
6
7
  env "KIMI_API_KEY"
7
8
  }
@@ -39,6 +40,11 @@ provider "kimi-code" {
39
40
  thinking-efforts "minimal" "low" "medium" "high"
40
41
  thinking-format "zai"
41
42
  }
43
+ // K2.7 Code Highspeed always thinks (`supports_thinking_type: "only"`) but
44
+ // exposes no adjustable effort ladder (`think_efforts` is omitted).
45
+ models "kimi-for-coding-highspeed" {
46
+ thinking-efforts
47
+ }
42
48
 
43
49
  // /coding/v1/models carries no pricing. `cost-fallback` seeds the public
44
50
  // Moonshot list price only when discovery reports $0, so a future priced
@@ -100,8 +100,8 @@ behavior {
100
100
  // (flat rate) or Standard Credits. Unknown ids have no inferred entitlement.
101
101
  quota-tiers provider="factory-droid" {
102
102
  tier "core" "inkling" "mistral-large-4" "mistral-medium-3.5" "glm-5.3-flash" "glm-5.3" "glm-5.2" "glm-5.2-fast" \
103
- "kimi-k3" "qwen3.8-max" "nemotron-3-ultra" "deepseek-v4.1-flash" "deepseek-v4-flash-0731" \
104
- "deepseek-v4-pro" "minimax-m3" "minimax-m2.7"
103
+ "kimi-k3" "qwen3.8-max" "nemotron-3-ultra" "deepseek-v4.1-flash" "deepseek-v4.1-flash-1017" \
104
+ "deepseek-v4-flash-0731" "deepseek-v4-pro" "minimax-m3" "minimax-m2.7"
105
105
  tier "standard" "claude-fable-5.1" "claude-fable-5" "claude-opus-5-5" "claude-opus-5-5-fast" \
106
106
  "claude-opus-5" "claude-opus-5-fast" "claude-opus-4-8" "claude-opus-4-8-fast" "claude-opus-4-7" \
107
107
  "claude-opus-4-6" "claude-opus-4-5-20251101" "claude-sonnet-5-5" "claude-sonnet-5" \
@@ -315,8 +315,8 @@ behavior {
315
315
  exact="gemini-3-flash-preview" exact="gemini-3-pro-image-preview"
316
316
  route "openai-completions" exact="inkling" exact="mistral-large-4" exact="mistral-medium-3.5" exact="glm-5.3-flash" \
317
317
  exact="glm-5.3" exact="glm-5.2" exact="glm-5.2-fast" exact="kimi-k3" exact="qwen3.8-max" \
318
- exact="nemotron-3-ultra" exact="deepseek-v4.1-flash" exact="deepseek-v4-flash-0731" \
319
- exact="deepseek-v4-pro" exact="minimax-m3"
318
+ exact="nemotron-3-ultra" exact="deepseek-v4.1-flash" exact="deepseek-v4.1-flash-1017" \
319
+ exact="deepseek-v4-flash-0731" exact="deepseek-v4-pro" exact="minimax-m3"
320
320
  }
321
321
 
322
322
  // Copilot serves these models with tighter effective limits than its