@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.
- 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.2ca900e0.tsbuildinfo +1 -0
- package/dist/cjs/tsconfig.7693db96.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 -3224
- 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.4febac0b.tsbuildinfo +0 -1
- package/dist/cjs/tsconfig.7998aae3.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 -3224
- 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,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HttpError = exports.BaseClient = void 0;
|
|
4
|
-
const undici_1 = require("undici");
|
|
5
|
-
class BaseClient {
|
|
6
|
-
config;
|
|
7
|
-
constructor(config) {
|
|
8
|
-
this.config = config;
|
|
9
|
-
}
|
|
10
|
-
async request({ path, method, searchParams, headers, body, options, }) {
|
|
11
|
-
// Building URL
|
|
12
|
-
const url = this.getUrl(path, searchParams);
|
|
13
|
-
// Request options
|
|
14
|
-
const reqHeaders = {
|
|
15
|
-
Accept: 'application/json',
|
|
16
|
-
...headers,
|
|
17
|
-
...this.getAuthHeaders(),
|
|
18
|
-
...this.config.headers,
|
|
19
|
-
...options?.headers,
|
|
20
|
-
};
|
|
21
|
-
const reqOpts = {
|
|
22
|
-
method,
|
|
23
|
-
headers: reqHeaders,
|
|
24
|
-
};
|
|
25
|
-
// Optional body
|
|
26
|
-
if (body) {
|
|
27
|
-
if (!reqHeaders['Content-Type'] && !reqHeaders['content-type']) {
|
|
28
|
-
throw new Error('Content Type is required with body');
|
|
29
|
-
}
|
|
30
|
-
reqOpts.body = body;
|
|
31
|
-
}
|
|
32
|
-
const resp = await (0, undici_1.request)(url, reqOpts);
|
|
33
|
-
// Error handling
|
|
34
|
-
if (resp.statusCode > 399) {
|
|
35
|
-
if (resp.headers['content-type'] === 'application/problem+json') {
|
|
36
|
-
const problem = (await resp.body.json());
|
|
37
|
-
throw new HttpError({
|
|
38
|
-
statusCode: resp.statusCode,
|
|
39
|
-
problem,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
// Requests can fail before API, in this case we only have a status code
|
|
43
|
-
throw new HttpError({
|
|
44
|
-
statusCode: resp.statusCode,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
// Response parsing
|
|
48
|
-
if (resp.statusCode === 204 || resp.headers['content-length'] === '0') {
|
|
49
|
-
return undefined;
|
|
50
|
-
}
|
|
51
|
-
if (resp.headers['content-type'] === 'application/json') {
|
|
52
|
-
return (await resp.body.json());
|
|
53
|
-
}
|
|
54
|
-
if (!resp.headers['content-type']) {
|
|
55
|
-
throw new Error('Missing content type');
|
|
56
|
-
}
|
|
57
|
-
throw new Error(`Unknown content type: ${resp.headers['content-type']}`);
|
|
58
|
-
}
|
|
59
|
-
getUrl(path, searchParams) {
|
|
60
|
-
let qs = searchParams ? searchParams.toString() : '';
|
|
61
|
-
qs = qs.length > 0 ? `?${qs}` : '';
|
|
62
|
-
const url = new URL(`${path}${qs}`, this.config.baseUrl);
|
|
63
|
-
return url;
|
|
64
|
-
}
|
|
65
|
-
getAuthHeaders() {
|
|
66
|
-
if (this.config.token) {
|
|
67
|
-
return {
|
|
68
|
-
authorization: `Bearer ${this.config.token}`,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
if (this.config.username && this.config.password) {
|
|
72
|
-
const encoded = Buffer.from(`${this.config.username}:${this.config.password}`).toString('base64');
|
|
73
|
-
return {
|
|
74
|
-
authorization: `Basic ${encoded}`,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
return {};
|
|
78
|
-
}
|
|
79
|
-
static toURLSearchParams(params) {
|
|
80
|
-
const searchParams = new URLSearchParams();
|
|
81
|
-
for (const [key, value] of Object.entries(params)) {
|
|
82
|
-
if (value === undefined) {
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
if (Array.isArray(value)) {
|
|
86
|
-
for (const item of value) {
|
|
87
|
-
searchParams.append(key, item);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else if (typeof value === 'boolean') {
|
|
91
|
-
searchParams.append(key, value.toString());
|
|
92
|
-
}
|
|
93
|
-
else if (value instanceof Date) {
|
|
94
|
-
searchParams.append(key, value.toISOString());
|
|
95
|
-
}
|
|
96
|
-
else if (typeof value === 'object') {
|
|
97
|
-
Object.entries(value).forEach(([k, v]) => {
|
|
98
|
-
searchParams.append(`${key}[${k}]`, v);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
searchParams.append(key, value.toString());
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return searchParams;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.BaseClient = BaseClient;
|
|
109
|
-
class HttpError extends Error {
|
|
110
|
-
statusCode;
|
|
111
|
-
problem;
|
|
112
|
-
constructor({ statusCode, problem, }) {
|
|
113
|
-
super(problem?.type || 'unexpected status code');
|
|
114
|
-
this.name = 'HttpError';
|
|
115
|
-
this.statusCode = statusCode;
|
|
116
|
-
this.problem = problem;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
exports.HttpError = HttpError;
|
|
120
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { IncomingHttpHeaders } from 'http';
|
|
2
|
-
import { Dispatcher } from 'undici';
|
|
3
|
-
import { components } from '../schemas/openapi.cjs';
|
|
4
|
-
export type OpenMeterConfig = {
|
|
5
|
-
baseUrl: string;
|
|
6
|
-
token?: string;
|
|
7
|
-
username?: string;
|
|
8
|
-
password?: string;
|
|
9
|
-
headers?: IncomingHttpHeaders;
|
|
10
|
-
};
|
|
11
|
-
export type RequestOptions = {
|
|
12
|
-
headers?: IncomingHttpHeaders;
|
|
13
|
-
};
|
|
14
|
-
export type Problem = components['schemas']['Problem'];
|
|
15
|
-
export declare class BaseClient {
|
|
16
|
-
protected config: OpenMeterConfig;
|
|
17
|
-
constructor(config: OpenMeterConfig);
|
|
18
|
-
protected request<T>({ path, method, searchParams, headers, body, options, }: {
|
|
19
|
-
path: string;
|
|
20
|
-
method: Dispatcher.HttpMethod;
|
|
21
|
-
searchParams?: URLSearchParams;
|
|
22
|
-
headers?: IncomingHttpHeaders;
|
|
23
|
-
body?: string | Buffer | Uint8Array;
|
|
24
|
-
options?: RequestOptions;
|
|
25
|
-
}): Promise<T>;
|
|
26
|
-
protected getUrl(path: string, searchParams?: URLSearchParams): import("url").URL;
|
|
27
|
-
protected getAuthHeaders(): IncomingHttpHeaders;
|
|
28
|
-
protected static toURLSearchParams(params: Record<string, string | boolean | number | Date | string[] | Record<string, string> | undefined>): URLSearchParams;
|
|
29
|
-
}
|
|
30
|
-
export declare class HttpError extends Error {
|
|
31
|
-
statusCode: number;
|
|
32
|
-
problem?: Problem;
|
|
33
|
-
constructor({ statusCode, problem, }: {
|
|
34
|
-
statusCode: number;
|
|
35
|
-
problem?: Problem;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../clients/client.ts"],"names":[],"mappings":";;;AACA,mCAA4C;AAuB5C,MAAa,UAAU;IACX,MAAM,CAAiB;IAEjC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,OAAO,CAAI,EACzB,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,OAAO,GAQR;QACC,eAAe;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QAE3C,kBAAkB;QAClB,MAAM,UAAU,GAAwB;YACtC,MAAM,EAAE,kBAAkB;YAC1B,GAAG,OAAO;YACV,GAAG,IAAI,CAAC,cAAc,EAAE;YACxB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;YACtB,GAAG,OAAO,EAAE,OAAO;SACpB,CAAA;QACD,MAAM,OAAO,GAAyB;YACpC,MAAM;YACN,OAAO,EAAE,UAAU;SACpB,CAAA;QAED,gBAAgB;QAChB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YAED,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAO,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAExC,iBAAiB;QACjB,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,0BAA0B,EAAE,CAAC;gBAChE,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAY,CAAA;gBACnD,MAAM,IAAI,SAAS,CAAC;oBAClB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO;iBACR,CAAC,CAAA;YACJ,CAAC;YAED,wEAAwE;YACxE,MAAM,IAAI,SAAS,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAA;QACJ,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;YACtE,OAAO,SAAyB,CAAA;QAClC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,kBAAkB,EAAE,CAAC;YACxD,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAM,CAAA;QACtC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IAC1E,CAAC;IAES,MAAM,CAAC,IAAY,EAAE,YAA8B;QAC3D,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACpD,EAAE,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxD,OAAO,GAAG,CAAA;IACZ,CAAC;IAES,cAAc;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;gBACL,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;aAC7C,CAAA;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAClD,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACpB,OAAO;gBACL,aAAa,EAAE,SAAS,OAAO,EAAE;aAClC,CAAA;QACH,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAES,MAAM,CAAC,iBAAiB,CAChC,MASC;QAED,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAA;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAQ;YACV,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5C,CAAC;iBAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBACjC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;YAC/C,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACvC,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;gBACxC,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;CACF;AA/ID,gCA+IC;AAED,MAAa,SAAU,SAAQ,KAAK;IAC3B,UAAU,CAAQ;IAClB,OAAO,CAAU;IAExB,YAAY,EACV,UAAU,EACV,OAAO,GAIR;QACC,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,wBAAwB,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AAhBD,8BAgBC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntitlementClient = void 0;
|
|
4
|
-
const client_js_1 = require("./client.cjs");
|
|
5
|
-
class EntitlementClient extends client_js_1.BaseClient {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
super(config);
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* List all entitlements regardless of subject.
|
|
11
|
-
* @example
|
|
12
|
-
* const entitlement = await openmeter.entitlements.list()
|
|
13
|
-
*/
|
|
14
|
-
async list(params, options) {
|
|
15
|
-
const searchParams = params
|
|
16
|
-
? client_js_1.BaseClient.toURLSearchParams(params)
|
|
17
|
-
: undefined;
|
|
18
|
-
return await this.request({
|
|
19
|
-
path: '/api/v1/entitlements',
|
|
20
|
-
method: 'GET',
|
|
21
|
-
searchParams,
|
|
22
|
-
options,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* List all entitlements regardless of subject.
|
|
27
|
-
* @example
|
|
28
|
-
* const entitlement = await openmeter.entitlements.list()
|
|
29
|
-
*/
|
|
30
|
-
async get(id, options) {
|
|
31
|
-
return await this.request({
|
|
32
|
-
path: `/api/v1/entitlements/${id}`,
|
|
33
|
-
method: 'GET',
|
|
34
|
-
options,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.EntitlementClient = EntitlementClient;
|
|
39
|
-
//# sourceMappingURL=entitlement.js.map
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { components, operations } from '../schemas/openapi.cjs';
|
|
2
|
-
import { RequestOptions, BaseClient, OpenMeterConfig } from './client.cjs';
|
|
3
|
-
import { Paginated } from './pagination.cjs';
|
|
4
|
-
export type Entitlement = EntitlementMetered | EntitlementStatic | EntitlementBoolean;
|
|
5
|
-
export type EntitlementMetered = components['schemas']['EntitlementMetered'];
|
|
6
|
-
export type EntitlementStatic = components['schemas']['EntitlementStatic'];
|
|
7
|
-
export type EntitlementBoolean = components['schemas']['EntitlementBoolean'];
|
|
8
|
-
export type RecurringPeriodEnum = components['schemas']['RecurringPeriodEnum'];
|
|
9
|
-
export type EntitlementValue = components['schemas']['EntitlementValue'];
|
|
10
|
-
export type WindowedBalanceHistory = components['schemas']['WindowedBalanceHistory'];
|
|
11
|
-
export type EntitlementCreateInputs = EntitlementMeteredCreateInputs | EntitlementStaticCreateInputs | EntitlementBooleanCreateInputs;
|
|
12
|
-
export type EntitlementMeteredCreateInputs = components['schemas']['EntitlementMeteredCreateInputs'];
|
|
13
|
-
export type EntitlementStaticCreateInputs = components['schemas']['EntitlementStaticCreateInputs'];
|
|
14
|
-
export type EntitlementBooleanCreateInputs = components['schemas']['EntitlementBooleanCreateInputs'];
|
|
15
|
-
export type EntitlementResetInputs = operations['resetEntitlementUsage']['requestBody']['content']['application/json'];
|
|
16
|
-
export type ListEntitlementQueryParams = operations['listEntitlements']['parameters']['query'];
|
|
17
|
-
export type GetEntitlementHistoryQueryParams = operations['getEntitlementHistory']['parameters']['query'];
|
|
18
|
-
export declare class EntitlementClient extends BaseClient {
|
|
19
|
-
constructor(config: OpenMeterConfig);
|
|
20
|
-
/**
|
|
21
|
-
* List all entitlements regardless of subject.
|
|
22
|
-
* @example
|
|
23
|
-
* const entitlement = await openmeter.entitlements.list()
|
|
24
|
-
*/
|
|
25
|
-
list(params?: ListEntitlementQueryParams, options?: RequestOptions): Promise<Entitlement[] | Paginated<Entitlement>>;
|
|
26
|
-
/**
|
|
27
|
-
* List all entitlements regardless of subject.
|
|
28
|
-
* @example
|
|
29
|
-
* const entitlement = await openmeter.entitlements.list()
|
|
30
|
-
*/
|
|
31
|
-
get(id: string, options?: RequestOptions): Promise<Entitlement>;
|
|
32
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement.js","sourceRoot":"","sources":["../../../clients/entitlement.ts"],"names":[],"mappings":";;;AACA,2CAAyE;AA+BzE,MAAa,iBAAkB,SAAQ,sBAAU;IAC/C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CACf,MAAmC,EACnC,OAAwB;QAExB,MAAM,YAAY,GAAG,MAAM;YACzB,CAAC,CAAC,sBAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,KAAK;YACb,YAAY;YACZ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,OAAwB;QACnD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,wBAAwB,EAAE,EAAE;YAClC,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AArCD,8CAqCC"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.EventsClient = void 0;
|
|
7
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
-
const client_js_1 = require("./client.cjs");
|
|
9
|
-
class EventsClient extends client_js_1.BaseClient {
|
|
10
|
-
constructor(config) {
|
|
11
|
-
super(config);
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Ingest usage event in a CloudEvents format
|
|
15
|
-
* @see https://cloudevents.io
|
|
16
|
-
*/
|
|
17
|
-
async ingest(usageEvent, options) {
|
|
18
|
-
const isBatch = Array.isArray(usageEvent);
|
|
19
|
-
const cloudEvents = (isBatch ? usageEvent : [usageEvent]).map((ev) => {
|
|
20
|
-
// Validate content type
|
|
21
|
-
if (ev.datacontenttype && ev.datacontenttype !== 'application/json') {
|
|
22
|
-
throw new TypeError(`Unsupported datacontenttype: ${ev.datacontenttype}`);
|
|
23
|
-
}
|
|
24
|
-
// We default where we can to lower the barrier to use CloudEvents
|
|
25
|
-
const cloudEvent = {
|
|
26
|
-
specversion: ev.specversion ?? '1.0',
|
|
27
|
-
id: ev.id ?? crypto_1.default.randomUUID(),
|
|
28
|
-
source: ev.source ?? '@openmeter/sdk',
|
|
29
|
-
type: ev.type,
|
|
30
|
-
subject: ev.subject,
|
|
31
|
-
time: ev.time?.toISOString(),
|
|
32
|
-
datacontenttype: ev.datacontenttype,
|
|
33
|
-
dataschema: ev.dataschema,
|
|
34
|
-
data: ev.data,
|
|
35
|
-
};
|
|
36
|
-
return cloudEvent;
|
|
37
|
-
});
|
|
38
|
-
const contentType = isBatch
|
|
39
|
-
? 'application/cloudevents-batch+json'
|
|
40
|
-
: 'application/cloudevents+json';
|
|
41
|
-
const body = isBatch
|
|
42
|
-
? JSON.stringify(cloudEvents)
|
|
43
|
-
: JSON.stringify(cloudEvents[0]);
|
|
44
|
-
// Making Request
|
|
45
|
-
return await this.request({
|
|
46
|
-
path: '/api/v1/events',
|
|
47
|
-
method: 'POST',
|
|
48
|
-
body,
|
|
49
|
-
headers: {
|
|
50
|
-
'Content-Type': contentType,
|
|
51
|
-
},
|
|
52
|
-
options,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* List raw events
|
|
57
|
-
*/
|
|
58
|
-
async list(params, options) {
|
|
59
|
-
const searchParams = params
|
|
60
|
-
? client_js_1.BaseClient.toURLSearchParams(params)
|
|
61
|
-
: undefined;
|
|
62
|
-
return this.request({
|
|
63
|
-
method: 'GET',
|
|
64
|
-
path: `/api/v1/events`,
|
|
65
|
-
searchParams,
|
|
66
|
-
options,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.EventsClient = EventsClient;
|
|
71
|
-
//# sourceMappingURL=event.js.map
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { components } from '../schemas/openapi.cjs';
|
|
2
|
-
import { RequestOptions, BaseClient, OpenMeterConfig } from './client.cjs';
|
|
3
|
-
export type CloudEvent = components['schemas']['Event'];
|
|
4
|
-
export type IngestedEvent = components['schemas']['IngestedEvent'];
|
|
5
|
-
export type EventsQueryParams = {
|
|
6
|
-
/**
|
|
7
|
-
* @description Limit number of results. Max: 100
|
|
8
|
-
* @example 25
|
|
9
|
-
*/
|
|
10
|
-
limit?: number;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Usage Event
|
|
14
|
-
*/
|
|
15
|
-
export type Event = {
|
|
16
|
-
/**
|
|
17
|
-
* @description The version of the CloudEvents specification which the event uses.
|
|
18
|
-
* @example 1.0
|
|
19
|
-
*/
|
|
20
|
-
specversion?: string;
|
|
21
|
-
/**
|
|
22
|
-
* @description Unique identifier for the event, defaults to uuid v4.
|
|
23
|
-
* @example "5c10fade-1c9e-4d6c-8275-c52c36731d3c"
|
|
24
|
-
*/
|
|
25
|
-
id?: string;
|
|
26
|
-
/**
|
|
27
|
-
* Format: uri-reference
|
|
28
|
-
* @description Identifies the context in which an event happened, defaults to: @openmeter/sdk
|
|
29
|
-
* @example services/service-0
|
|
30
|
-
*/
|
|
31
|
-
source?: string;
|
|
32
|
-
/**
|
|
33
|
-
* @description Describes the type of event related to the originating occurrence.
|
|
34
|
-
* @example "api_request"
|
|
35
|
-
*/
|
|
36
|
-
type: string;
|
|
37
|
-
/**
|
|
38
|
-
* @description Describes the subject of the event in the context of the event producer (identified by source).
|
|
39
|
-
* @example "customer_id"
|
|
40
|
-
*/
|
|
41
|
-
subject: string;
|
|
42
|
-
/**
|
|
43
|
-
* Format: date-time
|
|
44
|
-
* @description Date of when the occurrence happened.
|
|
45
|
-
* @example new Date('2023-01-01T01:01:01.001Z')
|
|
46
|
-
*/
|
|
47
|
-
time?: Date;
|
|
48
|
-
/**
|
|
49
|
-
* Format: uri
|
|
50
|
-
* @description Identifies the schema that data adheres to.
|
|
51
|
-
*/
|
|
52
|
-
dataschema?: string;
|
|
53
|
-
/**
|
|
54
|
-
* @description Content type of the data value. Must adhere to RFC 2046 format.
|
|
55
|
-
* @example application/json
|
|
56
|
-
* @enum {string|null}
|
|
57
|
-
*/
|
|
58
|
-
datacontenttype?: 'application/json';
|
|
59
|
-
/**
|
|
60
|
-
* @description The event payload.
|
|
61
|
-
* @example {
|
|
62
|
-
* "duration_ms": "12",
|
|
63
|
-
* "path": "/hello"
|
|
64
|
-
* }
|
|
65
|
-
*/
|
|
66
|
-
data: Record<string, unknown>;
|
|
67
|
-
};
|
|
68
|
-
export declare class EventsClient extends BaseClient {
|
|
69
|
-
constructor(config: OpenMeterConfig);
|
|
70
|
-
/**
|
|
71
|
-
* Ingest usage event in a CloudEvents format
|
|
72
|
-
* @see https://cloudevents.io
|
|
73
|
-
*/
|
|
74
|
-
ingest(usageEvent: Event | Event[], options?: RequestOptions): Promise<void>;
|
|
75
|
-
/**
|
|
76
|
-
* List raw events
|
|
77
|
-
*/
|
|
78
|
-
list(params?: EventsQueryParams, options?: RequestOptions): Promise<IngestedEvent[]>;
|
|
79
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../clients/event.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,2CAAyE;AAuEzE,MAAa,YAAa,SAAQ,sBAAU;IAC1C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CACjB,UAA2B,EAC3B,OAAwB;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,WAAW,GAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CACzE,CAAC,EAAE,EAAE,EAAE;YACL,wBAAwB;YACxB,IAAI,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,eAAe,KAAK,kBAAkB,EAAE,CAAC;gBACpE,MAAM,IAAI,SAAS,CACjB,gCAAgC,EAAE,CAAC,eAAe,EAAE,CACrD,CAAA;YACH,CAAC;YAED,kEAAkE;YAClE,MAAM,UAAU,GAAe;gBAC7B,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,KAAK;gBACpC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,gBAAM,CAAC,UAAU,EAAE;gBAChC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,gBAAgB;gBACrC,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE;gBAC5B,eAAe,EAAE,EAAE,CAAC,eAAe;gBACnC,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,IAAI,EAAE,EAAE,CAAC,IAAI;aACd,CAAA;YAED,OAAO,UAAU,CAAA;QACnB,CAAC,CACF,CAAA;QAED,MAAM,WAAW,GAAG,OAAO;YACzB,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,8BAA8B,CAAA;QAClC,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QAElC,iBAAiB;QACjB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE;gBACP,cAAc,EAAE,WAAW;aAC5B;YACD,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI,CACf,MAA0B,EAC1B,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,CAAkB;YACnC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;YACtB,YAAY;YACZ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AA5ED,oCA4EC"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FeatureClient = void 0;
|
|
4
|
-
const client_js_1 = require("./client.cjs");
|
|
5
|
-
class FeatureClient extends client_js_1.BaseClient {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
super(config);
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Features are the building blocks of your entitlements, part of your product offering.
|
|
11
|
-
* @description
|
|
12
|
-
* Features are either metered or static. A feature is metered if meterSlug is provided at creation. For metered features you can pass additional filters that will be applied when calculating feature usage, based on the meter's groupBy fields. Only meters with SUM and COUNT aggregation are supported for features.
|
|
13
|
-
*
|
|
14
|
-
* Features cannot be updated later, only archived.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* const feature = await openmeter.features.create({
|
|
18
|
-
* key: 'ai_tokens',
|
|
19
|
-
* name: 'AI Tokens',
|
|
20
|
-
* // optional
|
|
21
|
-
* meterSlug: 'tokens_total',
|
|
22
|
-
* })
|
|
23
|
-
*/
|
|
24
|
-
async create(input, options) {
|
|
25
|
-
return await this.request({
|
|
26
|
-
path: '/api/v1/features',
|
|
27
|
-
method: 'POST',
|
|
28
|
-
headers: {
|
|
29
|
-
'Content-Type': 'application/json',
|
|
30
|
-
},
|
|
31
|
-
body: JSON.stringify(input),
|
|
32
|
-
options,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Get Feature
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* const feature = await openmeter.features.get('ai_tokens')
|
|
40
|
-
*/
|
|
41
|
-
async get(id, options) {
|
|
42
|
-
return await this.request({
|
|
43
|
-
path: `/api/v1/features/${id}`,
|
|
44
|
-
method: 'GET',
|
|
45
|
-
options,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* List features
|
|
50
|
-
* @example
|
|
51
|
-
* const feature = await openmeter.features.list()
|
|
52
|
-
*/
|
|
53
|
-
async list(params, options) {
|
|
54
|
-
const searchParams = params
|
|
55
|
-
? client_js_1.BaseClient.toURLSearchParams(params)
|
|
56
|
-
: undefined;
|
|
57
|
-
return await this.request({
|
|
58
|
-
path: '/api/v1/features',
|
|
59
|
-
method: 'GET',
|
|
60
|
-
searchParams,
|
|
61
|
-
options,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Archive a feature
|
|
66
|
-
* @description
|
|
67
|
-
* Once a feature is archived it cannot be unarchived. If a feature is archived, new entitlements cannot be created for it, but archiving the feature does not affect existing entitlements.
|
|
68
|
-
* @example
|
|
69
|
-
* await openmeter.delete('ai_tokens')
|
|
70
|
-
*/
|
|
71
|
-
async delete(id, options) {
|
|
72
|
-
return await this.request({
|
|
73
|
-
path: `/api/v1/features/${id}`,
|
|
74
|
-
method: 'DELETE',
|
|
75
|
-
options,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.FeatureClient = FeatureClient;
|
|
80
|
-
//# sourceMappingURL=feature.js.map
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { components, operations } from '../schemas/openapi.cjs';
|
|
2
|
-
import { RequestOptions, BaseClient, OpenMeterConfig } from './client.cjs';
|
|
3
|
-
import { Paginated } from './pagination.cjs';
|
|
4
|
-
export type Feature = components['schemas']['Feature'];
|
|
5
|
-
export type FeatureCreateInputs = components['schemas']['FeatureCreateInputs'];
|
|
6
|
-
export type ListFeatureQueryParams = operations['listFeatures']['parameters']['query'];
|
|
7
|
-
export declare class FeatureClient extends BaseClient {
|
|
8
|
-
constructor(config: OpenMeterConfig);
|
|
9
|
-
/**
|
|
10
|
-
* Features are the building blocks of your entitlements, part of your product offering.
|
|
11
|
-
* @description
|
|
12
|
-
* Features are either metered or static. A feature is metered if meterSlug is provided at creation. For metered features you can pass additional filters that will be applied when calculating feature usage, based on the meter's groupBy fields. Only meters with SUM and COUNT aggregation are supported for features.
|
|
13
|
-
*
|
|
14
|
-
* Features cannot be updated later, only archived.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* const feature = await openmeter.features.create({
|
|
18
|
-
* key: 'ai_tokens',
|
|
19
|
-
* name: 'AI Tokens',
|
|
20
|
-
* // optional
|
|
21
|
-
* meterSlug: 'tokens_total',
|
|
22
|
-
* })
|
|
23
|
-
*/
|
|
24
|
-
create(input: FeatureCreateInputs, options?: RequestOptions): Promise<Feature>;
|
|
25
|
-
/**
|
|
26
|
-
* Get Feature
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* const feature = await openmeter.features.get('ai_tokens')
|
|
30
|
-
*/
|
|
31
|
-
get(id: string, options?: RequestOptions): Promise<Feature>;
|
|
32
|
-
/**
|
|
33
|
-
* List features
|
|
34
|
-
* @example
|
|
35
|
-
* const feature = await openmeter.features.list()
|
|
36
|
-
*/
|
|
37
|
-
list(params?: ListFeatureQueryParams, options?: RequestOptions): Promise<Feature[] | Paginated<Feature>>;
|
|
38
|
-
/**
|
|
39
|
-
* Archive a feature
|
|
40
|
-
* @description
|
|
41
|
-
* Once a feature is archived it cannot be unarchived. If a feature is archived, new entitlements cannot be created for it, but archiving the feature does not affect existing entitlements.
|
|
42
|
-
* @example
|
|
43
|
-
* await openmeter.delete('ai_tokens')
|
|
44
|
-
*/
|
|
45
|
-
delete(id: string, options?: RequestOptions): Promise<void>;
|
|
46
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../clients/feature.ts"],"names":[],"mappings":";;;AACA,2CAAyE;AAQzE,MAAa,aAAc,SAAQ,sBAAU;IAC3C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,MAAM,CACjB,KAA0B,EAC1B,OAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,kBAAkB;YACxB,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;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,EAAU,EAAE,OAAwB;QACnD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,oBAAoB,EAAE,EAAE;YAC9B,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CACf,MAA+B,EAC/B,OAAwB;QAExB,MAAM,YAAY,GAAG,MAAM;YACzB,CAAC,CAAC,sBAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,KAAK;YACb,YAAY;YACZ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAwB;QACtD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,oBAAoB,EAAE,EAAE;YAC9B,MAAM,EAAE,QAAQ;YAChB,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AAnFD,sCAmFC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GrantClient = void 0;
|
|
4
|
-
const client_js_1 = require("./client.cjs");
|
|
5
|
-
class GrantClient extends client_js_1.BaseClient {
|
|
6
|
-
constructor(config) {
|
|
7
|
-
super(config);
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* List grants
|
|
11
|
-
* @example
|
|
12
|
-
* const grant = await openmeter.grants.list()
|
|
13
|
-
*/
|
|
14
|
-
async list(params, options) {
|
|
15
|
-
const searchParams = params
|
|
16
|
-
? client_js_1.BaseClient.toURLSearchParams(params)
|
|
17
|
-
: undefined;
|
|
18
|
-
return await this.request({
|
|
19
|
-
path: '/api/v1/grants',
|
|
20
|
-
method: 'GET',
|
|
21
|
-
searchParams,
|
|
22
|
-
options,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Void a grant
|
|
27
|
-
* @description
|
|
28
|
-
* Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant.
|
|
29
|
-
* @example
|
|
30
|
-
* const grant = await openmeter.grants.list()
|
|
31
|
-
*/
|
|
32
|
-
async delete(id, options) {
|
|
33
|
-
return await this.request({
|
|
34
|
-
method: 'DELETE',
|
|
35
|
-
path: `/api/v1/grants/${id}`,
|
|
36
|
-
options,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.GrantClient = GrantClient;
|
|
41
|
-
//# sourceMappingURL=grant.js.map
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { components, operations } from '../schemas/openapi.cjs';
|
|
2
|
-
import { RequestOptions, BaseClient, OpenMeterConfig } from './client.cjs';
|
|
3
|
-
import { Paginated } from './pagination.cjs';
|
|
4
|
-
export type EntitlementGrant = components['schemas']['EntitlementGrant'];
|
|
5
|
-
export type EntitlementGrantCreateInput = components['schemas']['EntitlementGrantCreateInput'];
|
|
6
|
-
export type ListGrantQueryParams = operations['listGrants']['parameters']['query'];
|
|
7
|
-
export type ListEntitlementGrantQueryParams = operations['listEntitlementGrants']['parameters']['query'];
|
|
8
|
-
export declare class GrantClient extends BaseClient {
|
|
9
|
-
constructor(config: OpenMeterConfig);
|
|
10
|
-
/**
|
|
11
|
-
* List grants
|
|
12
|
-
* @example
|
|
13
|
-
* const grant = await openmeter.grants.list()
|
|
14
|
-
*/
|
|
15
|
-
list(params?: ListGrantQueryParams, options?: RequestOptions): Promise<EntitlementGrant[] | Paginated<EntitlementGrant>>;
|
|
16
|
-
/**
|
|
17
|
-
* Void a grant
|
|
18
|
-
* @description
|
|
19
|
-
* Voiding a grant means it is no longer valid, it doesn't take part in further balance calculations. Voiding a grant does not retroactively take effect, meaning any usage that has already been attributed to the grant will remain, but future usage cannot be burnt down from the grant.
|
|
20
|
-
* @example
|
|
21
|
-
* const grant = await openmeter.grants.list()
|
|
22
|
-
*/
|
|
23
|
-
delete(id: string, options?: RequestOptions): Promise<EntitlementGrant[]>;
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../../clients/grant.ts"],"names":[],"mappings":";;;AACA,2CAAyE;AAWzE,MAAa,WAAY,SAAQ,sBAAU;IACzC,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CACf,MAA6B,EAC7B,OAAwB;QAExB,MAAM,YAAY,GAAG,MAAM;YACzB,CAAC,CAAC,sBAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,KAAK;YACb,YAAY;YACZ,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,EAAU,EACV,OAAwB;QAExB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACxB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,kBAAkB,EAAE,EAAE;YAC5B,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AA1CD,kCA0CC"}
|