@principal-ai/control-tower-core 0.1.25 → 0.2.0

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 (117) hide show
  1. package/dist/abstractions/AuthAdapter.d.ts +1 -1
  2. package/dist/abstractions/AuthAdapter.d.ts.map +1 -1
  3. package/dist/abstractions/DefaultLockManager.d.ts +2 -2
  4. package/dist/abstractions/DefaultLockManager.d.ts.map +1 -1
  5. package/dist/abstractions/DefaultLockManager.js +7 -8
  6. package/dist/abstractions/DefaultPresenceManager.d.ts +4 -4
  7. package/dist/abstractions/DefaultPresenceManager.d.ts.map +1 -1
  8. package/dist/abstractions/DefaultPresenceManager.js +25 -25
  9. package/dist/abstractions/DefaultRoomManager.d.ts +3 -3
  10. package/dist/abstractions/DefaultRoomManager.d.ts.map +1 -1
  11. package/dist/abstractions/DefaultRoomManager.js +6 -4
  12. package/dist/abstractions/EventEmitter.d.ts.map +1 -1
  13. package/dist/abstractions/LockManager.d.ts +1 -1
  14. package/dist/abstractions/LockManager.d.ts.map +1 -1
  15. package/dist/abstractions/LockManager.js +1 -1
  16. package/dist/abstractions/PresenceExtension.d.ts +2 -2
  17. package/dist/abstractions/PresenceExtension.d.ts.map +1 -1
  18. package/dist/abstractions/PresenceManager.d.ts +1 -1
  19. package/dist/abstractions/PresenceManager.d.ts.map +1 -1
  20. package/dist/abstractions/PresenceManager.js +5 -5
  21. package/dist/abstractions/RoomManager.d.ts +2 -2
  22. package/dist/abstractions/RoomManager.d.ts.map +1 -1
  23. package/dist/abstractions/StorageAdapter.d.ts +4 -4
  24. package/dist/abstractions/StorageAdapter.d.ts.map +1 -1
  25. package/dist/abstractions/TransportAdapter.d.ts +4 -4
  26. package/dist/abstractions/TransportAdapter.d.ts.map +1 -1
  27. package/dist/abstractions/index.d.ts +11 -11
  28. package/dist/abstractions/index.d.ts.map +1 -1
  29. package/dist/abstractions/index.js +9 -9
  30. package/dist/adapters/mock/MockAuthAdapter.d.ts +2 -2
  31. package/dist/adapters/mock/MockAuthAdapter.d.ts.map +1 -1
  32. package/dist/adapters/mock/MockAuthAdapter.js +13 -11
  33. package/dist/adapters/mock/MockRTCDataChannel.d.ts +83 -0
  34. package/dist/adapters/mock/MockRTCDataChannel.d.ts.map +1 -0
  35. package/dist/adapters/mock/MockRTCDataChannel.js +146 -0
  36. package/dist/adapters/mock/MockRTCPeerConnection.d.ts +168 -0
  37. package/dist/adapters/mock/MockRTCPeerConnection.d.ts.map +1 -0
  38. package/dist/adapters/mock/MockRTCPeerConnection.js +449 -0
  39. package/dist/adapters/mock/MockStorageAdapter.d.ts +1 -1
  40. package/dist/adapters/mock/MockStorageAdapter.d.ts.map +1 -1
  41. package/dist/adapters/mock/MockStorageAdapter.js +18 -18
  42. package/dist/adapters/mock/MockTransportAdapter.d.ts +2 -2
  43. package/dist/adapters/mock/MockTransportAdapter.d.ts.map +1 -1
  44. package/dist/adapters/mock/MockTransportAdapter.js +38 -38
  45. package/dist/adapters/mock/index.d.ts +5 -3
  46. package/dist/adapters/mock/index.d.ts.map +1 -1
  47. package/dist/adapters/mock/index.js +10 -5
  48. package/dist/adapters/webrtc/WebRTCSignalingAdapter.d.ts +135 -0
  49. package/dist/adapters/webrtc/WebRTCSignalingAdapter.d.ts.map +1 -0
  50. package/dist/adapters/webrtc/WebRTCSignalingAdapter.js +368 -0
  51. package/dist/adapters/webrtc/index.d.ts +2 -0
  52. package/dist/adapters/webrtc/index.d.ts.map +1 -0
  53. package/dist/adapters/webrtc/index.js +5 -0
  54. package/dist/adapters/websocket/BrowserWebSocketTransportAdapter.d.ts +75 -0
  55. package/dist/adapters/websocket/BrowserWebSocketTransportAdapter.d.ts.map +1 -0
  56. package/dist/adapters/websocket/BrowserWebSocketTransportAdapter.js +231 -0
  57. package/dist/adapters/websocket/WebSocketClientTransportAdapter.d.ts +3 -3
  58. package/dist/adapters/websocket/WebSocketClientTransportAdapter.d.ts.map +1 -1
  59. package/dist/adapters/websocket/WebSocketClientTransportAdapter.js +38 -38
  60. package/dist/adapters/websocket/WebSocketServerTransportAdapter.d.ts +7 -7
  61. package/dist/adapters/websocket/WebSocketServerTransportAdapter.d.ts.map +1 -1
  62. package/dist/adapters/websocket/WebSocketServerTransportAdapter.js +94 -91
  63. package/dist/adapters/websocket/browser.d.ts +2 -0
  64. package/dist/adapters/websocket/browser.d.ts.map +1 -0
  65. package/dist/adapters/websocket/browser.js +6 -0
  66. package/dist/adapters/websocket/index.d.ts +3 -2
  67. package/dist/adapters/websocket/index.d.ts.map +1 -1
  68. package/dist/adapters/websocket/index.js +7 -3
  69. package/dist/adapters/websocket/node.d.ts +3 -0
  70. package/dist/adapters/websocket/node.d.ts.map +1 -0
  71. package/dist/adapters/websocket/node.js +8 -0
  72. package/dist/client/BaseClient.d.ts +6 -6
  73. package/dist/client/BaseClient.d.ts.map +1 -1
  74. package/dist/client/BaseClient.js +86 -72
  75. package/dist/client/ClientBuilder.d.ts +5 -5
  76. package/dist/client/ClientBuilder.d.ts.map +1 -1
  77. package/dist/client/ClientBuilder.js +3 -3
  78. package/dist/client/PresenceClient.d.ts +4 -4
  79. package/dist/client/PresenceClient.d.ts.map +1 -1
  80. package/dist/client/PresenceClient.js +30 -30
  81. package/dist/client/index.d.ts +3 -3
  82. package/dist/client/index.d.ts.map +1 -1
  83. package/dist/index.d.ts +7 -6
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +27 -19
  86. package/dist/index.js.map +27 -23
  87. package/dist/index.mjs +1585 -558
  88. package/dist/index.mjs.map +27 -23
  89. package/dist/server/BaseServer.d.ts +13 -13
  90. package/dist/server/BaseServer.d.ts.map +1 -1
  91. package/dist/server/BaseServer.js +218 -143
  92. package/dist/server/ExperimentalAPI.d.ts +7 -7
  93. package/dist/server/ExperimentalAPI.d.ts.map +1 -1
  94. package/dist/server/ExperimentalAPI.js +22 -22
  95. package/dist/server/ServerBuilder.d.ts +11 -11
  96. package/dist/server/ServerBuilder.d.ts.map +1 -1
  97. package/dist/server/ServerBuilder.js +10 -10
  98. package/dist/server/index.d.ts +3 -3
  99. package/dist/server/index.d.ts.map +1 -1
  100. package/dist/server/index.js +3 -3
  101. package/dist/types/auth.d.ts.map +1 -1
  102. package/dist/types/events.d.ts +10 -10
  103. package/dist/types/events.d.ts.map +1 -1
  104. package/dist/types/experimental.d.ts +2 -2
  105. package/dist/types/experimental.d.ts.map +1 -1
  106. package/dist/types/experimental.js +1 -1
  107. package/dist/types/index.d.ts +7 -7
  108. package/dist/types/index.d.ts.map +1 -1
  109. package/dist/types/index.js +2 -2
  110. package/dist/types/lock.d.ts +2 -2
  111. package/dist/types/lock.d.ts.map +1 -1
  112. package/dist/types/presence.d.ts +3 -3
  113. package/dist/types/presence.d.ts.map +1 -1
  114. package/dist/types/room.d.ts +4 -4
  115. package/dist/types/room.d.ts.map +1 -1
  116. package/dist/types/room.js +2 -2
  117. package/package.json +15 -7
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MockTransportAdapter = void 0;
4
4
  class MockTransportAdapter {
5
5
  constructor(options) {
6
- this.state = 'disconnected';
6
+ this.state = "disconnected";
7
7
  this.messageHandlers = new Set();
8
8
  this.errorHandlers = new Set();
9
9
  this.closeHandlers = new Set();
@@ -18,39 +18,39 @@ class MockTransportAdapter {
18
18
  async connect(url, _options) {
19
19
  this.connectionAttempts++;
20
20
  if (this.shouldFailConnection) {
21
- this.state = 'disconnected';
22
- const error = new Error('Mock connection failed');
23
- this.errorHandlers.forEach(handler => handler(error));
21
+ this.state = "disconnected";
22
+ const error = new Error("Mock connection failed");
23
+ this.errorHandlers.forEach((handler) => handler(error));
24
24
  throw error;
25
25
  }
26
- this.state = 'connecting';
26
+ this.state = "connecting";
27
27
  this.connectedUrl = url;
28
28
  // Simulate connection delay
29
29
  if (this.simulateLatency > 0) {
30
- await new Promise(resolve => setTimeout(resolve, this.simulateLatency));
30
+ await new Promise((resolve) => setTimeout(resolve, this.simulateLatency));
31
31
  }
32
- this.state = 'connected';
32
+ this.state = "connected";
33
33
  }
34
34
  async disconnect() {
35
- if (this.state === 'disconnected')
35
+ if (this.state === "disconnected")
36
36
  return;
37
- this.state = 'disconnecting';
37
+ this.state = "disconnecting";
38
38
  // Simulate disconnect delay
39
39
  if (this.simulateLatency > 0) {
40
- await new Promise(resolve => setTimeout(resolve, this.simulateLatency / 2));
40
+ await new Promise((resolve) => setTimeout(resolve, this.simulateLatency / 2));
41
41
  }
42
- this.state = 'disconnected';
42
+ this.state = "disconnected";
43
43
  this.connectedUrl = null;
44
- this.closeHandlers.forEach(handler => handler(1000, 'Normal closure'));
44
+ this.closeHandlers.forEach((handler) => handler(1000, "Normal closure"));
45
45
  this.messageQueue = [];
46
46
  }
47
47
  async send(message) {
48
- if (this.state !== 'connected') {
49
- throw new Error('Not connected');
48
+ if (this.state !== "connected") {
49
+ throw new Error("Not connected");
50
50
  }
51
51
  // Simulate send latency
52
52
  if (this.simulateLatency > 0) {
53
- await new Promise(resolve => setTimeout(resolve, this.simulateLatency));
53
+ await new Promise((resolve) => setTimeout(resolve, this.simulateLatency));
54
54
  }
55
55
  this.messageQueue.push(message);
56
56
  }
@@ -67,21 +67,21 @@ class MockTransportAdapter {
67
67
  return this.state;
68
68
  }
69
69
  isConnected() {
70
- return this.state === 'connected';
70
+ return this.state === "connected";
71
71
  }
72
72
  // Test helper methods
73
73
  simulateMessage(message, bypassConnectionCheck = false) {
74
- if (!bypassConnectionCheck && this.state !== 'connected') {
75
- throw new Error('Cannot simulate message when not connected');
74
+ if (!bypassConnectionCheck && this.state !== "connected") {
75
+ throw new Error("Cannot simulate message when not connected");
76
76
  }
77
- this.messageHandlers.forEach(handler => handler(message));
77
+ this.messageHandlers.forEach((handler) => handler(message));
78
78
  }
79
79
  simulateError(error) {
80
- this.errorHandlers.forEach(handler => handler(error));
80
+ this.errorHandlers.forEach((handler) => handler(error));
81
81
  }
82
82
  simulateClose(code, reason) {
83
- this.state = 'disconnected';
84
- this.closeHandlers.forEach(handler => handler(code, reason));
83
+ this.state = "disconnected";
84
+ this.closeHandlers.forEach((handler) => handler(code, reason));
85
85
  }
86
86
  getMessageQueue() {
87
87
  return [...this.messageQueue];
@@ -105,19 +105,19 @@ class MockTransportAdapter {
105
105
  */
106
106
  async simulateConnection(clientId, options = {}) {
107
107
  // Set transport to connected state if not already
108
- if (this.state !== 'connected') {
109
- this.state = 'connected';
108
+ if (this.state !== "connected") {
109
+ this.state = "connected";
110
110
  }
111
111
  const message = {
112
112
  id: `conn-${clientId}`,
113
- type: 'connection',
113
+ type: "connection",
114
114
  payload: {
115
115
  clientId,
116
116
  authenticated: options.authenticated ?? false,
117
117
  userId: options.userId,
118
- metadata: options.metadata
118
+ metadata: options.metadata,
119
119
  },
120
- timestamp: Date.now()
120
+ timestamp: Date.now(),
121
121
  };
122
122
  // Use simulateMessage with bypass flag
123
123
  this.simulateMessage(message, true);
@@ -125,16 +125,16 @@ class MockTransportAdapter {
125
125
  /**
126
126
  * Simulate a client disconnection
127
127
  */
128
- async simulateDisconnect(clientId, reason = 'Normal closure') {
128
+ async simulateDisconnect(clientId, reason = "Normal closure") {
129
129
  // Send a disconnect message to the server for this specific client
130
130
  const message = {
131
131
  id: `disconnect-${clientId}`,
132
- type: 'disconnect',
132
+ type: "disconnect",
133
133
  payload: {
134
134
  clientId,
135
- reason
135
+ reason,
136
136
  },
137
- timestamp: Date.now()
137
+ timestamp: Date.now(),
138
138
  };
139
139
  this.simulateMessage(message, true);
140
140
  }
@@ -149,13 +149,13 @@ class MockTransportAdapter {
149
149
  async simulateClientMessage(clientId, messageType, messagePayload = {}) {
150
150
  const message = {
151
151
  id: `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
152
- type: 'server_message',
152
+ type: "server_message",
153
153
  payload: {
154
154
  clientId,
155
155
  type: messageType,
156
- ...messagePayload
156
+ ...messagePayload,
157
157
  },
158
- timestamp: Date.now()
158
+ timestamp: Date.now(),
159
159
  };
160
160
  this.simulateMessage(message, true);
161
161
  }
@@ -165,11 +165,11 @@ class MockTransportAdapter {
165
165
  */
166
166
  getSentMessages(clientId) {
167
167
  return this.messageQueue
168
- .filter(msg => {
168
+ .filter((msg) => {
169
169
  const payload = msg.payload;
170
170
  return payload?.clientId === clientId;
171
171
  })
172
- .map(msg => {
172
+ .map((msg) => {
173
173
  const { clientId: _, ...rest } = msg.payload;
174
174
  return rest;
175
175
  });
@@ -185,9 +185,9 @@ class MockTransportAdapter {
185
185
  id: message.id || `msg-${Date.now()}`,
186
186
  type: message.type,
187
187
  payload: message.payload || {},
188
- timestamp: message.timestamp || Date.now()
188
+ timestamp: message.timestamp || Date.now(),
189
189
  };
190
- this.messageHandlers.forEach(handler => handler(fullMessage));
190
+ this.messageHandlers.forEach((handler) => handler(fullMessage));
191
191
  }
192
192
  }
193
193
  exports.MockTransportAdapter = MockTransportAdapter;
@@ -1,4 +1,6 @@
1
- export { MockTransportAdapter } from './MockTransportAdapter.js';
2
- export { MockStorageAdapter } from './MockStorageAdapter.js';
3
- export { MockAuthAdapter } from './MockAuthAdapter.js';
1
+ export { MockAuthAdapter } from "./MockAuthAdapter.js";
2
+ export { MockRTCDataChannel, type MockRTCDataChannelConfig, type RTCDataChannelState, } from "./MockRTCDataChannel.js";
3
+ export { type MockICECandidate, MockRTCPeerConnection, type MockRTCPeerConnectionConfig, type MockSessionDescription, type RTCIceConnectionState, type RTCIceGatheringState, type RTCPeerConnectionState, type RTCSignalingState, } from "./MockRTCPeerConnection.js";
4
+ export { MockStorageAdapter } from "./MockStorageAdapter.js";
5
+ export { MockTransportAdapter } from "./MockTransportAdapter.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/mock/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EACN,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,KAAK,gBAAgB,EACrB,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockAuthAdapter = exports.MockStorageAdapter = exports.MockTransportAdapter = void 0;
4
- var MockTransportAdapter_js_1 = require("./MockTransportAdapter.js");
5
- Object.defineProperty(exports, "MockTransportAdapter", { enumerable: true, get: function () { return MockTransportAdapter_js_1.MockTransportAdapter; } });
6
- var MockStorageAdapter_js_1 = require("./MockStorageAdapter.js");
7
- Object.defineProperty(exports, "MockStorageAdapter", { enumerable: true, get: function () { return MockStorageAdapter_js_1.MockStorageAdapter; } });
3
+ exports.MockTransportAdapter = exports.MockStorageAdapter = exports.MockRTCPeerConnection = exports.MockRTCDataChannel = exports.MockAuthAdapter = void 0;
8
4
  var MockAuthAdapter_js_1 = require("./MockAuthAdapter.js");
9
5
  Object.defineProperty(exports, "MockAuthAdapter", { enumerable: true, get: function () { return MockAuthAdapter_js_1.MockAuthAdapter; } });
6
+ // WebRTC mocks for simulation testing
7
+ var MockRTCDataChannel_js_1 = require("./MockRTCDataChannel.js");
8
+ Object.defineProperty(exports, "MockRTCDataChannel", { enumerable: true, get: function () { return MockRTCDataChannel_js_1.MockRTCDataChannel; } });
9
+ var MockRTCPeerConnection_js_1 = require("./MockRTCPeerConnection.js");
10
+ Object.defineProperty(exports, "MockRTCPeerConnection", { enumerable: true, get: function () { return MockRTCPeerConnection_js_1.MockRTCPeerConnection; } });
11
+ var MockStorageAdapter_js_1 = require("./MockStorageAdapter.js");
12
+ Object.defineProperty(exports, "MockStorageAdapter", { enumerable: true, get: function () { return MockStorageAdapter_js_1.MockStorageAdapter; } });
13
+ var MockTransportAdapter_js_1 = require("./MockTransportAdapter.js");
14
+ Object.defineProperty(exports, "MockTransportAdapter", { enumerable: true, get: function () { return MockTransportAdapter_js_1.MockTransportAdapter; } });
@@ -0,0 +1,135 @@
1
+ /**
2
+ * WebRTC Signaling Adapter
3
+ *
4
+ * Manages WebRTC peer connections using Control Tower for signaling.
5
+ * Supports both mock connections (for testing) and real WebRTC.
6
+ */
7
+ import type { BaseClient } from "../../client/BaseClient.js";
8
+ import type { MockRTCDataChannel } from "../mock/MockRTCDataChannel.js";
9
+ import { MockRTCPeerConnection, type MockRTCPeerConnectionConfig } from "../mock/MockRTCPeerConnection.js";
10
+ export interface WebRTCSignalingConfig {
11
+ /**
12
+ * Use mock WebRTC (for testing) or real WebRTC (for production)
13
+ * @default true
14
+ */
15
+ useMock?: boolean;
16
+ /**
17
+ * ICE servers configuration (for real WebRTC)
18
+ */
19
+ iceServers?: Array<{
20
+ urls: string | string[];
21
+ }>;
22
+ /**
23
+ * Mock configuration (for testing)
24
+ */
25
+ mockConfig?: MockRTCPeerConnectionConfig;
26
+ /**
27
+ * Data channel label for peer connections
28
+ * @default 'data'
29
+ */
30
+ dataChannelLabel?: string;
31
+ /**
32
+ * Enable ordered delivery for data channels
33
+ * @default true
34
+ */
35
+ orderedDelivery?: boolean;
36
+ }
37
+ export type PeerConnectionState = "new" | "connecting" | "connected" | "disconnected" | "failed";
38
+ export interface PeerConnection {
39
+ peerId: string;
40
+ connection: MockRTCPeerConnection;
41
+ dataChannel: MockRTCDataChannel | null;
42
+ state: PeerConnectionState;
43
+ createdAt: number;
44
+ connectedAt?: number;
45
+ }
46
+ export interface WebRTCSignalingEvents {
47
+ peerConnected: {
48
+ peerId: string;
49
+ dataChannel: MockRTCDataChannel;
50
+ };
51
+ peerDisconnected: {
52
+ peerId: string;
53
+ };
54
+ peerMessage: {
55
+ peerId: string;
56
+ data: string | ArrayBuffer;
57
+ };
58
+ peerError: {
59
+ peerId: string;
60
+ error: Error;
61
+ };
62
+ signalingStateChange: {
63
+ peerId: string;
64
+ state: PeerConnectionState;
65
+ };
66
+ }
67
+ /**
68
+ * WebRTC Signaling Adapter
69
+ *
70
+ * Manages WebRTC peer connections using Control Tower for signaling.
71
+ */
72
+ export declare class WebRTCSignalingAdapter {
73
+ private client;
74
+ private config;
75
+ private peers;
76
+ private eventUnsubscribers;
77
+ onPeerConnected: ((peerId: string, dataChannel: MockRTCDataChannel) => void) | null;
78
+ onPeerDisconnected: ((peerId: string) => void) | null;
79
+ onPeerMessage: ((peerId: string, data: string | ArrayBuffer) => void) | null;
80
+ onError: ((peerId: string, error: Error) => void) | null;
81
+ onStateChange: ((peerId: string, state: PeerConnectionState) => void) | null;
82
+ constructor(client: BaseClient, config?: WebRTCSignalingConfig);
83
+ /**
84
+ * Initiate a WebRTC connection to a peer
85
+ */
86
+ connectToPeer(peerId: string): Promise<void>;
87
+ /**
88
+ * Disconnect from a peer
89
+ */
90
+ disconnectFromPeer(peerId: string): void;
91
+ /**
92
+ * Send data to a peer via DataChannel
93
+ */
94
+ sendToPeer(peerId: string, data: string | ArrayBuffer): void;
95
+ /**
96
+ * Broadcast data to all connected peers
97
+ */
98
+ broadcastToPeers(data: string | ArrayBuffer): void;
99
+ /**
100
+ * Get connected peer IDs
101
+ */
102
+ getConnectedPeers(): string[];
103
+ /**
104
+ * Get all peer IDs (including connecting/disconnected)
105
+ */
106
+ getAllPeers(): string[];
107
+ /**
108
+ * Get peer connection state
109
+ */
110
+ getPeerState(peerId: string): PeerConnectionState | null;
111
+ /**
112
+ * Get peer connection info
113
+ */
114
+ getPeerInfo(peerId: string): PeerConnection | null;
115
+ /**
116
+ * Check if connected to a peer
117
+ */
118
+ isConnectedToPeer(peerId: string): boolean;
119
+ /**
120
+ * Disconnect from all peers and clean up
121
+ */
122
+ dispose(): void;
123
+ private createPeerConnection;
124
+ private setupSignalingListeners;
125
+ private handleSignalingMessage;
126
+ private handleOffer;
127
+ private handleAnswer;
128
+ private handleIceCandidate;
129
+ private handlePeerDisconnect;
130
+ private setupConnectionHandlers;
131
+ private setupDataChannelHandlers;
132
+ private updatePeerState;
133
+ private sendSignal;
134
+ }
135
+ //# sourceMappingURL=WebRTCSignalingAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebRTCSignalingAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/webrtc/WebRTCSignalingAdapter.ts"],"names":[],"mappings":"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"}