@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,184 @@
1
+ import type { MeterCreate, operations, paths } from './schemas.js';
2
+ import type { Client } from 'openapi-fetch';
3
+ /**
4
+ * Meters
5
+ * @description Meters are used to track and manage usage of your application.
6
+ */
7
+ export declare class Meters {
8
+ private client;
9
+ constructor(client: Client<paths, `${string}/${string}`>);
10
+ /**
11
+ * Create a meter
12
+ * @param meter - The meter to create
13
+ * @param signal - An optional abort signal
14
+ * @returns The created meter
15
+ */
16
+ create(meter: MeterCreate, signal?: AbortSignal): Promise<{
17
+ data?: never;
18
+ error: import("./utils.js").Problem;
19
+ response: Response;
20
+ } | {
21
+ data: {
22
+ readonly id: string;
23
+ slug: string;
24
+ description?: string;
25
+ aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
26
+ windowSize: import("./schemas.js").components["schemas"]["WindowSize"];
27
+ eventType: string;
28
+ valueProperty?: string;
29
+ groupBy?: {
30
+ [key: string]: string;
31
+ };
32
+ };
33
+ error?: never;
34
+ response: Response;
35
+ }>;
36
+ /**
37
+ * Get a meter by ID or slug
38
+ * @param idOrSlug - The ID or slug of the meter
39
+ * @param signal - An optional abort signal
40
+ * @returns The meter
41
+ */
42
+ get(idOrSlug: operations['getMeter']['parameters']['path']['meterIdOrSlug'], signal?: AbortSignal): Promise<{
43
+ data?: never;
44
+ error: import("./utils.js").Problem;
45
+ response: Response;
46
+ } | {
47
+ data: {
48
+ readonly id: string;
49
+ slug: string;
50
+ description?: string;
51
+ aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
52
+ windowSize: import("./schemas.js").components["schemas"]["WindowSize"];
53
+ eventType: string;
54
+ valueProperty?: string;
55
+ groupBy?: {
56
+ [key: string]: string;
57
+ };
58
+ };
59
+ error?: never;
60
+ response: Response;
61
+ }>;
62
+ /**
63
+ * List meters
64
+ * @param signal - An optional abort signal
65
+ * @returns The meters
66
+ */
67
+ list(signal?: AbortSignal): Promise<{
68
+ data?: never;
69
+ error: import("./utils.js").Problem;
70
+ response: Response;
71
+ } | {
72
+ data: {
73
+ readonly id: string;
74
+ slug: string;
75
+ description?: string;
76
+ aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
77
+ windowSize: import("./schemas.js").components["schemas"]["WindowSize"];
78
+ eventType: string;
79
+ valueProperty?: string;
80
+ groupBy?: {
81
+ [key: string]: string;
82
+ };
83
+ }[];
84
+ error?: never;
85
+ response: Response;
86
+ }>;
87
+ /**
88
+ * Query usage data for a meter by ID or slug
89
+ * @param idOrSlug - The ID or slug of the meter
90
+ * @param query - The query parameters
91
+ * @param signal - An optional abort signal
92
+ * @returns The meter data
93
+ */
94
+ query(idOrSlug: operations['queryMeter']['parameters']['path']['meterIdOrSlug'], query?: operations['queryMeter']['parameters']['query'], signal?: AbortSignal): Promise<{
95
+ data?: never;
96
+ error: import("./utils.js").Problem;
97
+ response: Response;
98
+ } | {
99
+ data: import("openapi-typescript-helpers").SuccessResponse<{
100
+ 200: {
101
+ headers: {
102
+ [name: string]: unknown;
103
+ };
104
+ content: {
105
+ "application/json": import("./schemas.js").components["schemas"]["MeterQueryResult"];
106
+ "text/csv": string;
107
+ };
108
+ };
109
+ 400: {
110
+ headers: {
111
+ [name: string]: unknown;
112
+ };
113
+ content: {
114
+ "application/problem+json": import("./schemas.js").components["schemas"]["BadRequestProblemResponse"];
115
+ };
116
+ };
117
+ 401: {
118
+ headers: {
119
+ [name: string]: unknown;
120
+ };
121
+ content: {
122
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnauthorizedProblemResponse"];
123
+ };
124
+ };
125
+ 403: {
126
+ headers: {
127
+ [name: string]: unknown;
128
+ };
129
+ content: {
130
+ "application/problem+json": import("./schemas.js").components["schemas"]["ForbiddenProblemResponse"];
131
+ };
132
+ };
133
+ 404: {
134
+ headers: {
135
+ [name: string]: unknown;
136
+ };
137
+ content: {
138
+ "application/problem+json": import("./schemas.js").components["schemas"]["NotFoundProblemResponse"];
139
+ };
140
+ };
141
+ 500: {
142
+ headers: {
143
+ [name: string]: unknown;
144
+ };
145
+ content: {
146
+ "application/problem+json": import("./schemas.js").components["schemas"]["InternalServerErrorProblemResponse"];
147
+ };
148
+ };
149
+ 503: {
150
+ headers: {
151
+ [name: string]: unknown;
152
+ };
153
+ content: {
154
+ "application/problem+json": import("./schemas.js").components["schemas"]["ServiceUnavailableProblemResponse"];
155
+ };
156
+ };
157
+ default: {
158
+ headers: {
159
+ [name: string]: unknown;
160
+ };
161
+ content: {
162
+ "application/problem+json": import("./schemas.js").components["schemas"]["UnexpectedProblemResponse"];
163
+ };
164
+ };
165
+ }, `${string}/${string}`>;
166
+ error?: never;
167
+ response: Response;
168
+ }>;
169
+ /**
170
+ * Delete a meter by ID or slug
171
+ * @param idOrSlug - The ID or slug of the meter
172
+ * @param signal - An optional abort signal
173
+ * @returns The deleted meter
174
+ */
175
+ delete(idOrSlug: operations['deleteMeter']['parameters']['path']['meterIdOrSlug'], signal?: AbortSignal): Promise<{
176
+ data?: never;
177
+ error: import("./utils.js").Problem;
178
+ response: Response;
179
+ } | {
180
+ data: undefined;
181
+ error?: never;
182
+ response: Response;
183
+ }>;
184
+ }
@@ -0,0 +1,89 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Meters
4
+ * @description Meters are used to track and manage usage of your application.
5
+ */
6
+ export class Meters {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Create a meter
13
+ * @param meter - The meter to create
14
+ * @param signal - An optional abort signal
15
+ * @returns The created meter
16
+ */
17
+ async create(meter, signal) {
18
+ const resp = await this.client.POST('/api/v1/meters', {
19
+ signal,
20
+ body: meter,
21
+ });
22
+ return transformResponse(resp);
23
+ }
24
+ /**
25
+ * Get a meter by ID or slug
26
+ * @param idOrSlug - The ID or slug of the meter
27
+ * @param signal - An optional abort signal
28
+ * @returns The meter
29
+ */
30
+ async get(idOrSlug, signal) {
31
+ const resp = await this.client.GET('/api/v1/meters/{meterIdOrSlug}', {
32
+ signal,
33
+ params: {
34
+ path: {
35
+ meterIdOrSlug: idOrSlug,
36
+ },
37
+ },
38
+ });
39
+ return transformResponse(resp);
40
+ }
41
+ /**
42
+ * List meters
43
+ * @param signal - An optional abort signal
44
+ * @returns The meters
45
+ */
46
+ async list(signal) {
47
+ const resp = await this.client.GET('/api/v1/meters', {
48
+ signal,
49
+ });
50
+ return transformResponse(resp);
51
+ }
52
+ /**
53
+ * Query usage data for a meter by ID or slug
54
+ * @param idOrSlug - The ID or slug of the meter
55
+ * @param query - The query parameters
56
+ * @param signal - An optional abort signal
57
+ * @returns The meter data
58
+ */
59
+ async query(idOrSlug, query, signal) {
60
+ const resp = await this.client.GET('/api/v1/meters/{meterIdOrSlug}/query', {
61
+ signal,
62
+ params: {
63
+ path: {
64
+ meterIdOrSlug: idOrSlug,
65
+ },
66
+ query,
67
+ },
68
+ });
69
+ return transformResponse(resp);
70
+ }
71
+ /**
72
+ * Delete a meter by ID or slug
73
+ * @param idOrSlug - The ID or slug of the meter
74
+ * @param signal - An optional abort signal
75
+ * @returns The deleted meter
76
+ */
77
+ async delete(idOrSlug, signal) {
78
+ const resp = await this.client.DELETE('/api/v1/meters/{meterIdOrSlug}', {
79
+ signal,
80
+ params: {
81
+ path: {
82
+ meterIdOrSlug: idOrSlug,
83
+ },
84
+ },
85
+ });
86
+ return transformResponse(resp);
87
+ }
88
+ }
89
+ //# sourceMappingURL=meters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meters.js","sourceRoot":"","sources":["../../src/meters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI9C;;;GAGG;AACH,MAAM,OAAO,MAAM;IACG;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,KAAkB,EAAE,MAAoB;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACpD,MAAM;YACN,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,QAAuE,EACvE,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE;YACnE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ;iBACxB;aACF;SACF,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,MAAoB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE;YACnD,MAAM;SACP,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAChB,QAAyE,EACzE,KAAuD,EACvD,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE;YACzE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ;iBACxB;gBACD,KAAK;aACN;SACF,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,QAA0E,EAC1E,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE;YACtE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ;iBACxB;aACF;SACF,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,314 @@
1
+ import type { NotificationChannel, NotificationRuleCreateRequest, operations, paths } from './schemas.js';
2
+ import type { Client } from 'openapi-fetch';
3
+ /**
4
+ * Notifications
5
+ * @description Notifications provide automated triggers when specific entitlement balances and usage thresholds are reached, ensuring that your customers and sales teams are always informed. Notify customers and internal teams when specific conditions are met, like reaching 75%, 100%, and 150% of their monthly usage allowance.
6
+ */
7
+ export declare class Notifications {
8
+ private client;
9
+ channels: NotificationChannels;
10
+ rules: NotificationRules;
11
+ events: NotificationEvents;
12
+ constructor(client: Client<paths, `${string}/${string}`>);
13
+ }
14
+ /**
15
+ * Notification Channels
16
+ * @description Notification channels are the destinations for notifications.
17
+ */
18
+ export declare class NotificationChannels {
19
+ private client;
20
+ constructor(client: Client<paths, `${string}/${string}`>);
21
+ /**
22
+ * Create a notification channel
23
+ * @param notification - The notification to create
24
+ * @param signal - An optional abort signal
25
+ * @returns The created notification
26
+ */
27
+ create(notification: NotificationChannel, signal?: AbortSignal): Promise<{
28
+ data?: never;
29
+ error: import("./utils.js").Problem;
30
+ response: Response;
31
+ } | {
32
+ data: {
33
+ readonly createdAt: Date;
34
+ readonly updatedAt: Date;
35
+ readonly deletedAt?: Date;
36
+ readonly id: string;
37
+ type: "WEBHOOK";
38
+ name: string;
39
+ disabled?: boolean;
40
+ url: string;
41
+ customHeaders?: {
42
+ [key: string]: string;
43
+ };
44
+ signingSecret?: string;
45
+ };
46
+ error?: never;
47
+ response: Response;
48
+ }>;
49
+ /**
50
+ * Get a notification channel by ID
51
+ * @param id - The ID of the notification channel
52
+ * @param signal - An optional abort signal
53
+ * @returns The notification channel
54
+ */
55
+ get(id: operations['getNotificationChannel']['parameters']['path']['channelId'], signal?: AbortSignal): Promise<{
56
+ data?: never;
57
+ error: import("./utils.js").Problem;
58
+ response: Response;
59
+ } | {
60
+ data: {
61
+ readonly createdAt: Date;
62
+ readonly updatedAt: Date;
63
+ readonly deletedAt?: Date;
64
+ readonly id: string;
65
+ type: "WEBHOOK";
66
+ name: string;
67
+ disabled?: boolean;
68
+ url: string;
69
+ customHeaders?: {
70
+ [key: string]: string;
71
+ };
72
+ signingSecret?: string;
73
+ };
74
+ error?: never;
75
+ response: Response;
76
+ }>;
77
+ /**
78
+ * Update a notification channel
79
+ * @param id - The ID of the notification channel
80
+ * @param notification - The notification to update
81
+ * @param signal - An optional abort signal
82
+ * @returns The updated notification
83
+ */
84
+ update(id: operations['updateNotificationChannel']['parameters']['path']['channelId'], notification: NotificationChannel, signal?: AbortSignal): Promise<{
85
+ data?: never;
86
+ error: import("./utils.js").Problem;
87
+ response: Response;
88
+ } | {
89
+ data: {
90
+ readonly createdAt: Date;
91
+ readonly updatedAt: Date;
92
+ readonly deletedAt?: Date;
93
+ readonly id: string;
94
+ type: "WEBHOOK";
95
+ name: string;
96
+ disabled?: boolean;
97
+ url: string;
98
+ customHeaders?: {
99
+ [key: string]: string;
100
+ };
101
+ signingSecret?: string;
102
+ };
103
+ error?: never;
104
+ response: Response;
105
+ }>;
106
+ /**
107
+ * List notification channels
108
+ * @param query - The query parameters
109
+ * @param signal - An optional abort signal
110
+ * @returns The list of notification channels
111
+ */
112
+ list(query?: operations['listNotificationChannels']['parameters']['query'], signal?: AbortSignal): Promise<{
113
+ data?: never;
114
+ error: import("./utils.js").Problem;
115
+ response: Response;
116
+ } | {
117
+ data: {
118
+ totalCount: number;
119
+ page: number;
120
+ pageSize: number;
121
+ items: import("./schemas.js").components["schemas"]["NotificationChannel"][];
122
+ };
123
+ error?: never;
124
+ response: Response;
125
+ }>;
126
+ /**
127
+ * Delete a notification channel
128
+ * @param id - The ID of the notification channel
129
+ * @param signal - An optional abort signal
130
+ * @returns The deleted notification
131
+ */
132
+ delete(id: operations['deleteNotificationChannel']['parameters']['path']['channelId'], signal?: AbortSignal): Promise<{
133
+ data?: never;
134
+ error: import("./utils.js").Problem;
135
+ response: Response;
136
+ } | {
137
+ data: undefined;
138
+ error?: never;
139
+ response: Response;
140
+ }>;
141
+ }
142
+ /**
143
+ * Notification Rules
144
+ * @description Notification rules are the conditions that trigger notifications.
145
+ */
146
+ export declare class NotificationRules {
147
+ private client;
148
+ constructor(client: Client<paths, `${string}/${string}`>);
149
+ /**
150
+ * Create a notification rule
151
+ * @param rule - The rule to create
152
+ * @param signal - An optional abort signal
153
+ * @returns The created rule
154
+ */
155
+ create(rule: NotificationRuleCreateRequest, signal?: AbortSignal): Promise<{
156
+ data?: never;
157
+ error: import("./utils.js").Problem;
158
+ response: Response;
159
+ } | {
160
+ data: {
161
+ readonly createdAt: Date;
162
+ readonly updatedAt: Date;
163
+ readonly deletedAt?: Date;
164
+ readonly id: string;
165
+ type: "entitlements.balance.threshold";
166
+ name: string;
167
+ disabled?: boolean;
168
+ channels: import("./schemas.js").components["schemas"]["NotificationChannelMeta"][];
169
+ thresholds: import("./schemas.js").components["schemas"]["NotificationRuleBalanceThresholdValue"][];
170
+ features?: import("./schemas.js").components["schemas"]["FeatureMeta"][];
171
+ };
172
+ error?: never;
173
+ response: Response;
174
+ }>;
175
+ /**
176
+ * Get a notification rule by ID
177
+ * @param id - The ID of the notification rule
178
+ * @param signal - An optional abort signal
179
+ * @returns The notification rule
180
+ */
181
+ get(id: operations['getNotificationRule']['parameters']['path']['ruleId'], signal?: AbortSignal): Promise<{
182
+ data?: never;
183
+ error: import("./utils.js").Problem;
184
+ response: Response;
185
+ } | {
186
+ data: {
187
+ readonly createdAt: Date;
188
+ readonly updatedAt: Date;
189
+ readonly deletedAt?: Date;
190
+ readonly id: string;
191
+ type: "entitlements.balance.threshold";
192
+ name: string;
193
+ disabled?: boolean;
194
+ channels: import("./schemas.js").components["schemas"]["NotificationChannelMeta"][];
195
+ thresholds: import("./schemas.js").components["schemas"]["NotificationRuleBalanceThresholdValue"][];
196
+ features?: import("./schemas.js").components["schemas"]["FeatureMeta"][];
197
+ };
198
+ error?: never;
199
+ response: Response;
200
+ }>;
201
+ /**
202
+ * Update a notification rule
203
+ * @param id - The ID of the notification rule
204
+ * @param rule - The rule to update
205
+ * @param signal - An optional abort signal
206
+ * @returns The updated rule
207
+ */
208
+ update(id: operations['updateNotificationRule']['parameters']['path']['ruleId'], rule: NotificationRuleCreateRequest, signal?: AbortSignal): Promise<{
209
+ data?: never;
210
+ error: import("./utils.js").Problem;
211
+ response: Response;
212
+ } | {
213
+ data: {
214
+ readonly createdAt: Date;
215
+ readonly updatedAt: Date;
216
+ readonly deletedAt?: Date;
217
+ readonly id: string;
218
+ type: "entitlements.balance.threshold";
219
+ name: string;
220
+ disabled?: boolean;
221
+ channels: import("./schemas.js").components["schemas"]["NotificationChannelMeta"][];
222
+ thresholds: import("./schemas.js").components["schemas"]["NotificationRuleBalanceThresholdValue"][];
223
+ features?: import("./schemas.js").components["schemas"]["FeatureMeta"][];
224
+ };
225
+ error?: never;
226
+ response: Response;
227
+ }>;
228
+ /**
229
+ * List notification rules
230
+ * @param query - The query parameters
231
+ * @param signal - An optional abort signal
232
+ * @returns The list of notification rules
233
+ */
234
+ list(query?: operations['listNotificationRules']['parameters']['query'], signal?: AbortSignal): Promise<{
235
+ data?: never;
236
+ error: import("./utils.js").Problem;
237
+ response: Response;
238
+ } | {
239
+ data: {
240
+ totalCount: number;
241
+ page: number;
242
+ pageSize: number;
243
+ items: import("./schemas.js").components["schemas"]["NotificationRule"][];
244
+ };
245
+ error?: never;
246
+ response: Response;
247
+ }>;
248
+ /**
249
+ * Delete a notification rule
250
+ * @param id - The ID of the notification rule
251
+ * @param signal - An optional abort signal
252
+ * @returns The deleted notification
253
+ */
254
+ delete(id: operations['deleteNotificationRule']['parameters']['path']['ruleId'], signal?: AbortSignal): Promise<{
255
+ data?: never;
256
+ error: import("./utils.js").Problem;
257
+ response: Response;
258
+ } | {
259
+ data: undefined;
260
+ error?: never;
261
+ response: Response;
262
+ }>;
263
+ }
264
+ /**
265
+ * Notification Events
266
+ * @description Notification events are the events that trigger notifications.
267
+ */
268
+ export declare class NotificationEvents {
269
+ private client;
270
+ constructor(client: Client<paths, `${string}/${string}`>);
271
+ /**
272
+ * Get a notification event by ID
273
+ * @param id - The ID of the notification event
274
+ * @param signal - An optional abort signal
275
+ * @returns The notification event
276
+ */
277
+ get(id: operations['getNotificationEvent']['parameters']['path']['eventId'], signal?: AbortSignal): Promise<{
278
+ data?: never;
279
+ error: import("./utils.js").Problem;
280
+ response: Response;
281
+ } | {
282
+ data: {
283
+ readonly id: string;
284
+ readonly type: import("./schemas.js").components["schemas"]["NotificationEventType"];
285
+ readonly createdAt: Date;
286
+ readonly rule: import("./schemas.js").components["schemas"]["NotificationRule"];
287
+ readonly deliveryStatus: import("./schemas.js").components["schemas"]["NotificationEventDeliveryStatus"][];
288
+ readonly payload: import("./schemas.js").components["schemas"]["NotificationEventPayload"];
289
+ readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"];
290
+ };
291
+ error?: never;
292
+ response: Response;
293
+ }>;
294
+ /**
295
+ * List notification events
296
+ * @param query - The query parameters
297
+ * @param signal - An optional abort signal
298
+ * @returns The list of notification events
299
+ */
300
+ list(query?: operations['listNotificationEvents']['parameters']['query'], signal?: AbortSignal): Promise<{
301
+ data?: never;
302
+ error: import("./utils.js").Problem;
303
+ response: Response;
304
+ } | {
305
+ data: {
306
+ totalCount: number;
307
+ page: number;
308
+ pageSize: number;
309
+ items: import("./schemas.js").components["schemas"]["NotificationEvent"][];
310
+ };
311
+ error?: never;
312
+ response: Response;
313
+ }>;
314
+ }