@usenaive-sdk/cli 0.15.0 → 1.0.0

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 (278) hide show
  1. package/README.md +43 -354
  2. package/dist/index.js +51775 -502
  3. package/package.json +22 -18
  4. package/dist/client.d.ts +0 -108
  5. package/dist/client.js +0 -458
  6. package/dist/client.js.map +0 -1
  7. package/dist/commands/account-kits.d.ts +0 -2
  8. package/dist/commands/account-kits.js +0 -71
  9. package/dist/commands/account-kits.js.map +0 -1
  10. package/dist/commands/aeo.d.ts +0 -2
  11. package/dist/commands/aeo.js +0 -451
  12. package/dist/commands/aeo.js.map +0 -1
  13. package/dist/commands/agent-profiles.d.ts +0 -11
  14. package/dist/commands/agent-profiles.js +0 -120
  15. package/dist/commands/agent-profiles.js.map +0 -1
  16. package/dist/commands/agents.d.ts +0 -2
  17. package/dist/commands/agents.js +0 -916
  18. package/dist/commands/agents.js.map +0 -1
  19. package/dist/commands/app-data.d.ts +0 -2
  20. package/dist/commands/app-data.js +0 -445
  21. package/dist/commands/app-data.js.map +0 -1
  22. package/dist/commands/approvals.d.ts +0 -2
  23. package/dist/commands/approvals.js +0 -242
  24. package/dist/commands/approvals.js.map +0 -1
  25. package/dist/commands/apps.d.ts +0 -9
  26. package/dist/commands/apps.js +0 -844
  27. package/dist/commands/apps.js.map +0 -1
  28. package/dist/commands/audio.d.ts +0 -9
  29. package/dist/commands/audio.js +0 -391
  30. package/dist/commands/audio.js.map +0 -1
  31. package/dist/commands/auth.d.ts +0 -31
  32. package/dist/commands/auth.js +0 -428
  33. package/dist/commands/auth.js.map +0 -1
  34. package/dist/commands/billing.d.ts +0 -2
  35. package/dist/commands/billing.js +0 -245
  36. package/dist/commands/billing.js.map +0 -1
  37. package/dist/commands/brain.d.ts +0 -2
  38. package/dist/commands/brain.js +0 -1300
  39. package/dist/commands/brain.js.map +0 -1
  40. package/dist/commands/browser.d.ts +0 -2
  41. package/dist/commands/browser.js +0 -378
  42. package/dist/commands/browser.js.map +0 -1
  43. package/dist/commands/business.d.ts +0 -2
  44. package/dist/commands/business.js +0 -566
  45. package/dist/commands/business.js.map +0 -1
  46. package/dist/commands/cards.d.ts +0 -2
  47. package/dist/commands/cards.js +0 -419
  48. package/dist/commands/cards.js.map +0 -1
  49. package/dist/commands/ceo.d.ts +0 -2
  50. package/dist/commands/ceo.js +0 -369
  51. package/dist/commands/ceo.js.map +0 -1
  52. package/dist/commands/clone.d.ts +0 -2
  53. package/dist/commands/clone.js +0 -203
  54. package/dist/commands/clone.js.map +0 -1
  55. package/dist/commands/companies.d.ts +0 -10
  56. package/dist/commands/companies.js +0 -283
  57. package/dist/commands/companies.js.map +0 -1
  58. package/dist/commands/company-data.d.ts +0 -2
  59. package/dist/commands/company-data.js +0 -168
  60. package/dist/commands/company-data.js.map +0 -1
  61. package/dist/commands/compute.d.ts +0 -2
  62. package/dist/commands/compute.js +0 -498
  63. package/dist/commands/compute.js.map +0 -1
  64. package/dist/commands/config.d.ts +0 -2
  65. package/dist/commands/config.js +0 -36
  66. package/dist/commands/config.js.map +0 -1
  67. package/dist/commands/connections.d.ts +0 -8
  68. package/dist/commands/connections.js +0 -137
  69. package/dist/commands/connections.js.map +0 -1
  70. package/dist/commands/cron-jobs.d.ts +0 -2
  71. package/dist/commands/cron-jobs.js +0 -245
  72. package/dist/commands/cron-jobs.js.map +0 -1
  73. package/dist/commands/domains.d.ts +0 -2
  74. package/dist/commands/domains.js +0 -474
  75. package/dist/commands/domains.js.map +0 -1
  76. package/dist/commands/ecommerce.d.ts +0 -2
  77. package/dist/commands/ecommerce.js +0 -277
  78. package/dist/commands/ecommerce.js.map +0 -1
  79. package/dist/commands/email.d.ts +0 -2
  80. package/dist/commands/email.js +0 -336
  81. package/dist/commands/email.js.map +0 -1
  82. package/dist/commands/employees.d.ts +0 -2
  83. package/dist/commands/employees.js +0 -190
  84. package/dist/commands/employees.js.map +0 -1
  85. package/dist/commands/env.d.ts +0 -7
  86. package/dist/commands/env.js +0 -112
  87. package/dist/commands/env.js.map +0 -1
  88. package/dist/commands/formation.d.ts +0 -2
  89. package/dist/commands/formation.js +0 -273
  90. package/dist/commands/formation.js.map +0 -1
  91. package/dist/commands/identity.d.ts +0 -2
  92. package/dist/commands/identity.js +0 -110
  93. package/dist/commands/identity.js.map +0 -1
  94. package/dist/commands/images.d.ts +0 -2
  95. package/dist/commands/images.js +0 -371
  96. package/dist/commands/images.js.map +0 -1
  97. package/dist/commands/init.d.ts +0 -5
  98. package/dist/commands/init.js +0 -43
  99. package/dist/commands/init.js.map +0 -1
  100. package/dist/commands/jobs.d.ts +0 -2
  101. package/dist/commands/jobs.js +0 -144
  102. package/dist/commands/jobs.js.map +0 -1
  103. package/dist/commands/keys.d.ts +0 -2
  104. package/dist/commands/keys.js +0 -156
  105. package/dist/commands/keys.js.map +0 -1
  106. package/dist/commands/legacy-auth.d.ts +0 -27
  107. package/dist/commands/legacy-auth.js +0 -64
  108. package/dist/commands/legacy-auth.js.map +0 -1
  109. package/dist/commands/llm.d.ts +0 -2
  110. package/dist/commands/llm.js +0 -106
  111. package/dist/commands/llm.js.map +0 -1
  112. package/dist/commands/login.d.ts +0 -2
  113. package/dist/commands/login.js +0 -65
  114. package/dist/commands/login.js.map +0 -1
  115. package/dist/commands/logout.d.ts +0 -7
  116. package/dist/commands/logout.js +0 -55
  117. package/dist/commands/logout.js.map +0 -1
  118. package/dist/commands/logs.d.ts +0 -2
  119. package/dist/commands/logs.js +0 -42
  120. package/dist/commands/logs.js.map +0 -1
  121. package/dist/commands/loops.d.ts +0 -2
  122. package/dist/commands/loops.js +0 -260
  123. package/dist/commands/loops.js.map +0 -1
  124. package/dist/commands/media.d.ts +0 -2
  125. package/dist/commands/media.js +0 -183
  126. package/dist/commands/media.js.map +0 -1
  127. package/dist/commands/memory.d.ts +0 -2
  128. package/dist/commands/memory.js +0 -151
  129. package/dist/commands/memory.js.map +0 -1
  130. package/dist/commands/mobile.d.ts +0 -4
  131. package/dist/commands/mobile.js +0 -382
  132. package/dist/commands/mobile.js.map +0 -1
  133. package/dist/commands/module.d.ts +0 -8
  134. package/dist/commands/module.js +0 -48
  135. package/dist/commands/module.js.map +0 -1
  136. package/dist/commands/objectives.d.ts +0 -2
  137. package/dist/commands/objectives.js +0 -243
  138. package/dist/commands/objectives.js.map +0 -1
  139. package/dist/commands/payments.d.ts +0 -2
  140. package/dist/commands/payments.js +0 -131
  141. package/dist/commands/payments.js.map +0 -1
  142. package/dist/commands/people.d.ts +0 -2
  143. package/dist/commands/people.js +0 -197
  144. package/dist/commands/people.js.map +0 -1
  145. package/dist/commands/phone.d.ts +0 -2
  146. package/dist/commands/phone.js +0 -289
  147. package/dist/commands/phone.js.map +0 -1
  148. package/dist/commands/projects.d.ts +0 -13
  149. package/dist/commands/projects.js +0 -220
  150. package/dist/commands/projects.js.map +0 -1
  151. package/dist/commands/queue.d.ts +0 -2
  152. package/dist/commands/queue.js +0 -121
  153. package/dist/commands/queue.js.map +0 -1
  154. package/dist/commands/register.d.ts +0 -2
  155. package/dist/commands/register.js +0 -80
  156. package/dist/commands/register.js.map +0 -1
  157. package/dist/commands/report.d.ts +0 -17
  158. package/dist/commands/report.js +0 -109
  159. package/dist/commands/report.js.map +0 -1
  160. package/dist/commands/sandbox.d.ts +0 -2
  161. package/dist/commands/sandbox.js +0 -558
  162. package/dist/commands/sandbox.js.map +0 -1
  163. package/dist/commands/search.d.ts +0 -2
  164. package/dist/commands/search.js +0 -223
  165. package/dist/commands/search.js.map +0 -1
  166. package/dist/commands/seo.d.ts +0 -2
  167. package/dist/commands/seo.js +0 -528
  168. package/dist/commands/seo.js.map +0 -1
  169. package/dist/commands/sessions.d.ts +0 -6
  170. package/dist/commands/sessions.js +0 -109
  171. package/dist/commands/sessions.js.map +0 -1
  172. package/dist/commands/social-data.d.ts +0 -2
  173. package/dist/commands/social-data.js +0 -245
  174. package/dist/commands/social-data.js.map +0 -1
  175. package/dist/commands/social.d.ts +0 -2
  176. package/dist/commands/social.js +0 -407
  177. package/dist/commands/social.js.map +0 -1
  178. package/dist/commands/status.d.ts +0 -2
  179. package/dist/commands/status.js +0 -73
  180. package/dist/commands/status.js.map +0 -1
  181. package/dist/commands/support.d.ts +0 -2
  182. package/dist/commands/support.js +0 -134
  183. package/dist/commands/support.js.map +0 -1
  184. package/dist/commands/tasks.d.ts +0 -2
  185. package/dist/commands/tasks.js +0 -409
  186. package/dist/commands/tasks.js.map +0 -1
  187. package/dist/commands/teams.d.ts +0 -69
  188. package/dist/commands/teams.js +0 -503
  189. package/dist/commands/teams.js.map +0 -1
  190. package/dist/commands/trading.d.ts +0 -2
  191. package/dist/commands/trading.js +0 -333
  192. package/dist/commands/trading.js.map +0 -1
  193. package/dist/commands/up.d.ts +0 -551
  194. package/dist/commands/up.js +0 -1149
  195. package/dist/commands/up.js.map +0 -1
  196. package/dist/commands/usage.d.ts +0 -2
  197. package/dist/commands/usage.js +0 -73
  198. package/dist/commands/usage.js.map +0 -1
  199. package/dist/commands/use.d.ts +0 -12
  200. package/dist/commands/use.js +0 -96
  201. package/dist/commands/use.js.map +0 -1
  202. package/dist/commands/users.d.ts +0 -10
  203. package/dist/commands/users.js +0 -82
  204. package/dist/commands/users.js.map +0 -1
  205. package/dist/commands/vault.d.ts +0 -2
  206. package/dist/commands/vault.js +0 -101
  207. package/dist/commands/vault.js.map +0 -1
  208. package/dist/commands/verification.d.ts +0 -2
  209. package/dist/commands/verification.js +0 -152
  210. package/dist/commands/verification.js.map +0 -1
  211. package/dist/commands/verify-email.d.ts +0 -19
  212. package/dist/commands/verify-email.js +0 -112
  213. package/dist/commands/verify-email.js.map +0 -1
  214. package/dist/commands/video.d.ts +0 -2
  215. package/dist/commands/video.js +0 -417
  216. package/dist/commands/video.js.map +0 -1
  217. package/dist/commands/voice.d.ts +0 -2
  218. package/dist/commands/voice.js +0 -516
  219. package/dist/commands/voice.js.map +0 -1
  220. package/dist/commands/wallet.d.ts +0 -2
  221. package/dist/commands/wallet.js +0 -244
  222. package/dist/commands/wallet.js.map +0 -1
  223. package/dist/commands/webhooks.d.ts +0 -13
  224. package/dist/commands/webhooks.js +0 -119
  225. package/dist/commands/webhooks.js.map +0 -1
  226. package/dist/commands/whoami.d.ts +0 -2
  227. package/dist/commands/whoami.js +0 -53
  228. package/dist/commands/whoami.js.map +0 -1
  229. package/dist/config.d.ts +0 -42
  230. package/dist/config.js +0 -83
  231. package/dist/config.js.map +0 -1
  232. package/dist/index.d.ts +0 -3
  233. package/dist/index.js.map +0 -1
  234. package/dist/lib/brain-select.d.ts +0 -193
  235. package/dist/lib/brain-select.js +0 -403
  236. package/dist/lib/brain-select.js.map +0 -1
  237. package/dist/lib/cli-validation.d.ts +0 -12
  238. package/dist/lib/cli-validation.js +0 -46
  239. package/dist/lib/cli-validation.js.map +0 -1
  240. package/dist/lib/config-errors.d.ts +0 -4
  241. package/dist/lib/config-errors.js +0 -13
  242. package/dist/lib/config-errors.js.map +0 -1
  243. package/dist/lib/deprecation.d.ts +0 -158
  244. package/dist/lib/deprecation.js +0 -140
  245. package/dist/lib/deprecation.js.map +0 -1
  246. package/dist/lib/duration.d.ts +0 -8
  247. package/dist/lib/duration.js +0 -11
  248. package/dist/lib/duration.js.map +0 -1
  249. package/dist/lib/http-response.d.ts +0 -11
  250. package/dist/lib/http-response.js +0 -96
  251. package/dist/lib/http-response.js.map +0 -1
  252. package/dist/lib/pricing.d.ts +0 -132
  253. package/dist/lib/pricing.js +0 -148
  254. package/dist/lib/pricing.js.map +0 -1
  255. package/dist/lib/starter-config.d.ts +0 -13
  256. package/dist/lib/starter-config.js +0 -71
  257. package/dist/lib/starter-config.js.map +0 -1
  258. package/dist/lib/stream-frames.d.ts +0 -114
  259. package/dist/lib/stream-frames.js +0 -169
  260. package/dist/lib/stream-frames.js.map +0 -1
  261. package/dist/lib/teams-catalog.d.ts +0 -141
  262. package/dist/lib/teams-catalog.js +0 -841
  263. package/dist/lib/teams-catalog.js.map +0 -1
  264. package/dist/lib/unknown-command.d.ts +0 -71
  265. package/dist/lib/unknown-command.js +0 -132
  266. package/dist/lib/unknown-command.js.map +0 -1
  267. package/dist/lib/version-check.d.ts +0 -26
  268. package/dist/lib/version-check.js +0 -21
  269. package/dist/lib/version-check.js.map +0 -1
  270. package/dist/output.d.ts +0 -174
  271. package/dist/output.js +0 -435
  272. package/dist/output.js.map +0 -1
  273. package/dist/prompt.d.ts +0 -17
  274. package/dist/prompt.js +0 -70
  275. package/dist/prompt.js.map +0 -1
  276. package/dist/version.d.ts +0 -2
  277. package/dist/version.js +0 -14
  278. package/dist/version.js.map +0 -1
@@ -1,245 +0,0 @@
1
- import { Command } from "commander";
2
- import { apiRequest, handleApiError } from "../client.js";
3
- import { agentOutput } from "../output.js";
4
- import { CREDIT_PACKS, packInline, packPrice, packRow } from "../lib/pricing.js";
5
- export const billingCmd = new Command("billing")
6
- .description("Manage billing — plans, subscriptions, credit packs, upgrades")
7
- .addHelpText("after", `
8
- Subcommands:
9
- naive billing plans List available subscription plans
10
- naive billing subscribe Subscribe to a plan (returns checkout URL)
11
- naive billing upgrade Upgrade to a higher plan
12
- naive billing status Check subscription, credits, and billing state
13
- naive billing portal Get billing management URL
14
- naive billing packs List credit top-up packs with prices
15
- naive billing topup Buy a credit pack (returns checkout URL)
16
-
17
- Plans:
18
- Pro $20/mo 400 credits/month All primitives, custom domains, priority support
19
-
20
- 400 credits x $0.05 = $20 — the plan is at par with pay-as-you-go, not a discount.
21
- Past the included credits you spend from your credit balance; top up with a pack.
22
-
23
- \`naive billing plans\` is the authority: it renders the API's own catalogue, and
24
- \`naive billing status\` reports YOUR plan, price and monthly allowance, which for a
25
- subscription bought before a repricing are its ORIGINAL terms, not the ones above.
26
-
27
- Credit Packs (one-time purchase):
28
- ${CREDIT_PACKS.map(packRow).join("\n")}
29
-
30
- New accounts get 20 free credits after verifying their email — buy more anytime with a credit pack or a plan.
31
-
32
- Examples:
33
- $ naive billing plans
34
- $ naive billing subscribe --plan pro
35
- $ naive billing upgrade --plan pro
36
- $ naive billing status
37
- $ naive billing packs
38
- $ naive billing topup --pack medium
39
- $ naive billing portal
40
- `);
41
- billingCmd
42
- .command("plans")
43
- .description("List available subscription plans with pricing and trial info")
44
- .action(async () => {
45
- const resp = await apiRequest("GET", "/v1/billing/plans");
46
- handleApiError("billing.plans", resp);
47
- const data = resp.data;
48
- /**
49
- * Every plan id here is read out of the response, never typed.
50
- *
51
- * These next steps used to say `--plan starter` — the plan the CLI happened to
52
- * be written against. After the single-Pro repricing that id is a 400, so the
53
- * command we printed as the next step could not be run. The API is the only
54
- * thing that knows what it sells; taking the id from its own answer means the
55
- * suggestion cannot outlive the catalogue.
56
- */
57
- const offer = data.plans[0];
58
- const nextSteps = [];
59
- if (data.trial_eligible && offer) {
60
- nextSteps.push({
61
- command: `naive billing subscribe --plan ${offer.id}`,
62
- description: `Start with ${offer.name} (7-day free trial)`,
63
- });
64
- }
65
- if (data.can_upgrade && offer) {
66
- nextSteps.push({
67
- command: `naive billing upgrade --plan ${offer.id}`,
68
- description: `Upgrade to ${offer.name}`,
69
- });
70
- }
71
- nextSteps.push({ command: "naive billing packs", description: "See credit top-up packs" });
72
- // What the caller is on, in their own numbers. Printing the bare plan id was
73
- // how a subscriber ended up reading the catalogue's price as if it were theirs:
74
- // the ids match across a repricing while the terms do not.
75
- const mine = data.current_plan_detail;
76
- agentOutput({
77
- action: "billing.plans",
78
- result: resp.data,
79
- next_steps: nextSteps,
80
- hints: [
81
- mine
82
- ? `Current plan: ${mine.name} — ${mine.price ?? "price unavailable"}, ${mine.credits_per_month} credits/month`
83
- : `Current plan: ${data.current_plan}`,
84
- ...(mine && !mine.is_current_offer
85
- ? [
86
- `Your plan is no longer sold to new subscribers. It is unchanged: you keep ${mine.price ?? "your price"} and ${mine.credits_per_month} credits/month for as long as the subscription runs.`,
87
- ]
88
- : []),
89
- ...(data.trial_eligible ? ["First-time subscribers get a 7-day free trial on a paid plan"] : []),
90
- ],
91
- related_commands: ["naive billing subscribe", "naive billing upgrade", "naive billing packs", "naive billing status"],
92
- });
93
- });
94
- billingCmd
95
- .command("subscribe")
96
- .description("Subscribe to a plan — returns a checkout URL")
97
- // `naive billing plans` is the live list; this names the only sellable id.
98
- .requiredOption("--plan <plan>", "Plan to subscribe to (pro)")
99
- .action(async (opts) => {
100
- const resp = await apiRequest("POST", "/v1/billing/subscribe", { plan: opts.plan });
101
- handleApiError("billing.subscribe", resp);
102
- const data = resp.data;
103
- agentOutput({
104
- action: "billing.subscribe",
105
- result: resp.data,
106
- next_steps: [
107
- { command: "naive billing status", description: "Check if payment completed" },
108
- ],
109
- hints: [
110
- `Open this URL to complete payment: ${data.checkout_url}`,
111
- "After payment, check status with 'naive billing status'",
112
- ],
113
- related_commands: ["naive billing status", "naive billing plans"],
114
- });
115
- });
116
- billingCmd
117
- .command("upgrade")
118
- .description("Upgrade to a higher plan")
119
- .requiredOption("--plan <plan>", "Plan to upgrade to (pro)")
120
- .action(async (opts) => {
121
- const resp = await apiRequest("POST", "/v1/billing/upgrade", { plan: opts.plan });
122
- handleApiError("billing.upgrade", resp);
123
- const data = resp.data;
124
- const url = data.portal_url ?? data.checkout_url;
125
- agentOutput({
126
- action: "billing.upgrade",
127
- result: resp.data,
128
- next_steps: [
129
- { command: "naive billing status", description: "Check updated plan" },
130
- ],
131
- hints: [
132
- `Open this URL to ${data.portal_url ? "manage your plan" : "complete payment"}: ${url}`,
133
- ],
134
- related_commands: ["naive billing status", "naive billing plans"],
135
- });
136
- });
137
- billingCmd
138
- .command("status")
139
- .description("Check subscription, credit balance, and billing state")
140
- .action(async () => {
141
- const resp = await apiRequest("GET", "/v1/billing/status");
142
- handleApiError("billing.status", resp);
143
- const data = resp.data;
144
- const sub = data.subscription;
145
- const billing = data.billing;
146
- const nextSteps = [...data.next_steps];
147
- nextSteps.push({ command: "naive usage", description: "View credit transaction history" });
148
- // The terms come from the response, so a subscription bought before a
149
- // repricing prints ITS price and ITS allowance. Looking either up from a
150
- // local table is how a $149 subscriber gets told they are on a $20 plan.
151
- const terms = sub.price ? ` — ${sub.price}, ${sub.credits_per_month} credits/month` : "";
152
- const hints = [
153
- `Plan: ${sub.plan} (${sub.status})${terms}`,
154
- `Credits remaining: ${sub.credits_remaining}`,
155
- ];
156
- if (sub.price && sub.is_current_offer === false) {
157
- hints.push("This plan is no longer sold to new subscribers. Yours is unchanged — same price, same monthly credits, for as long as the subscription runs.");
158
- }
159
- if (billing.blocked && billing.block_reason) {
160
- hints.push(`Billing blocked: ${billing.block_reason.replace(/_/g, " ")}`);
161
- }
162
- if (billing.is_trialing && billing.trial_days_remaining !== null) {
163
- hints.push(`Trial: ${billing.trial_days_remaining} days remaining`);
164
- }
165
- if (billing.trial_expired) {
166
- hints.push("Trial has expired — subscribe to continue");
167
- }
168
- if (sub.current_period_end) {
169
- hints.push(`Period ends: ${sub.current_period_end}`);
170
- }
171
- agentOutput({
172
- action: "billing.status",
173
- result: resp.data,
174
- next_steps: nextSteps,
175
- hints,
176
- related_commands: ["naive billing plans", "naive billing packs", "naive billing topup", "naive usage"],
177
- });
178
- });
179
- billingCmd
180
- .command("portal")
181
- .description("Get a billing portal URL to manage subscription")
182
- .action(async () => {
183
- const resp = await apiRequest("POST", "/v1/billing/portal");
184
- handleApiError("billing.portal", resp);
185
- const data = resp.data;
186
- agentOutput({
187
- action: "billing.portal",
188
- result: resp.data,
189
- next_steps: [
190
- { command: "naive billing status", description: "Check updated billing state" },
191
- ],
192
- hints: [
193
- `Open this URL to manage your subscription: ${data.portal_url}`,
194
- "From the portal you can update payment method, change plan, or cancel",
195
- ],
196
- related_commands: ["naive billing status", "naive billing plans"],
197
- });
198
- });
199
- billingCmd
200
- .command("packs")
201
- .description("List credit top-up packs with prices")
202
- .action(async () => {
203
- const resp = await apiRequest("GET", "/v1/billing/packs");
204
- handleApiError("billing.packs", resp);
205
- const data = resp.data;
206
- agentOutput({
207
- action: "billing.packs",
208
- result: resp.data,
209
- // The badged packs, described from the same table `--help` prints and the
210
- // API bills — never a second hand-typed "500 credits for $23".
211
- next_steps: CREDIT_PACKS.filter((p) => p.badge).map((p) => ({
212
- command: `naive billing topup --pack ${p.id}`,
213
- description: `Buy ${p.credits} credits for ${packPrice(p)} (${p.badge})`,
214
- })),
215
- hints: [
216
- `Credits remaining: ${data.credits_remaining}`,
217
- "Larger packs are more cost-effective",
218
- "Credits never expire",
219
- ],
220
- related_commands: ["naive billing topup", "naive billing status", "naive billing plans"],
221
- });
222
- });
223
- billingCmd
224
- .command("topup")
225
- .description("Purchase a credit pack — returns a checkout URL")
226
- .requiredOption("--pack <pack_id>", `Pack ID: ${CREDIT_PACKS.map(packInline).join(", ")}`)
227
- .action(async (opts) => {
228
- const resp = await apiRequest("POST", "/v1/billing/topup", { pack_id: opts.pack });
229
- handleApiError("billing.topup", resp);
230
- const data = resp.data;
231
- agentOutput({
232
- action: "billing.topup",
233
- result: resp.data,
234
- next_steps: [
235
- { command: "naive billing status", description: "Check updated credit balance after payment" },
236
- ],
237
- hints: [
238
- `Open this URL to complete payment: ${data.checkout_url}`,
239
- `Purchasing ${data.pack.credits} credits for ${data.pack.price}`,
240
- "Credits are added immediately after payment",
241
- ],
242
- related_commands: ["naive billing status", "naive billing packs"],
243
- });
244
- });
245
- //# sourceMappingURL=billing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/commands/billing.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const brainCmd: Command;