1#![forbid(unsafe_code)]
19#![deny(missing_docs)]
20
21mod audit;
22mod audit_types;
23mod collection;
24mod collection_build;
25mod collection_diff;
26mod collection_recompute;
27mod collection_storage;
28mod debug;
29mod dependency;
30mod dependency_validate;
31mod derive;
32mod error;
33mod graph;
34mod graph_support;
35mod host_status;
36mod ids;
37mod input;
38mod model;
39mod node;
40mod oracle;
41mod output;
42mod output_build;
43mod output_frame;
44mod output_payload;
45mod output_reconcile;
46mod read;
47mod resource;
48mod resource_build;
49mod resource_key;
50mod resource_reconcile;
51mod scope;
52mod scope_lifecycle;
53mod topology;
54mod trace;
55mod transaction;
56mod transaction_build;
57mod transaction_trace_build;
58mod transaction_types;
59
60pub(crate) use audit_types::AuditState;
61pub use audit_types::{
62 NodeChangeExplanation, OutputFrameExplanation, ResourceCommandCause,
63 ResourceCommandExplanation, ScopeResourceInventory,
64};
65pub use collection::CollectionContext;
66pub use collection_diff::{Added, MapDiff, Removed, SetDiff, Unchanged, Updated};
67pub use dependency::DependencyList;
68pub use derive::{DeriveContext, DeriveError};
69pub use error::{
70 ErrorAuditEvent, ErrorCategory, ErrorTarget, FullRecomputeOutputMismatch,
71 FullRecomputeResourceMismatch, GraphError, GraphResult, OutputError, PlanError,
72};
73pub use graph::Graph;
74pub use host_status::{
75 HostResourceCommandState, HostResourceOutcome, HostResourceStatus, HostStatusClass,
76 classify_host_resource_status,
77};
78pub use ids::{NodeId, OutputKey, Revision, ScopeId, TransactionId};
79pub use node::{CollectionNode, DerivedNode, InputNode, NodeHandle, NodeKind, NodeMeta};
80pub use oracle::FullRecomputeCheck;
81pub use output::{MaterializedOutput, OutputContext, OutputMeta, OutputOptions};
82pub use output_frame::{ClearReason, OutputFrame, OutputFrameKind, RebaselineReason};
83pub use output_payload::OutputPayload;
84pub use resource::{PlanContext, ResourceCommand, ResourcePlan};
85pub use resource_key::ResourceKey;
86pub use scope::ScopeMeta;
87pub use trace::{
88 OutputFrameKindTrace, OutputFrameTrace, ResourceCommandKind, ResourceCommandTrace,
89 TraceMismatch, TransactionTrace, assert_transaction_traces_match,
90};
91pub use transaction::Transaction;
92pub use transaction_types::{
93 AuditEntry, AuditEvent, AuditExplanationLevel, CollectionDiffKind, CollectionDiffTrace,
94 InvariantResultTrace, ScopeLifecycleKind, ScopeLifecycleTrace, StagedInputChange,
95 StagedInputOutcome, TransactionOptions, TransactionPhase, TransactionResult,
96};
97
98pub mod testing {
100 pub use crate::model::{ModelGenerator, ModelScript, ModelStep, ModelTopology};
101}