UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

72 lines • 4.72 kB
import { GDriveAccessor } from '../../accessor/gdrive.ts'; import { type DeltaHook } from '../../events/index.ts'; import type { ByteSource } from '../../io/types.ts'; import type { CapacityResult, DirListing, FileStat, PathSpec, SetAttrFields } from '../../types.ts'; import { BaseVFS } from '../base.ts'; import type { RedactedSchema } from '../secrets.ts'; import type { ConfigState, Handed } from '../types.ts'; import { GoogleDriveConfig } from './config.ts'; export declare const VFS_MD = "```text\n{prefix}\n <folder>/ # the Drive folder hierarchy, mirrored\n <name>.gdoc.json # Google Docs: the gdocs gdoc.json shape\n <name>.gsheet.json # Google Sheets: the gsheets gsheet.json shape\n <name>.gslide.json # Google Slides: the gslides gslide.json shape\n <file> # PDFs, images and the rest: raw bytes\n <shared-drive>/ # each shared drive you can see\n```\n\n- There is no `owned/` and `shared/` split: this is your full Drive\n view, including files shared with you that were added to My Drive.\n- This is a remote mount: prefer targeted reads over full scans. A\n date-prefixed glob (`2026-05-*`) becomes a Drive `modifiedTime` range\n query.\n- To act on Drive items by id (create, update, export, permissions), use\n the `gws` CLI if installed (`gws drive --help`)."; export declare class GoogleDriveVFS extends BaseVFS { readonly name: string; readonly cachesReads: boolean; readonly supportsSnapshot: boolean; readonly readRevalidatable: boolean; readonly indexTtl: number; readonly handed: { readonly readdir: readonly ["entry"]; readonly read: readonly ["entry"]; readonly stat: readonly ["entry"]; readonly checksum: readonly ["entry"]; readonly exists: readonly ["entry"]; readonly readTree: readonly ["entry"]; readonly write: readonly ["entry", "parent"]; readonly create: readonly ["entry", "parent"]; readonly mkdir: readonly ["parent"]; readonly unlink: readonly ["entry"]; readonly rmdir: readonly ["entry"]; readonly rmR: readonly ["entry"]; readonly rename: readonly ["entry", "parent", "dstParent", "dstEntry"]; readonly copy: readonly ["entry", "dstParent", "dstEntry"]; readonly dirCopy: readonly ["entry", "dstParent", "dstEntry"]; readonly truncate: readonly ["entry", "parent"]; readonly setattr: readonly ["entry"]; readonly filesContaining: readonly ["entry"]; }; vfsMd: string; readonly wholeWordSearch: boolean; readonly config: GoogleDriveConfig; readonly accessor: GDriveAccessor; constructor(config: GoogleDriveConfig); readonly readsRanges: boolean; readdir(path: PathSpec, handed?: Handed): Promise<FileStat[] | DirListing>; read(path: PathSpec, handed?: Handed, offset?: number, size?: number | null): Promise<ByteSource> | AsyncIterable<Uint8Array>; stat(path: PathSpec, handed?: Handed): Promise<FileStat>; checksum(path: PathSpec, algorithm: string, handed?: Handed): Promise<string | null>; exists(path: PathSpec, handed?: Handed): Promise<boolean>; readTree(path: PathSpec, handed?: Handed): Promise<Map<string, FileStat> | null>; write(path: PathSpec, data: ByteSource, signal?: AbortSignal, handed?: Handed): Promise<FileStat | null>; create(path: PathSpec, handed?: Handed): Promise<FileStat | null>; mkdir(path: PathSpec, parents?: boolean, handed?: Handed): Promise<FileStat | null>; unlink(path: PathSpec, handed?: Handed): Promise<void>; rmdir(path: PathSpec, handed?: Handed): Promise<void>; rmR(path: PathSpec, handed?: Handed): Promise<void>; rename(src: PathSpec, dst: PathSpec, handed?: Handed): Promise<FileStat | null>; copy(src: PathSpec, dst: PathSpec, signal?: AbortSignal, handed?: Handed): Promise<FileStat | null>; dirCopy(src: PathSpec, dst: PathSpec, handed?: Handed): Promise<FileStat | null>; truncate(path: PathSpec, length: number, noCreate?: boolean, handed?: Handed): Promise<void>; /** * Whether this VFS answers `name`; with no walk limit it reads every * file rather than ask the service's search. */ supports(name: string): boolean; filesContaining(path: PathSpec, text: string, opts: { wholeWord: boolean; ignoreCase: boolean; }, handed?: Handed): Promise<PathSpec[] | null>; setattr(path: PathSpec, fields: SetAttrFields, handed?: Handed): Promise<Record<string, number | string>>; capacity(): Promise<CapacityResult>; deltaHook(): DeltaHook; getState(): Promise<ConfigState<RedactedSchema<typeof GoogleDriveConfig>>>; } //# sourceMappingURL=gdrive.d.ts.map