@corellium/corellium-cli 1.0.3 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (490) hide show
  1. package/README.md +5 -17
  2. package/docs/OVERVIEW.md +1 -1
  3. package/jenkinsbuild/build.sh +1 -1
  4. package/package.json +3 -3
  5. package/src/TrialAccount.js +76 -0
  6. package/src/commands/Client.js +2 -2
  7. package/src/commands/agent/Agent.js +10 -19
  8. package/src/commands/agent/apps.js +2 -1
  9. package/src/commands/agent/file.js +2 -1
  10. package/src/commands/agent/index.js +1 -0
  11. package/src/commands/agent/ready.js +43 -0
  12. package/src/commands/extensions/delete.js +2 -1
  13. package/src/commands/extensions/list.js +2 -1
  14. package/src/commands/extensions/load.js +2 -1
  15. package/src/commands/extensions/validate.js +2 -1
  16. package/src/commands/firmware/list.js +2 -1
  17. package/src/commands/firmware/load.js +2 -1
  18. package/src/commands/images/create.js +2 -1
  19. package/src/commands/images/delete.js +2 -1
  20. package/src/commands/images/list.js +2 -1
  21. package/src/commands/instances/Instance.js +27 -0
  22. package/src/commands/instances/create.js +11 -4
  23. package/src/commands/instances/delete.js +20 -5
  24. package/src/commands/instances/index.js +2 -1
  25. package/src/commands/instances/list.js +11 -5
  26. package/src/commands/instances/start.js +2 -1
  27. package/src/commands/instances/stop.js +2 -1
  28. package/src/commands/instances/upgrade.js +90 -0
  29. package/src/commands/login.js +14 -2
  30. package/src/commands/logout.js +2 -1
  31. package/src/commands/projects/create.js +2 -1
  32. package/src/commands/projects/delete.js +2 -1
  33. package/src/commands/projects/list.js +2 -1
  34. package/src/commands/signup.js +14 -5
  35. package/src/commands/webplayer/WebPlayer.js +2 -1
  36. package/src/commands/webplayer/create.js +8 -1
  37. package/src/commands/webplayer/destroy.js +2 -1
  38. package/src/commands/webplayer/list.js +19 -17
  39. package/src/commands/webplayer/login.js +2 -1
  40. package/src/error.js +14 -1
  41. package/src/logging.js +1 -1
  42. package/src/profile.js +12 -9
  43. package/src/resumable.js +1314 -0
  44. package/src/table.js +7 -2
  45. package/src/upload.js +64 -2
  46. package/src/utils.js +11 -4
  47. package/test/test.js +89 -0
  48. package/example/WebPlayerSample.js +0 -263
  49. package/node_modules/@corellium/corellium-api/README.md +0 -1210
  50. package/node_modules/@corellium/corellium-api/node_modules/form-data/License +0 -19
  51. package/node_modules/@corellium/corellium-api/node_modules/form-data/README.md.bak +0 -356
  52. package/node_modules/@corellium/corellium-api/node_modules/form-data/Readme.md +0 -356
  53. package/node_modules/@corellium/corellium-api/node_modules/form-data/index.d.ts +0 -62
  54. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/browser.js +0 -2
  55. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/form_data.js +0 -498
  56. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/populate.js +0 -10
  57. package/node_modules/@corellium/corellium-api/node_modules/form-data/package.json +0 -104
  58. package/node_modules/@corellium/corellium-api/node_modules/uuid/AUTHORS +0 -5
  59. package/node_modules/@corellium/corellium-api/node_modules/uuid/CHANGELOG.md +0 -119
  60. package/node_modules/@corellium/corellium-api/node_modules/uuid/LICENSE.md +0 -21
  61. package/node_modules/@corellium/corellium-api/node_modules/uuid/README.md +0 -276
  62. package/node_modules/@corellium/corellium-api/node_modules/uuid/bin/uuid +0 -65
  63. package/node_modules/@corellium/corellium-api/node_modules/uuid/index.js +0 -8
  64. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/bytesToUuid.js +0 -26
  65. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5-browser.js +0 -216
  66. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5.js +0 -25
  67. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng-browser.js +0 -34
  68. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng.js +0 -8
  69. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1-browser.js +0 -89
  70. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1.js +0 -25
  71. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/v35.js +0 -57
  72. package/node_modules/@corellium/corellium-api/node_modules/uuid/package.json +0 -103
  73. package/node_modules/@corellium/corellium-api/node_modules/uuid/v1.js +0 -109
  74. package/node_modules/@corellium/corellium-api/node_modules/uuid/v3.js +0 -4
  75. package/node_modules/@corellium/corellium-api/node_modules/uuid/v4.js +0 -29
  76. package/node_modules/@corellium/corellium-api/node_modules/uuid/v5.js +0 -3
  77. package/node_modules/@corellium/corellium-api/package.json +0 -106
  78. package/node_modules/@corellium/corellium-api/resumable.js +0 -1312
  79. package/node_modules/@corellium/corellium-api/src/agent.js +0 -962
  80. package/node_modules/@corellium/corellium-api/src/corellium.js +0 -444
  81. package/node_modules/@corellium/corellium-api/src/images.js +0 -131
  82. package/node_modules/@corellium/corellium-api/src/input.js +0 -178
  83. package/node_modules/@corellium/corellium-api/src/instance-updater.js +0 -56
  84. package/node_modules/@corellium/corellium-api/src/instance.js +0 -1031
  85. package/node_modules/@corellium/corellium-api/src/netmon.js +0 -308
  86. package/node_modules/@corellium/corellium-api/src/project.js +0 -393
  87. package/node_modules/@corellium/corellium-api/src/role.js +0 -65
  88. package/node_modules/@corellium/corellium-api/src/snapshot.js +0 -77
  89. package/node_modules/@corellium/corellium-api/src/team.js +0 -29
  90. package/node_modules/@corellium/corellium-api/src/user.js +0 -51
  91. package/node_modules/@corellium/corellium-api/src/util/fetch.js +0 -62
  92. package/node_modules/@corellium/corellium-api/src/util/sleep.js +0 -7
  93. package/node_modules/@corellium/corellium-api/test/integration-tests.js +0 -1292
  94. package/node_modules/@corellium/corellium-api/test/root-hook-set-flag-if-test-failed.js +0 -7
  95. package/node_modules/async-limiter/.eslintignore +0 -2
  96. package/node_modules/async-limiter/.nycrc +0 -10
  97. package/node_modules/async-limiter/.travis.yml +0 -9
  98. package/node_modules/async-limiter/LICENSE +0 -8
  99. package/node_modules/async-limiter/index.js +0 -67
  100. package/node_modules/async-limiter/package.json +0 -72
  101. package/node_modules/async-limiter/readme.md +0 -132
  102. package/node_modules/buffer-crc32/LICENSE +0 -19
  103. package/node_modules/buffer-crc32/README.md +0 -47
  104. package/node_modules/buffer-crc32/index.js +0 -111
  105. package/node_modules/buffer-crc32/package.json +0 -72
  106. package/node_modules/cross-fetch/LICENSE +0 -21
  107. package/node_modules/cross-fetch/README.md +0 -169
  108. package/node_modules/cross-fetch/dist/browser-polyfill.js +0 -532
  109. package/node_modules/cross-fetch/dist/browser-ponyfill.js +0 -554
  110. package/node_modules/cross-fetch/dist/cross-fetch.js +0 -2
  111. package/node_modules/cross-fetch/dist/cross-fetch.js.map +0 -1
  112. package/node_modules/cross-fetch/dist/node-polyfill.js +0 -11
  113. package/node_modules/cross-fetch/dist/node-ponyfill.js +0 -22
  114. package/node_modules/cross-fetch/dist/react-native-polyfill.js +0 -12
  115. package/node_modules/cross-fetch/dist/react-native-ponyfill.js +0 -6
  116. package/node_modules/cross-fetch/index.d.ts +0 -14
  117. package/node_modules/cross-fetch/package.json +0 -160
  118. package/node_modules/cross-fetch/polyfill/package.json +0 -8
  119. package/node_modules/duplexify/.travis.yml +0 -6
  120. package/node_modules/duplexify/LICENSE +0 -21
  121. package/node_modules/duplexify/README.md +0 -97
  122. package/node_modules/duplexify/example.js +0 -21
  123. package/node_modules/duplexify/index.js +0 -234
  124. package/node_modules/duplexify/package.json +0 -69
  125. package/node_modules/duplexify/test.js +0 -295
  126. package/node_modules/end-of-stream/LICENSE +0 -21
  127. package/node_modules/end-of-stream/README.md +0 -54
  128. package/node_modules/end-of-stream/index.js +0 -94
  129. package/node_modules/end-of-stream/package.json +0 -69
  130. package/node_modules/fast-stable-stringify/.npmignore +0 -4
  131. package/node_modules/fast-stable-stringify/.travis.yml +0 -10
  132. package/node_modules/fast-stable-stringify/LICENSE +0 -21
  133. package/node_modules/fast-stable-stringify/README.md +0 -81
  134. package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +0 -67
  135. package/node_modules/fast-stable-stringify/cli/format-table.js +0 -70
  136. package/node_modules/fast-stable-stringify/cli/index.js +0 -19
  137. package/node_modules/fast-stable-stringify/fixtures/index.js +0 -5
  138. package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +0 -191
  139. package/node_modules/fast-stable-stringify/fixtures/log-result.json +0 -22
  140. package/node_modules/fast-stable-stringify/fixtures/log.txt +0 -24
  141. package/node_modules/fast-stable-stringify/index.js +0 -73
  142. package/node_modules/fast-stable-stringify/karma.conf.js +0 -124
  143. package/node_modules/fast-stable-stringify/karma.conf.travis.js +0 -95
  144. package/node_modules/fast-stable-stringify/package.json +0 -77
  145. package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  146. package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  147. package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  148. package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  149. package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  150. package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  151. package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  152. package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  153. package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  154. package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  155. package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  156. package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  157. package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  158. package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  159. package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  160. package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  161. package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  162. package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  163. package/node_modules/fast-stable-stringify/results/escape.md +0 -20
  164. package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  165. package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  166. package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  167. package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  168. package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  169. package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  170. package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  171. package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  172. package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  173. package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  174. package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  175. package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  176. package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  177. package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  178. package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  179. package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  180. package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  181. package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  182. package/node_modules/fast-stable-stringify/results/itar.md +0 -20
  183. package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  184. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +0 -35
  185. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  186. package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  187. package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  188. package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  189. package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  190. package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  191. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  192. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +0 -35
  193. package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  194. package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +0 -35
  195. package/node_modules/fast-stable-stringify/results/iter.md +0 -14
  196. package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -46
  197. package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -46
  198. package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -46
  199. package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -46
  200. package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  201. package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  202. package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  203. package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -46
  204. package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -46
  205. package/node_modules/fast-stable-stringify/results/libs.md +0 -15
  206. package/node_modules/fast-stable-stringify/test/escape-long.js +0 -147
  207. package/node_modules/fast-stable-stringify/test/escape-short.js +0 -147
  208. package/node_modules/fast-stable-stringify/test/index.js +0 -6
  209. package/node_modules/fast-stable-stringify/test/itar-long.js +0 -52
  210. package/node_modules/fast-stable-stringify/test/itar-short.js +0 -52
  211. package/node_modules/fast-stable-stringify/test/iter.js +0 -84
  212. package/node_modules/fast-stable-stringify/test/libs.js +0 -57
  213. package/node_modules/fast-stable-stringify/test/travis.js +0 -43
  214. package/node_modules/fast-stable-stringify/test/validate.js +0 -24
  215. package/node_modules/fast-stable-stringify/util/eachRecursive.js +0 -9
  216. package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +0 -21
  217. package/node_modules/fast-stable-stringify/util/get-lib-info.js +0 -22
  218. package/node_modules/fast-stable-stringify/util/object-path.js +0 -47
  219. package/node_modules/fast-stable-stringify/v8-profile/bench.js +0 -8
  220. package/node_modules/fast-stable-stringify/v8-profile/run.sh +0 -2
  221. package/node_modules/fast-stable-stringify/zuul-local.sh +0 -2
  222. package/node_modules/hkdf/.npmignore +0 -2
  223. package/node_modules/hkdf/README.md +0 -23
  224. package/node_modules/hkdf/hkdf.py +0 -171
  225. package/node_modules/hkdf/hkdf.pyc +0 -0
  226. package/node_modules/hkdf/index.js +0 -1
  227. package/node_modules/hkdf/lib/hkdf.js +0 -55
  228. package/node_modules/hkdf/package.json +0 -55
  229. package/node_modules/hkdf/scripts/run_all_tests.sh +0 -19
  230. package/node_modules/hkdf/test/all-test.js +0 -79
  231. package/node_modules/hkdf/test.py +0 -11
  232. package/node_modules/immediate/LICENSE.txt +0 -20
  233. package/node_modules/immediate/README.md +0 -93
  234. package/node_modules/immediate/dist/immediate.js +0 -75
  235. package/node_modules/immediate/dist/immediate.min.js +0 -1
  236. package/node_modules/immediate/lib/browser.js +0 -69
  237. package/node_modules/immediate/lib/index.js +0 -73
  238. package/node_modules/immediate/package.json +0 -86
  239. package/node_modules/isarray/.npmignore +0 -1
  240. package/node_modules/isarray/.travis.yml +0 -4
  241. package/node_modules/isarray/Makefile +0 -6
  242. package/node_modules/isarray/README.md +0 -60
  243. package/node_modules/isarray/component.json +0 -19
  244. package/node_modules/isarray/index.js +0 -5
  245. package/node_modules/isarray/package.json +0 -77
  246. package/node_modules/isarray/test.js +0 -20
  247. package/node_modules/jszip/.codeclimate.yml +0 -16
  248. package/node_modules/jszip/.editorconfig +0 -8
  249. package/node_modules/jszip/.github/workflows/pr.yaml +0 -41
  250. package/node_modules/jszip/.jshintignore +0 -1
  251. package/node_modules/jszip/.jshintrc +0 -21
  252. package/node_modules/jszip/.travis.yml +0 -17
  253. package/node_modules/jszip/CHANGES.md +0 -192
  254. package/node_modules/jszip/LICENSE.markdown +0 -651
  255. package/node_modules/jszip/README.markdown +0 -33
  256. package/node_modules/jszip/dist/jszip.js +0 -11583
  257. package/node_modules/jszip/dist/jszip.min.js +0 -13
  258. package/node_modules/jszip/index.d.ts +0 -335
  259. package/node_modules/jszip/lib/base64.js +0 -106
  260. package/node_modules/jszip/lib/compressedObject.js +0 -74
  261. package/node_modules/jszip/lib/compressions.js +0 -14
  262. package/node_modules/jszip/lib/crc32.js +0 -77
  263. package/node_modules/jszip/lib/defaults.js +0 -11
  264. package/node_modules/jszip/lib/external.js +0 -19
  265. package/node_modules/jszip/lib/flate.js +0 -85
  266. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  267. package/node_modules/jszip/lib/generate/index.js +0 -57
  268. package/node_modules/jszip/lib/index.js +0 -55
  269. package/node_modules/jszip/lib/license_header.js +0 -11
  270. package/node_modules/jszip/lib/load.js +0 -88
  271. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  272. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  273. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  274. package/node_modules/jszip/lib/object.js +0 -389
  275. package/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  276. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  277. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  278. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  279. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  280. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  281. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  282. package/node_modules/jszip/lib/signature.js +0 -7
  283. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  284. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  285. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  286. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  287. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  288. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  289. package/node_modules/jszip/lib/support.js +0 -38
  290. package/node_modules/jszip/lib/utf8.js +0 -275
  291. package/node_modules/jszip/lib/utils.js +0 -501
  292. package/node_modules/jszip/lib/zipEntries.js +0 -262
  293. package/node_modules/jszip/lib/zipEntry.js +0 -294
  294. package/node_modules/jszip/lib/zipObject.js +0 -133
  295. package/node_modules/jszip/package.json +0 -99
  296. package/node_modules/jszip/tsconfig.json +0 -101
  297. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  298. package/node_modules/lie/README.md +0 -62
  299. package/node_modules/lie/dist/lie.js +0 -350
  300. package/node_modules/lie/dist/lie.min.js +0 -1
  301. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  302. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  303. package/node_modules/lie/lib/browser.js +0 -273
  304. package/node_modules/lie/lib/index.js +0 -298
  305. package/node_modules/lie/license.md +0 -7
  306. package/node_modules/lie/lie.d.ts +0 -244
  307. package/node_modules/lie/package.json +0 -98
  308. package/node_modules/lie/polyfill.js +0 -4
  309. package/node_modules/p-finally/index.js +0 -15
  310. package/node_modules/p-finally/license +0 -21
  311. package/node_modules/p-finally/package.json +0 -77
  312. package/node_modules/p-finally/readme.md +0 -47
  313. package/node_modules/p-retry/index.js +0 -52
  314. package/node_modules/p-retry/license +0 -9
  315. package/node_modules/p-retry/package.json +0 -83
  316. package/node_modules/p-retry/readme.md +0 -109
  317. package/node_modules/p-timeout/index.d.ts +0 -72
  318. package/node_modules/p-timeout/index.js +0 -57
  319. package/node_modules/p-timeout/license +0 -9
  320. package/node_modules/p-timeout/package.json +0 -80
  321. package/node_modules/p-timeout/readme.md +0 -87
  322. package/node_modules/pako/CHANGELOG.md +0 -164
  323. package/node_modules/pako/LICENSE +0 -21
  324. package/node_modules/pako/README.md +0 -191
  325. package/node_modules/pako/dist/pako.js +0 -6818
  326. package/node_modules/pako/dist/pako.min.js +0 -1
  327. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  328. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  329. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  330. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  331. package/node_modules/pako/index.js +0 -14
  332. package/node_modules/pako/lib/deflate.js +0 -400
  333. package/node_modules/pako/lib/inflate.js +0 -423
  334. package/node_modules/pako/lib/utils/common.js +0 -105
  335. package/node_modules/pako/lib/utils/strings.js +0 -187
  336. package/node_modules/pako/lib/zlib/README +0 -59
  337. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  338. package/node_modules/pako/lib/zlib/constants.js +0 -68
  339. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  340. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  341. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  342. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  343. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  344. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  345. package/node_modules/pako/lib/zlib/messages.js +0 -32
  346. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  347. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  348. package/node_modules/pako/package.json +0 -94
  349. package/node_modules/process-nextick-args/index.js +0 -45
  350. package/node_modules/process-nextick-args/license.md +0 -19
  351. package/node_modules/process-nextick-args/package.json +0 -53
  352. package/node_modules/process-nextick-args/readme.md +0 -18
  353. package/node_modules/readable-stream/.travis.yml +0 -34
  354. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  355. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  356. package/node_modules/readable-stream/LICENSE +0 -47
  357. package/node_modules/readable-stream/README.md +0 -58
  358. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  359. package/node_modules/readable-stream/duplex-browser.js +0 -1
  360. package/node_modules/readable-stream/duplex.js +0 -1
  361. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  362. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  363. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  364. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  365. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  366. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  367. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  368. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  369. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  370. package/node_modules/readable-stream/package.json +0 -86
  371. package/node_modules/readable-stream/passthrough.js +0 -1
  372. package/node_modules/readable-stream/readable-browser.js +0 -7
  373. package/node_modules/readable-stream/readable.js +0 -19
  374. package/node_modules/readable-stream/transform.js +0 -1
  375. package/node_modules/readable-stream/writable-browser.js +0 -1
  376. package/node_modules/readable-stream/writable.js +0 -8
  377. package/node_modules/retry/.npmignore +0 -3
  378. package/node_modules/retry/.travis.yml +0 -15
  379. package/node_modules/retry/License +0 -21
  380. package/node_modules/retry/Makefile +0 -18
  381. package/node_modules/retry/README.md +0 -227
  382. package/node_modules/retry/equation.gif +0 -0
  383. package/node_modules/retry/example/dns.js +0 -31
  384. package/node_modules/retry/example/stop.js +0 -40
  385. package/node_modules/retry/index.js +0 -1
  386. package/node_modules/retry/lib/retry.js +0 -100
  387. package/node_modules/retry/lib/retry_operation.js +0 -158
  388. package/node_modules/retry/package.json +0 -67
  389. package/node_modules/retry/test/common.js +0 -10
  390. package/node_modules/retry/test/integration/test-forever.js +0 -24
  391. package/node_modules/retry/test/integration/test-retry-operation.js +0 -258
  392. package/node_modules/retry/test/integration/test-retry-wrap.js +0 -101
  393. package/node_modules/retry/test/integration/test-timeouts.js +0 -69
  394. package/node_modules/setimmediate/LICENSE.txt +0 -20
  395. package/node_modules/setimmediate/package.json +0 -77
  396. package/node_modules/setimmediate/setImmediate.js +0 -186
  397. package/node_modules/split/.npmignore +0 -3
  398. package/node_modules/split/.travis.yml +0 -3
  399. package/node_modules/split/LICENCE +0 -22
  400. package/node_modules/split/examples/pretty.js +0 -26
  401. package/node_modules/split/index.js +0 -63
  402. package/node_modules/split/package.json +0 -65
  403. package/node_modules/split/readme.markdown +0 -72
  404. package/node_modules/split/test/options.asynct.js +0 -46
  405. package/node_modules/split/test/partitioned_unicode.js +0 -34
  406. package/node_modules/split/test/split.asynct.js +0 -137
  407. package/node_modules/split/test/try_catch.asynct.js +0 -51
  408. package/node_modules/stream-shift/.travis.yml +0 -6
  409. package/node_modules/stream-shift/LICENSE +0 -21
  410. package/node_modules/stream-shift/README.md +0 -25
  411. package/node_modules/stream-shift/index.js +0 -20
  412. package/node_modules/stream-shift/package.json +0 -56
  413. package/node_modules/stream-shift/test.js +0 -48
  414. package/node_modules/ultron/LICENSE +0 -22
  415. package/node_modules/ultron/README.md +0 -113
  416. package/node_modules/ultron/index.js +0 -136
  417. package/node_modules/ultron/package.json +0 -71
  418. package/node_modules/websocket-stream/LICENSE +0 -8
  419. package/node_modules/websocket-stream/collaborators.md +0 -11
  420. package/node_modules/websocket-stream/echo-server.js +0 -51
  421. package/node_modules/websocket-stream/index.d.ts +0 -27
  422. package/node_modules/websocket-stream/index.js +0 -6
  423. package/node_modules/websocket-stream/package.json +0 -82
  424. package/node_modules/websocket-stream/readme.md +0 -148
  425. package/node_modules/websocket-stream/server.js +0 -29
  426. package/node_modules/websocket-stream/stream.js +0 -189
  427. package/node_modules/websocket-stream/test-client.js +0 -74
  428. package/node_modules/websocket-stream/test-server.js +0 -56
  429. package/node_modules/websocket-stream/test.js +0 -338
  430. package/node_modules/websocket-stream/ts-tests.ts +0 -69
  431. package/node_modules/websocket-stream/ws-fallback.js +0 -12
  432. package/node_modules/ws/LICENSE +0 -21
  433. package/node_modules/ws/README.md +0 -341
  434. package/node_modules/ws/index.js +0 -15
  435. package/node_modules/ws/lib/.DS_Store +0 -0
  436. package/node_modules/ws/lib/BufferUtil.js +0 -71
  437. package/node_modules/ws/lib/Constants.js +0 -10
  438. package/node_modules/ws/lib/ErrorCodes.js +0 -28
  439. package/node_modules/ws/lib/EventTarget.js +0 -151
  440. package/node_modules/ws/lib/Extensions.js +0 -203
  441. package/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  442. package/node_modules/ws/lib/Receiver.js +0 -553
  443. package/node_modules/ws/lib/Sender.js +0 -412
  444. package/node_modules/ws/lib/Validation.js +0 -17
  445. package/node_modules/ws/lib/WebSocket.js +0 -717
  446. package/node_modules/ws/lib/WebSocketServer.js +0 -326
  447. package/node_modules/ws/package.json +0 -83
  448. package/node_modules/xhr2/CONTRIBUTING.md +0 -33
  449. package/node_modules/xhr2/Cakefile +0 -131
  450. package/node_modules/xhr2/LICENSE.txt +0 -19
  451. package/node_modules/xhr2/README.md +0 -142
  452. package/node_modules/xhr2/lib/browser.js +0 -1
  453. package/node_modules/xhr2/lib/xhr2.js +0 -1244
  454. package/node_modules/xhr2/package.json +0 -103
  455. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  456. package/node_modules/xhr2/src/001-xml_http_request.coffee +0 -781
  457. package/node_modules/xhr2/src/errors.coffee +0 -31
  458. package/node_modules/xhr2/src/progress_event.coffee +0 -39
  459. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  460. package/node_modules/xhr2/test/fixtures/hello.json +0 -1
  461. package/node_modules/xhr2/test/fixtures/hello.txt +0 -1
  462. package/node_modules/xhr2/test/fixtures/xhr2.png +0 -0
  463. package/node_modules/xhr2/test/html/browser_test.html +0 -30
  464. package/node_modules/xhr2/test/src/event_target_test.coffee +0 -85
  465. package/node_modules/xhr2/test/src/events_test.coffee +0 -204
  466. package/node_modules/xhr2/test/src/headers_test.coffee +0 -168
  467. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  468. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +0 -1
  469. package/node_modules/xhr2/test/src/helpers/setup.coffee +0 -38
  470. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +0 -156
  471. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +0 -162
  472. package/node_modules/xhr2/test/src/redirect_test.coffee +0 -57
  473. package/node_modules/xhr2/test/src/response_type_test.coffee +0 -88
  474. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
  475. package/node_modules/xhr2/test/src/send_test.coffee +0 -89
  476. package/node_modules/xhr2/test/src/status_test.coffee +0 -47
  477. package/node_modules/xhr2/test/src/xhr_test.coffee +0 -102
  478. package/node_modules/xtend/.jshintrc +0 -30
  479. package/node_modules/xtend/LICENSE +0 -20
  480. package/node_modules/xtend/README.md +0 -32
  481. package/node_modules/xtend/immutable.js +0 -19
  482. package/node_modules/xtend/mutable.js +0 -17
  483. package/node_modules/xtend/package.json +0 -89
  484. package/node_modules/xtend/test.js +0 -103
  485. package/node_modules/yazl/LICENSE +0 -21
  486. package/node_modules/yazl/README.md +0 -389
  487. package/node_modules/yazl/index.js +0 -749
  488. package/node_modules/yazl/package.json +0 -69
  489. package/src/commands/CorelliumAPI.js +0 -76
  490. package/src/subscriberInvite.js +0 -140
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
  })