@nevermined-io/cli 1.0.3-rc1
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 +194 -0
- package/bin/dev.js +5 -0
- package/bin/run.js +5 -0
- package/dist/base-command.d.ts +36 -0
- package/dist/base-command.d.ts.map +1 -0
- package/dist/base-command.js +161 -0
- package/dist/base-command.js.map +1 -0
- package/dist/commands/agents/add-plan-to-agent.d.ts +19 -0
- package/dist/commands/agents/add-plan-to-agent.d.ts.map +1 -0
- package/dist/commands/agents/add-plan-to-agent.js +33 -0
- package/dist/commands/agents/add-plan-to-agent.js.map +1 -0
- package/dist/commands/agents/get-agent-plans.d.ts +19 -0
- package/dist/commands/agents/get-agent-plans.d.ts.map +1 -0
- package/dist/commands/agents/get-agent-plans.js +36 -0
- package/dist/commands/agents/get-agent-plans.js.map +1 -0
- package/dist/commands/agents/get-agent.d.ts +18 -0
- package/dist/commands/agents/get-agent.d.ts.map +1 -0
- package/dist/commands/agents/get-agent.js +32 -0
- package/dist/commands/agents/get-agent.js.map +1 -0
- package/dist/commands/agents/register-agent-and-plan.d.ts +21 -0
- package/dist/commands/agents/register-agent-and-plan.d.ts.map +1 -0
- package/dist/commands/agents/register-agent-and-plan.js +44 -0
- package/dist/commands/agents/register-agent-and-plan.js.map +1 -0
- package/dist/commands/agents/register-agent.d.ts +18 -0
- package/dist/commands/agents/register-agent.d.ts.map +1 -0
- package/dist/commands/agents/register-agent.js +32 -0
- package/dist/commands/agents/register-agent.js.map +1 -0
- package/dist/commands/agents/remove-plan-from-agent.d.ts +19 -0
- package/dist/commands/agents/remove-plan-from-agent.d.ts.map +1 -0
- package/dist/commands/agents/remove-plan-from-agent.js +33 -0
- package/dist/commands/agents/remove-plan-from-agent.js.map +1 -0
- package/dist/commands/agents/update-agent-metadata.d.ts +20 -0
- package/dist/commands/agents/update-agent-metadata.d.ts.map +1 -0
- package/dist/commands/agents/update-agent-metadata.js +37 -0
- package/dist/commands/agents/update-agent-metadata.js.map +1 -0
- package/dist/commands/config/init.d.ts +15 -0
- package/dist/commands/config/init.d.ts.map +1 -0
- package/dist/commands/config/init.js +78 -0
- package/dist/commands/config/init.js.map +1 -0
- package/dist/commands/config/set.d.ts +16 -0
- package/dist/commands/config/set.d.ts.map +1 -0
- package/dist/commands/config/set.js +44 -0
- package/dist/commands/config/set.js.map +1 -0
- package/dist/commands/config/show.d.ts +13 -0
- package/dist/commands/config/show.d.ts.map +1 -0
- package/dist/commands/config/show.js +53 -0
- package/dist/commands/config/show.js.map +1 -0
- package/dist/commands/facilitator/settle-permissions.d.ts +16 -0
- package/dist/commands/facilitator/settle-permissions.d.ts.map +1 -0
- package/dist/commands/facilitator/settle-permissions.js +30 -0
- package/dist/commands/facilitator/settle-permissions.js.map +1 -0
- package/dist/commands/facilitator/verify-permissions.d.ts +16 -0
- package/dist/commands/facilitator/verify-permissions.d.ts.map +1 -0
- package/dist/commands/facilitator/verify-permissions.js +30 -0
- package/dist/commands/facilitator/verify-permissions.js.map +1 -0
- package/dist/commands/organizations/connect-stripe-account.d.ts +18 -0
- package/dist/commands/organizations/connect-stripe-account.d.ts.map +1 -0
- package/dist/commands/organizations/connect-stripe-account.js +29 -0
- package/dist/commands/organizations/connect-stripe-account.js.map +1 -0
- package/dist/commands/organizations/create-member.d.ts +20 -0
- package/dist/commands/organizations/create-member.d.ts.map +1 -0
- package/dist/commands/organizations/create-member.js +34 -0
- package/dist/commands/organizations/create-member.js.map +1 -0
- package/dist/commands/organizations/get-members.d.ts +19 -0
- package/dist/commands/organizations/get-members.d.ts.map +1 -0
- package/dist/commands/organizations/get-members.js +30 -0
- package/dist/commands/organizations/get-members.js.map +1 -0
- package/dist/commands/plans/get-agents-associated-to-a-plan.d.ts +19 -0
- package/dist/commands/plans/get-agents-associated-to-a-plan.d.ts.map +1 -0
- package/dist/commands/plans/get-agents-associated-to-a-plan.js +36 -0
- package/dist/commands/plans/get-agents-associated-to-a-plan.js.map +1 -0
- package/dist/commands/plans/get-crypto-price-config.d.ts +18 -0
- package/dist/commands/plans/get-crypto-price-config.d.ts.map +1 -0
- package/dist/commands/plans/get-crypto-price-config.js +35 -0
- package/dist/commands/plans/get-crypto-price-config.js.map +1 -0
- package/dist/commands/plans/get-dynamic-credits-config.d.ts +18 -0
- package/dist/commands/plans/get-dynamic-credits-config.d.ts.map +1 -0
- package/dist/commands/plans/get-dynamic-credits-config.js +29 -0
- package/dist/commands/plans/get-dynamic-credits-config.js.map +1 -0
- package/dist/commands/plans/get-erc20-price-config.d.ts +18 -0
- package/dist/commands/plans/get-erc20-price-config.d.ts.map +1 -0
- package/dist/commands/plans/get-erc20-price-config.js +35 -0
- package/dist/commands/plans/get-erc20-price-config.js.map +1 -0
- package/dist/commands/plans/get-expirable-duration-config.d.ts +16 -0
- package/dist/commands/plans/get-expirable-duration-config.d.ts.map +1 -0
- package/dist/commands/plans/get-expirable-duration-config.js +27 -0
- package/dist/commands/plans/get-expirable-duration-config.js.map +1 -0
- package/dist/commands/plans/get-fiat-price-config.d.ts +17 -0
- package/dist/commands/plans/get-fiat-price-config.d.ts.map +1 -0
- package/dist/commands/plans/get-fiat-price-config.js +31 -0
- package/dist/commands/plans/get-fiat-price-config.js.map +1 -0
- package/dist/commands/plans/get-fixed-credits-config.d.ts +17 -0
- package/dist/commands/plans/get-fixed-credits-config.d.ts.map +1 -0
- package/dist/commands/plans/get-fixed-credits-config.js +28 -0
- package/dist/commands/plans/get-fixed-credits-config.js.map +1 -0
- package/dist/commands/plans/get-free-price-config.d.ts +15 -0
- package/dist/commands/plans/get-free-price-config.d.ts.map +1 -0
- package/dist/commands/plans/get-free-price-config.js +25 -0
- package/dist/commands/plans/get-free-price-config.js.map +1 -0
- package/dist/commands/plans/get-native-token-price-config.d.ts +17 -0
- package/dist/commands/plans/get-native-token-price-config.d.ts.map +1 -0
- package/dist/commands/plans/get-native-token-price-config.js +31 -0
- package/dist/commands/plans/get-native-token-price-config.js.map +1 -0
- package/dist/commands/plans/get-non-expirable-duration-config.d.ts +15 -0
- package/dist/commands/plans/get-non-expirable-duration-config.d.ts.map +1 -0
- package/dist/commands/plans/get-non-expirable-duration-config.js +25 -0
- package/dist/commands/plans/get-non-expirable-duration-config.js.map +1 -0
- package/dist/commands/plans/get-pay-as-you-go-credits-config.d.ts +15 -0
- package/dist/commands/plans/get-pay-as-you-go-credits-config.d.ts.map +1 -0
- package/dist/commands/plans/get-pay-as-you-go-credits-config.js +25 -0
- package/dist/commands/plans/get-pay-as-you-go-credits-config.js.map +1 -0
- package/dist/commands/plans/get-pay-as-you-go-price-config.d.ts +18 -0
- package/dist/commands/plans/get-pay-as-you-go-price-config.d.ts.map +1 -0
- package/dist/commands/plans/get-pay-as-you-go-price-config.js +35 -0
- package/dist/commands/plans/get-pay-as-you-go-price-config.js.map +1 -0
- package/dist/commands/plans/get-plan-balance.d.ts +19 -0
- package/dist/commands/plans/get-plan-balance.d.ts.map +1 -0
- package/dist/commands/plans/get-plan-balance.js +36 -0
- package/dist/commands/plans/get-plan-balance.js.map +1 -0
- package/dist/commands/plans/get-plan.d.ts +18 -0
- package/dist/commands/plans/get-plan.d.ts.map +1 -0
- package/dist/commands/plans/get-plan.js +32 -0
- package/dist/commands/plans/get-plan.js.map +1 -0
- package/dist/commands/plans/get-plans.d.ts +19 -0
- package/dist/commands/plans/get-plans.d.ts.map +1 -0
- package/dist/commands/plans/get-plans.js +30 -0
- package/dist/commands/plans/get-plans.js.map +1 -0
- package/dist/commands/plans/mint-plan-credits.d.ts +20 -0
- package/dist/commands/plans/mint-plan-credits.d.ts.map +1 -0
- package/dist/commands/plans/mint-plan-credits.js +37 -0
- package/dist/commands/plans/mint-plan-credits.js.map +1 -0
- package/dist/commands/plans/mint-plan-expirable.d.ts +21 -0
- package/dist/commands/plans/mint-plan-expirable.d.ts.map +1 -0
- package/dist/commands/plans/mint-plan-expirable.js +38 -0
- package/dist/commands/plans/mint-plan-expirable.js.map +1 -0
- package/dist/commands/plans/order-fiat-plan.d.ts +18 -0
- package/dist/commands/plans/order-fiat-plan.d.ts.map +1 -0
- package/dist/commands/plans/order-fiat-plan.js +32 -0
- package/dist/commands/plans/order-fiat-plan.js.map +1 -0
- package/dist/commands/plans/order-plan.d.ts +18 -0
- package/dist/commands/plans/order-plan.d.ts.map +1 -0
- package/dist/commands/plans/order-plan.js +32 -0
- package/dist/commands/plans/order-plan.js.map +1 -0
- package/dist/commands/plans/redeem-credits.d.ts +21 -0
- package/dist/commands/plans/redeem-credits.d.ts.map +1 -0
- package/dist/commands/plans/redeem-credits.js +38 -0
- package/dist/commands/plans/redeem-credits.js.map +1 -0
- package/dist/commands/plans/register-credits-plan.d.ts +18 -0
- package/dist/commands/plans/register-credits-plan.d.ts.map +1 -0
- package/dist/commands/plans/register-credits-plan.js +38 -0
- package/dist/commands/plans/register-credits-plan.js.map +1 -0
- package/dist/commands/plans/register-credits-trial-plan.d.ts +18 -0
- package/dist/commands/plans/register-credits-trial-plan.d.ts.map +1 -0
- package/dist/commands/plans/register-credits-trial-plan.js +38 -0
- package/dist/commands/plans/register-credits-trial-plan.js.map +1 -0
- package/dist/commands/plans/register-plan.d.ts +20 -0
- package/dist/commands/plans/register-plan.d.ts.map +1 -0
- package/dist/commands/plans/register-plan.js +40 -0
- package/dist/commands/plans/register-plan.js.map +1 -0
- package/dist/commands/plans/register-time-plan.d.ts +18 -0
- package/dist/commands/plans/register-time-plan.d.ts.map +1 -0
- package/dist/commands/plans/register-time-plan.js +38 -0
- package/dist/commands/plans/register-time-plan.js.map +1 -0
- package/dist/commands/plans/register-time-trial-plan.d.ts +18 -0
- package/dist/commands/plans/register-time-trial-plan.d.ts.map +1 -0
- package/dist/commands/plans/register-time-trial-plan.js +38 -0
- package/dist/commands/plans/register-time-trial-plan.js.map +1 -0
- package/dist/commands/plans/set-proof-required.d.ts +17 -0
- package/dist/commands/plans/set-proof-required.d.ts.map +1 -0
- package/dist/commands/plans/set-proof-required.js +31 -0
- package/dist/commands/plans/set-proof-required.js.map +1 -0
- package/dist/commands/plans/set-redemption-type.d.ts +17 -0
- package/dist/commands/plans/set-redemption-type.d.ts.map +1 -0
- package/dist/commands/plans/set-redemption-type.js +31 -0
- package/dist/commands/plans/set-redemption-type.js.map +1 -0
- package/dist/commands/x402token/get-x402-access-token.d.ts +22 -0
- package/dist/commands/x402token/get-x402-access-token.d.ts.map +1 -0
- package/dist/commands/x402token/get-x402-access-token.js +36 -0
- package/dist/commands/x402token/get-x402-access-token.js.map +1 -0
- package/dist/generator/api-scanner.d.ts +63 -0
- package/dist/generator/api-scanner.d.ts.map +1 -0
- package/dist/generator/api-scanner.js +228 -0
- package/dist/generator/api-scanner.js.map +1 -0
- package/dist/generator/command-generator.d.ts +91 -0
- package/dist/generator/command-generator.d.ts.map +1 -0
- package/dist/generator/command-generator.js +334 -0
- package/dist/generator/command-generator.js.map +1 -0
- package/dist/generator/generate.d.ts +7 -0
- package/dist/generator/generate.d.ts.map +1 -0
- package/dist/generator/generate.js +70 -0
- package/dist/generator/generate.js.map +1 -0
- package/dist/generator/sync-check.d.ts +7 -0
- package/dist/generator/sync-check.d.ts.map +1 -0
- package/dist/generator/sync-check.js +115 -0
- package/dist/generator/sync-check.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/config-manager.d.ts +27 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-manager.js +120 -0
- package/dist/utils/config-manager.js.map +1 -0
- package/dist/utils/output-formatter.d.ts +46 -0
- package/dist/utils/output-formatter.d.ts.map +1 -0
- package/dist/utils/output-formatter.js +113 -0
- package/dist/utils/output-formatter.js.map +1 -0
- package/oclif.manifest.json +3136 -0
- package/package.json +111 -0
package/README.md
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Nevermined Payments CLI
|
|
2
|
+
|
|
3
|
+
Official command-line interface for the Nevermined Payments SDK.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
### Via npm (global)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g @nevermined-io/payments-cli
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Via npx (no installation)
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx @nevermined-io/payments-cli <command>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### From source
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
git clone https://github.com/nevermined-io/payments
|
|
23
|
+
cd payments/cli
|
|
24
|
+
yarn install
|
|
25
|
+
yarn build
|
|
26
|
+
./bin/run.js --help
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
### 1. Initialize Configuration
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
nvm config init
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This will prompt you for:
|
|
38
|
+
- Your Nevermined API key
|
|
39
|
+
- Target environment (staging_sandbox, staging_live, sandbox, live)
|
|
40
|
+
|
|
41
|
+
Configuration is saved to `~/.config/nvm/config.json`.
|
|
42
|
+
|
|
43
|
+
### 2. List Plans
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
nvm plans list
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 3. Get Plan Details
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
nvm plans get did:nvm:abc123
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 4. Get X402 Access Token
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
nvm x402 get-token did:nvm:plan123
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Usage
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
nvm [COMMAND]
|
|
65
|
+
|
|
66
|
+
TOPICS
|
|
67
|
+
agents Manage AI agents
|
|
68
|
+
config Manage CLI configuration
|
|
69
|
+
plans Manage payment plans
|
|
70
|
+
x402 X402 protocol operations
|
|
71
|
+
|
|
72
|
+
COMMANDS
|
|
73
|
+
help Display help for nvm
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Configuration
|
|
77
|
+
|
|
78
|
+
### Using Environment Variables
|
|
79
|
+
|
|
80
|
+
Instead of `nvm config init`, you can set environment variables:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
export NVM_API_KEY=nvm-your-api-key
|
|
84
|
+
export NVM_ENVIRONMENT=staging_sandbox
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Using Configuration Profiles
|
|
88
|
+
|
|
89
|
+
Support for multiple profiles:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Initialize a production profile
|
|
93
|
+
nvm config init --profile production
|
|
94
|
+
|
|
95
|
+
# Use a specific profile
|
|
96
|
+
nvm plans list --profile production
|
|
97
|
+
|
|
98
|
+
# Show all profiles
|
|
99
|
+
nvm config show --all
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Output Formats
|
|
103
|
+
|
|
104
|
+
All commands support multiple output formats:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Table format (default)
|
|
108
|
+
nvm plans list
|
|
109
|
+
|
|
110
|
+
# JSON format
|
|
111
|
+
nvm plans list --format json
|
|
112
|
+
|
|
113
|
+
# Quiet mode (no output, useful for scripts)
|
|
114
|
+
nvm plans list --format quiet
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Commands
|
|
118
|
+
|
|
119
|
+
### Configuration Commands
|
|
120
|
+
|
|
121
|
+
- `nvm config init` - Initialize CLI configuration
|
|
122
|
+
- `nvm config show` - Display current configuration
|
|
123
|
+
- `nvm config set <key> <value>` - Set a configuration value
|
|
124
|
+
|
|
125
|
+
### Plan Commands
|
|
126
|
+
|
|
127
|
+
- `nvm plans list` - List all payment plans
|
|
128
|
+
- `nvm plans get <planId>` - Get details of a specific plan
|
|
129
|
+
- `nvm plans register` - Register a new payment plan (see help for options)
|
|
130
|
+
|
|
131
|
+
### Agent Commands
|
|
132
|
+
|
|
133
|
+
- `nvm agents list` - List all AI agents
|
|
134
|
+
- `nvm agents get <agentId>` - Get details of a specific agent
|
|
135
|
+
- `nvm agents register` - Register a new AI agent
|
|
136
|
+
|
|
137
|
+
### X402 Commands
|
|
138
|
+
|
|
139
|
+
- `nvm x402 get-token <planId>` - Get an X402 access token for a plan
|
|
140
|
+
|
|
141
|
+
## Examples
|
|
142
|
+
|
|
143
|
+
### Register a Plan and Agent
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# Initialize config
|
|
147
|
+
nvm config init
|
|
148
|
+
|
|
149
|
+
# Get X402 token for a plan
|
|
150
|
+
nvm x402 get-token did:nvm:abc123 --format json
|
|
151
|
+
|
|
152
|
+
# Get plan details
|
|
153
|
+
nvm plans get did:nvm:abc123
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Using JSON Config Files
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Register plan from JSON config
|
|
160
|
+
nvm plans register --config plan-config.json
|
|
161
|
+
|
|
162
|
+
# Register agent from JSON config
|
|
163
|
+
nvm agents register did:nvm:plan123 --config agent-config.json
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Development
|
|
167
|
+
|
|
168
|
+
### Building
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
yarn build
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Testing
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
yarn test
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Linting
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
yarn lint
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## License
|
|
187
|
+
|
|
188
|
+
Apache-2.0
|
|
189
|
+
|
|
190
|
+
## Links
|
|
191
|
+
|
|
192
|
+
- [Nevermined Payments SDK](https://github.com/nevermined-io/payments)
|
|
193
|
+
- [Documentation](https://nevermined.ai/docs)
|
|
194
|
+
- [Nevermined Website](https://nevermined.io)
|
package/bin/dev.js
ADDED
package/bin/run.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
import { Payments } from '@nevermined-io/payments';
|
|
3
|
+
import { ConfigManager } from './utils/config-manager.js';
|
|
4
|
+
import { OutputFormatter } from './utils/output-formatter.js';
|
|
5
|
+
export declare abstract class BaseCommand extends Command {
|
|
6
|
+
static baseFlags: {
|
|
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
|
+
protected configManager: ConfigManager;
|
|
12
|
+
protected formatter: OutputFormatter;
|
|
13
|
+
protected payments?: Payments;
|
|
14
|
+
init(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Initialize Payments SDK instance with configuration
|
|
17
|
+
*/
|
|
18
|
+
protected initPayments(): Promise<Payments>;
|
|
19
|
+
/**
|
|
20
|
+
* Handle errors consistently with helpful messages
|
|
21
|
+
*/
|
|
22
|
+
protected handleError(error: any): void;
|
|
23
|
+
/**
|
|
24
|
+
* Validate required flags
|
|
25
|
+
*/
|
|
26
|
+
protected validateRequired(value: any, name: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Show success message with optional next steps
|
|
29
|
+
*/
|
|
30
|
+
protected showSuccess(message: string, nextSteps?: string[]): void;
|
|
31
|
+
/**
|
|
32
|
+
* Parse JSON input from string, file, or stdin
|
|
33
|
+
*/
|
|
34
|
+
protected parseJsonInput(input?: string): Promise<any>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=base-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,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,8BAAsB,WAAY,SAAQ,OAAO;IAC/C,MAAM,CAAC,SAAS;;;;MAiBf;IAED,SAAS,CAAC,aAAa,EAAG,aAAa,CAAA;IACvC,SAAS,CAAC,SAAS,EAAG,eAAe,CAAA;IACrC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAEvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;cACa,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;IAyCjD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAkDvC;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1D;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAWlE;;OAEG;cACa,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAmB7D"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { Payments } from '@nevermined-io/payments';
|
|
3
|
+
import { ConfigManager } from './utils/config-manager.js';
|
|
4
|
+
import { OutputFormatter } from './utils/output-formatter.js';
|
|
5
|
+
export class BaseCommand extends Command {
|
|
6
|
+
static baseFlags = {
|
|
7
|
+
profile: Flags.string({
|
|
8
|
+
char: 'p',
|
|
9
|
+
description: 'Configuration profile to use',
|
|
10
|
+
required: false,
|
|
11
|
+
}),
|
|
12
|
+
format: Flags.string({
|
|
13
|
+
char: 'f',
|
|
14
|
+
description: 'Output format',
|
|
15
|
+
options: ['table', 'json', 'quiet'],
|
|
16
|
+
default: 'table',
|
|
17
|
+
}),
|
|
18
|
+
verbose: Flags.boolean({
|
|
19
|
+
char: 'v',
|
|
20
|
+
description: 'Verbose output',
|
|
21
|
+
default: false,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
configManager;
|
|
25
|
+
formatter;
|
|
26
|
+
payments;
|
|
27
|
+
async init() {
|
|
28
|
+
await super.init();
|
|
29
|
+
this.configManager = ConfigManager.getInstance();
|
|
30
|
+
const { flags } = await this.parse(this.constructor);
|
|
31
|
+
this.formatter = new OutputFormatter(flags.format || 'table');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Initialize Payments SDK instance with configuration
|
|
35
|
+
*/
|
|
36
|
+
async initPayments() {
|
|
37
|
+
if (this.payments) {
|
|
38
|
+
return this.payments;
|
|
39
|
+
}
|
|
40
|
+
const { flags } = await this.parse(this.constructor);
|
|
41
|
+
const profile = flags.profile;
|
|
42
|
+
// Try environment variables first
|
|
43
|
+
let nvmApiKey = process.env.NVM_API_KEY;
|
|
44
|
+
let environment = process.env.NVM_ENVIRONMENT;
|
|
45
|
+
// Then try config file
|
|
46
|
+
if (!nvmApiKey || !environment) {
|
|
47
|
+
const config = await this.configManager.get(undefined, profile);
|
|
48
|
+
if (config) {
|
|
49
|
+
nvmApiKey = nvmApiKey || config.nvmApiKey;
|
|
50
|
+
environment = environment || config.environment;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (!nvmApiKey) {
|
|
54
|
+
this.error('NVM API Key not found. Set NVM_API_KEY environment variable or run: nvm config init', { exit: 1 });
|
|
55
|
+
}
|
|
56
|
+
if (!environment) {
|
|
57
|
+
this.formatter.warning('Environment not set, using "staging_sandbox" as default');
|
|
58
|
+
environment = 'staging_sandbox';
|
|
59
|
+
}
|
|
60
|
+
this.payments = Payments.getInstance({
|
|
61
|
+
nvmApiKey,
|
|
62
|
+
environment: environment,
|
|
63
|
+
});
|
|
64
|
+
return this.payments;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Handle errors consistently with helpful messages
|
|
68
|
+
*/
|
|
69
|
+
handleError(error) {
|
|
70
|
+
if (!this.formatter) {
|
|
71
|
+
console.error(error.message || 'An unexpected error occurred');
|
|
72
|
+
this.exit(1);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// Extract error message
|
|
76
|
+
const errorMessage = error.message || 'An unexpected error occurred';
|
|
77
|
+
// Provide helpful context based on error type
|
|
78
|
+
if (errorMessage.includes('API Key') || errorMessage.includes('apiKey')) {
|
|
79
|
+
this.formatter.error('API Key Error: ' + errorMessage);
|
|
80
|
+
this.formatter.info('\n💡 Helpful tip:');
|
|
81
|
+
this.formatter.info(' Run: nvm config init');
|
|
82
|
+
this.formatter.info(' Or set: export NVM_API_KEY=your-key-here');
|
|
83
|
+
}
|
|
84
|
+
else if (errorMessage.includes('network') || errorMessage.includes('ECONNREFUSED')) {
|
|
85
|
+
this.formatter.error('Network Error: ' + errorMessage);
|
|
86
|
+
this.formatter.info('\n💡 Helpful tip:');
|
|
87
|
+
this.formatter.info(' Check your internet connection');
|
|
88
|
+
this.formatter.info(' Verify the environment is accessible');
|
|
89
|
+
}
|
|
90
|
+
else if (errorMessage.includes('not found') || errorMessage.includes('404')) {
|
|
91
|
+
this.formatter.error('Resource Not Found: ' + errorMessage);
|
|
92
|
+
this.formatter.info('\n💡 Helpful tip:');
|
|
93
|
+
this.formatter.info(' Verify the ID is correct');
|
|
94
|
+
this.formatter.info(' Check you\'re using the right environment');
|
|
95
|
+
}
|
|
96
|
+
else if (errorMessage.includes('unauthorized') || errorMessage.includes('401')) {
|
|
97
|
+
this.formatter.error('Authentication Error: ' + errorMessage);
|
|
98
|
+
this.formatter.info('\n💡 Helpful tip:');
|
|
99
|
+
this.formatter.info(' Your API key may be invalid or expired');
|
|
100
|
+
this.formatter.info(' Run: nvm config init');
|
|
101
|
+
}
|
|
102
|
+
else if (errorMessage.includes('JSON') || errorMessage.includes('parse')) {
|
|
103
|
+
this.formatter.error('Invalid JSON: ' + errorMessage);
|
|
104
|
+
this.formatter.info('\n💡 Helpful tip:');
|
|
105
|
+
this.formatter.info(' Check your JSON syntax');
|
|
106
|
+
this.formatter.info(' Use a JSON validator: https://jsonlint.com');
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.formatter.error(errorMessage);
|
|
110
|
+
}
|
|
111
|
+
// Show stack trace in verbose mode
|
|
112
|
+
const { flags } = this.parse(this.constructor);
|
|
113
|
+
if (flags?.verbose && error.stack) {
|
|
114
|
+
console.error('\n📋 Stack trace:');
|
|
115
|
+
console.error(error.stack);
|
|
116
|
+
}
|
|
117
|
+
this.exit(1);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Validate required flags
|
|
121
|
+
*/
|
|
122
|
+
validateRequired(value, name) {
|
|
123
|
+
if (value === undefined || value === null || value === '') {
|
|
124
|
+
this.error(`${name} is required`, { exit: 1 });
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Show success message with optional next steps
|
|
129
|
+
*/
|
|
130
|
+
showSuccess(message, nextSteps) {
|
|
131
|
+
this.formatter.success(message);
|
|
132
|
+
if (nextSteps && nextSteps.length > 0) {
|
|
133
|
+
this.formatter.info('\n✨ Next steps:');
|
|
134
|
+
nextSteps.forEach((step, index) => {
|
|
135
|
+
this.formatter.info(` ${index + 1}. ${step}`);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Parse JSON input from string, file, or stdin
|
|
141
|
+
*/
|
|
142
|
+
async parseJsonInput(input) {
|
|
143
|
+
if (!input) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
// If it looks like a file path, read it
|
|
148
|
+
if (input.endsWith('.json')) {
|
|
149
|
+
const fs = await import('fs/promises');
|
|
150
|
+
const content = await fs.readFile(input, 'utf-8');
|
|
151
|
+
return JSON.parse(content);
|
|
152
|
+
}
|
|
153
|
+
// Otherwise parse as JSON string
|
|
154
|
+
return JSON.parse(input);
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
this.error(`Failed to parse JSON input: ${error.message}`, { exit: 1 });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=base-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Adds an existing Payment Plan to an AI Agent. After this operation, users with access to the Payment Plan will be able to access the AI Agent.
|
|
4
|
+
*/
|
|
5
|
+
export default class AddPlanToAgent extends BaseCommand {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
'agent-id': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
static args: {
|
|
15
|
+
plan: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=add-plan-to-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-plan-to-agent.d.ts","sourceRoot":"","sources":["../../../src/commands/agents/add-plan-to-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,OAAgB,WAAW,SAAmJ;IAE9K,OAAgB,QAAQ,WAEvB;IAED,OAAgB,KAAK;;;;;MAGpB;IAED,OAAgB,IAAI;;MAKnB;IAGY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAalC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
/**
|
|
4
|
+
* Adds an existing Payment Plan to an AI Agent. After this operation, users with access to the Payment Plan will be able to access the AI Agent.
|
|
5
|
+
*/
|
|
6
|
+
export default class AddPlanToAgent extends BaseCommand {
|
|
7
|
+
static description = "Adds an existing Payment Plan to an AI Agent. After this operation, users with access to the Payment Plan will be able to access the AI Agent.";
|
|
8
|
+
static examples = [
|
|
9
|
+
'$ nvm agents add-plan-to-agent <planId>'
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
'agent-id': Flags.string({ required: true }),
|
|
14
|
+
};
|
|
15
|
+
static args = {
|
|
16
|
+
plan: Args.string({
|
|
17
|
+
description: "plan identifier",
|
|
18
|
+
required: true,
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
const { flags, args } = await this.parse(this.constructor);
|
|
23
|
+
const payments = await this.initPayments();
|
|
24
|
+
try {
|
|
25
|
+
const result = await payments.agents.addPlanToAgent(args.plan, flags['agent-id']);
|
|
26
|
+
this.formatter.output(result);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
this.handleError(error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=add-plan-to-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-plan-to-agent.js","sourceRoot":"","sources":["../../../src/commands/agents/add-plan-to-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAU,WAAW,GAAG,gJAAgJ,CAAA;IAE9K,MAAM,CAAU,QAAQ,GAAG;QACzB,yCAAyC;KAC1C,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC7C,CAAA;IAED,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAGM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAA;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;YAEjF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the list of plans that can be ordered to get access to an agent.
|
|
4
|
+
*/
|
|
5
|
+
export default class GetAgentPlans extends BaseCommand {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
pagination: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
static args: {
|
|
15
|
+
agent: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=get-agent-plans.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-agent-plans.d.ts","sourceRoot":"","sources":["../../../src/commands/agents/get-agent-plans.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,OAAgB,WAAW,SAA0E;IAErG,OAAgB,QAAQ,WAEvB;IAED,OAAgB,KAAK;;;;;MAMpB;IAED,OAAgB,IAAI;;MAKnB;IAGY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAalC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
/**
|
|
4
|
+
* Gets the list of plans that can be ordered to get access to an agent.
|
|
5
|
+
*/
|
|
6
|
+
export default class GetAgentPlans extends BaseCommand {
|
|
7
|
+
static description = "Gets the list of plans that can be ordered to get access to an agent.";
|
|
8
|
+
static examples = [
|
|
9
|
+
'$ nvm agents get-agent-plans <agentId>'
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
'pagination': Flags.string({
|
|
14
|
+
description: "pagination as JSON string",
|
|
15
|
+
required: false
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
static args = {
|
|
19
|
+
agent: Args.string({
|
|
20
|
+
description: "agent identifier",
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { flags, args } = await this.parse(this.constructor);
|
|
26
|
+
const payments = await this.initPayments();
|
|
27
|
+
try {
|
|
28
|
+
const result = await payments.agents.getAgentPlans(args.agent, await this.parseJsonInput(flags['pagination']));
|
|
29
|
+
this.formatter.output(result);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
this.handleError(error);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=get-agent-plans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-agent-plans.js","sourceRoot":"","sources":["../../../src/commands/agents/get-agent-plans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAU,WAAW,GAAG,uEAAuE,CAAA;IAErG,MAAM,CAAU,QAAQ,GAAG;QACzB,wCAAwC;KACzC,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAA;IAED,MAAM,CAAU,IAAI,GAAG;QACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAGM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAA;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAE9G,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the metadata for a given Agent identifier.
|
|
4
|
+
*/
|
|
5
|
+
export default class GetAgent extends BaseCommand {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
12
|
+
};
|
|
13
|
+
static args: {
|
|
14
|
+
agent: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=get-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-agent.d.ts","sourceRoot":"","sources":["../../../src/commands/agents/get-agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAAoD;IAE/E,OAAgB,QAAQ,WAEvB;IAED,OAAgB,KAAK;;;;MAGpB;IAED,OAAgB,IAAI;;MAKnB;IAGY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAalC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Args } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
/**
|
|
4
|
+
* Gets the metadata for a given Agent identifier.
|
|
5
|
+
*/
|
|
6
|
+
export default class GetAgent extends BaseCommand {
|
|
7
|
+
static description = "Gets the metadata for a given Agent identifier.";
|
|
8
|
+
static examples = [
|
|
9
|
+
'$ nvm agents get-agent <agentId>'
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
};
|
|
14
|
+
static args = {
|
|
15
|
+
agent: Args.string({
|
|
16
|
+
description: "agent identifier",
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { flags, args } = await this.parse(this.constructor);
|
|
22
|
+
const payments = await this.initPayments();
|
|
23
|
+
try {
|
|
24
|
+
const result = await payments.agents.getAgent(args.agent);
|
|
25
|
+
this.formatter.output(result);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
this.handleError(error);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=get-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-agent.js","sourceRoot":"","sources":["../../../src/commands/agents/get-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAS,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAU,WAAW,GAAG,iDAAiD,CAAA;IAE/E,MAAM,CAAU,QAAQ,GAAG;QACzB,kCAAkC;KACnC,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;KAEzB,CAAA;IAED,MAAM,CAAU,IAAI,GAAG;QACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAGM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAA;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAEzD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
/**
|
|
3
|
+
* It registers a new AI Agent and a Payment Plan associated to this new agent. Depending on the Payment Plan and the configuration of the agent, the usage of the agent/service will consume credits. When the plan expires (because the time is over or the credits are consumed), the user needs to renew the plan to continue using the agent.
|
|
4
|
+
*/
|
|
5
|
+
export default class RegisterAgentAndPlan extends BaseCommand {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
'agent-metadata': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
|
+
'agent-api': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
11
|
+
'plan-metadata': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
12
|
+
'price-config': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
13
|
+
'credits-config': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
14
|
+
'access-limit': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
15
|
+
profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
16
|
+
format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
17
|
+
verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=register-agent-and-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-agent-and-plan.d.ts","sourceRoot":"","sources":["../../../src/commands/agents/register-agent-and-plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,WAAW;IAC3D,OAAgB,WAAW,SAAoV;IAE/W,OAAgB,QAAQ,WAEvB;IAED,OAAgB,KAAK;;;;;;;;;;MAoBpB;IAIY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAalC"}
|