export type EnvContractScope = "external-input" | "process-boundary" | "scoped-config"; export interface EnvVarContract { readonly name: string; readonly valueType: "string" | "number" | "boolean" | "json"; readonly scope: EnvContractScope; readonly description: string; } export declare const ENV_VAR_CONTRACTS: { readonly babysitter: { readonly runsDir: { readonly name: "BABYSITTER_RUNS_DIR"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Overrides the Babysitter runs directory at process startup."; }; readonly runsScope: { readonly name: "BABYSITTER_RUNS_SCOPE"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Selects global or repo-scoped run storage at process startup."; }; readonly maxIterations: { readonly name: "BABYSITTER_MAX_ITERATIONS"; readonly valueType: "number"; readonly scope: "external-input"; readonly description: "Overrides the session iteration budget at process startup."; }; readonly qualityThreshold: { readonly name: "BABYSITTER_QUALITY_THRESHOLD"; readonly valueType: "number"; readonly scope: "external-input"; readonly description: "Overrides quality threshold defaults at process startup."; }; readonly timeout: { readonly name: "BABYSITTER_TIMEOUT"; readonly valueType: "number"; readonly scope: "external-input"; readonly description: "Overrides the default task timeout at process startup."; }; readonly logLevel: { readonly name: "BABYSITTER_LOG_LEVEL"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Overrides SDK log level at process startup."; }; readonly allowSecretLogs: { readonly name: "BABYSITTER_ALLOW_SECRET_LOGS"; readonly valueType: "boolean"; readonly scope: "external-input"; readonly description: "Allows secret logging when explicitly enabled at process startup."; }; readonly hookTimeout: { readonly name: "BABYSITTER_HOOK_TIMEOUT"; readonly valueType: "number"; readonly scope: "external-input"; readonly description: "Overrides hook timeout at process startup."; }; readonly nodeTaskTimeout: { readonly name: "BABYSITTER_NODE_TASK_TIMEOUT"; readonly valueType: "number"; readonly scope: "external-input"; readonly description: "Overrides node task timeout at process startup."; }; readonly crossSubagents: { readonly name: "BABYSITTER_CROSS_SUBAGENTS"; readonly valueType: "boolean"; readonly scope: "external-input"; readonly description: "Enables cross-harness agent/skill auto-dispatch (default OFF)."; }; readonly executeTasks: { readonly name: "BABYSITTER_EXECUTE_TASKS"; readonly valueType: "boolean"; readonly scope: "external-input"; readonly description: "Enables shell/node task auto-execution (default OFF)."; }; }; readonly azureOpenAi: { readonly apiKey: { readonly name: "AZURE_OPENAI_API_KEY"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Azure OpenAI API key read from the process environment."; }; readonly projectName: { readonly name: "AZURE_OPENAI_PROJECT_NAME"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Azure OpenAI project/resource alias read from the process environment."; }; readonly resourceName: { readonly name: "AZURE_OPENAI_RESOURCE_NAME"; readonly valueType: "string"; readonly scope: "scoped-config"; readonly description: "Pi-compatible Azure OpenAI resource name supplied through explicit env overlays."; }; readonly baseUrl: { readonly name: "AZURE_OPENAI_BASE_URL"; readonly valueType: "string"; readonly scope: "scoped-config"; readonly description: "Normalized Azure OpenAI base URL supplied through explicit env overlays."; }; readonly deployment: { readonly name: "AZURE_OPENAI_DEPLOYMENT"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Default Azure OpenAI deployment read from the process environment."; }; readonly deploymentNameMap: { readonly name: "AZURE_OPENAI_DEPLOYMENT_NAME_MAP"; readonly valueType: "string"; readonly scope: "scoped-config"; readonly description: "Pi model-to-deployment map supplied through explicit env overlays."; }; }; readonly agentMux: { readonly logLevel: { readonly name: "AGENT_MUX_LOG_LEVEL"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Agent adapter log level read as startup input; CLI flags should configure loggers directly."; }; readonly logFile: { readonly name: "AGENT_MUX_LOG_FILE"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Agent adapter log file read as startup input; CLI flags should configure loggers directly."; }; readonly observabilityMode: { readonly name: "AGENT_MUX_OBSERVABILITY_MODE"; readonly valueType: "string"; readonly scope: "external-input"; readonly description: "Agent adapter observability mode read as startup input, not in-process mutable state."; }; }; }; export type RuntimeConfigValueType = "string" | "number" | "boolean"; export interface ScopedRuntimeConfigStateOptions { readonly configKeyTypes: Readonly>; readonly extendedConfigKeys?: Iterable; } export declare function scopedBabysitterEnvVarName(key: string): string; export declare function configKeyToEnvVar(key: string): string | undefined; export declare function createScopedRuntimeConfigState(options: ScopedRuntimeConfigStateOptions): { resetRunScopedConfig: () => void; isValidConfigKey: (key: string) => boolean; validateConfigValue: (key: string, value: unknown) => string | null; getConfigValue: (key: string) => unknown; getConfigDefault: (key: string) => unknown; listConfigKeys: () => string[]; getRunScopedConfigEntries: () => IterableIterator<[string, unknown]>; setConfigValue: (key: string, value: unknown, scope: string) => void; resetConfigValue: (key?: string) => void; }; //# sourceMappingURL=envContract.d.ts.map