pub mod attribute;
pub mod codegen;
pub mod descriptor;
pub mod dynamic;
pub mod entity;
pub mod error;
pub mod expr;
pub mod field_ref;
pub mod filter;
pub mod hooks;
pub mod manager;
pub mod match_request;
pub mod migration_assertion;
pub mod provider_runtime;
pub mod query;
pub mod query_v2;
mod query_v2_adapter;
#[cfg(test)]
mod query_v2_adapter_tests;
pub mod query_v2_builder;
mod query_v2_compatibility;
mod query_v2_model;
mod query_v2_model_remote;
pub mod query_v2_prepared;
pub mod query_v2_remote;
pub mod registry;
pub mod relation;
pub mod runtime_projection;
pub mod schema;
pub mod session;
pub mod value;
#[cfg(feature = "integration-tests")]
#[doc(hidden)]
pub mod integration_test_support {
use type_bridge_contract::diagnostic::Diagnostic;
use type_bridge_contract::limits::StructuralLimits;
use type_bridge_contract::query_plan::QueryOperation;
use type_bridge_query::ValidatedQuery;
use crate::match_request::ValidatedMatchRequest;
use crate::query_v2::failure;
use crate::query_v2_adapter::{
MatchRequestAdaptation, MatchRequestAdapterAuthority, adapt_match_request,
};
use crate::registry::DescriptorRegistry;
pub fn adapt_match_request_for_live_test(
validated: &ValidatedMatchRequest,
registry: &DescriptorRegistry,
limits: StructuralLimits,
) -> Result<(ValidatedQuery, QueryOperation), Diagnostic> {
let authority = MatchRequestAdapterAuthority::from_registry(registry)?;
match adapt_match_request(validated, registry, &authority.context(), limits)? {
MatchRequestAdaptation::Adapted(adapted) => {
Ok((adapted.validated().clone(), adapted.operation()))
}
MatchRequestAdaptation::LegacyRequired(_) => Err(failure(
type_bridge_contract::diagnostic::DiagnosticCategory::ResourceLimit,
"query_v2_adapter_test_resource_envelope",
"the live V2 parity fixture cannot fit the canonical V2 artifact envelope",
)),
MatchRequestAdaptation::NativeOnly => Err(failure(
type_bridge_contract::diagnostic::DiagnosticCategory::UnsupportedCapability,
"query_v2_adapter_test_native_only",
"the live V2 parity fixture has no V2 spelling for this operation",
)),
}
}
}
pub use attribute::{TypeBridgeAttribute, ValueType};
pub use descriptor::{
EntityDescriptor, OwnedAttributeDescriptor, RelationDescriptor, RoleDescriptor, TypeDescriptor,
TypeDescriptorRef,
};
pub use dynamic::{
DynamicAggregate, DynamicAttributeMap, DynamicComparisonOp, DynamicEntityIdentity,
DynamicEntityRow, DynamicExpr, DynamicRelationIdentity, DynamicRelationRow, DynamicRolePlayer,
DynamicRolePlayerInput, DynamicSort,
};
pub use entity::{Annotation, OwnedAttributeInfo, TypeBridgeEntity};
pub use error::{ClassifiedCommitError, CommitFailureCertainty, OrmError, Result};
pub use expr::{Agg, AggResult, Expr, GroupByResult, SortDir};
pub use field_ref::{FieldRef, RolePlayerFieldRef, RoleRef};
pub use filter::Filter;
pub use hooks::{
CrudOperation, HookContext, HookError, HookRunner, LifecycleHook, PreHookResult, TypeKind,
};
pub use manager::{DynamicEntityManager, DynamicRelationManager, EntityManager, RelationManager};
pub use match_request::*;
pub use provider_runtime::ProviderRuntimeOwner;
pub use query::{EntityQuery, GroupByEntityQuery, GroupByRelationQuery, RelationQuery};
pub use query_v2_model_remote::{
ClaimedRemoteModelReplyV2, PendingRemoteModelQueryV2, RemoteModelQueryV2Error,
prepare_remote_model_query_v2,
};
pub use registry::DescriptorRegistry;
pub use relation::{RoleInfo, RolePlayerRef, TypeBridgeRelation};
pub use runtime_projection::InstalledRuntimeProjection;
pub use schema::{SchemaDiff, SchemaInfo, SchemaManager};
pub use session::backend::AnswerCancellation;
#[cfg(feature = "typedb")]
pub use session::embedded_driver_versions;
#[cfg(feature = "typedb")]
pub use session::{
ConnectOptions, PreparedSecureConnectOptions, SecureConnectError, SecureConnectOptions,
SecureResult, TlsMode,
};
pub use session::{
Database, DatabaseConnectionAuthority, GivenRowsSpec, GivenValue, Transaction,
TransactionContext, TxType, require_legacy_writer_open,
require_legacy_writer_open_in_transaction,
};
#[cfg(feature = "typedb")]
pub use session::{
database_exists, database_exists_prepared_secure, database_exists_secure,
delete_database_prepared_secure, delete_database_secure, ensure_database_exists,
ensure_database_exists_prepared_secure, ensure_database_exists_secure,
};
pub use value::AttributeValue;
#[cfg(feature = "derive")]
pub use type_bridge_orm_derive::TypeBridgeAttribute as DeriveAttribute;
#[cfg(feature = "derive")]
pub use type_bridge_orm_derive::TypeBridgeEntity as DeriveEntity;
#[cfg(feature = "derive")]
pub use type_bridge_orm_derive::TypeBridgeRelation as DeriveRelation;
#[cfg(feature = "derive")]
pub use type_bridge_orm_derive::include_schema;