Download packages/llm/src/providers/amazon-bedrock.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.58 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/llm/src/providers/amazon-bedrock.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/llm/src/providers/amazon-bedrock.ts
-
curl -L -o amazon-bedrock.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/llm/src/providers/amazon-bedrock.ts
1.58 kB
| import type { RouteDefaultsInput } from "../route/client" | |
| import { Auth } from "../route/auth" | |
| import { ProviderID, type ModelID } from "../schema" | |
| import * as BedrockConverse from "../protocols/bedrock-converse" | |
| import type { BedrockCredentials } from "../protocols/bedrock-converse" | |
| export const id = ProviderID.make("amazon-bedrock") | |
| export type Config = RouteDefaultsInput & { | |
| readonly apiKey?: string | |
| readonly headers?: Record<string, string> | |
| readonly credentials?: BedrockCredentials | |
| /** AWS region. Defaults to `us-east-1` when neither this nor `credentials.region` is set. */ | |
| readonly region?: string | |
| /** Override the computed `https://bedrock-runtime.<region>.amazonaws.com` URL. */ | |
| readonly baseURL?: string | |
| } | |
| export const routes = [BedrockConverse.route] | |
| const bedrockBaseURL = (region: string) => `https://bedrock-runtime.${region}.amazonaws.com` | |
| const configuredRoute = (input: Config) => { | |
| const { apiKey, credentials, region, baseURL, ...rest } = input | |
| const resolvedRegion = region ?? credentials?.region ?? "us-east-1" | |
| return BedrockConverse.route.with({ | |
| ...rest, | |
| provider: id, | |
| endpoint: { baseURL: baseURL ?? bedrockBaseURL(resolvedRegion) }, | |
| auth: apiKey === undefined ? BedrockConverse.sigV4Auth(credentials) : Auth.bearer(apiKey), | |
| }) | |
| } | |
| export const configure = (input: Config = {}) => { | |
| const route = configuredRoute(input) | |
| return { | |
| id, | |
| model: (modelID: string | ModelID) => route.model({ id: modelID }), | |
| configure, | |
| } | |
| } | |
| export const provider = configure() | |
| export const model = provider.model | |