@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
package/README.md CHANGED
@@ -5,9 +5,13 @@ Corellium CLI is a command line interface for Corellium's API. It allows you to
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- npm install -g @corellium/cli
8
+ npm install -g @corellium/corellium-cli
9
9
  ```
10
10
 
11
+ ## Usage
12
+
13
+ [Read the documentation](https://support.corellium.com/cli)
14
+
11
15
  ## Development
12
16
 
13
17
  1. Clone the repo
@@ -15,19 +19,3 @@ npm install -g @corellium/cli
15
19
  3. Link with `npm link`
16
20
 
17
21
  *Note*: if you are running it locally create `.env` file and put the following line there `NODE_TLS_REJECT_UNAUTHORIZED=0`
18
-
19
- ## Example
20
-
21
- ```bash
22
- # Enter your details here first
23
- $projectId="....."
24
- $apiToken="......"
25
-
26
- # Let there be virtual
27
- corellium login --apitoken $apiToken --endpoint https://app.corellium.com
28
- instanceId=$(corellium instance create iphone6 12.5.6 $projectId true)
29
- corellium agent apps --project $projectId --instance $instanceId
30
- corellium agent files --project $projectId --instance $instanceId
31
- corellium instance stop $instanceId true
32
- corellium instance delete $instanceId
33
- ```
package/docs/OVERVIEW.md CHANGED
@@ -41,7 +41,7 @@ corellium logout
41
41
  ## What's included
42
42
 
43
43
  ```text
44
- > correlium-cli
44
+ > corellium
45
45
  Usage: corellium [OPTIONS]
46
46
 
47
47
  Commands:
@@ -39,7 +39,7 @@ function build() {
39
39
  # BEGIN inside build folder
40
40
  pushd "$repo_folder"
41
41
  cli_version=$(jq .version --raw-output < package.json)
42
- corellium_cli_tarball="corellium-cli-$cli_version.tgz"
42
+ corellium_cli_tarball="corellium-corellium-cli-$cli_version.tgz"
43
43
 
44
44
  node --version
45
45
  npm ci --unsafe-perm --ignore-scripts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corellium/corellium-cli",
3
- "version": "1.0.3",
3
+ "version": "1.0.6",
4
4
  "description": "Corellium CLI Tool",
5
5
  "scripts": {
6
6
  "corellium-cli": "node index.js",
@@ -13,7 +13,6 @@
13
13
  },
14
14
  "bundleDependencies": [
15
15
  "@corellium/client-api",
16
- "@corellium/corellium-api",
17
16
  "ascii-art",
18
17
  "axios",
19
18
  "dotenv",
@@ -25,14 +24,15 @@
25
24
  ],
26
25
  "dependencies": {
27
26
  "@corellium/client-api": "^0.1.0",
28
- "@corellium/corellium-api": "^1.4.1",
29
27
  "ascii-art": "^2.8.5",
30
28
  "axios": "^0.27.2",
31
29
  "dotenv": "^16.0.1",
32
30
  "generate-password": "^1.7.0",
33
31
  "multi-progress": "^4.0.0",
34
32
  "progress": "^2.0.3",
33
+ "prompts": "^2.4.2",
35
34
  "uuid": "^8.3.2",
35
+ "xhr2": "^0.2.0",
36
36
  "yargs": "^17.5.1"
37
37
  },
38
38
  "husky": {
@@ -0,0 +1,76 @@
1
+ const Client = require('./commands/Client')
2
+ const util = require('./utils')
3
+ const { handler: login } = require('./commands/login')
4
+
5
+ class TrialAccount extends Client {
6
+ constructor (argv) {
7
+ super(argv)
8
+ this.userEmail = argv['user-email']
9
+ this.adminName = argv['admin-user-name']
10
+ this.userPassword = argv['user-password']
11
+ this.adminPassword = argv['admin-password']
12
+ this.endpoint = argv.endpoint
13
+ this.name = argv['customer-name']
14
+ this.plan = util.planOptions(argv.plan)
15
+ this.duration = argv['trial-duration']
16
+ this.individual = !!this.plan.licenseType.includes('individual')
17
+ this.enterpriseDomainName = argv['enterprise-domain']
18
+ }
19
+
20
+ async getCouponCode () {
21
+ const parameters = {
22
+ email: this.userEmail,
23
+ name: this.name,
24
+ aggregate: !!this.individual,
25
+ domain: this.individual ? null : `${this.endpoint.replace('https://app', `${this.enterpriseDomainName}`)}`,
26
+ plan: this.plan,
27
+ coupon: null,
28
+ trial: { duration: this.duration },
29
+ skipEmail: true
30
+ }
31
+ /* eslint-disable camelcase */
32
+ const response = await this._fetch('POST', 'v1/billing/invites', parameters)
33
+ const { coupon_code } = response
34
+ return coupon_code
35
+ }
36
+
37
+ async subscribeTrial (coupon_code) {
38
+ const subscribeParams = {
39
+ termsOfService: true,
40
+ subscriberInviteCode: coupon_code,
41
+ skipEmail: true,
42
+ password: this.userPassword
43
+ }
44
+ const response = await this._fetch('POST', 'v1/billing/trials/subscribe', subscribeParams)
45
+ const { domainId } = response
46
+ return {
47
+ domainId,
48
+ password: this.userPassword
49
+ }
50
+ }
51
+
52
+ async setupTrialUser () {
53
+ await login({
54
+ username: this.adminName,
55
+ password: this.adminPassword,
56
+ endpoint: this.endpoint
57
+ })
58
+ const coupon_code = await this.getCouponCode(this.userEmail, this.endpoint)
59
+ const {
60
+ domainId,
61
+ password
62
+ } = await this.subscribeTrial(coupon_code)
63
+ await login({
64
+ username: this.userEmail,
65
+ password,
66
+ endpoint: this.endpoint
67
+ })
68
+ return {
69
+ user: this.userEmail,
70
+ password,
71
+ domainId
72
+ }
73
+ }
74
+ }
75
+
76
+ module.exports = TrialAccount
@@ -7,8 +7,8 @@ const { readProfile } = require('../profile')
7
7
  class Client {
8
8
  constructor (argv) {
9
9
  this.argv = Object.assign({}, argv)
10
- this.project = argv.project
11
- this.instance = argv.instance
10
+ this.project = argv.project || argv.projectId
11
+ this.instance = argv.instance || argv.instanceId
12
12
  this._profile = readProfile()
13
13
  }
14
14
 
@@ -1,5 +1,4 @@
1
- const CorelliumAPI = require('../CorelliumAPI')
2
- const { getAxios } = require('../../utils')
1
+ const Client = require('../Client')
3
2
 
4
3
  /**
5
4
  * @typedef {object} AppsResult
@@ -9,21 +8,19 @@ const { getAxios } = require('../../utils')
9
8
  /**
10
9
  * Agent class
11
10
  */
12
- class AgentCLI extends CorelliumAPI {
11
+ class AgentCLI extends Client {
12
+ agentBasePath = () => `v1/instances/${this.instance}/agent/v1`
13
+
14
+ ready = async () => await this._fetch('GET', `${this.agentBasePath()}/app/ready/`, {})
15
+
13
16
  /**
14
17
  * List files on device
15
18
  * @returns {Promise<Array<{object}>>}
16
19
  */
17
20
  listFiles = async () => {
18
- this.setToken()
19
- await this.getProject()
20
- await this.getInstance()
21
- await this._instance.waitForAgentReady()
22
- const filesUrl = `${this._profile.endpoint}/api/v1/instances/${this.instanceId}/agent/v1/file/device/`
23
- const axios = await getAxios()
24
- const result = (await axios.get(filesUrl)).data || []
21
+ const response = (await this._fetch('GET', `${this.agentBasePath()}/file/device/`, {}))
25
22
  // Trim whitespace from file names
26
- return result.entries.map(f => { return { ...f, name: f.name.trim() } })
23
+ return response.entries.map(f => { return { ...f, name: f.name.trim() } })
27
24
  }
28
25
 
29
26
  /**
@@ -32,14 +29,8 @@ class AgentCLI extends CorelliumAPI {
32
29
  */
33
30
  listApps = async (options) => {
34
31
  const { loadIcons } = options
35
- this.setToken()
36
- await this.getProject()
37
- await this.getInstance()
38
- await this._instance.waitForAgentReady()
39
- const appsUrl = `${this._profile.endpoint}/api/v1/instances/${this.instanceId}/agent/v1/app/apps?loadIcons=${loadIcons ? 1 : 0}`
40
- const axios = await getAxios()
41
- const result = (await axios.get(appsUrl)).data
42
- return result ? result.apps : []
32
+ const response = (await this._fetch('GET', `${this.agentBasePath()}/app/apps?loadIcons=${loadIcons ? 1 : 0}`, {}))
33
+ return response ? response.apps : []
43
34
  }
44
35
  }
45
36
 
@@ -5,7 +5,8 @@ const { getErrorMessage } = require('../../error')
5
5
  const log = require('../../logging')
6
6
 
7
7
  async function builder (yargs) {
8
- yargs.option('detailed-errors', {
8
+ yargs.option('verbose', {
9
+ alias: 'v',
9
10
  type: 'boolean',
10
11
  describe: 'Console will receive verbose error output'
11
12
  }).option('project', {
@@ -5,7 +5,8 @@ const { getErrorMessage } = require('../../error')
5
5
  const log = require('../../logging')
6
6
 
7
7
  async function builder (yargs) {
8
- yargs.option('detailed-errors', {
8
+ yargs.option('verbose', {
9
+ alias: 'v',
9
10
  type: 'boolean',
10
11
  describe: 'Console will receive verbose error output'
11
12
  }).option('project', {
@@ -1,4 +1,5 @@
1
1
  const subcommands = [
2
+ require('./ready'),
2
3
  require('./file'),
3
4
  require('./apps')
4
5
  ]
@@ -0,0 +1,43 @@
1
+ const AgentCLI = require('./Agent')
2
+ const { validateNonEmpty } = require('../../utils')
3
+ const { getErrorMessage } = require('../../error')
4
+ const log = require('../../logging')
5
+
6
+ async function builder (yargs) {
7
+ yargs.option('verbose', {
8
+ alias: 'v',
9
+ type: 'boolean',
10
+ describe: 'Console will receive verbose error output'
11
+ }).option('project', {
12
+ type: 'input',
13
+ describe: 'Project ID',
14
+ demandOption: true,
15
+ string: true,
16
+ validateNonEmpty
17
+ }).option('instance', {
18
+ type: 'input',
19
+ describe: 'Instance ID',
20
+ demandOption: true,
21
+ string: true,
22
+ validateNonEmpty
23
+ })
24
+ }
25
+
26
+ async function handler (argv) {
27
+ try {
28
+ const agent = new AgentCLI(argv)
29
+ const status = await agent.ready()
30
+ log.plain(JSON.stringify(status))
31
+ } catch (err) {
32
+ const errorMessage = getErrorMessage(err)
33
+ log.error(`Query agent ready status failed: ${errorMessage}`)
34
+ if (argv.detailedErrors) { log.error(err) }
35
+ }
36
+ }
37
+
38
+ module.exports = {
39
+ builder,
40
+ handler,
41
+ command: 'ready',
42
+ describe: 'Query agent ready status'
43
+ }
@@ -7,7 +7,8 @@ async function builder (yargs) {
7
7
  type: 'string',
8
8
  describe: 'Extension ID (UUID)',
9
9
  demandOption: true
10
- }).option('detailed-errors', {
10
+ }).option('verbose', {
11
+ alias: 'v',
11
12
  type: 'boolean',
12
13
  describe: 'Console will receive verbose error output'
13
14
  })
@@ -4,7 +4,8 @@ const { displayTable } = require('../../table')
4
4
  const { getAxios } = require('../../utils')
5
5
 
6
6
  async function builder (yargs) {
7
- yargs.option('detailed-errors', {
7
+ yargs.option('verbose', {
8
+ alias: 'v',
8
9
  type: 'boolean',
9
10
  describe: 'Console will receive verbose error output'
10
11
  }).option('format', {
@@ -11,7 +11,8 @@ async function builder (yargs) {
11
11
  type: 'string',
12
12
  describe: 'One or more extension file paths',
13
13
  demandOption: true
14
- }).option('detailed-errors', {
14
+ }).option('verbose', {
15
+ alias: 'v',
15
16
  type: 'boolean',
16
17
  describe: 'Console will receive verbose error output'
17
18
  })
@@ -8,7 +8,8 @@ async function builder (yargs) {
8
8
  type: 'string',
9
9
  describe: 'Path to extension json',
10
10
  demandOption: true
11
- }).option('detailed-errors', {
11
+ }).option('verbose', {
12
+ alias: 'v',
12
13
  type: 'boolean',
13
14
  describe: 'Console will receive verbose error output'
14
15
  })
@@ -3,7 +3,8 @@ const { displayTable } = require('../../table')
3
3
  const { getApi } = require('../../utils')
4
4
 
5
5
  async function builder (yargs) {
6
- yargs.option('detailed-errors', {
6
+ yargs.option('verbose', {
7
+ alias: 'v',
7
8
  type: 'boolean',
8
9
  describe: 'Console will receive verbose error output'
9
10
  }).option('format', {
@@ -11,7 +11,8 @@ async function builder (yargs) {
11
11
  type: 'string',
12
12
  describe: 'One or more firmware file paths',
13
13
  demandOption: true
14
- }).option('detailed-errors', {
14
+ }).option('verbose', {
15
+ alias: 'v',
15
16
  type: 'boolean',
16
17
  describe: 'Console will receive verbose error output'
17
18
  })
@@ -15,7 +15,8 @@ async function builder (yargs) {
15
15
  string: true,
16
16
  choices: ['json', 'csv']
17
17
  })
18
- .option('detailed-errors', {
18
+ .option('verbose', {
19
+ alias: 'v',
19
20
  type: 'boolean',
20
21
  describe: 'Console will receive verbose error output'
21
22
  })
@@ -7,7 +7,8 @@ async function builder (yargs) {
7
7
  type: 'string',
8
8
  describe: 'Image id',
9
9
  demandOption: true
10
- }).option('detailed-errors', {
10
+ }).option('verbose', {
11
+ alias: 'v',
11
12
  type: 'boolean',
12
13
  describe: 'Console will receive verbose error output'
13
14
  })
@@ -4,7 +4,8 @@ const { displayTable } = require('../../table')
4
4
  const { getApi } = require('../../utils')
5
5
 
6
6
  async function builder (yargs) {
7
- yargs.option('detailed-errors', {
7
+ yargs.option('verbose', {
8
+ alias: 'v',
8
9
  type: 'boolean',
9
10
  describe: 'Console will receive verbose error output'
10
11
  }).option('format', {
@@ -0,0 +1,27 @@
1
+ const Client = require('../Client')
2
+
3
+ /**
4
+ * Instance class
5
+ */
6
+ class InstanceCLI extends Client {
7
+ instanceBasePath = () => `v1/instances/${this.instance}`
8
+
9
+ /**
10
+ * Upgrade iOS version on instance
11
+ * @returns {Promise<any>}
12
+ */
13
+ upgrade = async (options) => {
14
+ const { os, osbuild } = options
15
+ return await this._fetch('POST', `${this.instanceBasePath()}/upgrade`, { os, osbuild })
16
+ }
17
+
18
+ /**
19
+ * Fetch instance information
20
+ * @returns {Promise<any>}
21
+ */
22
+ info = async () => {
23
+ return await this._fetch('GET', `${this.instanceBasePath()}`, {})
24
+ }
25
+ }
26
+
27
+ module.exports = InstanceCLI
@@ -3,7 +3,8 @@ const { getApi, waitForState } = require('../../utils')
3
3
 
4
4
  async function builder (yargs) {
5
5
  yargs
6
- .option('detailed-errors', {
6
+ .option('verbose', {
7
+ alias: 'v',
7
8
  type: 'boolean',
8
9
  describe: 'Console will receive verbose error output'
9
10
  })
@@ -28,6 +29,11 @@ async function builder (yargs) {
28
29
  describe: 'Project ID to associate with instance',
29
30
  demandOption: true
30
31
  })
32
+ .option('name', {
33
+ type: 'string',
34
+ describe: 'Optional name of instance',
35
+ demandOption: false
36
+ })
31
37
  .option('wait', {
32
38
  type: 'boolean',
33
39
  describe: 'Wait for the instance to be ready',
@@ -39,10 +45,11 @@ async function handler (argv) {
39
45
  const flavor = argv.flavor
40
46
  const os = argv.os
41
47
  const project = argv.project
48
+ const name = argv.name
42
49
  const api = await getApi()
43
50
 
44
51
  try {
45
- const instance = await api.v1CreateInstance({ flavor, os, project })
52
+ const instance = await api.v1CreateInstance({ flavor, os, project, name })
46
53
  // Wait 360 attempts for the instance to be created (30 minutes)
47
54
  if (argv.wait) {
48
55
  await waitForState(instance.id, api.v1GetInstance.bind(api), 'on', 360)
@@ -50,7 +57,7 @@ async function handler (argv) {
50
57
  console.log(instance.id)
51
58
  } catch (error) {
52
59
  const errorMessage = getErrorMessage(error)
53
- console.error(`Failed to create image: ${errorMessage}`)
60
+ console.error(`Failed to create instance: ${errorMessage}`)
54
61
 
55
62
  if (argv.detailedErrors) {
56
63
  console.log(error)
@@ -61,6 +68,6 @@ async function handler (argv) {
61
68
  module.exports = {
62
69
  builder,
63
70
  handler,
64
- command: 'create <flavor> <os> <project> [wait]',
71
+ command: 'create <flavor> <os> <project> [name] [wait]',
65
72
  describe: 'Create instance and associate with a project'
66
73
  }
@@ -1,16 +1,23 @@
1
1
  const { getErrorMessage } = require('../../error')
2
2
  const asciiArt = require('ascii-art')
3
- const { getApi } = require('../../utils')
3
+ const { getApi, sleep } = require('../../utils')
4
4
 
5
5
  async function builder (yargs) {
6
6
  yargs.positional('instanceId', {
7
7
  type: 'string',
8
8
  describe: 'Instance id',
9
9
  demandOption: true
10
- }).option('detailed-errors', {
11
- type: 'boolean',
12
- describe: 'Console will receive verbose error output'
13
10
  })
11
+ .option('verbose', {
12
+ alias: 'v',
13
+ type: 'boolean',
14
+ describe: 'Console will receive verbose error output'
15
+ })
16
+ .option('wait', {
17
+ type: 'boolean',
18
+ describe: 'Wait for the instance delete to complete',
19
+ demandOption: false
20
+ })
14
21
  }
15
22
 
16
23
  async function handler (argv) {
@@ -18,6 +25,14 @@ async function handler (argv) {
18
25
  const instanceId = argv.instanceId
19
26
  try {
20
27
  await api.v1DeleteInstance(instanceId)
28
+ if (argv.wait) {
29
+ let remaining
30
+ do {
31
+ await sleep(1000)
32
+ const instances = await api.v1GetInstances()
33
+ remaining = instances.find((i) => i.id === instanceId)
34
+ } while (remaining)
35
+ }
21
36
  console.log(
22
37
  asciiArt.style(`Successfully deleted instance ${instanceId}`, 'green', true)
23
38
  )
@@ -34,6 +49,6 @@ async function handler (argv) {
34
49
  module.exports = {
35
50
  builder,
36
51
  handler,
37
- command: 'delete <instanceId>',
52
+ command: 'delete <instanceId> [wait]',
38
53
  describe: 'Delete instance'
39
54
  }
@@ -3,7 +3,8 @@ const subcommands = [
3
3
  require('./list'),
4
4
  require('./delete'),
5
5
  require('./stop'),
6
- require('./start')
6
+ require('./start'),
7
+ require('./upgrade')
7
8
  ]
8
9
 
9
10
  let _yargs
@@ -3,7 +3,8 @@ const { displayTable } = require('../../table')
3
3
  const { getApi } = require('../../utils')
4
4
 
5
5
  async function builder (yargs) {
6
- yargs.option('detailed-errors', {
6
+ yargs.option('verbose', {
7
+ alias: 'v',
7
8
  type: 'boolean',
8
9
  describe: 'Console will receive verbose error output'
9
10
  }).option('project', {
@@ -20,13 +21,18 @@ async function builder (yargs) {
20
21
  async function handler (argv) {
21
22
  const api = await getApi()
22
23
  try {
23
- const instances = await api.v1GetInstances(argv.project)
24
- if (!instances.length) {
25
- throw new Error('Found no matching Instances')
24
+ let instances
25
+ if (argv.project) {
26
+ instances = await api.v1GetProjectInstances(argv.project, {})
27
+ } else {
28
+ instances = await api.v1GetInstances()
29
+ }
30
+ if (!instances.length && argv.format !== 'json') {
31
+ console.error('Found no matching Instances')
26
32
  }
27
33
  await displayTable(argv.format, instances, [
28
34
  'id', 'flavor', 'type', 'state', 'os'
29
- ], [{ column: 3, width: 5 }, { column: 2, width: 4 }])
35
+ ], [{ column: 3, width: 5 }, { column: 2, width: 4 }, { column: 1, width: 6 }])
30
36
  } catch (error) {
31
37
  const errorMessage = getErrorMessage(error)
32
38
  console.error(`List failed: ${errorMessage}`)
@@ -8,7 +8,8 @@ async function builder (yargs) {
8
8
  describe: 'Instance id',
9
9
  demandOption: true
10
10
  })
11
- .option('detailed-errors', {
11
+ .option('verbose', {
12
+ alias: 'v',
12
13
  type: 'boolean',
13
14
  describe: 'Console will receive verbose error output'
14
15
  })
@@ -8,7 +8,8 @@ async function builder (yargs) {
8
8
  describe: 'Instance id',
9
9
  demandOption: true
10
10
  })
11
- .option('detailed-errors', {
11
+ .option('verbose', {
12
+ alias: 'v',
12
13
  type: 'boolean',
13
14
  describe: 'Console will receive verbose error output'
14
15
  })