@airtop/sdk 0.1.36 → 0.1.37-beta1

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 (327) hide show
  1. package/Client.d.ts +3 -0
  2. package/Client.js +11 -6
  3. package/README.md +9 -10
  4. package/api/resources/automations/client/Client.js +4 -4
  5. package/api/resources/files/client/Client.d.ts +69 -0
  6. package/api/resources/files/client/Client.js +286 -0
  7. package/api/resources/files/client/index.d.ts +1 -0
  8. package/api/resources/files/client/index.js +17 -0
  9. package/api/resources/files/client/requests/CreateFileRestInputV1.d.ts +20 -0
  10. package/api/resources/files/client/requests/CreateFileRestInputV1.js +5 -0
  11. package/api/resources/files/client/requests/FilesListRequest.d.ts +24 -0
  12. package/api/resources/files/client/requests/FilesListRequest.js +5 -0
  13. package/api/resources/files/client/requests/index.d.ts +2 -0
  14. package/api/resources/files/client/requests/index.js +2 -0
  15. package/api/resources/files/index.d.ts +2 -0
  16. package/api/resources/files/index.js +18 -0
  17. package/api/resources/files/types/CreateFileRestInputV1FileType.d.ts +13 -0
  18. package/api/resources/files/types/CreateFileRestInputV1FileType.js +12 -0
  19. package/api/resources/files/types/index.d.ts +1 -0
  20. package/api/resources/files/types/index.js +17 -0
  21. package/api/resources/index.d.ts +3 -0
  22. package/api/resources/index.js +4 -1
  23. package/api/resources/profiles/client/Client.js +1 -1
  24. package/api/resources/requests/client/Client.js +1 -1
  25. package/api/resources/sessions/client/Client.js +6 -6
  26. package/api/resources/sessions/types/SessionsEventsResponse.d.ts +7 -4
  27. package/api/resources/sessions/types/SessionsEventsResponseFileEvent.d.ts +11 -0
  28. package/api/resources/sessions/types/SessionsEventsResponseFileEvent.js +5 -0
  29. package/api/resources/sessions/types/index.d.ts +2 -1
  30. package/api/resources/sessions/types/index.js +2 -1
  31. package/api/resources/windows/client/Client.d.ts +126 -0
  32. package/api/resources/windows/client/Client.js +577 -21
  33. package/api/resources/windows/client/requests/AsyncClickRequest.d.ts +29 -0
  34. package/api/resources/windows/client/requests/AsyncClickRequest.js +5 -0
  35. package/api/resources/windows/client/requests/AsyncHoverRequest.d.ts +27 -0
  36. package/api/resources/windows/client/requests/AsyncHoverRequest.js +5 -0
  37. package/api/resources/windows/client/requests/AsyncMonitorRequest.d.ts +27 -0
  38. package/api/resources/windows/client/requests/AsyncMonitorRequest.js +5 -0
  39. package/api/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +29 -0
  40. package/api/resources/windows/client/requests/AsyncPageQueryRequest.js +5 -0
  41. package/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +27 -0
  42. package/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +5 -0
  43. package/api/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +29 -0
  44. package/api/resources/windows/client/requests/AsyncPromptContentRequest.js +5 -0
  45. package/api/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +23 -0
  46. package/api/resources/windows/client/requests/AsyncScreenshotRequest.js +5 -0
  47. package/api/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +25 -0
  48. package/api/resources/windows/client/requests/AsyncSummarizeContentRequest.js +5 -0
  49. package/api/resources/windows/client/requests/AsyncTypeRequest.d.ts +37 -0
  50. package/api/resources/windows/client/requests/AsyncTypeRequest.js +5 -0
  51. package/api/resources/windows/client/requests/OperatorPromptV1Body.d.ts +25 -0
  52. package/api/resources/windows/client/requests/OperatorPromptV1Body.js +5 -0
  53. package/api/resources/windows/client/requests/index.d.ts +10 -0
  54. package/api/types/AsyncOperatorPromptResponseEnvelope.d.ts +9 -0
  55. package/api/types/AsyncOperatorPromptResponseEnvelope.js +5 -0
  56. package/api/types/CreateFileV1.d.ts +24 -0
  57. package/api/types/CreateFileV1.js +5 -0
  58. package/api/types/CreateFileV1FileType.d.ts +13 -0
  59. package/api/types/CreateFileV1FileType.js +12 -0
  60. package/api/types/CreateFileV1Status.d.ts +13 -0
  61. package/api/types/CreateFileV1Status.js +12 -0
  62. package/api/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.d.ts +10 -0
  63. package/api/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.js +5 -0
  64. package/api/types/EnvelopeGetFileV1EnvelopeDefaultMeta.d.ts +10 -0
  65. package/api/types/EnvelopeGetFileV1EnvelopeDefaultMeta.js +5 -0
  66. package/api/types/ExternalFile.d.ts +35 -0
  67. package/api/types/ExternalFile.js +5 -0
  68. package/api/types/FileEventMessage.d.ts +16 -0
  69. package/api/types/FileEventMessage.js +5 -0
  70. package/api/types/FileEventMessageStatus.d.ts +13 -0
  71. package/api/types/FileEventMessageStatus.js +12 -0
  72. package/api/types/FilesResponse.d.ts +10 -0
  73. package/api/types/FilesResponse.js +5 -0
  74. package/api/types/FilesWithPagination.d.ts +10 -0
  75. package/api/types/FilesWithPagination.js +5 -0
  76. package/api/types/GetFileV1.d.ts +26 -0
  77. package/api/types/GetFileV1.js +5 -0
  78. package/api/types/GetFileV1FileType.d.ts +13 -0
  79. package/api/types/GetFileV1FileType.js +12 -0
  80. package/api/types/GetFileV1Status.d.ts +13 -0
  81. package/api/types/GetFileV1Status.js +12 -0
  82. package/api/types/index.d.ts +14 -0
  83. package/api/types/index.js +14 -0
  84. package/dist/Client.d.ts +3 -0
  85. package/dist/Client.js +11 -6
  86. package/dist/api/resources/automations/client/Client.js +4 -4
  87. package/dist/api/resources/files/client/Client.d.ts +69 -0
  88. package/dist/api/resources/files/client/Client.js +286 -0
  89. package/dist/api/resources/files/client/index.d.ts +1 -0
  90. package/dist/api/resources/files/client/index.js +17 -0
  91. package/dist/api/resources/files/client/requests/CreateFileRestInputV1.d.ts +20 -0
  92. package/dist/api/resources/files/client/requests/CreateFileRestInputV1.js +5 -0
  93. package/dist/api/resources/files/client/requests/FilesListRequest.d.ts +24 -0
  94. package/dist/api/resources/files/client/requests/FilesListRequest.js +5 -0
  95. package/dist/api/resources/files/client/requests/index.d.ts +2 -0
  96. package/dist/api/resources/files/client/requests/index.js +2 -0
  97. package/dist/api/resources/files/index.d.ts +2 -0
  98. package/dist/api/resources/files/index.js +18 -0
  99. package/dist/api/resources/files/types/CreateFileRestInputV1FileType.d.ts +13 -0
  100. package/dist/api/resources/files/types/CreateFileRestInputV1FileType.js +12 -0
  101. package/dist/api/resources/files/types/index.d.ts +1 -0
  102. package/dist/api/resources/files/types/index.js +17 -0
  103. package/dist/api/resources/index.d.ts +3 -0
  104. package/dist/api/resources/index.js +4 -1
  105. package/dist/api/resources/profiles/client/Client.js +1 -1
  106. package/dist/api/resources/requests/client/Client.js +1 -1
  107. package/dist/api/resources/sessions/client/Client.js +6 -6
  108. package/dist/api/resources/sessions/types/SessionsEventsResponse.d.ts +7 -4
  109. package/dist/api/resources/sessions/types/SessionsEventsResponseFileEvent.d.ts +11 -0
  110. package/dist/api/resources/sessions/types/SessionsEventsResponseFileEvent.js +5 -0
  111. package/dist/api/resources/sessions/types/index.d.ts +2 -1
  112. package/dist/api/resources/sessions/types/index.js +2 -1
  113. package/dist/api/resources/windows/client/Client.d.ts +126 -0
  114. package/dist/api/resources/windows/client/Client.js +577 -21
  115. package/dist/api/resources/windows/client/requests/AsyncClickRequest.d.ts +29 -0
  116. package/dist/api/resources/windows/client/requests/AsyncClickRequest.js +5 -0
  117. package/dist/api/resources/windows/client/requests/AsyncHoverRequest.d.ts +27 -0
  118. package/dist/api/resources/windows/client/requests/AsyncHoverRequest.js +5 -0
  119. package/dist/api/resources/windows/client/requests/AsyncMonitorRequest.d.ts +27 -0
  120. package/dist/api/resources/windows/client/requests/AsyncMonitorRequest.js +5 -0
  121. package/dist/api/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +29 -0
  122. package/dist/api/resources/windows/client/requests/AsyncPageQueryRequest.js +5 -0
  123. package/dist/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +27 -0
  124. package/dist/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +5 -0
  125. package/dist/api/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +29 -0
  126. package/dist/api/resources/windows/client/requests/AsyncPromptContentRequest.js +5 -0
  127. package/dist/api/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +23 -0
  128. package/dist/api/resources/windows/client/requests/AsyncScreenshotRequest.js +5 -0
  129. package/dist/api/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +25 -0
  130. package/dist/api/resources/windows/client/requests/AsyncSummarizeContentRequest.js +5 -0
  131. package/dist/api/resources/windows/client/requests/AsyncTypeRequest.d.ts +37 -0
  132. package/dist/api/resources/windows/client/requests/AsyncTypeRequest.js +5 -0
  133. package/dist/api/resources/windows/client/requests/OperatorPromptV1Body.d.ts +25 -0
  134. package/dist/api/resources/windows/client/requests/OperatorPromptV1Body.js +5 -0
  135. package/dist/api/resources/windows/client/requests/index.d.ts +10 -0
  136. package/dist/api/types/AsyncOperatorPromptResponseEnvelope.d.ts +9 -0
  137. package/dist/api/types/AsyncOperatorPromptResponseEnvelope.js +5 -0
  138. package/dist/api/types/CreateFileV1.d.ts +24 -0
  139. package/dist/api/types/CreateFileV1.js +5 -0
  140. package/dist/api/types/CreateFileV1FileType.d.ts +13 -0
  141. package/dist/api/types/CreateFileV1FileType.js +12 -0
  142. package/dist/api/types/CreateFileV1Status.d.ts +13 -0
  143. package/dist/api/types/CreateFileV1Status.js +12 -0
  144. package/dist/api/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.d.ts +10 -0
  145. package/dist/api/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.js +5 -0
  146. package/dist/api/types/EnvelopeGetFileV1EnvelopeDefaultMeta.d.ts +10 -0
  147. package/dist/api/types/EnvelopeGetFileV1EnvelopeDefaultMeta.js +5 -0
  148. package/dist/api/types/ExternalFile.d.ts +35 -0
  149. package/dist/api/types/ExternalFile.js +5 -0
  150. package/dist/api/types/FileEventMessage.d.ts +16 -0
  151. package/dist/api/types/FileEventMessage.js +5 -0
  152. package/dist/api/types/FileEventMessageStatus.d.ts +13 -0
  153. package/dist/api/types/FileEventMessageStatus.js +12 -0
  154. package/dist/api/types/FilesResponse.d.ts +10 -0
  155. package/dist/api/types/FilesResponse.js +5 -0
  156. package/dist/api/types/FilesWithPagination.d.ts +10 -0
  157. package/dist/api/types/FilesWithPagination.js +5 -0
  158. package/dist/api/types/GetFileV1.d.ts +26 -0
  159. package/dist/api/types/GetFileV1.js +5 -0
  160. package/dist/api/types/GetFileV1FileType.d.ts +13 -0
  161. package/dist/api/types/GetFileV1FileType.js +12 -0
  162. package/dist/api/types/GetFileV1Status.d.ts +13 -0
  163. package/dist/api/types/GetFileV1Status.js +12 -0
  164. package/dist/api/types/index.d.ts +14 -0
  165. package/dist/api/types/index.js +14 -0
  166. package/dist/serialization/resources/files/client/index.d.ts +1 -0
  167. package/dist/serialization/resources/files/client/index.js +17 -0
  168. package/dist/serialization/resources/files/client/requests/CreateFileRestInputV1.d.ts +16 -0
  169. package/dist/serialization/resources/files/client/requests/CreateFileRestInputV1.js +47 -0
  170. package/dist/serialization/resources/files/client/requests/index.d.ts +1 -0
  171. package/dist/serialization/resources/files/client/requests/index.js +5 -0
  172. package/dist/serialization/resources/files/index.d.ts +2 -0
  173. package/dist/serialization/resources/files/index.js +18 -0
  174. package/dist/serialization/resources/files/types/CreateFileRestInputV1FileType.d.ts +10 -0
  175. package/dist/serialization/resources/files/types/CreateFileRestInputV1FileType.js +41 -0
  176. package/dist/serialization/resources/files/types/index.d.ts +1 -0
  177. package/dist/serialization/resources/files/types/index.js +17 -0
  178. package/dist/serialization/resources/index.d.ts +3 -0
  179. package/dist/serialization/resources/index.js +4 -1
  180. package/dist/serialization/resources/sessions/types/SessionsEventsResponse.d.ts +9 -5
  181. package/dist/serialization/resources/sessions/types/SessionsEventsResponse.js +4 -2
  182. package/dist/serialization/resources/sessions/types/SessionsEventsResponseFileEvent.d.ts +15 -0
  183. package/dist/serialization/resources/sessions/types/SessionsEventsResponseFileEvent.js +46 -0
  184. package/dist/serialization/resources/sessions/types/index.d.ts +2 -1
  185. package/dist/serialization/resources/sessions/types/index.js +2 -1
  186. package/dist/serialization/resources/windows/client/requests/AsyncClickRequest.d.ts +20 -0
  187. package/dist/serialization/resources/windows/client/requests/AsyncClickRequest.js +51 -0
  188. package/dist/serialization/resources/windows/client/requests/AsyncHoverRequest.d.ts +19 -0
  189. package/dist/serialization/resources/windows/client/requests/AsyncHoverRequest.js +50 -0
  190. package/dist/serialization/resources/windows/client/requests/AsyncMonitorRequest.d.ts +19 -0
  191. package/dist/serialization/resources/windows/client/requests/AsyncMonitorRequest.js +50 -0
  192. package/dist/serialization/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +20 -0
  193. package/dist/serialization/resources/windows/client/requests/AsyncPageQueryRequest.js +51 -0
  194. package/dist/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +19 -0
  195. package/dist/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +50 -0
  196. package/dist/serialization/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +20 -0
  197. package/dist/serialization/resources/windows/client/requests/AsyncPromptContentRequest.js +51 -0
  198. package/dist/serialization/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +18 -0
  199. package/dist/serialization/resources/windows/client/requests/AsyncScreenshotRequest.js +49 -0
  200. package/dist/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +19 -0
  201. package/dist/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.js +50 -0
  202. package/dist/serialization/resources/windows/client/requests/AsyncTypeRequest.d.ts +24 -0
  203. package/dist/serialization/resources/windows/client/requests/AsyncTypeRequest.js +55 -0
  204. package/dist/serialization/resources/windows/client/requests/OperatorPromptV1Body.d.ts +17 -0
  205. package/dist/serialization/resources/windows/client/requests/OperatorPromptV1Body.js +48 -0
  206. package/dist/serialization/resources/windows/client/requests/index.d.ts +10 -0
  207. package/dist/serialization/resources/windows/client/requests/index.js +21 -1
  208. package/dist/serialization/types/AsyncOperatorPromptResponseEnvelope.d.ts +15 -0
  209. package/dist/serialization/types/AsyncOperatorPromptResponseEnvelope.js +46 -0
  210. package/dist/serialization/types/CreateFileV1.d.ts +22 -0
  211. package/dist/serialization/types/CreateFileV1.js +53 -0
  212. package/dist/serialization/types/CreateFileV1FileType.d.ts +10 -0
  213. package/dist/serialization/types/CreateFileV1FileType.js +41 -0
  214. package/dist/serialization/types/CreateFileV1Status.d.ts +10 -0
  215. package/dist/serialization/types/CreateFileV1Status.js +41 -0
  216. package/dist/serialization/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.d.ts +18 -0
  217. package/dist/serialization/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.js +49 -0
  218. package/dist/serialization/types/EnvelopeGetFileV1EnvelopeDefaultMeta.d.ts +18 -0
  219. package/dist/serialization/types/EnvelopeGetFileV1EnvelopeDefaultMeta.js +49 -0
  220. package/dist/serialization/types/ExternalFile.d.ts +26 -0
  221. package/dist/serialization/types/ExternalFile.js +57 -0
  222. package/dist/serialization/types/FileEventMessage.d.ts +17 -0
  223. package/dist/serialization/types/FileEventMessage.js +48 -0
  224. package/dist/serialization/types/FileEventMessageStatus.d.ts +10 -0
  225. package/dist/serialization/types/FileEventMessageStatus.js +41 -0
  226. package/dist/serialization/types/FilesResponse.d.ts +18 -0
  227. package/dist/serialization/types/FilesResponse.js +49 -0
  228. package/dist/serialization/types/FilesWithPagination.d.ts +15 -0
  229. package/dist/serialization/types/FilesWithPagination.js +46 -0
  230. package/dist/serialization/types/GetFileV1.d.ts +23 -0
  231. package/dist/serialization/types/GetFileV1.js +54 -0
  232. package/dist/serialization/types/GetFileV1FileType.d.ts +10 -0
  233. package/dist/serialization/types/GetFileV1FileType.js +41 -0
  234. package/dist/serialization/types/GetFileV1Status.d.ts +10 -0
  235. package/dist/serialization/types/GetFileV1Status.js +41 -0
  236. package/dist/serialization/types/index.d.ts +14 -0
  237. package/dist/serialization/types/index.js +14 -0
  238. package/dist/version.d.ts +1 -1
  239. package/dist/version.js +1 -1
  240. package/dist/wrapper/AirtopClient.d.ts +3 -0
  241. package/dist/wrapper/AirtopClient.js +5 -0
  242. package/dist/wrapper/AirtopFiles.d.ts +50 -0
  243. package/dist/wrapper/AirtopFiles.js +180 -0
  244. package/dist/wrapper/AirtopSessions.d.ts +59 -0
  245. package/dist/wrapper/AirtopSessions.js +236 -17
  246. package/package.json +1 -1
  247. package/reference.md +1122 -166
  248. package/serialization/resources/files/client/index.d.ts +1 -0
  249. package/serialization/resources/files/client/index.js +17 -0
  250. package/serialization/resources/files/client/requests/CreateFileRestInputV1.d.ts +16 -0
  251. package/serialization/resources/files/client/requests/CreateFileRestInputV1.js +47 -0
  252. package/serialization/resources/files/client/requests/index.d.ts +1 -0
  253. package/serialization/resources/files/client/requests/index.js +5 -0
  254. package/serialization/resources/files/index.d.ts +2 -0
  255. package/serialization/resources/files/index.js +18 -0
  256. package/serialization/resources/files/types/CreateFileRestInputV1FileType.d.ts +10 -0
  257. package/serialization/resources/files/types/CreateFileRestInputV1FileType.js +41 -0
  258. package/serialization/resources/files/types/index.d.ts +1 -0
  259. package/serialization/resources/files/types/index.js +17 -0
  260. package/serialization/resources/index.d.ts +3 -0
  261. package/serialization/resources/index.js +4 -1
  262. package/serialization/resources/sessions/types/SessionsEventsResponse.d.ts +9 -5
  263. package/serialization/resources/sessions/types/SessionsEventsResponse.js +4 -2
  264. package/serialization/resources/sessions/types/SessionsEventsResponseFileEvent.d.ts +15 -0
  265. package/serialization/resources/sessions/types/SessionsEventsResponseFileEvent.js +46 -0
  266. package/serialization/resources/sessions/types/index.d.ts +2 -1
  267. package/serialization/resources/sessions/types/index.js +2 -1
  268. package/serialization/resources/windows/client/requests/AsyncClickRequest.d.ts +20 -0
  269. package/serialization/resources/windows/client/requests/AsyncClickRequest.js +51 -0
  270. package/serialization/resources/windows/client/requests/AsyncHoverRequest.d.ts +19 -0
  271. package/serialization/resources/windows/client/requests/AsyncHoverRequest.js +50 -0
  272. package/serialization/resources/windows/client/requests/AsyncMonitorRequest.d.ts +19 -0
  273. package/serialization/resources/windows/client/requests/AsyncMonitorRequest.js +50 -0
  274. package/serialization/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +20 -0
  275. package/serialization/resources/windows/client/requests/AsyncPageQueryRequest.js +51 -0
  276. package/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +19 -0
  277. package/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +50 -0
  278. package/serialization/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +20 -0
  279. package/serialization/resources/windows/client/requests/AsyncPromptContentRequest.js +51 -0
  280. package/serialization/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +18 -0
  281. package/serialization/resources/windows/client/requests/AsyncScreenshotRequest.js +49 -0
  282. package/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +19 -0
  283. package/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.js +50 -0
  284. package/serialization/resources/windows/client/requests/AsyncTypeRequest.d.ts +24 -0
  285. package/serialization/resources/windows/client/requests/AsyncTypeRequest.js +55 -0
  286. package/serialization/resources/windows/client/requests/OperatorPromptV1Body.d.ts +17 -0
  287. package/serialization/resources/windows/client/requests/OperatorPromptV1Body.js +48 -0
  288. package/serialization/resources/windows/client/requests/index.d.ts +10 -0
  289. package/serialization/resources/windows/client/requests/index.js +21 -1
  290. package/serialization/types/AsyncOperatorPromptResponseEnvelope.d.ts +15 -0
  291. package/serialization/types/AsyncOperatorPromptResponseEnvelope.js +46 -0
  292. package/serialization/types/CreateFileV1.d.ts +22 -0
  293. package/serialization/types/CreateFileV1.js +53 -0
  294. package/serialization/types/CreateFileV1FileType.d.ts +10 -0
  295. package/serialization/types/CreateFileV1FileType.js +41 -0
  296. package/serialization/types/CreateFileV1Status.d.ts +10 -0
  297. package/serialization/types/CreateFileV1Status.js +41 -0
  298. package/serialization/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.d.ts +18 -0
  299. package/serialization/types/EnvelopeCreateFileV1EnvelopeDefaultMeta.js +49 -0
  300. package/serialization/types/EnvelopeGetFileV1EnvelopeDefaultMeta.d.ts +18 -0
  301. package/serialization/types/EnvelopeGetFileV1EnvelopeDefaultMeta.js +49 -0
  302. package/serialization/types/ExternalFile.d.ts +26 -0
  303. package/serialization/types/ExternalFile.js +57 -0
  304. package/serialization/types/FileEventMessage.d.ts +17 -0
  305. package/serialization/types/FileEventMessage.js +48 -0
  306. package/serialization/types/FileEventMessageStatus.d.ts +10 -0
  307. package/serialization/types/FileEventMessageStatus.js +41 -0
  308. package/serialization/types/FilesResponse.d.ts +18 -0
  309. package/serialization/types/FilesResponse.js +49 -0
  310. package/serialization/types/FilesWithPagination.d.ts +15 -0
  311. package/serialization/types/FilesWithPagination.js +46 -0
  312. package/serialization/types/GetFileV1.d.ts +23 -0
  313. package/serialization/types/GetFileV1.js +54 -0
  314. package/serialization/types/GetFileV1FileType.d.ts +10 -0
  315. package/serialization/types/GetFileV1FileType.js +41 -0
  316. package/serialization/types/GetFileV1Status.d.ts +10 -0
  317. package/serialization/types/GetFileV1Status.js +41 -0
  318. package/serialization/types/index.d.ts +14 -0
  319. package/serialization/types/index.js +14 -0
  320. package/version.d.ts +1 -1
  321. package/version.js +1 -1
  322. package/wrapper/AirtopClient.d.ts +3 -0
  323. package/wrapper/AirtopClient.js +5 -0
  324. package/wrapper/AirtopFiles.d.ts +50 -0
  325. package/wrapper/AirtopFiles.js +180 -0
  326. package/wrapper/AirtopSessions.d.ts +59 -0
  327. package/wrapper/AirtopSessions.js +236 -17
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.GetFileV1 = void 0;
40
+ const core = __importStar(require("../../core"));
41
+ const GetFileV1FileType_1 = require("./GetFileV1FileType");
42
+ const GetFileV1Status_1 = require("./GetFileV1Status");
43
+ exports.GetFileV1 = core.serialization.object({
44
+ downloadUrl: core.serialization.string(),
45
+ expiryTime: core.serialization.date().optional(),
46
+ fileBytes: core.serialization.number(),
47
+ fileName: core.serialization.string(),
48
+ fileType: GetFileV1FileType_1.GetFileV1FileType,
49
+ id: core.serialization.string(),
50
+ orgId: core.serialization.string(),
51
+ sessionIds: core.serialization.list(core.serialization.string()).optional(),
52
+ status: GetFileV1Status_1.GetFileV1Status,
53
+ uploadStartTime: core.serialization.date(),
54
+ });
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as serializers from "../index";
5
+ import * as Airtop from "../../api/index";
6
+ import * as core from "../../core";
7
+ export declare const GetFileV1FileType: core.serialization.Schema<serializers.GetFileV1FileType.Raw, Airtop.GetFileV1FileType>;
8
+ export declare namespace GetFileV1FileType {
9
+ type Raw = "browser_download" | "screenshot" | "video" | "customer_upload";
10
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.GetFileV1FileType = void 0;
40
+ const core = __importStar(require("../../core"));
41
+ exports.GetFileV1FileType = core.serialization.enum_(["browser_download", "screenshot", "video", "customer_upload"]);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as serializers from "../index";
5
+ import * as Airtop from "../../api/index";
6
+ import * as core from "../../core";
7
+ export declare const GetFileV1Status: core.serialization.Schema<serializers.GetFileV1Status.Raw, Airtop.GetFileV1Status>;
8
+ export declare namespace GetFileV1Status {
9
+ type Raw = "available" | "uploading" | "upload_failed" | "deleted";
10
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.GetFileV1Status = void 0;
40
+ const core = __importStar(require("../../core"));
41
+ exports.GetFileV1Status = core.serialization.enum_(["available", "uploading", "upload_failed", "deleted"]);
@@ -1,6 +1,7 @@
1
1
  export * from "./AiPromptResponse";
2
2
  export * from "./AiResponseEnvelope";
3
3
  export * from "./AsyncConfig";
4
+ export * from "./AsyncOperatorPromptResponseEnvelope";
4
5
  export * from "./AsyncSessionAiResponseEnvelope";
5
6
  export * from "./AutomationOutput";
6
7
  export * from "./BrowserWaitNavigationConfigWaitUntil";
@@ -9,17 +10,30 @@ export * from "./ClickConfigClickType";
9
10
  export * from "./ClickConfig";
10
11
  export * from "./ClientProvidedResponseMetadata";
11
12
  export * from "./CreateAutomationRequestBodyConfiguration";
13
+ export * from "./CreateFileV1FileType";
14
+ export * from "./CreateFileV1Status";
15
+ export * from "./CreateFileV1";
12
16
  export * from "./DeleteAutomationOutputWrapperBody";
17
+ export * from "./EnvelopeCreateFileV1EnvelopeDefaultMeta";
13
18
  export * from "./EnvelopeDefaultMeta";
19
+ export * from "./EnvelopeGetFileV1EnvelopeDefaultMeta";
14
20
  export * from "./ErrorBody";
15
21
  export * from "./ErrorDetail";
16
22
  export * from "./ErrorMessage";
17
23
  export * from "./ErrorModel";
24
+ export * from "./ExternalFile";
18
25
  export * from "./ExternalSessionAiResponseMetadataStatus";
19
26
  export * from "./ExternalSessionAiResponseMetadata";
20
27
  export * from "./ExternalSessionAiResponseMetadataUsage";
21
28
  export * from "./ExternalSessionConfig";
22
29
  export * from "./ExternalSessionWithConnectionInfo";
30
+ export * from "./FileEventMessageStatus";
31
+ export * from "./FileEventMessage";
32
+ export * from "./FilesResponse";
33
+ export * from "./FilesWithPagination";
34
+ export * from "./GetFileV1FileType";
35
+ export * from "./GetFileV1Status";
36
+ export * from "./GetFileV1";
23
37
  export * from "./IntervalMonitorConfig";
24
38
  export * from "./Issue";
25
39
  export * from "./ListAutomationsOutput";
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./AiPromptResponse"), exports);
18
18
  __exportStar(require("./AiResponseEnvelope"), exports);
19
19
  __exportStar(require("./AsyncConfig"), exports);
20
+ __exportStar(require("./AsyncOperatorPromptResponseEnvelope"), exports);
20
21
  __exportStar(require("./AsyncSessionAiResponseEnvelope"), exports);
21
22
  __exportStar(require("./AutomationOutput"), exports);
22
23
  __exportStar(require("./BrowserWaitNavigationConfigWaitUntil"), exports);
@@ -25,17 +26,30 @@ __exportStar(require("./ClickConfigClickType"), exports);
25
26
  __exportStar(require("./ClickConfig"), exports);
26
27
  __exportStar(require("./ClientProvidedResponseMetadata"), exports);
27
28
  __exportStar(require("./CreateAutomationRequestBodyConfiguration"), exports);
29
+ __exportStar(require("./CreateFileV1FileType"), exports);
30
+ __exportStar(require("./CreateFileV1Status"), exports);
31
+ __exportStar(require("./CreateFileV1"), exports);
28
32
  __exportStar(require("./DeleteAutomationOutputWrapperBody"), exports);
33
+ __exportStar(require("./EnvelopeCreateFileV1EnvelopeDefaultMeta"), exports);
29
34
  __exportStar(require("./EnvelopeDefaultMeta"), exports);
35
+ __exportStar(require("./EnvelopeGetFileV1EnvelopeDefaultMeta"), exports);
30
36
  __exportStar(require("./ErrorBody"), exports);
31
37
  __exportStar(require("./ErrorDetail"), exports);
32
38
  __exportStar(require("./ErrorMessage"), exports);
33
39
  __exportStar(require("./ErrorModel"), exports);
40
+ __exportStar(require("./ExternalFile"), exports);
34
41
  __exportStar(require("./ExternalSessionAiResponseMetadataStatus"), exports);
35
42
  __exportStar(require("./ExternalSessionAiResponseMetadata"), exports);
36
43
  __exportStar(require("./ExternalSessionAiResponseMetadataUsage"), exports);
37
44
  __exportStar(require("./ExternalSessionConfig"), exports);
38
45
  __exportStar(require("./ExternalSessionWithConnectionInfo"), exports);
46
+ __exportStar(require("./FileEventMessageStatus"), exports);
47
+ __exportStar(require("./FileEventMessage"), exports);
48
+ __exportStar(require("./FilesResponse"), exports);
49
+ __exportStar(require("./FilesWithPagination"), exports);
50
+ __exportStar(require("./GetFileV1FileType"), exports);
51
+ __exportStar(require("./GetFileV1Status"), exports);
52
+ __exportStar(require("./GetFileV1"), exports);
39
53
  __exportStar(require("./IntervalMonitorConfig"), exports);
40
54
  __exportStar(require("./Issue"), exports);
41
55
  __exportStar(require("./ListAutomationsOutput"), exports);
package/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.1.36";
1
+ export declare const SDK_VERSION = "0.1.37-beta1";
package/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.1.36";
4
+ exports.SDK_VERSION = "0.1.37-beta1";
@@ -3,6 +3,7 @@ import { type BatchOperateConfig, type BatchOperationInput, type BatchOperationR
3
3
  import { AirtopSessions } from './AirtopSessions';
4
4
  import { AirtopWindows } from './AirtopWindows';
5
5
  import { AirtopRequests } from './AirtopRequests';
6
+ import { AirtopFiles } from './AirtopFiles';
6
7
  type AugmentedOptions = FernClient.Options & {
7
8
  debug?: boolean;
8
9
  };
@@ -13,6 +14,7 @@ export declare class AirtopClient {
13
14
  private _windows;
14
15
  private _sessions;
15
16
  private _requests;
17
+ private _files;
16
18
  constructor(_options: AugmentedOptions);
17
19
  setApiKey(apiKey: string): void;
18
20
  setEnvironment(environment: string): void;
@@ -21,6 +23,7 @@ export declare class AirtopClient {
21
23
  get requests(): AirtopRequests;
22
24
  get profiles(): import("../api/resources/profiles/client/Client").Profiles;
23
25
  get automations(): import("../api/resources/automations/client/Client").Automations;
26
+ get files(): AirtopFiles;
24
27
  log(message: string): void;
25
28
  warn(message: string): void;
26
29
  error(err: any): void;
@@ -49,6 +49,7 @@ const utils_1 = require("../utils");
49
49
  const AirtopSessions_1 = require("./AirtopSessions");
50
50
  const AirtopWindows_1 = require("./AirtopWindows");
51
51
  const AirtopRequests_1 = require("./AirtopRequests");
52
+ const AirtopFiles_1 = require("./AirtopFiles");
52
53
  const version_1 = require("../version");
53
54
  class AirtopClient {
54
55
  constructor(_options) {
@@ -89,6 +90,10 @@ class AirtopClient {
89
90
  get automations() {
90
91
  return this._client.automations;
91
92
  }
93
+ get files() {
94
+ var _a;
95
+ return ((_a = this._files) !== null && _a !== void 0 ? _a : (this._files = new AirtopFiles_1.AirtopFiles(this._options)));
96
+ }
92
97
  log(message) {
93
98
  if (this.debug) {
94
99
  console.log(message);
@@ -0,0 +1,50 @@
1
+ import type * as Airtop from '../api';
2
+ import { Files as FilesClass, type Files as FilesNamespace } from '../api/resources/files/client/Client';
3
+ export declare class AirtopFiles extends FilesClass {
4
+ readonly _options: FilesNamespace.Options;
5
+ constructor(_options: FilesNamespace.Options);
6
+ /**
7
+ * Uploads a file to Airtop by first creating a file entry and then uploading the contents
8
+ * If @options is not provided, the fileName will be calculated from the filePath.
9
+ * @options.fileType defaults to `customer_upload`
10
+ *
11
+ * @param filePath - Path to the local file to upload
12
+ * @param options - Optional API request configuration
13
+ * @returns The created file entry response
14
+ *
15
+ * @example
16
+ * const result = await client.files.upload("/path/to/file.pdf")
17
+ */
18
+ upload(filePath: string, options?: Airtop.CreateFileRestInputV1): Promise<Airtop.EnvelopeGetFileV1EnvelopeDefaultMeta>;
19
+ /**
20
+ * Downloads a file from Airtop to a local path
21
+ *
22
+ * @param fileId - The ID of the file to download
23
+ * @param destinationPath - Local path where the file should be saved
24
+ * @param options - Optional API request configuration
25
+ * @param onProgress - Optional callback to monitor download progress
26
+ *
27
+ * @example
28
+ * await client.files.download(
29
+ * "123e4567-e89b-12d3-a456-426614174000",
30
+ * "/path/to/save/file.pdf",
31
+ * (downloaded, total) => {
32
+ * const percent = Math.round((downloaded / total) * 100);
33
+ * console.log(`Downloaded: ${downloaded} / ${total} bytes (${percent}%)`);
34
+ * }
35
+ * )
36
+ */
37
+ download(fileId: string, destinationPath: string, onProgress?: (downloadedBytes: number, totalBytes: number) => void, options?: FilesNamespace.RequestOptions): Promise<void>;
38
+ /**
39
+ * Waits for a file to become available for download.
40
+ *
41
+ * @param fileId - The ID of the file to wait for
42
+ * @param options - Optional request configuration including timeout
43
+ * @returns The file entry once it becomes available
44
+ * @throws Error if the file doesn't become available within the timeout period
45
+ *
46
+ * @example
47
+ * const fileEntry = await client.files.waitForDownloadAvailable("123e4567-e89b-12d3-a456-426614174000")
48
+ */
49
+ waitForDownloadAvailable(fileId: string, options?: FilesNamespace.RequestOptions): Promise<Airtop.EnvelopeGetFileV1EnvelopeDefaultMeta>;
50
+ }
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.AirtopFiles = void 0;
49
+ const Client_1 = require("../api/resources/files/client/Client");
50
+ const fs = __importStar(require("fs"));
51
+ const path = __importStar(require("path"));
52
+ const node_fetch_1 = __importDefault(require("node-fetch"));
53
+ const readable_stream_1 = require("readable-stream");
54
+ class AirtopFiles extends Client_1.Files {
55
+ constructor(_options) {
56
+ super(_options);
57
+ this._options = _options;
58
+ }
59
+ /**
60
+ * Uploads a file to Airtop by first creating a file entry and then uploading the contents
61
+ * If @options is not provided, the fileName will be calculated from the filePath.
62
+ * @options.fileType defaults to `customer_upload`
63
+ *
64
+ * @param filePath - Path to the local file to upload
65
+ * @param options - Optional API request configuration
66
+ * @returns The created file entry response
67
+ *
68
+ * @example
69
+ * const result = await client.files.upload("/path/to/file.pdf")
70
+ */
71
+ upload(filePath, options) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ var _a, _b;
74
+ const fileName = (_a = options === null || options === void 0 ? void 0 : options.fileName) !== null && _a !== void 0 ? _a : path.basename(filePath);
75
+ const fileType = (_b = options === null || options === void 0 ? void 0 : options.fileType) !== null && _b !== void 0 ? _b : 'customer_upload';
76
+ const fileEntry = yield this.create(Object.assign(Object.assign({}, options), { fileName,
77
+ fileType }));
78
+ const fileContent = fs.readFileSync(filePath);
79
+ const uploadResponse = yield (0, node_fetch_1.default)(fileEntry.data.uploadUrl, {
80
+ method: 'PUT',
81
+ body: fileContent,
82
+ headers: {
83
+ 'Content-Type': 'application/octet-stream',
84
+ },
85
+ });
86
+ if (!uploadResponse.ok) {
87
+ throw new Error(`Failed to upload file content: ${uploadResponse.statusText}`);
88
+ }
89
+ const updatedFileEntry = yield this.get(fileEntry.data.id);
90
+ return updatedFileEntry;
91
+ });
92
+ }
93
+ /**
94
+ * Downloads a file from Airtop to a local path
95
+ *
96
+ * @param fileId - The ID of the file to download
97
+ * @param destinationPath - Local path where the file should be saved
98
+ * @param options - Optional API request configuration
99
+ * @param onProgress - Optional callback to monitor download progress
100
+ *
101
+ * @example
102
+ * await client.files.download(
103
+ * "123e4567-e89b-12d3-a456-426614174000",
104
+ * "/path/to/save/file.pdf",
105
+ * (downloaded, total) => {
106
+ * const percent = Math.round((downloaded / total) * 100);
107
+ * console.log(`Downloaded: ${downloaded} / ${total} bytes (${percent}%)`);
108
+ * }
109
+ * )
110
+ */
111
+ download(fileId, destinationPath, onProgress, options) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ var _a;
114
+ // Get the file entry to get the download URL
115
+ const fileEntry = yield this.get(fileId, options);
116
+ //*****
117
+ //TODO: get file status, and return error if upload not complete
118
+ //*****
119
+ // Download the file content
120
+ const downloadResponse = yield (0, node_fetch_1.default)(fileEntry.data.downloadUrl);
121
+ if (!downloadResponse.ok) {
122
+ throw new Error(`Failed to download file: ${downloadResponse.statusText}`);
123
+ }
124
+ const totalBytes = Number.parseInt((_a = downloadResponse.headers.get('content-length')) !== null && _a !== void 0 ? _a : '0', 10);
125
+ let downloadedBytes = 0;
126
+ fs.mkdirSync(path.dirname(destinationPath), { recursive: true });
127
+ const fileStream = fs.createWriteStream(destinationPath);
128
+ yield new Promise((resolve, reject) => {
129
+ var _a, _b;
130
+ if (onProgress && downloadResponse.body) {
131
+ // Create a transform stream to track progress
132
+ const progressStream = new readable_stream_1.Transform({
133
+ transform(chunk, encoding, callback) {
134
+ downloadedBytes += chunk.length;
135
+ onProgress(downloadedBytes, totalBytes);
136
+ callback(null, chunk);
137
+ },
138
+ });
139
+ downloadResponse.body.pipe(progressStream).pipe(fileStream);
140
+ progressStream.on('error', reject);
141
+ }
142
+ else {
143
+ // If no progress callback, pipe directly
144
+ (_a = downloadResponse.body) === null || _a === void 0 ? void 0 : _a.pipe(fileStream);
145
+ }
146
+ (_b = downloadResponse.body) === null || _b === void 0 ? void 0 : _b.on('error', reject);
147
+ fileStream.on('finish', resolve);
148
+ });
149
+ });
150
+ }
151
+ /**
152
+ * Waits for a file to become available for download.
153
+ *
154
+ * @param fileId - The ID of the file to wait for
155
+ * @param options - Optional request configuration including timeout
156
+ * @returns The file entry once it becomes available
157
+ * @throws Error if the file doesn't become available within the timeout period
158
+ *
159
+ * @example
160
+ * const fileEntry = await client.files.waitForDownloadAvailable("123e4567-e89b-12d3-a456-426614174000")
161
+ */
162
+ waitForDownloadAvailable(fileId, options) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ const timeoutSeconds = (options === null || options === void 0 ? void 0 : options.timeoutInSeconds) || 120;
165
+ const intervalMs = 5000; // 5 seconds
166
+ const startTime = Date.now();
167
+ while (Date.now() - startTime < timeoutSeconds * 1000) {
168
+ const fileEntry = yield this.get(fileId, options);
169
+ // Check if the file has a valid download URL and size, which indicates it's available
170
+ if (fileEntry.data.downloadUrl && fileEntry.data.fileBytes > 0) {
171
+ return fileEntry;
172
+ }
173
+ // Wait before checking again
174
+ yield new Promise((resolve) => setTimeout(resolve, intervalMs));
175
+ }
176
+ throw new Error(`Timeout waiting for file ${fileId} to become available`);
177
+ });
178
+ }
179
+ }
180
+ exports.AirtopFiles = AirtopFiles;
@@ -20,5 +20,64 @@ export declare class AirtopSessions extends SessionsClass {
20
20
  * await client.sessions.create()
21
21
  */
22
22
  create(request?: AirtopSessionRestInputV1, requestOptions?: SessionsNamespace.RequestOptions): Promise<Airtop.SessionResponse>;
23
+ /**
24
+ * Waits for a session to enter the 'running' status
25
+ *
26
+ * @param id - The ID of the session to wait for
27
+ * @param requestOptions - Optional request configuration including timeout
28
+ * @returns The session event indicating the session is ready, or null if timed out
29
+ */
23
30
  waitForSessionReady(id: string, requestOptions?: SessionsNamespace.RequestOptions): Promise<Airtop.SessionsEventsResponse | null>;
31
+ /**
32
+ * Waits for a file to be downloaded in a session and reach 'available' status.
33
+ * Defaults to looking back 5 seconds in the event stream for the file to be available.
34
+ * Use `includePriorEvents` and `lookbackSeconds` to control this behavior.
35
+ *
36
+ * @param {Object} params - The parameters for the function
37
+ * @param {string} params.sessionId - The ID of the session to monitor
38
+ * @param {boolean} [params.includePriorEvents=true] - Whether to include prior events in the wait. Default `true`.
39
+ * @param {number} [params.lookbackSeconds=5] - The number of seconds to look back for prior events. Default `5`.
40
+ * @param {Sessions.RequestOptions} [requestOptions] - Optional request configuration including timeout
41
+ * @returns {Promise<{ id: string, downloadUrl: string } | null>} Object containing file's id and downloadUrl, or null if timed out
42
+ */
43
+ waitForDownload(sessionId: string, configuration?: {
44
+ includePriorEvents?: boolean;
45
+ lookbackSeconds?: number;
46
+ }, requestOptions?: SessionsNamespace.RequestOptions): Promise<{
47
+ id: string;
48
+ downloadUrl: string;
49
+ } | null>;
50
+ /**
51
+ * Waits for a file download to start in a session
52
+ *
53
+ * @param {Object} params - The parameters for the function
54
+ * @param {string} params.sessionId - The ID of the session to monitor
55
+ * @param {boolean} [params.includePriorEvents=false] - Whether to include prior events in the wait
56
+ * @param {Sessions.RequestOptions} [requestOptions] - Optional request configuration including timeout
57
+ * @returns {Promise<{ id: string, downloadUrl: string } | null>} Object containing file's id and downloadUrl, or null if timed out
58
+ */
59
+ waitForDownloadStart({ sessionId, includePriorEvents }: {
60
+ sessionId: string;
61
+ includePriorEvents?: boolean;
62
+ }, requestOptions?: SessionsNamespace.RequestOptions): Promise<{
63
+ id: string;
64
+ downloadUrl: string;
65
+ } | null>;
66
+ /**
67
+ * Downloads the next file from a session as soon as it starts to become available
68
+ *
69
+ * @param {Object} params - The parameters for the function
70
+ * @param {string} params.sessionId - The ID of the session to download from
71
+ * @param {string} params.destinationPath - The local path where the file should be saved
72
+ * @param {function} [params.onProgress] - Optional callback to track download progress
73
+ * @param {boolean} [params.includePriorEvents=false] - Whether to include prior events in the wait
74
+ * @param {Sessions.RequestOptions} [requestOptions] - Optional request configuration including timeout
75
+ * @throws Error if no file is available to download within the timeout period
76
+ */
77
+ downloadNextFile({ sessionId, destinationPath, onProgress, includePriorEvents, }: {
78
+ sessionId: string;
79
+ destinationPath: string;
80
+ onProgress?: (downloadedBytes: number, totalBytes: number) => void;
81
+ includePriorEvents?: boolean;
82
+ }, requestOptions?: SessionsNamespace.RequestOptions): Promise<void>;
24
83
  }