@mobilerun/sdk 5.5.0 → 5.6.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 (349) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/client.d.mts +8 -8
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +8 -8
  5. package/client.d.ts.map +1 -1
  6. package/client.js +1 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +2 -1
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/apps.d.mts +18 -15
  12. package/resources/apps.d.mts.map +1 -1
  13. package/resources/apps.d.ts +18 -15
  14. package/resources/apps.d.ts.map +1 -1
  15. package/resources/apps.js +5 -2
  16. package/resources/apps.js.map +1 -1
  17. package/resources/apps.mjs +5 -2
  18. package/resources/apps.mjs.map +1 -1
  19. package/resources/assistant/conversations.d.mts +7 -17
  20. package/resources/assistant/conversations.d.mts.map +1 -1
  21. package/resources/assistant/conversations.d.ts +7 -17
  22. package/resources/assistant/conversations.d.ts.map +1 -1
  23. package/resources/assistant/conversations.js +4 -11
  24. package/resources/assistant/conversations.js.map +1 -1
  25. package/resources/assistant/conversations.mjs +4 -11
  26. package/resources/assistant/conversations.mjs.map +1 -1
  27. package/resources/connect/connect.d.mts +2 -2
  28. package/resources/connect/connect.d.mts.map +1 -1
  29. package/resources/connect/connect.d.ts +2 -2
  30. package/resources/connect/connect.d.ts.map +1 -1
  31. package/resources/connect/connect.js.map +1 -1
  32. package/resources/connect/connect.mjs.map +1 -1
  33. package/resources/connect/index.d.mts +1 -1
  34. package/resources/connect/index.d.mts.map +1 -1
  35. package/resources/connect/index.d.ts +1 -1
  36. package/resources/connect/index.d.ts.map +1 -1
  37. package/resources/connect/index.js.map +1 -1
  38. package/resources/connect/index.mjs.map +1 -1
  39. package/resources/connect/proxies.d.mts +94 -11
  40. package/resources/connect/proxies.d.mts.map +1 -1
  41. package/resources/connect/proxies.d.ts +94 -11
  42. package/resources/connect/proxies.d.ts.map +1 -1
  43. package/resources/connect/proxies.js +21 -10
  44. package/resources/connect/proxies.js.map +1 -1
  45. package/resources/connect/proxies.mjs +21 -10
  46. package/resources/connect/proxies.mjs.map +1 -1
  47. package/resources/devices/browser.d.mts +9 -3
  48. package/resources/devices/browser.d.mts.map +1 -1
  49. package/resources/devices/browser.d.ts +9 -3
  50. package/resources/devices/browser.d.ts.map +1 -1
  51. package/resources/devices/browser.js +9 -3
  52. package/resources/devices/browser.js.map +1 -1
  53. package/resources/devices/browser.mjs +9 -3
  54. package/resources/devices/browser.mjs.map +1 -1
  55. package/resources/devices/devices.d.mts +52 -23
  56. package/resources/devices/devices.d.mts.map +1 -1
  57. package/resources/devices/devices.d.ts +52 -23
  58. package/resources/devices/devices.d.ts.map +1 -1
  59. package/resources/devices/devices.js +17 -7
  60. package/resources/devices/devices.js.map +1 -1
  61. package/resources/devices/devices.mjs +17 -7
  62. package/resources/devices/devices.mjs.map +1 -1
  63. package/resources/devices/index.d.mts +1 -1
  64. package/resources/devices/index.d.mts.map +1 -1
  65. package/resources/devices/index.d.ts +1 -1
  66. package/resources/devices/index.d.ts.map +1 -1
  67. package/resources/devices/index.js.map +1 -1
  68. package/resources/devices/index.mjs.map +1 -1
  69. package/resources/devices/recordings.d.mts +4 -2
  70. package/resources/devices/recordings.d.mts.map +1 -1
  71. package/resources/devices/recordings.d.ts +4 -2
  72. package/resources/devices/recordings.d.ts.map +1 -1
  73. package/resources/devices/traffic-sessions.d.mts +1 -11
  74. package/resources/devices/traffic-sessions.d.mts.map +1 -1
  75. package/resources/devices/traffic-sessions.d.ts +1 -11
  76. package/resources/devices/traffic-sessions.d.ts.map +1 -1
  77. package/resources/devices/traffic-sessions.js +2 -8
  78. package/resources/devices/traffic-sessions.js.map +1 -1
  79. package/resources/devices/traffic-sessions.mjs +2 -8
  80. package/resources/devices/traffic-sessions.mjs.map +1 -1
  81. package/resources/files.d.mts +5 -19
  82. package/resources/files.d.mts.map +1 -1
  83. package/resources/files.d.ts +5 -19
  84. package/resources/files.d.ts.map +1 -1
  85. package/resources/files.js +2 -10
  86. package/resources/files.js.map +1 -1
  87. package/resources/files.mjs +2 -10
  88. package/resources/files.mjs.map +1 -1
  89. package/resources/index.d.mts +4 -4
  90. package/resources/index.d.mts.map +1 -1
  91. package/resources/index.d.ts +4 -4
  92. package/resources/index.d.ts.map +1 -1
  93. package/resources/index.js.map +1 -1
  94. package/resources/index.mjs +1 -1
  95. package/resources/index.mjs.map +1 -1
  96. package/resources/mailboxes/connections.d.mts +64 -0
  97. package/resources/mailboxes/connections.d.mts.map +1 -0
  98. package/resources/mailboxes/connections.d.ts +64 -0
  99. package/resources/mailboxes/connections.d.ts.map +1 -0
  100. package/resources/mailboxes/connections.js +42 -0
  101. package/resources/mailboxes/connections.js.map +1 -0
  102. package/resources/mailboxes/connections.mjs +38 -0
  103. package/resources/mailboxes/connections.mjs.map +1 -0
  104. package/resources/mailboxes/index.d.mts +2 -1
  105. package/resources/mailboxes/index.d.mts.map +1 -1
  106. package/resources/mailboxes/index.d.ts +2 -1
  107. package/resources/mailboxes/index.d.ts.map +1 -1
  108. package/resources/mailboxes/index.js +3 -1
  109. package/resources/mailboxes/index.js.map +1 -1
  110. package/resources/mailboxes/index.mjs +1 -0
  111. package/resources/mailboxes/index.mjs.map +1 -1
  112. package/resources/mailboxes/mailboxes.d.mts +73 -24
  113. package/resources/mailboxes/mailboxes.d.mts.map +1 -1
  114. package/resources/mailboxes/mailboxes.d.ts +73 -24
  115. package/resources/mailboxes/mailboxes.d.ts.map +1 -1
  116. package/resources/mailboxes/mailboxes.js +25 -8
  117. package/resources/mailboxes/mailboxes.js.map +1 -1
  118. package/resources/mailboxes/mailboxes.mjs +25 -8
  119. package/resources/mailboxes/mailboxes.mjs.map +1 -1
  120. package/resources/messages/index.d.mts +1 -1
  121. package/resources/messages/index.d.mts.map +1 -1
  122. package/resources/messages/index.d.ts +1 -1
  123. package/resources/messages/index.d.ts.map +1 -1
  124. package/resources/messages/index.js.map +1 -1
  125. package/resources/messages/index.mjs +1 -1
  126. package/resources/messages/index.mjs.map +1 -1
  127. package/resources/messages/messages.d.mts +26 -1
  128. package/resources/messages/messages.d.mts.map +1 -1
  129. package/resources/messages/messages.d.ts +26 -1
  130. package/resources/messages/messages.d.ts.map +1 -1
  131. package/resources/messages/messages.js +9 -0
  132. package/resources/messages/messages.js.map +1 -1
  133. package/resources/messages/messages.mjs +9 -0
  134. package/resources/messages/messages.mjs.map +1 -1
  135. package/resources/notifications.d.mts +27 -1
  136. package/resources/notifications.d.mts.map +1 -1
  137. package/resources/notifications.d.ts +27 -1
  138. package/resources/notifications.d.ts.map +1 -1
  139. package/resources/notifications.js +17 -0
  140. package/resources/notifications.js.map +1 -1
  141. package/resources/notifications.mjs +17 -0
  142. package/resources/notifications.mjs.map +1 -1
  143. package/resources/numbers/index.d.mts +1 -1
  144. package/resources/numbers/index.d.mts.map +1 -1
  145. package/resources/numbers/index.d.ts +1 -1
  146. package/resources/numbers/index.d.ts.map +1 -1
  147. package/resources/numbers/index.js.map +1 -1
  148. package/resources/numbers/index.mjs +1 -1
  149. package/resources/numbers/index.mjs.map +1 -1
  150. package/resources/numbers/messages.d.mts +60 -1
  151. package/resources/numbers/messages.d.mts.map +1 -1
  152. package/resources/numbers/messages.d.ts +60 -1
  153. package/resources/numbers/messages.d.ts.map +1 -1
  154. package/resources/numbers/messages.js +21 -0
  155. package/resources/numbers/messages.js.map +1 -1
  156. package/resources/numbers/messages.mjs +21 -0
  157. package/resources/numbers/messages.mjs.map +1 -1
  158. package/resources/numbers/numbers.d.mts +123 -15
  159. package/resources/numbers/numbers.d.mts.map +1 -1
  160. package/resources/numbers/numbers.d.ts +123 -15
  161. package/resources/numbers/numbers.d.ts.map +1 -1
  162. package/resources/numbers/numbers.js +2 -11
  163. package/resources/numbers/numbers.js.map +1 -1
  164. package/resources/numbers/numbers.mjs +3 -12
  165. package/resources/numbers/numbers.mjs.map +1 -1
  166. package/resources/store/apps.d.mts +23 -2
  167. package/resources/store/apps.d.mts.map +1 -1
  168. package/resources/store/apps.d.ts +23 -2
  169. package/resources/store/apps.d.ts.map +1 -1
  170. package/resources/tasks/tasks.d.mts +16 -55
  171. package/resources/tasks/tasks.d.mts.map +1 -1
  172. package/resources/tasks/tasks.d.ts +16 -55
  173. package/resources/tasks/tasks.d.ts.map +1 -1
  174. package/resources/tasks/tasks.js +2 -10
  175. package/resources/tasks/tasks.js.map +1 -1
  176. package/resources/tasks/tasks.mjs +2 -10
  177. package/resources/tasks/tasks.mjs.map +1 -1
  178. package/resources/webhooks/deliveries.d.mts +22 -31
  179. package/resources/webhooks/deliveries.d.mts.map +1 -1
  180. package/resources/webhooks/deliveries.d.ts +22 -31
  181. package/resources/webhooks/deliveries.d.ts.map +1 -1
  182. package/resources/webhooks/deliveries.js +4 -30
  183. package/resources/webhooks/deliveries.js.map +1 -1
  184. package/resources/webhooks/deliveries.mjs +4 -30
  185. package/resources/webhooks/deliveries.mjs.map +1 -1
  186. package/resources/webhooks/index.d.mts +1 -0
  187. package/resources/webhooks/index.d.mts.map +1 -1
  188. package/resources/webhooks/index.d.ts +1 -0
  189. package/resources/webhooks/index.d.ts.map +1 -1
  190. package/resources/webhooks/index.js +3 -1
  191. package/resources/webhooks/index.js.map +1 -1
  192. package/resources/webhooks/index.mjs +1 -0
  193. package/resources/webhooks/index.mjs.map +1 -1
  194. package/resources/webhooks/integrations.d.mts +77 -0
  195. package/resources/webhooks/integrations.d.mts.map +1 -0
  196. package/resources/webhooks/integrations.d.ts +77 -0
  197. package/resources/webhooks/integrations.d.ts.map +1 -0
  198. package/resources/webhooks/integrations.js +26 -0
  199. package/resources/webhooks/integrations.js.map +1 -0
  200. package/resources/webhooks/integrations.mjs +22 -0
  201. package/resources/webhooks/integrations.mjs.map +1 -0
  202. package/resources/webhooks/webhooks.d.mts +279 -71
  203. package/resources/webhooks/webhooks.d.mts.map +1 -1
  204. package/resources/webhooks/webhooks.d.ts +279 -71
  205. package/resources/webhooks/webhooks.d.ts.map +1 -1
  206. package/resources/webhooks/webhooks.js +27 -60
  207. package/resources/webhooks/webhooks.js.map +1 -1
  208. package/resources/webhooks/webhooks.mjs +27 -60
  209. package/resources/webhooks/webhooks.mjs.map +1 -1
  210. package/resources/workflows/action-catalog.d.mts +7 -3
  211. package/resources/workflows/action-catalog.d.mts.map +1 -1
  212. package/resources/workflows/action-catalog.d.ts +7 -3
  213. package/resources/workflows/action-catalog.d.ts.map +1 -1
  214. package/resources/workflows/actions/actions.d.mts +9 -5
  215. package/resources/workflows/actions/actions.d.mts.map +1 -1
  216. package/resources/workflows/actions/actions.d.ts +9 -5
  217. package/resources/workflows/actions/actions.d.ts.map +1 -1
  218. package/resources/workflows/actions/actions.js +4 -0
  219. package/resources/workflows/actions/actions.js.map +1 -1
  220. package/resources/workflows/actions/actions.mjs +4 -0
  221. package/resources/workflows/actions/actions.mjs.map +1 -1
  222. package/resources/workflows/events.d.mts +48 -4
  223. package/resources/workflows/events.d.mts.map +1 -1
  224. package/resources/workflows/events.d.ts +48 -4
  225. package/resources/workflows/events.d.ts.map +1 -1
  226. package/resources/workflows/executions/executions.d.mts +334 -0
  227. package/resources/workflows/executions/executions.d.mts.map +1 -0
  228. package/resources/workflows/executions/executions.d.ts +334 -0
  229. package/resources/workflows/executions/executions.d.ts.map +1 -0
  230. package/resources/workflows/executions/executions.js +49 -0
  231. package/resources/workflows/executions/executions.js.map +1 -0
  232. package/resources/workflows/executions/executions.mjs +44 -0
  233. package/resources/workflows/executions/executions.mjs.map +1 -0
  234. package/resources/workflows/executions/index.d.mts +3 -0
  235. package/resources/workflows/executions/index.d.mts.map +1 -0
  236. package/resources/workflows/executions/index.d.ts +3 -0
  237. package/resources/workflows/executions/index.d.ts.map +1 -0
  238. package/resources/workflows/executions/index.js +9 -0
  239. package/resources/workflows/executions/index.js.map +1 -0
  240. package/resources/workflows/executions/index.mjs +4 -0
  241. package/resources/workflows/executions/index.mjs.map +1 -0
  242. package/resources/workflows/executions/screenshots.d.mts +18 -0
  243. package/resources/workflows/executions/screenshots.d.mts.map +1 -0
  244. package/resources/workflows/executions/screenshots.d.ts +18 -0
  245. package/resources/workflows/executions/screenshots.d.ts.map +1 -0
  246. package/resources/workflows/executions/screenshots.js +23 -0
  247. package/resources/workflows/executions/screenshots.js.map +1 -0
  248. package/resources/workflows/executions/screenshots.mjs +19 -0
  249. package/resources/workflows/executions/screenshots.mjs.map +1 -0
  250. package/resources/workflows/executions.d.mts +1 -269
  251. package/resources/workflows/executions.d.mts.map +1 -1
  252. package/resources/workflows/executions.d.ts +1 -269
  253. package/resources/workflows/executions.d.ts.map +1 -1
  254. package/resources/workflows/executions.js +2 -37
  255. package/resources/workflows/executions.js.map +1 -1
  256. package/resources/workflows/executions.mjs +1 -35
  257. package/resources/workflows/executions.mjs.map +1 -1
  258. package/resources/workflows/flows/actions.d.mts +39 -0
  259. package/resources/workflows/flows/actions.d.mts.map +1 -1
  260. package/resources/workflows/flows/actions.d.ts +39 -0
  261. package/resources/workflows/flows/actions.d.ts.map +1 -1
  262. package/resources/workflows/flows/actions.js +4 -0
  263. package/resources/workflows/flows/actions.js.map +1 -1
  264. package/resources/workflows/flows/actions.mjs +4 -0
  265. package/resources/workflows/flows/actions.mjs.map +1 -1
  266. package/resources/workflows/flows/flows.d.mts +529 -18
  267. package/resources/workflows/flows/flows.d.mts.map +1 -1
  268. package/resources/workflows/flows/flows.d.ts +529 -18
  269. package/resources/workflows/flows/flows.d.ts.map +1 -1
  270. package/resources/workflows/flows/flows.js +75 -0
  271. package/resources/workflows/flows/flows.js.map +1 -1
  272. package/resources/workflows/flows/flows.mjs +75 -0
  273. package/resources/workflows/flows/flows.mjs.map +1 -1
  274. package/resources/workflows/flows/index.d.mts +1 -1
  275. package/resources/workflows/flows/index.d.mts.map +1 -1
  276. package/resources/workflows/flows/index.d.ts +1 -1
  277. package/resources/workflows/flows/index.d.ts.map +1 -1
  278. package/resources/workflows/flows/index.js.map +1 -1
  279. package/resources/workflows/flows/index.mjs.map +1 -1
  280. package/resources/workflows/index.d.mts +2 -2
  281. package/resources/workflows/index.d.mts.map +1 -1
  282. package/resources/workflows/index.d.ts +2 -2
  283. package/resources/workflows/index.d.ts.map +1 -1
  284. package/resources/workflows/index.js +4 -4
  285. package/resources/workflows/index.js.map +1 -1
  286. package/resources/workflows/index.mjs +1 -1
  287. package/resources/workflows/index.mjs.map +1 -1
  288. package/resources/workflows/triggers.d.mts +107 -9
  289. package/resources/workflows/triggers.d.mts.map +1 -1
  290. package/resources/workflows/triggers.d.ts +107 -9
  291. package/resources/workflows/triggers.d.ts.map +1 -1
  292. package/resources/workflows/triggers.js +14 -0
  293. package/resources/workflows/triggers.js.map +1 -1
  294. package/resources/workflows/triggers.mjs +14 -0
  295. package/resources/workflows/triggers.mjs.map +1 -1
  296. package/resources/workflows/workflows.d.mts +4 -4
  297. package/resources/workflows/workflows.d.mts.map +1 -1
  298. package/resources/workflows/workflows.d.ts +4 -4
  299. package/resources/workflows/workflows.d.ts.map +1 -1
  300. package/resources/workflows/workflows.js +2 -2
  301. package/resources/workflows/workflows.js.map +1 -1
  302. package/resources/workflows/workflows.mjs +2 -2
  303. package/resources/workflows/workflows.mjs.map +1 -1
  304. package/src/client.ts +18 -1
  305. package/src/resources/apps.ts +18 -15
  306. package/src/resources/assistant/conversations.ts +12 -27
  307. package/src/resources/connect/connect.ts +6 -0
  308. package/src/resources/connect/index.ts +3 -0
  309. package/src/resources/connect/proxies.ts +119 -19
  310. package/src/resources/devices/browser.ts +9 -3
  311. package/src/resources/devices/devices.ts +80 -30
  312. package/src/resources/devices/index.ts +2 -0
  313. package/src/resources/devices/recordings.ts +4 -2
  314. package/src/resources/devices/traffic-sessions.ts +2 -19
  315. package/src/resources/files.ts +8 -29
  316. package/src/resources/index.ts +11 -1
  317. package/src/resources/mailboxes/connections.ts +91 -0
  318. package/src/resources/mailboxes/index.ts +7 -0
  319. package/src/resources/mailboxes/mailboxes.ts +146 -24
  320. package/src/resources/messages/index.ts +6 -1
  321. package/src/resources/messages/messages.ts +55 -1
  322. package/src/resources/notifications.ts +37 -0
  323. package/src/resources/numbers/index.ts +7 -1
  324. package/src/resources/numbers/messages.ts +92 -1
  325. package/src/resources/numbers/numbers.ts +143 -25
  326. package/src/resources/store/apps.ts +291 -2
  327. package/src/resources/tasks/tasks.ts +18 -65
  328. package/src/resources/webhooks/deliveries.ts +26 -31
  329. package/src/resources/webhooks/index.ts +6 -0
  330. package/src/resources/webhooks/integrations.ts +107 -0
  331. package/src/resources/webhooks/webhooks.ts +326 -71
  332. package/src/resources/workflows/action-catalog.ts +11 -3
  333. package/src/resources/workflows/actions/actions.ts +9 -5
  334. package/src/resources/workflows/events.ts +62 -4
  335. package/src/resources/workflows/executions/executions.ts +514 -0
  336. package/src/resources/workflows/executions/index.ts +12 -0
  337. package/src/resources/workflows/executions/screenshots.ts +34 -0
  338. package/src/resources/workflows/executions.ts +1 -412
  339. package/src/resources/workflows/flows/actions.ts +46 -0
  340. package/src/resources/workflows/flows/flows.ts +765 -17
  341. package/src/resources/workflows/flows/index.ts +11 -0
  342. package/src/resources/workflows/index.ts +12 -1
  343. package/src/resources/workflows/triggers.ts +128 -10
  344. package/src/resources/workflows/workflows.ts +32 -10
  345. package/src/version.ts +1 -1
  346. package/version.d.mts +1 -1
  347. package/version.d.ts +1 -1
  348. package/version.js +1 -1
  349. package/version.mjs +1 -1
@@ -11,6 +11,10 @@ export declare class Flows extends APIResource {
11
11
  * with at least one action required. Optional settings include target `deviceIds`,
12
12
  * a cooldown (`cooldownSeconds`/`cooldownScope`), and webhook notifications on
13
13
  * success or failure.
14
+ *
15
+ * Supports an optional `Idempotency-Key` header (1-255 printable ASCII
16
+ * characters). Replays with the same key and an identical body return the original
17
+ * 201; a changed body under the same key returns 422 `idempotency_key_reused`.
14
18
  */
15
19
  create(body: FlowCreateParams, options?: RequestOptions): APIPromise<FlowCreateResponse>;
16
20
  /**
@@ -37,6 +41,12 @@ export declare class Flows extends APIResource {
37
41
  * hidden from customer reads. Repeating the request is idempotent for the owner.
38
42
  */
39
43
  delete(flowID: string, options?: RequestOptions): APIPromise<FlowDeleteResponse>;
44
+ /**
45
+ * Activate a disabled flow only when the supplied verification execution succeeded
46
+ * and the flow graph has not changed since verification. Repeating activation is
47
+ * idempotent for an already-enabled flow.
48
+ */
49
+ activate(flowID: string, body: FlowActivateParams, options?: RequestOptions): APIPromise<FlowActivateResponse>;
40
50
  /**
41
51
  * Returns an owner-scoped snapshot of finite included workflow-agent capacity
42
52
  * after locally stored enabled and disabled agents. Available only while slot
@@ -48,8 +58,20 @@ export declare class Flows extends APIResource {
48
58
  * Create a copy of an existing flow, including its actions and settings. The
49
59
  * optional body can override the new flow's `name` and target `deviceIds`. Returns
50
60
  * 404 if the source flow does not exist.
61
+ *
62
+ * Supports an optional `Idempotency-Key` header (1-255 printable ASCII
63
+ * characters). Replays with the same key and an identical body return the original
64
+ * 201; a changed body under the same key returns 422 `idempotency_key_reused`.
51
65
  */
52
66
  clone(flowID: string, body?: FlowCloneParams | null | undefined, options?: RequestOptions): APIPromise<FlowCloneResponse>;
67
+ /**
68
+ * Return the recording/delivery readiness for a flow (recording mode, whether
69
+ * delivery can include the recording, whether a files.upload action exists, the
70
+ * first direct OneDrive/Google Drive upload step if any) plus, per destination,
71
+ * whether the flow owner has an active integrations-api connection. Returns 404 if
72
+ * the flow does not exist.
73
+ */
74
+ deliveryOptions(flowID: string, options?: RequestOptions): APIPromise<FlowDeliveryOptionsResponse>;
53
75
  /**
54
76
  * Simulate this flow firing without storing events, enqueuing jobs, or consuming
55
77
  * cooldown/rate-limit slots.
@@ -71,11 +93,52 @@ export declare class Flows extends APIResource {
71
93
  * List self-healing repair episodes
72
94
  */
73
95
  listRepairs(flowID: string, options?: RequestOptions): APIPromise<FlowListRepairsResponse>;
96
+ /**
97
+ * Immediately enqueue one live execution on every device bound to the flow,
98
+ * regardless of whether its trigger is event-based, custom, or scheduled.
99
+ *
100
+ * Supports an optional `Idempotency-Key` header (1-255 printable ASCII
101
+ * characters). The run identity is derived from the key, so a retry never starts a
102
+ * second run. Replays with the same key and an identical body return the original
103
+ * status and the original `executionIds`; a changed body under the same key
104
+ * returns 422 `idempotency_key_reused`.
105
+ */
106
+ run(flowID: string, body?: FlowRunParams | null | undefined, options?: RequestOptions): APIPromise<FlowRunResponse>;
107
+ /**
108
+ * Get flow template context
109
+ */
110
+ templateContext(query?: FlowTemplateContextParams | null | undefined, options?: RequestOptions): APIPromise<FlowTemplateContextResponse>;
74
111
  /**
75
112
  * Clear a flow's blocked status after fixing the underlying issue. Idempotent —
76
113
  * safe to call on already-healthy flows.
77
114
  */
78
115
  unblock(flowID: string, options?: RequestOptions): APIPromise<FlowUnblockResponse>;
116
+ /**
117
+ * Validate a flow
118
+ */
119
+ validate(body: FlowValidateParams, options?: RequestOptions): APIPromise<FlowValidateResponse>;
120
+ /**
121
+ * Run a bound, deduplicated **verification** of this flow on exactly one device
122
+ * through the real worker.
123
+ *
124
+ * Unlike a normal trigger firing, verification:
125
+ *
126
+ * - runs a flow that is `enabled` OR `disabled` (an archived flow returns 404);
127
+ * - targets one device (`deviceId`, or the single bound device);
128
+ * - is idempotent per `invocationId`: a repeat returns the existing run
129
+ * (`deduplicated: true`, HTTP 200) instead of enqueuing another (HTTP 202);
130
+ * - never mutates flow health, `lastTriggeredAt`, or the repair loop.
131
+ *
132
+ * Per-activation payload gate:
133
+ *
134
+ * - `custom`: validates the payload against the custom payload schema (422 on
135
+ * failure).
136
+ * - `event`: validates the payload against the event catalog schema and evaluates
137
+ * the trigger conditions; a failing gate returns 409 `conditions_not_met` with
138
+ * the dry-run report.
139
+ * - `schedule`: the payload is ignored.
140
+ */
141
+ verify(flowID: string, body: FlowVerifyParams, options?: RequestOptions): APIPromise<FlowVerifyResponse>;
79
142
  }
80
143
  export interface FlowCreateResponse {
81
144
  data: FlowCreateResponse.Data;
@@ -90,6 +153,7 @@ export declare namespace FlowCreateResponse {
90
153
  cooldownSeconds: number | null;
91
154
  createdAt: string | null;
92
155
  createdBy: string | null;
156
+ delivery: Data.Delivery | null;
93
157
  description: string | null;
94
158
  deviceIds: Array<string>;
95
159
  /**
@@ -119,8 +183,9 @@ export declare namespace FlowCreateResponse {
119
183
  /**
120
184
  * Template-resolver semantics this flow runs under (MVA-23). 1 = legacy
121
185
  * (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw,
122
- * a whole-token null stays JSON null). Existing flows stay 1; new flows default
123
- * to 2.
186
+ * a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed
187
+ * as {{steps.<key>...}} instead of by name; trigger.payload is not available).
188
+ * Existing flows stay 1; new flows default to the current version.
124
189
  */
125
190
  templateResolutionVersion: number;
126
191
  triggerId: string;
@@ -131,6 +196,17 @@ export declare namespace FlowCreateResponse {
131
196
  userId: string;
132
197
  }
133
198
  namespace Data {
199
+ interface Delivery {
200
+ destination: 'one_drive' | 'google_drive';
201
+ folder?: string;
202
+ recording?: Delivery.Recording;
203
+ screenshots?: unknown;
204
+ }
205
+ namespace Delivery {
206
+ interface Recording {
207
+ filename: string;
208
+ }
209
+ }
134
210
  interface RecordingPolicy {
135
211
  mode: 'off' | 'flow' | 'selected_steps';
136
212
  }
@@ -149,6 +225,7 @@ export declare namespace FlowRetrieveResponse {
149
225
  cooldownSeconds: number | null;
150
226
  createdAt: string | null;
151
227
  createdBy: string | null;
228
+ delivery: Data.Delivery | null;
152
229
  description: string | null;
153
230
  deviceIds: Array<string>;
154
231
  /**
@@ -178,8 +255,9 @@ export declare namespace FlowRetrieveResponse {
178
255
  /**
179
256
  * Template-resolver semantics this flow runs under (MVA-23). 1 = legacy
180
257
  * (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw,
181
- * a whole-token null stays JSON null). Existing flows stay 1; new flows default
182
- * to 2.
258
+ * a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed
259
+ * as {{steps.<key>...}} instead of by name; trigger.payload is not available).
260
+ * Existing flows stay 1; new flows default to the current version.
183
261
  */
184
262
  templateResolutionVersion: number;
185
263
  triggerId: string;
@@ -190,6 +268,17 @@ export declare namespace FlowRetrieveResponse {
190
268
  userId: string;
191
269
  }
192
270
  namespace Data {
271
+ interface Delivery {
272
+ destination: 'one_drive' | 'google_drive';
273
+ folder?: string;
274
+ recording?: Delivery.Recording;
275
+ screenshots?: unknown;
276
+ }
277
+ namespace Delivery {
278
+ interface Recording {
279
+ filename: string;
280
+ }
281
+ }
193
282
  interface RecordingPolicy {
194
283
  mode: 'off' | 'flow' | 'selected_steps';
195
284
  }
@@ -208,6 +297,7 @@ export declare namespace FlowUpdateResponse {
208
297
  cooldownSeconds: number | null;
209
298
  createdAt: string | null;
210
299
  createdBy: string | null;
300
+ delivery: Data.Delivery | null;
211
301
  description: string | null;
212
302
  deviceIds: Array<string>;
213
303
  /**
@@ -237,8 +327,9 @@ export declare namespace FlowUpdateResponse {
237
327
  /**
238
328
  * Template-resolver semantics this flow runs under (MVA-23). 1 = legacy
239
329
  * (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw,
240
- * a whole-token null stays JSON null). Existing flows stay 1; new flows default
241
- * to 2.
330
+ * a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed
331
+ * as {{steps.<key>...}} instead of by name; trigger.payload is not available).
332
+ * Existing flows stay 1; new flows default to the current version.
242
333
  */
243
334
  templateResolutionVersion: number;
244
335
  triggerId: string;
@@ -249,6 +340,17 @@ export declare namespace FlowUpdateResponse {
249
340
  userId: string;
250
341
  }
251
342
  namespace Data {
343
+ interface Delivery {
344
+ destination: 'one_drive' | 'google_drive';
345
+ folder?: string;
346
+ recording?: Delivery.Recording;
347
+ screenshots?: unknown;
348
+ }
349
+ namespace Delivery {
350
+ interface Recording {
351
+ filename: string;
352
+ }
353
+ }
252
354
  interface RecordingPolicy {
253
355
  mode: 'off' | 'flow' | 'selected_steps';
254
356
  }
@@ -268,6 +370,7 @@ export declare namespace FlowListResponse {
268
370
  cooldownSeconds: number | null;
269
371
  createdAt: string | null;
270
372
  createdBy: string | null;
373
+ delivery: Item.Delivery | null;
271
374
  description: string | null;
272
375
  deviceIds: Array<string>;
273
376
  /**
@@ -297,8 +400,9 @@ export declare namespace FlowListResponse {
297
400
  /**
298
401
  * Template-resolver semantics this flow runs under (MVA-23). 1 = legacy
299
402
  * (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw,
300
- * a whole-token null stays JSON null). Existing flows stay 1; new flows default
301
- * to 2.
403
+ * a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed
404
+ * as {{steps.<key>...}} instead of by name; trigger.payload is not available).
405
+ * Existing flows stay 1; new flows default to the current version.
302
406
  */
303
407
  templateResolutionVersion: number;
304
408
  triggerId: string;
@@ -309,6 +413,17 @@ export declare namespace FlowListResponse {
309
413
  userId: string;
310
414
  }
311
415
  namespace Item {
416
+ interface Delivery {
417
+ destination: 'one_drive' | 'google_drive';
418
+ folder?: string;
419
+ recording?: Delivery.Recording;
420
+ screenshots?: unknown;
421
+ }
422
+ namespace Delivery {
423
+ interface Recording {
424
+ filename: string;
425
+ }
426
+ }
312
427
  interface RecordingPolicy {
313
428
  mode: 'off' | 'flow' | 'selected_steps';
314
429
  }
@@ -317,6 +432,78 @@ export declare namespace FlowListResponse {
317
432
  export interface FlowDeleteResponse {
318
433
  message: string;
319
434
  }
435
+ export interface FlowActivateResponse {
436
+ data: FlowActivateResponse.Data;
437
+ }
438
+ export declare namespace FlowActivateResponse {
439
+ interface Data {
440
+ id: string;
441
+ archivedAt: string | null;
442
+ blockedAt: string | null;
443
+ consecutiveFailures: number;
444
+ cooldownScope: 'flow' | 'device';
445
+ cooldownSeconds: number | null;
446
+ createdAt: string | null;
447
+ createdBy: string | null;
448
+ delivery: Data.Delivery | null;
449
+ description: string | null;
450
+ deviceIds: Array<string>;
451
+ /**
452
+ * Compatibility projection of lifecycleStatus; true only when lifecycleStatus is
453
+ * enabled.
454
+ */
455
+ enabled: boolean;
456
+ healthMonitoringEnabled: boolean;
457
+ lastFailureAt: string | null;
458
+ lastFailureCode: 'device_not_found' | 'permission_denied' | 'client_error' | 'transient' | 'logic' | 'invalid_config' | null;
459
+ lastTriggeredAt: string | null;
460
+ lifecycleStatus: 'enabled' | 'disabled' | 'archived';
461
+ name: string;
462
+ notifyOnFailure: boolean;
463
+ notifyOnSuccess: boolean;
464
+ notifyWebhookId: string | null;
465
+ ownerId: string;
466
+ /**
467
+ * @deprecated Deprecated: use recordingPolicy.mode ("flow" =
468
+ * recordingEnabled=true, "off" = recordingEnabled=false).
469
+ */
470
+ recordingEnabled: boolean;
471
+ recordingPolicy: Data.RecordingPolicy;
472
+ selfHealingEnabled: boolean;
473
+ selfHealingMaxAttempts: number;
474
+ status: 'healthy' | 'failing' | 'blocked';
475
+ /**
476
+ * Template-resolver semantics this flow runs under (MVA-23). 1 = legacy
477
+ * (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw,
478
+ * a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed
479
+ * as {{steps.<key>...}} instead of by name; trigger.payload is not available).
480
+ * Existing flows stay 1; new flows default to the current version.
481
+ */
482
+ templateResolutionVersion: number;
483
+ triggerId: string;
484
+ updatedAt: string | null;
485
+ /**
486
+ * @deprecated Deprecated: use ownerId (tenancy) / createdBy (actor).
487
+ */
488
+ userId: string;
489
+ }
490
+ namespace Data {
491
+ interface Delivery {
492
+ destination: 'one_drive' | 'google_drive';
493
+ folder?: string;
494
+ recording?: Delivery.Recording;
495
+ screenshots?: unknown;
496
+ }
497
+ namespace Delivery {
498
+ interface Recording {
499
+ filename: string;
500
+ }
501
+ }
502
+ interface RecordingPolicy {
503
+ mode: 'off' | 'flow' | 'selected_steps';
504
+ }
505
+ }
506
+ }
320
507
  export interface FlowCapacityResponse {
321
508
  data: FlowCapacityResponse.Data;
322
509
  }
@@ -340,6 +527,7 @@ export declare namespace FlowCloneResponse {
340
527
  cooldownSeconds: number | null;
341
528
  createdAt: string | null;
342
529
  createdBy: string | null;
530
+ delivery: Data.Delivery | null;
343
531
  description: string | null;
344
532
  deviceIds: Array<string>;
345
533
  /**
@@ -369,8 +557,9 @@ export declare namespace FlowCloneResponse {
369
557
  /**
370
558
  * Template-resolver semantics this flow runs under (MVA-23). 1 = legacy
371
559
  * (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw,
372
- * a whole-token null stays JSON null). Existing flows stay 1; new flows default
373
- * to 2.
560
+ * a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed
561
+ * as {{steps.<key>...}} instead of by name; trigger.payload is not available).
562
+ * Existing flows stay 1; new flows default to the current version.
374
563
  */
375
564
  templateResolutionVersion: number;
376
565
  triggerId: string;
@@ -381,11 +570,50 @@ export declare namespace FlowCloneResponse {
381
570
  userId: string;
382
571
  }
383
572
  namespace Data {
573
+ interface Delivery {
574
+ destination: 'one_drive' | 'google_drive';
575
+ folder?: string;
576
+ recording?: Delivery.Recording;
577
+ screenshots?: unknown;
578
+ }
579
+ namespace Delivery {
580
+ interface Recording {
581
+ filename: string;
582
+ }
583
+ }
384
584
  interface RecordingPolicy {
385
585
  mode: 'off' | 'flow' | 'selected_steps';
386
586
  }
387
587
  }
388
588
  }
589
+ export interface FlowDeliveryOptionsResponse {
590
+ data: FlowDeliveryOptionsResponse.Data;
591
+ }
592
+ export declare namespace FlowDeliveryOptionsResponse {
593
+ interface Data {
594
+ canDeliverRecording: boolean;
595
+ /**
596
+ * Delivery destinations in registry order.
597
+ */
598
+ destinations: Array<Data.Destination>;
599
+ directUploadStep: Data.DirectUploadStep | null;
600
+ hasFilesUpload: boolean;
601
+ recordingMode: 'off' | 'flow' | 'selected_steps';
602
+ }
603
+ namespace Data {
604
+ interface Destination {
605
+ connection: 'connected' | 'not_connected' | 'expired' | 'unknown';
606
+ connectKey: string;
607
+ iconUrl: string | null;
608
+ key: 'one_drive' | 'google_drive';
609
+ label: string;
610
+ }
611
+ interface DirectUploadStep {
612
+ flowActionId: string;
613
+ name: string;
614
+ }
615
+ }
616
+ }
389
617
  export interface FlowDryRunResponse {
390
618
  data: FlowDryRunResponse.Data;
391
619
  }
@@ -404,10 +632,11 @@ export declare namespace FlowDryRunResponse {
404
632
  interface Action {
405
633
  continueOnError: boolean;
406
634
  flowActionId: string;
635
+ key: string;
407
636
  method: string;
408
637
  name: string;
409
638
  recordingEnabled: boolean;
410
- service: 'tasks_api' | 'devices_api' | 'agents_api' | 'webhooks';
639
+ service: 'tasks_api' | 'devices_api' | 'agents_api' | 'webhooks' | 'integrations_api';
411
640
  /**
412
641
  * Nested child actions (loop/branch bodies), each the same shape as a
413
642
  * ResolvedAction.
@@ -469,6 +698,50 @@ export declare namespace FlowListRepairsResponse {
469
698
  }
470
699
  }
471
700
  }
701
+ export interface FlowRunResponse {
702
+ data: FlowRunResponse.Data;
703
+ }
704
+ export declare namespace FlowRunResponse {
705
+ interface Data {
706
+ enqueuedCount: number;
707
+ /**
708
+ * Ids of the executions this run created. An idempotent replay returns the ids of
709
+ * the original run.
710
+ */
711
+ executionIds: Array<string>;
712
+ }
713
+ }
714
+ export interface FlowTemplateContextResponse {
715
+ data: FlowTemplateContextResponse.Data;
716
+ }
717
+ export declare namespace FlowTemplateContextResponse {
718
+ interface Data {
719
+ grammar: string;
720
+ loop: Data.Loop;
721
+ payloadAliases: Array<string>;
722
+ roots: Array<Data.Root>;
723
+ stepReference: Data.StepReference;
724
+ templateResolutionVersion: number;
725
+ }
726
+ namespace Data {
727
+ interface Loop {
728
+ context: Array<string>;
729
+ itemVariableDefault: string;
730
+ name: string;
731
+ }
732
+ interface Root {
733
+ description: string;
734
+ name: string;
735
+ shape?: unknown;
736
+ }
737
+ interface StepReference {
738
+ note: string;
739
+ pattern: string;
740
+ keyRule?: string;
741
+ slugRule?: string;
742
+ }
743
+ }
744
+ }
472
745
  export interface FlowUnblockResponse {
473
746
  data: FlowUnblockResponse.Data;
474
747
  }
@@ -482,6 +755,7 @@ export declare namespace FlowUnblockResponse {
482
755
  cooldownSeconds: number | null;
483
756
  createdAt: string | null;
484
757
  createdBy: string | null;
758
+ delivery: Data.Delivery | null;
485
759
  description: string | null;
486
760
  deviceIds: Array<string>;
487
761
  /**
@@ -511,8 +785,9 @@ export declare namespace FlowUnblockResponse {
511
785
  /**
512
786
  * Template-resolver semantics this flow runs under (MVA-23). 1 = legacy
513
787
  * (missing/forbidden/null all resolve to ''). 2 = typed (missing/forbidden throw,
514
- * a whole-token null stays JSON null). Existing flows stay 1; new flows default
515
- * to 2.
788
+ * a whole-token null stays JSON null). 3 = typed, key-based (steps are addressed
789
+ * as {{steps.<key>...}} instead of by name; trigger.payload is not available).
790
+ * Existing flows stay 1; new flows default to the current version.
516
791
  */
517
792
  templateResolutionVersion: number;
518
793
  triggerId: string;
@@ -523,17 +798,77 @@ export declare namespace FlowUnblockResponse {
523
798
  userId: string;
524
799
  }
525
800
  namespace Data {
801
+ interface Delivery {
802
+ destination: 'one_drive' | 'google_drive';
803
+ folder?: string;
804
+ recording?: Delivery.Recording;
805
+ screenshots?: unknown;
806
+ }
807
+ namespace Delivery {
808
+ interface Recording {
809
+ filename: string;
810
+ }
811
+ }
526
812
  interface RecordingPolicy {
527
813
  mode: 'off' | 'flow' | 'selected_steps';
528
814
  }
529
815
  }
530
816
  }
817
+ export interface FlowValidateResponse {
818
+ data: FlowValidateResponse.Data;
819
+ }
820
+ export declare namespace FlowValidateResponse {
821
+ interface Data {
822
+ errors: Array<Data.Error>;
823
+ valid: boolean;
824
+ warnings: Array<Data.Warning>;
825
+ }
826
+ namespace Data {
827
+ interface Error {
828
+ code: string;
829
+ field: string;
830
+ message: string;
831
+ knownSteps?: Array<string>;
832
+ reference?: string;
833
+ }
834
+ interface Warning {
835
+ code: string;
836
+ message: string;
837
+ connectKey?: string;
838
+ destination?: string;
839
+ }
840
+ }
841
+ }
842
+ export interface FlowVerifyResponse {
843
+ data: FlowVerifyResponse.Data;
844
+ }
845
+ export declare namespace FlowVerifyResponse {
846
+ interface Data {
847
+ /**
848
+ * True when this run already existed for the (flow, invocationId) key (HTTP 200);
849
+ * false for a newly enqueued run (HTTP 202).
850
+ */
851
+ deduplicated: boolean;
852
+ /**
853
+ * Device the verification runs on; null for a device-free verification (a 0-device
854
+ * flow whose actions are all device-free allowlisted).
855
+ */
856
+ deviceId: string | null;
857
+ executionId: string;
858
+ flowId: string;
859
+ invocationId: string;
860
+ kind: 'verification';
861
+ status: 'pending' | 'running' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'invalid';
862
+ triggerId: string;
863
+ }
864
+ }
531
865
  export interface FlowCreateParams {
532
866
  actions: Array<FlowCreateParams.Action>;
533
867
  name: string;
534
868
  triggerId: string;
535
869
  cooldownScope?: 'flow' | 'device';
536
870
  cooldownSeconds?: number | null;
871
+ delivery?: FlowCreateParams.Delivery;
537
872
  description?: string;
538
873
  deviceIds?: Array<string>;
539
874
  enabled?: boolean;
@@ -541,10 +876,6 @@ export interface FlowCreateParams {
541
876
  notifyOnFailure?: boolean;
542
877
  notifyOnSuccess?: boolean;
543
878
  notifyWebhookId?: string | null;
544
- /**
545
- * @deprecated Deprecated compatibility field. true maps to
546
- * recordingPolicy.mode="flow"; false maps to "off".
547
- */
548
879
  recordingEnabled?: boolean;
549
880
  recordingPolicy?: FlowCreateParams.RecordingPolicy;
550
881
  selfHealingEnabled?: boolean;
@@ -556,6 +887,14 @@ export declare namespace FlowCreateParams {
556
887
  position: number;
557
888
  children?: Array<Action.Child>;
558
889
  continueOnError?: boolean;
890
+ /**
891
+ * Stable identifier used by template resolution v2+ to address this step as
892
+ * {{key.field}}. Omitted keys are derived from the step name whenever a flow is
893
+ * created. For template resolution v3, replacing an existing flow's full action
894
+ * tree requires every step to carry an explicit key — a missing key is rejected
895
+ * there, not derived, so a name change can never silently move a step's key.
896
+ */
897
+ key?: string;
559
898
  nameOverride?: string;
560
899
  overrides?: Action.Overrides | null;
561
900
  recordingEnabled?: boolean;
@@ -565,6 +904,14 @@ export declare namespace FlowCreateParams {
565
904
  actionId: string;
566
905
  position: number;
567
906
  continueOnError?: boolean;
907
+ /**
908
+ * Stable identifier used by template resolution v2+ to address this step as
909
+ * {{key.field}}. Omitted keys are derived from the step name whenever a flow is
910
+ * created. For template resolution v3, replacing an existing flow's full action
911
+ * tree requires every step to carry an explicit key — a missing key is rejected
912
+ * there, not derived, so a name change can never silently move a step's key.
913
+ */
914
+ key?: string;
568
915
  nameOverride?: string;
569
916
  overrides?: Child.Overrides | null;
570
917
  recordingEnabled?: boolean;
@@ -582,6 +929,17 @@ export declare namespace FlowCreateParams {
582
929
  };
583
930
  }
584
931
  }
932
+ interface Delivery {
933
+ destination: 'one_drive' | 'google_drive';
934
+ folder?: string;
935
+ recording?: Delivery.Recording;
936
+ screenshots?: unknown;
937
+ }
938
+ namespace Delivery {
939
+ interface Recording {
940
+ filename: string;
941
+ }
942
+ }
585
943
  interface RecordingPolicy {
586
944
  mode: 'off' | 'flow' | 'selected_steps';
587
945
  }
@@ -589,6 +947,7 @@ export declare namespace FlowCreateParams {
589
947
  export interface FlowUpdateParams {
590
948
  cooldownScope?: 'flow' | 'device';
591
949
  cooldownSeconds?: number | null;
950
+ delivery?: FlowUpdateParams.Delivery | null;
592
951
  description?: string;
593
952
  deviceIds?: Array<string>;
594
953
  enabled?: boolean;
@@ -612,6 +971,17 @@ export interface FlowUpdateParams {
612
971
  triggerId?: string;
613
972
  }
614
973
  export declare namespace FlowUpdateParams {
974
+ interface Delivery {
975
+ destination: 'one_drive' | 'google_drive';
976
+ folder?: string;
977
+ recording?: Delivery.Recording;
978
+ screenshots?: unknown;
979
+ }
980
+ namespace Delivery {
981
+ interface Recording {
982
+ filename: string;
983
+ }
984
+ }
615
985
  interface RecordingPolicy {
616
986
  mode: 'off' | 'flow' | 'selected_steps';
617
987
  }
@@ -634,6 +1004,9 @@ export interface FlowListParams {
634
1004
  status?: Array<'healthy' | 'failing' | 'blocked'>;
635
1005
  triggerId?: string;
636
1006
  }
1007
+ export interface FlowActivateParams {
1008
+ verificationExecutionId: string;
1009
+ }
637
1010
  export interface FlowCloneParams {
638
1011
  deviceIds?: Array<string>;
639
1012
  name?: string;
@@ -643,8 +1016,146 @@ export interface FlowDryRunParams {
643
1016
  [key: string]: unknown;
644
1017
  };
645
1018
  }
1019
+ export interface FlowRunParams {
1020
+ payload?: {
1021
+ [key: string]: unknown;
1022
+ };
1023
+ }
1024
+ export interface FlowTemplateContextParams {
1025
+ templateResolutionVersion?: number;
1026
+ }
1027
+ export interface FlowValidateParams {
1028
+ actions: Array<FlowValidateParams.FlowActionInput | FlowValidateParams.FlowDraftActionInput>;
1029
+ name: string;
1030
+ cooldownScope?: 'flow' | 'device';
1031
+ cooldownSeconds?: number | null;
1032
+ delivery?: FlowValidateParams.Delivery;
1033
+ description?: string;
1034
+ deviceIds?: Array<string>;
1035
+ enabled?: boolean;
1036
+ healthMonitoringEnabled?: boolean;
1037
+ notifyOnFailure?: boolean;
1038
+ notifyOnSuccess?: boolean;
1039
+ notifyWebhookId?: string | null;
1040
+ recordingEnabled?: boolean;
1041
+ recordingPolicy?: FlowValidateParams.RecordingPolicy;
1042
+ selfHealingEnabled?: boolean;
1043
+ selfHealingMaxAttempts?: number;
1044
+ triggerId?: string;
1045
+ }
1046
+ export declare namespace FlowValidateParams {
1047
+ interface FlowActionInput {
1048
+ actionId: string;
1049
+ position: number;
1050
+ children?: Array<FlowActionInput.Child>;
1051
+ continueOnError?: boolean;
1052
+ /**
1053
+ * Stable identifier used by template resolution v2+ to address this step as
1054
+ * {{key.field}}. Omitted keys are derived from the step name whenever a flow is
1055
+ * created. For template resolution v3, replacing an existing flow's full action
1056
+ * tree requires every step to carry an explicit key — a missing key is rejected
1057
+ * there, not derived, so a name change can never silently move a step's key.
1058
+ */
1059
+ key?: string;
1060
+ nameOverride?: string;
1061
+ overrides?: FlowActionInput.Overrides | null;
1062
+ recordingEnabled?: boolean;
1063
+ }
1064
+ namespace FlowActionInput {
1065
+ interface Child {
1066
+ actionId: string;
1067
+ position: number;
1068
+ continueOnError?: boolean;
1069
+ /**
1070
+ * Stable identifier used by template resolution v2+ to address this step as
1071
+ * {{key.field}}. Omitted keys are derived from the step name whenever a flow is
1072
+ * created. For template resolution v3, replacing an existing flow's full action
1073
+ * tree requires every step to carry an explicit key — a missing key is rejected
1074
+ * there, not derived, so a name change can never silently move a step's key.
1075
+ */
1076
+ key?: string;
1077
+ nameOverride?: string;
1078
+ overrides?: Child.Overrides | null;
1079
+ recordingEnabled?: boolean;
1080
+ }
1081
+ namespace Child {
1082
+ interface Overrides {
1083
+ params?: {
1084
+ [key: string]: unknown;
1085
+ };
1086
+ }
1087
+ }
1088
+ interface Overrides {
1089
+ params?: {
1090
+ [key: string]: unknown;
1091
+ };
1092
+ }
1093
+ }
1094
+ interface FlowDraftActionInput {
1095
+ draft: FlowDraftActionInput.Draft;
1096
+ position: number;
1097
+ continueOnError?: boolean;
1098
+ /**
1099
+ * Stable identifier used by template resolution v2+ to address this step as
1100
+ * {{key.field}}. Omitted keys are derived from the step name whenever a flow is
1101
+ * created. For template resolution v3, replacing an existing flow's full action
1102
+ * tree requires every step to carry an explicit key — a missing key is rejected
1103
+ * there, not derived, so a name change can never silently move a step's key.
1104
+ */
1105
+ key?: string;
1106
+ nameOverride?: string;
1107
+ overrides?: FlowDraftActionInput.Overrides | null;
1108
+ recordingEnabled?: boolean;
1109
+ }
1110
+ namespace FlowDraftActionInput {
1111
+ interface Draft {
1112
+ method: string;
1113
+ name: string;
1114
+ service: string;
1115
+ params?: {
1116
+ [key: string]: unknown;
1117
+ };
1118
+ }
1119
+ interface Overrides {
1120
+ params?: {
1121
+ [key: string]: unknown;
1122
+ };
1123
+ }
1124
+ }
1125
+ interface Delivery {
1126
+ destination: 'one_drive' | 'google_drive';
1127
+ folder?: string;
1128
+ recording?: Delivery.Recording;
1129
+ screenshots?: unknown;
1130
+ }
1131
+ namespace Delivery {
1132
+ interface Recording {
1133
+ filename: string;
1134
+ }
1135
+ }
1136
+ interface RecordingPolicy {
1137
+ mode: 'off' | 'flow' | 'selected_steps';
1138
+ }
1139
+ }
1140
+ export interface FlowVerifyParams {
1141
+ /**
1142
+ * Client-supplied idempotency key. A repeat request for the same (flow,
1143
+ * invocationId) returns the existing verification run (`deduplicated: true`,
1144
+ * HTTP 200) instead of enqueuing another.
1145
+ */
1146
+ invocationId: string;
1147
+ /**
1148
+ * Device to run the verification on. Must be one the flow is bound to. Optional
1149
+ * only when the flow is bound to exactly one device (that device is used);
1150
+ * otherwise required.
1151
+ */
1152
+ deviceId?: string;
1153
+ payload?: {
1154
+ [key: string]: unknown;
1155
+ };
1156
+ }
646
1157
  export declare namespace Flows {
647
- export { type FlowCreateResponse as FlowCreateResponse, type FlowRetrieveResponse as FlowRetrieveResponse, type FlowUpdateResponse as FlowUpdateResponse, type FlowListResponse as FlowListResponse, type FlowDeleteResponse as FlowDeleteResponse, type FlowCapacityResponse as FlowCapacityResponse, type FlowCloneResponse as FlowCloneResponse, type FlowDryRunResponse as FlowDryRunResponse, type FlowListRepairsResponse as FlowListRepairsResponse, type FlowUnblockResponse as FlowUnblockResponse, type FlowCreateParams as FlowCreateParams, type FlowUpdateParams as FlowUpdateParams, type FlowListParams as FlowListParams, type FlowCloneParams as FlowCloneParams, type FlowDryRunParams as FlowDryRunParams, };
1158
+ export { type FlowCreateResponse as FlowCreateResponse, type FlowRetrieveResponse as FlowRetrieveResponse, type FlowUpdateResponse as FlowUpdateResponse, type FlowListResponse as FlowListResponse, type FlowDeleteResponse as FlowDeleteResponse, type FlowActivateResponse as FlowActivateResponse, type FlowCapacityResponse as FlowCapacityResponse, type FlowCloneResponse as FlowCloneResponse, type FlowDeliveryOptionsResponse as FlowDeliveryOptionsResponse, type FlowDryRunResponse as FlowDryRunResponse, type FlowListRepairsResponse as FlowListRepairsResponse, type FlowRunResponse as FlowRunResponse, type FlowTemplateContextResponse as FlowTemplateContextResponse, type FlowUnblockResponse as FlowUnblockResponse, type FlowValidateResponse as FlowValidateResponse, type FlowVerifyResponse as FlowVerifyResponse, type FlowCreateParams as FlowCreateParams, type FlowUpdateParams as FlowUpdateParams, type FlowListParams as FlowListParams, type FlowActivateParams as FlowActivateParams, type FlowCloneParams as FlowCloneParams, type FlowDryRunParams as FlowDryRunParams, type FlowRunParams as FlowRunParams, type FlowTemplateContextParams as FlowTemplateContextParams, type FlowValidateParams as FlowValidateParams, type FlowVerifyParams as FlowVerifyParams, };
648
1159
  export { Actions as Actions, type ActionListResponse as ActionListResponse, type ActionAddResponse as ActionAddResponse, type ActionRemoveResponse as ActionRemoveResponse, type ActionReplaceResponse as ActionReplaceResponse, type ActionAddParams as ActionAddParams, type ActionRemoveParams as ActionRemoveParams, type ActionReplaceParams as ActionReplaceParams, };
649
1160
  }
650
1161
  //# sourceMappingURL=flows.d.ts.map