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
6#![deny(missing_docs)]
7
8mod adoption;
9mod assembler;
10mod authority;
11mod delta;
12mod delta_dependencies;
13mod delta_safety;
14mod diagnostic;
15mod discovery;
16mod document;
17mod normalize;
18mod observed;
19mod project;
20mod resolve;
21mod safety_condition;
22mod schema_set;
23mod semantic;
24mod source_pattern;
25mod timezone;
26mod yaml;
27
28pub use adoption::{AdoptionBaseline, adopt_observed_schema};
29pub use assembler::FactAssembler;
30pub use authority::{
31    MAX_SCHEMA_AUTHORITY_BYTES, SCHEMA_AUTHORITY_FINGERPRINT_CANONICALIZATION,
32    SCHEMA_AUTHORITY_FINGERPRINT_DOMAIN, SchemaAuthorityError, SchemaAuthorityErrorCode,
33    TYPEBRIDGE_SCHEMA_AUTHORITY_V1, VerifiedSchemaAuthority, build_schema_authority,
34    decode_schema_authority, encode_schema_authority, schema_authority_capability_vocabulary,
35};
36pub use delta::{
37    DeltaError, ManagedDeltaContext, apply_delta, diff_managed, inverse_delta, managed_schema_state,
38};
39pub use delta_dependencies::{FactDependencyGraph, plan_schema_operations};
40pub use delta_safety::{
41    DeltaSafety, DeltaSafetyReason, DeltaSafetyReport, SafetyClass, SafetyClassificationError,
42    classify_delta_safety, classify_operation_safety, classify_schema_operation_safety,
43};
44pub use discovery::{
45    DEFAULT_MAX_DISCOVERY_DEPTH, DEFAULT_MAX_DISCOVERY_ENTRIES, DEFAULT_MAX_SOURCE_PATTERN_BYTES,
46    DEFAULT_MAX_SOURCE_PATTERNS, SchemaDiscoveryEvidence, SchemaDiscoveryLimits,
47    SchemaDiscoverySnapshot, SchemaPatternDiscoverySnapshot, SchemaSourceCapture,
48    SchemaSourceEvidence, SchemaSourceIdentity, SchemaSourceKind, SchemaSourceObservation,
49    SchemaSourceRevision, SchemaSourceService, SchemaSourceServiceError, SystemSchemaSourceService,
50    discover_schema_documents, discover_schema_documents_with_limits, load_schema_set,
51    load_schema_set_with_limits, load_schema_set_with_source,
52};
53pub use document::{
54    CommentPlacement, SchemaComment, SchemaDocument, SchemaDocumentSet, SchemaParseLimits,
55    YamlCollectionStyle, YamlMapping, YamlMappingEntry, YamlNode, YamlScalar, YamlScalarStyle,
56    YamlSequence,
57};
58pub use normalize::{SCHEMA_V2_FORMAT, normalize_documents};
59pub use observed::{
60    CanonicalObservedSchema, OBSERVED_SCHEMA_CANONICALIZATION_VERSION, ObservedFactProvenance,
61    ObservedFactScope, ObservedSchema, ObservedSchemaFact, canonicalize_observed_schema,
62};
63pub use project::project;
64pub use resolve::{
65    BUILTIN_SCHEMA_CAPABILITY_IDS, DescriptorId, DescriptorIndex, EffectiveOwns, EffectivePlays,
66    EffectiveRelates, EffectiveRelatesId, EffectiveSub, EffectiveValueType, ResolutionOrigin,
67    ResolvedFunction, ResolvedRole, ResolvedSchema, ResolvedStruct, ResolvedType,
68    SchemaDependencyGraph, resolve, resolve_schema_with_capabilities,
69};
70pub use safety_condition::{
71    DerivedSafetyConditions, RequiredSafetyCondition, SAFETY_CONDITION_CANONICALIZATION,
72    SAFETY_CONDITION_FINGERPRINT_DOMAIN, SafetyCondition, SafetyConditionDomainIndex,
73    SafetyConditionId, SafetyConditionUnlock, SafetyDerivationProfile, ScalarSafetySubject,
74    UnresolvableSafetyReason, derive_safety_conditions, derive_safety_conditions_with_domain_index,
75};
76pub use schema_set::{
77    SCHEMA_DISCOVERY_V1, SCHEMA_SET_V1_FORMAT, SchemaDiscoveryVersion, SchemaSetManifest,
78    SchemaSetManifestDocument,
79};
80pub use semantic::{
81    BoundManagedSchemaScope, ManagedSchemaScope, canonical_managed_declared_identity_bytes,
82    canonical_managed_semantic_schema_bytes, canonical_semantic_schema_bytes,
83    managed_declared_identity_fingerprint, managed_semantic_schema_fingerprint,
84    semantic_schema_fingerprint,
85};
86pub use timezone::{
87    TYPEDB_3_12_1_TEMPORAL_POLICY_ID, TYPEDB_3_12_1_TIMEZONE_POLICY_ID, parse_provider_datetime_tz,
88    parse_provider_datetime_tz_evidence, resolve_provider_datetime_tz,
89    validate_provider_datetime_tz, validate_provider_duration, validate_provider_temporal_literal,
90    validate_provider_temporal_value,
91};