Skip to main content

helm_schema_core/
lib.rs

1//! Shared semantic contracts used by Helm analysis and schema providers.
2
3mod capability;
4mod capability_liveness;
5mod contract_signals;
6mod contract_use;
7mod guard;
8/// Normalization helpers for conjunction and disjunction guard sets.
9mod guard_algebra;
10mod guard_dnf;
11mod output_path;
12mod pattern_dialect;
13mod predicate;
14mod predicate_bdd;
15mod provenance;
16mod provider_origin;
17mod provider_schema_fragment;
18mod provider_schema_use;
19mod schema_provider;
20mod types;
21mod value_path;
22
23pub use capability::{ApiPresenceQuery, CapabilityGuard, HelperBranch, HelperBranchBody};
24pub use capability_liveness::{CapabilityOracle, live_literals};
25pub use contract_signals::{
26    AllUses, ConditionalGuard, ConditionalOverlayEvidence, ConditionalOverlayFlavor,
27    ConditionalPathOverlay, ContractPathSchemaEvidence, ContractRequirednessEvidence,
28    ContractRequirementImplication, ContractRequirementTarget, ContractSchemaSignals,
29    ContractValuePathFacts, FailValueRequirement, GuardedValuesDefaultSource, MetadataFieldKind,
30    QuotedScalarStyle, RangeDomain, ValuesDefaultSource, ValuesProgramWrapper,
31};
32pub use contract_use::{
33    ContractUse, MergeLayer, MergeLayerTransform, MergeLayersUse, SplitSegmentUse,
34};
35pub use guard::{Guard, GuardValue};
36pub use guard_dnf::GuardDnf;
37pub use output_path::{
38    DYNAMIC_MAPPING_VALUE_SEGMENT, append_relative_path, dynamic_mapping_value_path,
39    sequence_item_path, values_path_has_descendant, values_path_is_descendant,
40};
41pub use pattern_dialect::{escape_regex_literal, normalize_schema_pattern_dialects};
42pub use predicate::{ApproximationRole, Predicate};
43pub use provenance::{ContractProvenance, SourceSpan};
44pub use provider_origin::ProviderOrigin;
45pub use provider_schema_fragment::{
46    ProviderSchemaFragment, ProviderSchemaSource, ProviderSourceFragment,
47};
48pub use provider_schema_use::ProviderSchemaUse;
49pub use schema_provider::ResourceSchemaOracle;
50pub use types::{KindBranch, ResourceRef, ValueKind, YamlPath};
51pub use value_path::{
52    Segment, ValuesPath, append_each_member_value_path, append_value_path, join_encoded_value_path,
53    join_value_path, split_value_path,
54};