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
|
||||
export type { ModelAlias, ModelProvider, ProviderConfig } from "./models.ts";
|
||||
export {
|
||||
DEFAULT_PROXY_MODEL,
|
||||
getModelEnvVars,
|
||||
getModelManagedCredentials,
|
||||
getModelProvider,
|
||||
|
||||
@@ -16,6 +16,7 @@ export type {
|
||||
WriteablePayload,
|
||||
} from "../external.ts";
|
||||
export {
|
||||
DEFAULT_PROXY_MODEL,
|
||||
getModelEnvVars,
|
||||
getModelManagedCredentials,
|
||||
getModelProvider,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import {
|
||||
DEFAULT_PROXY_MODEL,
|
||||
getModelEnvVars,
|
||||
getModelProvider,
|
||||
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", () => {
|
||||
it("returns the openrouter specifier for a non-deprecated alias", () => {
|
||||
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 ─────────────────────────────────────────────────────────────────
|
||||
|
||||
/** 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 { modelAliases, resolveDisplayAlias } from "../models.ts";
|
||||
import { DEFAULT_PROXY_MODEL, modelAliases, resolveDisplayAlias } from "../models.ts";
|
||||
|
||||
// ── 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 OpenRouterModelsResponse = { data: OpenRouterModel[] };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user