import type { AiModelSelection } from "./model-config.js"; import type { DataRef } from "./execution-trace.js"; export type TaskVariable = Record; export type InputBinding = Record; export type SmartInputConfig = Record; export type JobContextMapping = Record; export type ExecutionMapping = Record; export type TaskScope = Record; export type TaskMemoryConfig = Record; export interface KnowledgeRef { id?: string; uri?: string; hash?: string; [key: string]: unknown; } export interface TaskPipelineContract { executionStrategies?: Record; aiTaskStrategies?: Record | unknown[]; aiTaskProfile?: Record; narrix?: Record; narrixInput?: Record; narrixMode?: string; llmCall?: Record; [key: string]: unknown; } export interface OutputValidationConfig { [key: string]: unknown; } export interface NodeInvokeContract { taskVariable?: TaskVariable; inputBindings?: Record; inputsConfig?: Record; smartInput?: SmartInputConfig; jobContextMapping?: JobContextMapping; executionMapping?: ExecutionMapping; scope?: TaskScope; memory?: TaskMemoryConfig; knowledgeRefs?: { jobKnowledge?: KnowledgeRef[]; taskKnowledge?: KnowledgeRef[]; taskPagentiKnowledge?: KnowledgeRef[]; }; pipeline?: TaskPipelineContract; validation?: { outputValidation?: OutputValidationConfig; aiTasksOutputValidation?: Record; }; localConfig?: Record; } export interface UnitInvokeContractWrite { destination: "execution" | "task" | "job" | "response"; key: string; mode?: "replace" | "merge"; } export interface UnitInvokeContractOutputValidation { schemaRef?: string; schema?: unknown; mode: "fail" | "warn"; } /** Normative per-unit invoke contract (v2.1). */ export interface UnitInvokeContractV1 { reads: string[]; writes: UnitInvokeContractWrite[]; outputValidation?: UnitInvokeContractOutputValidation; includeContextInPrompt?: boolean; } /** PRE synthesis `externalPreUtility` unit params (plan wire, graphenix 2.15+). */ export interface PreSynthesisUnitParams { autoEnableContext?: boolean; xynthesizedOutput?: { destination: string; outputKey: string; mode?: "merge" | "replace"; }; factGuard?: Record; } export type UnitInvokeContract = UnitInvokeContractV1; export interface UnitInputContract { [key: string]: unknown; } export interface UnitOutputContract { [key: string]: unknown; } export interface RetryPolicy { maxAttempts?: number; backoffMs?: number; [key: string]: unknown; } export interface TracePolicy { [key: string]: unknown; } export interface ResolvedNodePolicies { [key: string]: unknown; } export interface ResolvedModelSlots { preActionModel?: ResolvedModelSlotEntry; skillModel?: ResolvedModelSlotEntry; postActionModel?: ResolvedModelSlotEntry; finalizerModel?: ResolvedModelSlotEntry; } export interface ResolvedModelSlotEntry { selection: AiModelSelection; source: string; inherited?: boolean; graphCaseId?: string; nodeCaseId?: string; } export interface ResolvedInvocationSnapshot { provider: string; modelId: string; profileChoiceKey?: string; profile?: string; choice?: string; registryVersion?: string; registryHash?: string; catalogVersion?: string; catalogHash?: string; purpose: "debugReplay" | "strictReplay" | "advisory"; } export type ModelSelectionSource = "graphDefault" | "graphCase" | "nodeOverride" | "nodeCaseOverride" | "actionOverride" | "fallbackToGraphDefault"; export type { DataRef }; //# sourceMappingURL=invoke-contract.d.ts.map