Something went wrong. Try again.
opencode v2 mirror
Something went wrong. Try again.
TypeScript
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849export * as FileSystem from "./filesystem.js"
import { Schema } from "effect"import { optional } from "./schema.js"import { ephemeral, inventory } from "./event.js"import { AbsolutePath, NonNegativeInt, PositiveInt, RelativePath } from "./schema.js"
const Changed = ephemeral({ type: "filesystem.changed", schema: { file: Schema.String, event: Schema.Literals(["add", "change", "unlink"]), },})export const Event = { Changed, Definitions: inventory(Changed) }
export interface Entry extends Schema.Schema.Type<typeof Entry> {}export const Entry = Schema.Struct({ path: RelativePath, type: Schema.Literals(["file", "directory"]),}).annotate({ identifier: "FileSystem.Entry" })
export interface Submatch extends Schema.Schema.Type<typeof Submatch> {}export const Submatch = Schema.Struct({ text: Schema.String, start: NonNegativeInt, end: NonNegativeInt,}).annotate({ identifier: "FileSystem.Submatch" })
export interface Match extends Schema.Schema.Type<typeof Match> {}export const Match = Schema.Struct({ entry: Entry, line: PositiveInt, offset: NonNegativeInt, text: Schema.String, submatches: Schema.Array(Submatch),}).annotate({ identifier: "FileSystem.Match" })
export class FindInput extends Schema.Class<FindInput>("FileSystem.FindInput")({ query: Schema.String, type: Schema.Literals(["file", "directory"]).pipe(optional), limit: PositiveInt.pipe(optional),}) {}
export interface Write extends Schema.Schema.Type<typeof Write> {}export const Write = Schema.Struct({ path: AbsolutePath,}).annotate({ identifier: "FileSystem.Write" })