Skip to main content

type_bridge_schema/
lib.rs

1//! Lossless schema documents and pure schema normalization.
2//!
3//! This crate owns source-oriented schema concerns so YAML parsing never enters
4//! the protocol-level `type-bridge-contract` dependency graph.
5
6mod adoption;
7mod assembler;
8mod delta;
9mod delta_dependencies;
10mod delta_safety;
11mod diagnostic;
12mod discovery;
13mod document;
14mod normalize;
15mod observed;
16mod project;
17mod resolve;
18mod safety_condition;
19mod schema_set;
20mod semantic;
21mod source_pattern;
22mod timezone;
23mod yaml;
24
25pub use adoption::{AdoptionBaseline, adopt_observed_schema};
26pub use assembler::FactAssembler;
27pub use delta::{
28    DeltaError, ManagedDeltaContext, apply_delta, diff_managed, inverse_delta, managed_schema_state,
29};
30pub use delta_dependencies::{FactDependencyGraph, plan_schema_operations};
31pub use delta_safety::{
32    DeltaSafety, DeltaSafetyReason, DeltaSafetyReport, SafetyClass, SafetyClassificationError,
33    classify_delta_safety, classify_operation_safety, classify_schema_operation_safety,
34};
35pub use discovery::{
36    DEFAULT_MAX_DISCOVERY_DEPTH, DEFAULT_MAX_DISCOVERY_ENTRIES, DEFAULT_MAX_SOURCE_PATTERN_BYTES,
37    DEFAULT_MAX_SOURCE_PATTERNS, SchemaDiscoveryEvidence, SchemaDiscoveryLimits,
38    SchemaDiscoverySnapshot, SchemaPatternDiscoverySnapshot, SchemaSourceCapture,
39    SchemaSourceEvidence, SchemaSourceIdentity, SchemaSourceKind, SchemaSourceObservation,
40    SchemaSourceRevision, SchemaSourceService, SchemaSourceServiceError, SystemSchemaSourceService,
41    discover_schema_documents, discover_schema_documents_with_limits, load_schema_set,
42    load_schema_set_with_limits, load_schema_set_with_source,
43};
44pub use document::{
45    CommentPlacement, SchemaComment, SchemaDocument, SchemaDocumentSet, SchemaParseLimits,
46    YamlCollectionStyle, YamlMapping, YamlMappingEntry, YamlNode, YamlScalar, YamlScalarStyle,
47    YamlSequence,
48};
49pub use normalize::{SCHEMA_V2_FORMAT, normalize_documents};
50pub use observed::{
51    CanonicalObservedSchema, OBSERVED_SCHEMA_CANONICALIZATION_VERSION, ObservedFactProvenance,
52    ObservedFactScope, ObservedSchema, ObservedSchemaFact, canonicalize_observed_schema,
53};
54pub use project::project;
55pub use resolve::{
56    BUILTIN_SCHEMA_CAPABILITY_IDS, DescriptorId, DescriptorIndex, EffectiveOwns, EffectivePlays,
57    EffectiveRelates, EffectiveRelatesId, EffectiveSub, EffectiveValueType, ResolutionOrigin,
58    ResolvedFunction, ResolvedRole, ResolvedSchema, ResolvedStruct, ResolvedType,
59    SchemaDependencyGraph, resolve, resolve_schema_with_capabilities,
60};
61pub use safety_condition::{
62    DerivedSafetyConditions, RequiredSafetyCondition, SAFETY_CONDITION_CANONICALIZATION,
63    SAFETY_CONDITION_FINGERPRINT_DOMAIN, SafetyCondition, SafetyConditionId, SafetyConditionUnlock,
64    SafetyDerivationProfile, ScalarSafetySubject, UnresolvableSafetyReason,
65    derive_safety_conditions,
66};
67pub use schema_set::{
68    SCHEMA_DISCOVERY_V1, SCHEMA_SET_V1_FORMAT, SchemaDiscoveryVersion, SchemaSetManifest,
69    SchemaSetManifestDocument,
70};
71pub use semantic::{
72    BoundManagedSchemaScope, ManagedSchemaScope, canonical_managed_declared_identity_bytes,
73    canonical_managed_semantic_schema_bytes, canonical_semantic_schema_bytes,
74    managed_declared_identity_fingerprint, managed_semantic_schema_fingerprint,
75    semantic_schema_fingerprint,
76};
77pub use timezone::{
78    TYPEDB_3_12_1_TEMPORAL_POLICY_ID, TYPEDB_3_12_1_TIMEZONE_POLICY_ID, parse_provider_datetime_tz,
79    parse_provider_datetime_tz_evidence, resolve_provider_datetime_tz,
80    validate_provider_datetime_tz, validate_provider_duration, validate_provider_temporal_literal,
81    validate_provider_temporal_value,
82};