@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.
Files changed (209) hide show
  1. package/README.md +194 -0
  2. package/bin/dev.js +5 -0
  3. package/bin/run.js +5 -0
  4. package/dist/base-command.d.ts +36 -0
  5. package/dist/base-command.d.ts.map +1 -0
  6. package/dist/base-command.js +161 -0
  7. package/dist/base-command.js.map +1 -0
  8. package/dist/commands/agents/add-plan-to-agent.d.ts +19 -0
  9. package/dist/commands/agents/add-plan-to-agent.d.ts.map +1 -0
  10. package/dist/commands/agents/add-plan-to-agent.js +33 -0
  11. package/dist/commands/agents/add-plan-to-agent.js.map +1 -0
  12. package/dist/commands/agents/get-agent-plans.d.ts +19 -0
  13. package/dist/commands/agents/get-agent-plans.d.ts.map +1 -0
  14. package/dist/commands/agents/get-agent-plans.js +36 -0
  15. package/dist/commands/agents/get-agent-plans.js.map +1 -0
  16. package/dist/commands/agents/get-agent.d.ts +18 -0
  17. package/dist/commands/agents/get-agent.d.ts.map +1 -0
  18. package/dist/commands/agents/get-agent.js +32 -0
  19. package/dist/commands/agents/get-agent.js.map +1 -0
  20. package/dist/commands/agents/register-agent-and-plan.d.ts +21 -0
  21. package/dist/commands/agents/register-agent-and-plan.d.ts.map +1 -0
  22. package/dist/commands/agents/register-agent-and-plan.js +44 -0
  23. package/dist/commands/agents/register-agent-and-plan.js.map +1 -0
  24. package/dist/commands/agents/register-agent.d.ts +18 -0
  25. package/dist/commands/agents/register-agent.d.ts.map +1 -0
  26. package/dist/commands/agents/register-agent.js +32 -0
  27. package/dist/commands/agents/register-agent.js.map +1 -0
  28. package/dist/commands/agents/remove-plan-from-agent.d.ts +19 -0
  29. package/dist/commands/agents/remove-plan-from-agent.d.ts.map +1 -0
  30. package/dist/commands/agents/remove-plan-from-agent.js +33 -0
  31. package/dist/commands/agents/remove-plan-from-agent.js.map +1 -0
  32. package/dist/commands/agents/update-agent-metadata.d.ts +20 -0
  33. package/dist/commands/agents/update-agent-metadata.d.ts.map +1 -0
  34. package/dist/commands/agents/update-agent-metadata.js +37 -0
  35. package/dist/commands/agents/update-agent-metadata.js.map +1 -0
  36. package/dist/commands/config/init.d.ts +15 -0
  37. package/dist/commands/config/init.d.ts.map +1 -0
  38. package/dist/commands/config/init.js +78 -0
  39. package/dist/commands/config/init.js.map +1 -0
  40. package/dist/commands/config/set.d.ts +16 -0
  41. package/dist/commands/config/set.d.ts.map +1 -0
  42. package/dist/commands/config/set.js +44 -0
  43. package/dist/commands/config/set.js.map +1 -0
  44. package/dist/commands/config/show.d.ts +13 -0
  45. package/dist/commands/config/show.d.ts.map +1 -0
  46. package/dist/commands/config/show.js +53 -0
  47. package/dist/commands/config/show.js.map +1 -0
  48. package/dist/commands/facilitator/settle-permissions.d.ts +16 -0
  49. package/dist/commands/facilitator/settle-permissions.d.ts.map +1 -0
  50. package/dist/commands/facilitator/settle-permissions.js +30 -0
  51. package/dist/commands/facilitator/settle-permissions.js.map +1 -0
  52. package/dist/commands/facilitator/verify-permissions.d.ts +16 -0
  53. package/dist/commands/facilitator/verify-permissions.d.ts.map +1 -0
  54. package/dist/commands/facilitator/verify-permissions.js +30 -0
  55. package/dist/commands/facilitator/verify-permissions.js.map +1 -0
  56. package/dist/commands/organizations/connect-stripe-account.d.ts +18 -0
  57. package/dist/commands/organizations/connect-stripe-account.d.ts.map +1 -0
  58. package/dist/commands/organizations/connect-stripe-account.js +29 -0
  59. package/dist/commands/organizations/connect-stripe-account.js.map +1 -0
  60. package/dist/commands/organizations/create-member.d.ts +20 -0
  61. package/dist/commands/organizations/create-member.d.ts.map +1 -0
  62. package/dist/commands/organizations/create-member.js +34 -0
  63. package/dist/commands/organizations/create-member.js.map +1 -0
  64. package/dist/commands/organizations/get-members.d.ts +19 -0
  65. package/dist/commands/organizations/get-members.d.ts.map +1 -0
  66. package/dist/commands/organizations/get-members.js +30 -0
  67. package/dist/commands/organizations/get-members.js.map +1 -0
  68. package/dist/commands/plans/get-agents-associated-to-a-plan.d.ts +19 -0
  69. package/dist/commands/plans/get-agents-associated-to-a-plan.d.ts.map +1 -0
  70. package/dist/commands/plans/get-agents-associated-to-a-plan.js +36 -0
  71. package/dist/commands/plans/get-agents-associated-to-a-plan.js.map +1 -0
  72. package/dist/commands/plans/get-crypto-price-config.d.ts +18 -0
  73. package/dist/commands/plans/get-crypto-price-config.d.ts.map +1 -0
  74. package/dist/commands/plans/get-crypto-price-config.js +35 -0
  75. package/dist/commands/plans/get-crypto-price-config.js.map +1 -0
  76. package/dist/commands/plans/get-dynamic-credits-config.d.ts +18 -0
  77. package/dist/commands/plans/get-dynamic-credits-config.d.ts.map +1 -0
  78. package/dist/commands/plans/get-dynamic-credits-config.js +29 -0
  79. package/dist/commands/plans/get-dynamic-credits-config.js.map +1 -0
  80. package/dist/commands/plans/get-erc20-price-config.d.ts +18 -0
  81. package/dist/commands/plans/get-erc20-price-config.d.ts.map +1 -0
  82. package/dist/commands/plans/get-erc20-price-config.js +35 -0
  83. package/dist/commands/plans/get-erc20-price-config.js.map +1 -0
  84. package/dist/commands/plans/get-expirable-duration-config.d.ts +16 -0
  85. package/dist/commands/plans/get-expirable-duration-config.d.ts.map +1 -0
  86. package/dist/commands/plans/get-expirable-duration-config.js +27 -0
  87. package/dist/commands/plans/get-expirable-duration-config.js.map +1 -0
  88. package/dist/commands/plans/get-fiat-price-config.d.ts +17 -0
  89. package/dist/commands/plans/get-fiat-price-config.d.ts.map +1 -0
  90. package/dist/commands/plans/get-fiat-price-config.js +31 -0
  91. package/dist/commands/plans/get-fiat-price-config.js.map +1 -0
  92. package/dist/commands/plans/get-fixed-credits-config.d.ts +17 -0
  93. package/dist/commands/plans/get-fixed-credits-config.d.ts.map +1 -0
  94. package/dist/commands/plans/get-fixed-credits-config.js +28 -0
  95. package/dist/commands/plans/get-fixed-credits-config.js.map +1 -0
  96. package/dist/commands/plans/get-free-price-config.d.ts +15 -0
  97. package/dist/commands/plans/get-free-price-config.d.ts.map +1 -0
  98. package/dist/commands/plans/get-free-price-config.js +25 -0
  99. package/dist/commands/plans/get-free-price-config.js.map +1 -0
  100. package/dist/commands/plans/get-native-token-price-config.d.ts +17 -0
  101. package/dist/commands/plans/get-native-token-price-config.d.ts.map +1 -0
  102. package/dist/commands/plans/get-native-token-price-config.js +31 -0
  103. package/dist/commands/plans/get-native-token-price-config.js.map +1 -0
  104. package/dist/commands/plans/get-non-expirable-duration-config.d.ts +15 -0
  105. package/dist/commands/plans/get-non-expirable-duration-config.d.ts.map +1 -0
  106. package/dist/commands/plans/get-non-expirable-duration-config.js +25 -0
  107. package/dist/commands/plans/get-non-expirable-duration-config.js.map +1 -0
  108. package/dist/commands/plans/get-pay-as-you-go-credits-config.d.ts +15 -0
  109. package/dist/commands/plans/get-pay-as-you-go-credits-config.d.ts.map +1 -0
  110. package/dist/commands/plans/get-pay-as-you-go-credits-config.js +25 -0
  111. package/dist/commands/plans/get-pay-as-you-go-credits-config.js.map +1 -0
  112. package/dist/commands/plans/get-pay-as-you-go-price-config.d.ts +18 -0
  113. package/dist/commands/plans/get-pay-as-you-go-price-config.d.ts.map +1 -0
  114. package/dist/commands/plans/get-pay-as-you-go-price-config.js +35 -0
  115. package/dist/commands/plans/get-pay-as-you-go-price-config.js.map +1 -0
  116. package/dist/commands/plans/get-plan-balance.d.ts +19 -0
  117. package/dist/commands/plans/get-plan-balance.d.ts.map +1 -0
  118. package/dist/commands/plans/get-plan-balance.js +36 -0
  119. package/dist/commands/plans/get-plan-balance.js.map +1 -0
  120. package/dist/commands/plans/get-plan.d.ts +18 -0
  121. package/dist/commands/plans/get-plan.d.ts.map +1 -0
  122. package/dist/commands/plans/get-plan.js +32 -0
  123. package/dist/commands/plans/get-plan.js.map +1 -0
  124. package/dist/commands/plans/get-plans.d.ts +19 -0
  125. package/dist/commands/plans/get-plans.d.ts.map +1 -0
  126. package/dist/commands/plans/get-plans.js +30 -0
  127. package/dist/commands/plans/get-plans.js.map +1 -0
  128. package/dist/commands/plans/mint-plan-credits.d.ts +20 -0
  129. package/dist/commands/plans/mint-plan-credits.d.ts.map +1 -0
  130. package/dist/commands/plans/mint-plan-credits.js +37 -0
  131. package/dist/commands/plans/mint-plan-credits.js.map +1 -0
  132. package/dist/commands/plans/mint-plan-expirable.d.ts +21 -0
  133. package/dist/commands/plans/mint-plan-expirable.d.ts.map +1 -0
  134. package/dist/commands/plans/mint-plan-expirable.js +38 -0
  135. package/dist/commands/plans/mint-plan-expirable.js.map +1 -0
  136. package/dist/commands/plans/order-fiat-plan.d.ts +18 -0
  137. package/dist/commands/plans/order-fiat-plan.d.ts.map +1 -0
  138. package/dist/commands/plans/order-fiat-plan.js +32 -0
  139. package/dist/commands/plans/order-fiat-plan.js.map +1 -0
  140. package/dist/commands/plans/order-plan.d.ts +18 -0
  141. package/dist/commands/plans/order-plan.d.ts.map +1 -0
  142. package/dist/commands/plans/order-plan.js +32 -0
  143. package/dist/commands/plans/order-plan.js.map +1 -0
  144. package/dist/commands/plans/redeem-credits.d.ts +21 -0
  145. package/dist/commands/plans/redeem-credits.d.ts.map +1 -0
  146. package/dist/commands/plans/redeem-credits.js +38 -0
  147. package/dist/commands/plans/redeem-credits.js.map +1 -0
  148. package/dist/commands/plans/register-credits-plan.d.ts +18 -0
  149. package/dist/commands/plans/register-credits-plan.d.ts.map +1 -0
  150. package/dist/commands/plans/register-credits-plan.js +38 -0
  151. package/dist/commands/plans/register-credits-plan.js.map +1 -0
  152. package/dist/commands/plans/register-credits-trial-plan.d.ts +18 -0
  153. package/dist/commands/plans/register-credits-trial-plan.d.ts.map +1 -0
  154. package/dist/commands/plans/register-credits-trial-plan.js +38 -0
  155. package/dist/commands/plans/register-credits-trial-plan.js.map +1 -0
  156. package/dist/commands/plans/register-plan.d.ts +20 -0
  157. package/dist/commands/plans/register-plan.d.ts.map +1 -0
  158. package/dist/commands/plans/register-plan.js +40 -0
  159. package/dist/commands/plans/register-plan.js.map +1 -0
  160. package/dist/commands/plans/register-time-plan.d.ts +18 -0
  161. package/dist/commands/plans/register-time-plan.d.ts.map +1 -0
  162. package/dist/commands/plans/register-time-plan.js +38 -0
  163. package/dist/commands/plans/register-time-plan.js.map +1 -0
  164. package/dist/commands/plans/register-time-trial-plan.d.ts +18 -0
  165. package/dist/commands/plans/register-time-trial-plan.d.ts.map +1 -0
  166. package/dist/commands/plans/register-time-trial-plan.js +38 -0
  167. package/dist/commands/plans/register-time-trial-plan.js.map +1 -0
  168. package/dist/commands/plans/set-proof-required.d.ts +17 -0
  169. package/dist/commands/plans/set-proof-required.d.ts.map +1 -0
  170. package/dist/commands/plans/set-proof-required.js +31 -0
  171. package/dist/commands/plans/set-proof-required.js.map +1 -0
  172. package/dist/commands/plans/set-redemption-type.d.ts +17 -0
  173. package/dist/commands/plans/set-redemption-type.d.ts.map +1 -0
  174. package/dist/commands/plans/set-redemption-type.js +31 -0
  175. package/dist/commands/plans/set-redemption-type.js.map +1 -0
  176. package/dist/commands/x402token/get-x402-access-token.d.ts +22 -0
  177. package/dist/commands/x402token/get-x402-access-token.d.ts.map +1 -0
  178. package/dist/commands/x402token/get-x402-access-token.js +36 -0
  179. package/dist/commands/x402token/get-x402-access-token.js.map +1 -0
  180. package/dist/generator/api-scanner.d.ts +63 -0
  181. package/dist/generator/api-scanner.d.ts.map +1 -0
  182. package/dist/generator/api-scanner.js +228 -0
  183. package/dist/generator/api-scanner.js.map +1 -0
  184. package/dist/generator/command-generator.d.ts +91 -0
  185. package/dist/generator/command-generator.d.ts.map +1 -0
  186. package/dist/generator/command-generator.js +334 -0
  187. package/dist/generator/command-generator.js.map +1 -0
  188. package/dist/generator/generate.d.ts +7 -0
  189. package/dist/generator/generate.d.ts.map +1 -0
  190. package/dist/generator/generate.js +70 -0
  191. package/dist/generator/generate.js.map +1 -0
  192. package/dist/generator/sync-check.d.ts +7 -0
  193. package/dist/generator/sync-check.d.ts.map +1 -0
  194. package/dist/generator/sync-check.js +115 -0
  195. package/dist/generator/sync-check.js.map +1 -0
  196. package/dist/index.d.ts +2 -0
  197. package/dist/index.d.ts.map +1 -0
  198. package/dist/index.js +2 -0
  199. package/dist/index.js.map +1 -0
  200. package/dist/utils/config-manager.d.ts +27 -0
  201. package/dist/utils/config-manager.d.ts.map +1 -0
  202. package/dist/utils/config-manager.js +120 -0
  203. package/dist/utils/config-manager.js.map +1 -0
  204. package/dist/utils/output-formatter.d.ts +46 -0
  205. package/dist/utils/output-formatter.d.ts.map +1 -0
  206. package/dist/utils/output-formatter.js +113 -0
  207. package/dist/utils/output-formatter.js.map +1 -0
  208. package/oclif.manifest.json +3136 -0
  209. 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
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env tsx
2
+
3
+ import { execute } from '@oclif/core'
4
+
5
+ await execute({development: true, dir: import.meta.url})
package/bin/run.js ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { execute } from '@oclif/core'
4
+
5
+ await execute({development: false, dir: import.meta.url})
@@ -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"}