@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
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ /**
3
+ * Sets the redemption type in a credits configuration.
4
+ */
5
+ export default class SetRedemptionType extends BaseCommand {
6
+ static description: string;
7
+ static examples: string[];
8
+ static flags: {
9
+ 'credits-config': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ 'redemption-type': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=set-redemption-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-redemption-type.d.ts","sourceRoot":"","sources":["../../../src/commands/plans/set-redemption-type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,OAAgB,WAAW,SAAyD;IAEpF,OAAgB,QAAQ,WAEvB;IAED,OAAgB,KAAK;;;;;;MAOpB;IAIY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAalC"}
@@ -0,0 +1,31 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ /**
4
+ * Sets the redemption type in a credits configuration.
5
+ */
6
+ export default class SetRedemptionType extends BaseCommand {
7
+ static description = "Sets the redemption type in a credits configuration.";
8
+ static examples = [
9
+ '$ nvm plans set-redemption-type'
10
+ ];
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ 'credits-config': Flags.string({
14
+ description: "creditsConfig as JSON string",
15
+ required: true
16
+ }),
17
+ 'redemption-type': Flags.string({ required: true }),
18
+ };
19
+ async run() {
20
+ const { flags } = await this.parse(this.constructor);
21
+ const payments = await this.initPayments();
22
+ try {
23
+ const result = await payments.plans.setRedemptionType(await this.parseJsonInput(flags['credits-config']), flags['redemption-type']);
24
+ this.formatter.output(result);
25
+ }
26
+ catch (error) {
27
+ this.handleError(error);
28
+ }
29
+ }
30
+ }
31
+ //# sourceMappingURL=set-redemption-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-redemption-type.js","sourceRoot":"","sources":["../../../src/commands/plans/set-redemption-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,MAAM,CAAU,WAAW,GAAG,sDAAsD,CAAA;IAEpF,MAAM,CAAU,QAAQ,GAAG;QACzB,iCAAiC;KAClC,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACpD,CAAA;IAIM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAkB,CAAC,CAAA;QAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAE1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAEnI,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,22 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ /**
3
+ * 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.
4
+ */
5
+ export default class GetX402AccessToken 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 | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ 'redemption-limit': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
+ 'order-limit': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
+ expiration: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
+ profile: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
14
+ format: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
15
+ verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
16
+ };
17
+ static args: {
18
+ plan: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
19
+ };
20
+ run(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=get-x402-access-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-x402-access-token.d.ts","sourceRoot":"","sources":["../../../src/commands/x402token/get-x402-access-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,OAAgB,WAAW,SAA2R;IAEtT,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
+ * 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.
5
+ */
6
+ export default class GetX402AccessToken extends BaseCommand {
7
+ static 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.";
8
+ static examples = [
9
+ '$ nvm x402token get-x402-access-token <planId>'
10
+ ];
11
+ static flags = {
12
+ ...BaseCommand.baseFlags,
13
+ 'agent-id': Flags.string({ required: false }),
14
+ 'redemption-limit': Flags.string({ required: false }),
15
+ 'order-limit': Flags.string({ required: false }),
16
+ 'expiration': Flags.string({ required: false }),
17
+ };
18
+ static args = {
19
+ plan: Args.string({
20
+ description: "plan 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.x402.getX402AccessToken(args.plan, flags['agent-id'], flags['redemption-limit'], flags['order-limit'], flags['expiration']);
29
+ this.formatter.output(result);
30
+ }
31
+ catch (error) {
32
+ this.handleError(error);
33
+ }
34
+ }
35
+ }
36
+ //# sourceMappingURL=get-x402-access-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-x402-access-token.js","sourceRoot":"","sources":["../../../src/commands/x402token/get-x402-access-token.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,kBAAmB,SAAQ,WAAW;IACzD,MAAM,CAAU,WAAW,GAAG,wRAAwR,CAAA;IAEtT,MAAM,CAAU,QAAQ,GAAG;QACzB,gDAAgD;KACjD,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,WAAW,CAAC,SAAS;QACxB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7C,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACrD,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAChD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KAChD,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,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;YAEzJ,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,63 @@
1
+ /**
2
+ * API Scanner - Analyzes the Payments SDK API using ts-morph
3
+ * Extracts method signatures, parameters, and JSDoc comments
4
+ */
5
+ export interface MethodParameter {
6
+ name: string;
7
+ type: string;
8
+ optional: boolean;
9
+ description?: string;
10
+ defaultValue?: string;
11
+ }
12
+ export interface MethodInfo {
13
+ name: string;
14
+ className: string;
15
+ description: string;
16
+ parameters: MethodParameter[];
17
+ returnType: string;
18
+ examples: string[];
19
+ isAsync: boolean;
20
+ }
21
+ export interface APIClassInfo {
22
+ name: string;
23
+ description: string;
24
+ methods: MethodInfo[];
25
+ }
26
+ export declare class APIScanner {
27
+ private project;
28
+ private sdkPath;
29
+ constructor(sdkPath: string);
30
+ /**
31
+ * Scan all API classes in the SDK
32
+ */
33
+ scanAPIs(): APIClassInfo[];
34
+ /**
35
+ * Scan a single class
36
+ */
37
+ private scanClass;
38
+ /**
39
+ * Scan a single method
40
+ */
41
+ private scanMethod;
42
+ /**
43
+ * Extract description from JSDoc
44
+ */
45
+ private extractDescription;
46
+ /**
47
+ * Extract examples from JSDoc
48
+ */
49
+ private extractExamples;
50
+ /**
51
+ * Extract parameter documentation from JSDoc
52
+ */
53
+ private extractParamDocs;
54
+ /**
55
+ * Simplify TypeScript type to a human-readable string
56
+ */
57
+ private simplifyType;
58
+ /**
59
+ * Get all API classes and their methods
60
+ */
61
+ getAPISummary(): string;
62
+ }
63
+ //# sourceMappingURL=api-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-scanner.d.ts","sourceRoot":"","sources":["../../src/generator/api-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;gBAEX,OAAO,EAAE,MAAM;IAO3B;;OAEG;IACH,QAAQ,IAAI,YAAY,EAAE;IAkC1B;;OAEG;IACH,OAAO,CAAC,SAAS;IAiCjB;;OAEG;IACH,OAAO,CAAC,UAAU;IA4ClB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;OAEG;IACH,aAAa,IAAI,MAAM;CA2BxB"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * API Scanner - Analyzes the Payments SDK API using ts-morph
3
+ * Extracts method signatures, parameters, and JSDoc comments
4
+ */
5
+ import { Project, SyntaxKind } from 'ts-morph';
6
+ import { join } from 'path';
7
+ export class APIScanner {
8
+ project;
9
+ sdkPath;
10
+ constructor(sdkPath) {
11
+ this.sdkPath = sdkPath;
12
+ this.project = new Project({
13
+ tsConfigFilePath: join(sdkPath, 'tsconfig.json'),
14
+ });
15
+ }
16
+ /**
17
+ * Scan all API classes in the SDK
18
+ */
19
+ scanAPIs() {
20
+ const apiClasses = [];
21
+ // Scan API files (relative to SDK root)
22
+ const apiFiles = [
23
+ 'src/api/plans-api.ts',
24
+ 'src/api/agents-api.ts',
25
+ 'src/x402/token.ts',
26
+ 'src/x402/facilitator-api.ts',
27
+ 'src/api/organizations-api/organizations-api.ts',
28
+ ];
29
+ for (const relativePath of apiFiles) {
30
+ const filePath = join(this.sdkPath, relativePath);
31
+ const sourceFile = this.project.addSourceFileAtPath(filePath);
32
+ if (!sourceFile) {
33
+ console.warn(`File not found: ${filePath}`);
34
+ continue;
35
+ }
36
+ // Find all exported classes
37
+ const classes = sourceFile.getClasses().filter((cls) => cls.isExported());
38
+ for (const cls of classes) {
39
+ const classInfo = this.scanClass(cls);
40
+ if (classInfo) {
41
+ apiClasses.push(classInfo);
42
+ }
43
+ }
44
+ }
45
+ return apiClasses;
46
+ }
47
+ /**
48
+ * Scan a single class
49
+ */
50
+ scanClass(cls) {
51
+ const className = cls.getName();
52
+ if (!className || !className.endsWith('API')) {
53
+ return null;
54
+ }
55
+ // Get class description from JSDoc
56
+ const jsDocs = cls.getJsDocs();
57
+ const description = this.extractDescription(jsDocs);
58
+ // Get all public methods
59
+ const methods = cls
60
+ .getMethods()
61
+ .filter((method) => {
62
+ const modifiers = method.getModifiers();
63
+ const isPublic = !modifiers.some((m) => m.getKind() === SyntaxKind.PrivateKeyword || m.getKind() === SyntaxKind.ProtectedKeyword);
64
+ // Skip static methods and getInstance
65
+ const isStatic = modifiers.some((m) => m.getKind() === SyntaxKind.StaticKeyword);
66
+ const name = method.getName();
67
+ return isPublic && !isStatic && name !== 'getInstance' && !name.startsWith('_');
68
+ })
69
+ .map((method) => this.scanMethod(method, className || ''))
70
+ .filter((m) => m !== null);
71
+ return {
72
+ name: className,
73
+ description,
74
+ methods,
75
+ };
76
+ }
77
+ /**
78
+ * Scan a single method
79
+ */
80
+ scanMethod(method, className) {
81
+ const name = method.getName();
82
+ if (!name)
83
+ return null;
84
+ // Get JSDoc
85
+ const jsDocs = method.getJsDocs();
86
+ const description = this.extractDescription(jsDocs);
87
+ const examples = this.extractExamples(jsDocs);
88
+ const paramDocs = this.extractParamDocs(jsDocs);
89
+ // Get parameters
90
+ const parameters = method.getParameters().map((param) => {
91
+ const paramName = param.getName();
92
+ const paramType = this.simplifyType(param.getType());
93
+ const optional = param.isOptional() || param.hasInitializer();
94
+ const defaultValue = param.getInitializer()?.getText();
95
+ return {
96
+ name: paramName,
97
+ type: paramType,
98
+ optional,
99
+ description: paramDocs[paramName],
100
+ defaultValue,
101
+ };
102
+ });
103
+ // Get return type
104
+ const returnTypeNode = method.getReturnType();
105
+ const returnType = this.simplifyType(returnTypeNode);
106
+ // Check if async
107
+ const isAsync = method.isAsync();
108
+ return {
109
+ name,
110
+ className,
111
+ description,
112
+ parameters,
113
+ returnType,
114
+ examples,
115
+ isAsync,
116
+ };
117
+ }
118
+ /**
119
+ * Extract description from JSDoc
120
+ */
121
+ extractDescription(jsDocs) {
122
+ if (jsDocs.length === 0)
123
+ return '';
124
+ const doc = jsDocs[0];
125
+ const description = doc.getDescription().trim();
126
+ // Remove leading asterisks and clean up
127
+ return description
128
+ .split('\n')
129
+ .map((line) => line.replace(/^\s*\*\s?/, '').trim())
130
+ .filter((line) => line.length > 0)
131
+ .join(' ');
132
+ }
133
+ /**
134
+ * Extract examples from JSDoc
135
+ */
136
+ extractExamples(jsDocs) {
137
+ const examples = [];
138
+ for (const doc of jsDocs) {
139
+ const tags = doc.getTags();
140
+ for (const tag of tags) {
141
+ if (tag.getTagName() === 'example') {
142
+ const exampleText = tag.getComment();
143
+ if (typeof exampleText === 'string') {
144
+ examples.push(exampleText.trim());
145
+ }
146
+ }
147
+ }
148
+ }
149
+ return examples;
150
+ }
151
+ /**
152
+ * Extract parameter documentation from JSDoc
153
+ */
154
+ extractParamDocs(jsDocs) {
155
+ const paramDocs = {};
156
+ for (const doc of jsDocs) {
157
+ const tags = doc.getTags();
158
+ for (const tag of tags) {
159
+ if (tag.getTagName() === 'param') {
160
+ const comment = tag.getComment();
161
+ if (typeof comment === 'string') {
162
+ // Extract parameter name and description
163
+ // Format: @param paramName - description
164
+ const match = comment.match(/^(\w+)\s*-?\s*(.+)$/s);
165
+ if (match) {
166
+ const [, paramName, description] = match;
167
+ paramDocs[paramName] = description.trim();
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }
173
+ return paramDocs;
174
+ }
175
+ /**
176
+ * Simplify TypeScript type to a human-readable string
177
+ */
178
+ simplifyType(type) {
179
+ const typeText = type.getText();
180
+ // Simplify common patterns
181
+ if (typeText.includes('Promise<')) {
182
+ const match = typeText.match(/Promise<(.+)>/);
183
+ if (match) {
184
+ return match[1];
185
+ }
186
+ }
187
+ // Simplify union types
188
+ if (typeText.includes('|')) {
189
+ return typeText;
190
+ }
191
+ // Simplify complex types
192
+ if (typeText.length > 100) {
193
+ if (typeText.includes('{')) {
194
+ return 'object';
195
+ }
196
+ if (typeText.includes('[')) {
197
+ return 'array';
198
+ }
199
+ }
200
+ return typeText;
201
+ }
202
+ /**
203
+ * Get all API classes and their methods
204
+ */
205
+ getAPISummary() {
206
+ const apis = this.scanAPIs();
207
+ let summary = 'Nevermined Payments SDK API Summary\n';
208
+ summary += '='.repeat(50) + '\n\n';
209
+ for (const api of apis) {
210
+ summary += `${api.name}\n`;
211
+ summary += '-'.repeat(api.name.length) + '\n';
212
+ if (api.description) {
213
+ summary += `${api.description}\n\n`;
214
+ }
215
+ for (const method of api.methods) {
216
+ summary += ` ${method.name}(`;
217
+ summary += method.parameters.map((p) => `${p.name}${p.optional ? '?' : ''}: ${p.type}`).join(', ');
218
+ summary += `): ${method.returnType}\n`;
219
+ if (method.description) {
220
+ summary += ` ${method.description}\n`;
221
+ }
222
+ }
223
+ summary += '\n';
224
+ }
225
+ return summary;
226
+ }
227
+ }
228
+ //# sourceMappingURL=api-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-scanner.js","sourceRoot":"","sources":["../../src/generator/api-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAqB,UAAU,EAAe,MAAM,UAAU,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AA0B3B,MAAM,OAAO,UAAU;IACb,OAAO,CAAS;IAChB,OAAO,CAAQ;IAEvB,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;YACzB,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;SACjD,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,UAAU,GAAmB,EAAE,CAAA;QAErC,wCAAwC;QACxC,MAAM,QAAQ,GAAG;YACf,sBAAsB;YACtB,uBAAuB;YACvB,mBAAmB;YACnB,6BAA6B;YAC7B,gDAAgD;SACjD,CAAA;QAED,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;YAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAA;gBAC3C,SAAQ;YACV,CAAC;YAED,4BAA4B;YAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;YAEzE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBACrC,IAAI,SAAS,EAAE,CAAC;oBACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,GAAQ;QACxB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;QAC/B,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAA;QACb,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAA;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QAEnD,yBAAyB;QACzB,MAAM,OAAO,GAAG,GAAG;aAChB,UAAU,EAAE;aACZ,MAAM,CAAC,CAAC,MAAyB,EAAE,EAAE;YACpC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;YACvC,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,cAAc,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,gBAAgB,CAChG,CAAA;YACD,sCAAsC;YACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,CAAC,CAAA;YAChF,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;YAC7B,OAAO,QAAQ,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjF,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;aAC5E,MAAM,CAAC,CAAC,CAAoB,EAAmB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QAEhE,OAAO;YACL,IAAI,EAAE,SAAS;YACf,WAAW;YACX,OAAO;SACR,CAAA;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAyB,EAAE,SAAiB;QAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAEtB,YAAY;QACZ,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAE/C,iBAAiB;QACjB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,CAAA;YAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAA;YAEtD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,QAAQ;gBACR,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC;gBACjC,YAAY;aACb,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,kBAAkB;QAClB,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,CAAA;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAEpD,iBAAiB;QACjB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAEhC,OAAO;YACL,IAAI;YACJ,SAAS;YACT,WAAW;YACX,UAAU;YACV,UAAU;YACV,QAAQ;YACR,OAAO;SACR,CAAA;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAe;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAElC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAA;QAE/C,wCAAwC;QACxC,OAAO,WAAW;aACf,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACjC,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAe;QACrC,MAAM,QAAQ,GAAa,EAAE,CAAA;QAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;oBACpC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;wBACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,MAAe;QACtC,MAAM,SAAS,GAA2B,EAAE,CAAA;QAE5C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,OAAO,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;oBAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChC,yCAAyC;wBACzC,yCAAyC;wBACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;wBACnD,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,KAAK,CAAA;4BACxC,SAAS,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;wBAC3C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAU;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAE/B,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC7C,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,yBAAyB;QACzB,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAA;YACjB,CAAC;YACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC5B,IAAI,OAAO,GAAG,uCAAuC,CAAA;QACrD,OAAO,IAAI,GAAG,CAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAA;QAEnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAA;YAC1B,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;YAC7C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,OAAO,IAAI,GAAG,GAAG,CAAC,WAAW,MAAM,CAAA;YACrC,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjC,OAAO,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAA;gBAC9B,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClG,OAAO,IAAI,MAAM,MAAM,CAAC,UAAU,IAAI,CAAA;gBAEtC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,OAAO,IAAI,OAAO,MAAM,CAAC,WAAW,IAAI,CAAA;gBAC1C,CAAC;YACH,CAAC;YAED,OAAO,IAAI,IAAI,CAAA;QACjB,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Command Generator - Generates oclif command files from API scanner output
3
+ * Uses manual commands as templates and generates new commands from SDK API
4
+ */
5
+ import { APIClassInfo } from './api-scanner.js';
6
+ export interface CommandMetadata {
7
+ className: string;
8
+ methodName: string;
9
+ customizations?: {
10
+ flags?: Record<string, any>;
11
+ examples?: string[];
12
+ beforeInit?: string;
13
+ afterInit?: string;
14
+ };
15
+ }
16
+ export declare class CommandGenerator {
17
+ private outputDir;
18
+ private metadataPath;
19
+ private metadata;
20
+ constructor(outputDir: string, metadataPath?: string);
21
+ /**
22
+ * Load metadata about custom command modifications
23
+ */
24
+ loadMetadata(): Promise<void>;
25
+ /**
26
+ * Save metadata about custom command modifications
27
+ */
28
+ saveMetadata(): Promise<void>;
29
+ /**
30
+ * Generate all commands from API classes
31
+ */
32
+ generateCommands(apis: APIClassInfo[]): Promise<void>;
33
+ /**
34
+ * Generate a single command file
35
+ */
36
+ private generateCommand;
37
+ /**
38
+ * Get the file path for a command
39
+ */
40
+ private getCommandPath;
41
+ /**
42
+ * Generate the TypeScript content for a command
43
+ */
44
+ private generateCommandContent;
45
+ /**
46
+ * Generate flag definitions from method parameters
47
+ */
48
+ private generateFlags;
49
+ /**
50
+ * Generate a single flag definition
51
+ */
52
+ private generateFlagDefinition;
53
+ /**
54
+ * Generate args definitions for positional arguments
55
+ */
56
+ private generateArgs;
57
+ /**
58
+ * Generate example commands
59
+ */
60
+ private generateExamples;
61
+ /**
62
+ * Check if method has positional arguments
63
+ */
64
+ private hasPositionalArgs;
65
+ /**
66
+ * Generate the run method implementation
67
+ */
68
+ private generateRunMethod;
69
+ /**
70
+ * Check if type is a complex object that needs JSON parsing
71
+ */
72
+ private isComplexType;
73
+ /**
74
+ * Generate method call arguments
75
+ */
76
+ private generateMethodCall;
77
+ /**
78
+ * Get the API property name (e.g., PlansAPI -> plans)
79
+ */
80
+ private getAPIProperty;
81
+ /**
82
+ * Get the command class name (e.g., getPlan -> GetPlan)
83
+ */
84
+ private getCommandClassName;
85
+ /**
86
+ * Convert camelCase to kebab-case
87
+ * Handles consecutive capitals like ERC20 -> erc20, APlan -> aplan
88
+ */
89
+ private camelToKebab;
90
+ }
91
+ //# sourceMappingURL=command-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-generator.d.ts","sourceRoot":"","sources":["../../src/generator/command-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAc,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE3D,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAA8B;gBAElC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMpD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBnC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnC;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D;;OAEG;YACW,eAAe;IAe7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAkCrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8B9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+CzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;OAGG;IACH,OAAO,CAAC,YAAY;CAMrB"}