#[non_exhaustive]pub enum DetailedTask {
Working {
metadata: TaskMetadata,
},
InputRequired {
metadata: TaskMetadata,
input_requests: BTreeMap<String, InputRequest>,
},
Completed {
metadata: TaskMetadata,
result: Map<String, Value>,
},
Failed {
metadata: TaskMetadata,
error: JsonRpcError,
},
Cancelled {
metadata: TaskMetadata,
},
}Expand description
Complete status-specific task state returned by tasks/get and
notifications/tasks.
The internally tagged representation guarantees that required payloads
match their status: input_required has inputRequests, completed has
result, and failed has error.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Working
Work is currently in progress.
Fields
metadata: TaskMetadataShared task fields.
InputRequired
Work is paused until the client fulfils the outstanding requests.
Fields
metadata: TaskMetadataShared task fields.
input_requests: BTreeMap<String, InputRequest>All currently outstanding server-to-client requests.
Completed
Work completed successfully.
Tool results with isError: true still use this variant.
Fields
metadata: TaskMetadataShared task fields.
Failed
Execution failed with a JSON-RPC error.
Fields
metadata: TaskMetadataShared task fields.
error: JsonRpcErrorStructured JSON-RPC execution error.
Cancelled
Work was cancelled before completion.
Fields
metadata: TaskMetadataShared task fields.
Implementations§
Source§impl DetailedTask
impl DetailedTask
Sourcepub fn working(metadata: TaskMetadata) -> DetailedTask
pub fn working(metadata: TaskMetadata) -> DetailedTask
Construct a working task.
Sourcepub fn input_required(
metadata: TaskMetadata,
input_requests: BTreeMap<String, InputRequest>,
) -> DetailedTask
pub fn input_required( metadata: TaskMetadata, input_requests: BTreeMap<String, InputRequest>, ) -> DetailedTask
Construct an input-required task.
Sourcepub fn completed(
metadata: TaskMetadata,
result: Map<String, Value>,
) -> DetailedTask
pub fn completed( metadata: TaskMetadata, result: Map<String, Value>, ) -> DetailedTask
Construct a completed task from an object-valued synchronous result.
Sourcepub fn failed(metadata: TaskMetadata, error: JsonRpcError) -> DetailedTask
pub fn failed(metadata: TaskMetadata, error: JsonRpcError) -> DetailedTask
Construct a failed task from a structured JSON-RPC error.
Sourcepub fn cancelled(metadata: TaskMetadata) -> DetailedTask
pub fn cancelled(metadata: TaskMetadata) -> DetailedTask
Construct a cancelled task.
Sourcepub fn status(&self) -> TaskStatus
pub fn status(&self) -> TaskStatus
Current task status.
Sourcepub fn metadata(&self) -> &TaskMetadata
pub fn metadata(&self) -> &TaskMetadata
Shared task metadata.
Sourcepub fn input_requests(&self) -> Option<&BTreeMap<String, InputRequest>>
pub fn input_requests(&self) -> Option<&BTreeMap<String, InputRequest>>
Outstanding requests when the task is input-required.
Sourcepub fn error(&self) -> Option<&JsonRpcError>
pub fn error(&self) -> Option<&JsonRpcError>
Failed JSON-RPC error.
Trait Implementations§
Source§impl Clone for DetailedTask
impl Clone for DetailedTask
Source§fn clone(&self) -> DetailedTask
fn clone(&self) -> DetailedTask
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more