@corellium/corellium-cli 1.0.3 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (490) hide show
  1. package/README.md +5 -17
  2. package/docs/OVERVIEW.md +1 -1
  3. package/jenkinsbuild/build.sh +1 -1
  4. package/package.json +3 -3
  5. package/src/TrialAccount.js +76 -0
  6. package/src/commands/Client.js +2 -2
  7. package/src/commands/agent/Agent.js +10 -19
  8. package/src/commands/agent/apps.js +2 -1
  9. package/src/commands/agent/file.js +2 -1
  10. package/src/commands/agent/index.js +1 -0
  11. package/src/commands/agent/ready.js +43 -0
  12. package/src/commands/extensions/delete.js +2 -1
  13. package/src/commands/extensions/list.js +2 -1
  14. package/src/commands/extensions/load.js +2 -1
  15. package/src/commands/extensions/validate.js +2 -1
  16. package/src/commands/firmware/list.js +2 -1
  17. package/src/commands/firmware/load.js +2 -1
  18. package/src/commands/images/create.js +2 -1
  19. package/src/commands/images/delete.js +2 -1
  20. package/src/commands/images/list.js +2 -1
  21. package/src/commands/instances/Instance.js +27 -0
  22. package/src/commands/instances/create.js +11 -4
  23. package/src/commands/instances/delete.js +20 -5
  24. package/src/commands/instances/index.js +2 -1
  25. package/src/commands/instances/list.js +11 -5
  26. package/src/commands/instances/start.js +2 -1
  27. package/src/commands/instances/stop.js +2 -1
  28. package/src/commands/instances/upgrade.js +90 -0
  29. package/src/commands/login.js +14 -2
  30. package/src/commands/logout.js +2 -1
  31. package/src/commands/projects/create.js +2 -1
  32. package/src/commands/projects/delete.js +2 -1
  33. package/src/commands/projects/list.js +2 -1
  34. package/src/commands/signup.js +14 -5
  35. package/src/commands/webplayer/WebPlayer.js +2 -1
  36. package/src/commands/webplayer/create.js +8 -1
  37. package/src/commands/webplayer/destroy.js +2 -1
  38. package/src/commands/webplayer/list.js +19 -17
  39. package/src/commands/webplayer/login.js +2 -1
  40. package/src/error.js +14 -1
  41. package/src/logging.js +1 -1
  42. package/src/profile.js +12 -9
  43. package/src/resumable.js +1314 -0
  44. package/src/table.js +7 -2
  45. package/src/upload.js +64 -2
  46. package/src/utils.js +11 -4
  47. package/test/test.js +89 -0
  48. package/example/WebPlayerSample.js +0 -263
  49. package/node_modules/@corellium/corellium-api/README.md +0 -1210
  50. package/node_modules/@corellium/corellium-api/node_modules/form-data/License +0 -19
  51. package/node_modules/@corellium/corellium-api/node_modules/form-data/README.md.bak +0 -356
  52. package/node_modules/@corellium/corellium-api/node_modules/form-data/Readme.md +0 -356
  53. package/node_modules/@corellium/corellium-api/node_modules/form-data/index.d.ts +0 -62
  54. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/browser.js +0 -2
  55. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/form_data.js +0 -498
  56. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/populate.js +0 -10
  57. package/node_modules/@corellium/corellium-api/node_modules/form-data/package.json +0 -104
  58. package/node_modules/@corellium/corellium-api/node_modules/uuid/AUTHORS +0 -5
  59. package/node_modules/@corellium/corellium-api/node_modules/uuid/CHANGELOG.md +0 -119
  60. package/node_modules/@corellium/corellium-api/node_modules/uuid/LICENSE.md +0 -21
  61. package/node_modules/@corellium/corellium-api/node_modules/uuid/README.md +0 -276
  62. package/node_modules/@corellium/corellium-api/node_modules/uuid/bin/uuid +0 -65
  63. package/node_modules/@corellium/corellium-api/node_modules/uuid/index.js +0 -8
  64. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/bytesToUuid.js +0 -26
  65. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5-browser.js +0 -216
  66. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5.js +0 -25
  67. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng-browser.js +0 -34
  68. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng.js +0 -8
  69. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1-browser.js +0 -89
  70. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1.js +0 -25
  71. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/v35.js +0 -57
  72. package/node_modules/@corellium/corellium-api/node_modules/uuid/package.json +0 -103
  73. package/node_modules/@corellium/corellium-api/node_modules/uuid/v1.js +0 -109
  74. package/node_modules/@corellium/corellium-api/node_modules/uuid/v3.js +0 -4
  75. package/node_modules/@corellium/corellium-api/node_modules/uuid/v4.js +0 -29
  76. package/node_modules/@corellium/corellium-api/node_modules/uuid/v5.js +0 -3
  77. package/node_modules/@corellium/corellium-api/package.json +0 -106
  78. package/node_modules/@corellium/corellium-api/resumable.js +0 -1312
  79. package/node_modules/@corellium/corellium-api/src/agent.js +0 -962
  80. package/node_modules/@corellium/corellium-api/src/corellium.js +0 -444
  81. package/node_modules/@corellium/corellium-api/src/images.js +0 -131
  82. package/node_modules/@corellium/corellium-api/src/input.js +0 -178
  83. package/node_modules/@corellium/corellium-api/src/instance-updater.js +0 -56
  84. package/node_modules/@corellium/corellium-api/src/instance.js +0 -1031
  85. package/node_modules/@corellium/corellium-api/src/netmon.js +0 -308
  86. package/node_modules/@corellium/corellium-api/src/project.js +0 -393
  87. package/node_modules/@corellium/corellium-api/src/role.js +0 -65
  88. package/node_modules/@corellium/corellium-api/src/snapshot.js +0 -77
  89. package/node_modules/@corellium/corellium-api/src/team.js +0 -29
  90. package/node_modules/@corellium/corellium-api/src/user.js +0 -51
  91. package/node_modules/@corellium/corellium-api/src/util/fetch.js +0 -62
  92. package/node_modules/@corellium/corellium-api/src/util/sleep.js +0 -7
  93. package/node_modules/@corellium/corellium-api/test/integration-tests.js +0 -1292
  94. package/node_modules/@corellium/corellium-api/test/root-hook-set-flag-if-test-failed.js +0 -7
  95. package/node_modules/async-limiter/.eslintignore +0 -2
  96. package/node_modules/async-limiter/.nycrc +0 -10
  97. package/node_modules/async-limiter/.travis.yml +0 -9
  98. package/node_modules/async-limiter/LICENSE +0 -8
  99. package/node_modules/async-limiter/index.js +0 -67
  100. package/node_modules/async-limiter/package.json +0 -72
  101. package/node_modules/async-limiter/readme.md +0 -132
  102. package/node_modules/buffer-crc32/LICENSE +0 -19
  103. package/node_modules/buffer-crc32/README.md +0 -47
  104. package/node_modules/buffer-crc32/index.js +0 -111
  105. package/node_modules/buffer-crc32/package.json +0 -72
  106. package/node_modules/cross-fetch/LICENSE +0 -21
  107. package/node_modules/cross-fetch/README.md +0 -169
  108. package/node_modules/cross-fetch/dist/browser-polyfill.js +0 -532
  109. package/node_modules/cross-fetch/dist/browser-ponyfill.js +0 -554
  110. package/node_modules/cross-fetch/dist/cross-fetch.js +0 -2
  111. package/node_modules/cross-fetch/dist/cross-fetch.js.map +0 -1
  112. package/node_modules/cross-fetch/dist/node-polyfill.js +0 -11
  113. package/node_modules/cross-fetch/dist/node-ponyfill.js +0 -22
  114. package/node_modules/cross-fetch/dist/react-native-polyfill.js +0 -12
  115. package/node_modules/cross-fetch/dist/react-native-ponyfill.js +0 -6
  116. package/node_modules/cross-fetch/index.d.ts +0 -14
  117. package/node_modules/cross-fetch/package.json +0 -160
  118. package/node_modules/cross-fetch/polyfill/package.json +0 -8
  119. package/node_modules/duplexify/.travis.yml +0 -6
  120. package/node_modules/duplexify/LICENSE +0 -21
  121. package/node_modules/duplexify/README.md +0 -97
  122. package/node_modules/duplexify/example.js +0 -21
  123. package/node_modules/duplexify/index.js +0 -234
  124. package/node_modules/duplexify/package.json +0 -69
  125. package/node_modules/duplexify/test.js +0 -295
  126. package/node_modules/end-of-stream/LICENSE +0 -21
  127. package/node_modules/end-of-stream/README.md +0 -54
  128. package/node_modules/end-of-stream/index.js +0 -94
  129. package/node_modules/end-of-stream/package.json +0 -69
  130. package/node_modules/fast-stable-stringify/.npmignore +0 -4
  131. package/node_modules/fast-stable-stringify/.travis.yml +0 -10
  132. package/node_modules/fast-stable-stringify/LICENSE +0 -21
  133. package/node_modules/fast-stable-stringify/README.md +0 -81
  134. package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +0 -67
  135. package/node_modules/fast-stable-stringify/cli/format-table.js +0 -70
  136. package/node_modules/fast-stable-stringify/cli/index.js +0 -19
  137. package/node_modules/fast-stable-stringify/fixtures/index.js +0 -5
  138. package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +0 -191
  139. package/node_modules/fast-stable-stringify/fixtures/log-result.json +0 -22
  140. package/node_modules/fast-stable-stringify/fixtures/log.txt +0 -24
  141. package/node_modules/fast-stable-stringify/index.js +0 -73
  142. package/node_modules/fast-stable-stringify/karma.conf.js +0 -124
  143. package/node_modules/fast-stable-stringify/karma.conf.travis.js +0 -95
  144. package/node_modules/fast-stable-stringify/package.json +0 -77
  145. package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  146. package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  147. package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  148. package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  149. package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  150. package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  151. package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  152. package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  153. package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  154. package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  155. package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  156. package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  157. package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  158. package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  159. package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  160. package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  161. package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  162. package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  163. package/node_modules/fast-stable-stringify/results/escape.md +0 -20
  164. package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  165. package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  166. package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  167. package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  168. package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  169. package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  170. package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  171. package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  172. package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  173. package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  174. package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  175. package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  176. package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  177. package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  178. package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  179. package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  180. package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  181. package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  182. package/node_modules/fast-stable-stringify/results/itar.md +0 -20
  183. package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  184. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +0 -35
  185. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  186. package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  187. package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  188. package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  189. package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  190. package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  191. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  192. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +0 -35
  193. package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  194. package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +0 -35
  195. package/node_modules/fast-stable-stringify/results/iter.md +0 -14
  196. package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -46
  197. package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -46
  198. package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -46
  199. package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -46
  200. package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  201. package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  202. package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  203. package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -46
  204. package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -46
  205. package/node_modules/fast-stable-stringify/results/libs.md +0 -15
  206. package/node_modules/fast-stable-stringify/test/escape-long.js +0 -147
  207. package/node_modules/fast-stable-stringify/test/escape-short.js +0 -147
  208. package/node_modules/fast-stable-stringify/test/index.js +0 -6
  209. package/node_modules/fast-stable-stringify/test/itar-long.js +0 -52
  210. package/node_modules/fast-stable-stringify/test/itar-short.js +0 -52
  211. package/node_modules/fast-stable-stringify/test/iter.js +0 -84
  212. package/node_modules/fast-stable-stringify/test/libs.js +0 -57
  213. package/node_modules/fast-stable-stringify/test/travis.js +0 -43
  214. package/node_modules/fast-stable-stringify/test/validate.js +0 -24
  215. package/node_modules/fast-stable-stringify/util/eachRecursive.js +0 -9
  216. package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +0 -21
  217. package/node_modules/fast-stable-stringify/util/get-lib-info.js +0 -22
  218. package/node_modules/fast-stable-stringify/util/object-path.js +0 -47
  219. package/node_modules/fast-stable-stringify/v8-profile/bench.js +0 -8
  220. package/node_modules/fast-stable-stringify/v8-profile/run.sh +0 -2
  221. package/node_modules/fast-stable-stringify/zuul-local.sh +0 -2
  222. package/node_modules/hkdf/.npmignore +0 -2
  223. package/node_modules/hkdf/README.md +0 -23
  224. package/node_modules/hkdf/hkdf.py +0 -171
  225. package/node_modules/hkdf/hkdf.pyc +0 -0
  226. package/node_modules/hkdf/index.js +0 -1
  227. package/node_modules/hkdf/lib/hkdf.js +0 -55
  228. package/node_modules/hkdf/package.json +0 -55
  229. package/node_modules/hkdf/scripts/run_all_tests.sh +0 -19
  230. package/node_modules/hkdf/test/all-test.js +0 -79
  231. package/node_modules/hkdf/test.py +0 -11
  232. package/node_modules/immediate/LICENSE.txt +0 -20
  233. package/node_modules/immediate/README.md +0 -93
  234. package/node_modules/immediate/dist/immediate.js +0 -75
  235. package/node_modules/immediate/dist/immediate.min.js +0 -1
  236. package/node_modules/immediate/lib/browser.js +0 -69
  237. package/node_modules/immediate/lib/index.js +0 -73
  238. package/node_modules/immediate/package.json +0 -86
  239. package/node_modules/isarray/.npmignore +0 -1
  240. package/node_modules/isarray/.travis.yml +0 -4
  241. package/node_modules/isarray/Makefile +0 -6
  242. package/node_modules/isarray/README.md +0 -60
  243. package/node_modules/isarray/component.json +0 -19
  244. package/node_modules/isarray/index.js +0 -5
  245. package/node_modules/isarray/package.json +0 -77
  246. package/node_modules/isarray/test.js +0 -20
  247. package/node_modules/jszip/.codeclimate.yml +0 -16
  248. package/node_modules/jszip/.editorconfig +0 -8
  249. package/node_modules/jszip/.github/workflows/pr.yaml +0 -41
  250. package/node_modules/jszip/.jshintignore +0 -1
  251. package/node_modules/jszip/.jshintrc +0 -21
  252. package/node_modules/jszip/.travis.yml +0 -17
  253. package/node_modules/jszip/CHANGES.md +0 -192
  254. package/node_modules/jszip/LICENSE.markdown +0 -651
  255. package/node_modules/jszip/README.markdown +0 -33
  256. package/node_modules/jszip/dist/jszip.js +0 -11583
  257. package/node_modules/jszip/dist/jszip.min.js +0 -13
  258. package/node_modules/jszip/index.d.ts +0 -335
  259. package/node_modules/jszip/lib/base64.js +0 -106
  260. package/node_modules/jszip/lib/compressedObject.js +0 -74
  261. package/node_modules/jszip/lib/compressions.js +0 -14
  262. package/node_modules/jszip/lib/crc32.js +0 -77
  263. package/node_modules/jszip/lib/defaults.js +0 -11
  264. package/node_modules/jszip/lib/external.js +0 -19
  265. package/node_modules/jszip/lib/flate.js +0 -85
  266. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  267. package/node_modules/jszip/lib/generate/index.js +0 -57
  268. package/node_modules/jszip/lib/index.js +0 -55
  269. package/node_modules/jszip/lib/license_header.js +0 -11
  270. package/node_modules/jszip/lib/load.js +0 -88
  271. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  272. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  273. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  274. package/node_modules/jszip/lib/object.js +0 -389
  275. package/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  276. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  277. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  278. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  279. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  280. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  281. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  282. package/node_modules/jszip/lib/signature.js +0 -7
  283. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  284. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  285. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  286. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  287. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  288. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  289. package/node_modules/jszip/lib/support.js +0 -38
  290. package/node_modules/jszip/lib/utf8.js +0 -275
  291. package/node_modules/jszip/lib/utils.js +0 -501
  292. package/node_modules/jszip/lib/zipEntries.js +0 -262
  293. package/node_modules/jszip/lib/zipEntry.js +0 -294
  294. package/node_modules/jszip/lib/zipObject.js +0 -133
  295. package/node_modules/jszip/package.json +0 -99
  296. package/node_modules/jszip/tsconfig.json +0 -101
  297. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  298. package/node_modules/lie/README.md +0 -62
  299. package/node_modules/lie/dist/lie.js +0 -350
  300. package/node_modules/lie/dist/lie.min.js +0 -1
  301. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  302. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  303. package/node_modules/lie/lib/browser.js +0 -273
  304. package/node_modules/lie/lib/index.js +0 -298
  305. package/node_modules/lie/license.md +0 -7
  306. package/node_modules/lie/lie.d.ts +0 -244
  307. package/node_modules/lie/package.json +0 -98
  308. package/node_modules/lie/polyfill.js +0 -4
  309. package/node_modules/p-finally/index.js +0 -15
  310. package/node_modules/p-finally/license +0 -21
  311. package/node_modules/p-finally/package.json +0 -77
  312. package/node_modules/p-finally/readme.md +0 -47
  313. package/node_modules/p-retry/index.js +0 -52
  314. package/node_modules/p-retry/license +0 -9
  315. package/node_modules/p-retry/package.json +0 -83
  316. package/node_modules/p-retry/readme.md +0 -109
  317. package/node_modules/p-timeout/index.d.ts +0 -72
  318. package/node_modules/p-timeout/index.js +0 -57
  319. package/node_modules/p-timeout/license +0 -9
  320. package/node_modules/p-timeout/package.json +0 -80
  321. package/node_modules/p-timeout/readme.md +0 -87
  322. package/node_modules/pako/CHANGELOG.md +0 -164
  323. package/node_modules/pako/LICENSE +0 -21
  324. package/node_modules/pako/README.md +0 -191
  325. package/node_modules/pako/dist/pako.js +0 -6818
  326. package/node_modules/pako/dist/pako.min.js +0 -1
  327. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  328. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  329. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  330. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  331. package/node_modules/pako/index.js +0 -14
  332. package/node_modules/pako/lib/deflate.js +0 -400
  333. package/node_modules/pako/lib/inflate.js +0 -423
  334. package/node_modules/pako/lib/utils/common.js +0 -105
  335. package/node_modules/pako/lib/utils/strings.js +0 -187
  336. package/node_modules/pako/lib/zlib/README +0 -59
  337. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  338. package/node_modules/pako/lib/zlib/constants.js +0 -68
  339. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  340. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  341. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  342. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  343. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  344. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  345. package/node_modules/pako/lib/zlib/messages.js +0 -32
  346. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  347. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  348. package/node_modules/pako/package.json +0 -94
  349. package/node_modules/process-nextick-args/index.js +0 -45
  350. package/node_modules/process-nextick-args/license.md +0 -19
  351. package/node_modules/process-nextick-args/package.json +0 -53
  352. package/node_modules/process-nextick-args/readme.md +0 -18
  353. package/node_modules/readable-stream/.travis.yml +0 -34
  354. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  355. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  356. package/node_modules/readable-stream/LICENSE +0 -47
  357. package/node_modules/readable-stream/README.md +0 -58
  358. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  359. package/node_modules/readable-stream/duplex-browser.js +0 -1
  360. package/node_modules/readable-stream/duplex.js +0 -1
  361. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  362. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  363. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  364. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  365. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  366. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  367. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  368. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  369. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  370. package/node_modules/readable-stream/package.json +0 -86
  371. package/node_modules/readable-stream/passthrough.js +0 -1
  372. package/node_modules/readable-stream/readable-browser.js +0 -7
  373. package/node_modules/readable-stream/readable.js +0 -19
  374. package/node_modules/readable-stream/transform.js +0 -1
  375. package/node_modules/readable-stream/writable-browser.js +0 -1
  376. package/node_modules/readable-stream/writable.js +0 -8
  377. package/node_modules/retry/.npmignore +0 -3
  378. package/node_modules/retry/.travis.yml +0 -15
  379. package/node_modules/retry/License +0 -21
  380. package/node_modules/retry/Makefile +0 -18
  381. package/node_modules/retry/README.md +0 -227
  382. package/node_modules/retry/equation.gif +0 -0
  383. package/node_modules/retry/example/dns.js +0 -31
  384. package/node_modules/retry/example/stop.js +0 -40
  385. package/node_modules/retry/index.js +0 -1
  386. package/node_modules/retry/lib/retry.js +0 -100
  387. package/node_modules/retry/lib/retry_operation.js +0 -158
  388. package/node_modules/retry/package.json +0 -67
  389. package/node_modules/retry/test/common.js +0 -10
  390. package/node_modules/retry/test/integration/test-forever.js +0 -24
  391. package/node_modules/retry/test/integration/test-retry-operation.js +0 -258
  392. package/node_modules/retry/test/integration/test-retry-wrap.js +0 -101
  393. package/node_modules/retry/test/integration/test-timeouts.js +0 -69
  394. package/node_modules/setimmediate/LICENSE.txt +0 -20
  395. package/node_modules/setimmediate/package.json +0 -77
  396. package/node_modules/setimmediate/setImmediate.js +0 -186
  397. package/node_modules/split/.npmignore +0 -3
  398. package/node_modules/split/.travis.yml +0 -3
  399. package/node_modules/split/LICENCE +0 -22
  400. package/node_modules/split/examples/pretty.js +0 -26
  401. package/node_modules/split/index.js +0 -63
  402. package/node_modules/split/package.json +0 -65
  403. package/node_modules/split/readme.markdown +0 -72
  404. package/node_modules/split/test/options.asynct.js +0 -46
  405. package/node_modules/split/test/partitioned_unicode.js +0 -34
  406. package/node_modules/split/test/split.asynct.js +0 -137
  407. package/node_modules/split/test/try_catch.asynct.js +0 -51
  408. package/node_modules/stream-shift/.travis.yml +0 -6
  409. package/node_modules/stream-shift/LICENSE +0 -21
  410. package/node_modules/stream-shift/README.md +0 -25
  411. package/node_modules/stream-shift/index.js +0 -20
  412. package/node_modules/stream-shift/package.json +0 -56
  413. package/node_modules/stream-shift/test.js +0 -48
  414. package/node_modules/ultron/LICENSE +0 -22
  415. package/node_modules/ultron/README.md +0 -113
  416. package/node_modules/ultron/index.js +0 -136
  417. package/node_modules/ultron/package.json +0 -71
  418. package/node_modules/websocket-stream/LICENSE +0 -8
  419. package/node_modules/websocket-stream/collaborators.md +0 -11
  420. package/node_modules/websocket-stream/echo-server.js +0 -51
  421. package/node_modules/websocket-stream/index.d.ts +0 -27
  422. package/node_modules/websocket-stream/index.js +0 -6
  423. package/node_modules/websocket-stream/package.json +0 -82
  424. package/node_modules/websocket-stream/readme.md +0 -148
  425. package/node_modules/websocket-stream/server.js +0 -29
  426. package/node_modules/websocket-stream/stream.js +0 -189
  427. package/node_modules/websocket-stream/test-client.js +0 -74
  428. package/node_modules/websocket-stream/test-server.js +0 -56
  429. package/node_modules/websocket-stream/test.js +0 -338
  430. package/node_modules/websocket-stream/ts-tests.ts +0 -69
  431. package/node_modules/websocket-stream/ws-fallback.js +0 -12
  432. package/node_modules/ws/LICENSE +0 -21
  433. package/node_modules/ws/README.md +0 -341
  434. package/node_modules/ws/index.js +0 -15
  435. package/node_modules/ws/lib/.DS_Store +0 -0
  436. package/node_modules/ws/lib/BufferUtil.js +0 -71
  437. package/node_modules/ws/lib/Constants.js +0 -10
  438. package/node_modules/ws/lib/ErrorCodes.js +0 -28
  439. package/node_modules/ws/lib/EventTarget.js +0 -151
  440. package/node_modules/ws/lib/Extensions.js +0 -203
  441. package/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  442. package/node_modules/ws/lib/Receiver.js +0 -553
  443. package/node_modules/ws/lib/Sender.js +0 -412
  444. package/node_modules/ws/lib/Validation.js +0 -17
  445. package/node_modules/ws/lib/WebSocket.js +0 -717
  446. package/node_modules/ws/lib/WebSocketServer.js +0 -326
  447. package/node_modules/ws/package.json +0 -83
  448. package/node_modules/xhr2/CONTRIBUTING.md +0 -33
  449. package/node_modules/xhr2/Cakefile +0 -131
  450. package/node_modules/xhr2/LICENSE.txt +0 -19
  451. package/node_modules/xhr2/README.md +0 -142
  452. package/node_modules/xhr2/lib/browser.js +0 -1
  453. package/node_modules/xhr2/lib/xhr2.js +0 -1244
  454. package/node_modules/xhr2/package.json +0 -103
  455. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  456. package/node_modules/xhr2/src/001-xml_http_request.coffee +0 -781
  457. package/node_modules/xhr2/src/errors.coffee +0 -31
  458. package/node_modules/xhr2/src/progress_event.coffee +0 -39
  459. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  460. package/node_modules/xhr2/test/fixtures/hello.json +0 -1
  461. package/node_modules/xhr2/test/fixtures/hello.txt +0 -1
  462. package/node_modules/xhr2/test/fixtures/xhr2.png +0 -0
  463. package/node_modules/xhr2/test/html/browser_test.html +0 -30
  464. package/node_modules/xhr2/test/src/event_target_test.coffee +0 -85
  465. package/node_modules/xhr2/test/src/events_test.coffee +0 -204
  466. package/node_modules/xhr2/test/src/headers_test.coffee +0 -168
  467. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  468. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +0 -1
  469. package/node_modules/xhr2/test/src/helpers/setup.coffee +0 -38
  470. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +0 -156
  471. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +0 -162
  472. package/node_modules/xhr2/test/src/redirect_test.coffee +0 -57
  473. package/node_modules/xhr2/test/src/response_type_test.coffee +0 -88
  474. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
  475. package/node_modules/xhr2/test/src/send_test.coffee +0 -89
  476. package/node_modules/xhr2/test/src/status_test.coffee +0 -47
  477. package/node_modules/xhr2/test/src/xhr_test.coffee +0 -102
  478. package/node_modules/xtend/.jshintrc +0 -30
  479. package/node_modules/xtend/LICENSE +0 -20
  480. package/node_modules/xtend/README.md +0 -32
  481. package/node_modules/xtend/immutable.js +0 -19
  482. package/node_modules/xtend/mutable.js +0 -17
  483. package/node_modules/xtend/package.json +0 -89
  484. package/node_modules/xtend/test.js +0 -103
  485. package/node_modules/yazl/LICENSE +0 -21
  486. package/node_modules/yazl/README.md +0 -389
  487. package/node_modules/yazl/index.js +0 -749
  488. package/node_modules/yazl/package.json +0 -69
  489. package/src/commands/CorelliumAPI.js +0 -76
  490. package/src/subscriberInvite.js +0 -140
@@ -1,444 +0,0 @@
1
- "use strict";
2
-
3
- const { fetch, fetchApi, CorelliumError } = require("./util/fetch");
4
- const Project = require("./project");
5
- const Team = require("./team");
6
- const User = require("./user");
7
- const Role = require("./role");
8
- const { I } = require("./input");
9
- const { listImagesMetaData } = require("./images");
10
-
11
- /**
12
- * @typedef {object} SupportedDevice
13
- * @property {string} type
14
- * @property {string} name
15
- * @property {string} flavor
16
- * @property {string} description
17
- * @property {string} model
18
- * @property {Object} firmwares
19
- * @property {string} firmwares.version
20
- * @property {string} firmwares.buildid
21
- * @property {string} firmwares.sha256sum
22
- * @property {string} firmwares.sha1sum
23
- * @property {string} firmwares.md5sum
24
- * @property {integer} firmwares.size
25
- * @property {string} firmwares.uniqueid
26
- * @property {string} firmwares.metadata
27
- * @property {string} firmwares.releasedate - ISO datetime string
28
- * @property {string} firmwares.uploaddate - ISO datetime string
29
- * @property {string} firmwares.url
30
- * @property {string} firmwares.orig_url
31
- * @property {string} firmwares.filename
32
- * @property {Object} quotas
33
- * @property {integer} quotas.cores
34
- * @property {integer} quotas.cpus
35
- */
36
-
37
- /**
38
- * The Corellium API client.
39
- */
40
- class Corellium {
41
- /**
42
- * Create a new Corellium client.
43
- * @constructor
44
- * @param {Object} options
45
- * @param {string} options.endpoint - Endpoint URL
46
- * @param {string?} options.apiToken - Login apiToken
47
- * @param {string?} options.username - Login username
48
- * @param {string?} options.password - Login password
49
- * @param {string?} options.totpToken - Login TOTP (Timebased One Time Password)
50
- * @example
51
- * const corellium = new Corellium({
52
- * endpoint: 'https://app.corellium.com',
53
- * username: 'username',
54
- * password: 'password',
55
- * totpToken: '123456',
56
- * });
57
- */
58
- constructor(options) {
59
- this.options = options;
60
- this.api = options.endpoint + "/api/v1";
61
- this.token = options.token || null;
62
- this.supportedDevices = null;
63
- this._teams = null;
64
- }
65
-
66
- /**
67
- * Returns refreshed authentication token
68
- * @return {string} token
69
- * @example
70
- * let token = await corellium.getToken()
71
- */
72
- async getToken() {
73
- const token = await this.token;
74
-
75
- // If the token is more than 15 minutes from expiring, we don't need to refresh it.
76
- if (token && token.expiration > new Date(new Date().getTime() + 15 * 60 * 1000))
77
- return token.token;
78
-
79
- var postData = {};
80
- if (this.options.apiToken) {
81
- postData.apiToken = this.options.apiToken;
82
- } else {
83
- postData.username = this.options.username;
84
- postData.password = this.options.password;
85
- postData.totpToken = this.options.totpToken;
86
- }
87
-
88
- this.token = (async () => {
89
- const res = await fetch(`${this.api}/tokens`, {
90
- method: "POST",
91
- json: postData,
92
- });
93
- return {
94
- token: res.token,
95
- expiration: new Date(res.expiration),
96
- };
97
- })();
98
- return (await this.token).token;
99
- }
100
-
101
- /**
102
- * Generate an API token to be used with the API. This is
103
- * non-recoverable, so if it is lost, you must generate a new one.
104
- *
105
- * This can be used to for the login method by passing it as the apiToken
106
- *
107
- * @returns {string} apiToken
108
- */
109
- async generateApiToken() {
110
- const response = await fetchApi(this, "/apitoken", {
111
- method: "POST",
112
- });
113
-
114
- return response;
115
- }
116
-
117
- /**
118
- * Remove the currently active api token from this user account.
119
- */
120
- async removeApiToken() {
121
- await fetchApi(this, "/apitoken", {
122
- method: "DELETE",
123
- });
124
- }
125
-
126
- /**
127
- * Logs into the Corellium API and obtains an authentication token. Does
128
- * nothing if the current authentication token is up to date.
129
- *
130
- * Calling this method is not required, as calling any other method that
131
- * needs an authentication token will do the same thing.
132
- * @example
133
- * await corellium.login();
134
- */
135
- async login() {
136
- await this.getToken();
137
- }
138
-
139
- /**
140
- * Returns an array of {@link Project}s that this client is allowed to
141
- * access.
142
- * @returns {Project[]}
143
- * @example
144
- * let projects = await corellium.projects();
145
- * let project = projects.find(project => project.name === "Demo Project");
146
- */
147
- async projects() {
148
- const projects = await fetchApi(this, "/projects?ids_only=1");
149
- return await Promise.all(projects.map((project) => this.getProject(project.id)));
150
- }
151
-
152
- /**
153
- * Returns an array of {@link Image}s that this client is allowed to
154
- * access.
155
- * @returns {Promise<Image[]>}
156
- * @example
157
- * let images = await corellium.files();
158
- */
159
- files() {
160
- return listImagesMetaData(this);
161
- }
162
-
163
- /**
164
- * Returns teams and users belonging to the domain.
165
- *
166
- * This function is only available to administrators.
167
- *
168
- * @returns {Promise<{ teams: Map<string, Team>, users: Map<string, User>}>}
169
- * @example
170
- * let teamsAndUsers = await corellium.getTeamsAndUsers();
171
- */
172
- async getTeamsAndUsers() {
173
- const teams = (this._teams = new Map());
174
- for (const team of await fetchApi(this, "/teams")) {
175
- teams.set(team.id, new Team(this, team));
176
- }
177
-
178
- const users = (this._users = new Map());
179
- for (const user of teams.get("all-users").info.users) {
180
- users.set(user.id, new User(this, user));
181
- }
182
-
183
- return { teams, users };
184
- }
185
-
186
- /**
187
- * Returns {@link Role}s belonging to the domain.
188
- *
189
- * This function is only available to domain and project administrators.
190
- * @return {Promise<Map<string, Role[]>>}
191
- * @example
192
- * let roles = await corellium.roles();
193
- */
194
- async roles() {
195
- const roles = (this._roles = new Map());
196
-
197
- for (const role of await fetchApi(this, "/roles")) {
198
- let rolesForProject = roles.get(role.project);
199
- if (!rolesForProject) {
200
- rolesForProject = [];
201
- roles.set(role.project, rolesForProject);
202
- }
203
- rolesForProject.push(new Role(this, role));
204
- }
205
-
206
- return roles;
207
- }
208
-
209
- /**
210
- * Returns {@link Team}s belonging to the domain.
211
- *
212
- * This function is only available to domain and project administrators.
213
- * @return {Promise<Map<string, Team>>}
214
- * @example
215
- * let teams = await corellium.teams();
216
- */
217
- async teams() {
218
- return (await this.getTeamsAndUsers()).teams;
219
- }
220
-
221
- /**
222
- * Returns {@link User}s belonging to the domain.
223
- *
224
- * This function is only available to domain and project administrators.
225
- * @return {Promise<Map<string, User>>}
226
- * @example
227
- * let users = await corellium.users();
228
- */
229
- async users() {
230
- return (await this.getTeamsAndUsers()).users;
231
- }
232
-
233
- /**
234
- * Given a user id, returns the {@link User}.
235
- *
236
- * This function is only available to domain and project administrators.
237
- * @returns {Promise<User>}
238
- * @example
239
- * let user = await instance.getUser('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
240
- */
241
- getUser(id) {
242
- return this._users.get(id);
243
- }
244
-
245
- /**
246
- * Given a team id, returns the {@link Team}.
247
- *
248
- * This function is only available to domain and project administrators.
249
- * @returns {Promise<Team>}
250
- * @example
251
- * let team = await instance.getTeam('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
252
- */
253
- getTeam(id) {
254
- return this._teams.get(id);
255
- }
256
-
257
- /**
258
- * Creates a new user in the domain.
259
- *
260
- * This function is only available to domain administrators.
261
- * @returns {Promise<User>}
262
- * @example
263
- * let user = await instance.createUser("login", "User Name", "user@email.com", "password");
264
- */
265
- async createUser(login, name, email, password) {
266
- const response = await fetchApi(this, "/users", {
267
- method: "POST",
268
- json: {
269
- label: name,
270
- name: login,
271
- email,
272
- password,
273
- },
274
- });
275
-
276
- await this.getTeamsAndUsers();
277
- return this.getUser(response.id);
278
- }
279
-
280
- /**
281
- * Destroys a user in the domain.
282
- *
283
- * This function is only available to domain administrators.
284
- * @param {string} id - user ID
285
- * @example
286
- * instance.destroyUser('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
287
- */
288
- async destroyUser(id) {
289
- await fetchApi(this, `/users/${id}`, {
290
- method: "DELETE",
291
- });
292
- }
293
-
294
- /**
295
- * Creates a {@link Role} for a {@link Project} and a {@link Team} or {@link User}.
296
- * @param {string} project - project ID
297
- * @param {User|Team} grantee - must be an instance of {@link User} or {@link Team}
298
- * @param {string} type - user ID
299
- * @example
300
- * instance.createRole(project.id, grantee, 'user');
301
- */
302
- async createRole(project, grantee, type = "user") {
303
- let usersOrTeams = grantee instanceof User && "users";
304
- if (!usersOrTeams) usersOrTeams = grantee instanceof Team && "teams";
305
- if (!usersOrTeams) throw "Grantee not User or Team";
306
-
307
- await fetchApi(
308
- this,
309
- `/roles/projects/${project}/${usersOrTeams}/${grantee.id}/roles/${type}`,
310
- {
311
- method: "PUT",
312
- },
313
- );
314
- }
315
-
316
- /**
317
- * Destroys a {@link Role}
318
- * @param {Role} role - role object
319
- * @example
320
- * instance.destroyRole(role);
321
- */
322
- async destroyRole(role) {
323
- let usersOrTeams = role.isUser ? "users" : "teams";
324
- await fetchApi(
325
- this,
326
- `/roles/projects/${role.project}/${usersOrTeams}/${role.grantee.id}/roles/{$role.type}`,
327
- {
328
- method: "DELETE",
329
- },
330
- );
331
- }
332
-
333
- /**
334
- * Returns the {@link Project} with the given ID.
335
- * @param {string} projectId - project ID
336
- * @returns {Promise<Project>}
337
- * @example
338
- * let project = await corellium.getProject('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
339
- */
340
- async getProject(projectId) {
341
- const project = new Project(this, projectId);
342
- await project.refresh();
343
- return project;
344
- }
345
-
346
- /**
347
- * Creates a {@link Project} with the given name {@link Color} and {@link ProjectSettings}.
348
- * @param {string} name - project name
349
- * @param {integer} color - color
350
- * @param {Object} [settings] - project settings
351
- * @param {integer} settings.version
352
- * @param {boolean} settings.internet-access
353
- * @returns {Promise<Project>}
354
- * @example
355
- * corellium.createProject("TestProject");
356
- */
357
- async createProject(name, color = 1, settings = { version: 1, "internet-access": true }) {
358
- const response = await fetchApi(this, "/projects", {
359
- method: "POST",
360
- json: {
361
- name,
362
- color,
363
- settings,
364
- },
365
- });
366
-
367
- return await this.getProject(response.id);
368
- }
369
-
370
- /**
371
- * Returns the {@link Project} with the given name. If the project doesn't
372
- * exist, returns undefined.
373
- * @param {string} name - project name to match
374
- * @returns {Promise<Project>}
375
- * @example
376
- * let project = await corellium.projectNamed('Default Project');
377
- */
378
- async projectNamed(name) {
379
- const projects = await this.projects();
380
- return projects.find((project) => project.name === name);
381
- }
382
-
383
- /** Returns supported device list
384
- * @return {SupportedDevice[]}
385
- * @example
386
- * let supported = await corellium.supported();
387
- */
388
- async supported() {
389
- if (!this.supportedDevices) this.supportedDevices = await fetchApi(this, "/supported");
390
- return this.supportedDevices;
391
- }
392
-
393
- /** Returns all keys for the project
394
- * @param {string} project - project ID
395
- * @return {ProjectKey[]}
396
- * @example
397
- * let keys = instance.projectKeys(project.id);
398
- * for(let key of keys)
399
- * console.log(key);
400
- */
401
- async projectKeys(project) {
402
- return await fetchApi(this, `/projects/${project}/keys`);
403
- }
404
-
405
- /** Adds key to the project
406
- * @param {string} project - project ID
407
- * @param {string} key - public key
408
- * @param {string} kind - key type ('ssh'/'abd')
409
- * @param {string} [label] - key label
410
- * @return {string} key ID
411
- * @example
412
- * let project = instance.getProjectNamed('TestProject');
413
- * instance.addProjectKey(project.id, key, 'ssh', 'SSH Key');
414
- */
415
- async addProjectKey(project, key, kind = "ssh", label = null) {
416
- return await fetchApi(this, `/projects/${project}/keys`, {
417
- method: "POST",
418
- json: {
419
- key,
420
- label,
421
- kind,
422
- },
423
- });
424
- }
425
-
426
- /** Adds key to the project
427
- * @param {string} project - project ID
428
- * @param {string} keyId - key ID
429
- * @example
430
- * let project = instance.getProjectNamed('TestProject');
431
- * instance.deleteProjectKey(project.id, 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
432
- */
433
- async deleteProjectKey(project, keyId) {
434
- return await fetchApi(this, `/projects/${project}/keys/${keyId}`, {
435
- method: "DELETE",
436
- });
437
- }
438
- }
439
-
440
- module.exports = {
441
- Corellium,
442
- CorelliumError,
443
- I,
444
- };
@@ -1,131 +0,0 @@
1
- "use strict";
2
-
3
- const fs = require("fs");
4
- const os = require("os");
5
- const path = require("path");
6
- const util = require("util");
7
- const { fetchApi } = require("./util/fetch");
8
- const Resumable = require("../resumable");
9
- const yazl = require("yazl");
10
-
11
- /**
12
- * @typedef {object} KernelImage
13
- * @property {string} id
14
- * @property {string} name
15
- */
16
-
17
- /**
18
- * @typedef {object} PartitionImage
19
- * @property {string} id
20
- * @property {string} name
21
- */
22
-
23
- /**
24
- * @typedef {object} FirmwareImage
25
- * @property {string} id
26
- * @property {string} name
27
- */
28
-
29
- /**
30
- * @typedef {object} Image
31
- * @property {string} status - "active"
32
- * @property {string} id - uuid needed to pass to a createInstance call if this is a kernel
33
- * @property {string} name - "Image"
34
- * @property {string} type - "kernel"
35
- * @property {string} self - uri
36
- * @property {string} file - file uri
37
- * @property {number} size
38
- * @property {string} checksum
39
- * @property {string} encoding - "encrypted"
40
- * @property {string} project - Project uuid
41
- * @property {string} createdAt - ISO datetime string
42
- * @property {string} updatedAt - ISO datetime string
43
- */
44
-
45
- class File {
46
- constructor({ filePath, type, size }) {
47
- this.path = filePath;
48
- this.name = path.basename(filePath);
49
- this.type = type;
50
- this.size = size;
51
- }
52
-
53
- slice(start, end, _contentType) {
54
- return fs.createReadStream(this.path, { start, end });
55
- }
56
- }
57
-
58
- function listImagesMetaData(client) {
59
- return fetchApi(client, `/images`, {
60
- method: "GET",
61
- });
62
- }
63
-
64
- function isCompressed(data) {
65
- return Buffer.compare(data.slice(0, 4), Buffer.from([0x50, 0x4b, 0x03, 0x04])) === 0;
66
- }
67
-
68
- async function compress(data, name) {
69
- const tmpFile = path.join(os.tmpdir(), name);
70
- const zipFile = new yazl.ZipFile();
71
- zipFile.addBuffer(data, name);
72
- zipFile.end();
73
- await new Promise((resolve, reject) => {
74
- zipFile.outputStream
75
- .pipe(fs.createWriteStream(tmpFile))
76
- .on("close", resolve)
77
- .on("error", reject);
78
- });
79
- return tmpFile;
80
- }
81
-
82
- async function uploadFile(token, url, filePath, progress) {
83
- return new Promise((resolve, reject) => {
84
- const r = new Resumable({
85
- target: url,
86
- headers: {
87
- authorization: token,
88
- "x-corellium-image-encoding": "plain",
89
- },
90
- uploadMethod: "PUT",
91
- chunkSize: 5 * 1024 * 1024,
92
- prioritizeFirstAndLastChunk: true,
93
- method: "octet",
94
- });
95
-
96
- r.on("fileAdded", (_file) => {
97
- r.upload();
98
- });
99
-
100
- r.on("progress", () => {
101
- if (progress) progress(r.progress());
102
- });
103
-
104
- r.on("fileError", (_file, message) => {
105
- reject(message);
106
- });
107
-
108
- r.on("fileSuccess", (_file, message) => {
109
- resolve(JSON.parse(message));
110
- });
111
-
112
- return util
113
- .promisify(fs.stat)(filePath)
114
- .then((stat) => {
115
- const file = new File({
116
- filePath: filePath,
117
- type: "application/octet-stream",
118
- size: stat.size,
119
- });
120
-
121
- r.addFile(file);
122
- });
123
- });
124
- }
125
-
126
- module.exports = {
127
- listImagesMetaData,
128
- isCompressed,
129
- compress,
130
- uploadFile,
131
- };