@corellium/corellium-cli 1.0.3 → 1.0.6

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 (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
- };