@creem_io/cli 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +155 -0
  2. package/dist/commands/checkouts.d.ts +3 -0
  3. package/dist/commands/checkouts.d.ts.map +1 -0
  4. package/dist/commands/checkouts.js +175 -0
  5. package/dist/commands/checkouts.js.map +1 -0
  6. package/dist/commands/config.d.ts +3 -0
  7. package/dist/commands/config.d.ts.map +1 -0
  8. package/dist/commands/config.js +184 -0
  9. package/dist/commands/config.js.map +1 -0
  10. package/dist/commands/customers.d.ts +3 -0
  11. package/dist/commands/customers.d.ts.map +1 -0
  12. package/dist/commands/customers.js +246 -0
  13. package/dist/commands/customers.js.map +1 -0
  14. package/dist/commands/discounts.d.ts +3 -0
  15. package/dist/commands/discounts.d.ts.map +1 -0
  16. package/dist/commands/discounts.js +419 -0
  17. package/dist/commands/discounts.js.map +1 -0
  18. package/dist/commands/index.d.ts +12 -0
  19. package/dist/commands/index.d.ts.map +1 -0
  20. package/dist/commands/index.js +26 -0
  21. package/dist/commands/index.js.map +1 -0
  22. package/dist/commands/login.d.ts +3 -0
  23. package/dist/commands/login.d.ts.map +1 -0
  24. package/dist/commands/login.js +115 -0
  25. package/dist/commands/login.js.map +1 -0
  26. package/dist/commands/logout.d.ts +3 -0
  27. package/dist/commands/logout.d.ts.map +1 -0
  28. package/dist/commands/logout.js +61 -0
  29. package/dist/commands/logout.js.map +1 -0
  30. package/dist/commands/migrate.d.ts +3 -0
  31. package/dist/commands/migrate.d.ts.map +1 -0
  32. package/dist/commands/migrate.js +1073 -0
  33. package/dist/commands/migrate.js.map +1 -0
  34. package/dist/commands/products.d.ts +3 -0
  35. package/dist/commands/products.d.ts.map +1 -0
  36. package/dist/commands/products.js +400 -0
  37. package/dist/commands/products.js.map +1 -0
  38. package/dist/commands/subscriptions.d.ts +3 -0
  39. package/dist/commands/subscriptions.d.ts.map +1 -0
  40. package/dist/commands/subscriptions.js +476 -0
  41. package/dist/commands/subscriptions.js.map +1 -0
  42. package/dist/commands/transactions.d.ts +3 -0
  43. package/dist/commands/transactions.d.ts.map +1 -0
  44. package/dist/commands/transactions.js +326 -0
  45. package/dist/commands/transactions.js.map +1 -0
  46. package/dist/commands/whoami.d.ts +3 -0
  47. package/dist/commands/whoami.d.ts.map +1 -0
  48. package/dist/commands/whoami.js +76 -0
  49. package/dist/commands/whoami.js.map +1 -0
  50. package/dist/index.d.ts +3 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +109 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/lib/api.d.ts +25 -0
  55. package/dist/lib/api.d.ts.map +1 -0
  56. package/dist/lib/api.js +77 -0
  57. package/dist/lib/api.js.map +1 -0
  58. package/dist/lib/auth.d.ts +28 -0
  59. package/dist/lib/auth.d.ts.map +1 -0
  60. package/dist/lib/auth.js +113 -0
  61. package/dist/lib/auth.js.map +1 -0
  62. package/dist/lib/config.d.ts +34 -0
  63. package/dist/lib/config.d.ts.map +1 -0
  64. package/dist/lib/config.js +144 -0
  65. package/dist/lib/config.js.map +1 -0
  66. package/dist/lib/env-cache.d.ts +10 -0
  67. package/dist/lib/env-cache.d.ts.map +1 -0
  68. package/dist/lib/env-cache.js +27 -0
  69. package/dist/lib/env-cache.js.map +1 -0
  70. package/dist/tui/command-bar.d.ts +10 -0
  71. package/dist/tui/command-bar.d.ts.map +1 -0
  72. package/dist/tui/command-bar.js +35 -0
  73. package/dist/tui/command-bar.js.map +1 -0
  74. package/dist/tui/engine.d.ts +3 -0
  75. package/dist/tui/engine.d.ts.map +1 -0
  76. package/dist/tui/engine.js +454 -0
  77. package/dist/tui/engine.js.map +1 -0
  78. package/dist/tui/index.d.ts +3 -0
  79. package/dist/tui/index.d.ts.map +1 -0
  80. package/dist/tui/index.js +6 -0
  81. package/dist/tui/index.js.map +1 -0
  82. package/dist/tui/keymap.d.ts +29 -0
  83. package/dist/tui/keymap.d.ts.map +1 -0
  84. package/dist/tui/keymap.js +143 -0
  85. package/dist/tui/keymap.js.map +1 -0
  86. package/dist/tui/renderer.d.ts +12 -0
  87. package/dist/tui/renderer.d.ts.map +1 -0
  88. package/dist/tui/renderer.js +379 -0
  89. package/dist/tui/renderer.js.map +1 -0
  90. package/dist/tui/types.d.ts +53 -0
  91. package/dist/tui/types.d.ts.map +1 -0
  92. package/dist/tui/types.js +24 -0
  93. package/dist/tui/types.js.map +1 -0
  94. package/dist/utils/output.d.ts +67 -0
  95. package/dist/utils/output.d.ts.map +1 -0
  96. package/dist/utils/output.js +245 -0
  97. package/dist/utils/output.js.map +1 -0
  98. package/package.json +56 -0
@@ -0,0 +1,476 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.createSubscriptionsCommand = createSubscriptionsCommand;
40
+ const commander_1 = require("commander");
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const ora_1 = __importDefault(require("ora"));
43
+ const api_1 = require("../lib/api");
44
+ const config_1 = require("../lib/config");
45
+ const output = __importStar(require("../utils/output"));
46
+ function formatStatus(status) {
47
+ const statusColors = {
48
+ active: chalk_1.default.green,
49
+ paused: chalk_1.default.yellow,
50
+ canceled: chalk_1.default.red,
51
+ unpaid: chalk_1.default.red,
52
+ trialing: chalk_1.default.cyan,
53
+ scheduled_cancel: chalk_1.default.yellow,
54
+ };
55
+ const normalizedStatus = status?.toLowerCase();
56
+ const colorFn = statusColors[normalizedStatus] || chalk_1.default.white;
57
+ return colorFn(status);
58
+ }
59
+ async function fetchSubscriptionsFromTransactions(options) {
60
+ const client = (0, api_1.getClient)();
61
+ const { targetCount, maxTransactionPages = 20, statusFilter, onProgress } = options;
62
+ // Phase 1: Collect unique subscription IDs from transactions
63
+ const subscriptionIds = new Set();
64
+ let transactionPage = 1;
65
+ let noMoreTransactions = false;
66
+ onProgress?.("Scanning transactions for subscriptions...");
67
+ while (subscriptionIds.size < targetCount && transactionPage <= maxTransactionPages) {
68
+ const transactions = await client.transactions.search(undefined, undefined, undefined, transactionPage, 50);
69
+ const items = transactions.items || [];
70
+ if (items.length === 0) {
71
+ noMoreTransactions = true;
72
+ break;
73
+ }
74
+ for (const txn of items) {
75
+ if (txn.subscription) {
76
+ subscriptionIds.add(txn.subscription);
77
+ }
78
+ }
79
+ transactionPage++;
80
+ }
81
+ if (subscriptionIds.size === 0) {
82
+ return { subscriptions: [], hasMore: false };
83
+ }
84
+ // Phase 2: Batch fetch subscriptions in parallel
85
+ onProgress?.(`Fetching ${subscriptionIds.size} subscription(s)...`);
86
+ const subscriptionIdArray = Array.from(subscriptionIds);
87
+ const allSubscriptions = [];
88
+ const batchSize = 10;
89
+ for (let i = 0; i < subscriptionIdArray.length; i += batchSize) {
90
+ const batch = subscriptionIdArray.slice(i, i + batchSize);
91
+ const results = await Promise.allSettled(batch.map((id) => client.subscriptions.get(id)));
92
+ for (const result of results) {
93
+ if (result.status === "fulfilled") {
94
+ allSubscriptions.push(result.value);
95
+ }
96
+ }
97
+ }
98
+ // Phase 3: Apply status filter if specified
99
+ let filteredSubscriptions = allSubscriptions;
100
+ if (statusFilter) {
101
+ filteredSubscriptions = allSubscriptions.filter((sub) => sub.status.toLowerCase() === statusFilter);
102
+ }
103
+ return {
104
+ subscriptions: filteredSubscriptions,
105
+ hasMore: !noMoreTransactions,
106
+ };
107
+ }
108
+ function formatSubscription(sub, jsonFlag) {
109
+ if ((0, config_1.shouldOutputJson)(jsonFlag)) {
110
+ output.outputJson(sub);
111
+ return;
112
+ }
113
+ const product = typeof sub.product === "object" ? sub.product : null;
114
+ const customer = typeof sub.customer === "object" ? sub.customer : null;
115
+ output.header("Subscription Details");
116
+ output.newline();
117
+ const data = {
118
+ ID: sub.id,
119
+ Status: formatStatus(sub.status),
120
+ Mode: sub.mode,
121
+ Customer: customer
122
+ ? `${customer.email}${customer.name ? ` (${customer.name})` : ""}`
123
+ : sub.customer,
124
+ "Customer ID": customer?.id || sub.customer,
125
+ Product: product?.name || sub.product,
126
+ "Product ID": product?.id || sub.product,
127
+ };
128
+ if (product) {
129
+ data["Price"] = output.formatCurrency(product.price, product.currency);
130
+ if (product.billingPeriod) {
131
+ data["Billing Period"] = product.billingPeriod;
132
+ }
133
+ }
134
+ if (sub.currentPeriodStartDate) {
135
+ data["Period Start"] = output.formatDate(sub.currentPeriodStartDate);
136
+ }
137
+ if (sub.currentPeriodEndDate) {
138
+ data["Period End"] = output.formatDate(sub.currentPeriodEndDate);
139
+ }
140
+ if (sub.nextTransactionDate) {
141
+ data["Next Billing"] = output.formatDate(sub.nextTransactionDate);
142
+ }
143
+ if (sub.canceledAt) {
144
+ data["Canceled At"] = output.formatDate(sub.canceledAt);
145
+ }
146
+ data["Created"] = output.formatDate(sub.createdAt);
147
+ data["Updated"] = output.formatDate(sub.updatedAt);
148
+ output.outputKeyValue(data);
149
+ }
150
+ function getSubscriptionDetailLines(sub) {
151
+ const product = typeof sub.product === "object" ? sub.product : null;
152
+ const customer = typeof sub.customer === "object" ? sub.customer : null;
153
+ const lines = [];
154
+ const dl = output.detailLine;
155
+ lines.push("");
156
+ lines.push(dl("ID", sub.id));
157
+ lines.push(dl("Status", formatStatus(sub.status)));
158
+ lines.push(dl("Mode", sub.mode));
159
+ lines.push(dl("Customer", customer
160
+ ? `${customer.email}${customer.name ? ` (${customer.name})` : ""}`
161
+ : sub.customer));
162
+ lines.push(dl("Customer ID", String(customer?.id || sub.customer)));
163
+ lines.push(dl("Product", String(product?.name || sub.product)));
164
+ lines.push(dl("Product ID", String(product?.id || sub.product)));
165
+ if (product) {
166
+ lines.push(dl("Price", output.formatCurrency(product.price, product.currency)));
167
+ if (product.billingPeriod) {
168
+ lines.push(dl("Billing Period", product.billingPeriod));
169
+ }
170
+ }
171
+ if (sub.currentPeriodStartDate) {
172
+ lines.push(dl("Period Start", output.formatDate(sub.currentPeriodStartDate)));
173
+ }
174
+ if (sub.currentPeriodEndDate) {
175
+ lines.push(dl("Period End", output.formatDate(sub.currentPeriodEndDate)));
176
+ }
177
+ if (sub.nextTransactionDate) {
178
+ lines.push(dl("Next Billing", output.formatDate(sub.nextTransactionDate)));
179
+ }
180
+ if (sub.canceledAt) {
181
+ lines.push(dl("Canceled At", output.formatDate(sub.canceledAt)));
182
+ }
183
+ lines.push(dl("Created", output.formatDate(sub.createdAt)));
184
+ lines.push(dl("Updated", output.formatDate(sub.updatedAt)));
185
+ return lines;
186
+ }
187
+ function getSubscriptionsTuiDescriptor() {
188
+ return {
189
+ name: "Subscriptions",
190
+ columns: [
191
+ { header: "ID", width: 24, value: (s) => s.id },
192
+ {
193
+ header: "Customer",
194
+ width: 28,
195
+ value: (s) => (typeof s.customer === "object" ? s.customer.email : String(s.customer)),
196
+ },
197
+ {
198
+ header: "Product",
199
+ width: 20,
200
+ value: (s) => (typeof s.product === "object" ? s.product.name : String(s.product)),
201
+ },
202
+ { header: "Status", width: 12, value: (s) => formatStatus(s.status) },
203
+ {
204
+ header: "Next Billing",
205
+ width: "auto",
206
+ value: (s) => (s.nextTransactionDate ? output.formatDate(s.nextTransactionDate) : "-"),
207
+ },
208
+ ],
209
+ fetchPage: (() => {
210
+ // Cache subscriptions to avoid re-fetching on pagination
211
+ let cachedSubscriptions = [];
212
+ let hasMorePages = true;
213
+ return async (page, pageSize) => {
214
+ // On page 1 (or refresh), fetch fresh data using shared helper
215
+ if (page === 1) {
216
+ const result = await fetchSubscriptionsFromTransactions({
217
+ targetCount: 200, // Fetch enough for TUI browsing
218
+ maxTransactionPages: 20,
219
+ });
220
+ cachedSubscriptions = result.subscriptions;
221
+ hasMorePages = result.hasMore;
222
+ }
223
+ // Calculate pagination
224
+ const startIndex = (page - 1) * pageSize;
225
+ const endIndex = startIndex + pageSize;
226
+ const pageItems = cachedSubscriptions.slice(startIndex, endIndex);
227
+ // hasMore should be true only if there are actually more items to show:
228
+ // - Either more items exist in cache beyond current page
229
+ // - Or we're on page 1 and API indicated more pages exist (for initial load indicator)
230
+ // Don't use hasMorePages on pages > 1 as we only slice from cache at that point
231
+ const hasMoreInCache = cachedSubscriptions.length > endIndex;
232
+ const mightHaveMoreFromApi = page === 1 && hasMorePages && pageItems.length > 0;
233
+ return {
234
+ items: pageItems,
235
+ hasMore: hasMoreInCache || mightHaveMoreFromApi,
236
+ };
237
+ };
238
+ })(),
239
+ getId: (s) => s.id,
240
+ renderDetail: (s) => getSubscriptionDetailLines(s),
241
+ commands: [
242
+ {
243
+ name: "cancel",
244
+ description: "Cancel subscription",
245
+ requiresSelection: true,
246
+ destructive: true,
247
+ execute: async (item) => {
248
+ const client = (0, api_1.getClient)();
249
+ await client.subscriptions.cancel(item.id, { mode: "immediate" });
250
+ return {
251
+ success: true,
252
+ message: "Subscription canceled",
253
+ refreshList: true,
254
+ };
255
+ },
256
+ },
257
+ {
258
+ name: "pause",
259
+ description: "Pause subscription",
260
+ requiresSelection: true,
261
+ destructive: true,
262
+ execute: async (item) => {
263
+ const client = (0, api_1.getClient)();
264
+ await client.subscriptions.pause(item.id);
265
+ return {
266
+ success: true,
267
+ message: "Subscription paused",
268
+ refreshList: true,
269
+ };
270
+ },
271
+ },
272
+ {
273
+ name: "resume",
274
+ description: "Resume subscription",
275
+ requiresSelection: true,
276
+ execute: async (item) => {
277
+ const client = (0, api_1.getClient)();
278
+ await client.subscriptions.resume(item.id);
279
+ return {
280
+ success: true,
281
+ message: "Subscription resumed",
282
+ refreshList: true,
283
+ };
284
+ },
285
+ },
286
+ ],
287
+ searchFilter: (s, query) => {
288
+ const q = query.toLowerCase();
289
+ const customer = typeof s.customer === "object" ? s.customer.email : String(s.customer);
290
+ const product = typeof s.product === "object" ? s.product.name : String(s.product);
291
+ return (s.id.toLowerCase().includes(q) ||
292
+ customer.toLowerCase().includes(q) ||
293
+ product.toLowerCase().includes(q) ||
294
+ s.status.toLowerCase().includes(q));
295
+ },
296
+ };
297
+ }
298
+ function createSubscriptionsCommand() {
299
+ const command = new commander_1.Command("subscriptions")
300
+ .description("Manage subscriptions")
301
+ .alias("subs")
302
+ .action(async () => {
303
+ const { launchInteractiveMode } = await Promise.resolve().then(() => __importStar(require("../tui")));
304
+ const descriptor = getSubscriptionsTuiDescriptor();
305
+ await launchInteractiveMode(descriptor);
306
+ });
307
+ // Get subscription
308
+ command
309
+ .command("get <id>")
310
+ .description("Get subscription details by ID")
311
+ .option("--json", "Output as JSON")
312
+ .action(async (id, options) => {
313
+ const spinner = (0, ora_1.default)("Fetching subscription...").start();
314
+ try {
315
+ const client = (0, api_1.getClient)();
316
+ const result = (await client.subscriptions.get(id));
317
+ spinner.stop();
318
+ formatSubscription(result, options.json);
319
+ }
320
+ catch (error) {
321
+ spinner.fail("Failed to fetch subscription");
322
+ output.error(error instanceof Error ? error.message : "Unknown error");
323
+ process.exit(1);
324
+ }
325
+ });
326
+ // Cancel subscription
327
+ command
328
+ .command("cancel <id>")
329
+ .description("Cancel a subscription")
330
+ .option("--mode <mode>", "Cancellation mode: immediate or scheduled", "immediate")
331
+ .option("--on-execute <action>", "Action on scheduled cancel: cancel or pause")
332
+ .option("--json", "Output as JSON")
333
+ .action(async (id, options) => {
334
+ const spinner = (0, ora_1.default)("Canceling subscription...").start();
335
+ try {
336
+ const client = (0, api_1.getClient)();
337
+ // Cast to the expected SDK types
338
+ const params = {};
339
+ if (options.mode === "immediate" || options.mode === "scheduled") {
340
+ params.mode = options.mode;
341
+ }
342
+ if (options.onExecute === "cancel" || options.onExecute === "pause") {
343
+ params.onExecute = options.onExecute;
344
+ }
345
+ const result = (await client.subscriptions.cancel(id, params));
346
+ spinner.succeed("Subscription canceled");
347
+ if (!(0, config_1.shouldOutputJson)(options.json)) {
348
+ output.newline();
349
+ }
350
+ formatSubscription(result, options.json);
351
+ }
352
+ catch (error) {
353
+ spinner.fail("Failed to cancel subscription");
354
+ output.error(error instanceof Error ? error.message : "Unknown error");
355
+ process.exit(1);
356
+ }
357
+ });
358
+ // Pause subscription
359
+ command
360
+ .command("pause <id>")
361
+ .description("Pause a subscription")
362
+ .option("--json", "Output as JSON")
363
+ .action(async (id, options) => {
364
+ const spinner = (0, ora_1.default)("Pausing subscription...").start();
365
+ try {
366
+ const client = (0, api_1.getClient)();
367
+ const result = (await client.subscriptions.pause(id));
368
+ spinner.succeed("Subscription paused");
369
+ if (!(0, config_1.shouldOutputJson)(options.json)) {
370
+ output.newline();
371
+ }
372
+ formatSubscription(result, options.json);
373
+ }
374
+ catch (error) {
375
+ spinner.fail("Failed to pause subscription");
376
+ output.error(error instanceof Error ? error.message : "Unknown error");
377
+ process.exit(1);
378
+ }
379
+ });
380
+ // Resume subscription
381
+ command
382
+ .command("resume <id>")
383
+ .description("Resume a paused subscription")
384
+ .option("--json", "Output as JSON")
385
+ .action(async (id, options) => {
386
+ const spinner = (0, ora_1.default)("Resuming subscription...").start();
387
+ try {
388
+ const client = (0, api_1.getClient)();
389
+ const result = (await client.subscriptions.resume(id));
390
+ spinner.succeed("Subscription resumed");
391
+ if (!(0, config_1.shouldOutputJson)(options.json)) {
392
+ output.newline();
393
+ }
394
+ formatSubscription(result, options.json);
395
+ }
396
+ catch (error) {
397
+ spinner.fail("Failed to resume subscription");
398
+ output.error(error instanceof Error ? error.message : "Unknown error");
399
+ process.exit(1);
400
+ }
401
+ });
402
+ // List subscriptions (derived from transactions with subscription field)
403
+ command
404
+ .command("list")
405
+ .description("List all subscriptions")
406
+ .option("--page <number>", "Page number", "1")
407
+ .option("--limit <number>", "Results per page", "10")
408
+ .option("--status <status>", "Filter by status (active, paused, canceled, scheduled_cancel)")
409
+ .option("--json", "Output as JSON")
410
+ .action(async (options) => {
411
+ const spinner = (0, ora_1.default)("Fetching subscriptions...").start();
412
+ try {
413
+ const pageSize = Math.min(parseInt(options.limit || "10", 10), 50);
414
+ const statusFilter = options.status?.toLowerCase();
415
+ const requestedPage = parseInt(options.page || "1", 10);
416
+ // Use shared helper to fetch subscriptions (avoids N+1 queries)
417
+ const targetCount = requestedPage * pageSize + 50; // Fetch extra to account for filtering
418
+ const result = await fetchSubscriptionsFromTransactions({
419
+ targetCount,
420
+ statusFilter,
421
+ onProgress: (msg) => {
422
+ spinner.text = msg;
423
+ },
424
+ });
425
+ if (result.subscriptions.length === 0) {
426
+ spinner.stop();
427
+ output.info("No subscriptions found");
428
+ return;
429
+ }
430
+ // Apply pagination
431
+ const startIndex = (requestedPage - 1) * pageSize;
432
+ const subscriptions = result.subscriptions.slice(startIndex, startIndex + pageSize);
433
+ spinner.stop();
434
+ if ((0, config_1.shouldOutputJson)(options.json)) {
435
+ output.outputJson({
436
+ items: subscriptions,
437
+ total: result.subscriptions.length,
438
+ page: requestedPage,
439
+ pageSize: pageSize,
440
+ note: "Subscriptions derived from transaction history",
441
+ });
442
+ return;
443
+ }
444
+ if (subscriptions.length === 0) {
445
+ output.info("No subscriptions found");
446
+ return;
447
+ }
448
+ // Format as table
449
+ const headers = ["ID", "Customer", "Product", "Status", "Next Billing"];
450
+ const rows = subscriptions.map((sub) => {
451
+ const customer = typeof sub.customer === "object" ? sub.customer.email : sub.customer;
452
+ const product = typeof sub.product === "object" ? sub.product.name : sub.product;
453
+ return [
454
+ sub.id,
455
+ customer,
456
+ product,
457
+ formatStatus(sub.status),
458
+ sub.nextTransactionDate ? output.formatDate(sub.nextTransactionDate) : "-",
459
+ ];
460
+ });
461
+ output.outputTable(headers, rows);
462
+ output.newline();
463
+ output.info(`Showing ${subscriptions.length} of ${result.subscriptions.length} subscription(s) (page ${requestedPage})`);
464
+ if (statusFilter) {
465
+ output.info(`Filtered by status: ${statusFilter}`);
466
+ }
467
+ }
468
+ catch (error) {
469
+ spinner.fail("Failed to fetch subscriptions");
470
+ output.error(error instanceof Error ? error.message : "Unknown error");
471
+ process.exit(1);
472
+ }
473
+ });
474
+ return command;
475
+ }
476
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/commands/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createTransactionsCommand(): Command;
3
+ //# sourceMappingURL=transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/commands/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkQpC,wBAAgB,yBAAyB,IAAI,OAAO,CAuHnD"}