llm-cost-monitor-sdk 1.0.0
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 +139 -0
- package/dist/apis/AlertsApi.d.ts +54 -0
- package/dist/apis/AlertsApi.js +134 -0
- package/dist/apis/EventsApi.d.ts +47 -0
- package/dist/apis/EventsApi.js +112 -0
- package/dist/apis/MetricsApi.d.ts +52 -0
- package/dist/apis/MetricsApi.js +95 -0
- package/dist/apis/PricingApi.d.ts +32 -0
- package/dist/apis/PricingApi.js +70 -0
- package/dist/apis/index.d.ts +4 -0
- package/dist/apis/index.js +22 -0
- package/dist/esm/apis/AlertsApi.d.ts +54 -0
- package/dist/esm/apis/AlertsApi.js +130 -0
- package/dist/esm/apis/EventsApi.d.ts +47 -0
- package/dist/esm/apis/EventsApi.js +108 -0
- package/dist/esm/apis/MetricsApi.d.ts +52 -0
- package/dist/esm/apis/MetricsApi.js +91 -0
- package/dist/esm/apis/PricingApi.d.ts +32 -0
- package/dist/esm/apis/PricingApi.js +66 -0
- package/dist/esm/apis/index.d.ts +4 -0
- package/dist/esm/apis/index.js +6 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/models/Alert.d.ts +56 -0
- package/dist/esm/models/Alert.js +49 -0
- package/dist/esm/models/CreateAlertRequest.d.ts +38 -0
- package/dist/esm/models/CreateAlertRequest.js +45 -0
- package/dist/esm/models/CreateEventRequest.d.ts +74 -0
- package/dist/esm/models/CreateEventRequest.js +63 -0
- package/dist/esm/models/ErrorResponse.d.ts +33 -0
- package/dist/esm/models/ErrorResponse.js +44 -0
- package/dist/esm/models/ErrorResponseError.d.ts +46 -0
- package/dist/esm/models/ErrorResponseError.js +49 -0
- package/dist/esm/models/Event.d.ts +104 -0
- package/dist/esm/models/Event.js +65 -0
- package/dist/esm/models/EventListResponse.d.ts +51 -0
- package/dist/esm/models/EventListResponse.js +48 -0
- package/dist/esm/models/EventResponse.d.ts +58 -0
- package/dist/esm/models/EventResponse.js +54 -0
- package/dist/esm/models/MetricPoint.d.ts +56 -0
- package/dist/esm/models/MetricPoint.js +49 -0
- package/dist/esm/models/MetricsResponse.d.ts +53 -0
- package/dist/esm/models/MetricsResponse.js +53 -0
- package/dist/esm/models/ModelPricing.d.ts +62 -0
- package/dist/esm/models/ModelPricing.js +51 -0
- package/dist/esm/models/index.d.ts +11 -0
- package/dist/esm/models/index.js +13 -0
- package/dist/esm/runtime.d.ts +184 -0
- package/dist/esm/runtime.js +334 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +21 -0
- package/dist/models/Alert.d.ts +56 -0
- package/dist/models/Alert.js +56 -0
- package/dist/models/CreateAlertRequest.d.ts +38 -0
- package/dist/models/CreateAlertRequest.js +52 -0
- package/dist/models/CreateEventRequest.d.ts +74 -0
- package/dist/models/CreateEventRequest.js +70 -0
- package/dist/models/ErrorResponse.d.ts +33 -0
- package/dist/models/ErrorResponse.js +51 -0
- package/dist/models/ErrorResponseError.d.ts +46 -0
- package/dist/models/ErrorResponseError.js +56 -0
- package/dist/models/Event.d.ts +104 -0
- package/dist/models/Event.js +72 -0
- package/dist/models/EventListResponse.d.ts +51 -0
- package/dist/models/EventListResponse.js +55 -0
- package/dist/models/EventResponse.d.ts +58 -0
- package/dist/models/EventResponse.js +62 -0
- package/dist/models/MetricPoint.d.ts +56 -0
- package/dist/models/MetricPoint.js +56 -0
- package/dist/models/MetricsResponse.d.ts +53 -0
- package/dist/models/MetricsResponse.js +61 -0
- package/dist/models/ModelPricing.d.ts +62 -0
- package/dist/models/ModelPricing.js +58 -0
- package/dist/models/index.d.ts +11 -0
- package/dist/models/index.js +29 -0
- package/dist/runtime.d.ts +184 -0
- package/dist/runtime.js +350 -0
- package/package.json +54 -0
- package/src/apis/AlertsApi.ts +166 -0
- package/src/apis/EventsApi.ts +146 -0
- package/src/apis/MetricsApi.ts +117 -0
- package/src/apis/PricingApi.ts +81 -0
- package/src/apis/index.ts +6 -0
- package/src/index.ts +5 -0
- package/src/models/Alert.ts +97 -0
- package/src/models/CreateAlertRequest.ts +74 -0
- package/src/models/CreateEventRequest.ts +125 -0
- package/src/models/ErrorResponse.ts +74 -0
- package/src/models/ErrorResponseError.ts +83 -0
- package/src/models/Event.ts +161 -0
- package/src/models/EventListResponse.ts +97 -0
- package/src/models/EventResponse.ts +100 -0
- package/src/models/MetricPoint.ts +97 -0
- package/src/models/MetricsResponse.ts +100 -0
- package/src/models/ModelPricing.ts +105 -0
- package/src/models/index.ts +13 -0
- package/src/runtime.ts +432 -0
package/README.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# @llmcost/sdk@v1.0.0
|
|
2
|
+
|
|
3
|
+
A TypeScript SDK client for the localhost API.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
First, install the SDK from npm.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @llmcost/sdk --save
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Next, try it out.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import {
|
|
18
|
+
Configuration,
|
|
19
|
+
AlertsApi,
|
|
20
|
+
} from '@llmcost/sdk';
|
|
21
|
+
import type { CreateAlertOperationRequest } from '@llmcost/sdk';
|
|
22
|
+
|
|
23
|
+
async function example() {
|
|
24
|
+
console.log("🚀 Testing @llmcost/sdk SDK...");
|
|
25
|
+
const config = new Configuration({
|
|
26
|
+
// To configure API key authorization: ApiKeyAuth
|
|
27
|
+
apiKey: "YOUR API KEY",
|
|
28
|
+
});
|
|
29
|
+
const api = new AlertsApi(config);
|
|
30
|
+
|
|
31
|
+
const body = {
|
|
32
|
+
// CreateAlertRequest
|
|
33
|
+
createAlertRequest: {"threshold":100.0,"window_interval":"24h"},
|
|
34
|
+
} satisfies CreateAlertOperationRequest;
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
const data = await api.createAlert(body);
|
|
38
|
+
console.log(data);
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error(error);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Run the test
|
|
45
|
+
example().catch(console.error);
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Documentation
|
|
50
|
+
|
|
51
|
+
### API Endpoints
|
|
52
|
+
|
|
53
|
+
All URIs are relative to *http://localhost:8080*
|
|
54
|
+
|
|
55
|
+
| Class | Method | HTTP request | Description
|
|
56
|
+
| ----- | ------ | ------------ | -------------
|
|
57
|
+
*AlertsApi* | [**createAlert**](docs/AlertsApi.md#createalertoperation) | **POST** /v1/alerts | Create budget alert
|
|
58
|
+
*AlertsApi* | [**deleteAlert**](docs/AlertsApi.md#deletealert) | **DELETE** /v1/alerts/{id} | Delete alert
|
|
59
|
+
*AlertsApi* | [**listAlerts**](docs/AlertsApi.md#listalerts) | **GET** /v1/alerts | List budget alerts
|
|
60
|
+
*EventsApi* | [**createEvent**](docs/EventsApi.md#createeventoperation) | **POST** /v1/events | Track LLM usage event
|
|
61
|
+
*EventsApi* | [**listEvents**](docs/EventsApi.md#listevents) | **GET** /v1/events | List LLM usage events
|
|
62
|
+
*MetricsApi* | [**getMetrics**](docs/MetricsApi.md#getmetrics) | **GET** /v1/metrics | Get aggregated metrics
|
|
63
|
+
*PricingApi* | [**listPricing**](docs/PricingApi.md#listpricing) | **GET** /v1/pricing | List model pricing
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
### Models
|
|
67
|
+
|
|
68
|
+
- [Alert](docs/Alert.md)
|
|
69
|
+
- [CreateAlertRequest](docs/CreateAlertRequest.md)
|
|
70
|
+
- [CreateEventRequest](docs/CreateEventRequest.md)
|
|
71
|
+
- [ErrorResponse](docs/ErrorResponse.md)
|
|
72
|
+
- [ErrorResponseError](docs/ErrorResponseError.md)
|
|
73
|
+
- [Event](docs/Event.md)
|
|
74
|
+
- [EventListResponse](docs/EventListResponse.md)
|
|
75
|
+
- [EventResponse](docs/EventResponse.md)
|
|
76
|
+
- [MetricPoint](docs/MetricPoint.md)
|
|
77
|
+
- [MetricsResponse](docs/MetricsResponse.md)
|
|
78
|
+
- [ModelPricing](docs/ModelPricing.md)
|
|
79
|
+
|
|
80
|
+
### Authorization
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
Authentication schemes defined for the API:
|
|
84
|
+
<a id="ApiKeyAuth"></a>
|
|
85
|
+
#### ApiKeyAuth
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
- **Type**: API key
|
|
89
|
+
- **API key parameter name**: `Authorization`
|
|
90
|
+
- **Location**: HTTP header
|
|
91
|
+
|
|
92
|
+
## About
|
|
93
|
+
|
|
94
|
+
This TypeScript SDK client supports the [Fetch API](https://fetch.spec.whatwg.org/)
|
|
95
|
+
and is automatically generated by the
|
|
96
|
+
[OpenAPI Generator](https://openapi-generator.tech) project:
|
|
97
|
+
|
|
98
|
+
- API version: `v1.0.0`
|
|
99
|
+
- Package version: `v1.0.0`
|
|
100
|
+
- Generator version: `7.18.0`
|
|
101
|
+
- Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`
|
|
102
|
+
|
|
103
|
+
The generated npm module supports the following:
|
|
104
|
+
|
|
105
|
+
- Environments
|
|
106
|
+
* Node.js
|
|
107
|
+
* Webpack
|
|
108
|
+
* Browserify
|
|
109
|
+
- Language levels
|
|
110
|
+
* ES5 - you must have a Promises/A+ library installed
|
|
111
|
+
* ES6
|
|
112
|
+
- Module systems
|
|
113
|
+
* CommonJS
|
|
114
|
+
* ES6 module system
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
## Development
|
|
118
|
+
|
|
119
|
+
### Building
|
|
120
|
+
|
|
121
|
+
To build the TypeScript source code, you need to have Node.js and npm installed.
|
|
122
|
+
After cloning the repository, navigate to the project directory and run:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npm install
|
|
126
|
+
npm run build
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Publishing
|
|
130
|
+
|
|
131
|
+
Once you've built the package, you can publish it to npm:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
npm publish
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## License
|
|
138
|
+
|
|
139
|
+
[MIT](https://opensource.org/licenses/MIT)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Cost Monitor API
|
|
3
|
+
* Open-source LLM cost observability platform API. Track, aggregate, and analyze LLM usage costs across your applications.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: v1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import * as runtime from '../runtime';
|
|
13
|
+
import type { Alert, CreateAlertRequest } from '../models/index';
|
|
14
|
+
export interface CreateAlertOperationRequest {
|
|
15
|
+
createAlertRequest: CreateAlertRequest;
|
|
16
|
+
}
|
|
17
|
+
export interface DeleteAlertRequest {
|
|
18
|
+
id: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export declare class AlertsApi extends runtime.BaseAPI {
|
|
24
|
+
/**
|
|
25
|
+
* Creates a new cost threshold alert.
|
|
26
|
+
* Create budget alert
|
|
27
|
+
*/
|
|
28
|
+
createAlertRaw(requestParameters: CreateAlertOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Alert>>;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new cost threshold alert.
|
|
31
|
+
* Create budget alert
|
|
32
|
+
*/
|
|
33
|
+
createAlert(requestParameters: CreateAlertOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Alert>;
|
|
34
|
+
/**
|
|
35
|
+
* Permanently deletes a budget alert.
|
|
36
|
+
* Delete alert
|
|
37
|
+
*/
|
|
38
|
+
deleteAlertRaw(requestParameters: DeleteAlertRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
|
|
39
|
+
/**
|
|
40
|
+
* Permanently deletes a budget alert.
|
|
41
|
+
* Delete alert
|
|
42
|
+
*/
|
|
43
|
+
deleteAlert(requestParameters: DeleteAlertRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Returns all active budget alerts for the project.
|
|
46
|
+
* List budget alerts
|
|
47
|
+
*/
|
|
48
|
+
listAlertsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Alert>>>;
|
|
49
|
+
/**
|
|
50
|
+
* Returns all active budget alerts for the project.
|
|
51
|
+
* List budget alerts
|
|
52
|
+
*/
|
|
53
|
+
listAlerts(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Alert>>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* LLM Cost Monitor API
|
|
6
|
+
* Open-source LLM cost observability platform API. Track, aggregate, and analyze LLM usage costs across your applications.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: v1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.AlertsApi = void 0;
|
|
26
|
+
const runtime = require("../runtime");
|
|
27
|
+
const index_1 = require("../models/index");
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
class AlertsApi extends runtime.BaseAPI {
|
|
32
|
+
/**
|
|
33
|
+
* Creates a new cost threshold alert.
|
|
34
|
+
* Create budget alert
|
|
35
|
+
*/
|
|
36
|
+
createAlertRaw(requestParameters, initOverrides) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
if (requestParameters['createAlertRequest'] == null) {
|
|
39
|
+
throw new runtime.RequiredError('createAlertRequest', 'Required parameter "createAlertRequest" was null or undefined when calling createAlert().');
|
|
40
|
+
}
|
|
41
|
+
const queryParameters = {};
|
|
42
|
+
const headerParameters = {};
|
|
43
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
44
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
45
|
+
headerParameters["Authorization"] = yield this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
|
|
46
|
+
}
|
|
47
|
+
let urlPath = `/v1/alerts`;
|
|
48
|
+
const response = yield this.request({
|
|
49
|
+
path: urlPath,
|
|
50
|
+
method: 'POST',
|
|
51
|
+
headers: headerParameters,
|
|
52
|
+
query: queryParameters,
|
|
53
|
+
body: (0, index_1.CreateAlertRequestToJSON)(requestParameters['createAlertRequest']),
|
|
54
|
+
}, initOverrides);
|
|
55
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.AlertFromJSON)(jsonValue));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Creates a new cost threshold alert.
|
|
60
|
+
* Create budget alert
|
|
61
|
+
*/
|
|
62
|
+
createAlert(requestParameters, initOverrides) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const response = yield this.createAlertRaw(requestParameters, initOverrides);
|
|
65
|
+
return yield response.value();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Permanently deletes a budget alert.
|
|
70
|
+
* Delete alert
|
|
71
|
+
*/
|
|
72
|
+
deleteAlertRaw(requestParameters, initOverrides) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
if (requestParameters['id'] == null) {
|
|
75
|
+
throw new runtime.RequiredError('id', 'Required parameter "id" was null or undefined when calling deleteAlert().');
|
|
76
|
+
}
|
|
77
|
+
const queryParameters = {};
|
|
78
|
+
const headerParameters = {};
|
|
79
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
80
|
+
headerParameters["Authorization"] = yield this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
|
|
81
|
+
}
|
|
82
|
+
let urlPath = `/v1/alerts/{id}`;
|
|
83
|
+
urlPath = urlPath.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id'])));
|
|
84
|
+
const response = yield this.request({
|
|
85
|
+
path: urlPath,
|
|
86
|
+
method: 'DELETE',
|
|
87
|
+
headers: headerParameters,
|
|
88
|
+
query: queryParameters,
|
|
89
|
+
}, initOverrides);
|
|
90
|
+
return new runtime.VoidApiResponse(response);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Permanently deletes a budget alert.
|
|
95
|
+
* Delete alert
|
|
96
|
+
*/
|
|
97
|
+
deleteAlert(requestParameters, initOverrides) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
yield this.deleteAlertRaw(requestParameters, initOverrides);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns all active budget alerts for the project.
|
|
104
|
+
* List budget alerts
|
|
105
|
+
*/
|
|
106
|
+
listAlertsRaw(initOverrides) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const queryParameters = {};
|
|
109
|
+
const headerParameters = {};
|
|
110
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
111
|
+
headerParameters["Authorization"] = yield this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
|
|
112
|
+
}
|
|
113
|
+
let urlPath = `/v1/alerts`;
|
|
114
|
+
const response = yield this.request({
|
|
115
|
+
path: urlPath,
|
|
116
|
+
method: 'GET',
|
|
117
|
+
headers: headerParameters,
|
|
118
|
+
query: queryParameters,
|
|
119
|
+
}, initOverrides);
|
|
120
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(index_1.AlertFromJSON));
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Returns all active budget alerts for the project.
|
|
125
|
+
* List budget alerts
|
|
126
|
+
*/
|
|
127
|
+
listAlerts(initOverrides) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
const response = yield this.listAlertsRaw(initOverrides);
|
|
130
|
+
return yield response.value();
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
exports.AlertsApi = AlertsApi;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Cost Monitor API
|
|
3
|
+
* Open-source LLM cost observability platform API. Track, aggregate, and analyze LLM usage costs across your applications.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: v1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import * as runtime from '../runtime';
|
|
13
|
+
import type { CreateEventRequest, EventListResponse, EventResponse } from '../models/index';
|
|
14
|
+
export interface CreateEventOperationRequest {
|
|
15
|
+
createEventRequest: CreateEventRequest;
|
|
16
|
+
}
|
|
17
|
+
export interface ListEventsRequest {
|
|
18
|
+
limit?: number;
|
|
19
|
+
offset?: number;
|
|
20
|
+
from?: Date;
|
|
21
|
+
to?: Date;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
export declare class EventsApi extends runtime.BaseAPI {
|
|
27
|
+
/**
|
|
28
|
+
* Records an LLM usage event for cost tracking. Supports idempotency via trace_id - duplicate trace_ids are safely ignored.
|
|
29
|
+
* Track LLM usage event
|
|
30
|
+
*/
|
|
31
|
+
createEventRaw(requestParameters: CreateEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventResponse>>;
|
|
32
|
+
/**
|
|
33
|
+
* Records an LLM usage event for cost tracking. Supports idempotency via trace_id - duplicate trace_ids are safely ignored.
|
|
34
|
+
* Track LLM usage event
|
|
35
|
+
*/
|
|
36
|
+
createEvent(requestParameters: CreateEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventResponse>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns paginated list of usage events for the project.
|
|
39
|
+
* List LLM usage events
|
|
40
|
+
*/
|
|
41
|
+
listEventsRaw(requestParameters: ListEventsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventListResponse>>;
|
|
42
|
+
/**
|
|
43
|
+
* Returns paginated list of usage events for the project.
|
|
44
|
+
* List LLM usage events
|
|
45
|
+
*/
|
|
46
|
+
listEvents(requestParameters?: ListEventsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventListResponse>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* LLM Cost Monitor API
|
|
6
|
+
* Open-source LLM cost observability platform API. Track, aggregate, and analyze LLM usage costs across your applications.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: v1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.EventsApi = void 0;
|
|
26
|
+
const runtime = require("../runtime");
|
|
27
|
+
const index_1 = require("../models/index");
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
class EventsApi extends runtime.BaseAPI {
|
|
32
|
+
/**
|
|
33
|
+
* Records an LLM usage event for cost tracking. Supports idempotency via trace_id - duplicate trace_ids are safely ignored.
|
|
34
|
+
* Track LLM usage event
|
|
35
|
+
*/
|
|
36
|
+
createEventRaw(requestParameters, initOverrides) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
if (requestParameters['createEventRequest'] == null) {
|
|
39
|
+
throw new runtime.RequiredError('createEventRequest', 'Required parameter "createEventRequest" was null or undefined when calling createEvent().');
|
|
40
|
+
}
|
|
41
|
+
const queryParameters = {};
|
|
42
|
+
const headerParameters = {};
|
|
43
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
44
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
45
|
+
headerParameters["Authorization"] = yield this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
|
|
46
|
+
}
|
|
47
|
+
let urlPath = `/v1/events`;
|
|
48
|
+
const response = yield this.request({
|
|
49
|
+
path: urlPath,
|
|
50
|
+
method: 'POST',
|
|
51
|
+
headers: headerParameters,
|
|
52
|
+
query: queryParameters,
|
|
53
|
+
body: (0, index_1.CreateEventRequestToJSON)(requestParameters['createEventRequest']),
|
|
54
|
+
}, initOverrides);
|
|
55
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.EventResponseFromJSON)(jsonValue));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Records an LLM usage event for cost tracking. Supports idempotency via trace_id - duplicate trace_ids are safely ignored.
|
|
60
|
+
* Track LLM usage event
|
|
61
|
+
*/
|
|
62
|
+
createEvent(requestParameters, initOverrides) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const response = yield this.createEventRaw(requestParameters, initOverrides);
|
|
65
|
+
return yield response.value();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns paginated list of usage events for the project.
|
|
70
|
+
* List LLM usage events
|
|
71
|
+
*/
|
|
72
|
+
listEventsRaw(requestParameters, initOverrides) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const queryParameters = {};
|
|
75
|
+
if (requestParameters['limit'] != null) {
|
|
76
|
+
queryParameters['limit'] = requestParameters['limit'];
|
|
77
|
+
}
|
|
78
|
+
if (requestParameters['offset'] != null) {
|
|
79
|
+
queryParameters['offset'] = requestParameters['offset'];
|
|
80
|
+
}
|
|
81
|
+
if (requestParameters['from'] != null) {
|
|
82
|
+
queryParameters['from'] = requestParameters['from'].toISOString();
|
|
83
|
+
}
|
|
84
|
+
if (requestParameters['to'] != null) {
|
|
85
|
+
queryParameters['to'] = requestParameters['to'].toISOString();
|
|
86
|
+
}
|
|
87
|
+
const headerParameters = {};
|
|
88
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
89
|
+
headerParameters["Authorization"] = yield this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
|
|
90
|
+
}
|
|
91
|
+
let urlPath = `/v1/events`;
|
|
92
|
+
const response = yield this.request({
|
|
93
|
+
path: urlPath,
|
|
94
|
+
method: 'GET',
|
|
95
|
+
headers: headerParameters,
|
|
96
|
+
query: queryParameters,
|
|
97
|
+
}, initOverrides);
|
|
98
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.EventListResponseFromJSON)(jsonValue));
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Returns paginated list of usage events for the project.
|
|
103
|
+
* List LLM usage events
|
|
104
|
+
*/
|
|
105
|
+
listEvents() {
|
|
106
|
+
return __awaiter(this, arguments, void 0, function* (requestParameters = {}, initOverrides) {
|
|
107
|
+
const response = yield this.listEventsRaw(requestParameters, initOverrides);
|
|
108
|
+
return yield response.value();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.EventsApi = EventsApi;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Cost Monitor API
|
|
3
|
+
* Open-source LLM cost observability platform API. Track, aggregate, and analyze LLM usage costs across your applications.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: v1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import * as runtime from '../runtime';
|
|
13
|
+
import type { MetricsResponse } from '../models/index';
|
|
14
|
+
export interface GetMetricsRequest {
|
|
15
|
+
period: GetMetricsPeriodEnum;
|
|
16
|
+
from?: Date;
|
|
17
|
+
to?: Date;
|
|
18
|
+
groupBy?: GetMetricsGroupByEnum;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export declare class MetricsApi extends runtime.BaseAPI {
|
|
24
|
+
/**
|
|
25
|
+
* Returns aggregated cost and usage metrics for dashboards.
|
|
26
|
+
* Get aggregated metrics
|
|
27
|
+
*/
|
|
28
|
+
getMetricsRaw(requestParameters: GetMetricsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MetricsResponse>>;
|
|
29
|
+
/**
|
|
30
|
+
* Returns aggregated cost and usage metrics for dashboards.
|
|
31
|
+
* Get aggregated metrics
|
|
32
|
+
*/
|
|
33
|
+
getMetrics(requestParameters: GetMetricsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MetricsResponse>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @export
|
|
37
|
+
*/
|
|
38
|
+
export declare const GetMetricsPeriodEnum: {
|
|
39
|
+
readonly Hour: "hour";
|
|
40
|
+
readonly Day: "day";
|
|
41
|
+
};
|
|
42
|
+
export type GetMetricsPeriodEnum = typeof GetMetricsPeriodEnum[keyof typeof GetMetricsPeriodEnum];
|
|
43
|
+
/**
|
|
44
|
+
* @export
|
|
45
|
+
*/
|
|
46
|
+
export declare const GetMetricsGroupByEnum: {
|
|
47
|
+
readonly Model: "model";
|
|
48
|
+
readonly Provider: "provider";
|
|
49
|
+
readonly Feature: "feature";
|
|
50
|
+
readonly UserId: "user_id";
|
|
51
|
+
};
|
|
52
|
+
export type GetMetricsGroupByEnum = typeof GetMetricsGroupByEnum[keyof typeof GetMetricsGroupByEnum];
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* LLM Cost Monitor API
|
|
6
|
+
* Open-source LLM cost observability platform API. Track, aggregate, and analyze LLM usage costs across your applications.
|
|
7
|
+
*
|
|
8
|
+
* The version of the OpenAPI document: v1.0.0
|
|
9
|
+
*
|
|
10
|
+
*
|
|
11
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
12
|
+
* https://openapi-generator.tech
|
|
13
|
+
* Do not edit the class manually.
|
|
14
|
+
*/
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.GetMetricsGroupByEnum = exports.GetMetricsPeriodEnum = exports.MetricsApi = void 0;
|
|
26
|
+
const runtime = require("../runtime");
|
|
27
|
+
const index_1 = require("../models/index");
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
class MetricsApi extends runtime.BaseAPI {
|
|
32
|
+
/**
|
|
33
|
+
* Returns aggregated cost and usage metrics for dashboards.
|
|
34
|
+
* Get aggregated metrics
|
|
35
|
+
*/
|
|
36
|
+
getMetricsRaw(requestParameters, initOverrides) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
if (requestParameters['period'] == null) {
|
|
39
|
+
throw new runtime.RequiredError('period', 'Required parameter "period" was null or undefined when calling getMetrics().');
|
|
40
|
+
}
|
|
41
|
+
const queryParameters = {};
|
|
42
|
+
if (requestParameters['period'] != null) {
|
|
43
|
+
queryParameters['period'] = requestParameters['period'];
|
|
44
|
+
}
|
|
45
|
+
if (requestParameters['from'] != null) {
|
|
46
|
+
queryParameters['from'] = requestParameters['from'].toISOString();
|
|
47
|
+
}
|
|
48
|
+
if (requestParameters['to'] != null) {
|
|
49
|
+
queryParameters['to'] = requestParameters['to'].toISOString();
|
|
50
|
+
}
|
|
51
|
+
if (requestParameters['groupBy'] != null) {
|
|
52
|
+
queryParameters['group_by'] = requestParameters['groupBy'];
|
|
53
|
+
}
|
|
54
|
+
const headerParameters = {};
|
|
55
|
+
if (this.configuration && this.configuration.apiKey) {
|
|
56
|
+
headerParameters["Authorization"] = yield this.configuration.apiKey("Authorization"); // ApiKeyAuth authentication
|
|
57
|
+
}
|
|
58
|
+
let urlPath = `/v1/metrics`;
|
|
59
|
+
const response = yield this.request({
|
|
60
|
+
path: urlPath,
|
|
61
|
+
method: 'GET',
|
|
62
|
+
headers: headerParameters,
|
|
63
|
+
query: queryParameters,
|
|
64
|
+
}, initOverrides);
|
|
65
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.MetricsResponseFromJSON)(jsonValue));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns aggregated cost and usage metrics for dashboards.
|
|
70
|
+
* Get aggregated metrics
|
|
71
|
+
*/
|
|
72
|
+
getMetrics(requestParameters, initOverrides) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const response = yield this.getMetricsRaw(requestParameters, initOverrides);
|
|
75
|
+
return yield response.value();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.MetricsApi = MetricsApi;
|
|
80
|
+
/**
|
|
81
|
+
* @export
|
|
82
|
+
*/
|
|
83
|
+
exports.GetMetricsPeriodEnum = {
|
|
84
|
+
Hour: 'hour',
|
|
85
|
+
Day: 'day'
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* @export
|
|
89
|
+
*/
|
|
90
|
+
exports.GetMetricsGroupByEnum = {
|
|
91
|
+
Model: 'model',
|
|
92
|
+
Provider: 'provider',
|
|
93
|
+
Feature: 'feature',
|
|
94
|
+
UserId: 'user_id'
|
|
95
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Cost Monitor API
|
|
3
|
+
* Open-source LLM cost observability platform API. Track, aggregate, and analyze LLM usage costs across your applications.
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: v1.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
import * as runtime from '../runtime';
|
|
13
|
+
import type { ModelPricing } from '../models/index';
|
|
14
|
+
export interface ListPricingRequest {
|
|
15
|
+
provider?: string;
|
|
16
|
+
model?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
export declare class PricingApi extends runtime.BaseAPI {
|
|
22
|
+
/**
|
|
23
|
+
* Returns current pricing for all supported models.
|
|
24
|
+
* List model pricing
|
|
25
|
+
*/
|
|
26
|
+
listPricingRaw(requestParameters: ListPricingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelPricing>>>;
|
|
27
|
+
/**
|
|
28
|
+
* Returns current pricing for all supported models.
|
|
29
|
+
* List model pricing
|
|
30
|
+
*/
|
|
31
|
+
listPricing(requestParameters?: ListPricingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelPricing>>;
|
|
32
|
+
}
|