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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/Makefile +43 -0
  2. package/README.md +38 -150
  3. package/dist/cjs/index.cjs +18 -0
  4. package/dist/cjs/index.d.cts +1 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/src/client/addons.cjs +105 -0
  7. package/dist/cjs/src/client/addons.d.cts +152 -0
  8. package/dist/cjs/src/client/addons.js.map +1 -0
  9. package/dist/cjs/src/client/apps.cjs +247 -0
  10. package/dist/cjs/src/client/apps.d.cts +327 -0
  11. package/dist/cjs/src/client/apps.js.map +1 -0
  12. package/dist/cjs/src/client/billing.cjs +361 -0
  13. package/dist/cjs/src/client/billing.d.cts +526 -0
  14. package/dist/cjs/src/client/billing.js.map +1 -0
  15. package/dist/cjs/src/client/common.cjs +47 -0
  16. package/dist/cjs/src/client/common.d.cts +30 -0
  17. package/dist/cjs/src/client/common.js.map +1 -0
  18. package/dist/cjs/src/client/customers.cjs +283 -0
  19. package/dist/cjs/src/client/customers.d.cts +251 -0
  20. package/dist/cjs/src/client/customers.js.map +1 -0
  21. package/dist/cjs/src/client/debug.cjs +27 -0
  22. package/dist/cjs/src/client/debug.d.cts +17 -0
  23. package/dist/cjs/src/client/debug.js.map +1 -0
  24. package/dist/cjs/src/client/entitlements.cjs +281 -0
  25. package/dist/cjs/src/client/entitlements.d.cts +556 -0
  26. package/dist/cjs/src/client/entitlements.js.map +1 -0
  27. package/dist/cjs/src/client/events.cjs +113 -0
  28. package/dist/cjs/src/client/events.d.cts +48 -0
  29. package/dist/cjs/src/client/events.js.map +1 -0
  30. package/dist/cjs/src/client/features.cjs +78 -0
  31. package/dist/cjs/src/client/features.d.cts +78 -0
  32. package/dist/cjs/src/client/features.js.map +1 -0
  33. package/dist/cjs/src/client/index.cjs +120 -0
  34. package/dist/cjs/src/client/index.d.cts +53 -0
  35. package/dist/cjs/src/client/index.js.map +1 -0
  36. package/dist/cjs/src/client/info.cjs +42 -0
  37. package/dist/cjs/src/client/info.d.cts +34 -0
  38. package/dist/cjs/src/client/info.js.map +1 -0
  39. package/dist/cjs/src/client/meters.cjs +115 -0
  40. package/dist/cjs/src/client/meters.d.cts +123 -0
  41. package/dist/cjs/src/client/meters.js.map +1 -0
  42. package/dist/cjs/src/client/notifications.cjs +249 -0
  43. package/dist/cjs/src/client/notifications.d.cts +397 -0
  44. package/dist/cjs/src/client/notifications.js.map +1 -0
  45. package/dist/cjs/src/client/plans.cjs +204 -0
  46. package/dist/cjs/src/client/plans.d.cts +247 -0
  47. package/dist/cjs/src/client/plans.js.map +1 -0
  48. package/dist/cjs/src/client/portal.cjs +55 -0
  49. package/dist/cjs/src/client/portal.d.cts +48 -0
  50. package/dist/cjs/src/client/portal.js.map +1 -0
  51. package/dist/cjs/src/client/schemas.cjs +3 -0
  52. package/dist/cjs/src/client/schemas.d.cts +25246 -0
  53. package/dist/cjs/src/client/schemas.js.map +1 -0
  54. package/dist/cjs/src/client/subjects.cjs +76 -0
  55. package/dist/cjs/src/client/subjects.d.cts +70 -0
  56. package/dist/cjs/src/client/subjects.js.map +1 -0
  57. package/dist/cjs/src/client/subscription-addons.cjs +70 -0
  58. package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
  59. package/dist/cjs/src/client/subscription-addons.js.map +1 -0
  60. package/dist/cjs/src/client/subscriptions.cjs +132 -0
  61. package/dist/cjs/src/client/subscriptions.d.cts +170 -0
  62. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  63. package/dist/cjs/src/client/utils.cjs +69 -0
  64. package/dist/cjs/src/client/utils.d.cts +12 -0
  65. package/dist/cjs/src/client/utils.js.map +1 -0
  66. package/dist/cjs/src/portal/index.cjs +89 -0
  67. package/dist/cjs/src/portal/index.d.cts +43 -0
  68. package/dist/cjs/src/portal/index.js.map +1 -0
  69. package/dist/cjs/src/react/context.cjs +35 -0
  70. package/dist/cjs/src/react/context.d.cts +9 -0
  71. package/dist/cjs/src/react/context.js.map +1 -0
  72. package/dist/cjs/src/zod/index.cjs +12205 -0
  73. package/dist/cjs/src/zod/index.d.cts +19139 -0
  74. package/dist/cjs/src/zod/index.js.map +1 -0
  75. package/dist/cjs/tsconfig.0bedc47d.tsbuildinfo +1 -0
  76. package/dist/cjs/tsconfig.c449a50f.tsbuildinfo +1 -0
  77. package/dist/index.d.ts +1 -14
  78. package/dist/index.js +2 -15
  79. package/dist/index.js.map +1 -0
  80. package/dist/src/client/addons.d.ts +152 -0
  81. package/dist/src/client/addons.js +101 -0
  82. package/dist/src/client/addons.js.map +1 -0
  83. package/dist/src/client/apps.d.ts +327 -0
  84. package/dist/src/client/apps.js +240 -0
  85. package/dist/src/client/apps.js.map +1 -0
  86. package/dist/src/client/billing.d.ts +526 -0
  87. package/dist/src/client/billing.js +354 -0
  88. package/dist/src/client/billing.js.map +1 -0
  89. package/dist/src/client/common.d.ts +30 -0
  90. package/dist/src/client/common.js +42 -0
  91. package/dist/src/client/common.js.map +1 -0
  92. package/dist/src/client/customers.d.ts +251 -0
  93. package/dist/src/client/customers.js +276 -0
  94. package/dist/src/client/customers.js.map +1 -0
  95. package/dist/src/client/debug.d.ts +17 -0
  96. package/dist/src/client/debug.js +23 -0
  97. package/dist/src/client/debug.js.map +1 -0
  98. package/dist/src/client/entitlements.d.ts +556 -0
  99. package/dist/src/client/entitlements.js +276 -0
  100. package/dist/src/client/entitlements.js.map +1 -0
  101. package/dist/src/client/events.d.ts +48 -0
  102. package/dist/src/client/events.js +108 -0
  103. package/dist/src/client/events.js.map +1 -0
  104. package/dist/src/client/features.d.ts +78 -0
  105. package/dist/src/client/features.js +74 -0
  106. package/dist/src/client/features.js.map +1 -0
  107. package/dist/src/client/index.d.ts +53 -0
  108. package/dist/src/client/index.js +80 -0
  109. package/dist/src/client/index.js.map +1 -0
  110. package/dist/src/client/info.d.ts +34 -0
  111. package/dist/src/client/info.js +38 -0
  112. package/dist/src/client/info.js.map +1 -0
  113. package/dist/src/client/meters.d.ts +123 -0
  114. package/dist/src/client/meters.js +111 -0
  115. package/dist/src/client/meters.js.map +1 -0
  116. package/dist/src/client/notifications.d.ts +397 -0
  117. package/dist/src/client/notifications.js +242 -0
  118. package/dist/src/client/notifications.js.map +1 -0
  119. package/dist/src/client/plans.d.ts +247 -0
  120. package/dist/src/client/plans.js +199 -0
  121. package/dist/src/client/plans.js.map +1 -0
  122. package/dist/src/client/portal.d.ts +48 -0
  123. package/dist/src/client/portal.js +51 -0
  124. package/dist/src/client/portal.js.map +1 -0
  125. package/dist/src/client/schemas.d.ts +25246 -0
  126. package/dist/src/client/schemas.js +2 -0
  127. package/dist/src/client/schemas.js.map +1 -0
  128. package/dist/src/client/subjects.d.ts +70 -0
  129. package/dist/src/client/subjects.js +72 -0
  130. package/dist/src/client/subjects.js.map +1 -0
  131. package/dist/src/client/subscription-addons.d.ts +123 -0
  132. package/dist/src/client/subscription-addons.js +66 -0
  133. package/dist/src/client/subscription-addons.js.map +1 -0
  134. package/dist/src/client/subscriptions.d.ts +170 -0
  135. package/dist/src/client/subscriptions.js +128 -0
  136. package/dist/src/client/subscriptions.js.map +1 -0
  137. package/dist/src/client/utils.d.ts +12 -0
  138. package/dist/src/client/utils.js +63 -0
  139. package/dist/src/client/utils.js.map +1 -0
  140. package/dist/src/portal/index.d.ts +43 -0
  141. package/dist/src/portal/index.js +52 -0
  142. package/dist/src/portal/index.js.map +1 -0
  143. package/dist/src/react/context.d.ts +9 -0
  144. package/dist/src/react/context.js +16 -0
  145. package/dist/src/react/context.js.map +1 -0
  146. package/dist/src/zod/index.d.ts +19139 -0
  147. package/dist/src/zod/index.js +12178 -0
  148. package/dist/src/zod/index.js.map +1 -0
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/orval.config.ts +42 -0
  151. package/package.json +89 -35
  152. package/patches/openapi-typescript.patch +6194 -0
  153. package/dist/clients/client.d.ts +0 -40
  154. package/dist/clients/client.js +0 -104
  155. package/dist/clients/event.d.ts +0 -79
  156. package/dist/clients/event.js +0 -53
  157. package/dist/clients/meter.d.ts +0 -71
  158. package/dist/clients/meter.js +0 -64
  159. package/dist/clients/portal.d.ts +0 -23
  160. package/dist/clients/portal.js +0 -37
  161. package/dist/next.d.ts +0 -15
  162. package/dist/next.js +0 -46
  163. package/dist/schemas/openapi.d.ts +0 -460
  164. package/dist/schemas/openapi.js +0 -5
  165. package/dist/test/agent.d.ts +0 -2
  166. package/dist/test/agent.js +0 -178
  167. package/dist/test/mocks.d.ts +0 -12
  168. package/dist/test/mocks.js +0 -32
  169. package/index.ts +0 -22
  170. package/next.ts +0 -76
@@ -0,0 +1,247 @@
1
+ import type { RequestOptions } from './common.js';
2
+ import type { operations, paths, PlanCreate, PlanReplaceUpdate } from './schemas.js';
3
+ import type { Client } from 'openapi-fetch';
4
+ /**
5
+ * Plans
6
+ * Manage customer subscription plans and addon assignments.
7
+ */
8
+ export declare class Plans {
9
+ private client;
10
+ addons: PlanAddons;
11
+ constructor(client: Client<paths, `${string}/${string}`>);
12
+ /**
13
+ * Create a plan
14
+ * @param plan - The plan to create
15
+ * @param options - Optional request options
16
+ * @returns The created plan
17
+ */
18
+ create(plan: PlanCreate, options?: RequestOptions): Promise<{
19
+ readonly id: string;
20
+ name: string;
21
+ description?: string;
22
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
23
+ readonly createdAt: Date;
24
+ readonly updatedAt: Date;
25
+ readonly deletedAt?: Date;
26
+ key: string;
27
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
28
+ readonly version: number;
29
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
30
+ billingCadence: string;
31
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
32
+ readonly effectiveFrom?: Date;
33
+ readonly effectiveTo?: Date;
34
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
35
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
36
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
37
+ }>;
38
+ /**
39
+ * Get a plan by ID
40
+ * @param planId - The ID of the plan to retrieve
41
+ * @param params - Optional query parameters
42
+ * @param options - Optional request options
43
+ * @returns The plan
44
+ */
45
+ get(planId: operations['getPlan']['parameters']['path']['planId'], params?: operations['getPlan']['parameters']['query'], options?: RequestOptions): Promise<{
46
+ readonly id: string;
47
+ name: string;
48
+ description?: string;
49
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
50
+ readonly createdAt: Date;
51
+ readonly updatedAt: Date;
52
+ readonly deletedAt?: Date;
53
+ key: string;
54
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
55
+ readonly version: number;
56
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
57
+ billingCadence: string;
58
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
59
+ readonly effectiveFrom?: Date;
60
+ readonly effectiveTo?: Date;
61
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
62
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
63
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
64
+ }>;
65
+ /**
66
+ * List plans
67
+ * @param params - Optional parameters for listing plans
68
+ * @param options - Optional request options
69
+ * @returns A list of plans
70
+ */
71
+ list(params?: operations['listPlans']['parameters']['query'], options?: RequestOptions): Promise<{
72
+ totalCount: number;
73
+ page: number;
74
+ pageSize: number;
75
+ items: import("./schemas.js").components["schemas"]["Plan"][];
76
+ }>;
77
+ /**
78
+ * Update a plan
79
+ * @param planId - The ID of the plan to update
80
+ * @param plan - The plan data to update
81
+ * @param options - Optional request options
82
+ * @returns The updated plan
83
+ */
84
+ update(planId: operations['updatePlan']['parameters']['path']['planId'], plan: PlanReplaceUpdate, options?: RequestOptions): Promise<{
85
+ readonly id: string;
86
+ name: string;
87
+ description?: string;
88
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
89
+ readonly createdAt: Date;
90
+ readonly updatedAt: Date;
91
+ readonly deletedAt?: Date;
92
+ key: string;
93
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
94
+ readonly version: number;
95
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
96
+ billingCadence: string;
97
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
98
+ readonly effectiveFrom?: Date;
99
+ readonly effectiveTo?: Date;
100
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
101
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
102
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
103
+ }>;
104
+ /**
105
+ * Delete a plan by ID
106
+ * @param planId - The ID of the plan to delete
107
+ * @param options - Optional request options
108
+ * @returns void or standard error response structure
109
+ */
110
+ delete(planId: operations['deletePlan']['parameters']['path']['planId'], options?: RequestOptions): Promise<undefined>;
111
+ /**
112
+ * Archive a plan
113
+ * @param planId - The ID of the plan to archive
114
+ * @param options - Optional request options
115
+ * @returns The archived plan
116
+ */
117
+ archive(planId: operations['archivePlan']['parameters']['path']['planId'], options?: RequestOptions): Promise<{
118
+ readonly id: string;
119
+ name: string;
120
+ description?: string;
121
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
122
+ readonly createdAt: Date;
123
+ readonly updatedAt: Date;
124
+ readonly deletedAt?: Date;
125
+ key: string;
126
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
127
+ readonly version: number;
128
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
129
+ billingCadence: string;
130
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
131
+ readonly effectiveFrom?: Date;
132
+ readonly effectiveTo?: Date;
133
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
134
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
135
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
136
+ }>;
137
+ /**
138
+ * Publish a plan
139
+ * @param planId - The ID of the plan to publish
140
+ * @param options - Optional request options
141
+ * @returns The published plan
142
+ */
143
+ publish(planId: operations['publishPlan']['parameters']['path']['planId'], options?: RequestOptions): Promise<{
144
+ readonly id: string;
145
+ name: string;
146
+ description?: string;
147
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
148
+ readonly createdAt: Date;
149
+ readonly updatedAt: Date;
150
+ readonly deletedAt?: Date;
151
+ key: string;
152
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
153
+ readonly version: number;
154
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
155
+ billingCadence: string;
156
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
157
+ readonly effectiveFrom?: Date;
158
+ readonly effectiveTo?: Date;
159
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
160
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
161
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
162
+ }>;
163
+ }
164
+ /**
165
+ * Plan Addons
166
+ * Manage addon assignments for plans.
167
+ */
168
+ export declare class PlanAddons {
169
+ private client;
170
+ constructor(client: Client<paths, `${string}/${string}`>);
171
+ /**
172
+ * List plan addons
173
+ * @param planId - The ID of the plan
174
+ * @param params - Optional query parameters
175
+ * @param options - Optional request options
176
+ * @returns A list of plan addons
177
+ */
178
+ list(planId: operations['listPlanAddons']['parameters']['path']['planId'], params?: operations['listPlanAddons']['parameters']['query'], options?: RequestOptions): Promise<{
179
+ totalCount: number;
180
+ page: number;
181
+ pageSize: number;
182
+ items: import("./schemas.js").components["schemas"]["PlanAddon"][];
183
+ }>;
184
+ /**
185
+ * Create a plan addon
186
+ * @param planId - The ID of the plan
187
+ * @param planAddon - The plan addon to create
188
+ * @param options - Optional request options
189
+ * @returns The created plan addon
190
+ */
191
+ create(planId: operations['createPlanAddon']['parameters']['path']['planId'], planAddon: operations['createPlanAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
192
+ readonly createdAt: Date;
193
+ readonly updatedAt: Date;
194
+ readonly deletedAt?: Date;
195
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
196
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
197
+ readonly addon: import("./schemas.js").components["schemas"]["Addon"];
198
+ fromPlanPhase: string;
199
+ maxQuantity?: number;
200
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
201
+ }>;
202
+ /**
203
+ * Get a plan addon by ID
204
+ * @param planId - The ID of the plan
205
+ * @param planAddonId - The ID of the plan addon
206
+ * @param options - Optional request options
207
+ * @returns The plan addon
208
+ */
209
+ get(planId: operations['getPlanAddon']['parameters']['path']['planId'], planAddonId: operations['getPlanAddon']['parameters']['path']['planAddonId'], options?: RequestOptions): Promise<{
210
+ readonly createdAt: Date;
211
+ readonly updatedAt: Date;
212
+ readonly deletedAt?: Date;
213
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
214
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
215
+ readonly addon: import("./schemas.js").components["schemas"]["Addon"];
216
+ fromPlanPhase: string;
217
+ maxQuantity?: number;
218
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
219
+ }>;
220
+ /**
221
+ * Update a plan addon
222
+ * @param planId - The ID of the plan
223
+ * @param planAddonId - The ID of the plan addon to update
224
+ * @param planAddon - The plan addon data to update
225
+ * @param options - Optional request options
226
+ * @returns The updated plan addon
227
+ */
228
+ update(planId: operations['updatePlanAddon']['parameters']['path']['planId'], planAddonId: operations['updatePlanAddon']['parameters']['path']['planAddonId'], planAddon: operations['updatePlanAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
229
+ readonly createdAt: Date;
230
+ readonly updatedAt: Date;
231
+ readonly deletedAt?: Date;
232
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
233
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
234
+ readonly addon: import("./schemas.js").components["schemas"]["Addon"];
235
+ fromPlanPhase: string;
236
+ maxQuantity?: number;
237
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
238
+ }>;
239
+ /**
240
+ * Delete a plan addon by ID
241
+ * @param planId - The ID of the plan
242
+ * @param planAddonId - The ID of the plan addon to delete
243
+ * @param options - Optional request options
244
+ * @returns void or standard error response structure
245
+ */
246
+ delete(planId: operations['deletePlanAddon']['parameters']['path']['planId'], planAddonId: operations['deletePlanAddon']['parameters']['path']['planAddonId'], options?: RequestOptions): Promise<undefined>;
247
+ }
@@ -0,0 +1,199 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Plans
4
+ * Manage customer subscription plans and addon assignments.
5
+ */
6
+ export class Plans {
7
+ client;
8
+ addons;
9
+ constructor(client) {
10
+ this.client = client;
11
+ this.addons = new PlanAddons(this.client);
12
+ }
13
+ /**
14
+ * Create a plan
15
+ * @param plan - The plan to create
16
+ * @param options - Optional request options
17
+ * @returns The created plan
18
+ */
19
+ async create(plan, options) {
20
+ const resp = await this.client.POST('/api/v1/plans', {
21
+ body: plan,
22
+ ...options,
23
+ });
24
+ return transformResponse(resp);
25
+ }
26
+ /**
27
+ * Get a plan by ID
28
+ * @param planId - The ID of the plan to retrieve
29
+ * @param params - Optional query parameters
30
+ * @param options - Optional request options
31
+ * @returns The plan
32
+ */
33
+ async get(planId, params, options) {
34
+ const resp = await this.client.GET('/api/v1/plans/{planId}', {
35
+ params: {
36
+ path: { planId },
37
+ query: params,
38
+ },
39
+ ...options,
40
+ });
41
+ return transformResponse(resp);
42
+ }
43
+ /**
44
+ * List plans
45
+ * @param params - Optional parameters for listing plans
46
+ * @param options - Optional request options
47
+ * @returns A list of plans
48
+ */
49
+ async list(params, options) {
50
+ const resp = await this.client.GET('/api/v1/plans', {
51
+ params: { query: params },
52
+ ...options,
53
+ });
54
+ return transformResponse(resp);
55
+ }
56
+ /**
57
+ * Update a plan
58
+ * @param planId - The ID of the plan to update
59
+ * @param plan - The plan data to update
60
+ * @param options - Optional request options
61
+ * @returns The updated plan
62
+ */
63
+ async update(planId, plan, options) {
64
+ const resp = await this.client.PUT('/api/v1/plans/{planId}', {
65
+ body: plan,
66
+ params: { path: { planId } },
67
+ ...options,
68
+ });
69
+ return transformResponse(resp);
70
+ }
71
+ /**
72
+ * Delete a plan by ID
73
+ * @param planId - The ID of the plan to delete
74
+ * @param options - Optional request options
75
+ * @returns void or standard error response structure
76
+ */
77
+ async delete(planId, options) {
78
+ const resp = await this.client.DELETE('/api/v1/plans/{planId}', {
79
+ params: { path: { planId } },
80
+ ...options,
81
+ });
82
+ return transformResponse(resp);
83
+ }
84
+ /**
85
+ * Archive a plan
86
+ * @param planId - The ID of the plan to archive
87
+ * @param options - Optional request options
88
+ * @returns The archived plan
89
+ */
90
+ async archive(planId, options) {
91
+ const resp = await this.client.POST('/api/v1/plans/{planId}/archive', {
92
+ params: { path: { planId } },
93
+ ...options,
94
+ });
95
+ return transformResponse(resp);
96
+ }
97
+ /**
98
+ * Publish a plan
99
+ * @param planId - The ID of the plan to publish
100
+ * @param options - Optional request options
101
+ * @returns The published plan
102
+ */
103
+ async publish(planId, options) {
104
+ const resp = await this.client.POST('/api/v1/plans/{planId}/publish', {
105
+ params: { path: { planId } },
106
+ ...options,
107
+ });
108
+ return transformResponse(resp);
109
+ }
110
+ }
111
+ /**
112
+ * Plan Addons
113
+ * Manage addon assignments for plans.
114
+ */
115
+ export class PlanAddons {
116
+ client;
117
+ constructor(client) {
118
+ this.client = client;
119
+ }
120
+ /**
121
+ * List plan addons
122
+ * @param planId - The ID of the plan
123
+ * @param params - Optional query parameters
124
+ * @param options - Optional request options
125
+ * @returns A list of plan addons
126
+ */
127
+ async list(planId, params, options) {
128
+ const resp = await this.client.GET('/api/v1/plans/{planId}/addons', {
129
+ params: {
130
+ path: { planId },
131
+ query: params,
132
+ },
133
+ ...options,
134
+ });
135
+ return transformResponse(resp);
136
+ }
137
+ /**
138
+ * Create a plan addon
139
+ * @param planId - The ID of the plan
140
+ * @param planAddon - The plan addon to create
141
+ * @param options - Optional request options
142
+ * @returns The created plan addon
143
+ */
144
+ async create(planId, planAddon, options) {
145
+ const resp = await this.client.POST('/api/v1/plans/{planId}/addons', {
146
+ body: planAddon,
147
+ params: { path: { planId } },
148
+ ...options,
149
+ });
150
+ return transformResponse(resp);
151
+ }
152
+ /**
153
+ * Get a plan addon by ID
154
+ * @param planId - The ID of the plan
155
+ * @param planAddonId - The ID of the plan addon
156
+ * @param options - Optional request options
157
+ * @returns The plan addon
158
+ */
159
+ async get(planId, planAddonId, options) {
160
+ const resp = await this.client.GET('/api/v1/plans/{planId}/addons/{planAddonId}', {
161
+ params: {
162
+ path: { planAddonId, planId },
163
+ },
164
+ ...options,
165
+ });
166
+ return transformResponse(resp);
167
+ }
168
+ /**
169
+ * Update a plan addon
170
+ * @param planId - The ID of the plan
171
+ * @param planAddonId - The ID of the plan addon to update
172
+ * @param planAddon - The plan addon data to update
173
+ * @param options - Optional request options
174
+ * @returns The updated plan addon
175
+ */
176
+ async update(planId, planAddonId, planAddon, options) {
177
+ const resp = await this.client.PUT('/api/v1/plans/{planId}/addons/{planAddonId}', {
178
+ body: planAddon,
179
+ params: { path: { planAddonId, planId } },
180
+ ...options,
181
+ });
182
+ return transformResponse(resp);
183
+ }
184
+ /**
185
+ * Delete a plan addon by ID
186
+ * @param planId - The ID of the plan
187
+ * @param planAddonId - The ID of the plan addon to delete
188
+ * @param options - Optional request options
189
+ * @returns void or standard error response structure
190
+ */
191
+ async delete(planId, planAddonId, options) {
192
+ const resp = await this.client.DELETE('/api/v1/plans/{planId}/addons/{planAddonId}', {
193
+ params: { path: { planAddonId, planId } },
194
+ ...options,
195
+ });
196
+ return transformResponse(resp);
197
+ }
198
+ }
199
+ //# sourceMappingURL=plans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plans.js","sourceRoot":"","sources":["../../../src/client/plans.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { RequestOptions } from './common.js';
2
+ import type { operations, paths, PortalToken } from './schemas.js';
3
+ import type { Client } from 'openapi-fetch';
4
+ /**
5
+ * Portal
6
+ * Manage portal tokens.
7
+ */
8
+ export declare class Portal {
9
+ private client;
10
+ constructor(client: Client<paths, `${string}/${string}`>);
11
+ /**
12
+ * Create a consumer portal token
13
+ * @param request - The request body
14
+ * @param options - The request options
15
+ * @returns The portal token
16
+ */
17
+ create(body: PortalToken, options?: RequestOptions): Promise<{
18
+ readonly id?: string;
19
+ subject: string;
20
+ readonly expiresAt?: Date;
21
+ readonly expired?: boolean;
22
+ readonly createdAt?: Date;
23
+ readonly token?: string;
24
+ allowedMeterSlugs?: string[];
25
+ }>;
26
+ /**
27
+ * List consumer portal tokens
28
+ * @param query - The query parameters
29
+ * @param options - The request options
30
+ * @returns The portal tokens
31
+ */
32
+ list(query?: operations['listPortalTokens']['parameters']['query'], options?: RequestOptions): Promise<{
33
+ readonly id?: string;
34
+ subject: string;
35
+ readonly expiresAt?: Date;
36
+ readonly expired?: boolean;
37
+ readonly createdAt?: Date;
38
+ readonly token?: string;
39
+ allowedMeterSlugs?: string[];
40
+ }[]>;
41
+ /**
42
+ * Invalidate consumer portal tokens
43
+ * @param body - The id or subject to invalidate
44
+ * @param options - The request options
45
+ * @returns The portal token
46
+ */
47
+ invalidate(body: operations['invalidatePortalTokens']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<undefined>;
48
+ }
@@ -0,0 +1,51 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Portal
4
+ * Manage portal tokens.
5
+ */
6
+ export class Portal {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Create a consumer portal token
13
+ * @param request - The request body
14
+ * @param options - The request options
15
+ * @returns The portal token
16
+ */
17
+ async create(body, options) {
18
+ const resp = await this.client.POST('/api/v1/portal/tokens', {
19
+ body,
20
+ ...options,
21
+ });
22
+ return transformResponse(resp);
23
+ }
24
+ /**
25
+ * List consumer portal tokens
26
+ * @param query - The query parameters
27
+ * @param options - The request options
28
+ * @returns The portal tokens
29
+ */
30
+ async list(query, options) {
31
+ const resp = await this.client.GET('/api/v1/portal/tokens', {
32
+ params: { query },
33
+ ...options,
34
+ });
35
+ return transformResponse(resp);
36
+ }
37
+ /**
38
+ * Invalidate consumer portal tokens
39
+ * @param body - The id or subject to invalidate
40
+ * @param options - The request options
41
+ * @returns The portal token
42
+ */
43
+ async invalidate(body, options) {
44
+ const resp = await this.client.POST('/api/v1/portal/tokens/invalidate', {
45
+ body,
46
+ ...options,
47
+ });
48
+ return transformResponse(resp);
49
+ }
50
+ }
51
+ //# sourceMappingURL=portal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/client/portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK9C;;;GAGG;AACH,MAAM,OAAO,MAAM;IACG;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,IAAiB,EAAE,OAAwB;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC3D,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CACf,KAA6D,EAC7D,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;YAC1D,MAAM,EAAE,EAAE,KAAK,EAAE;YACjB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CACrB,IAAwF,EACxF,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACtE,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}