@oh-my-pi/pi-catalog 18.2.0 → 18.2.2

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/types/compat/behavior.d.ts +11 -0
  3. package/dist/types/compat/cascade.d.ts +10 -0
  4. package/dist/types/compat/collapse.d.ts +8 -0
  5. package/dist/types/compat/resolve.d.ts +10 -0
  6. package/dist/types/compat/types.d.ts +21 -0
  7. package/dist/types/discovery/antigravity.d.ts +10 -1
  8. package/dist/types/model-thinking.d.ts +7 -0
  9. package/dist/types/provider-models/openai-compat.d.ts +2 -0
  10. package/dist/types/types.d.ts +36 -1
  11. package/package.json +4 -4
  12. package/src/build.ts +59 -0
  13. package/src/compat/axes.ts +15 -0
  14. package/src/compat/behavior.ts +22 -2
  15. package/src/compat/cascade.ts +27 -1
  16. package/src/compat/collapse.ts +100 -8
  17. package/src/compat/context-window.ts +11 -1
  18. package/src/compat/resolve.ts +56 -17
  19. package/src/compat/rules/README.md +3 -1
  20. package/src/compat/rules/classes/deepseek.kdl +9 -1
  21. package/src/compat/rules/classes/kimi.kdl +6 -0
  22. package/src/compat/rules/providers/alibaba-token-plan.kdl +16 -8
  23. package/src/compat/rules/providers/amazon-bedrock.kdl +30 -0
  24. package/src/compat/rules/providers/azure.kdl +6 -0
  25. package/src/compat/rules/providers/cerebras.kdl +10 -0
  26. package/src/compat/rules/providers/commandcode.kdl +20 -4
  27. package/src/compat/rules/providers/cursor.kdl +32 -0
  28. package/src/compat/rules/providers/deepseek.kdl +5 -5
  29. package/src/compat/rules/providers/devin.kdl +46 -0
  30. package/src/compat/rules/providers/google-vertex.kdl +15 -0
  31. package/src/compat/rules/providers/kimi-code.kdl +48 -0
  32. package/src/compat/rules/providers/meta.kdl +3 -0
  33. package/src/compat/rules/providers/muse-code.kdl +3 -0
  34. package/src/compat/rules/providers/openrouter.kdl +6 -0
  35. package/src/compat/rules/runtime/behavior.kdl +17 -0
  36. package/src/compat/rules/taxonomy/deepseek.kdl +5 -0
  37. package/src/compat/rules.json +1 -1
  38. package/src/compat/types.ts +23 -0
  39. package/src/discovery/antigravity.ts +80 -43
  40. package/src/discovery/devin.ts +22 -4
  41. package/src/identity/bundled.ts +4 -3
  42. package/src/model-cache.ts +154 -120
  43. package/src/model-thinking.ts +10 -7
  44. package/src/models.json +1 -1
  45. package/src/provider-models/bundled-references.ts +4 -3
  46. package/src/provider-models/cache-provider-id.ts +14 -8
  47. package/src/provider-models/ollama.ts +11 -31
  48. package/src/provider-models/openai-compat.ts +297 -37
  49. package/src/types.ts +38 -0
@@ -108,19 +108,22 @@ export function mapEffortToGoogleThinkingLevel<TApi extends Api>(
108
108
  /**
109
109
  * Maps a normalized thinking effort to Anthropic adaptive effort values via
110
110
  * the model's baked `thinking.effortMap` (identity for unmapped efforts).
111
+ *
112
+ * The Anthropic adaptive wire vocabulary has no `minimal` tier (valid values:
113
+ * `low`, `medium`, `high`, `xhigh`, `max`); a model ladder that exposes
114
+ * `minimal` — custom `anthropic-messages` providers do, unlike the built-in
115
+ * Claude ladders — would otherwise serialize `output_config.effort: "minimal"`
116
+ * and 400 (`level "minimal" not supported`). Clamp it to the lowest real tier,
117
+ * mirroring {@link mapEffortToGoogleThinkingLevel}'s `minimal` handling.
111
118
  */
112
119
  export function mapEffortToAnthropicAdaptiveEffort<TApi extends Api>(
113
120
  model: ApiModel<TApi>,
114
121
  effort: Effort,
115
122
  ): "low" | "medium" | "high" | "xhigh" | "max" | "adaptive" {
116
123
  const supported = requireSupportedEffort(model, effort);
117
- return (model.thinking?.effortMap?.[supported] ?? supported) as
118
- | "low"
119
- | "medium"
120
- | "high"
121
- | "xhigh"
122
- | "max"
123
- | "adaptive";
124
+ const mapped = model.thinking?.effortMap?.[supported] ?? supported;
125
+ if (mapped === Effort.Minimal) return "low";
126
+ return mapped as "low" | "medium" | "high" | "xhigh" | "max" | "adaptive";
124
127
  }
125
128
 
126
129
  /**