@convex-dev/ai-budget 0.0.2-alpha.0 → 0.0.2-alpha.10
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 +335 -183
- package/dist/client/dashboard.d.ts +1 -0
- package/dist/client/dashboard.js +223 -0
- package/dist/client/index.d.ts +494 -35
- package/dist/client/index.js +276 -33
- package/dist/component/_generated/component.d.ts +56 -24
- package/dist/component/lib.d.ts +132 -40
- package/dist/component/lib.js +590 -305
- package/dist/component/schema.d.ts +103 -53
- package/dist/component/schema.js +81 -38
- package/package.json +5 -5
- package/src/client/dashboard.ts +223 -0
- package/src/client/index.ts +407 -73
- package/src/component/_generated/component.ts +79 -29
- package/src/component/lib.test.ts +208 -15
- package/src/component/lib.ts +688 -333
- package/src/component/schema.ts +84 -38
package/dist/component/lib.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export declare const startRequest: import("convex/server").RegisteredMutation<"public", {
|
|
2
2
|
actionName?: string | undefined;
|
|
3
|
+
tags?: {
|
|
4
|
+
dimension: string;
|
|
5
|
+
value: string;
|
|
6
|
+
}[] | undefined;
|
|
3
7
|
rerunOf?: import("convex/values").GenericId<"requests"> | undefined;
|
|
4
8
|
userId: string;
|
|
5
9
|
model: string;
|
|
@@ -15,6 +19,7 @@ export declare const startRequest: import("convex/server").RegisteredMutation<"p
|
|
|
15
19
|
allowed: true;
|
|
16
20
|
requestId: import("convex/values").GenericId<"requests">;
|
|
17
21
|
warnings: string[];
|
|
22
|
+
notices: string[];
|
|
18
23
|
}>>;
|
|
19
24
|
export declare const finishRequest: import("convex/server").RegisteredMutation<"public", {
|
|
20
25
|
error?: string | undefined;
|
|
@@ -22,6 +27,7 @@ export declare const finishRequest: import("convex/server").RegisteredMutation<"
|
|
|
22
27
|
promptTokens?: number | undefined;
|
|
23
28
|
completionTokens?: number | undefined;
|
|
24
29
|
cachedTokens?: number | undefined;
|
|
30
|
+
costNanos?: number | undefined;
|
|
25
31
|
latencyMs?: number | undefined;
|
|
26
32
|
requestId: import("convex/values").GenericId<"requests">;
|
|
27
33
|
}, Promise<{
|
|
@@ -45,6 +51,10 @@ export declare const lineage: import("convex/server").RegisteredQuery<"public",
|
|
|
45
51
|
_id: import("convex/values").GenericId<"requests">;
|
|
46
52
|
_creationTime: number;
|
|
47
53
|
actionName?: string | undefined;
|
|
54
|
+
tags?: {
|
|
55
|
+
dimension: string;
|
|
56
|
+
value: string;
|
|
57
|
+
}[] | undefined;
|
|
48
58
|
estimatedNanos?: number | undefined;
|
|
49
59
|
estimatedTokens?: number | undefined;
|
|
50
60
|
unpricedModel?: boolean | undefined;
|
|
@@ -70,6 +80,10 @@ export declare const lineage: import("convex/server").RegisteredQuery<"public",
|
|
|
70
80
|
_id: import("convex/values").GenericId<"requests">;
|
|
71
81
|
_creationTime: number;
|
|
72
82
|
actionName?: string | undefined;
|
|
83
|
+
tags?: {
|
|
84
|
+
dimension: string;
|
|
85
|
+
value: string;
|
|
86
|
+
}[] | undefined;
|
|
73
87
|
estimatedNanos?: number | undefined;
|
|
74
88
|
estimatedTokens?: number | undefined;
|
|
75
89
|
unpricedModel?: boolean | undefined;
|
|
@@ -98,6 +112,10 @@ export declare const getRequest: import("convex/server").RegisteredQuery<"public
|
|
|
98
112
|
_id: import("convex/values").GenericId<"requests">;
|
|
99
113
|
_creationTime: number;
|
|
100
114
|
actionName?: string | undefined;
|
|
115
|
+
tags?: {
|
|
116
|
+
dimension: string;
|
|
117
|
+
value: string;
|
|
118
|
+
}[] | undefined;
|
|
101
119
|
estimatedNanos?: number | undefined;
|
|
102
120
|
estimatedTokens?: number | undefined;
|
|
103
121
|
unpricedModel?: boolean | undefined;
|
|
@@ -120,12 +138,18 @@ export declare const getRequest: import("convex/server").RegisteredQuery<"public
|
|
|
120
138
|
status: "blocked" | "pending" | "success" | "error";
|
|
121
139
|
} | null>>;
|
|
122
140
|
export declare const listRequests: import("convex/server").RegisteredQuery<"public", {
|
|
141
|
+
dimension?: string | undefined;
|
|
142
|
+
value?: string | undefined;
|
|
123
143
|
userId?: string | undefined;
|
|
124
144
|
limit?: number | undefined;
|
|
125
145
|
}, Promise<{
|
|
126
146
|
_id: import("convex/values").GenericId<"requests">;
|
|
127
147
|
_creationTime: number;
|
|
128
148
|
actionName?: string | undefined;
|
|
149
|
+
tags?: {
|
|
150
|
+
dimension: string;
|
|
151
|
+
value: string;
|
|
152
|
+
}[] | undefined;
|
|
129
153
|
estimatedNanos?: number | undefined;
|
|
130
154
|
estimatedTokens?: number | undefined;
|
|
131
155
|
unpricedModel?: boolean | undefined;
|
|
@@ -147,96 +171,155 @@ export declare const listRequests: import("convex/server").RegisteredQuery<"publ
|
|
|
147
171
|
}[];
|
|
148
172
|
status: "blocked" | "pending" | "success" | "error";
|
|
149
173
|
}[]>>;
|
|
150
|
-
export declare const
|
|
174
|
+
export declare const listBuckets: import("convex/server").RegisteredQuery<"public", {
|
|
175
|
+
dimension?: string | undefined;
|
|
176
|
+
}, Promise<{
|
|
151
177
|
spendTodayNanos: number;
|
|
152
|
-
|
|
178
|
+
spendThisMonthNanos: number;
|
|
179
|
+
_id: import("convex/values").GenericId<"buckets">;
|
|
153
180
|
_creationTime: number;
|
|
154
181
|
requestsPerMinute?: number | undefined;
|
|
182
|
+
maxConcurrent?: number | undefined;
|
|
155
183
|
dailySpendLimitNanos?: number | undefined;
|
|
184
|
+
monthlySpendLimitNanos?: number | undefined;
|
|
156
185
|
lifetimeSpendLimitNanos?: number | undefined;
|
|
157
186
|
dailyTokenLimit?: number | undefined;
|
|
187
|
+
monthlyTokenLimit?: number | undefined;
|
|
158
188
|
lifetimeTokenLimit?: number | undefined;
|
|
159
189
|
blocked?: boolean | undefined;
|
|
190
|
+
warnAtPct?: number | undefined;
|
|
160
191
|
enforcement?: "hard" | "soft" | undefined;
|
|
161
192
|
dailyBumpNanos?: number | undefined;
|
|
193
|
+
monthlyBumpNanos?: number | undefined;
|
|
162
194
|
lifetimeBumpNanos?: number | undefined;
|
|
163
195
|
bumpDayStamp?: string | undefined;
|
|
196
|
+
bumpMonthStamp?: string | undefined;
|
|
164
197
|
tokensToday?: number | undefined;
|
|
198
|
+
monthStamp?: string | undefined;
|
|
199
|
+
tokensThisMonth?: number | undefined;
|
|
165
200
|
reservedTodayNanos?: number | undefined;
|
|
201
|
+
reservedMonthNanos?: number | undefined;
|
|
166
202
|
reservedTotalNanos?: number | undefined;
|
|
167
203
|
reservedTodayTokens?: number | undefined;
|
|
204
|
+
reservedMonthTokens?: number | undefined;
|
|
168
205
|
reservedTotalTokens?: number | undefined;
|
|
169
206
|
pendingCount?: number | undefined;
|
|
170
|
-
|
|
207
|
+
dimension: string;
|
|
208
|
+
value: string;
|
|
171
209
|
totalSpendNanos: number;
|
|
172
210
|
totalRequests: number;
|
|
173
211
|
totalTokens: number;
|
|
174
212
|
dayStamp: string;
|
|
175
213
|
}[]>>;
|
|
176
|
-
export declare const
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
lifetimeSpendLimitNanos?: number | undefined;
|
|
180
|
-
dailyTokenLimit?: number | undefined;
|
|
181
|
-
lifetimeTokenLimit?: number | undefined;
|
|
182
|
-
blocked?: boolean | undefined;
|
|
183
|
-
enforcement?: "hard" | "soft" | undefined;
|
|
184
|
-
userId: string;
|
|
185
|
-
}, Promise<null>>;
|
|
186
|
-
export declare const deleteUser: import("convex/server").RegisteredMutation<"public", {
|
|
187
|
-
userId: string;
|
|
214
|
+
export declare const getBucket: import("convex/server").RegisteredQuery<"public", {
|
|
215
|
+
dimension: string;
|
|
216
|
+
value: string;
|
|
188
217
|
}, Promise<{
|
|
189
|
-
deletedThisBatch: number;
|
|
190
|
-
done: boolean;
|
|
191
|
-
}>>;
|
|
192
|
-
export declare const listActions: import("convex/server").RegisteredQuery<"public", {}, Promise<{
|
|
193
218
|
spendTodayNanos: number;
|
|
194
|
-
|
|
219
|
+
spendThisMonthNanos: number;
|
|
220
|
+
_id: import("convex/values").GenericId<"buckets">;
|
|
195
221
|
_creationTime: number;
|
|
222
|
+
requestsPerMinute?: number | undefined;
|
|
223
|
+
maxConcurrent?: number | undefined;
|
|
196
224
|
dailySpendLimitNanos?: number | undefined;
|
|
225
|
+
monthlySpendLimitNanos?: number | undefined;
|
|
197
226
|
lifetimeSpendLimitNanos?: number | undefined;
|
|
198
227
|
dailyTokenLimit?: number | undefined;
|
|
228
|
+
monthlyTokenLimit?: number | undefined;
|
|
199
229
|
lifetimeTokenLimit?: number | undefined;
|
|
230
|
+
blocked?: boolean | undefined;
|
|
231
|
+
warnAtPct?: number | undefined;
|
|
200
232
|
enforcement?: "hard" | "soft" | undefined;
|
|
201
233
|
dailyBumpNanos?: number | undefined;
|
|
234
|
+
monthlyBumpNanos?: number | undefined;
|
|
202
235
|
lifetimeBumpNanos?: number | undefined;
|
|
203
236
|
bumpDayStamp?: string | undefined;
|
|
237
|
+
bumpMonthStamp?: string | undefined;
|
|
204
238
|
tokensToday?: number | undefined;
|
|
239
|
+
monthStamp?: string | undefined;
|
|
240
|
+
tokensThisMonth?: number | undefined;
|
|
205
241
|
reservedTodayNanos?: number | undefined;
|
|
242
|
+
reservedMonthNanos?: number | undefined;
|
|
206
243
|
reservedTotalNanos?: number | undefined;
|
|
207
244
|
reservedTodayTokens?: number | undefined;
|
|
245
|
+
reservedMonthTokens?: number | undefined;
|
|
208
246
|
reservedTotalTokens?: number | undefined;
|
|
209
247
|
pendingCount?: number | undefined;
|
|
210
|
-
|
|
248
|
+
dimension: string;
|
|
249
|
+
value: string;
|
|
211
250
|
totalSpendNanos: number;
|
|
212
251
|
totalRequests: number;
|
|
213
252
|
totalTokens: number;
|
|
214
253
|
dayStamp: string;
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
lifetimeNanos?: number | undefined;
|
|
220
|
-
userId: string;
|
|
221
|
-
}, Promise<null>>;
|
|
222
|
-
export declare const bumpAction: import("convex/server").RegisteredMutation<"public", {
|
|
223
|
-
dailyNanos?: number | undefined;
|
|
224
|
-
lifetimeNanos?: number | undefined;
|
|
225
|
-
name: string;
|
|
226
|
-
}, Promise<null>>;
|
|
227
|
-
export declare const bumpGlobal: import("convex/server").RegisteredMutation<"public", {
|
|
228
|
-
dailyNanos?: number | undefined;
|
|
229
|
-
lifetimeNanos?: number | undefined;
|
|
230
|
-
}, Promise<null>>;
|
|
231
|
-
export declare const setActionLimits: import("convex/server").RegisteredMutation<"public", {
|
|
254
|
+
} | null>>;
|
|
255
|
+
export declare const setBucketLimits: import("convex/server").RegisteredMutation<"public", {
|
|
256
|
+
requestsPerMinute?: number | undefined;
|
|
257
|
+
maxConcurrent?: number | undefined;
|
|
232
258
|
dailySpendLimitNanos?: number | undefined;
|
|
259
|
+
monthlySpendLimitNanos?: number | undefined;
|
|
233
260
|
lifetimeSpendLimitNanos?: number | undefined;
|
|
234
261
|
dailyTokenLimit?: number | undefined;
|
|
262
|
+
monthlyTokenLimit?: number | undefined;
|
|
235
263
|
lifetimeTokenLimit?: number | undefined;
|
|
264
|
+
blocked?: boolean | undefined;
|
|
265
|
+
warnAtPct?: number | undefined;
|
|
236
266
|
enforcement?: "hard" | "soft" | undefined;
|
|
237
|
-
|
|
238
|
-
|
|
267
|
+
dimension: string;
|
|
268
|
+
value: string;
|
|
269
|
+
}, Promise<null>>;
|
|
270
|
+
export declare const bumpBucket: import("convex/server").RegisteredMutation<"public", {
|
|
271
|
+
dailyNanos?: number | undefined;
|
|
272
|
+
monthlyNanos?: number | undefined;
|
|
273
|
+
lifetimeNanos?: number | undefined;
|
|
274
|
+
dimension: string;
|
|
275
|
+
value: string;
|
|
239
276
|
}, Promise<null>>;
|
|
277
|
+
export declare const adjustBucket: import("convex/server").RegisteredMutation<"public", {
|
|
278
|
+
tokens?: number | undefined;
|
|
279
|
+
reason?: string | undefined;
|
|
280
|
+
dimension: string;
|
|
281
|
+
value: string;
|
|
282
|
+
deltaNanos: number;
|
|
283
|
+
}, Promise<null>>;
|
|
284
|
+
export declare const listAdjustments: import("convex/server").RegisteredQuery<"public", {
|
|
285
|
+
limit?: number | undefined;
|
|
286
|
+
dimension: string;
|
|
287
|
+
value: string;
|
|
288
|
+
}, Promise<{
|
|
289
|
+
_id: import("convex/values").GenericId<"adjustments">;
|
|
290
|
+
_creationTime: number;
|
|
291
|
+
tokens?: number | undefined;
|
|
292
|
+
reason?: string | undefined;
|
|
293
|
+
dimension: string;
|
|
294
|
+
value: string;
|
|
295
|
+
deltaNanos: number;
|
|
296
|
+
}[]>>;
|
|
297
|
+
export declare const usageHistory: import("convex/server").RegisteredQuery<"public", {
|
|
298
|
+
limit?: number | undefined;
|
|
299
|
+
dimension: string;
|
|
300
|
+
value: string;
|
|
301
|
+
period: "day" | "month";
|
|
302
|
+
}, Promise<{
|
|
303
|
+
_id: import("convex/values").GenericId<"usage">;
|
|
304
|
+
_creationTime: number;
|
|
305
|
+
dimension: string;
|
|
306
|
+
value: string;
|
|
307
|
+
period: "day" | "month";
|
|
308
|
+
stamp: string;
|
|
309
|
+
spendNanos: number;
|
|
310
|
+
tokens: number;
|
|
311
|
+
requests: number;
|
|
312
|
+
}[]>>;
|
|
313
|
+
export declare const setAlertDefaults: import("convex/server").RegisteredMutation<"public", {
|
|
314
|
+
warnAtPct?: number | undefined;
|
|
315
|
+
}, Promise<null>>;
|
|
316
|
+
export declare const deleteBucket: import("convex/server").RegisteredMutation<"public", {
|
|
317
|
+
dimension: string;
|
|
318
|
+
value: string;
|
|
319
|
+
}, Promise<{
|
|
320
|
+
deletedThisBatch: number;
|
|
321
|
+
done: boolean;
|
|
322
|
+
}>>;
|
|
240
323
|
export declare const getModelPolicy: import("convex/server").RegisteredQuery<"public", {}, Promise<{
|
|
241
324
|
mode: "open" | "allowlist" | "denylist";
|
|
242
325
|
models: string[];
|
|
@@ -247,17 +330,25 @@ export declare const getGlobalStatus: import("convex/server").RegisteredQuery<"p
|
|
|
247
330
|
enforcement: "hard" | "soft";
|
|
248
331
|
spentTodayNanos: number;
|
|
249
332
|
spentTotalNanos: number;
|
|
333
|
+
retentionMs: number | null;
|
|
334
|
+
defaultWarnAtPct: number | null;
|
|
250
335
|
}>>;
|
|
251
336
|
export declare const setGlobalLimits: import("convex/server").RegisteredMutation<"public", {
|
|
252
337
|
dailySpendLimitNanos?: number | undefined;
|
|
253
338
|
lifetimeSpendLimitNanos?: number | undefined;
|
|
254
339
|
enforcement?: "hard" | "soft" | undefined;
|
|
255
340
|
}, Promise<null>>;
|
|
341
|
+
export declare const bumpGlobal: import("convex/server").RegisteredMutation<"public", {
|
|
342
|
+
dailyNanos?: number | undefined;
|
|
343
|
+
monthlyNanos?: number | undefined;
|
|
344
|
+
lifetimeNanos?: number | undefined;
|
|
345
|
+
}, Promise<null>>;
|
|
256
346
|
export declare const setModelPolicy: import("convex/server").RegisteredMutation<"public", {
|
|
257
347
|
models: string[];
|
|
258
348
|
mode: "open" | "allowlist" | "denylist";
|
|
259
349
|
}, Promise<null>>;
|
|
260
350
|
export declare const setPrice: import("convex/server").RegisteredMutation<"public", {
|
|
351
|
+
cachedNanosPerMTok?: number | undefined;
|
|
261
352
|
model: string;
|
|
262
353
|
inputNanosPerMTok: number;
|
|
263
354
|
outputNanosPerMTok: number;
|
|
@@ -265,5 +356,6 @@ export declare const setPrice: import("convex/server").RegisteredMutation<"publi
|
|
|
265
356
|
export declare const listPrices: import("convex/server").RegisteredQuery<"public", {}, Promise<Record<string, {
|
|
266
357
|
input: number;
|
|
267
358
|
output: number;
|
|
359
|
+
cached?: number;
|
|
268
360
|
overridden: boolean;
|
|
269
361
|
}>>>;
|