raffel 1.0.9 → 1.0.10-next.22f4d4e

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.
Files changed (76) hide show
  1. package/dist/adapters/index.d.ts +1 -1
  2. package/dist/adapters/index.d.ts.map +1 -1
  3. package/dist/adapters/websocket.d.ts +100 -1
  4. package/dist/adapters/websocket.d.ts.map +1 -1
  5. package/dist/adapters/websocket.js +428 -14
  6. package/dist/adapters/websocket.js.map +1 -1
  7. package/dist/channels/channel-manager.d.ts.map +1 -1
  8. package/dist/channels/channel-manager.js +265 -4
  9. package/dist/channels/channel-manager.js.map +1 -1
  10. package/dist/channels/history.d.ts +54 -0
  11. package/dist/channels/history.d.ts.map +1 -0
  12. package/dist/channels/history.js +78 -0
  13. package/dist/channels/history.js.map +1 -0
  14. package/dist/channels/index.d.ts +9 -1
  15. package/dist/channels/index.d.ts.map +1 -1
  16. package/dist/channels/index.js +8 -1
  17. package/dist/channels/index.js.map +1 -1
  18. package/dist/channels/recovery.d.ts +57 -0
  19. package/dist/channels/recovery.d.ts.map +1 -0
  20. package/dist/channels/recovery.js +58 -0
  21. package/dist/channels/recovery.js.map +1 -0
  22. package/dist/channels/rest-api.d.ts +32 -0
  23. package/dist/channels/rest-api.d.ts.map +1 -0
  24. package/dist/channels/rest-api.js +197 -0
  25. package/dist/channels/rest-api.js.map +1 -0
  26. package/dist/channels/ticket-store.d.ts +25 -0
  27. package/dist/channels/ticket-store.d.ts.map +1 -0
  28. package/dist/channels/ticket-store.js +70 -0
  29. package/dist/channels/ticket-store.js.map +1 -0
  30. package/dist/channels/types.d.ts +267 -5
  31. package/dist/channels/types.d.ts.map +1 -1
  32. package/dist/channels/types.js +15 -1
  33. package/dist/channels/types.js.map +1 -1
  34. package/dist/client/index.d.ts +39 -0
  35. package/dist/client/index.d.ts.map +1 -0
  36. package/dist/client/index.js +531 -0
  37. package/dist/client/index.js.map +1 -0
  38. package/dist/client/reconnect.d.ts +33 -0
  39. package/dist/client/reconnect.d.ts.map +1 -0
  40. package/dist/client/reconnect.js +60 -0
  41. package/dist/client/reconnect.js.map +1 -0
  42. package/dist/client/types.d.ts +107 -0
  43. package/dist/client/types.d.ts.map +1 -0
  44. package/dist/client/types.js +5 -0
  45. package/dist/client/types.js.map +1 -0
  46. package/dist/index.d.ts +9 -4
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +10 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/middleware/interceptors/field-filter.d.ts +51 -0
  51. package/dist/middleware/interceptors/field-filter.d.ts.map +1 -0
  52. package/dist/middleware/interceptors/field-filter.js +81 -0
  53. package/dist/middleware/interceptors/field-filter.js.map +1 -0
  54. package/dist/middleware/interceptors/guard.d.ts +51 -0
  55. package/dist/middleware/interceptors/guard.d.ts.map +1 -0
  56. package/dist/middleware/interceptors/guard.js +45 -0
  57. package/dist/middleware/interceptors/guard.js.map +1 -0
  58. package/dist/middleware/interceptors/index.d.ts +4 -0
  59. package/dist/middleware/interceptors/index.d.ts.map +1 -1
  60. package/dist/middleware/interceptors/index.js +4 -0
  61. package/dist/middleware/interceptors/index.js.map +1 -1
  62. package/dist/resource-module/index.d.ts +44 -0
  63. package/dist/resource-module/index.d.ts.map +1 -0
  64. package/dist/resource-module/index.js +146 -0
  65. package/dist/resource-module/index.js.map +1 -0
  66. package/dist/resource-module/types.d.ts +109 -0
  67. package/dist/resource-module/types.d.ts.map +1 -0
  68. package/dist/resource-module/types.js +7 -0
  69. package/dist/resource-module/types.js.map +1 -0
  70. package/dist/resource-module/watch-helpers.d.ts +16 -0
  71. package/dist/resource-module/watch-helpers.d.ts.map +1 -0
  72. package/dist/resource-module/watch-helpers.js +65 -0
  73. package/dist/resource-module/watch-helpers.js.map +1 -0
  74. package/dist/server/types.d.ts +27 -0
  75. package/dist/server/types.d.ts.map +1 -1
  76. package/package.json +9 -1
@@ -12,7 +12,96 @@ import type { Context } from '../types/index.js';
12
12
  /**
13
13
  * Channel type based on name prefix
14
14
  */
15
- export type ChannelType = 'public' | 'private' | 'presence';
15
+ export type ChannelType = 'public' | 'private' | 'presence' | 'queue';
16
+ /**
17
+ * A short-lived, single-use connection ticket.
18
+ * Generated server-side via HTTP, consumed on WS connect.
19
+ */
20
+ export interface ConnectionTicket {
21
+ /** Unique ticket ID */
22
+ id: string;
23
+ /** User/principal identifier */
24
+ userId: string;
25
+ /** Allowed channel patterns (glob-like: 'private-user-123', 'presence-*') */
26
+ permissions?: string[];
27
+ /** Expiration timestamp (ms since epoch) */
28
+ expiresAt: number;
29
+ /** Whether this ticket has been consumed */
30
+ usedAt?: number;
31
+ /** Custom metadata carried into the connection context */
32
+ metadata?: Record<string, unknown>;
33
+ }
34
+ /**
35
+ * Storage backend for connection tickets (port interface).
36
+ * Default: in-memory. Can be backed by Redis for multi-instance.
37
+ */
38
+ export interface TicketStore {
39
+ /** Store a new ticket */
40
+ create(ticket: ConnectionTicket): Promise<void>;
41
+ /** Consume a ticket (single-use). Returns null if not found, expired, or already used. */
42
+ consume(ticketId: string): Promise<ConnectionTicket | null>;
43
+ /** Revoke a ticket before use */
44
+ revoke(ticketId: string): Promise<void>;
45
+ }
46
+ /**
47
+ * WebSocket authentication configuration
48
+ */
49
+ export interface WebSocketAuthConfig {
50
+ /**
51
+ * Auth mode:
52
+ * - 'ticket': single-use token from HTTP endpoint (recommended for browsers)
53
+ * - 'bearer': JWT/token in query param or first message
54
+ * - 'custom': your own extraction logic
55
+ */
56
+ mode: 'ticket' | 'bearer' | 'custom';
57
+ /** Ticket store (required for 'ticket' mode, default: in-memory) */
58
+ ticketStore?: TicketStore;
59
+ /** Ticket TTL in ms (default: 30000 = 30s) */
60
+ ticketTTL?: number;
61
+ /**
62
+ * Extract auth token from the HTTP upgrade request.
63
+ * Default: reads `?ticket=xxx` or `?token=xxx` from query string,
64
+ * or `Authorization: Bearer xxx` header.
65
+ */
66
+ extractToken?: (req: import('http').IncomingMessage) => string | undefined;
67
+ /**
68
+ * Validate a token and return auth context seed.
69
+ * Called for 'bearer' and 'custom' modes.
70
+ * Return null to reject the connection.
71
+ */
72
+ validateToken?: (token: string) => import('../types/index.js').ContextSeed | null | Promise<import('../types/index.js').ContextSeed | null>;
73
+ /**
74
+ * Validate a refresh token sent mid-connection.
75
+ * Return new context seed or null to reject.
76
+ */
77
+ refreshToken?: (token: string) => import('../types/index.js').ContextSeed | null | Promise<import('../types/index.js').ContextSeed | null>;
78
+ }
79
+ /**
80
+ * Per-connection rate limits for WebSocket operations
81
+ */
82
+ export interface ChannelRateLimits {
83
+ /** Max channels a single client can subscribe to (default: 100) */
84
+ maxChannelsPerClient?: number;
85
+ /** Max subscribe operations per second per client (default: 10) */
86
+ maxSubscribesPerSecond?: number;
87
+ /** Max publish operations per second per client (default: 10) */
88
+ maxPublishesPerSecond?: number;
89
+ /** Max total messages per second per client (default: 50) */
90
+ maxMessagesPerSecond?: number;
91
+ /** Called when a client is rate-limited */
92
+ onRateLimited?: (socketId: string, operation: string, limit: number) => void;
93
+ }
94
+ /**
95
+ * Backpressure handling for slow consumers
96
+ */
97
+ export interface BackpressureConfig {
98
+ /** Max bytes buffered in the socket's write queue before action (default: 1MB) */
99
+ maxBufferedAmount?: number;
100
+ /** What to do when buffer exceeds limit */
101
+ strategy?: 'drop' | 'disconnect';
102
+ /** Called when a slow consumer is detected */
103
+ onSlowConsumer?: (socketId: string, bufferedAmount: number) => void;
104
+ }
16
105
  /**
17
106
  * Connected client info exposed via the manager
18
107
  */
@@ -81,6 +170,12 @@ export interface ChannelLifecycleHooks {
81
170
  onMemberAdded?: (channel: string, member: ChannelMember) => void | Promise<void>;
82
171
  /** Called when a member leaves a presence channel */
83
172
  onMemberRemoved?: (channel: string, member: ChannelMember) => void | Promise<void>;
173
+ /** Called after a successful publish to a channel */
174
+ onPublish?: (socketId: string, channel: string, event: string, data: unknown) => void | Promise<void>;
175
+ /** Called when a new channel is created (first subscriber) */
176
+ onChannelCreated?: (channel: string, type: ChannelType) => void | Promise<void>;
177
+ /** Called when a channel is destroyed (last subscriber left) */
178
+ onChannelDestroyed?: (channel: string, type: ChannelType) => void | Promise<void>;
84
179
  }
85
180
  /**
86
181
  * Configuration options for channels
@@ -142,6 +237,58 @@ export interface ChannelOptions {
142
237
  hooks?: ChannelLifecycleHooks;
143
238
  /** Custom data to attach to clients on connect */
144
239
  clientData?: (socketId: string, ctx: Context) => Record<string, unknown>;
240
+ /** Per-connection rate limits */
241
+ rateLimits?: ChannelRateLimits;
242
+ /**
243
+ * Message history configuration for catchup on reconnect.
244
+ * When enabled, recent messages are stored and can be replayed
245
+ * to clients that provide a `since` field in their subscribe message.
246
+ */
247
+ history?: {
248
+ /** Enable message history (default: false) */
249
+ enabled: boolean;
250
+ /** Max entries per channel (default: 100) */
251
+ maxSize?: number;
252
+ /** TTL in ms for history entries (default: 300000 = 5 minutes) */
253
+ ttl?: number;
254
+ };
255
+ /**
256
+ * Transform messages before broadcast.
257
+ * Return null to drop the message.
258
+ * Return modified data to transform.
259
+ */
260
+ transform?: (channel: string, event: string, data: unknown, ctx: {
261
+ socketId: string;
262
+ userId?: string;
263
+ }) => unknown | null | Promise<unknown | null>;
264
+ /**
265
+ * Maximum subscribers per channel.
266
+ * Can be a fixed number or a function that returns the limit per channel name.
267
+ */
268
+ maxSubscribersPerChannel?: number | ((channel: string) => number);
269
+ /**
270
+ * Typing indicator configuration
271
+ */
272
+ typing?: {
273
+ /** Enable typing indicators (default: false) */
274
+ enabled?: boolean;
275
+ /** Auto-stop typing after ms (default: 5000) */
276
+ timeout?: number;
277
+ };
278
+ /**
279
+ * REST API configuration for server-side publishing.
280
+ * When enabled, mounts HTTP endpoints for channel management.
281
+ */
282
+ restApi?: {
283
+ /** Enable REST API (default: false) */
284
+ enabled: boolean;
285
+ /** Base path for REST endpoints (default: '/channels') */
286
+ path?: string;
287
+ /** API key for authentication (simple string check) */
288
+ apiKey?: string;
289
+ /** Custom auth function (overrides apiKey) */
290
+ auth?: (req: import('http').IncomingMessage) => boolean | Promise<boolean>;
291
+ };
145
292
  }
146
293
  /**
147
294
  * A member in a presence channel
@@ -170,6 +317,12 @@ export interface ChannelState {
170
317
  members?: Map<string, ChannelMember>;
171
318
  /** When channel was created */
172
319
  createdAt: number;
320
+ /** Monotonically increasing sequence number for message ordering */
321
+ sequence: number;
322
+ /** Epoch identifier — changes on server restart (for detecting stale offsets) */
323
+ epoch: string;
324
+ /** Round-robin index for queue channels */
325
+ roundRobinIndex?: number;
173
326
  }
174
327
  /**
175
328
  * Result of a subscribe operation
@@ -191,9 +344,13 @@ export interface SubscribeResult {
191
344
  */
192
345
  export interface ChannelManager {
193
346
  /**
194
- * Subscribe a socket to a channel
347
+ * Subscribe a socket to a channel.
348
+ * Optionally pass `since` to replay missed messages from history.
195
349
  */
196
- subscribe(socketId: string, channel: string, ctx: Context): Promise<SubscribeResult>;
350
+ subscribe(socketId: string, channel: string, ctx: Context, since?: {
351
+ seq: number;
352
+ epoch: string;
353
+ }): Promise<SubscribeResult>;
197
354
  /**
198
355
  * Unsubscribe a socket from a channel
199
356
  */
@@ -336,6 +493,33 @@ export interface ChannelManager {
336
493
  * Delete a group
337
494
  */
338
495
  deleteGroup(groupName: string): void;
496
+ /**
497
+ * Recover a client's subscriptions from a previous session.
498
+ * Re-subscribes the new socket to all channels and replays
499
+ * missed messages from history (if available).
500
+ */
501
+ recoverClient(oldSocketId: string, newSocketId: string, channels: {
502
+ name: string;
503
+ lastSeq: number;
504
+ }[]): void;
505
+ /**
506
+ * Replay missed messages from history for a specific channel.
507
+ * Called after subscribe+subscribed to send catchup messages.
508
+ */
509
+ replayHistory(socketId: string, channel: string, sinceSeq: number, epoch: string): void;
510
+ /**
511
+ * Get the current epoch for the server (used for history queries).
512
+ */
513
+ getEpoch(): string;
514
+ /**
515
+ * Get the current sequence number for a channel.
516
+ */
517
+ getSequence(channel: string): number;
518
+ /**
519
+ * Handle a typing indicator for a socket on a channel.
520
+ * Only works when typing indicators are enabled in options.
521
+ */
522
+ handleTyping(socketId: string, channel: string, isTyping: boolean): void;
339
523
  }
340
524
  /**
341
525
  * Client → Server: Subscribe to a channel
@@ -344,6 +528,18 @@ export interface SubscribeMessage {
344
528
  id: string;
345
529
  type: 'subscribe';
346
530
  channel: string;
531
+ /** Resume from a specific sequence (for catchup on reconnect) */
532
+ since?: {
533
+ seq: number;
534
+ epoch: string;
535
+ };
536
+ }
537
+ /**
538
+ * Client → Server: Recover a previous session
539
+ */
540
+ export interface RecoverMessage {
541
+ type: 'recover';
542
+ recoveryToken: string;
347
543
  }
348
544
  /**
349
545
  * Server → Client: Subscription successful
@@ -389,6 +585,68 @@ export interface ChannelEventMessage {
389
585
  channel: string;
390
586
  event: string;
391
587
  data: unknown;
588
+ /** Sequence number (monotonically increasing per channel) */
589
+ seq?: number;
590
+ /** Server epoch (changes on restart, used to detect stale offsets) */
591
+ epoch?: string;
592
+ }
593
+ /**
594
+ * Client → Server: Refresh auth token mid-connection
595
+ */
596
+ export interface AuthRefreshMessage {
597
+ id: string;
598
+ type: 'auth:refresh';
599
+ token: string;
600
+ }
601
+ /**
602
+ * Server → Client: Auth refresh result
603
+ */
604
+ export interface AuthRefreshedMessage {
605
+ id: string;
606
+ type: 'auth:refreshed';
607
+ }
608
+ /**
609
+ * Client → Server: Batch subscribe to multiple channels
610
+ */
611
+ export interface BatchSubscribeMessage {
612
+ id: string;
613
+ type: 'subscribe:batch';
614
+ channels: Array<{
615
+ channel: string;
616
+ since?: {
617
+ seq: number;
618
+ epoch: string;
619
+ };
620
+ }>;
621
+ }
622
+ /**
623
+ * Server → Client: Batch subscription results
624
+ */
625
+ export interface BatchSubscribedMessage {
626
+ id: string;
627
+ type: 'subscribed:batch';
628
+ results: Record<string, SubscribeResult>;
629
+ }
630
+ /**
631
+ * Client → Server: Batch publish to multiple channels
632
+ */
633
+ export interface BatchPublishMessage {
634
+ id: string;
635
+ type: 'publish:batch';
636
+ messages: Array<{
637
+ channel: string;
638
+ event: string;
639
+ data: unknown;
640
+ }>;
641
+ }
642
+ /**
643
+ * Client → Server: Typing indicator
644
+ */
645
+ export interface TypingMessage {
646
+ id: string;
647
+ type: 'typing';
648
+ channel: string;
649
+ isTyping: boolean;
392
650
  }
393
651
  /**
394
652
  * Server → Client: Channel error
@@ -403,11 +661,15 @@ export interface ChannelErrorMessage {
403
661
  /**
404
662
  * All channel-related message types
405
663
  */
406
- export type ChannelMessage = SubscribeMessage | SubscribedMessage | UnsubscribeMessage | UnsubscribedMessage | PublishMessage | ChannelEventMessage | ChannelErrorMessage;
664
+ export type ChannelMessage = SubscribeMessage | SubscribedMessage | UnsubscribeMessage | UnsubscribedMessage | PublishMessage | ChannelEventMessage | ChannelErrorMessage | AuthRefreshMessage | AuthRefreshedMessage | RecoverMessage | BatchSubscribeMessage | BatchSubscribedMessage | BatchPublishMessage | TypingMessage;
407
665
  /**
408
666
  * Check if a message is a channel-related message
409
667
  */
410
- export declare function isChannelMessage(message: unknown): message is SubscribeMessage | UnsubscribeMessage | PublishMessage;
668
+ export declare function isChannelMessage(message: unknown): message is SubscribeMessage | UnsubscribeMessage | PublishMessage | BatchSubscribeMessage | BatchPublishMessage | TypingMessage;
669
+ /**
670
+ * Check if a message is a recovery message
671
+ */
672
+ export declare function isRecoverMessage(message: unknown): message is RecoverMessage;
411
673
  /**
412
674
  * Get channel type from name
413
675
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;AAIrE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IAC3D,iCAAiC;IACjC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAEpC,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAA;IAEzB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,MAAM,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,CAAA;IAE1E;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,mBAAmB,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC,CAAA;IAE3I;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,mBAAmB,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC,CAAA;CAC3I;AAID;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,2CAA2C;IAC3C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7E;AAID;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IAChC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACpB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/D,uCAAuC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAErE,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzE,+BAA+B;IAC/B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3E,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhF,qDAAqD;IACrD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAElF,qDAAqD;IACrD,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAErG,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/E,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,EAAE,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,OAAO,KACT,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/B;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,OAAO,KACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,OAAO,KACT,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,qBAAqB,CAAA;IAE7B,kDAAkD;IAClD,UAAU,CAAC,EAAE,CACX,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,OAAO,KACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5B,iCAAiC;IACjC,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAE9B;;;;OAIG;IACH,OAAO,CAAC,EAAE;QACR,8CAA8C;QAC9C,OAAO,EAAE,OAAO,CAAA;QAChB,6CAA6C;QAC7C,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,kEAAkE;QAClE,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IAED;;;;OAIG;IACH,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KACvC,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAE7C;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,gDAAgD;QAChD,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,gDAAgD;QAChD,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IAED;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,uCAAuC;QACvC,OAAO,EAAE,OAAO,CAAA;QAChB,0DAA0D;QAC1D,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,uDAAuD;QACvD,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,8CAA8C;QAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,MAAM,EAAE,eAAe,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAC3E,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,IAAI,EAAE,WAAW,CAAA;IACjB,mCAAmC;IACnC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACxB,mDAAmD;IACnD,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAA;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,mDAAmD;IACnD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAK7B;;;OAGG;IACH,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,OAAO,EACZ,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACrC,OAAO,CAAC,eAAe,CAAC,CAAA;IAE3B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IAExD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAM5C;;;;;;;OAOG;IACH,SAAS,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAAA;IAEP;;OAEG;IACH,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,OAAO,GACZ,IAAI,CAAA;IAMP;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,CAAA;IAE5C;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAA;IAEvE;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IAMvC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAE7C;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE,CAAA;IAEvB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAEzC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IAEpC;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IAM3C;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAA;IAE3F;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpC;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAEnD;;OAEG;IACH,UAAU,IAAI,UAAU,EAAE,CAAA;IAE1B;;OAEG;IACH,cAAc,IAAI,MAAM,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IAElE;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAMjE;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAA;IAEtD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjF;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAE/C;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;IAE5C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAMjC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAEpE;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAErD;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnF;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;IAElD;;OAEG;IACH,SAAS,IAAI,SAAS,EAAE,CAAA;IAExB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAAA;IAE9C;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAMpC;;;;OAIG;IACH,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAC5C,IAAI,CAAA;IAEP;;;OAGG;IACH,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAAA;IAEP;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAA;IAElB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IAEpC;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;CACzE;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,gBAAgB,CAAA;CACvB;AAID;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,iBAAiB,CAAA;IACvB,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CACnE;AAID;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,GACnB,aAAa,CAAA;AAEjB;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,gBAAgB,GAAG,kBAAkB,GAAG,cAAc,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,aAAa,CAWjI;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,cAAc,CAI3B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAKxD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGrD"}
@@ -17,7 +17,19 @@ export function isChannelMessage(message) {
17
17
  const msg = message;
18
18
  return (msg.type === 'subscribe' ||
19
19
  msg.type === 'unsubscribe' ||
20
- msg.type === 'publish');
20
+ msg.type === 'publish' ||
21
+ msg.type === 'subscribe:batch' ||
22
+ msg.type === 'publish:batch' ||
23
+ msg.type === 'typing');
24
+ }
25
+ /**
26
+ * Check if a message is a recovery message
27
+ */
28
+ export function isRecoverMessage(message) {
29
+ if (!message || typeof message !== 'object')
30
+ return false;
31
+ const msg = message;
32
+ return msg.type === 'recover' && typeof msg.recoveryToken === 'string';
21
33
  }
22
34
  /**
23
35
  * Get channel type from name
@@ -27,6 +39,8 @@ export function getChannelType(name) {
27
39
  return 'presence';
28
40
  if (name.startsWith('private-'))
29
41
  return 'private';
42
+ if (name.startsWith('queue-'))
43
+ return 'queue';
30
44
  return 'public';
31
45
  }
32
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAohBH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACzD,MAAM,GAAG,GAAG,OAAkC,CAAA;IAC9C,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,WAAW;QACxB,GAAG,CAAC,IAAI,KAAK,aAAa;QAC1B,GAAG,CAAC,IAAI,KAAK,SAAS,CACvB,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAA;IACnD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAA;IACjD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/channels/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAm0BH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACzD,MAAM,GAAG,GAAG,OAAkC,CAAA;IAC9C,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,WAAW;QACxB,GAAG,CAAC,IAAI,KAAK,aAAa;QAC1B,GAAG,CAAC,IAAI,KAAK,SAAS;QACtB,GAAG,CAAC,IAAI,KAAK,iBAAiB;QAC9B,GAAG,CAAC,IAAI,KAAK,eAAe;QAC5B,GAAG,CAAC,IAAI,KAAK,QAAQ,CACtB,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACzD,MAAM,GAAG,GAAG,OAAkC,CAAA;IAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAA;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,UAAU,CAAA;IACnD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAA;IACjD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAA;IAC7C,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,UAAU,CAAA;AAClD,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Raffel WebSocket Client SDK
3
+ *
4
+ * Lightweight client that speaks the Raffel envelope protocol over WebSocket.
5
+ * Supports RPC calls, server streams, and auto-reconnection.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createRaffelClient } from 'raffel/client'
10
+ *
11
+ * const client = createRaffelClient({ url: 'ws://localhost:3000/ws' })
12
+ *
13
+ * // RPC call
14
+ * const order = await client.call('orders.get', { id: '123' })
15
+ *
16
+ * // Server stream (subscribe)
17
+ * const stream = client.stream('orders.$watch', { filter: { status: 'pending' } })
18
+ * for await (const event of stream) {
19
+ * console.log(event.op, event.data)
20
+ * }
21
+ *
22
+ * // Cleanup
23
+ * stream.cancel()
24
+ * client.close()
25
+ * ```
26
+ */
27
+ import type { RaffelClientOptions, RaffelClient } from './types.js';
28
+ export type { RaffelClientOptions, RaffelClient, ClientStream, CallOptions, ClientChannel, ClientChannelMember, } from './types.js';
29
+ export { createReconnectController, getReconnectDelay } from './reconnect.js';
30
+ export type { ReconnectConfig, ReconnectState } from './reconnect.js';
31
+ /**
32
+ * Create a Raffel WebSocket client
33
+ *
34
+ * @param options - Client configuration (url is required)
35
+ * @returns RaffelClient instance
36
+ */
37
+ export declare function createRaffelClient(options: RaffelClientOptions): RaffelClient;
38
+ export declare function createRaffelClient(url: string): RaffelClient;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EAKb,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,mBAAmB,GACpB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAoBrE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAAA;AAC9E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA"}