import { HarnessContext } from "../harnessContext.cjs"; import { HarnessTelemetry } from "@agimon-ai/doompi-core/runtime-log-sink-telemetry"; //#region src/builders/cli/launchPlan/index.d.ts /** Gives each Doompi launch a stable fallback identity without replacing one supplied by its caller. */ export declare function ensureElicitationSessionId(environment: NodeJS.ProcessEnv): string; /** Ignores configured themes and loads only themes explicitly passed to the launcher. */ export declare function overridePiThemes(piArgs: string[], themePath: string): string[]; export interface ResolveLaunchPlanOptions { /** * Where to record this session's composition, enabling reload-time recomposition. * * Pi is then given one stable entry instead of the fingerprint-named * aggregate, so a `/mode` switch can reload in place rather than requiring a * new process. Omit it to hand Pi the aggregate directly, which is the * historical behaviour and freezes the composition for the process. */ compositionRecordPath?: string; } export interface PiLaunchPlan { /** Complete argument vector for Pi, extension activation first. */ piArgs: string[]; /** Environment the Pi process must run with. */ environment: NodeJS.ProcessEnv; /** The compiled aggregate, or undefined when compilation fell back to individual entries. */ bundle?: string; /** Canonical composition identity for this launch. */ fingerprint: string; /** Entries a detached child agent inherits. */ childExtensions: string[]; /** Extension entries in Pi factory activation order. */ extensions: string[]; } /** * Resolves everything Pi needs to start, short of spawning it. * * The launcher and the session server both need this exact sequence, and a * second copy would drift the moment either gains a step. Spawning is left to * the caller because that is the only part they disagree on: the launcher * inherits a terminal, the server owns pipes. */ export declare function resolveLaunchPlan(context: HarnessContext, telemetry: HarnessTelemetry, planOptions?: ResolveLaunchPlanOptions): Promise; //#endregion //# sourceMappingURL=index.d.cts.map