@openmeter/sdk 1.0.0-beta.2 → 1.0.0-beta.201

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 (137) hide show
  1. package/README.md +44 -65
  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/client/apps.cjs +174 -0
  6. package/dist/cjs/src/client/apps.d.cts +259 -0
  7. package/dist/cjs/src/client/apps.js.map +1 -0
  8. package/dist/cjs/src/client/billing.cjs +309 -0
  9. package/dist/cjs/src/client/billing.d.cts +510 -0
  10. package/dist/cjs/src/client/billing.js.map +1 -0
  11. package/dist/cjs/src/client/common.cjs +47 -0
  12. package/dist/cjs/src/client/common.d.cts +30 -0
  13. package/dist/cjs/src/client/common.js.map +1 -0
  14. package/dist/cjs/src/client/customers.cjs +185 -0
  15. package/dist/cjs/src/client/customers.d.cts +163 -0
  16. package/dist/cjs/src/client/customers.js.map +1 -0
  17. package/dist/cjs/src/client/entitlements.cjs +244 -0
  18. package/dist/cjs/src/client/entitlements.d.cts +442 -0
  19. package/dist/cjs/src/client/entitlements.js.map +1 -0
  20. package/dist/cjs/src/client/events.cjs +66 -0
  21. package/dist/cjs/src/client/events.d.cts +31 -0
  22. package/dist/cjs/src/client/events.js.map +1 -0
  23. package/dist/cjs/src/client/features.cjs +78 -0
  24. package/dist/cjs/src/client/features.d.cts +78 -0
  25. package/dist/cjs/src/client/features.js.map +1 -0
  26. package/dist/cjs/src/client/index.cjs +108 -0
  27. package/dist/cjs/src/client/index.d.cts +45 -0
  28. package/dist/cjs/src/client/index.js.map +1 -0
  29. package/dist/cjs/src/client/meters.cjs +93 -0
  30. package/dist/cjs/src/client/meters.d.cts +160 -0
  31. package/dist/cjs/src/client/meters.js.map +1 -0
  32. package/dist/cjs/src/client/notifications.cjs +249 -0
  33. package/dist/cjs/src/client/notifications.d.cts +219 -0
  34. package/dist/cjs/src/client/notifications.js.map +1 -0
  35. package/dist/cjs/src/client/plans.cjs +127 -0
  36. package/dist/cjs/src/client/plans.d.cts +142 -0
  37. package/dist/cjs/src/client/plans.js.map +1 -0
  38. package/dist/cjs/src/client/portal.cjs +55 -0
  39. package/dist/cjs/src/client/portal.d.cts +48 -0
  40. package/dist/cjs/src/client/portal.js.map +1 -0
  41. package/dist/cjs/src/client/schemas.cjs +3 -0
  42. package/dist/cjs/src/client/schemas.d.cts +17628 -0
  43. package/dist/cjs/src/client/schemas.js.map +1 -0
  44. package/dist/cjs/src/client/subjects.cjs +76 -0
  45. package/dist/cjs/src/client/subjects.d.cts +70 -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 +147 -0
  49. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  50. package/dist/cjs/src/client/utils.cjs +69 -0
  51. package/dist/cjs/src/client/utils.d.cts +12 -0
  52. package/dist/cjs/src/client/utils.js.map +1 -0
  53. package/dist/cjs/src/portal/index.cjs +57 -0
  54. package/dist/cjs/src/portal/index.d.cts +104 -0
  55. package/dist/cjs/src/portal/index.js.map +1 -0
  56. package/dist/cjs/src/react/context.cjs +35 -0
  57. package/dist/cjs/src/react/context.d.cts +9 -0
  58. package/dist/cjs/src/react/context.js.map +1 -0
  59. package/dist/cjs/tsconfig.177d1bd1.tsbuildinfo +1 -0
  60. package/dist/cjs/tsconfig.ae2c6e83.tsbuildinfo +1 -0
  61. package/dist/index.d.ts +1 -11
  62. package/dist/index.js +2 -11
  63. package/dist/index.js.map +1 -0
  64. package/dist/src/client/apps.d.ts +259 -0
  65. package/dist/src/client/apps.js +168 -0
  66. package/dist/src/client/apps.js.map +1 -0
  67. package/dist/src/client/billing.d.ts +510 -0
  68. package/dist/src/client/billing.js +302 -0
  69. package/dist/src/client/billing.js.map +1 -0
  70. package/dist/src/client/common.d.ts +30 -0
  71. package/dist/src/client/common.js +42 -0
  72. package/dist/src/client/common.js.map +1 -0
  73. package/dist/src/client/customers.d.ts +163 -0
  74. package/dist/src/client/customers.js +179 -0
  75. package/dist/src/client/customers.js.map +1 -0
  76. package/dist/src/client/entitlements.d.ts +442 -0
  77. package/dist/src/client/entitlements.js +239 -0
  78. package/dist/src/client/entitlements.js.map +1 -0
  79. package/dist/src/client/events.d.ts +31 -0
  80. package/dist/src/client/events.js +58 -0
  81. package/dist/src/client/events.js.map +1 -0
  82. package/dist/src/client/features.d.ts +78 -0
  83. package/dist/src/client/features.js +74 -0
  84. package/dist/src/client/features.js.map +1 -0
  85. package/dist/src/client/index.d.ts +45 -0
  86. package/dist/src/client/index.js +68 -0
  87. package/dist/src/client/index.js.map +1 -0
  88. package/dist/src/client/meters.d.ts +160 -0
  89. package/dist/src/client/meters.js +89 -0
  90. package/dist/src/client/meters.js.map +1 -0
  91. package/dist/src/client/notifications.d.ts +219 -0
  92. package/dist/src/client/notifications.js +242 -0
  93. package/dist/src/client/notifications.js.map +1 -0
  94. package/dist/src/client/plans.d.ts +142 -0
  95. package/dist/src/client/plans.js +123 -0
  96. package/dist/src/client/plans.js.map +1 -0
  97. package/dist/src/client/portal.d.ts +48 -0
  98. package/dist/src/client/portal.js +51 -0
  99. package/dist/src/client/portal.js.map +1 -0
  100. package/dist/src/client/schemas.d.ts +17628 -0
  101. package/dist/src/client/schemas.js +2 -0
  102. package/dist/src/client/schemas.js.map +1 -0
  103. package/dist/src/client/subjects.d.ts +70 -0
  104. package/dist/src/client/subjects.js +72 -0
  105. package/dist/src/client/subjects.js.map +1 -0
  106. package/dist/src/client/subscriptions.d.ts +147 -0
  107. package/dist/src/client/subscriptions.js +112 -0
  108. package/dist/src/client/subscriptions.js.map +1 -0
  109. package/dist/src/client/utils.d.ts +12 -0
  110. package/dist/src/client/utils.js +63 -0
  111. package/dist/src/client/utils.js.map +1 -0
  112. package/dist/src/portal/index.d.ts +104 -0
  113. package/dist/src/portal/index.js +50 -0
  114. package/dist/src/portal/index.js.map +1 -0
  115. package/dist/src/react/context.d.ts +9 -0
  116. package/dist/src/react/context.js +16 -0
  117. package/dist/src/react/context.js.map +1 -0
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/package.json +93 -49
  120. package/patches/openapi-typescript.patch +73 -0
  121. package/clients/client.ts +0 -153
  122. package/clients/event.ts +0 -109
  123. package/clients/meter.ts +0 -84
  124. package/dist/clients/client.d.ts +0 -40
  125. package/dist/clients/client.js +0 -101
  126. package/dist/clients/event.d.ts +0 -65
  127. package/dist/clients/event.js +0 -38
  128. package/dist/clients/meter.d.ts +0 -52
  129. package/dist/clients/meter.js +0 -52
  130. package/dist/schemas/openapi.d.ts +0 -414
  131. package/dist/schemas/openapi.js +0 -5
  132. package/dist/test/agent.d.ts +0 -2
  133. package/dist/test/agent.js +0 -105
  134. package/dist/test/mocks.d.ts +0 -11
  135. package/dist/test/mocks.js +0 -21
  136. package/index.ts +0 -17
  137. package/schemas/openapi.ts +0 -421
package/README.md CHANGED
@@ -1,88 +1,67 @@
1
- # OpenMeter Node SDK
1
+ # OpenMeter JavaScript SDK
2
2
 
3
3
  ## Install
4
4
 
5
5
  ```sh
6
- npm install --save @openmeter/sdk@beta
6
+ npm install --save @openmeter/sdk
7
7
  ```
8
8
 
9
- ## Example
9
+ ## Configuration for accessing the OpenMeter API
10
+
11
+ To use the OpenMeter SDK on your backend, you need to configure `baseUrl` and `apiKey` for OpenMeter Cloud:
10
12
 
11
13
  ```ts
12
- import { OpenMeter, type Event } from '@openmeter/sdk'
13
-
14
- const openmeter = new OpenMeter({ baseUrl: 'http://localhost:8888' })
15
-
16
- // Ingesting an event
17
- const event: Event = {
18
- specversion: '1.0',
19
- id: 'id-1',
20
- source: 'my-app',
21
- type: 'my-type',
22
- subject: 'my-awesome-user-id',
23
- time: new Date(),
24
- data: {
25
- api_calls: 1,
26
- },
27
- }
28
- await openmeter.events.ingest(event)
14
+ import { OpenMeter } from '@openmeter/sdk'
29
15
 
30
- // Fetching a meter
31
- const meter = await openmeter.meters.get('m1')
16
+ const openmeter = new OpenMeter({
17
+ baseUrl: 'https://openmeter.cloud',
18
+ apiKey: 'om_...',
19
+ })
32
20
  ```
33
21
 
34
- ## API
22
+ ## Configuration for accessing the OpenMeter Portal API
35
23
 
36
- ### Events
37
-
38
- #### ingest
24
+ To use the OpenMeter Portal SDK on your frontend, you need to configure it use a portal token in your configuration:
39
25
 
40
26
  ```ts
41
- import { type Event } from '@openmeter/sdk'
42
-
43
- const event: Event = {
44
- specversion: '1.0',
45
- id: 'id-1',
46
- source: 'my-app',
47
- type: 'my-type',
48
- subject: 'my-awesome-user-id',
49
- time: new Date(),
50
- data: {
51
- api_calls: 1,
52
- },
53
- }
54
- await openmeter.events.ingest(event)
55
- ```
56
-
57
- ### Meters
58
-
59
- #### list
60
-
61
- List meters.
27
+ import { OpenMeter } from '@openmeter/sdk/portal'
62
28
 
63
- ```ts
64
- const meters = await openmeter.meters.list()
29
+ const openmeter = new OpenMeter({
30
+ baseUrl: 'https://openmeter.cloud',
31
+ portalToken: 'om_portal_...',
32
+ })
65
33
  ```
66
34
 
67
- #### get
35
+ ## Configuration for accessing the OpenMeter React SDK
68
36
 
69
- Get one meter by slug.
37
+ To use the OpenMeter React SDK for the portal API, you need to configure a Portal Client and a React Context:
70
38
 
71
39
  ```ts
72
- const meter = await openmeter.meters.get('m1')
73
- ```
74
-
75
- #### values
76
-
77
- Get back meter values.
40
+ import {
41
+ OpenMeter,
42
+ OpenMeterProvider,
43
+ useOpenMeter,
44
+ } from '@openmeter/sdk/react'
45
+
46
+ function App() {
47
+ // get portal token from your backend
48
+ const openmeter = new OpenMeter({
49
+ baseUrl: 'https://openmeter.cloud',
50
+ portalToken,
51
+ })
52
+
53
+ return (
54
+ <OpenMeterProvider value={openmeter}>
55
+ <UsageComponent />
56
+ {/* ... */}
57
+ </OpenMeterProvider>
58
+ )
59
+ }
78
60
 
79
- ```ts
80
- import { WindowSize } from '@openmeter/sdk'
61
+ function UsageComponent() {
62
+ // get openmeter client from context
63
+ const openmeter = useOpenMeter()
81
64
 
82
- const values = await openmeter.meters.values('my-meter-slug', {
83
- subject: 'user-1',
84
- from: new Date('2021-01-01'),
85
- to: new Date('2021-01-02'),
86
- windowSize: WindowSize.HOUR
87
- })
65
+ // ...
66
+ }
88
67
  ```
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./src/client/index.cjs"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ export * from './src/client/index.cjs';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppStripe = exports.AppMarketplace = exports.Apps = void 0;
4
+ const utils_js_1 = require("./utils.cjs");
5
+ /**
6
+ * Apps
7
+ * Manage integrations for extending OpenMeter's functionality.
8
+ */
9
+ class Apps {
10
+ client;
11
+ marketplace;
12
+ stripe;
13
+ constructor(client) {
14
+ this.client = client;
15
+ this.marketplace = new AppMarketplace(client);
16
+ this.stripe = new AppStripe(client);
17
+ }
18
+ /**
19
+ * List apps
20
+ * @param query - The query parameters
21
+ * @param signal - An optional abort signal
22
+ * @returns The apps
23
+ */
24
+ async list(query, options) {
25
+ const resp = await this.client.GET('/api/v1/apps', {
26
+ params: { query },
27
+ ...options,
28
+ });
29
+ return (0, utils_js_1.transformResponse)(resp);
30
+ }
31
+ /**
32
+ * Get an app
33
+ * @param id - The ID of the app
34
+ * @param signal - An optional abort signal
35
+ * @returns The app
36
+ */
37
+ async get(id, options) {
38
+ const resp = await this.client.GET('/api/v1/apps/{id}', {
39
+ params: { path: { id } },
40
+ ...options,
41
+ });
42
+ return (0, utils_js_1.transformResponse)(resp);
43
+ }
44
+ /**
45
+ * Update an app
46
+ * @param id - The ID of the app
47
+ * @param body - The body of the request
48
+ * @param signal - An optional abort signal
49
+ * @returns The app
50
+ */
51
+ async update(id, body, options) {
52
+ const resp = await this.client.PUT('/api/v1/apps/{id}', {
53
+ body,
54
+ params: { path: { id } },
55
+ ...options,
56
+ });
57
+ return (0, utils_js_1.transformResponse)(resp);
58
+ }
59
+ /**
60
+ * Uninstall an app
61
+ * @param id - The ID of the app
62
+ * @param signal - An optional abort signal
63
+ * @returns The app
64
+ */
65
+ async uninstall(id, options) {
66
+ const resp = await this.client.DELETE('/api/v1/apps/{id}', {
67
+ params: { path: { id } },
68
+ ...options,
69
+ });
70
+ return (0, utils_js_1.transformResponse)(resp);
71
+ }
72
+ }
73
+ exports.Apps = Apps;
74
+ /**
75
+ * App Marketplace
76
+ * Available apps from the OpenMeter Marketplace.
77
+ */
78
+ class AppMarketplace {
79
+ client;
80
+ constructor(client) {
81
+ this.client = client;
82
+ }
83
+ /**
84
+ * List available apps
85
+ * @param query - The query parameters
86
+ * @param signal - An optional abort signal
87
+ * @returns The apps
88
+ */
89
+ async list(query, options) {
90
+ const resp = await this.client.GET('/api/v1/marketplace/listings', {
91
+ params: { query },
92
+ ...options,
93
+ });
94
+ return (0, utils_js_1.transformResponse)(resp);
95
+ }
96
+ /**
97
+ * Get details for a listing
98
+ * @param type - The type of the listing
99
+ * @param signal - An optional abort signal
100
+ * @returns The listing
101
+ */
102
+ async get(type, options) {
103
+ const resp = await this.client.GET('/api/v1/marketplace/listings/{type}', {
104
+ params: { path: { type } },
105
+ ...options,
106
+ });
107
+ return (0, utils_js_1.transformResponse)(resp);
108
+ }
109
+ /**
110
+ * Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow.
111
+ * @param type - The type of the listing
112
+ * @param signal - An optional abort signal
113
+ * @returns The OAuth2 install URL
114
+ */
115
+ async getOauth2InstallUrl(type, options) {
116
+ const resp = await this.client.GET('/api/v1/marketplace/listings/{type}/install/oauth2', {
117
+ params: { path: { type } },
118
+ ...options,
119
+ });
120
+ return (0, utils_js_1.transformResponse)(resp);
121
+ }
122
+ /**
123
+ * Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token
124
+ * @param type - The type of the listing
125
+ * @param signal - An optional abort signal
126
+ * @returns The authorization URL
127
+ */
128
+ async authorizeOauth2(type, options) {
129
+ const resp = await this.client.GET('/api/v1/marketplace/listings/{type}/install/oauth2/authorize', {
130
+ params: { path: { type } },
131
+ ...options,
132
+ });
133
+ return (0, utils_js_1.transformResponse)(resp);
134
+ }
135
+ /**
136
+ * Install an app via API key.
137
+ * @param type - The type of the listing
138
+ * @param signal - An optional abort signal
139
+ * @returns The installation
140
+ */
141
+ async installWithAPIKey(type, body, options) {
142
+ const resp = await this.client.POST('/api/v1/marketplace/listings/{type}/install/apikey', {
143
+ body,
144
+ params: { path: { type } },
145
+ ...options,
146
+ });
147
+ return (0, utils_js_1.transformResponse)(resp);
148
+ }
149
+ }
150
+ exports.AppMarketplace = AppMarketplace;
151
+ /**
152
+ * Stripe App
153
+ */
154
+ class AppStripe {
155
+ client;
156
+ constructor(client) {
157
+ this.client = client;
158
+ }
159
+ /**
160
+ * Create a checkout session
161
+ * @param body - The body of the request
162
+ * @param signal - An optional abort signal
163
+ * @returns The checkout session
164
+ */
165
+ async createCheckoutSession(body, options) {
166
+ const resp = await this.client.POST('/api/v1/stripe/checkout/sessions', {
167
+ body,
168
+ ...options,
169
+ });
170
+ return (0, utils_js_1.transformResponse)(resp);
171
+ }
172
+ }
173
+ exports.AppStripe = AppStripe;
174
+ //# sourceMappingURL=apps.js.map
@@ -0,0 +1,259 @@
1
+ import type { RequestOptions } from './common.cjs';
2
+ import type { AppBaseReplaceUpdate, CreateStripeCheckoutSessionRequest, operations, paths } from './schemas.cjs';
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
+ constructor(client: Client<paths, `${string}/${string}`>);
13
+ /**
14
+ * List apps
15
+ * @param query - The query parameters
16
+ * @param signal - An optional abort signal
17
+ * @returns The apps
18
+ */
19
+ list(query?: operations['listApps']['parameters']['query'], options?: RequestOptions): Promise<{
20
+ page: number;
21
+ pageSize: number;
22
+ totalCount: number;
23
+ items: import("./schemas.cjs").components["schemas"]["App"][];
24
+ }>;
25
+ /**
26
+ * Get an app
27
+ * @param id - The ID of the app
28
+ * @param signal - An optional abort signal
29
+ * @returns The app
30
+ */
31
+ get(id: operations['getApp']['parameters']['path']['id'], options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
32
+ 200: {
33
+ headers: {
34
+ [name: string]: unknown;
35
+ };
36
+ content: {
37
+ "application/json": import("./schemas.cjs").components["schemas"]["App"];
38
+ };
39
+ };
40
+ 400: {
41
+ headers: {
42
+ [name: string]: unknown;
43
+ };
44
+ content: {
45
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
46
+ };
47
+ };
48
+ 401: {
49
+ headers: {
50
+ [name: string]: unknown;
51
+ };
52
+ content: {
53
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
54
+ };
55
+ };
56
+ 403: {
57
+ headers: {
58
+ [name: string]: unknown;
59
+ };
60
+ content: {
61
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
62
+ };
63
+ };
64
+ 404: {
65
+ headers: {
66
+ [name: string]: unknown;
67
+ };
68
+ content: {
69
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["NotFoundProblemResponse"];
70
+ };
71
+ };
72
+ 500: {
73
+ headers: {
74
+ [name: string]: unknown;
75
+ };
76
+ content: {
77
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
78
+ };
79
+ };
80
+ 503: {
81
+ headers: {
82
+ [name: string]: unknown;
83
+ };
84
+ content: {
85
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
86
+ };
87
+ };
88
+ default: {
89
+ headers: {
90
+ [name: string]: unknown;
91
+ };
92
+ content: {
93
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
94
+ };
95
+ };
96
+ }, `${string}/${string}`>>;
97
+ /**
98
+ * Update an app
99
+ * @param id - The ID of the app
100
+ * @param body - The body of the request
101
+ * @param signal - An optional abort signal
102
+ * @returns The app
103
+ */
104
+ update(id: operations['updateApp']['parameters']['path']['id'], body: AppBaseReplaceUpdate, options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
105
+ 200: {
106
+ headers: {
107
+ [name: string]: unknown;
108
+ };
109
+ content: {
110
+ "application/json": import("./schemas.cjs").components["schemas"]["App"];
111
+ };
112
+ };
113
+ 400: {
114
+ headers: {
115
+ [name: string]: unknown;
116
+ };
117
+ content: {
118
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
119
+ };
120
+ };
121
+ 401: {
122
+ headers: {
123
+ [name: string]: unknown;
124
+ };
125
+ content: {
126
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
127
+ };
128
+ };
129
+ 403: {
130
+ headers: {
131
+ [name: string]: unknown;
132
+ };
133
+ content: {
134
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
135
+ };
136
+ };
137
+ 404: {
138
+ headers: {
139
+ [name: string]: unknown;
140
+ };
141
+ content: {
142
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["NotFoundProblemResponse"];
143
+ };
144
+ };
145
+ 500: {
146
+ headers: {
147
+ [name: string]: unknown;
148
+ };
149
+ content: {
150
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
151
+ };
152
+ };
153
+ 503: {
154
+ headers: {
155
+ [name: string]: unknown;
156
+ };
157
+ content: {
158
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
159
+ };
160
+ };
161
+ default: {
162
+ headers: {
163
+ [name: string]: unknown;
164
+ };
165
+ content: {
166
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
167
+ };
168
+ };
169
+ }, `${string}/${string}`>>;
170
+ /**
171
+ * Uninstall an app
172
+ * @param id - The ID of the app
173
+ * @param signal - An optional abort signal
174
+ * @returns The app
175
+ */
176
+ uninstall(id: operations['uninstallApp']['parameters']['path']['id'], options?: RequestOptions): Promise<undefined>;
177
+ }
178
+ /**
179
+ * App Marketplace
180
+ * Available apps from the OpenMeter Marketplace.
181
+ */
182
+ export declare class AppMarketplace {
183
+ private client;
184
+ constructor(client: Client<paths, `${string}/${string}`>);
185
+ /**
186
+ * List available apps
187
+ * @param query - The query parameters
188
+ * @param signal - An optional abort signal
189
+ * @returns The apps
190
+ */
191
+ list(query?: operations['listMarketplaceListings']['parameters']['query'], options?: RequestOptions): Promise<{
192
+ page: number;
193
+ pageSize: number;
194
+ totalCount: number;
195
+ items: import("./schemas.cjs").components["schemas"]["MarketplaceListing"][];
196
+ }>;
197
+ /**
198
+ * Get details for a listing
199
+ * @param type - The type of the listing
200
+ * @param signal - An optional abort signal
201
+ * @returns The listing
202
+ */
203
+ get(type: operations['getMarketplaceListing']['parameters']['path']['type'], options?: RequestOptions): Promise<{
204
+ type: import("./schemas.cjs").components["schemas"]["AppType"];
205
+ name: string;
206
+ description: string;
207
+ capabilities: import("./schemas.cjs").components["schemas"]["AppCapability"][];
208
+ }>;
209
+ /**
210
+ * Install an app via OAuth. Returns a URL to start the OAuth 2.0 flow.
211
+ * @param type - The type of the listing
212
+ * @param signal - An optional abort signal
213
+ * @returns The OAuth2 install URL
214
+ */
215
+ getOauth2InstallUrl(type: operations['marketplaceOAuth2InstallGetURL']['parameters']['path']['type'], options?: RequestOptions): Promise<{
216
+ url: string;
217
+ }>;
218
+ /**
219
+ * Authorize OAuth2 code. Verifies the OAuth code and exchanges it for a token and refresh token
220
+ * @param type - The type of the listing
221
+ * @param signal - An optional abort signal
222
+ * @returns The authorization URL
223
+ */
224
+ authorizeOauth2(type: operations['marketplaceOAuth2InstallAuthorize']['parameters']['path']['type'], options?: RequestOptions): Promise<never>;
225
+ /**
226
+ * Install an app via API key.
227
+ * @param type - The type of the listing
228
+ * @param signal - An optional abort signal
229
+ * @returns The installation
230
+ */
231
+ installWithAPIKey(type: operations['marketplaceAppAPIKeyInstall']['parameters']['path']['type'], body: operations['marketplaceAppAPIKeyInstall']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
232
+ app: import("./schemas.cjs").components["schemas"]["App"];
233
+ defaultForCapabilityTypes: import("./schemas.cjs").components["schemas"]["AppCapabilityType"][];
234
+ }>;
235
+ }
236
+ /**
237
+ * Stripe App
238
+ */
239
+ export declare class AppStripe {
240
+ private client;
241
+ constructor(client: Client<paths, `${string}/${string}`>);
242
+ /**
243
+ * Create a checkout session
244
+ * @param body - The body of the request
245
+ * @param signal - An optional abort signal
246
+ * @returns The checkout session
247
+ */
248
+ createCheckoutSession(body: CreateStripeCheckoutSessionRequest, options?: RequestOptions): Promise<{
249
+ customerId: string;
250
+ stripeCustomerId: string;
251
+ sessionId: string;
252
+ setupIntentId: string;
253
+ url?: string;
254
+ mode: import("./schemas.cjs").components["schemas"]["StripeCheckoutSessionMode"];
255
+ cancelURL?: string;
256
+ successURL?: string;
257
+ returnURL?: string;
258
+ }>;
259
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps.js","sourceRoot":"","sources":["../../../../src/client/apps.ts"],"names":[],"mappings":"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"}