@drawbridge/drawbridge-stripe 0.1.1 → 0.1.2

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.
package/dist/index.js CHANGED
@@ -18,6 +18,39 @@ var require_billing = __commonJS({
18
18
  "Stripe-Version": "2026-01-28.preview"
19
19
  }
20
20
  };
21
+ const billableItems = async () => {
22
+ var _a, _b, _c, _d, _e, _f;
23
+ try {
24
+ const items = [];
25
+ const { data: components } = await axios.get(
26
+ billing + "/pricing_plans/" + process.env.STRIPE_PRICING_AI_PLAN_ID + "/components",
27
+ options
28
+ );
29
+ for (let index = 0; index < ((_a = components == null ? void 0 : components.data) == null ? void 0 : _a.length); index++) {
30
+ const plan = (_b = components == null ? void 0 : components.data) == null ? void 0 : _b[index];
31
+ if ((_c = plan == null ? void 0 : plan.rate_card) == null ? void 0 : _c.id) {
32
+ const { data: rates } = await axios.get(
33
+ billing + "/rate_cards/" + ((_d = plan.rate_card) == null ? void 0 : _d.id) + "/rates",
34
+ options
35
+ );
36
+ for (let i = 0; i < (rates == null ? void 0 : rates.data.length); i++) {
37
+ const element = (_e = rates == null ? void 0 : rates.data) == null ? void 0 : _e[i];
38
+ if ((_f = element == null ? void 0 : element.metered_item) == null ? void 0 : _f.id) {
39
+ items.push({
40
+ id: element.metered_item.id
41
+ });
42
+ }
43
+ }
44
+ ;
45
+ }
46
+ ;
47
+ }
48
+ ;
49
+ return items;
50
+ } catch (error) {
51
+ throw error;
52
+ }
53
+ };
21
54
  const subscribe = async ({
22
55
  currency,
23
56
  customer,
@@ -80,22 +113,24 @@ var require_billing = __commonJS({
80
113
  billing + "/intents/" + (intent == null ? void 0 : intent.id) + "/actions",
81
114
  options
82
115
  );
116
+ const billable_items = await billableItems();
117
+ const filters = [
118
+ {
119
+ credit_grants: {
120
+ applicability_config: {
121
+ scope: {
122
+ billable_items
123
+ }
124
+ }
125
+ },
126
+ customer,
127
+ type: "customer"
128
+ }
129
+ ];
83
130
  const replenish = await stripe2.billing.alerts.create({
84
131
  alert_type: "credit_balance_threshold",
85
132
  credit_balance_threshold: {
86
- filters: [
87
- {
88
- credit_grants: {
89
- applicability_config: {
90
- scope: {
91
- price_type: "metered"
92
- }
93
- }
94
- },
95
- customer,
96
- type: "customer"
97
- }
98
- ],
133
+ filters,
99
134
  lte: {
100
135
  balance_type: "monetary",
101
136
  monetary: {
@@ -110,19 +145,7 @@ var require_billing = __commonJS({
110
145
  const depleted = await stripe2.billing.alerts.create({
111
146
  alert_type: "credit_balance_threshold",
112
147
  credit_balance_threshold: {
113
- filters: [
114
- {
115
- credit_grants: {
116
- applicability_config: {
117
- scope: {
118
- price_type: "metered"
119
- }
120
- }
121
- },
122
- customer,
123
- type: "customer"
124
- }
125
- ],
148
+ filters,
126
149
  lte: {
127
150
  balance_type: "monetary",
128
151
  monetary: {
@@ -221,6 +244,7 @@ var require_billing = __commonJS({
221
244
  ;
222
245
  };
223
246
  return {
247
+ billableItems,
224
248
  subscribe,
225
249
  unsubscribe,
226
250
  usage
package/dist/index.mjs CHANGED
@@ -24,6 +24,39 @@ var require_billing = __commonJS({
24
24
  "Stripe-Version": "2026-01-28.preview"
25
25
  }
26
26
  };
27
+ const billableItems = async () => {
28
+ var _a, _b, _c, _d, _e, _f;
29
+ try {
30
+ const items = [];
31
+ const { data: components } = await axios.get(
32
+ billing + "/pricing_plans/" + process.env.STRIPE_PRICING_AI_PLAN_ID + "/components",
33
+ options
34
+ );
35
+ for (let index = 0; index < ((_a = components == null ? void 0 : components.data) == null ? void 0 : _a.length); index++) {
36
+ const plan = (_b = components == null ? void 0 : components.data) == null ? void 0 : _b[index];
37
+ if ((_c = plan == null ? void 0 : plan.rate_card) == null ? void 0 : _c.id) {
38
+ const { data: rates } = await axios.get(
39
+ billing + "/rate_cards/" + ((_d = plan.rate_card) == null ? void 0 : _d.id) + "/rates",
40
+ options
41
+ );
42
+ for (let i = 0; i < (rates == null ? void 0 : rates.data.length); i++) {
43
+ const element = (_e = rates == null ? void 0 : rates.data) == null ? void 0 : _e[i];
44
+ if ((_f = element == null ? void 0 : element.metered_item) == null ? void 0 : _f.id) {
45
+ items.push({
46
+ id: element.metered_item.id
47
+ });
48
+ }
49
+ }
50
+ ;
51
+ }
52
+ ;
53
+ }
54
+ ;
55
+ return items;
56
+ } catch (error) {
57
+ throw error;
58
+ }
59
+ };
27
60
  const subscribe = async ({
28
61
  currency,
29
62
  customer,
@@ -86,22 +119,24 @@ var require_billing = __commonJS({
86
119
  billing + "/intents/" + (intent == null ? void 0 : intent.id) + "/actions",
87
120
  options
88
121
  );
122
+ const billable_items = await billableItems();
123
+ const filters = [
124
+ {
125
+ credit_grants: {
126
+ applicability_config: {
127
+ scope: {
128
+ billable_items
129
+ }
130
+ }
131
+ },
132
+ customer,
133
+ type: "customer"
134
+ }
135
+ ];
89
136
  const replenish = await stripe.billing.alerts.create({
90
137
  alert_type: "credit_balance_threshold",
91
138
  credit_balance_threshold: {
92
- filters: [
93
- {
94
- credit_grants: {
95
- applicability_config: {
96
- scope: {
97
- price_type: "metered"
98
- }
99
- }
100
- },
101
- customer,
102
- type: "customer"
103
- }
104
- ],
139
+ filters,
105
140
  lte: {
106
141
  balance_type: "monetary",
107
142
  monetary: {
@@ -116,19 +151,7 @@ var require_billing = __commonJS({
116
151
  const depleted = await stripe.billing.alerts.create({
117
152
  alert_type: "credit_balance_threshold",
118
153
  credit_balance_threshold: {
119
- filters: [
120
- {
121
- credit_grants: {
122
- applicability_config: {
123
- scope: {
124
- price_type: "metered"
125
- }
126
- }
127
- },
128
- customer,
129
- type: "customer"
130
- }
131
- ],
154
+ filters,
132
155
  lte: {
133
156
  balance_type: "monetary",
134
157
  monetary: {
@@ -227,6 +250,7 @@ var require_billing = __commonJS({
227
250
  ;
228
251
  };
229
252
  return {
253
+ billableItems,
230
254
  subscribe,
231
255
  unsubscribe,
232
256
  usage
package/package.json CHANGED
@@ -21,8 +21,8 @@
21
21
  "access": "public"
22
22
  },
23
23
  "scripts": {
24
- "build": "tsup ./index.js"
24
+ "build": "tsup ./index.js && npm publish"
25
25
  },
26
26
  "types": "dist/index.d.ts",
27
- "version": "0.1.1"
27
+ "version": "0.1.2"
28
28
  }