Rename OSS_PROXY_MODEL to DEFAULT_PROXY_MODEL; default Router proxy to Kimi K2.6.
Derive the platform default from moonshotai/kimi-k2 openRouterResolve, add models.dev drift coverage, and promote repos on default-branch workflow pushes when still needs_setup.
This commit is contained in:
committed by
pullfrog[bot]
parent
fb22cb3ae3
commit
7c5ed7add0
@@ -29,6 +29,7 @@ export function formatMcpToolRef(agentId: AgentId, toolName: string): string {
|
|||||||
// model alias registry lives in models.ts — re-exported here for shared access
|
// model alias registry lives in models.ts — re-exported here for shared access
|
||||||
export type { ModelAlias, ModelProvider, ProviderConfig } from "./models.ts";
|
export type { ModelAlias, ModelProvider, ProviderConfig } from "./models.ts";
|
||||||
export {
|
export {
|
||||||
|
DEFAULT_PROXY_MODEL,
|
||||||
getModelEnvVars,
|
getModelEnvVars,
|
||||||
getModelManagedCredentials,
|
getModelManagedCredentials,
|
||||||
getModelProvider,
|
getModelProvider,
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ export type {
|
|||||||
WriteablePayload,
|
WriteablePayload,
|
||||||
} from "../external.ts";
|
} from "../external.ts";
|
||||||
export {
|
export {
|
||||||
|
DEFAULT_PROXY_MODEL,
|
||||||
getModelEnvVars,
|
getModelEnvVars,
|
||||||
getModelManagedCredentials,
|
getModelManagedCredentials,
|
||||||
getModelProvider,
|
getModelProvider,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
import {
|
import {
|
||||||
|
DEFAULT_PROXY_MODEL,
|
||||||
getModelEnvVars,
|
getModelEnvVars,
|
||||||
getModelProvider,
|
getModelProvider,
|
||||||
isBedrockAnthropicId,
|
isBedrockAnthropicId,
|
||||||
@@ -134,6 +135,12 @@ describe("resolveDisplayAlias", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("DEFAULT_PROXY_MODEL", () => {
|
||||||
|
it("tracks moonshotai/kimi-k2 openRouterResolve", () => {
|
||||||
|
expect(DEFAULT_PROXY_MODEL).toBe(resolveOpenRouterModel("moonshotai/kimi-k2"));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe("resolveOpenRouterModel", () => {
|
describe("resolveOpenRouterModel", () => {
|
||||||
it("returns the openrouter specifier for a non-deprecated alias", () => {
|
it("returns the openrouter specifier for a non-deprecated alias", () => {
|
||||||
expect(resolveOpenRouterModel("anthropic/claude-opus")).toBe(
|
expect(resolveOpenRouterModel("anthropic/claude-opus")).toBe(
|
||||||
|
|||||||
@@ -570,6 +570,13 @@ export const modelAliases: ModelAlias[] = Object.entries(providers).flatMap(
|
|||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/** OpenRouter target when Router or OSS funding is active and `repo.model` is null. */
|
||||||
|
const defaultProxyAlias = modelAliases.find((a) => a.slug === "moonshotai/kimi-k2");
|
||||||
|
if (!defaultProxyAlias?.openRouterResolve) {
|
||||||
|
throw new Error("DEFAULT_PROXY_MODEL: moonshotai/kimi-k2 missing openRouterResolve");
|
||||||
|
}
|
||||||
|
export const DEFAULT_PROXY_MODEL = defaultProxyAlias.openRouterResolve;
|
||||||
|
|
||||||
// ── resolution ─────────────────────────────────────────────────────────────────
|
// ── resolution ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
/** resolve a model slug to its concrete models.dev specifier (e.g. "anthropic/claude-opus-4-6") */
|
/** resolve a model slug to its concrete models.dev specifier (e.g. "anthropic/claude-opus-4-6") */
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
import { modelAliases, resolveDisplayAlias } from "../models.ts";
|
import { DEFAULT_PROXY_MODEL, modelAliases, resolveDisplayAlias } from "../models.ts";
|
||||||
|
|
||||||
// ── catalog drift tests ─────────────────────────────────────────────────────
|
// ── catalog drift tests ─────────────────────────────────────────────────────
|
||||||
//
|
//
|
||||||
@@ -99,6 +99,29 @@ describe("openRouterResolve models.dev validity", async () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("DEFAULT_PROXY_MODEL models.dev validity", async () => {
|
||||||
|
const data = await api;
|
||||||
|
const parsed = parseResolve(DEFAULT_PROXY_MODEL);
|
||||||
|
|
||||||
|
it(`${DEFAULT_PROXY_MODEL} exists on models.dev`, () => {
|
||||||
|
const providerData = data[parsed.provider];
|
||||||
|
expect(providerData, `provider "${parsed.provider}" not found on models.dev`).toBeDefined();
|
||||||
|
const model = providerData.models[parsed.modelId];
|
||||||
|
expect(
|
||||||
|
model,
|
||||||
|
`model "${parsed.modelId}" not found under ${parsed.provider} on models.dev`
|
||||||
|
).toBeDefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
it(`${DEFAULT_PROXY_MODEL} is not deprecated on models.dev`, () => {
|
||||||
|
const model = data[parsed.provider]?.models[parsed.modelId];
|
||||||
|
if (!model) return;
|
||||||
|
expect(model.status, `${DEFAULT_PROXY_MODEL} is deprecated on models.dev`).not.toBe(
|
||||||
|
"deprecated"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
type OpenRouterModel = { id: string };
|
type OpenRouterModel = { id: string };
|
||||||
type OpenRouterModelsResponse = { data: OpenRouterModel[] };
|
type OpenRouterModelsResponse = { data: OpenRouterModel[] };
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user