systemprompt-runtime 0.21.1

Application runtime for systemprompt.io AI governance infrastructure. AppContext, lifecycle builder, extension registry, and module wiring for the MCP governance pipeline.
Documentation

Production infrastructure for AI agents

Website · Documentation · Guides · Core · Template · Discord


systemprompt-runtime

Crates.io Docs.rs License: BSL-1.1 codecov

The one place every request passes through before it reaches an agent, a tool, or the gateway. AppContext holds the database pool, configuration, registries, and analytics that the governance pipeline reads from, and this crate builds it, validates it at startup, and wires modules into it at compile time.

Layer: App, orchestrates domain modules. Part of the systemprompt-core workspace.

Overview

This crate:

  • Builds and holds AppContext, the central runtime state container.
  • Registers module routes at compile time through inventory macros.
  • Validates system configuration and extensions before the server accepts traffic.
  • Coordinates domain services without implementing business logic.

Infrastructure · Self-Hosted Deployment

Modules

Module Purpose
context AppContext and its planes (DataPlane, ConfigPlane, Plugins, Subsystems), plus the GeoIP and content-config loaders
builder AppContextBuilder fluent construction (with_extensions, with_marketplace_filter) and plane assembly
registry Compile-time module registration and routing (ModuleApiRegistry, ModuleApiRegistration, ModuleType, WellKnownRoute)
startup_validation StartupValidator across files, rate limits, web/content config, agents, MCP servers, AI providers, and extensions
database_context DatabaseContext, a database-only context for CLI tools that do not need the full runtime
span create_request_span, builds a tracing span with user, session, trace, and context IDs
wellknown .well-known endpoint metadata registry (WellKnownMetadata, get_wellknown_metadata)
validation Runtime prerequisite checks (validate_system, validate_database_path)
error RuntimeError / RuntimeResult, the typed error model for construction and validation

AppContext is assembled either through AppContextBuilder (the bootstrap path: ProfileBootstrap, database init, extension discovery, optional GeoIP and content config, tracing with database persistence) or directly through AppContext::from_parts(data, cfg, plugins, subsystems) for tests and embedders that own plane construction.

Usage

[dependencies]
systemprompt-runtime = "0.21"

Macros

Macro Purpose
register_module_api! Register module routes with the runtime registry
register_wellknown_route! Register .well-known endpoints with optional metadata
use systemprompt_runtime::{register_module_api, ServiceCategory, ModuleType};

register_module_api!(
    "my-module",
    ServiceCategory::Core,
    my_module::routes,
    true,
    ModuleType::Regular
);

Dependencies

Crate Purpose
systemprompt-database Database pool and migrations
systemprompt-config Configuration loading
systemprompt-models Module and config definitions
systemprompt-logging Tracing and CLI output
systemprompt-extension Extension discovery and validation
systemprompt-analytics Analytics service and GeoIP
inventory Compile-time static registration

License

BSL-1.1 (Business Source License). Source-available for evaluation, testing, and non-production use. Production use requires a commercial license. Each version converts to Apache 2.0 four years after publication. See LICENSE.


systemprompt.io · Documentation · Guides · Live Demo · Template · crates.io · docs.rs · Discord

App layer · Own how your organization uses AI.