@limrun/api 0.5.2 → 0.6.2

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 (54) hide show
  1. package/CHANGELOG.md +23 -112
  2. package/client.d.mts +6 -6
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +6 -6
  5. package/client.d.ts.map +1 -1
  6. package/client.js +12 -6
  7. package/client.js.map +1 -1
  8. package/client.mjs +12 -6
  9. package/client.mjs.map +1 -1
  10. package/index.d.mts +0 -1
  11. package/index.d.ts +0 -1
  12. package/index.js +0 -2
  13. package/index.js.map +1 -1
  14. package/index.mjs +0 -1
  15. package/package.json +1 -4
  16. package/resources/android-instances-helpers.d.mts +51 -24
  17. package/resources/android-instances-helpers.d.mts.map +1 -1
  18. package/resources/android-instances-helpers.d.ts +51 -24
  19. package/resources/android-instances-helpers.d.ts.map +1 -1
  20. package/resources/android-instances-helpers.js +199 -107
  21. package/resources/android-instances-helpers.js.map +1 -1
  22. package/resources/android-instances-helpers.mjs +198 -103
  23. package/resources/android-instances-helpers.mjs.map +1 -1
  24. package/resources/android-instances.d.mts +4 -7
  25. package/resources/android-instances.d.mts.map +1 -1
  26. package/resources/android-instances.d.ts +4 -7
  27. package/resources/android-instances.d.ts.map +1 -1
  28. package/resources/android-instances.js.map +1 -1
  29. package/resources/android-instances.mjs.map +1 -1
  30. package/resources/index.d.mts +1 -1
  31. package/resources/index.d.mts.map +1 -1
  32. package/resources/index.d.ts +1 -1
  33. package/resources/index.d.ts.map +1 -1
  34. package/resources/index.js.map +1 -1
  35. package/resources/index.mjs.map +1 -1
  36. package/resources/tunnel.d.mts +25 -0
  37. package/resources/tunnel.d.mts.map +1 -0
  38. package/resources/tunnel.d.ts +25 -0
  39. package/resources/tunnel.d.ts.map +1 -0
  40. package/resources/tunnel.js +102 -0
  41. package/resources/tunnel.js.map +1 -0
  42. package/resources/tunnel.mjs +98 -0
  43. package/resources/tunnel.mjs.map +1 -0
  44. package/src/client.ts +18 -14
  45. package/src/index.ts +0 -2
  46. package/src/resources/android-instances-helpers.ts +318 -127
  47. package/src/resources/android-instances.ts +3 -8
  48. package/src/resources/index.ts +0 -1
  49. package/src/resources/tunnel.ts +126 -0
  50. package/src/version.ts +1 -1
  51. package/version.d.mts +1 -1
  52. package/version.d.ts +1 -1
  53. package/version.js +1 -1
  54. package/version.mjs +1 -1
@@ -1,123 +1,218 @@
1
- import { exec } from 'child_process';
2
- import * as net from 'net';
3
1
  import { WebSocket } from 'ws';
2
+ import { exec } from 'node:child_process';
3
+ import { startTcpTunnel } from "./tunnel.mjs";
4
4
  /**
5
- * Opens a WebSocket TCP proxy for the ADB port and connects the local adb
6
- * client to it.
5
+ * Creates a client for interacting with a Limbar instance
6
+ * @param options Configuration options including webrtcUrl, token and log level
7
+ * @returns An InstanceClient for controlling the instance
7
8
  */
8
- export const startAdbTunnel = async (androidInstance, hostname, port) => {
9
- if (!androidInstance.status.adbWebSocketUrl) {
10
- throw new Error('ADB WebSocket URL is not available');
11
- }
12
- const { address, close } = await startTcpProxy(androidInstance.status.adbWebSocketUrl, androidInstance.status.token, hostname ?? '127.0.0.1', port ?? 0);
13
- try {
14
- await new Promise((resolve, reject) => {
15
- exec(`adb connect ${address.address}:${address.port}`, (err) => {
16
- if (err)
17
- return reject(err);
18
- resolve();
19
- });
20
- });
21
- }
22
- catch (err) {
23
- close();
24
- throw err;
25
- }
26
- return { address, close };
27
- };
28
- /**
29
- * Starts a one-shot TCP WebSocket proxy.
30
- *
31
- * The function creates a local TCP server that listens on an ephemeral port on
32
- * 127.0.0.1. As soon as the **first** TCP client connects the server stops
33
- * accepting further connections and forwards all traffic between that client
34
- * and `remoteURL` through an authenticated WebSocket. If you need to proxy
35
- * more than one TCP connection, call `startTcpProxy` again to create a new
36
- * proxy instance.
37
- *
38
- * @param remoteURL Remote WebSocket endpoint (e.g. wss://example.com/instance)
39
- * @param token Bearer token sent as `Authorization` header
40
- * @param hostname Optional IP address to listen on. Default is 127.0.0.1
41
- * @param port Optional port number to listen on. Default is to ask Node.js
42
- * to find an available non-privileged port.
43
- */
44
- export async function startTcpProxy(remoteURL, token, hostname, port) {
45
- return new Promise((resolve, reject) => {
46
- const server = net.createServer();
47
- let ws;
48
- let pingInterval;
49
- // close helper
50
- const close = () => {
51
- if (pingInterval) {
52
- clearInterval(pingInterval);
53
- pingInterval = undefined;
9
+ export async function createInstanceClient(androidInstance, options = {
10
+ adbPath: 'adb',
11
+ logLevel: 'info',
12
+ }) {
13
+ const token = androidInstance.status.token;
14
+ const serverAddress = `${androidInstance.status.endpointWebSocketUrl}?token=${token}`;
15
+ const logLevel = options.logLevel ?? 'info';
16
+ let ws = undefined;
17
+ const screenshotRequests = new Map();
18
+ const assetRequests = new Map();
19
+ // Logger functions
20
+ const logger = {
21
+ debug: (...args) => {
22
+ if (logLevel === 'debug')
23
+ console.log(...args);
24
+ },
25
+ info: (...args) => {
26
+ if (logLevel === 'info' || logLevel === 'debug')
27
+ console.log(...args);
28
+ },
29
+ warn: (...args) => {
30
+ if (logLevel === 'warn' || logLevel === 'info' || logLevel === 'debug')
31
+ console.warn(...args);
32
+ },
33
+ error: (...args) => {
34
+ if (logLevel !== 'none')
35
+ console.error(...args);
36
+ },
37
+ };
38
+ return new Promise((resolveConnection, rejectConnection) => {
39
+ logger.debug(`Attempting to connect to WebSocket server at ${serverAddress}...`);
40
+ ws = new WebSocket(serverAddress);
41
+ ws.on('message', (data) => {
42
+ let message;
43
+ try {
44
+ message = JSON.parse(data.toString());
54
45
  }
55
- if (ws && ws.readyState === WebSocket.OPEN) {
56
- ws.close(1000, 'close');
46
+ catch (e) {
47
+ logger.error({ data, error: e }, 'Failed to parse JSON message');
48
+ return;
57
49
  }
58
- if (server.listening) {
59
- server.close();
50
+ switch (message.type) {
51
+ case 'screenshot': {
52
+ if (!('dataUri' in message) || typeof message.dataUri !== 'string' || !('id' in message)) {
53
+ logger.warn('Received invalid screenshot message:', message);
54
+ break;
55
+ }
56
+ const screenshotMessage = message;
57
+ const request = screenshotRequests.get(screenshotMessage.id);
58
+ if (!request) {
59
+ logger.warn(`Received screenshot data for unknown or already handled session: ${screenshotMessage.id}`);
60
+ break;
61
+ }
62
+ logger.debug(`Received screenshot data URI for session ${screenshotMessage.id}.`);
63
+ request.resolver({ dataUri: screenshotMessage.dataUri });
64
+ screenshotRequests.delete(screenshotMessage.id);
65
+ break;
66
+ }
67
+ case 'screenshotError': {
68
+ if (!('message' in message) || !('id' in message)) {
69
+ logger.warn('Received invalid screenshot error message:', message);
70
+ break;
71
+ }
72
+ const errorMessage = message;
73
+ const request = screenshotRequests.get(errorMessage.id);
74
+ if (!request) {
75
+ logger.warn(`Received screenshot error for unknown or already handled session: ${errorMessage.id}`);
76
+ break;
77
+ }
78
+ logger.error(`Server reported an error capturing screenshot for session ${errorMessage.id}:`, errorMessage.message);
79
+ request.rejecter(new Error(errorMessage.message));
80
+ screenshotRequests.delete(errorMessage.id);
81
+ break;
82
+ }
83
+ case 'assetResult': {
84
+ logger.debug('Received assetResult:', message);
85
+ const request = assetRequests.get(message.url);
86
+ if (!request) {
87
+ logger.warn(`Received assetResult for unknown or already handled url: ${message.url}`);
88
+ break;
89
+ }
90
+ if (message.result === 'success') {
91
+ logger.debug('Asset result is success');
92
+ request.resolver();
93
+ assetRequests.delete(message.url);
94
+ break;
95
+ }
96
+ const errorMessage = typeof message.message === 'string' && message.message ?
97
+ message.message
98
+ : `Asset processing failed: ${JSON.stringify(message)}`;
99
+ logger.debug('Asset result is failure', errorMessage);
100
+ request.rejecter(new Error(errorMessage));
101
+ assetRequests.delete(message.url);
102
+ break;
103
+ }
104
+ default:
105
+ logger.warn(`Received unexpected message type: ${message.type}`);
106
+ break;
60
107
  }
61
- };
62
- // No AbortController support – proxy can be closed via the returned handle
63
- // TCP server error
64
- server.once('error', (err) => {
65
- close();
66
- reject(new Error(`TCP server error: ${err.message}`));
67
108
  });
68
- // Listening
69
- server.once('listening', () => {
70
- const address = server.address();
71
- if (!address || typeof address === 'string') {
72
- close();
73
- return reject(new Error('Failed to obtain listening address'));
109
+ ws.on('error', (err) => {
110
+ logger.error('WebSocket error:', err.message);
111
+ if (ws && (ws.readyState === WebSocket.CONNECTING || ws.readyState === WebSocket.OPEN)) {
112
+ rejectConnection(err);
74
113
  }
75
- resolve({ address, close });
114
+ screenshotRequests.forEach((request) => request.rejecter(err));
76
115
  });
77
- // On first TCP connection
78
- server.on('connection', (tcpSocket) => {
79
- // Single-connection proxy
80
- server.close();
81
- ws = new WebSocket(remoteURL, {
82
- headers: { Authorization: `Bearer ${token}` },
83
- perMessageDeflate: false,
84
- });
85
- // WebSocket error
86
- ws.once('error', (err) => {
87
- console.error('WebSocket error:', err);
88
- tcpSocket.destroy();
89
- close();
90
- });
91
- ws.once('open', () => {
92
- const socket = ws; // non-undefined after open
93
- pingInterval = setInterval(() => {
94
- if (socket.readyState === WebSocket.OPEN) {
95
- socket.ping();
96
- }
97
- }, 30000);
98
- // TCP → WS
99
- tcpSocket.on('data', (chunk) => {
100
- if (socket.readyState === WebSocket.OPEN) {
101
- socket.send(chunk);
116
+ ws.on('close', () => {
117
+ logger.debug('Disconnected from server.');
118
+ screenshotRequests.forEach((request) => request.rejecter('Disconnected from server'));
119
+ });
120
+ const screenshot = async () => {
121
+ if (!ws || ws.readyState !== WebSocket.OPEN) {
122
+ return Promise.reject(new Error('WebSocket is not connected or connection is not open.'));
123
+ }
124
+ const id = 'ts-client-' + Date.now();
125
+ const screenshotRequest = {
126
+ type: 'screenshot',
127
+ id,
128
+ };
129
+ return new Promise((resolve, reject) => {
130
+ logger.debug('Sending screenshot request:', screenshotRequest);
131
+ ws.send(JSON.stringify(screenshotRequest), (err) => {
132
+ if (err) {
133
+ logger.error('Failed to send screenshot request:', err);
134
+ reject(err);
102
135
  }
103
136
  });
104
- // WS TCP
105
- socket.on('message', (data) => {
106
- if (!tcpSocket.destroyed) {
107
- tcpSocket.write(data);
137
+ const timeout = setTimeout(() => {
138
+ if (screenshotRequests.has(id)) {
139
+ logger.error(`Screenshot request timed out for session ${id}`);
140
+ screenshotRequests.get(id)?.rejecter(new Error('Screenshot request timed out'));
141
+ screenshotRequests.delete(id);
108
142
  }
143
+ }, 30000);
144
+ screenshotRequests.set(id, {
145
+ resolver: (value) => {
146
+ clearTimeout(timeout);
147
+ resolve(value);
148
+ screenshotRequests.delete(id);
149
+ },
150
+ rejecter: (reason) => {
151
+ clearTimeout(timeout);
152
+ reject(reason);
153
+ screenshotRequests.delete(id);
154
+ },
109
155
  });
110
156
  });
111
- // Mutual close
112
- tcpSocket.on('close', close);
113
- tcpSocket.on('error', (err) => {
114
- console.error('TCP socket error:', err);
157
+ };
158
+ const disconnect = () => {
159
+ if (ws) {
160
+ logger.debug('Closing WebSocket connection.');
161
+ ws.close();
162
+ }
163
+ screenshotRequests.forEach((request) => request.rejecter('Websocket connection closed'));
164
+ };
165
+ /**
166
+ * Opens a WebSocket TCP proxy for the ADB port and connects the local adb
167
+ * client to it.
168
+ */
169
+ const startAdbTunnel = async () => {
170
+ if (!androidInstance.status.adbWebSocketUrl) {
171
+ return Promise.reject(new Error('ADB WebSocket URL is not set'));
172
+ }
173
+ const { address, close } = await startTcpTunnel(androidInstance.status.adbWebSocketUrl, token, '127.0.0.1', 0);
174
+ try {
175
+ await new Promise((resolve, reject) => {
176
+ exec(`${options.adbPath ?? 'adb'} connect ${address.address}:${address.port}`, (err) => {
177
+ if (err)
178
+ return reject(err);
179
+ resolve();
180
+ });
181
+ });
182
+ logger.debug(`ADB connected on ${address.address}`);
183
+ }
184
+ catch (err) {
115
185
  close();
186
+ throw err;
187
+ }
188
+ return { address, close };
189
+ };
190
+ const sendAsset = async (url) => {
191
+ if (!ws || ws.readyState !== WebSocket.OPEN) {
192
+ return Promise.reject(new Error('WebSocket is not connected or connection is not open.'));
193
+ }
194
+ const assetRequest = {
195
+ type: 'asset',
196
+ url,
197
+ };
198
+ ws.send(JSON.stringify(assetRequest), (err) => {
199
+ if (err) {
200
+ logger.error('Failed to send asset request:', err);
201
+ }
202
+ });
203
+ return new Promise((resolve, reject) => {
204
+ assetRequests.set(url, { resolver: resolve, rejecter: reject });
205
+ });
206
+ };
207
+ ws.on('open', () => {
208
+ logger.debug(`Connected to ${serverAddress}`);
209
+ resolveConnection({
210
+ screenshot,
211
+ disconnect,
212
+ startAdbTunnel,
213
+ sendAsset,
116
214
  });
117
- ws.on('close', () => tcpSocket.destroy());
118
215
  });
119
- // Start listening
120
- server.listen(port, hostname);
121
216
  });
122
217
  }
123
218
  //# sourceMappingURL=android-instances-helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"android-instances-helpers.mjs","sourceRoot":"","sources":["../src/resources/android-instances-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android-instances-helpers.mjs","sourceRoot":"","sources":["../src/resources/android-instances-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { APIResource } from "../core/resource.mjs";
2
- import * as AndroidInstancesAPI from "./android-instances.mjs";
3
2
  import { APIPromise } from "../core/api-promise.mjs";
4
3
  import { RequestOptions } from "../internal/request-options.mjs";
5
4
  export declare class AndroidInstances extends APIResource {
@@ -45,8 +44,7 @@ export declare namespace AndroidInstance {
45
44
  inactivityTimeout: string;
46
45
  /**
47
46
  * The region where the instance will be created. If not given, will be decided
48
- * based on which region the client is closest to, scheduling clues and
49
- * availability.
47
+ * based on scheduling clues and availability.
50
48
  */
51
49
  region: string;
52
50
  /**
@@ -57,12 +55,11 @@ export declare namespace AndroidInstance {
57
55
  }
58
56
  interface Status {
59
57
  token: string;
60
- state: AndroidInstancesAPI.AndroidInstanceState;
58
+ state: 'unknown' | 'creating' | 'ready' | 'terminated';
61
59
  adbWebSocketUrl?: string;
62
60
  endpointWebSocketUrl?: string;
63
61
  }
64
62
  }
65
- export type AndroidInstanceState = 'unknown' | 'creating' | 'ready' | 'terminated';
66
63
  export type AndroidInstanceListResponse = Array<AndroidInstance>;
67
64
  export interface AndroidInstanceCreateParams {
68
65
  /**
@@ -131,9 +128,9 @@ export interface AndroidInstanceListParams {
131
128
  /**
132
129
  * State filter to apply to Android instances to return.
133
130
  */
134
- state?: AndroidInstanceState;
131
+ state?: 'unknown' | 'creating' | 'ready' | 'terminated';
135
132
  }
136
133
  export declare namespace AndroidInstances {
137
- export { type AndroidInstance as AndroidInstance, type AndroidInstanceState as AndroidInstanceState, type AndroidInstanceListResponse as AndroidInstanceListResponse, type AndroidInstanceCreateParams as AndroidInstanceCreateParams, type AndroidInstanceListParams as AndroidInstanceListParams, };
134
+ export { type AndroidInstance as AndroidInstance, type AndroidInstanceListResponse as AndroidInstanceListResponse, type AndroidInstanceCreateParams as AndroidInstanceCreateParams, type AndroidInstanceListParams as AndroidInstanceListParams, };
138
135
  }
139
136
  //# sourceMappingURL=android-instances.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"android-instances.d.mts","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android-instances.d.mts","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { APIResource } from "../core/resource.js";
2
- import * as AndroidInstancesAPI from "./android-instances.js";
3
2
  import { APIPromise } from "../core/api-promise.js";
4
3
  import { RequestOptions } from "../internal/request-options.js";
5
4
  export declare class AndroidInstances extends APIResource {
@@ -45,8 +44,7 @@ export declare namespace AndroidInstance {
45
44
  inactivityTimeout: string;
46
45
  /**
47
46
  * The region where the instance will be created. If not given, will be decided
48
- * based on which region the client is closest to, scheduling clues and
49
- * availability.
47
+ * based on scheduling clues and availability.
50
48
  */
51
49
  region: string;
52
50
  /**
@@ -57,12 +55,11 @@ export declare namespace AndroidInstance {
57
55
  }
58
56
  interface Status {
59
57
  token: string;
60
- state: AndroidInstancesAPI.AndroidInstanceState;
58
+ state: 'unknown' | 'creating' | 'ready' | 'terminated';
61
59
  adbWebSocketUrl?: string;
62
60
  endpointWebSocketUrl?: string;
63
61
  }
64
62
  }
65
- export type AndroidInstanceState = 'unknown' | 'creating' | 'ready' | 'terminated';
66
63
  export type AndroidInstanceListResponse = Array<AndroidInstance>;
67
64
  export interface AndroidInstanceCreateParams {
68
65
  /**
@@ -131,9 +128,9 @@ export interface AndroidInstanceListParams {
131
128
  /**
132
129
  * State filter to apply to Android instances to return.
133
130
  */
134
- state?: AndroidInstanceState;
131
+ state?: 'unknown' | 'creating' | 'ready' | 'terminated';
135
132
  }
136
133
  export declare namespace AndroidInstances {
137
- export { type AndroidInstance as AndroidInstance, type AndroidInstanceState as AndroidInstanceState, type AndroidInstanceListResponse as AndroidInstanceListResponse, type AndroidInstanceCreateParams as AndroidInstanceCreateParams, type AndroidInstanceListParams as AndroidInstanceListParams, };
134
+ export { type AndroidInstance as AndroidInstance, type AndroidInstanceListResponse as AndroidInstanceListResponse, type AndroidInstanceCreateParams as AndroidInstanceCreateParams, type AndroidInstanceListParams as AndroidInstanceListParams, };
138
135
  }
139
136
  //# sourceMappingURL=android-instances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"android-instances.d.ts","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android-instances.d.ts","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"android-instances.js","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAG/C,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,sBAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAsD,EAAE,EACxD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,yBAAyB,EAAE,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF;AAnCD,4CAmCC"}
1
+ {"version":3,"file":"android-instances.js","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,sBAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAsD,EAAE,EACxD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,yBAAyB,EAAE,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF;AAnCD,4CAmCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"android-instances.mjs","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAGf,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAsD,EAAE,EACxD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,yBAAyB,EAAE,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF"}
1
+ {"version":3,"file":"android-instances.mjs","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAsD,EAAE,EACxD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,yBAAyB,EAAE,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- export { AndroidInstances, type AndroidInstance, type AndroidInstanceState, type AndroidInstanceListResponse, type AndroidInstanceCreateParams, type AndroidInstanceListParams, } from "./android-instances.mjs";
1
+ export { AndroidInstances, type AndroidInstance, type AndroidInstanceListResponse, type AndroidInstanceCreateParams, type AndroidInstanceListParams, } from "./android-instances.mjs";
2
2
  export { type Asset, type AssetListResponse, type AssetGetOrCreateResponse, type AssetListParams, type AssetGetParams, type AssetGetOrCreateParams, } from "./assets.mjs";
3
3
  export { Assets, AssetGetOrUploadParams, AssetGetOrUploadResponse } from "./assets-helpers.mjs";
4
4
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B;OACM,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B;OAEM,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B;OACM,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B;OAEM,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE"}
@@ -1,4 +1,4 @@
1
- export { AndroidInstances, type AndroidInstance, type AndroidInstanceState, type AndroidInstanceListResponse, type AndroidInstanceCreateParams, type AndroidInstanceListParams, } from "./android-instances.js";
1
+ export { AndroidInstances, type AndroidInstance, type AndroidInstanceListResponse, type AndroidInstanceCreateParams, type AndroidInstanceListParams, } from "./android-instances.js";
2
2
  export { type Asset, type AssetListResponse, type AssetGetOrCreateResponse, type AssetListParams, type AssetGetParams, type AssetGetOrCreateParams, } from "./assets.js";
3
3
  export { Assets, AssetGetOrUploadParams, AssetGetOrUploadResponse } from "./assets-helpers.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B;OACM,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B;OAEM,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,GAC/B;OACM,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B;OAEM,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,4DAO6B;AAN3B,qHAAA,gBAAgB,OAAA;AAgBlB,sDAA4F;AAAnF,wGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,4DAM6B;AAL3B,qHAAA,gBAAgB,OAAA;AAelB,sDAA4F;AAAnF,wGAAA,MAAM,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EACL,gBAAgB,GAMjB;OAUM,EAAE,MAAM,EAAoD"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EACL,gBAAgB,GAKjB;OAUM,EAAE,MAAM,EAAoD"}
@@ -0,0 +1,25 @@
1
+ export interface Tunnel {
2
+ address: {
3
+ address: string;
4
+ port: number;
5
+ };
6
+ close: () => void;
7
+ }
8
+ /**
9
+ * Starts a one-shot TCP → WebSocket proxy.
10
+ *
11
+ * The function creates a local TCP server that listens on an ephemeral port on
12
+ * 127.0.0.1. As soon as the **first** TCP client connects the server stops
13
+ * accepting further connections and forwards all traffic between that client
14
+ * and `remoteURL` through an authenticated WebSocket. If you need to proxy
15
+ * more than one TCP connection, call `startTcpTunnel` again to create a new
16
+ * proxy instance.
17
+ *
18
+ * @param remoteURL Remote WebSocket endpoint (e.g. wss://example.com/instance)
19
+ * @param token Bearer token sent as `Authorization` header
20
+ * @param hostname Optional IP address to listen on. Default is 127.0.0.1
21
+ * @param port Optional port number to listen on. Default is to ask Node.js
22
+ * to find an available non-privileged port.
23
+ */
24
+ export declare function startTcpTunnel(remoteURL: string, token: string, hostname: string, port: number): Promise<Tunnel>;
25
+ //# sourceMappingURL=tunnel.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.d.mts","sourceRoot":"","sources":["../src/resources/tunnel.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CA6FjB"}
@@ -0,0 +1,25 @@
1
+ export interface Tunnel {
2
+ address: {
3
+ address: string;
4
+ port: number;
5
+ };
6
+ close: () => void;
7
+ }
8
+ /**
9
+ * Starts a one-shot TCP → WebSocket proxy.
10
+ *
11
+ * The function creates a local TCP server that listens on an ephemeral port on
12
+ * 127.0.0.1. As soon as the **first** TCP client connects the server stops
13
+ * accepting further connections and forwards all traffic between that client
14
+ * and `remoteURL` through an authenticated WebSocket. If you need to proxy
15
+ * more than one TCP connection, call `startTcpTunnel` again to create a new
16
+ * proxy instance.
17
+ *
18
+ * @param remoteURL Remote WebSocket endpoint (e.g. wss://example.com/instance)
19
+ * @param token Bearer token sent as `Authorization` header
20
+ * @param hostname Optional IP address to listen on. Default is 127.0.0.1
21
+ * @param port Optional port number to listen on. Default is to ask Node.js
22
+ * to find an available non-privileged port.
23
+ */
24
+ export declare function startTcpTunnel(remoteURL: string, token: string, hostname: string, port: number): Promise<Tunnel>;
25
+ //# sourceMappingURL=tunnel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../src/resources/tunnel.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CA6FjB"}