pub struct RawRequest {
pub id: String,
pub command: String,
pub lsp_hints: Option<Value>,
pub session_id: Option<String>,
pub params: Value,
}Expand description
Inbound request envelope.
Two-stage parse: deserialize this first to get id + command, then
dispatch on command and pull specific params from the flattened params.
Fields§
§id: String§command: String§lsp_hints: Option<Value>Optional LSP hints from the plugin (R031 forward compatibility).
session_id: Option<String>Optional session namespace for undo/checkpoint isolation.
When the plugin passes session_id, Rust partitions backup/checkpoint
state by it so concurrent OpenCode sessions sharing one bridge can’t
see or restore each other’s snapshots. When absent, falls back to
DEFAULT_SESSION_ID.
params: ValueAll remaining fields are captured here for per-command deserialization.
Implementations§
Source§impl RawRequest
impl RawRequest
Sourcepub fn session(&self) -> &str
pub fn session(&self) -> &str
Session namespace for this request, falling back to DEFAULT_SESSION_ID
when the plugin didn’t supply one.
Trait Implementations§
Source§impl Debug for RawRequest
impl Debug for RawRequest
Source§impl<'de> Deserialize<'de> for RawRequest
impl<'de> Deserialize<'de> for RawRequest
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RawRequest
impl RefUnwindSafe for RawRequest
impl Send for RawRequest
impl Sync for RawRequest
impl Unpin for RawRequest
impl UnsafeUnpin for RawRequest
impl UnwindSafe for RawRequest
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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