@openmeter/sdk 1.0.0-beta.185 → 1.0.0-beta.188

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 (199) hide show
  1. package/README.md +38 -309
  2. package/dist/cjs/index.cjs +1 -34
  3. package/dist/cjs/index.d.cts +1 -24
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/src/client/apps.cjs +174 -0
  6. package/dist/cjs/src/client/apps.d.cts +259 -0
  7. package/dist/cjs/src/client/apps.js.map +1 -0
  8. package/dist/cjs/src/client/billing.cjs +309 -0
  9. package/dist/cjs/src/client/billing.d.cts +510 -0
  10. package/dist/cjs/src/client/billing.js.map +1 -0
  11. package/dist/cjs/src/client/common.cjs +47 -0
  12. package/dist/cjs/src/client/common.d.cts +30 -0
  13. package/dist/cjs/src/client/common.js.map +1 -0
  14. package/dist/cjs/src/client/customers.cjs +185 -0
  15. package/dist/cjs/src/client/customers.d.cts +163 -0
  16. package/dist/cjs/src/client/customers.js.map +1 -0
  17. package/dist/cjs/src/client/entitlements.cjs +244 -0
  18. package/dist/cjs/src/client/entitlements.d.cts +442 -0
  19. package/dist/cjs/src/client/entitlements.js.map +1 -0
  20. package/dist/cjs/src/client/events.cjs +66 -0
  21. package/dist/cjs/src/client/events.d.cts +31 -0
  22. package/dist/cjs/src/client/events.js.map +1 -0
  23. package/dist/cjs/src/client/features.cjs +78 -0
  24. package/dist/cjs/src/client/features.d.cts +78 -0
  25. package/dist/cjs/src/client/features.js.map +1 -0
  26. package/dist/cjs/src/client/index.cjs +108 -0
  27. package/dist/cjs/src/client/index.d.cts +45 -0
  28. package/dist/cjs/src/client/index.js.map +1 -0
  29. package/dist/cjs/src/client/meters.cjs +93 -0
  30. package/dist/cjs/src/client/meters.d.cts +145 -0
  31. package/dist/cjs/src/client/meters.js.map +1 -0
  32. package/dist/cjs/src/client/notifications.cjs +249 -0
  33. package/dist/cjs/src/client/notifications.d.cts +219 -0
  34. package/dist/cjs/src/client/notifications.js.map +1 -0
  35. package/dist/cjs/src/client/plans.cjs +127 -0
  36. package/dist/cjs/src/client/plans.d.cts +142 -0
  37. package/dist/cjs/src/client/plans.js.map +1 -0
  38. package/dist/cjs/src/client/portal.cjs +55 -0
  39. package/dist/cjs/src/client/portal.d.cts +48 -0
  40. package/dist/cjs/src/client/portal.js.map +1 -0
  41. package/dist/cjs/{clients/pagination.cjs → src/client/schemas.cjs} +1 -1
  42. package/dist/cjs/src/client/schemas.d.cts +17247 -0
  43. package/dist/cjs/src/client/schemas.js.map +1 -0
  44. package/dist/cjs/src/client/subjects.cjs +76 -0
  45. package/dist/cjs/src/client/subjects.d.cts +70 -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 +147 -0
  49. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  50. package/dist/cjs/src/client/utils.cjs +69 -0
  51. package/dist/cjs/src/client/utils.d.cts +12 -0
  52. package/dist/cjs/src/client/utils.js.map +1 -0
  53. package/dist/cjs/src/portal/index.cjs +57 -0
  54. package/dist/cjs/src/portal/index.d.cts +104 -0
  55. package/dist/cjs/src/portal/index.js.map +1 -0
  56. package/dist/cjs/src/react/context.cjs +35 -0
  57. package/dist/cjs/src/react/context.d.cts +9 -0
  58. package/dist/cjs/src/react/context.js.map +1 -0
  59. package/dist/cjs/tsconfig.2ca900e0.tsbuildinfo +1 -0
  60. package/dist/cjs/tsconfig.7693db96.tsbuildinfo +1 -0
  61. package/dist/index.d.ts +1 -24
  62. package/dist/index.js +1 -30
  63. package/dist/index.js.map +1 -1
  64. package/dist/src/client/apps.d.ts +259 -0
  65. package/dist/src/client/apps.js +168 -0
  66. package/dist/src/client/apps.js.map +1 -0
  67. package/dist/src/client/billing.d.ts +510 -0
  68. package/dist/src/client/billing.js +302 -0
  69. package/dist/src/client/billing.js.map +1 -0
  70. package/dist/src/client/common.d.ts +30 -0
  71. package/dist/src/client/common.js +42 -0
  72. package/dist/src/client/common.js.map +1 -0
  73. package/dist/src/client/customers.d.ts +163 -0
  74. package/dist/src/client/customers.js +179 -0
  75. package/dist/src/client/customers.js.map +1 -0
  76. package/dist/src/client/entitlements.d.ts +442 -0
  77. package/dist/src/client/entitlements.js +239 -0
  78. package/dist/src/client/entitlements.js.map +1 -0
  79. package/dist/src/client/events.d.ts +31 -0
  80. package/dist/src/client/events.js +58 -0
  81. package/dist/src/client/events.js.map +1 -0
  82. package/dist/src/client/features.d.ts +78 -0
  83. package/dist/src/client/features.js +74 -0
  84. package/dist/src/client/features.js.map +1 -0
  85. package/dist/src/client/index.d.ts +45 -0
  86. package/dist/src/client/index.js +68 -0
  87. package/dist/src/client/index.js.map +1 -0
  88. package/dist/src/client/meters.d.ts +145 -0
  89. package/dist/src/client/meters.js +89 -0
  90. package/dist/src/client/meters.js.map +1 -0
  91. package/dist/src/client/notifications.d.ts +219 -0
  92. package/dist/src/client/notifications.js +242 -0
  93. package/dist/src/client/notifications.js.map +1 -0
  94. package/dist/src/client/plans.d.ts +142 -0
  95. package/dist/src/client/plans.js +123 -0
  96. package/dist/src/client/plans.js.map +1 -0
  97. package/dist/src/client/portal.d.ts +48 -0
  98. package/dist/src/client/portal.js +51 -0
  99. package/dist/src/client/portal.js.map +1 -0
  100. package/dist/src/client/schemas.d.ts +17247 -0
  101. package/dist/src/client/schemas.js +2 -0
  102. package/dist/src/client/schemas.js.map +1 -0
  103. package/dist/src/client/subjects.d.ts +70 -0
  104. package/dist/src/client/subjects.js +72 -0
  105. package/dist/src/client/subjects.js.map +1 -0
  106. package/dist/src/client/subscriptions.d.ts +147 -0
  107. package/dist/src/client/subscriptions.js +112 -0
  108. package/dist/src/client/subscriptions.js.map +1 -0
  109. package/dist/src/client/utils.d.ts +12 -0
  110. package/dist/src/client/utils.js +63 -0
  111. package/dist/src/client/utils.js.map +1 -0
  112. package/dist/src/portal/index.d.ts +104 -0
  113. package/dist/src/portal/index.js +50 -0
  114. package/dist/src/portal/index.js.map +1 -0
  115. package/dist/src/react/context.d.ts +9 -0
  116. package/dist/src/react/context.js +16 -0
  117. package/dist/src/react/context.js.map +1 -0
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/package.json +54 -24
  120. package/patches/openapi-typescript.patch +73 -0
  121. package/dist/cjs/clients/client.cjs +0 -120
  122. package/dist/cjs/clients/client.d.cts +0 -37
  123. package/dist/cjs/clients/client.js.map +0 -1
  124. package/dist/cjs/clients/entitlement.cjs +0 -39
  125. package/dist/cjs/clients/entitlement.d.cts +0 -32
  126. package/dist/cjs/clients/entitlement.js.map +0 -1
  127. package/dist/cjs/clients/event.cjs +0 -71
  128. package/dist/cjs/clients/event.d.cts +0 -79
  129. package/dist/cjs/clients/event.js.map +0 -1
  130. package/dist/cjs/clients/feature.cjs +0 -80
  131. package/dist/cjs/clients/feature.d.cts +0 -46
  132. package/dist/cjs/clients/feature.js.map +0 -1
  133. package/dist/cjs/clients/grant.cjs +0 -41
  134. package/dist/cjs/clients/grant.d.cts +0 -24
  135. package/dist/cjs/clients/grant.js.map +0 -1
  136. package/dist/cjs/clients/meter.cjs +0 -83
  137. package/dist/cjs/clients/meter.d.cts +0 -79
  138. package/dist/cjs/clients/meter.js.map +0 -1
  139. package/dist/cjs/clients/notifications.cjs +0 -184
  140. package/dist/cjs/clients/notifications.d.cts +0 -101
  141. package/dist/cjs/clients/notifications.js.map +0 -1
  142. package/dist/cjs/clients/pagination.d.cts +0 -6
  143. package/dist/cjs/clients/pagination.js.map +0 -1
  144. package/dist/cjs/clients/portal.cjs +0 -41
  145. package/dist/cjs/clients/portal.d.cts +0 -22
  146. package/dist/cjs/clients/portal.js.map +0 -1
  147. package/dist/cjs/clients/subject.cjs +0 -269
  148. package/dist/cjs/clients/subject.d.cts +0 -142
  149. package/dist/cjs/clients/subject.js.map +0 -1
  150. package/dist/cjs/schemas/openapi.cjs +0 -7
  151. package/dist/cjs/schemas/openapi.d.cts +0 -3578
  152. package/dist/cjs/schemas/openapi.js.map +0 -1
  153. package/dist/cjs/test/agent.cjs +0 -485
  154. package/dist/cjs/test/agent.d.cts +0 -2
  155. package/dist/cjs/test/agent.js.map +0 -1
  156. package/dist/cjs/test/mocks.cjs +0 -153
  157. package/dist/cjs/test/mocks.d.cts +0 -25
  158. package/dist/cjs/test/mocks.js.map +0 -1
  159. package/dist/cjs/tsconfig.a1fc0bdc.tsbuildinfo +0 -1
  160. package/dist/cjs/tsconfig.b6c6ba95.tsbuildinfo +0 -1
  161. package/dist/clients/client.d.ts +0 -37
  162. package/dist/clients/client.js +0 -115
  163. package/dist/clients/client.js.map +0 -1
  164. package/dist/clients/entitlement.d.ts +0 -32
  165. package/dist/clients/entitlement.js +0 -35
  166. package/dist/clients/entitlement.js.map +0 -1
  167. package/dist/clients/event.d.ts +0 -79
  168. package/dist/clients/event.js +0 -64
  169. package/dist/clients/event.js.map +0 -1
  170. package/dist/clients/feature.d.ts +0 -46
  171. package/dist/clients/feature.js +0 -76
  172. package/dist/clients/feature.js.map +0 -1
  173. package/dist/clients/grant.d.ts +0 -24
  174. package/dist/clients/grant.js +0 -37
  175. package/dist/clients/grant.js.map +0 -1
  176. package/dist/clients/meter.d.ts +0 -79
  177. package/dist/clients/meter.js +0 -79
  178. package/dist/clients/meter.js.map +0 -1
  179. package/dist/clients/notifications.d.ts +0 -101
  180. package/dist/clients/notifications.js +0 -180
  181. package/dist/clients/notifications.js.map +0 -1
  182. package/dist/clients/pagination.d.ts +0 -6
  183. package/dist/clients/pagination.js +0 -2
  184. package/dist/clients/pagination.js.map +0 -1
  185. package/dist/clients/portal.d.ts +0 -22
  186. package/dist/clients/portal.js +0 -37
  187. package/dist/clients/portal.js.map +0 -1
  188. package/dist/clients/subject.d.ts +0 -142
  189. package/dist/clients/subject.js +0 -265
  190. package/dist/clients/subject.js.map +0 -1
  191. package/dist/schemas/openapi.d.ts +0 -3578
  192. package/dist/schemas/openapi.js +0 -6
  193. package/dist/schemas/openapi.js.map +0 -1
  194. package/dist/test/agent.d.ts +0 -2
  195. package/dist/test/agent.js +0 -482
  196. package/dist/test/agent.js.map +0 -1
  197. package/dist/test/mocks.d.ts +0 -25
  198. package/dist/test/mocks.js +0 -150
  199. package/dist/test/mocks.js.map +0 -1
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MetersClient = exports.MeterAggregation = exports.WindowSize = void 0;
4
- const client_js_1 = require("./client.cjs");
5
- var WindowSize;
6
- (function (WindowSize) {
7
- WindowSize["MINUTE"] = "MINUTE";
8
- WindowSize["HOUR"] = "HOUR";
9
- WindowSize["DAY"] = "DAY";
10
- })(WindowSize || (exports.WindowSize = WindowSize = {}));
11
- var MeterAggregation;
12
- (function (MeterAggregation) {
13
- MeterAggregation["SUM"] = "SUM";
14
- MeterAggregation["COUNT"] = "COUNT";
15
- MeterAggregation["AVG"] = "AVG";
16
- MeterAggregation["MIN"] = "MIN";
17
- MeterAggregation["MAX"] = "MAX";
18
- })(MeterAggregation || (exports.MeterAggregation = MeterAggregation = {}));
19
- class MetersClient extends client_js_1.BaseClient {
20
- constructor(config) {
21
- super(config);
22
- }
23
- /**
24
- * Create a meter
25
- */
26
- async create(meter, options) {
27
- return this.request({
28
- method: 'POST',
29
- path: `/api/v1/meters`,
30
- headers: {
31
- 'Content-Type': 'application/json',
32
- },
33
- body: JSON.stringify(meter),
34
- options,
35
- });
36
- }
37
- /**
38
- * Get one meter by slug
39
- */
40
- async get(slug, options) {
41
- return this.request({
42
- method: 'GET',
43
- path: `/api/v1/meters/${slug}`,
44
- options,
45
- });
46
- }
47
- /**
48
- * List meters
49
- */
50
- async list(options) {
51
- return this.request({
52
- method: 'GET',
53
- path: `/api/v1/meters`,
54
- options,
55
- });
56
- }
57
- /**
58
- * Query a meter
59
- */
60
- async query(slug, params, options) {
61
- const searchParams = params
62
- ? client_js_1.BaseClient.toURLSearchParams(params)
63
- : undefined;
64
- return this.request({
65
- method: 'GET',
66
- path: `/api/v1/meters/${slug}/query`,
67
- searchParams,
68
- options,
69
- });
70
- }
71
- /**
72
- * List subjects of a meter
73
- */
74
- async subjects(slug, options) {
75
- return this.request({
76
- method: 'GET',
77
- path: `/api/v1/meters/${slug}/subjects`,
78
- options,
79
- });
80
- }
81
- }
82
- exports.MetersClient = MetersClient;
83
- //# sourceMappingURL=meter.js.map
@@ -1,79 +0,0 @@
1
- import { paths, components } from '../schemas/openapi.cjs';
2
- import { BaseClient, OpenMeterConfig, RequestOptions } from './client.cjs';
3
- export declare enum WindowSize {
4
- MINUTE = "MINUTE",
5
- HOUR = "HOUR",
6
- DAY = "DAY"
7
- }
8
- export declare enum MeterAggregation {
9
- SUM = "SUM",
10
- COUNT = "COUNT",
11
- AVG = "AVG",
12
- MIN = "MIN",
13
- MAX = "MAX"
14
- }
15
- export type MeterQueryParams = {
16
- /**
17
- * @description Subject(s) to filter by.
18
- * @example ["customer-1", "customer-2"]
19
- */
20
- subject?: string[];
21
- /**
22
- * @description Start date.
23
- * Must be aligned with the window size.
24
- * Inclusive.
25
- */
26
- from?: Date;
27
- /**
28
- * @description End date.
29
- * Must be aligned with the window size.
30
- * Inclusive.
31
- */
32
- to?: Date;
33
- /**
34
- * @description Window Size
35
- * If not specified, a single usage aggregate will be returned for the entirety of
36
- * the specified period for each subject and group.
37
- */
38
- windowSize?: WindowSizeType;
39
- /**
40
- * @description The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones).
41
- * If not specified, the UTC timezone will be used.
42
- */
43
- windowTimeZone?: string;
44
- /**
45
- * @description Group By
46
- * If not specified a single aggregate will be returned for each subject and time window.
47
- */
48
- groupBy?: string[];
49
- /**
50
- * @description Filter by group by
51
- */
52
- filterGroupBy?: Record<string, string>;
53
- };
54
- export type MeterQueryResponse = paths['/api/v1/meters/{meterIdOrSlug}/query']['get']['responses']['200']['content']['application/json'];
55
- export type Meter = components['schemas']['Meter'];
56
- export type WindowSizeType = components['schemas']['WindowSize'];
57
- export declare class MetersClient extends BaseClient {
58
- constructor(config: OpenMeterConfig);
59
- /**
60
- * Create a meter
61
- */
62
- create(meter: Meter, options?: RequestOptions): Promise<Meter>;
63
- /**
64
- * Get one meter by slug
65
- */
66
- get(slug: string, options?: RequestOptions): Promise<Meter>;
67
- /**
68
- * List meters
69
- */
70
- list(options?: RequestOptions): Promise<Meter[]>;
71
- /**
72
- * Query a meter
73
- */
74
- query(slug: string, params?: MeterQueryParams, options?: RequestOptions): Promise<MeterQueryResponse>;
75
- /**
76
- * List subjects of a meter
77
- */
78
- subjects(slug: string, options?: RequestOptions): Promise<string[]>;
79
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../../clients/meter.ts"],"names":[],"mappings":";;;AACA,2CAAyE;AAEzE,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,yBAAW,CAAA;AACb,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,+BAAW,CAAA;IACX,+BAAW,CAAA;AACb,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAgDD,MAAa,YAAa,SAAQ,sBAAU;IAC1C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,KAAY,EAAE,OAAwB;QACxD,OAAO,IAAI,CAAC,OAAO,CAAQ;YACzB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3B,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAwB;QACrD,OAAO,IAAI,CAAC,OAAO,CAAQ;YACzB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,IAAI,EAAE;YAC9B,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CAAC,OAAwB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAU;YAC3B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAChB,IAAY,EACZ,MAAyB,EACzB,OAAwB;QAExB,MAAM,YAAY,GAAG,MAAM;YACzB,CAAC,CAAC,sBAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAqB;YACtC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,IAAI,QAAQ;YACpC,YAAY;YACZ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CACnB,IAAY,EACZ,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAW;YAC5B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,IAAI,WAAW;YACvC,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AA1ED,oCA0EC"}
@@ -1,184 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotificationClient = void 0;
4
- const client_js_1 = require("./client.cjs");
5
- class NotificationClient extends client_js_1.BaseClient {
6
- channels;
7
- rules;
8
- events;
9
- constructor(config) {
10
- super(config);
11
- this.channels = new NotificationChannelsClient(config);
12
- this.rules = new NotificationRulesClient(config);
13
- this.events = new NotificationEventsClient(config);
14
- }
15
- }
16
- exports.NotificationClient = NotificationClient;
17
- class NotificationChannelsClient extends client_js_1.BaseClient {
18
- constructor(config) {
19
- super(config);
20
- }
21
- /**
22
- * List notification channels.
23
- * @example
24
- * const channels = await openmeter.notification.channels.list()
25
- */
26
- async list(params, options) {
27
- const searchParams = params
28
- ? client_js_1.BaseClient.toURLSearchParams(params)
29
- : undefined;
30
- return await this.request({
31
- path: '/api/v1/notification/channels',
32
- method: 'GET',
33
- searchParams,
34
- options,
35
- });
36
- }
37
- /**
38
- * Get notification channel.
39
- * @example
40
- * const channel = await openmeter.notification.channels.get('01J5Z602369ZDS9J60N3DV7SGE')
41
- */
42
- async get(id, options) {
43
- return await this.request({
44
- path: `/api/v1/notification/channels/${id}`,
45
- method: 'GET',
46
- options,
47
- });
48
- }
49
- /**
50
- * Delete notification channel.
51
- * @example
52
- * await openmeter.notification.channels.delete('01J5Z602369ZDS9J60N3DV7SGE')
53
- */
54
- async delete(id, options) {
55
- await this.request({
56
- path: `/api/v1/notification/channels/${id}`,
57
- method: 'DELETE',
58
- options,
59
- });
60
- }
61
- /**
62
- * Create notification channel.
63
- * @example
64
- * const channel = await openmeter.notification.channels.create({
65
- * type: 'WEBHOOK',
66
- * name: 'My webhook channel',
67
- * url: 'https://example.com/webhook',
68
- * customHeaders: {
69
- * 'User-Agent': 'OpenMeter'
70
- * },
71
- * })
72
- */
73
- async create(body, options) {
74
- return await this.request({
75
- path: '/api/v1/notification/channels',
76
- method: 'POST',
77
- headers: {
78
- 'Content-Type': 'application/json',
79
- },
80
- body: JSON.stringify(body),
81
- options,
82
- });
83
- }
84
- }
85
- class NotificationRulesClient extends client_js_1.BaseClient {
86
- constructor(config) {
87
- super(config);
88
- }
89
- /**
90
- * List notification rules.
91
- * @example
92
- * const rules = await openmeter.notification.rules.list()
93
- */
94
- async list(params, options) {
95
- const searchParams = params
96
- ? client_js_1.BaseClient.toURLSearchParams(params)
97
- : undefined;
98
- return await this.request({
99
- path: '/api/v1/notification/rules',
100
- method: 'GET',
101
- searchParams,
102
- options,
103
- });
104
- }
105
- /**
106
- * Get notification rule.
107
- * @example
108
- * const rule = await openmeter.notification.rules.get('01J5Z602369ZDS9J60N3DV7SGE')
109
- */
110
- async get(id, options) {
111
- return await this.request({
112
- path: `/api/v1/notification/rules/${id}`,
113
- method: 'GET',
114
- options,
115
- });
116
- }
117
- /**
118
- * Delete notification rule.
119
- * @example
120
- * await openmeter.notification.rules.delete('01J5Z602369ZDS9J60N3DV7SGE')
121
- */
122
- async delete(id, options) {
123
- await this.request({
124
- path: `/api/v1/notification/rules/${id}`,
125
- method: 'DELETE',
126
- options,
127
- });
128
- }
129
- /**
130
- * Create notification rule.
131
- * @example
132
- * const rule = await openmeter.notification.rules.create({
133
- * type: 'entitlements.balance.threshold',
134
- * name: 'My rule',
135
- * channels: ['01J5Z602369ZDS9J60N3DV7SGE'],
136
- * thresholds: [{ value: 90, type: 'PERCENT' }],
137
- * })
138
- */
139
- async create(body, options) {
140
- return await this.request({
141
- path: '/api/v1/notification/rules',
142
- method: 'POST',
143
- headers: {
144
- 'Content-Type': 'application/json',
145
- },
146
- body: JSON.stringify(body),
147
- options,
148
- });
149
- }
150
- }
151
- class NotificationEventsClient extends client_js_1.BaseClient {
152
- constructor(config) {
153
- super(config);
154
- }
155
- /**
156
- * List notification events.
157
- * @example
158
- * const events = await openmeter.notification.events.list()
159
- */
160
- async list(params, options) {
161
- const searchParams = params
162
- ? client_js_1.BaseClient.toURLSearchParams(params)
163
- : undefined;
164
- return await this.request({
165
- path: '/api/v1/notification/events',
166
- method: 'GET',
167
- searchParams,
168
- options,
169
- });
170
- }
171
- /**
172
- * Get notification event.
173
- * @example
174
- * const event = await openmeter.notification.events.get('01J5Z602369ZDS9J60N3DV7SGE')
175
- */
176
- async get(id, options) {
177
- return await this.request({
178
- path: `/api/v1/notification/events/${id}`,
179
- method: 'GET',
180
- options,
181
- });
182
- }
183
- }
184
- //# sourceMappingURL=notifications.js.map
@@ -1,101 +0,0 @@
1
- import { components, operations } from '../schemas/openapi.cjs';
2
- import { RequestOptions, BaseClient, OpenMeterConfig } from './client.cjs';
3
- export type NotificationChannel = components['schemas']['NotificationChannel'];
4
- export type NotificationChannelCreateRequest = components['schemas']['NotificationChannelCreateRequest'];
5
- export type ListNotificationChannelsQueryParams = operations['listNotificationChannels']['parameters']['query'];
6
- export type NotificationChannelsResponse = components['schemas']['NotificationChannelsResponse'];
7
- export type NotificationRule = components['schemas']['NotificationRule'];
8
- export type NotificationRuleCreateRequest = components['schemas']['NotificationRuleCreateRequest'];
9
- export type ListNotificationRulesQueryParams = operations['listNotificationRules']['parameters']['query'];
10
- export type NotificationRulesResponse = components['schemas']['NotificationRulesResponse'];
11
- export type NotificationEvent = components['schemas']['NotificationEvent'];
12
- export type ListNotificationEventsQueryParams = operations['listNotificationEvents']['parameters']['query'];
13
- export type NotificationEventsResponse = components['schemas']['NotificationEventsResponse'];
14
- export declare class NotificationClient extends BaseClient {
15
- channels: NotificationChannelsClient;
16
- rules: NotificationRulesClient;
17
- events: NotificationEventsClient;
18
- constructor(config: OpenMeterConfig);
19
- }
20
- declare class NotificationChannelsClient extends BaseClient {
21
- constructor(config: OpenMeterConfig);
22
- /**
23
- * List notification channels.
24
- * @example
25
- * const channels = await openmeter.notification.channels.list()
26
- */
27
- list(params?: ListNotificationChannelsQueryParams, options?: RequestOptions): Promise<NotificationChannelsResponse>;
28
- /**
29
- * Get notification channel.
30
- * @example
31
- * const channel = await openmeter.notification.channels.get('01J5Z602369ZDS9J60N3DV7SGE')
32
- */
33
- get(id: string, options?: RequestOptions): Promise<NotificationChannel>;
34
- /**
35
- * Delete notification channel.
36
- * @example
37
- * await openmeter.notification.channels.delete('01J5Z602369ZDS9J60N3DV7SGE')
38
- */
39
- delete(id: string, options?: RequestOptions): Promise<void>;
40
- /**
41
- * Create notification channel.
42
- * @example
43
- * const channel = await openmeter.notification.channels.create({
44
- * type: 'WEBHOOK',
45
- * name: 'My webhook channel',
46
- * url: 'https://example.com/webhook',
47
- * customHeaders: {
48
- * 'User-Agent': 'OpenMeter'
49
- * },
50
- * })
51
- */
52
- create(body: NotificationChannelCreateRequest, options?: RequestOptions): Promise<NotificationChannel>;
53
- }
54
- declare class NotificationRulesClient extends BaseClient {
55
- constructor(config: OpenMeterConfig);
56
- /**
57
- * List notification rules.
58
- * @example
59
- * const rules = await openmeter.notification.rules.list()
60
- */
61
- list(params?: ListNotificationRulesQueryParams, options?: RequestOptions): Promise<NotificationRulesResponse>;
62
- /**
63
- * Get notification rule.
64
- * @example
65
- * const rule = await openmeter.notification.rules.get('01J5Z602369ZDS9J60N3DV7SGE')
66
- */
67
- get(id: string, options?: RequestOptions): Promise<NotificationChannel>;
68
- /**
69
- * Delete notification rule.
70
- * @example
71
- * await openmeter.notification.rules.delete('01J5Z602369ZDS9J60N3DV7SGE')
72
- */
73
- delete(id: string, options?: RequestOptions): Promise<void>;
74
- /**
75
- * Create notification rule.
76
- * @example
77
- * const rule = await openmeter.notification.rules.create({
78
- * type: 'entitlements.balance.threshold',
79
- * name: 'My rule',
80
- * channels: ['01J5Z602369ZDS9J60N3DV7SGE'],
81
- * thresholds: [{ value: 90, type: 'PERCENT' }],
82
- * })
83
- */
84
- create(body: NotificationRuleCreateRequest, options?: RequestOptions): Promise<NotificationChannel>;
85
- }
86
- declare class NotificationEventsClient extends BaseClient {
87
- constructor(config: OpenMeterConfig);
88
- /**
89
- * List notification events.
90
- * @example
91
- * const events = await openmeter.notification.events.list()
92
- */
93
- list(params?: ListNotificationEventsQueryParams, options?: RequestOptions): Promise<NotificationEventsResponse>;
94
- /**
95
- * Get notification event.
96
- * @example
97
- * const event = await openmeter.notification.events.get('01J5Z602369ZDS9J60N3DV7SGE')
98
- */
99
- get(id: string, options?: RequestOptions): Promise<NotificationEvent>;
100
- }
101
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../../clients/notifications.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export interface Paginated<T> {
2
- items: T[];
3
- totalCount: number;
4
- page: number;
5
- pageSize: number;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../clients/pagination.ts"],"names":[],"mappings":""}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PortalClient = void 0;
4
- const client_js_1 = require("./client.cjs");
5
- class PortalClient extends client_js_1.BaseClient {
6
- constructor(config) {
7
- super(config);
8
- }
9
- /**
10
- * Create portal token
11
- * Useful for creating a token sharable with your customer to query their own usage
12
- */
13
- async createToken(token, options) {
14
- return await this.request({
15
- path: '/api/v1/portal/tokens',
16
- method: 'POST',
17
- headers: {
18
- 'Content-Type': 'application/json',
19
- },
20
- body: JSON.stringify(token),
21
- options,
22
- });
23
- }
24
- /**
25
- * Invalidate portal token
26
- * @note OpenMeter Cloud only feature
27
- */
28
- async invalidateTokens(invalidate = {}, options) {
29
- return await this.request({
30
- path: '/api/v1/portal/tokens/invalidate',
31
- method: 'POST',
32
- headers: {
33
- 'Content-Type': 'application/json',
34
- },
35
- body: JSON.stringify(invalidate),
36
- options,
37
- });
38
- }
39
- }
40
- exports.PortalClient = PortalClient;
41
- //# sourceMappingURL=portal.js.map
@@ -1,22 +0,0 @@
1
- import { components } from '../schemas/openapi.cjs';
2
- import { RequestOptions, BaseClient, OpenMeterConfig } from './client.cjs';
3
- export type PortalToken = components['schemas']['PortalToken'];
4
- export declare class PortalClient extends BaseClient {
5
- constructor(config: OpenMeterConfig);
6
- /**
7
- * Create portal token
8
- * Useful for creating a token sharable with your customer to query their own usage
9
- */
10
- createToken(token: {
11
- subject: string;
12
- expiresAt?: Date;
13
- allowedMeterSlugs?: string[];
14
- }, options?: RequestOptions): Promise<PortalToken>;
15
- /**
16
- * Invalidate portal token
17
- * @note OpenMeter Cloud only feature
18
- */
19
- invalidateTokens(invalidate?: {
20
- subject?: string;
21
- }, options?: RequestOptions): Promise<void>;
22
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../clients/portal.ts"],"names":[],"mappings":";;;AACA,2CAAyE;AAIzE,MAAa,YAAa,SAAQ,sBAAU;IAC1C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CACtB,KAIC,EACD,OAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3B,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB,CAC3B,aAAmC,EAAE,EACrC,OAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,kCAAkC;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAChC,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AA9CD,oCA8CC"}