@oh-my-pi/pi-catalog 18.2.9 → 18.2.11

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.
@@ -631,7 +631,13 @@ function mergeDynamicModel<TApi extends Api>(existingModel: Model<TApi>, dynamic
631
631
  };
632
632
  }
633
633
  // Re-build from spec stage: sparse compat comes from `compatConfig` (the
634
- // verbatim override vocabulary), never the resolved `compat` record.
634
+ // verbatim override vocabulary), never the resolved `compat` record. The
635
+ // override is transport-scoped, so a bundled row authored for one API must
636
+ // not follow an id whose discovered route moved: Copilot's chat-completions
637
+ // rows carry `supportsReasoningEffort: false`, which would silently strip
638
+ // the effort dial once the id is pinned to Responses (#12901).
639
+ const compat =
640
+ dynamicModel.compatConfig ?? (dynamicModel.api === existingModel.api ? existingModel.compatConfig : undefined);
635
641
  return buildModel({
636
642
  ...existingModel,
637
643
  ...dynamicModel,
@@ -654,7 +660,7 @@ function mergeDynamicModel<TApi extends Api>(existingModel: Model<TApi>, dynamic
654
660
  ? { ...existingModel.headers, ...dynamicModel.headers }
655
661
  : existingModel.headers,
656
662
  resolveHeaders,
657
- compat: dynamicModel.compatConfig ?? existingModel.compatConfig,
663
+ compat,
658
664
  contextPromotionTarget: dynamicModel.contextPromotionTarget ?? existingModel.contextPromotionTarget,
659
665
  } as ModelSpec<TApi>);
660
666
  }