import { HarnessOptions } from "../../composition/types/harness.mjs"; import { DomainMcpAllowlist, PluginEntry } from "@agimon-ai/doompi-config/domains"; import { MajorModesConfig } from "@agimon-ai/doompi-config/majorModes"; import { AgentProfile } from "@agimon-ai/doompi-config/profiles"; import { HarnessTelemetry } from "@agimon-ai/doompi-core/runtime-log-sink-telemetry"; import { HarnessResources } from "@agimon-ai/doompi-domain/resources"; //#region src/builders/cli/harnessContext.d.ts /** * Everything a command needs, resolved once. * * All three commands need the same expensive preparation (domains resolved, * plugins collected into a temp directory, environment assembled), so it is * built here and handed to whichever command runs. */ export interface HarnessContext { options: HarnessOptions; environment: NodeJS.ProcessEnv; resources: HarnessResources; plugins: PluginEntry[]; profile?: string; personaDirectory?: string; /** Root personaDirectory resolves against, when a profile supplied one. */ personaRoot?: string; mcpAllowlist?: DomainMcpAllowlist; majorModesConfig: MajorModesConfig; selectedLayers: string[]; hookGroups: string[]; personaEntry?: string; defaultThemePath: string; cleanup(): Promise; } /** * Applies the provider environment a preset needs. * * Exported because the synced Pi path has no launcher to do it: the doom-pi * extension applies the same rules in-process before anything reads them. * `piArgs` is only consulted to spot a selected cloud model. */ export declare function configurePreset(options: Pick, environment: NodeJS.ProcessEnv): void; /** Resolves the optional persona and environment profile selected for this run. */ export declare function resolveHarnessProfile(options: HarnessOptions): AgentProfile | undefined; /** * Resolves the full matrix and stages every resource Pi will need. * * The caller owns the returned cleanup(): the temporary directory holding * skills, agents, and the generated MCP config has to outlive this function * and be removed once the selected command is done with it. */ export declare function buildHarnessContext(options: HarnessOptions, telemetry?: HarnessTelemetry): Promise; //#endregion //# sourceMappingURL=harnessContext.d.mts.map