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