@corellium/corellium-cli 1.0.2 → 1.0.4

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 (673) hide show
  1. package/README.md +4 -16
  2. package/docs/OVERVIEW.md +2 -2
  3. package/example/WebPlayerSample.js +93 -37
  4. package/jenkinsbuild/build.sh +1 -1
  5. package/node_modules/@babel/cli/node_modules/commander/package.json +27 -58
  6. package/node_modules/@babel/cli/node_modules/make-dir/package.json +62 -93
  7. package/node_modules/@babel/cli/node_modules/pify/package.json +54 -85
  8. package/node_modules/@babel/cli/node_modules/semver/package.json +20 -51
  9. package/node_modules/@babel/cli/node_modules/slash/package.json +37 -68
  10. package/node_modules/@babel/cli/package.json +37 -69
  11. package/node_modules/@corellium/client-api/package.json +15 -40
  12. package/node_modules/@jridgewell/resolve-uri/package.json +40 -75
  13. package/node_modules/@jridgewell/sourcemap-codec/package.json +43 -74
  14. package/node_modules/@jridgewell/trace-mapping/package.json +40 -72
  15. package/node_modules/@mapbox/node-pre-gyp/package.json +27 -61
  16. package/node_modules/@nicolo-ribaudo/chokidar-2/package.json +22 -55
  17. package/node_modules/abbrev/package.json +18 -52
  18. package/node_modules/agent-base/package.json +33 -62
  19. package/node_modules/ansi-regex/package.json +58 -89
  20. package/node_modules/ansi-styles/package.json +59 -95
  21. package/node_modules/anymatch/package.json +28 -56
  22. package/node_modules/aproba/package.json +23 -50
  23. package/node_modules/are-we-there-yet/node_modules/readable-stream/package.json +32 -60
  24. package/node_modules/are-we-there-yet/package.json +32 -62
  25. package/node_modules/ascii-art/package.json +51 -83
  26. package/node_modules/ascii-art-ansi/package.json +30 -61
  27. package/node_modules/ascii-art-braille/package.json +7 -32
  28. package/node_modules/ascii-art-font/package.json +17 -47
  29. package/node_modules/ascii-art-graph/package.json +10 -34
  30. package/node_modules/ascii-art-image/node_modules/ascii-art-braille/package.json +7 -32
  31. package/node_modules/ascii-art-image/package.json +11 -36
  32. package/node_modules/ascii-art-table/package.json +10 -35
  33. package/node_modules/ascii-art-utf/package.json +18 -47
  34. package/node_modules/async/package.json +29 -55
  35. package/node_modules/async-arrays/package.json +34 -62
  36. package/node_modules/asynckit/package.json +45 -74
  37. package/node_modules/axios/package.json +46 -72
  38. package/node_modules/balanced-match/package.json +22 -49
  39. package/node_modules/binary-extensions/package.json +41 -73
  40. package/node_modules/brace-expansion/package.json +23 -50
  41. package/node_modules/braces/package.json +30 -76
  42. package/node_modules/call-bind/package.json +83 -125
  43. package/node_modules/canvas/package.json +43 -86
  44. package/node_modules/chokidar/package.json +40 -74
  45. package/node_modules/chownr/package.json +24 -56
  46. package/node_modules/cli/package.json +23 -70
  47. package/node_modules/cliui/package.json +53 -87
  48. package/node_modules/color/node_modules/color-convert/package.json +26 -60
  49. package/node_modules/color/node_modules/color-name/package.json +18 -45
  50. package/node_modules/color/package.json +26 -57
  51. package/node_modules/color-convert/package.json +25 -59
  52. package/node_modules/color-difference/package.json +26 -52
  53. package/node_modules/color-model/package.json +17 -44
  54. package/node_modules/color-name/package.json +32 -60
  55. package/node_modules/color-string/package.json +26 -67
  56. package/node_modules/color-support/package.json +26 -60
  57. package/node_modules/combined-stream/package.json +19 -52
  58. package/node_modules/component-emitter/package.json +17 -45
  59. package/node_modules/concat-map/package.json +45 -89
  60. package/node_modules/console-control-strings/package.json +22 -55
  61. package/node_modules/convert-source-map/package.json +28 -55
  62. package/node_modules/cookiejar/package.json +16 -44
  63. package/node_modules/core-util-is/package.json +21 -51
  64. package/node_modules/d3/package.json +43 -70
  65. package/node_modules/d3-array/package.json +24 -55
  66. package/node_modules/d3-axis/package.json +27 -54
  67. package/node_modules/d3-brush/package.json +33 -60
  68. package/node_modules/d3-chord/package.json +28 -55
  69. package/node_modules/d3-collection/package.json +25 -54
  70. package/node_modules/d3-color/package.json +2 -2
  71. package/node_modules/d3-contour/package.json +27 -54
  72. package/node_modules/d3-dispatch/package.json +28 -60
  73. package/node_modules/d3-drag/package.json +32 -61
  74. package/node_modules/d3-dsv/node_modules/commander/package.json +25 -56
  75. package/node_modules/d3-dsv/package.json +36 -64
  76. package/node_modules/d3-ease/package.json +28 -56
  77. package/node_modules/d3-fetch/package.json +31 -58
  78. package/node_modules/d3-force/package.json +30 -57
  79. package/node_modules/d3-format/package.json +29 -57
  80. package/node_modules/d3-geo/package.json +35 -62
  81. package/node_modules/d3-hierarchy/package.json +33 -60
  82. package/node_modules/d3-interpolate/package.json +31 -63
  83. package/node_modules/d3-path/package.json +28 -57
  84. package/node_modules/d3-polygon/package.json +28 -55
  85. package/node_modules/d3-quadtree/package.json +29 -57
  86. package/node_modules/d3-random/package.json +26 -53
  87. package/node_modules/d3-scale/package.json +29 -56
  88. package/node_modules/d3-scale-chromatic/package.json +33 -60
  89. package/node_modules/d3-selection/package.json +29 -60
  90. package/node_modules/d3-shape/package.json +32 -59
  91. package/node_modules/d3-time/package.json +28 -57
  92. package/node_modules/d3-time-format/package.json +33 -61
  93. package/node_modules/d3-timer/package.json +28 -57
  94. package/node_modules/d3-transition/package.json +35 -64
  95. package/node_modules/d3-voronoi/package.json +24 -51
  96. package/node_modules/d3-zoom/package.json +34 -61
  97. package/node_modules/debug/package.json +37 -87
  98. package/node_modules/decompress-response/package.json +53 -84
  99. package/node_modules/delayed-stream/package.json +19 -53
  100. package/node_modules/delegates/package.json +11 -45
  101. package/node_modules/detect-libc/package.json +26 -60
  102. package/node_modules/dirname-shim/package.json +26 -60
  103. package/node_modules/dotenv/package.json +37 -64
  104. package/node_modules/duplexer/package.json +18 -49
  105. package/node_modules/emoji-regex/package.json +32 -58
  106. package/node_modules/escalade/package.json +28 -59
  107. package/node_modules/extended-emitter/package.json +37 -65
  108. package/node_modules/fast-safe-stringify/package.json +33 -73
  109. package/node_modules/fill-range/package.json +28 -72
  110. package/node_modules/follow-redirects/package.json +42 -77
  111. package/node_modules/form-data/package.json +42 -74
  112. package/node_modules/formidable/package.json +22 -52
  113. package/node_modules/fs-minipass/package.json +24 -52
  114. package/node_modules/fs-readdir-recursive/package.json +20 -50
  115. package/node_modules/fs.realpath/package.json +21 -53
  116. package/node_modules/fsevents/package.json +38 -63
  117. package/node_modules/ftp-response-parser/node_modules/isarray/package.json +22 -54
  118. package/node_modules/ftp-response-parser/node_modules/readable-stream/package.json +22 -55
  119. package/node_modules/ftp-response-parser/node_modules/string_decoder/package.json +17 -45
  120. package/node_modules/ftp-response-parser/package.json +23 -64
  121. package/node_modules/function-bind/package.json +28 -61
  122. package/node_modules/gauge/package.json +25 -52
  123. package/node_modules/generate-password/package.json +28 -54
  124. package/node_modules/get-caller-file/package.json +27 -53
  125. package/node_modules/get-intrinsic/package.json +91 -124
  126. package/node_modules/glob/package.json +34 -68
  127. package/node_modules/glob-parent/package.json +27 -70
  128. package/node_modules/has/package.json +26 -55
  129. package/node_modules/has-symbols/package.json +104 -133
  130. package/node_modules/has-unicode/package.json +25 -52
  131. package/node_modules/https-proxy-agent/package.json +30 -59
  132. package/node_modules/iconv-lite/package.json +48 -77
  133. package/node_modules/inflight/package.json +20 -48
  134. package/node_modules/inherits/package.json +17 -54
  135. package/node_modules/is-binary-path/package.json +43 -75
  136. package/node_modules/is-extglob/package.json +22 -52
  137. package/node_modules/is-fullwidth-code-point/package.json +45 -79
  138. package/node_modules/is-glob/package.json +26 -68
  139. package/node_modules/is-number/package.json +26 -65
  140. package/node_modules/jsftp/node_modules/debug/package.json +28 -67
  141. package/node_modules/jsftp/package.json +22 -59
  142. package/node_modules/json2csv/node_modules/commander/package.json +25 -56
  143. package/node_modules/json2csv/package.json +37 -64
  144. package/node_modules/jsonparse/package.json +18 -53
  145. package/node_modules/lodash/package.json +15 -61
  146. package/node_modules/lodash.get/package.json +16 -67
  147. package/node_modules/lru-cache/package.json +27 -61
  148. package/node_modules/make-dir/node_modules/semver/package.json +20 -51
  149. package/node_modules/make-dir/package.json +62 -93
  150. package/node_modules/maplex/package.json +22 -54
  151. package/node_modules/methods/package.json +22 -64
  152. package/node_modules/mime/package.json +20 -48
  153. package/node_modules/mime-db/package.json +25 -67
  154. package/node_modules/mime-types/package.json +20 -64
  155. package/node_modules/mimic-response/package.json +45 -76
  156. package/node_modules/minimatch/package.json +25 -61
  157. package/node_modules/minipass/package.json +30 -64
  158. package/node_modules/minizlib/package.json +27 -59
  159. package/node_modules/mkdirp/package.json +27 -57
  160. package/node_modules/ms/package.json +24 -58
  161. package/node_modules/multi-progress/package.json +20 -46
  162. package/node_modules/nan/package.json +27 -87
  163. package/node_modules/node-fetch/package.json +77 -104
  164. package/node_modules/nopt/package.json +22 -54
  165. package/node_modules/normalize-path/package.json +25 -63
  166. package/node_modules/npmlog/package.json +23 -55
  167. package/node_modules/object-assign/package.json +20 -51
  168. package/node_modules/object-inspect/package.json +53 -81
  169. package/node_modules/once/package.json +19 -56
  170. package/node_modules/parse-listing/package.json +27 -56
  171. package/node_modules/path-is-absolute/package.json +16 -47
  172. package/node_modules/picomatch/package.json +28 -60
  173. package/node_modules/progress/package.json +21 -65
  174. package/node_modules/qs/package.json +78 -105
  175. package/node_modules/readdirp/package.json +47 -83
  176. package/node_modules/require-directory/package.json +29 -57
  177. package/node_modules/rimraf/package.json +23 -61
  178. package/node_modules/rw/package.json +19 -46
  179. package/node_modules/safe-buffer/package.json +10 -38
  180. package/node_modules/safer-buffer/package.json +18 -43
  181. package/node_modules/semver/package.json +36 -70
  182. package/node_modules/set-blocking/package.json +29 -56
  183. package/node_modules/side-channel/package.json +70 -98
  184. package/node_modules/sift/package.json +30 -62
  185. package/node_modules/signal-exit/package.json +29 -58
  186. package/node_modules/simple-concat/package.json +22 -46
  187. package/node_modules/simple-get/package.json +9 -33
  188. package/node_modules/simple-swizzle/node_modules/is-arrayish/package.json +28 -59
  189. package/node_modules/simple-swizzle/package.json +23 -57
  190. package/node_modules/strangler/package.json +39 -67
  191. package/node_modules/stream-combiner/package.json +15 -48
  192. package/node_modules/string-tools/package.json +16 -50
  193. package/node_modules/string-width/package.json +59 -97
  194. package/node_modules/string_decoder/package.json +18 -47
  195. package/node_modules/strip-ansi/package.json +57 -94
  196. package/node_modules/superagent/node_modules/form-data/package.json +42 -74
  197. package/node_modules/superagent/node_modules/readable-stream/package.json +32 -60
  198. package/node_modules/superagent/package.json +13 -59
  199. package/node_modules/tar/package.json +27 -59
  200. package/node_modules/through/package.json +17 -50
  201. package/node_modules/to-regex-range/package.json +25 -61
  202. package/node_modules/tr46/package.json +24 -51
  203. package/node_modules/unorm/package.json +34 -75
  204. package/node_modules/util-deprecate/package.json +19 -49
  205. package/node_modules/uuid/package.json +74 -102
  206. package/node_modules/webidl-conversions/package.json +18 -53
  207. package/node_modules/whatwg-url/package.json +15 -49
  208. package/node_modules/wide-align/package.json +21 -53
  209. package/node_modules/wolfy87-eventemitter/package.json +25 -49
  210. package/node_modules/wrap-ansi/package.json +65 -97
  211. package/node_modules/wrappy/package.json +21 -50
  212. package/node_modules/y18n/package.json +43 -73
  213. package/node_modules/yallist/package.json +20 -55
  214. package/node_modules/yargs/package.json +72 -99
  215. package/node_modules/yargs-parser/package.json +52 -83
  216. package/package.json +2 -3
  217. package/src/TrialAccount.js +76 -0
  218. package/src/commands/agent/Agent.js +10 -19
  219. package/src/commands/agent/index.js +1 -0
  220. package/src/commands/agent/ready.js +42 -0
  221. package/src/commands/instances/list.js +8 -3
  222. package/src/commands/signup.js +14 -5
  223. package/src/commands/webplayer/WebPlayer.js +2 -1
  224. package/src/commands/webplayer/create.js +6 -0
  225. package/src/commands/webplayer/list.js +17 -16
  226. package/src/logging.js +1 -1
  227. package/src/profile.js +12 -9
  228. package/src/resumable.js +1314 -0
  229. package/src/table.js +7 -2
  230. package/src/upload.js +64 -2
  231. package/test/test.js +89 -0
  232. package/node_modules/@corellium/corellium-api/README.md +0 -1210
  233. package/node_modules/@corellium/corellium-api/node_modules/form-data/License +0 -19
  234. package/node_modules/@corellium/corellium-api/node_modules/form-data/README.md.bak +0 -356
  235. package/node_modules/@corellium/corellium-api/node_modules/form-data/Readme.md +0 -356
  236. package/node_modules/@corellium/corellium-api/node_modules/form-data/index.d.ts +0 -62
  237. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/browser.js +0 -2
  238. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/form_data.js +0 -498
  239. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/populate.js +0 -10
  240. package/node_modules/@corellium/corellium-api/node_modules/form-data/package.json +0 -104
  241. package/node_modules/@corellium/corellium-api/node_modules/uuid/AUTHORS +0 -5
  242. package/node_modules/@corellium/corellium-api/node_modules/uuid/CHANGELOG.md +0 -119
  243. package/node_modules/@corellium/corellium-api/node_modules/uuid/LICENSE.md +0 -21
  244. package/node_modules/@corellium/corellium-api/node_modules/uuid/README.md +0 -276
  245. package/node_modules/@corellium/corellium-api/node_modules/uuid/bin/uuid +0 -65
  246. package/node_modules/@corellium/corellium-api/node_modules/uuid/index.js +0 -8
  247. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/bytesToUuid.js +0 -26
  248. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5-browser.js +0 -216
  249. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5.js +0 -25
  250. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng-browser.js +0 -34
  251. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng.js +0 -8
  252. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1-browser.js +0 -89
  253. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1.js +0 -25
  254. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/v35.js +0 -57
  255. package/node_modules/@corellium/corellium-api/node_modules/uuid/package.json +0 -103
  256. package/node_modules/@corellium/corellium-api/node_modules/uuid/v1.js +0 -109
  257. package/node_modules/@corellium/corellium-api/node_modules/uuid/v3.js +0 -4
  258. package/node_modules/@corellium/corellium-api/node_modules/uuid/v4.js +0 -29
  259. package/node_modules/@corellium/corellium-api/node_modules/uuid/v5.js +0 -3
  260. package/node_modules/@corellium/corellium-api/package.json +0 -106
  261. package/node_modules/@corellium/corellium-api/resumable.js +0 -1312
  262. package/node_modules/@corellium/corellium-api/src/agent.js +0 -962
  263. package/node_modules/@corellium/corellium-api/src/corellium.js +0 -444
  264. package/node_modules/@corellium/corellium-api/src/images.js +0 -131
  265. package/node_modules/@corellium/corellium-api/src/input.js +0 -178
  266. package/node_modules/@corellium/corellium-api/src/instance-updater.js +0 -56
  267. package/node_modules/@corellium/corellium-api/src/instance.js +0 -1031
  268. package/node_modules/@corellium/corellium-api/src/netmon.js +0 -308
  269. package/node_modules/@corellium/corellium-api/src/project.js +0 -393
  270. package/node_modules/@corellium/corellium-api/src/role.js +0 -65
  271. package/node_modules/@corellium/corellium-api/src/snapshot.js +0 -77
  272. package/node_modules/@corellium/corellium-api/src/team.js +0 -29
  273. package/node_modules/@corellium/corellium-api/src/user.js +0 -51
  274. package/node_modules/@corellium/corellium-api/src/util/fetch.js +0 -62
  275. package/node_modules/@corellium/corellium-api/src/util/sleep.js +0 -7
  276. package/node_modules/@corellium/corellium-api/test/integration-tests.js +0 -1292
  277. package/node_modules/@corellium/corellium-api/test/root-hook-set-flag-if-test-failed.js +0 -7
  278. package/node_modules/async-limiter/.eslintignore +0 -2
  279. package/node_modules/async-limiter/.nycrc +0 -10
  280. package/node_modules/async-limiter/.travis.yml +0 -9
  281. package/node_modules/async-limiter/LICENSE +0 -8
  282. package/node_modules/async-limiter/index.js +0 -67
  283. package/node_modules/async-limiter/package.json +0 -72
  284. package/node_modules/async-limiter/readme.md +0 -132
  285. package/node_modules/buffer-crc32/LICENSE +0 -19
  286. package/node_modules/buffer-crc32/README.md +0 -47
  287. package/node_modules/buffer-crc32/index.js +0 -111
  288. package/node_modules/buffer-crc32/package.json +0 -72
  289. package/node_modules/cross-fetch/LICENSE +0 -21
  290. package/node_modules/cross-fetch/README.md +0 -169
  291. package/node_modules/cross-fetch/dist/browser-polyfill.js +0 -532
  292. package/node_modules/cross-fetch/dist/browser-ponyfill.js +0 -554
  293. package/node_modules/cross-fetch/dist/cross-fetch.js +0 -2
  294. package/node_modules/cross-fetch/dist/cross-fetch.js.map +0 -1
  295. package/node_modules/cross-fetch/dist/node-polyfill.js +0 -11
  296. package/node_modules/cross-fetch/dist/node-ponyfill.js +0 -22
  297. package/node_modules/cross-fetch/dist/react-native-polyfill.js +0 -12
  298. package/node_modules/cross-fetch/dist/react-native-ponyfill.js +0 -6
  299. package/node_modules/cross-fetch/index.d.ts +0 -14
  300. package/node_modules/cross-fetch/package.json +0 -160
  301. package/node_modules/cross-fetch/polyfill/package.json +0 -8
  302. package/node_modules/duplexify/.travis.yml +0 -6
  303. package/node_modules/duplexify/LICENSE +0 -21
  304. package/node_modules/duplexify/README.md +0 -97
  305. package/node_modules/duplexify/example.js +0 -21
  306. package/node_modules/duplexify/index.js +0 -234
  307. package/node_modules/duplexify/package.json +0 -69
  308. package/node_modules/duplexify/test.js +0 -295
  309. package/node_modules/end-of-stream/LICENSE +0 -21
  310. package/node_modules/end-of-stream/README.md +0 -54
  311. package/node_modules/end-of-stream/index.js +0 -94
  312. package/node_modules/end-of-stream/package.json +0 -69
  313. package/node_modules/fast-stable-stringify/.npmignore +0 -4
  314. package/node_modules/fast-stable-stringify/.travis.yml +0 -10
  315. package/node_modules/fast-stable-stringify/LICENSE +0 -21
  316. package/node_modules/fast-stable-stringify/README.md +0 -81
  317. package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +0 -67
  318. package/node_modules/fast-stable-stringify/cli/format-table.js +0 -70
  319. package/node_modules/fast-stable-stringify/cli/index.js +0 -19
  320. package/node_modules/fast-stable-stringify/fixtures/index.js +0 -5
  321. package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +0 -191
  322. package/node_modules/fast-stable-stringify/fixtures/log-result.json +0 -22
  323. package/node_modules/fast-stable-stringify/fixtures/log.txt +0 -24
  324. package/node_modules/fast-stable-stringify/index.js +0 -73
  325. package/node_modules/fast-stable-stringify/karma.conf.js +0 -124
  326. package/node_modules/fast-stable-stringify/karma.conf.travis.js +0 -95
  327. package/node_modules/fast-stable-stringify/package.json +0 -77
  328. package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  329. package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  330. package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  331. package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  332. package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  333. package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  334. package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  335. package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  336. package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  337. package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  338. package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  339. package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  340. package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  341. package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  342. package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  343. package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  344. package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  345. package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  346. package/node_modules/fast-stable-stringify/results/escape.md +0 -20
  347. package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  348. package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  349. package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  350. package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  351. package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  352. package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  353. package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  354. package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  355. package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  356. package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  357. package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  358. package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  359. package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  360. package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  361. package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  362. package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  363. package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  364. package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  365. package/node_modules/fast-stable-stringify/results/itar.md +0 -20
  366. package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  367. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +0 -35
  368. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  369. package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  370. package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  371. package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  372. package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  373. package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  374. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  375. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +0 -35
  376. package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  377. package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +0 -35
  378. package/node_modules/fast-stable-stringify/results/iter.md +0 -14
  379. package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -46
  380. package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -46
  381. package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -46
  382. package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -46
  383. package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  384. package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  385. package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  386. package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -46
  387. package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -46
  388. package/node_modules/fast-stable-stringify/results/libs.md +0 -15
  389. package/node_modules/fast-stable-stringify/test/escape-long.js +0 -147
  390. package/node_modules/fast-stable-stringify/test/escape-short.js +0 -147
  391. package/node_modules/fast-stable-stringify/test/index.js +0 -6
  392. package/node_modules/fast-stable-stringify/test/itar-long.js +0 -52
  393. package/node_modules/fast-stable-stringify/test/itar-short.js +0 -52
  394. package/node_modules/fast-stable-stringify/test/iter.js +0 -84
  395. package/node_modules/fast-stable-stringify/test/libs.js +0 -57
  396. package/node_modules/fast-stable-stringify/test/travis.js +0 -43
  397. package/node_modules/fast-stable-stringify/test/validate.js +0 -24
  398. package/node_modules/fast-stable-stringify/util/eachRecursive.js +0 -9
  399. package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +0 -21
  400. package/node_modules/fast-stable-stringify/util/get-lib-info.js +0 -22
  401. package/node_modules/fast-stable-stringify/util/object-path.js +0 -47
  402. package/node_modules/fast-stable-stringify/v8-profile/bench.js +0 -8
  403. package/node_modules/fast-stable-stringify/v8-profile/run.sh +0 -2
  404. package/node_modules/fast-stable-stringify/zuul-local.sh +0 -2
  405. package/node_modules/hkdf/.npmignore +0 -2
  406. package/node_modules/hkdf/README.md +0 -23
  407. package/node_modules/hkdf/hkdf.py +0 -171
  408. package/node_modules/hkdf/hkdf.pyc +0 -0
  409. package/node_modules/hkdf/index.js +0 -1
  410. package/node_modules/hkdf/lib/hkdf.js +0 -55
  411. package/node_modules/hkdf/package.json +0 -55
  412. package/node_modules/hkdf/scripts/run_all_tests.sh +0 -19
  413. package/node_modules/hkdf/test/all-test.js +0 -79
  414. package/node_modules/hkdf/test.py +0 -11
  415. package/node_modules/immediate/LICENSE.txt +0 -20
  416. package/node_modules/immediate/README.md +0 -93
  417. package/node_modules/immediate/dist/immediate.js +0 -75
  418. package/node_modules/immediate/dist/immediate.min.js +0 -1
  419. package/node_modules/immediate/lib/browser.js +0 -69
  420. package/node_modules/immediate/lib/index.js +0 -73
  421. package/node_modules/immediate/package.json +0 -86
  422. package/node_modules/isarray/.npmignore +0 -1
  423. package/node_modules/isarray/.travis.yml +0 -4
  424. package/node_modules/isarray/Makefile +0 -6
  425. package/node_modules/isarray/README.md +0 -60
  426. package/node_modules/isarray/component.json +0 -19
  427. package/node_modules/isarray/index.js +0 -5
  428. package/node_modules/isarray/package.json +0 -77
  429. package/node_modules/isarray/test.js +0 -20
  430. package/node_modules/jszip/.codeclimate.yml +0 -16
  431. package/node_modules/jszip/.editorconfig +0 -8
  432. package/node_modules/jszip/.github/workflows/pr.yaml +0 -41
  433. package/node_modules/jszip/.jshintignore +0 -1
  434. package/node_modules/jszip/.jshintrc +0 -21
  435. package/node_modules/jszip/.travis.yml +0 -17
  436. package/node_modules/jszip/CHANGES.md +0 -192
  437. package/node_modules/jszip/LICENSE.markdown +0 -651
  438. package/node_modules/jszip/README.markdown +0 -33
  439. package/node_modules/jszip/dist/jszip.js +0 -11583
  440. package/node_modules/jszip/dist/jszip.min.js +0 -13
  441. package/node_modules/jszip/index.d.ts +0 -335
  442. package/node_modules/jszip/lib/base64.js +0 -106
  443. package/node_modules/jszip/lib/compressedObject.js +0 -74
  444. package/node_modules/jszip/lib/compressions.js +0 -14
  445. package/node_modules/jszip/lib/crc32.js +0 -77
  446. package/node_modules/jszip/lib/defaults.js +0 -11
  447. package/node_modules/jszip/lib/external.js +0 -19
  448. package/node_modules/jszip/lib/flate.js +0 -85
  449. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  450. package/node_modules/jszip/lib/generate/index.js +0 -57
  451. package/node_modules/jszip/lib/index.js +0 -55
  452. package/node_modules/jszip/lib/license_header.js +0 -11
  453. package/node_modules/jszip/lib/load.js +0 -88
  454. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  455. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  456. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  457. package/node_modules/jszip/lib/object.js +0 -389
  458. package/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  459. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  460. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  461. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  462. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  463. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  464. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  465. package/node_modules/jszip/lib/signature.js +0 -7
  466. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  467. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  468. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  469. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  470. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  471. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  472. package/node_modules/jszip/lib/support.js +0 -38
  473. package/node_modules/jszip/lib/utf8.js +0 -275
  474. package/node_modules/jszip/lib/utils.js +0 -501
  475. package/node_modules/jszip/lib/zipEntries.js +0 -262
  476. package/node_modules/jszip/lib/zipEntry.js +0 -294
  477. package/node_modules/jszip/lib/zipObject.js +0 -133
  478. package/node_modules/jszip/package.json +0 -99
  479. package/node_modules/jszip/tsconfig.json +0 -101
  480. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  481. package/node_modules/lie/README.md +0 -62
  482. package/node_modules/lie/dist/lie.js +0 -350
  483. package/node_modules/lie/dist/lie.min.js +0 -1
  484. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  485. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  486. package/node_modules/lie/lib/browser.js +0 -273
  487. package/node_modules/lie/lib/index.js +0 -298
  488. package/node_modules/lie/license.md +0 -7
  489. package/node_modules/lie/lie.d.ts +0 -244
  490. package/node_modules/lie/package.json +0 -98
  491. package/node_modules/lie/polyfill.js +0 -4
  492. package/node_modules/p-finally/index.js +0 -15
  493. package/node_modules/p-finally/license +0 -21
  494. package/node_modules/p-finally/package.json +0 -77
  495. package/node_modules/p-finally/readme.md +0 -47
  496. package/node_modules/p-retry/index.js +0 -52
  497. package/node_modules/p-retry/license +0 -9
  498. package/node_modules/p-retry/package.json +0 -83
  499. package/node_modules/p-retry/readme.md +0 -109
  500. package/node_modules/p-timeout/index.d.ts +0 -72
  501. package/node_modules/p-timeout/index.js +0 -57
  502. package/node_modules/p-timeout/license +0 -9
  503. package/node_modules/p-timeout/package.json +0 -80
  504. package/node_modules/p-timeout/readme.md +0 -87
  505. package/node_modules/pako/CHANGELOG.md +0 -164
  506. package/node_modules/pako/LICENSE +0 -21
  507. package/node_modules/pako/README.md +0 -191
  508. package/node_modules/pako/dist/pako.js +0 -6818
  509. package/node_modules/pako/dist/pako.min.js +0 -1
  510. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  511. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  512. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  513. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  514. package/node_modules/pako/index.js +0 -14
  515. package/node_modules/pako/lib/deflate.js +0 -400
  516. package/node_modules/pako/lib/inflate.js +0 -423
  517. package/node_modules/pako/lib/utils/common.js +0 -105
  518. package/node_modules/pako/lib/utils/strings.js +0 -187
  519. package/node_modules/pako/lib/zlib/README +0 -59
  520. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  521. package/node_modules/pako/lib/zlib/constants.js +0 -68
  522. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  523. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  524. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  525. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  526. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  527. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  528. package/node_modules/pako/lib/zlib/messages.js +0 -32
  529. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  530. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  531. package/node_modules/pako/package.json +0 -94
  532. package/node_modules/process-nextick-args/index.js +0 -45
  533. package/node_modules/process-nextick-args/license.md +0 -19
  534. package/node_modules/process-nextick-args/package.json +0 -53
  535. package/node_modules/process-nextick-args/readme.md +0 -18
  536. package/node_modules/readable-stream/.travis.yml +0 -34
  537. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  538. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  539. package/node_modules/readable-stream/LICENSE +0 -47
  540. package/node_modules/readable-stream/README.md +0 -58
  541. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  542. package/node_modules/readable-stream/duplex-browser.js +0 -1
  543. package/node_modules/readable-stream/duplex.js +0 -1
  544. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  545. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  546. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  547. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  548. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  549. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  550. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  551. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  552. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  553. package/node_modules/readable-stream/package.json +0 -86
  554. package/node_modules/readable-stream/passthrough.js +0 -1
  555. package/node_modules/readable-stream/readable-browser.js +0 -7
  556. package/node_modules/readable-stream/readable.js +0 -19
  557. package/node_modules/readable-stream/transform.js +0 -1
  558. package/node_modules/readable-stream/writable-browser.js +0 -1
  559. package/node_modules/readable-stream/writable.js +0 -8
  560. package/node_modules/retry/.npmignore +0 -3
  561. package/node_modules/retry/.travis.yml +0 -15
  562. package/node_modules/retry/License +0 -21
  563. package/node_modules/retry/Makefile +0 -18
  564. package/node_modules/retry/README.md +0 -227
  565. package/node_modules/retry/equation.gif +0 -0
  566. package/node_modules/retry/example/dns.js +0 -31
  567. package/node_modules/retry/example/stop.js +0 -40
  568. package/node_modules/retry/index.js +0 -1
  569. package/node_modules/retry/lib/retry.js +0 -100
  570. package/node_modules/retry/lib/retry_operation.js +0 -158
  571. package/node_modules/retry/package.json +0 -67
  572. package/node_modules/retry/test/common.js +0 -10
  573. package/node_modules/retry/test/integration/test-forever.js +0 -24
  574. package/node_modules/retry/test/integration/test-retry-operation.js +0 -258
  575. package/node_modules/retry/test/integration/test-retry-wrap.js +0 -101
  576. package/node_modules/retry/test/integration/test-timeouts.js +0 -69
  577. package/node_modules/setimmediate/LICENSE.txt +0 -20
  578. package/node_modules/setimmediate/package.json +0 -77
  579. package/node_modules/setimmediate/setImmediate.js +0 -186
  580. package/node_modules/split/.npmignore +0 -3
  581. package/node_modules/split/.travis.yml +0 -3
  582. package/node_modules/split/LICENCE +0 -22
  583. package/node_modules/split/examples/pretty.js +0 -26
  584. package/node_modules/split/index.js +0 -63
  585. package/node_modules/split/package.json +0 -65
  586. package/node_modules/split/readme.markdown +0 -72
  587. package/node_modules/split/test/options.asynct.js +0 -46
  588. package/node_modules/split/test/partitioned_unicode.js +0 -34
  589. package/node_modules/split/test/split.asynct.js +0 -137
  590. package/node_modules/split/test/try_catch.asynct.js +0 -51
  591. package/node_modules/stream-shift/.travis.yml +0 -6
  592. package/node_modules/stream-shift/LICENSE +0 -21
  593. package/node_modules/stream-shift/README.md +0 -25
  594. package/node_modules/stream-shift/index.js +0 -20
  595. package/node_modules/stream-shift/package.json +0 -56
  596. package/node_modules/stream-shift/test.js +0 -48
  597. package/node_modules/ultron/LICENSE +0 -22
  598. package/node_modules/ultron/README.md +0 -113
  599. package/node_modules/ultron/index.js +0 -136
  600. package/node_modules/ultron/package.json +0 -71
  601. package/node_modules/websocket-stream/LICENSE +0 -8
  602. package/node_modules/websocket-stream/collaborators.md +0 -11
  603. package/node_modules/websocket-stream/echo-server.js +0 -51
  604. package/node_modules/websocket-stream/index.d.ts +0 -27
  605. package/node_modules/websocket-stream/index.js +0 -6
  606. package/node_modules/websocket-stream/package.json +0 -82
  607. package/node_modules/websocket-stream/readme.md +0 -148
  608. package/node_modules/websocket-stream/server.js +0 -29
  609. package/node_modules/websocket-stream/stream.js +0 -189
  610. package/node_modules/websocket-stream/test-client.js +0 -74
  611. package/node_modules/websocket-stream/test-server.js +0 -56
  612. package/node_modules/websocket-stream/test.js +0 -338
  613. package/node_modules/websocket-stream/ts-tests.ts +0 -69
  614. package/node_modules/websocket-stream/ws-fallback.js +0 -12
  615. package/node_modules/ws/LICENSE +0 -21
  616. package/node_modules/ws/README.md +0 -341
  617. package/node_modules/ws/index.js +0 -15
  618. package/node_modules/ws/lib/.DS_Store +0 -0
  619. package/node_modules/ws/lib/BufferUtil.js +0 -71
  620. package/node_modules/ws/lib/Constants.js +0 -10
  621. package/node_modules/ws/lib/ErrorCodes.js +0 -28
  622. package/node_modules/ws/lib/EventTarget.js +0 -151
  623. package/node_modules/ws/lib/Extensions.js +0 -203
  624. package/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  625. package/node_modules/ws/lib/Receiver.js +0 -553
  626. package/node_modules/ws/lib/Sender.js +0 -412
  627. package/node_modules/ws/lib/Validation.js +0 -17
  628. package/node_modules/ws/lib/WebSocket.js +0 -717
  629. package/node_modules/ws/lib/WebSocketServer.js +0 -326
  630. package/node_modules/ws/package.json +0 -83
  631. package/node_modules/xhr2/CONTRIBUTING.md +0 -33
  632. package/node_modules/xhr2/Cakefile +0 -131
  633. package/node_modules/xhr2/LICENSE.txt +0 -19
  634. package/node_modules/xhr2/README.md +0 -142
  635. package/node_modules/xhr2/lib/browser.js +0 -1
  636. package/node_modules/xhr2/lib/xhr2.js +0 -1244
  637. package/node_modules/xhr2/package.json +0 -103
  638. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  639. package/node_modules/xhr2/src/001-xml_http_request.coffee +0 -781
  640. package/node_modules/xhr2/src/errors.coffee +0 -31
  641. package/node_modules/xhr2/src/progress_event.coffee +0 -39
  642. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  643. package/node_modules/xhr2/test/fixtures/hello.json +0 -1
  644. package/node_modules/xhr2/test/fixtures/hello.txt +0 -1
  645. package/node_modules/xhr2/test/fixtures/xhr2.png +0 -0
  646. package/node_modules/xhr2/test/html/browser_test.html +0 -30
  647. package/node_modules/xhr2/test/src/event_target_test.coffee +0 -85
  648. package/node_modules/xhr2/test/src/events_test.coffee +0 -204
  649. package/node_modules/xhr2/test/src/headers_test.coffee +0 -168
  650. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  651. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +0 -1
  652. package/node_modules/xhr2/test/src/helpers/setup.coffee +0 -38
  653. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +0 -156
  654. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +0 -162
  655. package/node_modules/xhr2/test/src/redirect_test.coffee +0 -57
  656. package/node_modules/xhr2/test/src/response_type_test.coffee +0 -88
  657. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
  658. package/node_modules/xhr2/test/src/send_test.coffee +0 -89
  659. package/node_modules/xhr2/test/src/status_test.coffee +0 -47
  660. package/node_modules/xhr2/test/src/xhr_test.coffee +0 -102
  661. package/node_modules/xtend/.jshintrc +0 -30
  662. package/node_modules/xtend/LICENSE +0 -20
  663. package/node_modules/xtend/README.md +0 -32
  664. package/node_modules/xtend/immutable.js +0 -19
  665. package/node_modules/xtend/mutable.js +0 -17
  666. package/node_modules/xtend/package.json +0 -89
  667. package/node_modules/xtend/test.js +0 -103
  668. package/node_modules/yazl/LICENSE +0 -21
  669. package/node_modules/yazl/README.md +0 -389
  670. package/node_modules/yazl/index.js +0 -749
  671. package/node_modules/yazl/package.json +0 -69
  672. package/src/commands/CorelliumAPI.js +0 -76
  673. package/src/subscriberInvite.js +0 -140
@@ -1,1031 +0,0 @@
1
- "use strict";
2
-
3
- const { fetchApi } = require("./util/fetch");
4
- const EventEmitter = require("events");
5
- const wsstream = require("websocket-stream");
6
- const Snapshot = require("./snapshot");
7
- const Agent = require("./agent");
8
- const pTimeout = require("p-timeout");
9
- const NetworkMonitor = require("./netmon");
10
- const { sleep } = require("./util/sleep");
11
- const util = require("util");
12
- const fs = require("fs");
13
- const { compress, uploadFile } = require("./images");
14
- const uuidv4 = require("uuid/v4");
15
- const split = require("split");
16
-
17
- /**
18
- * @typedef {object} ThreadInfo
19
- * @property {string} pid - process PID
20
- * @property {string} kernelId - process ID in kernel
21
- * @property {string} name - process name
22
- * @property {object[]} threads - process threads
23
- * @property {string} threads[].tid - thread ID
24
- * @property {string} threads[].kernelId - thread ID in kernel
25
- */
26
-
27
- /**
28
- * @typedef {object} PanicInfo
29
- * @property {integer} flags
30
- * @property {string} panic
31
- * @property {string} stackshot
32
- * @property {string} other
33
- * @property {integer} ts
34
- */
35
-
36
- /**
37
- * @typedef {object} PeripheralData
38
- * @property {string} gpsToffs - GPS time offset
39
- * @property {string} gpsLat - GPS latitude
40
- * @property {string} gpsLon - GPS longitude
41
- * @property {string} gpsAlt - GPS altitude
42
- * @property {string} acOnline - Is AC charger present, options ['0' , '1']
43
- * @property {string} batteryPresent - Is battery present, options ['0' , '1']
44
- * @property {string} batteryStatus - Battery charging status, options ['charging', 'discharging', 'not-charging']
45
- * @property {string} batteryHealth - Battery health, options ['good', 'overheat', 'dead', 'overvolt', 'failure']
46
- * @property {string} batteryCapacity - Battery capacity, options 0-100
47
- * @property {string} acceleration - Acceleration sensor
48
- * @property {string} gyroscope - Gyroscope sensor
49
- * @property {string} magnetic - Magnetic sensor
50
- * @property {string} orientation - Orientation sensor
51
- * @property {string} temperature - Temperator sensor
52
- * @property {string} proximity - Proximity sensor
53
- * @property {string} light - Light sensor
54
- * @property {string} pressure - Pressure sensor
55
- * @property {string} humidity - Humidity sensor
56
- */
57
-
58
- /**
59
- * @typedef {object} RateInfo
60
- * Convert microcents to USD using rate / 1000000 / 100 * seconds where rate is rateInfo.onRateMicrocents or rateInfo.offRateMicrocents and seconds is the number of seconds the instance is running.
61
- * @property {integer} onRateMicrocents - The amount per second, in microcents (USD), that this instance charges to be running.
62
- * @property {integer} offRateMicrocents - The amount per second, in microcents (USD), that this instance charges to be stored.
63
- */
64
-
65
- /**
66
- * Instances of this class are returned from {@link Project#instances}, {@link
67
- * Project#getInstance}, and {@link Project#createInstance}. They should not be
68
- * created using the constructor.
69
- * @hideconstructor
70
- */
71
- class Instance extends EventEmitter {
72
- constructor(project, info) {
73
- super();
74
-
75
- this.project = project;
76
- this.info = info;
77
- this.infoDate = new Date();
78
- this.id = info.id;
79
- this.updating = false;
80
-
81
- this.hash = null;
82
- this.hypervisorStream = null;
83
- this._agent = null;
84
- this._netmon = null;
85
- this.lastPanicLength = null;
86
- this.volumeId = null;
87
-
88
- this.on("newListener", (event) => {
89
- if (event === "change") {
90
- this.project.updater.add(this);
91
- }
92
- });
93
- this.on("removeListener", (event) => {
94
- if (event === "change" && this.listenerCount("change") == 0) {
95
- this.project.updater.remove(this);
96
- }
97
- });
98
- }
99
-
100
- /**
101
- * The instance name.
102
- */
103
- get name() {
104
- return this.info.name;
105
- }
106
-
107
- /**
108
- * The instance state. Possible values include:
109
- *
110
- * State|Description
111
- * -|-
112
- * `on`|The instance is powered on.
113
- * `off`|The instance is powered off.
114
- * `creating`|The instance is in the process of creating.
115
- * `deleting`|The instance is in the process of deleting.
116
- * `deleted`|The instance is deleted, instance will set to undefined.
117
- * `paused`|The instance is paused.
118
- *
119
- * A full list of possible values is available in the API documentation.
120
- */
121
- get state() {
122
- return this.info.state;
123
- }
124
-
125
- /**
126
- * The timestamp when the state last changed.
127
- */
128
- get stateChanged() {
129
- return this.info.stateChanged;
130
- }
131
-
132
- /**
133
- * The instance flavor, such as `iphone6`.
134
- */
135
- get flavor() {
136
- return this.info.flavor;
137
- }
138
-
139
- /**
140
- * The instance type, such as `ios`.
141
- */
142
- get type() {
143
- return this.info.type;
144
- }
145
-
146
- /**
147
- * The pending task that is being requested by the user and is being executed by the backend.
148
- * This field is null when no tasks are pending. The returned object has two fields: name and options.
149
- *
150
- * Current options for name are start, stop, pause, unpause, snapshot, revert.
151
- * For start and revert, options.bootOptions contains the boot options the instance is to be started with.
152
- *
153
- */
154
- get userTask() {
155
- return this.info.userTask;
156
- }
157
-
158
- /**
159
- * Return the current task state.
160
- */
161
- get taskState() {
162
- return this.info.taskState;
163
- }
164
-
165
- /**
166
- * Rename an instance.
167
- * @param {string} name - The new name of the instance.
168
- * @example <caption>Renaming the first instance named `foo` to `bar`</caption>
169
- * const instances = await project.instances();
170
- * const instance = instances.find(instance => instance.name == 'foo');
171
- * await instance.rename('bar');
172
- */
173
- async rename(name) {
174
- await this._fetch("", {
175
- method: "PATCH",
176
- json: { name },
177
- });
178
- }
179
-
180
- /**
181
- * The instance boot options.
182
- */
183
- get bootOptions() {
184
- return this.info.bootOptions;
185
- }
186
-
187
- /**
188
- * Change boot options for an instance.
189
- * @param {Object} bootOptions - The new boot options for the instance.
190
- * @example <caption>Changing the boot arguments for the instance.</caption>
191
- * const instances = await project.instances();
192
- * const instance = instances.find(instance => instance.name == 'foo');
193
- * await instance.modifyBootOptions(Object.assign({}, instance.bootOptions, {bootArgs: 'new-boot-args'}));
194
- */
195
- async modifyBootOptions(bootOptions) {
196
- await this._fetch("", {
197
- method: "PATCH",
198
- json: { bootOptions },
199
- });
200
- }
201
-
202
- /**
203
- * Change device peripheral/sensor values.
204
- *
205
- * Currently available for Android only.
206
- * @param {PeripheralData} peripheralData - The new peripheral options for the instance.
207
- * @example <caption>Changing the sensor values for the instance.</caption>
208
- * const instances = await project.instances();
209
- * const instance = instances.find(instance => instance.name == 'foo');
210
- * await instance.modifyPeripherals({
211
- * "gpsToffs": "0.000000",
212
- * "gpsLat": "37.414300",
213
- * "gpsLon": "-122.077400",
214
- * "gpsAlt": "45.000000",
215
- * "acOnline": "1",
216
- * "batteryPresent": "1",
217
- * "batteryStatus": "discharging",
218
- * "batteryHealth": "overheat",
219
- * "batteryCapacity": "99.000000",
220
- * "acceleration": "0.000000,9.810000,0.000000",
221
- * "gyroscope": "0.000000,0.000000,0.000000",
222
- * "magnetic": "0.000000,45.000000,0.000000",
223
- * "orientation": "0.000000,0.000000,0.000000",
224
- * "temperature": "25.000000",
225
- * "proximity": "50.000000",
226
- * "light": "20.000000",
227
- * "pressure": "1013.250000",
228
- * "humidity": "55.000000"
229
- * }));
230
- */
231
- async modifyPeripherals(peripheralData) {
232
- await this._fetch("", {
233
- method: "PATCH",
234
- json: { peripherals: peripheralData },
235
- });
236
- }
237
-
238
- /**
239
- * Get peripheral/sensor data
240
- * @return {Promise<PeripheralData>}
241
- * @example
242
- * let peripherals = await instance.getPeripherals();
243
- */
244
- async getPeripherals() {
245
- return await this._fetch("/peripherals", { method: "GET" });
246
- }
247
-
248
- /**
249
- * Return an array of this instance's {@link Snapshot}s.
250
- * @returns {Snapshot[]} This instance's snapshots
251
- * @example
252
- * const instances = await project.instances();
253
- * const instance = instances.find(instance => instance.name == 'foo');
254
- * await instance.snapshots();
255
- */
256
- async snapshots() {
257
- const snapshots = await this._fetch("/snapshots");
258
- return snapshots.map((snap) => new Snapshot(this, snap));
259
- }
260
-
261
- /**
262
- * Take a new snapshot of this instance.
263
- * @param {string} name - The name for the new snapshot.
264
- * @returns {Snapshot} The new snapshot
265
- * @example
266
- * const instances = await project.instances();
267
- * const instance = instances.find(instance => instance.name == 'foo');
268
- * await instance.takeSnapshot("TestSnapshot");
269
- */
270
- async takeSnapshot(name) {
271
- const snapshot = await this._fetch("/snapshots", {
272
- method: "POST",
273
- json: { name },
274
- });
275
- await this.update();
276
- await this.waitForUserTask(null);
277
-
278
- return new Snapshot(this, snapshot);
279
- }
280
-
281
- /**
282
- * Returns a dump of this instance's serial port log.
283
- * @return {string}
284
- * @example
285
- * const instances = await project.instances();
286
- * const instance = instances.find(instance => instance.name == 'foo');
287
- * console.log(await instance.consoleLog());
288
- */
289
- async consoleLog() {
290
- const response = await this._fetch("/consoleLog", { response: "raw" });
291
- return await response.text();
292
- }
293
-
294
- /**
295
- * Return an array of recorded kernel panics.
296
- * @return {Promise<PanicInfo[]>}
297
- * @example
298
- * const instances = await project.instances();
299
- * const instance = instances.find(instance => instance.name == 'foo');
300
- * console.log(await instance.panics());
301
- */
302
- async panics() {
303
- return await this._fetch("/panics");
304
- }
305
-
306
- /**
307
- * Clear the recorded kernel panics of this instance.
308
- * @example
309
- * const instances = await project.instances();
310
- * const instance = instances.find(instance => instance.name == 'foo');
311
- * await instance.clearPanics();
312
- */
313
- async clearPanics() {
314
- await this._fetch("/panics", { method: "DELETE" });
315
- }
316
-
317
- /**
318
- * Return an {@link Agent} connected to this instance. Calling this
319
- * method multiple times will reuse the same agent connection.
320
- * @returns {Agent}
321
- * @example
322
- * let agent = await instance.agent();
323
- * await agent.ready();
324
- */
325
- async agent() {
326
- if (this._agent && !this._agent.connected && !this._agent.pendingConnect) {
327
- this._agent.disconnect();
328
- delete this._agent;
329
- }
330
-
331
- if (!this._agent) {
332
- this._agent = await this.newAgent();
333
- }
334
-
335
- return this._agent;
336
- }
337
-
338
- async agentEndpoint() {
339
- // Extra while loop to avoid races where info.agent gets unset again before we wake back up.
340
- while (!this.info.agent) await this._waitFor(() => !!this.info.agent);
341
-
342
- // We want to avoid a situation where we were not listening for updates, and the info we have is stale (from last boot),
343
- // and the instance has started again but this time with no agent info yet or new agent info. Therefore, we can use
344
- // cached if only if it's recent.
345
- if (
346
- new Date().getTime() - this.infoDate.getTime() >
347
- 2 * this.project.updater.updateInterval
348
- ) {
349
- try {
350
- await this.update();
351
- } catch (err) {
352
- if (err.stack.includes("500 Internal Server Error")) {
353
- return undefined;
354
- }
355
- }
356
- }
357
-
358
- return this.project.api + "/agent/" + this.info.agent.info;
359
- }
360
-
361
- async waitForAgentReady() {
362
- let agentObtained;
363
- do {
364
- try {
365
- const endpoint = await this.agentEndpoint();
366
- if (!endpoint) throw new Error("Instance likely does not exist");
367
-
368
- const agent = await this.agent();
369
-
370
- agentObtained = await pTimeout(
371
- (async () => {
372
- try {
373
- await agent.ready();
374
- return true;
375
- } catch (e) {
376
- // If the websocket threw an error, lets wait for the end of
377
- // the timeout to give it some breathing room
378
- await sleep(2 * 1000);
379
- } finally {
380
- agent.disconnect();
381
- }
382
- })(),
383
- 20 * 1000,
384
- async () => {
385
- // When this times out, it is likely that the instance isn't fully up yet
386
- await sleep(5 * 1000);
387
- return false;
388
- },
389
- );
390
- } catch (e) {
391
- console.log(`Caught error waiting for agent to be ready ${e}`);
392
- if (e.stack.includes("Instance likely does not exist")) {
393
- throw e;
394
- }
395
- }
396
- } while (!agentObtained);
397
- }
398
-
399
- /**
400
- * Create a new {@link Agent} connection to this instance. This is
401
- * useful for agent tasks that don't finish and thus consume the
402
- * connection, such as {@link Agent#crashes}.
403
- * @returns {Agent}
404
- * @example
405
- * let crashListener = await instance.newAgent();
406
- * crashListener.crashes('com.corellium.demoapp', (err, crashReport) => {
407
- * if (err) {
408
- * console.error(err);
409
- * return;
410
- * }
411
- * console.log(crashReport);
412
- * });
413
- */
414
- async newAgent() {
415
- return new Agent(this);
416
- }
417
-
418
- /**
419
- * Return an {@link NetworkMonitor} connected to this instance. Calling this
420
- * method multiple times will reuse the same agent connection.
421
- * @returns {NetworkMonitor}
422
- */
423
- async networkMonitor() {
424
- if (!this._netmon) this._netmon = await this.newNetworkMonitor();
425
- return this._netmon;
426
- }
427
-
428
- async netmonEndpoint() {
429
- // Extra while loop to avoid races where info.netmon gets unset again before we wake back up.
430
- while (!this.info.netmon) await this._waitFor(() => !!this.info.netmon);
431
-
432
- // We want to avoid a situation where we were not listening for updates, and the info we have is stale (from last boot),
433
- // and the instance has started again but this time with no agent info yet or new agent info. Therefore, we can use
434
- // cached if only if it's recent.
435
- if (
436
- new Date().getTime() - this.infoDate.getTime() >
437
- 2 * this.project.updater.updateInterval
438
- ) {
439
- try {
440
- await this.update();
441
- } catch (err) {
442
- if (err.stack.includes("500 Internal Server Error")) {
443
- return undefined;
444
- }
445
- }
446
- }
447
-
448
- return this.project.api + "/agent/" + this.info.netmon.info;
449
- }
450
-
451
- /**
452
- * Create a new {@link NetworkMonitor} connection to this instance.
453
- * @returns {NetworkMonitor}
454
- */
455
- async newNetworkMonitor() {
456
- return new NetworkMonitor(this);
457
- }
458
-
459
- /**
460
- * Returns a bidirectional node stream for this instance's serial console.
461
- * @return {WebSocket-Stream}
462
- * @example
463
- * const consoleStream = await instance.console();
464
- * consoleStream.pipe(process.stdout);
465
- */
466
- async console() {
467
- const { url } = await this._fetch("/console");
468
- return wsstream(url, ["binary"]);
469
- }
470
-
471
- /**
472
- * Waits for a specified line on console.
473
- * @example
474
- * await instance.waitForLineOnConsole(line)
475
- */
476
- async waitForLineOnConsole(line) {
477
- const stream = await this.console();
478
- await stream
479
- .pipe(split())
480
- .on("data", (l) => {
481
- if (l === line) {
482
- stream.destroy();
483
- return;
484
- }
485
- })
486
- .on("end", () => {
487
- return;
488
- });
489
- }
490
-
491
- /**
492
- * Returns the cost, in microcents, for the instance in the on and off state. Instances are charged $0.25 / day for storage (off) and $0.25 per core per hour (on).
493
- * @returns {RateInfo}
494
- * @example
495
- * const rateInfo = await instance.rate();
496
- */
497
- async rate() {
498
- return await this._fetch("/rate");
499
- }
500
-
501
- /**
502
- * Send an input to this instance.
503
- * @param {Input} input - The input to send.
504
- * @see Input
505
- * @example
506
- * await instance.sendInput(I.pressRelease('home'));
507
- */
508
- async sendInput(input) {
509
- await this._fetch("/input", { method: "POST", json: input.points });
510
- }
511
-
512
- /**
513
- * Start this instance.
514
- * @example
515
- * await instance.start();
516
- */
517
- async start() {
518
- await this._fetch("/start", { method: "POST" });
519
- }
520
-
521
- /**
522
- * Stop this instance.
523
- * @example
524
- * await instance.stop();
525
- */
526
- async stop() {
527
- await this._fetch("/stop", { method: "POST" });
528
- }
529
-
530
- /**
531
- * Pause this instance
532
- * @example
533
- * await instance.pause();
534
- */
535
- async pause() {
536
- await this._fetch("/pause", { method: "POST" });
537
- }
538
-
539
- /**
540
- * Unpause this instance
541
- * @example
542
- * await instance.unpause();
543
- */
544
- async unpause() {
545
- await this._fetch("/unpause", { method: "POST" });
546
- }
547
-
548
- /**
549
- * Reboot this instance.
550
- * @example
551
- * await instance.reboot();
552
- */
553
- async reboot() {
554
- await this._fetch("/reboot", { method: "POST" });
555
- await this.waitForTaskState("rebooting");
556
- await this.waitForTaskState("none");
557
- }
558
-
559
- /**
560
- * Destroy this instance.
561
- * @example <caption>delete all instances of the project</caption>
562
- * let instances = await project.instances();
563
- * instances.forEach(instance => {
564
- * instance.destroy();
565
- * });
566
- */
567
- async destroy() {
568
- await this._fetch("", { method: "DELETE" });
569
- }
570
-
571
- /**
572
- * Send a message to an jailbroken iOS device
573
- * @example
574
- * await instance.message('123','321');
575
- *
576
- * @param {string} number - phone number to receive the message from
577
- * @param {string} message - message to receive
578
- */
579
- async message(sender, message) {
580
- await this._fetch("/message", {
581
- method: "POST",
582
- json: { number: sender, message: message },
583
- });
584
- }
585
-
586
- /**
587
- * Send a raw message to an jailbroken iOS device
588
- * @example
589
- * await instance.messageRaw('AAAAAAAAAAAAAAAAA');
590
- *
591
- * @param {string} data - hex encoded data to send
592
- */
593
- async messageRaw(data) {
594
- await this._fetch("/message", { method: "POST", json: { raw: data } });
595
- }
596
-
597
- /**
598
- * Get CoreTrace Thread List
599
- * @return {Promise<ThreadInfo[]>}
600
- * @example
601
- * let procList = await instance.getCoreTraceThreadList();
602
- * for (let p of procList) {
603
- * console.log(p.pid, p.kernelId, p.name);
604
- * for (let t of p.threads) {
605
- * console.log(t.tid, t.kernelId);
606
- * }
607
- * }
608
- */
609
- async getCoreTraceThreadList() {
610
- return await this._fetch("/strace/thread-list", { method: "GET" });
611
- }
612
-
613
- /**
614
- * Add List of PIDs/Names/TIDs to CoreTrace filter
615
- * @param {integer[]} pids - array of process IDs to filter
616
- * @param {string[]} names - array of process names to filter
617
- * @param {integer[]} tids - array of thread IDs to filter
618
- * @example
619
- * await instance.setCoreTraceFilter([111, 222], ["proc_name"], [333]);
620
- */
621
- async setCoreTraceFilter(pids, names, tids) {
622
- let filter = [];
623
- if (pids.length)
624
- filter = filter.concat(
625
- pids.map((pid) => {
626
- return { trait: "pid", value: pid.toString() };
627
- }),
628
- );
629
- if (names.length)
630
- filter = filter.concat(
631
- names.map((name) => {
632
- return { trait: "name", value: name };
633
- }),
634
- );
635
- if (tids.length)
636
- filter = filter.concat(
637
- tids.map((tid) => {
638
- return { trait: "tid", value: tid.toString() };
639
- }),
640
- );
641
- await this._fetch("", { method: "PATCH", json: { straceFilter: filter } });
642
- }
643
-
644
- /**
645
- * Clear CoreTrace filter
646
- * @example
647
- * await instance.clearCoreTraceFilter();
648
- */
649
- async clearCoreTraceFilter() {
650
- await this._fetch("", { method: "PATCH", json: { straceFilter: [] } });
651
- }
652
-
653
- /**
654
- * Start CoreTrace
655
- * @example
656
- * await instance.startCoreTrace();
657
- */
658
- async startCoreTrace() {
659
- await this._fetch("/strace/enable", { method: "POST" });
660
- if (this.info.coreTrace) {
661
- await this._waitFor(() => this.info.coreTrace.enabled === true);
662
- }
663
- }
664
-
665
- /**
666
- * Stop CoreTrace
667
- * @example
668
- * await instance.stopCoreTrace();
669
- */
670
- async stopCoreTrace() {
671
- await this._fetch("/strace/disable", { method: "POST" });
672
- if (this.info.coreTrace) {
673
- await this._waitFor(() => this.info.coreTrace.enabled === false);
674
- }
675
- }
676
-
677
- /**
678
- * Download CoreTrace Log
679
- * @example
680
- * let trace = await instance.downloadCoreTraceLog();
681
- * console.log(trace.toString());
682
- */
683
- async downloadCoreTraceLog() {
684
- const token = await this._fetch("/strace-authorize", { method: "GET" });
685
- const response = await fetchApi(
686
- this.project,
687
- `/preauthed/` + token.token + `/coretrace.log`,
688
- { response: "raw" },
689
- );
690
- return await response.buffer();
691
- }
692
-
693
- /**
694
- * Clean CoreTrace log
695
- * @example
696
- * await instance.clearCoreTraceLog();
697
- */
698
- async clearCoreTraceLog() {
699
- await this._fetch("/strace", { method: "DELETE" });
700
- }
701
-
702
- /**
703
- * Returns a bidirectional node stream for this instance's frida console.
704
- * @return {WebSocket-Stream}
705
- * @example
706
- * const consoleStream = await instance.fridaConsole();
707
- * consoleStream.pipe(process.stdout);
708
- */
709
- async fridaConsole() {
710
- const { url } = await this._fetch("/console?type=frida");
711
- var fridaConsole = wsstream(url, ["binary"]);
712
-
713
- await new Promise((resolve) => {
714
- fridaConsole.socket.on("open", () => {
715
- resolve();
716
- });
717
- });
718
-
719
- return fridaConsole;
720
- }
721
-
722
- /**
723
- * Execute FRIDA script by name
724
- * @param {string} filePath - path to FRIDA script
725
- * @example
726
- * await instance.executeFridaScript("/data/corellium/frida/scripts/script.js");
727
- */
728
- async executeFridaScript(filePath) {
729
- const fridaConsoleStream = await this.fridaConsole();
730
- fridaConsoleStream.socket.on("close", function () {
731
- fridaConsoleStream.destroy();
732
- });
733
-
734
- fridaConsoleStream.socket.send("%load " + filePath + "\n", null, () =>
735
- fridaConsoleStream.socket.close(),
736
- );
737
-
738
- fridaConsoleStream.socket.close();
739
- }
740
-
741
- /**
742
- * Takes a screenshot of this instance's screen. Returns a Buffer containing image data.
743
- * @param {Object} options
744
- * @param {string} [options.format=png] - Either `png` or `jpg`.
745
- * @param {int} [options.scale=1] - The image scale. Specifying 2 would result
746
- * in an image with half the instance's native resolution. This is useful
747
- * because smaller images are quicker to capture and transmit over the
748
- * network.
749
- * @example
750
- * const screenshot = await instance.takeScreenshot();
751
- * fs.writeFileSync('screenshot.png', screenshot);
752
- */
753
- async takeScreenshot(options) {
754
- const { format = "png", scale = 1 } = options || {};
755
- const res = await this._fetch(`/screenshot.${format}?scale=${scale}`, {
756
- response: "raw",
757
- });
758
- if (res.buffer) return await res.buffer();
759
- // node
760
- else return await res.blob(); // browser
761
- }
762
-
763
- /**
764
- * Enable exposing a port for connecting to VM.
765
- * For iOS, this would mean ssh, for Android, adb access.
766
- */
767
- async enableExposedPort() {
768
- await this._fetch("/exposeport/enable", { method: "POST" });
769
- }
770
-
771
- /**
772
- * Disable exposing a port for connecting to VM.
773
- * For iOS, this would mean ssh, for Android, adb access.
774
- */
775
- async disableExposedPort() {
776
- await this._fetch("/exposeport/disable", { method: "POST" });
777
- }
778
-
779
- async update() {
780
- this.receiveUpdate(await this._fetch(""));
781
- }
782
-
783
- receiveUpdate(info) {
784
- this.infoDate = new Date();
785
- // one way of checking object equality
786
- if (JSON.stringify(info) != JSON.stringify(this.info)) {
787
- this.info = info;
788
- /**
789
- * Fired when a property of an instance changes, such as its name or its state.
790
- * @event Instance#change
791
- * @example
792
- * instance.on('change', () => {
793
- * console.log(instance.id, instance.name, instance.state);
794
- * });
795
- */
796
- this.emit("change");
797
- if (info.panicked)
798
- /**
799
- * Fired when an instance panics. The panic information can be retrieved with {@link Instance#panics}.
800
- * @event Instance#panic
801
- * @example
802
- * instance.on('panic', async () => {
803
- * try {
804
- * console.log('Panic detected!');
805
- * // get the panic log(s)
806
- * console.log(await instance.panics());
807
- * // Download the console log.
808
- * console.log(await instance.consoleLog());
809
- * // Clear the panic log.
810
- * await instance.clearPanics();
811
- * // Reboot the instance.
812
- * await instance.reboot();
813
- * } catch (e) {
814
- * // handle the error somehow to avoid an unhandled promise rejection
815
- * }
816
- * });
817
- */
818
- this.emit("panic");
819
- }
820
- }
821
-
822
- async _waitFor(callback) {
823
- await this.update();
824
- return new Promise((resolve) => {
825
- const change = () => {
826
- let done;
827
- try {
828
- done = callback();
829
- } catch (e) {
830
- done = false;
831
- }
832
- if (done) {
833
- this.removeListener("change", change);
834
- resolve();
835
- }
836
- };
837
-
838
- this.on("change", change);
839
- change();
840
- });
841
- }
842
-
843
- /**
844
- * Wait for the instance to finish restoring and start its first boot.
845
- * @example <caption>Wait for VM to finish restore</caption>
846
- * instance.finishRestore();
847
- */
848
- async finishRestore() {
849
- await this._waitFor(() => this.state !== "creating");
850
- }
851
-
852
- /**
853
- * Wait for the instance to enter the given state.
854
- * @param {string} state - state to wait
855
- * @example <caption>Wait for VM to be ON</caption>
856
- * instance.waitForState('on');
857
- */
858
- async waitForState(state) {
859
- await this._waitFor(() => this.state === state);
860
- }
861
-
862
- /**
863
- * Wait for the instance task to enter the given state.
864
- * @param {string} taskName
865
- */
866
- async waitForTaskState(taskName) {
867
- await this._waitFor(() => this.taskState === taskName);
868
- }
869
-
870
- /**
871
- * Wait for the instance user task name to be a given state.
872
- * @param {string} userTaskName
873
- */
874
- async waitForUserTask(userTaskName) {
875
- await this._waitFor(() => {
876
- if (!userTaskName) {
877
- return !this.userTask;
878
- } else {
879
- return this.userTask.name === userTaskName;
880
- }
881
- });
882
- }
883
-
884
- async _fetch(endpoint = "", options = {}) {
885
- return await fetchApi(this.project, `/instances/${this.id}${endpoint}`, options);
886
- }
887
-
888
- /**
889
- * Delete Iot Firmware that is attached to an instance
890
- * @param {FirmwareImage} firmwareImage
891
- */
892
- async deleteIotFirmware(firmwareImage) {
893
- return await this.deleteImage(firmwareImage);
894
- }
895
-
896
- /**
897
- * Delete kernel that is attached to an instance
898
- * @param {KernelImage} kernelImage
899
- */
900
- async deleteKernel(kernelImage) {
901
- return await this.deleteImage(kernelImage);
902
- }
903
-
904
- /**
905
- * Delete an image that is attached to an instance
906
- * @param {Image | KernelImage | FirmwareImage} kernelImage
907
- */
908
- async deleteImage(image) {
909
- return await fetchApi(this, `/images/${image.id}`, {
910
- method: "DELETE",
911
- });
912
- }
913
-
914
- /**
915
- * Upload a partition (e.g. flash) to an instance.
916
- *
917
- * @param {string} filePath - The path on the local file system to get the firmware file.
918
- * @param {string} name - The name of the partition to load this file to.
919
- * @param {Project~progressCallback} [progress] - The callback for file upload progress information.
920
- *
921
- * @returns {Promise<PartitionImage>}
922
- */
923
- async uploadPartition(filePath, name, progress) {
924
- return await this.compressAndUploadImage("partition", filePath, name, progress);
925
- }
926
-
927
- /**
928
- * Add a custom IoT firmware image to a project for use in creating new instances.
929
- *
930
- * @param {string} filePath - The path on the local file system to get the firmware file.
931
- * @param {string} name - The name of the file to identify the file on the server. Usually the basename of the path.
932
- * @param {Project~progressCallback} [progress] - The callback for file upload progress information.
933
- *
934
- * @returns {Promise<FirmwareImage>}
935
- */
936
- async uploadIotFirmware(filePath, name, progress) {
937
- return await this.uploadKernel(filePath, name, progress);
938
- }
939
-
940
- /**
941
- * compress an image and upload it to an instance
942
- *
943
- * @param {string} type - the type of image being uploaded ie. kernel, ramdisk, or devicetree
944
- * @param {string} filePath - The path on the local file system to get the file.
945
- * @param {string} name - The name of the file to identify the file on the server. Usually the basename of the path.
946
- * @param {Project~progressCallback} [progress] - The callback for file upload progress information.
947
- *
948
- * @returns {Promise<Image>}
949
- */
950
- async compressAndUploadImage(type, filePath, name, progress) {
951
- let tmpfile = null;
952
- const data = await util.promisify(fs.readFile)(filePath);
953
-
954
- tmpfile = await compress(data, name);
955
-
956
- let uploadedImage = await this.uploadImage(type, tmpfile, name, progress);
957
-
958
- if (tmpfile) {
959
- fs.unlinkSync(tmpfile);
960
- }
961
-
962
- return { id: uploadedImage.id, name: uploadedImage.name };
963
- }
964
-
965
- /**
966
- * Add a kernel image to an instance
967
- *
968
- * @param {string} filePath - The path on the local file system to get the kernel file.
969
- * @param {string} name - The name of the file to identify the file on the server. Usually the basename of the path.
970
- * @param {Project~progressCallback} [progress] - The callback for file upload progress information.
971
- *
972
- * @returns {Promise<KernelImage>}
973
- */
974
- async uploadKernel(filePath, name, progress) {
975
- await this.compressAndUploadImage("kernel", filePath, name, progress);
976
- }
977
-
978
- /**
979
- * Add a ram disk image to an instance
980
- *
981
- * @param {string} filePath - The path on the local file system to get the ram disk file.
982
- * @param {string} name - The name of the file to identify the file on the server. Usually the basename of the path.
983
- * @param {Project~progressCallback} [progress] - The callback for file upload progress information.
984
- *
985
- * @returns {Promise<RamDiskImage>}
986
- */
987
- async uploadRamDisk(filePath, name, progress) {
988
- await this.compressAndUploadImage("ramdisk", filePath, name, progress);
989
- }
990
-
991
- /**
992
- * Add a device tree image to an instance.
993
- *
994
- * @param {string} filePath - The path on the local file system to get the device tree file.
995
- * @param {string} name - The name of the file to identify the file on the server. Usually the basename of the path.
996
- * @param {Project~progressCallback} [progress] - The callback for file upload progress information.
997
- *
998
- * @returns {Promise<DeviceTreeImage>}
999
- */
1000
- async uploadDeviceTree(filePath, name, progress) {
1001
- await this.compressAndUploadImage("devicetree", filePath, name, progress);
1002
- }
1003
-
1004
- /**
1005
- * Add an image to the instance. These images may be removed at any time and are meant to facilitate creating a new Instance with images.
1006
- *
1007
- * @param {string} type - E.g. fw for the main firmware image.
1008
- * @param {string} filePath - The path on the local file system to get the file.
1009
- * @param {string} name - The name of the file to identify the file on the server. Usually the basename of the path.
1010
- * @param {Project~progressCallback} [progress] - The callback for file upload progress information.
1011
- *
1012
- * @returns {Promise<Image>}
1013
- */
1014
- async uploadImage(type, filePath, name, progress) {
1015
- const token = await this.project.getToken();
1016
- const url =
1017
- this.project.api +
1018
- "/instances/" +
1019
- encodeURIComponent(this.id) +
1020
- "/image-upload/" +
1021
- encodeURIComponent(type) +
1022
- "/" +
1023
- encodeURIComponent(uuidv4()) +
1024
- "/" +
1025
- encodeURIComponent(name);
1026
-
1027
- return await uploadFile(token, url, filePath, progress);
1028
- }
1029
- }
1030
-
1031
- module.exports = Instance;