Expand description
Foundation data models for systemprompt.io.
systemprompt-models is the shared shared/* crate that every
other layer (infra, domain, app, entry) depends on for the
plain DTO and configuration shapes that flow across the system.
It owns the wire types of the public HTTP API, the on-disk profile
and services configuration, the A2A and AG-UI protocol shapes, the
MCP metadata helpers, and the typed error enums returned by every
public function in this crate.
§Module map
a2a— A2A protocol agent card, message, task, and transport types.agui— AG-UI streaming event protocol.ai— LLM request/response shapes plus theai::AiProvidertrait.api— public HTTP envelopes, error model, pagination, cloud DTOs.artifacts— typed tool-result artifacts.auth— authenticated user, permission, audience, and PKCE types.config— globalconfig::Configsingleton and validation helpers.content,content_config— published content metadata.errors—thiserror-derived public error enums.events— analytics, A2A and system event envelopes.execution— request context and execution-step bookkeeping.extension— extension framework manifest types.mcp— MCP protocol metadata helpers.modules— module manifest tree resolution.oauth— OAuth client / server config shapes.paths— well-known directory layout helpers.profile— on-disk profile and bootstrap configuration.repository— repository lifecycle traits and value objects.routing— request routing classification.secrets— secrets document model.services— services manifest (agents, plugins, hooks, MCP, …).users— public user / session summaries.validators— startup configuration validation passes.
§Feature flags
| Feature | Effect |
|---|---|
| default | All public DTOs and traits, no axum integration. |
web | Adds axum::IntoResponse impls for the API envelopes. |
Public functions return thiserror-derived enums from errors;
anyhow::Error is never used in a public signature.
Re-exports§
pub use a2a::AgentAuthentication;pub use a2a::AgentCapabilities;pub use a2a::AgentCard;pub use a2a::AgentCardBuilder;pub use a2a::AgentCardSignature;pub use a2a::AgentExtension;pub use a2a::AgentInterface;pub use a2a::AgentProvider;pub use a2a::AgentSkill;pub use a2a::ApiKeyLocation;pub use a2a::Artifact as A2aArtifact;pub use a2a::ArtifactMetadata;pub use a2a::ArtifactSummary;pub use a2a::DataPart;pub use a2a::FileContent;pub use a2a::FilePart;pub use a2a::McpServerMetadata;pub use a2a::McpToolsParams;pub use a2a::Message;pub use a2a::MessageMetadata as A2aMessageMetadata;pub use a2a::MessageRole as A2aMessageRole;pub use a2a::OAuth2Flow;pub use a2a::OAuth2Flows;pub use a2a::Part;pub use a2a::ProtocolBinding;pub use a2a::SecurityScheme;pub use a2a::Task;pub use a2a::TaskMetadata;pub use a2a::TaskState;pub use a2a::TaskStatus;pub use a2a::TextPart;pub use a2a::TransportProtocol;pub use admin::ActivityTrend;pub use admin::AnalyticsData as AdminAnalyticsData;pub use admin::BotTrafficStats;pub use admin::BrowserBreakdown;pub use admin::ContentStat;pub use admin::DeviceBreakdown;pub use admin::GeographicBreakdown;pub use admin::LogEntry as AdminLogEntry;pub use admin::LogLevel as AdminLogLevel;pub use admin::RecentConversation;pub use admin::TrafficData as AdminTrafficData;pub use admin::UserInfo;pub use admin::UserMetricsWithTrends;pub use agui::AgUiEvent;pub use agui::AgUiEventBuilder;pub use agui::AgUiEventType;pub use agui::CustomPayload;pub use agui::GenericCustomPayload;pub use agui::JsonPatchOperation;pub use agui::MessageRole as AgUiMessageRole;pub use agui::MessagesSnapshotPayload;pub use agui::RunErrorPayload;pub use agui::RunFinishedPayload;pub use agui::RunStartedPayload;pub use agui::StateDeltaBuilder;pub use agui::StateDeltaPayload;pub use agui::StateSnapshotPayload;pub use agui::StepFinishedPayload;pub use agui::StepStartedPayload;pub use agui::TextMessageContentPayload;pub use agui::TextMessageEndPayload;pub use agui::TextMessageStartPayload;pub use agui::ToolCallArgsPayload;pub use agui::ToolCallEndPayload;pub use agui::ToolCallResultPayload;pub use agui::ToolCallStartPayload;pub use ai::AiContentPart;pub use ai::AiMessage;pub use ai::AiProvider;pub use ai::AiRequest;pub use ai::AiRequestBuilder;pub use ai::AiResponse;pub use ai::DynAiProvider;pub use ai::McpTool;pub use ai::MessageRole;pub use ai::ModelConfig;pub use ai::ModelHint;pub use ai::ModelPreferences;pub use ai::ProviderConfig;pub use ai::ResponseFormat;pub use ai::SUPPORTED_AUDIO_TYPES;pub use ai::SUPPORTED_IMAGE_TYPES;pub use ai::SUPPORTED_TEXT_TYPES;pub use ai::SUPPORTED_VIDEO_TYPES;pub use ai::SamplingParams;pub use ai::SearchGroundedResponse;pub use ai::StreamChunk;pub use ai::StructuredOutputOptions;pub use ai::ToolCall;pub use ai::ToolExecution;pub use ai::ToolResultFormatter;pub use ai::is_supported_audio;pub use ai::is_supported_image;pub use ai::is_supported_media;pub use ai::is_supported_text;pub use ai::is_supported_video;pub use api::AcceptedResponse;pub use api::ApiError;pub use api::ApiErrorExt;pub use api::ApiQuery;pub use api::ApiResponse;pub use api::CheckoutEvent;pub use api::CheckoutRequest;pub use api::CheckoutResponse;pub use api::CloudApiError;pub use api::CloudApiErrorDetail;pub use api::CloudApiResponse;pub use api::CloudCustomerInfo;pub use api::CloudListResponse;pub use api::CloudLogEntry;pub use api::CloudLogsResponse;pub use api::CloudPlan;pub use api::CloudPlanInfo;pub use api::CloudStatusResponse;pub use api::CloudTenant;pub use api::CloudTenantInfo;pub use api::CloudTenantSecrets;pub use api::CloudTenantStatus;pub use api::CloudTenantStatusResponse;pub use api::CloudUserInfo;pub use api::CollectionResponse;pub use api::CreateContextRequest;pub use api::CreatedResponse;pub use api::DeployResponse;pub use api::DiscoveryResponse;pub use api::ErrorCode;pub use api::ErrorResponse;pub use api::ExternalDbAccessResponse;pub use api::Link;pub use api::ModuleInfo;pub use api::PaginationInfo;pub use api::PaginationParams;pub use api::ProvisioningEvent;pub use api::ProvisioningEventType;pub use api::RegistryToken;pub use api::ResponseLinks;pub use api::ResponseMeta;pub use api::SearchQuery;pub use api::SetExternalDbAccessRequest;pub use api::SetSecretsRequest;pub use api::SingleResponse;pub use api::SortOrder;pub use api::SortParams;pub use api::SubscriptionStatus;pub use api::SuccessResponse;pub use api::UpdateContextRequest;pub use api::UserContext;pub use api::UserContextWithStats;pub use api::UserMeResponse;pub use api::ValidationError;pub use artifacts::Alignment;pub use artifacts::Artifact;pub use artifacts::ArtifactSchema;pub use artifacts::ArtifactType;pub use artifacts::AudioArtifact;pub use artifacts::AxisType;pub use artifacts::ChartArtifact;pub use artifacts::ChartDataset;pub use artifacts::ChartType;pub use artifacts::CliArtifact;pub use artifacts::CliArtifactType;pub use artifacts::Column;pub use artifacts::ColumnType;pub use artifacts::CommandResultRaw;pub use artifacts::ConversionError;pub use artifacts::ExecutionMetadata;pub use artifacts::ImageArtifact;pub use artifacts::RenderingHints;pub use artifacts::SortOrder as ArtifactSortOrder;pub use artifacts::TableArtifact;pub use artifacts::TableHints;pub use artifacts::ToolResponse;pub use artifacts::VideoArtifact;pub use auth::AuthError;pub use auth::AuthenticatedUser;pub use auth::BEARER_PREFIX;pub use auth::BaseRole;pub use auth::BaseRoles;pub use auth::GrantType;pub use auth::PkceMethod;pub use auth::ResponseType;pub use config::Config;pub use config::PathNotConfiguredError;pub use content::ContentLink;pub use content::IngestionReport;pub use content_config::ArticleDefaults;pub use content_config::Category;pub use content_config::ContentConfigError;pub use content_config::ContentConfigErrors;pub use content_config::ContentConfigRaw;pub use content_config::ContentRouting;pub use content_config::ContentSourceConfigRaw;pub use content_config::IndexingConfig;pub use content_config::Metadata;pub use content_config::OrganizationData;pub use content_config::ParentRoute;pub use content_config::SitemapConfig;pub use content_config::SourceBranding;pub use content_config::StructuredData;pub use errors::CoreError;pub use errors::ServiceError;pub use events::A2AEvent;pub use events::A2AEventBuilder;pub use events::A2AEventType;pub use events::AnalyticsEvent;pub use events::AnalyticsEventBuilder;pub use events::ContextEvent;pub use events::ContextSummary;pub use events::SystemEvent;pub use events::SystemEventBuilder;pub use events::SystemEventType;pub use execution::ExecutionStep;pub use execution::PlannedTool;pub use execution::RequestContext;pub use execution::StepContent;pub use execution::StepId;pub use execution::StepStatus;pub use execution::StepType;pub use execution::TrackedStep;pub use extension::BuildType;pub use extension::DiscoveredExtension;pub use extension::Extension;pub use extension::ExtensionManifest;pub use extension::ExtensionType;pub use extension::ManifestRole;pub use mcp::Deployment;pub use mcp::DeploymentConfig;pub use mcp::DynMcpDeploymentProvider;pub use mcp::DynMcpRegistry;pub use mcp::DynMcpToolProvider;pub use mcp::ERROR as MCP_ERROR;pub use mcp::McpAuthState;pub use mcp::McpDeploymentProvider;pub use mcp::McpProvider;pub use mcp::McpRegistry;pub use mcp::McpServerConfig;pub use mcp::McpServerState;pub use mcp::McpToolProvider;pub use mcp::OAuthRequirement;pub use mcp::RUNNING as MCP_RUNNING;pub use mcp::RegistryConfig;pub use mcp::STARTING as MCP_STARTING;pub use mcp::STOPPED as MCP_STOPPED;pub use mcp::Settings;pub use modules::ApiConfig;pub use modules::ApiPaths;pub use modules::CliPaths;pub use modules::Module;pub use modules::ModuleDefinition;pub use modules::ModulePermission;pub use modules::ModuleSchema;pub use modules::ModuleSeed;pub use modules::ModuleType;pub use modules::Modules;pub use modules::ServiceCategory;pub use oauth::OAuthClientConfig;pub use oauth::OAuthServerConfig;pub use paths::AppPaths;pub use paths::BuildPaths;pub use paths::PathError;pub use paths::StoragePaths;pub use paths::SystemPaths;pub use paths::WebPaths;pub use paths::cloud_container;pub use paths::dir_names;pub use paths::file_names;pub use profile::CloudConfig;pub use profile::CloudValidationMode;pub use profile::ContentNegotiationConfig;pub use profile::DatabaseConfig as ProfileDatabaseConfig;pub use profile::Environment;pub use profile::ExtensionsConfig;pub use profile::LogLevel;pub use profile::OutputFormat;pub use profile::PathsConfig;pub use profile::Profile;pub use profile::ProfileInfo;pub use profile::ProfileStyle;pub use profile::ProfileType;pub use profile::RateLimitsConfig;pub use profile::RuntimeConfig;pub use profile::SecurityConfig;pub use profile::SecurityHeadersConfig;pub use profile::ServerConfig;pub use profile::SiteConfig;pub use repository::ServiceLifecycle;pub use repository::ServiceRecord;pub use repository::WhereClause;pub use routing::ApiCategory;pub use routing::AssetType;pub use routing::RouteClassifier;pub use routing::RouteType;pub use secrets::Secrets;pub use services::AGENT_CONFIG_FILENAME;pub use services::AgentCardConfig;pub use services::AgentConfig;pub use services::AgentMetadataConfig;pub use services::AgentProviderInfo;pub use services::AgentSummary;pub use services::AiConfig;pub use services::AiProviderConfig;pub use services::CapabilitiesConfig;pub use services::ComponentFilter;pub use services::ComponentSource;pub use services::DEFAULT_AGENT_SYSTEM_PROMPT_FILE;pub use services::DEFAULT_SKILL_CONTENT_FILE;pub use services::DiskAgentConfig;pub use services::DiskHookConfig;pub use services::DiskSkillConfig;pub use services::HOOK_CONFIG_FILENAME;pub use services::HistoryConfig;pub use services::HookAction;pub use services::HookCategory;pub use services::HookEvent;pub use services::HookEventsConfig;pub use services::HookMatcher;pub use services::HookType;pub use services::IncludableString;pub use services::JobConfig;pub use services::McpConfig;pub use services::OAuthConfig as AgentOAuthConfig;pub use services::PartialServicesConfig;pub use services::PluginAuthor;pub use services::PluginComponentRef;pub use services::PluginConfig;pub use services::PluginConfigFile;pub use services::PluginScript;pub use services::PluginVariableDef;pub use services::RuntimeStatus;pub use services::SKILL_CONFIG_FILENAME;pub use services::SamplingConfig;pub use services::SchedulerConfig;pub use services::ServiceType;pub use services::ServicesConfig;pub use services::Settings as ServicesSettings;pub use services::SkillConfig;pub use services::SkillsConfig;pub use services::ToolModelConfig;pub use services::ToolModelSettings;pub use services::strip_frontmatter;pub use users::SessionSummary;pub use users::UserSummary;
Modules§
- a2a
a2amodule — see crate-level docs for context.- admin
adminmodule — see crate-level docs for context.- agui
aguimodule — see crate-level docs for context.- ai
aimodule — see crate-level docs for context.- api
apimodule — see crate-level docs for context.- artifacts
artifactsmodule — see crate-level docs for context.- auth
authmodule — see crate-level docs for context.- config
configmodule — see crate-level docs for context.- content
contentmodule — see crate-level docs for context.- content_
config content_configmodule — see crate-level docs for context.- errors
- Cross-cutting error types for
systemprompt-models. - events
eventsmodule — see crate-level docs for context.- execution
executionmodule — see crate-level docs for context.- extension
extensionmodule — see crate-level docs for context.- macros
macrosmodule — see crate-level docs for context.- mcp
mcpmodule — see crate-level docs for context.- modules
modulesmodule — see crate-level docs for context.- net
netmodule — see crate-level docs for context.- oauth
oauthmodule — see crate-level docs for context.- paths
pathsmodule — see crate-level docs for context.- profile
profilemodule — see crate-level docs for context.- repository
repositorymodule — see crate-level docs for context.- routing
routingmodule — see crate-level docs for context.- secrets
secretsmodule — see crate-level docs for context.- services
servicesmodule — see crate-level docs for context.- text
textmodule — see crate-level docs for context.- time_
format time_formatmodule — see crate-level docs for context.- users
usersmodule — see crate-level docs for context.- validators
- Domain configuration validators for startup validation.
Macros§
Structs§
- AgentId
- Animation
Config - Call
Tool Result - The result of a tool call operation.
- Card
Config - Colors
Config - Context
Id - Fonts
Config - Layout
Config - Logo
Config - Mobile
Config - Radius
Config - Script
Config - Session
Id - Shadows
Config - Spacing
Config - Startup
Validation Error - Startup
Validation Report - TaskId
- Touch
Targets Config - TraceId
- Typography
Config - UserId
- Validation
Report - Validation
Warning - WebConfig
- WebPaths
Config - ZIndex
Config