@openmeter/sdk 1.0.0-beta.99 → 1.0.0-beta-9958c9245841
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/Makefile +43 -0
- package/README.md +232 -137
- package/biome.json +67 -0
- package/dist/cjs/index.cjs +15 -21
- package/dist/cjs/index.d.cts +1 -15
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/src/client/addons.cjs +105 -0
- package/dist/cjs/src/client/addons.d.cts +152 -0
- package/dist/cjs/src/client/addons.js.map +1 -0
- package/dist/cjs/src/client/apps.cjs +247 -0
- package/dist/cjs/src/client/apps.d.cts +327 -0
- package/dist/cjs/src/client/apps.js.map +1 -0
- package/dist/cjs/src/client/billing.cjs +375 -0
- package/dist/cjs/src/client/billing.d.cts +563 -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 +469 -0
- package/dist/cjs/src/client/customers.d.cts +617 -0
- package/dist/cjs/src/client/customers.js.map +1 -0
- package/dist/cjs/src/client/debug.cjs +27 -0
- package/dist/cjs/src/client/debug.d.cts +17 -0
- package/dist/cjs/src/client/debug.js.map +1 -0
- package/dist/cjs/src/client/entitlements.cjs +372 -0
- package/dist/cjs/src/client/entitlements.d.cts +670 -0
- package/dist/cjs/src/client/entitlements.js.map +1 -0
- package/dist/cjs/src/client/events.cjs +113 -0
- package/dist/cjs/src/client/events.d.cts +48 -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 +87 -0
- package/dist/cjs/src/client/features.js.map +1 -0
- package/dist/cjs/src/client/index.cjs +122 -0
- package/dist/cjs/src/client/index.d.cts +54 -0
- package/dist/cjs/src/client/index.js.map +1 -0
- package/dist/cjs/src/client/info.cjs +42 -0
- package/dist/cjs/src/client/info.d.cts +34 -0
- package/dist/cjs/src/client/info.js.map +1 -0
- package/dist/cjs/src/client/meters.cjs +160 -0
- package/dist/cjs/src/client/meters.d.cts +151 -0
- package/dist/cjs/src/client/meters.js.map +1 -0
- package/dist/cjs/src/client/notifications.cjs +269 -0
- package/dist/cjs/src/client/notifications.d.cts +412 -0
- package/dist/cjs/src/client/notifications.js.map +1 -0
- package/dist/cjs/src/client/plans.cjs +204 -0
- package/dist/cjs/src/client/plans.d.cts +247 -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/src/client/schemas.cjs +3 -0
- package/dist/cjs/src/client/schemas.d.cts +27081 -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 +79 -0
- package/dist/cjs/src/client/subjects.js.map +1 -0
- package/dist/cjs/src/client/subscription-addons.cjs +70 -0
- package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
- package/dist/cjs/src/client/subscription-addons.js.map +1 -0
- package/dist/cjs/src/client/subscriptions.cjs +132 -0
- package/dist/cjs/src/client/subscriptions.d.cts +175 -0
- package/dist/cjs/src/client/subscriptions.js.map +1 -0
- package/dist/cjs/src/client/utils.cjs +67 -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 +89 -0
- package/dist/cjs/src/portal/index.d.cts +43 -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/src/zod/index.cjs +13102 -0
- package/dist/cjs/src/zod/index.d.cts +20044 -0
- package/dist/cjs/src/zod/index.js.map +1 -0
- package/dist/cjs/tsconfig.0781fa96.tsbuildinfo +1 -0
- package/dist/cjs/tsconfig.6c95ff08.tsbuildinfo +1 -0
- package/dist/index.d.ts +1 -15
- package/dist/index.js +1 -17
- package/dist/index.js.map +1 -1
- package/dist/src/client/addons.d.ts +152 -0
- package/dist/src/client/addons.js +101 -0
- package/dist/src/client/addons.js.map +1 -0
- package/dist/src/client/apps.d.ts +327 -0
- package/dist/src/client/apps.js +240 -0
- package/dist/src/client/apps.js.map +1 -0
- package/dist/src/client/billing.d.ts +563 -0
- package/dist/src/client/billing.js +368 -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 +617 -0
- package/dist/src/client/customers.js +461 -0
- package/dist/src/client/customers.js.map +1 -0
- package/dist/src/client/debug.d.ts +17 -0
- package/dist/src/client/debug.js +23 -0
- package/dist/src/client/debug.js.map +1 -0
- package/dist/src/client/entitlements.d.ts +670 -0
- package/dist/src/client/entitlements.js +365 -0
- package/dist/src/client/entitlements.js.map +1 -0
- package/dist/src/client/events.d.ts +48 -0
- package/dist/src/client/events.js +108 -0
- package/dist/src/client/events.js.map +1 -0
- package/dist/src/client/features.d.ts +87 -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 +54 -0
- package/dist/src/client/index.js +82 -0
- package/dist/src/client/index.js.map +1 -0
- package/dist/src/client/info.d.ts +34 -0
- package/dist/src/client/info.js +38 -0
- package/dist/src/client/info.js.map +1 -0
- package/dist/src/client/meters.d.ts +151 -0
- package/dist/src/client/meters.js +156 -0
- package/dist/src/client/meters.js.map +1 -0
- package/dist/src/client/notifications.d.ts +412 -0
- package/dist/src/client/notifications.js +262 -0
- package/dist/src/client/notifications.js.map +1 -0
- package/dist/src/client/plans.d.ts +247 -0
- package/dist/src/client/plans.js +199 -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 +27081 -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 +79 -0
- package/dist/src/client/subjects.js +72 -0
- package/dist/src/client/subjects.js.map +1 -0
- package/dist/src/client/subscription-addons.d.ts +123 -0
- package/dist/src/client/subscription-addons.js +66 -0
- package/dist/src/client/subscription-addons.js.map +1 -0
- package/dist/src/client/subscriptions.d.ts +175 -0
- package/dist/src/client/subscriptions.js +128 -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 +61 -0
- package/dist/src/client/utils.js.map +1 -0
- package/dist/src/portal/index.d.ts +43 -0
- package/dist/src/portal/index.js +52 -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/src/zod/index.d.ts +20044 -0
- package/dist/src/zod/index.js +13071 -0
- package/dist/src/zod/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/orval.config.ts +38 -0
- package/package.json +62 -32
- package/patches/openapi-typescript.patch +6194 -0
- package/dist/cjs/clients/client.cjs +0 -117
- package/dist/cjs/clients/client.d.cts +0 -40
- package/dist/cjs/clients/client.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/meter.cjs +0 -69
- package/dist/cjs/clients/meter.d.cts +0 -75
- package/dist/cjs/clients/meter.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 -60
- package/dist/cjs/clients/subject.d.cts +0 -27
- 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 -2078
- package/dist/cjs/schemas/openapi.js.map +0 -1
- package/dist/cjs/test/agent.cjs +0 -266
- 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 -44
- package/dist/cjs/test/mocks.d.cts +0 -14
- package/dist/cjs/test/mocks.js.map +0 -1
- package/dist/cjs/tsconfig.8be50ffd.tsbuildinfo +0 -1
- package/dist/cjs/tsconfig.9c9b19d3.tsbuildinfo +0 -1
- package/dist/clients/client.d.ts +0 -40
- package/dist/clients/client.js +0 -112
- package/dist/clients/client.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/meter.d.ts +0 -75
- package/dist/clients/meter.js +0 -65
- package/dist/clients/meter.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 -27
- package/dist/clients/subject.js +0 -56
- package/dist/clients/subject.js.map +0 -1
- package/dist/schemas/openapi.d.ts +0 -2078
- 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 -263
- package/dist/test/agent.js.map +0 -1
- package/dist/test/mocks.d.ts +0 -14
- package/dist/test/mocks.js +0 -41
- package/dist/test/mocks.js.map +0 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { transformResponse } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Features
|
|
4
|
+
* @description Features are the building blocks of your application. They represent the capabilities or services that your application offers.
|
|
5
|
+
*/
|
|
6
|
+
export class Features {
|
|
7
|
+
client;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create a feature
|
|
13
|
+
* @param feature - The feature to create
|
|
14
|
+
* @param signal - An optional abort signal
|
|
15
|
+
* @returns The created feature
|
|
16
|
+
*/
|
|
17
|
+
async create(feature, options) {
|
|
18
|
+
const resp = await this.client.POST('/api/v1/features', {
|
|
19
|
+
body: feature,
|
|
20
|
+
...options,
|
|
21
|
+
});
|
|
22
|
+
return transformResponse(resp);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get a feature by ID
|
|
26
|
+
* @param id - The ID of the feature
|
|
27
|
+
* @param signal - An optional abort signal
|
|
28
|
+
* @returns The feature
|
|
29
|
+
*/
|
|
30
|
+
async get(id, options) {
|
|
31
|
+
const resp = await this.client.GET('/api/v1/features/{featureId}', {
|
|
32
|
+
params: {
|
|
33
|
+
path: {
|
|
34
|
+
featureId: id,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
...options,
|
|
38
|
+
});
|
|
39
|
+
return transformResponse(resp);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* List features
|
|
43
|
+
* @param query - The query parameters
|
|
44
|
+
* @param signal - An optional abort signal
|
|
45
|
+
* @returns The features
|
|
46
|
+
*/
|
|
47
|
+
async list(query, options) {
|
|
48
|
+
const resp = await this.client.GET('/api/v1/features', {
|
|
49
|
+
params: {
|
|
50
|
+
query,
|
|
51
|
+
},
|
|
52
|
+
...options,
|
|
53
|
+
});
|
|
54
|
+
return transformResponse(resp);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Delete a feature by ID
|
|
58
|
+
* @param id - The ID of the feature
|
|
59
|
+
* @param signal - An optional abort signal
|
|
60
|
+
* @returns The deleted feature
|
|
61
|
+
*/
|
|
62
|
+
async delete(id, options) {
|
|
63
|
+
const resp = await this.client.DELETE('/api/v1/features/{featureId}', {
|
|
64
|
+
params: {
|
|
65
|
+
path: {
|
|
66
|
+
featureId: id,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
...options,
|
|
70
|
+
});
|
|
71
|
+
return transformResponse(resp);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/client/features.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACC;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,OAA4B,EAAE,OAAwB;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtD,IAAI,EAAE,OAAO;YACb,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,EAA+D,EAC/D,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE;YACjE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,SAAS,EAAE,EAAE;iBACd;aACF;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CACf,KAGC,EACD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;YACrD,MAAM,EAAE;gBACN,KAAK;aACN;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAc,CAAA;IAC7C,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,EAAkE,EAClE,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE;YACpE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,SAAS,EAAE,EAAE;iBACd;aACF;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type Client, type ClientOptions } from 'openapi-fetch';
|
|
2
|
+
import { Addons } from './addons.js';
|
|
3
|
+
import { Apps } from './apps.js';
|
|
4
|
+
import { Billing } from './billing.js';
|
|
5
|
+
import { Customers } from './customers.js';
|
|
6
|
+
import { Debug } from './debug.js';
|
|
7
|
+
import { Entitlements, EntitlementsV2 } from './entitlements.js';
|
|
8
|
+
import { Events } from './events.js';
|
|
9
|
+
import { Features } from './features.js';
|
|
10
|
+
import { Info } from './info.js';
|
|
11
|
+
import { Meters } from './meters.js';
|
|
12
|
+
import { Notifications } from './notifications.js';
|
|
13
|
+
import { Plans } from './plans.js';
|
|
14
|
+
import { Portal } from './portal.js';
|
|
15
|
+
import type { paths } from './schemas.js';
|
|
16
|
+
import { Subjects } from './subjects.js';
|
|
17
|
+
import { SubscriptionAddons } from './subscription-addons.js';
|
|
18
|
+
import { Subscriptions } from './subscriptions.js';
|
|
19
|
+
export * from './common.js';
|
|
20
|
+
export * from './schemas.js';
|
|
21
|
+
/**
|
|
22
|
+
* OpenMeter Config
|
|
23
|
+
*/
|
|
24
|
+
export type Config = Pick<ClientOptions, 'baseUrl' | 'headers' | 'fetch' | 'Request' | 'requestInitExt'> & ({
|
|
25
|
+
apiKey?: string;
|
|
26
|
+
} | {
|
|
27
|
+
baseUrl: 'https://openmeter.cloud';
|
|
28
|
+
apiKey: string;
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* OpenMeter Client
|
|
32
|
+
*/
|
|
33
|
+
export declare class OpenMeter {
|
|
34
|
+
config: Config;
|
|
35
|
+
client: Client<paths, `${string}/${string}`>;
|
|
36
|
+
addons: Addons;
|
|
37
|
+
apps: Apps;
|
|
38
|
+
billing: Billing;
|
|
39
|
+
customers: Customers;
|
|
40
|
+
debug: Debug;
|
|
41
|
+
entitlementsV1: Entitlements;
|
|
42
|
+
entitlements: EntitlementsV2;
|
|
43
|
+
events: Events;
|
|
44
|
+
features: Features;
|
|
45
|
+
info: Info;
|
|
46
|
+
meters: Meters;
|
|
47
|
+
notifications: Notifications;
|
|
48
|
+
plans: Plans;
|
|
49
|
+
portal: Portal;
|
|
50
|
+
subjects: Subjects;
|
|
51
|
+
subscriptionAddons: SubscriptionAddons;
|
|
52
|
+
subscriptions: Subscriptions;
|
|
53
|
+
constructor(config: Config);
|
|
54
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import createClient, { createQuerySerializer, } from 'openapi-fetch';
|
|
2
|
+
import { Addons } from './addons.js';
|
|
3
|
+
import { Apps } from './apps.js';
|
|
4
|
+
import { Billing } from './billing.js';
|
|
5
|
+
import { Customers } from './customers.js';
|
|
6
|
+
import { Debug } from './debug.js';
|
|
7
|
+
import { Entitlements, EntitlementsV2 } from './entitlements.js';
|
|
8
|
+
import { Events } from './events.js';
|
|
9
|
+
import { Features } from './features.js';
|
|
10
|
+
import { Info } from './info.js';
|
|
11
|
+
import { Meters } from './meters.js';
|
|
12
|
+
import { Notifications } from './notifications.js';
|
|
13
|
+
import { Plans } from './plans.js';
|
|
14
|
+
import { Portal } from './portal.js';
|
|
15
|
+
import { Subjects } from './subjects.js';
|
|
16
|
+
import { SubscriptionAddons } from './subscription-addons.js';
|
|
17
|
+
import { Subscriptions } from './subscriptions.js';
|
|
18
|
+
import { encodeDates } from './utils.js';
|
|
19
|
+
export * from './common.js';
|
|
20
|
+
export * from './schemas.js';
|
|
21
|
+
/**
|
|
22
|
+
* OpenMeter Client
|
|
23
|
+
*/
|
|
24
|
+
export class OpenMeter {
|
|
25
|
+
config;
|
|
26
|
+
client;
|
|
27
|
+
addons;
|
|
28
|
+
apps;
|
|
29
|
+
billing;
|
|
30
|
+
customers;
|
|
31
|
+
debug;
|
|
32
|
+
entitlementsV1;
|
|
33
|
+
entitlements;
|
|
34
|
+
events;
|
|
35
|
+
features;
|
|
36
|
+
info;
|
|
37
|
+
meters;
|
|
38
|
+
notifications;
|
|
39
|
+
plans;
|
|
40
|
+
portal;
|
|
41
|
+
subjects;
|
|
42
|
+
subscriptionAddons;
|
|
43
|
+
subscriptions;
|
|
44
|
+
constructor(config) {
|
|
45
|
+
this.config = config;
|
|
46
|
+
this.client = createClient({
|
|
47
|
+
...config,
|
|
48
|
+
headers: {
|
|
49
|
+
...config.headers,
|
|
50
|
+
Authorization: config.apiKey ? `Bearer ${config.apiKey}` : undefined,
|
|
51
|
+
},
|
|
52
|
+
querySerializer: (q) => createQuerySerializer({
|
|
53
|
+
array: {
|
|
54
|
+
explode: true,
|
|
55
|
+
style: 'form',
|
|
56
|
+
},
|
|
57
|
+
object: {
|
|
58
|
+
explode: true,
|
|
59
|
+
style: 'deepObject',
|
|
60
|
+
},
|
|
61
|
+
})(encodeDates(q)),
|
|
62
|
+
});
|
|
63
|
+
this.addons = new Addons(this.client);
|
|
64
|
+
this.apps = new Apps(this.client);
|
|
65
|
+
this.billing = new Billing(this.client);
|
|
66
|
+
this.customers = new Customers(this.client);
|
|
67
|
+
this.debug = new Debug(this.client);
|
|
68
|
+
this.entitlementsV1 = new Entitlements(this.client);
|
|
69
|
+
this.entitlements = new EntitlementsV2(this.client);
|
|
70
|
+
this.events = new Events(this.client);
|
|
71
|
+
this.features = new Features(this.client);
|
|
72
|
+
this.info = new Info(this.client);
|
|
73
|
+
this.meters = new Meters(this.client);
|
|
74
|
+
this.notifications = new Notifications(this.client);
|
|
75
|
+
this.plans = new Plans(this.client);
|
|
76
|
+
this.portal = new Portal(this.client);
|
|
77
|
+
this.subjects = new Subjects(this.client);
|
|
78
|
+
this.subscriptionAddons = new SubscriptionAddons(this.client);
|
|
79
|
+
this.subscriptions = new Subscriptions(this.client);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Client } from 'openapi-fetch';
|
|
2
|
+
import type { RequestOptions } from './common.js';
|
|
3
|
+
import type { operations, paths } from './schemas.js';
|
|
4
|
+
/**
|
|
5
|
+
* Info utilities for OpenMeter
|
|
6
|
+
*/
|
|
7
|
+
export declare class Info {
|
|
8
|
+
private client;
|
|
9
|
+
constructor(client: Client<paths, `${string}/${string}`>);
|
|
10
|
+
/**
|
|
11
|
+
* List supported currencies
|
|
12
|
+
* @description List all supported currencies.
|
|
13
|
+
* @param options - The request options
|
|
14
|
+
* @returns The supported currencies
|
|
15
|
+
*/
|
|
16
|
+
listCurrencies(options?: RequestOptions): Promise<{
|
|
17
|
+
code: import("./schemas.js").components["schemas"]["CurrencyCode"];
|
|
18
|
+
name: string;
|
|
19
|
+
symbol: string;
|
|
20
|
+
subunits: number;
|
|
21
|
+
}[] | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Get progress
|
|
24
|
+
* @param id - The ID of the progress to get
|
|
25
|
+
* @param options - The request options
|
|
26
|
+
* @returns The progress
|
|
27
|
+
*/
|
|
28
|
+
getProgress(id: operations['getProgress']['parameters']['path']['id'], options?: RequestOptions): Promise<{
|
|
29
|
+
success: number;
|
|
30
|
+
failed: number;
|
|
31
|
+
total: number;
|
|
32
|
+
updatedAt: Date;
|
|
33
|
+
} | undefined>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { transformResponse } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Info utilities for OpenMeter
|
|
4
|
+
*/
|
|
5
|
+
export class Info {
|
|
6
|
+
client;
|
|
7
|
+
constructor(client) {
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* List supported currencies
|
|
12
|
+
* @description List all supported currencies.
|
|
13
|
+
* @param options - The request options
|
|
14
|
+
* @returns The supported currencies
|
|
15
|
+
*/
|
|
16
|
+
async listCurrencies(options) {
|
|
17
|
+
const resp = await this.client.GET('/api/v1/info/currencies', {
|
|
18
|
+
...options,
|
|
19
|
+
});
|
|
20
|
+
return transformResponse(resp);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get progress
|
|
24
|
+
* @param id - The ID of the progress to get
|
|
25
|
+
* @param options - The request options
|
|
26
|
+
* @returns The progress
|
|
27
|
+
*/
|
|
28
|
+
async getProgress(id, options) {
|
|
29
|
+
const resp = await this.client.GET('/api/v1/info/progress/{id}', {
|
|
30
|
+
params: {
|
|
31
|
+
path: { id },
|
|
32
|
+
},
|
|
33
|
+
...options,
|
|
34
|
+
});
|
|
35
|
+
return transformResponse(resp);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/client/info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C;;GAEG;AACH,MAAM,OAAO,IAAI;IACK;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,OAAwB;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;YAC5D,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CACtB,EAAyD,EACzD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE;YAC/D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,EAAE,EAAE;aACb;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import type { Client } from 'openapi-fetch';
|
|
2
|
+
import type { RequestOptions } from './common.js';
|
|
3
|
+
import type { MeterCreate, operations, paths } from './schemas.js';
|
|
4
|
+
/**
|
|
5
|
+
* Meters
|
|
6
|
+
* @description Meters are used to track and manage usage of your application.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Meters {
|
|
9
|
+
private client;
|
|
10
|
+
constructor(client: Client<paths, `${string}/${string}`>);
|
|
11
|
+
/**
|
|
12
|
+
* Create a meter
|
|
13
|
+
* @param meter - The meter to create
|
|
14
|
+
* @param signal - An optional abort signal
|
|
15
|
+
* @returns The created meter
|
|
16
|
+
*/
|
|
17
|
+
create(meter: MeterCreate, options?: RequestOptions): Promise<{
|
|
18
|
+
readonly id: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
|
|
21
|
+
readonly createdAt: Date;
|
|
22
|
+
readonly updatedAt: Date;
|
|
23
|
+
readonly deletedAt?: Date;
|
|
24
|
+
name?: string;
|
|
25
|
+
slug: string;
|
|
26
|
+
aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
|
|
27
|
+
eventType: string;
|
|
28
|
+
eventFrom?: Date;
|
|
29
|
+
valueProperty?: string;
|
|
30
|
+
groupBy?: {
|
|
31
|
+
[key: string]: string;
|
|
32
|
+
};
|
|
33
|
+
readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"] | null;
|
|
34
|
+
} | undefined>;
|
|
35
|
+
/**
|
|
36
|
+
* Get a meter by ID or slug
|
|
37
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
38
|
+
* @param signal - An optional abort signal
|
|
39
|
+
* @returns The meter
|
|
40
|
+
*/
|
|
41
|
+
get(idOrSlug: operations['getMeter']['parameters']['path']['meterIdOrSlug'], options?: RequestOptions): Promise<{
|
|
42
|
+
readonly id: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
|
|
45
|
+
readonly createdAt: Date;
|
|
46
|
+
readonly updatedAt: Date;
|
|
47
|
+
readonly deletedAt?: Date;
|
|
48
|
+
name?: string;
|
|
49
|
+
slug: string;
|
|
50
|
+
aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
|
|
51
|
+
eventType: string;
|
|
52
|
+
eventFrom?: Date;
|
|
53
|
+
valueProperty?: string;
|
|
54
|
+
groupBy?: {
|
|
55
|
+
[key: string]: string;
|
|
56
|
+
};
|
|
57
|
+
readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"] | null;
|
|
58
|
+
} | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* List meters
|
|
61
|
+
* @param signal - An optional abort signal
|
|
62
|
+
* @returns The meters
|
|
63
|
+
*/
|
|
64
|
+
list(options?: RequestOptions): Promise<{
|
|
65
|
+
readonly id: string;
|
|
66
|
+
description?: string;
|
|
67
|
+
metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
|
|
68
|
+
readonly createdAt: Date;
|
|
69
|
+
readonly updatedAt: Date;
|
|
70
|
+
readonly deletedAt?: Date;
|
|
71
|
+
name?: string;
|
|
72
|
+
slug: string;
|
|
73
|
+
aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
|
|
74
|
+
eventType: string;
|
|
75
|
+
eventFrom?: Date;
|
|
76
|
+
valueProperty?: string;
|
|
77
|
+
groupBy?: {
|
|
78
|
+
[key: string]: string;
|
|
79
|
+
};
|
|
80
|
+
readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"] | null;
|
|
81
|
+
}[] | undefined>;
|
|
82
|
+
/**
|
|
83
|
+
* Query usage data for a meter by ID or slug
|
|
84
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
85
|
+
* @param query - The query parameters
|
|
86
|
+
* @param signal - An optional abort signal
|
|
87
|
+
* @returns The meter data
|
|
88
|
+
*/
|
|
89
|
+
query(idOrSlug: operations['queryMeter']['parameters']['path']['meterIdOrSlug'], query?: operations['queryMeter']['parameters']['query'], options?: RequestOptions): Promise<{
|
|
90
|
+
from?: Date;
|
|
91
|
+
to?: Date;
|
|
92
|
+
windowSize?: import("./schemas.js").components["schemas"]["WindowSize"];
|
|
93
|
+
data: import("./schemas.js").components["schemas"]["MeterQueryRow"][];
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Update a meter by ID or slug
|
|
97
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
98
|
+
* @param meter - The meter update data
|
|
99
|
+
* @param options - Optional request options
|
|
100
|
+
* @returns The updated meter
|
|
101
|
+
*/
|
|
102
|
+
update(idOrSlug: operations['updateMeter']['parameters']['path']['meterIdOrSlug'], meter: operations['updateMeter']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
|
|
103
|
+
readonly id: string;
|
|
104
|
+
description?: string;
|
|
105
|
+
metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
|
|
106
|
+
readonly createdAt: Date;
|
|
107
|
+
readonly updatedAt: Date;
|
|
108
|
+
readonly deletedAt?: Date;
|
|
109
|
+
name?: string;
|
|
110
|
+
slug: string;
|
|
111
|
+
aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
|
|
112
|
+
eventType: string;
|
|
113
|
+
eventFrom?: Date;
|
|
114
|
+
valueProperty?: string;
|
|
115
|
+
groupBy?: {
|
|
116
|
+
[key: string]: string;
|
|
117
|
+
};
|
|
118
|
+
readonly annotations?: import("./schemas.js").components["schemas"]["Annotations"] | null;
|
|
119
|
+
} | undefined>;
|
|
120
|
+
/**
|
|
121
|
+
* Delete a meter by ID or slug
|
|
122
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
123
|
+
* @param signal - An optional abort signal
|
|
124
|
+
* @returns The deleted meter
|
|
125
|
+
*/
|
|
126
|
+
delete(idOrSlug: operations['deleteMeter']['parameters']['path']['meterIdOrSlug'], options?: RequestOptions): Promise<undefined>;
|
|
127
|
+
/**
|
|
128
|
+
* List meter group-by values
|
|
129
|
+
* @description List all values for a specific group-by key in a meter.
|
|
130
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
131
|
+
* @param groupByKey - The group-by key to list values for
|
|
132
|
+
* @param query - The query parameters
|
|
133
|
+
* @param options - Optional request options
|
|
134
|
+
* @returns The list of group-by values
|
|
135
|
+
*/
|
|
136
|
+
listGroupByValues(idOrSlug: operations['listMeterGroupByValues']['parameters']['path']['meterIdOrSlug'], groupByKey: operations['listMeterGroupByValues']['parameters']['path']['groupByKey'], query?: operations['listMeterGroupByValues']['parameters']['query'], options?: RequestOptions): Promise<string[] | undefined>;
|
|
137
|
+
/**
|
|
138
|
+
* Query usage data for a meter by ID or slug using POST
|
|
139
|
+
* @description Query meter using POST method. This is useful for complex queries that exceed URL length limits.
|
|
140
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
141
|
+
* @param body - The query body parameters
|
|
142
|
+
* @param options - Optional request options
|
|
143
|
+
* @returns The meter data
|
|
144
|
+
*/
|
|
145
|
+
queryPost(idOrSlug: operations['queryMeterPost']['parameters']['path']['meterIdOrSlug'], body: operations['queryMeterPost']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
|
|
146
|
+
from?: Date;
|
|
147
|
+
to?: Date;
|
|
148
|
+
windowSize?: import("./schemas.js").components["schemas"]["WindowSize"];
|
|
149
|
+
data: import("./schemas.js").components["schemas"]["MeterQueryRow"][];
|
|
150
|
+
} | undefined>;
|
|
151
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { transformResponse } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Meters
|
|
4
|
+
* @description Meters are used to track and manage usage of your application.
|
|
5
|
+
*/
|
|
6
|
+
export class Meters {
|
|
7
|
+
client;
|
|
8
|
+
constructor(client) {
|
|
9
|
+
this.client = client;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create a meter
|
|
13
|
+
* @param meter - The meter to create
|
|
14
|
+
* @param signal - An optional abort signal
|
|
15
|
+
* @returns The created meter
|
|
16
|
+
*/
|
|
17
|
+
async create(meter, options) {
|
|
18
|
+
const resp = await this.client.POST('/api/v1/meters', {
|
|
19
|
+
body: meter,
|
|
20
|
+
...options,
|
|
21
|
+
});
|
|
22
|
+
return transformResponse(resp);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get a meter by ID or slug
|
|
26
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
27
|
+
* @param signal - An optional abort signal
|
|
28
|
+
* @returns The meter
|
|
29
|
+
*/
|
|
30
|
+
async get(idOrSlug, options) {
|
|
31
|
+
const resp = await this.client.GET('/api/v1/meters/{meterIdOrSlug}', {
|
|
32
|
+
params: {
|
|
33
|
+
path: {
|
|
34
|
+
meterIdOrSlug: idOrSlug,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
...options,
|
|
38
|
+
});
|
|
39
|
+
return transformResponse(resp);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* List meters
|
|
43
|
+
* @param signal - An optional abort signal
|
|
44
|
+
* @returns The meters
|
|
45
|
+
*/
|
|
46
|
+
async list(options) {
|
|
47
|
+
const resp = await this.client.GET('/api/v1/meters', {
|
|
48
|
+
...options,
|
|
49
|
+
});
|
|
50
|
+
return transformResponse(resp);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Query usage data for a meter by ID or slug
|
|
54
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
55
|
+
* @param query - The query parameters
|
|
56
|
+
* @param signal - An optional abort signal
|
|
57
|
+
* @returns The meter data
|
|
58
|
+
*/
|
|
59
|
+
async query(idOrSlug, query, options) {
|
|
60
|
+
const resp = await this.client.GET('/api/v1/meters/{meterIdOrSlug}/query', {
|
|
61
|
+
headers: {
|
|
62
|
+
Accept: 'application/json',
|
|
63
|
+
},
|
|
64
|
+
params: {
|
|
65
|
+
path: {
|
|
66
|
+
meterIdOrSlug: idOrSlug,
|
|
67
|
+
},
|
|
68
|
+
query,
|
|
69
|
+
},
|
|
70
|
+
...options,
|
|
71
|
+
});
|
|
72
|
+
return transformResponse(resp);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Update a meter by ID or slug
|
|
76
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
77
|
+
* @param meter - The meter update data
|
|
78
|
+
* @param options - Optional request options
|
|
79
|
+
* @returns The updated meter
|
|
80
|
+
*/
|
|
81
|
+
async update(idOrSlug, meter, options) {
|
|
82
|
+
const resp = await this.client.PUT('/api/v1/meters/{meterIdOrSlug}', {
|
|
83
|
+
body: meter,
|
|
84
|
+
params: {
|
|
85
|
+
path: {
|
|
86
|
+
meterIdOrSlug: idOrSlug,
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
...options,
|
|
90
|
+
});
|
|
91
|
+
return transformResponse(resp);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Delete a meter by ID or slug
|
|
95
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
96
|
+
* @param signal - An optional abort signal
|
|
97
|
+
* @returns The deleted meter
|
|
98
|
+
*/
|
|
99
|
+
async delete(idOrSlug, options) {
|
|
100
|
+
const resp = await this.client.DELETE('/api/v1/meters/{meterIdOrSlug}', {
|
|
101
|
+
params: {
|
|
102
|
+
path: {
|
|
103
|
+
meterIdOrSlug: idOrSlug,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
...options,
|
|
107
|
+
});
|
|
108
|
+
return transformResponse(resp);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* List meter group-by values
|
|
112
|
+
* @description List all values for a specific group-by key in a meter.
|
|
113
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
114
|
+
* @param groupByKey - The group-by key to list values for
|
|
115
|
+
* @param query - The query parameters
|
|
116
|
+
* @param options - Optional request options
|
|
117
|
+
* @returns The list of group-by values
|
|
118
|
+
*/
|
|
119
|
+
async listGroupByValues(idOrSlug, groupByKey, query, options) {
|
|
120
|
+
const resp = await this.client.GET('/api/v1/meters/{meterIdOrSlug}/group-by/{groupByKey}/values', {
|
|
121
|
+
params: {
|
|
122
|
+
path: {
|
|
123
|
+
groupByKey,
|
|
124
|
+
meterIdOrSlug: idOrSlug,
|
|
125
|
+
},
|
|
126
|
+
query,
|
|
127
|
+
},
|
|
128
|
+
...options,
|
|
129
|
+
});
|
|
130
|
+
return transformResponse(resp);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Query usage data for a meter by ID or slug using POST
|
|
134
|
+
* @description Query meter using POST method. This is useful for complex queries that exceed URL length limits.
|
|
135
|
+
* @param idOrSlug - The ID or slug of the meter
|
|
136
|
+
* @param body - The query body parameters
|
|
137
|
+
* @param options - Optional request options
|
|
138
|
+
* @returns The meter data
|
|
139
|
+
*/
|
|
140
|
+
async queryPost(idOrSlug, body, options) {
|
|
141
|
+
const resp = await this.client.POST('/api/v1/meters/{meterIdOrSlug}/query', {
|
|
142
|
+
body,
|
|
143
|
+
headers: {
|
|
144
|
+
Accept: 'application/json',
|
|
145
|
+
},
|
|
146
|
+
params: {
|
|
147
|
+
path: {
|
|
148
|
+
meterIdOrSlug: idOrSlug,
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
...options,
|
|
152
|
+
});
|
|
153
|
+
return transformResponse(resp);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=meters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meters.js","sourceRoot":"","sources":["../../../src/client/meters.ts"],"names":[],"mappings":"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"}
|