@oh-my-pi/pi-catalog 17.2.6 → 17.2.8

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,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.2.7] - 2026-08-03
6
+
7
+ ### Fixed
8
+
9
+ - Fixed an issue where setting `thinking-level: off` failed to disable reasoning on direct DeepSeek V4 requests.
10
+
5
11
  ## [17.2.6] - 2026-08-03
6
12
 
7
13
  ### Added
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/pi-catalog",
4
- "version": "17.2.6",
4
+ "version": "17.2.8",
5
5
  "description": "Model catalog for omp: bundled model database, provider discovery descriptors, model identity, classification, and equivalence",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -35,12 +35,12 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@bufbuild/protobuf": "^2.12.1",
38
- "@oh-my-pi/pi-utils": "17.2.6",
39
- "arktype": "2.2.3",
38
+ "@oh-my-pi/omptype": "17.2.8",
39
+ "@oh-my-pi/pi-utils": "17.2.8",
40
40
  "zod": "^4"
41
41
  },
42
42
  "devDependencies": {
43
- "@oh-my-pi/pi-ai": "17.2.6",
43
+ "@oh-my-pi/pi-ai": "17.2.8",
44
44
  "@types/bun": "^1.3.14"
45
45
  },
46
46
  "engines": {
@@ -583,7 +583,7 @@ export function buildOpenAICompat(spec: ModelSpec<"openai-completions">): Resolv
583
583
  wireModelIdMode,
584
584
  isVercelGatewayHost: isVercelGateway,
585
585
  supportsStrictMode: detectStrictModeSupport(provider, baseUrl),
586
- extraBody: isDirectDeepseekReasoning ? { thinking: { type: "enabled" } } : undefined,
586
+ extraBody: undefined,
587
587
  toolStrictMode: isCerebras ? "all_strict" : "mixed",
588
588
  // Kimi-family ids trigger MFJS on any host, not just native base URLs:
589
589
  // proxies (OpenRouter, custom gateways) forward `tools.function.parameters`
@@ -604,10 +604,24 @@ export function buildOpenAICompat(spec: ModelSpec<"openai-completions">): Resolv
604
604
  };
605
605
 
606
606
  applyCompatOverrides(compat, spec.compat);
607
+ const deepseekThinking = compat.extraBody?.thinking;
608
+ if (
609
+ isDirectDeepseekReasoning &&
610
+ typeof deepseekThinking === "object" &&
611
+ deepseekThinking !== null &&
612
+ "type" in deepseekThinking &&
613
+ deepseekThinking.type === "enabled"
614
+ ) {
615
+ const extraBody = { ...compat.extraBody };
616
+ delete extraBody.thinking;
617
+ compat.extraBody = Object.keys(extraBody).length > 0 ? extraBody : undefined;
618
+ }
607
619
  if (spec.compat?.reasoningDisableMode === undefined) {
608
620
  compat.reasoningDisableMode = requiresEnabledThinking
609
621
  ? "omit"
610
- : resolveReasoningDisableMode(compat.thinkingFormat);
622
+ : isDirectDeepseekReasoning
623
+ ? "zai-thinking-disabled"
624
+ : resolveReasoningDisableMode(compat.thinkingFormat);
611
625
  }
612
626
  if (spec.compat?.omitReasoningEffort === undefined && !compat.supportsReasoningEffort) {
613
627
  compat.omitReasoningEffort = true;
@@ -615,7 +629,12 @@ export function buildOpenAICompat(spec: ModelSpec<"openai-completions">): Resolv
615
629
  mergeModelReasoningEffortMap(compat, spec.id, isMimoReasoningEffortModel);
616
630
 
617
631
  const whenThinkingPolicy =
618
- spec.compat?.whenThinking ?? (isOpenCodeProvider && spec.reasoning ? OPENCODE_WHEN_THINKING : undefined);
632
+ spec.compat?.whenThinking ??
633
+ (isDirectDeepseekReasoning
634
+ ? { extraBody: { ...compat.extraBody, thinking: { type: "enabled" } } }
635
+ : isOpenCodeProvider && spec.reasoning
636
+ ? OPENCODE_WHEN_THINKING
637
+ : undefined);
619
638
  if (whenThinkingPolicy) {
620
639
  const variant: ResolvedOpenAICompat = { ...compat };
621
640
  applyCompatOverrides(variant, whenThinkingPolicy);
@@ -1,4 +1,4 @@
1
- import { type } from "arktype";
1
+ import { type } from "@oh-my-pi/omptype";
2
2
  import type { ModelSpec } from "../types";
3
3
  import { discoveryFetch, toPositiveNumber } from "../utils";
4
4
  import {
@@ -1,4 +1,4 @@
1
- import { type } from "arktype";
1
+ import { type } from "@oh-my-pi/omptype";
2
2
  import { parseKnownModel, semverEqual } from "../identity/classify";
3
3
  import type { FetchImpl, ModelSpec } from "../types";
4
4
  import { discoveryFetch } from "../utils";
@@ -1,6 +1,6 @@
1
1
  import * as http2 from "node:http2";
2
2
  import { create, fromBinary, toBinary } from "@bufbuild/protobuf";
3
- import { type } from "arktype";
3
+ import { type } from "@oh-my-pi/omptype";
4
4
  import { isKimiK3ModelId } from "../identity";
5
5
  import { bareModelId, parseGlmModel, semverGte } from "../identity/classify";
6
6
  import { getBundledModels } from "../models";
@@ -1,4 +1,4 @@
1
- import { type } from "arktype";
1
+ import { type } from "@oh-my-pi/omptype";
2
2
  import { getBundledModels } from "../models";
3
3
  import { toModelSpec } from "../provider-models/bundled-references";
4
4
  import type { FetchImpl, Model, ModelSpec } from "../types";
@@ -1,4 +1,4 @@
1
- import { type } from "arktype";
1
+ import { type } from "@oh-my-pi/omptype";
2
2
  import type { Api, FetchImpl, ModelSpec, Provider } from "../types";
3
3
  import { discoveryFetch } from "../utils";
4
4