Download packages/schema/src/credential.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.26 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/schema/src/credential.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/schema/src/credential.ts
-
curl -L -o credential.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/schema/src/credential.ts
1.26 kB
| export * as Credential from "./credential" | |
| import { Schema } from "effect" | |
| import { optional } from "./schema" | |
| import { IntegrationMethodID } from "./integration-id" | |
| import { ascending } from "./identifier" | |
| import { NonNegativeInt, statics } from "./schema" | |
| export const ID = Schema.String.pipe( | |
| Schema.brand("Credential.ID"), | |
| statics((schema) => ({ create: () => schema.make("cred_" + ascending()) })), | |
| ) | |
| export type ID = typeof ID.Type | |
| export interface OAuth extends Schema.Schema.Type<typeof OAuth> {} | |
| export const OAuth = Schema.Struct({ | |
| type: Schema.Literal("oauth"), | |
| methodID: IntegrationMethodID, | |
| refresh: Schema.String, | |
| access: Schema.String, | |
| expires: NonNegativeInt, | |
| metadata: optional(Schema.Record(Schema.String, Schema.Unknown)), | |
| }).annotate({ identifier: "Credential.OAuth" }) | |
| export interface Key extends Schema.Schema.Type<typeof Key> {} | |
| export const Key = Schema.Struct({ | |
| type: Schema.Literal("key"), | |
| key: Schema.String, | |
| metadata: optional(Schema.Record(Schema.String, Schema.Unknown)), | |
| }).annotate({ identifier: "Credential.Key" }) | |
| export const Value = Schema.Union([OAuth, Key]) | |
| .pipe(Schema.toTaggedUnion("type")) | |
| .annotate({ identifier: "Credential.Value" }) | |
| export type Value = Schema.Schema.Type<typeof Value> | |