dsh-mobile 0.5.3 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.mts CHANGED
@@ -151,6 +151,9 @@ export declare class AccessController {
151
151
  renew(deviceToken: string): Promise<RenewalResult>;
152
152
  /** Validate a persistent device credential without consuming a Session slot. */
153
153
  probe(deviceToken: string): Promise<DeviceProbeResult>;
154
+ /** Validate a device credential without writing state or opening a Session. */
155
+ authorizeDevice(deviceToken: string): DeviceProbeResult;
156
+ private requireDevice;
154
157
  /** Resolve a short Session Cookie without revealing whether device or Session failed. */
155
158
  authorizeSession(sessionToken: string): SessionAuthorization;
156
159
  /** Require the Session-bound anti-CSRF value for an authenticated mutation. */
@@ -227,6 +230,24 @@ export declare class RequestTrustPolicy {
227
230
  }
228
231
  //#endregion
229
232
  //#region src/config.d.ts
233
+ /** Optional compression for exact, already authorized WebSocket paths. */
234
+ interface WebSocketCompressionConfig {
235
+ paths?: string[];
236
+ maxMessageBytes?: number;
237
+ maxQueuedBytes?: number;
238
+ thresholdBytes?: number;
239
+ concurrencyLimit?: number;
240
+ level?: number;
241
+ }
242
+ /** Validated compression settings; an empty path list keeps the raw transport. */
243
+ interface ResolvedWebSocketCompressionConfig {
244
+ readonly paths: readonly string[];
245
+ readonly maxMessageBytes: number;
246
+ readonly maxQueuedBytes: number;
247
+ readonly thresholdBytes: number;
248
+ readonly concurrencyLimit: number;
249
+ readonly level: number;
250
+ }
230
251
  /** TLS source accepted by the LAN listener. */
231
252
  interface ProvidedTlsConfig {
232
253
  readonly mode: 'provided';
@@ -265,6 +286,8 @@ interface PluginConfig {
265
286
  mobileCompatibilityFile?: string;
266
287
  /** Optional application-phase client package ids omitted only from the mobile boot graph. */
267
288
  excludedClientModules?: string[];
289
+ /** Compression is opt-in; it does not authorize additional WebSocket paths. */
290
+ websocketCompression?: WebSocketCompressionConfig;
268
291
  /** Stable public discovery identifier; it is not an authentication secret. */
269
292
  instanceId?: string;
270
293
  /** Managed CA certificate offered to the Android installer after fingerprint binding. */
@@ -306,6 +329,7 @@ interface ResolvedGatewayConfig {
306
329
  readonly mobileLayoutFile: string;
307
330
  readonly mobileCompatibilityFile: string;
308
331
  readonly excludedClientModules: readonly string[];
332
+ readonly websocketCompression: ResolvedWebSocketCompressionConfig;
309
333
  readonly instanceId: string;
310
334
  readonly pairingCaFile?: string;
311
335
  readonly tls: TlsConfig;
@@ -690,6 +714,7 @@ export declare class MobileAccessGateway {
690
714
  private authorize;
691
715
  private requireCsrf;
692
716
  private setSessionCookies;
717
+ private setBrowserDeviceBinding;
693
718
  private handlePair;
694
719
  private handleRenew;
695
720
  private handleNativePair;