import { type BlockParameterDefinition } from '@duckcodeailabs/dql-core'; export type BlockInvocationSurface = 'block_studio' | 'ask_ai' | 'notebook' | 'app' | 'mcp' | 'cli'; export interface BlockInvocationRequest { /** Stable block reference for audit/evidence; source remains the execution input. */ block?: string; source: string; parameters?: Record; /** Provenance supplied by a consuming surface such as a dashboard binding. */ parameterSources?: Record; question?: string; surface: BlockInvocationSurface; contextPackId?: string; } export interface PreparedBlockInvocation { parameters: BlockParameterDefinition[]; values: Record; resolvedParameters: Array<{ name: string; value: unknown; source: 'policy' | 'explicit' | 'question' | 'prior_result' | 'surface' | 'default'; }>; unresolvedParameters: string[]; errors: string[]; auditId: string; } /** * The only value-resolution path used by runtime surfaces. It intentionally * resolves values only; changing block structure remains outside this contract. */ export declare function prepareBlockInvocation(input: BlockInvocationRequest): PreparedBlockInvocation; //# sourceMappingURL=block-invocation.d.ts.map