#![allow(
clippy::cast_possible_truncation,
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::must_use_candidate,
clippy::pedantic,
clippy::return_self_not_must_use,
clippy::uninlined_format_args,
clippy::unreadable_literal
)]
#[cfg(test)]
use criterion as _;
#[cfg(test)]
use serde_yaml as _;
#[cfg(test)]
use tempfile as _;
#[cfg(feature = "experimental-public-api")]
#[path = "contracts/authoring_contracts.rs"]
mod authoring_contracts;
#[doc(hidden)]
#[path = "build/builder.rs"]
pub mod builder;
#[doc(hidden)]
#[path = "graph/canonical.rs"]
pub mod canonical;
#[doc(hidden)]
#[path = "build/compile.rs"]
pub mod compile;
#[doc(hidden)]
#[path = "graph/composition.rs"]
pub mod composition;
#[doc(hidden)]
#[path = "build/contract.rs"]
pub mod contract;
#[doc(hidden)]
#[path = "graph/dynamic.rs"]
mod dynamic;
#[doc(hidden)]
#[path = "graph/edge.rs"]
pub mod edge;
#[doc(hidden)]
#[path = "analysis/effects.rs"]
pub mod effects;
#[doc(hidden)]
#[path = "contracts/error.rs"]
pub mod error;
#[cfg(feature = "experimental-public-api")]
#[path = "contracts/execution_contracts.rs"]
mod execution_contracts;
#[doc(hidden)]
#[path = "graph/expansion.rs"]
pub mod expansion;
#[doc(hidden)]
#[path = "analysis/fingerprint.rs"]
pub mod fingerprint;
#[doc(hidden)]
#[path = "graph/graph.rs"]
pub mod graph;
#[doc(hidden)]
#[path = "graph/input.rs"]
pub mod input;
#[doc(hidden)]
#[path = "graph/meta.rs"]
pub mod meta;
#[doc(hidden)]
#[path = "graph/model.rs"]
pub mod model;
#[doc(hidden)]
#[path = "graph/node.rs"]
pub mod node;
#[doc(hidden)]
#[path = "pipeline/parse.rs"]
pub mod parse;
#[cfg(feature = "experimental-public-api")]
#[path = "contracts/performance_contracts.rs"]
mod performance_contracts;
#[doc(hidden)]
#[path = "planner/planner.rs"]
pub mod planner;
#[cfg(feature = "experimental-public-api")]
#[path = "contracts/planner_contracts.rs"]
mod planner_contracts;
#[doc(hidden)]
#[path = "pipeline/resolve.rs"]
pub mod resolve;
#[cfg(feature = "experimental-public-api")]
#[path = "contracts/resource_contracts.rs"]
mod resource_contracts;
#[doc(hidden)]
#[path = "graph/resources.rs"]
pub mod resources;
#[cfg(feature = "experimental-public-api")]
#[path = "contracts/scientific_integration_contracts.rs"]
mod scientific_integration_contracts;
#[doc(hidden)]
#[path = "analysis/semantics.rs"]
pub mod semantics;
#[cfg(feature = "experimental-public-api")]
#[path = "contracts/semantics_contracts.rs"]
mod semantics_contracts;
#[doc(hidden)]
#[path = "graph/topology.rs"]
pub mod topology;
#[doc(hidden)]
#[path = "analysis/trigger_rules.rs"]
pub mod trigger_rules;
#[doc(hidden)]
#[path = "pipeline/validate.rs"]
pub mod validate;
#[doc(hidden)]
pub use builder::{
dry_run_preview, lint_graph, simulate_graph, DagBuilder, DagDryRunPreview, DagLintFinding,
DagUnitHarness, NodeBuilder,
};
#[doc(hidden)]
pub use canonical::{canonical_json, canonicalize_graph};
#[doc(hidden)]
pub use compile::{
compile_graph, compile_graph_contract, compile_graph_strict, compile_graph_with_defaults,
negotiate_spec_version, CompatibilityDecision, DagCompilePlanHints, DagCompileResult,
};
#[doc(hidden)]
pub use composition::{compose_graphs, GraphCompositionError};
#[doc(hidden)]
pub use contract::{DagSnapshot, GraphContract, GraphExecutionPolicy};
#[doc(hidden)]
pub use dynamic::{
apply_dynamic_expansion, generated_node_id, parse_dynamic_expansion_document,
AppliedDynamicExpansion, DynamicExpansionDocument, DynamicExpansionRecord, DynamicSpec,
DYNAMIC_EXPANSION_SCHEMA_VERSION,
};
#[doc(hidden)]
pub use edge::{EdgeDependencyKind, TypedEdge};
#[doc(hidden)]
pub use error::GraphError;
#[doc(hidden)]
pub use input::{
materialize_graph_input_value, validate_graph_input_value, GraphInputKind, GraphInputSpec,
GraphInputViolation,
};
#[doc(hidden)]
pub use model::{
cache_behavior_enabled, cache_behavior_is_default, default_media_type_for_kind,
edge_kind_is_default, env_allowlist_pattern_is_exact, is_known_path_variable,
output_kind_is_default, output_required_default, output_required_is_default,
semantic_kind_is_default, trigger_rule_is_default, BranchSpec, CacheBehavior, ContainerSpec,
Edge, EdgeKind, Effect, FileOutput, Graph, GraphFingerprintExplain, GraphId, GraphMeta, Node,
NodeKind, NodeOutputRef, OutputKind, OutputSpec, ParamValue, PathVarBinding, PathVarRef,
PortRef, RefSpec, ResolvedGraph, Resources, RetryPolicy, SemanticNodeKind, Severity,
SubgraphDefinition, SubgraphInstance, TriggerRule, ValidationDiagnostic, PATH_VARIABLE_NAMES,
};
#[doc(hidden)]
pub use node::{
derive_interface, node_input_bindings, node_io_contract, NodeEnvBinding, NodeInputBinding,
NodeInputSource, NodeIoContract, NodeOutputContract, NodeParamBinding, ParamBindingSource,
};
#[doc(hidden)]
pub use parse::parse_graph_strict;
#[doc(hidden)]
pub use planner::{
can_runtime_execute_plan_without_raw_graph, graph_lowering_boundary_note,
lower_graph_to_execution_plan, map_planner_error_to_graph_error, node_kind_supported,
planner_alignment_required_doc, planner_alignment_required_schema,
planner_alignment_required_test, planner_diagnostics_from_error, planner_identity_for_graph,
BranchPathAnalysis, ExecutionPlan, PlanOptions, PlannedBranchContract, PlannedEdge,
PlannedNode, PlannerDiagnostic, PlannerError, PlannerSeverity, PLANNER_CONTRACT_VERSION,
};
#[doc(hidden)]
pub use resolve::resolve_graph;
#[doc(hidden)]
pub use resources::GraphDefaults;
#[doc(hidden)]
pub use topology::deterministic_topology_order;
#[doc(hidden)]
pub use trigger_rules::{evaluate_trigger_rule, TriggerRuleEvaluation, UpstreamTerminalOutcome};
#[doc(hidden)]
pub use validate::{
validate_graph, validate_schema, validate_semantics, validate_topology,
validation_rule_registry, ValidationDomain,
};
pub const SPEC_VERSION: &str = "bijux-dag/v0.1";
pub const CANONICALIZATION_CONTRACT_VERSION: &str = "bijux-dag-canonical/v1";
pub mod stable {
pub use crate::{
canonical_json, canonicalize_graph, compile_graph, compile_graph_contract,
compile_graph_strict, compile_graph_with_defaults, compose_graphs,
lower_graph_to_execution_plan, negotiate_spec_version, parse_graph_strict,
planner_identity_for_graph, validate_graph, CompatibilityDecision, DagCompilePlanHints,
DagCompileResult, DagSnapshot, ExecutionPlan, Graph, GraphCompositionError, GraphContract,
GraphError, GraphExecutionPolicy, PlanOptions, PlannedEdge, PlannedNode, PlannerDiagnostic,
PlannerError, PlannerSeverity, TriggerRuleEvaluation, UpstreamTerminalOutcome,
SPEC_VERSION,
};
}
pub mod prelude {
pub use crate::stable::{
canonical_json, canonicalize_graph, compile_graph, compile_graph_contract,
compile_graph_strict, compile_graph_with_defaults, compose_graphs, negotiate_spec_version,
validate_graph, CompatibilityDecision, DagCompilePlanHints, DagCompileResult, DagSnapshot,
ExecutionPlan, Graph, GraphCompositionError, GraphContract, GraphError,
GraphExecutionPolicy, PlanOptions, PlannedEdge, PlannedNode, PlannerDiagnostic,
PlannerError, PlannerSeverity, SPEC_VERSION,
};
pub use crate::{
lower_graph_to_execution_plan, parse_graph_strict, planner_identity_for_graph,
};
}
#[cfg(feature = "experimental-public-api")]
pub mod experimental {
pub mod authoring_contracts {
pub use crate::authoring_contracts::*;
}
pub mod execution_contracts {
pub use crate::execution_contracts::*;
}
pub mod planner_contracts {
pub use crate::performance_contracts::*;
pub use crate::planner_contracts::*;
}
pub mod resource_capabilities {
pub use crate::resource_contracts::*;
}
pub mod scientific_integration {
pub use crate::scientific_integration_contracts::*;
}
pub mod semantic_contracts {
pub use crate::semantics_contracts::*;
}
pub use crate::semantics::{
classify_compatibility, complexity_score, enforce_late_binding_immutability, explain_graph,
migration_patch, normalize_semantic_graph, semantic_diff, static_analysis,
BranchDecisionNode, CompatibilityClassification, ConditionalExecution,
DynamicEdgeExpansionRule, GraphComplexityScore, GraphCompositionContract,
GraphExplainabilityModel, GraphMigrationPatch, GraphTemplate, JoinSemantics,
LateBindingRule, MapFanOutSemantics, NormalizedSemanticGraph, ParameterBindingSemantics,
PartitionSemantics, ReduceFanInSemantics, SemanticDiffClass, SemanticDiffReport,
StaticAnalysisReport, SubgraphEmbedding, WindowingSemantics,
};
}