@openmeter/sdk 1.0.0-beta.98 → 1.0.0-beta-9958c9245841

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 (203) hide show
  1. package/Makefile +43 -0
  2. package/README.md +232 -137
  3. package/biome.json +67 -0
  4. package/dist/cjs/index.cjs +15 -21
  5. package/dist/cjs/index.d.cts +1 -15
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/src/client/addons.cjs +105 -0
  8. package/dist/cjs/src/client/addons.d.cts +152 -0
  9. package/dist/cjs/src/client/addons.js.map +1 -0
  10. package/dist/cjs/src/client/apps.cjs +247 -0
  11. package/dist/cjs/src/client/apps.d.cts +327 -0
  12. package/dist/cjs/src/client/apps.js.map +1 -0
  13. package/dist/cjs/src/client/billing.cjs +375 -0
  14. package/dist/cjs/src/client/billing.d.cts +563 -0
  15. package/dist/cjs/src/client/billing.js.map +1 -0
  16. package/dist/cjs/src/client/common.cjs +47 -0
  17. package/dist/cjs/src/client/common.d.cts +30 -0
  18. package/dist/cjs/src/client/common.js.map +1 -0
  19. package/dist/cjs/src/client/customers.cjs +469 -0
  20. package/dist/cjs/src/client/customers.d.cts +617 -0
  21. package/dist/cjs/src/client/customers.js.map +1 -0
  22. package/dist/cjs/src/client/debug.cjs +27 -0
  23. package/dist/cjs/src/client/debug.d.cts +17 -0
  24. package/dist/cjs/src/client/debug.js.map +1 -0
  25. package/dist/cjs/src/client/entitlements.cjs +372 -0
  26. package/dist/cjs/src/client/entitlements.d.cts +670 -0
  27. package/dist/cjs/src/client/entitlements.js.map +1 -0
  28. package/dist/cjs/src/client/events.cjs +113 -0
  29. package/dist/cjs/src/client/events.d.cts +48 -0
  30. package/dist/cjs/src/client/events.js.map +1 -0
  31. package/dist/cjs/src/client/features.cjs +78 -0
  32. package/dist/cjs/src/client/features.d.cts +87 -0
  33. package/dist/cjs/src/client/features.js.map +1 -0
  34. package/dist/cjs/src/client/index.cjs +122 -0
  35. package/dist/cjs/src/client/index.d.cts +54 -0
  36. package/dist/cjs/src/client/index.js.map +1 -0
  37. package/dist/cjs/src/client/info.cjs +42 -0
  38. package/dist/cjs/src/client/info.d.cts +34 -0
  39. package/dist/cjs/src/client/info.js.map +1 -0
  40. package/dist/cjs/src/client/meters.cjs +160 -0
  41. package/dist/cjs/src/client/meters.d.cts +151 -0
  42. package/dist/cjs/src/client/meters.js.map +1 -0
  43. package/dist/cjs/src/client/notifications.cjs +269 -0
  44. package/dist/cjs/src/client/notifications.d.cts +412 -0
  45. package/dist/cjs/src/client/notifications.js.map +1 -0
  46. package/dist/cjs/src/client/plans.cjs +204 -0
  47. package/dist/cjs/src/client/plans.d.cts +247 -0
  48. package/dist/cjs/src/client/plans.js.map +1 -0
  49. package/dist/cjs/src/client/portal.cjs +55 -0
  50. package/dist/cjs/src/client/portal.d.cts +48 -0
  51. package/dist/cjs/src/client/portal.js.map +1 -0
  52. package/dist/cjs/src/client/schemas.cjs +3 -0
  53. package/dist/cjs/src/client/schemas.d.cts +27081 -0
  54. package/dist/cjs/src/client/schemas.js.map +1 -0
  55. package/dist/cjs/src/client/subjects.cjs +76 -0
  56. package/dist/cjs/src/client/subjects.d.cts +79 -0
  57. package/dist/cjs/src/client/subjects.js.map +1 -0
  58. package/dist/cjs/src/client/subscription-addons.cjs +70 -0
  59. package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
  60. package/dist/cjs/src/client/subscription-addons.js.map +1 -0
  61. package/dist/cjs/src/client/subscriptions.cjs +132 -0
  62. package/dist/cjs/src/client/subscriptions.d.cts +175 -0
  63. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  64. package/dist/cjs/src/client/utils.cjs +67 -0
  65. package/dist/cjs/src/client/utils.d.cts +12 -0
  66. package/dist/cjs/src/client/utils.js.map +1 -0
  67. package/dist/cjs/src/portal/index.cjs +89 -0
  68. package/dist/cjs/src/portal/index.d.cts +43 -0
  69. package/dist/cjs/src/portal/index.js.map +1 -0
  70. package/dist/cjs/src/react/context.cjs +35 -0
  71. package/dist/cjs/src/react/context.d.cts +9 -0
  72. package/dist/cjs/src/react/context.js.map +1 -0
  73. package/dist/cjs/src/zod/index.cjs +13102 -0
  74. package/dist/cjs/src/zod/index.d.cts +20044 -0
  75. package/dist/cjs/src/zod/index.js.map +1 -0
  76. package/dist/cjs/tsconfig.0781fa96.tsbuildinfo +1 -0
  77. package/dist/cjs/tsconfig.6c95ff08.tsbuildinfo +1 -0
  78. package/dist/index.d.ts +1 -15
  79. package/dist/index.js +1 -17
  80. package/dist/index.js.map +1 -1
  81. package/dist/src/client/addons.d.ts +152 -0
  82. package/dist/src/client/addons.js +101 -0
  83. package/dist/src/client/addons.js.map +1 -0
  84. package/dist/src/client/apps.d.ts +327 -0
  85. package/dist/src/client/apps.js +240 -0
  86. package/dist/src/client/apps.js.map +1 -0
  87. package/dist/src/client/billing.d.ts +563 -0
  88. package/dist/src/client/billing.js +368 -0
  89. package/dist/src/client/billing.js.map +1 -0
  90. package/dist/src/client/common.d.ts +30 -0
  91. package/dist/src/client/common.js +42 -0
  92. package/dist/src/client/common.js.map +1 -0
  93. package/dist/src/client/customers.d.ts +617 -0
  94. package/dist/src/client/customers.js +461 -0
  95. package/dist/src/client/customers.js.map +1 -0
  96. package/dist/src/client/debug.d.ts +17 -0
  97. package/dist/src/client/debug.js +23 -0
  98. package/dist/src/client/debug.js.map +1 -0
  99. package/dist/src/client/entitlements.d.ts +670 -0
  100. package/dist/src/client/entitlements.js +365 -0
  101. package/dist/src/client/entitlements.js.map +1 -0
  102. package/dist/src/client/events.d.ts +48 -0
  103. package/dist/src/client/events.js +108 -0
  104. package/dist/src/client/events.js.map +1 -0
  105. package/dist/src/client/features.d.ts +87 -0
  106. package/dist/src/client/features.js +74 -0
  107. package/dist/src/client/features.js.map +1 -0
  108. package/dist/src/client/index.d.ts +54 -0
  109. package/dist/src/client/index.js +82 -0
  110. package/dist/src/client/index.js.map +1 -0
  111. package/dist/src/client/info.d.ts +34 -0
  112. package/dist/src/client/info.js +38 -0
  113. package/dist/src/client/info.js.map +1 -0
  114. package/dist/src/client/meters.d.ts +151 -0
  115. package/dist/src/client/meters.js +156 -0
  116. package/dist/src/client/meters.js.map +1 -0
  117. package/dist/src/client/notifications.d.ts +412 -0
  118. package/dist/src/client/notifications.js +262 -0
  119. package/dist/src/client/notifications.js.map +1 -0
  120. package/dist/src/client/plans.d.ts +247 -0
  121. package/dist/src/client/plans.js +199 -0
  122. package/dist/src/client/plans.js.map +1 -0
  123. package/dist/src/client/portal.d.ts +48 -0
  124. package/dist/src/client/portal.js +51 -0
  125. package/dist/src/client/portal.js.map +1 -0
  126. package/dist/src/client/schemas.d.ts +27081 -0
  127. package/dist/src/client/schemas.js +2 -0
  128. package/dist/src/client/schemas.js.map +1 -0
  129. package/dist/src/client/subjects.d.ts +79 -0
  130. package/dist/src/client/subjects.js +72 -0
  131. package/dist/src/client/subjects.js.map +1 -0
  132. package/dist/src/client/subscription-addons.d.ts +123 -0
  133. package/dist/src/client/subscription-addons.js +66 -0
  134. package/dist/src/client/subscription-addons.js.map +1 -0
  135. package/dist/src/client/subscriptions.d.ts +175 -0
  136. package/dist/src/client/subscriptions.js +128 -0
  137. package/dist/src/client/subscriptions.js.map +1 -0
  138. package/dist/src/client/utils.d.ts +12 -0
  139. package/dist/src/client/utils.js +61 -0
  140. package/dist/src/client/utils.js.map +1 -0
  141. package/dist/src/portal/index.d.ts +43 -0
  142. package/dist/src/portal/index.js +52 -0
  143. package/dist/src/portal/index.js.map +1 -0
  144. package/dist/src/react/context.d.ts +9 -0
  145. package/dist/src/react/context.js +16 -0
  146. package/dist/src/react/context.js.map +1 -0
  147. package/dist/src/zod/index.d.ts +20044 -0
  148. package/dist/src/zod/index.js +13071 -0
  149. package/dist/src/zod/index.js.map +1 -0
  150. package/dist/tsconfig.tsbuildinfo +1 -1
  151. package/orval.config.ts +38 -0
  152. package/package.json +62 -32
  153. package/patches/openapi-typescript.patch +6194 -0
  154. package/dist/cjs/clients/client.cjs +0 -117
  155. package/dist/cjs/clients/client.d.cts +0 -40
  156. package/dist/cjs/clients/client.js.map +0 -1
  157. package/dist/cjs/clients/event.cjs +0 -71
  158. package/dist/cjs/clients/event.d.cts +0 -79
  159. package/dist/cjs/clients/event.js.map +0 -1
  160. package/dist/cjs/clients/meter.cjs +0 -69
  161. package/dist/cjs/clients/meter.d.cts +0 -75
  162. package/dist/cjs/clients/meter.js.map +0 -1
  163. package/dist/cjs/clients/portal.cjs +0 -41
  164. package/dist/cjs/clients/portal.d.cts +0 -22
  165. package/dist/cjs/clients/portal.js.map +0 -1
  166. package/dist/cjs/clients/subject.cjs +0 -60
  167. package/dist/cjs/clients/subject.d.cts +0 -27
  168. package/dist/cjs/clients/subject.js.map +0 -1
  169. package/dist/cjs/schemas/openapi.cjs +0 -7
  170. package/dist/cjs/schemas/openapi.d.cts +0 -2078
  171. package/dist/cjs/schemas/openapi.js.map +0 -1
  172. package/dist/cjs/test/agent.cjs +0 -266
  173. package/dist/cjs/test/agent.d.cts +0 -2
  174. package/dist/cjs/test/agent.js.map +0 -1
  175. package/dist/cjs/test/mocks.cjs +0 -44
  176. package/dist/cjs/test/mocks.d.cts +0 -14
  177. package/dist/cjs/test/mocks.js.map +0 -1
  178. package/dist/cjs/tsconfig.4e4a4d92.tsbuildinfo +0 -1
  179. package/dist/cjs/tsconfig.d9d2f106.tsbuildinfo +0 -1
  180. package/dist/clients/client.d.ts +0 -40
  181. package/dist/clients/client.js +0 -112
  182. package/dist/clients/client.js.map +0 -1
  183. package/dist/clients/event.d.ts +0 -79
  184. package/dist/clients/event.js +0 -64
  185. package/dist/clients/event.js.map +0 -1
  186. package/dist/clients/meter.d.ts +0 -75
  187. package/dist/clients/meter.js +0 -65
  188. package/dist/clients/meter.js.map +0 -1
  189. package/dist/clients/portal.d.ts +0 -22
  190. package/dist/clients/portal.js +0 -37
  191. package/dist/clients/portal.js.map +0 -1
  192. package/dist/clients/subject.d.ts +0 -27
  193. package/dist/clients/subject.js +0 -56
  194. package/dist/clients/subject.js.map +0 -1
  195. package/dist/schemas/openapi.d.ts +0 -2078
  196. package/dist/schemas/openapi.js +0 -6
  197. package/dist/schemas/openapi.js.map +0 -1
  198. package/dist/test/agent.d.ts +0 -2
  199. package/dist/test/agent.js +0 -263
  200. package/dist/test/agent.js.map +0 -1
  201. package/dist/test/mocks.d.ts +0 -14
  202. package/dist/test/mocks.js +0 -41
  203. package/dist/test/mocks.js.map +0 -1
@@ -0,0 +1,670 @@
1
+ import type { Client } from 'openapi-fetch';
2
+ import type { RequestOptions } from './common.cjs';
3
+ import type { EntitlementCreateInputs, EntitlementGrantCreateInput, operations, paths, ResetEntitlementUsageInput } from './schemas.cjs';
4
+ /**
5
+ * Entitlements
6
+ * @description With Entitlements, you can define and enforce usage limits, implement quota-based pricing, and manage access to features in your application.
7
+ */
8
+ export declare class Entitlements {
9
+ private client;
10
+ grants: Grants;
11
+ constructor(client: Client<paths, `${string}/${string}`>);
12
+ /**
13
+ * Create an entitlement
14
+ *
15
+ * - Boolean entitlements define static feature access, e.g. "Can use SSO authentication".
16
+ * - Static entitlements let you pass along a configuration while granting access, e.g. "Using this feature with X Y settings" (passed in the config).
17
+ * - Metered entitlements have many use cases, from setting up usage-based access to implementing complex credit systems. Example: The customer can use 10000 AI tokens during the usage period of the entitlement.
18
+ *
19
+ * A given subject can only have one active (non-deleted) entitlement per featureKey. If you try to create a new entitlement for a featureKey that already has an active entitlement, the request will fail with a 409 error.
20
+ *
21
+ * Once an entitlement is created you cannot modify it, only delete it.
22
+ *
23
+ * @param subjectIdOrKey - The ID or key of the subject
24
+ * @param entitlement - The entitlement to create
25
+ * @param signal - An optional abort signal
26
+ * @returns The created entitlement
27
+ */
28
+ create(subjectIdOrKey: operations['createEntitlement']['parameters']['path']['subjectIdOrKey'], entitlement: EntitlementCreateInputs, options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
29
+ 201: {
30
+ headers: {
31
+ [name: string]: unknown;
32
+ };
33
+ content: {
34
+ "application/json": import("./schemas.cjs").components["schemas"]["Entitlement"];
35
+ };
36
+ };
37
+ 400: {
38
+ headers: {
39
+ [name: string]: unknown;
40
+ };
41
+ content: {
42
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
43
+ };
44
+ };
45
+ 401: {
46
+ headers: {
47
+ [name: string]: unknown;
48
+ };
49
+ content: {
50
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
51
+ };
52
+ };
53
+ 403: {
54
+ headers: {
55
+ [name: string]: unknown;
56
+ };
57
+ content: {
58
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
59
+ };
60
+ };
61
+ 409: {
62
+ headers: {
63
+ [name: string]: unknown;
64
+ };
65
+ content: {
66
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ConflictProblemResponse"];
67
+ };
68
+ };
69
+ 412: {
70
+ headers: {
71
+ [name: string]: unknown;
72
+ };
73
+ content: {
74
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["PreconditionFailedProblemResponse"];
75
+ };
76
+ };
77
+ 500: {
78
+ headers: {
79
+ [name: string]: unknown;
80
+ };
81
+ content: {
82
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
83
+ };
84
+ };
85
+ 503: {
86
+ headers: {
87
+ [name: string]: unknown;
88
+ };
89
+ content: {
90
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
91
+ };
92
+ };
93
+ default: {
94
+ headers: {
95
+ [name: string]: unknown;
96
+ };
97
+ content: {
98
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
99
+ };
100
+ };
101
+ }, `${string}/${string}`> | undefined>;
102
+ /**
103
+ * Get an entitlement by ID
104
+ *
105
+ * @param id - The ID of the entitlement
106
+ * @param signal - An optional abort signal
107
+ * @returns The entitlement
108
+ */
109
+ get(id: operations['getEntitlement']['parameters']['path']['entitlementId'], options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
110
+ 200: {
111
+ headers: {
112
+ [name: string]: unknown;
113
+ };
114
+ content: {
115
+ "application/json": import("./schemas.cjs").components["schemas"]["Entitlement"];
116
+ };
117
+ };
118
+ 400: {
119
+ headers: {
120
+ [name: string]: unknown;
121
+ };
122
+ content: {
123
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
124
+ };
125
+ };
126
+ 401: {
127
+ headers: {
128
+ [name: string]: unknown;
129
+ };
130
+ content: {
131
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
132
+ };
133
+ };
134
+ 403: {
135
+ headers: {
136
+ [name: string]: unknown;
137
+ };
138
+ content: {
139
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
140
+ };
141
+ };
142
+ 404: {
143
+ headers: {
144
+ [name: string]: unknown;
145
+ };
146
+ content: {
147
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["NotFoundProblemResponse"];
148
+ };
149
+ };
150
+ 412: {
151
+ headers: {
152
+ [name: string]: unknown;
153
+ };
154
+ content: {
155
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["PreconditionFailedProblemResponse"];
156
+ };
157
+ };
158
+ 500: {
159
+ headers: {
160
+ [name: string]: unknown;
161
+ };
162
+ content: {
163
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
164
+ };
165
+ };
166
+ 503: {
167
+ headers: {
168
+ [name: string]: unknown;
169
+ };
170
+ content: {
171
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
172
+ };
173
+ };
174
+ default: {
175
+ headers: {
176
+ [name: string]: unknown;
177
+ };
178
+ content: {
179
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
180
+ };
181
+ };
182
+ }, `${string}/${string}`> | undefined>;
183
+ /**
184
+ * List entitlements
185
+ *
186
+ * @param query - The query parameters
187
+ * @param signal - An optional abort signal
188
+ * @returns The entitlements
189
+ */
190
+ list(query?: Omit<operations['listEntitlements']['parameters']['query'], 'page' | 'pageSize'>, options?: RequestOptions): Promise<({
191
+ type: "metered";
192
+ isSoftLimit?: boolean;
193
+ isUnlimited?: boolean;
194
+ issueAfterReset?: number;
195
+ issueAfterResetPriority?: number;
196
+ preserveOverageAtReset?: boolean;
197
+ readonly createdAt: Date;
198
+ readonly updatedAt: Date;
199
+ readonly deletedAt?: Date;
200
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"];
201
+ activeFrom: Date;
202
+ activeTo?: Date;
203
+ readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
204
+ readonly id: string;
205
+ subjectKey: string;
206
+ featureKey: string;
207
+ featureId: string;
208
+ readonly lastReset: Date;
209
+ readonly currentUsagePeriod: import("./schemas.cjs").components["schemas"]["Period"];
210
+ readonly measureUsageFrom: Date;
211
+ readonly usagePeriod: import("./schemas.cjs").components["schemas"]["RecurringPeriod"];
212
+ } | {
213
+ type: "static";
214
+ config: string;
215
+ readonly createdAt: Date;
216
+ readonly updatedAt: Date;
217
+ readonly deletedAt?: Date;
218
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"];
219
+ activeFrom: Date;
220
+ activeTo?: Date;
221
+ readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
222
+ readonly id: string;
223
+ subjectKey: string;
224
+ featureKey: string;
225
+ featureId: string;
226
+ currentUsagePeriod?: import("./schemas.cjs").components["schemas"]["Period"];
227
+ usagePeriod?: import("./schemas.cjs").components["schemas"]["RecurringPeriod"];
228
+ } | {
229
+ type: "boolean";
230
+ readonly createdAt: Date;
231
+ readonly updatedAt: Date;
232
+ readonly deletedAt?: Date;
233
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"];
234
+ activeFrom: Date;
235
+ activeTo?: Date;
236
+ readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
237
+ readonly id: string;
238
+ subjectKey: string;
239
+ featureKey: string;
240
+ featureId: string;
241
+ currentUsagePeriod?: import("./schemas.cjs").components["schemas"]["Period"];
242
+ usagePeriod?: import("./schemas.cjs").components["schemas"]["RecurringPeriod"];
243
+ })[]>;
244
+ /**
245
+ * Delete an entitlement
246
+ *
247
+ * @param subjectIdOrKey - The ID or key of the subject
248
+ * @param entitlementId - The ID of the entitlement
249
+ * @param signal - An optional abort signal
250
+ * @returns The deleted entitlement
251
+ */
252
+ delete(subjectIdOrKey: operations['deleteEntitlement']['parameters']['path']['subjectIdOrKey'], entitlementId: operations['deleteEntitlement']['parameters']['path']['entitlementId'], options?: RequestOptions): Promise<undefined>;
253
+ /**
254
+ * Get the value of an entitlement to check access
255
+ * All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type.
256
+ *
257
+ * @param subjectIdOrKey - The ID or key of the subject
258
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
259
+ * @param query - The query parameters
260
+ * @param signal - An optional abort signal
261
+ * @returns The entitlement value
262
+ */
263
+ value(subjectIdOrKey: operations['getEntitlementValue']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['getEntitlementValue']['parameters']['path']['entitlementIdOrFeatureKey'], query?: operations['getEntitlementValue']['parameters']['query'], options?: RequestOptions): Promise<{
264
+ readonly hasAccess: boolean;
265
+ readonly balance?: number;
266
+ readonly usage?: number;
267
+ readonly overage?: number;
268
+ readonly totalAvailableGrantAmount?: number;
269
+ readonly config?: string;
270
+ } | undefined>;
271
+ /**
272
+ * Get the history of an entitlement
273
+ * Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events.
274
+ *
275
+ * @param subjectIdOrKey - The ID or key of the subject
276
+ * @param entitlementId - The ID of the entitlement
277
+ * @param query - The query parameters
278
+ * @param signal - An optional abort signal
279
+ * @returns The history of the entitlement
280
+ */
281
+ history(subjectIdOrKey: operations['getEntitlementHistory']['parameters']['path']['subjectIdOrKey'], entitlementId: operations['getEntitlementHistory']['parameters']['path']['entitlementId'], query: operations['getEntitlementHistory']['parameters']['query'], options?: RequestOptions): Promise<{
282
+ windowedHistory: import("./schemas.cjs").components["schemas"]["BalanceHistoryWindow"][];
283
+ burndownHistory: import("./schemas.cjs").components["schemas"]["GrantBurnDownHistorySegment"][];
284
+ } | undefined>;
285
+ /**
286
+ * Override an entitlement
287
+ * This is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime.
288
+ *
289
+ * @param subjectIdOrKey - The ID or key of the subject
290
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
291
+ * @param override - The override to create
292
+ * @param signal - An optional abort signal
293
+ * @returns The overridden entitlement
294
+ */
295
+ override(subjectIdOrKey: operations['overrideEntitlement']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['overrideEntitlement']['parameters']['path']['entitlementIdOrFeatureKey'], override: EntitlementCreateInputs, options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
296
+ 201: {
297
+ headers: {
298
+ [name: string]: unknown;
299
+ };
300
+ content: {
301
+ "application/json": import("./schemas.cjs").components["schemas"]["Entitlement"];
302
+ };
303
+ };
304
+ 400: {
305
+ headers: {
306
+ [name: string]: unknown;
307
+ };
308
+ content: {
309
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
310
+ };
311
+ };
312
+ 401: {
313
+ headers: {
314
+ [name: string]: unknown;
315
+ };
316
+ content: {
317
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
318
+ };
319
+ };
320
+ 403: {
321
+ headers: {
322
+ [name: string]: unknown;
323
+ };
324
+ content: {
325
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
326
+ };
327
+ };
328
+ 404: {
329
+ headers: {
330
+ [name: string]: unknown;
331
+ };
332
+ content: {
333
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["NotFoundProblemResponse"];
334
+ };
335
+ };
336
+ 409: {
337
+ headers: {
338
+ [name: string]: unknown;
339
+ };
340
+ content: {
341
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ConflictProblemResponse"];
342
+ };
343
+ };
344
+ 412: {
345
+ headers: {
346
+ [name: string]: unknown;
347
+ };
348
+ content: {
349
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["PreconditionFailedProblemResponse"];
350
+ };
351
+ };
352
+ 500: {
353
+ headers: {
354
+ [name: string]: unknown;
355
+ };
356
+ content: {
357
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
358
+ };
359
+ };
360
+ 503: {
361
+ headers: {
362
+ [name: string]: unknown;
363
+ };
364
+ content: {
365
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
366
+ };
367
+ };
368
+ default: {
369
+ headers: {
370
+ [name: string]: unknown;
371
+ };
372
+ content: {
373
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
374
+ };
375
+ };
376
+ }, `${string}/${string}`> | undefined>;
377
+ /**
378
+ * Reset entitlement usage
379
+ * - Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the subjects billing period to enforce usage based on their subscription.
380
+ * - Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed.
381
+ *
382
+ * @param subjectIdOrKey - The ID or key of the subject
383
+ * @param entitlementId - The ID of the entitlement
384
+ * @param body - The body of the request
385
+ * @param signal - An optional abort signal
386
+ * @returns The reset entitlement
387
+ */
388
+ reset(subjectIdOrKey: operations['resetEntitlementUsage']['parameters']['path']['subjectIdOrKey'], entitlementId: operations['resetEntitlementUsage']['parameters']['path']['entitlementId'], body: ResetEntitlementUsageInput, options?: RequestOptions): Promise<undefined>;
389
+ }
390
+ export declare class Grants {
391
+ private client;
392
+ constructor(client: Client<paths, `${string}/${string}`>);
393
+ /**
394
+ * Grant usage to a subject for an entitlement
395
+ *
396
+ * @param subjectIdOrKey - The ID or key of the subject
397
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
398
+ * @param grant - The grant to create
399
+ * @param signal - An optional abort signal
400
+ * @returns The created grant
401
+ */
402
+ create(subjectIdOrKey: operations['createGrant']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['createGrant']['parameters']['path']['entitlementIdOrFeatureKey'], grant: EntitlementGrantCreateInput, options?: RequestOptions): Promise<{
403
+ readonly createdAt: Date;
404
+ readonly updatedAt: Date;
405
+ readonly deletedAt?: Date;
406
+ amount: number;
407
+ priority?: number;
408
+ effectiveAt: Date;
409
+ expiration: import("./schemas.cjs").components["schemas"]["ExpirationPeriod"];
410
+ maxRolloverAmount?: number;
411
+ minRolloverAmount?: number;
412
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"];
413
+ readonly id: string;
414
+ readonly entitlementId: string;
415
+ nextRecurrence?: Date;
416
+ readonly expiresAt?: Date;
417
+ voidedAt?: Date;
418
+ recurrence?: import("./schemas.cjs").components["schemas"]["RecurringPeriod"];
419
+ annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
420
+ } | undefined>;
421
+ /**
422
+ * List grants for an entitlement
423
+ *
424
+ * @param subjectIdOrKey - The ID or key of the subject
425
+ * @param entitlementIdOrFeatureKey - The ID or feature key of the entitlement
426
+ * @param signal - An optional abort signal
427
+ * @returns The grants
428
+ */
429
+ list(subjectIdOrKey: operations['listEntitlementGrants']['parameters']['path']['subjectIdOrKey'], entitlementIdOrFeatureKey: operations['listEntitlementGrants']['parameters']['path']['entitlementIdOrFeatureKey'], query?: operations['listEntitlementGrants']['parameters']['query'], options?: RequestOptions): Promise<{
430
+ readonly createdAt: Date;
431
+ readonly updatedAt: Date;
432
+ readonly deletedAt?: Date;
433
+ amount: number;
434
+ priority?: number;
435
+ effectiveAt: Date;
436
+ expiration: import("./schemas.cjs").components["schemas"]["ExpirationPeriod"];
437
+ maxRolloverAmount?: number;
438
+ minRolloverAmount?: number;
439
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"];
440
+ readonly id: string;
441
+ readonly entitlementId: string;
442
+ nextRecurrence?: Date;
443
+ readonly expiresAt?: Date;
444
+ voidedAt?: Date;
445
+ recurrence?: import("./schemas.cjs").components["schemas"]["RecurringPeriod"];
446
+ annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
447
+ }[] | undefined>;
448
+ /**
449
+ * List all grants
450
+ * List all grants for all the subjects and entitlements.
451
+ *
452
+ * @param query - The query parameters
453
+ * @param options - The request options
454
+ * @returns The grants
455
+ */
456
+ listAll(query?: operations['listGrants']['parameters']['query'], options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
457
+ 200: {
458
+ headers: {
459
+ [name: string]: unknown;
460
+ };
461
+ content: {
462
+ "application/json": import("./schemas.cjs").components["schemas"]["EntitlementGrant"][] | import("./schemas.cjs").components["schemas"]["GrantPaginatedResponse"];
463
+ };
464
+ };
465
+ 400: {
466
+ headers: {
467
+ [name: string]: unknown;
468
+ };
469
+ content: {
470
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
471
+ };
472
+ };
473
+ 401: {
474
+ headers: {
475
+ [name: string]: unknown;
476
+ };
477
+ content: {
478
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
479
+ };
480
+ };
481
+ 403: {
482
+ headers: {
483
+ [name: string]: unknown;
484
+ };
485
+ content: {
486
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
487
+ };
488
+ };
489
+ 412: {
490
+ headers: {
491
+ [name: string]: unknown;
492
+ };
493
+ content: {
494
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["PreconditionFailedProblemResponse"];
495
+ };
496
+ };
497
+ 500: {
498
+ headers: {
499
+ [name: string]: unknown;
500
+ };
501
+ content: {
502
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
503
+ };
504
+ };
505
+ 503: {
506
+ headers: {
507
+ [name: string]: unknown;
508
+ };
509
+ content: {
510
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
511
+ };
512
+ };
513
+ default: {
514
+ headers: {
515
+ [name: string]: unknown;
516
+ };
517
+ content: {
518
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
519
+ };
520
+ };
521
+ }, `${string}/${string}`> | undefined>;
522
+ /**
523
+ * Void a grant
524
+ * Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations.
525
+ * Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed
526
+ * to the grant will remain, but future usage cannot be burnt down from the grant.
527
+ *
528
+ * @param grantId - The ID of the grant
529
+ * @param options - The request options
530
+ * @returns The voided grant
531
+ */
532
+ void(grantId: operations['voidGrant']['parameters']['path']['grantId'], options?: RequestOptions): Promise<undefined>;
533
+ }
534
+ /**
535
+ * Entitlements V2
536
+ * @description With Entitlements, you can define and enforce usage limits, implement quota-based pricing, and manage access to features in your application.
537
+ */
538
+ export declare class EntitlementsV2 {
539
+ private client;
540
+ grants: GrantsV2;
541
+ constructor(client: Client<paths, `${string}/${string}`>);
542
+ /**
543
+ * List all entitlements for all customers and features
544
+ * @description This endpoint is intended for administrative purposes only.
545
+ * To fetch entitlements of a specific customer, use the customer entitlements endpoint.
546
+ * @param options - Request options including query parameters
547
+ * @returns List of entitlements
548
+ */
549
+ list(options?: RequestOptions & {
550
+ query?: operations['listEntitlementsV2']['parameters']['query'];
551
+ }): Promise<{
552
+ totalCount: number;
553
+ page: number;
554
+ pageSize: number;
555
+ items: import("./schemas.cjs").components["schemas"]["EntitlementV2"][];
556
+ } | undefined>;
557
+ /**
558
+ * Get entitlement by ID
559
+ * @param entitlementId - The ID of the entitlement
560
+ * @param options - Request options
561
+ * @returns The entitlement
562
+ */
563
+ get(entitlementId: operations['getEntitlementByIdV2']['parameters']['path']['entitlementId'], options?: RequestOptions): Promise<import("openapi-typescript-helpers").SuccessResponse<{
564
+ 200: {
565
+ headers: {
566
+ [name: string]: unknown;
567
+ };
568
+ content: {
569
+ "application/json": import("./schemas.cjs").components["schemas"]["EntitlementV2"];
570
+ };
571
+ };
572
+ 400: {
573
+ headers: {
574
+ [name: string]: unknown;
575
+ };
576
+ content: {
577
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
578
+ };
579
+ };
580
+ 401: {
581
+ headers: {
582
+ [name: string]: unknown;
583
+ };
584
+ content: {
585
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
586
+ };
587
+ };
588
+ 403: {
589
+ headers: {
590
+ [name: string]: unknown;
591
+ };
592
+ content: {
593
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
594
+ };
595
+ };
596
+ 404: {
597
+ headers: {
598
+ [name: string]: unknown;
599
+ };
600
+ content: {
601
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["NotFoundProblemResponse"];
602
+ };
603
+ };
604
+ 412: {
605
+ headers: {
606
+ [name: string]: unknown;
607
+ };
608
+ content: {
609
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["PreconditionFailedProblemResponse"];
610
+ };
611
+ };
612
+ 500: {
613
+ headers: {
614
+ [name: string]: unknown;
615
+ };
616
+ content: {
617
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
618
+ };
619
+ };
620
+ 503: {
621
+ headers: {
622
+ [name: string]: unknown;
623
+ };
624
+ content: {
625
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
626
+ };
627
+ };
628
+ default: {
629
+ headers: {
630
+ [name: string]: unknown;
631
+ };
632
+ content: {
633
+ "application/problem+json": import("./schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
634
+ };
635
+ };
636
+ }, `${string}/${string}`> | undefined>;
637
+ }
638
+ /**
639
+ * Grants
640
+ */
641
+ export declare class GrantsV2 {
642
+ private client;
643
+ constructor(client: Client<paths, `${string}/${string}`>);
644
+ /**
645
+ * List all grants for all customers and entitlements
646
+ * @description This endpoint is intended for administrative purposes only.
647
+ * To fetch grants of a specific entitlement, use the customer entitlements grants endpoint.
648
+ * @param options - Request options including query parameters
649
+ * @returns List of grants
650
+ */
651
+ list(options?: RequestOptions & {
652
+ query?: operations['listGrantsV2']['parameters']['query'];
653
+ }): Promise<{
654
+ totalCount: number;
655
+ page: number;
656
+ pageSize: number;
657
+ items: import("./schemas.cjs").components["schemas"]["EntitlementGrantV2"][];
658
+ } | undefined>;
659
+ /**
660
+ * Void a grant (legacy method using V1 endpoint)
661
+ * @description Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations.
662
+ * Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed
663
+ * to the grant will remain, but future usage cannot be burnt down from the grant.
664
+ * @param grantId - The ID of the grant
665
+ * @param options - Request options
666
+ * @returns The voided grant
667
+ * @deprecated This method uses the legacy V1 endpoint. Consider using customer-specific grant operations instead.
668
+ */
669
+ void(grantId: operations['voidGrant']['parameters']['path']['grantId'], options?: RequestOptions): Promise<undefined>;
670
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../../../../src/client/entitlements.ts"],"names":[],"mappings":"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"}