trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
41 lines • 1.63 kB
TypeScript
/**
* Init-time guardrails — prevent accidental full-workspace blob indexing.
* @see docs/specs/git-backed-blob-tier-v0.md §3.2
*/
export declare const INIT_INDEX_MAX_FILES = 500;
export declare const INIT_INDEX_MAX_BYTES: number;
export type WorkspaceScanEstimate = {
fileCount: number;
totalBytes: number;
};
export declare function collectInitIgnorePatterns(rootPath: string): string[];
/** Cheap pre-init estimate (stat only — no hashing). */
export declare function estimateWorkspaceScan(rootPath: string): WorkspaceScanEstimate;
export declare function exceedsInitIndexThreshold(estimate: WorkspaceScanEstimate): boolean;
export declare function hasRepoMarker(rootPath: string): boolean;
/** Warn when init target looks like an umbrella folder (v0: warn only). */
export declare function getUmbrellaInitWarning(rootPath: string): string | undefined;
export type InitIndexGateInput = {
rootPath: string;
indexWorkspace: boolean;
/** CLI passed --index-workspace explicitly. */
explicitIndexWorkspace?: boolean;
isInteractive?: boolean;
confirmLargeIndex?: () => Promise<boolean>;
};
export type InitIndexGateResult = {
ok: true;
indexWorkspace: boolean;
umbrellaWarning?: string;
} | {
ok: false;
reason: 'gate';
message: string;
estimate: WorkspaceScanEstimate;
};
/**
* Apply init indexing policy: default off; block large implicit scans.
*/
export declare function applyInitIndexGate(input: InitIndexGateInput): Promise<InitIndexGateResult>;
export declare function formatBytes(bytes: number): string;
//# sourceMappingURL=init-storage-guard.d.ts.map