protocol: add generated bindings and conformance fixtures

This commit is contained in:
sechmachine
2026-07-21 23:43:04 +07:00
parent 2d69357052
commit 6abbc26dc4
22 changed files with 5031 additions and 0 deletions
+256
View File
@@ -0,0 +1,256 @@
// Code generated by tools/generate.py; DO NOT EDIT.
#![allow(non_snake_case)]
pub const SCHEMA_SHA256: &str = "36e4c8bac2eae674c1eba551c6ca8c64bf80fcc092ca63ec89a2c71c2bec86e1";
pub const CURRENT_WIRE_VERSION: &str = "1";
pub const N_MINUS_1_WIRE_VERSION: &str = "0";
pub const N_MINUS_2_WIRE_VERSION: &str = "-1";
pub type JsonObject = std::collections::BTreeMap<String, String>;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AllocationPolicy {
pub minimumKbps: i64,
pub targetKbps: i64,
pub maximumKbps: i64,
pub tier: String,
pub audience: String,
pub protocol: String,
pub protocolVersion: i64,
pub grantTtlSeconds: i64,
pub reservationLeaseSeconds: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AssignedDesktop {
pub assignmentId: String,
pub poolId: String,
pub name: String,
pub availability: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct BrokerSession {
pub id: String,
pub principalId: String,
pub poolId: String,
pub assignmentId: Option<String>,
pub state: String,
pub policySnapshot: AllocationPolicy,
pub reconnectDeadline: Option<String>,
pub outcome: Option<String>,
pub failureCode: Option<String>,
pub cleanupState: String,
pub idempotencyKey: String,
pub correlationId: String,
pub requestedAt: String,
pub endedAt: Option<String>,
pub version: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ClipboardText {
pub text: String,
pub encoding: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ConnectionManifest {
pub version: String,
pub purpose: String,
pub sessionId: String,
pub reconnectSequence: i64,
pub gateway: ManifestGateway,
pub tunnel: ManifestTunnel,
pub profile: ManifestProfile,
pub grant: GrantReference,
pub correlationId: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeviceChallenge {
pub deviceId: String,
pub serverId: String,
pub principalId: String,
pub challenge: String,
pub expiresAt: String,
pub algorithm: String,
pub signatureFormat: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeviceProofRequest {
pub challenge: String,
pub signature: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DeviceRegistrationRequest {
pub name: String,
pub platform: String,
pub deviceSubject: String,
pub algorithm: String,
pub publicKey: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EntitledPool {
pub poolId: String,
pub name: String,
pub assignmentState: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ErrorEnvelope {
pub status: bool,
pub error: String,
pub code: String,
pub message: String,
pub resolution: String,
pub requestId: String,
pub violations: Vec<FieldViolation>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EventEnvelope {
pub eventId: String,
pub sequence: i64,
pub typeValue: String,
pub version: i64,
pub resource: ResourceLink,
pub occurredAt: String,
pub correlationId: String,
pub payload: JsonObject,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EventResume {
pub cursor: String,
pub lastSequence: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct FieldViolation {
pub field: String,
pub code: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct GrantReference {
pub opaqueValue: String,
pub expiresAt: String,
pub audience: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct LoginRequest {
pub provider: Option<String>,
pub username: String,
pub password: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestBounds {
pub minimumKbps: i64,
pub targetKbps: i64,
pub maximumKbps: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestGateway {
pub id: String,
pub addresses: Vec<String>,
pub publicIdentity: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestProfile {
pub id: String,
pub bounds: ManifestBounds,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ManifestTunnel {
pub versions: Vec<String>,
pub features: Vec<String>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct NativeCredential {
pub deviceId: Option<String>,
pub familyId: String,
pub accessToken: String,
pub refreshToken: String,
pub expiresAt: String,
pub refreshExpiresAt: Option<String>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PageInfo {
pub limit: i64,
pub nextCursor: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ReauthGrant {
pub token: String,
pub purpose: String,
pub expiresAt: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ReauthRequest {
pub password: String,
pub purpose: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ReconnectRequest {
pub clientDeviceId: String,
pub deviceKeyId: String,
pub expectedVersion: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct RefreshRequest {
pub familyId: String,
pub refreshToken: String,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Resource {
pub id: String,
pub kind: String,
pub name: String,
pub state: String,
pub assignmentState: Option<String>,
pub version: i64,
pub links: Vec<ResourceLink>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ResourceLink {
pub typeValue: String,
pub id: String,
pub version: i64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ResourceList {
pub assignedDesktops: Vec<AssignedDesktop>,
pub entitledPools: Vec<EntitledPool>,
pub page: PageInfo,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SessionRequest {
pub clientDeviceId: String,
pub deviceKeyId: String,
pub poolId: String,
pub idempotencyKey: String,
pub policySnapshot: AllocationPolicy,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct VersionNegotiation {
pub supportedVersions: Vec<String>,
pub features: Vec<String>,
}