@mobilerun/sdk 5.6.0 → 6.0.0

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 (333) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +0 -9
  3. package/client.d.mts +6 -24
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +6 -24
  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/connect/proxies.d.mts +8 -6
  21. package/resources/connect/proxies.d.mts.map +1 -1
  22. package/resources/connect/proxies.d.ts +8 -6
  23. package/resources/connect/proxies.d.ts.map +1 -1
  24. package/resources/connect/proxies.js +6 -4
  25. package/resources/connect/proxies.js.map +1 -1
  26. package/resources/connect/proxies.mjs +6 -4
  27. package/resources/connect/proxies.mjs.map +1 -1
  28. package/resources/connect/users.d.mts +4 -4
  29. package/resources/connect/users.d.ts +4 -4
  30. package/resources/connect/users.js +2 -2
  31. package/resources/connect/users.mjs +2 -2
  32. package/resources/devices/actions.d.mts +25 -5
  33. package/resources/devices/actions.d.mts.map +1 -1
  34. package/resources/devices/actions.d.ts +25 -5
  35. package/resources/devices/actions.d.ts.map +1 -1
  36. package/resources/devices/actions.js +5 -3
  37. package/resources/devices/actions.js.map +1 -1
  38. package/resources/devices/actions.mjs +5 -3
  39. package/resources/devices/actions.mjs.map +1 -1
  40. package/resources/devices/apps.d.mts +13 -0
  41. package/resources/devices/apps.d.mts.map +1 -1
  42. package/resources/devices/apps.d.ts +13 -0
  43. package/resources/devices/apps.d.ts.map +1 -1
  44. package/resources/devices/devices.d.mts +36 -13
  45. package/resources/devices/devices.d.mts.map +1 -1
  46. package/resources/devices/devices.d.ts +36 -13
  47. package/resources/devices/devices.d.ts.map +1 -1
  48. package/resources/devices/devices.js +13 -8
  49. package/resources/devices/devices.js.map +1 -1
  50. package/resources/devices/devices.mjs +13 -8
  51. package/resources/devices/devices.mjs.map +1 -1
  52. package/resources/devices/index.d.mts +2 -1
  53. package/resources/devices/index.d.mts.map +1 -1
  54. package/resources/devices/index.d.ts +2 -1
  55. package/resources/devices/index.d.ts.map +1 -1
  56. package/resources/devices/index.js +3 -1
  57. package/resources/devices/index.js.map +1 -1
  58. package/resources/devices/index.mjs +1 -0
  59. package/resources/devices/index.mjs.map +1 -1
  60. package/resources/devices/keyboard.d.mts +8 -2
  61. package/resources/devices/keyboard.d.mts.map +1 -1
  62. package/resources/devices/keyboard.d.ts +8 -2
  63. package/resources/devices/keyboard.d.ts.map +1 -1
  64. package/resources/devices/recordings.d.mts +28 -7
  65. package/resources/devices/recordings.d.mts.map +1 -1
  66. package/resources/devices/recordings.d.ts +28 -7
  67. package/resources/devices/recordings.d.ts.map +1 -1
  68. package/resources/devices/recordings.js +9 -0
  69. package/resources/devices/recordings.js.map +1 -1
  70. package/resources/devices/recordings.mjs +9 -0
  71. package/resources/devices/recordings.mjs.map +1 -1
  72. package/resources/devices/screenshots.d.mts +72 -0
  73. package/resources/devices/screenshots.d.mts.map +1 -0
  74. package/resources/devices/screenshots.d.ts +72 -0
  75. package/resources/devices/screenshots.d.ts.map +1 -0
  76. package/resources/devices/screenshots.js +57 -0
  77. package/resources/devices/screenshots.js.map +1 -0
  78. package/resources/devices/screenshots.mjs +53 -0
  79. package/resources/devices/screenshots.mjs.map +1 -0
  80. package/resources/devices/state.d.mts +11 -2
  81. package/resources/devices/state.d.mts.map +1 -1
  82. package/resources/devices/state.d.ts +11 -2
  83. package/resources/devices/state.d.ts.map +1 -1
  84. package/resources/devices/state.js +5 -2
  85. package/resources/devices/state.js.map +1 -1
  86. package/resources/devices/state.mjs +5 -2
  87. package/resources/devices/state.mjs.map +1 -1
  88. package/resources/files.d.mts +3 -3
  89. package/resources/files.d.ts +3 -3
  90. package/resources/files.js +3 -3
  91. package/resources/files.mjs +3 -3
  92. package/resources/index.d.mts +3 -8
  93. package/resources/index.d.mts.map +1 -1
  94. package/resources/index.d.ts +3 -8
  95. package/resources/index.d.ts.map +1 -1
  96. package/resources/index.js +1 -11
  97. package/resources/index.js.map +1 -1
  98. package/resources/index.mjs +0 -5
  99. package/resources/index.mjs.map +1 -1
  100. package/resources/mailboxes/connections.d.mts +4 -10
  101. package/resources/mailboxes/connections.d.mts.map +1 -1
  102. package/resources/mailboxes/connections.d.ts +4 -10
  103. package/resources/mailboxes/connections.d.ts.map +1 -1
  104. package/resources/mailboxes/connections.js +3 -4
  105. package/resources/mailboxes/connections.js.map +1 -1
  106. package/resources/mailboxes/connections.mjs +3 -4
  107. package/resources/mailboxes/connections.mjs.map +1 -1
  108. package/resources/mailboxes/mailboxes.d.mts +5 -4
  109. package/resources/mailboxes/mailboxes.d.mts.map +1 -1
  110. package/resources/mailboxes/mailboxes.d.ts +5 -4
  111. package/resources/mailboxes/mailboxes.d.ts.map +1 -1
  112. package/resources/mailboxes/mailboxes.js +5 -4
  113. package/resources/mailboxes/mailboxes.js.map +1 -1
  114. package/resources/mailboxes/mailboxes.mjs +5 -4
  115. package/resources/mailboxes/mailboxes.mjs.map +1 -1
  116. package/resources/models.d.mts +12 -23
  117. package/resources/models.d.mts.map +1 -1
  118. package/resources/models.d.ts +12 -23
  119. package/resources/models.d.ts.map +1 -1
  120. package/resources/models.js +3 -4
  121. package/resources/models.js.map +1 -1
  122. package/resources/models.mjs +3 -4
  123. package/resources/models.mjs.map +1 -1
  124. package/resources/numbers/index.d.mts +1 -1
  125. package/resources/numbers/index.d.mts.map +1 -1
  126. package/resources/numbers/index.d.ts +1 -1
  127. package/resources/numbers/index.d.ts.map +1 -1
  128. package/resources/numbers/index.js.map +1 -1
  129. package/resources/numbers/index.mjs.map +1 -1
  130. package/resources/numbers/messages.d.mts +11 -14
  131. package/resources/numbers/messages.d.mts.map +1 -1
  132. package/resources/numbers/messages.d.ts +11 -14
  133. package/resources/numbers/messages.d.ts.map +1 -1
  134. package/resources/numbers/messages.js +9 -7
  135. package/resources/numbers/messages.js.map +1 -1
  136. package/resources/numbers/messages.mjs +9 -7
  137. package/resources/numbers/messages.mjs.map +1 -1
  138. package/resources/numbers/numbers.d.mts +28 -32
  139. package/resources/numbers/numbers.d.mts.map +1 -1
  140. package/resources/numbers/numbers.d.ts +28 -32
  141. package/resources/numbers/numbers.d.ts.map +1 -1
  142. package/resources/numbers/numbers.js +1 -12
  143. package/resources/numbers/numbers.js.map +1 -1
  144. package/resources/numbers/numbers.mjs +1 -12
  145. package/resources/numbers/numbers.mjs.map +1 -1
  146. package/resources/proxies.d.mts +1 -87
  147. package/resources/proxies.d.mts.map +1 -1
  148. package/resources/proxies.d.ts +1 -87
  149. package/resources/proxies.d.ts.map +1 -1
  150. package/resources/proxies.js +0 -6
  151. package/resources/proxies.js.map +1 -1
  152. package/resources/proxies.mjs +0 -6
  153. package/resources/proxies.mjs.map +1 -1
  154. package/resources/tasks/tasks.d.mts +38 -136
  155. package/resources/tasks/tasks.d.mts.map +1 -1
  156. package/resources/tasks/tasks.d.ts +38 -136
  157. package/resources/tasks/tasks.d.ts.map +1 -1
  158. package/resources/tasks/tasks.js.map +1 -1
  159. package/resources/tasks/tasks.mjs.map +1 -1
  160. package/resources/webhooks/index.d.mts +1 -1
  161. package/resources/webhooks/index.d.mts.map +1 -1
  162. package/resources/webhooks/index.d.ts +1 -1
  163. package/resources/webhooks/index.d.ts.map +1 -1
  164. package/resources/webhooks/index.js.map +1 -1
  165. package/resources/webhooks/index.mjs.map +1 -1
  166. package/resources/webhooks/webhooks.d.mts +7 -43
  167. package/resources/webhooks/webhooks.d.mts.map +1 -1
  168. package/resources/webhooks/webhooks.d.ts +7 -43
  169. package/resources/webhooks/webhooks.d.ts.map +1 -1
  170. package/resources/webhooks/webhooks.js +6 -9
  171. package/resources/webhooks/webhooks.js.map +1 -1
  172. package/resources/webhooks/webhooks.mjs +6 -9
  173. package/resources/webhooks/webhooks.mjs.map +1 -1
  174. package/resources/workflows/events.d.mts +5 -2
  175. package/resources/workflows/events.d.mts.map +1 -1
  176. package/resources/workflows/events.d.ts +5 -2
  177. package/resources/workflows/events.d.ts.map +1 -1
  178. package/resources/workflows/executions/executions.d.mts +27 -31
  179. package/resources/workflows/executions/executions.d.mts.map +1 -1
  180. package/resources/workflows/executions/executions.d.ts +27 -31
  181. package/resources/workflows/executions/executions.d.ts.map +1 -1
  182. package/resources/workflows/executions/executions.js +2 -2
  183. package/resources/workflows/executions/executions.js.map +1 -1
  184. package/resources/workflows/executions/executions.mjs +2 -2
  185. package/resources/workflows/executions/executions.mjs.map +1 -1
  186. package/resources/workflows/flows/flows.d.mts +62 -26
  187. package/resources/workflows/flows/flows.d.mts.map +1 -1
  188. package/resources/workflows/flows/flows.d.ts +62 -26
  189. package/resources/workflows/flows/flows.d.ts.map +1 -1
  190. package/resources/workflows/flows/flows.js +7 -7
  191. package/resources/workflows/flows/flows.js.map +1 -1
  192. package/resources/workflows/flows/flows.mjs +7 -7
  193. package/resources/workflows/flows/flows.mjs.map +1 -1
  194. package/resources/workflows/triggers.d.mts +10 -13
  195. package/resources/workflows/triggers.d.mts.map +1 -1
  196. package/resources/workflows/triggers.d.ts +10 -13
  197. package/resources/workflows/triggers.d.ts.map +1 -1
  198. package/resources/workflows/triggers.js +6 -8
  199. package/resources/workflows/triggers.js.map +1 -1
  200. package/resources/workflows/triggers.mjs +6 -8
  201. package/resources/workflows/triggers.mjs.map +1 -1
  202. package/src/client.ts +0 -106
  203. package/src/resources/apps.ts +30 -20
  204. package/src/resources/connect/proxies.ts +8 -6
  205. package/src/resources/connect/users.ts +4 -4
  206. package/src/resources/devices/actions.ts +28 -5
  207. package/src/resources/devices/apps.ts +18 -0
  208. package/src/resources/devices/devices.ts +59 -11
  209. package/src/resources/devices/index.ts +11 -0
  210. package/src/resources/devices/keyboard.ts +9 -2
  211. package/src/resources/devices/recordings.ts +44 -6
  212. package/src/resources/devices/screenshots.ts +140 -0
  213. package/src/resources/devices/state.ts +12 -2
  214. package/src/resources/files.ts +3 -3
  215. package/src/resources/index.ts +0 -44
  216. package/src/resources/mailboxes/connections.ts +4 -11
  217. package/src/resources/mailboxes/mailboxes.ts +5 -4
  218. package/src/resources/models.ts +16 -23
  219. package/src/resources/numbers/index.ts +0 -1
  220. package/src/resources/numbers/messages.ts +11 -15
  221. package/src/resources/numbers/numbers.ts +31 -40
  222. package/src/resources/proxies.ts +0 -110
  223. package/src/resources/tasks/tasks.ts +42 -136
  224. package/src/resources/webhooks/index.ts +0 -1
  225. package/src/resources/webhooks/webhooks.ts +6 -60
  226. package/src/resources/workflows/events.ts +5 -2
  227. package/src/resources/workflows/executions/executions.ts +27 -31
  228. package/src/resources/workflows/flows/flows.ts +63 -26
  229. package/src/resources/workflows/triggers.ts +10 -13
  230. package/src/version.ts +1 -1
  231. package/version.d.mts +1 -1
  232. package/version.d.ts +1 -1
  233. package/version.js +1 -1
  234. package/version.mjs +1 -1
  235. package/resources/app-events/app-events.d.mts +0 -81
  236. package/resources/app-events/app-events.d.mts.map +0 -1
  237. package/resources/app-events/app-events.d.ts +0 -81
  238. package/resources/app-events/app-events.d.ts.map +0 -1
  239. package/resources/app-events/app-events.js +0 -33
  240. package/resources/app-events/app-events.js.map +0 -1
  241. package/resources/app-events/app-events.mjs +0 -28
  242. package/resources/app-events/app-events.mjs.map +0 -1
  243. package/resources/app-events/catalog.d.mts +0 -64
  244. package/resources/app-events/catalog.d.mts.map +0 -1
  245. package/resources/app-events/catalog.d.ts +0 -64
  246. package/resources/app-events/catalog.d.ts.map +0 -1
  247. package/resources/app-events/catalog.js +0 -25
  248. package/resources/app-events/catalog.js.map +0 -1
  249. package/resources/app-events/catalog.mjs +0 -21
  250. package/resources/app-events/catalog.mjs.map +0 -1
  251. package/resources/app-events/index.d.mts +0 -3
  252. package/resources/app-events/index.d.mts.map +0 -1
  253. package/resources/app-events/index.d.ts +0 -3
  254. package/resources/app-events/index.d.ts.map +0 -1
  255. package/resources/app-events/index.js +0 -9
  256. package/resources/app-events/index.js.map +0 -1
  257. package/resources/app-events/index.mjs +0 -4
  258. package/resources/app-events/index.mjs.map +0 -1
  259. package/resources/app-events.d.mts +0 -2
  260. package/resources/app-events.d.mts.map +0 -1
  261. package/resources/app-events.d.ts +0 -2
  262. package/resources/app-events.d.ts.map +0 -1
  263. package/resources/app-events.js +0 -6
  264. package/resources/app-events.js.map +0 -1
  265. package/resources/app-events.mjs +0 -3
  266. package/resources/app-events.mjs.map +0 -1
  267. package/resources/carriers.d.mts +0 -331
  268. package/resources/carriers.d.mts.map +0 -1
  269. package/resources/carriers.d.ts +0 -331
  270. package/resources/carriers.d.ts.map +0 -1
  271. package/resources/carriers.js +0 -46
  272. package/resources/carriers.js.map +0 -1
  273. package/resources/carriers.mjs +0 -42
  274. package/resources/carriers.mjs.map +0 -1
  275. package/resources/notifications.d.mts +0 -112
  276. package/resources/notifications.d.mts.map +0 -1
  277. package/resources/notifications.d.ts +0 -112
  278. package/resources/notifications.d.ts.map +0 -1
  279. package/resources/notifications.js +0 -72
  280. package/resources/notifications.js.map +0 -1
  281. package/resources/notifications.mjs +0 -68
  282. package/resources/notifications.mjs.map +0 -1
  283. package/resources/profiles.d.mts +0 -147
  284. package/resources/profiles.d.mts.map +0 -1
  285. package/resources/profiles.d.ts +0 -147
  286. package/resources/profiles.d.ts.map +0 -1
  287. package/resources/profiles.js +0 -40
  288. package/resources/profiles.js.map +0 -1
  289. package/resources/profiles.mjs +0 -36
  290. package/resources/profiles.mjs.map +0 -1
  291. package/resources/store/apps.d.mts +0 -140
  292. package/resources/store/apps.d.mts.map +0 -1
  293. package/resources/store/apps.d.ts +0 -140
  294. package/resources/store/apps.d.ts.map +0 -1
  295. package/resources/store/apps.js +0 -31
  296. package/resources/store/apps.js.map +0 -1
  297. package/resources/store/apps.mjs +0 -27
  298. package/resources/store/apps.mjs.map +0 -1
  299. package/resources/store/index.d.mts +0 -3
  300. package/resources/store/index.d.mts.map +0 -1
  301. package/resources/store/index.d.ts +0 -3
  302. package/resources/store/index.d.ts.map +0 -1
  303. package/resources/store/index.js +0 -9
  304. package/resources/store/index.js.map +0 -1
  305. package/resources/store/index.mjs +0 -4
  306. package/resources/store/index.mjs.map +0 -1
  307. package/resources/store/store.d.mts +0 -20
  308. package/resources/store/store.d.mts.map +0 -1
  309. package/resources/store/store.d.ts +0 -20
  310. package/resources/store/store.d.ts.map +0 -1
  311. package/resources/store/store.js +0 -23
  312. package/resources/store/store.js.map +0 -1
  313. package/resources/store/store.mjs +0 -18
  314. package/resources/store/store.mjs.map +0 -1
  315. package/resources/store.d.mts +0 -2
  316. package/resources/store.d.mts.map +0 -1
  317. package/resources/store.d.ts +0 -2
  318. package/resources/store.d.ts.map +0 -1
  319. package/resources/store.js +0 -6
  320. package/resources/store.js.map +0 -1
  321. package/resources/store.mjs +0 -3
  322. package/resources/store.mjs.map +0 -1
  323. package/src/resources/app-events/app-events.ts +0 -133
  324. package/src/resources/app-events/catalog.ts +0 -100
  325. package/src/resources/app-events/index.ts +0 -9
  326. package/src/resources/app-events.ts +0 -3
  327. package/src/resources/carriers.ts +0 -508
  328. package/src/resources/notifications.ts +0 -155
  329. package/src/resources/profiles.ts +0 -232
  330. package/src/resources/store/apps.ts +0 -993
  331. package/src/resources/store/index.ts +0 -10
  332. package/src/resources/store/store.ts +0 -36
  333. package/src/resources/store.ts +0 -3
@@ -77,6 +77,8 @@ import {
77
77
  RecordingDeleteParams,
78
78
  RecordingListParams,
79
79
  RecordingListResponse,
80
+ RecordingScreenshotsParams,
81
+ RecordingScreenshotsResponse,
80
82
  RecordingStartParams,
81
83
  RecordingStartResponse,
82
84
  RecordingStatusParams,
@@ -87,6 +89,16 @@ import {
87
89
  RecordingVideoParams,
88
90
  Recordings,
89
91
  } from './recordings';
92
+ import * as ScreenshotsAPI from './screenshots';
93
+ import {
94
+ ScreenshotCaptureParams,
95
+ ScreenshotCaptureResponse,
96
+ ScreenshotDeleteParams,
97
+ ScreenshotImageParams,
98
+ ScreenshotListParams,
99
+ ScreenshotListResponse,
100
+ Screenshots,
101
+ } from './screenshots';
90
102
  import * as StateAPI from './state';
91
103
  import {
92
104
  A11YNode,
@@ -142,6 +154,7 @@ export class Devices extends APIResource {
142
154
  packages: PackagesAPI.Packages = new PackagesAPI.Packages(this._client);
143
155
  profile: ProfileAPI.Profile = new ProfileAPI.Profile(this._client);
144
156
  proxy: ProxyAPI.Proxy = new ProxyAPI.Proxy(this._client);
157
+ screenshots: ScreenshotsAPI.Screenshots = new ScreenshotsAPI.Screenshots(this._client);
145
158
  state: StateAPI.State = new StateAPI.State(this._client);
146
159
  tasks: TasksAPI.Tasks = new TasksAPI.Tasks(this._client);
147
160
  clipboard: ClipboardAPI.Clipboard = new ClipboardAPI.Clipboard(this._client);
@@ -180,6 +193,10 @@ export class Devices extends APIResource {
180
193
 
181
194
  /**
182
195
  * Returns a paginated list of the user's devices along with pagination metadata.
196
+ * By default every device except terminated and unknown-state ones is listed,
197
+ * including stopped and maintenance devices; narrow with e.g. `state=ready` or
198
+ * `state=stopped,maintenance`, and pass `state=terminated` or `state=unknown` to
199
+ * see those.
183
200
  */
184
201
  list(
185
202
  query: DeviceListParams | null | undefined = {},
@@ -259,11 +276,8 @@ export class Devices extends APIResource {
259
276
  }
260
277
 
261
278
  /**
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.
279
+ * Returns the set of capabilities supported by this device. Used to determine
280
+ * which tools and features are available for the device.
267
281
  */
268
282
  retrieveCapabilities(
269
283
  deviceID: string,
@@ -308,9 +322,9 @@ export class Devices extends APIResource {
308
322
  }
309
323
 
310
324
  /**
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.
325
+ * Terminates the device and releases its resources. The optional `terminateAt` and
326
+ * `previousDeviceId` body fields are not available to API-key callers; requests
327
+ * that set them are rejected with 401.
314
328
  */
315
329
  terminate(
316
330
  deviceID: string,
@@ -848,23 +862,39 @@ export namespace DeviceCreateParams {
848
862
  export interface DeviceListParams {
849
863
  country?: string;
850
864
 
865
+ /**
866
+ * Include devices created at or after this RFC3339 timestamp.
867
+ */
868
+ createdAfter?: string;
869
+
870
+ /**
871
+ * Include devices created before this RFC3339 timestamp (exclusive). Must be later
872
+ * than createdAfter when both are set.
873
+ */
874
+ createdBefore?: string;
875
+
851
876
  /**
852
877
  * Filter to devices created by this user id. Mutually exclusive with mine.
853
878
  */
854
879
  createdBy?: string;
855
880
 
856
881
  /**
857
- * When true, only return devices created by the calling user (resolved from
858
- * X-User-ID, never a client-supplied id).
882
+ * When true, only return devices created by the authenticated caller.
859
883
  */
860
884
  mine?: boolean;
861
885
 
862
886
  name?: string;
863
887
 
864
- orderBy?: 'id' | 'createdAt' | 'updatedAt' | 'assignedAt';
888
+ orderBy?: 'id' | 'createdAt' | 'updatedAt' | 'assignedAt' | 'gridPosition';
865
889
 
866
890
  orderByDirection?: 'asc' | 'desc';
867
891
 
892
+ /**
893
+ * Filter by owner IDs. Comma-separated or repeated parameters. Restricted to
894
+ * platform administrators.
895
+ */
896
+ ownerId?: Array<string> | null;
897
+
868
898
  page?: number;
869
899
 
870
900
  pageSize?: number;
@@ -877,6 +907,11 @@ export interface DeviceListParams {
877
907
 
878
908
  providerId?: string;
879
909
 
910
+ /**
911
+ * Filter by current device state. Comma-separated (state=ready,stopped). Defaults
912
+ * to every state except terminated and unknown, so stopped and maintenance devices
913
+ * are listed; pass state=terminated or state=unknown to see those.
914
+ */
880
915
  state?: Array<
881
916
  | 'creating'
882
917
  | 'assigned'
@@ -941,6 +976,7 @@ Devices.Location = Location;
941
976
  Devices.Packages = Packages;
942
977
  Devices.Profile = Profile;
943
978
  Devices.Proxy = ProxyAPIProxy;
979
+ Devices.Screenshots = Screenshots;
944
980
  Devices.State = State;
945
981
  Devices.Tasks = Tasks;
946
982
  Devices.Clipboard = Clipboard;
@@ -1049,6 +1085,16 @@ export declare namespace Devices {
1049
1085
  type ProxyStatusParams as ProxyStatusParams,
1050
1086
  };
1051
1087
 
1088
+ export {
1089
+ Screenshots as Screenshots,
1090
+ type ScreenshotListResponse as ScreenshotListResponse,
1091
+ type ScreenshotCaptureResponse as ScreenshotCaptureResponse,
1092
+ type ScreenshotListParams as ScreenshotListParams,
1093
+ type ScreenshotDeleteParams as ScreenshotDeleteParams,
1094
+ type ScreenshotCaptureParams as ScreenshotCaptureParams,
1095
+ type ScreenshotImageParams as ScreenshotImageParams,
1096
+ };
1097
+
1052
1098
  export {
1053
1099
  State as State,
1054
1100
  type A11YNode as A11YNode,
@@ -1110,11 +1156,13 @@ export declare namespace Devices {
1110
1156
  export {
1111
1157
  Recordings as Recordings,
1112
1158
  type RecordingListResponse as RecordingListResponse,
1159
+ type RecordingScreenshotsResponse as RecordingScreenshotsResponse,
1113
1160
  type RecordingStartResponse as RecordingStartResponse,
1114
1161
  type RecordingStatusResponse as RecordingStatusResponse,
1115
1162
  type RecordingStopResponse as RecordingStopResponse,
1116
1163
  type RecordingListParams as RecordingListParams,
1117
1164
  type RecordingDeleteParams as RecordingDeleteParams,
1165
+ type RecordingScreenshotsParams as RecordingScreenshotsParams,
1118
1166
  type RecordingStartParams as RecordingStartParams,
1119
1167
  type RecordingStatusParams as RecordingStatusParams,
1120
1168
  type RecordingStopParams as RecordingStopParams,
@@ -109,17 +109,28 @@ export {
109
109
  export {
110
110
  Recordings,
111
111
  type RecordingListResponse,
112
+ type RecordingScreenshotsResponse,
112
113
  type RecordingStartResponse,
113
114
  type RecordingStatusResponse,
114
115
  type RecordingStopResponse,
115
116
  type RecordingListParams,
116
117
  type RecordingDeleteParams,
118
+ type RecordingScreenshotsParams,
117
119
  type RecordingStartParams,
118
120
  type RecordingStatusParams,
119
121
  type RecordingStopParams,
120
122
  type RecordingTrajectoryParams,
121
123
  type RecordingVideoParams,
122
124
  } from './recordings';
125
+ export {
126
+ Screenshots,
127
+ type ScreenshotListResponse,
128
+ type ScreenshotCaptureResponse,
129
+ type ScreenshotListParams,
130
+ type ScreenshotDeleteParams,
131
+ type ScreenshotCaptureParams,
132
+ type ScreenshotImageParams,
133
+ } from './screenshots';
123
134
  export {
124
135
  State,
125
136
  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
  */
@@ -37,9 +37,9 @@ export class Files extends APIResource {
37
37
  }
38
38
 
39
39
  /**
40
- * Soft-cancels an in-flight upload before confirm. Only acts on `pending` rows —
41
- * refuses to touch `ready` to avoid wiping confirmed files. Idempotent:
42
- * `{ cancelled: false }` if the row exists but is no longer pending.
40
+ * Soft-cancels an in-flight upload before confirm. Only acts on `pending` uploads
41
+ * — refuses to touch `ready` files, so confirmed files are never removed.
42
+ * Idempotent: `{ cancelled: false }` if the file exists but is no longer pending.
43
43
  */
44
44
  cancelPending(fileID: string, options?: RequestOptions): APIPromise<FileCancelPendingResponse> {
45
45
  return this._client.delete(path`/agents/files/${fileID}/pending`, options);
@@ -1,12 +1,6 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  export * from './shared';
4
- export {
5
- AppEvents,
6
- type AppEventRetrieveResponse,
7
- type AppEventListResponse,
8
- type AppEventListParams,
9
- } from './app-events/app-events';
10
4
  export {
11
5
  Apps,
12
6
  type AppRetrieveResponse,
@@ -21,19 +15,6 @@ export {
21
15
  type AppCreateSignedUploadURLParams,
22
16
  } from './apps';
23
17
  export { Assistant } from './assistant/assistant';
24
- export {
25
- Carriers,
26
- type CarrierCreateResponse,
27
- type CarrierRetrieveResponse,
28
- type CarrierUpdateResponse,
29
- type CarrierListResponse,
30
- type CarrierDeleteResponse,
31
- type CarrierLookupResponse,
32
- type CarrierCreateParams,
33
- type CarrierUpdateParams,
34
- type CarrierListParams,
35
- type CarrierLookupParams,
36
- } from './carriers';
37
18
  export { Connect } from './connect/connect';
38
19
  export {
39
20
  Credentials,
@@ -95,15 +76,6 @@ export {
95
76
  type MessageListParams,
96
77
  } from './messages/messages';
97
78
  export { Models, type ModelListResponse } from './models';
98
- export {
99
- Notifications,
100
- type NotificationApplyPreferencesPresetResponse,
101
- type NotificationCatalogResponse,
102
- type NotificationGetPreferencesResponse,
103
- type NotificationUpdatePreferencesResponse,
104
- type NotificationApplyPreferencesPresetParams,
105
- type NotificationUpdatePreferencesParams,
106
- } from './notifications';
107
79
  export {
108
80
  Numbers,
109
81
  type NumberCreateResponse,
@@ -113,23 +85,11 @@ export {
113
85
  type NumberDeleteResponse,
114
86
  type NumberCapacityResponse,
115
87
  type NumberCountriesResponse,
116
- type NumberPurposesResponse,
117
88
  type NumberCreateParams,
118
89
  type NumberUpdateParams,
119
90
  type NumberListParams,
120
91
  type NumberCapacityParams,
121
92
  } from './numbers/numbers';
122
- export {
123
- Profiles,
124
- type ProfileCreateResponse,
125
- type ProfileRetrieveResponse,
126
- type ProfileUpdateResponse,
127
- type ProfileListResponse,
128
- type ProfileDeleteResponse,
129
- type ProfileCreateParams,
130
- type ProfileUpdateParams,
131
- type ProfileListParams,
132
- } from './profiles';
133
93
  export {
134
94
  Proxies,
135
95
  type ProxyCreateResponse,
@@ -137,13 +97,10 @@ export {
137
97
  type ProxyUpdateResponse,
138
98
  type ProxyListResponse,
139
99
  type ProxyDeleteResponse,
140
- type ProxyLookupResponse,
141
100
  type ProxyCreateParams,
142
101
  type ProxyUpdateParams,
143
102
  type ProxyListParams,
144
- type ProxyLookupParams,
145
103
  } from './proxies';
146
- export { Store, type StoreCategoriesResponse } from './store/store';
147
104
  export {
148
105
  Tasks,
149
106
  type TaskRetrieveResponse,
@@ -165,7 +122,6 @@ export {
165
122
  type WebhookRetrieveResponse,
166
123
  type WebhookUpdateResponse,
167
124
  type WebhookListResponse,
168
- type WebhookEventTypesResponse,
169
125
  type WebhookRotateSecretResponse,
170
126
  type WebhookTestDeliveryResponse,
171
127
  type WebhookCreateParams,
@@ -7,10 +7,9 @@ import { path } from '../../internal/utils/path';
7
7
 
8
8
  export class Connections extends APIResource {
9
9
  /**
10
- * Links the caller’s Gmail account through the shared integrations connect.
11
- * Replaying the same Idempotency-Key (or, during migration, the deprecated
12
- * `clientRequestId` body field) returns the same mailbox. When Gmail is already
13
- * active, redirectUrl is null and the mailbox is usable immediately.
10
+ * Links the caller’s Gmail account. Replaying the same Idempotency-Key returns the
11
+ * same mailbox. When Gmail is already active, redirectUrl is null and the mailbox
12
+ * is usable immediately.
14
13
  *
15
14
  * @example
16
15
  * ```ts
@@ -69,16 +68,10 @@ export interface ConnectionCreateParams {
69
68
  provider: 'gmail';
70
69
 
71
70
  /**
72
- * sha256 hex of the browser-held connect binding secret; forwarded to integrations
73
- * connect
71
+ * sha256 hex of the browser-held connect binding secret.
74
72
  */
75
73
  bindingHash?: string;
76
74
 
77
- /**
78
- * @deprecated Use the Idempotency-Key header.
79
- */
80
- clientRequestId?: string;
81
-
82
75
  label?: string;
83
76
  }
84
77
 
@@ -27,9 +27,9 @@ export class Mailboxes extends APIResource {
27
27
 
28
28
  /**
29
29
  * Creates a mailbox on the default domain or a connected custom domain. An
30
- * optional `localPart` selects the address. Replaying the same Idempotency-Key
31
- * (or, during migration, the deprecated `clientRequestId` body field) and payload
32
- * returns the original mailbox. Poll the mailbox when a 202 response does not yet
30
+ * optional `localPart` selects the address. Replaying the same Idempotency-Key and
31
+ * payload returns the original mailbox. Fresh requests and replays return 202 with
32
+ * the current mailbox state. Poll the mailbox when the response does not yet
33
33
  * include a checkout URL.
34
34
  *
35
35
  * @example
@@ -121,7 +121,8 @@ export class Mailboxes extends APIResource {
121
121
  }
122
122
 
123
123
  /**
124
- * Removes only this mailbox link. The agent Composio connection stays in place.
124
+ * Removes only this mailbox link. The Gmail connection used by your agents stays
125
+ * in place.
125
126
  *
126
127
  * @example
127
128
  * ```ts