codex_runtime/runtime/
errors.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3use thiserror::Error;
4
5#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
6#[serde(rename_all = "camelCase")]
7pub struct RpcErrorObject {
8 pub code: i64,
9 pub message: String,
10 pub data: Option<Value>,
11}
12
13#[derive(Clone, Debug, Error, Serialize, Deserialize, PartialEq, Eq)]
14#[serde(rename_all = "camelCase")]
15pub enum RuntimeError {
16 #[error("runtime is not initialized")]
17 NotInitialized,
18 #[error("runtime is already initialized")]
19 AlreadyInitialized,
20 #[error("invalid config: {0}")]
21 InvalidConfig(String),
22 #[error("transport is closed")]
23 TransportClosed,
24 #[error("child process exited")]
25 ProcessExited,
26 #[error("request timed out")]
27 Timeout,
28 #[error("server request receiver already taken")]
29 ServerRequestReceiverTaken,
30 #[error("internal error: {0}")]
31 Internal(String),
32}
33
34#[derive(Clone, Debug, Error, Serialize, Deserialize, PartialEq, Eq)]
35#[serde(rename_all = "camelCase")]
36pub enum RpcError {
37 #[error("runtime overloaded")]
38 Overloaded,
39 #[error("rpc call timed out")]
40 Timeout,
41 #[error("invalid request: {0}")]
42 InvalidRequest(String),
43 #[error("method not found: {0}")]
44 MethodNotFound(String),
45 #[error("server error: {0:?}")]
46 ServerError(RpcErrorObject),
47 #[error("transport is closed")]
48 TransportClosed,
49}
50
51#[derive(Clone, Debug, Error, Serialize, Deserialize, PartialEq, Eq)]
52#[serde(rename_all = "camelCase")]
53pub enum SinkError {
54 #[error("io error: {0}")]
55 Io(String),
56 #[error("serialize error: {0}")]
57 Serialize(String),
58 #[error("internal error: {0}")]
59 Internal(String),
60}