@apicity/kie 0.4.0 → 0.4.2

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.
@@ -0,0 +1,336 @@
1
+ import { createHash, createHmac, randomBytes, timingSafeEqual, } from "node:crypto";
2
+ import { isPaidEndpoint, PAID_ENDPOINTS } from "./paid-endpoints.js";
3
+ /**
4
+ * Error thrown when the pay gate blocks a request.
5
+ */
6
+ export class PayGateError extends Error {
7
+ provider;
8
+ method;
9
+ dotPath;
10
+ code;
11
+ constructor(provider, method, dotPath, code, message) {
12
+ super(message);
13
+ this.name = "PayGateError";
14
+ this.provider = provider;
15
+ this.method = method;
16
+ this.dotPath = dotPath;
17
+ this.code = code;
18
+ }
19
+ }
20
+ /**
21
+ * Canonicalize a JSON value by sorting object keys recursively.
22
+ * Arrays preserve order. Non-JSON values (undefined, functions, symbols,
23
+ * circular references) cause a TypeError so the caller can fail closed.
24
+ */
25
+ export function canonicalizeJson(value) {
26
+ const seen = new WeakSet();
27
+ function walk(v) {
28
+ if (v === null ||
29
+ typeof v === "boolean" ||
30
+ typeof v === "number" ||
31
+ typeof v === "string") {
32
+ return v;
33
+ }
34
+ if (typeof v === "undefined" ||
35
+ typeof v === "function" ||
36
+ typeof v === "symbol") {
37
+ throw new TypeError("Cannot canonicalize non-JSON value: " + typeof v);
38
+ }
39
+ if (Array.isArray(v)) {
40
+ return v.map(walk);
41
+ }
42
+ if (typeof v === "object") {
43
+ if (seen.has(v)) {
44
+ throw new TypeError("Cannot canonicalize circular reference");
45
+ }
46
+ seen.add(v);
47
+ const sortedKeys = Object.keys(v).sort();
48
+ const out = {};
49
+ for (const k of sortedKeys) {
50
+ out[k] = walk(v[k]);
51
+ }
52
+ return out;
53
+ }
54
+ throw new TypeError("Cannot canonicalize unexpected type: " + typeof v);
55
+ }
56
+ return JSON.stringify(walk(value));
57
+ }
58
+ /**
59
+ * Compute SHA-256 of canonical JSON, prefixed with `sha256:`.
60
+ */
61
+ export function canonicalHash(value) {
62
+ const canonical = canonicalizeJson(value);
63
+ const hash = createHash("sha256").update(canonical, "utf8").digest("hex");
64
+ return `sha256:${hash}`;
65
+ }
66
+ /**
67
+ * Encode a buffer to unpadded base64url.
68
+ */
69
+ function base64urlEncode(data) {
70
+ return data
71
+ .toString("base64")
72
+ .replace(/\+/g, "-")
73
+ .replace(/\//g, "_")
74
+ .replace(/=+$/g, "");
75
+ }
76
+ /**
77
+ * Decode base64url (no padding required).
78
+ */
79
+ function base64urlDecode(str) {
80
+ const base64 = str.replace(/-/g, "+").replace(/_/g, "/");
81
+ const padLen = (4 - (base64.length % 4)) % 4;
82
+ const padded = base64 + "=".repeat(padLen);
83
+ return Buffer.from(padded, "base64");
84
+ }
85
+ /**
86
+ * Parse a TTL string like "10m", "1h", "30s", "1d" into seconds.
87
+ */
88
+ export function parseTtl(ttl) {
89
+ const match = ttl.match(/^(\d+)([smhd])$/i);
90
+ if (!match) {
91
+ throw new Error(`Invalid TTL format: ${ttl}. Expected format like 10m, 1h, 30s.`);
92
+ }
93
+ const value = parseInt(match[1], 10);
94
+ const unit = match[2].toLowerCase();
95
+ switch (unit) {
96
+ case "s":
97
+ return value;
98
+ case "m":
99
+ return value * 60;
100
+ case "h":
101
+ return value * 60 * 60;
102
+ case "d":
103
+ return value * 60 * 60 * 24;
104
+ default:
105
+ throw new Error(`Unknown TTL unit: ${unit}`);
106
+ }
107
+ }
108
+ /**
109
+ * Parse an OTP envelope: `<base64url(payloadJson)>.<base64url(signature)>`.
110
+ * Returns the payload object and raw signature bytes.
111
+ */
112
+ export function parseOtp(otp) {
113
+ const parts = otp.split(".");
114
+ if (parts.length !== 2) {
115
+ throw new Error("OTP must contain exactly one '.' separator");
116
+ }
117
+ const payloadJson = base64urlDecode(parts[0]).toString("utf8");
118
+ const signature = base64urlDecode(parts[1]);
119
+ let payload;
120
+ try {
121
+ payload = JSON.parse(payloadJson);
122
+ }
123
+ catch {
124
+ throw new Error("OTP payload is not valid JSON");
125
+ }
126
+ if (typeof payload !== "object" ||
127
+ payload === null ||
128
+ payload.v !== 1 ||
129
+ typeof payload.jti !== "string" ||
130
+ typeof payload.provider !== "string" ||
131
+ typeof payload.method !== "string" ||
132
+ typeof payload.dotPath !== "string" ||
133
+ typeof payload.requestHash !== "string" ||
134
+ typeof payload.iat !== "number" ||
135
+ typeof payload.exp !== "number") {
136
+ throw new Error("OTP payload missing required fields");
137
+ }
138
+ return {
139
+ payload: payload,
140
+ signature,
141
+ };
142
+ }
143
+ /**
144
+ * Compute the HMAC-SHA256 of an OTP payload segment with the shared secret.
145
+ */
146
+ function signPayloadSegment(payloadSegment, secret) {
147
+ return createHmac("sha256", secret).update(payloadSegment, "utf8").digest();
148
+ }
149
+ /**
150
+ * Constant-time verification of an OTP payload segment's HMAC signature.
151
+ */
152
+ function verifyPayloadSignature(payloadSegment, signature, secret) {
153
+ const expected = signPayloadSegment(payloadSegment, secret);
154
+ if (expected.length !== signature.length) {
155
+ return false;
156
+ }
157
+ return timingSafeEqual(expected, signature);
158
+ }
159
+ /**
160
+ * Create an in-process, single-use replay store backed by a `Set`.
161
+ * Scoped to whatever holds the reference (typically one provider instance).
162
+ */
163
+ export function createReplayStore() {
164
+ const seen = new Set();
165
+ return {
166
+ has: (jti) => seen.has(jti),
167
+ add: (jti) => {
168
+ seen.add(jti);
169
+ },
170
+ };
171
+ }
172
+ const DEFAULT_TTL_SECONDS = 600;
173
+ /**
174
+ * Resolve `(provider, method, dotPath)` for a mint call. When the caller omits
175
+ * provider/method, the dotPath must match exactly one entry in
176
+ * `PAID_ENDPOINTS`.
177
+ */
178
+ function resolveCallKey(call) {
179
+ if (call.provider && call.method) {
180
+ return {
181
+ provider: call.provider,
182
+ method: call.method,
183
+ dotPath: call.dotPath,
184
+ };
185
+ }
186
+ const matches = PAID_ENDPOINTS.filter((e) => e.key.dotPath === call.dotPath &&
187
+ (call.method === undefined || e.key.method === call.method) &&
188
+ (call.provider === undefined || e.key.provider === call.provider));
189
+ if (matches.length === 1) {
190
+ const key = matches[0].key;
191
+ return {
192
+ provider: call.provider ?? key.provider,
193
+ method: call.method ?? key.method,
194
+ dotPath: call.dotPath,
195
+ };
196
+ }
197
+ throw new Error(`Cannot resolve provider/method for dotPath "${call.dotPath}". ` +
198
+ `Pass { provider, method } explicitly.`);
199
+ }
200
+ /**
201
+ * Mint an OTP for a specific request, signed with the shared HMAC secret.
202
+ *
203
+ * Pure and env-free: the secret is passed explicitly. The OTP binds to the
204
+ * exact request via its canonical hash, so changing any byte of the request
205
+ * invalidates the token.
206
+ */
207
+ export function mintOtp(secret, call) {
208
+ if (!secret) {
209
+ throw new Error("mintOtp requires a non-empty secret");
210
+ }
211
+ const key = resolveCallKey(call);
212
+ const ttlSeconds = call.ttl === undefined
213
+ ? DEFAULT_TTL_SECONDS
214
+ : typeof call.ttl === "number"
215
+ ? call.ttl
216
+ : parseTtl(call.ttl);
217
+ const iat = Math.floor(Date.now() / 1000);
218
+ const payload = {
219
+ v: 1,
220
+ jti: randomBytes(16).toString("hex"),
221
+ provider: key.provider,
222
+ method: key.method,
223
+ dotPath: key.dotPath,
224
+ requestHash: canonicalHash(call.request),
225
+ iat,
226
+ exp: iat + ttlSeconds,
227
+ };
228
+ const payloadSegment = base64urlEncode(Buffer.from(JSON.stringify(payload), "utf8"));
229
+ const signatureSegment = base64urlEncode(signPayloadSegment(payloadSegment, secret));
230
+ return `${payloadSegment}.${signatureSegment}`;
231
+ }
232
+ /**
233
+ * Pure verification of an OTP against expected request context.
234
+ *
235
+ * Returns a tagged-union `VerifyResult` — never throws. The caller is
236
+ * responsible for converting `{ ok: false }` into a `PayGateError` at the
237
+ * boundary.
238
+ */
239
+ export function verifyOtp(input) {
240
+ let parsed;
241
+ try {
242
+ parsed = parseOtp(input.otp);
243
+ }
244
+ catch (e) {
245
+ return {
246
+ ok: false,
247
+ code: "otp-malformed",
248
+ message: e instanceof Error ? e.message : "OTP is malformed",
249
+ };
250
+ }
251
+ const { payload, signature } = parsed;
252
+ const payloadSegment = input.otp.split(".")[0];
253
+ if (!verifyPayloadSignature(payloadSegment, signature, input.secret)) {
254
+ return {
255
+ ok: false,
256
+ code: "otp-invalid-signature",
257
+ message: "OTP signature is invalid",
258
+ };
259
+ }
260
+ if (payload.exp < input.nowSeconds) {
261
+ return {
262
+ ok: false,
263
+ code: "otp-expired",
264
+ message: `OTP expired at ${payload.exp} (now is ${input.nowSeconds})`,
265
+ };
266
+ }
267
+ if (payload.provider !== input.expected.provider ||
268
+ payload.method !== input.expected.method ||
269
+ payload.dotPath !== input.expected.dotPath) {
270
+ return {
271
+ ok: false,
272
+ code: "otp-mismatched-request",
273
+ message: `OTP bound to ${payload.provider} ${payload.method} ${payload.dotPath}, ` +
274
+ `but call is ${input.expected.provider} ${input.expected.method} ${input.expected.dotPath}`,
275
+ };
276
+ }
277
+ if (payload.requestHash !== input.payloadHash) {
278
+ return {
279
+ ok: false,
280
+ code: "otp-mismatched-request",
281
+ message: `OTP request hash mismatch: expected ${input.payloadHash}, got ${payload.requestHash}`,
282
+ };
283
+ }
284
+ if (input.isJtiConsumed(payload.jti)) {
285
+ return {
286
+ ok: false,
287
+ code: "otp-replayed",
288
+ message: `OTP jti ${payload.jti} has already been consumed`,
289
+ };
290
+ }
291
+ return { ok: true, jti: payload.jti };
292
+ }
293
+ /**
294
+ * Wrap a provider network dispatch with the OTP-based paid-endpoint gate.
295
+ *
296
+ * Free/unlisted endpoints return `dispatch()` immediately without OTP or
297
+ * pay-gate configuration.
298
+ *
299
+ * Paid endpoints fail closed: if the pay gate is not configured, or the OTP
300
+ * is missing, invalid, expired, replayed, or mismatched, the call throws
301
+ * before dispatch runs. This is the "no bypass" guarantee — a paid call cannot
302
+ * fire without a configured secret and a valid, human/code-client-minted OTP.
303
+ *
304
+ * The OTP jti is consumed BEFORE dispatch. If dispatch later fails for any
305
+ * reason, the jti remains consumed and the caller must mint a fresh OTP to
306
+ * retry. This is intentional — without it, a hostile caller could replay an
307
+ * OTP on every transient failure.
308
+ */
309
+ export async function dispatchWithPaidGate(provider, method, dotPath, payload, approval, dispatch, config) {
310
+ if (!isPaidEndpoint(provider, method, dotPath)) {
311
+ return dispatch();
312
+ }
313
+ if (!config || !config.secret) {
314
+ throw new PayGateError(provider, method, dotPath, "paygate-not-configured", `Paid endpoint ${provider} ${method} ${dotPath} requires a pay gate. ` +
315
+ `Construct the provider with { paygate: { secret } }.`);
316
+ }
317
+ if (!approval || !approval.otp) {
318
+ throw new PayGateError(provider, method, dotPath, "otp-missing", "Paid endpoint requires an OTP approval. Pass { otp: '...' }.");
319
+ }
320
+ const store = config.replayStore ?? createReplayStore();
321
+ const now = config.now ?? (() => Date.now());
322
+ const result = verifyOtp({
323
+ nowSeconds: Math.floor(now() / 1000),
324
+ secret: config.secret,
325
+ expected: { provider, method, dotPath },
326
+ payloadHash: canonicalHash(payload),
327
+ otp: approval.otp,
328
+ isJtiConsumed: (jti) => store.has(jti),
329
+ });
330
+ if (!result.ok) {
331
+ throw new PayGateError(provider, method, dotPath, result.code, result.message);
332
+ }
333
+ store.add(result.jti);
334
+ return dispatch();
335
+ }
336
+ //# sourceMappingURL=paygate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paygate.js","sourceRoot":"","sources":["../../src/paygate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { z } from "zod";
2
2
  import type { KieMediaModel } from "./zod";
3
- export type { KieMediaModel, MediaType, KlingElement, MultiShotPrompt, KlingVideoRequest, KlingMotionControlRequest, GrokTextToImageRequest, GrokImageToImageRequest, GrokTextToVideoRequest, GrokImageToVideoRequest, GrokVideo15PreviewRequest, GrokVideoExtendRequest, GrokVideoUpscaleRequest, NanoBananaProRequest, NanoBanana2Request, GptImageToImageRequest, GptImage2ImageToImageRequest, GptImage2TextToImageRequest, SeedreamImageToImageRequest, SeedreamTextToImageRequest, Qwen2TextToImageRequest, Qwen2ImageEditRequest, Seedance2FastRequest, Seedance2Request, Wan27ImageToVideoRequest, Wan27TextToVideoRequest, Wan27RefToVideoRequest, Wan27VideoEditRequest, Wan27ImageColorPalette, Wan27ImageRequest, Wan27ImageProRequest, Wan27TaskResultJson, Wan27VideoResult, Wan27ImageResult, SoraWatermarkRequest, MediaGenerationRequest, UploadMediaRequest, FileUrlUploadRequest, FileBase64UploadRequest, DownloadUrlRequest, KieOptions, KlingDuration, KlingAspectRatio, KlingMode, GrokImagineMode, GrokImagineDuration, GrokImageToVideoDuration, GrokImagineResolution, GrokVideo15AspectRatio, NanoBananaResolution, NanoBananaOutputFormat, GptImageQuality, GptImage2ImageToImageAspectRatio, GptImage2ImageToImageResolution, GptImage2TextToImageAspectRatio, GptImage2TextToImageResolution, Wan27Resolution, Wan27AspectRatio, Wan27AudioSetting, Wan27ImageResolution, Wan27ImageAspectRatio, HappyHorseResolution, HappyHorseAspectRatio, HappyHorseAudioSetting, HappyHorseTextToVideoRequest, HappyHorseImageToVideoRequest, HappyHorseReferenceToVideoRequest, HappyHorseVideoEditRequest, ElevenLabsAudioIsolationRequest, ElevenLabsTextToDialogueV3Request, ElevenLabsTextToSpeechMultilingualV2Request, ElevenLabsTextToSpeechTurbo25Request, ElevenLabsSoundEffectV2Request, GeminiOmniAudioCreateRequest, } from "./zod";
3
+ export type { KieMediaModel, MediaType, KlingElement, MultiShotPrompt, KlingVideoRequest, KlingMotionControlRequest, GrokTextToImageRequest, GrokImageToImageRequest, GrokTextToVideoRequest, GrokImageToVideoRequest, GrokVideo15PreviewRequest, GrokVideoExtendRequest, GrokVideoUpscaleRequest, NanoBananaProRequest, NanoBanana2Request, GptImageToImageRequest, GptImage2ImageToImageRequest, GptImage2TextToImageRequest, SeedreamImageToImageRequest, SeedreamTextToImageRequest, Qwen2TextToImageRequest, Qwen2ImageEditRequest, Seedance2FastRequest, Seedance2Request, Wan27ImageToVideoRequest, Wan27TextToVideoRequest, Wan27RefToVideoRequest, Wan27VideoEditRequest, Wan27ImageColorPalette, Wan27ImageRequest, Wan27ImageProRequest, Wan27TaskResultJson, Wan27VideoResult, Wan27ImageResult, SoraWatermarkRequest, MediaGenerationRequest, UploadMediaRequest, FileUrlUploadRequest, FileBase64UploadRequest, DownloadUrlRequest, KieOptions, KlingDuration, KlingAspectRatio, KlingMode, GrokImagineMode, GrokImagineDuration, GrokImageToVideoDuration, GrokImagineResolution, GrokVideo15AspectRatio, NanoBananaResolution, NanoBananaOutputFormat, GptImageQuality, GptImage2ImageToImageAspectRatio, GptImage2ImageToImageResolution, GptImage2TextToImageAspectRatio, GptImage2TextToImageResolution, Wan27Resolution, Wan27AspectRatio, Wan27AudioSetting, Wan27ImageResolution, Wan27ImageAspectRatio, HappyHorseResolution, HappyHorseAspectRatio, HappyHorseAudioSetting, VolcengineVideoToVideoLipSyncMode, HappyHorseTextToVideoRequest, HappyHorseImageToVideoRequest, HappyHorseReferenceToVideoRequest, HappyHorseVideoEditRequest, VolcengineVideoToVideoLipSyncRequest, ElevenLabsAudioIsolationRequest, ElevenLabsTextToDialogueV3Request, ElevenLabsTextToSpeechMultilingualV2Request, ElevenLabsTextToSpeechTurbo25Request, ElevenLabsSoundEffectV2Request, GeminiOmniAudioCreateRequest, } from "./zod";
4
4
  export interface KieApiEnvelope<T = Record<string, unknown>> {
5
5
  code: number;
6
6
  msg: string;
@@ -59,8 +59,8 @@ export interface ModelInputSchema {
59
59
  fields: Record<string, PayloadFieldSchema>;
60
60
  }
61
61
  import type { MediaGenerationRequest, DownloadUrlRequest, UploadMediaRequest, FileUrlUploadRequest, FileBase64UploadRequest, GeminiOmniAudioCreateRequest } from "./zod";
62
- export type { PayGateApproval as KieApproval } from "@apicity/cost";
63
- import type { PayGateApproval as KieApproval } from "@apicity/cost";
62
+ export type { PayGateApproval as KieApproval } from "./paygate";
63
+ import type { PayGateApproval as KieApproval } from "./paygate";
64
64
  interface KieCreateTaskMethod {
65
65
  (req: MediaGenerationRequest, approval?: KieApproval): Promise<TaskResponse>;
66
66
  schema: z.ZodType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAuPA,cAAc;AACd,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,MAAM,CAAS;IACf,IAAI,CAAU;IACd,IAAI,CAAU;IAEvB,YAAY,OAAe,EAAE,MAAc,EAAE,IAAc,EAAE,IAAa;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAyPA,cAAc;AACd,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,MAAM,CAAS;IACf,IAAI,CAAU;IACd,IAAI,CAAU;IAEvB,YAAY,OAAe,EAAE,MAAc,EAAE,IAAc,EAAE,IAAa;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
package/dist/src/veo.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { PayGateApproval } from "@apicity/cost";
1
+ import type { PayGateApproval } from "./paygate";
2
2
  import type { z } from "zod";
3
3
  export type VeoModel = "veo3" | "veo3_fast";
4
4
  export type VeoGenerationType = "TEXT_2_VIDEO" | "REFERENCE_2_VIDEO" | "FIRST_AND_LAST_FRAMES_2_VIDEO";
@@ -1 +1 @@
1
- {"version":3,"file":"veo.d.ts","sourceRoot":"","sources":["../../src/veo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,mBAAmB,GACnB,+BAA+B,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,UAAU,iBAAiB;IACzB,CACE,GAAG,EAAE,kBAAkB,EACvB,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAED,UAAU,eAAe;IACvB,CACE,GAAG,EAAE,gBAAgB,EACrB,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,eAAe,CAAC;CACtB;AAED,UAAU,mBAAmB;IAC3B,EAAE,EAAE,cAAc,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QAAE,GAAG,EAAE,mBAAmB,CAAA;KAAE,CAAC;CACpC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,EACrB,OAAO,EAAE,MAAM,GACd,WAAW,CA2Cb"}
1
+ {"version":3,"file":"veo.d.ts","sourceRoot":"","sources":["../../src/veo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,mBAAmB,GACnB,+BAA+B,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,UAAU,iBAAiB;IACzB,CACE,GAAG,EAAE,kBAAkB,EACvB,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAED,UAAU,eAAe;IACvB,CACE,GAAG,EAAE,gBAAgB,EACrB,QAAQ,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrC;AAED,UAAU,eAAe;IACvB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE,eAAe,CAAC;CACtB;AAED,UAAU,mBAAmB;IAC3B,EAAE,EAAE,cAAc,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QAAE,GAAG,EAAE,mBAAmB,CAAA;KAAE,CAAC;CACpC;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,EACrB,OAAO,EAAE,MAAM,GACd,WAAW,CA2Cb"}
@@ -0,0 +1,27 @@
1
+ import { type PayGateConfig } from "./paygate";
2
+ export interface WithPaidGateOptions {
3
+ /**
4
+ * Top-level keys to recurse into. Default: HTTP-method buckets.
5
+ */
6
+ roots?: readonly string[];
7
+ /**
8
+ * Pay-gate configuration (shared HMAC secret + optional replay store/clock)
9
+ * forwarded to every gated dispatch. When omitted, paid endpoints fail closed
10
+ * with `paygate-not-configured`.
11
+ */
12
+ config?: PayGateConfig;
13
+ }
14
+ /**
15
+ * Walk a provider tree once and route every paid-endpoint leaf through
16
+ * `dispatchWithPaidGate`. Free leaves are returned untouched. Callable
17
+ * namespaces (functions with child properties — e.g. `xai.v1.models` is a
18
+ * function with `.languageModels` children) preserve all children and their
19
+ * `.schema` attachments.
20
+ *
21
+ * @param providerName Provider identifier matching `PAID_ENDPOINTS`.
22
+ * @param tree The provider object returned by the factory.
23
+ * @param opts Optional roots allowlist and IO injection.
24
+ * @returns A new tree of the same shape; paid leaves accept `(req, approval?)`.
25
+ */
26
+ export declare function withPaidGate<T extends object>(providerName: string, tree: T, opts?: WithPaidGateOptions): T;
27
+ //# sourceMappingURL=with-paid-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-paid-gate.d.ts","sourceRoot":"","sources":["../../src/with-paid-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAWnB,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,CAAC,EACP,IAAI,CAAC,EAAE,mBAAmB,GACzB,CAAC,CAoBH"}
@@ -0,0 +1,91 @@
1
+ import { dispatchWithPaidGate, createReplayStore, } from "./paygate.js";
2
+ import { isPaidEndpoint } from "./paid-endpoints.js";
3
+ /**
4
+ * HTTP-method roots that the walker will descend into. Properties outside
5
+ * this allowlist (sub-providers like `kie.veo`, schema collections like
6
+ * `kie.modelInputSchemas`, attached helpers like `kie.examples`) are
7
+ * returned by reference and never wrapped.
8
+ */
9
+ const DEFAULT_ROOTS = ["post", "get", "delete", "patch", "put"];
10
+ /**
11
+ * Walk a provider tree once and route every paid-endpoint leaf through
12
+ * `dispatchWithPaidGate`. Free leaves are returned untouched. Callable
13
+ * namespaces (functions with child properties — e.g. `xai.v1.models` is a
14
+ * function with `.languageModels` children) preserve all children and their
15
+ * `.schema` attachments.
16
+ *
17
+ * @param providerName Provider identifier matching `PAID_ENDPOINTS`.
18
+ * @param tree The provider object returned by the factory.
19
+ * @param opts Optional roots allowlist and IO injection.
20
+ * @returns A new tree of the same shape; paid leaves accept `(req, approval?)`.
21
+ */
22
+ export function withPaidGate(providerName, tree, opts) {
23
+ const roots = opts?.roots ?? DEFAULT_ROOTS;
24
+ // Normalize the config once so every gated dispatch on this provider instance
25
+ // shares a single replay store (single-use OTPs must be remembered across
26
+ // calls). A custom store passed by the code client is preserved.
27
+ const config = opts?.config
28
+ ? {
29
+ ...opts.config,
30
+ replayStore: opts.config.replayStore ?? createReplayStore(),
31
+ }
32
+ : undefined;
33
+ const out = {};
34
+ for (const [key, value] of Object.entries(tree)) {
35
+ if (roots.includes(key) && value && typeof value === "object") {
36
+ out[key] = walk(providerName, [key], value, config);
37
+ }
38
+ else {
39
+ out[key] = value;
40
+ }
41
+ }
42
+ return out;
43
+ }
44
+ function walk(providerName, path, node, config) {
45
+ if (typeof node === "function") {
46
+ return wrapCallable(providerName, path, node, config);
47
+ }
48
+ if (node && typeof node === "object" && !Array.isArray(node)) {
49
+ const out = {};
50
+ for (const [k, v] of Object.entries(node)) {
51
+ out[k] = walk(providerName, [...path, k], v, config);
52
+ }
53
+ return out;
54
+ }
55
+ return node;
56
+ }
57
+ /**
58
+ * Wrap a callable leaf. If the path resolves to a paid endpoint, the returned
59
+ * function routes through `dispatchWithPaidGate`. Otherwise the original
60
+ * function is returned. Either way, any properties hanging off the function
61
+ * (`.schema`, callable-namespace children) are preserved and recursively
62
+ * walked so nested paid leaves are also gated.
63
+ */
64
+ function wrapCallable(providerName, path, fn, config) {
65
+ const method = path[0].toUpperCase();
66
+ const dotPath = path.slice(1).join(".");
67
+ const paid = dotPath.length > 0 && isPaidEndpoint(providerName, method, dotPath);
68
+ const base = paid
69
+ ? (...args) => {
70
+ const [req, approval] = args;
71
+ return dispatchWithPaidGate(providerName, method, dotPath, req, approval, () => fn(req), config);
72
+ }
73
+ : fn;
74
+ // For callable namespaces (functions with own properties), only recurse into
75
+ // function-typed children — those are sub-endpoints that may themselves be
76
+ // paid. Non-function props (`.schema`, other metadata) are preserved by
77
+ // reference so test assertions and runtime callers can compare by identity.
78
+ const children = {};
79
+ for (const [k, v] of Object.entries(fn)) {
80
+ if (typeof v === "function") {
81
+ children[k] = walk(providerName, [...path, k], v, config);
82
+ }
83
+ else {
84
+ children[k] = v;
85
+ }
86
+ }
87
+ // If `base === fn` we still merge children, but they're already attached;
88
+ // the assignment is a no-op for own enumerable keys.
89
+ return Object.assign(base, children);
90
+ }
91
+ //# sourceMappingURL=with-paid-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-paid-gate.js","sourceRoot":"","sources":["../../src/with-paid-gate.ts"],"names":[],"mappings":"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"}
package/dist/src/zod.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import type { PayGateConfig } from "@apicity/cost";
2
+ import type { PayGateConfig } from "./paygate";
3
3
  export declare const KieMediaModelSchema: z.ZodEnum<{
4
4
  "kling-3.0/video": "kling-3.0/video";
5
5
  "kling-3.0/motion-control": "kling-3.0/motion-control";
@@ -31,6 +31,7 @@ export declare const KieMediaModelSchema: z.ZodEnum<{
31
31
  "happyhorse/image-to-video": "happyhorse/image-to-video";
32
32
  "happyhorse/reference-to-video": "happyhorse/reference-to-video";
33
33
  "happyhorse/video-edit": "happyhorse/video-edit";
34
+ "volcengine/video-to-video-lip-sync": "volcengine/video-to-video-lip-sync";
34
35
  "elevenlabs/audio-isolation": "elevenlabs/audio-isolation";
35
36
  "elevenlabs/text-to-dialogue-v3": "elevenlabs/text-to-dialogue-v3";
36
37
  "elevenlabs/text-to-speech-multilingual-v2": "elevenlabs/text-to-speech-multilingual-v2";
@@ -163,6 +164,10 @@ export declare const HappyHorseAudioSettingSchema: z.ZodEnum<{
163
164
  auto: "auto";
164
165
  origin: "origin";
165
166
  }>;
167
+ export declare const VolcengineVideoToVideoLipSyncModeSchema: z.ZodEnum<{
168
+ lite: "lite";
169
+ basic: "basic";
170
+ }>;
166
171
  export declare const KlingElementSchema: z.ZodObject<{
167
172
  name: z.ZodString;
168
173
  description: z.ZodString;
@@ -843,6 +848,23 @@ export declare const HappyHorseVideoEditRequestSchema: z.ZodObject<{
843
848
  seed: z.ZodOptional<z.ZodNumber>;
844
849
  }, z.core.$strip>;
845
850
  }, z.core.$strip>;
851
+ export declare const VolcengineVideoToVideoLipSyncRequestSchema: z.ZodObject<{
852
+ model: z.ZodLiteral<"volcengine/video-to-video-lip-sync">;
853
+ callBackUrl: z.ZodOptional<z.ZodString>;
854
+ input: z.ZodObject<{
855
+ mode: z.ZodEnum<{
856
+ lite: "lite";
857
+ basic: "basic";
858
+ }>;
859
+ video_url: z.ZodString;
860
+ audio_url: z.ZodString;
861
+ separate_vocal: z.ZodDefault<z.ZodBoolean>;
862
+ open_scenedet: z.ZodDefault<z.ZodBoolean>;
863
+ align_audio: z.ZodDefault<z.ZodBoolean>;
864
+ align_audio_reverse: z.ZodDefault<z.ZodBoolean>;
865
+ templ_start_seconds: z.ZodDefault<z.ZodNumber>;
866
+ }, z.core.$strip>;
867
+ }, z.core.$strip>;
846
868
  export declare const ElevenLabsAudioIsolationRequestSchema: z.ZodObject<{
847
869
  model: z.ZodLiteral<"elevenlabs/audio-isolation">;
848
870
  callBackUrl: z.ZodOptional<z.ZodString>;
@@ -1184,6 +1206,7 @@ export declare const CreateTaskRequestSchema: z.ZodObject<{
1184
1206
  "happyhorse/image-to-video": "happyhorse/image-to-video";
1185
1207
  "happyhorse/reference-to-video": "happyhorse/reference-to-video";
1186
1208
  "happyhorse/video-edit": "happyhorse/video-edit";
1209
+ "volcengine/video-to-video-lip-sync": "volcengine/video-to-video-lip-sync";
1187
1210
  "elevenlabs/audio-isolation": "elevenlabs/audio-isolation";
1188
1211
  "elevenlabs/text-to-dialogue-v3": "elevenlabs/text-to-dialogue-v3";
1189
1212
  "elevenlabs/text-to-speech-multilingual-v2": "elevenlabs/text-to-speech-multilingual-v2";
@@ -2080,6 +2103,22 @@ export declare const MediaGenerationRequestSchema: z.ZodUnion<readonly [z.ZodObj
2080
2103
  }>>;
2081
2104
  seed: z.ZodOptional<z.ZodNumber>;
2082
2105
  }, z.core.$strip>;
2106
+ }, z.core.$strip>, z.ZodObject<{
2107
+ model: z.ZodLiteral<"volcengine/video-to-video-lip-sync">;
2108
+ callBackUrl: z.ZodOptional<z.ZodString>;
2109
+ input: z.ZodObject<{
2110
+ mode: z.ZodEnum<{
2111
+ lite: "lite";
2112
+ basic: "basic";
2113
+ }>;
2114
+ video_url: z.ZodString;
2115
+ audio_url: z.ZodString;
2116
+ separate_vocal: z.ZodDefault<z.ZodBoolean>;
2117
+ open_scenedet: z.ZodDefault<z.ZodBoolean>;
2118
+ align_audio: z.ZodDefault<z.ZodBoolean>;
2119
+ align_audio_reverse: z.ZodDefault<z.ZodBoolean>;
2120
+ templ_start_seconds: z.ZodDefault<z.ZodNumber>;
2121
+ }, z.core.$strip>;
2083
2122
  }, z.core.$strip>, z.ZodObject<{
2084
2123
  model: z.ZodLiteral<"elevenlabs/audio-isolation">;
2085
2124
  callBackUrl: z.ZodOptional<z.ZodString>;
@@ -2169,6 +2208,7 @@ export type Wan27ImageAspectRatio = z.infer<typeof Wan27ImageAspectRatioSchema>;
2169
2208
  export type HappyHorseResolution = z.infer<typeof HappyHorseResolutionSchema>;
2170
2209
  export type HappyHorseAspectRatio = z.infer<typeof HappyHorseAspectRatioSchema>;
2171
2210
  export type HappyHorseAudioSetting = z.infer<typeof HappyHorseAudioSettingSchema>;
2211
+ export type VolcengineVideoToVideoLipSyncMode = z.infer<typeof VolcengineVideoToVideoLipSyncModeSchema>;
2172
2212
  export type KlingElement = z.infer<typeof KlingElementSchema>;
2173
2213
  export type MultiShotPrompt = z.infer<typeof MultiShotPromptSchema>;
2174
2214
  export type Wan27ImageColorPalette = z.infer<typeof Wan27ImageColorPaletteSchema>;
@@ -2209,6 +2249,7 @@ export type HappyHorseTextToVideoRequest = z.infer<typeof HappyHorseTextToVideoR
2209
2249
  export type HappyHorseImageToVideoRequest = z.infer<typeof HappyHorseImageToVideoRequestSchema>;
2210
2250
  export type HappyHorseReferenceToVideoRequest = z.infer<typeof HappyHorseReferenceToVideoRequestSchema>;
2211
2251
  export type HappyHorseVideoEditRequest = z.infer<typeof HappyHorseVideoEditRequestSchema>;
2252
+ export type VolcengineVideoToVideoLipSyncRequest = z.infer<typeof VolcengineVideoToVideoLipSyncRequestSchema>;
2212
2253
  export type ElevenLabsAudioIsolationRequest = z.infer<typeof ElevenLabsAudioIsolationRequestSchema>;
2213
2254
  export type ElevenLabsTextToDialogueV3Request = z.infer<typeof ElevenLabsTextToDialogueV3RequestSchema>;
2214
2255
  export type ElevenLabsTextToSpeechMultilingualV2Request = z.infer<typeof ElevenLabsTextToSpeechMultilingualV2RequestSchema>;