@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
52 lines • 2.15 kB
TypeScript
import { GitHubAccessor } from '../../accessor/github.ts';
import { GitHubConfig } from '../../core/github/config.ts';
import { type ByteSource } from '../../io/types.ts';
import type { DirListing, FileStat, PathSpec } from '../../types.ts';
import { ListingVersion } from '../../types.ts';
import { BaseVFS } from '../base.ts';
import type { RedactedSchema } from '../secrets.ts';
import type { Handed } from '../types.ts';
export interface GitHubVFSState {
type: string;
config: RedactedSchema<typeof GitHubConfig>;
defaultBranch: string;
truncated: boolean;
}
export declare class GitHubVFS extends BaseVFS {
readonly name: string;
readonly cachesReads: boolean;
readonly sizesAlwaysKnown: boolean;
readonly supportsSnapshot: boolean;
readonly readRevalidatable: boolean;
readonly listingVersion: ListingVersion;
readonly listingsPin: string | null;
readonly indexTtl: number;
readonly wholeWordSearch: boolean;
readonly config: GitHubConfig;
readonly accessor: GitHubAccessor;
walkLimit: number;
private constructor();
static create(config: GitHubConfig): Promise<GitHubVFS>;
readonly handed: {
readonly readdir: readonly ["entry"];
readonly read: readonly ["entry"];
readonly readMany: readonly ["entry"];
readonly stat: readonly ["entry", "index"];
};
readdir(path: PathSpec, handed?: Handed): Promise<DirListing>;
read(path: PathSpec, handed?: Handed): Promise<ByteSource>;
readMany(paths: PathSpec[], limit: number, handed?: readonly Handed[]): Promise<Map<string, Uint8Array>>;
stat(path: PathSpec, handed?: Handed): Promise<FileStat>;
readTree(path: PathSpec): Promise<Map<string, FileStat> | null>;
/**
* 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;
}): Promise<PathSpec[] | null>;
getState(): Promise<GitHubVFSState>;
}
//# sourceMappingURL=github.d.ts.map