@mobilerun/sdk 5.6.0 → 6.0.1

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.
Files changed (379) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +0 -9
  3. package/client.d.mts +8 -26
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +8 -26
  6. package/client.d.ts.map +1 -1
  7. package/client.js +0 -18
  8. package/client.js.map +1 -1
  9. package/client.mjs +0 -18
  10. package/client.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/resources/apps.d.mts +30 -20
  13. package/resources/apps.d.mts.map +1 -1
  14. package/resources/apps.d.ts +30 -20
  15. package/resources/apps.d.ts.map +1 -1
  16. package/resources/apps.js +20 -10
  17. package/resources/apps.js.map +1 -1
  18. package/resources/apps.mjs +20 -10
  19. package/resources/apps.mjs.map +1 -1
  20. package/resources/assistant/conversations.d.mts +19 -0
  21. package/resources/assistant/conversations.d.mts.map +1 -1
  22. package/resources/assistant/conversations.d.ts +19 -0
  23. package/resources/assistant/conversations.d.ts.map +1 -1
  24. package/resources/connect/proxies.d.mts +8 -6
  25. package/resources/connect/proxies.d.mts.map +1 -1
  26. package/resources/connect/proxies.d.ts +8 -6
  27. package/resources/connect/proxies.d.ts.map +1 -1
  28. package/resources/connect/proxies.js +6 -4
  29. package/resources/connect/proxies.js.map +1 -1
  30. package/resources/connect/proxies.mjs +6 -4
  31. package/resources/connect/proxies.mjs.map +1 -1
  32. package/resources/connect/users.d.mts +4 -4
  33. package/resources/connect/users.d.ts +4 -4
  34. package/resources/connect/users.js +2 -2
  35. package/resources/connect/users.mjs +2 -2
  36. package/resources/devices/actions.d.mts +25 -5
  37. package/resources/devices/actions.d.mts.map +1 -1
  38. package/resources/devices/actions.d.ts +25 -5
  39. package/resources/devices/actions.d.ts.map +1 -1
  40. package/resources/devices/actions.js +5 -3
  41. package/resources/devices/actions.js.map +1 -1
  42. package/resources/devices/actions.mjs +5 -3
  43. package/resources/devices/actions.mjs.map +1 -1
  44. package/resources/devices/apps.d.mts +25 -10
  45. package/resources/devices/apps.d.mts.map +1 -1
  46. package/resources/devices/apps.d.ts +25 -10
  47. package/resources/devices/apps.d.ts.map +1 -1
  48. package/resources/devices/apps.js +12 -10
  49. package/resources/devices/apps.js.map +1 -1
  50. package/resources/devices/apps.mjs +12 -10
  51. package/resources/devices/apps.mjs.map +1 -1
  52. package/resources/devices/devices.d.mts +60 -22
  53. package/resources/devices/devices.d.mts.map +1 -1
  54. package/resources/devices/devices.d.ts +60 -22
  55. package/resources/devices/devices.d.ts.map +1 -1
  56. package/resources/devices/devices.js +25 -16
  57. package/resources/devices/devices.js.map +1 -1
  58. package/resources/devices/devices.mjs +25 -16
  59. package/resources/devices/devices.mjs.map +1 -1
  60. package/resources/devices/index.d.mts +3 -3
  61. package/resources/devices/index.d.mts.map +1 -1
  62. package/resources/devices/index.d.ts +3 -3
  63. package/resources/devices/index.d.ts.map +1 -1
  64. package/resources/devices/index.js +3 -3
  65. package/resources/devices/index.js.map +1 -1
  66. package/resources/devices/index.mjs +1 -1
  67. package/resources/devices/index.mjs.map +1 -1
  68. package/resources/devices/keyboard.d.mts +8 -2
  69. package/resources/devices/keyboard.d.mts.map +1 -1
  70. package/resources/devices/keyboard.d.ts +8 -2
  71. package/resources/devices/keyboard.d.ts.map +1 -1
  72. package/resources/devices/recordings.d.mts +28 -7
  73. package/resources/devices/recordings.d.mts.map +1 -1
  74. package/resources/devices/recordings.d.ts +28 -7
  75. package/resources/devices/recordings.d.ts.map +1 -1
  76. package/resources/devices/recordings.js +9 -0
  77. package/resources/devices/recordings.js.map +1 -1
  78. package/resources/devices/recordings.mjs +9 -0
  79. package/resources/devices/recordings.mjs.map +1 -1
  80. package/resources/devices/screenshots.d.mts +72 -0
  81. package/resources/devices/screenshots.d.mts.map +1 -0
  82. package/resources/devices/screenshots.d.ts +72 -0
  83. package/resources/devices/screenshots.d.ts.map +1 -0
  84. package/resources/devices/screenshots.js +57 -0
  85. package/resources/devices/screenshots.js.map +1 -0
  86. package/resources/devices/screenshots.mjs +53 -0
  87. package/resources/devices/screenshots.mjs.map +1 -0
  88. package/resources/devices/state.d.mts +11 -2
  89. package/resources/devices/state.d.mts.map +1 -1
  90. package/resources/devices/state.d.ts +11 -2
  91. package/resources/devices/state.d.ts.map +1 -1
  92. package/resources/devices/state.js +5 -2
  93. package/resources/devices/state.js.map +1 -1
  94. package/resources/devices/state.mjs +5 -2
  95. package/resources/devices/state.mjs.map +1 -1
  96. package/resources/files.d.mts +3 -3
  97. package/resources/files.d.ts +3 -3
  98. package/resources/files.js +3 -3
  99. package/resources/files.mjs +3 -3
  100. package/resources/index.d.mts +4 -9
  101. package/resources/index.d.mts.map +1 -1
  102. package/resources/index.d.ts +4 -9
  103. package/resources/index.d.ts.map +1 -1
  104. package/resources/index.js +1 -11
  105. package/resources/index.js.map +1 -1
  106. package/resources/index.mjs +0 -5
  107. package/resources/index.mjs.map +1 -1
  108. package/resources/mailboxes/connections.d.mts +4 -10
  109. package/resources/mailboxes/connections.d.mts.map +1 -1
  110. package/resources/mailboxes/connections.d.ts +4 -10
  111. package/resources/mailboxes/connections.d.ts.map +1 -1
  112. package/resources/mailboxes/connections.js +3 -4
  113. package/resources/mailboxes/connections.js.map +1 -1
  114. package/resources/mailboxes/connections.mjs +3 -4
  115. package/resources/mailboxes/connections.mjs.map +1 -1
  116. package/resources/mailboxes/mailboxes.d.mts +5 -4
  117. package/resources/mailboxes/mailboxes.d.mts.map +1 -1
  118. package/resources/mailboxes/mailboxes.d.ts +5 -4
  119. package/resources/mailboxes/mailboxes.d.ts.map +1 -1
  120. package/resources/mailboxes/mailboxes.js +5 -4
  121. package/resources/mailboxes/mailboxes.js.map +1 -1
  122. package/resources/mailboxes/mailboxes.mjs +5 -4
  123. package/resources/mailboxes/mailboxes.mjs.map +1 -1
  124. package/resources/messages/messages.d.mts +12 -0
  125. package/resources/messages/messages.d.mts.map +1 -1
  126. package/resources/messages/messages.d.ts +12 -0
  127. package/resources/messages/messages.d.ts.map +1 -1
  128. package/resources/messages/messages.js.map +1 -1
  129. package/resources/messages/messages.mjs.map +1 -1
  130. package/resources/models.d.mts +12 -23
  131. package/resources/models.d.mts.map +1 -1
  132. package/resources/models.d.ts +12 -23
  133. package/resources/models.d.ts.map +1 -1
  134. package/resources/models.js +3 -4
  135. package/resources/models.js.map +1 -1
  136. package/resources/models.mjs +3 -4
  137. package/resources/models.mjs.map +1 -1
  138. package/resources/numbers/index.d.mts +1 -1
  139. package/resources/numbers/index.d.mts.map +1 -1
  140. package/resources/numbers/index.d.ts +1 -1
  141. package/resources/numbers/index.d.ts.map +1 -1
  142. package/resources/numbers/index.js.map +1 -1
  143. package/resources/numbers/index.mjs.map +1 -1
  144. package/resources/numbers/messages.d.mts +23 -14
  145. package/resources/numbers/messages.d.mts.map +1 -1
  146. package/resources/numbers/messages.d.ts +23 -14
  147. package/resources/numbers/messages.d.ts.map +1 -1
  148. package/resources/numbers/messages.js +9 -7
  149. package/resources/numbers/messages.js.map +1 -1
  150. package/resources/numbers/messages.mjs +9 -7
  151. package/resources/numbers/messages.mjs.map +1 -1
  152. package/resources/numbers/numbers.d.mts +136 -32
  153. package/resources/numbers/numbers.d.mts.map +1 -1
  154. package/resources/numbers/numbers.d.ts +136 -32
  155. package/resources/numbers/numbers.d.ts.map +1 -1
  156. package/resources/numbers/numbers.js +1 -12
  157. package/resources/numbers/numbers.js.map +1 -1
  158. package/resources/numbers/numbers.mjs +1 -12
  159. package/resources/numbers/numbers.mjs.map +1 -1
  160. package/resources/proxies.d.mts +1 -87
  161. package/resources/proxies.d.mts.map +1 -1
  162. package/resources/proxies.d.ts +1 -87
  163. package/resources/proxies.d.ts.map +1 -1
  164. package/resources/proxies.js +0 -6
  165. package/resources/proxies.js.map +1 -1
  166. package/resources/proxies.mjs +0 -6
  167. package/resources/proxies.mjs.map +1 -1
  168. package/resources/tasks/tasks.d.mts +42 -138
  169. package/resources/tasks/tasks.d.mts.map +1 -1
  170. package/resources/tasks/tasks.d.ts +42 -138
  171. package/resources/tasks/tasks.d.ts.map +1 -1
  172. package/resources/tasks/tasks.js.map +1 -1
  173. package/resources/tasks/tasks.mjs.map +1 -1
  174. package/resources/webhooks/index.d.mts +1 -1
  175. package/resources/webhooks/index.d.mts.map +1 -1
  176. package/resources/webhooks/index.d.ts +1 -1
  177. package/resources/webhooks/index.d.ts.map +1 -1
  178. package/resources/webhooks/index.js.map +1 -1
  179. package/resources/webhooks/index.mjs.map +1 -1
  180. package/resources/webhooks/webhooks.d.mts +7 -43
  181. package/resources/webhooks/webhooks.d.mts.map +1 -1
  182. package/resources/webhooks/webhooks.d.ts +7 -43
  183. package/resources/webhooks/webhooks.d.ts.map +1 -1
  184. package/resources/webhooks/webhooks.js +6 -9
  185. package/resources/webhooks/webhooks.js.map +1 -1
  186. package/resources/webhooks/webhooks.mjs +6 -9
  187. package/resources/webhooks/webhooks.mjs.map +1 -1
  188. package/resources/workflows/events.d.mts +6 -2
  189. package/resources/workflows/events.d.mts.map +1 -1
  190. package/resources/workflows/events.d.ts +6 -2
  191. package/resources/workflows/events.d.ts.map +1 -1
  192. package/resources/workflows/executions/executions.d.mts +37 -31
  193. package/resources/workflows/executions/executions.d.mts.map +1 -1
  194. package/resources/workflows/executions/executions.d.ts +37 -31
  195. package/resources/workflows/executions/executions.d.ts.map +1 -1
  196. package/resources/workflows/executions/executions.js +2 -2
  197. package/resources/workflows/executions/executions.js.map +1 -1
  198. package/resources/workflows/executions/executions.mjs +2 -2
  199. package/resources/workflows/executions/executions.mjs.map +1 -1
  200. package/resources/workflows/flows/flows.d.mts +90 -34
  201. package/resources/workflows/flows/flows.d.mts.map +1 -1
  202. package/resources/workflows/flows/flows.d.ts +90 -34
  203. package/resources/workflows/flows/flows.d.ts.map +1 -1
  204. package/resources/workflows/flows/flows.js +15 -14
  205. package/resources/workflows/flows/flows.js.map +1 -1
  206. package/resources/workflows/flows/flows.mjs +15 -14
  207. package/resources/workflows/flows/flows.mjs.map +1 -1
  208. package/resources/workflows/flows/index.d.mts +1 -1
  209. package/resources/workflows/flows/index.d.mts.map +1 -1
  210. package/resources/workflows/flows/index.d.ts +1 -1
  211. package/resources/workflows/flows/index.d.ts.map +1 -1
  212. package/resources/workflows/flows/index.js.map +1 -1
  213. package/resources/workflows/flows/index.mjs.map +1 -1
  214. package/resources/workflows/index.d.mts +1 -1
  215. package/resources/workflows/index.d.mts.map +1 -1
  216. package/resources/workflows/index.d.ts +1 -1
  217. package/resources/workflows/index.d.ts.map +1 -1
  218. package/resources/workflows/index.js.map +1 -1
  219. package/resources/workflows/index.mjs.map +1 -1
  220. package/resources/workflows/triggers.d.mts +10 -13
  221. package/resources/workflows/triggers.d.mts.map +1 -1
  222. package/resources/workflows/triggers.d.ts +10 -13
  223. package/resources/workflows/triggers.d.ts.map +1 -1
  224. package/resources/workflows/triggers.js +6 -8
  225. package/resources/workflows/triggers.js.map +1 -1
  226. package/resources/workflows/triggers.mjs +6 -8
  227. package/resources/workflows/triggers.mjs.map +1 -1
  228. package/resources/workflows/workflows.d.mts +2 -2
  229. package/resources/workflows/workflows.d.mts.map +1 -1
  230. package/resources/workflows/workflows.d.ts +2 -2
  231. package/resources/workflows/workflows.d.ts.map +1 -1
  232. package/resources/workflows/workflows.js.map +1 -1
  233. package/resources/workflows/workflows.mjs.map +1 -1
  234. package/src/client.ts +2 -106
  235. package/src/resources/apps.ts +30 -20
  236. package/src/resources/assistant/conversations.ts +26 -0
  237. package/src/resources/connect/proxies.ts +8 -6
  238. package/src/resources/connect/users.ts +4 -4
  239. package/src/resources/devices/actions.ts +28 -5
  240. package/src/resources/devices/apps.ts +30 -10
  241. package/src/resources/devices/devices.ts +92 -37
  242. package/src/resources/devices/index.ts +12 -9
  243. package/src/resources/devices/keyboard.ts +9 -2
  244. package/src/resources/devices/recordings.ts +44 -6
  245. package/src/resources/devices/screenshots.ts +140 -0
  246. package/src/resources/devices/state.ts +12 -2
  247. package/src/resources/files.ts +3 -3
  248. package/src/resources/index.ts +1 -44
  249. package/src/resources/mailboxes/connections.ts +4 -11
  250. package/src/resources/mailboxes/mailboxes.ts +5 -4
  251. package/src/resources/messages/messages.ts +16 -0
  252. package/src/resources/models.ts +16 -23
  253. package/src/resources/numbers/index.ts +0 -1
  254. package/src/resources/numbers/messages.ts +27 -15
  255. package/src/resources/numbers/numbers.ts +155 -40
  256. package/src/resources/proxies.ts +0 -110
  257. package/src/resources/tasks/tasks.ts +46 -138
  258. package/src/resources/webhooks/index.ts +0 -1
  259. package/src/resources/webhooks/webhooks.ts +6 -60
  260. package/src/resources/workflows/events.ts +7 -2
  261. package/src/resources/workflows/executions/executions.ts +39 -31
  262. package/src/resources/workflows/flows/flows.ts +104 -34
  263. package/src/resources/workflows/flows/index.ts +1 -0
  264. package/src/resources/workflows/index.ts +1 -0
  265. package/src/resources/workflows/triggers.ts +10 -13
  266. package/src/resources/workflows/workflows.ts +2 -0
  267. package/src/version.ts +1 -1
  268. package/version.d.mts +1 -1
  269. package/version.d.ts +1 -1
  270. package/version.js +1 -1
  271. package/version.mjs +1 -1
  272. package/resources/app-events/app-events.d.mts +0 -81
  273. package/resources/app-events/app-events.d.mts.map +0 -1
  274. package/resources/app-events/app-events.d.ts +0 -81
  275. package/resources/app-events/app-events.d.ts.map +0 -1
  276. package/resources/app-events/app-events.js +0 -33
  277. package/resources/app-events/app-events.js.map +0 -1
  278. package/resources/app-events/app-events.mjs +0 -28
  279. package/resources/app-events/app-events.mjs.map +0 -1
  280. package/resources/app-events/catalog.d.mts +0 -64
  281. package/resources/app-events/catalog.d.mts.map +0 -1
  282. package/resources/app-events/catalog.d.ts +0 -64
  283. package/resources/app-events/catalog.d.ts.map +0 -1
  284. package/resources/app-events/catalog.js +0 -25
  285. package/resources/app-events/catalog.js.map +0 -1
  286. package/resources/app-events/catalog.mjs +0 -21
  287. package/resources/app-events/catalog.mjs.map +0 -1
  288. package/resources/app-events/index.d.mts +0 -3
  289. package/resources/app-events/index.d.mts.map +0 -1
  290. package/resources/app-events/index.d.ts +0 -3
  291. package/resources/app-events/index.d.ts.map +0 -1
  292. package/resources/app-events/index.js +0 -9
  293. package/resources/app-events/index.js.map +0 -1
  294. package/resources/app-events/index.mjs +0 -4
  295. package/resources/app-events/index.mjs.map +0 -1
  296. package/resources/app-events.d.mts +0 -2
  297. package/resources/app-events.d.mts.map +0 -1
  298. package/resources/app-events.d.ts +0 -2
  299. package/resources/app-events.d.ts.map +0 -1
  300. package/resources/app-events.js +0 -6
  301. package/resources/app-events.js.map +0 -1
  302. package/resources/app-events.mjs +0 -3
  303. package/resources/app-events.mjs.map +0 -1
  304. package/resources/carriers.d.mts +0 -331
  305. package/resources/carriers.d.mts.map +0 -1
  306. package/resources/carriers.d.ts +0 -331
  307. package/resources/carriers.d.ts.map +0 -1
  308. package/resources/carriers.js +0 -46
  309. package/resources/carriers.js.map +0 -1
  310. package/resources/carriers.mjs +0 -42
  311. package/resources/carriers.mjs.map +0 -1
  312. package/resources/devices/media-sessions.d.mts +0 -96
  313. package/resources/devices/media-sessions.d.mts.map +0 -1
  314. package/resources/devices/media-sessions.d.ts +0 -96
  315. package/resources/devices/media-sessions.d.ts.map +0 -1
  316. package/resources/devices/media-sessions.js +0 -50
  317. package/resources/devices/media-sessions.js.map +0 -1
  318. package/resources/devices/media-sessions.mjs +0 -46
  319. package/resources/devices/media-sessions.mjs.map +0 -1
  320. package/resources/notifications.d.mts +0 -112
  321. package/resources/notifications.d.mts.map +0 -1
  322. package/resources/notifications.d.ts +0 -112
  323. package/resources/notifications.d.ts.map +0 -1
  324. package/resources/notifications.js +0 -72
  325. package/resources/notifications.js.map +0 -1
  326. package/resources/notifications.mjs +0 -68
  327. package/resources/notifications.mjs.map +0 -1
  328. package/resources/profiles.d.mts +0 -147
  329. package/resources/profiles.d.mts.map +0 -1
  330. package/resources/profiles.d.ts +0 -147
  331. package/resources/profiles.d.ts.map +0 -1
  332. package/resources/profiles.js +0 -40
  333. package/resources/profiles.js.map +0 -1
  334. package/resources/profiles.mjs +0 -36
  335. package/resources/profiles.mjs.map +0 -1
  336. package/resources/store/apps.d.mts +0 -140
  337. package/resources/store/apps.d.mts.map +0 -1
  338. package/resources/store/apps.d.ts +0 -140
  339. package/resources/store/apps.d.ts.map +0 -1
  340. package/resources/store/apps.js +0 -31
  341. package/resources/store/apps.js.map +0 -1
  342. package/resources/store/apps.mjs +0 -27
  343. package/resources/store/apps.mjs.map +0 -1
  344. package/resources/store/index.d.mts +0 -3
  345. package/resources/store/index.d.mts.map +0 -1
  346. package/resources/store/index.d.ts +0 -3
  347. package/resources/store/index.d.ts.map +0 -1
  348. package/resources/store/index.js +0 -9
  349. package/resources/store/index.js.map +0 -1
  350. package/resources/store/index.mjs +0 -4
  351. package/resources/store/index.mjs.map +0 -1
  352. package/resources/store/store.d.mts +0 -20
  353. package/resources/store/store.d.mts.map +0 -1
  354. package/resources/store/store.d.ts +0 -20
  355. package/resources/store/store.d.ts.map +0 -1
  356. package/resources/store/store.js +0 -23
  357. package/resources/store/store.js.map +0 -1
  358. package/resources/store/store.mjs +0 -18
  359. package/resources/store/store.mjs.map +0 -1
  360. package/resources/store.d.mts +0 -2
  361. package/resources/store.d.mts.map +0 -1
  362. package/resources/store.d.ts +0 -2
  363. package/resources/store.d.ts.map +0 -1
  364. package/resources/store.js +0 -6
  365. package/resources/store.js.map +0 -1
  366. package/resources/store.mjs +0 -3
  367. package/resources/store.mjs.map +0 -1
  368. package/src/resources/app-events/app-events.ts +0 -133
  369. package/src/resources/app-events/catalog.ts +0 -100
  370. package/src/resources/app-events/index.ts +0 -9
  371. package/src/resources/app-events.ts +0 -3
  372. package/src/resources/carriers.ts +0 -508
  373. package/src/resources/devices/media-sessions.ts +0 -168
  374. package/src/resources/notifications.ts +0 -155
  375. package/src/resources/profiles.ts +0 -232
  376. package/src/resources/store/apps.ts +0 -993
  377. package/src/resources/store/index.ts +0 -10
  378. package/src/resources/store/store.ts +0 -36
  379. package/src/resources/store.ts +0 -3
@@ -79,16 +79,18 @@ export class Apps extends APIResource {
79
79
 
80
80
  /**
81
81
  * Requests an app install on the device. The request body must supply exactly one
82
- * of an Android packageName or an iOS bundleId; optional country and versionCode
83
- * select an exact regional uploaded Android version, and protected packages are
84
- * rejected. background (default false) selects the response contract: false
85
- * installs inline and returns the outcome directly (200 on success, an error
86
- * status on failure); true accepts the request and runs the download + install in
87
- * the background, returning 202 immediately — poll list-app-installs for the
88
- * backend's view of that attempt's status. Refuses with 409 once 2 other installs
89
- * are already running on the device, in either mode; a repeat request for an app
90
- * that already has an install running is also refused with 409 rather than
91
- * superseding it — retry once that attempt reaches a terminal state.
82
+ * of an Android packageName or an iOS bundleId. For packageName installs, optional
83
+ * country and versionCode select an exact regional uploaded Android version, and
84
+ * protected packages are rejected. background (default false) selects the response
85
+ * contract: false installs inline and returns the outcome directly (200 on
86
+ * success, an error status on failure); true accepts the request and runs the
87
+ * download + install in the background, returning 202 immediately — poll
88
+ * list-app-installs for the backend's view of that attempt's status. Refuses with
89
+ * 409 once 2 other installs are already running on the device, in either mode; a
90
+ * repeat request for an app that already has an install running is also refused
91
+ * with 409 rather than superseding it — retry once that attempt reaches a terminal
92
+ * state. Synchronous failures report APP_DOWNLOAD_FAILED (502) when the app file
93
+ * cannot be downloaded or APP_INSTALL_TIMEOUT (504) when the install times out.
92
94
  */
93
95
  install(deviceID: string, params: AppInstallParams, options?: RequestOptions): APIPromise<void> {
94
96
  const { 'X-Device-Display-ID': xDeviceDisplayID, ...body } = params;
@@ -215,6 +217,18 @@ export namespace AppListResponse {
215
217
  versionCode: number;
216
218
 
217
219
  versionName: string;
220
+
221
+ availableUpdate?: AppListResponseItem.AvailableUpdate;
222
+ }
223
+
224
+ export namespace AppListResponseItem {
225
+ export interface AvailableUpdate {
226
+ country: string;
227
+
228
+ versionCode: number;
229
+
230
+ versionName: string;
231
+ }
218
232
  }
219
233
  }
220
234
 
@@ -267,6 +281,12 @@ export interface AppListParams {
267
281
  */
268
282
  includeSystemApps?: boolean;
269
283
 
284
+ /**
285
+ * Query param: Resolve availableUpdate for Android user apps (one library lookup
286
+ * per app). Off by default.
287
+ */
288
+ includeUpdates?: boolean;
289
+
270
290
  /**
271
291
  * Header param
272
292
  */
@@ -50,16 +50,6 @@ import * as LanguageAPI from './language';
50
50
  import { Language, LanguageGetParams, LanguageGetResponse, LanguageSetParams } from './language';
51
51
  import * as LocationAPI from './location';
52
52
  import { Location, LocationGetParams, LocationResetParams, LocationSetParams } from './location';
53
- import * as MediaSessionsAPI from './media-sessions';
54
- import {
55
- MediaSessionActivateParams,
56
- MediaSessionActivateResponse,
57
- MediaSessionCreateParams,
58
- MediaSessionCreateResponse,
59
- MediaSessionDeleteParams,
60
- MediaSessionRetrieveCurrentResponse,
61
- MediaSessions,
62
- } from './media-sessions';
63
53
  import * as PackagesAPI from './packages';
64
54
  import { PackageListParams, PackageListResponse, Packages } from './packages';
65
55
  import * as ProfileAPI from './profile';
@@ -77,6 +67,8 @@ import {
77
67
  RecordingDeleteParams,
78
68
  RecordingListParams,
79
69
  RecordingListResponse,
70
+ RecordingScreenshotsParams,
71
+ RecordingScreenshotsResponse,
80
72
  RecordingStartParams,
81
73
  RecordingStartResponse,
82
74
  RecordingStatusParams,
@@ -87,6 +79,16 @@ import {
87
79
  RecordingVideoParams,
88
80
  Recordings,
89
81
  } from './recordings';
82
+ import * as ScreenshotsAPI from './screenshots';
83
+ import {
84
+ ScreenshotCaptureParams,
85
+ ScreenshotCaptureResponse,
86
+ ScreenshotDeleteParams,
87
+ ScreenshotImageParams,
88
+ ScreenshotListParams,
89
+ ScreenshotListResponse,
90
+ Screenshots,
91
+ } from './screenshots';
90
92
  import * as StateAPI from './state';
91
93
  import {
92
94
  A11YNode,
@@ -142,6 +144,7 @@ export class Devices extends APIResource {
142
144
  packages: PackagesAPI.Packages = new PackagesAPI.Packages(this._client);
143
145
  profile: ProfileAPI.Profile = new ProfileAPI.Profile(this._client);
144
146
  proxy: ProxyAPI.Proxy = new ProxyAPI.Proxy(this._client);
147
+ screenshots: ScreenshotsAPI.Screenshots = new ScreenshotsAPI.Screenshots(this._client);
145
148
  state: StateAPI.State = new StateAPI.State(this._client);
146
149
  tasks: TasksAPI.Tasks = new TasksAPI.Tasks(this._client);
147
150
  clipboard: ClipboardAPI.Clipboard = new ClipboardAPI.Clipboard(this._client);
@@ -150,7 +153,6 @@ export class Devices extends APIResource {
150
153
  deepLink: DeepLinkAPI.DeepLink = new DeepLinkAPI.DeepLink(this._client);
151
154
  browser: BrowserAPI.Browser = new BrowserAPI.Browser(this._client);
152
155
  kiosk: KioskAPI.Kiosk = new KioskAPI.Kiosk(this._client);
153
- mediaSessions: MediaSessionsAPI.MediaSessions = new MediaSessionsAPI.MediaSessions(this._client);
154
156
  recordings: RecordingsAPI.Recordings = new RecordingsAPI.Recordings(this._client);
155
157
  trafficSessions: TrafficSessionsAPI.TrafficSessions = new TrafficSessionsAPI.TrafficSessions(this._client);
156
158
 
@@ -180,6 +182,10 @@ export class Devices extends APIResource {
180
182
 
181
183
  /**
182
184
  * Returns a paginated list of the user's devices along with pagination metadata.
185
+ * By default every device except terminated and unknown-state ones is listed,
186
+ * including stopped and maintenance devices; narrow with e.g. `state=ready` or
187
+ * `state=stopped,maintenance`, and pass `state=terminated` or `state=unknown` to
188
+ * see those.
183
189
  */
184
190
  list(
185
191
  query: DeviceListParams | null | undefined = {},
@@ -235,12 +241,24 @@ export class Devices extends APIResource {
235
241
  }
236
242
 
237
243
  /**
238
- * Resets the device back to a clean state, clearing installed apps and user data
239
- * accumulated during the session. The device transitions through its reset
240
- * lifecycle before becoming ready again.
244
+ * Resets the device. The optional body `mode` selects what is erased: `full` is a
245
+ * factory reset that erases installed apps, accounts and storage and gives the
246
+ * device a new identity; `identity` gives the device a new fingerprint and keeps
247
+ * its apps and data. When `mode` is omitted the reset is `full`, or `identity` on
248
+ * devices whose capabilities report `factoryReset=false`. A mode the device does
249
+ * not support (see `factoryReset` / `identityReset` in the device capabilities) is
250
+ * refused with 400 `DEVICE_TOOL_UNSUPPORTED`; legacy devices accept an explicit
251
+ * mode only when it is the one their capabilities advertise, and always accept a
252
+ * reset without a mode. The device transitions through its reset lifecycle before
253
+ * becoming ready again.
241
254
  */
242
- reset(deviceID: string, options?: RequestOptions): APIPromise<void> {
255
+ reset(
256
+ deviceID: string,
257
+ body: DeviceResetParams | null | undefined = {},
258
+ options?: RequestOptions,
259
+ ): APIPromise<void> {
243
260
  return this._client.post(path`/devices/${deviceID}/reset`, {
261
+ body,
244
262
  ...options,
245
263
  headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
246
264
  });
@@ -259,11 +277,8 @@ export class Devices extends APIResource {
259
277
  }
260
278
 
261
279
  /**
262
- * Returns the set of capabilities supported by this device. For a legacy device
263
- * this reflects the live instance's actual tools rather than its static type; for
264
- * a core-managed device it is resolved from provider/pool configuration without
265
- * guaranteeing a live instance. Used to determine which tools and features are
266
- * available for the device.
280
+ * Returns the set of capabilities supported by this device. Used to determine
281
+ * which tools and features are available for the device.
267
282
  */
268
283
  retrieveCapabilities(
269
284
  deviceID: string,
@@ -308,9 +323,9 @@ export class Devices extends APIResource {
308
323
  }
309
324
 
310
325
  /**
311
- * Terminates the device and releases its resources. Termination can be scheduled
312
- * for a future time or chained from a previous device via the request body, in
313
- * which case a service key is required.
326
+ * Terminates the device and releases its resources. The optional `terminateAt` and
327
+ * `previousDeviceId` body fields are not available to API-key callers; requests
328
+ * that set them are rejected with 401.
314
329
  */
315
330
  terminate(
316
331
  deviceID: string,
@@ -570,6 +585,8 @@ export namespace DeviceRetrieveCapabilitiesResponse {
570
585
 
571
586
  esim: boolean;
572
587
 
588
+ factoryReset: boolean;
589
+
573
590
  files: boolean;
574
591
 
575
592
  fingerprint: boolean;
@@ -580,6 +597,8 @@ export namespace DeviceRetrieveCapabilitiesResponse {
580
597
 
581
598
  humanTouch: boolean;
582
599
 
600
+ identityReset: boolean;
601
+
583
602
  language: boolean;
584
603
 
585
604
  logcat: boolean;
@@ -603,6 +622,8 @@ export namespace DeviceRetrieveCapabilitiesResponse {
603
622
  time: boolean;
604
623
 
605
624
  trafficInspection: boolean;
625
+
626
+ mediaInjectionTransport?: 'direct';
606
627
  }
607
628
  }
608
629
 
@@ -848,20 +869,30 @@ export namespace DeviceCreateParams {
848
869
  export interface DeviceListParams {
849
870
  country?: string;
850
871
 
872
+ /**
873
+ * Include devices created at or after this RFC3339 timestamp.
874
+ */
875
+ createdAfter?: string;
876
+
877
+ /**
878
+ * Include devices created before this RFC3339 timestamp (exclusive). Must be later
879
+ * than createdAfter when both are set.
880
+ */
881
+ createdBefore?: string;
882
+
851
883
  /**
852
884
  * Filter to devices created by this user id. Mutually exclusive with mine.
853
885
  */
854
886
  createdBy?: string;
855
887
 
856
888
  /**
857
- * When true, only return devices created by the calling user (resolved from
858
- * X-User-ID, never a client-supplied id).
889
+ * When true, only return devices created by the authenticated caller.
859
890
  */
860
891
  mine?: boolean;
861
892
 
862
893
  name?: string;
863
894
 
864
- orderBy?: 'id' | 'createdAt' | 'updatedAt' | 'assignedAt';
895
+ orderBy?: 'id' | 'createdAt' | 'updatedAt' | 'assignedAt' | 'gridPosition';
865
896
 
866
897
  orderByDirection?: 'asc' | 'desc';
867
898
 
@@ -877,6 +908,17 @@ export interface DeviceListParams {
877
908
 
878
909
  providerId?: string;
879
910
 
911
+ /**
912
+ * Case-insensitive search: matches devices whose name contains the term or whose
913
+ * ID starts with it. Combined with all other filters.
914
+ */
915
+ search?: string;
916
+
917
+ /**
918
+ * Filter by current device state. Comma-separated (state=ready,stopped). Defaults
919
+ * to every state except terminated and unknown, so stopped and maintenance devices
920
+ * are listed; pass state=terminated or state=unknown to see those.
921
+ */
880
922
  state?: Array<
881
923
  | 'creating'
882
924
  | 'assigned'
@@ -907,6 +949,16 @@ export interface DeviceFingerprintParams {
907
949
  'X-Device-Display-ID'?: number;
908
950
  }
909
951
 
952
+ export interface DeviceResetParams {
953
+ /**
954
+ * What to erase. full: factory reset — erases the user data (apps, accounts,
955
+ * storage) and gives the device a new identity. identity: new device fingerprint,
956
+ * apps and data are kept. When omitted: full, or identity on devices whose
957
+ * capabilities report factoryReset=false.
958
+ */
959
+ mode?: 'full' | 'identity';
960
+ }
961
+
910
962
  export interface DeviceSetNameParams {
911
963
  name: string;
912
964
  }
@@ -941,6 +993,7 @@ Devices.Location = Location;
941
993
  Devices.Packages = Packages;
942
994
  Devices.Profile = Profile;
943
995
  Devices.Proxy = ProxyAPIProxy;
996
+ Devices.Screenshots = Screenshots;
944
997
  Devices.State = State;
945
998
  Devices.Tasks = Tasks;
946
999
  Devices.Clipboard = Clipboard;
@@ -949,7 +1002,6 @@ Devices.Language = Language;
949
1002
  Devices.DeepLink = DeepLink;
950
1003
  Devices.Browser = Browser;
951
1004
  Devices.Kiosk = Kiosk;
952
- Devices.MediaSessions = MediaSessions;
953
1005
  Devices.Recordings = Recordings;
954
1006
  Devices.TrafficSessions = TrafficSessions;
955
1007
 
@@ -967,6 +1019,7 @@ export declare namespace Devices {
967
1019
  type DeviceCreateParams as DeviceCreateParams,
968
1020
  type DeviceListParams as DeviceListParams,
969
1021
  type DeviceFingerprintParams as DeviceFingerprintParams,
1022
+ type DeviceResetParams as DeviceResetParams,
970
1023
  type DeviceSetNameParams as DeviceSetNameParams,
971
1024
  type DeviceSummaryParams as DeviceSummaryParams,
972
1025
  type DeviceTerminateParams as DeviceTerminateParams,
@@ -1049,6 +1102,16 @@ export declare namespace Devices {
1049
1102
  type ProxyStatusParams as ProxyStatusParams,
1050
1103
  };
1051
1104
 
1105
+ export {
1106
+ Screenshots as Screenshots,
1107
+ type ScreenshotListResponse as ScreenshotListResponse,
1108
+ type ScreenshotCaptureResponse as ScreenshotCaptureResponse,
1109
+ type ScreenshotListParams as ScreenshotListParams,
1110
+ type ScreenshotDeleteParams as ScreenshotDeleteParams,
1111
+ type ScreenshotCaptureParams as ScreenshotCaptureParams,
1112
+ type ScreenshotImageParams as ScreenshotImageParams,
1113
+ };
1114
+
1052
1115
  export {
1053
1116
  State as State,
1054
1117
  type A11YNode as A11YNode,
@@ -1097,24 +1160,16 @@ export declare namespace Devices {
1097
1160
  type KioskEnableParams as KioskEnableParams,
1098
1161
  };
1099
1162
 
1100
- export {
1101
- MediaSessions as MediaSessions,
1102
- type MediaSessionCreateResponse as MediaSessionCreateResponse,
1103
- type MediaSessionActivateResponse as MediaSessionActivateResponse,
1104
- type MediaSessionRetrieveCurrentResponse as MediaSessionRetrieveCurrentResponse,
1105
- type MediaSessionCreateParams as MediaSessionCreateParams,
1106
- type MediaSessionDeleteParams as MediaSessionDeleteParams,
1107
- type MediaSessionActivateParams as MediaSessionActivateParams,
1108
- };
1109
-
1110
1163
  export {
1111
1164
  Recordings as Recordings,
1112
1165
  type RecordingListResponse as RecordingListResponse,
1166
+ type RecordingScreenshotsResponse as RecordingScreenshotsResponse,
1113
1167
  type RecordingStartResponse as RecordingStartResponse,
1114
1168
  type RecordingStatusResponse as RecordingStatusResponse,
1115
1169
  type RecordingStopResponse as RecordingStopResponse,
1116
1170
  type RecordingListParams as RecordingListParams,
1117
1171
  type RecordingDeleteParams as RecordingDeleteParams,
1172
+ type RecordingScreenshotsParams as RecordingScreenshotsParams,
1118
1173
  type RecordingStartParams as RecordingStartParams,
1119
1174
  type RecordingStatusParams as RecordingStatusParams,
1120
1175
  type RecordingStopParams as RecordingStopParams,
@@ -44,6 +44,7 @@ export {
44
44
  type DeviceCreateParams,
45
45
  type DeviceListParams,
46
46
  type DeviceFingerprintParams,
47
+ type DeviceResetParams,
47
48
  type DeviceSetNameParams,
48
49
  type DeviceSummaryParams,
49
50
  type DeviceTerminateParams,
@@ -88,15 +89,6 @@ export {
88
89
  type LocationResetParams,
89
90
  type LocationSetParams,
90
91
  } from './location';
91
- export {
92
- MediaSessions,
93
- type MediaSessionCreateResponse,
94
- type MediaSessionActivateResponse,
95
- type MediaSessionRetrieveCurrentResponse,
96
- type MediaSessionCreateParams,
97
- type MediaSessionDeleteParams,
98
- type MediaSessionActivateParams,
99
- } from './media-sessions';
100
92
  export { Packages, type PackageListResponse, type PackageListParams } from './packages';
101
93
  export { Profile, type ProfileUpdateParams } from './profile';
102
94
  export {
@@ -109,17 +101,28 @@ export {
109
101
  export {
110
102
  Recordings,
111
103
  type RecordingListResponse,
104
+ type RecordingScreenshotsResponse,
112
105
  type RecordingStartResponse,
113
106
  type RecordingStatusResponse,
114
107
  type RecordingStopResponse,
115
108
  type RecordingListParams,
116
109
  type RecordingDeleteParams,
110
+ type RecordingScreenshotsParams,
117
111
  type RecordingStartParams,
118
112
  type RecordingStatusParams,
119
113
  type RecordingStopParams,
120
114
  type RecordingTrajectoryParams,
121
115
  type RecordingVideoParams,
122
116
  } from './recordings';
117
+ export {
118
+ Screenshots,
119
+ type ScreenshotListResponse,
120
+ type ScreenshotCaptureResponse,
121
+ type ScreenshotListParams,
122
+ type ScreenshotDeleteParams,
123
+ type ScreenshotCaptureParams,
124
+ type ScreenshotImageParams,
125
+ } from './screenshots';
123
126
  export {
124
127
  State,
125
128
  type A11YNode,
@@ -114,12 +114,19 @@ export interface KeyboardWriteParams {
114
114
  errorRate?: number;
115
115
 
116
116
  /**
117
- * Body param
117
+ * Body param: Request human-like input where supported by the device. Defaults to
118
+ * false.
119
+ */
120
+ humanize?: boolean;
121
+
122
+ /**
123
+ * @deprecated Body param: Deprecated: use humanize. Both names must agree when
124
+ * supplied together.
118
125
  */
119
126
  stealth?: boolean;
120
127
 
121
128
  /**
122
- * Body param: Words per minute for stealth typing. 0 uses portal default.
129
+ * Body param: Words per minute for humanized typing. 0 uses the device default.
123
130
  */
124
131
  wpm?: number;
125
132
 
@@ -29,6 +29,20 @@ export class Recordings extends APIResource {
29
29
  });
30
30
  }
31
31
 
32
+ /**
33
+ * Screenshots saved into the recording with
34
+ * `GET /devices/{deviceId}/screenshot?save=true`, oldest first, each with a
35
+ * presigned download URL.
36
+ */
37
+ screenshots(
38
+ recordingID: string,
39
+ params: RecordingScreenshotsParams,
40
+ options?: RequestOptions,
41
+ ): APIPromise<RecordingScreenshotsResponse | null> {
42
+ const { deviceId } = params;
43
+ return this._client.get(path`/devices/${deviceId}/recordings/${recordingID}/screenshots`, options);
44
+ }
45
+
32
46
  /**
33
47
  * Start a device recording
34
48
  */
@@ -148,6 +162,24 @@ export namespace RecordingListResponse {
148
162
  }
149
163
  }
150
164
 
165
+ export type RecordingScreenshotsResponse =
166
+ Array<RecordingScreenshotsResponse.RecordingScreenshotsResponseItem>;
167
+
168
+ export namespace RecordingScreenshotsResponse {
169
+ export interface RecordingScreenshotsResponseItem {
170
+ id: string;
171
+
172
+ capturedAt: string;
173
+
174
+ sizeBytes: number;
175
+
176
+ /**
177
+ * Presigned download URL, valid for 15 minutes.
178
+ */
179
+ url: string;
180
+ }
181
+ }
182
+
151
183
  export interface RecordingStartResponse {
152
184
  id: string;
153
185
 
@@ -317,23 +349,27 @@ export interface RecordingDeleteParams {
317
349
  deviceId: string;
318
350
  }
319
351
 
352
+ export interface RecordingScreenshotsParams {
353
+ deviceId: string;
354
+ }
355
+
320
356
  export interface RecordingStartParams {
321
357
  name?: string;
322
358
 
323
359
  /**
324
360
  * Capture quality from 1 (lowest) to 10 (full stream quality). Defaults to the
325
- * device's full quality. Honored by devices recording through the portal stream
326
- * bridge.
361
+ * device's full quality. Honored only by devices that support adjustable capture
362
+ * quality.
327
363
  */
328
364
  quality?: number;
329
365
 
330
366
  retentionDays?: number;
331
367
 
332
368
  /**
333
- * Artifacts to capture: trajectory (input actions; on portal stream-bridge devices
334
- * only when the handset announces trajectory capture), video, and audio (captured
335
- * into the video artifact, so it requires video; honored by portal stream-bridge
336
- * recorders). Defaults to trajectory and video, narrowed to what the device
369
+ * Artifacts to capture: trajectory (input actions; on some devices only when the
370
+ * device announces trajectory capture), video, and audio (captured into the video
371
+ * artifact, so it requires video; honored only by devices that support audio
372
+ * capture). Defaults to trajectory and video, narrowed to what the device
337
373
  * produces.
338
374
  */
339
375
  types?: Array<string> | null;
@@ -358,11 +394,13 @@ export interface RecordingVideoParams {
358
394
  export declare namespace Recordings {
359
395
  export {
360
396
  type RecordingListResponse as RecordingListResponse,
397
+ type RecordingScreenshotsResponse as RecordingScreenshotsResponse,
361
398
  type RecordingStartResponse as RecordingStartResponse,
362
399
  type RecordingStatusResponse as RecordingStatusResponse,
363
400
  type RecordingStopResponse as RecordingStopResponse,
364
401
  type RecordingListParams as RecordingListParams,
365
402
  type RecordingDeleteParams as RecordingDeleteParams,
403
+ type RecordingScreenshotsParams as RecordingScreenshotsParams,
366
404
  type RecordingStartParams as RecordingStartParams,
367
405
  type RecordingStatusParams as RecordingStatusParams,
368
406
  type RecordingStopParams as RecordingStopParams,
@@ -0,0 +1,140 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { buildHeaders } from '../../internal/headers';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+ import { path } from '../../internal/utils/path';
8
+
9
+ export class Screenshots extends APIResource {
10
+ /**
11
+ * Saved screenshots, newest first. Pass nextCursor as cursor to retrieve the next
12
+ * page.
13
+ */
14
+ list(
15
+ deviceID: string,
16
+ query: ScreenshotListParams | null | undefined = {},
17
+ options?: RequestOptions,
18
+ ): APIPromise<ScreenshotListResponse> {
19
+ return this._client.get(path`/devices/${deviceID}/screenshots`, { query, ...options });
20
+ }
21
+
22
+ /**
23
+ * Delete a device screenshot
24
+ */
25
+ delete(screenshotID: string, params: ScreenshotDeleteParams, options?: RequestOptions): APIPromise<void> {
26
+ const { deviceId } = params;
27
+ return this._client.delete(path`/devices/${deviceId}/screenshots/${screenshotID}`, {
28
+ ...options,
29
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
30
+ });
31
+ }
32
+
33
+ /**
34
+ * Captures the device screen and returns it as a PNG image. Pass save=true to
35
+ * store it as device media.
36
+ */
37
+ capture(
38
+ deviceID: string,
39
+ params: ScreenshotCaptureParams | null | undefined = {},
40
+ options?: RequestOptions,
41
+ ): APIPromise<string> {
42
+ const { hideOverlay, save, 'X-Device-Display-ID': xDeviceDisplayID } = params ?? {};
43
+ return this._client.post(path`/devices/${deviceID}/screenshots`, {
44
+ query: { hideOverlay, save },
45
+ ...options,
46
+ headers: buildHeaders([
47
+ {
48
+ ...(xDeviceDisplayID?.toString() != null ?
49
+ { 'X-Device-Display-ID': xDeviceDisplayID?.toString() }
50
+ : undefined),
51
+ },
52
+ options?.headers,
53
+ ]),
54
+ });
55
+ }
56
+
57
+ /**
58
+ * Redirects to a presigned PNG URL valid for 15 minutes.
59
+ */
60
+ image(screenshotID: string, params: ScreenshotImageParams, options?: RequestOptions): APIPromise<void> {
61
+ const { deviceId } = params;
62
+ return this._client.get(path`/devices/${deviceId}/screenshots/${screenshotID}/image`, {
63
+ ...options,
64
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
65
+ });
66
+ }
67
+ }
68
+
69
+ export interface ScreenshotListResponse {
70
+ items: Array<ScreenshotListResponse.Item> | null;
71
+
72
+ nextCursor: string;
73
+
74
+ /**
75
+ * A URL to the JSON Schema for this object.
76
+ */
77
+ $schema?: string;
78
+ }
79
+
80
+ export namespace ScreenshotListResponse {
81
+ export interface Item {
82
+ id: string;
83
+
84
+ capturedAt: string;
85
+
86
+ deviceId: string;
87
+
88
+ expiresAt: string;
89
+
90
+ recordingId: string | null;
91
+
92
+ sizeBytes: number;
93
+ }
94
+ }
95
+
96
+ export type ScreenshotCaptureResponse = string;
97
+
98
+ export interface ScreenshotListParams {
99
+ cursor?: string;
100
+
101
+ limit?: number;
102
+ }
103
+
104
+ export interface ScreenshotDeleteParams {
105
+ deviceId: string;
106
+ }
107
+
108
+ export interface ScreenshotCaptureParams {
109
+ /**
110
+ * Query param
111
+ */
112
+ hideOverlay?: boolean;
113
+
114
+ /**
115
+ * Query param: Store the screenshot as device media: in the owner's active
116
+ * recording, or standalone for 7 days. Without save=true nothing is stored. The
117
+ * PNG response is unchanged; X-Screenshot-Saved reports whether it was stored.
118
+ */
119
+ save?: boolean;
120
+
121
+ /**
122
+ * Header param
123
+ */
124
+ 'X-Device-Display-ID'?: number;
125
+ }
126
+
127
+ export interface ScreenshotImageParams {
128
+ deviceId: string;
129
+ }
130
+
131
+ export declare namespace Screenshots {
132
+ export {
133
+ type ScreenshotListResponse as ScreenshotListResponse,
134
+ type ScreenshotCaptureResponse as ScreenshotCaptureResponse,
135
+ type ScreenshotListParams as ScreenshotListParams,
136
+ type ScreenshotDeleteParams as ScreenshotDeleteParams,
137
+ type ScreenshotCaptureParams as ScreenshotCaptureParams,
138
+ type ScreenshotImageParams as ScreenshotImageParams,
139
+ };
140
+ }
@@ -8,8 +8,11 @@ import { path } from '../../internal/utils/path';
8
8
 
9
9
  export class State extends APIResource {
10
10
  /**
11
- * Captures the device screen and returns it as a PNG image. An optional
12
- * hideOverlay query parameter excludes the accessibility overlay from the capture.
11
+ * Deprecated: use POST /devices/{deviceId}/screenshots. Captures the device screen
12
+ * and returns it as a PNG image. An optional hideOverlay query parameter excludes
13
+ * the accessibility overlay from the capture.
14
+ *
15
+ * @deprecated
13
16
  */
14
17
  screenshot(
15
18
  deviceID: string,
@@ -214,6 +217,13 @@ export interface StateScreenshotParams {
214
217
  */
215
218
  hideOverlay?: boolean;
216
219
 
220
+ /**
221
+ * Query param: Store the screenshot as device media: in the owner's active
222
+ * recording, or standalone for 7 days. Without save=true nothing is stored. The
223
+ * PNG response is unchanged; X-Screenshot-Saved reports whether it was stored.
224
+ */
225
+ save?: boolean;
226
+
217
227
  /**
218
228
  * Header param
219
229
  */