@limrun/api 0.17.0-rc.2 → 0.17.0-rc.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/client.d.mts +1 -1
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +1 -1
  5. package/client.d.ts.map +1 -1
  6. package/instance-client.d.mts.map +1 -1
  7. package/instance-client.d.ts.map +1 -1
  8. package/instance-client.js +24 -8
  9. package/instance-client.js.map +1 -1
  10. package/instance-client.mjs +25 -9
  11. package/instance-client.mjs.map +1 -1
  12. package/ios-client.d.mts +8 -1
  13. package/ios-client.d.mts.map +1 -1
  14. package/ios-client.d.ts +8 -1
  15. package/ios-client.d.ts.map +1 -1
  16. package/ios-client.js +15 -2
  17. package/ios-client.js.map +1 -1
  18. package/ios-client.mjs +15 -2
  19. package/ios-client.mjs.map +1 -1
  20. package/package.json +1 -1
  21. package/resources/android-instances.d.mts +1 -0
  22. package/resources/android-instances.d.mts.map +1 -1
  23. package/resources/android-instances.d.ts +1 -0
  24. package/resources/android-instances.d.ts.map +1 -1
  25. package/resources/ios-instances.d.mts +2 -1
  26. package/resources/ios-instances.d.mts.map +1 -1
  27. package/resources/ios-instances.d.ts +2 -1
  28. package/resources/ios-instances.d.ts.map +1 -1
  29. package/src/client.ts +1 -1
  30. package/src/instance-client.ts +30 -9
  31. package/src/ios-client.ts +22 -3
  32. package/src/resources/android-instances.ts +2 -0
  33. package/src/resources/ios-instances.ts +3 -1
  34. package/src/tunnel.ts +48 -6
  35. package/src/version.ts +1 -1
  36. package/tunnel.d.mts +1 -0
  37. package/tunnel.d.mts.map +1 -1
  38. package/tunnel.d.ts +1 -0
  39. package/tunnel.d.ts.map +1 -1
  40. package/tunnel.js +44 -6
  41. package/tunnel.js.map +1 -1
  42. package/tunnel.mjs +42 -6
  43. package/tunnel.mjs.map +1 -1
  44. package/version.d.mts +1 -1
  45. package/version.d.ts +1 -1
  46. package/version.js +1 -1
  47. package/version.mjs +1 -1
package/tunnel.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNonRetryableError = void 0;
3
4
  exports.startTcpTunnel = startTcpTunnel;
4
5
  const tslib_1 = require("./internal/tslib.js");
6
+ const crypto = tslib_1.__importStar(require("crypto"));
5
7
  const net = tslib_1.__importStar(require("net"));
6
8
  const ws_1 = require("ws");
7
9
  /**
@@ -25,7 +27,6 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
25
27
  const reconnectDelay = options?.reconnectDelay ?? 1000;
26
28
  const maxReconnectDelay = options?.maxReconnectDelay ?? 30000;
27
29
  const logLevel = options?.logLevel ?? 'info';
28
- // Logger functions
29
30
  const logger = {
30
31
  debug: (...args) => {
31
32
  if (logLevel === 'debug')
@@ -53,6 +54,8 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
53
54
  let intentionalDisconnect = false;
54
55
  let tcpSocket;
55
56
  let connectionState = 'connecting';
57
+ let sessionId;
58
+ let lastError;
56
59
  const stateChangeCallbacks = new Set();
57
60
  const updateConnectionState = (newState) => {
58
61
  if (connectionState !== newState) {
@@ -101,12 +104,16 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
101
104
  logger.debug('Skipping reconnection (intentional disconnect)');
102
105
  return;
103
106
  }
107
+ if ((0, exports.isNonRetryableError)(lastError ?? '')) {
108
+ logger.error(`Skipping reconnection (non-retryable error): ${lastError}`);
109
+ return;
110
+ }
104
111
  if (!tcpSocket || tcpSocket.destroyed) {
105
112
  logger.debug('Skipping reconnection (TCP socket closed)');
106
113
  return;
107
114
  }
108
115
  if (reconnectAttempts >= maxReconnectAttempts) {
109
- logger.error(`Max reconnection attempts (${maxReconnectAttempts}) reached. Closing tunnel.`);
116
+ logger.error(`Max reconnection attempts (${maxReconnectAttempts}) reached. Closing tunnel.`, lastError ? `Last error: ${lastError}` : '');
110
117
  close();
111
118
  return;
112
119
  }
@@ -126,19 +133,28 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
126
133
  }
127
134
  cleanup();
128
135
  updateConnectionState('connecting');
129
- ws = new ws_1.WebSocket(remoteURL, {
136
+ // Append sessionId as query parameter for server-side session persistence
137
+ const url = new URL(remoteURL);
138
+ if (sessionId) {
139
+ url.searchParams.set('sessionId', sessionId);
140
+ }
141
+ ws = new ws_1.WebSocket(url.toString(), {
130
142
  headers: { Authorization: `Bearer ${token}` },
131
143
  perMessageDeflate: false,
132
144
  });
133
145
  ws.on('error', (err) => {
134
- logger.error('WebSocket error:', err.message || err);
146
+ const errMessage = err.message || String(err);
147
+ lastError = errMessage;
148
+ logger.debug('WebSocket error:', errMessage);
135
149
  });
136
150
  ws.on('close', () => {
137
151
  if (pingInterval) {
138
152
  clearInterval(pingInterval);
139
153
  pingInterval = undefined;
140
154
  }
141
- const shouldReconnect = !intentionalDisconnect && connectionState !== 'disconnected';
155
+ const shouldReconnect = !intentionalDisconnect &&
156
+ !(0, exports.isNonRetryableError)(lastError ?? '') &&
157
+ connectionState !== 'disconnected';
142
158
  updateConnectionState('disconnected');
143
159
  logger.debug('WebSocket disconnected');
144
160
  // Pause TCP socket to apply backpressure - TCP will handle buffering
@@ -149,11 +165,18 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
149
165
  if (shouldReconnect && tcpSocket && !tcpSocket.destroyed) {
150
166
  scheduleReconnect();
151
167
  }
168
+ else if ((0, exports.isNonRetryableError)(lastError ?? '')) {
169
+ // Close entire tunnel on non-retryable errors (not just TCP socket)
170
+ // This prevents adb from reconnecting and triggering the same error
171
+ logger.error(`Closing tunnel due to non-retryable error: ${lastError}`);
172
+ close();
173
+ }
152
174
  });
153
175
  ws.on('open', () => {
154
176
  const socket = ws;
155
177
  logger.debug('WebSocket connected');
156
178
  reconnectAttempts = 0;
179
+ lastError = undefined;
157
180
  updateConnectionState('connected');
158
181
  pingInterval = setInterval(() => {
159
182
  if (socket.readyState === ws_1.WebSocket.OPEN) {
@@ -222,6 +245,8 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
222
245
  // Reset reconnection state for next connection
223
246
  reconnectAttempts = 0;
224
247
  intentionalDisconnect = false;
248
+ sessionId = undefined;
249
+ lastError = undefined;
225
250
  logger.debug('Connection cleaned up, ready for new TCP connection');
226
251
  };
227
252
  // On TCP connection (can happen multiple times)
@@ -232,7 +257,11 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
232
257
  socket.destroy();
233
258
  return;
234
259
  }
235
- logger.debug('TCP client connected');
260
+ // Generate a new sessionId for this TCP connection.
261
+ // This ID persists across WebSocket reconnects, allowing the server
262
+ // to associate reconnecting clients with their existing ADB session.
263
+ sessionId = crypto.randomUUID();
264
+ logger.debug('TCP client connected', 'sessionId', sessionId);
236
265
  tcpSocket = socket;
237
266
  // TCP socket handlers
238
267
  tcpSocket.on('close', () => {
@@ -250,4 +279,13 @@ async function startTcpTunnel(remoteURL, token, hostname, port, options) {
250
279
  server.listen(port, hostname);
251
280
  });
252
281
  }
282
+ const isNonRetryableError = (errMessage) => {
283
+ const match = errMessage.match(/Unexpected server response: (\d+)/);
284
+ if (match && match[1]) {
285
+ const statusCode = parseInt(match[1], 10);
286
+ return statusCode >= 400 && statusCode < 500;
287
+ }
288
+ return false;
289
+ };
290
+ exports.isNonRetryableError = isNonRetryableError;
253
291
  //# sourceMappingURL=tunnel.js.map
package/tunnel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["src/tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["src/tunnel.ts"],"names":[],"mappings":"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"}
package/tunnel.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import * as crypto from 'crypto';
1
2
  import * as net from 'net';
2
3
  import { WebSocket } from 'ws';
3
4
  /**
@@ -21,7 +22,6 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
21
22
  const reconnectDelay = options?.reconnectDelay ?? 1000;
22
23
  const maxReconnectDelay = options?.maxReconnectDelay ?? 30000;
23
24
  const logLevel = options?.logLevel ?? 'info';
24
- // Logger functions
25
25
  const logger = {
26
26
  debug: (...args) => {
27
27
  if (logLevel === 'debug')
@@ -49,6 +49,8 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
49
49
  let intentionalDisconnect = false;
50
50
  let tcpSocket;
51
51
  let connectionState = 'connecting';
52
+ let sessionId;
53
+ let lastError;
52
54
  const stateChangeCallbacks = new Set();
53
55
  const updateConnectionState = (newState) => {
54
56
  if (connectionState !== newState) {
@@ -97,12 +99,16 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
97
99
  logger.debug('Skipping reconnection (intentional disconnect)');
98
100
  return;
99
101
  }
102
+ if (isNonRetryableError(lastError ?? '')) {
103
+ logger.error(`Skipping reconnection (non-retryable error): ${lastError}`);
104
+ return;
105
+ }
100
106
  if (!tcpSocket || tcpSocket.destroyed) {
101
107
  logger.debug('Skipping reconnection (TCP socket closed)');
102
108
  return;
103
109
  }
104
110
  if (reconnectAttempts >= maxReconnectAttempts) {
105
- logger.error(`Max reconnection attempts (${maxReconnectAttempts}) reached. Closing tunnel.`);
111
+ logger.error(`Max reconnection attempts (${maxReconnectAttempts}) reached. Closing tunnel.`, lastError ? `Last error: ${lastError}` : '');
106
112
  close();
107
113
  return;
108
114
  }
@@ -122,19 +128,28 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
122
128
  }
123
129
  cleanup();
124
130
  updateConnectionState('connecting');
125
- ws = new WebSocket(remoteURL, {
131
+ // Append sessionId as query parameter for server-side session persistence
132
+ const url = new URL(remoteURL);
133
+ if (sessionId) {
134
+ url.searchParams.set('sessionId', sessionId);
135
+ }
136
+ ws = new WebSocket(url.toString(), {
126
137
  headers: { Authorization: `Bearer ${token}` },
127
138
  perMessageDeflate: false,
128
139
  });
129
140
  ws.on('error', (err) => {
130
- logger.error('WebSocket error:', err.message || err);
141
+ const errMessage = err.message || String(err);
142
+ lastError = errMessage;
143
+ logger.debug('WebSocket error:', errMessage);
131
144
  });
132
145
  ws.on('close', () => {
133
146
  if (pingInterval) {
134
147
  clearInterval(pingInterval);
135
148
  pingInterval = undefined;
136
149
  }
137
- const shouldReconnect = !intentionalDisconnect && connectionState !== 'disconnected';
150
+ const shouldReconnect = !intentionalDisconnect &&
151
+ !isNonRetryableError(lastError ?? '') &&
152
+ connectionState !== 'disconnected';
138
153
  updateConnectionState('disconnected');
139
154
  logger.debug('WebSocket disconnected');
140
155
  // Pause TCP socket to apply backpressure - TCP will handle buffering
@@ -145,11 +160,18 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
145
160
  if (shouldReconnect && tcpSocket && !tcpSocket.destroyed) {
146
161
  scheduleReconnect();
147
162
  }
163
+ else if (isNonRetryableError(lastError ?? '')) {
164
+ // Close entire tunnel on non-retryable errors (not just TCP socket)
165
+ // This prevents adb from reconnecting and triggering the same error
166
+ logger.error(`Closing tunnel due to non-retryable error: ${lastError}`);
167
+ close();
168
+ }
148
169
  });
149
170
  ws.on('open', () => {
150
171
  const socket = ws;
151
172
  logger.debug('WebSocket connected');
152
173
  reconnectAttempts = 0;
174
+ lastError = undefined;
153
175
  updateConnectionState('connected');
154
176
  pingInterval = setInterval(() => {
155
177
  if (socket.readyState === WebSocket.OPEN) {
@@ -218,6 +240,8 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
218
240
  // Reset reconnection state for next connection
219
241
  reconnectAttempts = 0;
220
242
  intentionalDisconnect = false;
243
+ sessionId = undefined;
244
+ lastError = undefined;
221
245
  logger.debug('Connection cleaned up, ready for new TCP connection');
222
246
  };
223
247
  // On TCP connection (can happen multiple times)
@@ -228,7 +252,11 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
228
252
  socket.destroy();
229
253
  return;
230
254
  }
231
- logger.debug('TCP client connected');
255
+ // Generate a new sessionId for this TCP connection.
256
+ // This ID persists across WebSocket reconnects, allowing the server
257
+ // to associate reconnecting clients with their existing ADB session.
258
+ sessionId = crypto.randomUUID();
259
+ logger.debug('TCP client connected', 'sessionId', sessionId);
232
260
  tcpSocket = socket;
233
261
  // TCP socket handlers
234
262
  tcpSocket.on('close', () => {
@@ -246,4 +274,12 @@ export async function startTcpTunnel(remoteURL, token, hostname, port, options)
246
274
  server.listen(port, hostname);
247
275
  });
248
276
  }
277
+ export const isNonRetryableError = (errMessage) => {
278
+ const match = errMessage.match(/Unexpected server response: (\d+)/);
279
+ if (match && match[1]) {
280
+ const statusCode = parseInt(match[1], 10);
281
+ return statusCode >= 400 && statusCode < 500;
282
+ }
283
+ return false;
284
+ };
249
285
  //# sourceMappingURL=tunnel.mjs.map
package/tunnel.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.mjs","sourceRoot":"","sources":["src/tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tunnel.mjs","sourceRoot":"","sources":["src/tunnel.ts"],"names":[],"mappings":"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"}
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.17.0-rc.2";
1
+ export declare const VERSION = "0.17.0-rc.4";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.17.0-rc.2";
1
+ export declare const VERSION = "0.17.0-rc.4";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.17.0-rc.2'; // x-release-please-version
4
+ exports.VERSION = '0.17.0-rc.4'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.17.0-rc.2'; // x-release-please-version
1
+ export const VERSION = '0.17.0-rc.4'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map