systemprompt_models/execution/context/
context_error.rs1use systemprompt_identifiers::TaskId;
2use thiserror::Error;
3
4#[derive(Debug, Clone)]
5pub enum ContextIdSource {
6 Direct(String),
7 FromTask { task_id: TaskId },
8}
9
10#[derive(Debug, Error)]
11pub enum ContextExtractionError {
12 #[error("Missing required header: {0}")]
13 MissingHeader(String),
14
15 #[error("Missing Authorization header")]
16 MissingAuthHeader,
17
18 #[error("Invalid JWT token: {0}")]
19 InvalidToken(String),
20
21 #[error("JWT missing required 'session_id' claim")]
22 MissingSessionId,
23
24 #[error("JWT missing required 'sub' (user_id) claim")]
25 MissingUserId,
26
27 #[error(
28 "Missing required 'x-context-id' header (for MCP routes) or contextId in body (for A2A \
29 routes)"
30 )]
31 MissingContextId,
32
33 #[error("Invalid header value: {header}, reason: {reason}")]
34 InvalidHeaderValue { header: String, reason: String },
35
36 #[error("Invalid user_id: {0}")]
37 InvalidUserId(String),
38
39 #[error("Database error: {0}")]
40 DatabaseError(String),
41
42 #[error("User not found: {0}")]
43 UserNotFound(String),
44
45 #[error("Forbidden header '{header}': {reason}")]
46 ForbiddenHeader { header: String, reason: String },
47}