import type { GraphEntryContract, GraphResponseContract } from "@x12i/graphenix-core"; import type { NormalizedExecutableGraphDocument } from "./executable-graph.js"; import type { ExecutionUnitPlan } from "./execution-unit.js"; import type { AiModelSelection, AiModelSlot, GraphModelFallbackPolicy } from "./model-config.js"; export declare const EXECUTABLE_PLAN_FORMAT: "executable-plan"; export declare const EXECUTABLE_PLAN_VERSION: 1; export interface SelectedCase { caseId: string; matched: boolean; defaulted?: boolean; reason?: string; matchedConditions?: Array<{ path?: string; description: string; }>; sourcePath?: string; } export interface ResolvedModelSlotPlan { selection: AiModelSelection; source: "graphDefault" | "nodeOverride" | "nodeCaseOverride" | "fallbackToGraphDefault"; inherited: boolean; graphCaseId: string; nodeCaseId?: string; } export interface ResolvedNodeExecutionPlan { nodeId: string; nodeType: "task" | "finalizer"; skillKey?: string; selectedCases: { graphCaseId: string; nodeCaseId?: string; }; modelSlots?: Partial>; executionUnits: ExecutionUnitPlan[]; fallbackPolicy?: GraphModelFallbackPolicy; } export interface ExecutableGraphPlanSource { graphId: string; graphRevision?: string; graphHash: string; formatVersion: string; } export interface ExecutableGraphPlanProfileRegistry { package: "@x12i/ai-profiles"; version: string; registryHash?: string; } export interface ExecutableGraphPlanRuntimeBinding { jobId: string; mode?: "simulate" | "live" | "plan"; environment?: "dev" | "test" | "staging" | "prod"; inputHash?: string; contextHash?: string; } export interface ExecutableGraphPlan { format: typeof EXECUTABLE_PLAN_FORMAT; planId: string; createdAt: string; source: ExecutableGraphPlanSource; profileRegistry: ExecutableGraphPlanProfileRegistry; runtimeBinding: ExecutableGraphPlanRuntimeBinding; /** Normalized Graphenix document. No authoring shorthand remains. */ graph: NormalizedExecutableGraphDocument; caseSelection: { graph: SelectedCase; nodes: Record; }; nodePlans: Record; contracts: { entry?: GraphEntryContract; response?: GraphResponseContract; }; } export interface AiProfilesRegistry { version: string; registryHash?: string; } export interface CompileExecutablePlanOptions { profileRegistry?: AiProfilesRegistry; environment?: ExecutableGraphPlanRuntimeBinding["environment"]; now?: () => Date; hash?: HashFunction; } export type HashFunction = (value: unknown) => string; //# sourceMappingURL=executable-plan.d.ts.map