@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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/client/schemas.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ import type { Client } from 'openapi-fetch';
2
+ import type { RequestOptions } from './common.js';
3
+ import type { operations, paths, SubjectUpsert } from './schemas.js';
4
+ /**
5
+ * Subjects
6
+ * @description Subjects are entities that consume resources you wish to meter. These can range from users, servers, and services to devices. The design of subjects is intentionally generic, enabling flexible application across various metering scenarios. Meters are aggregating events for each subject..
7
+ */
8
+ export declare class Subjects {
9
+ private client;
10
+ constructor(client: Client<paths, `${string}/${string}`>);
11
+ /**
12
+ * Upsert one or multiple subjects
13
+ * If the subject does not exist, it will be created, otherwise it will be updated.
14
+ *
15
+ * @param subjects - The subjects to upsert
16
+ * @param signal - An optional abort signal
17
+ * @returns The upserted subjects
18
+ */
19
+ upsert(subjects: SubjectUpsert | SubjectUpsert[], options?: RequestOptions): Promise<{
20
+ readonly createdAt: Date;
21
+ readonly updatedAt: Date;
22
+ readonly deletedAt?: Date;
23
+ readonly id: string;
24
+ key: string;
25
+ displayName?: string | null;
26
+ metadata?: {
27
+ [key: string]: unknown;
28
+ } | null;
29
+ currentPeriodStart?: Date;
30
+ currentPeriodEnd?: Date;
31
+ stripeCustomerId?: string | null;
32
+ }[] | undefined>;
33
+ /**
34
+ * Get a subject by ID or key
35
+ * @param idOrKey - The ID or key of the subject
36
+ * @param signal - An optional abort signal
37
+ * @returns The subject
38
+ */
39
+ get(idOrKey: operations['getSubject']['parameters']['path']['subjectIdOrKey'], options?: RequestOptions): Promise<{
40
+ readonly createdAt: Date;
41
+ readonly updatedAt: Date;
42
+ readonly deletedAt?: Date;
43
+ readonly id: string;
44
+ key: string;
45
+ displayName?: string | null;
46
+ metadata?: {
47
+ [key: string]: unknown;
48
+ } | null;
49
+ currentPeriodStart?: Date;
50
+ currentPeriodEnd?: Date;
51
+ stripeCustomerId?: string | null;
52
+ } | undefined>;
53
+ /**
54
+ * List subjects
55
+ * @param signal - An optional abort signal
56
+ * @returns The subjects
57
+ */
58
+ list(options?: RequestOptions): Promise<{
59
+ readonly createdAt: Date;
60
+ readonly updatedAt: Date;
61
+ readonly deletedAt?: Date;
62
+ readonly id: string;
63
+ key: string;
64
+ displayName?: string | null;
65
+ metadata?: {
66
+ [key: string]: unknown;
67
+ } | null;
68
+ currentPeriodStart?: Date;
69
+ currentPeriodEnd?: Date;
70
+ stripeCustomerId?: string | null;
71
+ }[] | undefined>;
72
+ /**
73
+ * Delete a subject by ID or key
74
+ * @param idOrKey - The ID or key of the subject
75
+ * @param signal - An optional abort signal
76
+ * @returns The deleted subject
77
+ */
78
+ delete(idOrKey: operations['deleteSubject']['parameters']['path']['subjectIdOrKey'], options?: RequestOptions): Promise<undefined>;
79
+ }
@@ -0,0 +1,72 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Subjects
4
+ * @description Subjects are entities that consume resources you wish to meter. These can range from users, servers, and services to devices. The design of subjects is intentionally generic, enabling flexible application across various metering scenarios. Meters are aggregating events for each subject..
5
+ */
6
+ export class Subjects {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Upsert one or multiple subjects
13
+ * If the subject does not exist, it will be created, otherwise it will be updated.
14
+ *
15
+ * @param subjects - The subjects to upsert
16
+ * @param signal - An optional abort signal
17
+ * @returns The upserted subjects
18
+ */
19
+ async upsert(subjects, options) {
20
+ const resp = await this.client.POST('/api/v1/subjects', {
21
+ body: Array.isArray(subjects) ? subjects : [subjects],
22
+ ...options,
23
+ });
24
+ return transformResponse(resp);
25
+ }
26
+ /**
27
+ * Get a subject by ID or key
28
+ * @param idOrKey - The ID or key of the subject
29
+ * @param signal - An optional abort signal
30
+ * @returns The subject
31
+ */
32
+ async get(idOrKey, options) {
33
+ const resp = await this.client.GET('/api/v1/subjects/{subjectIdOrKey}', {
34
+ params: {
35
+ path: {
36
+ subjectIdOrKey: idOrKey,
37
+ },
38
+ },
39
+ ...options,
40
+ });
41
+ return transformResponse(resp);
42
+ }
43
+ /**
44
+ * List subjects
45
+ * @param signal - An optional abort signal
46
+ * @returns The subjects
47
+ */
48
+ async list(options) {
49
+ const resp = await this.client.GET('/api/v1/subjects', {
50
+ ...options,
51
+ });
52
+ return transformResponse(resp);
53
+ }
54
+ /**
55
+ * Delete a subject by ID or key
56
+ * @param idOrKey - The ID or key of the subject
57
+ * @param signal - An optional abort signal
58
+ * @returns The deleted subject
59
+ */
60
+ async delete(idOrKey, options) {
61
+ const resp = await this.client.DELETE('/api/v1/subjects/{subjectIdOrKey}', {
62
+ params: {
63
+ path: {
64
+ subjectIdOrKey: idOrKey,
65
+ },
66
+ },
67
+ ...options,
68
+ });
69
+ return transformResponse(resp);
70
+ }
71
+ }
72
+ //# sourceMappingURL=subjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subjects.js","sourceRoot":"","sources":["../../../src/client/subjects.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACC;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CACjB,QAAyC,EACzC,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,OAAyE,EACzE,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE;YACtE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,OAAO;iBACxB;aACF;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,OAAwB;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;YACrD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,OAA4E,EAC5E,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE;YACzE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,OAAO;iBACxB;aACF;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,123 @@
1
+ import type { Client } from 'openapi-fetch';
2
+ import type { RequestOptions } from './common.js';
3
+ import type { operations, paths } from './schemas.js';
4
+ export declare class SubscriptionAddons {
5
+ private client;
6
+ constructor(client: Client<paths, `${string}/${string}`>);
7
+ /**
8
+ * Create a new subscription addon
9
+ * @param subscriptionId - The ID of the subscription
10
+ * @param addon - The subscription addon to create
11
+ * @param options - Optional request options
12
+ * @returns The created subscription addon
13
+ */
14
+ create(subscriptionId: string, addon: operations['createSubscriptionAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
15
+ readonly id: string;
16
+ name: string;
17
+ description?: string;
18
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
19
+ readonly createdAt: Date;
20
+ readonly updatedAt: Date;
21
+ readonly deletedAt?: Date;
22
+ readonly activeFrom: Date;
23
+ readonly activeTo?: Date;
24
+ addon: {
25
+ id: string;
26
+ readonly key: string;
27
+ readonly version: number;
28
+ readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"];
29
+ };
30
+ readonly quantityAt: Date;
31
+ quantity: number;
32
+ readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][];
33
+ readonly subscriptionId: string;
34
+ readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][];
35
+ } | undefined>;
36
+ /**
37
+ * List all addons of a subscription
38
+ * @param subscriptionId - The ID of the subscription
39
+ * @param options - Optional request options
40
+ * @returns A list of subscription addons
41
+ */
42
+ list(subscriptionId: string, options?: RequestOptions): Promise<{
43
+ readonly id: string;
44
+ name: string;
45
+ description?: string;
46
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
47
+ readonly createdAt: Date;
48
+ readonly updatedAt: Date;
49
+ readonly deletedAt?: Date;
50
+ readonly activeFrom: Date;
51
+ readonly activeTo?: Date;
52
+ addon: {
53
+ id: string;
54
+ readonly key: string;
55
+ readonly version: number;
56
+ readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"];
57
+ };
58
+ readonly quantityAt: Date;
59
+ quantity: number;
60
+ readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][];
61
+ readonly subscriptionId: string;
62
+ readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][];
63
+ }[] | undefined>;
64
+ /**
65
+ * Get a subscription addon by id
66
+ * @param subscriptionId - The ID of the subscription
67
+ * @param subscriptionAddonId - The ID of the subscription addon
68
+ * @param options - Optional request options
69
+ * @returns The subscription addon
70
+ */
71
+ get(subscriptionId: string, subscriptionAddonId: string, options?: RequestOptions): Promise<{
72
+ readonly id: string;
73
+ name: string;
74
+ description?: string;
75
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
76
+ readonly createdAt: Date;
77
+ readonly updatedAt: Date;
78
+ readonly deletedAt?: Date;
79
+ readonly activeFrom: Date;
80
+ readonly activeTo?: Date;
81
+ addon: {
82
+ id: string;
83
+ readonly key: string;
84
+ readonly version: number;
85
+ readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"];
86
+ };
87
+ readonly quantityAt: Date;
88
+ quantity: number;
89
+ readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][];
90
+ readonly subscriptionId: string;
91
+ readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][];
92
+ } | undefined>;
93
+ /**
94
+ * Updates a subscription addon
95
+ * @param subscriptionId - The ID of the subscription
96
+ * @param subscriptionAddonId - The ID of the subscription addon to update
97
+ * @param addon - The subscription addon data to update
98
+ * @param options - Optional request options
99
+ * @returns The updated subscription addon
100
+ */
101
+ update(subscriptionId: string, subscriptionAddonId: string, addon: operations['updateSubscriptionAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
102
+ readonly id: string;
103
+ name: string;
104
+ description?: string;
105
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
106
+ readonly createdAt: Date;
107
+ readonly updatedAt: Date;
108
+ readonly deletedAt?: Date;
109
+ readonly activeFrom: Date;
110
+ readonly activeTo?: Date;
111
+ addon: {
112
+ id: string;
113
+ readonly key: string;
114
+ readonly version: number;
115
+ readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"];
116
+ };
117
+ readonly quantityAt: Date;
118
+ quantity: number;
119
+ readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][];
120
+ readonly subscriptionId: string;
121
+ readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][];
122
+ } | undefined>;
123
+ }
@@ -0,0 +1,66 @@
1
+ import { transformResponse } from './utils.js';
2
+ export class SubscriptionAddons {
3
+ client;
4
+ constructor(client) {
5
+ this.client = client;
6
+ }
7
+ /**
8
+ * Create a new subscription addon
9
+ * @param subscriptionId - The ID of the subscription
10
+ * @param addon - The subscription addon to create
11
+ * @param options - Optional request options
12
+ * @returns The created subscription addon
13
+ */
14
+ async create(subscriptionId, addon, options) {
15
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/addons', {
16
+ body: addon,
17
+ params: { path: { subscriptionId } },
18
+ ...options,
19
+ });
20
+ return transformResponse(resp);
21
+ }
22
+ /**
23
+ * List all addons of a subscription
24
+ * @param subscriptionId - The ID of the subscription
25
+ * @param options - Optional request options
26
+ * @returns A list of subscription addons
27
+ */
28
+ async list(subscriptionId, options) {
29
+ const resp = await this.client.GET('/api/v1/subscriptions/{subscriptionId}/addons', {
30
+ params: { path: { subscriptionId } },
31
+ ...options,
32
+ });
33
+ return transformResponse(resp);
34
+ }
35
+ /**
36
+ * Get a subscription addon by id
37
+ * @param subscriptionId - The ID of the subscription
38
+ * @param subscriptionAddonId - The ID of the subscription addon
39
+ * @param options - Optional request options
40
+ * @returns The subscription addon
41
+ */
42
+ async get(subscriptionId, subscriptionAddonId, options) {
43
+ const resp = await this.client.GET('/api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}', {
44
+ params: { path: { subscriptionAddonId, subscriptionId } },
45
+ ...options,
46
+ });
47
+ return transformResponse(resp);
48
+ }
49
+ /**
50
+ * Updates a subscription addon
51
+ * @param subscriptionId - The ID of the subscription
52
+ * @param subscriptionAddonId - The ID of the subscription addon to update
53
+ * @param addon - The subscription addon data to update
54
+ * @param options - Optional request options
55
+ * @returns The updated subscription addon
56
+ */
57
+ async update(subscriptionId, subscriptionAddonId, addon, options) {
58
+ const resp = await this.client.PATCH('/api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}', {
59
+ body: addon,
60
+ params: { path: { subscriptionAddonId, subscriptionId } },
61
+ ...options,
62
+ });
63
+ return transformResponse(resp);
64
+ }
65
+ }
66
+ //# sourceMappingURL=subscription-addons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-addons.js","sourceRoot":"","sources":["../../../src/client/subscription-addons.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,cAAsB,EACtB,KAA0F,EAC1F,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,+CAA+C,EAC/C;YACE,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE;YACpC,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,cAAsB,EAAE,OAAwB;QAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,+CAA+C,EAC/C;YACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE;YACpC,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,CACd,cAAsB,EACtB,mBAA2B,EAC3B,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,qEAAqE,EACrE;YACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE,EAAE;YACzD,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CACjB,cAAsB,EACtB,mBAA2B,EAC3B,KAA0F,EAC1F,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAClC,qEAAqE,EACrE;YACE,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,cAAc,EAAE,EAAE;YACzD,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,175 @@
1
+ import type { Client } from 'openapi-fetch';
2
+ import type { RequestOptions } from './common.js';
3
+ import type { operations, paths, SubscriptionChange, SubscriptionCreate, SubscriptionEdit } from './schemas.js';
4
+ /**
5
+ * Subscriptions
6
+ */
7
+ export declare class Subscriptions {
8
+ private readonly client;
9
+ constructor(client: Client<paths, `${string}/${string}`>);
10
+ /**
11
+ * Create a subscription
12
+ * @param body - The subscription to create
13
+ * @param signal - An optional abort signal
14
+ * @returns The created subscription
15
+ */
16
+ create(body: SubscriptionCreate, options?: RequestOptions): Promise<{
17
+ readonly id: string;
18
+ name: string;
19
+ description?: string;
20
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
21
+ readonly createdAt: Date;
22
+ readonly updatedAt: Date;
23
+ readonly deletedAt?: Date;
24
+ activeFrom: Date;
25
+ activeTo?: Date;
26
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
27
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
28
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
29
+ customerId: string;
30
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
31
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
32
+ readonly billingCadence: string;
33
+ readonly proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
34
+ readonly billingAnchor: Date;
35
+ } | undefined>;
36
+ /**
37
+ * Get a subscription
38
+ * @param id - The subscription ID
39
+ * @param signal - An optional abort signal
40
+ * @returns The subscription
41
+ */
42
+ get(id: operations['getSubscription']['parameters']['path']['subscriptionId'], options?: RequestOptions): Promise<{
43
+ readonly id: string;
44
+ name: string;
45
+ description?: string;
46
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
47
+ readonly createdAt: Date;
48
+ readonly updatedAt: Date;
49
+ readonly deletedAt?: Date;
50
+ activeFrom: Date;
51
+ activeTo?: Date;
52
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
53
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
54
+ customerId: string;
55
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
56
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
57
+ readonly billingCadence: string;
58
+ readonly proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
59
+ readonly billingAnchor: Date;
60
+ alignment?: import("./schemas.js").components["schemas"]["SubscriptionAlignment"];
61
+ phases: import("./schemas.js").components["schemas"]["SubscriptionPhaseExpanded"][];
62
+ } | undefined>;
63
+ /**
64
+ * Edit a subscription
65
+ * @param id - The subscription ID
66
+ * @param body - The subscription to edit
67
+ * @param signal - An optional abort signal
68
+ * @returns The edited subscription
69
+ */
70
+ edit(id: operations['editSubscription']['parameters']['path']['subscriptionId'], body: SubscriptionEdit, options?: RequestOptions): Promise<{
71
+ readonly id: string;
72
+ name: string;
73
+ description?: string;
74
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
75
+ readonly createdAt: Date;
76
+ readonly updatedAt: Date;
77
+ readonly deletedAt?: Date;
78
+ activeFrom: Date;
79
+ activeTo?: Date;
80
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
81
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
82
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
83
+ customerId: string;
84
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
85
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
86
+ readonly billingCadence: string;
87
+ readonly proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
88
+ readonly billingAnchor: Date;
89
+ } | undefined>;
90
+ /**
91
+ * Cancel a subscription
92
+ * @param id - The subscription ID
93
+ * @param body - The subscription to cancel
94
+ * @param signal - An optional abort signal
95
+ * @returns The canceled subscription
96
+ */
97
+ cancel(id: operations['cancelSubscription']['parameters']['path']['subscriptionId'], body: operations['cancelSubscription']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
98
+ readonly id: string;
99
+ name: string;
100
+ description?: string;
101
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
102
+ readonly createdAt: Date;
103
+ readonly updatedAt: Date;
104
+ readonly deletedAt?: Date;
105
+ activeFrom: Date;
106
+ activeTo?: Date;
107
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
108
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
109
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
110
+ customerId: string;
111
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
112
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
113
+ readonly billingCadence: string;
114
+ readonly proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
115
+ readonly billingAnchor: Date;
116
+ } | undefined>;
117
+ /**
118
+ * Change a subscription
119
+ * @description Closes a running subscription and starts a new one according to the specification. Can be used for upgrades, downgrades, and plan changes.
120
+ * @param id - The subscription ID
121
+ * @param body - The subscription to change
122
+ * @param signal - An optional abort signal
123
+ * @returns The changed subscription
124
+ */
125
+ change(id: operations['changeSubscription']['parameters']['path']['subscriptionId'], body: SubscriptionChange, options?: RequestOptions): Promise<{
126
+ current: import("./schemas.js").components["schemas"]["Subscription"];
127
+ next: import("./schemas.js").components["schemas"]["SubscriptionExpanded"];
128
+ } | undefined>;
129
+ /**
130
+ * Migrate a subscription
131
+ * @description Migrates the subscripiton to the provided version of the current plan.
132
+ * @param id - The subscription ID
133
+ * @param body - The subscription to migrate
134
+ * @param signal - An optional abort signal
135
+ * @returns The migrated subscription
136
+ */
137
+ migrate(id: operations['migrateSubscription']['parameters']['path']['subscriptionId'], body: operations['migrateSubscription']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
138
+ current: import("./schemas.js").components["schemas"]["Subscription"];
139
+ next: import("./schemas.js").components["schemas"]["SubscriptionExpanded"];
140
+ } | undefined>;
141
+ /**
142
+ * Unschedule a cancelation
143
+ * @param id - The subscription ID
144
+ * @param signal - An optional abort signal
145
+ * @returns The unscheduled subscription
146
+ */
147
+ unscheduleCancelation(id: operations['unscheduleCancelation']['parameters']['path']['subscriptionId'], options?: RequestOptions): Promise<{
148
+ readonly id: string;
149
+ name: string;
150
+ description?: string;
151
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
152
+ readonly createdAt: Date;
153
+ readonly updatedAt: Date;
154
+ readonly deletedAt?: Date;
155
+ activeFrom: Date;
156
+ activeTo?: Date;
157
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
158
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
159
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
160
+ customerId: string;
161
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
162
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
163
+ readonly billingCadence: string;
164
+ readonly proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
165
+ readonly billingAnchor: Date;
166
+ } | undefined>;
167
+ /**
168
+ * Delete subscription
169
+ * @description Deletes a subscription. Only scheduled subscriptions can be deleted.
170
+ * @param subscriptionId - The ID of the subscription to delete
171
+ * @param options - Optional request options
172
+ * @returns void or standard error response structure
173
+ */
174
+ delete(subscriptionId: operations['deleteSubscription']['parameters']['path']['subscriptionId'], options?: RequestOptions): Promise<undefined>;
175
+ }
@@ -0,0 +1,128 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Subscriptions
4
+ */
5
+ export class Subscriptions {
6
+ client;
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
10
+ /**
11
+ * Create a subscription
12
+ * @param body - The subscription to create
13
+ * @param signal - An optional abort signal
14
+ * @returns The created subscription
15
+ */
16
+ async create(body, options) {
17
+ const resp = await this.client.POST('/api/v1/subscriptions', {
18
+ body,
19
+ ...options,
20
+ });
21
+ return transformResponse(resp);
22
+ }
23
+ /**
24
+ * Get a subscription
25
+ * @param id - The subscription ID
26
+ * @param signal - An optional abort signal
27
+ * @returns The subscription
28
+ */
29
+ async get(id, options) {
30
+ const resp = await this.client.GET('/api/v1/subscriptions/{subscriptionId}', {
31
+ params: { path: { subscriptionId: id } },
32
+ ...options,
33
+ });
34
+ return transformResponse(resp);
35
+ }
36
+ /**
37
+ * Edit a subscription
38
+ * @param id - The subscription ID
39
+ * @param body - The subscription to edit
40
+ * @param signal - An optional abort signal
41
+ * @returns The edited subscription
42
+ */
43
+ async edit(id, body, options) {
44
+ const resp = await this.client.PATCH('/api/v1/subscriptions/{subscriptionId}', {
45
+ body,
46
+ params: { path: { subscriptionId: id } },
47
+ ...options,
48
+ });
49
+ return transformResponse(resp);
50
+ }
51
+ /**
52
+ * Cancel a subscription
53
+ * @param id - The subscription ID
54
+ * @param body - The subscription to cancel
55
+ * @param signal - An optional abort signal
56
+ * @returns The canceled subscription
57
+ */
58
+ async cancel(id, body, options) {
59
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/cancel', {
60
+ body,
61
+ params: { path: { subscriptionId: id } },
62
+ ...options,
63
+ });
64
+ return transformResponse(resp);
65
+ }
66
+ /**
67
+ * Change a subscription
68
+ * @description Closes a running subscription and starts a new one according to the specification. Can be used for upgrades, downgrades, and plan changes.
69
+ * @param id - The subscription ID
70
+ * @param body - The subscription to change
71
+ * @param signal - An optional abort signal
72
+ * @returns The changed subscription
73
+ */
74
+ async change(id, body, options) {
75
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/change', {
76
+ body,
77
+ params: { path: { subscriptionId: id } },
78
+ ...options,
79
+ });
80
+ return transformResponse(resp);
81
+ }
82
+ /**
83
+ * Migrate a subscription
84
+ * @description Migrates the subscripiton to the provided version of the current plan.
85
+ * @param id - The subscription ID
86
+ * @param body - The subscription to migrate
87
+ * @param signal - An optional abort signal
88
+ * @returns The migrated subscription
89
+ */
90
+ async migrate(id, body, options) {
91
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/migrate', {
92
+ body,
93
+ params: { path: { subscriptionId: id } },
94
+ ...options,
95
+ });
96
+ return transformResponse(resp);
97
+ }
98
+ /**
99
+ * Unschedule a cancelation
100
+ * @param id - The subscription ID
101
+ * @param signal - An optional abort signal
102
+ * @returns The unscheduled subscription
103
+ */
104
+ async unscheduleCancelation(id, options) {
105
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/unschedule-cancelation', {
106
+ params: { path: { subscriptionId: id } },
107
+ ...options,
108
+ });
109
+ return transformResponse(resp);
110
+ }
111
+ /**
112
+ * Delete subscription
113
+ * @description Deletes a subscription. Only scheduled subscriptions can be deleted.
114
+ * @param subscriptionId - The ID of the subscription to delete
115
+ * @param options - Optional request options
116
+ * @returns void or standard error response structure
117
+ */
118
+ async delete(subscriptionId, options) {
119
+ const resp = await this.client.DELETE('/api/v1/subscriptions/{subscriptionId}', {
120
+ params: {
121
+ path: { subscriptionId },
122
+ },
123
+ ...options,
124
+ });
125
+ return transformResponse(resp);
126
+ }
127
+ }
128
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../src/client/subscriptions.ts"],"names":[],"mappings":"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"}