@openmeter/sdk 1.0.0-alpha.4 → 1.0.0-beta-7b2d9ed372e3

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 (261) hide show
  1. package/README.md +45 -70
  2. package/dist/cjs/index.cjs +18 -0
  3. package/dist/cjs/index.d.cts +1 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/src/apps.cjs +176 -0
  6. package/dist/cjs/src/apps.d.cts +338 -0
  7. package/dist/cjs/src/apps.js.map +1 -0
  8. package/dist/cjs/src/billing.cjs +309 -0
  9. package/dist/cjs/src/billing.d.cts +645 -0
  10. package/dist/cjs/src/billing.js.map +1 -0
  11. package/dist/cjs/src/client/apps.cjs +174 -0
  12. package/dist/cjs/src/client/apps.d.cts +339 -0
  13. package/dist/cjs/src/client/apps.js.map +1 -0
  14. package/dist/cjs/src/client/billing.cjs +309 -0
  15. package/dist/cjs/src/client/billing.d.cts +646 -0
  16. package/dist/cjs/src/client/billing.js.map +1 -0
  17. package/dist/cjs/src/client/customers.cjs +185 -0
  18. package/dist/cjs/src/client/customers.d.cts +232 -0
  19. package/dist/cjs/src/client/customers.js.map +1 -0
  20. package/dist/cjs/src/client/entitlements.cjs +244 -0
  21. package/dist/cjs/src/client/entitlements.d.cts +506 -0
  22. package/dist/cjs/src/client/entitlements.js.map +1 -0
  23. package/dist/cjs/src/client/events.cjs +65 -0
  24. package/dist/cjs/src/client/events.d.cts +102 -0
  25. package/dist/cjs/src/client/events.js.map +1 -0
  26. package/dist/cjs/src/client/features.cjs +78 -0
  27. package/dist/cjs/src/client/features.d.cts +154 -0
  28. package/dist/cjs/src/client/features.js.map +1 -0
  29. package/dist/cjs/src/client/index.cjs +100 -0
  30. package/dist/cjs/src/client/index.d.cts +42 -0
  31. package/dist/cjs/src/client/index.js.map +1 -0
  32. package/dist/cjs/src/client/meters.cjs +93 -0
  33. package/dist/cjs/src/client/meters.d.cts +185 -0
  34. package/dist/cjs/src/client/meters.js.map +1 -0
  35. package/dist/cjs/src/client/notifications.cjs +249 -0
  36. package/dist/cjs/src/client/notifications.d.cts +315 -0
  37. package/dist/cjs/src/client/notifications.js.map +1 -0
  38. package/dist/cjs/src/client/plans.cjs +127 -0
  39. package/dist/cjs/src/client/plans.d.cts +193 -0
  40. package/dist/cjs/src/client/plans.js.map +1 -0
  41. package/dist/cjs/src/client/portal.cjs +55 -0
  42. package/dist/cjs/src/client/portal.d.cts +72 -0
  43. package/dist/cjs/src/client/portal.js.map +1 -0
  44. package/dist/cjs/src/client/subjects.cjs +76 -0
  45. package/dist/cjs/src/client/subjects.d.cts +102 -0
  46. package/dist/cjs/src/client/subjects.js.map +1 -0
  47. package/dist/cjs/src/client/subscriptions.cjs +116 -0
  48. package/dist/cjs/src/client/subscriptions.d.cts +198 -0
  49. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  50. package/dist/cjs/src/client/utils.cjs +93 -0
  51. package/dist/cjs/src/client/utils.d.cts +30 -0
  52. package/dist/cjs/src/client/utils.js.map +1 -0
  53. package/dist/cjs/src/customers.cjs +185 -0
  54. package/dist/cjs/src/customers.d.cts +231 -0
  55. package/dist/cjs/src/customers.js.map +1 -0
  56. package/dist/cjs/src/entitlements.cjs +244 -0
  57. package/dist/cjs/src/entitlements.d.cts +505 -0
  58. package/dist/cjs/src/entitlements.js.map +1 -0
  59. package/dist/cjs/src/events.cjs +65 -0
  60. package/dist/cjs/src/events.d.cts +101 -0
  61. package/dist/cjs/src/events.js.map +1 -0
  62. package/dist/cjs/src/features.cjs +78 -0
  63. package/dist/cjs/src/features.d.cts +153 -0
  64. package/dist/cjs/src/features.js.map +1 -0
  65. package/dist/cjs/src/meters.cjs +93 -0
  66. package/dist/cjs/src/meters.d.cts +184 -0
  67. package/dist/cjs/src/meters.js.map +1 -0
  68. package/dist/cjs/src/notifications.cjs +249 -0
  69. package/dist/cjs/src/notifications.d.cts +314 -0
  70. package/dist/cjs/src/notifications.js.map +1 -0
  71. package/dist/cjs/src/plans.cjs +127 -0
  72. package/dist/cjs/src/plans.d.cts +192 -0
  73. package/dist/cjs/src/plans.js.map +1 -0
  74. package/dist/cjs/src/portal/index.cjs +57 -0
  75. package/dist/cjs/src/portal/index.d.cts +113 -0
  76. package/dist/cjs/src/portal/index.js.map +1 -0
  77. package/dist/cjs/src/react/context.cjs +35 -0
  78. package/dist/cjs/src/react/context.d.cts +9 -0
  79. package/dist/cjs/src/react/context.js.map +1 -0
  80. package/dist/cjs/src/subjects.cjs +76 -0
  81. package/dist/cjs/src/subjects.d.cts +101 -0
  82. package/dist/cjs/src/subjects.js.map +1 -0
  83. package/dist/cjs/src/subscriptions.cjs +116 -0
  84. package/dist/cjs/src/subscriptions.d.cts +197 -0
  85. package/dist/cjs/src/subscriptions.js.map +1 -0
  86. package/dist/cjs/src/utils.cjs +93 -0
  87. package/dist/cjs/src/utils.d.cts +29 -0
  88. package/dist/cjs/src/utils.js.map +1 -0
  89. package/dist/cjs/tsconfig.01ab6c6b.tsbuildinfo +1 -0
  90. package/dist/cjs/tsconfig.1e12acbb.tsbuildinfo +1 -0
  91. package/dist/cjs/tsconfig.38849cd1.tsbuildinfo +1 -0
  92. package/dist/cjs/tsconfig.3bd7bdb7.tsbuildinfo +1 -0
  93. package/dist/cjs/tsconfig.3db00db7.tsbuildinfo +1 -0
  94. package/dist/cjs/tsconfig.5cd8af0a.tsbuildinfo +1 -0
  95. package/dist/cjs/tsconfig.64c40770.tsbuildinfo +1 -0
  96. package/dist/cjs/tsconfig.769a7751.tsbuildinfo +1 -0
  97. package/dist/cjs/tsconfig.8fd1c6cd.tsbuildinfo +1 -0
  98. package/dist/cjs/tsconfig.c9e83bdd.tsbuildinfo +1 -0
  99. package/dist/cjs/tsconfig.d3cb3b9e.tsbuildinfo +1 -0
  100. package/dist/cjs/tsconfig.db7aa141.tsbuildinfo +1 -0
  101. package/dist/cjs/tsconfig.edd7b7ed.tsbuildinfo +1 -0
  102. package/dist/cjs/tsconfig.f343a141.tsbuildinfo +1 -0
  103. package/dist/cjs/tsconfig.f36f8639.tsbuildinfo +1 -0
  104. package/dist/cjs/tsconfig.fc8d5fa4.tsbuildinfo +1 -0
  105. package/dist/index.d.ts +1 -23
  106. package/dist/index.js +2 -29
  107. package/dist/index.js.map +1 -0
  108. package/dist/src/apps.d.ts +338 -0
  109. package/dist/src/apps.js +170 -0
  110. package/dist/src/apps.js.map +1 -0
  111. package/dist/src/billing.d.ts +645 -0
  112. package/dist/src/billing.js +302 -0
  113. package/dist/src/billing.js.map +1 -0
  114. package/dist/src/client/apps.d.ts +339 -0
  115. package/dist/src/client/apps.js +168 -0
  116. package/dist/src/client/apps.js.map +1 -0
  117. package/dist/src/client/billing.d.ts +646 -0
  118. package/dist/src/client/billing.js +302 -0
  119. package/dist/src/client/billing.js.map +1 -0
  120. package/dist/src/client/customers.d.ts +232 -0
  121. package/dist/src/client/customers.js +179 -0
  122. package/dist/src/client/customers.js.map +1 -0
  123. package/dist/src/client/entitlements.d.ts +506 -0
  124. package/dist/src/client/entitlements.js +239 -0
  125. package/dist/src/client/entitlements.js.map +1 -0
  126. package/dist/src/client/events.d.ts +102 -0
  127. package/dist/src/client/events.js +58 -0
  128. package/dist/src/client/events.js.map +1 -0
  129. package/dist/src/client/features.d.ts +154 -0
  130. package/dist/src/client/features.js +74 -0
  131. package/dist/src/client/features.js.map +1 -0
  132. package/dist/src/client/index.d.ts +42 -0
  133. package/dist/src/client/index.js +63 -0
  134. package/dist/src/client/index.js.map +1 -0
  135. package/dist/src/client/meters.d.ts +185 -0
  136. package/dist/src/client/meters.js +89 -0
  137. package/dist/src/client/meters.js.map +1 -0
  138. package/dist/src/client/notifications.d.ts +315 -0
  139. package/dist/src/client/notifications.js +242 -0
  140. package/dist/src/client/notifications.js.map +1 -0
  141. package/dist/src/client/plans.d.ts +193 -0
  142. package/dist/src/client/plans.js +123 -0
  143. package/dist/src/client/plans.js.map +1 -0
  144. package/dist/src/client/portal.d.ts +72 -0
  145. package/dist/src/client/portal.js +51 -0
  146. package/dist/src/client/portal.js.map +1 -0
  147. package/dist/src/client/subjects.d.ts +102 -0
  148. package/dist/src/client/subjects.js +72 -0
  149. package/dist/src/client/subjects.js.map +1 -0
  150. package/dist/src/client/subscriptions.d.ts +198 -0
  151. package/dist/src/client/subscriptions.js +112 -0
  152. package/dist/src/client/subscriptions.js.map +1 -0
  153. package/dist/src/client/utils.d.ts +30 -0
  154. package/dist/src/client/utils.js +85 -0
  155. package/dist/src/client/utils.js.map +1 -0
  156. package/dist/src/customers.d.ts +231 -0
  157. package/dist/src/customers.js +179 -0
  158. package/dist/src/customers.js.map +1 -0
  159. package/dist/src/entitlements.d.ts +505 -0
  160. package/dist/src/entitlements.js +239 -0
  161. package/dist/src/entitlements.js.map +1 -0
  162. package/dist/src/events.d.ts +101 -0
  163. package/dist/src/events.js +58 -0
  164. package/dist/src/events.js.map +1 -0
  165. package/dist/src/features.d.ts +153 -0
  166. package/dist/src/features.js +74 -0
  167. package/dist/src/features.js.map +1 -0
  168. package/dist/src/meters.d.ts +184 -0
  169. package/dist/src/meters.js +89 -0
  170. package/dist/src/meters.js.map +1 -0
  171. package/dist/src/notifications.d.ts +314 -0
  172. package/dist/src/notifications.js +242 -0
  173. package/dist/src/notifications.js.map +1 -0
  174. package/dist/src/plans.d.ts +192 -0
  175. package/dist/src/plans.js +123 -0
  176. package/dist/src/plans.js.map +1 -0
  177. package/dist/src/portal/index.d.ts +113 -0
  178. package/dist/src/portal/index.js +50 -0
  179. package/dist/src/portal/index.js.map +1 -0
  180. package/dist/src/react/context.d.ts +9 -0
  181. package/dist/src/react/context.js +16 -0
  182. package/dist/src/react/context.js.map +1 -0
  183. package/dist/src/subjects.d.ts +101 -0
  184. package/dist/src/subjects.js +72 -0
  185. package/dist/src/subjects.js.map +1 -0
  186. package/dist/src/subscriptions.d.ts +197 -0
  187. package/dist/src/subscriptions.js +112 -0
  188. package/dist/src/subscriptions.js.map +1 -0
  189. package/dist/src/utils.d.ts +29 -0
  190. package/dist/src/utils.js +85 -0
  191. package/dist/src/utils.js.map +1 -0
  192. package/dist/tsconfig.tsbuildinfo +1 -1
  193. package/package.json +95 -56
  194. package/patches/openapi-typescript.patch +73 -0
  195. package/dist/generated/HttpService.d.ts +0 -14
  196. package/dist/generated/HttpService.js +0 -27
  197. package/dist/generated/core/ApiError.d.ts +0 -10
  198. package/dist/generated/core/ApiError.js +0 -17
  199. package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
  200. package/dist/generated/core/ApiRequestOptions.js +0 -2
  201. package/dist/generated/core/ApiResult.d.ts +0 -7
  202. package/dist/generated/core/ApiResult.js +0 -2
  203. package/dist/generated/core/BaseHttpRequest.d.ts +0 -8
  204. package/dist/generated/core/BaseHttpRequest.js +0 -7
  205. package/dist/generated/core/CancelablePromise.d.ts +0 -20
  206. package/dist/generated/core/CancelablePromise.js +0 -93
  207. package/dist/generated/core/NodeHttpRequest.d.ts +0 -14
  208. package/dist/generated/core/NodeHttpRequest.js +0 -17
  209. package/dist/generated/core/OpenAPI.d.ts +0 -16
  210. package/dist/generated/core/OpenAPI.js +0 -12
  211. package/dist/generated/core/request.d.ts +0 -34
  212. package/dist/generated/core/request.js +0 -268
  213. package/dist/generated/index.d.ts +0 -29
  214. package/dist/generated/index.js +0 -22
  215. package/dist/generated/models/Event.d.ts +0 -49
  216. package/dist/generated/models/Event.js +0 -11
  217. package/dist/generated/models/IdOrSlug.d.ts +0 -1
  218. package/dist/generated/models/IdOrSlug.js +0 -2
  219. package/dist/generated/models/Meter.d.ts +0 -30
  220. package/dist/generated/models/Meter.js +0 -2
  221. package/dist/generated/models/MeterAggregation.d.ts +0 -10
  222. package/dist/generated/models/MeterAggregation.js +0 -12
  223. package/dist/generated/models/MeterValue.d.ts +0 -10
  224. package/dist/generated/models/MeterValue.js +0 -2
  225. package/dist/generated/models/Namespace.d.ts +0 -6
  226. package/dist/generated/models/Namespace.js +0 -2
  227. package/dist/generated/models/Problem.d.ts +0 -4
  228. package/dist/generated/models/Problem.js +0 -2
  229. package/dist/generated/models/WindowSize.d.ts +0 -5
  230. package/dist/generated/models/WindowSize.js +0 -7
  231. package/dist/generated/models/meterIdOrSlug.d.ts +0 -5
  232. package/dist/generated/models/meterIdOrSlug.js +0 -2
  233. package/dist/generated/models/namespaceParam.d.ts +0 -4
  234. package/dist/generated/models/namespaceParam.js +0 -2
  235. package/dist/generated/schemas/$Event.d.ts +0 -59
  236. package/dist/generated/schemas/$Event.js +0 -60
  237. package/dist/generated/schemas/$IdOrSlug.d.ts +0 -13
  238. package/dist/generated/schemas/$IdOrSlug.js +0 -14
  239. package/dist/generated/schemas/$Meter.d.ts +0 -44
  240. package/dist/generated/schemas/$Meter.js +0 -45
  241. package/dist/generated/schemas/$MeterAggregation.d.ts +0 -3
  242. package/dist/generated/schemas/$MeterAggregation.js +0 -4
  243. package/dist/generated/schemas/$MeterValue.d.ts +0 -26
  244. package/dist/generated/schemas/$MeterValue.js +0 -27
  245. package/dist/generated/schemas/$Namespace.d.ts +0 -9
  246. package/dist/generated/schemas/$Namespace.js +0 -10
  247. package/dist/generated/schemas/$Problem.d.ts +0 -6
  248. package/dist/generated/schemas/$Problem.js +0 -7
  249. package/dist/generated/schemas/$WindowSize.d.ts +0 -3
  250. package/dist/generated/schemas/$WindowSize.js +0 -4
  251. package/dist/generated/schemas/$meterIdOrSlug.d.ts +0 -4
  252. package/dist/generated/schemas/$meterIdOrSlug.js +0 -5
  253. package/dist/generated/schemas/$namespaceParam.d.ts +0 -5
  254. package/dist/generated/schemas/$namespaceParam.js +0 -6
  255. package/dist/generated/services/DefaultService.d.ts +0 -16
  256. package/dist/generated/services/DefaultService.js +0 -22
  257. package/dist/generated/services/EventsService.d.ts +0 -17
  258. package/dist/generated/services/EventsService.js +0 -29
  259. package/dist/generated/services/MetersService.d.ts +0 -75
  260. package/dist/generated/services/MetersService.js +0 -140
  261. package/index.ts +0 -53
@@ -0,0 +1,192 @@
1
+ import type { operations, paths, PlanCreate, PlanReplaceUpdate } from './schemas.cjs';
2
+ import type { Client } from 'openapi-fetch';
3
+ export declare class Plans {
4
+ private client;
5
+ constructor(client: Client<paths, `${string}/${string}`>);
6
+ /**
7
+ * Create a plan
8
+ * @param plan - The plan to create
9
+ * @param signal - An optional abort signal
10
+ * @returns The created plan
11
+ */
12
+ create(plan: PlanCreate, signal?: AbortSignal): Promise<{
13
+ data?: never;
14
+ error: import("./utils.cjs").Problem;
15
+ response: Response;
16
+ } | {
17
+ data: {
18
+ readonly id: string;
19
+ name: string;
20
+ description?: string;
21
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
22
+ readonly createdAt: Date;
23
+ readonly updatedAt: Date;
24
+ readonly deletedAt?: Date;
25
+ key: string;
26
+ readonly version: number;
27
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
28
+ readonly effectiveFrom?: Date;
29
+ readonly effectiveTo?: Date;
30
+ readonly status: import("./schemas.cjs").components["schemas"]["PlanStatus"];
31
+ phases: import("./schemas.cjs").components["schemas"]["PlanPhase"][];
32
+ };
33
+ error?: never;
34
+ response: Response;
35
+ }>;
36
+ /**
37
+ * Get a plan by ID or key
38
+ * @param idOrKey - The ID or key of the plan
39
+ * @param signal - An optional abort signal
40
+ * @returns The plan
41
+ */
42
+ get(id: operations['getPlan']['parameters']['path']['planId'], signal?: AbortSignal): Promise<{
43
+ data?: never;
44
+ error: import("./utils.cjs").Problem;
45
+ response: Response;
46
+ } | {
47
+ data: {
48
+ readonly id: string;
49
+ name: string;
50
+ description?: string;
51
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
52
+ readonly createdAt: Date;
53
+ readonly updatedAt: Date;
54
+ readonly deletedAt?: Date;
55
+ key: string;
56
+ readonly version: number;
57
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
58
+ readonly effectiveFrom?: Date;
59
+ readonly effectiveTo?: Date;
60
+ readonly status: import("./schemas.cjs").components["schemas"]["PlanStatus"];
61
+ phases: import("./schemas.cjs").components["schemas"]["PlanPhase"][];
62
+ };
63
+ error?: never;
64
+ response: Response;
65
+ }>;
66
+ /**
67
+ * List plans
68
+ * @param query - The query parameters
69
+ * @param signal - An optional abort signal
70
+ * @returns The list of plans
71
+ */
72
+ list(query?: operations['listPlans']['parameters']['query'], signal?: AbortSignal): Promise<{
73
+ data?: never;
74
+ error: import("./utils.cjs").Problem;
75
+ response: Response;
76
+ } | {
77
+ data: {
78
+ totalCount: number;
79
+ page: number;
80
+ pageSize: number;
81
+ items: import("./schemas.cjs").components["schemas"]["Plan"][];
82
+ };
83
+ error?: never;
84
+ response: Response;
85
+ }>;
86
+ /**
87
+ * Update a plan
88
+ * @param id - The ID of the plan
89
+ * @param plan - The plan to update
90
+ * @param signal - An optional abort signal
91
+ * @returns The updated plan
92
+ */
93
+ update(id: operations['updatePlan']['parameters']['path']['planId'], plan: PlanReplaceUpdate, signal?: AbortSignal): Promise<{
94
+ data?: never;
95
+ error: import("./utils.cjs").Problem;
96
+ response: Response;
97
+ } | {
98
+ data: {
99
+ readonly id: string;
100
+ name: string;
101
+ description?: string;
102
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
103
+ readonly createdAt: Date;
104
+ readonly updatedAt: Date;
105
+ readonly deletedAt?: Date;
106
+ key: string;
107
+ readonly version: number;
108
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
109
+ readonly effectiveFrom?: Date;
110
+ readonly effectiveTo?: Date;
111
+ readonly status: import("./schemas.cjs").components["schemas"]["PlanStatus"];
112
+ phases: import("./schemas.cjs").components["schemas"]["PlanPhase"][];
113
+ };
114
+ error?: never;
115
+ response: Response;
116
+ }>;
117
+ /**
118
+ * Delete a plan
119
+ * @param id - The ID of the plan
120
+ * @param signal - An optional abort signal
121
+ * @returns The deleted plan
122
+ */
123
+ delete(id: operations['deletePlan']['parameters']['path']['planId'], signal?: AbortSignal): Promise<{
124
+ data?: never;
125
+ error: import("./utils.cjs").Problem;
126
+ response: Response;
127
+ } | {
128
+ data: undefined;
129
+ error?: never;
130
+ response: Response;
131
+ }>;
132
+ /**
133
+ * Archive a plan
134
+ * @param id - The ID of the plan
135
+ * @param signal - An optional abort signal
136
+ * @returns The archived plan
137
+ */
138
+ archive(id: operations['archivePlan']['parameters']['path']['planId'], signal?: AbortSignal): Promise<{
139
+ data?: never;
140
+ error: import("./utils.cjs").Problem;
141
+ response: Response;
142
+ } | {
143
+ data: {
144
+ readonly id: string;
145
+ name: string;
146
+ description?: string;
147
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
148
+ readonly createdAt: Date;
149
+ readonly updatedAt: Date;
150
+ readonly deletedAt?: Date;
151
+ key: string;
152
+ readonly version: number;
153
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
154
+ readonly effectiveFrom?: Date;
155
+ readonly effectiveTo?: Date;
156
+ readonly status: import("./schemas.cjs").components["schemas"]["PlanStatus"];
157
+ phases: import("./schemas.cjs").components["schemas"]["PlanPhase"][];
158
+ };
159
+ error?: never;
160
+ response: Response;
161
+ }>;
162
+ /**
163
+ * Publish a plan
164
+ * @param id - The ID of the plan
165
+ * @param signal - An optional abort signal
166
+ * @returns The published plan
167
+ */
168
+ publish(id: operations['publishPlan']['parameters']['path']['planId'], signal?: AbortSignal): Promise<{
169
+ data?: never;
170
+ error: import("./utils.cjs").Problem;
171
+ response: Response;
172
+ } | {
173
+ data: {
174
+ readonly id: string;
175
+ name: string;
176
+ description?: string;
177
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
178
+ readonly createdAt: Date;
179
+ readonly updatedAt: Date;
180
+ readonly deletedAt?: Date;
181
+ key: string;
182
+ readonly version: number;
183
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
184
+ readonly effectiveFrom?: Date;
185
+ readonly effectiveTo?: Date;
186
+ readonly status: import("./schemas.cjs").components["schemas"]["PlanStatus"];
187
+ phases: import("./schemas.cjs").components["schemas"]["PlanPhase"][];
188
+ };
189
+ error?: never;
190
+ response: Response;
191
+ }>;
192
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plans.js","sourceRoot":"","sources":["../../../src/plans.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAS9C,MAAa,KAAK;IACI;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAoB;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YACnD,MAAM;YACN,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,EAAyD,EACzD,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE;YAC3D,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CACf,KAAsD,EACtD,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE;YAClD,MAAM;YACN,MAAM,EAAE;gBACN,KAAK;aACN;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,EAA4D,EAC5D,IAAuB,EACvB,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE;YAC3D,MAAM;YACN,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,EAA4D,EAC5D,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE;YAC9D,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAClB,EAA6D,EAC7D,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YACpE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAClB,EAA6D,EAC7D,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YACpE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AAtJD,sBAsJC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OpenMeter = void 0;
7
+ const openapi_fetch_1 = __importDefault(require("openapi-fetch"));
8
+ const index_cjs_1 = require("openapi-fetch/dist/cjs/index.cjs");
9
+ const utils_js_1 = require("../client/utils.cjs");
10
+ /**
11
+ * OpenMeter Portal Client
12
+ * Access to the customer portal.
13
+ */
14
+ class OpenMeter {
15
+ client;
16
+ constructor(config) {
17
+ this.client = (0, openapi_fetch_1.default)({
18
+ ...config,
19
+ headers: {
20
+ ...config.headers,
21
+ Authorization: `Bearer ${config.portalToken}`,
22
+ },
23
+ querySerializer: (q) => (0, index_cjs_1.createQuerySerializer)({
24
+ array: {
25
+ explode: true,
26
+ style: 'form',
27
+ },
28
+ object: {
29
+ explode: true,
30
+ style: 'deepObject',
31
+ },
32
+ })((0, utils_js_1.encodeDates)(q)),
33
+ });
34
+ }
35
+ /**
36
+ * Query usage data for a meter by slug for customer portal.
37
+ * This endpoint is publicly exposable to consumers.
38
+ * @param meterSlug - The slug of the meter
39
+ * @param query - The query parameters
40
+ * @param signal - An optional abort signal
41
+ * @returns The meter data
42
+ */
43
+ async query(meterSlug, query, options) {
44
+ const resp = await this.client.GET('/api/v1/portal/meters/{meterSlug}/query', {
45
+ params: {
46
+ path: {
47
+ meterSlug,
48
+ },
49
+ query,
50
+ },
51
+ ...options,
52
+ });
53
+ return (0, utils_js_1.transformResponse)(resp);
54
+ }
55
+ }
56
+ exports.OpenMeter = OpenMeter;
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,113 @@
1
+ import type { RequestOptions } from '../client/utils.cjs';
2
+ import type { ClientOptions } from 'openapi-fetch';
3
+ export type { RequestOptions } from '../client/utils.cjs';
4
+ /**
5
+ * Portal Config
6
+ */
7
+ export type Config = Pick<ClientOptions, 'baseUrl' | 'headers' | 'fetch' | 'Request' | 'requestInitExt'> & {
8
+ portalToken: string;
9
+ };
10
+ /**
11
+ * OpenMeter Portal Client
12
+ * Access to the customer portal.
13
+ */
14
+ export declare class OpenMeter {
15
+ private client;
16
+ constructor(config: Config);
17
+ /**
18
+ * Query usage data for a meter by slug for customer portal.
19
+ * This endpoint is publicly exposable to consumers.
20
+ * @param meterSlug - The slug of the meter
21
+ * @param query - The query parameters
22
+ * @param signal - An optional abort signal
23
+ * @returns The meter data
24
+ */
25
+ query(meterSlug: string, query?: {
26
+ /** @description Start date-time in RFC 3339 format. Inclusive. */
27
+ from?: string | Date;
28
+ /** @description End date-time in RFC 3339 format. Inclusive. */
29
+ to?: string | Date;
30
+ /** @description If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. */
31
+ windowSize?: 'MINUTE' | 'HOUR' | 'DAY';
32
+ /** @description The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). If not specified, the UTC timezone will be used. */
33
+ windowTimeZone?: string;
34
+ /** @description Simple filter for group bys with exact match. */
35
+ filterGroupBy?: Record<string, string>;
36
+ /** @description If not specified a single aggregate will be returned for each subject and time window. `subject` is a reserved group by value. */
37
+ groupBy?: string[];
38
+ }, options?: RequestOptions): Promise<{
39
+ data?: never;
40
+ error: import("../client/utils.cjs").Problem;
41
+ response: Response;
42
+ } | {
43
+ data: import("openapi-typescript-helpers").SuccessResponse<{
44
+ 200: {
45
+ headers: {
46
+ [name: string]: unknown;
47
+ };
48
+ content: {
49
+ "application/json": import("../client/schemas.cjs").components["schemas"]["MeterQueryResult"];
50
+ "text/csv": string;
51
+ };
52
+ };
53
+ 400: {
54
+ headers: {
55
+ [name: string]: unknown;
56
+ };
57
+ content: {
58
+ "application/problem+json": import("../client/schemas.cjs").components["schemas"]["BadRequestProblemResponse"];
59
+ };
60
+ };
61
+ 401: {
62
+ headers: {
63
+ [name: string]: unknown;
64
+ };
65
+ content: {
66
+ "application/problem+json": import("../client/schemas.cjs").components["schemas"]["UnauthorizedProblemResponse"];
67
+ };
68
+ };
69
+ 403: {
70
+ headers: {
71
+ [name: string]: unknown;
72
+ };
73
+ content: {
74
+ "application/problem+json": import("../client/schemas.cjs").components["schemas"]["ForbiddenProblemResponse"];
75
+ };
76
+ };
77
+ 404: {
78
+ headers: {
79
+ [name: string]: unknown;
80
+ };
81
+ content: {
82
+ "application/problem+json": import("../client/schemas.cjs").components["schemas"]["NotFoundProblemResponse"];
83
+ };
84
+ };
85
+ 500: {
86
+ headers: {
87
+ [name: string]: unknown;
88
+ };
89
+ content: {
90
+ "application/problem+json": import("../client/schemas.cjs").components["schemas"]["InternalServerErrorProblemResponse"];
91
+ };
92
+ };
93
+ 503: {
94
+ headers: {
95
+ [name: string]: unknown;
96
+ };
97
+ content: {
98
+ "application/problem+json": import("../client/schemas.cjs").components["schemas"]["ServiceUnavailableProblemResponse"];
99
+ };
100
+ };
101
+ default: {
102
+ headers: {
103
+ [name: string]: unknown;
104
+ };
105
+ content: {
106
+ "application/problem+json": import("../client/schemas.cjs").components["schemas"]["UnexpectedProblemResponse"];
107
+ };
108
+ };
109
+ }, `${string}/${string}`>;
110
+ error?: never;
111
+ response: Response;
112
+ }>;
113
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/portal/index.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AACxC,gEAAwE;AACxE,iDAAmE;AAiBnE;;;GAGG;AACH,MAAa,SAAS;IACZ,MAAM,CAAsC;IAEpD,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,IAAA,uBAAY,EAAQ;YAChC,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,aAAa,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE;aAC9C;YACD,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CACrB,IAAA,iCAAqB,EAAC;gBACpB,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,MAAM;iBACd;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,YAAY;iBACpB;aACF,CAAC,CAAC,IAAA,sBAAW,EAAC,CAAC,CAAC,CAAC;SACrB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,CAChB,SAAiB,EACjB,KAaC,EACD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,yCAAyC,EACzC;YACE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,SAAS;iBACV;gBACD,KAAK;aACN;YACD,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AAjED,8BAiEC"}
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.OpenMeterContext = void 0;
19
+ exports.OpenMeterProvider = OpenMeterProvider;
20
+ exports.useOpenMeter = useOpenMeter;
21
+ const jsx_runtime_1 = require("react/jsx-runtime");
22
+ const react_1 = require("react");
23
+ __exportStar(require("../portal/index.cjs"), exports);
24
+ exports.OpenMeterContext = (0, react_1.createContext)(null);
25
+ function OpenMeterProvider({ children, value }) {
26
+ return ((0, jsx_runtime_1.jsx)(exports.OpenMeterContext.Provider, { value: value, children: children }));
27
+ }
28
+ function useOpenMeter() {
29
+ const context = (0, react_1.useContext)(exports.OpenMeterContext);
30
+ if (typeof context === 'undefined') {
31
+ throw new Error('useOpenMeter must be used within a OpenMeterProvider');
32
+ }
33
+ return context;
34
+ }
35
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1,9 @@
1
+ import type { OpenMeter } from '../portal/index.cjs';
2
+ export * from '../portal/index.cjs';
3
+ export declare const OpenMeterContext: import("react").Context<OpenMeter | null>;
4
+ export type OpenMeterProviderProps = {
5
+ children?: React.ReactNode;
6
+ value: OpenMeter | null;
7
+ };
8
+ export declare function OpenMeterProvider({ children, value }: OpenMeterProviderProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useOpenMeter(): OpenMeter | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/react/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;;;;;;;;;;;;AAcZ,8CAMC;AAED,oCAOC;;AA3BD,iCAAiD;AAGjD,qDAAkC;AAErB,QAAA,gBAAgB,GAAG,IAAA,qBAAa,EAAmB,IAAI,CAAC,CAAA;AAOrE,SAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAA0B;IAC3E,OAAO,CACL,uBAAC,wBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACpC,QAAQ,GACiB,CAC7B,CAAA;AACH,CAAC;AAED,SAAgB,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,wBAAgB,CAAC,CAAA;IAC5C,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Subjects = void 0;
4
+ const utils_js_1 = require("./utils.cjs");
5
+ /**
6
+ * Subjects
7
+ * @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..
8
+ */
9
+ class Subjects {
10
+ client;
11
+ constructor(client) {
12
+ this.client = client;
13
+ }
14
+ /**
15
+ * Upsert one or multiple subjects
16
+ * If the subject does not exist, it will be created, otherwise it will be updated.
17
+ *
18
+ * @param subjects - The subjects to upsert
19
+ * @param signal - An optional abort signal
20
+ * @returns The upserted subjects
21
+ */
22
+ async upsert(subjects, signal) {
23
+ const resp = await this.client.POST('/api/v1/subjects', {
24
+ signal,
25
+ body: Array.isArray(subjects) ? subjects : [subjects],
26
+ });
27
+ return (0, utils_js_1.transformResponse)(resp);
28
+ }
29
+ /**
30
+ * Get a subject by ID or key
31
+ * @param idOrKey - The ID or key of the subject
32
+ * @param signal - An optional abort signal
33
+ * @returns The subject
34
+ */
35
+ async get(idOrKey, signal) {
36
+ const resp = await this.client.GET('/api/v1/subjects/{subjectIdOrKey}', {
37
+ signal,
38
+ params: {
39
+ path: {
40
+ subjectIdOrKey: idOrKey,
41
+ },
42
+ },
43
+ });
44
+ return (0, utils_js_1.transformResponse)(resp);
45
+ }
46
+ /**
47
+ * List subjects
48
+ * @param signal - An optional abort signal
49
+ * @returns The subjects
50
+ */
51
+ async list(signal) {
52
+ const resp = await this.client.GET('/api/v1/subjects', {
53
+ signal,
54
+ });
55
+ return (0, utils_js_1.transformResponse)(resp);
56
+ }
57
+ /**
58
+ * Delete a subject by ID or key
59
+ * @param idOrKey - The ID or key of the subject
60
+ * @param signal - An optional abort signal
61
+ * @returns The deleted subject
62
+ */
63
+ async delete(idOrKey, signal) {
64
+ const resp = await this.client.DELETE('/api/v1/subjects/{subjectIdOrKey}', {
65
+ signal,
66
+ params: {
67
+ path: {
68
+ subjectIdOrKey: idOrKey,
69
+ },
70
+ },
71
+ });
72
+ return (0, utils_js_1.transformResponse)(resp);
73
+ }
74
+ }
75
+ exports.Subjects = Subjects;
76
+ //# sourceMappingURL=subjects.js.map
@@ -0,0 +1,101 @@
1
+ import type { operations, paths, SubjectUpsert } from './schemas.cjs';
2
+ import type { Client } from 'openapi-fetch';
3
+ /**
4
+ * Subjects
5
+ * @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..
6
+ */
7
+ export declare class Subjects {
8
+ private client;
9
+ constructor(client: Client<paths, `${string}/${string}`>);
10
+ /**
11
+ * Upsert one or multiple subjects
12
+ * If the subject does not exist, it will be created, otherwise it will be updated.
13
+ *
14
+ * @param subjects - The subjects to upsert
15
+ * @param signal - An optional abort signal
16
+ * @returns The upserted subjects
17
+ */
18
+ upsert(subjects: SubjectUpsert | SubjectUpsert[], signal?: AbortSignal): Promise<{
19
+ data?: never;
20
+ error: import("./utils.cjs").Problem;
21
+ response: Response;
22
+ } | {
23
+ data: {
24
+ readonly id: string;
25
+ key: string;
26
+ displayName?: string | null;
27
+ metadata?: {
28
+ [key: string]: unknown;
29
+ } | null;
30
+ currentPeriodStart?: Date;
31
+ currentPeriodEnd?: Date;
32
+ stripeCustomerId?: string | null;
33
+ }[];
34
+ error?: never;
35
+ response: Response;
36
+ }>;
37
+ /**
38
+ * Get a subject by ID or key
39
+ * @param idOrKey - The ID or key of the subject
40
+ * @param signal - An optional abort signal
41
+ * @returns The subject
42
+ */
43
+ get(idOrKey: operations['getSubject']['parameters']['path']['subjectIdOrKey'], signal?: AbortSignal): Promise<{
44
+ data?: never;
45
+ error: import("./utils.cjs").Problem;
46
+ response: Response;
47
+ } | {
48
+ data: {
49
+ readonly id: string;
50
+ key: string;
51
+ displayName?: string | null;
52
+ metadata?: {
53
+ [key: string]: unknown;
54
+ } | null;
55
+ currentPeriodStart?: Date;
56
+ currentPeriodEnd?: Date;
57
+ stripeCustomerId?: string | null;
58
+ };
59
+ error?: never;
60
+ response: Response;
61
+ }>;
62
+ /**
63
+ * List subjects
64
+ * @param signal - An optional abort signal
65
+ * @returns The subjects
66
+ */
67
+ list(signal?: AbortSignal): Promise<{
68
+ data?: never;
69
+ error: import("./utils.cjs").Problem;
70
+ response: Response;
71
+ } | {
72
+ data: {
73
+ readonly id: string;
74
+ key: string;
75
+ displayName?: string | null;
76
+ metadata?: {
77
+ [key: string]: unknown;
78
+ } | null;
79
+ currentPeriodStart?: Date;
80
+ currentPeriodEnd?: Date;
81
+ stripeCustomerId?: string | null;
82
+ }[];
83
+ error?: never;
84
+ response: Response;
85
+ }>;
86
+ /**
87
+ * Delete a subject by ID or key
88
+ * @param idOrKey - The ID or key of the subject
89
+ * @param signal - An optional abort signal
90
+ * @returns The deleted subject
91
+ */
92
+ delete(idOrKey: operations['deleteSubject']['parameters']['path']['subjectIdOrKey'], signal?: AbortSignal): Promise<{
93
+ data?: never;
94
+ error: import("./utils.cjs").Problem;
95
+ response: Response;
96
+ } | {
97
+ data: undefined;
98
+ error?: never;
99
+ response: Response;
100
+ }>;
101
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subjects.js","sourceRoot":"","sources":["../../../src/subjects.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAI9C;;;GAGG;AACH,MAAa,QAAQ;IACC;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CACjB,QAAyC,EACzC,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtD,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtD,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,OAAyE,EACzE,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE;YACtE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,OAAO;iBACxB;aACF;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,MAAoB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;YACrD,MAAM;SACP,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,OAA4E,EAC5E,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE;YACzE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,OAAO;iBACxB;aACF;SACF,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AA/ED,4BA+EC"}