vidspotai-shared 1.0.15 → 1.0.17
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/lib/globals/aiModels.d.ts +2 -1
- package/lib/globals/aiModels.d.ts.map +1 -1
- package/lib/globals/aiModels.js +67 -55
- package/lib/globals/types.d.ts +48 -1
- package/lib/globals/types.d.ts.map +1 -1
- package/lib/globals/types.js +44 -1
- package/lib/models/video.model.d.ts +3 -2
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.js +1 -0
- package/lib/services/aiGen/providers/openai/openai.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/openai/openai.service.js +18 -3
- package/lib/services/aiGen/providers/types.d.ts +1 -2
- package/lib/services/aiGen/providers/types.d.ts.map +1 -1
- package/lib/services/firestore.service.d.ts +6 -7
- package/lib/services/firestore.service.d.ts.map +1 -1
- package/lib/utils/helpers.d.ts +17 -0
- package/lib/utils/helpers.d.ts.map +1 -1
- package/lib/utils/helpers.js +45 -0
- package/package.json +1 -1
|
@@ -27,7 +27,8 @@ export declare const EImageGenModels: {
|
|
|
27
27
|
readonly IDEOGRAM_1_0: "ideogram-1.0";
|
|
28
28
|
};
|
|
29
29
|
export declare enum ETextGenModels {
|
|
30
|
-
OPENAI_GPT_4O_MINI = "openai-gpt-4o-mini"
|
|
30
|
+
OPENAI_GPT_4O_MINI = "openai-gpt-4o-mini",
|
|
31
|
+
OPENAI_GPT_5_MINI = "openai-gpt-5-mini"
|
|
31
32
|
}
|
|
32
33
|
export type TAiGenModel = EVideoGenModels | ETextGenModels;
|
|
33
34
|
type GenerationType = "text-to-video" | "image-to-video" | "video-to-video" | "text-to-text" | "image-to-text";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiModels.d.ts","sourceRoot":"","sources":["../../src/globals/aiModels.ts"],"names":[],"mappings":"AAwBA,oBAAY,eAAe;IACzB,sBAAsB,2BAA2B;IACjD,4BAA4B,gCAAgC;IAC5D,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;CACxC;AAaD,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAaX,oBAAY,cAAc;IAExB,kBAAkB,uBAAuB;
|
|
1
|
+
{"version":3,"file":"aiModels.d.ts","sourceRoot":"","sources":["../../src/globals/aiModels.ts"],"names":[],"mappings":"AAwBA,oBAAY,eAAe;IACzB,sBAAsB,2BAA2B;IACjD,4BAA4B,gCAAgC;IAC5D,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;CACxC;AAaD,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AAaX,oBAAY,cAAc;IAExB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;CAIxC;AAID,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC;AAG3D,KAAK,cAAc,GACf,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,eAAe,CAAC;AAEpB,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAErC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAGD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAod5D,CAAC"}
|
package/lib/globals/aiModels.js
CHANGED
|
@@ -68,6 +68,7 @@ var ETextGenModels;
|
|
|
68
68
|
(function (ETextGenModels) {
|
|
69
69
|
// OPENAI_GPT_4O = "openai-gpt-4o",
|
|
70
70
|
ETextGenModels["OPENAI_GPT_4O_MINI"] = "openai-gpt-4o-mini";
|
|
71
|
+
ETextGenModels["OPENAI_GPT_5_MINI"] = "openai-gpt-5-mini";
|
|
71
72
|
// OPENAI_GPT_3_5_TURBO = "openai-gpt-3.5-turbo",
|
|
72
73
|
// ANTHROPIC_CLAUDE_3 = "anthropic-claude-3",
|
|
73
74
|
// ANTHROPIC_CLAUDE_INSTANT_100K = "anthropic-claude-instant-100k",
|
|
@@ -289,61 +290,6 @@ exports.aiModelConfigs = {
|
|
|
289
290
|
},
|
|
290
291
|
},
|
|
291
292
|
},
|
|
292
|
-
// --- OpenAI models ---
|
|
293
|
-
"openai-gpt-4o-mini": {
|
|
294
|
-
modelId: "gpt-4o-mini",
|
|
295
|
-
type: ["text-to-text", "image-to-text"],
|
|
296
|
-
fields: {
|
|
297
|
-
prompt: { required: true },
|
|
298
|
-
maxCompletionTokens: { default: 2048 },
|
|
299
|
-
temperature: { default: 1.0 },
|
|
300
|
-
topP: { default: 1.0 },
|
|
301
|
-
frequencyPenalty: { default: 0.0 },
|
|
302
|
-
presencePenalty: { default: 0.0 },
|
|
303
|
-
},
|
|
304
|
-
// parallelRequests: 5,
|
|
305
|
-
// requestPerMin: 500,
|
|
306
|
-
// requestPerDay: 10000,
|
|
307
|
-
// tokenPerMin: 200000, // 150k tokens per minute
|
|
308
|
-
},
|
|
309
|
-
"azure-sora": {
|
|
310
|
-
modelId: "sora",
|
|
311
|
-
type: ["text-to-video", "image-to-video", "video-to-video"],
|
|
312
|
-
fields: {
|
|
313
|
-
prompt: { required: true },
|
|
314
|
-
dimenions: {
|
|
315
|
-
allowedValues: [
|
|
316
|
-
"480x480",
|
|
317
|
-
"480x854",
|
|
318
|
-
"854x480",
|
|
319
|
-
"720x720",
|
|
320
|
-
"720x1280",
|
|
321
|
-
"1280x720",
|
|
322
|
-
"1080x1080",
|
|
323
|
-
"1080x1920",
|
|
324
|
-
"1920x1080",
|
|
325
|
-
],
|
|
326
|
-
default: "480x480",
|
|
327
|
-
},
|
|
328
|
-
duration: {
|
|
329
|
-
allowedValues: [1, 5, 10, 15, 20], // in seconds
|
|
330
|
-
default: 5,
|
|
331
|
-
},
|
|
332
|
-
imageUrl: { required: false }, // up to 2
|
|
333
|
-
videoUrl: { required: false }, // up to 5s
|
|
334
|
-
},
|
|
335
|
-
// parallelRequests: 1,
|
|
336
|
-
cost: {
|
|
337
|
-
table: {
|
|
338
|
-
"480x480": { 5: 0.15, 10: 0.15, 15: 0.15, 20: 0.15 },
|
|
339
|
-
"480x854": { 5: 0.2, 10: 0.2, 15: 0.2, 20: 0.2 },
|
|
340
|
-
"720x720": { 5: 0.3, 10: 0.3, 15: 0.3, 20: 0.3 },
|
|
341
|
-
"1280x720": { 5: 0.45, 10: 0.5, 15: 0.65, 20: 0.75 },
|
|
342
|
-
"1080x1080": { 5: 0.6, 10: 0.75, 15: 1.1, 20: 1.35 },
|
|
343
|
-
"1920x1080": { 5: 1.3, 10: 1.85, 15: 2.9, 20: 3.6 },
|
|
344
|
-
},
|
|
345
|
-
},
|
|
346
|
-
},
|
|
347
293
|
// --- MINIMAX model ---
|
|
348
294
|
"minimax-hailuo-02": {
|
|
349
295
|
modelId: "MiniMax-Hailuo-02",
|
|
@@ -517,4 +463,70 @@ exports.aiModelConfigs = {
|
|
|
517
463
|
},
|
|
518
464
|
requestPerMin: 10,
|
|
519
465
|
},
|
|
466
|
+
"azure-sora": {
|
|
467
|
+
modelId: "sora",
|
|
468
|
+
type: ["text-to-video", "image-to-video", "video-to-video"],
|
|
469
|
+
fields: {
|
|
470
|
+
prompt: { required: true },
|
|
471
|
+
dimenions: {
|
|
472
|
+
allowedValues: [
|
|
473
|
+
"480x480",
|
|
474
|
+
"480x854",
|
|
475
|
+
"854x480",
|
|
476
|
+
"720x720",
|
|
477
|
+
"720x1280",
|
|
478
|
+
"1280x720",
|
|
479
|
+
"1080x1080",
|
|
480
|
+
"1080x1920",
|
|
481
|
+
"1920x1080",
|
|
482
|
+
],
|
|
483
|
+
default: "480x480",
|
|
484
|
+
},
|
|
485
|
+
duration: {
|
|
486
|
+
allowedValues: [1, 5, 10, 15, 20], // in seconds
|
|
487
|
+
default: 5,
|
|
488
|
+
},
|
|
489
|
+
imageUrl: { required: false }, // up to 2
|
|
490
|
+
videoUrl: { required: false }, // up to 5s
|
|
491
|
+
},
|
|
492
|
+
// parallelRequests: 1,
|
|
493
|
+
cost: {
|
|
494
|
+
table: {
|
|
495
|
+
"480x480": { 5: 0.15, 10: 0.15, 15: 0.15, 20: 0.15 },
|
|
496
|
+
"480x854": { 5: 0.2, 10: 0.2, 15: 0.2, 20: 0.2 },
|
|
497
|
+
"720x720": { 5: 0.3, 10: 0.3, 15: 0.3, 20: 0.3 },
|
|
498
|
+
"1280x720": { 5: 0.45, 10: 0.5, 15: 0.65, 20: 0.75 },
|
|
499
|
+
"1080x1080": { 5: 0.6, 10: 0.75, 15: 1.1, 20: 1.35 },
|
|
500
|
+
"1920x1080": { 5: 1.3, 10: 1.85, 15: 2.9, 20: 3.6 },
|
|
501
|
+
},
|
|
502
|
+
},
|
|
503
|
+
},
|
|
504
|
+
// --- TEXT GEN models ---
|
|
505
|
+
"openai-gpt-4o-mini": {
|
|
506
|
+
modelId: "gpt-4o-mini",
|
|
507
|
+
type: ["text-to-text", "image-to-text"],
|
|
508
|
+
fields: {
|
|
509
|
+
prompt: { required: true },
|
|
510
|
+
maxOutputTokens: { default: 16384 },
|
|
511
|
+
contextWindowSize: { default: 128000 },
|
|
512
|
+
temperature: { default: 1.0 },
|
|
513
|
+
topP: { default: 1.0 },
|
|
514
|
+
frequencyPenalty: { default: 0.0 },
|
|
515
|
+
presencePenalty: { default: 0.0 },
|
|
516
|
+
},
|
|
517
|
+
},
|
|
518
|
+
"openai-gpt-5-mini": {
|
|
519
|
+
modelId: "gpt-5-mini",
|
|
520
|
+
type: ["text-to-text", "image-to-text"],
|
|
521
|
+
fields: {
|
|
522
|
+
prompt: { required: true },
|
|
523
|
+
maxOutputTokens: { default: 128000 },
|
|
524
|
+
contextWindowSize: { default: 400000 },
|
|
525
|
+
temperature: { default: 1.0 },
|
|
526
|
+
topP: { default: 1.0 },
|
|
527
|
+
frequencyPenalty: { default: 0.0 },
|
|
528
|
+
presencePenalty: { default: 0.0 },
|
|
529
|
+
reasoningEffort: { default: "medium" }, // 'minimal' | 'low' | 'medium' | 'high'
|
|
530
|
+
},
|
|
531
|
+
},
|
|
520
532
|
};
|
package/lib/globals/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FieldValue } from "firebase-admin/firestore";
|
|
2
|
+
import z from "zod";
|
|
2
3
|
export interface IDetectLang {
|
|
3
4
|
reliable: boolean;
|
|
4
5
|
textBytes: number;
|
|
@@ -31,7 +32,8 @@ export declare const REDIS_QUEUES: ERedisQueues[];
|
|
|
31
32
|
export declare enum EVideoDurationType {
|
|
32
33
|
SHORT = "short",
|
|
33
34
|
MEDIUM = "medium",
|
|
34
|
-
LONG = "long"
|
|
35
|
+
LONG = "long",
|
|
36
|
+
VERY_LONG = "very-long"
|
|
35
37
|
}
|
|
36
38
|
export type TVideoJobTask = string;
|
|
37
39
|
export type DeepPartial<T> = {
|
|
@@ -268,5 +270,50 @@ export declare enum EGPT_LANGUAGE_CODE {
|
|
|
268
270
|
Urdu = "ur",
|
|
269
271
|
Vietnamese = "vi"
|
|
270
272
|
}
|
|
273
|
+
export interface GenerateAndValidateArgs<T extends z.ZodTypeAny | undefined> {
|
|
274
|
+
userPrompt: string;
|
|
275
|
+
systemPrompt?: string;
|
|
276
|
+
jsonSchema?: any;
|
|
277
|
+
zodSchema?: T;
|
|
278
|
+
}
|
|
279
|
+
export declare const VisualBibleCharacter: z.ZodObject<{
|
|
280
|
+
id: z.ZodString;
|
|
281
|
+
name: z.ZodString;
|
|
282
|
+
description: z.ZodString;
|
|
283
|
+
}, z.core.$strip>;
|
|
284
|
+
export type VisualBibleObject = z.infer<typeof VisualBibleObject>;
|
|
285
|
+
export declare const VisualBibleObject: z.ZodObject<{
|
|
286
|
+
id: z.ZodString;
|
|
287
|
+
name: z.ZodString;
|
|
288
|
+
description: z.ZodString;
|
|
289
|
+
}, z.core.$strip>;
|
|
290
|
+
export type VisualBibleCharacter = z.infer<typeof VisualBibleCharacter>;
|
|
291
|
+
export declare const VisualBibleSchema: z.ZodObject<{
|
|
292
|
+
environment: z.ZodString;
|
|
293
|
+
characters: z.ZodArray<z.ZodObject<{
|
|
294
|
+
id: z.ZodString;
|
|
295
|
+
name: z.ZodString;
|
|
296
|
+
description: z.ZodString;
|
|
297
|
+
}, z.core.$strip>>;
|
|
298
|
+
objects: z.ZodArray<z.ZodObject<{
|
|
299
|
+
id: z.ZodString;
|
|
300
|
+
name: z.ZodString;
|
|
301
|
+
description: z.ZodString;
|
|
302
|
+
}, z.core.$strip>>;
|
|
303
|
+
}, z.core.$strip>;
|
|
304
|
+
export type VisualBible = z.infer<typeof VisualBibleSchema>;
|
|
305
|
+
export declare const ConsistentSceneItemSchema: z.ZodObject<{
|
|
306
|
+
sceneIndex: z.ZodNumber;
|
|
307
|
+
duration: z.ZodNumber;
|
|
308
|
+
videoPrompt: z.ZodString;
|
|
309
|
+
}, z.core.$strip>;
|
|
310
|
+
export declare const ConsistentSceneSchema: z.ZodObject<{
|
|
311
|
+
scenes: z.ZodArray<z.ZodObject<{
|
|
312
|
+
sceneIndex: z.ZodNumber;
|
|
313
|
+
duration: z.ZodNumber;
|
|
314
|
+
videoPrompt: z.ZodString;
|
|
315
|
+
}, z.core.$strip>>;
|
|
316
|
+
}, z.core.$strip>;
|
|
317
|
+
export type ConsistentScene = z.infer<typeof ConsistentSceneSchema>;
|
|
271
318
|
export {};
|
|
272
319
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"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AAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,IAAI,UAAU;IACd,IAAI,UAAU;IACd,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED,oBAAY,kBAAkB;IAC5B,QAAQ,OAAO;IACf,OAAO,OAAO;IACd,MAAM,OAAO;IACb,QAAQ,OAAO;IACf,OAAO,OAAO;IACd,OAAO,OAAO;IACd,SAAS,OAAO;IAChB,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,KAAK,OAAO;IACZ,MAAM,OAAO;IACb,KAAK,OAAO;IACZ,QAAQ,OAAO;IACf,OAAO,OAAO;IACd,MAAM,OAAO;IACb,QAAQ,OAAO;IACf,MAAM,OAAO;IACb,KAAK,OAAO;IACZ,QAAQ,OAAO;IACf,KAAK,OAAO;IACZ,SAAS,OAAO;IAChB,SAAS,OAAO;IAChB,UAAU,OAAO;IACjB,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,OAAO,OAAO;IACd,MAAM,OAAO;IACb,MAAM,OAAO;IACb,OAAO,OAAO;IACd,UAAU,OAAO;IACjB,UAAU,OAAO;IACjB,KAAK,OAAO;IACZ,SAAS,OAAO;IAChB,OAAO,OAAO;IACd,SAAS,OAAO;IAChB,SAAS,OAAO;IAChB,OAAO,OAAO;IACd,MAAM,OAAO;IACb,UAAU,OAAO;IACjB,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,OAAO,OAAO;IACd,OAAO,OAAO;IACd,MAAM,OAAO;IACb,SAAS,OAAO;IAChB,MAAM,OAAO;IACb,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,OAAO,OAAO;IACd,KAAK,OAAO;IACZ,MAAM,OAAO;IACb,IAAI,OAAO;IACX,OAAO,OAAO;IACd,SAAS,OAAO;IAChB,IAAI,OAAO;IACX,UAAU,OAAO;CAClB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,SAAS;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,CAAC,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB;;;;iBAQ/B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;iBAQ5B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;iBAY5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,yBAAyB;;;;iBAapC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;iBAEhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
package/lib/globals/types.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EGPT_LANGUAGE_CODE = exports.ELANGUAGE_CODE = exports.ERROR_CODE = exports.EENVS = exports.ECURRENCY = exports.ESUBSCRIPTION_STATUS = exports.ERENEWAL_FREQUENCY = exports.ESUBSCRIPTION_PLANS = exports.ESCHEDULE_UPDATE_STATUS = exports.EVideoDurationType = exports.REDIS_QUEUES = exports.ERedisQueues = exports.EVideoSceneStatus = exports.EVideoJobStatus = void 0;
|
|
6
|
+
exports.ConsistentSceneSchema = exports.ConsistentSceneItemSchema = exports.VisualBibleSchema = exports.VisualBibleObject = exports.VisualBibleCharacter = exports.EGPT_LANGUAGE_CODE = exports.ELANGUAGE_CODE = exports.ERROR_CODE = exports.EENVS = exports.ECURRENCY = exports.ESUBSCRIPTION_STATUS = exports.ERENEWAL_FREQUENCY = exports.ESUBSCRIPTION_PLANS = exports.ESCHEDULE_UPDATE_STATUS = exports.EVideoDurationType = exports.REDIS_QUEUES = exports.ERedisQueues = exports.EVideoSceneStatus = exports.EVideoJobStatus = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
4
8
|
var EVideoJobStatus;
|
|
5
9
|
(function (EVideoJobStatus) {
|
|
6
10
|
EVideoJobStatus["QUEUED"] = "queued";
|
|
@@ -31,6 +35,7 @@ var EVideoDurationType;
|
|
|
31
35
|
EVideoDurationType["SHORT"] = "short";
|
|
32
36
|
EVideoDurationType["MEDIUM"] = "medium";
|
|
33
37
|
EVideoDurationType["LONG"] = "long";
|
|
38
|
+
EVideoDurationType["VERY_LONG"] = "very-long";
|
|
34
39
|
})(EVideoDurationType || (exports.EVideoDurationType = EVideoDurationType = {}));
|
|
35
40
|
var ESCHEDULE_UPDATE_STATUS;
|
|
36
41
|
(function (ESCHEDULE_UPDATE_STATUS) {
|
|
@@ -266,3 +271,41 @@ var EGPT_LANGUAGE_CODE;
|
|
|
266
271
|
EGPT_LANGUAGE_CODE["Urdu"] = "ur";
|
|
267
272
|
EGPT_LANGUAGE_CODE["Vietnamese"] = "vi";
|
|
268
273
|
})(EGPT_LANGUAGE_CODE || (exports.EGPT_LANGUAGE_CODE = EGPT_LANGUAGE_CODE = {}));
|
|
274
|
+
exports.VisualBibleCharacter = zod_1.default.object({
|
|
275
|
+
id: zod_1.default.string().describe("Character ID reference (e.g., 'CHAR_1')."),
|
|
276
|
+
name: zod_1.default.string().describe("Short label or role for the character."),
|
|
277
|
+
description: zod_1.default
|
|
278
|
+
.string()
|
|
279
|
+
.describe("Concise visual identity including appearance, clothing, expression, and motion style."),
|
|
280
|
+
});
|
|
281
|
+
exports.VisualBibleObject = zod_1.default.object({
|
|
282
|
+
id: zod_1.default.string().describe("Object ID reference (e.g., 'OBJ_1')."),
|
|
283
|
+
name: zod_1.default.string().describe("Short object label."),
|
|
284
|
+
description: zod_1.default
|
|
285
|
+
.string()
|
|
286
|
+
.describe("Visual identity including material, color, details, and cinematic relevance."),
|
|
287
|
+
});
|
|
288
|
+
exports.VisualBibleSchema = zod_1.default.object({
|
|
289
|
+
environment: zod_1.default
|
|
290
|
+
.string()
|
|
291
|
+
.describe("Recurring terrain, architecture, atmosphere, and background world details."),
|
|
292
|
+
characters: zod_1.default
|
|
293
|
+
.array(exports.VisualBibleCharacter)
|
|
294
|
+
.describe("List of recurring characters with visual identities."),
|
|
295
|
+
objects: zod_1.default
|
|
296
|
+
.array(exports.VisualBibleObject)
|
|
297
|
+
.describe("List of recurring objects with visual details."),
|
|
298
|
+
});
|
|
299
|
+
exports.ConsistentSceneItemSchema = zod_1.default.object({
|
|
300
|
+
sceneIndex: zod_1.default
|
|
301
|
+
.number()
|
|
302
|
+
.describe("The sequential index of the scene (1-based)."),
|
|
303
|
+
duration: zod_1.default.number().describe("Duration of the scene in seconds."),
|
|
304
|
+
videoPrompt: zod_1.default
|
|
305
|
+
.string()
|
|
306
|
+
.max(1000)
|
|
307
|
+
.describe("Highly detailed visual description (<=1000 chars) maintaining Visual Bible consistency."),
|
|
308
|
+
});
|
|
309
|
+
exports.ConsistentSceneSchema = zod_1.default.object({
|
|
310
|
+
scenes: zod_1.default.array(exports.ConsistentSceneItemSchema),
|
|
311
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FieldValue } from "firebase-admin/firestore";
|
|
2
2
|
import { EVideoGenModels } from "../globals/aiModels";
|
|
3
|
-
import { EVideoDurationType, EVideoJobStatus, EVideoSceneStatus, TVideoJobTask } from "../globals/types";
|
|
3
|
+
import { EVideoDurationType, EVideoJobStatus, EVideoSceneStatus, TVideoJobTask, VisualBible } from "../globals/types";
|
|
4
4
|
import { EVideoMode } from "../services/aiGen/types";
|
|
5
5
|
export interface IVideoScene {
|
|
6
6
|
task?: TVideoJobTask;
|
|
@@ -26,12 +26,13 @@ export interface IVideoJobModel {
|
|
|
26
26
|
originalPrompt?: string;
|
|
27
27
|
scriptId?: string;
|
|
28
28
|
scenes?: IVideoScene[];
|
|
29
|
+
visualBible?: VisualBible;
|
|
29
30
|
finalVideoUrl?: string;
|
|
30
31
|
errorMessage?: string;
|
|
31
32
|
totalCreditsUsed?: number;
|
|
32
33
|
estimatedCredits?: number;
|
|
33
34
|
durationType?: EVideoDurationType;
|
|
34
|
-
duration
|
|
35
|
+
duration?: number;
|
|
35
36
|
mode?: EVideoMode;
|
|
36
37
|
dimensions?: string;
|
|
37
38
|
resolution?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAe,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,
|
|
1
|
+
{"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAe,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CAOpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAGlC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiGenFactory.service.d.ts","sourceRoot":"","sources":["../../../src/services/aiGen/aiGenFactory.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAUhC,KAAK,uBAAuB,GAAG,UAAU,wBAAwB,CAAC;AAElE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,eAAe,EACf,uBAAuB,CAqBxB,CAAC;AAUF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"aiGenFactory.service.d.ts","sourceRoot":"","sources":["../../../src/services/aiGen/aiGenFactory.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAUhC,KAAK,uBAAuB,GAAG,UAAU,wBAAwB,CAAC;AAElE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,eAAe,EACf,uBAAuB,CAqBxB,CAAC;AAUF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAQzE,CAAC;AAEJ,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,WAAW,GACpB,wBAAwB,CAY1B"}
|
|
@@ -39,6 +39,7 @@ exports.videoServicesMap = {
|
|
|
39
39
|
// };
|
|
40
40
|
exports.textServicesMap = {
|
|
41
41
|
"openai-gpt-4o-mini": openai_service_1.OpenaiService,
|
|
42
|
+
"openai-gpt-5-mini": openai_service_1.OpenaiService,
|
|
42
43
|
// "openai-gpt-4o": OpenaiService,
|
|
43
44
|
// "openai-gpt-3.5-turbo": OpenaiService,
|
|
44
45
|
// "anthropic-claude-3": ClaudeService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/openai/openai.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,qBAAa,aAAc,SAAQ,wBAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,MAAM,CAAS;;IAQjB,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAoB3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsC3C,YAAY,CAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/aiGen/providers/openai/openai.service.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,qBAAa,aAAc,SAAQ,wBAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,MAAM,CAAS;;IAQjB,aAAa,CACjB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IAoB3B,gBAAgB,CAAC,EACrB,IAAI,EACJ,cAAc,EACd,cAAyB,GAC1B,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsC3C,YAAY,CAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IA2ChC,aAAa,CAAC,EAAE,QAAQ,EAAE,QAAY,EAAE,EAAE,iBAAiB,GAAG,MAAM;CAMrE"}
|
|
@@ -66,7 +66,8 @@ class OpenaiService extends baseAiGenProvider_service_1.BaseAiGenProviderService
|
|
|
66
66
|
}
|
|
67
67
|
async generateText(params) {
|
|
68
68
|
const { input, modelKey, options } = params;
|
|
69
|
-
const model = aiModels_1.aiModelConfigs[modelKey]
|
|
69
|
+
const model = aiModels_1.aiModelConfigs[modelKey];
|
|
70
|
+
const modelId = model?.modelId || "gpt-4o-mini";
|
|
70
71
|
let parsedInput = [];
|
|
71
72
|
if (typeof input === "string") {
|
|
72
73
|
parsedInput = [
|
|
@@ -77,10 +78,24 @@ class OpenaiService extends baseAiGenProvider_service_1.BaseAiGenProviderService
|
|
|
77
78
|
parsedInput = input;
|
|
78
79
|
}
|
|
79
80
|
const completion = await this.client.chat.completions.create({
|
|
80
|
-
model,
|
|
81
|
+
model: modelId,
|
|
81
82
|
messages: parsedInput,
|
|
82
|
-
temperature:
|
|
83
|
+
temperature: model.fields?.temperature?.default
|
|
84
|
+
? options?.temperature || model.fields?.temperature?.default
|
|
85
|
+
: undefined,
|
|
86
|
+
top_p: model.fields?.topP?.default
|
|
87
|
+
? options?.topP || model.fields?.topP?.default
|
|
88
|
+
: undefined,
|
|
89
|
+
frequency_penalty: model.fields?.frequencyPenalty?.default
|
|
90
|
+
? options?.frequencyPenalty || model.fields?.frequencyPenalty?.default
|
|
91
|
+
: undefined,
|
|
92
|
+
presence_penalty: model.fields?.presencePenalty?.default
|
|
93
|
+
? options?.presencePenalty || model.fields?.presencePenalty?.default
|
|
94
|
+
: undefined,
|
|
83
95
|
response_format: options?.responseFormat || { type: "text" },
|
|
96
|
+
reasoning_effort: model.fields?.reasoningEffort?.default
|
|
97
|
+
? options?.reasoningEffort || model.fields?.reasoningEffort?.default
|
|
98
|
+
: undefined,
|
|
84
99
|
});
|
|
85
100
|
const text = completion.choices?.[0]?.message?.content?.trim() || "No response";
|
|
86
101
|
return {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ChatCompletionMessageParam } from "openai/resources/index";
|
|
2
1
|
import { ETextGenModels, EVideoGenModels } from "../../../globals/aiModels";
|
|
3
2
|
import { EVideoSceneStatus, TVideoJobTask } from "../../../globals/types";
|
|
4
3
|
import { EVideoMode } from "../types";
|
|
@@ -30,7 +29,7 @@ export interface VideoStatusParams {
|
|
|
30
29
|
outputFilePath?: string;
|
|
31
30
|
}
|
|
32
31
|
export interface TextGenerationParams {
|
|
33
|
-
input:
|
|
32
|
+
input: any;
|
|
34
33
|
modelKey: ETextGenModels;
|
|
35
34
|
options?: Record<string, any>;
|
|
36
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/aiGen/providers/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/aiGen/providers/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EACL,iBAAiB,EACjB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;CAC9D;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC;IACpC,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CAEvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CAMzB;AAED,MAAM,WAAW,oBAAoB;IAEnC,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,eAAe,GAAG,cAAc,CAAC;IAC3C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CACzC"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { DocumentData, WhereFilterOp, OrderByDirection } from "@google-cloud/firestore";
|
|
1
|
+
import { DocumentData, OrderByDirection, WhereFilterOp } from "@google-cloud/firestore";
|
|
3
2
|
import { CollectionReference, DocumentReference } from "firebase-admin/firestore";
|
|
3
|
+
import { DeepPartial } from "../globals/types";
|
|
4
4
|
import { IUserModel } from "../models/user.model";
|
|
5
5
|
import { IVideoJobModel } from "../models/video.model";
|
|
6
|
-
import { DeepPartial } from "../globals/types";
|
|
7
6
|
/**
|
|
8
7
|
* FirestoreService
|
|
9
8
|
* ----------------
|
|
10
9
|
* Centralized Firestore access with typed collections & static CRUD utilities.
|
|
11
10
|
*/
|
|
12
11
|
export declare class FirestoreService {
|
|
13
|
-
static videoJobsCol:
|
|
14
|
-
static usersCol:
|
|
15
|
-
static scriptsCol:
|
|
12
|
+
static videoJobsCol: CollectionReference<IVideoJobModel, DocumentData>;
|
|
13
|
+
static usersCol: CollectionReference<IUserModel, DocumentData>;
|
|
14
|
+
static scriptsCol: CollectionReference<{
|
|
16
15
|
userId: string;
|
|
17
16
|
prompt: string;
|
|
18
17
|
durationType: import("../globals/types").EVideoDurationType;
|
|
@@ -31,7 +30,7 @@ export declare class FirestoreService {
|
|
|
31
30
|
description: string;
|
|
32
31
|
dialogue: string;
|
|
33
32
|
}[];
|
|
34
|
-
},
|
|
33
|
+
}, DocumentData>;
|
|
35
34
|
/** Add new document with generated ID */
|
|
36
35
|
static appendNewRecord<T>(collectionRef: CollectionReference<T>, data: T): Promise<DocumentReference<T>>;
|
|
37
36
|
/** Add or overwrite a document with a specific ID */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestore.service.d.ts","sourceRoot":"","sources":["../../src/services/firestore.service.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"firestore.service.d.ts","sourceRoot":"","sources":["../../src/services/firestore.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,gBAAgB,EAEhB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevD;;;;GAIG;AACH,qBAAa,gBAAgB;IAE3B,MAAM,CAAC,YAAY,oDAEqC;IAExD,MAAM,CAAC,QAAQ,gDAEqC;IAEpD,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;qBAEqC;IAItD,yCAAyC;WAC5B,eAAe,CAAC,CAAC,EAC5B,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,EACrC,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAMhC,qDAAqD;WACxC,OAAO,CAAC,CAAC,EACpB,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,EACrC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAMhC,0CAA0C;WAC7B,UAAU,CAAC,CAAC,EACvB,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAKlC,kCAAkC;WACrB,WAAW,CAAC,CAAC,EACxB,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,EACrC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IAO5C,+BAA+B;WAClB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAIrE,+BAA+B;WAClB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAS3E,gCAAgC;WACnB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EACnD,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,EACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;QAChC,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAsBlC,8CAA8C;WACjC,UAAU,CAAC,CAAC,EACvB,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,EACrC,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,EAC9B,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAwB,GACrD,OAAO,CAAC,IAAI,CAAC;IAWhB,OAAO,CAAC,MAAM,CAAC,aAAa;IAmB5B,0CAA0C;WAC7B,cAAc,CACzB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IAIhB,sBAAsB;WACT,UAAU,CAAC,CAAC,EACvB,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,EACrC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC;CAIjB"}
|
package/lib/utils/helpers.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ELANGUAGE_CODE, ERENEWAL_FREQUENCY, ESUBSCRIPTION_PLANS, IDetectLang } from "../globals/types";
|
|
2
|
+
import z from "zod";
|
|
3
|
+
import { ETextGenModels } from "../globals";
|
|
2
4
|
export declare const getPlanTypeById: (priceId: string) => ESUBSCRIPTION_PLANS | null;
|
|
3
5
|
export declare const getFreqById: (priceId: string) => ERENEWAL_FREQUENCY | null;
|
|
4
6
|
export declare const getPriceIdByType: (type: ESUBSCRIPTION_PLANS, freq?: ERENEWAL_FREQUENCY) => string;
|
|
@@ -6,4 +8,19 @@ export declare const getCreditsFromCost: (cost: number) => number;
|
|
|
6
8
|
export declare const getTranslationWrapper: (text: string, from: ELANGUAGE_CODE, to?: ELANGUAGE_CODE, version?: "v1" | "v2") => Promise<string>;
|
|
7
9
|
export declare const detectLang: (text: string) => Promise<IDetectLang>;
|
|
8
10
|
export declare function waitForFile(path: string, timeout?: number, interval?: number): Promise<boolean>;
|
|
11
|
+
export declare function generateAndValidate<T extends z.ZodSchema<any>>(args: {
|
|
12
|
+
userPrompt: string;
|
|
13
|
+
systemPrompt?: string;
|
|
14
|
+
jsonSchema?: any;
|
|
15
|
+
zodSchema: T;
|
|
16
|
+
modelKey?: ETextGenModels;
|
|
17
|
+
}): Promise<z.infer<T>>;
|
|
18
|
+
export declare function generateAndValidate(args: {
|
|
19
|
+
userPrompt: string;
|
|
20
|
+
systemPrompt?: string;
|
|
21
|
+
jsonSchema?: any;
|
|
22
|
+
zodSchema?: undefined;
|
|
23
|
+
modelKey?: ETextGenModels;
|
|
24
|
+
}): Promise<unknown>;
|
|
25
|
+
export declare function getVideoDurationRangeText(durationType: string): string;
|
|
9
26
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EAEnB,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,KACd,mBAAmB,GAAG,IASxB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,kBAAkB,GAAG,IASlE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,mBAAmB,EACzB,OAAM,kBAA+C,WAgBtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAajD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,EACZ,MAAM,cAAc,EACpB,KAAI,cAAkC,EACtC,UAAS,IAAI,GAAG,IAAW,KAC1B,OAAO,CAAC,MAAM,CAmBhB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,WAAW,CAclE,CAAC;AAEF,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,SAAQ,EACf,QAAQ,SAAM,oBAQf;AAGD,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,EAAE,CAAC,CAAC;IACb,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAGxB,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AA+CrB,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAatE"}
|
package/lib/utils/helpers.js
CHANGED
|
@@ -5,10 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.detectLang = exports.getTranslationWrapper = exports.getCreditsFromCost = exports.getPriceIdByType = exports.getFreqById = exports.getPlanTypeById = void 0;
|
|
7
7
|
exports.waitForFile = waitForFile;
|
|
8
|
+
exports.generateAndValidate = generateAndValidate;
|
|
9
|
+
exports.getVideoDurationRangeText = getVideoDurationRangeText;
|
|
8
10
|
const axios_1 = __importDefault(require("axios"));
|
|
9
11
|
const plans_1 = require("../globals/plans");
|
|
10
12
|
const types_1 = require("../globals/types");
|
|
11
13
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
14
|
+
const services_1 = require("../services");
|
|
15
|
+
const globals_1 = require("../globals");
|
|
12
16
|
const getPlanTypeById = (priceId) => {
|
|
13
17
|
for (const [planType, durations] of Object.entries(plans_1.PAYMENT_PLANS)) {
|
|
14
18
|
for (const [duration, details] of Object.entries(durations)) {
|
|
@@ -91,3 +95,44 @@ async function waitForFile(path, timeout = 10000, interval = 300) {
|
|
|
91
95
|
}
|
|
92
96
|
throw new Error(`Timeout waiting for file: ${path}`);
|
|
93
97
|
}
|
|
98
|
+
async function generateAndValidate({ userPrompt, systemPrompt, jsonSchema, zodSchema, modelKey = globals_1.ETextGenModels.OPENAI_GPT_4O_MINI, }) {
|
|
99
|
+
const provider = (0, services_1.getAiGenProviderService)(globals_1.ETextGenModels.OPENAI_GPT_4O_MINI);
|
|
100
|
+
const messages = [];
|
|
101
|
+
if (systemPrompt)
|
|
102
|
+
messages.push({ role: "system", content: systemPrompt });
|
|
103
|
+
messages.push({ role: "user", content: userPrompt });
|
|
104
|
+
const responseFormat = jsonSchema
|
|
105
|
+
? { type: "json_schema", json_schema: jsonSchema }
|
|
106
|
+
: undefined;
|
|
107
|
+
const result = await provider.generateText({
|
|
108
|
+
input: messages,
|
|
109
|
+
modelKey: modelKey,
|
|
110
|
+
options: responseFormat ? { responseFormat } : undefined,
|
|
111
|
+
});
|
|
112
|
+
const raw = result.text.trim();
|
|
113
|
+
try {
|
|
114
|
+
const parsed = JSON.parse(raw);
|
|
115
|
+
if (zodSchema) {
|
|
116
|
+
return zodSchema.parse(parsed);
|
|
117
|
+
}
|
|
118
|
+
return parsed;
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
console.warn("⚠️ Parse or validation failed:", err, "\nRaw:", raw);
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function getVideoDurationRangeText(durationType) {
|
|
126
|
+
switch (durationType) {
|
|
127
|
+
case "short":
|
|
128
|
+
return "under 30 seconds";
|
|
129
|
+
case "medium":
|
|
130
|
+
return "1–2 minutes";
|
|
131
|
+
case "long":
|
|
132
|
+
return "3–5 minutes";
|
|
133
|
+
case "very-long":
|
|
134
|
+
return "6-10 minutes";
|
|
135
|
+
default:
|
|
136
|
+
return "unknown duration";
|
|
137
|
+
}
|
|
138
|
+
}
|