/** * WARP Observer Factory — canonical observer lenses for graft queries. * * Observer Law: this module READS through observers. It never * walks the graph directly, maintains shadow state, or implements * traversal algorithms. * * Each function returns a lens or an observer with a focused lens. * The lens determines the aperture — what the observer can see. */ import type { Lens, Observer } from "@git-stunts/git-warp"; import type { WarpContext } from "./context.js"; export type { Lens }; /** * Observe all symbols in a specific file. * Aperture: sym::* */ export declare function fileSymbolsLens(filePath: string): Lens; /** * Observe all symbols in the project. * Aperture: sym:* */ export declare function allSymbolsLens(): Lens; /** * Observe all files in the project. * Aperture: file:* */ export declare function allFilesLens(): Lens; /** * Observe a single symbol by name across all files. * Aperture: sym:*: */ export declare function symbolByNameLens(symbolName: string): Lens; /** * Observe a directory subtree. * Aperture: dir:* */ export declare function directoryLens(dirPath: string): Lens; /** * Observe all files under a directory. * Aperture: file:/* */ export declare function directoryFilesLens(dirPath: string): Lens; /** * Observe commit metadata. * Aperture: commit:* */ export declare function commitsLens(): Lens; /** * Create an observer on the current frontier with a given lens. * Observers are static snapshots — create a new one after writes. */ export declare function observe(ctx: WarpContext, lens: Lens): Promise; //# sourceMappingURL=observers.d.ts.map