@openmeter/sdk 1.0.0-beta.22 → 1.0.0-beta.221

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 (170) hide show
  1. package/Makefile +43 -0
  2. package/README.md +38 -150
  3. package/dist/cjs/index.cjs +18 -0
  4. package/dist/cjs/index.d.cts +1 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/src/client/addons.cjs +105 -0
  7. package/dist/cjs/src/client/addons.d.cts +152 -0
  8. package/dist/cjs/src/client/addons.js.map +1 -0
  9. package/dist/cjs/src/client/apps.cjs +247 -0
  10. package/dist/cjs/src/client/apps.d.cts +327 -0
  11. package/dist/cjs/src/client/apps.js.map +1 -0
  12. package/dist/cjs/src/client/billing.cjs +361 -0
  13. package/dist/cjs/src/client/billing.d.cts +526 -0
  14. package/dist/cjs/src/client/billing.js.map +1 -0
  15. package/dist/cjs/src/client/common.cjs +47 -0
  16. package/dist/cjs/src/client/common.d.cts +30 -0
  17. package/dist/cjs/src/client/common.js.map +1 -0
  18. package/dist/cjs/src/client/customers.cjs +283 -0
  19. package/dist/cjs/src/client/customers.d.cts +251 -0
  20. package/dist/cjs/src/client/customers.js.map +1 -0
  21. package/dist/cjs/src/client/debug.cjs +27 -0
  22. package/dist/cjs/src/client/debug.d.cts +17 -0
  23. package/dist/cjs/src/client/debug.js.map +1 -0
  24. package/dist/cjs/src/client/entitlements.cjs +281 -0
  25. package/dist/cjs/src/client/entitlements.d.cts +556 -0
  26. package/dist/cjs/src/client/entitlements.js.map +1 -0
  27. package/dist/cjs/src/client/events.cjs +113 -0
  28. package/dist/cjs/src/client/events.d.cts +48 -0
  29. package/dist/cjs/src/client/events.js.map +1 -0
  30. package/dist/cjs/src/client/features.cjs +78 -0
  31. package/dist/cjs/src/client/features.d.cts +78 -0
  32. package/dist/cjs/src/client/features.js.map +1 -0
  33. package/dist/cjs/src/client/index.cjs +120 -0
  34. package/dist/cjs/src/client/index.d.cts +53 -0
  35. package/dist/cjs/src/client/index.js.map +1 -0
  36. package/dist/cjs/src/client/info.cjs +42 -0
  37. package/dist/cjs/src/client/info.d.cts +34 -0
  38. package/dist/cjs/src/client/info.js.map +1 -0
  39. package/dist/cjs/src/client/meters.cjs +115 -0
  40. package/dist/cjs/src/client/meters.d.cts +123 -0
  41. package/dist/cjs/src/client/meters.js.map +1 -0
  42. package/dist/cjs/src/client/notifications.cjs +249 -0
  43. package/dist/cjs/src/client/notifications.d.cts +397 -0
  44. package/dist/cjs/src/client/notifications.js.map +1 -0
  45. package/dist/cjs/src/client/plans.cjs +204 -0
  46. package/dist/cjs/src/client/plans.d.cts +247 -0
  47. package/dist/cjs/src/client/plans.js.map +1 -0
  48. package/dist/cjs/src/client/portal.cjs +55 -0
  49. package/dist/cjs/src/client/portal.d.cts +48 -0
  50. package/dist/cjs/src/client/portal.js.map +1 -0
  51. package/dist/cjs/src/client/schemas.cjs +3 -0
  52. package/dist/cjs/src/client/schemas.d.cts +25246 -0
  53. package/dist/cjs/src/client/schemas.js.map +1 -0
  54. package/dist/cjs/src/client/subjects.cjs +76 -0
  55. package/dist/cjs/src/client/subjects.d.cts +70 -0
  56. package/dist/cjs/src/client/subjects.js.map +1 -0
  57. package/dist/cjs/src/client/subscription-addons.cjs +70 -0
  58. package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
  59. package/dist/cjs/src/client/subscription-addons.js.map +1 -0
  60. package/dist/cjs/src/client/subscriptions.cjs +132 -0
  61. package/dist/cjs/src/client/subscriptions.d.cts +170 -0
  62. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  63. package/dist/cjs/src/client/utils.cjs +69 -0
  64. package/dist/cjs/src/client/utils.d.cts +12 -0
  65. package/dist/cjs/src/client/utils.js.map +1 -0
  66. package/dist/cjs/src/portal/index.cjs +89 -0
  67. package/dist/cjs/src/portal/index.d.cts +43 -0
  68. package/dist/cjs/src/portal/index.js.map +1 -0
  69. package/dist/cjs/src/react/context.cjs +35 -0
  70. package/dist/cjs/src/react/context.d.cts +9 -0
  71. package/dist/cjs/src/react/context.js.map +1 -0
  72. package/dist/cjs/src/zod/index.cjs +12205 -0
  73. package/dist/cjs/src/zod/index.d.cts +19139 -0
  74. package/dist/cjs/src/zod/index.js.map +1 -0
  75. package/dist/cjs/tsconfig.0bedc47d.tsbuildinfo +1 -0
  76. package/dist/cjs/tsconfig.c449a50f.tsbuildinfo +1 -0
  77. package/dist/index.d.ts +1 -14
  78. package/dist/index.js +2 -15
  79. package/dist/index.js.map +1 -0
  80. package/dist/src/client/addons.d.ts +152 -0
  81. package/dist/src/client/addons.js +101 -0
  82. package/dist/src/client/addons.js.map +1 -0
  83. package/dist/src/client/apps.d.ts +327 -0
  84. package/dist/src/client/apps.js +240 -0
  85. package/dist/src/client/apps.js.map +1 -0
  86. package/dist/src/client/billing.d.ts +526 -0
  87. package/dist/src/client/billing.js +354 -0
  88. package/dist/src/client/billing.js.map +1 -0
  89. package/dist/src/client/common.d.ts +30 -0
  90. package/dist/src/client/common.js +42 -0
  91. package/dist/src/client/common.js.map +1 -0
  92. package/dist/src/client/customers.d.ts +251 -0
  93. package/dist/src/client/customers.js +276 -0
  94. package/dist/src/client/customers.js.map +1 -0
  95. package/dist/src/client/debug.d.ts +17 -0
  96. package/dist/src/client/debug.js +23 -0
  97. package/dist/src/client/debug.js.map +1 -0
  98. package/dist/src/client/entitlements.d.ts +556 -0
  99. package/dist/src/client/entitlements.js +276 -0
  100. package/dist/src/client/entitlements.js.map +1 -0
  101. package/dist/src/client/events.d.ts +48 -0
  102. package/dist/src/client/events.js +108 -0
  103. package/dist/src/client/events.js.map +1 -0
  104. package/dist/src/client/features.d.ts +78 -0
  105. package/dist/src/client/features.js +74 -0
  106. package/dist/src/client/features.js.map +1 -0
  107. package/dist/src/client/index.d.ts +53 -0
  108. package/dist/src/client/index.js +80 -0
  109. package/dist/src/client/index.js.map +1 -0
  110. package/dist/src/client/info.d.ts +34 -0
  111. package/dist/src/client/info.js +38 -0
  112. package/dist/src/client/info.js.map +1 -0
  113. package/dist/src/client/meters.d.ts +123 -0
  114. package/dist/src/client/meters.js +111 -0
  115. package/dist/src/client/meters.js.map +1 -0
  116. package/dist/src/client/notifications.d.ts +397 -0
  117. package/dist/src/client/notifications.js +242 -0
  118. package/dist/src/client/notifications.js.map +1 -0
  119. package/dist/src/client/plans.d.ts +247 -0
  120. package/dist/src/client/plans.js +199 -0
  121. package/dist/src/client/plans.js.map +1 -0
  122. package/dist/src/client/portal.d.ts +48 -0
  123. package/dist/src/client/portal.js +51 -0
  124. package/dist/src/client/portal.js.map +1 -0
  125. package/dist/src/client/schemas.d.ts +25246 -0
  126. package/dist/src/client/schemas.js +2 -0
  127. package/dist/src/client/schemas.js.map +1 -0
  128. package/dist/src/client/subjects.d.ts +70 -0
  129. package/dist/src/client/subjects.js +72 -0
  130. package/dist/src/client/subjects.js.map +1 -0
  131. package/dist/src/client/subscription-addons.d.ts +123 -0
  132. package/dist/src/client/subscription-addons.js +66 -0
  133. package/dist/src/client/subscription-addons.js.map +1 -0
  134. package/dist/src/client/subscriptions.d.ts +170 -0
  135. package/dist/src/client/subscriptions.js +128 -0
  136. package/dist/src/client/subscriptions.js.map +1 -0
  137. package/dist/src/client/utils.d.ts +12 -0
  138. package/dist/src/client/utils.js +63 -0
  139. package/dist/src/client/utils.js.map +1 -0
  140. package/dist/src/portal/index.d.ts +43 -0
  141. package/dist/src/portal/index.js +52 -0
  142. package/dist/src/portal/index.js.map +1 -0
  143. package/dist/src/react/context.d.ts +9 -0
  144. package/dist/src/react/context.js +16 -0
  145. package/dist/src/react/context.js.map +1 -0
  146. package/dist/src/zod/index.d.ts +19139 -0
  147. package/dist/src/zod/index.js +12178 -0
  148. package/dist/src/zod/index.js.map +1 -0
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/orval.config.ts +42 -0
  151. package/package.json +89 -35
  152. package/patches/openapi-typescript.patch +6194 -0
  153. package/dist/clients/client.d.ts +0 -40
  154. package/dist/clients/client.js +0 -104
  155. package/dist/clients/event.d.ts +0 -79
  156. package/dist/clients/event.js +0 -53
  157. package/dist/clients/meter.d.ts +0 -71
  158. package/dist/clients/meter.js +0 -64
  159. package/dist/clients/portal.d.ts +0 -23
  160. package/dist/clients/portal.js +0 -37
  161. package/dist/next.d.ts +0 -15
  162. package/dist/next.js +0 -46
  163. package/dist/schemas/openapi.d.ts +0 -460
  164. package/dist/schemas/openapi.js +0 -5
  165. package/dist/test/agent.d.ts +0 -2
  166. package/dist/test/agent.js +0 -178
  167. package/dist/test/mocks.d.ts +0 -12
  168. package/dist/test/mocks.js +0 -32
  169. package/index.ts +0 -22
  170. package/next.ts +0 -76
@@ -0,0 +1,327 @@
1
+ import type { RequestOptions } from './common.js';
2
+ import type { AppReplaceUpdate, CreateStripeCheckoutSessionRequest, operations, paths } from './schemas.js';
3
+ import type { Client } from 'openapi-fetch';
4
+ /**
5
+ * Apps
6
+ * Manage integrations for extending OpenMeter's functionality.
7
+ */
8
+ export declare class Apps {
9
+ private client;
10
+ marketplace: AppMarketplace;
11
+ stripe: AppStripe;
12
+ customInvoicing: AppCustomInvoicing;
13
+ constructor(client: Client<paths, `${string}/${string}`>);
14
+ /**
15
+ * List apps
16
+ * @param query - The query parameters
17
+ * @param signal - An optional abort signal
18
+ * @returns The apps
19
+ */
20
+ list(query?: operations['listApps']['parameters']['query'], options?: RequestOptions): Promise<{
21
+ totalCount: number;
22
+ page: number;
23
+ pageSize: number;
24
+ items: import("./schemas.js").components["schemas"]["App"][];
25
+ }>;
26
+ /**
27
+ * Get an app
28
+ * @param id - The ID of the app
29
+ * @param signal - An optional abort signal
30
+ * @returns The app
31
+ */
32
+ get(id: operations['getApp']['parameters']['path']['id'], options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
33
+ 200: {
34
+ headers: {
35
+ [name: string]: unknown;
36
+ };
37
+ content: {
38
+ "application/json": import("./schemas.js").components["schemas"]["App"];
39
+ };
40
+ };
41
+ 400: {
42
+ headers: {
43
+ [name: string]: unknown;
44
+ };
45
+ content: {
46
+ "application/problem+json": import("./schemas.js").components["schemas"]["BadRequestProblemResponse"];
47
+ };
48
+ };
49
+ 401: {
50
+ headers: {
51
+ [name: string]: unknown;
52
+ };
53
+ content: {
54
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnauthorizedProblemResponse"];
55
+ };
56
+ };
57
+ 403: {
58
+ headers: {
59
+ [name: string]: unknown;
60
+ };
61
+ content: {
62
+ "application/problem+json": import("./schemas.js").components["schemas"]["ForbiddenProblemResponse"];
63
+ };
64
+ };
65
+ 404: {
66
+ headers: {
67
+ [name: string]: unknown;
68
+ };
69
+ content: {
70
+ "application/problem+json": import("./schemas.js").components["schemas"]["NotFoundProblemResponse"];
71
+ };
72
+ };
73
+ 412: {
74
+ headers: {
75
+ [name: string]: unknown;
76
+ };
77
+ content: {
78
+ "application/problem+json": import("./schemas.js").components["schemas"]["PreconditionFailedProblemResponse"];
79
+ };
80
+ };
81
+ 500: {
82
+ headers: {
83
+ [name: string]: unknown;
84
+ };
85
+ content: {
86
+ "application/problem+json": import("./schemas.js").components["schemas"]["InternalServerErrorProblemResponse"];
87
+ };
88
+ };
89
+ 503: {
90
+ headers: {
91
+ [name: string]: unknown;
92
+ };
93
+ content: {
94
+ "application/problem+json": import("./schemas.js").components["schemas"]["ServiceUnavailableProblemResponse"];
95
+ };
96
+ };
97
+ default: {
98
+ headers: {
99
+ [name: string]: unknown;
100
+ };
101
+ content: {
102
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnexpectedProblemResponse"];
103
+ };
104
+ };
105
+ }, `${string}/${string}`>>;
106
+ /**
107
+ * Update an app
108
+ * @param id - The ID of the app
109
+ * @param body - The body of the request
110
+ * @param signal - An optional abort signal
111
+ * @returns The app
112
+ */
113
+ update(id: operations['updateApp']['parameters']['path']['id'], body: AppReplaceUpdate, options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
114
+ 200: {
115
+ headers: {
116
+ [name: string]: unknown;
117
+ };
118
+ content: {
119
+ "application/json": import("./schemas.js").components["schemas"]["App"];
120
+ };
121
+ };
122
+ 400: {
123
+ headers: {
124
+ [name: string]: unknown;
125
+ };
126
+ content: {
127
+ "application/problem+json": import("./schemas.js").components["schemas"]["BadRequestProblemResponse"];
128
+ };
129
+ };
130
+ 401: {
131
+ headers: {
132
+ [name: string]: unknown;
133
+ };
134
+ content: {
135
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnauthorizedProblemResponse"];
136
+ };
137
+ };
138
+ 403: {
139
+ headers: {
140
+ [name: string]: unknown;
141
+ };
142
+ content: {
143
+ "application/problem+json": import("./schemas.js").components["schemas"]["ForbiddenProblemResponse"];
144
+ };
145
+ };
146
+ 404: {
147
+ headers: {
148
+ [name: string]: unknown;
149
+ };
150
+ content: {
151
+ "application/problem+json": import("./schemas.js").components["schemas"]["NotFoundProblemResponse"];
152
+ };
153
+ };
154
+ 412: {
155
+ headers: {
156
+ [name: string]: unknown;
157
+ };
158
+ content: {
159
+ "application/problem+json": import("./schemas.js").components["schemas"]["PreconditionFailedProblemResponse"];
160
+ };
161
+ };
162
+ 500: {
163
+ headers: {
164
+ [name: string]: unknown;
165
+ };
166
+ content: {
167
+ "application/problem+json": import("./schemas.js").components["schemas"]["InternalServerErrorProblemResponse"];
168
+ };
169
+ };
170
+ 503: {
171
+ headers: {
172
+ [name: string]: unknown;
173
+ };
174
+ content: {
175
+ "application/problem+json": import("./schemas.js").components["schemas"]["ServiceUnavailableProblemResponse"];
176
+ };
177
+ };
178
+ default: {
179
+ headers: {
180
+ [name: string]: unknown;
181
+ };
182
+ content: {
183
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnexpectedProblemResponse"];
184
+ };
185
+ };
186
+ }, `${string}/${string}`>>;
187
+ /**
188
+ * Uninstall an app
189
+ * @param id - The ID of the app
190
+ * @param signal - An optional abort signal
191
+ * @returns The app
192
+ */
193
+ uninstall(id: operations['uninstallApp']['parameters']['path']['id'], options?: RequestOptions): Promise<undefined>;
194
+ }
195
+ /**
196
+ * App Marketplace
197
+ * Available apps from the OpenMeter Marketplace.
198
+ */
199
+ export declare class AppMarketplace {
200
+ private client;
201
+ constructor(client: Client<paths, `${string}/${string}`>);
202
+ /**
203
+ * List available apps
204
+ * @param query - The query parameters
205
+ * @param signal - An optional abort signal
206
+ * @returns The apps
207
+ */
208
+ list(query?: operations['listMarketplaceListings']['parameters']['query'], options?: RequestOptions): Promise<{
209
+ totalCount: number;
210
+ page: number;
211
+ pageSize: number;
212
+ items: import("./schemas.js").components["schemas"]["MarketplaceListing"][];
213
+ }>;
214
+ /**
215
+ * Get details for a listing
216
+ * @param type - The type of the listing
217
+ * @param signal - An optional abort signal
218
+ * @returns The listing
219
+ */
220
+ get(type: operations['getMarketplaceListing']['parameters']['path']['type'], options?: RequestOptions): Promise<{
221
+ type: import("./schemas.js").components["schemas"]["AppType"];
222
+ name: string;
223
+ description: string;
224
+ capabilities: import("./schemas.js").components["schemas"]["AppCapability"][];
225
+ installMethods: import("./schemas.js").components["schemas"]["InstallMethod"][];
226
+ }>;
227
+ /**
228
+ * Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow.
229
+ * @param type - The type of the listing
230
+ * @param signal - An optional abort signal
231
+ * @returns The OAuth2 install URL
232
+ */
233
+ getOauth2InstallUrl(type: operations['marketplaceOAuth2InstallGetURL']['parameters']['path']['type'], options?: RequestOptions): Promise<{
234
+ url: string;
235
+ }>;
236
+ /**
237
+ * Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token
238
+ * @param type - The type of the listing
239
+ * @param signal - An optional abort signal
240
+ * @returns The authorization URL
241
+ */
242
+ authorizeOauth2(type: operations['marketplaceOAuth2InstallAuthorize']['parameters']['path']['type'], options?: RequestOptions): Promise<never>;
243
+ /**
244
+ * Install an app via API key.
245
+ * @param type - The type of the listing
246
+ * @param signal - An optional abort signal
247
+ * @returns The installation
248
+ */
249
+ installWithAPIKey(type: operations['marketplaceAppAPIKeyInstall']['parameters']['path']['type'], body: operations['marketplaceAppAPIKeyInstall']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
250
+ app: import("./schemas.js").components["schemas"]["App"];
251
+ defaultForCapabilityTypes: import("./schemas.js").components["schemas"]["AppCapabilityType"][];
252
+ }>;
253
+ }
254
+ /**
255
+ * Stripe App
256
+ */
257
+ export declare class AppStripe {
258
+ private client;
259
+ constructor(client: Client<paths, `${string}/${string}`>);
260
+ /**
261
+ * Create a checkout session
262
+ * @param body - The body of the request
263
+ * @param signal - An optional abort signal
264
+ * @returns The checkout session
265
+ */
266
+ createCheckoutSession(body: CreateStripeCheckoutSessionRequest, options?: RequestOptions): Promise<{
267
+ customerId: string;
268
+ stripeCustomerId: string;
269
+ sessionId: string;
270
+ setupIntentId: string;
271
+ clientSecret?: string;
272
+ clientReferenceId?: string;
273
+ customerEmail?: string;
274
+ currency?: import("./schemas.js").components["schemas"]["CurrencyCode"];
275
+ createdAt: Date;
276
+ expiresAt?: Date;
277
+ metadata?: {
278
+ [key: string]: string;
279
+ };
280
+ status?: string;
281
+ url?: string;
282
+ mode: import("./schemas.js").components["schemas"]["StripeCheckoutSessionMode"];
283
+ cancelURL?: string;
284
+ successURL?: string;
285
+ returnURL?: string;
286
+ }>;
287
+ /**
288
+ * Update Stripe API key
289
+ * @param id - The ID of the app
290
+ * @param body - The API key data
291
+ * @param options - The request options
292
+ * @returns The updated API key
293
+ * @deprecated
294
+ */
295
+ updateApiKey(id: string, body: operations['updateStripeAPIKey']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<undefined>;
296
+ }
297
+ /**
298
+ * Custom Invoicing App
299
+ */
300
+ export declare class AppCustomInvoicing {
301
+ private client;
302
+ constructor(client: Client<paths, `${string}/${string}`>);
303
+ /**
304
+ * Submit draft synchronization results
305
+ * @param invoiceId - The ID of the invoice
306
+ * @param body - The body of the request
307
+ * @param options - The request options
308
+ * @returns The synchronization result
309
+ */
310
+ draftSynchronized(invoiceId: string, body: operations['appCustomInvoicingDraftSynchronized']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<undefined>;
311
+ /**
312
+ * Submit issuing synchronization results
313
+ * @param invoiceId - The ID of the invoice
314
+ * @param body - The body of the request
315
+ * @param options - The request options
316
+ * @returns The synchronization result
317
+ */
318
+ issuingSynchronized(invoiceId: string, body: operations['appCustomInvoicingIssuingSynchronized']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<undefined>;
319
+ /**
320
+ * Update payment status
321
+ * @param invoiceId - The ID of the invoice
322
+ * @param body - The body of the request
323
+ * @param options - The request options
324
+ * @returns The payment status update result
325
+ */
326
+ updatePaymentStatus(invoiceId: string, body: operations['appCustomInvoicingUpdatePaymentStatus']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<undefined>;
327
+ }
@@ -0,0 +1,240 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Apps
4
+ * Manage integrations for extending OpenMeter's functionality.
5
+ */
6
+ export class Apps {
7
+ client;
8
+ marketplace;
9
+ stripe;
10
+ customInvoicing;
11
+ constructor(client) {
12
+ this.client = client;
13
+ this.marketplace = new AppMarketplace(client);
14
+ this.stripe = new AppStripe(client);
15
+ this.customInvoicing = new AppCustomInvoicing(client);
16
+ }
17
+ /**
18
+ * List apps
19
+ * @param query - The query parameters
20
+ * @param signal - An optional abort signal
21
+ * @returns The apps
22
+ */
23
+ async list(query, options) {
24
+ const resp = await this.client.GET('/api/v1/apps', {
25
+ params: { query },
26
+ ...options,
27
+ });
28
+ return transformResponse(resp);
29
+ }
30
+ /**
31
+ * Get an app
32
+ * @param id - The ID of the app
33
+ * @param signal - An optional abort signal
34
+ * @returns The app
35
+ */
36
+ async get(id, options) {
37
+ const resp = await this.client.GET('/api/v1/apps/{id}', {
38
+ params: { path: { id } },
39
+ ...options,
40
+ });
41
+ return transformResponse(resp);
42
+ }
43
+ /**
44
+ * Update an app
45
+ * @param id - The ID of the app
46
+ * @param body - The body of the request
47
+ * @param signal - An optional abort signal
48
+ * @returns The app
49
+ */
50
+ async update(id, body, options) {
51
+ const resp = await this.client.PUT('/api/v1/apps/{id}', {
52
+ body,
53
+ params: { path: { id } },
54
+ ...options,
55
+ });
56
+ return transformResponse(resp);
57
+ }
58
+ /**
59
+ * Uninstall an app
60
+ * @param id - The ID of the app
61
+ * @param signal - An optional abort signal
62
+ * @returns The app
63
+ */
64
+ async uninstall(id, options) {
65
+ const resp = await this.client.DELETE('/api/v1/apps/{id}', {
66
+ params: { path: { id } },
67
+ ...options,
68
+ });
69
+ return transformResponse(resp);
70
+ }
71
+ }
72
+ /**
73
+ * App Marketplace
74
+ * Available apps from the OpenMeter Marketplace.
75
+ */
76
+ export class AppMarketplace {
77
+ client;
78
+ constructor(client) {
79
+ this.client = client;
80
+ }
81
+ /**
82
+ * List available apps
83
+ * @param query - The query parameters
84
+ * @param signal - An optional abort signal
85
+ * @returns The apps
86
+ */
87
+ async list(query, options) {
88
+ const resp = await this.client.GET('/api/v1/marketplace/listings', {
89
+ params: { query },
90
+ ...options,
91
+ });
92
+ return transformResponse(resp);
93
+ }
94
+ /**
95
+ * Get details for a listing
96
+ * @param type - The type of the listing
97
+ * @param signal - An optional abort signal
98
+ * @returns The listing
99
+ */
100
+ async get(type, options) {
101
+ const resp = await this.client.GET('/api/v1/marketplace/listings/{type}', {
102
+ params: { path: { type } },
103
+ ...options,
104
+ });
105
+ return transformResponse(resp);
106
+ }
107
+ /**
108
+ * Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow.
109
+ * @param type - The type of the listing
110
+ * @param signal - An optional abort signal
111
+ * @returns The OAuth2 install URL
112
+ */
113
+ async getOauth2InstallUrl(type, options) {
114
+ const resp = await this.client.GET('/api/v1/marketplace/listings/{type}/install/oauth2', {
115
+ params: { path: { type } },
116
+ ...options,
117
+ });
118
+ return transformResponse(resp);
119
+ }
120
+ /**
121
+ * Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token
122
+ * @param type - The type of the listing
123
+ * @param signal - An optional abort signal
124
+ * @returns The authorization URL
125
+ */
126
+ async authorizeOauth2(type, options) {
127
+ const resp = await this.client.GET('/api/v1/marketplace/listings/{type}/install/oauth2/authorize', {
128
+ params: { path: { type } },
129
+ ...options,
130
+ });
131
+ return transformResponse(resp);
132
+ }
133
+ /**
134
+ * Install an app via API key.
135
+ * @param type - The type of the listing
136
+ * @param signal - An optional abort signal
137
+ * @returns The installation
138
+ */
139
+ async installWithAPIKey(type, body, options) {
140
+ const resp = await this.client.POST('/api/v1/marketplace/listings/{type}/install/apikey', {
141
+ body,
142
+ params: { path: { type } },
143
+ ...options,
144
+ });
145
+ return transformResponse(resp);
146
+ }
147
+ }
148
+ /**
149
+ * Stripe App
150
+ */
151
+ export class AppStripe {
152
+ client;
153
+ constructor(client) {
154
+ this.client = client;
155
+ }
156
+ /**
157
+ * Create a checkout session
158
+ * @param body - The body of the request
159
+ * @param signal - An optional abort signal
160
+ * @returns The checkout session
161
+ */
162
+ async createCheckoutSession(body, options) {
163
+ const resp = await this.client.POST('/api/v1/stripe/checkout/sessions', {
164
+ body,
165
+ ...options,
166
+ });
167
+ return transformResponse(resp);
168
+ }
169
+ /**
170
+ * Update Stripe API key
171
+ * @param id - The ID of the app
172
+ * @param body - The API key data
173
+ * @param options - The request options
174
+ * @returns The updated API key
175
+ * @deprecated
176
+ */
177
+ async updateApiKey(id, body, options) {
178
+ const resp = await this.client.PUT('/api/v1/apps/{id}/stripe/api-key', {
179
+ body,
180
+ params: { path: { id } },
181
+ ...options,
182
+ });
183
+ return transformResponse(resp);
184
+ }
185
+ }
186
+ /**
187
+ * Custom Invoicing App
188
+ */
189
+ export class AppCustomInvoicing {
190
+ client;
191
+ constructor(client) {
192
+ this.client = client;
193
+ }
194
+ /**
195
+ * Submit draft synchronization results
196
+ * @param invoiceId - The ID of the invoice
197
+ * @param body - The body of the request
198
+ * @param options - The request options
199
+ * @returns The synchronization result
200
+ */
201
+ async draftSynchronized(invoiceId, body, options) {
202
+ const resp = await this.client.POST('/api/v1/apps/custom-invoicing/{invoiceId}/draft/synchronized', {
203
+ body,
204
+ params: { path: { invoiceId } },
205
+ ...options,
206
+ });
207
+ return transformResponse(resp);
208
+ }
209
+ /**
210
+ * Submit issuing synchronization results
211
+ * @param invoiceId - The ID of the invoice
212
+ * @param body - The body of the request
213
+ * @param options - The request options
214
+ * @returns The synchronization result
215
+ */
216
+ async issuingSynchronized(invoiceId, body, options) {
217
+ const resp = await this.client.POST('/api/v1/apps/custom-invoicing/{invoiceId}/issuing/synchronized', {
218
+ body,
219
+ params: { path: { invoiceId } },
220
+ ...options,
221
+ });
222
+ return transformResponse(resp);
223
+ }
224
+ /**
225
+ * Update payment status
226
+ * @param invoiceId - The ID of the invoice
227
+ * @param body - The body of the request
228
+ * @param options - The request options
229
+ * @returns The payment status update result
230
+ */
231
+ async updatePaymentStatus(invoiceId, body, options) {
232
+ const resp = await this.client.POST('/api/v1/apps/custom-invoicing/{invoiceId}/payment/status', {
233
+ body,
234
+ params: { path: { invoiceId } },
235
+ ...options,
236
+ });
237
+ return transformResponse(resp);
238
+ }
239
+ }
240
+ //# sourceMappingURL=apps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../../src/client/apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAU9C;;;GAGG;AACH,MAAM,OAAO,IAAI;IAKK;IAJb,WAAW,CAAgB;IAC3B,MAAM,CAAW;IACjB,eAAe,CAAoB;IAE1C,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;QAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACvD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CACf,KAAqD,EACrD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YACjD,MAAM,EAAE,EAAE,KAAK,EAAE;YACjB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,EAAoD,EACpD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACtD,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;YACxB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,EAAuD,EACvD,IAAsB,EACtB,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACtD,IAAI;YACJ,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;YACxB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CACpB,EAA0D,EAC1D,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACzD,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;YACxB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CACf,KAAoE,EACpE,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE;YACjE,MAAM,EAAE,EAAE,KAAK,EAAE;YACjB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,IAAuE,EACvE,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE;YACxE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,mBAAmB,CAC9B,IAAgF,EAChF,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,oDAAoD,EACpD;YACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,eAAe,CAC1B,IAAmF,EACnF,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,8DAA8D,EAC9D;YACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,iBAAiB,CAC5B,IAA6E,EAC7E,IAA6F,EAC7F,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,oDAAoD,EACpD;YACE,IAAI;YACJ,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;YAC1B,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,SAAS;IACA;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,qBAAqB,CAChC,IAAwC,EACxC,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACtE,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,YAAY,CACvB,EAAU,EACV,IAAoF,EACpF,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE;YACrE,IAAI;YACJ,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;YACxB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;;OAMG;IACI,KAAK,CAAC,iBAAiB,CAC5B,SAAiB,EACjB,IAAqG,EACrG,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,8DAA8D,EAC9D;YACE,IAAI;YACJ,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE;YAC/B,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAC9B,SAAiB,EACjB,IAAuG,EACvG,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,gEAAgE,EAChE;YACE,IAAI;YACJ,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE;YAC/B,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,mBAAmB,CAC9B,SAAiB,EACjB,IAAuG,EACvG,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,0DAA0D,EAC1D;YACE,IAAI;YACJ,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE;YAC/B,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}