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