// @generated by flare-im-core-sdk-xtask
// Source: bindings/contract/client_config.json

/// Full client config contract document (JSON).
pub const CLIENT_CONFIG_CONTRACT_JSON: &str = r#"{"description":"Canonical init/login config shapes for all bindings (camelCase SDK JSON).","initRequest":{"example":{"environment":"production","sdkConfig":{"connectTimeoutSecs":30,"defaultTransport":"websocket","httpUrl":"http://localhost:50050","protocolRaceOrder":["quic","websocket"],"quicUrl":"quic://localhost:60052","reconnectIntervalSecs":5,"tlsCaCertPath":"certs/server.crt","transportPolicy":"protocol_race","wsUrl":"ws://localhost:60051"}},"fields":{"environment":{"optional":true,"type":"string"},"sdkConfig":{"optional":true,"type":"SdkConfigOverlay"}}},"platformNotes":{"c":"flare_sdk_init(handle, config_json, ...) — UTF-8 JSON 即 SdkConfigOverlay 或 initRequest 包装","tauri":"sdk_init({ environment?, sdkConfig? }) — 字段与 initRequest 一致","uniffi":"invoke_contract_api(\"client.init\", initRequestJson)","wasm":"flareInvoke(runtime, \"client.init\", initRequestJson) — smoke 与生产适配器同形"},"schemaVersion":1,"sdkConfigOverlay":{"defaultTransport":{"description":"非竞速时的首选传输；未设置时以 WebSocket 为主入口。","type":"enum","values":["websocket","quic"]},"device":["deviceId"],"flags":["enableMetrics"],"protocolRaceOrder":{"description":"协议竞速优先级（前项优先）。需同时提供 wsUrl 与 quicUrl，且 transportPolicy 为 auto 或 protocol_race。","items":["websocket","quic"],"type":"array"},"sync":["syncBatchSize","initMessageSyncConcurrency"],"tenant":["tenantId"],"timeouts":["connectTimeoutSecs","reconnectIntervalSecs","maxReconnectAttempts","ackTimeoutSecs","ackMaxRetries"],"tls":["tlsCaCertPath","tlsSpkiSha256Pins","tlsCertificateSha256Pins"],"transportPolicy":{"type":"enum","values":["auto","websocket_only","protocol_race"],"wasmEffective":"websocket_only"},"urls":["dataUrl","wsUrl","quicUrl","httpUrl","capabilityUrl","onlineUrl"]}}"#;

/// Example `client.init` / `sdk.init` request body.
pub const CLIENT_INIT_REQUEST_EXAMPLE_JSON: &str = r#"{
  "environment": "production",
  "sdkConfig": {
    "connectTimeoutSecs": 30,
    "defaultTransport": "websocket",
    "httpUrl": "http://localhost:50050",
    "protocolRaceOrder": [
      "quic",
      "websocket"
    ],
    "quicUrl": "quic://localhost:60052",
    "reconnectIntervalSecs": 5,
    "tlsCaCertPath": "certs/server.crt",
    "transportPolicy": "protocol_race",
    "wsUrl": "ws://localhost:60051"
  }
}"#;
