@phystack/hub-client 4.5.19-dev → 4.5.21-dev

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 (119) hide show
  1. package/dist/index.d.ts +22 -28
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +252 -378
  4. package/dist/index.js.map +1 -1
  5. package/dist/peripheral-twin.d.ts +34 -0
  6. package/dist/peripheral-twin.d.ts.map +1 -0
  7. package/dist/peripheral-twin.js +234 -0
  8. package/dist/peripheral-twin.js.map +1 -0
  9. package/dist/services/phyhub-connection.service.d.ts +1 -0
  10. package/dist/services/phyhub-connection.service.d.ts.map +1 -1
  11. package/dist/services/phyhub-connection.service.js +17 -0
  12. package/dist/services/phyhub-connection.service.js.map +1 -1
  13. package/dist/services/phyhub-direct-connection.service.d.ts +21 -0
  14. package/dist/services/phyhub-direct-connection.service.d.ts.map +1 -0
  15. package/dist/services/phyhub-direct-connection.service.js +101 -0
  16. package/dist/services/phyhub-direct-connection.service.js.map +1 -0
  17. package/dist/services/webrtc/data-channel-handler.d.ts +45 -0
  18. package/dist/services/webrtc/data-channel-handler.d.ts.map +1 -0
  19. package/dist/services/webrtc/data-channel-handler.js +260 -0
  20. package/dist/services/webrtc/data-channel-handler.js.map +1 -0
  21. package/dist/services/webrtc/index.d.ts +8 -0
  22. package/dist/services/webrtc/index.d.ts.map +1 -0
  23. package/dist/services/webrtc/index.js +18 -0
  24. package/dist/services/webrtc/index.js.map +1 -0
  25. package/dist/services/webrtc/media-stream-handler.d.ts +57 -0
  26. package/dist/services/webrtc/media-stream-handler.d.ts.map +1 -0
  27. package/dist/services/webrtc/media-stream-handler.js +383 -0
  28. package/dist/services/webrtc/media-stream-handler.js.map +1 -0
  29. package/dist/services/webrtc/peer-connection-manager.d.ts +40 -0
  30. package/dist/services/webrtc/peer-connection-manager.d.ts.map +1 -0
  31. package/dist/services/webrtc/peer-connection-manager.js +336 -0
  32. package/dist/services/webrtc/peer-connection-manager.js.map +1 -0
  33. package/dist/services/webrtc/types.d.ts +134 -0
  34. package/dist/services/webrtc/types.d.ts.map +1 -0
  35. package/dist/services/webrtc/types.js +12 -0
  36. package/dist/services/webrtc/types.js.map +1 -0
  37. package/dist/services/webrtc/webrtc-globals.d.ts +4 -0
  38. package/dist/services/webrtc/webrtc-globals.d.ts.map +1 -0
  39. package/dist/services/webrtc/webrtc-globals.js +72 -0
  40. package/dist/services/webrtc/webrtc-globals.js.map +1 -0
  41. package/dist/services/webrtc/webrtc-manager.d.ts +35 -0
  42. package/dist/services/webrtc/webrtc-manager.d.ts.map +1 -0
  43. package/dist/services/webrtc/webrtc-manager.js +274 -0
  44. package/dist/services/webrtc/webrtc-manager.js.map +1 -0
  45. package/dist/test/communication-comprehensive-test.d.ts +8 -0
  46. package/dist/test/communication-comprehensive-test.d.ts.map +1 -0
  47. package/dist/test/communication-comprehensive-test.js +356 -0
  48. package/dist/test/communication-comprehensive-test.js.map +1 -0
  49. package/dist/test/webrtc-channel-names-test.d.ts +2 -0
  50. package/dist/test/webrtc-channel-names-test.d.ts.map +1 -0
  51. package/dist/test/webrtc-channel-names-test.js +177 -0
  52. package/dist/test/webrtc-channel-names-test.js.map +1 -0
  53. package/dist/test/webrtc-comprehensive-test.d.ts +2 -0
  54. package/dist/test/webrtc-comprehensive-test.d.ts.map +1 -0
  55. package/dist/test/webrtc-comprehensive-test.js +328 -0
  56. package/dist/test/webrtc-comprehensive-test.js.map +1 -0
  57. package/dist/test/webrtc-reconnect-test.d.ts +4 -0
  58. package/dist/test/webrtc-reconnect-test.d.ts.map +1 -0
  59. package/dist/test/webrtc-reconnect-test.js +244 -0
  60. package/dist/test/webrtc-reconnect-test.js.map +1 -0
  61. package/dist/test/webrtc-test-harness.d.ts +4 -0
  62. package/dist/test/webrtc-test-harness.d.ts.map +1 -0
  63. package/dist/test/webrtc-test-harness.js +169 -0
  64. package/dist/test/webrtc-test-harness.js.map +1 -0
  65. package/dist/twin-messaging.d.ts +20 -0
  66. package/dist/twin-messaging.d.ts.map +1 -0
  67. package/dist/twin-messaging.js +94 -0
  68. package/dist/twin-messaging.js.map +1 -0
  69. package/dist/twin-registry.d.ts +9 -0
  70. package/dist/twin-registry.d.ts.map +1 -0
  71. package/dist/twin-registry.js +26 -0
  72. package/dist/twin-registry.js.map +1 -0
  73. package/dist/types/index.d.ts +4 -0
  74. package/dist/types/index.d.ts.map +1 -0
  75. package/dist/types/index.js +20 -0
  76. package/dist/types/index.js.map +1 -0
  77. package/dist/types/twin.types.d.ts +62 -14
  78. package/dist/types/twin.types.d.ts.map +1 -1
  79. package/dist/types/twin.types.js +8 -1
  80. package/dist/types/twin.types.js.map +1 -1
  81. package/docs/webrtc-howto.md +398 -0
  82. package/docs/webrtc-test.md +330 -0
  83. package/package.json +3 -3
  84. package/scripts/webrtc-test.sh +401 -0
  85. package/src/index.ts +378 -568
  86. package/src/peripheral-twin.ts +337 -0
  87. package/src/services/phyhub-connection.service.ts +24 -0
  88. package/src/services/phyhub-direct-connection.service.ts +159 -0
  89. package/src/services/webrtc/data-channel-handler.ts +362 -0
  90. package/src/services/webrtc/index.ts +36 -0
  91. package/src/services/webrtc/media-stream-handler.ts +536 -0
  92. package/src/services/webrtc/peer-connection-manager.ts +467 -0
  93. package/src/services/webrtc/types.ts +273 -0
  94. package/src/services/webrtc/webrtc-globals.ts +108 -0
  95. package/src/services/webrtc/webrtc-manager.ts +490 -0
  96. package/src/test/communication-comprehensive-test.ts +533 -0
  97. package/src/test/webrtc-channel-names-test.ts +266 -0
  98. package/src/test/webrtc-comprehensive-test.ts +494 -0
  99. package/src/test/webrtc-reconnect-test.ts +345 -0
  100. package/src/test/webrtc-test-harness.ts +254 -0
  101. package/src/twin-messaging.ts +184 -0
  102. package/src/twin-registry.ts +39 -0
  103. package/src/types/index.ts +3 -0
  104. package/src/types/twin.types.ts +80 -14
  105. package/dist/services/webrtc/datachannel.d.ts +0 -10
  106. package/dist/services/webrtc/datachannel.d.ts.map +0 -1
  107. package/dist/services/webrtc/datachannel.js +0 -290
  108. package/dist/services/webrtc/datachannel.js.map +0 -1
  109. package/dist/services/webrtc/mediastream.d.ts +0 -10
  110. package/dist/services/webrtc/mediastream.d.ts.map +0 -1
  111. package/dist/services/webrtc/mediastream.js +0 -396
  112. package/dist/services/webrtc/mediastream.js.map +0 -1
  113. package/dist/services/webrtc/peer-connection-ice.d.ts +0 -32
  114. package/dist/services/webrtc/peer-connection-ice.d.ts.map +0 -1
  115. package/dist/services/webrtc/peer-connection-ice.js +0 -483
  116. package/dist/services/webrtc/peer-connection-ice.js.map +0 -1
  117. package/src/services/webrtc/datachannel.ts +0 -421
  118. package/src/services/webrtc/mediastream.ts +0 -602
  119. package/src/services/webrtc/peer-connection-ice.ts +0 -689
@@ -0,0 +1 @@
1
+ {"version":3,"file":"communication-comprehensive-test.js","sourceRoot":"","sources":["../../src/test/communication-comprehensive-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=webrtc-channel-names-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webrtc-channel-names-test.d.ts","sourceRoot":"","sources":["../../src/test/webrtc-channel-names-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("../index");
4
+ const CHANNEL_NAMES = [undefined, 'control', 'data', 'telemetry'];
5
+ const MESSAGES_PER_CHANNEL = 3;
6
+ async function runInitiator(peerTwinId) {
7
+ console.log('\n=== Running as INITIATOR ===\n');
8
+ const client = await index_1.PhyHubClient.connect();
9
+ console.log('Connected to PhyHub!\n');
10
+ const results = [];
11
+ const channels = new Map();
12
+ const receivedCounts = new Map();
13
+ for (const channelName of CHANNEL_NAMES) {
14
+ const displayName = channelName !== null && channelName !== void 0 ? channelName : 'default';
15
+ console.log(`\n--- Creating channel: "${displayName}" ---`);
16
+ try {
17
+ const channel = await client.getDataChannel(peerTwinId, channelName);
18
+ console.log(`Channel "${displayName}" created. Label: ${channel.getChannelName()}`);
19
+ const expectedName = channelName !== null && channelName !== void 0 ? channelName : 'default';
20
+ if (channel.getChannelName() !== expectedName) {
21
+ console.error(`ERROR: Expected channel name "${expectedName}", got "${channel.getChannelName()}"`);
22
+ }
23
+ channels.set(displayName, channel);
24
+ receivedCounts.set(displayName, 0);
25
+ channel.onMessage((data) => {
26
+ console.log(`[${displayName}] RECEIVED:`, data);
27
+ receivedCounts.set(displayName, (receivedCounts.get(displayName) || 0) + 1);
28
+ });
29
+ }
30
+ catch (error) {
31
+ console.error(`Failed to create channel "${displayName}":`, error);
32
+ results.push({ channel: displayName, sent: 0, received: 0, passed: false });
33
+ }
34
+ }
35
+ console.log('\nWaiting 3 seconds for responder to set up...');
36
+ await sleep(3000);
37
+ console.log('\n--- Sending messages ---\n');
38
+ for (const [displayName, channel] of channels) {
39
+ if (!channel.isOpen()) {
40
+ console.log(`Channel "${displayName}" not open, skipping...`);
41
+ continue;
42
+ }
43
+ for (let i = 1; i <= MESSAGES_PER_CHANNEL; i++) {
44
+ const msg = {
45
+ channel: displayName,
46
+ messageNum: i,
47
+ from: 'initiator',
48
+ timestamp: Date.now(),
49
+ };
50
+ console.log(`[${displayName}] SENDING:`, msg);
51
+ channel.send(msg);
52
+ await sleep(200);
53
+ }
54
+ }
55
+ console.log('\nWaiting 5 seconds for responses...');
56
+ await sleep(5000);
57
+ console.log('\n--- Test Results ---\n');
58
+ for (const [displayName] of channels) {
59
+ const received = receivedCounts.get(displayName) || 0;
60
+ const passed = received >= MESSAGES_PER_CHANNEL;
61
+ results.push({
62
+ channel: displayName,
63
+ sent: MESSAGES_PER_CHANNEL,
64
+ received,
65
+ passed,
66
+ });
67
+ }
68
+ console.log('Channel'.padEnd(15) + 'Sent'.padEnd(8) + 'Received'.padEnd(10) + 'Status');
69
+ console.log('-'.repeat(45));
70
+ for (const result of results) {
71
+ const status = result.passed ? '✅ PASS' : '❌ FAIL';
72
+ console.log(result.channel.padEnd(15) +
73
+ result.sent.toString().padEnd(8) +
74
+ result.received.toString().padEnd(10) +
75
+ status);
76
+ }
77
+ const allPassed = results.every((r) => r.passed);
78
+ console.log('\n' + '='.repeat(45));
79
+ console.log(allPassed ? '✅ ALL TESTS PASSED' : '❌ SOME TESTS FAILED');
80
+ for (const channel of channels.values()) {
81
+ channel.close();
82
+ }
83
+ }
84
+ async function runResponder(peerTwinId) {
85
+ console.log('\n=== Running as RESPONDER ===\n');
86
+ const client = await index_1.PhyHubClient.connect();
87
+ console.log('Connected to PhyHub!\n');
88
+ const channels = new Map();
89
+ const receivedCounts = new Map();
90
+ let channelsReceived = 0;
91
+ return new Promise((resolve, reject) => {
92
+ const timeout = setTimeout(() => {
93
+ reject(new Error('Timeout waiting for channels (60s)'));
94
+ }, 60000);
95
+ for (const channelName of CHANNEL_NAMES) {
96
+ const displayName = channelName !== null && channelName !== void 0 ? channelName : 'default';
97
+ console.log(`Waiting for channel: "${displayName}"`);
98
+ client.onDataChannel(peerTwinId, (channel) => {
99
+ console.log(`\n[${displayName}] Channel received! Label: ${channel.getChannelName()}`);
100
+ channels.set(displayName, channel);
101
+ receivedCounts.set(displayName, 0);
102
+ channelsReceived++;
103
+ channel.onMessage((data) => {
104
+ console.log(`[${displayName}] RECEIVED:`, data);
105
+ receivedCounts.set(displayName, (receivedCounts.get(displayName) || 0) + 1);
106
+ const response = {
107
+ channel: displayName,
108
+ type: 'echo',
109
+ originalMessage: data.messageNum,
110
+ from: 'responder',
111
+ timestamp: Date.now(),
112
+ };
113
+ console.log(`[${displayName}] SENDING:`, response);
114
+ channel.send(response);
115
+ });
116
+ channel.onClose(() => {
117
+ console.log(`[${displayName}] Channel closed`);
118
+ const openChannels = Array.from(channels.values()).filter((c) => c.isOpen());
119
+ if (openChannels.length === 0 && channelsReceived === CHANNEL_NAMES.length) {
120
+ clearTimeout(timeout);
121
+ console.log('\n--- Responder Summary ---\n');
122
+ console.log('Channel'.padEnd(15) + 'Messages Received');
123
+ console.log('-'.repeat(35));
124
+ for (const [name, count] of receivedCounts) {
125
+ console.log(name.padEnd(15) + count.toString());
126
+ }
127
+ resolve();
128
+ }
129
+ });
130
+ }, channelName);
131
+ }
132
+ });
133
+ }
134
+ function sleep(ms) {
135
+ return new Promise((resolve) => setTimeout(resolve, ms));
136
+ }
137
+ async function main() {
138
+ var _a;
139
+ console.log('='.repeat(60));
140
+ console.log('WebRTC Named Channels Test');
141
+ console.log('='.repeat(60));
142
+ if (process.env.PHYHUB_DIRECT !== 'true') {
143
+ console.error('ERROR: Set PHYHUB_DIRECT=true');
144
+ process.exit(1);
145
+ }
146
+ const peerTwinId = process.env.PEER_TWIN_ID;
147
+ const role = (_a = process.env.ROLE) === null || _a === void 0 ? void 0 : _a.toLowerCase();
148
+ if (!peerTwinId) {
149
+ console.error('ERROR: Set PEER_TWIN_ID');
150
+ process.exit(1);
151
+ }
152
+ if (role !== 'initiator' && role !== 'responder') {
153
+ console.error('ERROR: Set ROLE to initiator or responder');
154
+ process.exit(1);
155
+ }
156
+ console.log(`\nRole: ${role}`);
157
+ console.log(`Peer Twin ID: ${peerTwinId}`);
158
+ console.log(`Channels to test: ${CHANNEL_NAMES.map((n) => n !== null && n !== void 0 ? n : 'default').join(', ')}`);
159
+ try {
160
+ if (role === 'initiator') {
161
+ await runInitiator(peerTwinId);
162
+ }
163
+ else {
164
+ await runResponder(peerTwinId);
165
+ }
166
+ console.log('\n[SUCCESS] Test completed!');
167
+ process.exit(0);
168
+ }
169
+ catch (error) {
170
+ console.error('\n[FAILED]', error);
171
+ process.exit(1);
172
+ }
173
+ }
174
+ if (require.main === module) {
175
+ main();
176
+ }
177
+ //# sourceMappingURL=webrtc-channel-names-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webrtc-channel-names-test.js","sourceRoot":"","sources":["../../src/test/webrtc-channel-names-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=webrtc-comprehensive-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webrtc-comprehensive-test.d.ts","sourceRoot":"","sources":["../../src/test/webrtc-comprehensive-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("../index");
4
+ const MESSAGES_PER_TEST = 3;
5
+ const results = [];
6
+ function log(msg) {
7
+ console.log(`[${new Date().toISOString().split('T')[1].slice(0, 8)}] ${msg}`);
8
+ }
9
+ function sleep(ms) {
10
+ return new Promise((resolve) => setTimeout(resolve, ms));
11
+ }
12
+ function addResult(name, passed, details) {
13
+ results.push({ name, passed, details });
14
+ const status = passed ? '\x1b[32mPASS\x1b[0m' : '\x1b[31mFAIL\x1b[0m';
15
+ log(`[${status}] ${name}: ${details}`);
16
+ }
17
+ async function testDataChannelDefault(client, peerTwinId, isInitiator) {
18
+ log('\n=== Test 1: DataChannel Default ===');
19
+ try {
20
+ let channel;
21
+ let receivedCount = 0;
22
+ if (isInitiator) {
23
+ channel = await client.getDataChannel(peerTwinId);
24
+ log(`Created default channel. Name: ${channel.getChannelName()}`);
25
+ if (channel.getChannelName() !== 'default') {
26
+ throw new Error(`Expected channel name 'default', got '${channel.getChannelName()}'`);
27
+ }
28
+ channel.onMessage(() => receivedCount++);
29
+ await sleep(2000);
30
+ for (let i = 0; i < MESSAGES_PER_TEST; i++) {
31
+ channel.send({ test: 'default', num: i });
32
+ await sleep(200);
33
+ }
34
+ await sleep(2000);
35
+ addResult('DataChannel Default', receivedCount >= MESSAGES_PER_TEST, `Sent ${MESSAGES_PER_TEST}, received ${receivedCount}`);
36
+ }
37
+ else {
38
+ await new Promise((resolve, reject) => {
39
+ const timeout = setTimeout(() => reject(new Error('Timeout')), 30000);
40
+ client.onDataChannel(peerTwinId, (ch) => {
41
+ clearTimeout(timeout);
42
+ channel = ch;
43
+ log(`Received default channel. Name: ${ch.getChannelName()}`);
44
+ ch.onMessage((data) => {
45
+ receivedCount++;
46
+ ch.send({ echo: data });
47
+ });
48
+ setTimeout(() => {
49
+ addResult('DataChannel Default', receivedCount >= MESSAGES_PER_TEST, `Received ${receivedCount} messages`);
50
+ resolve();
51
+ }, 8000);
52
+ });
53
+ });
54
+ }
55
+ }
56
+ catch (error) {
57
+ addResult('DataChannel Default', false, error.message);
58
+ }
59
+ }
60
+ async function testDataChannelNamed(client, peerTwinId, isInitiator) {
61
+ log('\n=== Test 2: DataChannel Named Channels ===');
62
+ const channelNames = ['control', 'data', 'telemetry'];
63
+ const receivedByChannel = new Map();
64
+ try {
65
+ if (isInitiator) {
66
+ const channels = [];
67
+ for (const name of channelNames) {
68
+ const ch = await client.getDataChannel(peerTwinId, name);
69
+ log(`Created channel '${name}'. Reported name: ${ch.getChannelName()}`);
70
+ if (ch.getChannelName() !== name) {
71
+ throw new Error(`Expected channel name '${name}', got '${ch.getChannelName()}'`);
72
+ }
73
+ receivedByChannel.set(name, 0);
74
+ ch.onMessage(() => {
75
+ receivedByChannel.set(name, (receivedByChannel.get(name) || 0) + 1);
76
+ });
77
+ channels.push(ch);
78
+ }
79
+ await sleep(3000);
80
+ for (let i = 0; i < channels.length; i++) {
81
+ const ch = channels[i];
82
+ for (let j = 0; j < MESSAGES_PER_TEST; j++) {
83
+ ch.send({ channel: channelNames[i], num: j });
84
+ await sleep(100);
85
+ }
86
+ }
87
+ await sleep(3000);
88
+ let allPassed = true;
89
+ for (const name of channelNames) {
90
+ const count = receivedByChannel.get(name) || 0;
91
+ if (count < MESSAGES_PER_TEST)
92
+ allPassed = false;
93
+ }
94
+ const details = channelNames.map(n => `${n}:${receivedByChannel.get(n)}`).join(', ');
95
+ addResult('DataChannel Named', allPassed, details);
96
+ channels.forEach(ch => ch.close());
97
+ }
98
+ else {
99
+ const promises = channelNames.map(name => new Promise((resolve, reject) => {
100
+ const timeout = setTimeout(() => reject(new Error(`Timeout for ${name}`)), 30000);
101
+ receivedByChannel.set(name, 0);
102
+ client.onDataChannel(peerTwinId, (ch) => {
103
+ clearTimeout(timeout);
104
+ log(`Received channel '${name}'. Reported: ${ch.getChannelName()}`);
105
+ ch.onMessage((data) => {
106
+ receivedByChannel.set(name, (receivedByChannel.get(name) || 0) + 1);
107
+ ch.send({ echo: data });
108
+ });
109
+ setTimeout(resolve, 10000);
110
+ }, name);
111
+ }));
112
+ await Promise.all(promises);
113
+ const details = channelNames.map(n => `${n}:${receivedByChannel.get(n)}`).join(', ');
114
+ const allPassed = channelNames.every(n => (receivedByChannel.get(n) || 0) >= MESSAGES_PER_TEST);
115
+ addResult('DataChannel Named', allPassed, details);
116
+ }
117
+ }
118
+ catch (error) {
119
+ addResult('DataChannel Named', false, error.message);
120
+ }
121
+ }
122
+ async function testDataChannelReconnection(client, peerTwinId, isInitiator) {
123
+ log('\n=== Test 3: DataChannel Reconnection ===');
124
+ try {
125
+ const manager = await client.getWebRTCManager({ verbose: true });
126
+ let reconnectDetected = false;
127
+ let messagesAfterReconnect = 0;
128
+ let channel;
129
+ manager.on('reconnecting', () => {
130
+ log('[EVENT] Reconnecting...');
131
+ });
132
+ manager.on('reconnected', () => {
133
+ log('[EVENT] Reconnected!');
134
+ reconnectDetected = true;
135
+ });
136
+ if (isInitiator) {
137
+ channel = await client.getDataChannel(peerTwinId, 'reconnect-test');
138
+ log('Channel created for reconnect test');
139
+ channel.onMessage(() => messagesAfterReconnect++);
140
+ for (let i = 0; i < 3; i++) {
141
+ channel.send({ phase: 'before', num: i });
142
+ await sleep(200);
143
+ }
144
+ log('Waiting 5s before simulating disconnect...');
145
+ await sleep(5000);
146
+ channel.send({ command: 'simulate-disconnect' });
147
+ log('Waiting 15s for reconnection...');
148
+ await sleep(15000);
149
+ for (let i = 0; i < MESSAGES_PER_TEST; i++) {
150
+ channel.send({ phase: 'after', num: i });
151
+ await sleep(200);
152
+ }
153
+ await sleep(3000);
154
+ const passed = messagesAfterReconnect >= MESSAGES_PER_TEST;
155
+ addResult('DataChannel Reconnection', passed, `Reconnect detected: ${reconnectDetected}, messages after: ${messagesAfterReconnect}`);
156
+ }
157
+ else {
158
+ await new Promise((resolve, reject) => {
159
+ const timeout = setTimeout(() => reject(new Error('Timeout')), 60000);
160
+ client.onDataChannel(peerTwinId, (ch) => {
161
+ clearTimeout(timeout);
162
+ channel = ch;
163
+ log('Reconnect test channel received');
164
+ ch.onMessage((data) => {
165
+ messagesAfterReconnect++;
166
+ ch.send({ echo: data });
167
+ if (data.command === 'simulate-disconnect') {
168
+ log('Simulating disconnect...');
169
+ }
170
+ });
171
+ setTimeout(() => {
172
+ addResult('DataChannel Reconnection', messagesAfterReconnect > 0, `Received ${messagesAfterReconnect} total messages`);
173
+ resolve();
174
+ }, 30000);
175
+ }, 'reconnect-test');
176
+ });
177
+ }
178
+ }
179
+ catch (error) {
180
+ addResult('DataChannel Reconnection', false, error.message);
181
+ }
182
+ }
183
+ async function testMediaStreamConnection(client, peerTwinId, isInitiator) {
184
+ log('\n=== Test 4: MediaStream Connection ===');
185
+ try {
186
+ if (isInitiator) {
187
+ const { stream, close } = await client.getMediaStream(peerTwinId);
188
+ log(`MediaStream created. Target: ${stream.getTargetTwinId()}, Channel: ${stream.getChannelName()}`);
189
+ if (stream.getChannelName() !== 'default') {
190
+ throw new Error(`Expected channel name 'default', got '${stream.getChannelName()}'`);
191
+ }
192
+ stream.onTrack((track) => {
193
+ log(`Received track: ${track.kind}`);
194
+ });
195
+ await sleep(5000);
196
+ addResult('MediaStream Connection', true, `Connected to ${stream.getTargetTwinId()}`);
197
+ close();
198
+ }
199
+ else {
200
+ await new Promise((resolve, reject) => {
201
+ const timeout = setTimeout(() => reject(new Error('Timeout')), 30000);
202
+ client.onMediaStream(peerTwinId, (stream) => {
203
+ clearTimeout(timeout);
204
+ log(`MediaStream received. Channel: ${stream.getChannelName()}`);
205
+ stream.onTrack((track) => {
206
+ log(`Track received: ${track.kind}`);
207
+ });
208
+ setTimeout(() => {
209
+ addResult('MediaStream Connection', true, `Connected from ${stream.getTargetTwinId()}`);
210
+ resolve();
211
+ }, 5000);
212
+ });
213
+ });
214
+ }
215
+ }
216
+ catch (error) {
217
+ addResult('MediaStream Connection', false, error.message);
218
+ }
219
+ }
220
+ async function testMediaStreamNamed(client, peerTwinId, isInitiator) {
221
+ log('\n=== Test 5: MediaStream Named Channels ===');
222
+ const channelNames = ['video', 'audio'];
223
+ try {
224
+ if (isInitiator) {
225
+ const streams = [];
226
+ for (const name of channelNames) {
227
+ const result = await client.getMediaStream(peerTwinId, { channelName: name });
228
+ log(`Created MediaStream '${name}'. Reported: ${result.stream.getChannelName()}`);
229
+ if (result.stream.getChannelName() !== name) {
230
+ throw new Error(`Expected '${name}', got '${result.stream.getChannelName()}'`);
231
+ }
232
+ streams.push(result);
233
+ }
234
+ await sleep(5000);
235
+ addResult('MediaStream Named', true, `Created ${channelNames.length} named streams`);
236
+ streams.forEach(s => s.close());
237
+ }
238
+ else {
239
+ const receivedChannels = [];
240
+ const promises = channelNames.map(name => new Promise((resolve, reject) => {
241
+ const timeout = setTimeout(() => reject(new Error(`Timeout for ${name}`)), 30000);
242
+ client.onMediaStream(peerTwinId, (stream) => {
243
+ clearTimeout(timeout);
244
+ log(`Received MediaStream '${name}'. Reported: ${stream.getChannelName()}`);
245
+ receivedChannels.push(stream.getChannelName());
246
+ setTimeout(resolve, 3000);
247
+ }, { channelName: name });
248
+ }));
249
+ await Promise.all(promises);
250
+ const passed = receivedChannels.length === channelNames.length;
251
+ addResult('MediaStream Named', passed, `Received channels: ${receivedChannels.join(', ')}`);
252
+ }
253
+ }
254
+ catch (error) {
255
+ addResult('MediaStream Named', false, error.message);
256
+ }
257
+ }
258
+ async function main() {
259
+ var _a;
260
+ console.log('='.repeat(60));
261
+ console.log('WebRTC Comprehensive Test Suite');
262
+ console.log('='.repeat(60));
263
+ if (process.env.PHYHUB_DIRECT !== 'true') {
264
+ console.error('ERROR: Set PHYHUB_DIRECT=true');
265
+ process.exit(1);
266
+ }
267
+ const peerTwinId = process.env.PEER_TWIN_ID;
268
+ const role = (_a = process.env.ROLE) === null || _a === void 0 ? void 0 : _a.toLowerCase();
269
+ const testFilter = process.env.TEST;
270
+ if (!peerTwinId) {
271
+ console.error('ERROR: Set PEER_TWIN_ID');
272
+ process.exit(1);
273
+ }
274
+ if (role !== 'initiator' && role !== 'responder') {
275
+ console.error('ERROR: Set ROLE to initiator or responder');
276
+ process.exit(1);
277
+ }
278
+ const isInitiator = role === 'initiator';
279
+ log(`Role: ${role}`);
280
+ log(`Peer Twin ID: ${peerTwinId}`);
281
+ if (testFilter)
282
+ log(`Running only: ${testFilter}`);
283
+ try {
284
+ log('\nConnecting to PhyHub...');
285
+ const client = await index_1.PhyHubClient.connect();
286
+ log('Connected!\n');
287
+ const tests = [
288
+ { name: 'default', fn: testDataChannelDefault },
289
+ { name: 'named', fn: testDataChannelNamed },
290
+ { name: 'reconnect', fn: testDataChannelReconnection },
291
+ { name: 'media', fn: testMediaStreamConnection },
292
+ { name: 'media-named', fn: testMediaStreamNamed },
293
+ ];
294
+ for (const test of tests) {
295
+ if (!testFilter || test.name === testFilter) {
296
+ await test.fn(client, peerTwinId, isInitiator);
297
+ await sleep(2000);
298
+ }
299
+ }
300
+ console.log('\n' + '='.repeat(60));
301
+ console.log('TEST SUMMARY');
302
+ console.log('='.repeat(60));
303
+ console.log('Test'.padEnd(30) + 'Status');
304
+ console.log('-'.repeat(45));
305
+ let passed = 0;
306
+ let failed = 0;
307
+ for (const r of results) {
308
+ const status = r.passed ? '\x1b[32mPASS\x1b[0m' : '\x1b[31mFAIL\x1b[0m';
309
+ console.log(r.name.padEnd(30) + status);
310
+ if (r.passed)
311
+ passed++;
312
+ else
313
+ failed++;
314
+ }
315
+ console.log('-'.repeat(45));
316
+ console.log(`Total: ${passed} passed, ${failed} failed`);
317
+ console.log('='.repeat(60));
318
+ process.exit(failed > 0 ? 1 : 0);
319
+ }
320
+ catch (error) {
321
+ console.error('\n[FATAL]', error);
322
+ process.exit(1);
323
+ }
324
+ }
325
+ if (require.main === module) {
326
+ main();
327
+ }
328
+ //# sourceMappingURL=webrtc-comprehensive-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webrtc-comprehensive-test.js","sourceRoot":"","sources":["../../src/test/webrtc-comprehensive-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ declare function runInitiatorTest(peerTwinId: string): Promise<void>;
2
+ declare function runResponderTest(peerTwinId: string): Promise<void>;
3
+ export { runInitiatorTest, runResponderTest };
4
+ //# sourceMappingURL=webrtc-reconnect-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webrtc-reconnect-test.d.ts","sourceRoot":"","sources":["../../src/test/webrtc-reconnect-test.ts"],"names":[],"mappings":"AA4CA,iBAAe,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8GjE;AAED,iBAAe,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIjE;AAmDD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}