Skip to main content

Response

Enum Response 

Source
pub enum Response {
Show 38 variants SessionCreated { session_id: String, }, SessionInfo { info: SessionInfo, }, SessionAncestors { sessions: Vec<SessionInfo>, }, Sessions { sessions: Vec<SessionInfo>, }, SessionDeleted, SessionArchived, SessionRestored, Models { models: Vec<ModelInfo>, }, Aliases { global: Vec<AliasInfo>, project: Vec<AliasInfo>, }, ModelChanged { model: ModelInfo, }, Stream { event: Box<StreamEvent>, }, LoginSuccess { provider: String, }, AuthStatus { providers: Vec<String>, }, SubscriptionUsage { usage: SubscriptionUsage, }, ServerShutdown { restart: bool, }, SessionsCompleted { results: Vec<SessionResult>, }, Cancelled, Messages { messages: Vec<Message>, }, UserMessage { text: String, }, AgentDone, MessageReply { content: String, }, Ok, OkWithNote { note: String, }, GcComplete { deleted: usize, }, ToolExecuted { content: String, is_error: bool, }, TaskList { tasks: Vec<TaskInfo>, }, TaskDetail { task: TaskInfo, messages: Vec<TaskMessageInfo>, relations: Vec<TaskRelationInfo>, subtasks: Vec<TaskInfo>, sessions: Vec<TaskSessionInfo>, history: Vec<TaskHistoryInfo>, }, TaskUpdated { task: TaskInfo, }, TaskStatus { text: String, }, TaskOverview { active: Vec<TaskInfo>, queued_ready: Vec<TaskInfo>, queued_planning: Vec<TaskInfo>, blocked: Vec<TaskInfo>, held: Vec<TaskInfo>, recently_merged: Vec<TaskInfo>, recently_done: Vec<TaskInfo>, recently_closed: Vec<TaskInfo>, inflight_count: usize, max_concurrent: usize, wait_reasons: Vec<TaskWaitReasons>, }, TaskTree { tasks: Vec<(usize, TaskInfo)>, }, TaskMergeQueue { tasks: Vec<TaskInfo>, }, ProjectStats { stats: ProjectStatsInfo, }, ProjectInfo { project: Option<ProjectInfoEntry>, }, ResolvedSuccessor { session_id: String, }, SessionSucceeded { successor_id: String, }, TaskSessionRole { is_worker: bool, task_id: Option<i64>, role: Option<String>, }, Error { message: String, },
}

Variants§

§

SessionCreated

Session was created.

Fields

§session_id: String
§

SessionInfo

Info about a single session.

Fields

§

SessionAncestors

Ancestor chain for a session, leaf-first. See Request::GetSessionAncestors.

Fields

§sessions: Vec<SessionInfo>
§

Sessions

List of sessions.

Fields

§sessions: Vec<SessionInfo>
§

SessionDeleted

Session deleted.

§

SessionArchived

Session archived.

§

SessionRestored

Session restored (un-archived).

§

Models

Available models.

Fields

§models: Vec<ModelInfo>
§

Aliases

Configured aliases (global + per-project).

Added in protocol v0.2. Older clients will not understand this variant and will fall through to their default error path.

Fields

§global: Vec<AliasInfo>
§project: Vec<AliasInfo>
§

ModelChanged

Model changed.

Fields

§

Stream

Streaming event from the LLM.

Fields

§

LoginSuccess

OAuth login succeeded.

Fields

§provider: String
§

AuthStatus

Authentication status.

Fields

§providers: Vec<String>
§

SubscriptionUsage

Subscription usage data.

Fields

§

ServerShutdown

Server is shutting down. Clients should reconnect if restart=true.

Fields

§restart: bool
§

SessionsCompleted

Sessions completed (response to WaitSessions).

Fields

§

Cancelled

Agent loop was cancelled by the user.

§

Messages

Message history for a session.

Fields

§messages: Vec<Message>
§

UserMessage

A user message was sent (broadcast to subscribers).

Fields

§text: String
§

AgentDone

Agent loop completed (all turns done).

§

MessageReply

Reply content (returned to a QueueMessage with await_reply=true).

Fields

§content: String
§

Ok

Success (generic ack).

§

OkWithNote

Success, with an advisory note from the server.

Emitted in place of Ok when the server wants to tell the caller something about how the request was handled without treating it as an error. Today: QueueMessage (fire-and-forget) targeting a placeholder (log-provider) session — the note explains that the message was recorded but no agent loop ran. See task 582.

Older clients that don’t know this variant will fall through to their default-error path; the request still succeeded on the server side.

Fields

§note: String
§

GcComplete

Garbage-collection result.

Fields

§deleted: usize
§

ToolExecuted

Tool execution result (response to ExecuteTool).

Fields

§content: String
§is_error: bool
§

TaskList

List of tasks (flat, for search/merge queue results).

Fields

§tasks: Vec<TaskInfo>
§

TaskDetail

Full task details (response to TaskGet).

Fields

§subtasks: Vec<TaskInfo>
§sessions: Vec<TaskSessionInfo>

Every (session_id, role) pair recorded for this task, enriched with best-effort session state. Missing / deleted / cross-project sessions are dropped silently. Back-compat: older clients that don’t know about this field ignore it.

§history: Vec<TaskHistoryInfo>

State transitions and other task updates in chronological order.

§

TaskUpdated

Task created or updated (response to TaskCreate, TaskUpdate, TaskAssign).

Fields

§

TaskStatus

Scheduler status text (response to TaskStatus).

Fields

§text: String
§

TaskOverview

Structured scheduler overview (response to TaskOverview).

Fields

§active: Vec<TaskInfo>

Tasks in active lifecycle states (active, review, merging, refining).

§queued_ready: Vec<TaskInfo>

Tasks ready to dispatch (state=ready, not held, deps satisfied).

§queued_planning: Vec<TaskInfo>

Tasks queued for planning (state=planning, deps satisfied).

§blocked: Vec<TaskInfo>

Tasks blocked by unmet dependencies (state=ready or planning).

§held: Vec<TaskInfo>

Tasks held (state=ready or planning, held=true).

§recently_merged: Vec<TaskInfo>

Most recently merged tasks, newest first, capped at recent_limit (the request’s per-bucket limit).

§recently_done: Vec<TaskInfo>

Most recently “done” tasks (no_merge tasks that completed without producing a code change), newest first, capped at recent_limit.

§recently_closed: Vec<TaskInfo>

Most recently closed tasks, newest first, capped at recent_limit (the request’s per-bucket limit; merged and closed are independent).

§inflight_count: usize

Current in-flight count (active/review/merging/refining).

§max_concurrent: usize

Scheduler’s max-concurrent budget.

§wait_reasons: Vec<TaskWaitReasons>

For each queued/blocked task id, the full list of wait reasons keeping it from dispatch. Dependency reasons drive the inline ⏳ #N suffix in the picker; the detail pane renders every reason verbatim.

§

TaskTree

Task list with tree depth info (response to TaskList).

Fields

§tasks: Vec<(usize, TaskInfo)>
§

TaskMergeQueue

Merge queue (approved + merging tasks, response to TaskMergeQueue).

Fields

§tasks: Vec<TaskInfo>
§

ProjectStats

Project-wide usage / cost totals (response to ProjectStats).

Fields

§

ProjectInfo

Project metadata (response to GetProjectInfo).

project is None when the named project does not exist; this is not treated as an error response so callers can match on “unknown project” cleanly.

Fields

§

ResolvedSuccessor

Resolved tip of a session’s successor chain (response to Request::ResolveSuccessor). Returns the input session id unchanged when no successor is set or the chain dead-ends at an archived / missing successor. See task 914.

Fields

§session_id: String
§

SessionSucceeded

Broadcast on the predecessor’s subscriber channel when the session has been retired in favour of successor_id. Subscribed clients (e.g. the TUI) typically react by switching their view to the successor. See task 915.

Fields

§successor_id: String
§

TaskSessionRole

Response to Request::GetTaskSessionRole. When is_worker is true the session is currently bound to a non-terminal task in the role identified by role (typically "worker"); task_id names the task. When is_worker is false (no task linkage), task_id and role are None. See task 915.

Fields

§is_worker: bool
§task_id: Option<i64>
§

Error

Error.

Fields

§message: String

Trait Implementations§

Source§

impl Clone for Response

Source§

fn clone(&self) -> Response

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Response

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Response

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Response

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,