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    ExecutionLogProvider, ExecutionLogQuery, ExecutionLogRow, PostgresExecutionLogProvider,
47};
48pub use health::{HealthRegistry, HealthStatus};
49pub use idempotency::{IdempotencyClaim, IdempotencyKey, claim_idempotency_key_in_tx};
50pub use ids::{IdGenerator, UuidGenerator};
51pub use lenso_contracts::{StoryDisplayDescriptor, StoryDisplaySource};
52pub use migrations::{Migration, PLATFORM_MIGRATIONS, apply_migrations, apply_module_migration};
53pub use outbox::{
54    ClaimedOutboxEvent, EventDispatcher, EventHandler, EventHandlerRegistry,
55    LoggingEventDispatcher, OutboxEvent, OutboxPublisher, OutboxRelay, OutboxStatus,
56};
57pub use provider_calls::{
58    ProviderHttpCallRecord, insert_provider_http_call, provider_call_story_event_id,
59};
60pub use redis::{RedisConnection, connect_redis};
61pub use runtime_config::{
62    CONFIG_NOTIFY_CHANNEL, PostgresRuntimeConfigProvider, RuntimeConfigAuditEntry,
63    RuntimeConfigCell, RuntimeConfigDescriptor, RuntimeConfigGeneratedValue,
64    RuntimeConfigGroupDescriptor, RuntimeConfigProvider, RuntimeConfigRegistry, RuntimeConfigScope,
65    RuntimeConfigSnapshot, RuntimeConfigSource, RuntimeConfigType,
66    RuntimeConfigVisibilityCondition, StaticRuntimeConfigProvider, StoredRuntimeConfig,
67};
68pub use shutdown::Shutdown;
69pub use telemetry_attrs::{
70    RuntimeSpanAttributes, generate_trace_context, record_runtime_span_attributes,
71    trace_context_from_headers, trace_context_from_traceparent, trace_headers,
72};
73pub use telemetry_query::{
74    InMemoryTelemetrySpanProvider, NoopTelemetrySpanProvider, TelemetrySpan, TelemetrySpanProvider,
75    TelemetrySpanQuery,
76};
77pub use worker_runtime_config::WorkerRuntimeConfig;