codebuff 1.0.143 → 1.0.145

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 (67) hide show
  1. package/dist/chat-storage.js +17 -7
  2. package/dist/chat-storage.js.map +1 -1
  3. package/dist/cli.js +20 -9
  4. package/dist/cli.js.map +1 -1
  5. package/dist/client.js +17 -7
  6. package/dist/client.js.map +1 -1
  7. package/dist/code-map/languages.js +17 -7
  8. package/dist/code-map/languages.js.map +1 -1
  9. package/dist/code-map/parse.js +17 -7
  10. package/dist/code-map/parse.js.map +1 -1
  11. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  12. package/dist/common/constants.d.ts +2 -0
  13. package/dist/common/constants.js +1 -0
  14. package/dist/common/constants.js.map +1 -1
  15. package/dist/common/logger.d.ts +1 -0
  16. package/dist/common/logger.js +7 -0
  17. package/dist/common/logger.js.map +1 -0
  18. package/dist/common/types/usage.d.ts +2 -2
  19. package/dist/common/util/constants.d.ts +1 -0
  20. package/dist/common/util/constants.js +7 -0
  21. package/dist/common/util/constants.js.map +1 -0
  22. package/dist/common/util/credentials.d.ts +2 -2
  23. package/dist/common/util/messages.d.ts +1 -0
  24. package/dist/common/util/messages.js +7 -0
  25. package/dist/common/util/messages.js.map +1 -0
  26. package/dist/index.js +9 -4
  27. package/dist/index.js.map +1 -1
  28. package/dist/menu.js +17 -7
  29. package/dist/menu.js.map +1 -1
  30. package/dist/project-files.js +17 -7
  31. package/dist/project-files.js.map +1 -1
  32. package/dist/utils/terminal.js +17 -10
  33. package/dist/utils/terminal.js.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/common/billing/payment-guards.d.ts +0 -11
  36. package/dist/common/billing/payment-guards.js +0 -136
  37. package/dist/common/billing/payment-guards.js.map +0 -1
  38. package/dist/common/billing/subscription-state.d.ts +0 -13
  39. package/dist/common/billing/subscription-state.js +0 -117
  40. package/dist/common/billing/subscription-state.js.map +0 -1
  41. package/dist/common/billing/webhook-processor.d.ts +0 -21
  42. package/dist/common/billing/webhook-processor.js +0 -315
  43. package/dist/common/billing/webhook-processor.js.map +0 -1
  44. package/dist/common/scripts/get-invoices.d.ts +0 -1
  45. package/dist/common/scripts/get-invoices.js +0 -5
  46. package/dist/common/scripts/get-invoices.js.map +0 -1
  47. package/dist/common/scripts/get-month-overage.d.ts +0 -1
  48. package/dist/common/scripts/get-month-overage.js +0 -5
  49. package/dist/common/scripts/get-month-overage.js.map +0 -1
  50. package/dist/common/scripts/get-upcoming-invoices.d.ts +0 -1
  51. package/dist/common/scripts/get-upcoming-invoices.js +0 -5
  52. package/dist/common/scripts/get-upcoming-invoices.js.map +0 -1
  53. package/dist/common/scripts/update-subscriptions.d.ts +0 -1
  54. package/dist/common/scripts/update-subscriptions.js +0 -92
  55. package/dist/common/scripts/update-subscriptions.js.map +0 -1
  56. package/dist/common/util/get-customer-invoices.d.ts +0 -11
  57. package/dist/common/util/get-customer-invoices.js +0 -117
  58. package/dist/common/util/get-customer-invoices.js.map +0 -1
  59. package/dist/common/util/get-month-overage.d.ts +0 -11
  60. package/dist/common/util/get-month-overage.js +0 -143
  61. package/dist/common/util/get-month-overage.js.map +0 -1
  62. package/dist/common/util/get-upcoming-invoices.d.ts +0 -11
  63. package/dist/common/util/get-upcoming-invoices.js +0 -141
  64. package/dist/common/util/get-upcoming-invoices.js.map +0 -1
  65. package/dist/common/websockets/logger-interface.d.ts +0 -6
  66. package/dist/common/websockets/logger-interface.js +0 -9
  67. package/dist/common/websockets/logger-interface.js.map +0 -1
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAllCustomersWithInvoices = getAllCustomersWithInvoices;
4
- exports.main = main;
5
- const ts_pattern_1 = require("ts-pattern");
6
- const stripe_1 = require("./stripe");
7
- const getCustomerId = (customer) => {
8
- return (0, ts_pattern_1.match)(customer)
9
- .with(
10
- // string ID case
11
- ts_pattern_1.P.string, (id) => id)
12
- .with(
13
- // Customer or DeletedCustomer case
14
- { object: 'customer' }, (customer) => customer.id)
15
- .exhaustive();
16
- };
17
- // Track subscription status for each customer
18
- const subscription_statuses = new Map();
19
- async function getAllCustomersWithInvoices() {
20
- const customers = [];
21
- let hasMore = true;
22
- let startingAfter = undefined;
23
- // Iterate through all subscriptions using cursor pagination
24
- while (hasMore) {
25
- const result = await stripe_1.stripeServer.subscriptions.list({
26
- limit: 100,
27
- starting_after: startingAfter,
28
- status: 'all',
29
- expand: ['data.items'],
30
- });
31
- const { data, has_more } = result;
32
- // Process each subscription
33
- for (const subscription of data) {
34
- // Skip if no metered items in subscription
35
- const hasMeteredItem = subscription.items.data.some((item) => item.price.recurring?.usage_type === 'metered');
36
- if (!hasMeteredItem) {
37
- continue;
38
- }
39
- try {
40
- const customerId = getCustomerId(subscription.customer);
41
- const invoices = await stripe_1.stripeServer.invoices.list({
42
- customer: customerId,
43
- limit: 2, // Get 2 to verify they have more than one
44
- status: 'paid',
45
- });
46
- const customer = await stripe_1.stripeServer.customers.retrieve(subscription.customer);
47
- if (customer.deleted) {
48
- console.log(`Customer ${customer.id} has been deleted, skipping`);
49
- continue;
50
- }
51
- if (invoices.data.length < 2) {
52
- console.log(`Customer ${customer.email} has fewer than 2 paid invoices, skipping`);
53
- continue;
54
- }
55
- const lastInvoice = invoices.data[0];
56
- if (lastInvoice.amount_paid === 0) {
57
- console.log(`Customer ${customer.email} paid $0 on last invoice, skipping`);
58
- continue;
59
- }
60
- subscription_statuses.set(customer.id, {
61
- cancelled: !!subscription.cancellation_details?.reason,
62
- });
63
- customers.push({
64
- customerId: customer.id,
65
- email: customer.email ?? null,
66
- name: customer.name ?? null,
67
- lastInvoice: {
68
- amount: lastInvoice.amount_paid,
69
- date: new Date(lastInvoice.created * 1000),
70
- },
71
- });
72
- }
73
- catch (error) {
74
- console.log(`Error getting invoice for subscription ${subscription.id}`);
75
- }
76
- }
77
- hasMore = has_more;
78
- if (hasMore && data.length > 0) {
79
- startingAfter = data[data.length - 1].id;
80
- }
81
- }
82
- return customers;
83
- }
84
- // Example usage
85
- async function main() {
86
- try {
87
- const customers = await getAllCustomersWithInvoices();
88
- // Split into active and cancelled customers
89
- const activeCustomers = customers.filter((c) => !subscription_statuses.get(c.customerId)?.cancelled);
90
- const cancelledCustomers = customers.filter((c) => subscription_statuses.get(c.customerId)?.cancelled);
91
- console.log('Active customers with past invoices:');
92
- activeCustomers.forEach((customer) => {
93
- console.log(`
94
- Customer: ${customer.name} (${customer.email})
95
- Last Invoice: ${(customer.lastInvoice.amount / 100).toFixed(2)} on ${customer.lastInvoice.date}
96
- `);
97
- });
98
- console.log('\nCancelled customers with past invoices:');
99
- cancelledCustomers.forEach((customer) => {
100
- console.log(`
101
- Customer: ${customer.name} (${customer.email})
102
- Last Invoice: ${(customer.lastInvoice.amount / 100).toFixed(2)} on ${customer.lastInvoice.date}
103
- `);
104
- });
105
- const total = customers.reduce((sum, customer) => sum + customer.lastInvoice.amount, 0);
106
- const totalInDollars = total / 100; // Convert cents to dollars
107
- const average = totalInDollars / customers.length || 0;
108
- console.log(`\nTotal invoice amount (all customers): $${totalInDollars.toFixed(2)}`);
109
- console.log(`Average invoice amount (all customers): $${average.toFixed(2)}`);
110
- console.log(`Total active customers: ${activeCustomers.length}`);
111
- console.log(`Total cancelled customers: ${cancelledCustomers.length}`);
112
- }
113
- catch (error) {
114
- console.error('Error fetching customer data:', error);
115
- }
116
- }
117
- //# sourceMappingURL=get-customer-invoices.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-customer-invoices.js","sourceRoot":"","sources":["../../src/util/get-customer-invoices.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- declare function getAllMonthOverages(): Promise<{
2
- customerId: string;
3
- email: string | null;
4
- name: string | null;
5
- overageInvoice: {
6
- amount: number;
7
- date: Date;
8
- };
9
- }[]>;
10
- declare function main(): Promise<void>;
11
- export { getAllMonthOverages, main };
@@ -1,143 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAllMonthOverages = getAllMonthOverages;
4
- exports.main = main;
5
- const stripe_1 = require("./stripe");
6
- const ts_pattern_1 = require("ts-pattern");
7
- const getCustomerId = (customer) => {
8
- return (0, ts_pattern_1.match)(customer)
9
- .with(
10
- // string ID case
11
- ts_pattern_1.P.string, (id) => id)
12
- .with(
13
- // Customer or DeletedCustomer case
14
- { object: 'customer' }, (customer) => customer.id)
15
- .exhaustive();
16
- };
17
- async function getAllMonthOverages() {
18
- const customersWithOverage = [];
19
- let hasMore = true;
20
- let startingAfter = undefined;
21
- // Iterate through all subscriptions using cursor pagination
22
- while (hasMore) {
23
- const result = await stripe_1.stripeServer.subscriptions.list({
24
- limit: 100,
25
- starting_after: startingAfter,
26
- status: 'active',
27
- expand: ['data.items'],
28
- });
29
- const { data, has_more } = result;
30
- // Process each subscription
31
- for (const subscription of data) {
32
- // Check for metered items in subscription
33
- const hasMeteredItem = subscription.items.data.some((item) => item.price.recurring?.usage_type === 'metered');
34
- if (!hasMeteredItem) {
35
- console.log(`Subscription ${subscription.id} has no metered items, skipping`);
36
- continue;
37
- }
38
- console.log(`Found metered subscription: ${subscription.id}`);
39
- try {
40
- const customerId = getCustomerId(subscription.customer);
41
- const customer = await stripe_1.stripeServer.customers.retrieve(subscription.customer);
42
- if (customer.deleted) {
43
- console.log(`Customer ${customer.id} has been deleted, skipping`);
44
- continue;
45
- }
46
- // Get upcoming invoice
47
- const upcomingInvoice = await stripe_1.stripeServer.invoices.retrieveUpcoming({
48
- customer: customerId,
49
- subscription: subscription.id,
50
- });
51
- // Calculate metered items total from upcoming invoice
52
- const meteredOverageItems = upcomingInvoice.lines.data
53
- .filter(item => item.price?.recurring?.usage_type === 'metered');
54
- console.log(`Customer ${customer.email}: Found ${meteredOverageItems.length} metered items in upcoming invoice`);
55
- console.log(`Customer ${customer.email}: Metered items:`, meteredOverageItems.map(item => ({
56
- amount: item.amount,
57
- description: item.description,
58
- period: item.period
59
- })));
60
- const monthlyOverageTotal = meteredOverageItems.reduce((sum, item) => sum + item.amount, 0);
61
- if (monthlyOverageTotal > 0) {
62
- console.log(`Customer ${customer.email}: Upcoming metered charges: $${(monthlyOverageTotal / 100).toFixed(2)}`);
63
- customersWithOverage.push({
64
- customerId: customer.id,
65
- email: customer.email ?? null,
66
- name: customer.name ?? null,
67
- overageInvoice: {
68
- amount: monthlyOverageTotal,
69
- date: new Date(upcomingInvoice.period_end * 1000),
70
- },
71
- });
72
- }
73
- else {
74
- // If no upcoming charges, check recent invoices
75
- const oneMonthAgo = new Date();
76
- oneMonthAgo.setMonth(oneMonthAgo.getMonth() - 1);
77
- const recentInvoices = await stripe_1.stripeServer.invoices.list({
78
- customer: customerId,
79
- limit: 1,
80
- status: 'paid',
81
- created: {
82
- gte: Math.floor(oneMonthAgo.getTime() / 1000),
83
- },
84
- });
85
- if (recentInvoices.data.length > 0) {
86
- const lastInvoice = recentInvoices.data[0];
87
- const recentOverageItems = lastInvoice.lines.data
88
- .filter(item => item.price?.recurring?.usage_type === 'metered');
89
- console.log(`Customer ${customer.email}: Found ${recentOverageItems.length} metered items in recent invoice`);
90
- console.log(`Customer ${customer.email}: Recent metered items:`, recentOverageItems.map(item => ({
91
- amount: item.amount,
92
- description: item.description,
93
- period: item.period
94
- })));
95
- const recentOverageTotal = recentOverageItems.reduce((sum, item) => sum + item.amount, 0);
96
- if (recentOverageTotal > 0) {
97
- console.log(`Customer ${customer.email}: Recent metered charges: $${(recentOverageTotal / 100).toFixed(2)}`);
98
- customersWithOverage.push({
99
- customerId: customer.id,
100
- email: customer.email ?? null,
101
- name: customer.name ?? null,
102
- overageInvoice: {
103
- amount: recentOverageTotal,
104
- date: new Date(lastInvoice.created * 1000),
105
- },
106
- });
107
- }
108
- }
109
- }
110
- }
111
- catch (error) {
112
- console.log(`Error getting upcoming invoice for subscription ${subscription.id}:`, error);
113
- }
114
- }
115
- hasMore = has_more;
116
- if (hasMore && data.length > 0) {
117
- startingAfter = data[data.length - 1].id;
118
- }
119
- }
120
- return customersWithOverage;
121
- }
122
- async function main() {
123
- try {
124
- const customersWithOverage = await getAllMonthOverages();
125
- console.log('Monthly overage charges:');
126
- customersWithOverage.forEach((customer) => {
127
- console.log(`
128
- Customer: ${customer.name} (${customer.email})
129
- Monthly Overage: $${(customer.overageInvoice.amount / 100).toFixed(2)} due on ${customer.overageInvoice.date}
130
- `);
131
- });
132
- const totalOverage = customersWithOverage.reduce((sum, customer) => sum + customer.overageInvoice.amount, 0);
133
- const totalOverageInDollars = totalOverage / 100;
134
- const averageOverage = totalOverageInDollars / customersWithOverage.length || 0;
135
- console.log(`\nTotal monthly overage: $${totalOverageInDollars.toFixed(2)}`);
136
- console.log(`Average monthly overage: $${averageOverage.toFixed(2)}`);
137
- console.log(`Total customers with overage charges: ${customersWithOverage.length}`);
138
- }
139
- catch (error) {
140
- console.error('Error fetching monthly overage data:', error);
141
- }
142
- }
143
- //# sourceMappingURL=get-month-overage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-month-overage.js","sourceRoot":"","sources":["../../src/util/get-month-overage.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- declare function getAllUpcomingInvoices(): Promise<{
2
- customerId: string;
3
- email: string | null;
4
- name: string | null;
5
- upcomingInvoice: {
6
- amount: number;
7
- date: Date;
8
- };
9
- }[]>;
10
- declare function main(): Promise<void>;
11
- export { getAllUpcomingInvoices, main };
@@ -1,141 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAllUpcomingInvoices = getAllUpcomingInvoices;
4
- exports.main = main;
5
- const stripe_1 = require("./stripe");
6
- const ts_pattern_1 = require("ts-pattern");
7
- const getCustomerId = (customer) => {
8
- return (0, ts_pattern_1.match)(customer)
9
- .with(
10
- // string ID case
11
- ts_pattern_1.P.string, (id) => id)
12
- .with(
13
- // Customer or DeletedCustomer case
14
- { object: 'customer' }, (customer) => customer.id)
15
- .exhaustive();
16
- };
17
- async function getAllUpcomingInvoices() {
18
- const customers = [];
19
- let hasMore = true;
20
- let startingAfter = undefined;
21
- // Iterate through all subscriptions using cursor pagination
22
- while (hasMore) {
23
- const result = await stripe_1.stripeServer.subscriptions.list({
24
- limit: 100,
25
- starting_after: startingAfter,
26
- status: 'active',
27
- expand: ['data.items'],
28
- });
29
- const { data, has_more } = result;
30
- // Process each subscription
31
- for (const subscription of data) {
32
- // Check for metered items in subscription
33
- const hasMeteredItem = subscription.items.data.some((item) => item.price.recurring?.usage_type === 'metered');
34
- if (!hasMeteredItem) {
35
- console.log(`Subscription ${subscription.id} has no metered items, skipping`);
36
- continue;
37
- }
38
- console.log(`Found metered subscription: ${subscription.id}`);
39
- try {
40
- const customerId = getCustomerId(subscription.customer);
41
- const customer = await stripe_1.stripeServer.customers.retrieve(subscription.customer);
42
- if (customer.deleted) {
43
- console.log(`Customer ${customer.id} has been deleted, skipping`);
44
- continue;
45
- }
46
- // Get upcoming invoice
47
- const upcomingInvoice = await stripe_1.stripeServer.invoices.retrieveUpcoming({
48
- customer: customerId,
49
- subscription: subscription.id,
50
- });
51
- // Calculate metered items total from upcoming invoice
52
- const meteredItems = upcomingInvoice.lines.data.filter((item) => item.price?.recurring?.usage_type === 'metered');
53
- console.log(`Customer ${customer.email}: Found ${meteredItems.length} metered items in upcoming invoice`);
54
- console.log(`Customer ${customer.email}: Metered items:`, meteredItems.map(item => ({
55
- amount: item.amount,
56
- description: item.description,
57
- period: item.period
58
- })));
59
- const meteredItemsTotal = meteredItems.reduce((sum, item) => sum + item.amount, 0);
60
- if (meteredItemsTotal > 0) {
61
- console.log(`Customer ${customer.email}: Upcoming metered charges: $${(meteredItemsTotal / 100).toFixed(2)}`);
62
- customers.push({
63
- customerId: customer.id,
64
- email: customer.email ?? null,
65
- name: customer.name ?? null,
66
- upcomingInvoice: {
67
- amount: meteredItemsTotal,
68
- date: new Date(upcomingInvoice.period_end * 1000),
69
- },
70
- });
71
- }
72
- else {
73
- // If no upcoming charges, check recent invoices
74
- const oneMonthAgo = new Date();
75
- oneMonthAgo.setMonth(oneMonthAgo.getMonth() - 1);
76
- const recentInvoices = await stripe_1.stripeServer.invoices.list({
77
- customer: customerId,
78
- limit: 1,
79
- status: 'paid',
80
- created: {
81
- gte: Math.floor(oneMonthAgo.getTime() / 1000),
82
- },
83
- });
84
- if (recentInvoices.data.length > 0) {
85
- const lastInvoice = recentInvoices.data[0];
86
- const recentMeteredItems = lastInvoice.lines.data.filter((item) => item.price?.recurring?.usage_type === 'metered');
87
- console.log(`Customer ${customer.email}: Found ${recentMeteredItems.length} metered items in recent invoice`);
88
- console.log(`Customer ${customer.email}: Recent metered items:`, recentMeteredItems.map(item => ({
89
- amount: item.amount,
90
- description: item.description,
91
- period: item.period
92
- })));
93
- const recentMeteredTotal = recentMeteredItems.reduce((sum, item) => sum + item.amount, 0);
94
- if (recentMeteredTotal > 0) {
95
- console.log(`Customer ${customer.email}: Recent metered charges: $${(recentMeteredTotal / 100).toFixed(2)}`);
96
- customers.push({
97
- customerId: customer.id,
98
- email: customer.email ?? null,
99
- name: customer.name ?? null,
100
- upcomingInvoice: {
101
- amount: recentMeteredTotal,
102
- date: new Date(lastInvoice.created * 1000),
103
- },
104
- });
105
- }
106
- }
107
- }
108
- }
109
- catch (error) {
110
- console.log(`Error getting upcoming invoice for subscription ${subscription.id}:`, error);
111
- }
112
- }
113
- hasMore = has_more;
114
- if (hasMore && data.length > 0) {
115
- startingAfter = data[data.length - 1].id;
116
- }
117
- }
118
- return customers;
119
- }
120
- async function main() {
121
- try {
122
- const customers = await getAllUpcomingInvoices();
123
- console.log('Upcoming metered charges:');
124
- customers.forEach((customer) => {
125
- console.log(`
126
- Customer: ${customer.name} (${customer.email})
127
- Metered Charges: $${(customer.upcomingInvoice.amount / 100).toFixed(2)} due on ${customer.upcomingInvoice.date}
128
- `);
129
- });
130
- const total = customers.reduce((sum, customer) => sum + customer.upcomingInvoice.amount, 0);
131
- const totalInDollars = total / 100;
132
- const average = totalInDollars / customers.length || 0;
133
- console.log(`\nTotal upcoming metered charges: $${totalInDollars.toFixed(2)}`);
134
- console.log(`Average upcoming metered charge: $${average.toFixed(2)}`);
135
- console.log(`Total customers with metered charges: ${customers.length}`);
136
- }
137
- catch (error) {
138
- console.error('Error fetching upcoming invoice data:', error);
139
- }
140
- }
141
- //# sourceMappingURL=get-upcoming-invoices.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-upcoming-invoices.js","sourceRoot":"","sources":["../../src/util/get-upcoming-invoices.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export interface Logger {
2
- info: (...args: any[]) => void;
3
- warn: (...args: any[]) => void;
4
- error: (...args: any[]) => void;
5
- }
6
- export declare const nullLogger: Logger;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nullLogger = void 0;
4
- exports.nullLogger = {
5
- info: () => { },
6
- warn: () => { },
7
- error: () => { },
8
- };
9
- //# sourceMappingURL=logger-interface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger-interface.js","sourceRoot":"","sources":["../../src/websockets/logger-interface.ts"],"names":[],"mappings":";;;AAMa,QAAA,UAAU,GAAW;IAChC,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAA"}