@vargai/gateway 0.3.2 → 0.4.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/client-v1.d.ts +101 -0
- package/dist/client-v1.d.ts.map +1 -0
- package/dist/client-v2.d.ts +69 -0
- package/dist/client-v2.d.ts.map +1 -0
- package/dist/client.d.ts +53 -78
- package/dist/client.d.ts.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +487 -24
- package/dist/provider.d.ts +21 -8
- package/dist/provider.d.ts.map +1 -1
- package/dist/schemas-v2.d.ts +258 -0
- package/dist/schemas-v2.d.ts.map +1 -0
- package/dist/shared.d.ts +79 -0
- package/dist/shared.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/provider.d.ts
CHANGED
|
@@ -36,16 +36,29 @@ export interface VargProvider extends ProviderV3 {
|
|
|
36
36
|
url: string;
|
|
37
37
|
}): Promise<FfmpegProbeResponse>;
|
|
38
38
|
ffmpeg(params: FfmpegRequest): Promise<FFmpegResult>;
|
|
39
|
+
/** Estimate the cost of request(s) without creating a job.
|
|
40
|
+
* - Single: { model, ...inputFields } → { valid, pricing? }
|
|
41
|
+
* - Batch: { items: [{ capability, model, params }] } → { items, total_credits }
|
|
42
|
+
* v2 api supports both; v1 gateway throws "not supported". */
|
|
43
|
+
estimate(params: Record<string, unknown>): Promise<{
|
|
44
|
+
valid?: boolean;
|
|
45
|
+
pricing?: {
|
|
46
|
+
provider_cost_cents: number | null;
|
|
47
|
+
user_price_cents: number | null;
|
|
48
|
+
markup_percent: number;
|
|
49
|
+
pricing_id: string | null;
|
|
50
|
+
};
|
|
51
|
+
items?: Array<{
|
|
52
|
+
capability: string;
|
|
53
|
+
model: string;
|
|
54
|
+
credits: number;
|
|
55
|
+
billing: string;
|
|
56
|
+
provider: string;
|
|
57
|
+
}>;
|
|
58
|
+
total_credits?: number;
|
|
59
|
+
}>;
|
|
39
60
|
}
|
|
40
61
|
export declare function createVarg(config: VargClientConfig): VargProvider;
|
|
41
|
-
/** Pricing metadata returned from gateway alongside generation results. */
|
|
42
|
-
export interface JobPricingInfo {
|
|
43
|
-
estimated: number;
|
|
44
|
-
actual?: number;
|
|
45
|
-
billing?: "metered" | "byok" | "x402";
|
|
46
|
-
dynamic?: boolean;
|
|
47
|
-
cached?: boolean;
|
|
48
|
-
}
|
|
49
62
|
declare const varg_provider: VargProvider;
|
|
50
63
|
export { varg_provider as varg };
|
|
51
64
|
//# sourceMappingURL=provider.d.ts.map
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAIjB,KAAK,UAAU,EAEf,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,YAAY,EAEZ,YAAY,EAEb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAIjB,KAAK,UAAU,EAEf,KAAK,aAAa,EAElB,KAAK,oBAAoB,EAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,YAAY,EAEZ,YAAY,EAEb,MAAM,WAAW,CAAC;AACnB,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAG3F,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IAC1C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IAC1C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;IAC5C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IAC1C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAC1D,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACxD,KAAK,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD;;;mEAG+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QACjD,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE;YACR,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;YACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;YAChC,cAAc,EAAE,MAAM,CAAC;YACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;SAC3B,CAAC;QACF,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,UAAU,EAAE,MAAM,CAAC;YACnB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAmDjE;AAkFD,QAAA,MAAM,aAAa,cAAyD,CAAC;AAC7E,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** v2 accepts `files` as a flat array of public URLs (no media_type wrapper). */
|
|
3
|
+
export declare const VideoRequestV2: z.ZodObject<{
|
|
4
|
+
model: z.ZodString;
|
|
5
|
+
prompt: z.ZodDefault<z.ZodString>;
|
|
6
|
+
duration: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
7
|
+
aspect_ratio: z.ZodOptional<z.ZodString>;
|
|
8
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
9
|
+
provider_options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const ImageRequestV2: z.ZodObject<{
|
|
12
|
+
model: z.ZodString;
|
|
13
|
+
prompt: z.ZodDefault<z.ZodString>;
|
|
14
|
+
aspect_ratio: z.ZodOptional<z.ZodString>;
|
|
15
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16
|
+
provider_options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export declare const SpeechRequestV2: z.ZodObject<{
|
|
19
|
+
model: z.ZodString;
|
|
20
|
+
text: z.ZodString;
|
|
21
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
22
|
+
provider_options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const MusicRequestV2: z.ZodObject<{
|
|
25
|
+
model: z.ZodString;
|
|
26
|
+
prompt: z.ZodString;
|
|
27
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
provider_options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
export declare const TranscriptionRequestV2: z.ZodObject<{
|
|
31
|
+
model: z.ZodString;
|
|
32
|
+
audio_url: z.ZodString;
|
|
33
|
+
language: z.ZodOptional<z.ZodString>;
|
|
34
|
+
provider_options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
/** v2 status vocabulary (api/varg-api-proto/apps/api/src/states.ts). */
|
|
37
|
+
export declare const JobStatusV2: z.ZodEnum<{
|
|
38
|
+
queued: "queued";
|
|
39
|
+
completed: "completed";
|
|
40
|
+
failed: "failed";
|
|
41
|
+
cancelled: "cancelled";
|
|
42
|
+
submitting: "submitting";
|
|
43
|
+
running: "running";
|
|
44
|
+
}>;
|
|
45
|
+
/** v2 billing mode. */
|
|
46
|
+
export declare const BillingTypeV2: z.ZodEnum<{
|
|
47
|
+
metered: "metered";
|
|
48
|
+
byok: "byok";
|
|
49
|
+
x402: "x402";
|
|
50
|
+
}>;
|
|
51
|
+
/** v2 pricing — cents, not credits. Mirrors serializeVargJob().pricing. */
|
|
52
|
+
export declare const JobPricingV2: z.ZodObject<{
|
|
53
|
+
estimated: z.ZodNullable<z.ZodNumber>;
|
|
54
|
+
actual: z.ZodNullable<z.ZodNumber>;
|
|
55
|
+
billing: z.ZodNullable<z.ZodEnum<{
|
|
56
|
+
metered: "metered";
|
|
57
|
+
byok: "byok";
|
|
58
|
+
x402: "x402";
|
|
59
|
+
}>>;
|
|
60
|
+
cached: z.ZodNullable<z.ZodBoolean>;
|
|
61
|
+
billed_units: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
|
|
62
|
+
pricing_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
/** One output item in the v2 output envelope. */
|
|
65
|
+
export declare const JobOutputItemV2: z.ZodObject<{
|
|
66
|
+
url: z.ZodOptional<z.ZodString>;
|
|
67
|
+
file_id: z.ZodOptional<z.ZodString>;
|
|
68
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
69
|
+
size_bytes: z.ZodOptional<z.ZodNumber>;
|
|
70
|
+
raw: z.ZodOptional<z.ZodUnknown>;
|
|
71
|
+
data: z.ZodOptional<z.ZodUnknown>;
|
|
72
|
+
}, z.core.$strip>;
|
|
73
|
+
/** v2 output envelope — versioned, array of items. */
|
|
74
|
+
export declare const JobOutputV2: z.ZodObject<{
|
|
75
|
+
version: z.ZodLiteral<"v1">;
|
|
76
|
+
outputs: z.ZodArray<z.ZodObject<{
|
|
77
|
+
url: z.ZodOptional<z.ZodString>;
|
|
78
|
+
file_id: z.ZodOptional<z.ZodString>;
|
|
79
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
80
|
+
size_bytes: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
raw: z.ZodOptional<z.ZodUnknown>;
|
|
82
|
+
data: z.ZodOptional<z.ZodUnknown>;
|
|
83
|
+
}, z.core.$strip>>;
|
|
84
|
+
}, z.core.$strip>;
|
|
85
|
+
/** v2 job response — from serializeVargJob() in routes/varg_jobs/common.ts. */
|
|
86
|
+
export declare const JobResponseV2: z.ZodObject<{
|
|
87
|
+
id: z.ZodString;
|
|
88
|
+
status: z.ZodEnum<{
|
|
89
|
+
queued: "queued";
|
|
90
|
+
completed: "completed";
|
|
91
|
+
failed: "failed";
|
|
92
|
+
cancelled: "cancelled";
|
|
93
|
+
submitting: "submitting";
|
|
94
|
+
running: "running";
|
|
95
|
+
}>;
|
|
96
|
+
tool: z.ZodString;
|
|
97
|
+
input: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
98
|
+
output: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
99
|
+
version: z.ZodLiteral<"v1">;
|
|
100
|
+
outputs: z.ZodArray<z.ZodObject<{
|
|
101
|
+
url: z.ZodOptional<z.ZodString>;
|
|
102
|
+
file_id: z.ZodOptional<z.ZodString>;
|
|
103
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
104
|
+
size_bytes: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
raw: z.ZodOptional<z.ZodUnknown>;
|
|
106
|
+
data: z.ZodOptional<z.ZodUnknown>;
|
|
107
|
+
}, z.core.$strip>>;
|
|
108
|
+
}, z.core.$strip>>>;
|
|
109
|
+
error: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
110
|
+
estimated_cost_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
111
|
+
actual_cost_cents: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
112
|
+
pricing: z.ZodOptional<z.ZodObject<{
|
|
113
|
+
estimated: z.ZodNullable<z.ZodNumber>;
|
|
114
|
+
actual: z.ZodNullable<z.ZodNumber>;
|
|
115
|
+
billing: z.ZodNullable<z.ZodEnum<{
|
|
116
|
+
metered: "metered";
|
|
117
|
+
byok: "byok";
|
|
118
|
+
x402: "x402";
|
|
119
|
+
}>>;
|
|
120
|
+
cached: z.ZodNullable<z.ZodBoolean>;
|
|
121
|
+
billed_units: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
|
|
122
|
+
pricing_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
123
|
+
}, z.core.$strip>>;
|
|
124
|
+
provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
125
|
+
provider_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
126
|
+
provider_status: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
127
|
+
created_at: z.ZodString;
|
|
128
|
+
started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
129
|
+
completed_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
130
|
+
urls: z.ZodOptional<z.ZodObject<{
|
|
131
|
+
self: z.ZodString;
|
|
132
|
+
refresh: z.ZodString;
|
|
133
|
+
status: z.ZodString;
|
|
134
|
+
cancel: z.ZodString;
|
|
135
|
+
}, z.core.$strip>>;
|
|
136
|
+
}, z.core.$strip>;
|
|
137
|
+
/** v2 estimate — single item request. Body = the unified input (model + fields). */
|
|
138
|
+
export declare const EstimateRequestV2: z.ZodObject<{
|
|
139
|
+
model: z.ZodString;
|
|
140
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
141
|
+
capability: z.ZodOptional<z.ZodString>;
|
|
142
|
+
}, z.core.$strip>;
|
|
143
|
+
/** v2 estimate — batch item (v1-compatible shape). */
|
|
144
|
+
export declare const EstimateBatchItemV2: z.ZodObject<{
|
|
145
|
+
model: z.ZodString;
|
|
146
|
+
capability: z.ZodOptional<z.ZodString>;
|
|
147
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
148
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
149
|
+
}, z.core.$strip>;
|
|
150
|
+
/** v2 estimate — batch request. Same shape as v1 POST /v1/estimate. */
|
|
151
|
+
export declare const EstimateBatchRequestV2: z.ZodObject<{
|
|
152
|
+
items: z.ZodArray<z.ZodObject<{
|
|
153
|
+
model: z.ZodString;
|
|
154
|
+
capability: z.ZodOptional<z.ZodString>;
|
|
155
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
156
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
157
|
+
}, z.core.$strip>>;
|
|
158
|
+
}, z.core.$strip>;
|
|
159
|
+
/** v2 estimate — single item response. */
|
|
160
|
+
export declare const EstimateResponseV2: z.ZodObject<{
|
|
161
|
+
valid: z.ZodBoolean;
|
|
162
|
+
model: z.ZodOptional<z.ZodString>;
|
|
163
|
+
tool: z.ZodOptional<z.ZodString>;
|
|
164
|
+
pricing: z.ZodOptional<z.ZodObject<{
|
|
165
|
+
provider_cost_cents: z.ZodNullable<z.ZodNumber>;
|
|
166
|
+
user_price_cents: z.ZodNullable<z.ZodNumber>;
|
|
167
|
+
markup_percent: z.ZodNumber;
|
|
168
|
+
pricing_id: z.ZodNullable<z.ZodString>;
|
|
169
|
+
}, z.core.$strip>>;
|
|
170
|
+
code: z.ZodOptional<z.ZodString>;
|
|
171
|
+
message: z.ZodOptional<z.ZodString>;
|
|
172
|
+
errors: z.ZodOptional<z.ZodUnknown>;
|
|
173
|
+
}, z.core.$strip>;
|
|
174
|
+
/** v2 estimate — batch response item (v1-compatible shape). */
|
|
175
|
+
export declare const EstimateBatchResponseItemV2: z.ZodObject<{
|
|
176
|
+
capability: z.ZodString;
|
|
177
|
+
model: z.ZodString;
|
|
178
|
+
credits: z.ZodNumber;
|
|
179
|
+
billing: z.ZodString;
|
|
180
|
+
provider: z.ZodString;
|
|
181
|
+
}, z.core.$strip>;
|
|
182
|
+
/** v2 estimate — batch response (v1-compatible shape). */
|
|
183
|
+
export declare const EstimateBatchResponseV2: z.ZodObject<{
|
|
184
|
+
items: z.ZodArray<z.ZodObject<{
|
|
185
|
+
capability: z.ZodString;
|
|
186
|
+
model: z.ZodString;
|
|
187
|
+
credits: z.ZodNumber;
|
|
188
|
+
billing: z.ZodString;
|
|
189
|
+
provider: z.ZodString;
|
|
190
|
+
}, z.core.$strip>>;
|
|
191
|
+
total_credits: z.ZodNumber;
|
|
192
|
+
}, z.core.$strip>;
|
|
193
|
+
/** v2 ffmpeg request — generic command mode. `model` is required in v2. */
|
|
194
|
+
export declare const FfmpegRequestV2: z.ZodObject<{
|
|
195
|
+
model: z.ZodString;
|
|
196
|
+
command: z.ZodString;
|
|
197
|
+
input_files: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
198
|
+
output_files: z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodString>, z.ZodLiteral<"OUTPUT_FOLDER">]>;
|
|
199
|
+
provider_options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
200
|
+
}, z.core.$strip>;
|
|
201
|
+
/** v2 ffmpeg slice — sent to POST /v2/ffmpeg (same endpoint, slice fields). */
|
|
202
|
+
export declare const FfmpegSliceRequestV2: z.ZodObject<{
|
|
203
|
+
model: z.ZodString;
|
|
204
|
+
video_url: z.ZodString;
|
|
205
|
+
codec: z.ZodDefault<z.ZodEnum<{
|
|
206
|
+
copy: "copy";
|
|
207
|
+
reencode: "reencode";
|
|
208
|
+
}>>;
|
|
209
|
+
every: z.ZodOptional<z.ZodNumber>;
|
|
210
|
+
at: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
211
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
212
|
+
ranges: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
213
|
+
start: z.ZodNumber;
|
|
214
|
+
end: z.ZodNumber;
|
|
215
|
+
}, z.core.$strip>>>;
|
|
216
|
+
thumbnails: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
217
|
+
provider_options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
218
|
+
}, z.core.$strip>;
|
|
219
|
+
export declare const FileUploadResponseV2: z.ZodObject<{
|
|
220
|
+
file_id: z.ZodString;
|
|
221
|
+
url: z.ZodString;
|
|
222
|
+
hash: z.ZodString;
|
|
223
|
+
size: z.ZodNumber;
|
|
224
|
+
media_type: z.ZodString;
|
|
225
|
+
deduplicated: z.ZodBoolean;
|
|
226
|
+
}, z.core.$strip>;
|
|
227
|
+
export declare const ErrorResponseV2: z.ZodObject<{
|
|
228
|
+
error: z.ZodOptional<z.ZodObject<{
|
|
229
|
+
code: z.ZodOptional<z.ZodString>;
|
|
230
|
+
message: z.ZodOptional<z.ZodString>;
|
|
231
|
+
field: z.ZodOptional<z.ZodString>;
|
|
232
|
+
provider: z.ZodOptional<z.ZodString>;
|
|
233
|
+
errors: z.ZodOptional<z.ZodUnknown>;
|
|
234
|
+
}, z.core.$strip>>;
|
|
235
|
+
code: z.ZodOptional<z.ZodString>;
|
|
236
|
+
message: z.ZodOptional<z.ZodString>;
|
|
237
|
+
}, z.core.$strip>;
|
|
238
|
+
export type VideoRequestV2 = z.infer<typeof VideoRequestV2>;
|
|
239
|
+
export type ImageRequestV2 = z.infer<typeof ImageRequestV2>;
|
|
240
|
+
export type SpeechRequestV2 = z.infer<typeof SpeechRequestV2>;
|
|
241
|
+
export type MusicRequestV2 = z.infer<typeof MusicRequestV2>;
|
|
242
|
+
export type TranscriptionRequestV2 = z.infer<typeof TranscriptionRequestV2>;
|
|
243
|
+
export type JobStatusV2 = z.infer<typeof JobStatusV2>;
|
|
244
|
+
export type JobPricingV2 = z.infer<typeof JobPricingV2>;
|
|
245
|
+
export type JobOutputItemV2 = z.infer<typeof JobOutputItemV2>;
|
|
246
|
+
export type JobOutputV2 = z.infer<typeof JobOutputV2>;
|
|
247
|
+
export type JobResponseV2 = z.infer<typeof JobResponseV2>;
|
|
248
|
+
export type EstimateRequestV2 = z.infer<typeof EstimateRequestV2>;
|
|
249
|
+
export type EstimateBatchItemV2 = z.infer<typeof EstimateBatchItemV2>;
|
|
250
|
+
export type EstimateBatchRequestV2 = z.infer<typeof EstimateBatchRequestV2>;
|
|
251
|
+
export type EstimateResponseV2 = z.infer<typeof EstimateResponseV2>;
|
|
252
|
+
export type EstimateBatchResponseItemV2 = z.infer<typeof EstimateBatchResponseItemV2>;
|
|
253
|
+
export type EstimateBatchResponseV2 = z.infer<typeof EstimateBatchResponseV2>;
|
|
254
|
+
export type FfmpegRequestV2 = z.infer<typeof FfmpegRequestV2>;
|
|
255
|
+
export type FfmpegSliceRequestV2 = z.infer<typeof FfmpegSliceRequestV2>;
|
|
256
|
+
export type FileUploadResponseV2 = z.infer<typeof FileUploadResponseV2>;
|
|
257
|
+
export type ErrorResponseV2 = z.infer<typeof ErrorResponseV2>;
|
|
258
|
+
//# sourceMappingURL=schemas-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas-v2.d.ts","sourceRoot":"","sources":["../src/schemas-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/shared.d.ts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** Pricing metadata returned from gateway/api alongside generation results.
|
|
2
|
+
* Defined here (not in provider.ts) to avoid a circular import. */
|
|
3
|
+
export interface JobPricingInfo {
|
|
4
|
+
estimated: number;
|
|
5
|
+
actual?: number;
|
|
6
|
+
billing?: "metered" | "byok" | "x402";
|
|
7
|
+
dynamic?: boolean;
|
|
8
|
+
cached?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Normalized job shape — what both VargClientV1 and VargClientV2 return from
|
|
12
|
+
* their create/get/waitFor methods. v1 maps `job_id` to `id` and v2 maps
|
|
13
|
+
* `output.outputs[0]` to `output` + collapses submitting/running to processing.
|
|
14
|
+
*/
|
|
15
|
+
export interface NormalizedJob {
|
|
16
|
+
/** Job id (v1 `job_id`, v2 `id`). */
|
|
17
|
+
id: string;
|
|
18
|
+
/** Normalized status — v2 `submitting`/`running` collapse to `processing`. */
|
|
19
|
+
status: "queued" | "processing" | "completed" | "failed" | "cancelled";
|
|
20
|
+
/** First output item (v2 may have multiple; we take [0]). */
|
|
21
|
+
output?: {
|
|
22
|
+
url?: string;
|
|
23
|
+
media_type?: string;
|
|
24
|
+
metadata?: Record<string, unknown>;
|
|
25
|
+
};
|
|
26
|
+
/** Pricing in credits/cents (1 credit = 1 cent = $0.01). */
|
|
27
|
+
pricing?: JobPricingInfo;
|
|
28
|
+
/** Error message on failed jobs. */
|
|
29
|
+
error?: string;
|
|
30
|
+
}
|
|
31
|
+
/** Methods that both v1 and v2 clients implement. provider.ts uses this. */
|
|
32
|
+
export interface VargClientLike {
|
|
33
|
+
createVideo(params: Record<string, unknown>): Promise<NormalizedJob>;
|
|
34
|
+
createImage(params: Record<string, unknown>): Promise<NormalizedJob>;
|
|
35
|
+
createSpeech(params: Record<string, unknown>): Promise<NormalizedJob>;
|
|
36
|
+
createMusic(params: Record<string, unknown>): Promise<NormalizedJob>;
|
|
37
|
+
createTranscription(params: Record<string, unknown>): Promise<NormalizedJob>;
|
|
38
|
+
createSlice(params: Record<string, unknown>): Promise<NormalizedJob>;
|
|
39
|
+
createFFmpeg(params: Record<string, unknown>): Promise<NormalizedJob>;
|
|
40
|
+
probe(params: {
|
|
41
|
+
url: string;
|
|
42
|
+
}): Promise<Record<string, unknown>>;
|
|
43
|
+
uploadFile(file: Blob | Buffer, mediaType?: string): Promise<{
|
|
44
|
+
file_id: string;
|
|
45
|
+
url: string;
|
|
46
|
+
hash: string;
|
|
47
|
+
size: number;
|
|
48
|
+
media_type: string;
|
|
49
|
+
deduplicated: boolean;
|
|
50
|
+
}>;
|
|
51
|
+
getJob(id: string): Promise<NormalizedJob>;
|
|
52
|
+
cancelJob(id: string): Promise<void>;
|
|
53
|
+
waitForJob(id: string, options?: {
|
|
54
|
+
pollIntervalMs?: number;
|
|
55
|
+
maxAttempts?: number;
|
|
56
|
+
}): Promise<NormalizedJob>;
|
|
57
|
+
/** Estimate request(s) without creating a job.
|
|
58
|
+
* - Single: { model, ...inputFields } → { valid, pricing? }
|
|
59
|
+
* - Batch: { items: [{ capability, model, params }] } → { items, total_credits }
|
|
60
|
+
* v2 supports both; v1 throws "not supported" (use direct fetch to /v1/estimate). */
|
|
61
|
+
estimate(params: Record<string, unknown>): Promise<{
|
|
62
|
+
valid?: boolean;
|
|
63
|
+
pricing?: {
|
|
64
|
+
provider_cost_cents: number | null;
|
|
65
|
+
user_price_cents: number | null;
|
|
66
|
+
markup_percent: number;
|
|
67
|
+
pricing_id: string | null;
|
|
68
|
+
};
|
|
69
|
+
items?: Array<{
|
|
70
|
+
capability: string;
|
|
71
|
+
model: string;
|
|
72
|
+
credits: number;
|
|
73
|
+
billing: string;
|
|
74
|
+
provider: string;
|
|
75
|
+
}>;
|
|
76
|
+
total_credits?: number;
|
|
77
|
+
}>;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
|