agent-device 0.14.2 → 0.14.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.
- package/README.md +3 -0
- package/android-snapshot-helper/dist/{agent-device-android-snapshot-helper-0.14.2.apk → agent-device-android-snapshot-helper-0.14.4.apk} +0 -0
- package/android-snapshot-helper/dist/agent-device-android-snapshot-helper-0.14.4.apk.sha256 +1 -0
- package/android-snapshot-helper/dist/{agent-device-android-snapshot-helper-0.14.2.manifest.json → agent-device-android-snapshot-helper-0.14.4.manifest.json} +6 -6
- package/dist/src/180.js +1 -0
- package/dist/src/2007.js +23 -30
- package/dist/src/221.js +4 -4
- package/dist/src/6642.js +1 -0
- package/dist/src/7599.js +3 -0
- package/dist/src/8809.js +8 -0
- package/dist/src/9542.js +2 -2
- package/dist/src/9639.js +2 -0
- package/dist/src/9818.js +1 -1
- package/dist/src/android-adb.d.ts +190 -0
- package/dist/src/android-adb.js +1 -0
- package/dist/src/android-snapshot-helper.d.ts +94 -7
- package/dist/src/internal/bin.js +54 -51
- package/dist/src/internal/companion-tunnel.js +1 -1
- package/dist/src/internal/daemon.js +22 -21
- package/package.json +5 -5
- package/android-snapshot-helper/dist/agent-device-android-snapshot-helper-0.14.2.apk.sha256 +0 -1
- package/dist/src/8161.js +0 -3
- package/dist/src/9366.js +0 -1
- package/dist/src/android-apps.d.ts +0 -12
- package/dist/src/android-apps.js +0 -1
package/README.md
CHANGED
|
@@ -94,6 +94,8 @@ Snapshots assign refs like `@e1`, `@e2`, and `@e3` to current-screen elements. R
|
|
|
94
94
|
|
|
95
95
|
`agent-device` runs session-aware commands through platform backends: XCTest for iOS and tvOS, ADB plus the Android snapshot helper for Android, a local helper for macOS desktop automation, and AT-SPI for Linux desktop targets. See [Introduction](https://incubator.callstack.com/agent-device/docs/introduction) and [Commands](https://incubator.callstack.com/agent-device/docs/commands) for platform details.
|
|
96
96
|
|
|
97
|
+
Node consumers can use the typed client and public subpaths for bridge integrations. `agent-device/android-adb` exposes the Android ADB provider contract, logcat/clipboard/keyboard/app helpers, and port reverse management.
|
|
98
|
+
|
|
97
99
|
## Used By
|
|
98
100
|
|
|
99
101
|
Used by teams and developers at Callstack, Expensify, Shopify, Kindred, Total Wine & More, LegendList, HerLyfe, App & Flow, and more.
|
|
@@ -101,6 +103,7 @@ Used by teams and developers at Callstack, Expensify, Shopify, Kindred, Total Wi
|
|
|
101
103
|
## Documentation
|
|
102
104
|
|
|
103
105
|
- [Installation](https://incubator.callstack.com/agent-device/docs/installation)
|
|
106
|
+
- [Typed Client](https://incubator.callstack.com/agent-device/docs/client-api)
|
|
104
107
|
- [Commands](https://incubator.callstack.com/agent-device/docs/commands)
|
|
105
108
|
- [Replay & E2E](https://incubator.callstack.com/agent-device/docs/replay-e2e)
|
|
106
109
|
- [Known limitations](https://incubator.callstack.com/agent-device/docs/known-limitations)
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
b5e74466612c0d355ebc9f855d360b4fadb96af002fd034439bd69048a49c4b9 agent-device-android-snapshot-helper-0.14.4.apk
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "android-snapshot-helper",
|
|
3
|
-
"version": "0.14.
|
|
4
|
-
"releaseTag": "v0.14.
|
|
5
|
-
"assetName": "agent-device-android-snapshot-helper-0.14.
|
|
3
|
+
"version": "0.14.4",
|
|
4
|
+
"releaseTag": "v0.14.4",
|
|
5
|
+
"assetName": "agent-device-android-snapshot-helper-0.14.4.apk",
|
|
6
6
|
"apkUrl": null,
|
|
7
|
-
"sha256": "
|
|
8
|
-
"checksumName": "agent-device-android-snapshot-helper-0.14.
|
|
7
|
+
"sha256": "b5e74466612c0d355ebc9f855d360b4fadb96af002fd034439bd69048a49c4b9",
|
|
8
|
+
"checksumName": "agent-device-android-snapshot-helper-0.14.4.apk.sha256",
|
|
9
9
|
"packageName": "com.callstack.agentdevice.snapshothelper",
|
|
10
|
-
"versionCode":
|
|
10
|
+
"versionCode": 14004,
|
|
11
11
|
"instrumentationRunner": "com.callstack.agentdevice.snapshothelper/.SnapshotInstrumentation",
|
|
12
12
|
"minSdk": 23,
|
|
13
13
|
"targetSdk": 36,
|
package/dist/src/180.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"node:fs";import t from"node:path";import{fileURLToPath as n}from"node:url";import a from"node:crypto";import{resolveUserPath as r,expandUserHomePath as i}from"./3267.js";function o(){try{let n=s();return JSON.parse(e.readFileSync(t.join(n,"package.json"),"utf8")).version??"0.0.0"}catch{return"0.0.0"}}function s(){let a=t.dirname(n(import.meta.url)),r=a;for(let n=0;n<6;n+=1){let n=t.join(r,"package.json");if(e.existsSync(n))return r;r=t.dirname(r)}return a}function l(e){let n,a=(n=(e??"").trim())?r(n):t.join(i("~"),".agent-device");return{baseDir:a,infoPath:t.join(a,"daemon.json"),lockPath:t.join(a,"daemon.lock"),logPath:t.join(a,"daemon.log"),sessionsDir:t.join(a,"sessions")}}function d(e){let t=(e??"").trim().toLowerCase();return"http"===t?"http":"dual"===t?"dual":"socket"}function u(e){let t=(e??"").trim().toLowerCase();return"auto"===t?"auto":"socket"===t?"socket":"http"===t?"http":"auto"}function p(e){return"tenant"===(e??"").trim().toLowerCase()?"tenant":"none"}function c(e){if(!e)return;let t=e.trim();if(t&&/^[a-zA-Z0-9._-]{1,128}$/.test(t))return t}let m=/(?:^|[^\w$.])(?:import|export)\s+(?:type\s+)?(?:[^'"`]*?\s+from\s+)?['"]([^'"]+)['"]/gm,f=/import\(\s*['"]([^'"]+)['"]\s*\)/gm,h=[".ts",".tsx",".js",".jsx",".mjs",".cjs"];function g(){let e=process.argv[1];return e?I(e):"unknown"}function I(n,r=s()){try{let i=t.resolve(r),o=[t.resolve(n)],s=new Set,l=[];for(;o.length>0;){let n=o.pop();if(!n||s.has(n))continue;s.add(n);let a=e.statSync(n);if(!a.isFile())continue;let r=t.relative(i,n)||n;l.push(`${r}:${a.size}:${Math.trunc(a.mtimeMs)}`);let d=e.readFileSync(n,"utf8");for(let e of function(e){let t=new Set;return v(e,m,t),v(e,f,t),[...t]}(d)){let a=function(e,n){let a=t.resolve(t.dirname(e),n),r=S(a);if(r)return r;for(let e of h){let t=S(`${a}${e}`);if(t)return t}for(let e of h){let n=S(t.join(a,`index${e}`));if(n)return n}return null}(n,e);a&&o.push(a)}}let d=l.sort().join("|"),u=a.createHash("sha1").update(d).digest("hex");return`graph:${l.length}:${u}`}catch{return"unknown"}}function v(e,t,n){t.lastIndex=0;let a=null;for(;null!==(a=t.exec(e));){let e=a[1]?.trim();e?.startsWith(".")&&n.add(e)}}function S(t){try{return e.statSync(t).isFile()?t:null}catch{return null}}function b(e){return e?{message:e}:{}}function k(e,t){return t?{...e,message:t}:e}function N(e){return"string"==typeof e?.message&&e.message.length>0?e.message:null}function y(e){let t=e.appId??e.bundleId??e.packageName;return{session:e.session,appId:t,appBundleId:e.bundleId,package:e.packageName}}function $(e,t,n){return{deviceId:t,deviceName:n,..."android"===e?{serial:t}:"ios"===e?{udid:t}:{}}}function j(e,t={}){let n=t.includeAndroidSerial??!0;return{platform:e.platform,target:e.target,device:e.name,id:e.id,..."ios"===e.platform?{device_udid:e.ios?.udid??e.id,ios_simulator_device_set:e.ios?.simulatorSetPath??null}:{},..."android"===e.platform&&n?{serial:e.android?.serial??e.id}:{}}}function z(e){return{name:e.name,...j(e.device,{includeAndroidSerial:!1}),createdAt:e.createdAt}}function w(e){return{platform:e.platform,id:e.id,name:e.name,kind:e.kind,target:e.target,..."boolean"==typeof e.booted?{booted:e.booted}:{}}}function P(e){let t=e.created?"Created":"Reused",n=e.booted?" (booted)":"";return k({udid:e.udid,device:e.device,runtime:e.runtime,ios_simulator_device_set:e.iosSimulatorDeviceSet??null,created:e.created,booted:e.booted},`${t}: ${e.device} ${e.udid}${n}`)}function x(e){return e.bundleId??e.package??e.app}function _(e){return k({app:e.app,appPath:e.appPath,platform:e.platform,...e.appId?{appId:e.appId}:{},...e.bundleId?{bundleId:e.bundleId}:{},...e.package?{package:e.package}:{}},`Installed: ${x(e)}`)}function C(e){return e.appName??e.bundleId??e.packageName??e.launchTarget}function D(e){return k({launchTarget:e.launchTarget,...e.appName?{appName:e.appName}:{},...e.appId?{appId:e.appId}:{},...e.bundleId?{bundleId:e.bundleId}:{},...e.packageName?{package:e.packageName}:{},...e.installablePath?{installablePath:e.installablePath}:{},...e.archivePath?{archivePath:e.archivePath}:{},...e.materializationId?{materializationId:e.materializationId}:{},...e.materializationExpiresAt?{materializationExpiresAt:e.materializationExpiresAt}:{}},`Installed: ${C(e)}`)}function R(e){let t=e.appName??e.appBundleId??e.session;return k({session:e.session,...e.appName?{appName:e.appName}:{},...e.appBundleId?{appBundleId:e.appBundleId}:{},...e.startup?{startup:e.startup}:{},...e.runtime?{runtime:e.runtime}:{},...e.device?j(e.device):{}},t?`Opened: ${t}`:"Opened")}function A(e){return{session:e.session,...e.shutdown?{shutdown:e.shutdown}:{},...b(e.session?`Closed: ${e.session}`:"Closed")}}function T(e){return{nodes:e.nodes,truncated:e.truncated,...e.appName?{appName:e.appName}:{},...e.appBundleId?{appBundleId:e.appBundleId}:{},...e.visibility?{visibility:e.visibility}:{},...e.androidSnapshot?{androidSnapshot:e.androidSnapshot}:{},...e.warnings&&e.warnings.length>0?{warnings:e.warnings}:{}}}export{y as buildAppIdentifiers,$ as buildDeviceIdentifiers,I as computeDaemonCodeSignature,s as findProjectRoot,c as normalizeTenantId,N as readCommandMessage,o as readVersion,g as resolveDaemonCodeSignature,l as resolveDaemonPaths,d as resolveDaemonServerMode,u as resolveDaemonTransportPreference,x as resolveDeployResultTarget,C as resolveInstallFromSourceResultTarget,p as resolveSessionIsolationMode,A as serializeCloseResult,_ as serializeDeployResult,w as serializeDevice,P as serializeEnsureSimulatorResult,D as serializeInstallFromSourceResult,R as serializeOpenResult,z as serializeSessionListEntry,T as serializeSnapshotResult,b as successText,k as withSuccessText};
|