Buckets:
| export * as ProviderV2 from "./provider" | |
| import { withStatics } from "./schema" | |
| import { Schema } from "effect" | |
| import { Credential } from "./credential" | |
| export const ID = Schema.String.pipe( | |
| Schema.brand("ProviderV2.ID"), | |
| withStatics((schema) => ({ | |
| // Well-known providers | |
| opencode: schema.make("opencode"), | |
| anthropic: schema.make("anthropic"), | |
| openai: schema.make("openai"), | |
| google: schema.make("google"), | |
| googleVertex: schema.make("google-vertex"), | |
| githubCopilot: schema.make("github-copilot"), | |
| amazonBedrock: schema.make("amazon-bedrock"), | |
| azure: schema.make("azure"), | |
| openrouter: schema.make("openrouter"), | |
| mistral: schema.make("mistral"), | |
| gitlab: schema.make("gitlab"), | |
| })), | |
| ) | |
| export type ID = typeof ID.Type | |
| export const AISDK = Schema.Struct({ | |
| type: Schema.Literal("aisdk"), | |
| package: Schema.String, | |
| url: Schema.String.pipe(Schema.optional), | |
| settings: Schema.Record(Schema.String, Schema.Unknown).pipe(Schema.optional), | |
| }) | |
| export const Native = Schema.Struct({ | |
| type: Schema.Literal("native"), | |
| url: Schema.String.pipe(Schema.optional), | |
| settings: Schema.Record(Schema.String, Schema.Unknown), | |
| }) | |
| export const Api = Schema.Union([AISDK, Native]).pipe(Schema.toTaggedUnion("type")) | |
| export type Api = typeof Api.Type | |
| export const Request = Schema.Struct({ | |
| headers: Schema.Record(Schema.String, Schema.String), | |
| body: Schema.Record(Schema.String, Schema.Any), | |
| }) | |
| export type Request = typeof Request.Type | |
| export class Info extends Schema.Class<Info>("ProviderV2.Info")({ | |
| id: ID, | |
| name: Schema.String, | |
| enabled: Schema.Union([ | |
| Schema.Literal(false), | |
| Schema.Struct({ | |
| via: Schema.Literal("env"), | |
| name: Schema.String, | |
| }), | |
| Schema.Struct({ | |
| via: Schema.Literal("credential"), | |
| credentialID: Credential.ID, | |
| }), | |
| Schema.Struct({ | |
| via: Schema.Literal("custom"), | |
| data: Schema.Record(Schema.String, Schema.Any), | |
| }), | |
| ]), | |
| env: Schema.String.pipe(Schema.Array), | |
| api: Api, | |
| request: Request, | |
| }) { | |
| static empty(providerID: ID): Info { | |
| return new Info({ | |
| id: providerID, | |
| name: providerID, | |
| enabled: false, | |
| env: [], | |
| api: { | |
| type: "native", | |
| settings: {}, | |
| }, | |
| request: { | |
| headers: {}, | |
| body: {}, | |
| }, | |
| }) | |
| } | |
| } | |
Xet Storage Details
- Size:
- 2.32 kB
- Xet hash:
- 68dce76f67e76b74370290cc9f62a106d5aa23127a40dd3ba0f3e20cd0abf774
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.