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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-device",
3
- "version": "0.14.2",
3
+ "version": "0.14.4",
4
4
  "description": "Agent-driven CLI for mobile UI automation, network inspection, and performance diagnostics across iOS, Android, tvOS, and macOS.",
5
5
  "license": "MIT",
6
6
  "author": "Callstack",
@@ -45,9 +45,9 @@
45
45
  "import": "./dist/src/install-source.js",
46
46
  "types": "./dist/src/install-source.d.ts"
47
47
  },
48
- "./android-apps": {
49
- "import": "./dist/src/android-apps.js",
50
- "types": "./dist/src/android-apps.d.ts"
48
+ "./android-adb": {
49
+ "import": "./dist/src/android-adb.js",
50
+ "types": "./dist/src/android-adb.d.ts"
51
51
  },
52
52
  "./android-snapshot-helper": {
53
53
  "import": "./dist/src/android-snapshot-helper.js",
@@ -166,7 +166,7 @@
166
166
  "fallow": "^2.52.0",
167
167
  "oxfmt": "^0.42.0",
168
168
  "oxlint": "^1.57.0",
169
- "skillgym": "^0.5.0",
169
+ "skillgym": "^0.6.0",
170
170
  "typescript": "^6.0.2",
171
171
  "vite": "^8.0.10"
172
172
  }
@@ -1 +0,0 @@
1
- 87795f8b8549303197f2b4a4efe92f705d41a1e87782e49e06192afc39dd2cf5 agent-device-android-snapshot-helper-0.14.2.apk
package/dist/src/8161.js DELETED
@@ -1,3 +0,0 @@
1
- import e from"node:fs";import t from"node:path";import{fileURLToPath as n}from"node:url";import{AsyncLocalStorage as a}from"node:async_hooks";import r from"node:crypto";import i from"node:os";import{redactDiagnosticData as o}from"./9152.js";import{resolveUserPath as s,expandUserHomePath as d}from"./3267.js";function l(){try{let n=u();return JSON.parse(e.readFileSync(t.join(n,"package.json"),"utf8")).version??"0.0.0"}catch{return"0.0.0"}}function u(){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}let c=new a;function p(){return r.randomBytes(8).toString("hex")}async function m(e,t){let n={...e,diagnosticId:`${Date.now().toString(36)}-${r.randomBytes(4).toString("hex")}`,events:[]};return await c.run(n,t)}function f(){let e=c.getStore();return e?{diagnosticId:e.diagnosticId,requestId:e.requestId,session:e.session,command:e.command,debug:e.debug}:{}}function g(t){let n=c.getStore();if(!n)return;let a={ts:new Date().toISOString(),level:t.level??"info",phase:t.phase,session:n.session,requestId:n.requestId,command:n.command,durationMs:t.durationMs,data:t.data?o(t.data):void 0};if(n.events.push(a),!n.debug)return;let r=`[agent-device][diag] ${JSON.stringify(a)}
2
- `;try{n.logPath&&e.appendFile(n.logPath,r,()=>{}),n.traceLogPath&&e.appendFile(n.traceLogPath,r,()=>{}),n.logPath||n.traceLogPath||process.stderr.write(r)}catch{}}async function h(e,t,n){let a=Date.now();try{let r=await t();return g({level:"info",phase:e,durationMs:Date.now()-a,data:n}),r}catch(t){throw g({level:"error",phase:e,durationMs:Date.now()-a,data:{...n??{},error:t instanceof Error?t.message:String(t)}}),t}}function I(n={}){let a=c.getStore();if(!a||!n.force&&!a.debug||0===a.events.length)return null;try{let n=(a.session??"default").replace(/[^a-zA-Z0-9._-]/g,"_"),r=new Date().toISOString().slice(0,10),s=t.join(i.homedir(),".agent-device","logs",n,r);e.mkdirSync(s,{recursive:!0});let d=new Date().toISOString().replace(/[:.]/g,"-"),l=t.join(s,`${d}-${a.diagnosticId}.ndjson`),u=a.events.map(e=>JSON.stringify(o(e)));return e.writeFileSync(l,`${u.join("\n")}
3
- `),a.events=[],l}catch{return null}}function v(e){let n,a=(n=(e??"").trim())?s(n):t.join(d("~"),".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 S(e){let t=(e??"").trim().toLowerCase();return"http"===t?"http":"dual"===t?"dual":"socket"}function w(e){let t=(e??"").trim().toLowerCase();return"auto"===t?"auto":"socket"===t?"socket":"http"===t?"http":"auto"}function b(e){return"tenant"===(e??"").trim().toLowerCase()?"tenant":"none"}function y(e){if(!e)return;let t=e.trim();if(t&&/^[a-zA-Z0-9._-]{1,128}$/.test(t))return t}let k=/(?:^|[^\w$.])(?:import|export)\s+(?:type\s+)?(?:[^'"`]*?\s+from\s+)?['"]([^'"]+)['"]/gm,$=/import\(\s*['"]([^'"]+)['"]\s*\)/gm,D=[".ts",".tsx",".js",".jsx",".mjs",".cjs"];function P(){let e=process.argv[1];return e?N(e):"unknown"}function N(n,a=u()){try{let i=t.resolve(a),o=[t.resolve(n)],s=new Set,d=[];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;d.push(`${r}:${a.size}:${Math.trunc(a.mtimeMs)}`);let l=e.readFileSync(n,"utf8");for(let e of function(e){let t=new Set;return j(e,k,t),j(e,$,t),[...t]}(l)){let a=function(e,n){let a=t.resolve(t.dirname(e),n),r=_(a);if(r)return r;for(let e of D){let t=_(`${a}${e}`);if(t)return t}for(let e of D){let n=_(t.join(a,`index${e}`));if(n)return n}return null}(n,e);a&&o.push(a)}}let l=d.sort().join("|"),u=r.createHash("sha1").update(l).digest("hex");return`graph:${d.length}:${u}`}catch{return"unknown"}}function j(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 _(t){try{return e.statSync(t).isFile()?t:null}catch{return null}}function z(e){return e?{message:e}:{}}function x(e,t){return t?{...e,message:t}:e}function C(e){return"string"==typeof e?.message&&e.message.length>0?e.message:null}function R(e){let t=e.appId??e.bundleId??e.packageName;return{session:e.session,appId:t,appBundleId:e.bundleId,package:e.packageName}}function A(e,t,n){return{deviceId:t,deviceName:n,..."android"===e?{serial:t}:"ios"===e?{udid:t}:{}}}function M(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 T(e){return{name:e.name,...M(e.device,{includeAndroidSerial:!1}),createdAt:e.createdAt}}function B(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 F(e){let t=e.created?"Created":"Reused",n=e.booted?" (booted)":"";return x({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 O(e){return e.bundleId??e.package??e.app}function E(e){return x({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: ${O(e)}`)}function L(e){return e.appName??e.bundleId??e.packageName??e.launchTarget}function q(e){return x({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: ${L(e)}`)}function K(e){let t=e.appName??e.appBundleId??e.session;return x({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?M(e.device):{}},t?`Opened: ${t}`:"Opened")}function H(e){return{session:e.session,...e.shutdown?{shutdown:e.shutdown}:{},...z(e.session?`Closed: ${e.session}`:"Closed")}}function J(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{R as buildAppIdentifiers,A as buildDeviceIdentifiers,N as computeDaemonCodeSignature,p as createRequestId,g as emitDiagnostic,u as findProjectRoot,I as flushDiagnosticsToSessionFile,f as getDiagnosticsMeta,y as normalizeTenantId,C as readCommandMessage,l as readVersion,P as resolveDaemonCodeSignature,v as resolveDaemonPaths,S as resolveDaemonServerMode,w as resolveDaemonTransportPreference,O as resolveDeployResultTarget,L as resolveInstallFromSourceResultTarget,b as resolveSessionIsolationMode,H as serializeCloseResult,E as serializeDeployResult,B as serializeDevice,F as serializeEnsureSimulatorResult,q as serializeInstallFromSourceResult,K as serializeOpenResult,T as serializeSessionListEntry,J as serializeSnapshotResult,z as successText,h as withDiagnosticTimer,m as withDiagnosticsScope,x as withSuccessText};
package/dist/src/9366.js DELETED
@@ -1 +0,0 @@
1
- function e(e){let t=new Set;for(let n of e.split("\n")){let e=n.trim();if(!e)continue;let r=e.split(/\s+/)[0],i=r.includes("/")?r.split("/")[0]:r;i&&t.add(i)}return Array.from(t)}function t(e){return e.split("\n").map(e=>{let t=e.trim();return t.startsWith("package:")?t.slice(8):t}).filter(Boolean)}function n(e){let t=e.split("\n");for(let e of["mCurrentFocus=Window{","mFocusedApp=AppWindowToken{","mResumedActivity:","ResumedActivity:"])for(let n of t){let t=n.indexOf(e);if(-1===t)continue;let i=function(e){for(let t of e.trim().split(/\s+/)){let e=t.indexOf("/");if(e<=0)continue;let n=r(t.slice(0,e),!1),i=r(t.slice(e+1),!0);if(n&&i&&n.length===e)return{package:n,activity:i}}return null}(n.slice(t+e.length));if(i)return i}return null}function r(e,t){let n=0;for(;n<e.length&&function(e,t){if(!e)return!1;let n=e.charCodeAt(0);return n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||"_"===e||"."===e||t&&"$"===e}(e[n],t);)n+=1;return e.slice(0,n)}export{n as parseAndroidForegroundApp,e as parseAndroidLaunchablePackages,t as parseAndroidUserInstalledPackages};
@@ -1,12 +0,0 @@
1
- export declare type AndroidForegroundApp = {
2
- package?: string;
3
- activity?: string;
4
- };
5
-
6
- export declare function parseAndroidForegroundApp(text: string): AndroidForegroundApp | null;
7
-
8
- export declare function parseAndroidLaunchablePackages(stdout: string): string[];
9
-
10
- export declare function parseAndroidUserInstalledPackages(stdout: string): string[];
11
-
12
- export { }
@@ -1 +0,0 @@
1
- export{parseAndroidForegroundApp,parseAndroidLaunchablePackages,parseAndroidUserInstalledPackages}from"./9366.js";