@openmeter/sdk 1.0.0-alpha.4 → 1.0.0-beta-7b2d9ed372e3

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 (261) hide show
  1. package/README.md +45 -70
  2. package/dist/cjs/index.cjs +18 -0
  3. package/dist/cjs/index.d.cts +1 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/src/apps.cjs +176 -0
  6. package/dist/cjs/src/apps.d.cts +338 -0
  7. package/dist/cjs/src/apps.js.map +1 -0
  8. package/dist/cjs/src/billing.cjs +309 -0
  9. package/dist/cjs/src/billing.d.cts +645 -0
  10. package/dist/cjs/src/billing.js.map +1 -0
  11. package/dist/cjs/src/client/apps.cjs +174 -0
  12. package/dist/cjs/src/client/apps.d.cts +339 -0
  13. package/dist/cjs/src/client/apps.js.map +1 -0
  14. package/dist/cjs/src/client/billing.cjs +309 -0
  15. package/dist/cjs/src/client/billing.d.cts +646 -0
  16. package/dist/cjs/src/client/billing.js.map +1 -0
  17. package/dist/cjs/src/client/customers.cjs +185 -0
  18. package/dist/cjs/src/client/customers.d.cts +232 -0
  19. package/dist/cjs/src/client/customers.js.map +1 -0
  20. package/dist/cjs/src/client/entitlements.cjs +244 -0
  21. package/dist/cjs/src/client/entitlements.d.cts +506 -0
  22. package/dist/cjs/src/client/entitlements.js.map +1 -0
  23. package/dist/cjs/src/client/events.cjs +65 -0
  24. package/dist/cjs/src/client/events.d.cts +102 -0
  25. package/dist/cjs/src/client/events.js.map +1 -0
  26. package/dist/cjs/src/client/features.cjs +78 -0
  27. package/dist/cjs/src/client/features.d.cts +154 -0
  28. package/dist/cjs/src/client/features.js.map +1 -0
  29. package/dist/cjs/src/client/index.cjs +100 -0
  30. package/dist/cjs/src/client/index.d.cts +42 -0
  31. package/dist/cjs/src/client/index.js.map +1 -0
  32. package/dist/cjs/src/client/meters.cjs +93 -0
  33. package/dist/cjs/src/client/meters.d.cts +185 -0
  34. package/dist/cjs/src/client/meters.js.map +1 -0
  35. package/dist/cjs/src/client/notifications.cjs +249 -0
  36. package/dist/cjs/src/client/notifications.d.cts +315 -0
  37. package/dist/cjs/src/client/notifications.js.map +1 -0
  38. package/dist/cjs/src/client/plans.cjs +127 -0
  39. package/dist/cjs/src/client/plans.d.cts +193 -0
  40. package/dist/cjs/src/client/plans.js.map +1 -0
  41. package/dist/cjs/src/client/portal.cjs +55 -0
  42. package/dist/cjs/src/client/portal.d.cts +72 -0
  43. package/dist/cjs/src/client/portal.js.map +1 -0
  44. package/dist/cjs/src/client/subjects.cjs +76 -0
  45. package/dist/cjs/src/client/subjects.d.cts +102 -0
  46. package/dist/cjs/src/client/subjects.js.map +1 -0
  47. package/dist/cjs/src/client/subscriptions.cjs +116 -0
  48. package/dist/cjs/src/client/subscriptions.d.cts +198 -0
  49. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  50. package/dist/cjs/src/client/utils.cjs +93 -0
  51. package/dist/cjs/src/client/utils.d.cts +30 -0
  52. package/dist/cjs/src/client/utils.js.map +1 -0
  53. package/dist/cjs/src/customers.cjs +185 -0
  54. package/dist/cjs/src/customers.d.cts +231 -0
  55. package/dist/cjs/src/customers.js.map +1 -0
  56. package/dist/cjs/src/entitlements.cjs +244 -0
  57. package/dist/cjs/src/entitlements.d.cts +505 -0
  58. package/dist/cjs/src/entitlements.js.map +1 -0
  59. package/dist/cjs/src/events.cjs +65 -0
  60. package/dist/cjs/src/events.d.cts +101 -0
  61. package/dist/cjs/src/events.js.map +1 -0
  62. package/dist/cjs/src/features.cjs +78 -0
  63. package/dist/cjs/src/features.d.cts +153 -0
  64. package/dist/cjs/src/features.js.map +1 -0
  65. package/dist/cjs/src/meters.cjs +93 -0
  66. package/dist/cjs/src/meters.d.cts +184 -0
  67. package/dist/cjs/src/meters.js.map +1 -0
  68. package/dist/cjs/src/notifications.cjs +249 -0
  69. package/dist/cjs/src/notifications.d.cts +314 -0
  70. package/dist/cjs/src/notifications.js.map +1 -0
  71. package/dist/cjs/src/plans.cjs +127 -0
  72. package/dist/cjs/src/plans.d.cts +192 -0
  73. package/dist/cjs/src/plans.js.map +1 -0
  74. package/dist/cjs/src/portal/index.cjs +57 -0
  75. package/dist/cjs/src/portal/index.d.cts +113 -0
  76. package/dist/cjs/src/portal/index.js.map +1 -0
  77. package/dist/cjs/src/react/context.cjs +35 -0
  78. package/dist/cjs/src/react/context.d.cts +9 -0
  79. package/dist/cjs/src/react/context.js.map +1 -0
  80. package/dist/cjs/src/subjects.cjs +76 -0
  81. package/dist/cjs/src/subjects.d.cts +101 -0
  82. package/dist/cjs/src/subjects.js.map +1 -0
  83. package/dist/cjs/src/subscriptions.cjs +116 -0
  84. package/dist/cjs/src/subscriptions.d.cts +197 -0
  85. package/dist/cjs/src/subscriptions.js.map +1 -0
  86. package/dist/cjs/src/utils.cjs +93 -0
  87. package/dist/cjs/src/utils.d.cts +29 -0
  88. package/dist/cjs/src/utils.js.map +1 -0
  89. package/dist/cjs/tsconfig.01ab6c6b.tsbuildinfo +1 -0
  90. package/dist/cjs/tsconfig.1e12acbb.tsbuildinfo +1 -0
  91. package/dist/cjs/tsconfig.38849cd1.tsbuildinfo +1 -0
  92. package/dist/cjs/tsconfig.3bd7bdb7.tsbuildinfo +1 -0
  93. package/dist/cjs/tsconfig.3db00db7.tsbuildinfo +1 -0
  94. package/dist/cjs/tsconfig.5cd8af0a.tsbuildinfo +1 -0
  95. package/dist/cjs/tsconfig.64c40770.tsbuildinfo +1 -0
  96. package/dist/cjs/tsconfig.769a7751.tsbuildinfo +1 -0
  97. package/dist/cjs/tsconfig.8fd1c6cd.tsbuildinfo +1 -0
  98. package/dist/cjs/tsconfig.c9e83bdd.tsbuildinfo +1 -0
  99. package/dist/cjs/tsconfig.d3cb3b9e.tsbuildinfo +1 -0
  100. package/dist/cjs/tsconfig.db7aa141.tsbuildinfo +1 -0
  101. package/dist/cjs/tsconfig.edd7b7ed.tsbuildinfo +1 -0
  102. package/dist/cjs/tsconfig.f343a141.tsbuildinfo +1 -0
  103. package/dist/cjs/tsconfig.f36f8639.tsbuildinfo +1 -0
  104. package/dist/cjs/tsconfig.fc8d5fa4.tsbuildinfo +1 -0
  105. package/dist/index.d.ts +1 -23
  106. package/dist/index.js +2 -29
  107. package/dist/index.js.map +1 -0
  108. package/dist/src/apps.d.ts +338 -0
  109. package/dist/src/apps.js +170 -0
  110. package/dist/src/apps.js.map +1 -0
  111. package/dist/src/billing.d.ts +645 -0
  112. package/dist/src/billing.js +302 -0
  113. package/dist/src/billing.js.map +1 -0
  114. package/dist/src/client/apps.d.ts +339 -0
  115. package/dist/src/client/apps.js +168 -0
  116. package/dist/src/client/apps.js.map +1 -0
  117. package/dist/src/client/billing.d.ts +646 -0
  118. package/dist/src/client/billing.js +302 -0
  119. package/dist/src/client/billing.js.map +1 -0
  120. package/dist/src/client/customers.d.ts +232 -0
  121. package/dist/src/client/customers.js +179 -0
  122. package/dist/src/client/customers.js.map +1 -0
  123. package/dist/src/client/entitlements.d.ts +506 -0
  124. package/dist/src/client/entitlements.js +239 -0
  125. package/dist/src/client/entitlements.js.map +1 -0
  126. package/dist/src/client/events.d.ts +102 -0
  127. package/dist/src/client/events.js +58 -0
  128. package/dist/src/client/events.js.map +1 -0
  129. package/dist/src/client/features.d.ts +154 -0
  130. package/dist/src/client/features.js +74 -0
  131. package/dist/src/client/features.js.map +1 -0
  132. package/dist/src/client/index.d.ts +42 -0
  133. package/dist/src/client/index.js +63 -0
  134. package/dist/src/client/index.js.map +1 -0
  135. package/dist/src/client/meters.d.ts +185 -0
  136. package/dist/src/client/meters.js +89 -0
  137. package/dist/src/client/meters.js.map +1 -0
  138. package/dist/src/client/notifications.d.ts +315 -0
  139. package/dist/src/client/notifications.js +242 -0
  140. package/dist/src/client/notifications.js.map +1 -0
  141. package/dist/src/client/plans.d.ts +193 -0
  142. package/dist/src/client/plans.js +123 -0
  143. package/dist/src/client/plans.js.map +1 -0
  144. package/dist/src/client/portal.d.ts +72 -0
  145. package/dist/src/client/portal.js +51 -0
  146. package/dist/src/client/portal.js.map +1 -0
  147. package/dist/src/client/subjects.d.ts +102 -0
  148. package/dist/src/client/subjects.js +72 -0
  149. package/dist/src/client/subjects.js.map +1 -0
  150. package/dist/src/client/subscriptions.d.ts +198 -0
  151. package/dist/src/client/subscriptions.js +112 -0
  152. package/dist/src/client/subscriptions.js.map +1 -0
  153. package/dist/src/client/utils.d.ts +30 -0
  154. package/dist/src/client/utils.js +85 -0
  155. package/dist/src/client/utils.js.map +1 -0
  156. package/dist/src/customers.d.ts +231 -0
  157. package/dist/src/customers.js +179 -0
  158. package/dist/src/customers.js.map +1 -0
  159. package/dist/src/entitlements.d.ts +505 -0
  160. package/dist/src/entitlements.js +239 -0
  161. package/dist/src/entitlements.js.map +1 -0
  162. package/dist/src/events.d.ts +101 -0
  163. package/dist/src/events.js +58 -0
  164. package/dist/src/events.js.map +1 -0
  165. package/dist/src/features.d.ts +153 -0
  166. package/dist/src/features.js +74 -0
  167. package/dist/src/features.js.map +1 -0
  168. package/dist/src/meters.d.ts +184 -0
  169. package/dist/src/meters.js +89 -0
  170. package/dist/src/meters.js.map +1 -0
  171. package/dist/src/notifications.d.ts +314 -0
  172. package/dist/src/notifications.js +242 -0
  173. package/dist/src/notifications.js.map +1 -0
  174. package/dist/src/plans.d.ts +192 -0
  175. package/dist/src/plans.js +123 -0
  176. package/dist/src/plans.js.map +1 -0
  177. package/dist/src/portal/index.d.ts +113 -0
  178. package/dist/src/portal/index.js +50 -0
  179. package/dist/src/portal/index.js.map +1 -0
  180. package/dist/src/react/context.d.ts +9 -0
  181. package/dist/src/react/context.js +16 -0
  182. package/dist/src/react/context.js.map +1 -0
  183. package/dist/src/subjects.d.ts +101 -0
  184. package/dist/src/subjects.js +72 -0
  185. package/dist/src/subjects.js.map +1 -0
  186. package/dist/src/subscriptions.d.ts +197 -0
  187. package/dist/src/subscriptions.js +112 -0
  188. package/dist/src/subscriptions.js.map +1 -0
  189. package/dist/src/utils.d.ts +29 -0
  190. package/dist/src/utils.js +85 -0
  191. package/dist/src/utils.js.map +1 -0
  192. package/dist/tsconfig.tsbuildinfo +1 -1
  193. package/package.json +95 -56
  194. package/patches/openapi-typescript.patch +73 -0
  195. package/dist/generated/HttpService.d.ts +0 -14
  196. package/dist/generated/HttpService.js +0 -27
  197. package/dist/generated/core/ApiError.d.ts +0 -10
  198. package/dist/generated/core/ApiError.js +0 -17
  199. package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
  200. package/dist/generated/core/ApiRequestOptions.js +0 -2
  201. package/dist/generated/core/ApiResult.d.ts +0 -7
  202. package/dist/generated/core/ApiResult.js +0 -2
  203. package/dist/generated/core/BaseHttpRequest.d.ts +0 -8
  204. package/dist/generated/core/BaseHttpRequest.js +0 -7
  205. package/dist/generated/core/CancelablePromise.d.ts +0 -20
  206. package/dist/generated/core/CancelablePromise.js +0 -93
  207. package/dist/generated/core/NodeHttpRequest.d.ts +0 -14
  208. package/dist/generated/core/NodeHttpRequest.js +0 -17
  209. package/dist/generated/core/OpenAPI.d.ts +0 -16
  210. package/dist/generated/core/OpenAPI.js +0 -12
  211. package/dist/generated/core/request.d.ts +0 -34
  212. package/dist/generated/core/request.js +0 -268
  213. package/dist/generated/index.d.ts +0 -29
  214. package/dist/generated/index.js +0 -22
  215. package/dist/generated/models/Event.d.ts +0 -49
  216. package/dist/generated/models/Event.js +0 -11
  217. package/dist/generated/models/IdOrSlug.d.ts +0 -1
  218. package/dist/generated/models/IdOrSlug.js +0 -2
  219. package/dist/generated/models/Meter.d.ts +0 -30
  220. package/dist/generated/models/Meter.js +0 -2
  221. package/dist/generated/models/MeterAggregation.d.ts +0 -10
  222. package/dist/generated/models/MeterAggregation.js +0 -12
  223. package/dist/generated/models/MeterValue.d.ts +0 -10
  224. package/dist/generated/models/MeterValue.js +0 -2
  225. package/dist/generated/models/Namespace.d.ts +0 -6
  226. package/dist/generated/models/Namespace.js +0 -2
  227. package/dist/generated/models/Problem.d.ts +0 -4
  228. package/dist/generated/models/Problem.js +0 -2
  229. package/dist/generated/models/WindowSize.d.ts +0 -5
  230. package/dist/generated/models/WindowSize.js +0 -7
  231. package/dist/generated/models/meterIdOrSlug.d.ts +0 -5
  232. package/dist/generated/models/meterIdOrSlug.js +0 -2
  233. package/dist/generated/models/namespaceParam.d.ts +0 -4
  234. package/dist/generated/models/namespaceParam.js +0 -2
  235. package/dist/generated/schemas/$Event.d.ts +0 -59
  236. package/dist/generated/schemas/$Event.js +0 -60
  237. package/dist/generated/schemas/$IdOrSlug.d.ts +0 -13
  238. package/dist/generated/schemas/$IdOrSlug.js +0 -14
  239. package/dist/generated/schemas/$Meter.d.ts +0 -44
  240. package/dist/generated/schemas/$Meter.js +0 -45
  241. package/dist/generated/schemas/$MeterAggregation.d.ts +0 -3
  242. package/dist/generated/schemas/$MeterAggregation.js +0 -4
  243. package/dist/generated/schemas/$MeterValue.d.ts +0 -26
  244. package/dist/generated/schemas/$MeterValue.js +0 -27
  245. package/dist/generated/schemas/$Namespace.d.ts +0 -9
  246. package/dist/generated/schemas/$Namespace.js +0 -10
  247. package/dist/generated/schemas/$Problem.d.ts +0 -6
  248. package/dist/generated/schemas/$Problem.js +0 -7
  249. package/dist/generated/schemas/$WindowSize.d.ts +0 -3
  250. package/dist/generated/schemas/$WindowSize.js +0 -4
  251. package/dist/generated/schemas/$meterIdOrSlug.d.ts +0 -4
  252. package/dist/generated/schemas/$meterIdOrSlug.js +0 -5
  253. package/dist/generated/schemas/$namespaceParam.d.ts +0 -5
  254. package/dist/generated/schemas/$namespaceParam.js +0 -6
  255. package/dist/generated/services/DefaultService.d.ts +0 -16
  256. package/dist/generated/services/DefaultService.js +0 -22
  257. package/dist/generated/services/EventsService.d.ts +0 -17
  258. package/dist/generated/services/EventsService.js +0 -29
  259. package/dist/generated/services/MetersService.d.ts +0 -75
  260. package/dist/generated/services/MetersService.js +0 -140
  261. package/index.ts +0 -53
@@ -0,0 +1,302 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Billing
4
+ */
5
+ export class Billing {
6
+ client;
7
+ profiles;
8
+ invoices;
9
+ customers;
10
+ constructor(client) {
11
+ this.client = client;
12
+ this.profiles = new BillingProfiles(this.client);
13
+ this.invoices = new BillingInvoices(this.client);
14
+ this.customers = new BillingCustomers(this.client);
15
+ }
16
+ }
17
+ /**
18
+ * Billing Profiles
19
+ */
20
+ export class BillingProfiles {
21
+ client;
22
+ constructor(client) {
23
+ this.client = client;
24
+ }
25
+ /**
26
+ * Create a billing profile
27
+ * @param billingProfile - The billing profile to create
28
+ * @param signal - An optional abort signal
29
+ * @returns The created billing profile
30
+ */
31
+ async create(billingProfile, options) {
32
+ const resp = await this.client.POST('/api/v1/billing/profiles', {
33
+ body: billingProfile,
34
+ ...options,
35
+ });
36
+ return transformResponse(resp);
37
+ }
38
+ /**
39
+ * Get a billing profile by ID
40
+ * @param id - The ID of the billing profile to get
41
+ * @param signal - An optional abort signal
42
+ * @returns The billing profile
43
+ */
44
+ async get(id, options) {
45
+ const resp = await this.client.GET('/api/v1/billing/profiles/{id}', {
46
+ params: {
47
+ path: { id },
48
+ },
49
+ ...options,
50
+ });
51
+ return transformResponse(resp);
52
+ }
53
+ /**
54
+ * List billing profiles
55
+ * @param query - The query parameters
56
+ * @param signal - An optional abort signal
57
+ * @returns The billing profiles
58
+ */
59
+ async list(query, options) {
60
+ const resp = await this.client.GET('/api/v1/billing/profiles', {
61
+ params: {
62
+ query,
63
+ },
64
+ ...options,
65
+ });
66
+ return transformResponse(resp);
67
+ }
68
+ /**
69
+ * Update a billing profile
70
+ * @param id - The ID of the billing profile to update
71
+ * @param billingProfile - The billing profile to update
72
+ * @param signal - An optional abort signal
73
+ * @returns The updated billing profile
74
+ */
75
+ async update(id, billingProfile, options) {
76
+ const resp = await this.client.PUT('/api/v1/billing/profiles/{id}', {
77
+ body: billingProfile,
78
+ params: {
79
+ path: { id },
80
+ },
81
+ ...options,
82
+ });
83
+ return transformResponse(resp);
84
+ }
85
+ }
86
+ /**
87
+ * Billing Invoices
88
+ */
89
+ export class BillingInvoices {
90
+ client;
91
+ constructor(client) {
92
+ this.client = client;
93
+ }
94
+ /**
95
+ * List invoices
96
+ * @param query - The query parameters
97
+ * @param signal - An optional abort signal
98
+ * @returns The invoices
99
+ */
100
+ async list(query, options) {
101
+ const resp = await this.client.GET('/api/v1/billing/invoices', {
102
+ params: {
103
+ query,
104
+ },
105
+ ...options,
106
+ });
107
+ return transformResponse(resp);
108
+ }
109
+ /**
110
+ * Get an invoice by ID
111
+ * @param id - The ID of the invoice to get
112
+ * @param signal - An optional abort signal
113
+ * @returns The invoice
114
+ */
115
+ async get(id, options) {
116
+ const resp = await this.client.GET('/api/v1/billing/invoices/{invoiceId}', {
117
+ params: {
118
+ path: { invoiceId: id },
119
+ },
120
+ ...options,
121
+ });
122
+ return transformResponse(resp);
123
+ }
124
+ /**
125
+ * Update an invoice
126
+ * @description Only invoices in draft or earlier status can be updated.
127
+ * @param id - The ID of the invoice to update
128
+ * @param invoice - The invoice to update
129
+ * @param signal - An optional abort signal
130
+ * @returns The updated invoice
131
+ */
132
+ async update(id, invoice, options) {
133
+ const resp = await this.client.PUT('/api/v1/billing/invoices/{invoiceId}', {
134
+ body: invoice,
135
+ params: { path: { invoiceId: id } },
136
+ ...options,
137
+ });
138
+ return transformResponse(resp);
139
+ }
140
+ /**
141
+ * Advance the invoice to the next status
142
+ * @description The call doesn't "approve the invoice", it only advances the invoice to the next status if the transition would be automatic. The action can be called when the invoice's statusDetails' actions field contain the "advance" action.
143
+ * @param id - The ID of the invoice to advance
144
+ * @param signal - An optional abort signal
145
+ * @returns The advanced invoice
146
+ */
147
+ async advance(id, options) {
148
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/advance', {
149
+ params: { path: { invoiceId: id } },
150
+ ...options,
151
+ });
152
+ return transformResponse(resp);
153
+ }
154
+ /**
155
+ * Approve an invoice
156
+ * @description This call instantly sends the invoice to the customer using the configured billing profile app.
157
+ * @param id - The ID of the invoice to approve
158
+ * @param signal - An optional abort signal
159
+ * @returns The approved invoice
160
+ */
161
+ async approve(id, options) {
162
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/approve', {
163
+ params: { path: { invoiceId: id } },
164
+ ...options,
165
+ });
166
+ return transformResponse(resp);
167
+ }
168
+ /**
169
+ * Retry advancing the invoice after a failed attempt.
170
+ * @param id - The ID of the invoice to retry
171
+ * @param signal - An optional abort signal
172
+ * @returns The retried invoice
173
+ */
174
+ async retry(id, options) {
175
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/retry', {
176
+ params: { path: { invoiceId: id } },
177
+ ...options,
178
+ });
179
+ return transformResponse(resp);
180
+ }
181
+ /**
182
+ * Void an invoice
183
+ * @description Void an invoice
184
+ *
185
+ * Only invoices that have been alread issued can be voided.
186
+ * @param id - The ID of the invoice to void
187
+ * @param signal - An optional abort signal
188
+ * @returns The voided invoice
189
+ */
190
+ async void(id, body, options) {
191
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/void', {
192
+ body,
193
+ params: { path: { invoiceId: id } },
194
+ ...options,
195
+ });
196
+ return transformResponse(resp);
197
+ }
198
+ /**
199
+ * Recalculate an invoice's tax amounts
200
+ * @param id - The ID of the invoice to recalculate
201
+ * @param signal - An optional abort signal
202
+ * @returns The recalculated invoice
203
+ */
204
+ async recalculateTax(id, options) {
205
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/taxes/recalculate', {
206
+ params: { path: { invoiceId: id } },
207
+ ...options,
208
+ });
209
+ return transformResponse(resp);
210
+ }
211
+ /**
212
+ * Simulate an invoice for a customer
213
+ * @param id - The ID of the customer to simulate the invoice for
214
+ * @param signal - An optional abort signal
215
+ * @returns The simulated invoice
216
+ */
217
+ async simulate(id, body, options) {
218
+ const resp = await this.client.POST('/api/v1/billing/customers/{customerId}/invoices/simulate', {
219
+ body,
220
+ params: { path: { customerId: id } },
221
+ ...options,
222
+ });
223
+ return transformResponse(resp);
224
+ }
225
+ /**
226
+ * Create pending invoice line items
227
+ * @param body - The pending invoice line items to create
228
+ * @param signal - An optional abort signal
229
+ * @returns The created pending invoice line items
230
+ */
231
+ async createLineItems(body, options) {
232
+ const resp = await this.client.POST('/api/v1/billing/invoices/lines', {
233
+ body,
234
+ ...options,
235
+ });
236
+ return transformResponse(resp);
237
+ }
238
+ }
239
+ /**
240
+ * Billing Customer Invoices and Overrides
241
+ */
242
+ export class BillingCustomers {
243
+ client;
244
+ constructor(client) {
245
+ this.client = client;
246
+ }
247
+ /**
248
+ * Create or update a customer override
249
+ * @param id - The ID of the customer to create the override for
250
+ * @param body - The customer override to create
251
+ * @param signal - An optional abort signal
252
+ * @returns The created customer override
253
+ */
254
+ async createOverride(id, body, options) {
255
+ const resp = await this.client.POST('/api/v1/billing/customers/{customerId}', {
256
+ body,
257
+ params: { path: { customerId: id } },
258
+ ...options,
259
+ });
260
+ return transformResponse(resp);
261
+ }
262
+ /**
263
+ * Get a customer override
264
+ * @param id - The ID of the customer to get the override for
265
+ * @param signal - An optional abort signal
266
+ * @returns The customer override
267
+ */
268
+ async getOverride(id, options) {
269
+ const resp = await this.client.GET('/api/v1/billing/customers/{customerId}', {
270
+ params: { path: { customerId: id } },
271
+ ...options,
272
+ });
273
+ return transformResponse(resp);
274
+ }
275
+ /**
276
+ * List customer overrides
277
+ * @param query - The query parameters
278
+ * @param signal - An optional abort signal
279
+ * @returns The customer overrides
280
+ */
281
+ async listOverrides(query, options) {
282
+ const resp = await this.client.GET('/api/v1/billing/customers', {
283
+ params: { query },
284
+ ...options,
285
+ });
286
+ return transformResponse(resp);
287
+ }
288
+ /**
289
+ * Delete a customer override
290
+ * @param id - The ID of the customer to delete the override for
291
+ * @param signal - An optional abort signal
292
+ * @returns The deleted customer override
293
+ */
294
+ async deleteOverride(id, options) {
295
+ const resp = await this.client.DELETE('/api/v1/billing/customers/{customerId}', {
296
+ params: { path: { customerId: id } },
297
+ ...options,
298
+ });
299
+ return transformResponse(resp);
300
+ }
301
+ }
302
+ //# sourceMappingURL=billing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/client/billing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,232 @@
1
+ import { type RequestOptions } from './utils.js';
2
+ import type { CustomerAppData, CustomerCreate, CustomerReplaceUpdate, operations, paths } from './schemas.js';
3
+ import type { Client } from 'openapi-fetch';
4
+ /**
5
+ * Customers
6
+ * Manage customer subscription lifecycles and plan assignments.
7
+ */
8
+ export declare class Customers {
9
+ private client;
10
+ apps: CustomerApps;
11
+ entitlements: CustomerEntitlements;
12
+ constructor(client: Client<paths, `${string}/${string}`>);
13
+ /**
14
+ * Create a customer
15
+ * @param customer - The customer to create
16
+ * @param signal - An optional abort signal
17
+ * @returns The created customer
18
+ */
19
+ create(customer: CustomerCreate, options?: RequestOptions): Promise<{
20
+ data?: never;
21
+ error: import("./utils.js").Problem;
22
+ response: Response;
23
+ } | {
24
+ data: {
25
+ readonly id: string;
26
+ name: string;
27
+ description?: string;
28
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
29
+ readonly createdAt: Date;
30
+ readonly updatedAt: Date;
31
+ readonly deletedAt?: Date;
32
+ usageAttribution: import("./schemas.js").components["schemas"]["CustomerUsageAttribution"];
33
+ primaryEmail?: string;
34
+ currency?: import("./schemas.js").components["schemas"]["CurrencyCode"];
35
+ billingAddress?: import("./schemas.js").components["schemas"]["Address"];
36
+ readonly currentSubscriptionId?: string;
37
+ };
38
+ error?: never;
39
+ response: Response;
40
+ }>;
41
+ /**
42
+ * Get a customer by ID
43
+ * @param id - The ID of the customer
44
+ * @param signal - An optional abort signal
45
+ * @returns The customer
46
+ */
47
+ get(id: operations['getCustomer']['parameters']['path']['id'], options?: RequestOptions): Promise<{
48
+ data?: never;
49
+ error: import("./utils.js").Problem;
50
+ response: Response;
51
+ } | {
52
+ data: {
53
+ readonly id: string;
54
+ name: string;
55
+ description?: string;
56
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
57
+ readonly createdAt: Date;
58
+ readonly updatedAt: Date;
59
+ readonly deletedAt?: Date;
60
+ usageAttribution: import("./schemas.js").components["schemas"]["CustomerUsageAttribution"];
61
+ primaryEmail?: string;
62
+ currency?: import("./schemas.js").components["schemas"]["CurrencyCode"];
63
+ billingAddress?: import("./schemas.js").components["schemas"]["Address"];
64
+ readonly currentSubscriptionId?: string;
65
+ };
66
+ error?: never;
67
+ response: Response;
68
+ }>;
69
+ /**
70
+ * Update a customer
71
+ * @param id - The ID of the customer
72
+ * @param customer - The customer to update
73
+ * @param signal - An optional abort signal
74
+ * @returns The updated customer
75
+ */
76
+ update(id: operations['updateCustomer']['parameters']['path']['id'], customer: CustomerReplaceUpdate, options?: RequestOptions): Promise<{
77
+ data?: never;
78
+ error: import("./utils.js").Problem;
79
+ response: Response;
80
+ } | {
81
+ data: {
82
+ readonly id: string;
83
+ name: string;
84
+ description?: string;
85
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
86
+ readonly createdAt: Date;
87
+ readonly updatedAt: Date;
88
+ readonly deletedAt?: Date;
89
+ usageAttribution: import("./schemas.js").components["schemas"]["CustomerUsageAttribution"];
90
+ primaryEmail?: string;
91
+ currency?: import("./schemas.js").components["schemas"]["CurrencyCode"];
92
+ billingAddress?: import("./schemas.js").components["schemas"]["Address"];
93
+ readonly currentSubscriptionId?: string;
94
+ };
95
+ error?: never;
96
+ response: Response;
97
+ }>;
98
+ /**
99
+ * Delete a customer
100
+ * @param id - The ID of the customer
101
+ * @param signal - An optional abort signal
102
+ * @returns The deleted customer
103
+ */
104
+ delete(id: operations['deleteCustomer']['parameters']['path']['id'], options?: RequestOptions): Promise<{
105
+ data?: never;
106
+ error: import("./utils.js").Problem;
107
+ response: Response;
108
+ } | {
109
+ data: undefined;
110
+ error?: never;
111
+ response: Response;
112
+ }>;
113
+ /**
114
+ * List customers
115
+ * @param signal - An optional abort signal
116
+ * @returns The list of customers
117
+ */
118
+ list(query?: operations['listCustomers']['parameters']['query'], options?: RequestOptions): Promise<{
119
+ data?: never;
120
+ error: import("./utils.js").Problem;
121
+ response: Response;
122
+ } | {
123
+ data: {
124
+ totalCount: number;
125
+ page: number;
126
+ pageSize: number;
127
+ items: import("./schemas.js").components["schemas"]["Customer"][];
128
+ };
129
+ error?: never;
130
+ response: Response;
131
+ }>;
132
+ }
133
+ /**
134
+ * Customer Apps
135
+ * Manage customer apps.
136
+ */
137
+ export declare class CustomerApps {
138
+ private client;
139
+ constructor(client: Client<paths, `${string}/${string}`>);
140
+ /**
141
+ * Upsert customer app data
142
+ * @param customerId - The ID of the customer
143
+ * @param appData - The app data to upsert
144
+ * @param signal - An optional abort signal
145
+ * @returns The upserted app data
146
+ */
147
+ upsert(customerId: operations['upsertCustomerAppData']['parameters']['path']['customerId'], appData: CustomerAppData[], options?: RequestOptions): Promise<{
148
+ data?: never;
149
+ error: import("./utils.js").Problem;
150
+ response: Response;
151
+ } | {
152
+ data: ({
153
+ id?: string;
154
+ type: "stripe";
155
+ readonly app?: import("./schemas.js").components["schemas"]["StripeApp"];
156
+ stripeCustomerId: string;
157
+ stripeDefaultPaymentMethodId?: string;
158
+ } | {
159
+ readonly app?: import("./schemas.js").components["schemas"]["SandboxApp"];
160
+ id?: string;
161
+ type: "sandbox";
162
+ })[];
163
+ error?: never;
164
+ response: Response;
165
+ }>;
166
+ /**
167
+ * List customer app data
168
+ * @param customerId - The ID of the customer
169
+ * @param query - The query parameters
170
+ * @param signal - An optional abort signal
171
+ * @returns The list of customer app data
172
+ */
173
+ list(customerId: operations['listCustomerAppData']['parameters']['path']['customerId'], query?: operations['listCustomerAppData']['parameters']['query'], options?: RequestOptions): Promise<{
174
+ data?: never;
175
+ error: import("./utils.js").Problem;
176
+ response: Response;
177
+ } | {
178
+ data: {
179
+ totalCount: number;
180
+ page: number;
181
+ pageSize: number;
182
+ items: import("./schemas.js").components["schemas"]["CustomerAppData"][];
183
+ };
184
+ error?: never;
185
+ response: Response;
186
+ }>;
187
+ /**
188
+ * Delete customer app data
189
+ * @param customerId - The ID of the customer
190
+ * @param appId - The ID of the app
191
+ * @param signal - An optional abort signal
192
+ * @returns The deleted customer app data
193
+ */
194
+ delete(customerId: operations['deleteCustomerAppData']['parameters']['path']['customerId'], appId: operations['deleteCustomerAppData']['parameters']['path']['appId'], options?: RequestOptions): Promise<{
195
+ data?: never;
196
+ error: import("./utils.js").Problem;
197
+ response: Response;
198
+ } | {
199
+ data: undefined;
200
+ error?: never;
201
+ response: Response;
202
+ }>;
203
+ }
204
+ /**
205
+ * Customer Entitlements
206
+ */
207
+ export declare class CustomerEntitlements {
208
+ private client;
209
+ constructor(client: Client<paths, `${string}/${string}`>);
210
+ /**
211
+ * Get the value of an entitlement for a customer
212
+ * @param customerId - The ID of the customer
213
+ * @param featureKey - The key of the feature
214
+ * @param signal - An optional abort signal
215
+ * @returns The value of the entitlement
216
+ */
217
+ value(customerId: operations['getCustomerEntitlementValue']['parameters']['path']['customerId'], featureKey: operations['getCustomerEntitlementValue']['parameters']['path']['featureKey'], options?: RequestOptions): Promise<{
218
+ data?: never;
219
+ error: import("./utils.js").Problem;
220
+ response: Response;
221
+ } | {
222
+ data: {
223
+ readonly hasAccess: boolean;
224
+ readonly balance?: number;
225
+ readonly usage?: number;
226
+ readonly overage?: number;
227
+ readonly config?: string;
228
+ };
229
+ error?: never;
230
+ response: Response;
231
+ }>;
232
+ }