Skip to main content

platform_core/
lib.rs

1pub mod admin_actions;
2pub mod clock;
3pub mod config;
4pub mod context;
5pub mod db;
6pub mod error;
7pub mod events;
8pub mod execution;
9pub mod execution_logs;
10pub mod health;
11pub mod idempotency;
12pub mod ids;
13pub mod migrations;
14pub mod outbox;
15pub mod provider_calls;
16pub mod redis;
17pub mod runtime_config;
18pub mod shutdown;
19pub mod story_events;
20pub mod telemetry;
21pub mod telemetry_attrs;
22pub mod telemetry_query;
23pub mod worker_runtime_config;
24
25pub use admin_actions::{
26    AdminActionStoryRecord, admin_action_story_event_id, insert_admin_action_story_event,
27};
28pub use clock::{Clock, SystemClock};
29pub use config::{
30    AppConfig, AuthConfig, DEFAULT_LINKED_MODULE_PROFILE, DatabaseConfig, HttpConfig,
31    LENSO_COMPOSITION_PROFILE_ENV, LogFormat, ModuleConfig, ModuleSourcesConfig, RedisConfig,
32    ServiceConfig, TelemetryConfig, is_local_development_environment, parse_cors_allowed_origins,
33};
34pub use context::{
35    ActorContext, ActorResolutionRequest, ActorResolver, AppContext, ClientRequestMetadata,
36    CorrelationId, DevActorResolver, RequestContext, RequestId, TenantId, TraceContext,
37};
38pub use db::{
39    DbPool, DbTransaction, begin_transaction, commit_transaction, connect_pool,
40    rollback_transaction,
41};
42pub use error::{AppError, AppResult, ErrorCode};
43pub use events::{EventEnvelope, EventPayload, EventPublisher, LoggingEventPublisher};
44pub use execution::{ExecutionContext, ExecutionId};
45pub use execution_logs::{
46    EXECUTION_LOG_TARGET, ExecutionLogCaptureReport, ExecutionLogCaptureStatus,
47    ExecutionLogProvider, ExecutionLogQuery, ExecutionLogRecord, ExecutionLogRow,
48    ExecutionLogScope, ExecutionLogWriter, PostgresExecutionLogProvider,
49    PostgresExecutionLogWriter, capture_execution_logs,
50};
51pub use health::{HealthRegistry, HealthStatus};
52pub use idempotency::{IdempotencyClaim, IdempotencyKey, claim_idempotency_key_in_tx};
53pub use ids::{IdGenerator, UuidGenerator};
54pub use lenso_contracts::{StoryDisplayDescriptor, StoryDisplaySource};
55pub use migrations::{Migration, PLATFORM_MIGRATIONS, apply_migrations, apply_module_migration};
56pub use outbox::{
57    ClaimedOutboxEvent, EventDispatcher, EventHandler, EventHandlerRegistry,
58    LoggingEventDispatcher, OutboxEvent, OutboxPublisher, OutboxRelay, OutboxStatus,
59};
60pub use provider_calls::{
61    ProviderHttpCallRecord, insert_provider_http_call, provider_call_story_event_id,
62};
63pub use redis::{RedisConnection, connect_redis};
64pub use runtime_config::{
65    CONFIG_NOTIFY_CHANNEL, PostgresRuntimeConfigProvider, RuntimeConfigAuditEntry,
66    RuntimeConfigCell, RuntimeConfigDescriptor, RuntimeConfigGeneratedValue,
67    RuntimeConfigGroupDescriptor, RuntimeConfigProvider, RuntimeConfigRegistry, RuntimeConfigScope,
68    RuntimeConfigSnapshot, RuntimeConfigSource, RuntimeConfigType,
69    RuntimeConfigVisibilityCondition, StaticRuntimeConfigProvider, StoredRuntimeConfig,
70};
71pub use shutdown::Shutdown;
72pub use telemetry_attrs::{
73    RuntimeSpanAttributes, generate_trace_context, record_runtime_span_attributes,
74    trace_context_from_headers, trace_context_from_traceparent, trace_headers,
75};
76pub use telemetry_query::{
77    InMemoryTelemetrySpanProvider, NoopTelemetrySpanProvider, TelemetrySpan, TelemetrySpanProvider,
78    TelemetrySpanQuery,
79};
80pub use worker_runtime_config::WorkerRuntimeConfig;