import type { BashLogger, BashOptions } from "just-bash"; import { Bash } from "just-bash"; import { SupermemoryVolume } from "./volume.js"; type ExecutionLimits = NonNullable; export interface CreateBashOptions { apiKey: string; containerTag: string; baseURL?: string; /** Warm PathIndex at construction. Default true. */ eagerLoad?: boolean; /** Also warm content cache during eager load. Default true. Set false for huge containers. */ eagerContent?: boolean; env?: Record; executionLimits?: ExecutionLimits; logger?: BashLogger; /** * Content-cache TTL in ms. * undefined → 150_000 (2.5 min, multi-writer default) * null → never expires (single-writer; only LRU evicts) * 0 → no caching */ cacheTtlMs?: number | null; /** * When true, sgrep output includes a `[doc:]` annotation per result * so callers can extract the source document IDs from stdout. * Default false — off by default to preserve existing output format. */ includeDocIds?: boolean; } export interface CreateBashResult { bash: Bash; volume: SupermemoryVolume; toolDescription: string; configureMemoryPaths: (paths: string[]) => Promise; /** Re-run the eager listing. Useful after another process writes to the container. */ refresh: () => Promise; } export declare function createBash(opts: CreateBashOptions): Promise; export {}; //# sourceMappingURL=create-bash.d.ts.map