@openmeter/sdk 1.0.0-beta.22 → 1.0.0-beta.221
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 +38 -150
- package/dist/cjs/index.cjs +18 -0
- package/dist/cjs/index.d.cts +1 -0
- package/dist/cjs/index.js.map +1 -0
- 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 +361 -0
- package/dist/cjs/src/client/billing.d.cts +526 -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 +283 -0
- package/dist/cjs/src/client/customers.d.cts +251 -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 +281 -0
- package/dist/cjs/src/client/entitlements.d.cts +556 -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 +78 -0
- package/dist/cjs/src/client/features.js.map +1 -0
- package/dist/cjs/src/client/index.cjs +120 -0
- package/dist/cjs/src/client/index.d.cts +53 -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 +115 -0
- package/dist/cjs/src/client/meters.d.cts +123 -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 +397 -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 +25246 -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/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 +170 -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 +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 +12205 -0
- package/dist/cjs/src/zod/index.d.cts +19139 -0
- package/dist/cjs/src/zod/index.js.map +1 -0
- package/dist/cjs/tsconfig.0bedc47d.tsbuildinfo +1 -0
- package/dist/cjs/tsconfig.c449a50f.tsbuildinfo +1 -0
- package/dist/index.d.ts +1 -14
- package/dist/index.js +2 -15
- package/dist/index.js.map +1 -0
- 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 +526 -0
- package/dist/src/client/billing.js +354 -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 +251 -0
- package/dist/src/client/customers.js +276 -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 +556 -0
- package/dist/src/client/entitlements.js +276 -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 +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 +53 -0
- package/dist/src/client/index.js +80 -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 +123 -0
- package/dist/src/client/meters.js +111 -0
- package/dist/src/client/meters.js.map +1 -0
- package/dist/src/client/notifications.d.ts +397 -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 +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 +25246 -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/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 +170 -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 +63 -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 +19139 -0
- package/dist/src/zod/index.js +12178 -0
- package/dist/src/zod/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/orval.config.ts +42 -0
- package/package.json +89 -35
- package/patches/openapi-typescript.patch +6194 -0
- package/dist/clients/client.d.ts +0 -40
- package/dist/clients/client.js +0 -104
- package/dist/clients/event.d.ts +0 -79
- package/dist/clients/event.js +0 -53
- package/dist/clients/meter.d.ts +0 -71
- package/dist/clients/meter.js +0 -64
- package/dist/clients/portal.d.ts +0 -23
- package/dist/clients/portal.js +0 -37
- package/dist/next.d.ts +0 -15
- package/dist/next.js +0 -46
- package/dist/schemas/openapi.d.ts +0 -460
- package/dist/schemas/openapi.js +0 -5
- package/dist/test/agent.d.ts +0 -2
- package/dist/test/agent.js +0 -178
- package/dist/test/mocks.d.ts +0 -12
- package/dist/test/mocks.js +0 -32
- package/index.ts +0 -22
- package/next.ts +0 -76
package/Makefile
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# A Self-Documenting Makefile: http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
|
|
2
|
+
|
|
3
|
+
.PHONY: generate
|
|
4
|
+
generate: ## Generate JavaScript SDK
|
|
5
|
+
$(call print-target)
|
|
6
|
+
pnpm --frozen-lockfile install
|
|
7
|
+
pnpm run generate
|
|
8
|
+
pnpm build
|
|
9
|
+
pnpm test
|
|
10
|
+
|
|
11
|
+
# Warning: keep in sync with .dagger/release.go for now
|
|
12
|
+
.PHONY: publish-javascript-sdk
|
|
13
|
+
publish-javascript-sdk: ## Publish JavaScript SDK
|
|
14
|
+
$(call print-target)
|
|
15
|
+
@if [ -z "$$JS_SDK_RELEASE_VERSION" ]; then \
|
|
16
|
+
echo "ERROR: JS_SDK_RELEASE_VERSION is required"; \
|
|
17
|
+
echo "Usage: JS_SDK_RELEASE_VERSION=1.2.3 make publish-javascript-sdk [JS_SDK_RELEASE_TAG=beta]"; \
|
|
18
|
+
exit 1; \
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
@if [ -z "$$JS_SDK_RELEASE_TAG" ]; then \
|
|
22
|
+
echo "ERROR: JS_SDK_RELEASE_TAG is required"; \
|
|
23
|
+
echo "Usage: JS_SDK_RELEASE_VERSION=1.2.3 make publish-javascript-sdk [JS_SDK_RELEASE_TAG=beta]"; \
|
|
24
|
+
exit 1; \
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
pnpm --frozen-lockfile install
|
|
28
|
+
pnpm version "$${JS_SDK_RELEASE_VERSION}" --no-git-tag-version
|
|
29
|
+
CACHE_BUSTER="$$(date --rfc-3339=seconds)" pnpm publish --no-git-checks --tag "$${JS_SDK_RELEASE_TAG}"
|
|
30
|
+
@echo "✅ Published $${JS_SDK_RELEASE_TAG} JavaScript SDK version $${JS_SDK_RELEASE_VERSION} with tag $${JS_SDK_RELEASE_TAG}"
|
|
31
|
+
|
|
32
|
+
.PHONY: help
|
|
33
|
+
.DEFAULT_GOAL := help
|
|
34
|
+
help:
|
|
35
|
+
@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
|
36
|
+
|
|
37
|
+
# Variable outputting/exporting rules
|
|
38
|
+
var-%: ; @echo $($*)
|
|
39
|
+
varexport-%: ; @echo $*=$($*)
|
|
40
|
+
|
|
41
|
+
define print-target
|
|
42
|
+
@printf "Executing target: \033[36m$@\033[0m\n"
|
|
43
|
+
endef
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# OpenMeter
|
|
1
|
+
# OpenMeter JavaScript SDK
|
|
2
2
|
|
|
3
3
|
## Install
|
|
4
4
|
|
|
@@ -6,174 +6,62 @@
|
|
|
6
6
|
npm install --save @openmeter/sdk
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Configuration for accessing the OpenMeter API
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
import { OpenMeter, type Event } from '@openmeter/sdk'
|
|
13
|
-
|
|
14
|
-
const openmeter = new OpenMeter({ baseUrl: 'http://localhost:8888' })
|
|
15
|
-
|
|
16
|
-
// Ingesting an event
|
|
17
|
-
const event: Event = {
|
|
18
|
-
specversion: '1.0',
|
|
19
|
-
id: 'id-1',
|
|
20
|
-
source: 'my-app',
|
|
21
|
-
type: 'my-type',
|
|
22
|
-
subject: 'my-awesome-user-id',
|
|
23
|
-
time: new Date(),
|
|
24
|
-
data: {
|
|
25
|
-
api_calls: 1,
|
|
26
|
-
},
|
|
27
|
-
}
|
|
28
|
-
await openmeter.events.ingest(event)
|
|
29
|
-
|
|
30
|
-
// Fetching a meter
|
|
31
|
-
const meter = await openmeter.meters.get('m1')
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## API
|
|
35
|
-
|
|
36
|
-
### Events
|
|
37
|
-
|
|
38
|
-
#### ingest
|
|
39
|
-
|
|
40
|
-
```ts
|
|
41
|
-
import { type Event } from '@openmeter/sdk'
|
|
42
|
-
|
|
43
|
-
const event: Event = {
|
|
44
|
-
specversion: '1.0',
|
|
45
|
-
id: 'id-1',
|
|
46
|
-
source: 'my-app',
|
|
47
|
-
type: 'my-type',
|
|
48
|
-
subject: 'my-awesome-user-id',
|
|
49
|
-
time: new Date(),
|
|
50
|
-
data: {
|
|
51
|
-
api_calls: 1,
|
|
52
|
-
},
|
|
53
|
-
}
|
|
54
|
-
await openmeter.events.ingest(event)
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
#### list
|
|
58
|
-
|
|
59
|
-
Retrieve latest raw events. Useful for debugging.
|
|
60
|
-
|
|
61
|
-
```ts
|
|
62
|
-
const events = await openmeter.events.list()
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Meters
|
|
66
|
-
|
|
67
|
-
#### list
|
|
68
|
-
|
|
69
|
-
List meters.
|
|
70
|
-
|
|
71
|
-
```ts
|
|
72
|
-
const meters = await openmeter.meters.list()
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
#### get
|
|
76
|
-
|
|
77
|
-
Get one meter by slug.
|
|
11
|
+
To use the OpenMeter SDK on your backend, you need to configure `baseUrl` and `apiKey` for OpenMeter Cloud:
|
|
78
12
|
|
|
79
13
|
```ts
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
#### query
|
|
84
|
-
|
|
85
|
-
Query meter values.
|
|
14
|
+
import { OpenMeter } from '@openmeter/sdk'
|
|
86
15
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const values = await openmeter.meters.query('my-meter-slug', {
|
|
91
|
-
subject: ['user-1'],
|
|
92
|
-
groupBy: ['method', 'path'],
|
|
93
|
-
from: new Date('2021-01-01'),
|
|
94
|
-
to: new Date('2021-01-02'),
|
|
95
|
-
windowSize: WindowSize.HOUR,
|
|
16
|
+
const openmeter = new OpenMeter({
|
|
17
|
+
baseUrl: 'https://openmeter.cloud',
|
|
18
|
+
apiKey: 'om_...',
|
|
96
19
|
})
|
|
97
20
|
```
|
|
98
21
|
|
|
99
|
-
|
|
22
|
+
## Configuration for accessing the OpenMeter Portal API
|
|
100
23
|
|
|
101
|
-
|
|
24
|
+
To use the OpenMeter Portal SDK on your frontend, you need to configure it use a portal token in your configuration:
|
|
102
25
|
|
|
103
26
|
```ts
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### Portal
|
|
108
|
-
|
|
109
|
-
#### createToken
|
|
110
|
-
|
|
111
|
-
Create subject specific tokens.
|
|
112
|
-
Useful to build consumer dashboards.
|
|
27
|
+
import { OpenMeter } from '@openmeter/sdk/portal'
|
|
113
28
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
#### invalidateTokens
|
|
119
|
-
|
|
120
|
-
Invalidate portal tokens for all or specific subjects.
|
|
121
|
-
|
|
122
|
-
```ts
|
|
123
|
-
await openmeter.portal.invalidateTokens()
|
|
29
|
+
const openmeter = new OpenMeter({
|
|
30
|
+
baseUrl: 'https://openmeter.cloud',
|
|
31
|
+
portalToken: 'om_portal_...',
|
|
32
|
+
})
|
|
124
33
|
```
|
|
125
34
|
|
|
126
|
-
##
|
|
127
|
-
|
|
128
|
-
### Vercel AI SDK / Next.js
|
|
35
|
+
## Configuration for accessing the OpenMeter React SDK
|
|
129
36
|
|
|
130
|
-
|
|
131
|
-
The OpenMeter `createOpenAIStreamCallback` helper function decorates the callback with a `onUsage`
|
|
132
|
-
callback which you can use to report usage to OpenMeter.
|
|
37
|
+
To use the OpenMeter React SDK for the portal API, you need to configure a Portal Client and a React Context:
|
|
133
38
|
|
|
134
39
|
```ts
|
|
135
|
-
import
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
stream: true,
|
|
40
|
+
import {
|
|
41
|
+
OpenMeter,
|
|
42
|
+
OpenMeterProvider,
|
|
43
|
+
useOpenMeter,
|
|
44
|
+
} from '@openmeter/sdk/react'
|
|
45
|
+
|
|
46
|
+
function App() {
|
|
47
|
+
// get portal token from your backend
|
|
48
|
+
const openmeter = new OpenMeter({
|
|
49
|
+
baseUrl: 'https://openmeter.cloud',
|
|
50
|
+
portalToken,
|
|
147
51
|
})
|
|
148
52
|
|
|
149
|
-
|
|
150
|
-
{
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
{
|
|
155
|
-
// onToken() => {...}
|
|
156
|
-
// onFinal() => {...}
|
|
157
|
-
async onUsage(usage) {
|
|
158
|
-
try {
|
|
159
|
-
await openmeter.events.ingest({
|
|
160
|
-
source: 'my-app',
|
|
161
|
-
type: 'my-event-type',
|
|
162
|
-
subject: 'my-customer-id',
|
|
163
|
-
data: {
|
|
164
|
-
// Usage is { total_tokens, prompt_tokens, completion_tokens }
|
|
165
|
-
...usage,
|
|
166
|
-
model,
|
|
167
|
-
},
|
|
168
|
-
})
|
|
169
|
-
} catch (err) {
|
|
170
|
-
console.error('failed to ingest usage', err)
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
}
|
|
53
|
+
return (
|
|
54
|
+
<OpenMeterProvider value={openmeter}>
|
|
55
|
+
<UsageComponent />
|
|
56
|
+
{/* ... */}
|
|
57
|
+
</OpenMeterProvider>
|
|
174
58
|
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function UsageComponent() {
|
|
62
|
+
// get openmeter client from context
|
|
63
|
+
const openmeter = useOpenMeter()
|
|
175
64
|
|
|
176
|
-
|
|
177
|
-
return new StreamingTextResponse(stream)
|
|
65
|
+
// ...
|
|
178
66
|
}
|
|
179
67
|
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./src/client/index.cjs"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/client/index.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Addons = void 0;
|
|
4
|
+
const utils_js_1 = require("./utils.cjs");
|
|
5
|
+
class Addons {
|
|
6
|
+
client;
|
|
7
|
+
constructor(client) {
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Create a addon
|
|
12
|
+
* @param addon - The addon to create
|
|
13
|
+
* @param options - Optional request options
|
|
14
|
+
* @returns The created addon
|
|
15
|
+
*/
|
|
16
|
+
async create(addon, options) {
|
|
17
|
+
const resp = await this.client.POST('/api/v1/addons', {
|
|
18
|
+
body: addon,
|
|
19
|
+
...options,
|
|
20
|
+
});
|
|
21
|
+
return (0, utils_js_1.transformResponse)(resp);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* List addons
|
|
25
|
+
* @param params - Optional parameters for listing addons
|
|
26
|
+
* @param options - Optional request options
|
|
27
|
+
* @returns A list of addons
|
|
28
|
+
*/
|
|
29
|
+
async list(params, options) {
|
|
30
|
+
const resp = await this.client.GET('/api/v1/addons', {
|
|
31
|
+
params: { query: params },
|
|
32
|
+
...options,
|
|
33
|
+
});
|
|
34
|
+
return (0, utils_js_1.transformResponse)(resp);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get an addon by ID
|
|
38
|
+
* @param addonId - The ID of the addon to retrieve
|
|
39
|
+
* @param options - Optional request options
|
|
40
|
+
* @returns The addon
|
|
41
|
+
*/
|
|
42
|
+
async get(addonId, options) {
|
|
43
|
+
const resp = await this.client.GET('/api/v1/addons/{addonId}', {
|
|
44
|
+
params: { path: { addonId } },
|
|
45
|
+
...options,
|
|
46
|
+
});
|
|
47
|
+
return (0, utils_js_1.transformResponse)(resp);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Update an addon
|
|
51
|
+
* @param addonId - The ID of the addon to update
|
|
52
|
+
* @param addon - The addon data to update
|
|
53
|
+
* @param options - Optional request options
|
|
54
|
+
* @returns The updated addon
|
|
55
|
+
*/
|
|
56
|
+
async update(addonId, addon, options) {
|
|
57
|
+
const resp = await this.client.PUT('/api/v1/addons/{addonId}', {
|
|
58
|
+
body: addon,
|
|
59
|
+
params: { path: { addonId } },
|
|
60
|
+
...options,
|
|
61
|
+
});
|
|
62
|
+
return (0, utils_js_1.transformResponse)(resp);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Delete an addon by ID
|
|
66
|
+
* @param addonId - The ID of the addon to delete
|
|
67
|
+
* @param options - Optional request options
|
|
68
|
+
* @returns void or standard error response structure
|
|
69
|
+
*/
|
|
70
|
+
async delete(addonId, options) {
|
|
71
|
+
const resp = await this.client.DELETE('/api/v1/addons/{addonId}', {
|
|
72
|
+
params: { path: { addonId } },
|
|
73
|
+
...options,
|
|
74
|
+
});
|
|
75
|
+
return (0, utils_js_1.transformResponse)(resp);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Publish an addon
|
|
79
|
+
* @param addonId - The ID of the addon to publish
|
|
80
|
+
* @param options - Optional request options
|
|
81
|
+
* @returns The published addon
|
|
82
|
+
*/
|
|
83
|
+
async publish(addonId, options) {
|
|
84
|
+
const resp = await this.client.POST('/api/v1/addons/{addonId}/publish', {
|
|
85
|
+
params: { path: { addonId } },
|
|
86
|
+
...options,
|
|
87
|
+
});
|
|
88
|
+
return (0, utils_js_1.transformResponse)(resp);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Archive an addon
|
|
92
|
+
* @param addonId - The ID of the addon to archive
|
|
93
|
+
* @param options - Optional request options
|
|
94
|
+
* @returns The archived addon
|
|
95
|
+
*/
|
|
96
|
+
async archive(addonId, options) {
|
|
97
|
+
const resp = await this.client.POST('/api/v1/addons/{addonId}/archive', {
|
|
98
|
+
params: { path: { addonId } },
|
|
99
|
+
...options,
|
|
100
|
+
});
|
|
101
|
+
return (0, utils_js_1.transformResponse)(resp);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.Addons = Addons;
|
|
105
|
+
//# sourceMappingURL=addons.js.map
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { RequestOptions } from './common.cjs';
|
|
2
|
+
import type { paths, AddonCreate, operations } from './schemas.cjs';
|
|
3
|
+
import type { Client } from 'openapi-fetch';
|
|
4
|
+
export declare class Addons {
|
|
5
|
+
private client;
|
|
6
|
+
constructor(client: Client<paths, `${string}/${string}`>);
|
|
7
|
+
/**
|
|
8
|
+
* Create a addon
|
|
9
|
+
* @param addon - The addon to create
|
|
10
|
+
* @param options - Optional request options
|
|
11
|
+
* @returns The created addon
|
|
12
|
+
*/
|
|
13
|
+
create(addon: AddonCreate, options?: RequestOptions): Promise<{
|
|
14
|
+
readonly id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
|
|
18
|
+
readonly createdAt: Date;
|
|
19
|
+
readonly updatedAt: Date;
|
|
20
|
+
readonly deletedAt?: Date;
|
|
21
|
+
key: string;
|
|
22
|
+
readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
|
|
23
|
+
readonly version: number;
|
|
24
|
+
instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"];
|
|
25
|
+
currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
|
|
26
|
+
readonly effectiveFrom?: Date;
|
|
27
|
+
readonly effectiveTo?: Date;
|
|
28
|
+
readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"];
|
|
29
|
+
rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][];
|
|
30
|
+
readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* List addons
|
|
34
|
+
* @param params - Optional parameters for listing addons
|
|
35
|
+
* @param options - Optional request options
|
|
36
|
+
* @returns A list of addons
|
|
37
|
+
*/
|
|
38
|
+
list(params?: operations['listAddons']['parameters']['query'], options?: RequestOptions): Promise<{
|
|
39
|
+
totalCount: number;
|
|
40
|
+
page: number;
|
|
41
|
+
pageSize: number;
|
|
42
|
+
items: import("./schemas.cjs").components["schemas"]["Addon"][];
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Get an addon by ID
|
|
46
|
+
* @param addonId - The ID of the addon to retrieve
|
|
47
|
+
* @param options - Optional request options
|
|
48
|
+
* @returns The addon
|
|
49
|
+
*/
|
|
50
|
+
get(addonId: string, options?: RequestOptions): Promise<{
|
|
51
|
+
readonly id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
description?: string;
|
|
54
|
+
metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
|
|
55
|
+
readonly createdAt: Date;
|
|
56
|
+
readonly updatedAt: Date;
|
|
57
|
+
readonly deletedAt?: Date;
|
|
58
|
+
key: string;
|
|
59
|
+
readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
|
|
60
|
+
readonly version: number;
|
|
61
|
+
instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"];
|
|
62
|
+
currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
|
|
63
|
+
readonly effectiveFrom?: Date;
|
|
64
|
+
readonly effectiveTo?: Date;
|
|
65
|
+
readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"];
|
|
66
|
+
rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][];
|
|
67
|
+
readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null;
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Update an addon
|
|
71
|
+
* @param addonId - The ID of the addon to update
|
|
72
|
+
* @param addon - The addon data to update
|
|
73
|
+
* @param options - Optional request options
|
|
74
|
+
* @returns The updated addon
|
|
75
|
+
*/
|
|
76
|
+
update(addonId: string, addon: operations['updateAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
|
|
77
|
+
readonly id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
|
|
81
|
+
readonly createdAt: Date;
|
|
82
|
+
readonly updatedAt: Date;
|
|
83
|
+
readonly deletedAt?: Date;
|
|
84
|
+
key: string;
|
|
85
|
+
readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
|
|
86
|
+
readonly version: number;
|
|
87
|
+
instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"];
|
|
88
|
+
currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
|
|
89
|
+
readonly effectiveFrom?: Date;
|
|
90
|
+
readonly effectiveTo?: Date;
|
|
91
|
+
readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"];
|
|
92
|
+
rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][];
|
|
93
|
+
readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null;
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Delete an addon by ID
|
|
97
|
+
* @param addonId - The ID of the addon to delete
|
|
98
|
+
* @param options - Optional request options
|
|
99
|
+
* @returns void or standard error response structure
|
|
100
|
+
*/
|
|
101
|
+
delete(addonId: string, options?: RequestOptions): Promise<undefined>;
|
|
102
|
+
/**
|
|
103
|
+
* Publish an addon
|
|
104
|
+
* @param addonId - The ID of the addon to publish
|
|
105
|
+
* @param options - Optional request options
|
|
106
|
+
* @returns The published addon
|
|
107
|
+
*/
|
|
108
|
+
publish(addonId: string, options?: RequestOptions): Promise<{
|
|
109
|
+
readonly id: string;
|
|
110
|
+
name: string;
|
|
111
|
+
description?: string;
|
|
112
|
+
metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
|
|
113
|
+
readonly createdAt: Date;
|
|
114
|
+
readonly updatedAt: Date;
|
|
115
|
+
readonly deletedAt?: Date;
|
|
116
|
+
key: string;
|
|
117
|
+
readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
|
|
118
|
+
readonly version: number;
|
|
119
|
+
instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"];
|
|
120
|
+
currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
|
|
121
|
+
readonly effectiveFrom?: Date;
|
|
122
|
+
readonly effectiveTo?: Date;
|
|
123
|
+
readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"];
|
|
124
|
+
rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][];
|
|
125
|
+
readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null;
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Archive an addon
|
|
129
|
+
* @param addonId - The ID of the addon to archive
|
|
130
|
+
* @param options - Optional request options
|
|
131
|
+
* @returns The archived addon
|
|
132
|
+
*/
|
|
133
|
+
archive(addonId: string, options?: RequestOptions): Promise<{
|
|
134
|
+
readonly id: string;
|
|
135
|
+
name: string;
|
|
136
|
+
description?: string;
|
|
137
|
+
metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
|
|
138
|
+
readonly createdAt: Date;
|
|
139
|
+
readonly updatedAt: Date;
|
|
140
|
+
readonly deletedAt?: Date;
|
|
141
|
+
key: string;
|
|
142
|
+
readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"];
|
|
143
|
+
readonly version: number;
|
|
144
|
+
instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"];
|
|
145
|
+
currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
|
|
146
|
+
readonly effectiveFrom?: Date;
|
|
147
|
+
readonly effectiveTo?: Date;
|
|
148
|
+
readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"];
|
|
149
|
+
rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][];
|
|
150
|
+
readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null;
|
|
151
|
+
}>;
|
|
152
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addons.js","sourceRoot":"","sources":["../../../../src/client/addons.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAK9C,MAAa,MAAM;IACG;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,KAAkB,EAAE,OAAwB;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACpD,IAAI,EAAE,KAAK;YACX,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CACf,MAAwD,EACxD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE;YACnD,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YACzB,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,OAAwB;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE;YAC7D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE;YAC7B,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,OAAe,EACf,KAA8E,EAC9E,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE;YAC7D,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE;YAC7B,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,OAAwB;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE;YAChE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE;YAC7B,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAwB;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACtE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE;YAC7B,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAwB;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACtE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE;YAC7B,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,IAAA,4BAAiB,EAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF;AApHD,wBAoHC"}
|