@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 +27 -18
- package/dist/base-command.js +3 -3
- package/dist/base-command.js.map +1 -1
- package/dist/commands/login.d.ts +14 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +150 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +13 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +49 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/utils/config-manager.d.ts +1 -0
- package/dist/utils/config-manager.d.ts.map +1 -1
- package/dist/utils/config-manager.js +10 -0
- package/dist/utils/config-manager.js.map +1 -1
- package/oclif.manifest.json +297 -157
- package/package.json +1 -1
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
|
|
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
|
|
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
|
|
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
|
|
109
|
+
nvm plans get-plans
|
|
110
110
|
|
|
111
111
|
# JSON format
|
|
112
|
-
nvm plans
|
|
112
|
+
nvm plans get-plans --format json
|
|
113
113
|
|
|
114
114
|
# Quiet mode (no output, useful for scripts)
|
|
115
|
-
nvm plans
|
|
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
|
|
129
|
-
- `nvm plans get <planId>` - Get details of a specific plan
|
|
130
|
-
- `nvm plans
|
|
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
|
|
135
|
-
- `nvm agents get <agentId>` - Get
|
|
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
|
|
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
|
|
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
|
package/dist/base-command.js
CHANGED
|
@@ -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);
|
package/dist/base-command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAmB,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAgB,MAAM,6BAA6B,CAAA;AAE3E,MAAM,OAAgB,WAAY,SAAQ,OAAO;IAC/C,MAAM,CAAC,SAAS,GAAG;QACjB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;YACnC,OAAO,EAAE,OAAO;SACjB,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAES,aAAa,CAAgB;IAC7B,SAAS,CAAkB;IAC3B,QAAQ,CAAW;IAE7B,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;QAEhD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAA;QAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAE,KAAK,CAAC,MAAuB,IAAI,OAAO,CAAC,CAAA;IACjF,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,YAAY;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,QAAQ,CAAA;QACtB,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,OAA6B,CAAA;QAEnD,kCAAkC;QAClC,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA;QACvC,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAA8C,CAAA;QAE5E,uBAAuB;QACvB,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,GAAG,SAAS,IAAI,MAAM,CAAC,SAAS,CAAA;gBACzC,WAAW,GAAG,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;YACjD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CACR,
|
|
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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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -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
|
-
"
|
|
884
|
+
"facilitator:settle-permissions": {
|
|
745
885
|
"aliases": [],
|
|
746
886
|
"args": {},
|
|
747
|
-
"description": "
|
|
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
|
|
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
|
-
"
|
|
783
|
-
"
|
|
784
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
817
|
-
"
|
|
943
|
+
"facilitator",
|
|
944
|
+
"settle-permissions.js"
|
|
818
945
|
]
|
|
819
946
|
},
|
|
820
|
-
"
|
|
947
|
+
"facilitator:verify-permissions": {
|
|
821
948
|
"aliases": [],
|
|
822
|
-
"args": {
|
|
823
|
-
|
|
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
|
|
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
|
-
"
|
|
865
|
-
"
|
|
866
|
-
"
|
|
867
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
892
|
-
"
|
|
1006
|
+
"facilitator",
|
|
1007
|
+
"verify-permissions.js"
|
|
893
1008
|
]
|
|
894
1009
|
},
|
|
895
|
-
"organizations:
|
|
1010
|
+
"organizations:connect-stripe-account": {
|
|
896
1011
|
"aliases": [],
|
|
897
1012
|
"args": {},
|
|
898
|
-
"description": "
|
|
1013
|
+
"description": "Connect user with Stripe",
|
|
899
1014
|
"examples": [
|
|
900
|
-
"$ nvm organizations
|
|
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
|
-
"
|
|
934
|
-
"name": "
|
|
935
|
-
"required":
|
|
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
|
-
"
|
|
948
|
-
"name": "
|
|
949
|
-
"required":
|
|
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
|
-
"
|
|
955
|
-
"name": "
|
|
956
|
-
"required":
|
|
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:
|
|
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
|
-
"
|
|
1083
|
+
"connect-stripe-account.js"
|
|
976
1084
|
]
|
|
977
1085
|
},
|
|
978
|
-
"
|
|
1086
|
+
"organizations:create-member": {
|
|
979
1087
|
"aliases": [],
|
|
980
|
-
"args": {
|
|
981
|
-
|
|
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
|
|
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
|
-
"
|
|
1017
|
-
"
|
|
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
|
-
"
|
|
1059
|
-
"
|
|
1060
|
-
"
|
|
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": "
|
|
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
|
-
"
|
|
1101
|
-
"
|
|
1157
|
+
"organizations",
|
|
1158
|
+
"create-member.js"
|
|
1102
1159
|
]
|
|
1103
1160
|
},
|
|
1104
|
-
"
|
|
1161
|
+
"organizations:get-members": {
|
|
1105
1162
|
"aliases": [],
|
|
1106
|
-
"args": {
|
|
1107
|
-
|
|
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
|
|
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
|
-
"
|
|
1149
|
-
"name": "
|
|
1199
|
+
"role": {
|
|
1200
|
+
"name": "role",
|
|
1150
1201
|
"required": false,
|
|
1151
1202
|
"hasDynamicHelp": false,
|
|
1152
1203
|
"multiple": false,
|
|
1153
1204
|
"type": "option"
|
|
1154
1205
|
},
|
|
1155
|
-
"
|
|
1156
|
-
"name": "
|
|
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
|
-
"
|
|
1163
|
-
"name": "
|
|
1213
|
+
"page": {
|
|
1214
|
+
"name": "page",
|
|
1164
1215
|
"required": false,
|
|
1165
1216
|
"hasDynamicHelp": false,
|
|
1166
1217
|
"multiple": false,
|
|
1167
1218
|
"type": "option"
|
|
1168
1219
|
},
|
|
1169
|
-
"
|
|
1170
|
-
"name": "
|
|
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": "
|
|
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
|
-
"
|
|
1190
|
-
"get-
|
|
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.
|
|
3274
|
+
"version": "1.0.11-rc.1"
|
|
3135
3275
|
}
|