@nevermined-io/cli 1.0.10 → 1.0.11-rc.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.
@@ -51,7 +51,7 @@ export class BaseCommand extends Command {
51
51
  }
52
52
  }
53
53
  if (!nvmApiKey) {
54
- this.error('NVM API Key not found. Set NVM_API_KEY environment variable or run: nvm config init', { exit: 1 });
54
+ this.error('NVM API Key not found. Set NVM_API_KEY environment variable, run: nvm login, or run: nvm config init', { exit: 1 });
55
55
  }
56
56
  if (!environment) {
57
57
  this.formatter.warning('Environment not set, using "sandbox" as default');
@@ -78,7 +78,7 @@ export class BaseCommand extends Command {
78
78
  if (errorMessage.includes('API Key') || errorMessage.includes('apiKey')) {
79
79
  this.formatter.error('API Key Error: ' + errorMessage);
80
80
  this.formatter.info('\nšŸ’” Helpful tip:');
81
- this.formatter.info(' Run: nvm config init');
81
+ this.formatter.info(' Run: nvm login (or nvm config init)');
82
82
  this.formatter.info(' Or set: export NVM_API_KEY=your-key-here');
83
83
  }
84
84
  else if (errorMessage.includes('network') || errorMessage.includes('ECONNREFUSED')) {
@@ -97,7 +97,7 @@ export class BaseCommand extends Command {
97
97
  this.formatter.error('Authentication Error: ' + errorMessage);
98
98
  this.formatter.info('\nšŸ’” Helpful tip:');
99
99
  this.formatter.info(' Your API key may be invalid or expired');
100
- this.formatter.info(' Run: nvm config init');
100
+ this.formatter.info(' Run: nvm login (or nvm config init)');
101
101
  }
102
102
  else if (errorMessage.includes('JSON') || errorMessage.includes('parse')) {
103
103
  this.formatter.error('Invalid JSON: ' + errorMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../base-command.js';
2
+ export default class Login extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ environment: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
+ 'no-browser': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
+ profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKhD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAKd;IAED,MAAM,CAAC,KAAK;;;;;;MAYX;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6G3B"}
@@ -0,0 +1,150 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { createServer } from 'http';
3
+ import { execFile } from 'child_process';
4
+ import { BaseCommand } from '../base-command.js';
5
+ import { Environments } from '@nevermined-io/payments';
6
+ const LOGIN_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
7
+ export default class Login extends BaseCommand {
8
+ static description = 'Authenticate with Nevermined via browser login';
9
+ static examples = [
10
+ '<%= config.bin %> <%= command.id %>',
11
+ '<%= config.bin %> <%= command.id %> --environment live',
12
+ '<%= config.bin %> <%= command.id %> --profile production --environment live',
13
+ '<%= config.bin %> <%= command.id %> --no-browser',
14
+ ];
15
+ static flags = {
16
+ ...BaseCommand.baseFlags,
17
+ environment: Flags.string({
18
+ char: 'e',
19
+ description: 'Target environment',
20
+ options: ['sandbox', 'live', 'staging_sandbox', 'staging_live', 'custom'],
21
+ required: false,
22
+ }),
23
+ 'no-browser': Flags.boolean({
24
+ description: 'Print the login URL instead of opening the browser',
25
+ default: false,
26
+ }),
27
+ };
28
+ async run() {
29
+ try {
30
+ const { flags } = await this.parse(Login);
31
+ const activeProfile = await this.configManager.getActiveProfile();
32
+ const profileName = flags.profile || activeProfile || 'default';
33
+ // Resolve environment: flag > existing config > default
34
+ let environment = flags.environment;
35
+ if (!environment) {
36
+ const config = await this.configManager.get(undefined, profileName);
37
+ environment = config?.environment;
38
+ }
39
+ if (!environment) {
40
+ environment = 'sandbox';
41
+ }
42
+ const frontendUrl = Environments[environment]?.frontend;
43
+ if (!frontendUrl) {
44
+ this.error(`Unknown environment: ${environment}`, { exit: 1 });
45
+ }
46
+ // Start one-shot HTTP server on a random port
47
+ const apiKey = await new Promise((resolve, reject) => {
48
+ const server = createServer((req, res) => {
49
+ const url = new URL(req.url || '/', `http://localhost`);
50
+ if (url.pathname !== '/callback') {
51
+ res.writeHead(404);
52
+ res.end('Not found');
53
+ return;
54
+ }
55
+ const key = url.searchParams.get('nvm_api_key');
56
+ if (!key) {
57
+ res.writeHead(400);
58
+ res.end('Missing nvm_api_key parameter');
59
+ return;
60
+ }
61
+ res.writeHead(200, { 'Content-Type': 'text/html' });
62
+ res.end(`
63
+ <html><body style="font-family: system-ui, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f8f9fa;">
64
+ <div style="text-align: center;">
65
+ <h2>Authentication successful!</h2>
66
+ <p>You can close this tab and return to your terminal.</p>
67
+ </div>
68
+ </body></html>
69
+ `);
70
+ clearTimeout(timeout);
71
+ server.close();
72
+ resolve(key);
73
+ });
74
+ const timeout = setTimeout(() => {
75
+ server.close();
76
+ reject(new Error('Login timed out after 5 minutes. Please try again.'));
77
+ }, LOGIN_TIMEOUT_MS);
78
+ server.listen(0, '127.0.0.1', () => {
79
+ const addr = server.address();
80
+ if (!addr || typeof addr === 'string') {
81
+ clearTimeout(timeout);
82
+ server.close();
83
+ reject(new Error('Failed to start local server'));
84
+ return;
85
+ }
86
+ const port = addr.port;
87
+ const callbackUrl = encodeURIComponent(`http://localhost:${port}/callback`);
88
+ const loginUrl = `${frontendUrl}/auth/cli?callback_url=${callbackUrl}`;
89
+ if (flags['no-browser']) {
90
+ this.formatter.info('Open this URL in your browser to authenticate:\n');
91
+ this.log(loginUrl);
92
+ this.log('');
93
+ this.formatter.info('Waiting for authentication...');
94
+ }
95
+ else {
96
+ this.formatter.info(`Opening browser to authenticate with ${environment} environment...`);
97
+ openBrowser(loginUrl).catch(() => {
98
+ this.formatter.warning('Could not open browser automatically.');
99
+ this.formatter.info('Open this URL manually:\n');
100
+ this.log(loginUrl);
101
+ });
102
+ this.formatter.info('Waiting for authentication...');
103
+ }
104
+ });
105
+ server.on('error', (err) => {
106
+ clearTimeout(timeout);
107
+ reject(new Error(`Failed to start local server: ${err.message}`));
108
+ });
109
+ });
110
+ // Save to config
111
+ await this.configManager.set('nvmApiKey', apiKey, profileName);
112
+ await this.configManager.set('environment', environment, profileName);
113
+ await this.configManager.setActiveProfile(profileName);
114
+ this.formatter.success(`Authenticated successfully!\n` +
115
+ ` Profile: ${profileName}\n` +
116
+ ` Environment: ${environment}\n` +
117
+ ` Config file: ${this.configManager.getDefaultConfigPath()}`);
118
+ this.formatter.info('\nYou can now use the CLI. Try: nvm plans get-plans');
119
+ }
120
+ catch (error) {
121
+ this.handleError(error);
122
+ }
123
+ }
124
+ }
125
+ function openBrowser(url) {
126
+ return new Promise((resolve, reject) => {
127
+ const platform = process.platform;
128
+ let cmd;
129
+ let args;
130
+ if (platform === 'darwin') {
131
+ cmd = 'open';
132
+ args = [url];
133
+ }
134
+ else if (platform === 'win32') {
135
+ cmd = 'cmd';
136
+ args = ['/c', 'start', '""', url];
137
+ }
138
+ else {
139
+ cmd = 'xdg-open';
140
+ args = [url];
141
+ }
142
+ execFile(cmd, args, (err) => {
143
+ if (err)
144
+ reject(err);
145
+ else
146
+ resolve();
147
+ });
148
+ });
149
+ }
150
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../base-command.js';
2
+ export default class Logout extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ 'all-profiles': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
7
+ profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,SAAgE;IAElF,MAAM,CAAC,QAAQ,WAGd;IAED,MAAM,CAAC,KAAK;;;;;MAMX;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqC3B"}
@@ -0,0 +1,49 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../base-command.js';
3
+ export default class Logout extends BaseCommand {
4
+ static description = 'Log out by removing the API key from your CLI configuration';
5
+ static examples = [
6
+ '<%= config.bin %> <%= command.id %>',
7
+ '<%= config.bin %> <%= command.id %> --profile production',
8
+ ];
9
+ static flags = {
10
+ ...BaseCommand.baseFlags,
11
+ 'all-profiles': Flags.boolean({
12
+ description: 'Remove API keys from all profiles',
13
+ default: false,
14
+ }),
15
+ };
16
+ async run() {
17
+ try {
18
+ const { flags } = await this.parse(Logout);
19
+ const profileName = flags.profile || await this.configManager.getActiveProfile();
20
+ if (flags['all-profiles']) {
21
+ const profiles = await this.configManager.listProfiles();
22
+ if (profiles.length === 0) {
23
+ this.formatter.warning('No profiles found.');
24
+ return;
25
+ }
26
+ for (const name of profiles) {
27
+ await this.configManager.remove('nvmApiKey', name);
28
+ }
29
+ this.formatter.success(`Logged out of all profiles (${profiles.join(', ')})\n` +
30
+ ` Config file: ${this.configManager.getDefaultConfigPath()}`);
31
+ }
32
+ else {
33
+ const existing = await this.configManager.get('nvmApiKey', profileName);
34
+ if (!existing) {
35
+ this.formatter.warning(`Profile "${profileName}" has no API key configured.`);
36
+ return;
37
+ }
38
+ await this.configManager.remove('nvmApiKey', profileName);
39
+ this.formatter.success(`Logged out of profile "${profileName}"\n` +
40
+ ` Config file: ${this.configManager.getDefaultConfigPath()}`);
41
+ }
42
+ this.formatter.info('\nTo authenticate again, run: nvm login');
43
+ }
44
+ catch (error) {
45
+ this.handleError(error);
46
+ }
47
+ }
48
+ }
49
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAC,WAAW,GAAG,6DAA6D,CAAA;IAElF,MAAM,CAAC,QAAQ,GAAG;QAChB,qCAAqC;QACrC,0DAA0D;KAC3D,CAAA;IAED,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,WAAW,CAAC,SAAS;QACxB,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAA;YAEhF,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAA;gBACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;oBAC5C,OAAM;gBACR,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;gBACpD,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,OAAO,CACpB,+BAA+B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACrD,kBAAkB,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,CAChE,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;gBACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,WAAW,8BAA8B,CAAC,CAAA;oBAC7E,OAAM;gBACR,CAAC;gBAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;gBACzD,IAAI,CAAC,SAAS,CAAC,OAAO,CACpB,0BAA0B,WAAW,KAAK;oBACxC,kBAAkB,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,CAChE,CAAA;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC"}
@@ -18,6 +18,7 @@ export declare class ConfigManager {
18
18
  save(config: Config, path?: string): Promise<void>;
19
19
  get(key?: string, profile?: string): Promise<any>;
20
20
  set(key: string, value: string, profile?: string): Promise<void>;
21
+ remove(key: string, profile?: string): Promise<void>;
21
22
  getActiveProfile(): Promise<string>;
22
23
  setActiveProfile(profileName: string): Promise<void>;
23
24
  listProfiles(): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE;QACR,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAAA;KACrC,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;CACtB;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,WAAW,CAAC,CAAQ;IAE5B,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,aAAa;IAO7B,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuB9B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhE,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpD,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKjC,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,oBAAoB,IAAI,MAAM;CAG/B"}
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE;QACR,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAAA;KACrC,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;CACtB;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,WAAW,CAAC,CAAQ;IAE5B,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,aAAa;IAO7B,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuB9B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBjD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKnC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpD,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKjC,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,oBAAoB,IAAI,MAAM;CAG/B"}
@@ -76,6 +76,16 @@ export class ConfigManager {
76
76
  config.profiles[profileName][key] = value;
77
77
  await this.save(config);
78
78
  }
79
+ async remove(key, profile) {
80
+ const config = this.configCache || (await this.load());
81
+ if (!config)
82
+ return;
83
+ const profileName = profile || config.activeProfile;
84
+ if (config.profiles[profileName]) {
85
+ delete config.profiles[profileName][key];
86
+ await this.save(config);
87
+ }
88
+ }
79
89
  async getActiveProfile() {
80
90
  const config = this.configCache || (await this.load());
81
91
  return config?.activeProfile || 'default';
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/utils/config-manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,145 @@
1
1
  {
2
2
  "commands": {
3
+ "login": {
4
+ "aliases": [],
5
+ "args": {},
6
+ "description": "Authenticate with Nevermined via browser login",
7
+ "examples": [
8
+ "<%= config.bin %> <%= command.id %>",
9
+ "<%= config.bin %> <%= command.id %> --environment live",
10
+ "<%= config.bin %> <%= command.id %> --profile production --environment live",
11
+ "<%= config.bin %> <%= command.id %> --no-browser"
12
+ ],
13
+ "flags": {
14
+ "profile": {
15
+ "char": "p",
16
+ "description": "Configuration profile to use",
17
+ "name": "profile",
18
+ "required": false,
19
+ "hasDynamicHelp": false,
20
+ "multiple": false,
21
+ "type": "option"
22
+ },
23
+ "format": {
24
+ "char": "f",
25
+ "description": "Output format",
26
+ "name": "format",
27
+ "default": "table",
28
+ "hasDynamicHelp": false,
29
+ "multiple": false,
30
+ "options": [
31
+ "table",
32
+ "json",
33
+ "quiet"
34
+ ],
35
+ "type": "option"
36
+ },
37
+ "verbose": {
38
+ "char": "v",
39
+ "description": "Verbose output",
40
+ "name": "verbose",
41
+ "allowNo": false,
42
+ "type": "boolean"
43
+ },
44
+ "environment": {
45
+ "char": "e",
46
+ "description": "Target environment",
47
+ "name": "environment",
48
+ "required": false,
49
+ "hasDynamicHelp": false,
50
+ "multiple": false,
51
+ "options": [
52
+ "sandbox",
53
+ "live",
54
+ "staging_sandbox",
55
+ "staging_live",
56
+ "custom"
57
+ ],
58
+ "type": "option"
59
+ },
60
+ "no-browser": {
61
+ "description": "Print the login URL instead of opening the browser",
62
+ "name": "no-browser",
63
+ "allowNo": false,
64
+ "type": "boolean"
65
+ }
66
+ },
67
+ "hasDynamicHelp": false,
68
+ "hiddenAliases": [],
69
+ "id": "login",
70
+ "pluginAlias": "@nevermined-io/cli",
71
+ "pluginName": "@nevermined-io/cli",
72
+ "pluginType": "core",
73
+ "strict": true,
74
+ "enableJsonFlag": false,
75
+ "isESM": true,
76
+ "relativePath": [
77
+ "dist",
78
+ "commands",
79
+ "login.js"
80
+ ]
81
+ },
82
+ "logout": {
83
+ "aliases": [],
84
+ "args": {},
85
+ "description": "Log out by removing the API key from your CLI configuration",
86
+ "examples": [
87
+ "<%= config.bin %> <%= command.id %>",
88
+ "<%= config.bin %> <%= command.id %> --profile production"
89
+ ],
90
+ "flags": {
91
+ "profile": {
92
+ "char": "p",
93
+ "description": "Configuration profile to use",
94
+ "name": "profile",
95
+ "required": false,
96
+ "hasDynamicHelp": false,
97
+ "multiple": false,
98
+ "type": "option"
99
+ },
100
+ "format": {
101
+ "char": "f",
102
+ "description": "Output format",
103
+ "name": "format",
104
+ "default": "table",
105
+ "hasDynamicHelp": false,
106
+ "multiple": false,
107
+ "options": [
108
+ "table",
109
+ "json",
110
+ "quiet"
111
+ ],
112
+ "type": "option"
113
+ },
114
+ "verbose": {
115
+ "char": "v",
116
+ "description": "Verbose output",
117
+ "name": "verbose",
118
+ "allowNo": false,
119
+ "type": "boolean"
120
+ },
121
+ "all-profiles": {
122
+ "description": "Remove API keys from all profiles",
123
+ "name": "all-profiles",
124
+ "allowNo": false,
125
+ "type": "boolean"
126
+ }
127
+ },
128
+ "hasDynamicHelp": false,
129
+ "hiddenAliases": [],
130
+ "id": "logout",
131
+ "pluginAlias": "@nevermined-io/cli",
132
+ "pluginName": "@nevermined-io/cli",
133
+ "pluginType": "core",
134
+ "strict": true,
135
+ "enableJsonFlag": false,
136
+ "isESM": true,
137
+ "relativePath": [
138
+ "dist",
139
+ "commands",
140
+ "logout.js"
141
+ ]
142
+ },
3
143
  "agents:add-plan-to-agent": {
4
144
  "aliases": [],
5
145
  "args": {
@@ -1101,95 +1241,6 @@
1101
1241
  "get-members.js"
1102
1242
  ]
1103
1243
  },
1104
- "x402token:get-x402-access-token": {
1105
- "aliases": [],
1106
- "args": {
1107
- "plan": {
1108
- "description": "plan identifier",
1109
- "name": "plan",
1110
- "required": true
1111
- }
1112
- },
1113
- "description": "Create a permission and get an X402 access token for the given plan. This token allows the agent to verify and settle permissions on behalf of the subscriber. The token contains cryptographically signed session keys that delegate specific permissions (order, burn) to the agent.",
1114
- "examples": [
1115
- "$ nvm x402token get-x402-access-token <planId>"
1116
- ],
1117
- "flags": {
1118
- "profile": {
1119
- "char": "p",
1120
- "description": "Configuration profile to use",
1121
- "name": "profile",
1122
- "required": false,
1123
- "hasDynamicHelp": false,
1124
- "multiple": false,
1125
- "type": "option"
1126
- },
1127
- "format": {
1128
- "char": "f",
1129
- "description": "Output format",
1130
- "name": "format",
1131
- "default": "table",
1132
- "hasDynamicHelp": false,
1133
- "multiple": false,
1134
- "options": [
1135
- "table",
1136
- "json",
1137
- "quiet"
1138
- ],
1139
- "type": "option"
1140
- },
1141
- "verbose": {
1142
- "char": "v",
1143
- "description": "Verbose output",
1144
- "name": "verbose",
1145
- "allowNo": false,
1146
- "type": "boolean"
1147
- },
1148
- "agent-id": {
1149
- "name": "agent-id",
1150
- "required": false,
1151
- "hasDynamicHelp": false,
1152
- "multiple": false,
1153
- "type": "option"
1154
- },
1155
- "redemption-limit": {
1156
- "name": "redemption-limit",
1157
- "required": false,
1158
- "hasDynamicHelp": false,
1159
- "multiple": false,
1160
- "type": "option"
1161
- },
1162
- "order-limit": {
1163
- "name": "order-limit",
1164
- "required": false,
1165
- "hasDynamicHelp": false,
1166
- "multiple": false,
1167
- "type": "option"
1168
- },
1169
- "expiration": {
1170
- "name": "expiration",
1171
- "required": false,
1172
- "hasDynamicHelp": false,
1173
- "multiple": false,
1174
- "type": "option"
1175
- }
1176
- },
1177
- "hasDynamicHelp": false,
1178
- "hiddenAliases": [],
1179
- "id": "x402token:get-x402-access-token",
1180
- "pluginAlias": "@nevermined-io/cli",
1181
- "pluginName": "@nevermined-io/cli",
1182
- "pluginType": "core",
1183
- "strict": true,
1184
- "enableJsonFlag": false,
1185
- "isESM": true,
1186
- "relativePath": [
1187
- "dist",
1188
- "commands",
1189
- "x402token",
1190
- "get-x402-access-token.js"
1191
- ]
1192
- },
1193
1244
  "plans:get-agents-associated-to-a-plan": {
1194
1245
  "aliases": [],
1195
1246
  "args": {
@@ -3129,7 +3180,96 @@
3129
3180
  "plans",
3130
3181
  "set-redemption-type.js"
3131
3182
  ]
3183
+ },
3184
+ "x402token:get-x402-access-token": {
3185
+ "aliases": [],
3186
+ "args": {
3187
+ "plan": {
3188
+ "description": "plan identifier",
3189
+ "name": "plan",
3190
+ "required": true
3191
+ }
3192
+ },
3193
+ "description": "Create a permission and get an X402 access token for the given plan. This token allows the agent to verify and settle permissions on behalf of the subscriber. The token contains cryptographically signed session keys that delegate specific permissions (order, burn) to the agent.",
3194
+ "examples": [
3195
+ "$ nvm x402token get-x402-access-token <planId>"
3196
+ ],
3197
+ "flags": {
3198
+ "profile": {
3199
+ "char": "p",
3200
+ "description": "Configuration profile to use",
3201
+ "name": "profile",
3202
+ "required": false,
3203
+ "hasDynamicHelp": false,
3204
+ "multiple": false,
3205
+ "type": "option"
3206
+ },
3207
+ "format": {
3208
+ "char": "f",
3209
+ "description": "Output format",
3210
+ "name": "format",
3211
+ "default": "table",
3212
+ "hasDynamicHelp": false,
3213
+ "multiple": false,
3214
+ "options": [
3215
+ "table",
3216
+ "json",
3217
+ "quiet"
3218
+ ],
3219
+ "type": "option"
3220
+ },
3221
+ "verbose": {
3222
+ "char": "v",
3223
+ "description": "Verbose output",
3224
+ "name": "verbose",
3225
+ "allowNo": false,
3226
+ "type": "boolean"
3227
+ },
3228
+ "agent-id": {
3229
+ "name": "agent-id",
3230
+ "required": false,
3231
+ "hasDynamicHelp": false,
3232
+ "multiple": false,
3233
+ "type": "option"
3234
+ },
3235
+ "redemption-limit": {
3236
+ "name": "redemption-limit",
3237
+ "required": false,
3238
+ "hasDynamicHelp": false,
3239
+ "multiple": false,
3240
+ "type": "option"
3241
+ },
3242
+ "order-limit": {
3243
+ "name": "order-limit",
3244
+ "required": false,
3245
+ "hasDynamicHelp": false,
3246
+ "multiple": false,
3247
+ "type": "option"
3248
+ },
3249
+ "expiration": {
3250
+ "name": "expiration",
3251
+ "required": false,
3252
+ "hasDynamicHelp": false,
3253
+ "multiple": false,
3254
+ "type": "option"
3255
+ }
3256
+ },
3257
+ "hasDynamicHelp": false,
3258
+ "hiddenAliases": [],
3259
+ "id": "x402token:get-x402-access-token",
3260
+ "pluginAlias": "@nevermined-io/cli",
3261
+ "pluginName": "@nevermined-io/cli",
3262
+ "pluginType": "core",
3263
+ "strict": true,
3264
+ "enableJsonFlag": false,
3265
+ "isESM": true,
3266
+ "relativePath": [
3267
+ "dist",
3268
+ "commands",
3269
+ "x402token",
3270
+ "get-x402-access-token.js"
3271
+ ]
3132
3272
  }
3133
3273
  },
3134
- "version": "1.0.10"
3274
+ "version": "1.0.11-rc.1"
3135
3275
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nevermined-io/cli",
3
- "version": "1.0.10",
3
+ "version": "1.0.11-rc.1",
4
4
  "description": "CLI for Nevermined Payments SDK",
5
5
  "author": "Nevermined AG",
6
6
  "license": "Apache-2.0",