@nevermined-io/cli 1.0.9 → 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.
package/README.md CHANGED
@@ -44,19 +44,19 @@ Configuration is saved to `~/.config/nvm/config.json`.
44
44
  ### 2. List Plans
45
45
 
46
46
  ```bash
47
- nvm plans list
47
+ nvm plans get-plans
48
48
  ```
49
49
 
50
50
  ### 3. Get Plan Details
51
51
 
52
52
  ```bash
53
- nvm plans get did:nvm:abc123
53
+ nvm plans get-plan did:nvm:abc123
54
54
  ```
55
55
 
56
56
  ### 4. Get X402 Access Token
57
57
 
58
58
  ```bash
59
- nvm x402 get-token did:nvm:plan123
59
+ nvm x402token get-x402-access-token did:nvm:plan123
60
60
  ```
61
61
 
62
62
  ## Usage
@@ -94,7 +94,7 @@ Support for multiple profiles:
94
94
  nvm config init --profile production
95
95
 
96
96
  # Use a specific profile
97
- nvm plans list --profile production
97
+ nvm plans get-plans --profile production
98
98
 
99
99
  # Show all profiles
100
100
  nvm config show --all
@@ -106,13 +106,13 @@ All commands support multiple output formats:
106
106
 
107
107
  ```bash
108
108
  # Table format (default)
109
- nvm plans list
109
+ nvm plans get-plans
110
110
 
111
111
  # JSON format
112
- nvm plans list --format json
112
+ nvm plans get-plans --format json
113
113
 
114
114
  # Quiet mode (no output, useful for scripts)
115
- nvm plans list --format quiet
115
+ nvm plans get-plans --format quiet
116
116
  ```
117
117
 
118
118
  ## Commands
@@ -125,19 +125,28 @@ nvm plans list --format quiet
125
125
 
126
126
  ### Plan Commands
127
127
 
128
- - `nvm plans list` - List all payment plans
129
- - `nvm plans get <planId>` - Get details of a specific plan
130
- - `nvm plans register` - Register a new payment plan (see help for options)
128
+ - `nvm plans get-plans` - List all payment plans
129
+ - `nvm plans get-plan <planId>` - Get details of a specific plan
130
+ - `nvm plans get-plan-balance <planId>` - Get plan balance for a subscriber
131
+ - `nvm plans register-plan` - Register a new payment plan (flexible)
132
+ - `nvm plans register-credits-plan` - Register a credits-based plan
133
+ - `nvm plans register-time-plan` - Register a time-based plan
134
+ - `nvm plans register-credits-trial-plan` - Register a trial credits plan
135
+ - `nvm plans register-time-trial-plan` - Register a trial time plan
131
136
 
132
137
  ### Agent Commands
133
138
 
134
- - `nvm agents list` - List all AI agents
135
- - `nvm agents get <agentId>` - Get details of a specific agent
136
- - `nvm agents register` - Register a new AI agent
139
+ - `nvm agents get-agent <agentId>` - Get details of a specific agent
140
+ - `nvm agents get-agent-plans <agentId>` - Get plans associated with an agent
141
+ - `nvm agents register-agent` - Register a new AI agent
142
+ - `nvm agents register-agent-and-plan` - Register an agent with a plan
143
+ - `nvm agents add-plan-to-agent <planId>` - Associate a plan with an agent
144
+ - `nvm agents remove-plan-from-agent <planId>` - Remove a plan from an agent
145
+ - `nvm agents update-agent-metadata <agentId>` - Update agent metadata
137
146
 
138
147
  ### X402 Commands
139
148
 
140
- - `nvm x402 get-token <planId>` - Get an X402 access token for a plan
149
+ - `nvm x402token get-x402-access-token <planId>` - Get an X402 access token for a plan
141
150
 
142
151
  ## Examples
143
152
 
@@ -148,20 +157,20 @@ nvm plans list --format quiet
148
157
  nvm config init
149
158
 
150
159
  # Get X402 token for a plan
151
- nvm x402 get-token did:nvm:abc123 --format json
160
+ nvm x402token get-x402-access-token did:nvm:abc123 --format json
152
161
 
153
162
  # Get plan details
154
- nvm plans get did:nvm:abc123
163
+ nvm plans get-plan did:nvm:abc123
155
164
  ```
156
165
 
157
166
  ### Using JSON Config Files
158
167
 
159
168
  ```bash
160
169
  # Register plan from JSON config
161
- nvm plans register --config plan-config.json
170
+ nvm plans register-plan --config plan-config.json
162
171
 
163
172
  # Register agent from JSON config
164
- nvm agents register did:nvm:plan123 --config agent-config.json
173
+ nvm agents register-agent did:nvm:plan123 --config agent-config.json
165
174
  ```
166
175
 
167
176
  ## Development
@@ -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": {
@@ -741,12 +881,12 @@
741
881
  "show.js"
742
882
  ]
743
883
  },
744
- "organizations:connect-stripe-account": {
884
+ "facilitator:settle-permissions": {
745
885
  "aliases": [],
746
886
  "args": {},
747
- "description": "Connect user with Stripe",
887
+ "description": "Settle (burn) credits from a subscriber's payment plan. This method executes the actual credit consumption, burning the specified number of credits from the subscriber's balance. If the subscriber doesn't have enough credits, it will attempt to order more before settling. The planId and subscriberAddress are extracted from the x402AccessToken.",
748
888
  "examples": [
749
- "$ nvm organizations connect-stripe-account"
889
+ "$ nvm facilitator settle-permissions"
750
890
  ],
751
891
  "flags": {
752
892
  "profile": {
@@ -779,22 +919,9 @@
779
919
  "allowNo": false,
780
920
  "type": "boolean"
781
921
  },
782
- "user-email": {
783
- "name": "user-email",
784
- "required": true,
785
- "hasDynamicHelp": false,
786
- "multiple": false,
787
- "type": "option"
788
- },
789
- "user-country-code": {
790
- "name": "user-country-code",
791
- "required": true,
792
- "hasDynamicHelp": false,
793
- "multiple": false,
794
- "type": "option"
795
- },
796
- "return-url": {
797
- "name": "return-url",
922
+ "params": {
923
+ "description": "params as JSON string",
924
+ "name": "params",
798
925
  "required": true,
799
926
  "hasDynamicHelp": false,
800
927
  "multiple": false,
@@ -803,7 +930,7 @@
803
930
  },
804
931
  "hasDynamicHelp": false,
805
932
  "hiddenAliases": [],
806
- "id": "organizations:connect-stripe-account",
933
+ "id": "facilitator:settle-permissions",
807
934
  "pluginAlias": "@nevermined-io/cli",
808
935
  "pluginName": "@nevermined-io/cli",
809
936
  "pluginType": "core",
@@ -813,22 +940,16 @@
813
940
  "relativePath": [
814
941
  "dist",
815
942
  "commands",
816
- "organizations",
817
- "connect-stripe-account.js"
943
+ "facilitator",
944
+ "settle-permissions.js"
818
945
  ]
819
946
  },
820
- "organizations:create-member": {
947
+ "facilitator:verify-permissions": {
821
948
  "aliases": [],
822
- "args": {
823
- "user": {
824
- "description": "user identifier",
825
- "name": "user",
826
- "required": true
827
- }
828
- },
829
- "description": "Create a new member in the organization",
949
+ "args": {},
950
+ "description": "Verify if a subscriber has permission to use credits from a payment plan. This method simulates the credit usage without actually burning credits, checking if the subscriber has sufficient balance and permissions. The planId and subscriberAddress are extracted from the x402AccessToken.",
830
951
  "examples": [
831
- "$ nvm organizations create-member <userId>"
952
+ "$ nvm facilitator verify-permissions"
832
953
  ],
833
954
  "flags": {
834
955
  "profile": {
@@ -861,16 +982,10 @@
861
982
  "allowNo": false,
862
983
  "type": "boolean"
863
984
  },
864
- "user-email": {
865
- "name": "user-email",
866
- "required": false,
867
- "hasDynamicHelp": false,
868
- "multiple": false,
869
- "type": "option"
870
- },
871
- "user-role": {
872
- "name": "user-role",
873
- "required": false,
985
+ "params": {
986
+ "description": "params as JSON string",
987
+ "name": "params",
988
+ "required": true,
874
989
  "hasDynamicHelp": false,
875
990
  "multiple": false,
876
991
  "type": "option"
@@ -878,7 +993,7 @@
878
993
  },
879
994
  "hasDynamicHelp": false,
880
995
  "hiddenAliases": [],
881
- "id": "organizations:create-member",
996
+ "id": "facilitator:verify-permissions",
882
997
  "pluginAlias": "@nevermined-io/cli",
883
998
  "pluginName": "@nevermined-io/cli",
884
999
  "pluginType": "core",
@@ -888,16 +1003,16 @@
888
1003
  "relativePath": [
889
1004
  "dist",
890
1005
  "commands",
891
- "organizations",
892
- "create-member.js"
1006
+ "facilitator",
1007
+ "verify-permissions.js"
893
1008
  ]
894
1009
  },
895
- "organizations:get-members": {
1010
+ "organizations:connect-stripe-account": {
896
1011
  "aliases": [],
897
1012
  "args": {},
898
- "description": "OrganizationsAPI getMembers",
1013
+ "description": "Connect user with Stripe",
899
1014
  "examples": [
900
- "$ nvm organizations get-members"
1015
+ "$ nvm organizations connect-stripe-account"
901
1016
  ],
902
1017
  "flags": {
903
1018
  "profile": {
@@ -930,30 +1045,23 @@
930
1045
  "allowNo": false,
931
1046
  "type": "boolean"
932
1047
  },
933
- "role": {
934
- "name": "role",
935
- "required": false,
936
- "hasDynamicHelp": false,
937
- "multiple": false,
938
- "type": "option"
939
- },
940
- "is-active": {
941
- "name": "is-active",
942
- "required": false,
1048
+ "user-email": {
1049
+ "name": "user-email",
1050
+ "required": true,
943
1051
  "hasDynamicHelp": false,
944
1052
  "multiple": false,
945
1053
  "type": "option"
946
1054
  },
947
- "page": {
948
- "name": "page",
949
- "required": false,
1055
+ "user-country-code": {
1056
+ "name": "user-country-code",
1057
+ "required": true,
950
1058
  "hasDynamicHelp": false,
951
1059
  "multiple": false,
952
1060
  "type": "option"
953
1061
  },
954
- "offset": {
955
- "name": "offset",
956
- "required": false,
1062
+ "return-url": {
1063
+ "name": "return-url",
1064
+ "required": true,
957
1065
  "hasDynamicHelp": false,
958
1066
  "multiple": false,
959
1067
  "type": "option"
@@ -961,7 +1069,7 @@
961
1069
  },
962
1070
  "hasDynamicHelp": false,
963
1071
  "hiddenAliases": [],
964
- "id": "organizations:get-members",
1072
+ "id": "organizations:connect-stripe-account",
965
1073
  "pluginAlias": "@nevermined-io/cli",
966
1074
  "pluginName": "@nevermined-io/cli",
967
1075
  "pluginType": "core",
@@ -972,15 +1080,21 @@
972
1080
  "dist",
973
1081
  "commands",
974
1082
  "organizations",
975
- "get-members.js"
1083
+ "connect-stripe-account.js"
976
1084
  ]
977
1085
  },
978
- "facilitator:settle-permissions": {
1086
+ "organizations:create-member": {
979
1087
  "aliases": [],
980
- "args": {},
981
- "description": "Settle (burn) credits from a subscriber's payment plan. This method executes the actual credit consumption, burning the specified number of credits from the subscriber's balance. If the subscriber doesn't have enough credits, it will attempt to order more before settling. The planId and subscriberAddress are extracted from the x402AccessToken.",
1088
+ "args": {
1089
+ "user": {
1090
+ "description": "user identifier",
1091
+ "name": "user",
1092
+ "required": true
1093
+ }
1094
+ },
1095
+ "description": "Create a new member in the organization",
982
1096
  "examples": [
983
- "$ nvm facilitator settle-permissions"
1097
+ "$ nvm organizations create-member <userId>"
984
1098
  ],
985
1099
  "flags": {
986
1100
  "profile": {
@@ -1013,73 +1127,16 @@
1013
1127
  "allowNo": false,
1014
1128
  "type": "boolean"
1015
1129
  },
1016
- "params": {
1017
- "description": "params as JSON string",
1018
- "name": "params",
1019
- "required": true,
1020
- "hasDynamicHelp": false,
1021
- "multiple": false,
1022
- "type": "option"
1023
- }
1024
- },
1025
- "hasDynamicHelp": false,
1026
- "hiddenAliases": [],
1027
- "id": "facilitator:settle-permissions",
1028
- "pluginAlias": "@nevermined-io/cli",
1029
- "pluginName": "@nevermined-io/cli",
1030
- "pluginType": "core",
1031
- "strict": true,
1032
- "enableJsonFlag": false,
1033
- "isESM": true,
1034
- "relativePath": [
1035
- "dist",
1036
- "commands",
1037
- "facilitator",
1038
- "settle-permissions.js"
1039
- ]
1040
- },
1041
- "facilitator:verify-permissions": {
1042
- "aliases": [],
1043
- "args": {},
1044
- "description": "Verify if a subscriber has permission to use credits from a payment plan. This method simulates the credit usage without actually burning credits, checking if the subscriber has sufficient balance and permissions. The planId and subscriberAddress are extracted from the x402AccessToken.",
1045
- "examples": [
1046
- "$ nvm facilitator verify-permissions"
1047
- ],
1048
- "flags": {
1049
- "profile": {
1050
- "char": "p",
1051
- "description": "Configuration profile to use",
1052
- "name": "profile",
1130
+ "user-email": {
1131
+ "name": "user-email",
1053
1132
  "required": false,
1054
1133
  "hasDynamicHelp": false,
1055
1134
  "multiple": false,
1056
1135
  "type": "option"
1057
1136
  },
1058
- "format": {
1059
- "char": "f",
1060
- "description": "Output format",
1061
- "name": "format",
1062
- "default": "table",
1063
- "hasDynamicHelp": false,
1064
- "multiple": false,
1065
- "options": [
1066
- "table",
1067
- "json",
1068
- "quiet"
1069
- ],
1070
- "type": "option"
1071
- },
1072
- "verbose": {
1073
- "char": "v",
1074
- "description": "Verbose output",
1075
- "name": "verbose",
1076
- "allowNo": false,
1077
- "type": "boolean"
1078
- },
1079
- "params": {
1080
- "description": "params as JSON string",
1081
- "name": "params",
1082
- "required": true,
1137
+ "user-role": {
1138
+ "name": "user-role",
1139
+ "required": false,
1083
1140
  "hasDynamicHelp": false,
1084
1141
  "multiple": false,
1085
1142
  "type": "option"
@@ -1087,7 +1144,7 @@
1087
1144
  },
1088
1145
  "hasDynamicHelp": false,
1089
1146
  "hiddenAliases": [],
1090
- "id": "facilitator:verify-permissions",
1147
+ "id": "organizations:create-member",
1091
1148
  "pluginAlias": "@nevermined-io/cli",
1092
1149
  "pluginName": "@nevermined-io/cli",
1093
1150
  "pluginType": "core",
@@ -1097,22 +1154,16 @@
1097
1154
  "relativePath": [
1098
1155
  "dist",
1099
1156
  "commands",
1100
- "facilitator",
1101
- "verify-permissions.js"
1157
+ "organizations",
1158
+ "create-member.js"
1102
1159
  ]
1103
1160
  },
1104
- "x402token:get-x402-access-token": {
1161
+ "organizations:get-members": {
1105
1162
  "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.",
1163
+ "args": {},
1164
+ "description": "OrganizationsAPI getMembers",
1114
1165
  "examples": [
1115
- "$ nvm x402token get-x402-access-token <planId>"
1166
+ "$ nvm organizations get-members"
1116
1167
  ],
1117
1168
  "flags": {
1118
1169
  "profile": {
@@ -1145,29 +1196,29 @@
1145
1196
  "allowNo": false,
1146
1197
  "type": "boolean"
1147
1198
  },
1148
- "agent-id": {
1149
- "name": "agent-id",
1199
+ "role": {
1200
+ "name": "role",
1150
1201
  "required": false,
1151
1202
  "hasDynamicHelp": false,
1152
1203
  "multiple": false,
1153
1204
  "type": "option"
1154
1205
  },
1155
- "redemption-limit": {
1156
- "name": "redemption-limit",
1206
+ "is-active": {
1207
+ "name": "is-active",
1157
1208
  "required": false,
1158
1209
  "hasDynamicHelp": false,
1159
1210
  "multiple": false,
1160
1211
  "type": "option"
1161
1212
  },
1162
- "order-limit": {
1163
- "name": "order-limit",
1213
+ "page": {
1214
+ "name": "page",
1164
1215
  "required": false,
1165
1216
  "hasDynamicHelp": false,
1166
1217
  "multiple": false,
1167
1218
  "type": "option"
1168
1219
  },
1169
- "expiration": {
1170
- "name": "expiration",
1220
+ "offset": {
1221
+ "name": "offset",
1171
1222
  "required": false,
1172
1223
  "hasDynamicHelp": false,
1173
1224
  "multiple": false,
@@ -1176,7 +1227,7 @@
1176
1227
  },
1177
1228
  "hasDynamicHelp": false,
1178
1229
  "hiddenAliases": [],
1179
- "id": "x402token:get-x402-access-token",
1230
+ "id": "organizations:get-members",
1180
1231
  "pluginAlias": "@nevermined-io/cli",
1181
1232
  "pluginName": "@nevermined-io/cli",
1182
1233
  "pluginType": "core",
@@ -1186,8 +1237,8 @@
1186
1237
  "relativePath": [
1187
1238
  "dist",
1188
1239
  "commands",
1189
- "x402token",
1190
- "get-x402-access-token.js"
1240
+ "organizations",
1241
+ "get-members.js"
1191
1242
  ]
1192
1243
  },
1193
1244
  "plans:get-agents-associated-to-a-plan": {
@@ -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.9"
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.9",
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",