UNPKG

@nyrra/foundry-ai

Version:

Thin Palantir Foundry provider adapters and model catalog for the Vercel AI SDK.

47 lines (46 loc) 1.61 kB
import { wrapFoundryLanguageModel } from "../chunk-UQ5CCQR6.mjs"; import { resolveFoundryConfig, resolveModelTarget } from "../chunk-B22YKL5X.mjs"; // src/providers/anthropic.ts import { createAnthropic } from "@ai-sdk/anthropic"; import { NoSuchModelError } from "ai"; function createFoundryAnthropic(config) { const providerId = "foundry-anthropic"; const resolvedConfig = resolveFoundryConfig(config, "createFoundryAnthropic"); const baseProvider = createAnthropic({ authToken: resolvedConfig.token, baseURL: `${resolvedConfig.foundryUrl}/api/v2/llm/proxy/anthropic/v1`, headers: resolvedConfig.attributionRid ? { attribution: resolvedConfig.attributionRid } : void 0, name: providerId }); const createLanguageModel = (modelId) => { const resolvedModel = resolveModelTarget(modelId); return wrapFoundryLanguageModel(baseProvider(resolvedModel.rid), { modelId, providerId }); }; function provider(modelId) { return createLanguageModel(modelId); } const callableProvider = provider; callableProvider.specificationVersion = "v3"; callableProvider.languageModel = createLanguageModel; callableProvider.chat = createLanguageModel; callableProvider.messages = createLanguageModel; callableProvider.embeddingModel = (modelId) => { throw new NoSuchModelError({ modelId, modelType: "embeddingModel" }); }; callableProvider.imageModel = (modelId) => { throw new NoSuchModelError({ modelId, modelType: "imageModel" }); }; return callableProvider; } export { createFoundryAnthropic }; //# sourceMappingURL=anthropic.mjs.map