agent-device 0.14.3 → 0.14.5

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 CHANGED
@@ -94,7 +94,7 @@ 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 and reusable helpers for ADB-backed app listing and foreground state. `agent-device/daemon` exposes the supported daemon embedding surface for integrations that intentionally reuse the upstream request router.
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
98
 
99
99
  ## Used By
100
100
 
@@ -0,0 +1 @@
1
+ 4f35b420863d07561956fb9572aef144a94c161c5ed7af6af1584db54b3758aa agent-device-android-snapshot-helper-0.14.5.apk
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "android-snapshot-helper",
3
- "version": "0.14.3",
4
- "releaseTag": "v0.14.3",
5
- "assetName": "agent-device-android-snapshot-helper-0.14.3.apk",
3
+ "version": "0.14.5",
4
+ "releaseTag": "v0.14.5",
5
+ "assetName": "agent-device-android-snapshot-helper-0.14.5.apk",
6
6
  "apkUrl": null,
7
- "sha256": "98818fe5c487f001fae55afa1b9cbf40628b7e9eb0ca97fb8f117d6799618754",
8
- "checksumName": "agent-device-android-snapshot-helper-0.14.3.apk.sha256",
7
+ "sha256": "4f35b420863d07561956fb9572aef144a94c161c5ed7af6af1584db54b3758aa",
8
+ "checksumName": "agent-device-android-snapshot-helper-0.14.5.apk.sha256",
9
9
  "packageName": "com.callstack.agentdevice.snapshothelper",
10
- "versionCode": 14003,
10
+ "versionCode": 14005,
11
11
  "instrumentationRunner": "com.callstack.agentdevice.snapshothelper/.SnapshotInstrumentation",
12
12
  "minSdk": 23,
13
13
  "targetSdk": 36,
@@ -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};