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