@anuragpal02/zcl-contracts 0.50.0 → 0.51.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/dist/admin.d.ts +68 -0
- package/dist/admin.d.ts.map +1 -1
- package/dist/admin.js +57 -0
- package/package.json +1 -1
package/dist/admin.d.ts
CHANGED
|
@@ -466,6 +466,74 @@ export type AdminJobStep = z.infer<typeof adminJobStepSchema>;
|
|
|
466
466
|
export type AdminJobEvent = z.infer<typeof adminJobEventSchema>;
|
|
467
467
|
export type AdminJobDetailResponse = z.infer<typeof adminJobDetailResponseSchema>;
|
|
468
468
|
export type AdminUsageResponse = z.infer<typeof adminUsageResponseSchema>;
|
|
469
|
+
/** What a captured credit was spent on: a generation job type, a frame iteration, or
|
|
470
|
+
* a capture whose reservation no longer resolves to either (`unlinked`). */
|
|
471
|
+
export declare const freeCreditSpendTargetSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
472
|
+
"image.generate": "image.generate";
|
|
473
|
+
"prompt.enhance": "prompt.enhance";
|
|
474
|
+
"image.edit": "image.edit";
|
|
475
|
+
"image.mask": "image.mask";
|
|
476
|
+
"image.export": "image.export";
|
|
477
|
+
"image.panel": "image.panel";
|
|
478
|
+
"video.loop": "video.loop";
|
|
479
|
+
"video.upscale": "video.upscale";
|
|
480
|
+
"video.smart": "video.smart";
|
|
481
|
+
"video.panel": "video.panel";
|
|
482
|
+
}>, z.ZodLiteral<"frame_iteration">, z.ZodLiteral<"unlinked">]>;
|
|
483
|
+
export declare const adminFreeCreditsResponseSchema: z.ZodObject<{
|
|
484
|
+
data: z.ZodObject<{
|
|
485
|
+
asOf: z.ZodString;
|
|
486
|
+
workspaces: z.ZodObject<{
|
|
487
|
+
total: z.ZodNumber;
|
|
488
|
+
neverPurchased: z.ZodNumber;
|
|
489
|
+
freeOnlyActive: z.ZodNumber;
|
|
490
|
+
}, z.core.$strip>;
|
|
491
|
+
given: z.ZodObject<{
|
|
492
|
+
signupBonus: z.ZodNumber;
|
|
493
|
+
adminTopups: z.ZodNumber;
|
|
494
|
+
total: z.ZodNumber;
|
|
495
|
+
}, z.core.$strip>;
|
|
496
|
+
purchased: z.ZodNumber;
|
|
497
|
+
otherGrants: z.ZodNumber;
|
|
498
|
+
spent: z.ZodObject<{
|
|
499
|
+
total: z.ZodNumber;
|
|
500
|
+
byFreeOnlyWorkspaces: z.ZodNumber;
|
|
501
|
+
}, z.core.$strip>;
|
|
502
|
+
freeBurnt: z.ZodObject<{
|
|
503
|
+
exact: z.ZodNumber;
|
|
504
|
+
lowerBound: z.ZodNumber;
|
|
505
|
+
upperBound: z.ZodNumber;
|
|
506
|
+
}, z.core.$strip>;
|
|
507
|
+
freeOnlySpendByType: z.ZodArray<z.ZodObject<{
|
|
508
|
+
type: z.ZodUnion<readonly [z.ZodEnum<{
|
|
509
|
+
"image.generate": "image.generate";
|
|
510
|
+
"prompt.enhance": "prompt.enhance";
|
|
511
|
+
"image.edit": "image.edit";
|
|
512
|
+
"image.mask": "image.mask";
|
|
513
|
+
"image.export": "image.export";
|
|
514
|
+
"image.panel": "image.panel";
|
|
515
|
+
"video.loop": "video.loop";
|
|
516
|
+
"video.upscale": "video.upscale";
|
|
517
|
+
"video.smart": "video.smart";
|
|
518
|
+
"video.panel": "video.panel";
|
|
519
|
+
}>, z.ZodLiteral<"frame_iteration">, z.ZodLiteral<"unlinked">]>;
|
|
520
|
+
captures: z.ZodNumber;
|
|
521
|
+
credits: z.ZodNumber;
|
|
522
|
+
estimatedUsd: z.ZodNumber;
|
|
523
|
+
}, z.core.$strip>>;
|
|
524
|
+
estimatedCostUsd: z.ZodObject<{
|
|
525
|
+
freeOnly: z.ZodNumber;
|
|
526
|
+
note: z.ZodString;
|
|
527
|
+
}, z.core.$strip>;
|
|
528
|
+
signupBonusesByMonth: z.ZodArray<z.ZodObject<{
|
|
529
|
+
month: z.ZodString;
|
|
530
|
+
bonuses: z.ZodNumber;
|
|
531
|
+
credits: z.ZodNumber;
|
|
532
|
+
}, z.core.$strip>>;
|
|
533
|
+
}, z.core.$strip>;
|
|
534
|
+
}, z.core.$strip>;
|
|
535
|
+
export type FreeCreditSpendTarget = z.infer<typeof freeCreditSpendTargetSchema>;
|
|
536
|
+
export type AdminFreeCreditsResponse = z.infer<typeof adminFreeCreditsResponseSchema>;
|
|
469
537
|
export type AdminWorkspaceSummary = z.infer<typeof adminWorkspaceSummarySchema>;
|
|
470
538
|
export type ListAdminWorkspacesResponse = z.infer<typeof listAdminWorkspacesResponseSchema>;
|
|
471
539
|
//# sourceMappingURL=admin.d.ts.map
|
package/dist/admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/admin.js
CHANGED
|
@@ -206,3 +206,60 @@ export const stepUpVerifyRequestSchema = z.object({
|
|
|
206
206
|
export const stepUpVerifyResponseSchema = apiSuccessSchema(z.object({
|
|
207
207
|
verifiedUntil: isoDateSchema
|
|
208
208
|
}));
|
|
209
|
+
// ─── Free credits: what ZCL has given away, and how much of it has been spent ──────
|
|
210
|
+
//
|
|
211
|
+
// LIFETIME figures (no window) — the question this answers is "how much have we burnt
|
|
212
|
+
// on free credits so far". Free = signup bonuses + positive admin adjustments; paid =
|
|
213
|
+
// Zero Store purchases. Balances are pooled per workspace, so a spent credit is not
|
|
214
|
+
// labelled free or paid: `freeBurnt.exact` covers workspaces that never purchased (all
|
|
215
|
+
// their spend is free), and the bounds bracket the rest by assuming free credits are
|
|
216
|
+
// spent last (`lowerBound`) or first (`upperBound`).
|
|
217
|
+
/** What a captured credit was spent on: a generation job type, a frame iteration, or
|
|
218
|
+
* a capture whose reservation no longer resolves to either (`unlinked`). */
|
|
219
|
+
export const freeCreditSpendTargetSchema = z.union([
|
|
220
|
+
generationJobTypeSchema,
|
|
221
|
+
z.literal('frame_iteration'),
|
|
222
|
+
z.literal('unlinked')
|
|
223
|
+
]);
|
|
224
|
+
export const adminFreeCreditsResponseSchema = apiSuccessSchema(z.object({
|
|
225
|
+
asOf: isoDateSchema,
|
|
226
|
+
workspaces: z.object({
|
|
227
|
+
total: z.number().int(),
|
|
228
|
+
neverPurchased: z.number().int(),
|
|
229
|
+
/** Never purchased AND spent at least one credit. */
|
|
230
|
+
freeOnlyActive: z.number().int()
|
|
231
|
+
}),
|
|
232
|
+
given: z.object({
|
|
233
|
+
signupBonus: z.number().int(),
|
|
234
|
+
adminTopups: z.number().int(),
|
|
235
|
+
total: z.number().int()
|
|
236
|
+
}),
|
|
237
|
+
purchased: z.number().int(),
|
|
238
|
+
/** Grants that are neither a signup bonus nor a Zero Store order. Expected 0. */
|
|
239
|
+
otherGrants: z.number().int(),
|
|
240
|
+
spent: z.object({
|
|
241
|
+
total: z.number().int(),
|
|
242
|
+
byFreeOnlyWorkspaces: z.number().int()
|
|
243
|
+
}),
|
|
244
|
+
freeBurnt: z.object({
|
|
245
|
+
exact: z.number().int(),
|
|
246
|
+
lowerBound: z.number().int(),
|
|
247
|
+
upperBound: z.number().int()
|
|
248
|
+
}),
|
|
249
|
+
freeOnlySpendByType: z.array(z.object({
|
|
250
|
+
type: freeCreditSpendTargetSchema,
|
|
251
|
+
captures: z.number().int(),
|
|
252
|
+
credits: z.number().int(),
|
|
253
|
+
estimatedUsd: z.number()
|
|
254
|
+
})),
|
|
255
|
+
/** What the free-only spend cost ZCL in provider fees — list prices, approximate. */
|
|
256
|
+
estimatedCostUsd: z.object({
|
|
257
|
+
freeOnly: z.number(),
|
|
258
|
+
note: z.string()
|
|
259
|
+
}),
|
|
260
|
+
signupBonusesByMonth: z.array(z.object({
|
|
261
|
+
month: z.string().regex(/^\d{4}-\d{2}$/),
|
|
262
|
+
bonuses: z.number().int(),
|
|
263
|
+
credits: z.number().int()
|
|
264
|
+
}))
|
|
265
|
+
}));
|