Download packages/schema/src/pty.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 2.02 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/schema/src/pty.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/schema/src/pty.ts
-
curl -L -o pty.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/schema/src/pty.ts
2.02 kB
| export * as Pty from "./pty" | |
| import { Schema } from "effect" | |
| import { optional } from "./schema" | |
| import { define, inventory } from "./event" | |
| import { ascending } from "./identifier" | |
| import { NonNegativeInt, PositiveInt, statics } from "./schema" | |
| const IDSchema = Schema.String.check(Schema.isStartsWith("pty")).pipe(Schema.brand("PtyID")) | |
| export const ID = IDSchema.pipe( | |
| statics((schema: typeof IDSchema) => { | |
| const create = () => schema.make("pty_" + ascending()) | |
| return { | |
| create, | |
| ascending: (id?: string) => (id === undefined ? create() : schema.make(id)), | |
| } | |
| }), | |
| ) | |
| export type ID = typeof ID.Type | |
| export const Info = Schema.Struct({ | |
| id: ID, | |
| title: Schema.String, | |
| command: Schema.String, | |
| args: Schema.Array(Schema.String), | |
| cwd: Schema.String, | |
| status: Schema.Literals(["running", "exited"]), | |
| pid: NonNegativeInt, | |
| exitCode: optional(NonNegativeInt), | |
| }).annotate({ identifier: "Pty" }) | |
| export interface Info extends Schema.Schema.Type<typeof Info> {} | |
| const Created = define({ type: "pty.created", schema: { info: Info } }) | |
| const Updated = define({ type: "pty.updated", schema: { info: Info } }) | |
| const Exited = define({ type: "pty.exited", schema: { id: ID, exitCode: NonNegativeInt } }) | |
| const Deleted = define({ type: "pty.deleted", schema: { id: ID } }) | |
| export const Event = { Created, Updated, Exited, Deleted, Definitions: inventory(Created, Updated, Exited, Deleted) } | |
| export const CreateInput = Schema.Struct({ | |
| command: optional(Schema.String), | |
| args: optional(Schema.Array(Schema.String)), | |
| cwd: optional(Schema.String), | |
| title: optional(Schema.String), | |
| env: optional(Schema.Record(Schema.String, Schema.String)), | |
| }) | |
| export interface CreateInput extends Schema.Schema.Type<typeof CreateInput> {} | |
| export const UpdateInput = Schema.Struct({ | |
| title: optional(Schema.String), | |
| size: optional( | |
| Schema.Struct({ | |
| rows: PositiveInt, | |
| cols: PositiveInt, | |
| }), | |
| ), | |
| }) | |
| export interface UpdateInput extends Schema.Schema.Type<typeof UpdateInput> {} | |