import type { UiDraft } from '../draft/draft.types'; /** * Pipeline-level secrets capability. * * `mountSecrets` materializes secrets for the whole pipeline (source, target, * etc.) on the runtime side from whatever store the platform uses (e.g. AWS * Secrets Manager). It is independent of how a specific source captures its * credentials, so it lives outside `sourceSecrets`. */ export interface MountSecretsOptions { /** * Restricts mounting to one source of a multi-source draft. Used when a single * source is validated on its own, so sources the user has not finished * configuring are left alone. */ sourceName?: string; } export interface PipelineSecretsCapabilityConfig { mountSecrets: (draft: UiDraft, options?: MountSecretsOptions) => Promise; }