Skip to main content

ServerMessage

Enum ServerMessage 

Source
#[non_exhaustive]
pub enum ServerMessage {
Show 54 variants ComputerOpened { request_id: String, session_id: String, }, DesktopStreamState { request_id: String, enabled: bool, }, DesktopData { data: Vec<u8>, }, DesktopControlState { request_id: Option<String>, enabled: bool, is_owner: bool, session_id: Option<String>, }, HookEvent { event: HookEvent, }, StorageUsage { request_id: String, usage: StorageUsage, }, Telemetry { request_id: String, revision: u64, sinks: Vec<TelemetrySinkReport>, }, BrowserPageRequested { request_id: String, session_id: String, foreground: bool, }, DesktopControlRequested { request_id: String, execution_id: String, session_id: String, request: Value, }, DesktopControlEnded { execution_id: String, }, Paired { client_id: String, token: String, }, Authenticated, Ready { payload: ReadyPayload, }, SessionOpened { request_id: String, payload: SessionReadyPayload, }, SessionReplayComplete { request_id: String, session_id: String, }, SessionHistory { request_id: String, session_id: String, records: Vec<RecordedEvent>, next_before_sequence: Option<u64>, }, SessionChanged { payload: SessionReadyPayload, }, RealtimeVoiceStarted { request_id: String, session_id: String, voice_id: String, answer_sdp: String, }, RealtimeVoiceFailed { request_id: String, session_id: String, message: String, }, RealtimeVoiceEnded { session_id: String, voice_id: String, reason: Option<String>, }, GatewayConfigured { request_id: String, payload: ReadyPayload, }, Contributions { request_id: String, contributions: Vec<FrontendContribution>, }, Accepted { request_id: String, }, SessionFileUploadReady { request_id: String, session_id: String, upload_id: String, max_chunk_bytes: usize, }, SessionFileUploadChunkAccepted { request_id: String, session_id: String, upload_id: String, next_offset: u64, }, SessionFileUploadCompleted { request_id: String, session_id: String, file: SessionFileReference, }, SessionFiles { request_id: String, session_id: String, files: Vec<SessionFileRecord>, }, SessionFileChunk { request_id: String, session_id: String, file_id: String, offset: u64, data: Vec<u8>, next_offset: Option<u64>, }, Rejected { request_id: String, code: String, message: String, fatal: bool, }, AgentEvent { session_id: String, record: RecordedEvent, }, Sessions { request_id: Option<String>, sessions: Vec<SessionRecord>, }, BackgroundApprovals { approvals: Vec<BackgroundApproval>, }, SessionsChanged { sessions: Vec<SessionSlot>, revision: String, }, BotSessions { request_id: String, bot_id: String, sessions: Vec<SessionRecord>, }, Bots { request_id: Option<String>, bots: Vec<BotRecord>, }, Clients { request_id: String, current_client_id: String, clients: Vec<ClientStatus>, }, ProviderCredentialCleared { request_id: String, instance: String, }, ProviderCredentialSaved { request_id: String, instance: String, provider: String, }, PairingCode { request_id: String, code: String, expires_at: i64, }, ProviderLoginStarted { request_id: String, login_id: String, provider: String, verification_url: String, user_code: String, }, ProviderLoginFinished { request_id: String, login_id: String, provider: String, }, GitCredentialStatus { request_id: String, available: bool, username: Option<String>, }, SshIdentities { request_id: String, identities: Vec<SshIdentityRecord>, }, SshIdentityGenerated { request_id: String, identity: SshIdentityRecord, public_key: String, }, Profile { request_id: String, profile: ProfileSnapshot, }, GitDiff { request_id: String, session_id: String, scope: GitDiffScope, diff: String, }, GitDiffTotals { request_id: String, session_id: String, scope: GitDiffScope, totals: DiffTotals, }, Directories { request_id: String, listing: DirectoryListing, }, WorkspaceFiles { request_id: String, session_id: String, files: Vec<WorkspaceFileRecord>, truncated: bool, }, WorkspaceFileChunk { request_id: String, session_id: String, path: String, offset: u64, data: Vec<u8>, next_offset: Option<u64>, }, Routines { request_id: String, routines: Vec<Routine>, }, RoutineHistory { request_id: String, runs: Vec<RoutineRun>, }, RoutineRunPreview { request_id: String, preview: RoutineRunPreview, }, Error { code: String, message: String, fatal: bool, },
}
Expand description

Results and broadcasts emitted by the gateway.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

ComputerOpened

Acknowledges showing the gateway-owned computer.

Fields

§request_id: String

The request identifier.

§session_id: String

The chat whose browser tab was shown.

§

DesktopStreamState

Acknowledges opening or closing this connection’s desktop stream.

Fields

§request_id: String

The request identifier.

§enabled: bool

Whether the stream is open.

§

DesktopData

Ordered RFB bytes from the gateway desktop.

Fields

§data: Vec<u8>

The raw RFB data, limited to MAX_DESKTOP_CHUNK_BYTES.

§

DesktopControlState

The gateway’s current desktop lease, relative to this connection.

Fields

§request_id: Option<String>

The acknowledged request, or absent for a broadcast update.

§enabled: bool

Whether execution is held for pending or granted human control.

§is_owner: bool

Whether this connection owns control.

§session_id: Option<String>

The controlling chat, or the latest agent chat when watching.

§

HookEvent

A committed source changed; clients refresh their existing snapshots.

Fields

§event: HookEvent

Committed typed lifecycle fact.

§

StorageUsage

Fresh measured storage usage.

Fields

§request_id: String

Correlates this response with its request.

§usage: StorageUsage

Measured storage ownership and totals.

§

Telemetry

Collector configuration and delivery state.

Fields

§request_id: String

Correlates this response with its request.

§revision: u64

Current collector configuration revision.

§sinks: Vec<TelemetrySinkReport>

Configured collectors.

§

BrowserPageRequested

Requests the local renderer’s assigned page for one chat.

Fields

§request_id: String

The request identifier.

§session_id: String

The chat identifier.

§foreground: bool

Whether the human explicitly asked to activate this page.

§

DesktopControlRequested

Selects the desktop control requested case.

Fields

§request_id: String

The request identifier.

§execution_id: String

The execution identifier.

§session_id: String

The session identifier.

§request: Value

The request.

§

DesktopControlEnded

Selects the desktop control ended case.

Fields

§execution_id: String

The execution identifier.

§

Paired

Selects the paired case.

Fields

§client_id: String

The client identifier.

§token: String

The token.

§

Authenticated

Selects the authenticated case.

§

Ready

Selects the ready case.

Fields

§payload: ReadyPayload

The payload.

§

SessionOpened

Selects the session opened case.

Fields

§request_id: String

The request identifier.

§payload: SessionReadyPayload

The payload.

§

SessionReplayComplete

Selects the session replay complete case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§

SessionHistory

Selects the session history case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§records: Vec<RecordedEvent>

The records.

§next_before_sequence: Option<u64>

The next before sequence.

§

SessionChanged

Selects the session changed case.

Fields

§payload: SessionReadyPayload

The payload.

§

RealtimeVoiceStarted

Selects the realtime voice started case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§voice_id: String

The voice identifier.

§answer_sdp: String

The answer sdp.

§

RealtimeVoiceFailed

Selects the realtime voice failed case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§message: String

The message.

§

RealtimeVoiceEnded

Selects the realtime voice ended case.

Fields

§session_id: String

The session identifier.

§voice_id: String

The voice identifier.

§reason: Option<String>

The reason.

§

GatewayConfigured

Selects the gateway configured case.

Fields

§request_id: String

The request identifier.

§payload: ReadyPayload

The payload.

§

Contributions

Selects the contributions case.

Fields

§request_id: String

The request identifier.

§contributions: Vec<FrontendContribution>

The contributions.

§

Accepted

Selects the accepted case.

Fields

§request_id: String

The request identifier.

§

SessionFileUploadReady

Selects the session file upload ready case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§upload_id: String

The upload identifier.

§max_chunk_bytes: usize

The max chunk bytes.

§

SessionFileUploadChunkAccepted

Selects the session file upload chunk accepted case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§upload_id: String

The upload identifier.

§next_offset: u64

The next offset.

§

SessionFileUploadCompleted

Selects the session file upload completed case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§file: SessionFileReference

The file.

§

SessionFiles

Selects the session files case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§files: Vec<SessionFileRecord>

The files.

§

SessionFileChunk

Selects the session file chunk case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§file_id: String

The file identifier.

§offset: u64

The offset.

§data: Vec<u8>

The data.

§next_offset: Option<u64>

The next offset.

§

Rejected

Selects the rejected case.

Fields

§request_id: String

The request identifier.

§code: String

The code.

§message: String

The message.

§fatal: bool

The fatal.

§

AgentEvent

Selects the agent event case.

Fields

§session_id: String

The session identifier.

§record: RecordedEvent

The record.

§

Sessions

Selects the sessions case.

Fields

§request_id: Option<String>

The request identifier.

§sessions: Vec<SessionRecord>

The sessions.

§

BackgroundApprovals

Selects the background approvals case.

Fields

§approvals: Vec<BackgroundApproval>

The approvals.

§

SessionsChanged

The whole visible session catalog, in order, relative to the catalog this connection last received; unsolicited catalog updates arrive only in this form.

Fields

§sessions: Vec<SessionSlot>

Every session of the catalog, unchanged ones by ID.

§revision: String

The new catalog’s revision.

§

BotSessions

Selects the bot sessions case.

Fields

§request_id: String

The request identifier.

§bot_id: String

The bot identifier.

§sessions: Vec<SessionRecord>

The sessions.

§

Bots

Selects the bots case.

Fields

§request_id: Option<String>

The request identifier.

§bots: Vec<BotRecord>

The bots.

§

Clients

Selects the clients case.

Fields

§request_id: String

The request identifier.

§current_client_id: String

The current client identifier.

§clients: Vec<ClientStatus>

The clients.

§

ProviderCredentialCleared

Selects the provider credential cleared case.

Fields

§request_id: String

The request identifier.

§instance: String

The instance.

§

ProviderCredentialSaved

Selects the provider credential saved case.

Fields

§request_id: String

The request identifier.

§instance: String

The instance.

§provider: String

The provider.

§

PairingCode

Selects the pairing code case.

Fields

§request_id: String

The request identifier.

§code: String

The code.

§expires_at: i64

The expires at.

§

ProviderLoginStarted

Selects the provider login started case.

Fields

§request_id: String

The request identifier.

§login_id: String

The login identifier.

§provider: String

The provider.

§verification_url: String

The verification URL.

§user_code: String

The user code.

§

ProviderLoginFinished

Selects the provider login finished case.

Fields

§request_id: String

The request identifier.

§login_id: String

The login identifier.

§provider: String

The provider.

§

GitCredentialStatus

Selects the git credential status case.

Fields

§request_id: String

The request identifier.

§available: bool

The available.

§username: Option<String>

The username.

§

SshIdentities

Selects the ssh identities case.

Fields

§request_id: String

The request identifier.

§identities: Vec<SshIdentityRecord>

The identities.

§

SshIdentityGenerated

Selects the ssh identity generated case.

Fields

§request_id: String

The request identifier.

§identity: SshIdentityRecord

The identity.

§public_key: String

The public key.

§

Profile

Selects the profile case.

Fields

§request_id: String

The request identifier.

§profile: ProfileSnapshot

The profile.

§

GitDiff

Selects the git diff case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§scope: GitDiffScope

The scope.

§diff: String

The diff.

§

GitDiffTotals

Line totals of a Git diff.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§scope: GitDiffScope

The scope.

§totals: DiffTotals

The totals.

§

Directories

Selects the directories case.

Fields

§request_id: String

The request identifier.

§listing: DirectoryListing

The listing.

§

WorkspaceFiles

Selects the workspace files case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§files: Vec<WorkspaceFileRecord>

The files.

§truncated: bool

The truncated.

§

WorkspaceFileChunk

Selects the workspace file chunk case.

Fields

§request_id: String

The request identifier.

§session_id: String

The session identifier.

§path: String

The path.

§offset: u64

The offset.

§data: Vec<u8>

The data.

§next_offset: Option<u64>

The next offset.

§

Routines

Selects the routines case.

Fields

§request_id: String

The request identifier.

§routines: Vec<Routine>

The routines.

§

RoutineHistory

Selects the routine history case.

Fields

§request_id: String

The request identifier.

§runs: Vec<RoutineRun>

The runs.

§

RoutineRunPreview

Selects the routine run preview case.

Fields

§request_id: String

The request identifier.

§preview: RoutineRunPreview

The preview.

§

Error

Selects the error case.

Fields

§code: String

The code.

§message: String

The message.

§fatal: bool

The fatal.

Implementations§

Source§

impl ServerMessage

Source

pub fn response_error( &self, request_id: Option<&str>, ) -> Option<GatewayResponseError<'_>>

Returns the error which terminates a wait for request_id, if any.

A correlated rejection terminates that request. An uncorrelated global error only terminates a wait when it also terminates the connection.

Trait Implementations§

Source§

impl Clone for ServerMessage

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ServerMessage

Source§

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

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

impl<'de> Deserialize<'de> for ServerMessage

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 PartialEq for ServerMessage

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for ServerMessage

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
Source§

impl StructuralPartialEq for ServerMessage

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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 = !

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

fn try_from(value: U) -> Result<T, !>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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