@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
package/src/types.ts CHANGED
@@ -327,6 +327,12 @@ export interface OpenAICompat {
327
327
  * Default: auto-detected (DeepSeek reasoning models).
328
328
  */
329
329
  disableReasoningOnToolChoice?: boolean;
330
+ /**
331
+ * Disable reasoning whenever the request advertises function tools.
332
+ * Use for model surfaces that reject every tools-plus-reasoning combination.
333
+ * Default: false.
334
+ */
335
+ disableReasoningWithTools?: boolean;
330
336
  /** OpenRouter-specific routing preferences. Only used when baseUrl points to OpenRouter. */
331
337
  openRouterRouting?: OpenRouterRouting;
332
338
  /** Vercel AI Gateway routing preferences. Only used when baseUrl points to Vercel AI Gateway. */
@@ -421,12 +427,24 @@ export interface OpenAICompat {
421
427
  strictResponsesPairing?: boolean;
422
428
  /** Whether the Responses API accepts the `detail: "original"` image hint. Default: auto-detected (false for GitHub Copilot, which rejects it with a 400). */
423
429
  supportsImageDetailOriginal?: boolean;
430
+ /**
431
+ * Whether the Responses endpoint accepts `configuration_update` input items
432
+ * that change `reasoning.effort` mid-conversation while the request-level
433
+ * effort stays pinned for prompt caching (GPT-6 Astra). Default:
434
+ * rule-detected (`true` for `gpt-6-astra` on any host, `false` otherwise).
435
+ * Set `false` for custom `openai-responses` / `openai-codex-responses`
436
+ * endpoints that reject the item type with HTTP 400; effort changes are then
437
+ * sent as the top-level `reasoning.effort`.
438
+ */
439
+ supportsConfigurationUpdate?: boolean;
424
440
  /** Whether streamed reasoning deltas for the same field may repeat the full cumulative text snapshot. Default: false. */
425
441
  reasoningDeltasMayBeCumulative?: boolean;
426
442
  /** Strip leaked DeepSeek chat-template special tokens from visible content deltas. Default: auto-detected. */
427
443
  stripDeepseekSpecialTokens?: boolean;
428
444
  /** Heal leaked chat-template/tool-call/thinking markup from visible content deltas. Default: auto-detected. */
429
445
  streamMarkupHealingPattern?: OpenAIStreamMarkupHealingPattern;
446
+ /** Whether this wire may revise already-streamed text (`stream-revision` axis). Unassigned: append-only. */
447
+ streamRevision?: "none" | "possible";
430
448
  /** Treat an empty length-finished stream as a context-window error. Default: auto-detected. */
431
449
  emptyLengthFinishIsContextError?: boolean;
432
450
  /** Normalize tool call ids to OpenAI's 40-character limit. Default: auto-detected. */
@@ -599,6 +617,8 @@ export interface AnthropicCompat {
599
617
  export interface BedrockCompat {
600
618
  /** Whether this endpoint accepts no checkpoints, automatic caching, or explicit cachePoint blocks. */
601
619
  promptCacheMode?: "none" | "automatic" | "explicit";
620
+ /** Whether this wire may revise already-streamed text (`stream-revision` axis). Unassigned: append-only. */
621
+ streamRevision?: "none" | "possible";
602
622
  /** Whether explicit cachePoint blocks accept `ttl: "1h"`; omitted TTL means Bedrock's 5-minute default. */
603
623
  supportsLongPromptCacheRetention?: boolean;
604
624
  /**
@@ -623,6 +643,8 @@ export interface BedrockCompat {
623
643
  /** Fully-resolved Bedrock Converse prompt-cache capabilities, materialized once by `buildModel`. */
624
644
  export interface ResolvedBedrockCompat {
625
645
  promptCacheMode: NonNullable<BedrockCompat["promptCacheMode"]>;
646
+ /** See {@link BedrockCompat.streamRevision}. */
647
+ streamRevision?: BedrockCompat["streamRevision"];
626
648
  supportsLongPromptCacheRetention: boolean;
627
649
  promptCacheMinimumTokens: number;
628
650
  promptCacheMaximumCheckpoints: number;
@@ -688,6 +710,7 @@ export interface ResolvedOpenAISharedCompat {
688
710
  filterReasoningHistory: boolean;
689
711
  disableReasoningOnForcedToolChoice: boolean;
690
712
  disableReasoningOnToolChoice: boolean;
713
+ disableReasoningWithTools?: boolean;
691
714
  supportsToolChoice: boolean;
692
715
  supportsForcedToolChoice: boolean;
693
716
  supportsNamedToolChoice: boolean;
@@ -705,6 +728,8 @@ export interface ResolvedOpenAISharedCompat {
705
728
  requiresAssistantContentForToolCalls: boolean;
706
729
  stripDeepseekSpecialTokens: boolean;
707
730
  streamMarkupHealingPattern?: OpenAIStreamMarkupHealingPattern;
731
+ /** See {@link OpenAICompat.streamRevision}. */
732
+ streamRevision?: OpenAICompat["streamRevision"];
708
733
  /** See {@link OpenAICompat.streamFirstEventTimeoutMs}. */
709
734
  streamFirstEventTimeoutMs?: number;
710
735
  reasoningDeltasMayBeCumulative: boolean;
@@ -765,6 +790,7 @@ export type ResolvedOpenAICompat = ResolvedOpenAISharedCompat &
765
790
  | "filterReasoningHistory"
766
791
  | "disableReasoningOnForcedToolChoice"
767
792
  | "disableReasoningOnToolChoice"
793
+ | "disableReasoningWithTools"
768
794
  | "supportsToolChoice"
769
795
  | "supportsForcedToolChoice"
770
796
  | "supportsNamedToolChoice"
@@ -801,10 +827,12 @@ export type ResolvedOpenAICompat = ResolvedOpenAISharedCompat &
801
827
  | "toolSchemaFlavor"
802
828
  | "streamFirstEventTimeoutMs"
803
829
  | "streamIdleTimeoutMs"
830
+ | "streamRevision"
804
831
  | "cacheControlFormat"
805
832
  | "thinkingKeep"
806
833
  | "strictResponsesPairing"
807
834
  | "supportsImageDetailOriginal"
835
+ | "supportsConfigurationUpdate"
808
836
  | "stripImageInput"
809
837
  | "thinkingLoopGuard"
810
838
  | "whenThinking"
@@ -1168,6 +1196,16 @@ export interface Model<TApi extends Api = Api> {
1168
1196
  gitlabDuoWorkflowRootNamespaceId?: string;
1169
1197
  /** Cursor `max_mode` request flag returned by `GetUsableModels` for premium models that require max mode. */
1170
1198
  cursorMaxMode?: boolean;
1199
+ /**
1200
+ * Per-wire-id `max_mode` markers for the members a collapsed Cursor row
1201
+ * routes to, recorded by `collapseVariants` from live `GetUsableModels`
1202
+ * rows. {@link cursorMaxMode} on a collapsed row is an OR across members,
1203
+ * so it cannot tell a `-low` route that needs no max mode from an Opus
1204
+ * `-fast` route that does; transports look the routed wire id up here
1205
+ * first. Absent on raw rows (their own `cursorMaxMode` already describes
1206
+ * their single wire id) and on bundled snapshots that predate discovery.
1207
+ */
1208
+ cursorMaxModeRoutes?: Readonly<Record<string, boolean>>;
1171
1209
  cost: ModelCost;
1172
1210
  /** Premium Copilot requests charged per user-initiated request (defaults to 1). */
1173
1211
  premiumMultiplier?: number;