|
|
@@ -3186,7 +3186,69 @@ describe("ProviderTransform.message - cache control on gateway", () => {
|
|
|
|
|
|
describe("ProviderTransform.temperature - Cohere North", () => {
|
|
|
test("defaults north-mini-code models to 1.0", () => {
|
|
|
- expect(ProviderTransform.temperature({ id: "cohere/North-Mini-Code-1-0-latest" } as any)).toBe(1.0)
|
|
|
+ expect(
|
|
|
+ ProviderTransform.temperature({
|
|
|
+ id: "cohere/North-Mini-Code-1-0-latest",
|
|
|
+ api: { id: "North-Mini-Code-1-0-latest" },
|
|
|
+ } as any),
|
|
|
+ ).toBe(1.0)
|
|
|
+ })
|
|
|
+})
|
|
|
+
|
|
|
+describe("ProviderTransform sampling defaults - Gemini", () => {
|
|
|
+ const model = (id: string) =>
|
|
|
+ ({
|
|
|
+ id: `google/${id}`,
|
|
|
+ api: { id },
|
|
|
+ }) as any
|
|
|
+
|
|
|
+ const alias = (id: string, apiID: string) =>
|
|
|
+ ({
|
|
|
+ id,
|
|
|
+ api: { id: apiID },
|
|
|
+ }) as any
|
|
|
+
|
|
|
+ test.each([
|
|
|
+ "gemini-3.5-flash-lite",
|
|
|
+ "gemini-3-5-flash-lite",
|
|
|
+ "gemini-3.6-flash",
|
|
|
+ "gemini-3-6-flash",
|
|
|
+ "gemini-4-pro",
|
|
|
+ "gemini-future",
|
|
|
+ ])("omits deprecated sampling controls for %s", (id) => {
|
|
|
+ expect(ProviderTransform.temperature(model(id))).toBeUndefined()
|
|
|
+ expect(ProviderTransform.topP(model(id))).toBeUndefined()
|
|
|
+ expect(ProviderTransform.topK(model(id))).toBeUndefined()
|
|
|
+ })
|
|
|
+
|
|
|
+ test.each([
|
|
|
+ "gemini-2.5-flash",
|
|
|
+ "gemini-2.5-pro",
|
|
|
+ "gemini-2.5-flash-lite",
|
|
|
+ "gemini-2-5-flash-lite",
|
|
|
+ "gemini-3-flash-preview",
|
|
|
+ "gemini-3-pro-image",
|
|
|
+ "gemini-3.1-flash-lite",
|
|
|
+ "gemini-3.1-pro-preview",
|
|
|
+ "gemini-3-1-pro-preview",
|
|
|
+ "gemini-3.5-flash",
|
|
|
+ "gemini-3-5-flash",
|
|
|
+ ])("preserves sampling defaults for %s", (id) => {
|
|
|
+ expect(ProviderTransform.temperature(model(id))).toBe(1)
|
|
|
+ expect(ProviderTransform.topP(model(id))).toBe(0.95)
|
|
|
+ expect(ProviderTransform.topK(model(id))).toBe(64)
|
|
|
+ })
|
|
|
+
|
|
|
+ test("uses the API model ID for configured aliases", () => {
|
|
|
+ const deprecated = alias("google/gemini-3.5-flash", "google/gemini-3.6-flash")
|
|
|
+ expect(ProviderTransform.temperature(deprecated)).toBeUndefined()
|
|
|
+ expect(ProviderTransform.topP(deprecated)).toBeUndefined()
|
|
|
+ expect(ProviderTransform.topK(deprecated)).toBeUndefined()
|
|
|
+
|
|
|
+ const supported = alias("my-gemini", "google/gemini-2.5-flash")
|
|
|
+ expect(ProviderTransform.temperature(supported)).toBe(1)
|
|
|
+ expect(ProviderTransform.topP(supported)).toBe(0.95)
|
|
|
+ expect(ProviderTransform.topK(supported)).toBe(64)
|
|
|
})
|
|
|
})
|
|
|
|