@phystack/cli 5.0.3 → 5.1.1

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 (218) hide show
  1. package/bin/index.js +27 -1
  2. package/package.json +12 -65
  3. package/dist/commands/app/build-apps.js +0 -66
  4. package/dist/commands/app/build-apps.js.map +0 -1
  5. package/dist/commands/app/build-container-remote.js +0 -171
  6. package/dist/commands/app/build-container-remote.js.map +0 -1
  7. package/dist/commands/app/build-container.js +0 -330
  8. package/dist/commands/app/build-container.js.map +0 -1
  9. package/dist/commands/app/build.js +0 -398
  10. package/dist/commands/app/build.js.map +0 -1
  11. package/dist/commands/app/create.js +0 -463
  12. package/dist/commands/app/create.js.map +0 -1
  13. package/dist/commands/app/deploy.js +0 -176
  14. package/dist/commands/app/deploy.js.map +0 -1
  15. package/dist/commands/app/device-picker.js +0 -150
  16. package/dist/commands/app/device-picker.js.map +0 -1
  17. package/dist/commands/app/import.js +0 -336
  18. package/dist/commands/app/import.js.map +0 -1
  19. package/dist/commands/app/list.js +0 -26
  20. package/dist/commands/app/list.js.map +0 -1
  21. package/dist/commands/app/publish.js +0 -332
  22. package/dist/commands/app/publish.js.map +0 -1
  23. package/dist/commands/app/settings.js +0 -133
  24. package/dist/commands/app/settings.js.map +0 -1
  25. package/dist/commands/app/types.js +0 -14
  26. package/dist/commands/app/types.js.map +0 -1
  27. package/dist/commands/app/upload-description.js +0 -139
  28. package/dist/commands/app/upload-description.js.map +0 -1
  29. package/dist/commands/app/upload-settings.js +0 -29
  30. package/dist/commands/app/upload-settings.js.map +0 -1
  31. package/dist/commands/app/utils.js +0 -86
  32. package/dist/commands/app/utils.js.map +0 -1
  33. package/dist/commands/auth/login.js +0 -145
  34. package/dist/commands/auth/login.js.map +0 -1
  35. package/dist/commands/auth/logout.js +0 -19
  36. package/dist/commands/auth/logout.js.map +0 -1
  37. package/dist/commands/descriptor/create.js +0 -143
  38. package/dist/commands/descriptor/create.js.map +0 -1
  39. package/dist/commands/descriptor/index.js +0 -36
  40. package/dist/commands/descriptor/index.js.map +0 -1
  41. package/dist/commands/descriptor/publish.js +0 -163
  42. package/dist/commands/descriptor/publish.js.map +0 -1
  43. package/dist/commands/descriptor/show.js +0 -68
  44. package/dist/commands/descriptor/show.js.map +0 -1
  45. package/dist/commands/dev/cp.js +0 -764
  46. package/dist/commands/dev/cp.js.map +0 -1
  47. package/dist/commands/dev/develop.js +0 -175
  48. package/dist/commands/dev/develop.js.map +0 -1
  49. package/dist/commands/dev/forward.js +0 -132
  50. package/dist/commands/dev/forward.js.map +0 -1
  51. package/dist/commands/dev/index.js +0 -80
  52. package/dist/commands/dev/index.js.map +0 -1
  53. package/dist/commands/dev/list.js +0 -96
  54. package/dist/commands/dev/list.js.map +0 -1
  55. package/dist/commands/dev/screen-devtools.js +0 -156
  56. package/dist/commands/dev/screen-devtools.js.map +0 -1
  57. package/dist/commands/dev/select.js +0 -118
  58. package/dist/commands/dev/select.js.map +0 -1
  59. package/dist/commands/dev/shell.js +0 -186
  60. package/dist/commands/dev/shell.js.map +0 -1
  61. package/dist/commands/dev/vnc.js +0 -75
  62. package/dist/commands/dev/vnc.js.map +0 -1
  63. package/dist/commands/device/select.js +0 -118
  64. package/dist/commands/device/select.js.map +0 -1
  65. package/dist/commands/flash.js +0 -1120
  66. package/dist/commands/flash.js.map +0 -1
  67. package/dist/commands/inst/create.js +0 -55
  68. package/dist/commands/inst/create.js.map +0 -1
  69. package/dist/commands/inst/index.js +0 -15
  70. package/dist/commands/inst/index.js.map +0 -1
  71. package/dist/commands/inst/list.js +0 -26
  72. package/dist/commands/inst/list.js.map +0 -1
  73. package/dist/commands/legacydev/debug.js +0 -11
  74. package/dist/commands/legacydev/debug.js.map +0 -1
  75. package/dist/commands/legacydev/deploy.js +0 -15
  76. package/dist/commands/legacydev/deploy.js.map +0 -1
  77. package/dist/commands/legacydev/dumpTwin.js +0 -27
  78. package/dist/commands/legacydev/dumpTwin.js.map +0 -1
  79. package/dist/commands/legacydev/forward.js +0 -104
  80. package/dist/commands/legacydev/forward.js.map +0 -1
  81. package/dist/commands/legacydev/index.js +0 -188
  82. package/dist/commands/legacydev/index.js.map +0 -1
  83. package/dist/commands/legacydev/invoke.js +0 -29
  84. package/dist/commands/legacydev/invoke.js.map +0 -1
  85. package/dist/commands/legacydev/js.js +0 -69
  86. package/dist/commands/legacydev/js.js.map +0 -1
  87. package/dist/commands/legacydev/list.js +0 -196
  88. package/dist/commands/legacydev/list.js.map +0 -1
  89. package/dist/commands/legacydev/logs.js +0 -60
  90. package/dist/commands/legacydev/logs.js.map +0 -1
  91. package/dist/commands/legacydev/modules.js +0 -50
  92. package/dist/commands/legacydev/modules.js.map +0 -1
  93. package/dist/commands/legacydev/move.js +0 -23
  94. package/dist/commands/legacydev/move.js.map +0 -1
  95. package/dist/commands/legacydev/ota.js +0 -88
  96. package/dist/commands/legacydev/ota.js.map +0 -1
  97. package/dist/commands/legacydev/patchTwin.js +0 -21
  98. package/dist/commands/legacydev/patchTwin.js.map +0 -1
  99. package/dist/commands/legacydev/pin.js +0 -23
  100. package/dist/commands/legacydev/pin.js.map +0 -1
  101. package/dist/commands/legacydev/pub.js +0 -25
  102. package/dist/commands/legacydev/pub.js.map +0 -1
  103. package/dist/commands/legacydev/rdp.js +0 -64
  104. package/dist/commands/legacydev/rdp.js.map +0 -1
  105. package/dist/commands/legacydev/screen-devtools.js +0 -142
  106. package/dist/commands/legacydev/screen-devtools.js.map +0 -1
  107. package/dist/commands/legacydev/settingsShow.js +0 -89
  108. package/dist/commands/legacydev/settingsShow.js.map +0 -1
  109. package/dist/commands/legacydev/settingsUpdate.js +0 -114
  110. package/dist/commands/legacydev/settingsUpdate.js.map +0 -1
  111. package/dist/commands/legacydev/shell.js +0 -167
  112. package/dist/commands/legacydev/shell.js.map +0 -1
  113. package/dist/commands/legacydev/showTwin.js +0 -9
  114. package/dist/commands/legacydev/showTwin.js.map +0 -1
  115. package/dist/commands/legacydev/statusLog.js +0 -56
  116. package/dist/commands/legacydev/statusLog.js.map +0 -1
  117. package/dist/commands/legacydev/sub.js +0 -39
  118. package/dist/commands/legacydev/sub.js.map +0 -1
  119. package/dist/commands/legacydev/vnc.js +0 -61
  120. package/dist/commands/legacydev/vnc.js.map +0 -1
  121. package/dist/commands/simulator/index.js +0 -37
  122. package/dist/commands/simulator/index.js.map +0 -1
  123. package/dist/commands/simulator/list.js +0 -20
  124. package/dist/commands/simulator/list.js.map +0 -1
  125. package/dist/commands/simulator/remove.js +0 -19
  126. package/dist/commands/simulator/remove.js.map +0 -1
  127. package/dist/commands/simulator/run.js +0 -380
  128. package/dist/commands/simulator/run.js.map +0 -1
  129. package/dist/commands/simulator/start.js +0 -186
  130. package/dist/commands/simulator/start.js.map +0 -1
  131. package/dist/commands/tenant/index.js +0 -21
  132. package/dist/commands/tenant/index.js.map +0 -1
  133. package/dist/commands/tenant/list.js +0 -14
  134. package/dist/commands/tenant/list.js.map +0 -1
  135. package/dist/commands/tenant/select.js +0 -87
  136. package/dist/commands/tenant/select.js.map +0 -1
  137. package/dist/commands/vm/create.js +0 -959
  138. package/dist/commands/vm/create.js.map +0 -1
  139. package/dist/commands/vm/index.js +0 -130
  140. package/dist/commands/vm/index.js.map +0 -1
  141. package/dist/commands/vm/list.js +0 -124
  142. package/dist/commands/vm/list.js.map +0 -1
  143. package/dist/commands/vm/logs.js +0 -66
  144. package/dist/commands/vm/logs.js.map +0 -1
  145. package/dist/commands/vm/remove.js +0 -180
  146. package/dist/commands/vm/remove.js.map +0 -1
  147. package/dist/commands/vm/shell.js +0 -400
  148. package/dist/commands/vm/shell.js.map +0 -1
  149. package/dist/commands/vm/start.js +0 -861
  150. package/dist/commands/vm/start.js.map +0 -1
  151. package/dist/commands/vm/stop.js +0 -232
  152. package/dist/commands/vm/stop.js.map +0 -1
  153. package/dist/index.js +0 -169
  154. package/dist/index.js.map +0 -1
  155. package/dist/services/admin-api/admin-api.types.js +0 -3
  156. package/dist/services/admin-api/admin-api.types.js.map +0 -1
  157. package/dist/services/admin-api/device-modules.admin-api.service.js +0 -58
  158. package/dist/services/admin-api/device-modules.admin-api.service.js.map +0 -1
  159. package/dist/services/admin-api/devices-admin-api.service.js +0 -213
  160. package/dist/services/admin-api/devices-admin-api.service.js.map +0 -1
  161. package/dist/services/admin-api/gridapps-admin-api.service.js +0 -59
  162. package/dist/services/admin-api/gridapps-admin-api.service.js.map +0 -1
  163. package/dist/services/admin-api/index.js +0 -151
  164. package/dist/services/admin-api/index.js.map +0 -1
  165. package/dist/services/admin-api/installations-admin-api.service.js +0 -29
  166. package/dist/services/admin-api/installations-admin-api.service.js.map +0 -1
  167. package/dist/services/admin-api/organizations-admin-api.service.js +0 -53
  168. package/dist/services/admin-api/organizations-admin-api.service.js.map +0 -1
  169. package/dist/services/auth/device-grant-auth.service.js +0 -226
  170. package/dist/services/auth/device-grant-auth.service.js.map +0 -1
  171. package/dist/services/env.js +0 -21
  172. package/dist/services/env.js.map +0 -1
  173. package/dist/services/phyhub/index.js +0 -200
  174. package/dist/services/phyhub/index.js.map +0 -1
  175. package/dist/services/phyhub/phyhub.types.js +0 -3
  176. package/dist/services/phyhub/phyhub.types.js.map +0 -1
  177. package/dist/simulator/index.js +0 -162
  178. package/dist/simulator/index.js.map +0 -1
  179. package/dist/simulator/local-server.js +0 -147
  180. package/dist/simulator/local-server.js.map +0 -1
  181. package/dist/simulator/logger.js +0 -43
  182. package/dist/simulator/logger.js.map +0 -1
  183. package/dist/simulator/message-router.js +0 -379
  184. package/dist/simulator/message-router.js.map +0 -1
  185. package/dist/simulator/twin-cache.js +0 -58
  186. package/dist/simulator/twin-cache.js.map +0 -1
  187. package/dist/simulator/types.js +0 -16
  188. package/dist/simulator/types.js.map +0 -1
  189. package/dist/utils/device-fetcher.js +0 -92
  190. package/dist/utils/device-fetcher.js.map +0 -1
  191. package/dist/utils/devices.js +0 -41
  192. package/dist/utils/devices.js.map +0 -1
  193. package/dist/utils/docker-credentials.js +0 -720
  194. package/dist/utils/docker-credentials.js.map +0 -1
  195. package/dist/utils/emulated-device.js +0 -91
  196. package/dist/utils/emulated-device.js.map +0 -1
  197. package/dist/utils/index.js +0 -147
  198. package/dist/utils/index.js.map +0 -1
  199. package/dist/utils/modules.js +0 -36
  200. package/dist/utils/modules.js.map +0 -1
  201. package/dist/utils/org-selector.js +0 -108
  202. package/dist/utils/org-selector.js.map +0 -1
  203. package/dist/utils/proxy.js +0 -31
  204. package/dist/utils/proxy.js.map +0 -1
  205. package/dist/utils/registry-credentials.js +0 -113
  206. package/dist/utils/registry-credentials.js.map +0 -1
  207. package/dist/utils/simulator-config.js +0 -142
  208. package/dist/utils/simulator-config.js.map +0 -1
  209. package/dist/utils/statuses.js +0 -124
  210. package/dist/utils/statuses.js.map +0 -1
  211. package/dist/utils/templates.js +0 -197
  212. package/dist/utils/templates.js.map +0 -1
  213. package/dist/utils/tenant-storage.js +0 -88
  214. package/dist/utils/tenant-storage.js.map +0 -1
  215. package/dist/utils/vm.js +0 -434
  216. package/dist/utils/vm.js.map +0 -1
  217. package/dist/utils/with-spinner.js +0 -20
  218. package/dist/utils/with-spinner.js.map +0 -1
@@ -1,139 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.updateDescription = void 0;
7
- /* eslint-disable @typescript-eslint/no-explicit-any */
8
- /* eslint-disable @typescript-eslint/no-unused-vars */
9
- const fs_1 = __importDefault(require("fs"));
10
- const path_1 = __importDefault(require("path"));
11
- const chalk_1 = __importDefault(require("chalk"));
12
- const template_1 = __importDefault(require("lodash/template"));
13
- const utils_1 = require("./utils");
14
- const with_spinner_1 = __importDefault(require("../../utils/with-spinner"));
15
- const admin_api_1 = require("../../services/admin-api");
16
- const readDescriptionFile = async (filename) => {
17
- try {
18
- await fs_1.default.promises.stat(filename);
19
- }
20
- catch (e) {
21
- return false;
22
- }
23
- const result = {
24
- title: null,
25
- author: null,
26
- description: '',
27
- screenshots: [],
28
- };
29
- const descriptionText = await fs_1.default.promises.readFile(filename);
30
- descriptionText
31
- .toString()
32
- .split('\n\n')
33
- .forEach((p) => {
34
- const images = Array.from(p.matchAll(/!\[.*?\]\((.+?)\)/g));
35
- if (images.length) {
36
- images.forEach(([_, file]) => result.screenshots.push(file));
37
- return;
38
- }
39
- const header = p.match(/^# /);
40
- if (header) {
41
- result.title = p
42
- .split('\n')
43
- .shift()
44
- .replace(/#/g, '')
45
- .trim();
46
- const by = p
47
- .split('\n')
48
- .map((line) => /^[bB]y (.+)$/.exec(line))
49
- .filter((a) => a)
50
- .shift();
51
- if (by) {
52
- result.author = by[1]; // eslint-disable-line prefer-destructuring
53
- }
54
- return;
55
- }
56
- result.description += `${p}\n\n`;
57
- });
58
- return result;
59
- };
60
- const getNameFromPackageJson = async (projectDir) => {
61
- const packageFile = `${projectDir}/package.json`;
62
- const resultRaw = await fs_1.default.promises.readFile(packageFile);
63
- const resultParsed = JSON.parse(resultRaw.toString());
64
- return resultParsed.name;
65
- };
66
- const updateDescription = async (descFilePath, data) => {
67
- try {
68
- const buffer = await fs_1.default.promises.readFile(descFilePath);
69
- const content = buffer.toString();
70
- const compiled = (0, template_1.default)(content, { interpolate: /{{([\s\S]+?)}}/g });
71
- const updatedContent = compiled(data);
72
- await fs_1.default.promises.writeFile(descFilePath, updatedContent);
73
- }
74
- catch {
75
- console.log(chalk_1.default.green('Cannot update the description file. You may manually update it on your succeeding builds.'));
76
- }
77
- };
78
- exports.updateDescription = updateDescription;
79
- const uploadDescription = async (id, { filepath, applicationName, author, }) => {
80
- let file = filepath;
81
- if (!file) {
82
- file = fs_1.default.existsSync('./DESCRIPTION.md') ? './DESCRIPTION.md' : './README.md';
83
- }
84
- const desc = await readDescriptionFile(file);
85
- if (!desc) {
86
- throw new Error('Unable to find description file');
87
- }
88
- const { dir: projectDir } = path_1.default.parse(file);
89
- const projectId = id ||
90
- (await (0, with_spinner_1.default)(() => getNameFromPackageJson(projectDir), 'Extracting app id from package.json'));
91
- const [orgName, appId] = projectId.split('.');
92
- const org = await (0, with_spinner_1.default)(() => (0, admin_api_1.adminApi)().organizations.getOrganizationBySlug(orgName), 'Fetching organization info');
93
- if (!org) {
94
- throw new Error('Organization not found');
95
- }
96
- // TO DO: Fetch the app by package name and organization id, instead of all apps
97
- const apps = await (0, with_spinner_1.default)(() => (0, admin_api_1.adminApi)().gridapps.listGridappsByOrganizationId(org.id), 'Fetching app info');
98
- const app = apps.find(({ packageName }) => packageName === appId);
99
- if (!app) {
100
- throw new Error('Application not found, should you create one?');
101
- }
102
- console.log(chalk_1.default.dim('Obtaining upload token'));
103
- const token = await (0, admin_api_1.adminApi)().gridapps.getBuildUploadToken();
104
- console.log(chalk_1.default.dim('Uploading screenshots'));
105
- // eslint-disable-next-line guard-for-in
106
- for (const n in desc.screenshots) {
107
- const image = `${path_1.default.parse(file).dir}/${desc.screenshots[n]}`;
108
- process.stdout.write(chalk_1.default.dim(`Uploading ${image}...`));
109
- try {
110
- await fs_1.default.promises.stat(image);
111
- }
112
- catch (e) {
113
- console.log('not found');
114
- continue; // eslint-disable-line no-continue
115
- }
116
- const url = await (0, utils_1.upload)({
117
- file: image,
118
- token,
119
- gridappId: app.id,
120
- suffix: `/screen${n}.png`,
121
- contentType: 'image/png',
122
- });
123
- console.log(chalk_1.default.dim('ok'));
124
- desc.screenshots[n] = url;
125
- }
126
- console.log(chalk_1.default.dim('Uploading description'));
127
- await (0, admin_api_1.adminApi)().gridapps.updateGridapp({
128
- id: app.id,
129
- displayName: app.displayName,
130
- packageName: app.packageName,
131
- author: app.author,
132
- access: app.access,
133
- description: desc.description || app.description,
134
- screenshots: desc.screenshots,
135
- });
136
- console.log(chalk_1.default.green('Description updated'));
137
- };
138
- exports.default = uploadDescription;
139
- //# sourceMappingURL=upload-description.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-description.js","sourceRoot":"","sources":["../../../src/commands/app/upload-description.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chalk_1 = __importDefault(require("chalk"));
7
- const fs_1 = __importDefault(require("fs"));
8
- const admin_api_1 = require("../../services/admin-api");
9
- exports.default = async (appName, destination) => {
10
- try {
11
- console.log(chalk_1.default.grey('Uploading settings for app'), chalk_1.default.bold(appName), chalk_1.default.gray('from'), chalk_1.default.green(destination));
12
- if (!fs_1.default.statSync(destination).isDirectory()) {
13
- throw new Error(`Not a directory: ${destination}`);
14
- }
15
- const payload = JSON.parse(fs_1.default.readFileSync(`${destination}/index.json`).toString());
16
- const insts = await (0, admin_api_1.adminApi)().installations.listInstallations();
17
- const inst = insts.find((a) => a.appName === appName);
18
- if (!inst)
19
- throw new Error('Installation not found');
20
- inst.settings.provider.app = payload.app;
21
- await (0, admin_api_1.adminApi)().installations.updateInstallation(inst);
22
- console.log(chalk_1.default.green('Settings updated'));
23
- }
24
- catch (err) {
25
- console.error(chalk_1.default.red(`❗️There was an error: ${err.message}`));
26
- throw err;
27
- }
28
- };
29
- //# sourceMappingURL=upload-settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-settings.js","sourceRoot":"","sources":["../../../src/commands/app/upload-settings.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,wDAAoD;AAEpD,kBAAe,KAAK,EAAE,OAAe,EAAE,WAAmB,EAAE,EAAE;IAC5D,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,EACxC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACnB,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAClB,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CACzB,CAAC;QACF,IAAI,CAAC,YAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,GAAG,WAAW,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpF,MAAM,KAAK,GAAG,MAAM,IAAA,oBAAQ,GAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAEjE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAErD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAEzC,MAAM,IAAA,oBAAQ,GAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.checkIfImageExists = exports.upload = exports.DEFAULT_REGISTRY = void 0;
7
- exports.checkImageExistsInRegistry = checkImageExistsInRegistry;
8
- /* eslint-disable @typescript-eslint/no-explicit-any */
9
- const azure_storage_1 = require("azure-storage");
10
- const child_process_1 = __importDefault(require("child_process"));
11
- const chalk_1 = __importDefault(require("chalk"));
12
- exports.DEFAULT_REGISTRY = 'docker.io';
13
- const upload = async ({ file, token, gridappId, onProgress = null, contentType, suffix = '', }) => {
14
- const { uri, sas, container, uuid } = token;
15
- // TODO: extract thi to a blob service
16
- const blobService = (0, azure_storage_1.createBlobServiceWithSas)(uri, sas).withFilter(new azure_storage_1.ExponentialRetryPolicyFilter());
17
- const checkMD5 = false;
18
- const blockSize = file.size > 1024 * 1024 * 32 ? 1024 * 1024 * 4 : 1024 * 512;
19
- const options = {
20
- storeBlobContentMD5: checkMD5,
21
- blockSize,
22
- contentSettings: { contentType },
23
- };
24
- blobService.singleBlobPutThresholdInBytes = blockSize;
25
- const filename = `${gridappId}/${uuid}${suffix}`;
26
- await new Promise((resolve, reject) => {
27
- const speedSummary = blobService.createBlockBlobFromLocalFile(container, filename, file, options, (error) => {
28
- if (error) {
29
- reject(error);
30
- }
31
- else {
32
- resolve();
33
- }
34
- });
35
- speedSummary.on('progress', () => {
36
- if (onProgress) {
37
- const percent = speedSummary.getCompletePercent(0);
38
- if (percent != null) {
39
- onProgress(percent);
40
- }
41
- }
42
- });
43
- });
44
- return `${uri}/${container}/${filename}`;
45
- };
46
- exports.upload = upload;
47
- const checkIfImageExists = (image) => {
48
- try {
49
- child_process_1.default.execSync(`docker inspect ${image}`);
50
- return true;
51
- }
52
- catch (e) {
53
- return false;
54
- }
55
- };
56
- exports.checkIfImageExists = checkIfImageExists;
57
- async function checkImageExistsInRegistry(image, pullCredentials = null, registry = null) {
58
- try {
59
- // Login to registry with pull credentials if provided
60
- if (pullCredentials &&
61
- pullCredentials.username &&
62
- pullCredentials.password &&
63
- registry) {
64
- try {
65
- console.log(chalk_1.default.dim(`Logging in to registry ${registry} to check image existence...`));
66
- child_process_1.default.execSync(`docker login ${registry} -u ${pullCredentials.username} -p ${pullCredentials.password}`, { stdio: 'pipe' });
67
- }
68
- catch (loginError) {
69
- // Silently continue - Docker might use cached credentials
70
- }
71
- }
72
- // Use docker manifest inspect to check if image exists
73
- child_process_1.default.execSync(`docker manifest inspect ${image}`, { stdio: 'pipe' });
74
- return true;
75
- }
76
- catch (e) {
77
- return false;
78
- }
79
- }
80
- exports.default = {
81
- DEFAULT_REGISTRY: exports.DEFAULT_REGISTRY,
82
- upload: exports.upload,
83
- checkIfImageExists: exports.checkIfImageExists,
84
- checkImageExistsInRegistry,
85
- };
86
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/commands/app/utils.ts"],"names":[],"mappings":"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"}
@@ -1,145 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chalk_1 = __importDefault(require("chalk"));
7
- const open_1 = __importDefault(require("open"));
8
- const readline_1 = __importDefault(require("readline"));
9
- const inquirer_1 = __importDefault(require("inquirer"));
10
- const device_grant_auth_service_1 = __importDefault(require("../../services/auth/device-grant-auth.service"));
11
- const admin_api_1 = require("../../services/admin-api");
12
- const tenant_storage_1 = require("../../utils/tenant-storage");
13
- const org_selector_1 = require("../../utils/org-selector");
14
- const autoSelectTenant = async () => {
15
- try {
16
- const organizations = await (0, admin_api_1.adminApi)().organizations.listOrganizations();
17
- if (!organizations || organizations.length === 0) {
18
- console.log(chalk_1.default.yellow('No tenants found. Use `phy tenant select` after being added to a tenant.'));
19
- return;
20
- }
21
- if (organizations.length === 1) {
22
- const org = organizations[0];
23
- const tenant = {
24
- id: org.id,
25
- slug: org.organizationName,
26
- displayName: org.displayName,
27
- phyhubUrl: org.phyhubUrl,
28
- };
29
- await (0, tenant_storage_1.saveTenant)(tenant);
30
- console.log(chalk_1.default.green(`Auto-selected tenant: ${chalk_1.default.blue(tenant.displayName)} (${tenant.slug})`));
31
- return;
32
- }
33
- console.log(chalk_1.default.dim(`\nFound ${organizations.length} tenants. Please select one:`));
34
- await (0, org_selector_1.selectOrganization)('Select a tenant:', true);
35
- }
36
- catch (error) {
37
- console.log(chalk_1.default.yellow(`Could not auto-select tenant: ${error.message}`));
38
- console.log(chalk_1.default.dim('You can manually select a tenant with `phy tenant select`.'));
39
- }
40
- };
41
- const clearLastConsoleLines = (count) => {
42
- for (let i = 0; i < count; i++) {
43
- readline_1.default.moveCursor(process.stdout, 0, -1);
44
- readline_1.default.clearLine(process.stdout, 0);
45
- }
46
- };
47
- const login = async ({ useDeviceCode, useDeveloperToken, }) => {
48
- let intervalInstance = null;
49
- let didStartAuthFlow = false;
50
- // Check for environment variable first for developer token
51
- const envToken = process.env.PHYGRID_DEVELOPER_TOKEN;
52
- if (envToken) {
53
- const authService = new device_grant_auth_service_1.default();
54
- await authService.storeDeveloperToken(envToken);
55
- console.log(chalk_1.default.green('Developer token from environment variable stored successfully'));
56
- await autoSelectTenant();
57
- return;
58
- }
59
- // Handle developer token authentication
60
- if (useDeveloperToken !== undefined) {
61
- const authService = new device_grant_auth_service_1.default();
62
- // If token was provided as argument, use it directly
63
- if (useDeveloperToken) {
64
- await authService.storeDeveloperToken(useDeveloperToken);
65
- console.log(chalk_1.default.green('Developer token stored successfully'));
66
- await autoSelectTenant();
67
- return;
68
- }
69
- // Otherwise prompt for token
70
- const { token } = await inquirer_1.default.prompt([
71
- {
72
- type: 'password',
73
- name: 'token',
74
- message: 'Enter your developer token:',
75
- validate: (input) => {
76
- if (!input || input.length < 10) {
77
- return 'Please enter a valid developer token';
78
- }
79
- return true;
80
- },
81
- },
82
- ]);
83
- await authService.storeDeveloperToken(token);
84
- console.log(chalk_1.default.green('Developer token stored successfully'));
85
- await autoSelectTenant();
86
- return;
87
- }
88
- const showCountdown = (ttl) => {
89
- const expirationTime = Date.now() + ttl * 1000;
90
- intervalInstance = setInterval(() => {
91
- const remainingTime = expirationTime - Date.now();
92
- if (remainingTime <= 0) {
93
- clearInterval(intervalInstance);
94
- return;
95
- }
96
- const minutes = Math.floor(remainingTime / 1000 / 60);
97
- const seconds = Math.floor((remainingTime / 1000) % 60);
98
- readline_1.default.cursorTo(process.stdout, 0);
99
- process.stdout.write(`Time remaining: ${minutes}m ${seconds}s`);
100
- }, 1000);
101
- };
102
- const clearLoginSession = () => {
103
- if (intervalInstance) {
104
- clearInterval(intervalInstance);
105
- }
106
- if (!didStartAuthFlow) {
107
- return;
108
- }
109
- const prevLinesToClear = useDeviceCode ? 3 : 6;
110
- clearLastConsoleLines(prevLinesToClear);
111
- };
112
- const handleDeviceAuthorizationRequestStart = ({ verificationUri, verificationUriComplete, code, codeExpiresIn, }) => {
113
- didStartAuthFlow = true;
114
- if (useDeviceCode) {
115
- console.log(chalk_1.default.yellow(`
116
- To sign in, use a web browser to open the page ${verificationUri} and enter the code ${code} to authenticate.
117
- `));
118
- }
119
- else {
120
- (0, open_1.default)(verificationUriComplete);
121
- console.log(chalk_1.default.yellow(`
122
- A web browser has been opened at ${verificationUri}.
123
- Please continue the login in the web browser.
124
- If no web browser is available or if the web browser fails to open, use device code flow with "phy login --use-device-code".
125
- `));
126
- }
127
- console.log('Code:', code);
128
- showCountdown(codeExpiresIn);
129
- };
130
- try {
131
- const authService = new device_grant_auth_service_1.default();
132
- await authService.authenticate({
133
- onDeviceAuthorizationRequestStart: handleDeviceAuthorizationRequestStart,
134
- });
135
- clearLoginSession();
136
- console.log(chalk_1.default.green('\nSuccessfully authenticated. You can now use the CLI.'));
137
- await autoSelectTenant();
138
- }
139
- catch (error) {
140
- clearLoginSession();
141
- console.log(chalk_1.default.red('\nLogin failed.', error.message));
142
- }
143
- };
144
- exports.default = login;
145
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const chalk_1 = __importDefault(require("chalk"));
7
- const device_grant_auth_service_1 = __importDefault(require("../../services/auth/device-grant-auth.service"));
8
- const logout = async () => {
9
- try {
10
- const authService = new device_grant_auth_service_1.default();
11
- await authService.logout();
12
- console.log(chalk_1.default.green('Successfully logged out.'));
13
- }
14
- catch (error) {
15
- console.log(chalk_1.default.red('Error during logout.', error.message));
16
- }
17
- };
18
- exports.default = logout;
19
- //# sourceMappingURL=logout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,8GAAwE;AAExE,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,mCAAW,EAAE,CAAC;QACtC,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,MAAM,CAAC"}
@@ -1,143 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.initializeDescriptorProject = void 0;
7
- const inquirer_1 = __importDefault(require("inquirer"));
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const path_1 = __importDefault(require("path"));
10
- const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const templates_1 = require("../../utils/templates");
12
- const utils_1 = require("../../utils");
13
- /**
14
- * Validates if a name follows descriptor naming rules
15
- * @param name Name to validate
16
- * @returns An object with isValid flag and error message
17
- */
18
- const validateDescriptorName = (name) => {
19
- // Trim and convert to lowercase
20
- const trimmedName = name.trim().toLowerCase();
21
- // Check length
22
- if (trimmedName.length < 3) {
23
- return { isValid: false, message: 'Name must be at least 3 characters' };
24
- }
25
- if (trimmedName.length > 100) {
26
- return { isValid: false, message: 'Name cannot exceed 100 characters' };
27
- }
28
- // Check format with regex (kebab-case: lowercase letters, numbers, dashes)
29
- // Must start with a letter and cannot end with a dash
30
- if (!/^[a-z][a-z0-9-]*[a-z0-9]$/.test(trimmedName)) {
31
- return {
32
- isValid: false,
33
- message: 'Name must be in kebab-case format (lowercase letters, numbers, and dashes only). Must start with a letter and cannot end with a dash.',
34
- };
35
- }
36
- return { isValid: true, message: '' };
37
- };
38
- /**
39
- * Initialize a new descriptor project by cloning the template repository
40
- * @param projectName The kebab-case name of the project
41
- * @param displayName The friendly display name for the descriptor
42
- * @param projectDirectory The directory to create the project in
43
- * @returns Details about the created project
44
- */
45
- const initializeDescriptorProject = async (projectName, displayName, projectDirectory) => {
46
- // Validate descriptor name
47
- const validation = validateDescriptorName(projectName);
48
- if (!validation.isValid) {
49
- throw new Error(`Invalid descriptor name: ${validation.message}`);
50
- }
51
- console.log(chalk_1.default.gray(`Creating a new twin descriptor in ${projectDirectory}`));
52
- // Clone the template repository
53
- await (0, templates_1.cloneRepo)({
54
- destinationPath: projectDirectory,
55
- repo: 'https://github.com/phystack/template-twin-descriptor.git',
56
- projectName, // Kebab case name
57
- displayName, // Friendly display name
58
- });
59
- // Return the project details
60
- return {
61
- projectDirectory,
62
- projectName,
63
- };
64
- };
65
- exports.initializeDescriptorProject = initializeDescriptorProject;
66
- /**
67
- * Command handler for creating a new descriptor
68
- * @param projectName Optional project name provided via command line
69
- * @param options Command options
70
- */
71
- const create = async (projectName, options = {}) => {
72
- let safeProjectName = projectName ? (0, utils_1.kebabCase)(projectName) : '';
73
- let displayName = projectName || '';
74
- try {
75
- // If no project name provided, prompt for it
76
- while (!safeProjectName || safeProjectName.trim() === '') {
77
- const { name } = await inquirer_1.default.prompt([
78
- {
79
- name: 'name',
80
- type: 'input',
81
- message: 'Enter name for your descriptor:',
82
- validate: (input) => {
83
- if (!input.trim()) {
84
- return 'Descriptor name cannot be empty';
85
- }
86
- return true;
87
- },
88
- },
89
- ]);
90
- safeProjectName = (0, utils_1.kebabCase)(name);
91
- displayName = name;
92
- }
93
- console.log(chalk_1.default.gray(`Creating descriptor with name: ${chalk_1.default.blue(safeProjectName)}`));
94
- // Check if directory already exists
95
- const projectDirectory = path_1.default.join(process.cwd(), safeProjectName.toLowerCase());
96
- if (fs_extra_1.default.existsSync(projectDirectory)) {
97
- console.error(chalk_1.default.red(`Directory ${chalk_1.default.bold(projectDirectory)} already exists.`));
98
- console.error(chalk_1.default.red(`Please choose a different name or delete the existing directory.`));
99
- return;
100
- }
101
- // Initialize the project
102
- await (0, exports.initializeDescriptorProject)(safeProjectName, displayName, projectDirectory);
103
- // Install dependencies and build
104
- console.log(chalk_1.default.gray('Installing dependencies and building project. This may take a while...'));
105
- await (0, templates_1.installRepo)({
106
- destinationPath: projectDirectory,
107
- projectName: safeProjectName,
108
- displayName,
109
- });
110
- // Success message with next steps
111
- console.log(chalk_1.default.green(`\n✓ Twin descriptor project created successfully at ${projectDirectory}`));
112
- console.log(chalk_1.default.dim('\nNext steps:'));
113
- console.log(chalk_1.default.dim(`1. cd ${safeProjectName}`));
114
- console.log(chalk_1.default.dim(`2. Edit the descriptor schema in schema.json`));
115
- console.log(chalk_1.default.dim(`3. Run 'phy descriptor publish' to publish your descriptor`));
116
- }
117
- catch (err) {
118
- console.error(chalk_1.default.red(`❗️There was an error creating the descriptor:`));
119
- if (err.response) {
120
- // Handle API error responses
121
- console.error(chalk_1.default.red(`Status: ${err.response.status}`));
122
- console.error(chalk_1.default.red(`Message: ${err.response.data?.message || err.message}`));
123
- }
124
- else {
125
- // Handle other types of errors
126
- console.error(chalk_1.default.red(err.message));
127
- }
128
- // Clean up any partially created files/directories if needed
129
- try {
130
- if (safeProjectName &&
131
- fs_extra_1.default.existsSync(path_1.default.join(process.cwd(), safeProjectName.toLowerCase()))) {
132
- console.log(chalk_1.default.yellow(`Cleaning up directory: ${safeProjectName.toLowerCase()}`));
133
- await fs_extra_1.default.remove(path_1.default.join(process.cwd(), safeProjectName.toLowerCase()));
134
- }
135
- }
136
- catch (cleanupErr) {
137
- console.error(chalk_1.default.red(`Failed to clean up: ${cleanupErr.message}`));
138
- }
139
- process.exit(1);
140
- }
141
- };
142
- exports.default = create;
143
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/descriptor/create.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const commander_1 = __importDefault(require("commander"));
7
- const utils_1 = require("../../utils");
8
- const create_1 = __importDefault(require("./create"));
9
- const publish_1 = __importDefault(require("./publish"));
10
- const show_1 = __importDefault(require("./show"));
11
- // Stub function for the "list" command
12
- async function list(searchString, options) {
13
- console.log(`Listing descriptors${searchString ? ` matching '${searchString}'` : ''}`);
14
- // Implementation to be added later
15
- }
16
- const descriptor = commander_1.default.command('descriptor').description('Descriptor management');
17
- descriptor
18
- .command('create [<projectName>]')
19
- .description('Create a new descriptor project')
20
- .action((0, utils_1.handleError)(create_1.default));
21
- descriptor
22
- .command('publish [<descriptorName>]')
23
- .description('Publish a descriptor - creates new descriptor and publishes first version or publishes a new version of an existing descriptor based on provided name')
24
- .option('--packageJsonPath <path>', 'Path to the package.json file to use (defaults to ./package.json)')
25
- .option('--buildDir <path>', 'Path to the build directory containing schema.json and meta-schema.json (defaults to ./build/{version})')
26
- .action((0, utils_1.handleError)(publish_1.default));
27
- descriptor
28
- .command('list [<search-string>]')
29
- .description('List descriptors in currently selected tenant')
30
- .action((0, utils_1.handleError)(list));
31
- descriptor
32
- .command('show <descriptorName>')
33
- .description('Show details of a descriptor')
34
- .action((0, utils_1.handleError)(show_1.default));
35
- exports.default = descriptor;
36
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/descriptor/index.ts"],"names":[],"mappings":";;;;;AAAA,0DAAgC;AAChC,uCAA0C;AAC1C,sDAA8B;AAC9B,wDAAgC;AAChC,kDAA0B;AAE1B,uCAAuC;AACvC,KAAK,UAAU,IAAI,CAAC,YAAoB,EAAE,OAAY;IACpD,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,CAAC,CAAC,CAAC,cAAc,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvF,mCAAmC;AACrC,CAAC;AAED,MAAM,UAAU,GAAG,mBAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAEtF,UAAU;KACP,OAAO,CAAC,wBAAwB,CAAC;KACjC,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,IAAA,mBAAW,EAAC,gBAAM,CAAC,CAAC,CAAC;AAE/B,UAAU;KACP,OAAO,CAAC,4BAA4B,CAAC;KACrC,WAAW,CACV,uJAAuJ,CACxJ;KACA,MAAM,CACL,0BAA0B,EAC1B,mEAAmE,CACpE;KACA,MAAM,CACL,mBAAmB,EACnB,yGAAyG,CAC1G;KACA,MAAM,CAAC,IAAA,mBAAW,EAAC,iBAAO,CAAC,CAAC,CAAC;AAEhC,UAAU;KACP,OAAO,CAAC,wBAAwB,CAAC;KACjC,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC,CAAC;AAE7B,UAAU;KACP,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,IAAA,mBAAW,EAAC,cAAI,CAAC,CAAC,CAAC;AAE7B,kBAAe,UAAU,CAAC"}