feat(id): brand ProviderID and ModelID (#17110)

This commit is contained in:
Kit Langton
2026-03-12 09:27:52 -04:00
committed by GitHub
parent 2eeba53b07
commit c45467964c
23 changed files with 157 additions and 107 deletions

View File

@@ -5,6 +5,7 @@ import { Config } from "../../config/config"
import { Provider } from "../../provider/provider"
import { ModelsDev } from "../../provider/models"
import { ProviderAuth } from "../../provider/auth"
import { ProviderID } from "../../provider/schema"
import { mapValues } from "remeda"
import { errors } from "../error"
import { lazy } from "../../util/lazy"
@@ -101,7 +102,7 @@ export const ProviderRoutes = lazy(() =>
validator(
"param",
z.object({
providerID: z.string().meta({ description: "Provider ID" }),
providerID: ProviderID.zod.meta({ description: "Provider ID" }),
}),
),
validator(
@@ -141,7 +142,7 @@ export const ProviderRoutes = lazy(() =>
validator(
"param",
z.object({
providerID: z.string().meta({ description: "Provider ID" }),
providerID: ProviderID.zod.meta({ description: "Provider ID" }),
}),
),
validator(

View File

@@ -16,6 +16,7 @@ import { Snapshot } from "@/snapshot"
import { Log } from "../../util/log"
import { PermissionNext } from "@/permission/next"
import { PermissionID } from "@/permission/schema"
import { ModelID, ProviderID } from "@/provider/schema"
import { errors } from "../error"
import { lazy } from "../../util/lazy"
@@ -510,8 +511,8 @@ export const SessionRoutes = lazy(() =>
validator(
"json",
z.object({
providerID: z.string(),
modelID: z.string(),
providerID: ProviderID.zod,
modelID: ModelID.zod,
auto: z.boolean().optional().default(false),
}),
),

View File

@@ -23,6 +23,7 @@ import { Command } from "../command"
import { Global } from "../global"
import { WorkspaceContext } from "../control-plane/workspace-context"
import { WorkspaceID } from "../control-plane/schema"
import { ProviderID } from "../provider/schema"
import { WorkspaceRouterMiddleware } from "../control-plane/workspace-router-middleware"
import { ProjectRoutes } from "./routes/project"
import { SessionRoutes } from "./routes/session"
@@ -148,7 +149,7 @@ export namespace Server {
validator(
"param",
z.object({
providerID: z.string(),
providerID: ProviderID.zod,
}),
),
validator("json", Auth.Info),
@@ -180,7 +181,7 @@ export namespace Server {
validator(
"param",
z.object({
providerID: z.string(),
providerID: ProviderID.zod,
}),
),
async (c) => {