@openmeter/sdk 1.0.0-beta.184 → 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 -3224
  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.4febac0b.tsbuildinfo +0 -1
  160. package/dist/cjs/tsconfig.7998aae3.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 -3224
  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,180 +0,0 @@
1
- import { BaseClient } from './client.js';
2
- export class NotificationClient extends BaseClient {
3
- channels;
4
- rules;
5
- events;
6
- constructor(config) {
7
- super(config);
8
- this.channels = new NotificationChannelsClient(config);
9
- this.rules = new NotificationRulesClient(config);
10
- this.events = new NotificationEventsClient(config);
11
- }
12
- }
13
- class NotificationChannelsClient extends BaseClient {
14
- constructor(config) {
15
- super(config);
16
- }
17
- /**
18
- * List notification channels.
19
- * @example
20
- * const channels = await openmeter.notification.channels.list()
21
- */
22
- async list(params, options) {
23
- const searchParams = params
24
- ? BaseClient.toURLSearchParams(params)
25
- : undefined;
26
- return await this.request({
27
- path: '/api/v1/notification/channels',
28
- method: 'GET',
29
- searchParams,
30
- options,
31
- });
32
- }
33
- /**
34
- * Get notification channel.
35
- * @example
36
- * const channel = await openmeter.notification.channels.get('01J5Z602369ZDS9J60N3DV7SGE')
37
- */
38
- async get(id, options) {
39
- return await this.request({
40
- path: `/api/v1/notification/channels/${id}`,
41
- method: 'GET',
42
- options,
43
- });
44
- }
45
- /**
46
- * Delete notification channel.
47
- * @example
48
- * await openmeter.notification.channels.delete('01J5Z602369ZDS9J60N3DV7SGE')
49
- */
50
- async delete(id, options) {
51
- await this.request({
52
- path: `/api/v1/notification/channels/${id}`,
53
- method: 'DELETE',
54
- options,
55
- });
56
- }
57
- /**
58
- * Create notification channel.
59
- * @example
60
- * const channel = await openmeter.notification.channels.create({
61
- * type: 'WEBHOOK',
62
- * name: 'My webhook channel',
63
- * url: 'https://example.com/webhook',
64
- * customHeaders: {
65
- * 'User-Agent': 'OpenMeter'
66
- * },
67
- * })
68
- */
69
- async create(body, options) {
70
- return await this.request({
71
- path: '/api/v1/notification/channels',
72
- method: 'POST',
73
- headers: {
74
- 'Content-Type': 'application/json',
75
- },
76
- body: JSON.stringify(body),
77
- options,
78
- });
79
- }
80
- }
81
- class NotificationRulesClient extends BaseClient {
82
- constructor(config) {
83
- super(config);
84
- }
85
- /**
86
- * List notification rules.
87
- * @example
88
- * const rules = await openmeter.notification.rules.list()
89
- */
90
- async list(params, options) {
91
- const searchParams = params
92
- ? BaseClient.toURLSearchParams(params)
93
- : undefined;
94
- return await this.request({
95
- path: '/api/v1/notification/rules',
96
- method: 'GET',
97
- searchParams,
98
- options,
99
- });
100
- }
101
- /**
102
- * Get notification rule.
103
- * @example
104
- * const rule = await openmeter.notification.rules.get('01J5Z602369ZDS9J60N3DV7SGE')
105
- */
106
- async get(id, options) {
107
- return await this.request({
108
- path: `/api/v1/notification/rules/${id}`,
109
- method: 'GET',
110
- options,
111
- });
112
- }
113
- /**
114
- * Delete notification rule.
115
- * @example
116
- * await openmeter.notification.rules.delete('01J5Z602369ZDS9J60N3DV7SGE')
117
- */
118
- async delete(id, options) {
119
- await this.request({
120
- path: `/api/v1/notification/rules/${id}`,
121
- method: 'DELETE',
122
- options,
123
- });
124
- }
125
- /**
126
- * Create notification rule.
127
- * @example
128
- * const rule = await openmeter.notification.rules.create({
129
- * type: 'entitlements.balance.threshold',
130
- * name: 'My rule',
131
- * channels: ['01J5Z602369ZDS9J60N3DV7SGE'],
132
- * thresholds: [{ value: 90, type: 'PERCENT' }],
133
- * })
134
- */
135
- async create(body, options) {
136
- return await this.request({
137
- path: '/api/v1/notification/rules',
138
- method: 'POST',
139
- headers: {
140
- 'Content-Type': 'application/json',
141
- },
142
- body: JSON.stringify(body),
143
- options,
144
- });
145
- }
146
- }
147
- class NotificationEventsClient extends BaseClient {
148
- constructor(config) {
149
- super(config);
150
- }
151
- /**
152
- * List notification events.
153
- * @example
154
- * const events = await openmeter.notification.events.list()
155
- */
156
- async list(params, options) {
157
- const searchParams = params
158
- ? BaseClient.toURLSearchParams(params)
159
- : undefined;
160
- return await this.request({
161
- path: '/api/v1/notification/events',
162
- method: 'GET',
163
- searchParams,
164
- options,
165
- });
166
- }
167
- /**
168
- * Get notification event.
169
- * @example
170
- * const event = await openmeter.notification.events.get('01J5Z602369ZDS9J60N3DV7SGE')
171
- */
172
- async get(id, options) {
173
- return await this.request({
174
- path: `/api/v1/notification/events/${id}`,
175
- method: 'GET',
176
- options,
177
- });
178
- }
179
- }
180
- //# sourceMappingURL=notifications.js.map
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=pagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../clients/pagination.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { components } from '../schemas/openapi.js';
2
- import { RequestOptions, BaseClient, OpenMeterConfig } from './client.js';
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,37 +0,0 @@
1
- import { BaseClient } from './client.js';
2
- export class PortalClient extends BaseClient {
3
- constructor(config) {
4
- super(config);
5
- }
6
- /**
7
- * Create portal token
8
- * Useful for creating a token sharable with your customer to query their own usage
9
- */
10
- async createToken(token, options) {
11
- return await this.request({
12
- path: '/api/v1/portal/tokens',
13
- method: 'POST',
14
- headers: {
15
- 'Content-Type': 'application/json',
16
- },
17
- body: JSON.stringify(token),
18
- options,
19
- });
20
- }
21
- /**
22
- * Invalidate portal token
23
- * @note OpenMeter Cloud only feature
24
- */
25
- async invalidateTokens(invalidate = {}, options) {
26
- return await this.request({
27
- path: '/api/v1/portal/tokens/invalidate',
28
- method: 'POST',
29
- headers: {
30
- 'Content-Type': 'application/json',
31
- },
32
- body: JSON.stringify(invalidate),
33
- options,
34
- });
35
- }
36
- }
37
- //# sourceMappingURL=portal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../clients/portal.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,UAAU,EAAmB,MAAM,aAAa,CAAA;AAIzE,MAAM,OAAO,YAAa,SAAQ,UAAU;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"}
@@ -1,142 +0,0 @@
1
- import { components } from '../schemas/openapi.js';
2
- import { RequestOptions, BaseClient, OpenMeterConfig } from './client.js';
3
- import { Entitlement, EntitlementCreateInputs, EntitlementResetInputs, EntitlementValue, GetEntitlementHistoryQueryParams, ListEntitlementQueryParams, WindowedBalanceHistory } from './entitlement.js';
4
- import { EntitlementGrant, EntitlementGrantCreateInput, ListEntitlementGrantQueryParams } from './grant.js';
5
- export type Subject = components['schemas']['Subject'];
6
- export declare class SubjectClient extends BaseClient {
7
- constructor(config: OpenMeterConfig);
8
- /**
9
- * Upsert subject
10
- * Useful to map display name and metadata to subjects
11
- * @note OpenMeter Cloud only feature
12
- */
13
- upsert(subject: Omit<Subject, 'id'>[], options?: RequestOptions): Promise<Subject[]>;
14
- /**
15
- * Get subject by id or key
16
- * @note OpenMeter Cloud only feature
17
- */
18
- get(idOrKey: string, options?: RequestOptions): Promise<Subject>;
19
- /**
20
- * List subjects
21
- * @note OpenMeter Cloud only feature
22
- */
23
- list(options?: RequestOptions): Promise<Subject[]>;
24
- /**
25
- * Delete subject by id or key
26
- * @note OpenMeter Cloud only feature
27
- */
28
- delete(idOrKey: string, options?: RequestOptions): Promise<void>;
29
- /** Entitlements **/
30
- /**
31
- * Create Entitlement
32
- * Entitlements allows you to manage subject feature access, balances, and usage limits.
33
- * @remarks
34
- * Input should be either `EntitlementMeteredCreateInputs`, `EntitlementStaticCreateInputs`, or `EntitlementBooleanCreateInputs`
35
- * @example
36
- * // Issue 10,000,000 tokens every month
37
- * const entitlement = await openmeter.subjects.createEntitlement('customer-1', {
38
- * type: 'metered',
39
- * featureKey: 'ai_tokens',
40
- * usagePeriod: {
41
- * interval: 'MONTH',
42
- * },
43
- * issueAfterReset: 10000000,
44
- * })
45
- */
46
- createEntitlement(subjectIdOrKey: string, input: EntitlementCreateInputs, options?: RequestOptions): Promise<Entitlement>;
47
- /**
48
- * Override Entitlement
49
- * Enables zero downtime upgrades and downgrades of entitlements.
50
- * @remarks
51
- * Input should be either `EntitlementMeteredCreateInputs`, `EntitlementStaticCreateInputs`, or `EntitlementBooleanCreateInputs`
52
- * @example
53
- * // Issue 10,000,000 tokens every month
54
- * const entitlement = await openmeter.subjects.overrideEntitlement('customer-1', 'ai_tokens', {
55
- * type: 'metered',
56
- * featureKey: 'ai_tokens',
57
- * usagePeriod: {
58
- * interval: 'MONTH',
59
- * },
60
- * issueAfterReset: 10000000,
61
- * })
62
- */
63
- overrideEntitlement(subjectIdOrKey: string, entitlementIdOrFeatureKey: string, input: EntitlementCreateInputs, options?: RequestOptions): Promise<Entitlement>;
64
- /**
65
- * List entitlements of a subject
66
- * @example
67
- * const entitlement = await openmeter.subjects.listEntitlements('customer-1')
68
- */
69
- listEntitlements(subjectIdOrKey: string, params?: ListEntitlementQueryParams, options?: RequestOptions): Promise<Entitlement[]>;
70
- /**
71
- * Get entitlement
72
- *
73
- * @example
74
- * const entitlement = await openmeter.subjects.getEntitlement('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
75
- */
76
- getEntitlement(subjectIdOrKey: string, entitlementId: string, options?: RequestOptions): Promise<Entitlement>;
77
- /**
78
- * Delete entitlement
79
- * @example
80
- * await openmeter.deleteEntitlement('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
81
- */
82
- deleteEntitlement(subjectIdOrKey: string, entitlementId: string, options?: RequestOptions): Promise<void>;
83
- /**
84
- * Get entitlement value by ID or Feature Key
85
- *
86
- * @example
87
- * const value = await openmeter.subjects.getEntitlementValue('customer-1', 'ai_tokens')
88
- */
89
- getEntitlementValue(subjectIdOrKey: string, entitlementIdOrFeatureKey: string, options?: RequestOptions): Promise<EntitlementValue>;
90
- /**
91
- * Get entitlement value at a specific time.
92
- *
93
- * @example
94
- * const value = await openmeter.subjects.getEntitlementValueAt('customer-1', 'ai_tokens', new Date('2024-01-01'))
95
- */
96
- getEntitlementValueAt(subjectIdOrKey: string, entitlementIdOrFeatureKey: string, at: Date, options?: RequestOptions): Promise<EntitlementValue>;
97
- /**
98
- * Get entitlement history
99
- * @example
100
- * const entitlement = await openmeter.subjects.getEntitlementHistory('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
101
- */
102
- getEntitlementHistory(subjectIdOrKey: string, entitlementId: string, params?: GetEntitlementHistoryQueryParams, options?: RequestOptions): Promise<WindowedBalanceHistory[]>;
103
- /**
104
- * Reset Entitlement Usage
105
- * Reset the entitlement usage and start a new period. Eligible grants will be rolled over
106
- *
107
- * @example
108
- * const entitlement = await openmeter.subjects.resetEntitlementUsage('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE', {
109
- * retainAnchor: true
110
- * })
111
- */
112
- resetEntitlementUsage(subjectIdOrKey: string, entitlementId: string, input: EntitlementResetInputs, options?: RequestOptions): Promise<Entitlement>;
113
- /** Entitlement Grant **/
114
- /**
115
- * Create Entitlement Grant
116
- * Create a grant for an entitlement.
117
- *
118
- * @example
119
- * const grant = await openmeter.subjects.createEntitlementGrant('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE', {
120
- * amount: 100,
121
- * priority: 1,
122
- * effectiveAt: '2023-01-01T00:00:00Z',
123
- * expiration: {
124
- * duration: 'HOUR',
125
- * count: 12,
126
- * },
127
- * minRolloverAmount: 100,
128
- * maxRolloverAmount: 100,
129
- * recurrence: {
130
- * interval: 'MONTH',
131
- * anchor: '2024-06-28T18:29:44.867Z',
132
- * },
133
- * })
134
- */
135
- createEntitlementGrant(subjectIdOrKey: string, entitlementIdOrFeatureKey: string, input: EntitlementGrantCreateInput, options?: RequestOptions): Promise<EntitlementGrant>;
136
- /**
137
- * List entitlement grants
138
- * @example
139
- * const entitlement = await openmeter.subjects.listEntitlementGrants('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
140
- */
141
- listEntitlementGrants(subjectIdOrKey: string, entitlementIdOrFeatureKey: string, params?: ListEntitlementGrantQueryParams, options?: RequestOptions): Promise<EntitlementGrant[]>;
142
- }
@@ -1,265 +0,0 @@
1
- import { BaseClient } from './client.js';
2
- export class SubjectClient extends BaseClient {
3
- constructor(config) {
4
- super(config);
5
- }
6
- /**
7
- * Upsert subject
8
- * Useful to map display name and metadata to subjects
9
- * @note OpenMeter Cloud only feature
10
- */
11
- async upsert(subject, options) {
12
- return await this.request({
13
- path: '/api/v1/subjects',
14
- method: 'POST',
15
- headers: {
16
- 'Content-Type': 'application/json',
17
- },
18
- body: JSON.stringify(subject),
19
- options,
20
- });
21
- }
22
- /**
23
- * Get subject by id or key
24
- * @note OpenMeter Cloud only feature
25
- */
26
- async get(idOrKey, options) {
27
- return await this.request({
28
- path: `/api/v1/subjects/${idOrKey}`,
29
- method: 'GET',
30
- options,
31
- });
32
- }
33
- /**
34
- * List subjects
35
- * @note OpenMeter Cloud only feature
36
- */
37
- async list(options) {
38
- return await this.request({
39
- path: '/api/v1/subjects',
40
- method: 'GET',
41
- options,
42
- });
43
- }
44
- /**
45
- * Delete subject by id or key
46
- * @note OpenMeter Cloud only feature
47
- */
48
- async delete(idOrKey, options) {
49
- return await this.request({
50
- path: `/api/v1/subjects/${idOrKey}`,
51
- method: 'DELETE',
52
- options,
53
- });
54
- }
55
- /** Entitlements **/
56
- /**
57
- * Create Entitlement
58
- * Entitlements allows you to manage subject feature access, balances, and usage limits.
59
- * @remarks
60
- * Input should be either `EntitlementMeteredCreateInputs`, `EntitlementStaticCreateInputs`, or `EntitlementBooleanCreateInputs`
61
- * @example
62
- * // Issue 10,000,000 tokens every month
63
- * const entitlement = await openmeter.subjects.createEntitlement('customer-1', {
64
- * type: 'metered',
65
- * featureKey: 'ai_tokens',
66
- * usagePeriod: {
67
- * interval: 'MONTH',
68
- * },
69
- * issueAfterReset: 10000000,
70
- * })
71
- */
72
- async createEntitlement(subjectIdOrKey, input, options) {
73
- return await this.request({
74
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements`,
75
- method: 'POST',
76
- headers: {
77
- 'Content-Type': 'application/json',
78
- },
79
- body: JSON.stringify(input),
80
- options,
81
- });
82
- }
83
- /**
84
- * Override Entitlement
85
- * Enables zero downtime upgrades and downgrades of entitlements.
86
- * @remarks
87
- * Input should be either `EntitlementMeteredCreateInputs`, `EntitlementStaticCreateInputs`, or `EntitlementBooleanCreateInputs`
88
- * @example
89
- * // Issue 10,000,000 tokens every month
90
- * const entitlement = await openmeter.subjects.overrideEntitlement('customer-1', 'ai_tokens', {
91
- * type: 'metered',
92
- * featureKey: 'ai_tokens',
93
- * usagePeriod: {
94
- * interval: 'MONTH',
95
- * },
96
- * issueAfterReset: 10000000,
97
- * })
98
- */
99
- async overrideEntitlement(subjectIdOrKey, entitlementIdOrFeatureKey, input, options) {
100
- return await this.request({
101
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementIdOrFeatureKey}/override`,
102
- method: 'PUT',
103
- headers: {
104
- 'Content-Type': 'application/json',
105
- },
106
- body: JSON.stringify(input),
107
- options,
108
- });
109
- }
110
- /**
111
- * List entitlements of a subject
112
- * @example
113
- * const entitlement = await openmeter.subjects.listEntitlements('customer-1')
114
- */
115
- async listEntitlements(subjectIdOrKey, params, options) {
116
- const searchParams = params
117
- ? BaseClient.toURLSearchParams(params)
118
- : undefined;
119
- return await this.request({
120
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements`,
121
- method: 'GET',
122
- searchParams,
123
- options,
124
- });
125
- }
126
- /**
127
- * Get entitlement
128
- *
129
- * @example
130
- * const entitlement = await openmeter.subjects.getEntitlement('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
131
- */
132
- async getEntitlement(subjectIdOrKey, entitlementId, options) {
133
- return await this.request({
134
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementId}`,
135
- method: 'GET',
136
- options,
137
- });
138
- }
139
- /**
140
- * Delete entitlement
141
- * @example
142
- * await openmeter.deleteEntitlement('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
143
- */
144
- async deleteEntitlement(subjectIdOrKey, entitlementId, options) {
145
- return await this.request({
146
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementId}`,
147
- method: 'DELETE',
148
- options,
149
- });
150
- }
151
- /**
152
- * Get entitlement value by ID or Feature Key
153
- *
154
- * @example
155
- * const value = await openmeter.subjects.getEntitlementValue('customer-1', 'ai_tokens')
156
- */
157
- async getEntitlementValue(subjectIdOrKey, entitlementIdOrFeatureKey, options) {
158
- return await this.request({
159
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementIdOrFeatureKey}/value`,
160
- method: 'GET',
161
- options,
162
- });
163
- }
164
- /**
165
- * Get entitlement value at a specific time.
166
- *
167
- * @example
168
- * const value = await openmeter.subjects.getEntitlementValueAt('customer-1', 'ai_tokens', new Date('2024-01-01'))
169
- */
170
- async getEntitlementValueAt(subjectIdOrKey, entitlementIdOrFeatureKey, at, options) {
171
- const searchParams = BaseClient.toURLSearchParams({ time: at });
172
- return await this.request({
173
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementIdOrFeatureKey}/value`,
174
- method: 'GET',
175
- options,
176
- searchParams,
177
- });
178
- }
179
- /**
180
- * Get entitlement history
181
- * @example
182
- * const entitlement = await openmeter.subjects.getEntitlementHistory('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
183
- */
184
- async getEntitlementHistory(subjectIdOrKey, entitlementId, params, options) {
185
- const searchParams = params
186
- ? BaseClient.toURLSearchParams(params)
187
- : undefined;
188
- return await this.request({
189
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementId}/history`,
190
- method: 'GET',
191
- searchParams,
192
- options,
193
- });
194
- }
195
- /**
196
- * Reset Entitlement Usage
197
- * Reset the entitlement usage and start a new period. Eligible grants will be rolled over
198
- *
199
- * @example
200
- * const entitlement = await openmeter.subjects.resetEntitlementUsage('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE', {
201
- * retainAnchor: true
202
- * })
203
- */
204
- async resetEntitlementUsage(subjectIdOrKey, entitlementId, input, options) {
205
- return await this.request({
206
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementId}/reset`,
207
- method: 'POST',
208
- headers: {
209
- 'Content-Type': 'application/json',
210
- },
211
- body: JSON.stringify(input),
212
- options,
213
- });
214
- }
215
- /** Entitlement Grant **/
216
- /**
217
- * Create Entitlement Grant
218
- * Create a grant for an entitlement.
219
- *
220
- * @example
221
- * const grant = await openmeter.subjects.createEntitlementGrant('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE', {
222
- * amount: 100,
223
- * priority: 1,
224
- * effectiveAt: '2023-01-01T00:00:00Z',
225
- * expiration: {
226
- * duration: 'HOUR',
227
- * count: 12,
228
- * },
229
- * minRolloverAmount: 100,
230
- * maxRolloverAmount: 100,
231
- * recurrence: {
232
- * interval: 'MONTH',
233
- * anchor: '2024-06-28T18:29:44.867Z',
234
- * },
235
- * })
236
- */
237
- async createEntitlementGrant(subjectIdOrKey, entitlementIdOrFeatureKey, input, options) {
238
- return await this.request({
239
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementIdOrFeatureKey}/grants`,
240
- method: 'POST',
241
- headers: {
242
- 'Content-Type': 'application/json',
243
- },
244
- body: JSON.stringify(input),
245
- options,
246
- });
247
- }
248
- /**
249
- * List entitlement grants
250
- * @example
251
- * const entitlement = await openmeter.subjects.listEntitlementGrants('customer-1', '01J1SD3QDV86GP77TQ4PZZ4EXE')
252
- */
253
- async listEntitlementGrants(subjectIdOrKey, entitlementIdOrFeatureKey, params, options) {
254
- const searchParams = params
255
- ? BaseClient.toURLSearchParams(params)
256
- : undefined;
257
- return await this.request({
258
- path: `/api/v1/subjects/${subjectIdOrKey}/entitlements/${entitlementIdOrFeatureKey}/grants`,
259
- method: 'GET',
260
- searchParams,
261
- options,
262
- });
263
- }
264
- }
265
- //# sourceMappingURL=subject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subject.js","sourceRoot":"","sources":["../../clients/subject.ts"],"names":[],"mappings":"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"}