1pub mod context;
2pub mod error;
3pub mod iii;
4pub mod logger;
5pub mod protocol;
6pub mod stream;
7#[cfg(feature = "otel")]
8pub mod telemetry;
9pub mod triggers;
10pub mod types;
11
12pub use context::{Context, get_context, with_context};
13pub use error::IIIError;
14pub use iii::{
15 FunctionInfo, FunctionsAvailableGuard, III, TriggerInfo, WorkerInfo, WorkerMetadata,
16};
17pub use logger::{Logger, LoggerInvoker};
18pub use protocol::{
19 ErrorBody, FunctionMessage, Message, RegisterFunctionMessage, RegisterServiceMessage,
20 RegisterTriggerMessage, RegisterTriggerTypeMessage,
21};
22pub use stream::{Streams, UpdateBuilder};
23pub use triggers::{Trigger, TriggerConfig, TriggerHandler};
24pub use types::{ApiRequest, ApiResponse, FieldPath, StreamUpdateInput, UpdateOp, UpdateResult};
25
26pub use serde_json::Value;
27
28#[cfg(feature = "otel")]
30pub use telemetry::{
31 context::{
32 current_span_id, current_trace_id, extract_baggage, extract_context, extract_traceparent,
33 get_all_baggage, get_baggage_entry, inject_baggage, inject_traceparent,
34 remove_baggage_entry, set_baggage_entry,
35 },
36 flush_otel, get_meter, get_tracer, init_otel, is_initialized, shutdown_otel,
37 types::OtelConfig,
38 types::ReconnectionConfig,
39 with_span,
40};
41
42#[cfg(feature = "otel")]
44pub use opentelemetry::trace::SpanKind;
45#[cfg(feature = "otel")]
46pub use opentelemetry::trace::Status as SpanStatus;