#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
#[cfg(test)]
extern crate self as toolkit;
pub use anyhow::Result;
pub use async_trait::async_trait;
pub use tokio;
pub use inventory;
pub use crate::contracts::*;
pub use crate::contracts::{GrpcServiceCapability, RegisterGrpcServiceFn};
pub mod config;
pub use config::{ConfigError, ConfigProvider, gear_config_or_default, gear_config_required};
pub mod context;
pub use context::{GearContextBuilder, GearCtx};
pub mod client_hub;
pub mod registry;
pub use client_hub::ClientHub;
pub use registry::GearRegistry;
pub use toolkit_contract::{
ContractError, GrpcRepr, GrpcReprScalar, ProtoBridge, QueryParams, consumes, contract,
grpc_contract, provides, rest_contract,
};
pub use toolkit_macros::{ExpandVars, domain_model, gear, lifecycle};
pub mod contract_support {
#[cfg(feature = "contract-grpc-client")]
pub use toolkit_contract::grpc;
pub use toolkit_contract::{
contract, descriptor, error, grpc_repr, ir, policy, query, runtime, wiring,
};
}
pub use toolkit_utils::var_expand;
pub mod contracts;
pub mod api;
pub use api::{
IntoCanonical, OpenApiInfo, OpenApiRegistry, OpenApiRegistryImpl, OperationBuilder,
error_mapping_middleware,
};
pub use toolkit_odata::{Page, PageInfo};
pub mod http;
pub use http::sse::SseBroadcaster;
pub mod telemetry;
pub mod backends;
pub mod lifecycle;
pub mod plugins;
pub mod runtime;
pub mod wiring;
pub use runtime::{DependencyChecker, ReadinessHealthcheck};
pub mod domain;
pub use domain::{DomainErrorMarker, DomainModel};
pub mod directory;
pub use directory::{
DirectoryClient, GrpcServiceInfo, LocalDirectoryClient, RegisterInstanceInfo, ServiceEndpoint,
ServiceInstanceInfo,
};
mod healthcheck;
pub use healthcheck::{
Healthcheck, HealthcheckComponentReport, HealthcheckReport, HealthcheckResult,
HealthcheckStatus, RestHealthcheckRegistry,
};
pub mod discovery;
pub use discovery::{ConsumerRegistration, DirectoryEndpointResolver};
pub mod gts;
pub use toolkit_sdk::{Secured, WithSecurityContext};
pub use backends::{
BackendKind, GearRuntimeBackend, InstanceHandle, LocalProcessBackend, OopBackend,
OopGearConfig, OopSpawnConfig,
};
pub use lifecycle::{Lifecycle, Runnable, Status, StopReason, WithLifecycle};
pub use plugins::GtsPluginSelector;
pub use runtime::{
DEFAULT_SHUTDOWN_DEADLINE, DbOptions, Endpoint, GearInstance, GearManager, OopGearSpawnConfig,
OopSpawnOptions, RunOptions, ShutdownOptions, run,
};
#[cfg(feature = "bootstrap")]
pub mod bootstrap;