anycloud 0.0.26 → 0.0.28

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 (37) hide show
  1. package/binaries/anycloud-darwin-arm64 +0 -0
  2. package/binaries/anycloud-darwin-x64 +0 -0
  3. package/binaries/anycloud-linux-arm64 +0 -0
  4. package/binaries/anycloud-linux-x64 +0 -0
  5. package/dist/cli/commands/config/edit.js +42 -178
  6. package/dist/cli/commands/config/edit.js.map +1 -1
  7. package/dist/cli/commands/config/list.js +2 -31
  8. package/dist/cli/commands/config/list.js.map +1 -1
  9. package/dist/cli/commands/config/new.js +42 -77
  10. package/dist/cli/commands/config/new.js.map +1 -1
  11. package/dist/cli/commands/config/remove.js +1 -12
  12. package/dist/cli/commands/config/remove.js.map +1 -1
  13. package/dist/cli/commands/run.js +16 -12
  14. package/dist/cli/commands/run.js.map +1 -1
  15. package/dist/cli/commands/ssh.js +23 -11
  16. package/dist/cli/commands/ssh.js.map +1 -1
  17. package/dist/cli/commands/status.js +49 -23
  18. package/dist/cli/commands/status.js.map +1 -1
  19. package/dist/cli/commands/terminate.js +43 -59
  20. package/dist/cli/commands/terminate.js.map +1 -1
  21. package/dist/cli/config.js +5 -4
  22. package/dist/cli/config.js.map +1 -1
  23. package/dist/cli/services/api-client.js +28 -11
  24. package/dist/cli/services/api-client.js.map +1 -1
  25. package/dist/cli/services/config.js +75 -50
  26. package/dist/cli/services/config.js.map +1 -1
  27. package/dist/cli/services/slurp/gcp.js.map +1 -1
  28. package/dist/cli/utils/output.js +4 -4
  29. package/dist/cli/utils/output.js.map +1 -1
  30. package/dist/shared/id-generator.js +20 -4
  31. package/dist/shared/id-generator.js.map +1 -1
  32. package/dist/shared/types.js.map +1 -1
  33. package/dist/shared/utils.js +11 -0
  34. package/dist/shared/utils.js.map +1 -0
  35. package/package.json +5 -3
  36. package/dist/cli/commands/upgrade.js +0 -106
  37. package/dist/cli/commands/upgrade.js.map +0 -1
Binary file
Binary file
Binary file
Binary file
@@ -1,9 +1,8 @@
1
1
  import { Command } from 'commander';
2
2
  import prompts from 'prompts';
3
3
  import { requireCredentials } from '../../services/credentials.js';
4
- import { loadDeploymentProfiles, } from '../../services/config.js';
5
- import { printSuccess, printInfo, printError, selectWithAutocomplete, selectCredentials, promptDiskSize, promptSpot, selectRegionEntry, } from '../../utils/output.js';
6
- import { saveDeploymentProfiles } from './new.js';
4
+ import { loadDeploymentProfiles, saveDeploymentProfiles, } from '../../services/config.js';
5
+ import { printSuccess, printInfo, printError, selectWithAutocomplete, selectCredentials, promptDiskSize, promptSpot, } from '../../utils/output.js';
7
6
  import { CloudConfig } from '../../../shared/types.js';
8
7
  export function createEditCommand() {
9
8
  return new Command('edit')
@@ -17,10 +16,9 @@ Examples:
17
16
  Output:
18
17
  Editing profile: my-app
19
18
 
20
- What would you like to do?
21
- > Add new region
22
- > Edit existing region
23
- > Remove region
19
+ Select credentials: prod-aws
20
+ Region: us-west-2
21
+ VM type: t3.medium
24
22
 
25
23
  ✓ Profile "my-app" updated successfully!
26
24
  `)
@@ -42,7 +40,6 @@ Output:
42
40
  choices: profileNames.map((n) => ({
43
41
  title: n,
44
42
  value: n,
45
- description: `${profiles[n].length} region(s)`,
46
43
  })),
47
44
  });
48
45
  if (!selection.profileName) {
@@ -60,46 +57,47 @@ Output:
60
57
  console.log('');
61
58
  // Load credentials for selection
62
59
  const credentials = await requireCredentials();
63
- // Choose what to edit
64
- const editChoice = await prompts({
65
- type: 'select',
66
- name: 'action',
67
- message: 'What would you like to do?',
68
- choices: [
69
- {
70
- title: 'Add new region',
71
- value: 'add',
72
- description: 'Add another region to this profile',
73
- },
74
- {
75
- title: 'Edit existing region',
76
- value: 'edit',
77
- description: 'Modify settings for an existing region',
78
- },
79
- {
80
- title: 'Remove region',
81
- value: 'remove',
82
- description: 'Remove a region from this profile',
83
- },
84
- ],
85
- });
86
- if (!editChoice.action) {
60
+ const entry = profiles[name];
61
+ printInfo('Press Enter to keep current value');
62
+ console.log('');
63
+ // Edit credentials
64
+ const credName = await selectCredentials(credentials, entry.credentialsName);
65
+ if (!credName) {
66
+ process.exit(0);
67
+ }
68
+ const selectedCred = credentials[credName];
69
+ // Edit region
70
+ const regions = CloudConfig.getRegions(selectedCred.cloudProvider);
71
+ const region = await selectWithAutocomplete('Select a region', regions.map((r) => ({ title: r, value: r })), entry.region ? regions.indexOf(entry.region) : 0);
72
+ if (region === undefined) {
73
+ process.exit(0);
74
+ }
75
+ // Edit VM type
76
+ const vmTypes = CloudConfig.getVMTypes(selectedCred.cloudProvider, region);
77
+ const vmType = await selectWithAutocomplete('Select a VM type', vmTypes.map((v) => ({ title: v, value: v })), entry.vmType ? vmTypes.indexOf(entry.vmType) : 0);
78
+ if (vmType === undefined) {
79
+ process.exit(0);
80
+ }
81
+ // Edit spot
82
+ const spot = await promptSpot(entry.spot);
83
+ if (spot === undefined) {
87
84
  process.exit(0);
88
85
  }
89
- const entries = profiles[name];
90
- switch (editChoice.action) {
91
- case 'add':
92
- await addRegion(entries, credentials);
93
- break;
94
- case 'edit':
95
- await editRegion(entries, credentials);
96
- break;
97
- case 'remove':
98
- await removeRegion(entries);
99
- break;
86
+ // Edit disk size
87
+ const diskSizeGb = await promptDiskSize(entry.diskSizeGb);
88
+ if (diskSizeGb === undefined) {
89
+ process.exit(0);
100
90
  }
91
+ // Update entry
92
+ const updatedEntry = {
93
+ credentialsName: credName,
94
+ ...(region && { region }),
95
+ ...(vmType && { vmType }),
96
+ ...(spot && { spot }),
97
+ ...(diskSizeGb && { diskSizeGb }),
98
+ };
101
99
  // Save updated profiles
102
- profiles[name] = entries;
100
+ profiles[name] = updatedEntry;
103
101
  await saveDeploymentProfiles(profiles);
104
102
  console.log('');
105
103
  printSuccess(`Profile "${name}" updated successfully!`);
@@ -110,138 +108,4 @@ Output:
110
108
  }
111
109
  });
112
110
  }
113
- /**
114
- * Add a new region to the profile
115
- */
116
- async function addRegion(entries, credentials) {
117
- console.log('');
118
- printInfo('Configure new region:');
119
- console.log('');
120
- // Select credentials
121
- const credName = await selectCredentials(credentials);
122
- if (!credName) {
123
- process.exit(0);
124
- }
125
- const selectedCred = credentials[credName];
126
- // Prompt for region
127
- const regions = CloudConfig.getRegions(selectedCred.cloudProvider);
128
- const region = await selectWithAutocomplete('Select a region', regions.map((r) => ({ title: r, value: r })));
129
- if (region === undefined) {
130
- process.exit(0);
131
- }
132
- // Prompt for VM type
133
- const vmTypes = CloudConfig.getVMTypes(selectedCred.cloudProvider, region);
134
- const vmType = await selectWithAutocomplete('Select a VM type', vmTypes.map((v) => ({ title: v, value: v })));
135
- if (vmType === undefined) {
136
- process.exit(0);
137
- }
138
- // Prompt for spot instances
139
- const spot = await promptSpot();
140
- if (spot === undefined) {
141
- process.exit(0);
142
- }
143
- // Prompt for disk size (optional)
144
- const diskSizeGb = await promptDiskSize();
145
- if (diskSizeGb === undefined) {
146
- process.exit(0);
147
- }
148
- // Build entry
149
- const entry = {
150
- credentialsName: credName,
151
- ...(region && { region }),
152
- ...(vmType && { vmType }),
153
- ...(spot && { spot }),
154
- ...(diskSizeGb && { diskSizeGb }),
155
- };
156
- entries.push(entry);
157
- printSuccess('Region added');
158
- }
159
- /**
160
- * Edit an existing region
161
- */
162
- async function editRegion(entries, credentials) {
163
- if (entries.length === 0) {
164
- printError('No regions to edit.');
165
- return;
166
- }
167
- // Select which region to edit
168
- const index = await selectRegionEntry(entries, 'Select region to edit:');
169
- if (index === undefined) {
170
- process.exit(0);
171
- }
172
- const entry = entries[index];
173
- console.log('');
174
- printInfo('Press Enter to keep current value');
175
- console.log('');
176
- // Edit credentials
177
- const credName = await selectCredentials(credentials, entry.credentialsName);
178
- if (!credName) {
179
- process.exit(0);
180
- }
181
- const selectedCred = credentials[credName];
182
- // Edit region
183
- const regions = CloudConfig.getRegions(selectedCred.cloudProvider);
184
- const region = await selectWithAutocomplete('Select a region', regions.map((r) => ({ title: r, value: r })), entry.region ? regions.indexOf(entry.region) : 0);
185
- if (region === undefined) {
186
- process.exit(0);
187
- }
188
- // Edit VM type
189
- const vmTypes = CloudConfig.getVMTypes(selectedCred.cloudProvider, region);
190
- const vmType = await selectWithAutocomplete('Select a VM type', vmTypes.map((v) => ({ title: v, value: v })), entry.vmType ? vmTypes.indexOf(entry.vmType) : 0);
191
- if (vmType === undefined) {
192
- process.exit(0);
193
- }
194
- // Edit spot
195
- const spot = await promptSpot(entry.spot);
196
- if (spot === undefined) {
197
- process.exit(0);
198
- }
199
- // Edit disk size
200
- const diskSizeGb = await promptDiskSize(entry.diskSizeGb);
201
- if (diskSizeGb === undefined) {
202
- process.exit(0);
203
- }
204
- // Update entry
205
- const updatedEntry = {
206
- credentialsName: credName,
207
- ...(region && { region }),
208
- ...(vmType && { vmType }),
209
- ...(spot && { spot }),
210
- ...(diskSizeGb && { diskSizeGb }),
211
- };
212
- entries[index] = updatedEntry;
213
- printSuccess('Region updated');
214
- }
215
- /**
216
- * Remove a region from the profile
217
- */
218
- async function removeRegion(entries) {
219
- if (entries.length === 0) {
220
- printError('No regions to remove.');
221
- return;
222
- }
223
- if (entries.length === 1) {
224
- printError('Cannot remove the only region in a profile.');
225
- printInfo('Use "anycloud config remove" to delete the entire profile.');
226
- return;
227
- }
228
- // Select which region to remove
229
- const index = await selectRegionEntry(entries, 'Select region to remove:');
230
- if (index === undefined) {
231
- process.exit(0);
232
- }
233
- // Confirm removal
234
- const confirm = await prompts({
235
- type: 'confirm',
236
- name: 'value',
237
- message: 'Are you sure you want to remove this region?',
238
- initial: false,
239
- });
240
- if (!confirm.value) {
241
- printInfo('Cancelled');
242
- return;
243
- }
244
- entries.splice(index, 1);
245
- printSuccess('Region removed');
246
- }
247
111
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/edit.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import { Command } from 'commander';
2
- import Table from 'cli-table3';
3
- import chalk from 'chalk';
4
- import { loadDeploymentProfiles, profilesToTableEntries, } from '../../services/config.js';
2
+ import { loadDeploymentProfiles, profilesToTableEntries, getActiveConfigFile, } from '../../services/config.js';
5
3
  import { printSuccess, printInfo, printError, printCloudConfigsTable, } from '../../utils/output.js';
6
4
  import { resolve } from 'path';
7
- import { CONFIG_FILE } from '../../config.js';
8
5
  export function createListCommand() {
9
6
  return new Command('list')
10
7
  .description('📋 List profiles')
@@ -15,20 +12,10 @@ Examples:
15
12
  Output:
16
13
  ✓ Found 2 deployment profile(s):
17
14
 
18
- ┌─────────────────────────┬──────────┐
19
- │ Profile │ Regions │
20
- ├─────────────────────────┼──────────┤
21
- │ my-app │ 2 │
22
- │ api-service │ 1 │
23
- └─────────────────────────┴──────────┘
24
-
25
- Region Configurations:
26
-
27
15
  ┌────────────────────┬──────────────────┬──────────────────┬────────────────────┐
28
16
  │ Config │ Credentials │ Region │ VM Type │
29
17
  ├────────────────────┼──────────────────┼──────────────────┼────────────────────┤
30
18
  │ my-app │ prod-aws │ us-west-2 │ t3.medium │
31
- │ my-app │ eu-aws │ eu-west-1 │ t3.large │
32
19
  │ api-service │ prod-gcp │ us-central1 │ e2-medium │
33
20
  └────────────────────┴──────────────────┴──────────────────┴────────────────────┘
34
21
  `)
@@ -38,29 +25,13 @@ Output:
38
25
  const profileNames = Object.keys(profiles);
39
26
  if (profileNames.length === 0) {
40
27
  printInfo('No deployment profiles found.');
41
- printInfo(`Create profiles in ${resolve(process.cwd(), CONFIG_FILE)} or use "anycloud config new"`);
28
+ printInfo(`Create profiles in ${resolve(process.cwd(), getActiveConfigFile())} or use "anycloud config new"`);
42
29
  return;
43
30
  }
44
31
  printSuccess(`Found ${profileNames.length} deployment profile(s):`);
45
32
  console.log('');
46
- // Create profiles overview table
47
- const profilesTable = new Table({
48
- head: ['Profile', 'Regions'].map((h) => chalk.cyan(h)),
49
- colWidths: [25, 12],
50
- style: {
51
- head: [],
52
- border: ['dim'],
53
- },
54
- });
55
- profileNames.forEach((name) => {
56
- const entries = profiles[name];
57
- profilesTable.push([name, entries.length.toString()]);
58
- });
59
- console.log(profilesTable.toString());
60
- console.log('');
61
33
  // Create cloud configurations table using shared utility
62
34
  printCloudConfigsTable(profilesToTableEntries(profiles), {
63
- title: 'Region Configurations:',
64
35
  showCredentials: true,
65
36
  });
66
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;CAuBL,CACI;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS,CAAC,+BAA+B,CAAC,CAAC;gBAC3C,SAAS,CACP,sBAAsB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,+BAA+B,CACzF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,YAAY,CAAC,SAAS,YAAY,CAAC,MAAM,yBAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,iCAAiC;YACjC,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC;gBAC9B,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACnB,KAAK,EAAE;oBACL,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,CAAC,KAAK,CAAC;iBAChB;aACF,CAAC,CAAC;YAEH,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/B,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,yDAAyD;YACzD,sBAAsB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE;gBACvD,KAAK,EAAE,wBAAwB;gBAC/B,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;CAaL,CACI;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS,CAAC,+BAA+B,CAAC,CAAC;gBAC3C,SAAS,CACP,sBAAsB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,CAAC,+BAA+B,CACnG,CAAC;gBACF,OAAO;YACT,CAAC;YAED,YAAY,CAAC,SAAS,YAAY,CAAC,MAAM,yBAAyB,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,yDAAyD;YACzD,sBAAsB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE;gBACvD,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,9 +2,8 @@ import { Command } from 'commander';
2
2
  import prompts from 'prompts';
3
3
  import { resolve } from 'path';
4
4
  import { requireCredentials } from '../../services/credentials.js';
5
- import { loadDeploymentProfiles, } from '../../services/config.js';
5
+ import { loadDeploymentProfiles, saveDeploymentProfiles, getActiveConfigFile, } from '../../services/config.js';
6
6
  import { printSuccess, printInfo, printError, selectWithAutocomplete, selectCredentials, promptDiskSize, promptSpot, } from '../../utils/output.js';
7
- import { CONFIG_FILE } from '../../config.js';
8
7
  import { CloudConfig } from '../../../shared/types.js';
9
8
  /**
10
9
  * Interactive config profile creation flow
@@ -43,70 +42,48 @@ export async function createConfigInteractive(name) {
43
42
  }
44
43
  printInfo(`Creating profile: ${name}`);
45
44
  console.log('');
46
- // Build profile entries (regions)
47
- const entries = [];
48
- let addMore = true;
49
- while (addMore) {
50
- console.log('');
51
- printInfo(entries.length === 0
52
- ? 'Configure first region:'
53
- : `Configure region ${entries.length + 1}:`);
54
- console.log('');
55
- // Select credentials
56
- const credName = await selectCredentials(credentials);
57
- if (!credName) {
58
- process.exit(0);
59
- }
60
- const selectedCred = credentials[credName];
61
- // Prompt for region
62
- const regions = CloudConfig.getRegions(selectedCred.cloudProvider);
63
- const region = await selectWithAutocomplete('Select a region', regions.map((r) => ({ title: r, value: r })));
64
- if (region === undefined) {
65
- process.exit(0);
66
- }
67
- // Prompt for VM type
68
- const vmTypes = CloudConfig.getVMTypes(selectedCred.cloudProvider, region);
69
- const vmType = await selectWithAutocomplete('Select a VM type', vmTypes.map((v) => ({ title: v, value: v })));
70
- if (vmType === undefined) {
71
- process.exit(0);
72
- }
73
- // Prompt for spot instances
74
- const spot = await promptSpot();
75
- if (spot === undefined) {
76
- process.exit(0);
77
- }
78
- // Prompt for disk size (optional)
79
- const diskSizeGb = await promptDiskSize();
80
- if (diskSizeGb === undefined) {
81
- process.exit(0);
82
- }
83
- // Build entry
84
- const entry = {
85
- credentialsName: credName,
86
- ...(region && { region }),
87
- ...(vmType && { vmType }),
88
- ...(spot && { spot }),
89
- ...(diskSizeGb && { diskSizeGb }),
90
- };
91
- entries.push(entry);
92
- // Ask if user wants to add another region
93
- const addAnother = await prompts({
94
- type: 'confirm',
95
- name: 'value',
96
- message: 'Add another region to this profile?',
97
- initial: false,
98
- });
99
- if (!addAnother.value) {
100
- addMore = false;
101
- }
45
+ // Select credentials
46
+ const credName = await selectCredentials(credentials);
47
+ if (!credName) {
48
+ process.exit(0);
49
+ }
50
+ const selectedCred = credentials[credName];
51
+ // Prompt for region
52
+ const regions = CloudConfig.getRegions(selectedCred.cloudProvider);
53
+ const region = await selectWithAutocomplete('Select a region', regions.map((r) => ({ title: r, value: r })));
54
+ if (region === undefined) {
55
+ process.exit(0);
56
+ }
57
+ // Prompt for VM type
58
+ const vmTypes = CloudConfig.getVMTypes(selectedCred.cloudProvider, region);
59
+ const vmType = await selectWithAutocomplete('Select a VM type', vmTypes.map((v) => ({ title: v, value: v })));
60
+ if (vmType === undefined) {
61
+ process.exit(0);
62
+ }
63
+ // Prompt for spot instances
64
+ const spot = await promptSpot();
65
+ if (spot === undefined) {
66
+ process.exit(0);
102
67
  }
68
+ // Prompt for disk size (optional)
69
+ const diskSizeGb = await promptDiskSize();
70
+ if (diskSizeGb === undefined) {
71
+ process.exit(0);
72
+ }
73
+ // Build entry
74
+ const entry = {
75
+ credentialsName: credName,
76
+ ...(region && { region }),
77
+ ...(vmType && { vmType }),
78
+ ...(spot && { spot }),
79
+ ...(diskSizeGb && { diskSizeGb }),
80
+ };
103
81
  // Save profile
104
- profiles[name] = entries;
82
+ profiles[name] = entry;
105
83
  await saveDeploymentProfiles(profiles);
106
84
  console.log('');
107
85
  printSuccess(`Profile "${name}" created successfully!`);
108
- printInfo(`Added ${entries.length} region(s)`);
109
- printInfo(`Saved to: ${resolve(process.cwd(), CONFIG_FILE)}`);
86
+ printInfo(`Saved to: ${resolve(process.cwd(), getActiveConfigFile())}`);
110
87
  return name;
111
88
  }
112
89
  export function createNewCommand() {
@@ -121,16 +98,12 @@ Examples:
121
98
  Output:
122
99
  Creating profile: my-app
123
100
 
124
- Configure region:
125
- Select credentials: prod-aws
126
- Region: us-west-2
127
- VM type: t3.medium
128
-
129
- Add another region to this profile? (y/n): n
101
+ Select credentials: prod-aws
102
+ Region: us-west-2
103
+ VM type: t3.medium
130
104
 
131
105
  ✓ Profile "my-app" created successfully!
132
- Added 1 region(s)
133
- Saved to: /path/to/anycloud.json
106
+ Saved to: /path/to/anycloud.yaml
134
107
  `)
135
108
  .action(async (name) => {
136
109
  try {
@@ -142,12 +115,4 @@ Output:
142
115
  }
143
116
  });
144
117
  }
145
- /**
146
- * Save deployment profiles to anycloud.json
147
- */
148
- export async function saveDeploymentProfiles(profiles) {
149
- const { writeFile } = await import('fs/promises');
150
- const configPath = resolve(process.cwd(), CONFIG_FILE);
151
- await writeFile(configPath, JSON.stringify(profiles, null, 2), 'utf-8');
152
- }
153
118
  //# sourceMappingURL=new.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GAGpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAa;IACzD,6BAA6B;IAC7B,MAAM,WAAW,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE/C,iEAAiE;IACjE,MAAM,QAAQ,GAAuB,MAAM,sBAAsB,EAAE,CAAC;IAEpE,uCAAuC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC7B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,2CAA2C;YACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC;SACxE,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;QACpC,CAAC;QACD,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,kCAAkC;IAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,YAAY,IAAI,8BAA8B;YACvD,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,SAAS,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,qBAAqB;IACrB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE3C,oBAAoB;IACpB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,iBAAiB,EACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAC7C,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,kBAAkB,EAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAC7C,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4BAA4B;IAC5B,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kCAAkC;IAClC,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,cAAc;IACd,MAAM,KAAK,GAA2B;QACpC,eAAe,EAAE,QAAQ;QACzB,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KAClC,CAAC;IAEF,eAAe;IACf,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACvB,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,YAAY,CAAC,YAAY,IAAI,yBAAyB,CAAC,CAAC;IACxD,SAAS,CAAC,aAAa,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;IAExE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CAAC,sBAAsB,CAAC;SACnC,QAAQ,CAAC,QAAQ,EAAE,iCAAiC,CAAC;SACrD,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;CAcL,CACI;SACA,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,9 +1,7 @@
1
1
  import { Command } from 'commander';
2
2
  import prompts from 'prompts';
3
- import { resolve } from 'path';
4
- import { loadDeploymentProfiles, } from '../../services/config.js';
3
+ import { loadDeploymentProfiles, saveDeploymentProfiles, } from '../../services/config.js';
5
4
  import { printSuccess, printInfo, printError } from '../../utils/output.js';
6
- import { CONFIG_FILE } from '../../config.js';
7
5
  export function createRemoveCommand() {
8
6
  return new Command('remove')
9
7
  .description('🗑️ Remove profile')
@@ -36,7 +34,6 @@ Output:
36
34
  choices: profileNames.map((n) => ({
37
35
  title: n,
38
36
  value: n,
39
- description: `${profiles[n].length} region(s)`,
40
37
  })),
41
38
  });
42
39
  if (!selection.profileName) {
@@ -75,12 +72,4 @@ Output:
75
72
  }
76
73
  });
77
74
  }
78
- /**
79
- * Save deployment profiles to anycloud.json
80
- */
81
- async function saveDeploymentProfiles(profiles) {
82
- const { writeFile } = await import('fs/promises');
83
- const configPath = resolve(process.cwd(), CONFIG_FILE);
84
- await writeFile(configPath, JSON.stringify(profiles, null, 2), 'utf-8');
85
- }
86
75
  //# sourceMappingURL=remove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/remove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/cli/commands/config/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,qBAAqB,CAAC;SAClC,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;SACnD,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;SACjD,WAAW,CACV,OAAO,EACP;;;;;;;;;CASL,CACI;SACA,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,OAA6B,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,sBAAsB,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,UAAU,CAAC,+BAA+B,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,iCAAiC;YACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;oBAC9B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,2BAA2B;oBACpC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAChC,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,CAAC;qBACT,CAAC,CAAC;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;gBACpC,CAAC;gBACD,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC;YAC/B,CAAC;YAED,0BAA0B;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,UAAU,CAAC,YAAY,IAAI,cAAc,CAAC,CAAC;gBAC3C,SAAS,CAAC,uBAAuB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,kCAAkC;YAClC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;oBAC5B,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,4CAA4C,IAAI,IAAI;oBAC7D,OAAO,EAAE,KAAK;iBACf,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACnB,SAAS,CAAC,WAAW,CAAC,CAAC;oBACvB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtB,wBAAwB;YACxB,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAEvC,YAAY,CAAC,YAAY,IAAI,yBAAyB,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}