@vertesia/cli 0.42.2

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 (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +32 -0
  3. package/bin/app.js +3 -0
  4. package/lib/client.d.ts +4 -0
  5. package/lib/client.d.ts.map +1 -0
  6. package/lib/client.js +21 -0
  7. package/lib/client.js.map +1 -0
  8. package/lib/codegen/CodeBuilder.d.ts +16 -0
  9. package/lib/codegen/CodeBuilder.d.ts.map +1 -0
  10. package/lib/codegen/CodeBuilder.js +115 -0
  11. package/lib/codegen/CodeBuilder.js.map +1 -0
  12. package/lib/codegen/InteractionVersion.d.ts +29 -0
  13. package/lib/codegen/InteractionVersion.d.ts.map +1 -0
  14. package/lib/codegen/InteractionVersion.js +94 -0
  15. package/lib/codegen/InteractionVersion.js.map +1 -0
  16. package/lib/codegen/index.d.ts +3 -0
  17. package/lib/codegen/index.d.ts.map +1 -0
  18. package/lib/codegen/index.js +24 -0
  19. package/lib/codegen/index.js.map +1 -0
  20. package/lib/codegen/template.d.ts +3 -0
  21. package/lib/codegen/template.d.ts.map +1 -0
  22. package/lib/codegen/template.js +28 -0
  23. package/lib/codegen/template.js.map +1 -0
  24. package/lib/codegen/utils.d.ts +2 -0
  25. package/lib/codegen/utils.d.ts.map +1 -0
  26. package/lib/codegen/utils.js +4 -0
  27. package/lib/codegen/utils.js.map +1 -0
  28. package/lib/datagen/index.d.ts +3 -0
  29. package/lib/datagen/index.d.ts.map +1 -0
  30. package/lib/datagen/index.js +47 -0
  31. package/lib/datagen/index.js.map +1 -0
  32. package/lib/envs/index.d.ts +3 -0
  33. package/lib/envs/index.d.ts.map +1 -0
  34. package/lib/envs/index.js +24 -0
  35. package/lib/envs/index.js.map +1 -0
  36. package/lib/index.d.ts +2 -0
  37. package/lib/index.d.ts.map +1 -0
  38. package/lib/index.js +169 -0
  39. package/lib/index.js.map +1 -0
  40. package/lib/interactions/index.d.ts +3 -0
  41. package/lib/interactions/index.d.ts.map +1 -0
  42. package/lib/interactions/index.js +37 -0
  43. package/lib/interactions/index.js.map +1 -0
  44. package/lib/memory/index.d.ts +3 -0
  45. package/lib/memory/index.d.ts.map +1 -0
  46. package/lib/memory/index.js +16 -0
  47. package/lib/memory/index.js.map +1 -0
  48. package/lib/objects/commands.d.ts +14 -0
  49. package/lib/objects/commands.d.ts.map +1 -0
  50. package/lib/objects/commands.js +240 -0
  51. package/lib/objects/commands.js.map +1 -0
  52. package/lib/objects/index.d.ts +3 -0
  53. package/lib/objects/index.d.ts.map +1 -0
  54. package/lib/objects/index.js +37 -0
  55. package/lib/objects/index.js.map +1 -0
  56. package/lib/package.d.ts +8 -0
  57. package/lib/package.d.ts.map +1 -0
  58. package/lib/package.js +54 -0
  59. package/lib/package.js.map +1 -0
  60. package/lib/profiles/commands.d.ts +10 -0
  61. package/lib/profiles/commands.d.ts.map +1 -0
  62. package/lib/profiles/commands.js +167 -0
  63. package/lib/profiles/commands.js.map +1 -0
  64. package/lib/profiles/index.d.ts +57 -0
  65. package/lib/profiles/index.d.ts.map +1 -0
  66. package/lib/profiles/index.js +255 -0
  67. package/lib/profiles/index.js.map +1 -0
  68. package/lib/profiles/server/cors.d.ts +3 -0
  69. package/lib/profiles/server/cors.d.ts.map +1 -0
  70. package/lib/profiles/server/cors.js +18 -0
  71. package/lib/profiles/server/cors.js.map +1 -0
  72. package/lib/profiles/server/index.d.ts +12 -0
  73. package/lib/profiles/server/index.d.ts.map +1 -0
  74. package/lib/profiles/server/index.js +73 -0
  75. package/lib/profiles/server/index.js.map +1 -0
  76. package/lib/profiles/server/server.d.ts +4 -0
  77. package/lib/profiles/server/server.d.ts.map +1 -0
  78. package/lib/profiles/server/server.js +32 -0
  79. package/lib/profiles/server/server.js.map +1 -0
  80. package/lib/projects/index.d.ts +3 -0
  81. package/lib/projects/index.d.ts.map +1 -0
  82. package/lib/projects/index.js +13 -0
  83. package/lib/projects/index.js.map +1 -0
  84. package/lib/run/executor.d.ts +20 -0
  85. package/lib/run/executor.d.ts.map +1 -0
  86. package/lib/run/executor.js +101 -0
  87. package/lib/run/executor.js.map +1 -0
  88. package/lib/run/index.d.ts +3 -0
  89. package/lib/run/index.d.ts.map +1 -0
  90. package/lib/run/index.js +139 -0
  91. package/lib/run/index.js.map +1 -0
  92. package/lib/runs/index.d.ts +3 -0
  93. package/lib/runs/index.d.ts.map +1 -0
  94. package/lib/runs/index.js +48 -0
  95. package/lib/runs/index.js.map +1 -0
  96. package/lib/utils/console.d.ts +38 -0
  97. package/lib/utils/console.d.ts.map +1 -0
  98. package/lib/utils/console.js +191 -0
  99. package/lib/utils/console.js.map +1 -0
  100. package/lib/utils/stdio.d.ts +7 -0
  101. package/lib/utils/stdio.d.ts.map +1 -0
  102. package/lib/utils/stdio.js +35 -0
  103. package/lib/utils/stdio.js.map +1 -0
  104. package/lib/workflows/commands.d.ts +14 -0
  105. package/lib/workflows/commands.d.ts.map +1 -0
  106. package/lib/workflows/commands.js +193 -0
  107. package/lib/workflows/commands.js.map +1 -0
  108. package/lib/workflows/index.d.ts +3 -0
  109. package/lib/workflows/index.d.ts.map +1 -0
  110. package/lib/workflows/index.js +88 -0
  111. package/lib/workflows/index.js.map +1 -0
  112. package/lib/workflows/json-loader.d.ts +3 -0
  113. package/lib/workflows/json-loader.d.ts.map +1 -0
  114. package/lib/workflows/json-loader.js +16 -0
  115. package/lib/workflows/json-loader.js.map +1 -0
  116. package/lib/workflows/ts-loader.d.ts +3 -0
  117. package/lib/workflows/ts-loader.d.ts.map +1 -0
  118. package/lib/workflows/ts-loader.js +94 -0
  119. package/lib/workflows/ts-loader.js.map +1 -0
  120. package/lib/workflows/validation.d.ts +6 -0
  121. package/lib/workflows/validation.d.ts.map +1 -0
  122. package/lib/workflows/validation.js +22 -0
  123. package/lib/workflows/validation.js.map +1 -0
  124. package/package.json +57 -0
  125. package/templates/index.tpl +4 -0
  126. package/templates/interaction.tpl +16 -0
package/lib/package.js ADDED
@@ -0,0 +1,54 @@
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() {
26
+ const { version } = getPackage();
27
+ const latestVersion = await getLatestVersion();
28
+ if (latestVersion && version !== latestVersion) {
29
+ console.log('There is a new version available (v' + latestVersion + ').');
30
+ const answer = await prompt({
31
+ name: 'upgrade',
32
+ type: 'confirm',
33
+ message: "Would you like to upgrade?",
34
+ initial: true,
35
+ });
36
+ if (answer.upgrade) {
37
+ spawn("npm", ["update", "-g", getPackage().name], {
38
+ stdio: 'inherit',
39
+ });
40
+ }
41
+ }
42
+ else {
43
+ console.log('No updates are available.');
44
+ }
45
+ }
46
+ async function warnIfNotLatest() {
47
+ const { version } = getPackage();
48
+ const latestVersion = await getLatestVersion();
49
+ if (latestVersion && version !== latestVersion) {
50
+ 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`);
51
+ }
52
+ }
53
+ export { getLatestVersion, getPackage, getVersion, packageDir, warnIfNotLatest };
54
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;AAE5B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEpE,IAAI,QAAa,CAAC;AAClB,SAAS,UAAU;IACf,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,UAAU,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AACD,SAAS,UAAU;IACf,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,8BAA8B,IAAI,SAAS,EACvE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;SACpC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACvB,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC/C,IAAI,aAAa,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAQ,MAAM,MAAM,CAAC;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC9C,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC7C,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe;IAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC/C,IAAI,aAAa,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,kCAAkC,OAAO,+CAA+C,aAAa,wCAAwC,UAAU,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC;IACvL,CAAC;AACL,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function listProfiles(): Promise<void>;
2
+ export declare function useProfile(name?: string): Promise<void>;
3
+ export declare function showProfile(name?: string): void;
4
+ export declare function showActiveAuthToken(): void;
5
+ export declare function deleteProfile(name: string): void;
6
+ export declare function createProfile(name?: string, target?: string): Promise<void>;
7
+ export declare function updateProfile(name?: string): Promise<void>;
8
+ export declare function updateCurrentProfile(): void;
9
+ export declare function tryRrefreshToken(): Promise<void>;
10
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/profiles/commands.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY,kBAiBjC;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,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,iBA4CjE;AAED,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,iBAUhD;AAED,wBAAgB,oBAAoB,SAMnC;AAaD,wBAAsB,gBAAgB,kBAUrC"}
@@ -0,0 +1,167 @@
1
+ import colors from 'ansi-colors';
2
+ import enquirer from "enquirer";
3
+ import jwt from 'jsonwebtoken';
4
+ import { config } 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, target) {
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 (!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
+ if (questions.length > 0) {
108
+ const response = await prompt(questions);
109
+ if (!name) {
110
+ name = response.name;
111
+ }
112
+ if (!target) {
113
+ target = response.target;
114
+ }
115
+ }
116
+ config.createProfile(name, target).start();
117
+ }
118
+ export async function updateProfile(name) {
119
+ if (!name) {
120
+ name = await selectProfile("Select the profile to update");
121
+ }
122
+ const profile = config.getProfile(name);
123
+ if (!profile) {
124
+ console.error(`Profile ${name} not found`);
125
+ return;
126
+ }
127
+ config.updateProfile(name).start();
128
+ }
129
+ export function updateCurrentProfile() {
130
+ if (!config.current) {
131
+ console.log("No profile is selected. Run `cpcli config use <name>` to select a profile");
132
+ process.exit(1);
133
+ }
134
+ config.updateProfile(config.current.name).start();
135
+ }
136
+ async function selectProfile(message = "Select the profile") {
137
+ const response = await prompt({
138
+ type: 'select',
139
+ name: 'name',
140
+ message,
141
+ choices: config.profiles.map(p => p.name)
142
+ });
143
+ return response.name;
144
+ }
145
+ export async function tryRrefreshToken() {
146
+ if (config.current?.apikey) {
147
+ const token = jwt.decode(config.current.apikey, { json: true });
148
+ if (token?.exp && token.exp * 1000 < Date.now()) {
149
+ console.log();
150
+ console.log(colors.bold("Operation Failed:"), colors.red("Authentication token expired!"));
151
+ console.log();
152
+ _doRefreshToken(config.current.name);
153
+ }
154
+ }
155
+ }
156
+ async function _doRefreshToken(profileName) {
157
+ const r = await prompt({
158
+ name: 'refresh',
159
+ type: "confirm",
160
+ message: "Do you want to refresh the token for the current profile?",
161
+ initial: true,
162
+ });
163
+ if (r.refresh) {
164
+ config.updateProfile(profileName).start();
165
+ }
166
+ }
167
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/profiles/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { ConfigPayload, ConfigResult } from "./server/index.js";
2
+ export declare function getConfigFile(path?: string): string;
3
+ export type ConfigUrlRef = "local" | "staging" | "preview" | "prod" | string;
4
+ export declare function getConfigUrl(value: ConfigUrlRef): string;
5
+ export interface Profile {
6
+ name: string;
7
+ config_url: string;
8
+ apikey: string;
9
+ account: string;
10
+ project: string;
11
+ studio_server_url: string;
12
+ zeno_server_url: string;
13
+ session_tags?: string;
14
+ }
15
+ interface ProfilesData {
16
+ default: string;
17
+ profiles: Profile[];
18
+ }
19
+ export declare class ConfigureProfile {
20
+ config: Config;
21
+ data: Partial<Profile>;
22
+ isNew: boolean;
23
+ constructor(config: Config, data: Partial<Profile>, isNew: boolean);
24
+ getConfigPayload(): ConfigPayload;
25
+ applyConfigResult(result: ConfigResult): void;
26
+ start(): void;
27
+ }
28
+ export declare class Config {
29
+ current?: Profile;
30
+ profiles: Profile[];
31
+ isDevMode: boolean;
32
+ constructor(data?: ProfilesData);
33
+ hasProfile(name: string): boolean;
34
+ getProfile(name: string): Profile | undefined;
35
+ use(name: string): this;
36
+ add(profile: Profile): this;
37
+ update(profile: Profile): this;
38
+ replace(existingProfile: Profile, newProfile: Profile): this;
39
+ remove(name: string): this;
40
+ createProfile(name: string, target: ConfigUrlRef): ConfigureProfile;
41
+ updateProfile(name: string): ConfigureProfile;
42
+ createOrUpdateProfile(name: string, target?: ConfigUrlRef): ConfigureProfile;
43
+ save(): this;
44
+ load(): this;
45
+ }
46
+ export declare class ProfileAlreadyExistsError extends Error {
47
+ constructor(message: string);
48
+ }
49
+ export declare class ProfileNotFoundError extends Error {
50
+ constructor(message: string);
51
+ }
52
+ export declare class InvalidConfigUrlError extends Error {
53
+ constructor(message: string);
54
+ }
55
+ declare const config: Config;
56
+ export { config };
57
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AAGpF,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,UAO1C;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAC7E,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,UAiB/C;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACvB;AAED,qBAAa,gBAAgB;IACN,MAAM,EAAE,MAAM;IAAS,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IAAS,KAAK,EAAE,OAAO;gBAApE,MAAM,EAAE,MAAM,EAAS,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAS,KAAK,EAAE,OAAO;IAKvF,gBAAgB,IAAI,aAAa;IAQjC,iBAAiB,CAAC,MAAM,EAAE,YAAY;IAoBtC,KAAK;CAGR;AAED,qBAAa,MAAM;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,UAAS;gBAEN,IAAI,CAAC,EAAE,YAAY;IAO/B,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB,GAAG,CAAC,IAAI,EAAE,MAAM;IAQhB,GAAG,CAAC,OAAO,EAAE,OAAO;IAUpB,MAAM,CAAC,OAAO,EAAE,OAAO;IAUvB,OAAO,CAAC,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO;IAQrD,MAAM,CAAC,IAAI,EAAE,MAAM;IAWnB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;IAKhD,aAAa,CAAC,IAAI,EAAE,MAAM;IAQ1B,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB;IAkB5E,IAAI;IAaJ,IAAI;CA0BP;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI9B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI9B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI9B;AAED,QAAA,MAAM,MAAM,QAAsB,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,255 @@
1
+ import { existsSync, mkdirSync, statSync } from "fs";
2
+ import os from "os";
3
+ import { join } from "path";
4
+ import { readJsonFile, writeJsonFile } from "../utils/stdio.js";
5
+ import { startConfigSession } from "./server/index.js";
6
+ export function getConfigFile(path) {
7
+ const dir = join(os.homedir(), '.composable');
8
+ if (!path || path === '/') {
9
+ return dir;
10
+ }
11
+ else {
12
+ return join(dir, path);
13
+ }
14
+ }
15
+ export function getConfigUrl(value) {
16
+ switch (value) {
17
+ case "local":
18
+ return "https://localhost:5173/cli";
19
+ case "staging":
20
+ return "https://staging.cloud.becomposable.com/cli";
21
+ case "preview":
22
+ return "https://preview.cloud.becomposable.com/cli";
23
+ case "prod":
24
+ return "https://cloud.becomposable.com/cli";
25
+ default:
26
+ if (value.startsWith("http://") || value.startsWith("https://")) {
27
+ return value;
28
+ }
29
+ else {
30
+ throw new InvalidConfigUrlError("Custom targets must be a valid http or https URL.");
31
+ }
32
+ }
33
+ }
34
+ export class ConfigureProfile {
35
+ constructor(config, data, isNew) {
36
+ Object.defineProperty(this, "config", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: config
41
+ });
42
+ Object.defineProperty(this, "data", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: data
47
+ });
48
+ Object.defineProperty(this, "isNew", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: isNew
53
+ });
54
+ this.data = data;
55
+ this.isNew = !data.name;
56
+ }
57
+ getConfigPayload() {
58
+ return {
59
+ profile: this.data.name,
60
+ account: this.data.account,
61
+ project: this.data.project,
62
+ };
63
+ }
64
+ applyConfigResult(result) {
65
+ const oldName = this.data.name;
66
+ this.data.name = result.profile;
67
+ this.data.account = result.account;
68
+ this.data.project = result.project;
69
+ this.data.studio_server_url = result.studio_server_url;
70
+ this.data.zeno_server_url = result.zeno_server_url;
71
+ this.data.apikey = result.token;
72
+ this.config.remove(oldName);
73
+ this.config.add(this.data);
74
+ if (this.isNew) {
75
+ this.config.use(this.data.name);
76
+ }
77
+ this.config.save();
78
+ // force exit to close last prompt
79
+ console.log('\n');
80
+ console.log('Authentication completed.');
81
+ process.exit(0);
82
+ }
83
+ start() {
84
+ startConfigSession(this.data.config_url, this.getConfigPayload(), this.applyConfigResult.bind(this));
85
+ }
86
+ }
87
+ export class Config {
88
+ constructor(data) {
89
+ Object.defineProperty(this, "current", {
90
+ enumerable: true,
91
+ configurable: true,
92
+ writable: true,
93
+ value: void 0
94
+ });
95
+ Object.defineProperty(this, "profiles", {
96
+ enumerable: true,
97
+ configurable: true,
98
+ writable: true,
99
+ value: void 0
100
+ });
101
+ Object.defineProperty(this, "isDevMode", {
102
+ enumerable: true,
103
+ configurable: true,
104
+ writable: true,
105
+ value: false
106
+ });
107
+ this.profiles = data?.profiles || [];
108
+ if (data?.default) {
109
+ this.use(data.default);
110
+ }
111
+ }
112
+ hasProfile(name) {
113
+ return !!this.profiles.find(p => p.name === name);
114
+ }
115
+ getProfile(name) {
116
+ return this.profiles.find(p => p.name === name);
117
+ }
118
+ use(name) {
119
+ this.current = this.profiles.find(p => p.name === name);
120
+ if (!this.current) {
121
+ console.error(`No configuration named ${name} found`);
122
+ }
123
+ return this;
124
+ }
125
+ add(profile) {
126
+ if (this.profiles.find(p => p.name === profile.name)) {
127
+ console.error(`A configuration named ${profile.name} already exists`);
128
+ }
129
+ else {
130
+ this.profiles.push(profile);
131
+ }
132
+ this.use(profile.name);
133
+ return this;
134
+ }
135
+ update(profile) {
136
+ const existingProfile = this.profiles.find(p => p.name === profile.name);
137
+ if (existingProfile) {
138
+ Object.assign(existingProfile, profile);
139
+ }
140
+ else {
141
+ console.error(`Configuration named ${profile.name} doesn't exists`);
142
+ }
143
+ return this;
144
+ }
145
+ replace(existingProfile, newProfile) {
146
+ const index = this.profiles.indexOf(existingProfile);
147
+ if (index > -1) {
148
+ this.profiles[index] = newProfile;
149
+ }
150
+ return this;
151
+ }
152
+ remove(name) {
153
+ const i = this.profiles.findIndex(p => p.name === name);
154
+ if (i > -1) {
155
+ this.profiles.splice(i, 1);
156
+ if (this.current?.name === name) {
157
+ this.current = undefined;
158
+ }
159
+ }
160
+ return this;
161
+ }
162
+ createProfile(name, target) {
163
+ let config_url = getConfigUrl(target);
164
+ return new ConfigureProfile(this, { name, config_url }, true);
165
+ }
166
+ updateProfile(name) {
167
+ const profile = this.getProfile(name);
168
+ if (!profile) {
169
+ throw new ProfileNotFoundError(`Profile not found: ${name}.`);
170
+ }
171
+ return new ConfigureProfile(this, profile, false);
172
+ }
173
+ createOrUpdateProfile(name, target) {
174
+ let config_url = target && getConfigUrl(target);
175
+ const data = this.getProfile(name);
176
+ if (config_url) { // create a new profile on config_url
177
+ if (data) {
178
+ throw new ProfileAlreadyExistsError(`Profile ${name} already exists.`);
179
+ }
180
+ else {
181
+ return new ConfigureProfile(this, { name, config_url }, true);
182
+ }
183
+ }
184
+ else { // update an existing profile
185
+ if (data) {
186
+ return new ConfigureProfile(this, data, false);
187
+ }
188
+ else {
189
+ throw new ProfileNotFoundError(`Profile not found: ${name}.`);
190
+ }
191
+ }
192
+ }
193
+ save() {
194
+ const dir = getConfigFile();
195
+ if (!existsSync(dir)) {
196
+ mkdirSync(dir, { recursive: true });
197
+ }
198
+ const file = getConfigFile('profiles.json');
199
+ writeJsonFile(file, {
200
+ default: this.current?.name,
201
+ profiles: this.profiles,
202
+ });
203
+ return this;
204
+ }
205
+ load() {
206
+ try {
207
+ const stats = statSync(getConfigFile('dev'));
208
+ if (stats.isFile()) {
209
+ this.isDevMode = true;
210
+ }
211
+ }
212
+ catch (err) {
213
+ if (err.code !== 'ENOENT') {
214
+ throw err;
215
+ }
216
+ }
217
+ try {
218
+ const data = readJsonFile(getConfigFile('profiles.json'));
219
+ this.profiles = data.profiles;
220
+ if (data.default) {
221
+ this.use(data.default);
222
+ }
223
+ else {
224
+ this.current = undefined;
225
+ }
226
+ }
227
+ catch (err) {
228
+ if (err.code !== 'ENOENT') {
229
+ throw err;
230
+ }
231
+ }
232
+ return this;
233
+ }
234
+ }
235
+ export class ProfileAlreadyExistsError extends Error {
236
+ constructor(message) {
237
+ super(message);
238
+ this.name = 'ProfileAlreadyExistsError';
239
+ }
240
+ }
241
+ export class ProfileNotFoundError extends Error {
242
+ constructor(message) {
243
+ super(message);
244
+ this.name = 'ProfileNotFoundError';
245
+ }
246
+ }
247
+ export class InvalidConfigUrlError extends Error {
248
+ constructor(message) {
249
+ super(message);
250
+ this.name = 'InvalidConfigUrlError';
251
+ }
252
+ }
253
+ const config = new Config().load();
254
+ export { config };
255
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/profiles/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ServerResponse, IncomingMessage } from 'http';
2
+ export declare function handleCors(req: IncomingMessage, res: ServerResponse): boolean;
3
+ //# sourceMappingURL=cors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../../src/profiles/server/cors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AASvD,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,WAUnE"}
@@ -0,0 +1,18 @@
1
+ const corsHeaders = {
2
+ 'Access-Control-Allow-Origin': '*',
3
+ 'Access-Control-Allow-Methods': 'OPTIONS, POST, GET, ',
4
+ 'Access-Control-Allow-Headers': 'Content-Type',
5
+ 'Access-Control-Max-Age': '86400' // 1 day
6
+ };
7
+ export function handleCors(req, res) {
8
+ if (req.method === 'OPTIONS') {
9
+ res.writeHead(204, corsHeaders);
10
+ res.end();
11
+ return true;
12
+ }
13
+ else {
14
+ res.writeHead(204, corsHeaders);
15
+ }
16
+ return false;
17
+ }
18
+ //# sourceMappingURL=cors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../src/profiles/server/cors.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,GAAG;IAChB,6BAA6B,EAAE,GAAG;IAClC,8BAA8B,EAAE,sBAAsB;IACtD,8BAA8B,EAAE,cAAc;IAC9C,wBAAwB,EAAE,OAAO,CAAC,QAAQ;CAC7C,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,GAAoB,EAAE,GAAmB;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAChC,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AAEjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface ConfigPayload {
2
+ profile?: string;
3
+ account?: string;
4
+ project?: string;
5
+ }
6
+ export interface ConfigResult extends Required<ConfigPayload> {
7
+ studio_server_url: string;
8
+ zeno_server_url: string;
9
+ token: string;
10
+ }
11
+ export declare function startConfigSession(config_url: string, payload: ConfigPayload, callback: (response: ConfigResult) => void): Promise<void>;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/profiles/server/index.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,aAAa,CAAC;IACzD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,iBA6D9H"}