pub enum ServerRequest {
CommandExecutionRequestApproval {
request_id: RequestId,
params: CommandExecutionRequestApprovalParams,
},
FileChangeRequestApproval {
request_id: RequestId,
params: FileChangeRequestApprovalParams,
},
ToolRequestUserInput {
request_id: RequestId,
params: ToolRequestUserInputParams,
},
McpServerElicitationRequest {
request_id: RequestId,
params: McpServerElicitationRequestParams,
},
PermissionsRequestApproval {
request_id: RequestId,
params: PermissionsRequestApprovalParams,
},
DynamicToolCall {
request_id: RequestId,
params: DynamicToolCallParams,
},
ChatgptAuthTokensRefresh {
request_id: RequestId,
params: ChatgptAuthTokensRefreshParams,
},
AttestationGenerate {
request_id: RequestId,
params: AttestationGenerateParams,
},
CurrentTimeRead {
request_id: RequestId,
params: CurrentTimeReadParams,
},
ApplyPatchApproval {
request_id: RequestId,
params: ApplyPatchApprovalParams,
},
ExecCommandApproval {
request_id: RequestId,
params: ExecCommandApprovalParams,
},
}Expand description
Request initiated from the server and sent to the client.
Variants§
CommandExecutionRequestApproval
NEW APIs Sent when approval is requested for a specific command execution. This request is used for Turns started via turn/start.
FileChangeRequestApproval
Sent when approval is requested for a specific file change. This request is used for Turns started via turn/start.
ToolRequestUserInput
EXPERIMENTAL - Request input from the user for a tool call.
McpServerElicitationRequest
Request input for an MCP server elicitation.
PermissionsRequestApproval
Request approval for additional permissions from the user.
DynamicToolCall
Execute a dynamic tool call on the client.
ChatgptAuthTokensRefresh
AttestationGenerate
Generate a fresh upstream attestation result on demand.
CurrentTimeRead
Read the current time from an external clock owned by the client.
ApplyPatchApproval
DEPRECATED APIs below Request to approve a patch. This request is used for Turns started via the legacy APIs (i.e. SendUserTurn, SendUserMessage).
ExecCommandApproval
Request to exec a command. This request is used for Turns started via the legacy APIs (i.e. SendUserTurn, SendUserMessage).
Implementations§
Source§impl ServerRequest
impl ServerRequest
pub fn id(&self) -> &RequestId
pub fn response_from_result(&self, result: Result) -> Result<ServerResponse>
Trait Implementations§
Source§impl Clone for ServerRequest
impl Clone for ServerRequest
Source§fn clone(&self) -> ServerRequest
fn clone(&self) -> ServerRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ServerRequest
impl Debug for ServerRequest
Source§impl<'de> Deserialize<'de> for ServerRequest
impl<'de> Deserialize<'de> for ServerRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ServerRequest
impl JsonSchema for ServerRequest
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for ServerRequest
impl PartialEq for ServerRequest
Source§impl Serialize for ServerRequest
impl Serialize for ServerRequest
impl StructuralPartialEq for ServerRequest
Source§impl TS for ServerRequest
impl TS for ServerRequest
Source§type WithoutGenerics = ServerRequest
type WithoutGenerics = ServerRequest
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = ServerRequest
type OptionInnerType = ServerRequest
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete() -> String
fn decl_concrete() -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
Source§impl TryFrom<JSONRPCRequest> for ServerRequest
impl TryFrom<JSONRPCRequest> for ServerRequest
Auto Trait Implementations§
impl Freeze for ServerRequest
impl RefUnwindSafe for ServerRequest
impl Send for ServerRequest
impl Sync for ServerRequest
impl Unpin for ServerRequest
impl UnsafeUnpin for ServerRequest
impl UnwindSafe for ServerRequest
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more