@openmeter/sdk 1.0.0-beta.23 → 1.0.0-beta.231

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 (165) hide show
  1. package/README.md +234 -146
  2. package/dist/cjs/index.cjs +18 -0
  3. package/dist/cjs/index.cjs.map +1 -0
  4. package/dist/cjs/index.d.cts +1 -0
  5. package/dist/cjs/src/client/addons.cjs +105 -0
  6. package/dist/cjs/src/client/addons.cjs.map +1 -0
  7. package/dist/cjs/src/client/addons.d.cts +152 -0
  8. package/dist/cjs/src/client/apps.cjs +247 -0
  9. package/dist/cjs/src/client/apps.cjs.map +1 -0
  10. package/dist/cjs/src/client/apps.d.cts +327 -0
  11. package/dist/cjs/src/client/billing.cjs +375 -0
  12. package/dist/cjs/src/client/billing.cjs.map +1 -0
  13. package/dist/cjs/src/client/billing.d.cts +563 -0
  14. package/dist/cjs/src/client/common.cjs +47 -0
  15. package/dist/cjs/src/client/common.cjs.map +1 -0
  16. package/dist/cjs/src/client/common.d.cts +30 -0
  17. package/dist/cjs/src/client/customers.cjs +469 -0
  18. package/dist/cjs/src/client/customers.cjs.map +1 -0
  19. package/dist/cjs/src/client/customers.d.cts +620 -0
  20. package/dist/cjs/src/client/debug.cjs +27 -0
  21. package/dist/cjs/src/client/debug.cjs.map +1 -0
  22. package/dist/cjs/src/client/debug.d.cts +17 -0
  23. package/dist/cjs/src/client/entitlements.cjs +372 -0
  24. package/dist/cjs/src/client/entitlements.cjs.map +1 -0
  25. package/dist/cjs/src/client/entitlements.d.cts +670 -0
  26. package/dist/cjs/src/client/events.cjs +113 -0
  27. package/dist/cjs/src/client/events.cjs.map +1 -0
  28. package/dist/cjs/src/client/events.d.cts +48 -0
  29. package/dist/cjs/src/client/features.cjs +78 -0
  30. package/dist/cjs/src/client/features.cjs.map +1 -0
  31. package/dist/cjs/src/client/features.d.cts +90 -0
  32. package/dist/cjs/src/client/index.cjs +122 -0
  33. package/dist/cjs/src/client/index.cjs.map +1 -0
  34. package/dist/cjs/src/client/index.d.cts +54 -0
  35. package/dist/cjs/src/client/info.cjs +42 -0
  36. package/dist/cjs/src/client/info.cjs.map +1 -0
  37. package/dist/cjs/src/client/info.d.cts +34 -0
  38. package/dist/cjs/src/client/meters.cjs +160 -0
  39. package/dist/cjs/src/client/meters.cjs.map +1 -0
  40. package/dist/cjs/src/client/meters.d.cts +220 -0
  41. package/dist/cjs/src/client/notifications.cjs +269 -0
  42. package/dist/cjs/src/client/notifications.cjs.map +1 -0
  43. package/dist/cjs/src/client/notifications.d.cts +412 -0
  44. package/dist/cjs/src/client/plans.cjs +204 -0
  45. package/dist/cjs/src/client/plans.cjs.map +1 -0
  46. package/dist/cjs/src/client/plans.d.cts +252 -0
  47. package/dist/cjs/src/client/portal.cjs +55 -0
  48. package/dist/cjs/src/client/portal.cjs.map +1 -0
  49. package/dist/cjs/src/client/portal.d.cts +48 -0
  50. package/dist/cjs/src/client/schemas.cjs +3 -0
  51. package/dist/cjs/src/client/schemas.cjs.map +1 -0
  52. package/dist/cjs/src/client/schemas.d.cts +28002 -0
  53. package/dist/cjs/src/client/subjects.cjs +76 -0
  54. package/dist/cjs/src/client/subjects.cjs.map +1 -0
  55. package/dist/cjs/src/client/subjects.d.cts +79 -0
  56. package/dist/cjs/src/client/subscription-addons.cjs +70 -0
  57. package/dist/cjs/src/client/subscription-addons.cjs.map +1 -0
  58. package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
  59. package/dist/cjs/src/client/subscriptions.cjs +132 -0
  60. package/dist/cjs/src/client/subscriptions.cjs.map +1 -0
  61. package/dist/cjs/src/client/subscriptions.d.cts +180 -0
  62. package/dist/cjs/src/client/utils.cjs +67 -0
  63. package/dist/cjs/src/client/utils.cjs.map +1 -0
  64. package/dist/cjs/src/client/utils.d.cts +12 -0
  65. package/dist/cjs/src/portal/index.cjs +89 -0
  66. package/dist/cjs/src/portal/index.cjs.map +1 -0
  67. package/dist/cjs/src/portal/index.d.cts +43 -0
  68. package/dist/cjs/src/react/context.cjs +35 -0
  69. package/dist/cjs/src/react/context.cjs.map +1 -0
  70. package/dist/cjs/src/react/context.d.cts +9 -0
  71. package/dist/cjs/src/zod/index.cjs +13679 -0
  72. package/dist/cjs/src/zod/index.cjs.map +1 -0
  73. package/dist/cjs/src/zod/index.d.cts +6360 -0
  74. package/dist/index.d.ts +1 -14
  75. package/dist/index.js +2 -15
  76. package/dist/index.js.map +1 -0
  77. package/dist/src/client/addons.d.ts +152 -0
  78. package/dist/src/client/addons.js +101 -0
  79. package/dist/src/client/addons.js.map +1 -0
  80. package/dist/src/client/apps.d.ts +327 -0
  81. package/dist/src/client/apps.js +240 -0
  82. package/dist/src/client/apps.js.map +1 -0
  83. package/dist/src/client/billing.d.ts +563 -0
  84. package/dist/src/client/billing.js +368 -0
  85. package/dist/src/client/billing.js.map +1 -0
  86. package/dist/src/client/common.d.ts +30 -0
  87. package/dist/src/client/common.js +42 -0
  88. package/dist/src/client/common.js.map +1 -0
  89. package/dist/src/client/customers.d.ts +620 -0
  90. package/dist/src/client/customers.js +461 -0
  91. package/dist/src/client/customers.js.map +1 -0
  92. package/dist/src/client/debug.d.ts +17 -0
  93. package/dist/src/client/debug.js +23 -0
  94. package/dist/src/client/debug.js.map +1 -0
  95. package/dist/src/client/entitlements.d.ts +670 -0
  96. package/dist/src/client/entitlements.js +365 -0
  97. package/dist/src/client/entitlements.js.map +1 -0
  98. package/dist/src/client/events.d.ts +48 -0
  99. package/dist/src/client/events.js +108 -0
  100. package/dist/src/client/events.js.map +1 -0
  101. package/dist/src/client/features.d.ts +90 -0
  102. package/dist/src/client/features.js +74 -0
  103. package/dist/src/client/features.js.map +1 -0
  104. package/dist/src/client/index.d.ts +54 -0
  105. package/dist/src/client/index.js +82 -0
  106. package/dist/src/client/index.js.map +1 -0
  107. package/dist/src/client/info.d.ts +34 -0
  108. package/dist/src/client/info.js +38 -0
  109. package/dist/src/client/info.js.map +1 -0
  110. package/dist/src/client/meters.d.ts +220 -0
  111. package/dist/src/client/meters.js +156 -0
  112. package/dist/src/client/meters.js.map +1 -0
  113. package/dist/src/client/notifications.d.ts +412 -0
  114. package/dist/src/client/notifications.js +262 -0
  115. package/dist/src/client/notifications.js.map +1 -0
  116. package/dist/src/client/plans.d.ts +252 -0
  117. package/dist/src/client/plans.js +199 -0
  118. package/dist/src/client/plans.js.map +1 -0
  119. package/dist/src/client/portal.d.ts +48 -0
  120. package/dist/src/client/portal.js +51 -0
  121. package/dist/src/client/portal.js.map +1 -0
  122. package/dist/src/client/schemas.d.ts +28002 -0
  123. package/dist/src/client/schemas.js +2 -0
  124. package/dist/src/client/schemas.js.map +1 -0
  125. package/dist/src/client/subjects.d.ts +79 -0
  126. package/dist/src/client/subjects.js +72 -0
  127. package/dist/src/client/subjects.js.map +1 -0
  128. package/dist/src/client/subscription-addons.d.ts +123 -0
  129. package/dist/src/client/subscription-addons.js +66 -0
  130. package/dist/src/client/subscription-addons.js.map +1 -0
  131. package/dist/src/client/subscriptions.d.ts +180 -0
  132. package/dist/src/client/subscriptions.js +128 -0
  133. package/dist/src/client/subscriptions.js.map +1 -0
  134. package/dist/src/client/utils.d.ts +12 -0
  135. package/dist/src/client/utils.js +61 -0
  136. package/dist/src/client/utils.js.map +1 -0
  137. package/dist/src/portal/index.d.ts +43 -0
  138. package/dist/src/portal/index.js +52 -0
  139. package/dist/src/portal/index.js.map +1 -0
  140. package/dist/src/react/context.d.ts +9 -0
  141. package/dist/src/react/context.js +16 -0
  142. package/dist/src/react/context.js.map +1 -0
  143. package/dist/src/zod/index.d.ts +6360 -0
  144. package/dist/src/zod/index.js +13615 -0
  145. package/dist/src/zod/index.js.map +1 -0
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. package/package.json +82 -40
  148. package/dist/clients/client.d.ts +0 -40
  149. package/dist/clients/client.js +0 -104
  150. package/dist/clients/event.d.ts +0 -79
  151. package/dist/clients/event.js +0 -53
  152. package/dist/clients/meter.d.ts +0 -71
  153. package/dist/clients/meter.js +0 -64
  154. package/dist/clients/portal.d.ts +0 -23
  155. package/dist/clients/portal.js +0 -37
  156. package/dist/next.d.ts +0 -15
  157. package/dist/next.js +0 -46
  158. package/dist/schemas/openapi.d.ts +0 -460
  159. package/dist/schemas/openapi.js +0 -5
  160. package/dist/test/agent.d.ts +0 -2
  161. package/dist/test/agent.js +0 -178
  162. package/dist/test/mocks.d.ts +0 -12
  163. package/dist/test/mocks.js +0 -32
  164. package/index.ts +0 -22
  165. package/next.ts +0 -76
@@ -0,0 +1,252 @@
1
+ import type { Client } from 'openapi-fetch';
2
+ import type { RequestOptions } from './common.js';
3
+ import type { operations, PlanCreate, PlanReplaceUpdate, paths } from './schemas.js';
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
+ settlementMode?: import("./schemas.js").components["schemas"]["BillingSettlementMode"];
36
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
37
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
38
+ } | undefined>;
39
+ /**
40
+ * Get a plan by ID
41
+ * @param planId - The ID of the plan to retrieve
42
+ * @param params - Optional query parameters
43
+ * @param options - Optional request options
44
+ * @returns The plan
45
+ */
46
+ get(planId: operations['getPlan']['parameters']['path']['planId'], params?: operations['getPlan']['parameters']['query'], options?: RequestOptions): Promise<{
47
+ readonly id: string;
48
+ name: string;
49
+ description?: string;
50
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
51
+ readonly createdAt: Date;
52
+ readonly updatedAt: Date;
53
+ readonly deletedAt?: Date;
54
+ key: string;
55
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
56
+ readonly version: number;
57
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
58
+ billingCadence: string;
59
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
60
+ readonly effectiveFrom?: Date;
61
+ readonly effectiveTo?: Date;
62
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
63
+ settlementMode?: import("./schemas.js").components["schemas"]["BillingSettlementMode"];
64
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
65
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
66
+ } | undefined>;
67
+ /**
68
+ * List plans
69
+ * @param params - Optional parameters for listing plans
70
+ * @param options - Optional request options
71
+ * @returns A list of plans
72
+ */
73
+ list(params?: operations['listPlans']['parameters']['query'], options?: RequestOptions): Promise<{
74
+ totalCount: number;
75
+ page: number;
76
+ pageSize: number;
77
+ items: import("./schemas.js").components["schemas"]["Plan"][];
78
+ } | undefined>;
79
+ /**
80
+ * Update a plan
81
+ * @param planId - The ID of the plan to update
82
+ * @param plan - The plan data to update
83
+ * @param options - Optional request options
84
+ * @returns The updated plan
85
+ */
86
+ update(planId: operations['updatePlan']['parameters']['path']['planId'], plan: PlanReplaceUpdate, options?: RequestOptions): Promise<{
87
+ readonly id: string;
88
+ name: string;
89
+ description?: string;
90
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
91
+ readonly createdAt: Date;
92
+ readonly updatedAt: Date;
93
+ readonly deletedAt?: Date;
94
+ key: string;
95
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
96
+ readonly version: number;
97
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
98
+ billingCadence: string;
99
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
100
+ readonly effectiveFrom?: Date;
101
+ readonly effectiveTo?: Date;
102
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
103
+ settlementMode?: import("./schemas.js").components["schemas"]["BillingSettlementMode"];
104
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
105
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
106
+ } | undefined>;
107
+ /**
108
+ * Delete a plan by ID
109
+ * @param planId - The ID of the plan to delete
110
+ * @param options - Optional request options
111
+ * @returns void or standard error response structure
112
+ */
113
+ delete(planId: operations['deletePlan']['parameters']['path']['planId'], options?: RequestOptions): Promise<undefined>;
114
+ /**
115
+ * Archive a plan
116
+ * @param planId - The ID of the plan to archive
117
+ * @param options - Optional request options
118
+ * @returns The archived plan
119
+ */
120
+ archive(planId: operations['archivePlan']['parameters']['path']['planId'], options?: RequestOptions): Promise<{
121
+ readonly id: string;
122
+ name: string;
123
+ description?: string;
124
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
125
+ readonly createdAt: Date;
126
+ readonly updatedAt: Date;
127
+ readonly deletedAt?: Date;
128
+ key: string;
129
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
130
+ readonly version: number;
131
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
132
+ billingCadence: string;
133
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
134
+ readonly effectiveFrom?: Date;
135
+ readonly effectiveTo?: Date;
136
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
137
+ settlementMode?: import("./schemas.js").components["schemas"]["BillingSettlementMode"];
138
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
139
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
140
+ } | undefined>;
141
+ /**
142
+ * Publish a plan
143
+ * @param planId - The ID of the plan to publish
144
+ * @param options - Optional request options
145
+ * @returns The published plan
146
+ */
147
+ publish(planId: operations['publishPlan']['parameters']['path']['planId'], 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
+ key: string;
156
+ alignment?: import("./schemas.js").components["schemas"]["Alignment"];
157
+ readonly version: number;
158
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
159
+ billingCadence: string;
160
+ proRatingConfig?: import("./schemas.js").components["schemas"]["ProRatingConfig"];
161
+ readonly effectiveFrom?: Date;
162
+ readonly effectiveTo?: Date;
163
+ readonly status: import("./schemas.js").components["schemas"]["PlanStatus"];
164
+ settlementMode?: import("./schemas.js").components["schemas"]["BillingSettlementMode"];
165
+ phases: import("./schemas.js").components["schemas"]["PlanPhase"][];
166
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
167
+ } | undefined>;
168
+ }
169
+ /**
170
+ * Plan Addons
171
+ * Manage addon assignments for plans.
172
+ */
173
+ export declare class PlanAddons {
174
+ private client;
175
+ constructor(client: Client<paths, `${string}/${string}`>);
176
+ /**
177
+ * List plan addons
178
+ * @param planId - The ID of the plan
179
+ * @param params - Optional query parameters
180
+ * @param options - Optional request options
181
+ * @returns A list of plan addons
182
+ */
183
+ list(planId: operations['listPlanAddons']['parameters']['path']['planId'], params?: operations['listPlanAddons']['parameters']['query'], options?: RequestOptions): Promise<{
184
+ totalCount: number;
185
+ page: number;
186
+ pageSize: number;
187
+ items: import("./schemas.js").components["schemas"]["PlanAddon"][];
188
+ } | undefined>;
189
+ /**
190
+ * Create a plan addon
191
+ * @param planId - The ID of the plan
192
+ * @param planAddon - The plan addon to create
193
+ * @param options - Optional request options
194
+ * @returns The created plan addon
195
+ */
196
+ create(planId: operations['createPlanAddon']['parameters']['path']['planId'], planAddon: operations['createPlanAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
197
+ readonly createdAt: Date;
198
+ readonly updatedAt: Date;
199
+ readonly deletedAt?: Date;
200
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
201
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
202
+ readonly addon: import("./schemas.js").components["schemas"]["Addon"];
203
+ fromPlanPhase: string;
204
+ maxQuantity?: number;
205
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
206
+ } | undefined>;
207
+ /**
208
+ * Get a plan addon by ID
209
+ * @param planId - The ID of the plan
210
+ * @param planAddonId - The ID of the plan addon
211
+ * @param options - Optional request options
212
+ * @returns The plan addon
213
+ */
214
+ get(planId: operations['getPlanAddon']['parameters']['path']['planId'], planAddonId: operations['getPlanAddon']['parameters']['path']['planAddonId'], options?: RequestOptions): Promise<{
215
+ readonly createdAt: Date;
216
+ readonly updatedAt: Date;
217
+ readonly deletedAt?: Date;
218
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
219
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
220
+ readonly addon: import("./schemas.js").components["schemas"]["Addon"];
221
+ fromPlanPhase: string;
222
+ maxQuantity?: number;
223
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
224
+ } | undefined>;
225
+ /**
226
+ * Update a plan addon
227
+ * @param planId - The ID of the plan
228
+ * @param planAddonId - The ID of the plan addon to update
229
+ * @param planAddon - The plan addon data to update
230
+ * @param options - Optional request options
231
+ * @returns The updated plan addon
232
+ */
233
+ update(planId: operations['updatePlanAddon']['parameters']['path']['planId'], planAddonId: operations['updatePlanAddon']['parameters']['path']['planAddonId'], planAddon: operations['updatePlanAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
234
+ readonly createdAt: Date;
235
+ readonly updatedAt: Date;
236
+ readonly deletedAt?: Date;
237
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
238
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"];
239
+ readonly addon: import("./schemas.js").components["schemas"]["Addon"];
240
+ fromPlanPhase: string;
241
+ maxQuantity?: number;
242
+ readonly validationErrors: import("./schemas.js").components["schemas"]["ValidationError"][] | null;
243
+ } | undefined>;
244
+ /**
245
+ * Delete a plan addon by ID
246
+ * @param planId - The ID of the plan
247
+ * @param planAddonId - The ID of the plan addon to delete
248
+ * @param options - Optional request options
249
+ * @returns void or standard error response structure
250
+ */
251
+ delete(planId: operations['deletePlanAddon']['parameters']['path']['planId'], planAddonId: operations['deletePlanAddon']['parameters']['path']['planAddonId'], options?: RequestOptions): Promise<undefined>;
252
+ }
@@ -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 { Client } from 'openapi-fetch';
2
+ import type { RequestOptions } from './common.js';
3
+ import type { operations, PortalToken, paths } from './schemas.js';
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
+ } | undefined>;
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
+ }[] | undefined>;
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":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C;;;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"}