1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//! Curated re-exports for `use systemprompt::prelude::*`.
//!
//! The prelude is intentionally narrow — it covers the types that almost every
//! consumer needs (extension trait surface, errors, common providers, and a
//! small set of re-exported third-party types when their feature is enabled).
//! Anything specific to a single domain lives behind its module path
//! (`systemprompt::agent::…`, `systemprompt::ai::…`, etc.).
/// Core extension framework — the `Extension` trait, typed metadata, the
/// `register_extension!` macro, and registry/router types.
pub use ;
/// Typed extension errors — `ConfigError` (extension config validation) and
/// `LoaderError` (extension discovery / load failures).
pub use ;
/// Cross-cutting trait errors — `ApiError` for HTTP boundaries,
/// `ExtensionError` for extension lifecycle, `McpErrorData` for MCP responses.
pub use ;
/// Job trait surface — `Job`, `JobContext`, `JobResult` for implementing
/// scheduled or background work.
pub use ;
/// Provider trait surface — `LlmProvider` and `ToolProvider` plus their typed
/// `Result` aliases. Implement these to plug a custom inference backend or
/// tool host into the platform.
pub use ;
/// Database surface — `DbPool` (the workspace-wide SQLx pool wrapper) and
/// `DatabaseProvider` (the trait object used for runtime injection).
pub use ;
/// Application-runtime surface — `AppContext` (the read-only handle services
/// hold) and `AppContextBuilder` (its construction-time mutable form).
pub use ;
/// Re-export of the upstream `rmcp` crate so consumers can derive MCP tool
/// types via the same macros the platform itself uses.
pub use rmcp;
/// Filesystem-backed config loader from `systemprompt-loader`.
pub use ConfigLoader;
/// Tracing initialisation entry point from `systemprompt-logging`.
pub use init_logging;
pub use ;
/// Convenience re-export of `std::sync::Arc` so consumers do not need a
/// separate `use std::sync::Arc` line when wiring extensions.
pub use Arc;
/// Axum `Router` type — re-exported so consumers writing `ApiExtensionTyped`
/// implementations do not need a direct `axum` dependency.
pub use Router;
/// SQLx Postgres pool — re-exported for consumers building repositories on
/// top of the `database` feature.
pub use PgPool;