1pub mod ai_providers;
2pub mod analytics;
3pub mod artifact;
4pub mod auth;
5pub mod content;
6pub mod context;
7pub mod context_provider;
8pub mod domain_config;
9pub mod events;
10pub mod extension_error;
11pub mod file_upload;
12pub mod jwt;
13pub mod log_service;
14pub mod mcp_service;
15pub mod module;
16pub mod process;
17pub mod registry;
18pub mod repository;
19pub mod scheduler;
20pub mod service;
21pub mod session_analytics;
22pub mod storage;
23pub mod validation;
24pub mod validation_report;
25
26pub use systemprompt_provider_contracts::{
27 submit_job, ChatMessage, ChatRequest, ChatResponse, ChatRole, ChatStream, Job, JobContext,
28 JobResult, LlmProvider, LlmProviderError, LlmProviderResult, SamplingParameters, TokenUsage,
29 ToolCallRequest, ToolCallResult, ToolContent, ToolContext, ToolDefinition,
30 ToolExecutionContext, ToolExecutor, ToolProvider, ToolProviderError, ToolProviderResult,
31};
32
33pub use context::{
34 AppContext, ConfigProvider, ContextPropagation, DatabaseHandle, InjectContextHeaders, Module,
35 ModuleRegistry,
36};
37
38#[cfg(feature = "web")]
39pub use context::ApiModule;
40
41pub use systemprompt_identifiers::{
42 parse_database_datetime, DbValue, FromDbValue, JsonRow, ToDbValue,
43};
44
45pub use repository::{CrudRepository, Repository, RepositoryError};
46
47pub use service::{AsyncService, Service};
48
49pub use log_service::LogService;
50
51pub use context_provider::{
52 ContextProvider, ContextProviderError, ContextWithStats, DynContextProvider,
53};
54
55pub use artifact::{schemas, ArtifactSupport};
56
57pub use validation::{MetadataValidation, Validate, ValidationError, ValidationResult};
58
59pub use events::{
60 AnalyticsEvent, AnalyticsEventPublisher, LogEventData, LogEventLevel, LogEventPublisher,
61 UserEvent, UserEventPublisher,
62};
63
64pub use analytics::{
65 AnalyticsProvider, AnalyticsProviderError, AnalyticsResult, AnalyticsSession,
66 CreateSessionInput, DynAnalyticsProvider, DynFingerprintProvider, FingerprintProvider,
67 SessionAnalytics,
68};
69
70pub use auth::{
71 AuthAction, AuthPermission, AuthProvider, AuthProviderError, AuthResult, AuthUser,
72 AuthorizationProvider, DynAuthProvider, DynAuthorizationProvider, DynRoleProvider,
73 DynUserProvider, RoleProvider, TokenClaims, TokenPair, UserProvider,
74};
75
76pub use storage::{FileStorage, StoredFileId, StoredFileMetadata};
77
78pub use ai_providers::{
79 AiFilePersistenceProvider, AiGeneratedFile, AiProviderError, AiProviderResult,
80 AiSessionProvider, CreateAiSessionParams, DynAiFilePersistenceProvider, DynAiSessionProvider,
81 ImageGenerationInfo, ImageMetadata, ImageStorageConfig, InsertAiFileParams,
82};
83
84pub use scheduler::JobStatus;
85
86pub use registry::{
87 AgentInfo, AgentRegistryProvider, DynAgentRegistryProvider, DynMcpRegistryProvider,
88 McpRegistryProvider, McpServerInfo, RegistryError, ServiceOAuthConfig,
89};
90
91pub use extension_error::{ApiError, ExtensionError, McpErrorData};
92
93pub use domain_config::{DomainConfig, DomainConfigError, DomainConfigRegistry};
94
95pub use validation_report::{
96 StartupValidationError, StartupValidationReport, ValidationReport, ValidationWarning,
97};
98
99pub use file_upload::{
100 DynFileUploadProvider, FileUploadInput, FileUploadProvider, FileUploadProviderError,
101 FileUploadResult, UploadedFileInfo,
102};
103
104pub use jwt::{
105 AgentJwtClaims, DynJwtValidationProvider, GenerateTokenParams, JwtProviderError, JwtResult,
106 JwtValidationProvider,
107};
108
109pub use mcp_service::{
110 DynMcpServiceProvider, McpServerMetadata, McpServiceProvider, McpServiceProviderError,
111 McpServiceResult,
112};
113
114pub use process::{
115 DynProcessCleanupProvider, ProcessCleanupProvider, ProcessProviderError, ProcessResult,
116};
117
118pub use session_analytics::{
119 DynSessionAnalyticsProvider, SessionAnalyticsProvider, SessionAnalyticsProviderError,
120 SessionAnalyticsResult,
121};
122
123pub type Result<T> = std::result::Result<T, Box<dyn std::error::Error + Send + Sync>>;
124
125mod startup_events;
126pub use startup_events::*;