agent-device 0.21.10 → 0.21.11
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/android/ime-helper/dist/{agent-device-android-ime-helper-0.21.10.apk → agent-device-android-ime-helper-0.21.11.apk} +0 -0
- package/android/ime-helper/dist/agent-device-android-ime-helper-0.21.11.apk.sha256 +1 -0
- package/android/ime-helper/dist/{agent-device-android-ime-helper-0.21.10.manifest.json → agent-device-android-ime-helper-0.21.11.manifest.json} +4 -4
- package/android/snapshot-helper/dist/{agent-device-android-snapshot-helper-0.21.10.apk → agent-device-android-snapshot-helper-0.21.11.apk} +0 -0
- package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.21.11.apk.sha256 +1 -0
- package/android/snapshot-helper/dist/{agent-device-android-snapshot-helper-0.21.10.manifest.json → agent-device-android-snapshot-helper-0.21.11.manifest.json} +6 -6
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotPresentationProjection.swift +2 -0
- package/dist/src/internal/bin.js +1 -1
- package/dist/src/semantic-index.js +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/android/ime-helper/dist/agent-device-android-ime-helper-0.21.10.apk.sha256 +0 -1
- package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.21.10.apk.sha256 +0 -1
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
63beaf80513455a01906685716ad7a91169cb5632dc054e02d06047957490697 agent-device-android-ime-helper-0.21.11.apk
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "android-ime-helper",
|
|
3
|
-
"version": "0.21.
|
|
4
|
-
"assetName": "agent-device-android-ime-helper-0.21.
|
|
5
|
-
"sha256": "
|
|
3
|
+
"version": "0.21.11",
|
|
4
|
+
"assetName": "agent-device-android-ime-helper-0.21.11.apk",
|
|
5
|
+
"sha256": "63beaf80513455a01906685716ad7a91169cb5632dc054e02d06047957490697",
|
|
6
6
|
"packageName": "com.callstack.agentdevice.imehelper",
|
|
7
|
-
"versionCode":
|
|
7
|
+
"versionCode": 21011,
|
|
8
8
|
"serviceComponent": "com.callstack.agentdevice.imehelper/.TestInputMethodService",
|
|
9
9
|
"broadcastProtocol": "android-ime-helper-v1"
|
|
10
10
|
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
9201208584b56e121818bcfcf8db066d8f0f63309af27c34edccc0f9b16e9cfb agent-device-android-snapshot-helper-0.21.11.apk
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "android-snapshot-helper",
|
|
3
|
-
"version": "0.21.
|
|
4
|
-
"releaseTag": "v0.21.
|
|
5
|
-
"assetName": "agent-device-android-snapshot-helper-0.21.
|
|
3
|
+
"version": "0.21.11",
|
|
4
|
+
"releaseTag": "v0.21.11",
|
|
5
|
+
"assetName": "agent-device-android-snapshot-helper-0.21.11.apk",
|
|
6
6
|
"apkUrl": null,
|
|
7
|
-
"sha256": "
|
|
8
|
-
"checksumName": "agent-device-android-snapshot-helper-0.21.
|
|
7
|
+
"sha256": "9201208584b56e121818bcfcf8db066d8f0f63309af27c34edccc0f9b16e9cfb",
|
|
8
|
+
"checksumName": "agent-device-android-snapshot-helper-0.21.11.apk.sha256",
|
|
9
9
|
"packageName": "com.callstack.agentdevice.snapshothelper",
|
|
10
|
-
"versionCode":
|
|
10
|
+
"versionCode": 21011,
|
|
11
11
|
"instrumentationRunner": "com.callstack.agentdevice.snapshothelper/.SnapshotInstrumentation",
|
|
12
12
|
"minSdk": 23,
|
|
13
13
|
"targetSdk": 36,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Foundation
|
|
2
2
|
|
|
3
3
|
extension SnapshotPresentation {
|
|
4
|
+
// Kept in step with `REGULAR_ELIGIBLE_TYPES` in ios-snapshot-engine/projection.ts by
|
|
5
|
+
// eligibility-parity.test.ts. Excludes `scrollarea` (ADR 0026): the iOS runner never emits it.
|
|
4
6
|
static let eligibleInteractiveTypes: Set<String> = [
|
|
5
7
|
"Button",
|
|
6
8
|
"Cell",
|
package/dist/src/internal/bin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
async function e(e,n,r){try{await t(e,n,r)}catch(e){r.stderr(`${e instanceof Error?e.message:String(e)}\n`),await(await n.processExit()).exitAfterFlush(1)}}async function t(e,t,l){if(e.length===0)return await n(t,l);if(o(e))return await r(t,l);let u=c(e);if(u!==void 0)return await i(u,e,t,l);if(s(e))return await(await t.mcp()).runAgentDeviceMcpServer();await a(e,t)}async function n(e,t){t.stdout(`${(await e.help()).buildUsageText()}\n`),await(await e.processExit()).exitAfterFlush(1)}async function r(e,t){t.stdout(`${t.bundledVersion??(await e.version()).readVersion()}\n`)}async function i(e,t,n,r){let i=await n.help(),o=e===null?`${i.buildUsageText()}\n`:i.resolveHelpTargetUsageText(e);if(o===null)return await a(t,n);r.stdout(o)}async function a(e,t){await(await t.cli()).runCliProcess(e)}function o(e){return e.length===1&&(e[0]===`--version`||e[0]===`-V`)}function s(e){return e[0]===`mcp`&&!e.some(l)}function c(e){let[t,n]=e;if(e.length===1)return t===`help`||l(t)?null:void 0;if(e.length===2)return t===`help`?n:l(n)?t:void 0}function l(e){return e===`--help`||e===`-h`}e(process.argv.slice(2),{help:()=>import(`../cli-help.js`).then(e=>e.n),cli:()=>import(`../process-entry.js`),mcp:()=>import(`../server.js`),version:()=>import(`../version.js`).then(e=>e.t),processExit:()=>import(`../process-exit.js`)},{bundledVersion:`0.21.
|
|
1
|
+
async function e(e,n,r){try{await t(e,n,r)}catch(e){r.stderr(`${e instanceof Error?e.message:String(e)}\n`),await(await n.processExit()).exitAfterFlush(1)}}async function t(e,t,l){if(e.length===0)return await n(t,l);if(o(e))return await r(t,l);let u=c(e);if(u!==void 0)return await i(u,e,t,l);if(s(e))return await(await t.mcp()).runAgentDeviceMcpServer();await a(e,t)}async function n(e,t){t.stdout(`${(await e.help()).buildUsageText()}\n`),await(await e.processExit()).exitAfterFlush(1)}async function r(e,t){t.stdout(`${t.bundledVersion??(await e.version()).readVersion()}\n`)}async function i(e,t,n,r){let i=await n.help(),o=e===null?`${i.buildUsageText()}\n`:i.resolveHelpTargetUsageText(e);if(o===null)return await a(t,n);r.stdout(o)}async function a(e,t){await(await t.cli()).runCliProcess(e)}function o(e){return e.length===1&&(e[0]===`--version`||e[0]===`-V`)}function s(e){return e[0]===`mcp`&&!e.some(l)}function c(e){let[t,n]=e;if(e.length===1)return t===`help`||l(t)?null:void 0;if(e.length===2)return t===`help`?n:l(n)?t:void 0}function l(e){return e===`--help`||e===`-h`}e(process.argv.slice(2),{help:()=>import(`../cli-help.js`).then(e=>e.n),cli:()=>import(`../process-entry.js`),mcp:()=>import(`../server.js`),version:()=>import(`../version.js`).then(e=>e.t),processExit:()=>import(`../process-exit.js`)},{bundledVersion:`0.21.11`,stdout:e=>{process.stdout.write(e)},stderr:e=>{process.stderr.write(e)}}).catch(()=>process.exit(1));export{};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ir as e,Kr as t,Mr as n,Ur as r,Wr as i,qr as a}from"./sdk-batch.js";import{n as o,t as s}from"./scroll-indicator.js";import{a as c,i as l,o as ee,r as u}from"./react-native-overlay.js";import{t as d}from"./rect-center.js";import{a as f,c as te,d as p,f as m,g as ne,h,i as g,l as re,m as _,n as v,p as y,r as b,s as x,t as S,u as ie}from"./tree.js";function ae(e,t){let n=g(t.sourceNodesByIndex.values());for(let r of e)oe(r,t.sourceNodesByIndex,n)&&y(t.replacements,r,{type:`Cell`})}function oe(t,n,r){return!(e(t.type??``)!==`other`||t.enabled===!1||!t.rect||!le(t.label)||!f(t,n,ce)||!se(t)||re(t.rect,r))}function se(e){return e.rect?e.rect.height>=44&&e.rect.height<=160&&e.rect.width>=120:!1}function ce(t){let n=e(t.type??``);return n===`scrollview`||n===`scrollarea`}function le(e){let t=e?.trim();return!(!t||/^(toolbar|window|application)$/i.test(t)||t.startsWith(`!,`)||/debugger|fast refresh/i.test(t))}function ue(e,t){let n=new Set;for(let r of e)de(t.replacements.get(r.index)??r)&&fe(r,t.sourceNodesByIndex,t,n);he(e,t,n)}function de(e){let t=e.label?.trim();return!!(t&&o(t))}function fe(e,t,n,r){let i=!p(e.type)||n.isSuppressed(e),a=s(e.label?.trim()??``,e.value),o=a?pe(e,t):void 0;i&&n.suppressNode(e,o?[o]:[]),o&&a&&j(n,o,e,a)&&r.add(o.index)}function pe(e,t){if(p(e.type))return e;let n=f(e,t,e=>p(e.type)||me(e.type));return n&&p(n.type)?n:null}function me(t){return e(t??``)===`textview`}function he(e,t,n){let r=new Map;for(let i of e){let e=r.get(i.parentIndex??-1),a=e?.clip,o=t.replacements.get(i.index)??i,s=k(o.rect,a),c=C(o,a,s),l=w(e,c,o);T(t,i,o,a,s,c,l),r.set(i.index,E(i,o,a,s,l,n))}}function C(e,t,n){return!!(t&&r(e.rect)&&!r(n))}function w(e,t,n){return!!(e?.projectedOut||t&&O(n))}function T(e,t,n,r,i,a,o){o||a?e.suppressNode(t,[]):r&&i&&!A(n.rect,i)&&y(e.replacements,t,{rect:i})}function E(e,t,n,r,i,a){return{projectedOut:i,...D(e,t,n,r,a)?{clip:r}:n?{clip:n}:{}}}function D(e,t,n,i,a){return!!(r(i)&&(a.has(e.index)||n!==void 0&&p(t.type)))}function O(e){return e.type?.trim().toLowerCase()===`cell`||p(e.type)}function k(e,t){if(!e||!t)return e;let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y),i=Math.min(e.x+e.width,t.x+t.width),a=Math.min(e.y+e.height,t.y+t.height);return{x:n,y:r,width:Math.max(0,i-n),height:Math.max(0,a-r)}}function A(e,t){return!!(e&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height)}function j(e,t,n,r){let i=N((e.replacements.get(t.index)??t).rect,n.rect);return ne(e.replacements,t,e=>({rect:i??e.rect,hiddenContentAbove:M(e.hiddenContentAbove,r.above),hiddenContentBelow:M(e.hiddenContentBelow,r.below)})),!!i}function M(e,t){return e===!0||t?!0:void 0}function N(e,t){if(!(!e||!t)&&!(t.height<=0||t.height>=e.height)&&!(t.y<e.y||t.y>e.y+e.height))return{...e,y:t.y,height:Math.min(t.height,e.y+e.height-t.y)}}function P(t,n){for(let r=0;r<t.length;r+=1){let i=t[r],a=i?.label?.trim();i&&a&&e(i.type??``)===`other`&&n(i,a,r)}}function F(e,t){P(e,(n,r,i)=>{if(!c(r)||!n.rect)return;let a=b(e,i,e=>!!e.rect&&ee(e.label?.trim()??``));if(!a?.rect)return;let o=L(n.rect,a.rect);if(!o)return;let s=I(e,i,o);y(t,n,{rect:s}),x(e,i,e=>{c(e.label?.trim()??``)&&y(t,e,{rect:s})})})}function I(e,n,r){let i=r;return x(e,n,e=>{let n=e.label?.trim()??``;!e.rect||!c(n)||a(r,e.rect)&&t(e.rect)<t(i)&&(i=e.rect)}),i}function L(e,t){let n=e.x+e.width,r=t.x+t.width,i={x:t.x,y:e.y,width:n-t.x,height:e.height};if(t.x>e.x&&d(t,i))return{...e,width:t.x-e.x};let a={x:e.x,y:e.y,width:r-e.x,height:e.height};if(r<n&&d(t,a))return{...e,x:r,width:n-r}}function R(e,t){P(e,(n,r,i)=>{u(n)&&l(n,z(e,i))&&t.suppressNode(n,z(e,i))})}function z(e,t){let n=[];return x(e,t,e=>{n.push(e)}),n}function ge(e,t){let n=g(e),r=n?n.y+n.height:null;if(r!==null)for(let n=0;n<e.length;n+=1){let i=e[n];!i||!_e(i,r)||(t.suppressNode(i,[]),ve(i,t,r),x(e,n,e=>{t.suppressNode(e,[])}))}}function _e(t,n){return!t.rect||e(t.type??``)!==`keyboard`?!1:t.rect.y>=n}function ve(e,t,n){let r=typeof e.parentIndex==`number`?t.sourceNodesByIndex.get(e.parentIndex):void 0;for(;r?.rect&&r.rect.y>=n;)t.suppressNode(r,[]),r=typeof r.parentIndex==`number`?t.sourceNodesByIndex.get(r.parentIndex):void 0}function ye(t,n){for(let r=0;r<t.length;r+=1){let i=t[r];if(!i)continue;if(be(i)){B(t,r,i,n);continue}if(!xe(i))continue;let a=b(t,r,t=>e(t.type??``)===`searchfield`&&t.label===`Search`);a&&(n.suppressNode(i,[a]),Se(i,a,n),B(t,r,a,n))}}function be(t){return e(t.type??``)===`searchfield`&&t.label===`Search`}function xe(t){let n=e(t.type??``);return t.label===`Toolbar`&&(n===`toolbar`||n===`searchfield`)}function B(e,t,n,r){x(e,t,e=>{e.index!==n.index&&Ce(e)&&r.suppressNode(e,[n])})}function Se(e,t,n){let r=e;for(;typeof r.parentIndex==`number`;){let e=n.sourceNodesByIndex.get(r.parentIndex);if(!e||e.label!==`Toolbar`)return;n.suppressNode(e,[t]),r=e}}function Ce(t){let n=e(t.type??``);return n===`button`?!1:n===`image`||t.label===`Search`}function we(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=r?.label?.trim();!r||t.isSuppressed(r)||!i||Te(e,n,r,i,t)}}function Te(t,n,r,i,a){let o=e(r.type??``);if(o===`statictext`||o===`link`){V(t,n,i,r,a);return}if(o!==`other`)return;let s=Ee(t,n,i);if(s){a.suppressNode(r,[s]);return}V(t,n,i,r,a)}function Ee(t,n,r){return b(t,n,t=>{let n=e(t.type??``);return(n===`link`||n===`searchfield`||p(t.type))&&t.label?.trim()===r})}function V(e,t,n,r,i){x(e,t,e=>{!i.semanticRepresentativeIndexes.has(e.index)&&ie(e,n)&&i.suppressNode(e,[r])})}function De(e,t){P(e,(n,r,i)=>{let a=b(e,i,e=>m(e)&&e.label?.trim()===r&&(d(e.rect,n.rect)||Oe(n,e)));a&&t.suppressNode(n,[a])})}function Oe(t,n){if(n.label?.trim()!==t.label?.trim())return!1;let r=e(n.type??``);return ke(t,r)||r===`textfield`||Ae(t,r,n)}function ke(e,t){let n=e.label?.trim();return t===`button`&&(n===`Dismiss`||n===`Back`)}function Ae(e,t,n){return t!==`button`||!e.rect||!n.rect?!1:e.rect.x===0&&e.rect.y===0&&e.rect.width>=300&&e.rect.height>=600&&n.rect.width<e.rect.width}function je(t,n){let r=S(t);for(let i of t){if(e(i.type??``)!==`other`||i.hittable===!0||i.label?.trim()||i.value?.trim()||!i.identifier?.trim())continue;let t=Me(i,r);(t.length!==0||i.hittable===!1)&&n.suppressNode(i,t)}}function Me(e,t){let n=[],r=new Set([e.index]),i=[...t.get(e.index)??[]];for(;i.length>0;){let e=i.pop();if(!e||r.has(e.index))continue;r.add(e.index),n.push(e);let a=t.get(e.index);a&&i.push(...a)}return n}function Ne(e,t){ge(e,t),je(e,t),ue(e,t),ye(e,t),De(e,t),F(e,t.replacements),R(e,t),we(e,t)}function Pe(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=r?Fe(e,n,r,t):void 0;!r?.rect||!i||Re(e,n,r,i,t)}}function Fe(t,n,r,i){let a=r.label?.trim();if(e(r.type??``)!==`cell`||a&&!Ie(a,r.identifier)&&!o(a))return a;let s=v(t,n).find(Le),c=s?.label?.trim();return!s||!c?a:(y(i.replacements,r,{label:c}),i.suppressNode(s,[r]),c)}function Ie(e,t){return t?.trim()===e&&/^[A-Z_$][A-Za-z0-9_$]*Cell$/.test(e)}function Le(t){if(!t.label?.trim())return!1;let n=e(t.type??``);return n===`statictext`||n===`text`||n===`textview`}function Re(t,n,r,i,a){let o=e(r.type??``);if(o===`button`){H(v(t,n),i,a,r);return}if(o!==`cell`)return;let s=v(t,n);ze(s,r,i,a)||Be(s,r,i,a)}function ze(e,t,n,r){let i=e.find(e=>He(e,t,n));if(!i)return!1;let a=e.find(e=>U(e,t,n)),o=i.identifier?void 0:a?.identifier??t.identifier;return o&&y(r.replacements,i,{identifier:o}),r.suppressNode(t,[i]),Ve(e,t,n,i,r),!0}function Be(e,t,n,r){let i=e.find(e=>U(e,t,n));if(!i){e.some(te)&&H(e,n,r,t);return}!t.identifier&&i.identifier&&y(r.replacements,t,{identifier:i.identifier}),r.suppressNode(i,[t]),H(e.filter(e=>e.index!==i.index),n,r,t)}function Ve(e,t,n,r,i){for(let a of e)a.index!==r.index&&(U(a,t,n)||W(a,t)||Ue(a,r)||h(a,n))&&i.suppressNode(a,[r])}function H(e,t,n,r){for(let i of e)(h(i,t)||r&&W(i,r))&&n.suppressNode(i,r?[r]:[])}function U(t,n,r){if(e(t.type??``)!==`button`)return!1;let i=n.identifier?.trim(),a=t.identifier?.trim();return i&&a&&i===a?!0:t.label?.trim()===r&&d(t.rect,n.rect)}function W(t,n){return e(t.type??``)===`button`&&!t.label?.trim()&&!t.value?.trim()&&d(t.rect,n.rect)}function He(t,n,r){if(e(t.type??``)!==`switch`)return!1;let i=n.identifier?.trim(),a=t.identifier?.trim();return i&&a&&i===a?!0:t.label?.trim()===r}function Ue(t,n){if(e(t.type??``)!==`switch`||t.index===n.index)return!1;let r=t.label?.trim();return r===n.value?.trim()||r===`0`||r===`1`}const G=1.15;function We(e,t,n){let r=new Map(e.map((e,t)=>[e.index,t]));for(let[a,o]of e.entries()){let s=Ge(e,r,t,o,n);if(!s)continue;q(e,a,n);let c=J(s.shelfRect,2);for(let t of s.intermediateSiblings){if(et(t)||!t.rect||!i(t.rect,c))continue;let a=r.get(t.index);a!==void 0&&q(e,a,n)}}}function Ge(e,t,n,r,i){let a=Ke(r,n,i.sourceNodesByIndex);if(!a)return;let o=Ye(e,t,a.siblings,a.position,a.parent);if(!(o<0))return{shelfRect:a.rect,intermediateSiblings:a.siblings.slice(a.position+1,o)}}function Ke(e,t,n){let r=Xe(e,K(t,e.index));if(!r)return;let i=Je(e,n);if(!i||!i.rect)return;let a=K(t,i.index),o=a.findIndex(t=>t.index===e.index);if(qe(a,o,e,r))return{rect:r.rect,parent:i,siblings:a,position:o}}function K(e,t){return e.get(t)??[]}function qe(e,t,n,r){if(t<1)return!1;let i=Ze(e,t,n);return i?!r.childActionsPresented||!Qe(i,r.actionButtons):!1}function Je(e,t){return typeof e.parentIndex==`number`?t.get(e.parentIndex):void 0}function Ye(e,t,n,r,i){return n.findIndex((n,a)=>a>r&&$e(e,t.get(n.index),n,i))}function Xe(t,n){if(!p(t.type)||!t.rect)return;let r=t.rect,i=n.filter(t=>e(t.type??``)===`button`&&t.rect);if(i.length===0&&t.hiddenContentBelow===!0)return{rect:r,childActionsPresented:!1,actionButtons:i};if(i.length<3)return;let o=i.map(e=>e.rect.x+e.rect.width/2);if(o.every((e,t)=>t===0||e>o[t-1]))return{rect:r,childActionsPresented:i.some(e=>a(r,e.rect)),actionButtons:i}}function Ze(e,t,n){if(!(!n.rect||t<1))for(let r=t-1;r>=0;--r){let t=e[r];if(!(!t.rect||!m(t))&&t.rect.x+t.rect.width/2<n.rect.x&&tt(t.rect,J(n.rect,2)))return t}}function Qe(e,t){if(!e.rect||t.length===0)return!1;let n=Math.max(...t.map(e=>e.rect?.width??0)),r=Math.max(...t.map(e=>e.rect?.height??0));return e.rect.width>n*G||e.rect.height>r*G}function $e(t,n,r,i){return n!==void 0&&e(r.type??``)===`other`&&d(r.rect,i.rect)&&!!b(t,n,m)}function q(e,t,n){let r=e[t];if(r){n.suppressNode(r,[]);for(let r of v(e,t))n.suppressNode(r,[])}}function et(t){let n=e(t.type??``);return n===`textfield`||n===`securetextfield`||n===`searchfield`||n===`textview`}function J(e,t){return{x:e.x-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}function tt(e,t){return Math.max(e.y,t.y)<=Math.min(e.y+e.height,t.y+t.height)}function nt(e,t){let n=S(e);We(e,n,t),rt(e,n,t)}function rt(t,n,r){for(let i of t){if(e(i.type??``)!==`navigationbar`||!i.rect)continue;let t=n.get(i.index)??[],a=t.flatMap(e=>it(e,t,i.rect));if(a.length!==1)continue;let{field:o,title:s,image:c,label:l}=a[0];y(r.replacements,o,{type:`Button`,label:l,enabled:!0,hittable:void 0,rect:ct([c.rect,o.rect,s.rect])}),r.semanticRepresentativeIndexes.add(o.index),r.suppressNode(s,[o]),r.suppressNode(c,[o])}}function it(e,t,r){let i=n(e);if(!at(e,i))return[];let a=X(t,e=>Y(e,i)),o=X(t,ot);return a?.rect&&o?.rect&&st(o.rect,e.rect,a.rect,r)?[{field:e,title:a,image:o,label:i}]:[]}function at(t,n){return e(t.type??``)===`textfield`&&t.enabled===!1&&!!t.rect&&!!n&&t.value?.trim()===n}function Y(t,n){return e(t.type??``)===`statictext`&&t.label?.trim()===n&&!!t.rect}function ot(t){return e(t.type??``)===`image`&&!!t.identifier?.trim()&&!!t.rect}function X(e,t){let n=e.filter(t);return n.length===1?n[0]:void 0}function st(e,t,n,r){let i=t.x-(e.x+e.width),o=n.x-(t.x+t.width);return a(r,e)&&a(r,t)&&a(r,n)&&i>=0&&i<=12&&o>=0&&o<=12&&Z(e,t)&&Z(t,n)}function Z(e,t){return Math.max(e.y,t.y)<=Math.min(e.y+e.height,t.y+t.height)}function ct(e){let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y)),r=Math.max(...e.map(e=>e.x+e.width)),i=Math.max(...e.map(e=>e.y+e.height));return{x:t,y:n,width:r-t,height:i-n}}function lt(t,n){let r=S(t);for(let i of t){if(e(i.type??``)===`element(58)`){y(n.replacements,i,{type:`WebView`});continue}let t=ut(i,n.sourceNodesByIndex,r);if(t?.kind===`suppress`){n.suppressNode(i,[]);continue}t&&(y(n.replacements,i,{type:t.type,...t.type===`Heading`?{value:void 0}:{}}),n.semanticRepresentativeIndexes.add(i.index))}}function ut(t,n,r){if(e(t.type??``)!==`other`)return null;let i=f(t,n,pt),a=t.label?.trim();return!i||!a?null:ft(t,i,a)?{kind:`suppress`}:dt(t,a,r)?{kind:`semantic`,type:Q(t.value)?`Heading`:`StaticText`}:null}function dt(t,n,r){let i=r.get(t.index);if(i?.length!==1)return!1;let a=i[0];return e(a.type??``)===`statictext`&&a.label?.trim()===n&&!r.has(a.index)}function ft(e,t,n){return e.parentIndex===t.index&&t.label?.trim()===n&&!Q(e.value)}function pt(t){let n=e(t.type??``);return n===`webview`||n===`element(58)`}function Q(e){return/^[1-6]$/.test(e?.trim()??``)}const mt=[lt,nt,ae,Pe,Ne];function ht(e){if(e.length===0)return{nodes:e,presentedIndexesBySourceIndex:new Map};let t=new Map,n=new Map,r=new Set,i=new Map(e.map(e=>[e.index,e])),a=new Set,o={replacements:t,semanticRepresentativeIndexes:r,sourceNodesByIndex:i,isSuppressed:e=>a.has(e.index),suppressNode(e,t){if(a.add(e.index),t.length===0)return;let r=n.get(e.index)??new Set;for(let e of t)r.add(e.index);n.set(e.index,r)}};for(let t of mt)t(e,o);if(a.size===0&&t.size===0)return{nodes:e,presentedIndexesBySourceIndex:new Map(e.map(e=>[e.index,[e.index]]))};let s=e.filter(e=>!a.has(e.index)).map(e=>t.get(e.index)??e),c=_(s,a,e),l=new Map(s.map((e,t)=>[e.index,c[t].index]));return{nodes:c,presentedIndexesBySourceIndex:new Map(e.map(e=>[e.index,$(e.index,l,n)]))}}function $(e,t,n,r=new Set){let i=t.get(e);if(i!==void 0)return[i];if(r.has(e))return[];r.add(e);let a=new Set;for(let i of n.get(e)??[])for(let e of $(i,t,n,r))a.add(e);return[...a].sort((e,t)=>e-t)}export{ht as t};
|
|
1
|
+
import{Ir as e,Kr as t,Mr as n,Ur as r,Wr as i,qr as a}from"./sdk-batch.js";import{n as o,t as s}from"./scroll-indicator.js";import{a as c,i as l,o as ee,r as u}from"./react-native-overlay.js";import{t as d}from"./rect-center.js";import{a as f,c as p,d as m,f as h,g,h as _,i as v,l as te,m as ne,n as y,p as b,r as x,s as S,t as C,u as re}from"./tree.js";function ie(e,t){let n=v(t.sourceNodesByIndex.values());for(let r of e)ae(r,t.sourceNodesByIndex,n)&&b(t.replacements,r,{type:`Cell`})}function ae(t,n,r){return!(e(t.type??``)!==`other`||t.enabled===!1||!t.rect||!ce(t.label)||!f(t,n,se)||!oe(t)||te(t.rect,r))}function oe(e){return e.rect?e.rect.height>=44&&e.rect.height<=160&&e.rect.width>=120:!1}function se(t){let n=e(t.type??``);return n===`scrollview`||n===`scrollarea`}function ce(e){let t=e?.trim();return!(!t||/^(toolbar|window|application)$/i.test(t)||t.startsWith(`!,`)||/debugger|fast refresh/i.test(t))}function le(e,t){let n=new Set;for(let r of e)ue(t.replacements.get(r.index)??r)&&de(r,t.sourceNodesByIndex,t,n);me(e,t,n)}function ue(e){let t=e.label?.trim();return!!(t&&o(t))}function de(e,t,n,r){let i=!m(e.type)||n.isSuppressed(e),a=s(e.label?.trim()??``,e.value),o=a?pe(e,t):void 0;i&&n.suppressNode(e,o?[o]:[]),o&&a&&M(n,o,e,a)&&r.add(o.index)}function w(e,t){return typeof e.parentIndex==`number`?t.get(e.parentIndex):void 0}function fe(e,t){return e.rect!=null&&t.rect!=null&&j(e.rect,t.rect)}function pe(e,t){if(m(e.type))return null;let n=w(e,t);for(;n&&!m(n.type);){let e=w(n,t);if(!e||!fe(n,e))return null;n=e}return n??null}function me(e,t,n){let r=new Map;for(let i of e){let e=r.get(i.parentIndex??-1),a=e?.clip,o=t.replacements.get(i.index)??i,s=A(o.rect,a),c=he(o,a,s),l=T(e,c,o);E(t,i,o,a,s,c,l),r.set(i.index,D(i,o,a,s,l,n))}}function he(e,t,n){return!!(t&&r(e.rect)&&!r(n))}function T(e,t,n){return!!(e?.projectedOut||t&&k(n))}function E(e,t,n,r,i,a,o){o||a?e.suppressNode(t,[]):r&&i&&!j(n.rect,i)&&b(e.replacements,t,{rect:i})}function D(e,t,n,r,i,a){return{projectedOut:i,...O(e,t,n,r,a)?{clip:r}:n?{clip:n}:{}}}function O(e,t,n,i,a){return!!(r(i)&&(a.has(e.index)||n!==void 0&&m(t.type)))}function k(e){return e.type?.trim().toLowerCase()===`cell`||m(e.type)}function A(e,t){if(!e||!t)return e;let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y),i=Math.min(e.x+e.width,t.x+t.width),a=Math.min(e.y+e.height,t.y+t.height);return{x:n,y:r,width:Math.max(0,i-n),height:Math.max(0,a-r)}}function j(e,t){return!!(e&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height)}function M(e,t,n,r){let i=P((e.replacements.get(t.index)??t).rect,n.rect);return g(e.replacements,t,e=>({rect:i??e.rect,hiddenContentAbove:N(e.hiddenContentAbove,r.above),hiddenContentBelow:N(e.hiddenContentBelow,r.below)})),!!i}function N(e,t){return e===!0||t?!0:void 0}function P(e,t){if(!(!e||!t)&&!(t.height<=0||t.height>=e.height)&&!(t.y<e.y||t.y>e.y+e.height))return{...e,y:t.y,height:Math.min(t.height,e.y+e.height-t.y)}}function F(t,n){for(let r=0;r<t.length;r+=1){let i=t[r],a=i?.label?.trim();i&&a&&e(i.type??``)===`other`&&n(i,a,r)}}function I(e,t){F(e,(n,r,i)=>{if(!c(r)||!n.rect)return;let a=x(e,i,e=>!!e.rect&&ee(e.label?.trim()??``));if(!a?.rect)return;let o=R(n.rect,a.rect);if(!o)return;let s=L(e,i,o);b(t,n,{rect:s}),S(e,i,e=>{c(e.label?.trim()??``)&&b(t,e,{rect:s})})})}function L(e,n,r){let i=r;return S(e,n,e=>{let n=e.label?.trim()??``;!e.rect||!c(n)||a(r,e.rect)&&t(e.rect)<t(i)&&(i=e.rect)}),i}function R(e,t){let n=e.x+e.width,r=t.x+t.width,i={x:t.x,y:e.y,width:n-t.x,height:e.height};if(t.x>e.x&&d(t,i))return{...e,width:t.x-e.x};let a={x:e.x,y:e.y,width:r-e.x,height:e.height};if(r<n&&d(t,a))return{...e,x:r,width:n-r}}function ge(e,t){F(e,(n,r,i)=>{u(n)&&l(n,z(e,i))&&t.suppressNode(n,z(e,i))})}function z(e,t){let n=[];return S(e,t,e=>{n.push(e)}),n}function _e(e,t){let n=v(e),r=n?n.y+n.height:null;if(r!==null)for(let n=0;n<e.length;n+=1){let i=e[n];!i||!ve(i,r)||(t.suppressNode(i,[]),ye(i,t,r),S(e,n,e=>{t.suppressNode(e,[])}))}}function ve(t,n){return!t.rect||e(t.type??``)!==`keyboard`?!1:t.rect.y>=n}function ye(e,t,n){let r=typeof e.parentIndex==`number`?t.sourceNodesByIndex.get(e.parentIndex):void 0;for(;r?.rect&&r.rect.y>=n;)t.suppressNode(r,[]),r=typeof r.parentIndex==`number`?t.sourceNodesByIndex.get(r.parentIndex):void 0}function be(t,n){for(let r=0;r<t.length;r+=1){let i=t[r];if(!i)continue;if(xe(i)){B(t,r,i,n);continue}if(!Se(i))continue;let a=x(t,r,t=>e(t.type??``)===`searchfield`&&t.label===`Search`);a&&(n.suppressNode(i,[a]),Ce(i,a,n),B(t,r,a,n))}}function xe(t){return e(t.type??``)===`searchfield`&&t.label===`Search`}function Se(t){let n=e(t.type??``);return t.label===`Toolbar`&&(n===`toolbar`||n===`searchfield`)}function B(e,t,n,r){S(e,t,e=>{e.index!==n.index&&we(e)&&r.suppressNode(e,[n])})}function Ce(e,t,n){let r=e;for(;typeof r.parentIndex==`number`;){let e=n.sourceNodesByIndex.get(r.parentIndex);if(!e||e.label!==`Toolbar`)return;n.suppressNode(e,[t]),r=e}}function we(t){let n=e(t.type??``);return n===`button`?!1:n===`image`||t.label===`Search`}function Te(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=r?.label?.trim();!r||t.isSuppressed(r)||!i||Ee(e,n,r,i,t)}}function Ee(t,n,r,i,a){let o=e(r.type??``);if(o===`statictext`||o===`link`){V(t,n,i,r,a);return}if(o!==`other`)return;let s=De(t,n,i);if(s){a.suppressNode(r,[s]);return}V(t,n,i,r,a)}function De(t,n,r){return x(t,n,t=>{let n=e(t.type??``);return(n===`link`||n===`searchfield`||m(t.type))&&t.label?.trim()===r})}function V(e,t,n,r,i){S(e,t,e=>{!i.semanticRepresentativeIndexes.has(e.index)&&re(e,n)&&i.suppressNode(e,[r])})}function Oe(e,t){F(e,(n,r,i)=>{let a=x(e,i,e=>h(e)&&e.label?.trim()===r&&(d(e.rect,n.rect)||ke(n,e)));a&&t.suppressNode(n,[a])})}function ke(t,n){if(n.label?.trim()!==t.label?.trim())return!1;let r=e(n.type??``);return Ae(t,r)||r===`textfield`||je(t,r,n)}function Ae(e,t){let n=e.label?.trim();return t===`button`&&(n===`Dismiss`||n===`Back`)}function je(e,t,n){return t!==`button`||!e.rect||!n.rect?!1:e.rect.x===0&&e.rect.y===0&&e.rect.width>=300&&e.rect.height>=600&&n.rect.width<e.rect.width}function Me(t,n){let r=C(t);for(let i of t){if(e(i.type??``)!==`other`||i.hittable===!0||i.label?.trim()||i.value?.trim()||!i.identifier?.trim())continue;let t=Ne(i,r);(t.length!==0||i.hittable===!1)&&n.suppressNode(i,t)}}function Ne(e,t){let n=[],r=new Set([e.index]),i=[...t.get(e.index)??[]];for(;i.length>0;){let e=i.pop();if(!e||r.has(e.index))continue;r.add(e.index),n.push(e);let a=t.get(e.index);a&&i.push(...a)}return n}function Pe(e,t){_e(e,t),Me(e,t),le(e,t),be(e,t),Oe(e,t),I(e,t.replacements),ge(e,t),Te(e,t)}function Fe(e,t){for(let n=0;n<e.length;n+=1){let r=e[n],i=r?Ie(e,n,r,t):void 0;!r?.rect||!i||ze(e,n,r,i,t)}}function Ie(t,n,r,i){let a=r.label?.trim();if(e(r.type??``)!==`cell`||a&&!Le(a,r.identifier)&&!o(a))return a;let s=y(t,n).find(Re),c=s?.label?.trim();return!s||!c?a:(b(i.replacements,r,{label:c}),i.suppressNode(s,[r]),c)}function Le(e,t){return t?.trim()===e&&/^[A-Z_$][A-Za-z0-9_$]*Cell$/.test(e)}function Re(t){if(!t.label?.trim())return!1;let n=e(t.type??``);return n===`statictext`||n===`text`||n===`textview`}function ze(t,n,r,i,a){let o=e(r.type??``);if(o===`button`){H(y(t,n),i,a,r);return}if(o!==`cell`)return;let s=y(t,n);Be(s,r,i,a)||Ve(s,r,i,a)}function Be(e,t,n,r){let i=e.find(e=>Ue(e,t,n));if(!i)return!1;let a=e.find(e=>U(e,t,n)),o=i.identifier?void 0:a?.identifier??t.identifier;return o&&b(r.replacements,i,{identifier:o}),r.suppressNode(t,[i]),He(e,t,n,i,r),!0}function Ve(e,t,n,r){let i=e.find(e=>U(e,t,n));if(!i){e.some(p)&&H(e,n,r,t);return}!t.identifier&&i.identifier&&b(r.replacements,t,{identifier:i.identifier}),r.suppressNode(i,[t]),H(e.filter(e=>e.index!==i.index),n,r,t)}function He(e,t,n,r,i){for(let a of e)a.index!==r.index&&(U(a,t,n)||W(a,t)||We(a,r)||_(a,n))&&i.suppressNode(a,[r])}function H(e,t,n,r){for(let i of e)(_(i,t)||r&&W(i,r))&&n.suppressNode(i,r?[r]:[])}function U(t,n,r){if(e(t.type??``)!==`button`)return!1;let i=n.identifier?.trim(),a=t.identifier?.trim();return i&&a&&i===a?!0:t.label?.trim()===r&&d(t.rect,n.rect)}function W(t,n){return e(t.type??``)===`button`&&!t.label?.trim()&&!t.value?.trim()&&d(t.rect,n.rect)}function Ue(t,n,r){if(e(t.type??``)!==`switch`)return!1;let i=n.identifier?.trim(),a=t.identifier?.trim();return i&&a&&i===a?!0:t.label?.trim()===r}function We(t,n){if(e(t.type??``)!==`switch`||t.index===n.index)return!1;let r=t.label?.trim();return r===n.value?.trim()||r===`0`||r===`1`}const G=1.15;function Ge(e,t,n){let r=new Map(e.map((e,t)=>[e.index,t]));for(let[a,o]of e.entries()){let s=Ke(e,r,t,o,n);if(!s)continue;q(e,a,n);let c=J(s.shelfRect,2);for(let t of s.intermediateSiblings){if(tt(t)||!t.rect||!i(t.rect,c))continue;let a=r.get(t.index);a!==void 0&&q(e,a,n)}}}function Ke(e,t,n,r,i){let a=qe(r,n,i.sourceNodesByIndex);if(!a)return;let o=Xe(e,t,a.siblings,a.position,a.parent);if(!(o<0))return{shelfRect:a.rect,intermediateSiblings:a.siblings.slice(a.position+1,o)}}function qe(e,t,n){let r=Ze(e,K(t,e.index));if(!r)return;let i=Ye(e,n);if(!i||!i.rect)return;let a=K(t,i.index),o=a.findIndex(t=>t.index===e.index);if(Je(a,o,e,r))return{rect:r.rect,parent:i,siblings:a,position:o}}function K(e,t){return e.get(t)??[]}function Je(e,t,n,r){if(t<1)return!1;let i=Qe(e,t,n);return i?!r.childActionsPresented||!$e(i,r.actionButtons):!1}function Ye(e,t){return typeof e.parentIndex==`number`?t.get(e.parentIndex):void 0}function Xe(e,t,n,r,i){return n.findIndex((n,a)=>a>r&&et(e,t.get(n.index),n,i))}function Ze(t,n){if(!m(t.type)||!t.rect)return;let r=t.rect,i=n.filter(t=>e(t.type??``)===`button`&&t.rect);if(i.length===0&&t.hiddenContentBelow===!0)return{rect:r,childActionsPresented:!1,actionButtons:i};if(i.length<3)return;let o=i.map(e=>e.rect.x+e.rect.width/2);if(o.every((e,t)=>t===0||e>o[t-1]))return{rect:r,childActionsPresented:i.some(e=>a(r,e.rect)),actionButtons:i}}function Qe(e,t,n){if(!(!n.rect||t<1))for(let r=t-1;r>=0;--r){let t=e[r];if(!(!t.rect||!h(t))&&t.rect.x+t.rect.width/2<n.rect.x&&nt(t.rect,J(n.rect,2)))return t}}function $e(e,t){if(!e.rect||t.length===0)return!1;let n=Math.max(...t.map(e=>e.rect?.width??0)),r=Math.max(...t.map(e=>e.rect?.height??0));return e.rect.width>n*G||e.rect.height>r*G}function et(t,n,r,i){return n!==void 0&&e(r.type??``)===`other`&&d(r.rect,i.rect)&&!!x(t,n,h)}function q(e,t,n){let r=e[t];if(r){n.suppressNode(r,[]);for(let r of y(e,t))n.suppressNode(r,[])}}function tt(t){let n=e(t.type??``);return n===`textfield`||n===`securetextfield`||n===`searchfield`||n===`textview`}function J(e,t){return{x:e.x-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}function nt(e,t){return Math.max(e.y,t.y)<=Math.min(e.y+e.height,t.y+t.height)}function rt(e,t){let n=C(e);Ge(e,n,t),it(e,n,t)}function it(t,n,r){for(let i of t){if(e(i.type??``)!==`navigationbar`||!i.rect)continue;let t=n.get(i.index)??[],a=t.flatMap(e=>at(e,t,i.rect));if(a.length!==1)continue;let{field:o,title:s,image:c,label:l}=a[0];b(r.replacements,o,{type:`Button`,label:l,enabled:!0,hittable:void 0,rect:lt([c.rect,o.rect,s.rect])}),r.semanticRepresentativeIndexes.add(o.index),r.suppressNode(s,[o]),r.suppressNode(c,[o])}}function at(e,t,r){let i=n(e);if(!Y(e,i))return[];let a=X(t,e=>ot(e,i)),o=X(t,st);return a?.rect&&o?.rect&&ct(o.rect,e.rect,a.rect,r)?[{field:e,title:a,image:o,label:i}]:[]}function Y(t,n){return e(t.type??``)===`textfield`&&t.enabled===!1&&!!t.rect&&!!n&&t.value?.trim()===n}function ot(t,n){return e(t.type??``)===`statictext`&&t.label?.trim()===n&&!!t.rect}function st(t){return e(t.type??``)===`image`&&!!t.identifier?.trim()&&!!t.rect}function X(e,t){let n=e.filter(t);return n.length===1?n[0]:void 0}function ct(e,t,n,r){let i=t.x-(e.x+e.width),o=n.x-(t.x+t.width);return a(r,e)&&a(r,t)&&a(r,n)&&i>=0&&i<=12&&o>=0&&o<=12&&Z(e,t)&&Z(t,n)}function Z(e,t){return Math.max(e.y,t.y)<=Math.min(e.y+e.height,t.y+t.height)}function lt(e){let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y)),r=Math.max(...e.map(e=>e.x+e.width)),i=Math.max(...e.map(e=>e.y+e.height));return{x:t,y:n,width:r-t,height:i-n}}function ut(t,n){let r=C(t);for(let i of t){if(e(i.type??``)===`element(58)`){b(n.replacements,i,{type:`WebView`});continue}let t=dt(i,n.sourceNodesByIndex,r);if(t?.kind===`suppress`){n.suppressNode(i,[]);continue}t&&(b(n.replacements,i,{type:t.type,...t.type===`Heading`?{value:void 0}:{}}),n.semanticRepresentativeIndexes.add(i.index))}}function dt(t,n,r){if(e(t.type??``)!==`other`)return null;let i=f(t,n,mt),a=t.label?.trim();return!i||!a?null:pt(t,i,a)?{kind:`suppress`}:ft(t,a,r)?{kind:`semantic`,type:Q(t.value)?`Heading`:`StaticText`}:null}function ft(t,n,r){let i=r.get(t.index);if(i?.length!==1)return!1;let a=i[0];return e(a.type??``)===`statictext`&&a.label?.trim()===n&&!r.has(a.index)}function pt(e,t,n){return e.parentIndex===t.index&&t.label?.trim()===n&&!Q(e.value)}function mt(t){let n=e(t.type??``);return n===`webview`||n===`element(58)`}function Q(e){return/^[1-6]$/.test(e?.trim()??``)}const ht=[ut,rt,ie,Fe,Pe];function gt(e){if(e.length===0)return{nodes:e,presentedIndexesBySourceIndex:new Map};let t=new Map,n=new Map,r=new Set,i=new Map(e.map(e=>[e.index,e])),a=new Set,o={replacements:t,semanticRepresentativeIndexes:r,sourceNodesByIndex:i,isSuppressed:e=>a.has(e.index),suppressNode(e,t){if(a.add(e.index),t.length===0)return;let r=n.get(e.index)??new Set;for(let e of t)r.add(e.index);n.set(e.index,r)}};for(let t of ht)t(e,o);if(a.size===0&&t.size===0)return{nodes:e,presentedIndexesBySourceIndex:new Map(e.map(e=>[e.index,[e.index]]))};let s=e.filter(e=>!a.has(e.index)).map(e=>t.get(e.index)??e),c=ne(s,a,e),l=new Map(s.map((e,t)=>[e.index,c[t].index]));return{nodes:c,presentedIndexesBySourceIndex:new Map(e.map(e=>[e.index,$(e.index,l,n)]))}}function $(e,t,n,r=new Set){let i=t.get(e);if(i!==void 0)return[i];if(r.has(e))return[];r.add(e);let a=new Set;for(let i of n.get(e)??[])for(let e of $(i,t,n,r))a.add(e);return[...a].sort((e,t)=>e-t)}export{gt as t};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-device",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.11",
|
|
4
4
|
"description": "Mobile app automation and verification for AI coding agents. CLI, MCP server, and typed Node.js API for iOS, Android, HarmonyOS, TV, web, macOS, and Linux.",
|
|
5
5
|
"mcpName": "io.github.callstack/agent-device",
|
|
6
6
|
"license": "MIT",
|
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"url": "https://github.com/callstack/agent-device",
|
|
8
8
|
"source": "github"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.21.
|
|
10
|
+
"version": "0.21.11",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "agent-device",
|
|
15
|
-
"version": "0.21.
|
|
15
|
+
"version": "0.21.11",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
aec1ff954e40d92b272468af464ff4e644553adb529df11d819790508cb3f29b agent-device-android-ime-helper-0.21.10.apk
|
package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.21.10.apk.sha256
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
cb1d8c36032a702eabee81252ed4a722c76bb3d59d497eb258f67fdfc091fe2a agent-device-android-snapshot-helper-0.21.10.apk
|