refactor(llm): name provider model identity

This commit is contained in:
Shoubhit Dash 2026-06-24 23:29:06 +05:30
commit 9848587052
5 changed files with 12 additions and 12 deletions

View file

@ -10,7 +10,7 @@ export interface Settings extends Readonly<Record<string, unknown>> {
}
export interface Definition<ProviderSettings extends Settings = Settings> {
readonly model: (id: string, settings: ProviderSettings) => Model
readonly model: (modelID: string, settings: ProviderSettings) => Model
}
export * as ProviderPackage from "./provider-package"

View file

@ -50,7 +50,7 @@ export const configure = (input: Config = {}) => {
}
export const provider = configure()
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) => {
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) => {
if (settings.auth === "bearer" && settings.apiKey === undefined)
throw new Error("Amazon Bedrock bearer auth requires apiKey")
if (settings.auth === "sigv4" && settings.apiKey !== undefined)
@ -64,5 +64,5 @@ export const model: ProviderPackage.Definition<Settings>["model"] = (id, setting
http: settings.body === undefined ? undefined : { body: { ...settings.body } },
limits: settings.limits,
region: settings.region,
}).model(id)
}).model(modelID)
}

View file

@ -38,11 +38,11 @@ export const configure = (input: Config = {}) => {
}
export const provider = configure()
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) =>
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) =>
configure({
apiKey: settings.apiKey,
baseURL: settings.baseURL,
headers: settings.headers === undefined ? undefined : { ...settings.headers },
http: settings.body === undefined ? undefined : { body: { ...settings.body } },
limits: settings.limits,
}).model(id)
}).model(modelID)

View file

@ -63,7 +63,7 @@ export const provider = {
configure,
}
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) =>
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) =>
configure({
apiKey: settings.apiKey,
baseURL: settings.baseURL,
@ -71,7 +71,7 @@ export const model: ProviderPackage.Definition<Settings>["model"] = (id, setting
http: settings.body === undefined ? undefined : { body: { ...settings.body } },
limits: settings.limits,
provider: settings.provider,
}).model(id)
}).model(modelID)
export const baseten = define(profiles.baseten)
export const cerebras = define(profiles.cerebras)

View file

@ -76,15 +76,15 @@ const config = (settings: Settings): Config => ({
queryParams: settings.queryParams === undefined ? undefined : { ...settings.queryParams },
})
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) => {
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) => {
const configured = configure(config(settings))
if (settings.transport === undefined || settings.transport === "http") return configured.responses(id)
if (settings.transport === "websocket") return configured.responsesWebSocket(id)
if (settings.transport === undefined || settings.transport === "http") return configured.responses(modelID)
if (settings.transport === "websocket") return configured.responsesWebSocket(modelID)
throw new Error(`Unsupported OpenAI Responses transport: ${String(settings.transport)}`)
}
export const chatModel: ProviderPackage.Definition<Settings>["model"] = (id, settings) =>
configure(config(settings)).chat(id)
export const chatModel: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) =>
configure(config(settings)).chat(modelID)
export const responses = provider.responses
export const responsesWebSocket = provider.responsesWebSocket
export const chat = provider.chat