@vertesia/cli 0.51.0 → 0.54.0

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 (157) hide show
  1. package/package.json +13 -5
  2. package/lib/agent/commands.d.ts +0 -11
  3. package/lib/agent/commands.d.ts.map +0 -1
  4. package/lib/agent/commands.js +0 -173
  5. package/lib/agent/commands.js.map +0 -1
  6. package/lib/agent/connect.d.ts +0 -7
  7. package/lib/agent/connect.d.ts.map +0 -1
  8. package/lib/agent/connect.js +0 -66
  9. package/lib/agent/connect.js.map +0 -1
  10. package/lib/agent/docker-credential.d.ts +0 -2
  11. package/lib/agent/docker-credential.d.ts.map +0 -1
  12. package/lib/agent/docker-credential.js +0 -50
  13. package/lib/agent/docker-credential.js.map +0 -1
  14. package/lib/agent/docker.d.ts +0 -10
  15. package/lib/agent/docker.d.ts.map +0 -1
  16. package/lib/agent/docker.js +0 -93
  17. package/lib/agent/docker.js.map +0 -1
  18. package/lib/agent/index.d.ts +0 -3
  19. package/lib/agent/index.d.ts.map +0 -1
  20. package/lib/agent/index.js +0 -89
  21. package/lib/agent/index.js.map +0 -1
  22. package/lib/agent/project.d.ts +0 -58
  23. package/lib/agent/project.d.ts.map +0 -1
  24. package/lib/agent/project.js +0 -148
  25. package/lib/agent/project.js.map +0 -1
  26. package/lib/agent/refresh.d.ts +0 -6
  27. package/lib/agent/refresh.d.ts.map +0 -1
  28. package/lib/agent/refresh.js +0 -27
  29. package/lib/agent/refresh.js.map +0 -1
  30. package/lib/agent/registry.d.ts +0 -7
  31. package/lib/agent/registry.d.ts.map +0 -1
  32. package/lib/agent/registry.js +0 -47
  33. package/lib/agent/registry.js.map +0 -1
  34. package/lib/agent/version.d.ts +0 -2
  35. package/lib/agent/version.d.ts.map +0 -1
  36. package/lib/agent/version.js +0 -4
  37. package/lib/agent/version.js.map +0 -1
  38. package/lib/client.d.ts +0 -4
  39. package/lib/client.d.ts.map +0 -1
  40. package/lib/client.js +0 -22
  41. package/lib/client.js.map +0 -1
  42. package/lib/codegen/CodeBuilder.d.ts +0 -16
  43. package/lib/codegen/CodeBuilder.d.ts.map +0 -1
  44. package/lib/codegen/CodeBuilder.js +0 -115
  45. package/lib/codegen/CodeBuilder.js.map +0 -1
  46. package/lib/codegen/InteractionVersion.d.ts +0 -29
  47. package/lib/codegen/InteractionVersion.d.ts.map +0 -1
  48. package/lib/codegen/InteractionVersion.js +0 -94
  49. package/lib/codegen/InteractionVersion.js.map +0 -1
  50. package/lib/codegen/index.d.ts +0 -3
  51. package/lib/codegen/index.d.ts.map +0 -1
  52. package/lib/codegen/index.js +0 -24
  53. package/lib/codegen/index.js.map +0 -1
  54. package/lib/codegen/template.d.ts +0 -3
  55. package/lib/codegen/template.d.ts.map +0 -1
  56. package/lib/codegen/template.js +0 -28
  57. package/lib/codegen/template.js.map +0 -1
  58. package/lib/codegen/utils.d.ts +0 -2
  59. package/lib/codegen/utils.d.ts.map +0 -1
  60. package/lib/codegen/utils.js +0 -4
  61. package/lib/codegen/utils.js.map +0 -1
  62. package/lib/datagen/index.d.ts +0 -3
  63. package/lib/datagen/index.d.ts.map +0 -1
  64. package/lib/datagen/index.js +0 -52
  65. package/lib/datagen/index.js.map +0 -1
  66. package/lib/envs/index.d.ts +0 -3
  67. package/lib/envs/index.d.ts.map +0 -1
  68. package/lib/envs/index.js +0 -24
  69. package/lib/envs/index.js.map +0 -1
  70. package/lib/index.d.ts +0 -2
  71. package/lib/index.d.ts.map +0 -1
  72. package/lib/index.js +0 -177
  73. package/lib/index.js.map +0 -1
  74. package/lib/interactions/index.d.ts +0 -3
  75. package/lib/interactions/index.d.ts.map +0 -1
  76. package/lib/interactions/index.js +0 -37
  77. package/lib/interactions/index.js.map +0 -1
  78. package/lib/memory/index.d.ts +0 -3
  79. package/lib/memory/index.d.ts.map +0 -1
  80. package/lib/memory/index.js +0 -16
  81. package/lib/memory/index.js.map +0 -1
  82. package/lib/objects/commands.d.ts +0 -14
  83. package/lib/objects/commands.d.ts.map +0 -1
  84. package/lib/objects/commands.js +0 -240
  85. package/lib/objects/commands.js.map +0 -1
  86. package/lib/objects/index.d.ts +0 -3
  87. package/lib/objects/index.d.ts.map +0 -1
  88. package/lib/objects/index.js +0 -37
  89. package/lib/objects/index.js.map +0 -1
  90. package/lib/package.d.ts +0 -8
  91. package/lib/package.d.ts.map +0 -1
  92. package/lib/package.js +0 -63
  93. package/lib/package.js.map +0 -1
  94. package/lib/profiles/commands.d.ts +0 -20
  95. package/lib/profiles/commands.d.ts.map +0 -1
  96. package/lib/profiles/commands.js +0 -191
  97. package/lib/profiles/commands.js.map +0 -1
  98. package/lib/profiles/index.d.ts +0 -65
  99. package/lib/profiles/index.d.ts.map +0 -1
  100. package/lib/profiles/index.js +0 -318
  101. package/lib/profiles/index.js.map +0 -1
  102. package/lib/profiles/server/cors.d.ts +0 -3
  103. package/lib/profiles/server/cors.d.ts.map +0 -1
  104. package/lib/profiles/server/cors.js +0 -18
  105. package/lib/profiles/server/cors.js.map +0 -1
  106. package/lib/profiles/server/index.d.ts +0 -12
  107. package/lib/profiles/server/index.d.ts.map +0 -1
  108. package/lib/profiles/server/index.js +0 -73
  109. package/lib/profiles/server/index.js.map +0 -1
  110. package/lib/profiles/server/server.d.ts +0 -4
  111. package/lib/profiles/server/server.d.ts.map +0 -1
  112. package/lib/profiles/server/server.js +0 -32
  113. package/lib/profiles/server/server.js.map +0 -1
  114. package/lib/projects/index.d.ts +0 -3
  115. package/lib/projects/index.d.ts.map +0 -1
  116. package/lib/projects/index.js +0 -13
  117. package/lib/projects/index.js.map +0 -1
  118. package/lib/run/executor.d.ts +0 -20
  119. package/lib/run/executor.d.ts.map +0 -1
  120. package/lib/run/executor.js +0 -118
  121. package/lib/run/executor.js.map +0 -1
  122. package/lib/run/index.d.ts +0 -3
  123. package/lib/run/index.d.ts.map +0 -1
  124. package/lib/run/index.js +0 -139
  125. package/lib/run/index.js.map +0 -1
  126. package/lib/runs/index.d.ts +0 -3
  127. package/lib/runs/index.d.ts.map +0 -1
  128. package/lib/runs/index.js +0 -48
  129. package/lib/runs/index.js.map +0 -1
  130. package/lib/utils/console.d.ts +0 -38
  131. package/lib/utils/console.d.ts.map +0 -1
  132. package/lib/utils/console.js +0 -191
  133. package/lib/utils/console.js.map +0 -1
  134. package/lib/utils/stdio.d.ts +0 -7
  135. package/lib/utils/stdio.d.ts.map +0 -1
  136. package/lib/utils/stdio.js +0 -35
  137. package/lib/utils/stdio.js.map +0 -1
  138. package/lib/workflows/commands.d.ts +0 -14
  139. package/lib/workflows/commands.d.ts.map +0 -1
  140. package/lib/workflows/commands.js +0 -196
  141. package/lib/workflows/commands.js.map +0 -1
  142. package/lib/workflows/index.d.ts +0 -3
  143. package/lib/workflows/index.d.ts.map +0 -1
  144. package/lib/workflows/index.js +0 -89
  145. package/lib/workflows/index.js.map +0 -1
  146. package/lib/workflows/json-loader.d.ts +0 -3
  147. package/lib/workflows/json-loader.d.ts.map +0 -1
  148. package/lib/workflows/json-loader.js +0 -16
  149. package/lib/workflows/json-loader.js.map +0 -1
  150. package/lib/workflows/ts-loader.d.ts +0 -3
  151. package/lib/workflows/ts-loader.d.ts.map +0 -1
  152. package/lib/workflows/ts-loader.js +0 -94
  153. package/lib/workflows/ts-loader.js.map +0 -1
  154. package/lib/workflows/validation.d.ts +0 -6
  155. package/lib/workflows/validation.d.ts.map +0 -1
  156. package/lib/workflows/validation.js +0 -22
  157. package/lib/workflows/validation.js.map +0 -1
@@ -1,240 +0,0 @@
1
- import { StreamSource } from "@vertesia/client";
2
- import enquirer from "enquirer";
3
- import { createReadStream } from "fs";
4
- import { readdir, stat } from "fs/promises";
5
- import { glob } from 'glob';
6
- import mime from "mime";
7
- import { createReadableStreamFromReadable } from "node-web-stream-adapters";
8
- import { basename, join, resolve } from "path";
9
- import { getClient } from "../client.js";
10
- const { prompt } = enquirer;
11
- const AUTOMATIC_TYPE_SELECTION = "AutomaticTypeSelection";
12
- const TYPE_SELECTION_ERROR = "TypeSelectionError";
13
- function splitInChunksWithSize(arr, size) {
14
- if (size < 1) {
15
- return [];
16
- }
17
- const chunks = [];
18
- const len = arr.length;
19
- let i = 0;
20
- while (i < len) {
21
- chunks.push(arr.slice(i, i + size));
22
- i += size;
23
- }
24
- return chunks;
25
- }
26
- function splitInChunks(arr, chunksCount) {
27
- if (arr.length < 1) {
28
- return [];
29
- }
30
- if (chunksCount <= arr.length) {
31
- const size = Math.ceil(arr.length / chunksCount);
32
- return splitInChunksWithSize(arr, size);
33
- }
34
- else {
35
- return [arr];
36
- }
37
- }
38
- async function listFilesInDirectory(dir, recursive = false) {
39
- return await readdir(dir, {
40
- withFileTypes: true,
41
- recursive,
42
- }).then((ents) => ents.filter(ent => {
43
- // eclude hidden files and include only file with extensions
44
- return ent.isFile() && ent.name.lastIndexOf('.') > 0;
45
- }).map(ent => join(ent.path || '', ent.name)));
46
- }
47
- export async function createObject(program, files, options) {
48
- if (files.length === 0) {
49
- return "No files specified";
50
- }
51
- else if (files.length > 1) {
52
- const types = await listTypes(program);
53
- const questions = [];
54
- if (!options.type) {
55
- questions.push({
56
- type: 'select',
57
- name: 'type',
58
- message: "Select a Type",
59
- choices: types,
60
- limit: 10,
61
- result() {
62
- return this.focused.value;
63
- }
64
- });
65
- const response = await prompt(questions);
66
- options.type = response.type;
67
- }
68
- else {
69
- const searchedType = findTypeValue(types, options.type);
70
- if (searchedType === TYPE_SELECTION_ERROR) {
71
- console.error(`${options.type} is not an existing type`);
72
- process.exit(2);
73
- }
74
- options.type = searchedType;
75
- }
76
- if (options.type === AUTOMATIC_TYPE_SELECTION) {
77
- delete options.type;
78
- }
79
- return createObjectFromFiles(program, files, options);
80
- }
81
- else {
82
- let file = files[0];
83
- if (file.indexOf('*') > -1) {
84
- const files = await glob(file);
85
- return createObjectFromFiles(program, files, options);
86
- }
87
- else if (file.includes("://")) {
88
- return createObjectFromExternalSource(getClient(program), file, options);
89
- }
90
- else {
91
- file = resolve(file);
92
- let stats;
93
- try {
94
- stats = await stat(file);
95
- }
96
- catch (err) {
97
- if (err.code === 'ENOENT') {
98
- console.error('No such file or directory: ', file);
99
- process.exit(2);
100
- }
101
- console.error(err);
102
- process.exit(2);
103
- }
104
- const types = await listTypes(program);
105
- const questions = [];
106
- if (stats.isFile()) {
107
- if (!options.type) {
108
- questions.push({
109
- type: 'select',
110
- name: 'type',
111
- message: "Select a Type",
112
- choices: types,
113
- limit: 10,
114
- result() {
115
- return this.focused.value;
116
- }
117
- });
118
- const response = await prompt(questions);
119
- options.type = response.type;
120
- }
121
- else {
122
- const searchedType = findTypeValue(types, options.type);
123
- if (searchedType === TYPE_SELECTION_ERROR) {
124
- console.error(`${options.type} is not an existing type`);
125
- process.exit(2);
126
- }
127
- options.type = searchedType;
128
- }
129
- if (options.type === AUTOMATIC_TYPE_SELECTION) {
130
- delete options.type;
131
- }
132
- return createObjectFromFile(program, file, options);
133
- }
134
- else if (stats.isDirectory()) {
135
- questions.push({
136
- type: 'select',
137
- name: 'type',
138
- message: "Select a Type (the type will be used for all the files in the directory)",
139
- choices: types,
140
- limit: 10,
141
- result() {
142
- return this.focused.value;
143
- }
144
- });
145
- const response = await prompt(questions);
146
- options.type = response.type;
147
- if (options.type === AUTOMATIC_TYPE_SELECTION) {
148
- delete options.type;
149
- }
150
- const files = await listFilesInDirectory(file, options.recursive || false);
151
- return createObjectFromFiles(program, files, options);
152
- }
153
- }
154
- }
155
- }
156
- export async function createObjectFromFiles(program, files, options) {
157
- if (!options)
158
- options = {};
159
- // split in 10 chunks
160
- const chunks = splitInChunks(files, 10);
161
- Promise.all(chunks.map(async (chunk) => {
162
- for (const file of chunk) {
163
- await createObjectFromFile(program, file, options);
164
- }
165
- }));
166
- }
167
- export async function createObjectFromFile(program, file, options) {
168
- const client = getClient(program);
169
- let res;
170
- if (file.startsWith("s3://") || file.startsWith("gs://")) {
171
- res = await createObjectFromExternalSource(client, file, options);
172
- }
173
- else {
174
- res = await createObjectFromLocalFile(client, file, options);
175
- }
176
- console.log('Created object', res.id);
177
- return res;
178
- }
179
- export async function createObjectFromLocalFile(client, file, options) {
180
- const fileName = basename(file);
181
- const stream = createReadStream(file);
182
- const content = new StreamSource(createReadableStreamFromReadable(stream), fileName);
183
- const mime_type = mime.getType(file);
184
- if (mime_type) {
185
- content.type = mime_type;
186
- }
187
- const res = await client.objects.create({
188
- name: options.name || fileName,
189
- type: options.type,
190
- location: options.path,
191
- content: content,
192
- });
193
- return res;
194
- }
195
- async function createObjectFromExternalSource(client, uri, options) {
196
- return client.objects.createFromExternalSource(uri, {
197
- name: options.name,
198
- type: options.type,
199
- location: options.path,
200
- });
201
- }
202
- export async function updateObject(program, objectId, type, _options) {
203
- const types = await listTypes(program);
204
- var searchedType = findTypeValue(types, type);
205
- if (searchedType === TYPE_SELECTION_ERROR) {
206
- console.error(`${type} is not an existing type`);
207
- process.exit(2);
208
- }
209
- if (searchedType === AUTOMATIC_TYPE_SELECTION) {
210
- searchedType = undefined;
211
- }
212
- const payload = { type: searchedType };
213
- console.log(await getClient(program).objects.update(objectId, payload));
214
- }
215
- export async function deleteObject(program, objectId, _options) {
216
- await getClient(program).objects.delete(objectId);
217
- }
218
- export async function getObject(program, objectId, _options) {
219
- const object = await getClient(program).objects.retrieve(objectId);
220
- console.log(object);
221
- }
222
- //@ts-ignore
223
- export async function listObjects(program, folderPath, _options) {
224
- const objects = await getClient(program).objects.list();
225
- console.log(objects.map(o => `${o.id}\t ${o.name}`).join('\n'));
226
- }
227
- export async function listTypes(program) {
228
- var types = [];
229
- types.push({ name: AUTOMATIC_TYPE_SELECTION, value: AUTOMATIC_TYPE_SELECTION });
230
- const platformTypes = await getClient(program).types.list();
231
- for (const type of platformTypes) {
232
- types.push({ name: type.name, value: type.id });
233
- }
234
- return types;
235
- }
236
- export function findTypeValue(types, name) {
237
- const type = types.find(type => type.name === name || type.id === name);
238
- return type ? type.value : TYPE_SELECTION_ERROR;
239
- }
240
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/objects/commands.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function registerObjectsCommand(program: Command): void;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAoCtD"}
@@ -1,37 +0,0 @@
1
- import { createObject, deleteObject, getObject, listObjects, updateObject } from "./commands.js";
2
- export function registerObjectsCommand(program) {
3
- const store = program.command("content");
4
- store.command("post <file...>")
5
- .description("Post a new object to the store. The file can be a s3 or gs uri to attach external blobs to the created object.")
6
- .option('--name [name]', 'The name of the object to create. If not specified the file name will be used.')
7
- .option('--type [type]', 'The type of the object to create. If not specified, one can be selected from the list of existing types.')
8
- .option('--mime [mime]', 'The mime-type of the file content. If not specified the mime type will be inferred from the file name extension.')
9
- .option('--path [parentPath]', 'The path of the parent folder where the object is created. If not specified the object will be created in the root of the store.')
10
- .option('-r, --recursive', 'Recurse directory if the file argument is a directory. The default is to not recurse.')
11
- .action(async (files, options) => {
12
- await createObject(program, files, options);
13
- });
14
- store.command("update <objectId> <type>")
15
- .description("Update an existing object type given its ID")
16
- .action(async (objectId, type, options) => {
17
- await updateObject(program, objectId, type, options);
18
- });
19
- store.command('delete <objectId>')
20
- .description("Delete an existing object given its ID")
21
- .action((objectId, options) => {
22
- deleteObject(program, objectId, options);
23
- });
24
- store.command('get <objectId>')
25
- .description("Get an existing object given its ID")
26
- .action((objectId, options) => {
27
- getObject(program, objectId, options);
28
- });
29
- store.command('list [folderPath]')
30
- .description("List the objects inside a folder. If no folder is specified all the obejcts are listed.")
31
- .option('-l,--limit [limit]', 'Limit the number of objects returned. The default limit is 100. Usefull for pagination.')
32
- .option('-s,--skip [skip]', 'Skip the number of objects to skip. Default is 0. Usefull for pagination.')
33
- .action((folderPath, options) => {
34
- listObjects(program, folderPath, options);
35
- });
36
- }
37
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/objects/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjG,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IAEnD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC1B,WAAW,CAAC,gHAAgH,CAAC;SAC7H,MAAM,CAAC,eAAe,EAAE,gFAAgF,CAAC;SACzG,MAAM,CAAC,eAAe,EAAE,0GAA0G,CAAC;SACnI,MAAM,CAAC,eAAe,EAAE,kHAAkH,CAAC;SAC3I,MAAM,CAAC,qBAAqB,EAAE,kIAAkI,CAAC;SACjK,MAAM,CAAC,iBAAiB,EAAE,uFAAuF,CAAC;SAClH,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,OAA4B,EAAE,EAAE;QAC5D,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACP,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC;SACpC,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,IAAY,EAAE,OAA4B,EAAE,EAAE;QAC3E,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACP,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;SAC7B,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,CAAC,QAAgB,EAAE,OAA4B,EAAE,EAAE;QACvD,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACP,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC1B,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,CAAC,QAAgB,EAAE,OAA4B,EAAE,EAAE;QACvD,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACP,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;SAC7B,WAAW,CAAC,yFAAyF,CAAC;SACtG,MAAM,CAAC,oBAAoB,EAAE,yFAAyF,CAAC;SACvH,MAAM,CAAC,kBAAkB,EAAE,2EAA2E,CAAC;SACvG,MAAM,CAAC,CAAC,UAA8B,EAAE,OAA4B,EAAE,EAAE;QACrE,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACX,CAAC"}
package/lib/package.d.ts DELETED
@@ -1,8 +0,0 @@
1
- declare const packageDir: string;
2
- declare function getPackage(): any;
3
- declare function getVersion(): any;
4
- declare function getLatestVersion(): Promise<any>;
5
- export declare function upgrade(yes: boolean): Promise<void>;
6
- declare function warnIfNotLatest(): Promise<void>;
7
- export { getLatestVersion, getPackage, getVersion, packageDir, warnIfNotLatest };
8
- //# sourceMappingURL=package.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,UAAU,QAAmD,CAAC;AAGpE,iBAAS,UAAU,QAKlB;AACD,iBAAS,UAAU,QAElB;AAED,iBAAe,gBAAgB,iBAO9B;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,iBA2BzC;AAED,iBAAe,eAAe,kBAM7B;AAED,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC"}
package/lib/package.js DELETED
@@ -1,63 +0,0 @@
1
- import { spawn } from 'child_process';
2
- import enquirer from "enquirer";
3
- import { readFileSync } from 'fs';
4
- import { dirname } from 'path';
5
- import { fileURLToPath } from 'url';
6
- const { prompt } = enquirer;
7
- const packageDir = dirname(dirname(fileURLToPath(import.meta.url)));
8
- let _package;
9
- function getPackage() {
10
- if (_package === undefined) {
11
- _package = JSON.parse(readFileSync(`${packageDir}/package.json`, 'utf8'));
12
- }
13
- return _package;
14
- }
15
- function getVersion() {
16
- return getPackage().version;
17
- }
18
- async function getLatestVersion() {
19
- const { name } = getPackage();
20
- const { version } = await fetch(`https://registry.npmjs.org/${name}/latest`, { signal: AbortSignal.timeout(900) })
21
- .then(res => res.json())
22
- .catch(() => undefined);
23
- return version;
24
- }
25
- export async function upgrade(yes) {
26
- const { version } = getPackage();
27
- const latestVersion = await getLatestVersion();
28
- if (latestVersion && version !== latestVersion) {
29
- let doUpgrade = false;
30
- if (!yes) {
31
- console.log('There is a new version available (v' + latestVersion + ').');
32
- const answer = await prompt({
33
- name: 'upgrade',
34
- type: 'confirm',
35
- message: "Would you like to upgrade?",
36
- initial: true,
37
- });
38
- if (answer.upgrade) {
39
- doUpgrade = true;
40
- }
41
- }
42
- else {
43
- doUpgrade = true;
44
- }
45
- if (doUpgrade) {
46
- spawn("npm", ["update", "-g", getPackage().name], {
47
- stdio: 'inherit',
48
- });
49
- }
50
- }
51
- else {
52
- console.log('No updates are available.');
53
- }
54
- }
55
- async function warnIfNotLatest() {
56
- const { version } = getPackage();
57
- const latestVersion = await getLatestVersion();
58
- if (latestVersion && version !== latestVersion) {
59
- console.warn(`WARNING: You are using version ${version} of this package, but the latest version is ${latestVersion}.\nYou should update with \`npm i -g ${getPackage().name}\`\n`);
60
- }
61
- }
62
- export { getLatestVersion, getPackage, getVersion, packageDir, warnIfNotLatest };
63
- //# sourceMappingURL=package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { ConfigResult } from './server/index.js';
2
- export type OnResultCallback = (result: ConfigResult) => void | Promise<void>;
3
- export declare function listProfiles(): Promise<string | undefined>;
4
- export declare function useProfile(name?: string): Promise<void>;
5
- export declare function showProfile(name?: string): void;
6
- export declare function showActiveAuthToken(): void;
7
- export declare function deleteProfile(name: string): void;
8
- interface CreateProfileOptions {
9
- target?: string;
10
- apikey?: string;
11
- project?: string;
12
- account?: string;
13
- onResult?: OnResultCallback;
14
- }
15
- export declare function createProfile(name?: string, options?: CreateProfileOptions): Promise<string>;
16
- export declare function updateProfile(name?: string, onResult?: OnResultCallback): Promise<void>;
17
- export declare function updateCurrentProfile(onResult?: OnResultCallback): void;
18
- export declare function tryRrefreshToken(): Promise<void>;
19
- export {};
20
- //# sourceMappingURL=commands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/profiles/commands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAG9E,wBAAsB,YAAY,gCAiBjC;AAED,wBAAsB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,iBAK7C;AAED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,QAmBxC;AAED,wBAAgB,mBAAmB,SAelC;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,QAEzC;AAED,UAAU,oBAAoB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;CAC9B;AACD,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,mBAoEpF;AAED,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,iBAU7E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,QAM/D;AAaD,wBAAsB,gBAAgB,kBAWrC"}
@@ -1,191 +0,0 @@
1
- import colors from 'ansi-colors';
2
- import enquirer from "enquirer";
3
- import jwt from 'jsonwebtoken';
4
- import { config, getConfigUrl, getServerUrls, shouldRefreshProfileToken } from "./index.js";
5
- const { prompt } = enquirer;
6
- export async function listProfiles() {
7
- const selected = config.current?.name;
8
- for (const profile of config.profiles) {
9
- console.log(profile.name + (selected === profile.name ? " " + colors.symbols.check : ""));
10
- }
11
- if (!config.profiles.length) {
12
- console.log("No profiles are defined. Run `cpcli config create` to add a new profile.");
13
- console.log();
14
- const r = await prompt({
15
- type: "confirm",
16
- name: 'create',
17
- message: "Do you want to create a profile now?",
18
- });
19
- if (r.create) {
20
- return createProfile();
21
- }
22
- }
23
- }
24
- export async function useProfile(name) {
25
- if (!name) {
26
- name = await selectProfile("Select the profile to use");
27
- }
28
- config.use(name).save();
29
- }
30
- export function showProfile(name) {
31
- if (!name) {
32
- if (config.profiles.length === 0) {
33
- console.log('No profiles are defined. Run `composable profiles create` to add a new profile.');
34
- return;
35
- }
36
- else {
37
- console.log(JSON.stringify({
38
- default: config.current?.name,
39
- profiles: config.profiles,
40
- }, undefined, 4));
41
- }
42
- }
43
- else {
44
- const profile = config.getProfile(name);
45
- if (profile) {
46
- console.log(JSON.stringify(profile, undefined, 4));
47
- }
48
- else {
49
- console.error(`Profile ${name} not found`);
50
- }
51
- }
52
- }
53
- export function showActiveAuthToken() {
54
- if (config.profiles.length === 0) {
55
- console.log('No profiles are defined. Run `composable profiles create` to add a new profile.');
56
- return;
57
- }
58
- else if (config.current) {
59
- const token = jwt.decode(config.current.apikey, { json: true });
60
- if (token?.exp && token.exp * 1000 < Date.now()) {
61
- console.log("Authentication token expired. Create a new one ");
62
- _doRefreshToken(config.current.name);
63
- }
64
- else {
65
- console.log(config.current.apikey);
66
- }
67
- }
68
- else {
69
- console.log('No profile is selected. Run `composable auth refresh` to refrehs the token');
70
- }
71
- }
72
- export function deleteProfile(name) {
73
- config.remove(name).save();
74
- }
75
- export async function createProfile(name, options = {}) {
76
- const format = (value) => value.trim();
77
- const questions = [];
78
- if (!name) {
79
- questions.push({
80
- type: 'input',
81
- name: 'name',
82
- message: "Profile name",
83
- format,
84
- validate: (value) => {
85
- const v = value.trim();
86
- if (!v) {
87
- return "Profile name cannot be empty";
88
- }
89
- if (config.hasProfile(v)) {
90
- return `A profile named "${v}" already exists`;
91
- }
92
- return true;
93
- }
94
- });
95
- }
96
- if (!options.target) {
97
- // only show local and staging in dev mode
98
- const choices = config.isDevMode ? ['local', 'staging', 'preview', 'prod', 'custom'] : ['preview', 'prod'];
99
- questions.push({
100
- type: 'select',
101
- name: 'target',
102
- message: "Target environment",
103
- choices,
104
- initial: choices[0],
105
- });
106
- }
107
- let target = options.target === "production" ? "prod" : options.target;
108
- if (questions.length > 0) {
109
- const response = await prompt(questions);
110
- if (!name) {
111
- name = response.name;
112
- }
113
- if (!target) {
114
- target = response.target;
115
- }
116
- }
117
- if (!target || !name) {
118
- console.error("Invalid profile name or target");
119
- process.exit(1);
120
- }
121
- if (options.apikey) {
122
- if (!options.account || !options.project) {
123
- console.error("When using --apikey you must provide the project and account IDs");
124
- process.exit(1);
125
- }
126
- config.add({
127
- account: options.account,
128
- project: options.project,
129
- name,
130
- config_url: getConfigUrl(target),
131
- apikey: options.apikey,
132
- ...getServerUrls(target),
133
- });
134
- config.use(name).save();
135
- }
136
- else {
137
- config.createProfile(name, target).start(options.onResult);
138
- }
139
- return name;
140
- }
141
- export async function updateProfile(name, onResult) {
142
- if (!name) {
143
- name = await selectProfile("Select the profile to update");
144
- }
145
- const profile = config.getProfile(name);
146
- if (!profile) {
147
- console.error(`Profile ${name} not found`);
148
- process.exit(1);
149
- }
150
- config.updateProfile(name).start(onResult);
151
- }
152
- export function updateCurrentProfile(onResult) {
153
- if (!config.current) {
154
- console.log("No profile is selected. Run `cpcli config use <name>` to select a profile");
155
- process.exit(1);
156
- }
157
- config.updateProfile(config.current.name).start(onResult);
158
- }
159
- async function selectProfile(message = "Select the profile") {
160
- const response = await prompt({
161
- type: 'select',
162
- name: 'name',
163
- message,
164
- choices: config.profiles.map(p => p.name)
165
- });
166
- return response.name;
167
- }
168
- export async function tryRrefreshToken() {
169
- if (!config.current) {
170
- console.log("No profile is selected. Run `vertesia profiles use <name>` to select a profile");
171
- process.exit(1);
172
- }
173
- if (shouldRefreshProfileToken(config.current)) {
174
- console.log();
175
- console.log(colors.bold("Operation Failed:"), colors.red("Authentication token expired!"));
176
- console.log();
177
- _doRefreshToken(config.current.name);
178
- }
179
- }
180
- async function _doRefreshToken(profileName, onResult) {
181
- const r = await prompt({
182
- name: 'refresh',
183
- type: "confirm",
184
- message: "Do you want to refresh the token for the current profile?",
185
- initial: true,
186
- });
187
- if (r.refresh) {
188
- config.updateProfile(profileName).start(onResult);
189
- }
190
- }
191
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/profiles/commands.ts"],"names":[],"mappings":"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"}