claude-in-mobile 3.2.0 → 3.4.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.
- package/README.md +79 -73
- package/dist/adapters/android-adapter.d.ts +11 -4
- package/dist/adapters/android-adapter.d.ts.map +1 -1
- package/dist/adapters/android-adapter.js +13 -5
- package/dist/adapters/android-adapter.js.map +1 -1
- package/dist/adapters/aurora-adapter.d.ts +13 -7
- package/dist/adapters/aurora-adapter.d.ts.map +1 -1
- package/dist/adapters/aurora-adapter.js +14 -14
- package/dist/adapters/aurora-adapter.js.map +1 -1
- package/dist/adapters/browser-adapter.d.ts +8 -12
- package/dist/adapters/browser-adapter.d.ts.map +1 -1
- package/dist/adapters/browser-adapter.js +8 -34
- package/dist/adapters/browser-adapter.js.map +1 -1
- package/dist/adapters/desktop-adapter.d.ts +11 -11
- package/dist/adapters/desktop-adapter.d.ts.map +1 -1
- package/dist/adapters/desktop-adapter.js +14 -22
- package/dist/adapters/desktop-adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +3 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +4 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/ios-adapter.d.ts +11 -4
- package/dist/adapters/ios-adapter.d.ts.map +1 -1
- package/dist/adapters/ios-adapter.js +13 -5
- package/dist/adapters/ios-adapter.js.map +1 -1
- package/dist/adapters/platform-adapter.d.ts +40 -27
- package/dist/adapters/platform-adapter.d.ts.map +1 -1
- package/dist/adapters/platform-adapter.js +35 -4
- package/dist/adapters/platform-adapter.js.map +1 -1
- package/dist/adb/client.d.ts.map +1 -1
- package/dist/adb/client.js +31 -9
- package/dist/adb/client.js.map +1 -1
- package/dist/adb/ui-parser.d.ts +1 -0
- package/dist/adb/ui-parser.d.ts.map +1 -1
- package/dist/adb/ui-parser.js +52 -2
- package/dist/adb/ui-parser.js.map +1 -1
- package/dist/adb/webview.js +1 -1
- package/dist/adb/webview.js.map +1 -1
- package/dist/browser/cdp-types.d.ts +166 -0
- package/dist/browser/cdp-types.d.ts.map +1 -0
- package/dist/browser/cdp-types.js +9 -0
- package/dist/browser/cdp-types.js.map +1 -0
- package/dist/browser/client.d.ts.map +1 -1
- package/dist/browser/client.js +6 -5
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/types.d.ts +11 -2
- package/dist/browser/types.d.ts.map +1 -1
- package/dist/browser/types.js.map +1 -1
- package/dist/client-adapter.js +4 -4
- package/dist/client-adapter.js.map +1 -1
- package/dist/desktop/client.js +2 -2
- package/dist/desktop/client.js.map +1 -1
- package/dist/desktop/gradle.js +1 -1
- package/dist/desktop/gradle.js.map +1 -1
- package/dist/device-manager.d.ts +6 -2
- package/dist/device-manager.d.ts.map +1 -1
- package/dist/device-manager.js +48 -6
- package/dist/device-manager.js.map +1 -1
- package/dist/errors.d.ts +11 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +32 -9
- package/dist/errors.js.map +1 -1
- package/dist/index.js +172 -108
- package/dist/index.js.map +1 -1
- package/dist/ios/client.d.ts.map +1 -1
- package/dist/ios/client.js +16 -8
- package/dist/ios/client.js.map +1 -1
- package/dist/ios/wda/wda-client.d.ts.map +1 -1
- package/dist/ios/wda/wda-client.js +3 -2
- package/dist/ios/wda/wda-client.js.map +1 -1
- package/dist/ios/wda/wda-manager.d.ts.map +1 -1
- package/dist/ios/wda/wda-manager.js +5 -2
- package/dist/ios/wda/wda-manager.js.map +1 -1
- package/dist/store/base-client.d.ts +26 -0
- package/dist/store/base-client.d.ts.map +1 -0
- package/dist/store/base-client.js +53 -0
- package/dist/store/base-client.js.map +1 -0
- package/dist/store/google-play.d.ts +3 -2
- package/dist/store/google-play.d.ts.map +1 -1
- package/dist/store/google-play.js +16 -21
- package/dist/store/google-play.js.map +1 -1
- package/dist/store/huawei.d.ts +17 -0
- package/dist/store/huawei.d.ts.map +1 -0
- package/dist/store/huawei.js +181 -0
- package/dist/store/huawei.js.map +1 -0
- package/dist/store/rustore.d.ts +20 -0
- package/dist/store/rustore.d.ts.map +1 -0
- package/dist/store/rustore.js +202 -0
- package/dist/store/rustore.js.map +1 -0
- package/dist/store/store-client.d.ts +13 -0
- package/dist/store/store-client.d.ts.map +1 -0
- package/dist/store/store-client.js +2 -0
- package/dist/store/store-client.js.map +1 -0
- package/dist/tools/app-tools.d.ts.map +1 -1
- package/dist/tools/app-tools.js +7 -3
- package/dist/tools/app-tools.js.map +1 -1
- package/dist/tools/aurora-tools.d.ts.map +1 -1
- package/dist/tools/aurora-tools.js +4 -0
- package/dist/tools/aurora-tools.js.map +1 -1
- package/dist/tools/browser-tools.d.ts.map +1 -1
- package/dist/tools/browser-tools.js +69 -52
- package/dist/tools/browser-tools.js.map +1 -1
- package/dist/tools/clipboard-tools.d.ts.map +1 -1
- package/dist/tools/clipboard-tools.js +7 -14
- package/dist/tools/clipboard-tools.js.map +1 -1
- package/dist/tools/context/hints.d.ts +20 -0
- package/dist/tools/context/hints.d.ts.map +1 -0
- package/dist/tools/context/hints.js +91 -0
- package/dist/tools/context/hints.js.map +1 -0
- package/dist/tools/context/ios-helpers.d.ts +12 -0
- package/dist/tools/context/ios-helpers.d.ts.map +1 -0
- package/dist/tools/context/ios-helpers.js +72 -0
- package/dist/tools/context/ios-helpers.js.map +1 -0
- package/dist/tools/context/shared-state.d.ts +19 -0
- package/dist/tools/context/shared-state.d.ts.map +1 -0
- package/dist/tools/context/shared-state.js +21 -0
- package/dist/tools/context/shared-state.js.map +1 -0
- package/dist/tools/context.d.ts +22 -19
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +22 -153
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/desktop-tools.d.ts.map +1 -1
- package/dist/tools/desktop-tools.js +26 -17
- package/dist/tools/desktop-tools.js.map +1 -1
- package/dist/tools/device-tools.js +5 -5
- package/dist/tools/device-tools.js.map +1 -1
- package/dist/tools/flow-tools.d.ts.map +1 -1
- package/dist/tools/flow-tools.js +104 -31
- package/dist/tools/flow-tools.js.map +1 -1
- package/dist/tools/helpers/args-parser.d.ts +14 -0
- package/dist/tools/helpers/args-parser.d.ts.map +1 -0
- package/dist/tools/helpers/args-parser.js +37 -0
- package/dist/tools/helpers/args-parser.js.map +1 -0
- package/dist/tools/helpers/get-elements.d.ts +21 -0
- package/dist/tools/helpers/get-elements.d.ts.map +1 -0
- package/dist/tools/helpers/get-elements.js +34 -0
- package/dist/tools/helpers/get-elements.js.map +1 -0
- package/dist/tools/helpers/resolve-element.d.ts +39 -0
- package/dist/tools/helpers/resolve-element.d.ts.map +1 -0
- package/dist/tools/helpers/resolve-element.js +113 -0
- package/dist/tools/helpers/resolve-element.js.map +1 -0
- package/dist/tools/huawei-tools.d.ts +3 -0
- package/dist/tools/huawei-tools.d.ts.map +1 -0
- package/dist/tools/huawei-tools.js +94 -0
- package/dist/tools/huawei-tools.js.map +1 -0
- package/dist/tools/interaction-tools.d.ts.map +1 -1
- package/dist/tools/interaction-tools.js +78 -151
- package/dist/tools/interaction-tools.js.map +1 -1
- package/dist/tools/meta/app-meta.d.ts +7 -0
- package/dist/tools/meta/app-meta.d.ts.map +1 -0
- package/dist/tools/meta/app-meta.js +38 -0
- package/dist/tools/meta/app-meta.js.map +1 -0
- package/dist/tools/meta/browser-meta.d.ts +7 -0
- package/dist/tools/meta/browser-meta.d.ts.map +1 -0
- package/dist/tools/meta/browser-meta.js +97 -0
- package/dist/tools/meta/browser-meta.js.map +1 -0
- package/dist/tools/meta/create-meta-tool.d.ts +36 -0
- package/dist/tools/meta/create-meta-tool.d.ts.map +1 -0
- package/dist/tools/meta/create-meta-tool.js +69 -0
- package/dist/tools/meta/create-meta-tool.js.map +1 -0
- package/dist/tools/meta/desktop-meta.d.ts +6 -0
- package/dist/tools/meta/desktop-meta.d.ts.map +1 -0
- package/dist/tools/meta/desktop-meta.js +27 -0
- package/dist/tools/meta/desktop-meta.js.map +1 -0
- package/dist/tools/meta/device-meta.d.ts +7 -0
- package/dist/tools/meta/device-meta.d.ts.map +1 -0
- package/dist/tools/meta/device-meta.js +76 -0
- package/dist/tools/meta/device-meta.js.map +1 -0
- package/dist/tools/meta/flow-meta.d.ts +6 -0
- package/dist/tools/meta/flow-meta.d.ts.map +1 -0
- package/dist/tools/meta/flow-meta.js +18 -0
- package/dist/tools/meta/flow-meta.js.map +1 -0
- package/dist/tools/meta/input-meta.d.ts +6 -0
- package/dist/tools/meta/input-meta.d.ts.map +1 -0
- package/dist/tools/meta/input-meta.js +34 -0
- package/dist/tools/meta/input-meta.js.map +1 -0
- package/dist/tools/meta/screen-meta.d.ts +6 -0
- package/dist/tools/meta/screen-meta.d.ts.map +1 -0
- package/dist/tools/meta/screen-meta.js +31 -0
- package/dist/tools/meta/screen-meta.js.map +1 -0
- package/dist/tools/meta/store-meta.d.ts +7 -0
- package/dist/tools/meta/store-meta.d.ts.map +1 -0
- package/dist/tools/meta/store-meta.js +104 -0
- package/dist/tools/meta/store-meta.js.map +1 -0
- package/dist/tools/meta/system-meta.d.ts +7 -0
- package/dist/tools/meta/system-meta.d.ts.map +1 -0
- package/dist/tools/meta/system-meta.js +104 -0
- package/dist/tools/meta/system-meta.js.map +1 -0
- package/dist/tools/meta/ui-meta.d.ts +6 -0
- package/dist/tools/meta/ui-meta.d.ts.map +1 -0
- package/dist/tools/meta/ui-meta.js +32 -0
- package/dist/tools/meta/ui-meta.js.map +1 -0
- package/dist/tools/permission-tools.d.ts.map +1 -1
- package/dist/tools/permission-tools.js +9 -3
- package/dist/tools/permission-tools.js.map +1 -1
- package/dist/tools/registry.d.ts +32 -2
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +145 -8
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/rustore-tools.d.ts +3 -0
- package/dist/tools/rustore-tools.d.ts.map +1 -0
- package/dist/tools/rustore-tools.js +115 -0
- package/dist/tools/rustore-tools.js.map +1 -0
- package/dist/tools/screenshot-tools.d.ts.map +1 -1
- package/dist/tools/screenshot-tools.js +24 -9
- package/dist/tools/screenshot-tools.js.map +1 -1
- package/dist/tools/store-tools.d.ts.map +1 -1
- package/dist/tools/store-tools.js +20 -14
- package/dist/tools/store-tools.js.map +1 -1
- package/dist/tools/system-tools.d.ts.map +1 -1
- package/dist/tools/system-tools.js +23 -23
- package/dist/tools/system-tools.js.map +1 -1
- package/dist/tools/ui-tools.d.ts.map +1 -1
- package/dist/tools/ui-tools.js +85 -116
- package/dist/tools/ui-tools.js.map +1 -1
- package/dist/utils/lazy.d.ts +8 -0
- package/dist/utils/lazy.d.ts.map +1 -0
- package/dist/utils/lazy.js +15 -0
- package/dist/utils/lazy.js.map +1 -0
- package/dist/utils/metrics.d.ts +15 -0
- package/dist/utils/metrics.d.ts.map +1 -0
- package/dist/utils/metrics.js +45 -0
- package/dist/utils/metrics.js.map +1 -0
- package/dist/utils/sanitize.d.ts +12 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +77 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/utils/truncate.d.ts +18 -0
- package/dist/utils/truncate.d.ts.map +1 -0
- package/dist/utils/truncate.js +37 -0
- package/dist/utils/truncate.js.map +1 -0
- package/package.json +1 -1
package/dist/device-manager.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* DeviceManager
|
|
2
|
+
* DeviceManager -- thin orchestrator that delegates to platform adapters.
|
|
3
3
|
*
|
|
4
4
|
* Refactored from a 715-line God Object into a ~230-line routing layer.
|
|
5
5
|
* All platform-specific logic lives in src/adapters/*.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* ISP: The adapters map stores CorePlatformAdapter (the universal contract).
|
|
8
|
+
* Capability-specific operations (app management, permissions, shell) use
|
|
9
|
+
* type guards to narrow before calling.
|
|
10
|
+
*
|
|
11
|
+
* FIX #8: auto-detect device when no deviceId is selected -- see getAdapter().
|
|
8
12
|
*/
|
|
13
|
+
import { hasAppManagement, hasPermissions, hasShell, hasSyncScreenshot, } from "./adapters/platform-adapter.js";
|
|
9
14
|
import { AndroidAdapter } from "./adapters/android-adapter.js";
|
|
10
15
|
import { IosAdapter } from "./adapters/ios-adapter.js";
|
|
11
16
|
import { DesktopAdapter } from "./adapters/desktop-adapter.js";
|
|
@@ -64,12 +69,12 @@ export class DeviceManager {
|
|
|
64
69
|
if (!adapter) {
|
|
65
70
|
throw new Error(`Unknown platform: ${target}`);
|
|
66
71
|
}
|
|
67
|
-
// Desktop and Browser return immediately
|
|
72
|
+
// Desktop and Browser return immediately -- the adapter itself guards state
|
|
68
73
|
// where needed (actions, screenshots, UI). Logs/clearLogs work even when stopped.
|
|
69
74
|
if (target === "desktop" || target === "browser") {
|
|
70
75
|
return adapter;
|
|
71
76
|
}
|
|
72
|
-
// FIX #8
|
|
77
|
+
// FIX #8 -- auto-detect device when none is selected.
|
|
73
78
|
// After a server restart the in-memory deviceId is lost, so we probe
|
|
74
79
|
// the platform for a connected device before the command runs.
|
|
75
80
|
if (!adapter.getSelectedDeviceId()) {
|
|
@@ -155,7 +160,7 @@ export class DeviceManager {
|
|
|
155
160
|
// Handle desktop special case
|
|
156
161
|
if (deviceId === "desktop" || platform === "desktop") {
|
|
157
162
|
if (!this.desktopAdapter.isRunning()) {
|
|
158
|
-
throw new Error("Desktop app is not running. Use
|
|
163
|
+
throw new Error("Desktop app is not running. Use desktop(action:'launch') first.");
|
|
159
164
|
}
|
|
160
165
|
this.activeTarget = "desktop";
|
|
161
166
|
return {
|
|
@@ -208,6 +213,9 @@ export class DeviceManager {
|
|
|
208
213
|
}
|
|
209
214
|
screenshotRaw(platform) {
|
|
210
215
|
const adapter = this.getAdapter(platform);
|
|
216
|
+
if (!hasSyncScreenshot(adapter)) {
|
|
217
|
+
throw new Error(`screenshotRaw is not supported for ${adapter.platform}. Use screenshotAsync.`);
|
|
218
|
+
}
|
|
211
219
|
return adapter.screenshotRaw();
|
|
212
220
|
}
|
|
213
221
|
async tap(x, y, platform, targetPid) {
|
|
@@ -238,30 +246,54 @@ export class DeviceManager {
|
|
|
238
246
|
const adapter = this.getAdapter(platform);
|
|
239
247
|
await adapter.pressKey(key, targetPid);
|
|
240
248
|
}
|
|
249
|
+
// ============ App management (guarded by type guard) ============
|
|
241
250
|
launchApp(packageOrBundleId, platform) {
|
|
242
251
|
const adapter = this.getAdapter(platform);
|
|
252
|
+
if (!hasAppManagement(adapter)) {
|
|
253
|
+
throw new Error(`App management is not supported for ${adapter.platform}. ${adapter.platform === "browser" ? "Use browser_open instead." : ""}`);
|
|
254
|
+
}
|
|
243
255
|
return adapter.launchApp(packageOrBundleId);
|
|
244
256
|
}
|
|
245
257
|
stopApp(packageOrBundleId, platform) {
|
|
246
258
|
const adapter = this.getAdapter(platform);
|
|
259
|
+
if (!hasAppManagement(adapter)) {
|
|
260
|
+
throw new Error(`App management is not supported for ${adapter.platform}. ${adapter.platform === "browser" ? "Use browser_close instead." : ""}`);
|
|
261
|
+
}
|
|
247
262
|
adapter.stopApp(packageOrBundleId);
|
|
248
263
|
}
|
|
249
264
|
installApp(path, platform) {
|
|
250
265
|
const adapter = this.getAdapter(platform);
|
|
266
|
+
if (!hasAppManagement(adapter)) {
|
|
267
|
+
throw new Error(`App installation is not supported for ${adapter.platform}.`);
|
|
268
|
+
}
|
|
251
269
|
return adapter.installApp(path);
|
|
252
270
|
}
|
|
271
|
+
// ============ Permissions (guarded by type guard) ============
|
|
253
272
|
grantPermission(packageOrBundleId, permission, platform) {
|
|
254
273
|
const adapter = this.getAdapter(platform);
|
|
274
|
+
if (!hasPermissions(adapter)) {
|
|
275
|
+
throw new Error(`Permission management is not supported for ${adapter.platform}. ` +
|
|
276
|
+
`Supported platforms: android, ios.`);
|
|
277
|
+
}
|
|
255
278
|
return adapter.grantPermission(packageOrBundleId, permission);
|
|
256
279
|
}
|
|
257
280
|
revokePermission(packageOrBundleId, permission, platform) {
|
|
258
281
|
const adapter = this.getAdapter(platform);
|
|
282
|
+
if (!hasPermissions(adapter)) {
|
|
283
|
+
throw new Error(`Permission management is not supported for ${adapter.platform}. ` +
|
|
284
|
+
`Supported platforms: android, ios.`);
|
|
285
|
+
}
|
|
259
286
|
return adapter.revokePermission(packageOrBundleId, permission);
|
|
260
287
|
}
|
|
261
288
|
resetPermissions(packageOrBundleId, platform) {
|
|
262
289
|
const adapter = this.getAdapter(platform);
|
|
290
|
+
if (!hasPermissions(adapter)) {
|
|
291
|
+
throw new Error(`Permission management is not supported for ${adapter.platform}. ` +
|
|
292
|
+
`Supported platforms: android, ios.`);
|
|
293
|
+
}
|
|
263
294
|
return adapter.resetPermissions(packageOrBundleId);
|
|
264
295
|
}
|
|
296
|
+
// ============ UI ============
|
|
265
297
|
async getUiHierarchy(platform) {
|
|
266
298
|
const adapter = this.getAdapter(platform);
|
|
267
299
|
return adapter.getUiHierarchy();
|
|
@@ -270,8 +302,12 @@ export class DeviceManager {
|
|
|
270
302
|
const adapter = this.getAdapter(platform);
|
|
271
303
|
return adapter.getUiHierarchy();
|
|
272
304
|
}
|
|
305
|
+
// ============ Shell (guarded by type guard) ============
|
|
273
306
|
shell(command, platform) {
|
|
274
307
|
const adapter = this.getAdapter(platform);
|
|
308
|
+
if (!hasShell(adapter)) {
|
|
309
|
+
throw new Error(`Shell is not supported for ${adapter.platform}.`);
|
|
310
|
+
}
|
|
275
311
|
return adapter.shell(command);
|
|
276
312
|
}
|
|
277
313
|
// ============ Raw client accessors (used by tools directly) ============
|
|
@@ -299,9 +335,12 @@ export class DeviceManager {
|
|
|
299
335
|
const adapter = this.getAdapter(platform);
|
|
300
336
|
return adapter.getScreenshotBufferAsync();
|
|
301
337
|
}
|
|
302
|
-
// ============ Logs & System ============
|
|
338
|
+
// ============ Logs & System (guarded by type guard) ============
|
|
303
339
|
getLogs(options = {}) {
|
|
304
340
|
const adapter = this.getAdapter(options.platform);
|
|
341
|
+
if (!hasShell(adapter)) {
|
|
342
|
+
throw new Error(`Logs are not supported for ${adapter.platform}.`);
|
|
343
|
+
}
|
|
305
344
|
return adapter.getLogs({
|
|
306
345
|
level: options.level,
|
|
307
346
|
tag: options.tag,
|
|
@@ -311,6 +350,9 @@ export class DeviceManager {
|
|
|
311
350
|
}
|
|
312
351
|
clearLogs(platform) {
|
|
313
352
|
const adapter = this.getAdapter(platform);
|
|
353
|
+
if (!hasShell(adapter)) {
|
|
354
|
+
throw new Error(`Logs are not supported for ${adapter.platform}.`);
|
|
355
|
+
}
|
|
314
356
|
return adapter.clearLogs();
|
|
315
357
|
}
|
|
316
358
|
async getSystemInfo(platform) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-manager.js","sourceRoot":"","sources":["../src/device-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"device-manager.js","sourceRoot":"","sources":["../src/device-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare class PermissionDeniedError extends MobileError {
|
|
|
22
22
|
constructor(detail?: string);
|
|
23
23
|
}
|
|
24
24
|
export declare class CommandTimeoutError extends MobileError {
|
|
25
|
-
constructor(
|
|
25
|
+
constructor(_command: string, timeoutMs: number);
|
|
26
26
|
}
|
|
27
27
|
export declare class WdaNotInstalledError extends MobileError {
|
|
28
28
|
constructor();
|
|
@@ -48,6 +48,16 @@ export declare class BrowserRefNotFoundError extends MobileError {
|
|
|
48
48
|
export declare class ChromeNotInstalledError extends MobileError {
|
|
49
49
|
constructor();
|
|
50
50
|
}
|
|
51
|
+
export declare class ModuleNotLoadedError extends MobileError {
|
|
52
|
+
constructor(moduleName: string);
|
|
53
|
+
}
|
|
54
|
+
export declare class UnknownActionError extends MobileError {
|
|
55
|
+
constructor(tool: string, action: string, validActions: string[]);
|
|
56
|
+
}
|
|
57
|
+
export declare class ValidationError extends MobileError {
|
|
58
|
+
constructor(message: string);
|
|
59
|
+
}
|
|
60
|
+
export declare function isRetryable(error: unknown): boolean;
|
|
51
61
|
/**
|
|
52
62
|
* Classify ADB errors from stderr output
|
|
53
63
|
*/
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,WAAY,SAAQ,KAAK;aACS,IAAI,EAAE,MAAM;gBAA7C,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;CAI1D;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,QAAQ,CAAC,EAAE,MAAM;CAQ9B;AAED,qBAAa,oBAAqB,SAAQ,WAAW;;CAOpD;AAED,qBAAa,uBAAwB,SAAQ,WAAW;;CAOvD;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,QAAQ,EAAE,MAAM;CAM7B;AAED,qBAAa,qBAAsB,SAAQ,WAAW;gBACxC,MAAM,CAAC,EAAE,MAAM;CAM5B;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,WAAY,SAAQ,KAAK;aACS,IAAI,EAAE,MAAM;gBAA7C,OAAO,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;CAI1D;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,QAAQ,CAAC,EAAE,MAAM;CAQ9B;AAED,qBAAa,oBAAqB,SAAQ,WAAW;;CAOpD;AAED,qBAAa,uBAAwB,SAAQ,WAAW;;CAOvD;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,QAAQ,EAAE,MAAM;CAM7B;AAED,qBAAa,qBAAsB,SAAQ,WAAW;gBACxC,MAAM,CAAC,EAAE,MAAM;CAM5B;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAMhD;AAED,qBAAa,oBAAqB,SAAQ,WAAW;;CAOpD;AAED,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,QAAQ,EAAE,MAAM;CAM7B;AAED,qBAAa,oBAAqB,SAAQ,WAAW;;CAOpD;AAED,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAM1C;AAED,qBAAa,2BAA4B,SAAQ,WAAW;gBAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;CAM9C;AAED,qBAAa,qBAAsB,SAAQ,WAAW;;CAOrD;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAM5C;AAED,qBAAa,uBAAwB,SAAQ,WAAW;;CAOvD;AAED,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,UAAU,EAAE,MAAM;CAM/B;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;CAMjE;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM;CAG5B;AAMD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAqB7E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAehF"}
|
package/dist/errors.js
CHANGED
|
@@ -13,7 +13,7 @@ export class MobileError extends Error {
|
|
|
13
13
|
export class DeviceNotFoundError extends MobileError {
|
|
14
14
|
constructor(deviceId) {
|
|
15
15
|
super(deviceId
|
|
16
|
-
? `Device not found: ${deviceId}.
|
|
16
|
+
? `Device not found: ${deviceId}. Use device(action:'list') to see connected devices.`
|
|
17
17
|
: "No device connected. Connect a device or start an emulator.", "DEVICE_NOT_FOUND");
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -38,8 +38,8 @@ export class PermissionDeniedError extends MobileError {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
export class CommandTimeoutError extends MobileError {
|
|
41
|
-
constructor(
|
|
42
|
-
super(`Command timed out after ${timeoutMs}ms
|
|
41
|
+
constructor(_command, timeoutMs) {
|
|
42
|
+
super(`Command timed out after ${timeoutMs}ms`, "COMMAND_TIMEOUT");
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
export class WdaNotInstalledError extends MobileError {
|
|
@@ -49,7 +49,7 @@ export class WdaNotInstalledError extends MobileError {
|
|
|
49
49
|
}
|
|
50
50
|
export class ElementNotFoundError extends MobileError {
|
|
51
51
|
constructor(criteria) {
|
|
52
|
-
super(`Element not found: ${criteria}. Use
|
|
52
|
+
super(`Element not found: ${criteria}. Use ui(action:'tree') or ui(action:'analyze') to see available elements.`, "ELEMENT_NOT_FOUND");
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
export class WebViewNotFoundError extends MobileError {
|
|
@@ -64,17 +64,17 @@ export class BrowserSecurityError extends MobileError {
|
|
|
64
64
|
}
|
|
65
65
|
export class BrowserSessionNotFoundError extends MobileError {
|
|
66
66
|
constructor(session, active) {
|
|
67
|
-
super(`Browser session "${session}" not found.${active.length > 0 ? ` Active sessions: ${active.join(", ")}.` : ""} Use
|
|
67
|
+
super(`Browser session "${session}" not found.${active.length > 0 ? ` Active sessions: ${active.join(", ")}.` : ""} Use browser(action:'open') to start a session.`, "BROWSER_SESSION_NOT_FOUND");
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
export class BrowserNoSessionError extends MobileError {
|
|
71
71
|
constructor() {
|
|
72
|
-
super("No active browser session. Call
|
|
72
|
+
super("No active browser session. Call browser(action:'open', url:...) to start.", "BROWSER_NO_SESSION");
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
export class BrowserRefNotFoundError extends MobileError {
|
|
76
76
|
constructor(ref, lastKnown) {
|
|
77
|
-
super(`Ref "${ref}" is stale or not found${lastKnown ? ` (was: ${lastKnown})` : ""}. Call
|
|
77
|
+
super(`Ref "${ref}" is stale or not found${lastKnown ? ` (was: ${lastKnown})` : ""}. Call browser(action:'snapshot') to get fresh refs.`, "BROWSER_REF_NOT_FOUND");
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
export class ChromeNotInstalledError extends MobileError {
|
|
@@ -82,6 +82,27 @@ export class ChromeNotInstalledError extends MobileError {
|
|
|
82
82
|
super("Chrome/Chromium not found. Install Google Chrome: https://google.com/chrome or set CHROME_PATH environment variable.", "CHROME_NOT_INSTALLED");
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
+
export class ModuleNotLoadedError extends MobileError {
|
|
86
|
+
constructor(moduleName) {
|
|
87
|
+
super(`Module "${moduleName}" is not loaded. Use device(action:'enable_module', module:'${moduleName}') to enable it.`, "MODULE_NOT_LOADED");
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export class UnknownActionError extends MobileError {
|
|
91
|
+
constructor(tool, action, validActions) {
|
|
92
|
+
super(`Unknown action "${action}" for ${tool}. Valid: ${validActions.join(", ")}`, "UNKNOWN_ACTION");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export class ValidationError extends MobileError {
|
|
96
|
+
constructor(message) {
|
|
97
|
+
super(message, "VALIDATION_ERROR");
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const RETRYABLE_CODES = new Set([
|
|
101
|
+
"DEVICE_OFFLINE", "COMMAND_TIMEOUT", "ADB_ERROR", "BROWSER_REF_NOT_FOUND",
|
|
102
|
+
]);
|
|
103
|
+
export function isRetryable(error) {
|
|
104
|
+
return error instanceof MobileError && RETRYABLE_CODES.has(error.code);
|
|
105
|
+
}
|
|
85
106
|
/**
|
|
86
107
|
* Classify ADB errors from stderr output
|
|
87
108
|
*/
|
|
@@ -102,7 +123,8 @@ export function classifyAdbError(stderr, command) {
|
|
|
102
123
|
if (msg.includes("timeout") || msg.includes("timed out")) {
|
|
103
124
|
return new CommandTimeoutError(command, 0);
|
|
104
125
|
}
|
|
105
|
-
|
|
126
|
+
const cmdType = command.replace(/^adb\s+(-s\s+\S+\s+)?/, "").split(/\s+/)[0] ?? "unknown";
|
|
127
|
+
return new MobileError(`ADB ${cmdType} failed: ${stderr.trim().slice(0, 200)}`, "ADB_ERROR");
|
|
106
128
|
}
|
|
107
129
|
/**
|
|
108
130
|
* Classify simctl errors from stderr output
|
|
@@ -118,6 +140,7 @@ export function classifySimctlError(stderr, command) {
|
|
|
118
140
|
if (msg.includes("timed out")) {
|
|
119
141
|
return new CommandTimeoutError(command, 0);
|
|
120
142
|
}
|
|
121
|
-
|
|
143
|
+
const cmdType = command.replace(/^xcrun\s+simctl\s+/, "").split(/\s+/)[0] ?? "unknown";
|
|
144
|
+
return new MobileError(`simctl ${cmdType} failed: ${stderr.trim().slice(0, 200)}`, "SIMCTL_ERROR");
|
|
122
145
|
}
|
|
123
146
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACS;IAA7C,YAAY,OAAe,EAAkB,IAAY;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAQ;QAEvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,QAAiB;QAC3B,KAAK,CACH,QAAQ;YACN,CAAC,CAAC,qBAAqB,QAAQ,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|