behavior_contracts/
lib.rs1pub mod behavior;
16pub mod canonical;
17#[cfg(feature = "ir")]
18pub mod codec;
19#[cfg(feature = "ir")]
20pub mod envelope;
21pub mod expr;
22#[cfg(feature = "ir")]
23pub mod fingerprint;
24#[cfg(feature = "ir")]
25pub mod guard;
26pub mod plan;
27pub mod primitives;
28pub mod rawabi;
29pub mod template;
30pub mod value;
31
32pub struct SpecVersions;
34impl SpecVersions {
35 pub const EXPRESSION: i64 = 2; pub const TEMPLATE: i64 = 1;
37 pub const PLAN: i64 = 1;
38 pub const CANONICAL: i64 = 2; pub const BEHAVIOR: i64 = 2; pub const GUARD: i64 = 1; pub const C2: i64 = 1; }
43
44pub const ENVELOPE_SPEC_VERSION: &str = "1.1";
46
47pub use value::{deep_equals, Value};
49
50#[cfg(feature = "ir")]
51pub use expr::evaluate as evaluate_expression;
52pub use expr::{cmp_code_points, ExprFailure, ExprFailureCode};
53
54pub use template::{render_template, resolve_partial, TemplateFailure, TemplateFailureCode};
55
56pub use plan::{
57 run_plan, run_plan_parallel, ExecOutcome, ExecutionPlanSpec, OpSpec, PlanFailure,
58 PlanFailureCode, PolicyKind, RelationKind, RunResult,
59};
60
61pub use canonical::{
62 canonical_json, canonical_value, py_float_repr, CanonicalFailure, CanonicalFailureCode,
63};
64
65#[cfg(feature = "ir")]
66pub use envelope::{validate_envelope, EnvelopeFailure, EnvelopeFailureCode};
67
68#[cfg(feature = "ir")]
69pub use guard::{
70 assert_portable, assert_portable_component_graph, PortabilityError, PORTABLE_EXPR_OPERATORS,
71};
72
73#[cfg(feature = "ir")]
74pub use behavior::run_behavior;
75pub use behavior::{BehaviorError, BehaviorFailureCode, ComponentExec};
76
77pub use rawabi::{
79 raw_from_value, raw_missing_prop, raw_type_mismatch, RawComponentExec, RawOutcome, RawRow,
80 RawValue,
81};
82
83#[cfg(feature = "ir")]
84pub use fingerprint::{fingerprint_component_graph, FingerprintFailure, FingerprintFailureCode};
85
86#[cfg(feature = "ir")]
87pub use codec::{decode_value, encode_value, DecodeError};
88
89pub use primitives::{
94 concat_native, hydrate_into, map_with_concurrency, ref_native, ref_opt_native, skip_connection,
95 skip_single, unproduced_value,
96};