mulmocast 1.2.69 → 2.0.0-alpha.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.
@@ -21,6 +21,9 @@ export declare const beat_graph_data: {
21
21
  forceSoundEffect: {
22
22
  value: boolean;
23
23
  };
24
+ withBackup: {
25
+ value: boolean;
26
+ };
24
27
  preprocessor: {
25
28
  agent: (namedInputs: {
26
29
  context: MulmoStudioContext;
@@ -181,6 +184,7 @@ export declare const beat_graph_data: {
181
184
  };
182
185
  cache: {
183
186
  force: string[];
187
+ withBackup: string[];
184
188
  file: string;
185
189
  index: string;
186
190
  id: string;
@@ -229,6 +233,7 @@ export declare const beat_graph_data: {
229
233
  referenceImages: string;
230
234
  cache: {
231
235
  force: string[];
236
+ withBackup: string[];
232
237
  file: string;
233
238
  index: string;
234
239
  id: string;
@@ -255,6 +260,7 @@ export declare const beat_graph_data: {
255
260
  movieFile: string;
256
261
  cache: {
257
262
  force: string[];
263
+ withBackup: string[];
258
264
  file: string;
259
265
  index: string;
260
266
  id: string;
@@ -313,6 +319,7 @@ export declare const beat_graph_data: {
313
319
  };
314
320
  cache: {
315
321
  force: string[];
322
+ withBackup: string[];
316
323
  file: string;
317
324
  index: string;
318
325
  id: string;
@@ -363,6 +370,7 @@ export declare const beat_graph_data: {
363
370
  };
364
371
  cache: {
365
372
  force: string[];
373
+ withBackup: string[];
366
374
  file: string;
367
375
  index: string;
368
376
  id: string;
@@ -415,6 +423,7 @@ export declare const generateBeatImage: (inputs: {
415
423
  forceImage?: boolean;
416
424
  forceLipSync?: boolean;
417
425
  forceSoundEffect?: boolean;
426
+ withBackup?: boolean;
418
427
  };
419
428
  }) => Promise<void>;
420
429
  export {};
@@ -58,6 +58,7 @@ export const beat_graph_data = {
58
58
  forceImage: { value: false },
59
59
  forceLipSync: { value: false },
60
60
  forceSoundEffect: { value: false },
61
+ withBackup: { value: false },
61
62
  preprocessor: {
62
63
  agent: imagePreprocessAgent,
63
64
  inputs: {
@@ -92,6 +93,7 @@ export const beat_graph_data = {
92
93
  },
93
94
  cache: {
94
95
  force: [":context.force", ":forceImage"],
96
+ withBackup: [":context.backup", ":withBackup"],
95
97
  file: ":preprocessor.htmlPath",
96
98
  index: ":__mapIndex",
97
99
  id: ":beat.id",
@@ -135,6 +137,7 @@ export const beat_graph_data = {
135
137
  referenceImages: ":preprocessor.referenceImages",
136
138
  cache: {
137
139
  force: [":context.force", ":forceImage"],
140
+ withBackup: [":context.backup", ":withBackup"],
138
141
  file: ":preprocessor.imagePath",
139
142
  index: ":__mapIndex",
140
143
  id: ":beat.id",
@@ -161,6 +164,7 @@ export const beat_graph_data = {
161
164
  movieFile: ":preprocessor.movieFile", // for google genai agent
162
165
  cache: {
163
166
  force: [":context.force", ":forceMovie"],
167
+ withBackup: [":context.backup", ":withBackup"],
164
168
  file: ":preprocessor.movieFile",
165
169
  index: ":__mapIndex",
166
170
  id: ":beat.id",
@@ -231,6 +235,7 @@ export const beat_graph_data = {
231
235
  },
232
236
  cache: {
233
237
  force: [":context.force", ":forceSoundEffect"],
238
+ withBackup: [":context.backup", ":withBackup"],
234
239
  file: ":preprocessor.soundEffectFile",
235
240
  index: ":__mapIndex",
236
241
  id: ":beat.id",
@@ -278,6 +283,7 @@ export const beat_graph_data = {
278
283
  },
279
284
  cache: {
280
285
  force: [":context.force", ":forceLipSync"],
286
+ withBackup: [":context.backup", ":withBackup"],
281
287
  file: ":preprocessor.lipSyncFile",
282
288
  index: ":__mapIndex",
283
289
  id: ":beat.id",
@@ -481,7 +487,7 @@ export const images = async (context, args) => {
481
487
  export const generateBeatImage = async (inputs) => {
482
488
  try {
483
489
  const { index, context, args } = inputs;
484
- const { settings, callbacks, forceMovie, forceImage, forceLipSync, forceSoundEffect } = args ?? {};
490
+ const { settings, callbacks, forceMovie, forceImage, forceLipSync, forceSoundEffect, withBackup } = args ?? {};
485
491
  const options = await graphOption(context, settings);
486
492
  const injections = await prepareGenerateImages(context);
487
493
  const graph = new GraphAI(beat_graph_data, defaultAgents, options);
@@ -496,6 +502,7 @@ export const generateBeatImage = async (inputs) => {
496
502
  graph.injectValue("forceImage", forceImage ?? false);
497
503
  graph.injectValue("forceLipSync", forceLipSync ?? false);
498
504
  graph.injectValue("forceSoundEffect", forceSoundEffect ?? false);
505
+ graph.injectValue("withBackup", withBackup ?? false);
499
506
  if (callbacks) {
500
507
  callbacks.forEach((callback) => {
501
508
  graph.registerCallback(callback);
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
@@ -7,6 +7,8 @@ export declare const commonOptions: (yargs: Argv) => Argv<{
7
7
  l: string | undefined;
8
8
  } & {
9
9
  f: boolean;
10
+ } & {
11
+ backup: boolean;
10
12
  } & {
11
13
  p: string | undefined;
12
14
  } & {
package/lib/cli/common.js CHANGED
@@ -25,6 +25,11 @@ export const commonOptions = (yargs) => {
25
25
  describe: "Force regenerate",
26
26
  type: "boolean",
27
27
  default: false,
28
+ })
29
+ .option("backup", {
30
+ describe: "create backup media file",
31
+ type: "boolean",
32
+ default: false,
28
33
  })
29
34
  .option("p", {
30
35
  alias: "presentationStyle",
@@ -83,5 +83,5 @@ export const initializeContext = async (argv, raiseError = false) => {
83
83
  file: argv.file ?? "",
84
84
  });
85
85
  setGraphAILogger(Boolean(argv.v), { files });
86
- return await initializeContextFromFiles(files, raiseError, Boolean(argv.f), argv.c, argv.l);
86
+ return await initializeContextFromFiles(files, raiseError, Boolean(argv.f), Boolean(argv.backup), argv.c, argv.l);
87
87
  };
@@ -594,7 +594,7 @@ export declare const mulmoTextSlideMediaSchema: z.ZodObject<{
594
594
  }>;
595
595
  export declare const mulmoCaptionParamsSchema: z.ZodObject<{
596
596
  lang: z.ZodOptional<z.ZodString>;
597
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
597
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
598
598
  }, "strict", z.ZodTypeAny, {
599
599
  styles: string[];
600
600
  lang?: string | undefined;
@@ -1327,7 +1327,7 @@ export declare const mulmoImageParamsImagesSchema: z.ZodRecord<z.ZodString, z.Zo
1327
1327
  prompt: string;
1328
1328
  }>]>>;
1329
1329
  export declare const mulmoFillOptionSchema: z.ZodObject<{
1330
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
1330
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
1331
1331
  }, "strip", z.ZodTypeAny, {
1332
1332
  style: "aspectFit" | "aspectFill";
1333
1333
  }, {
@@ -1501,7 +1501,7 @@ export declare const textSlideParamsSchema: z.ZodObject<{
1501
1501
  }>;
1502
1502
  export declare const beatAudioParamsSchema: z.ZodObject<{
1503
1503
  padding: z.ZodOptional<z.ZodNumber>;
1504
- movieVolume: z.ZodDefault<z.ZodNumber>;
1504
+ movieVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1505
1505
  }, "strict", z.ZodTypeAny, {
1506
1506
  movieVolume: number;
1507
1507
  padding?: number | undefined;
@@ -1517,10 +1517,10 @@ export declare const mulmoHtmlImageParamsSchema: z.ZodObject<{
1517
1517
  model?: string | undefined;
1518
1518
  }>;
1519
1519
  export declare const audioParamsSchema: z.ZodObject<{
1520
- padding: z.ZodDefault<z.ZodNumber>;
1521
- introPadding: z.ZodDefault<z.ZodNumber>;
1522
- closingPadding: z.ZodDefault<z.ZodNumber>;
1523
- outroPadding: z.ZodDefault<z.ZodNumber>;
1520
+ padding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1521
+ introPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1522
+ closingPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1523
+ outroPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1524
1524
  bgm: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1525
1525
  kind: z.ZodLiteral<"url">;
1526
1526
  url: z.ZodString;
@@ -1549,9 +1549,9 @@ export declare const audioParamsSchema: z.ZodObject<{
1549
1549
  path: string;
1550
1550
  kind: "path";
1551
1551
  }>]>>;
1552
- bgmVolume: z.ZodDefault<z.ZodNumber>;
1553
- audioVolume: z.ZodDefault<z.ZodNumber>;
1554
- suppressSpeech: z.ZodDefault<z.ZodBoolean>;
1552
+ bgmVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1553
+ audioVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1554
+ suppressSpeech: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1555
1555
  }, "strict", z.ZodTypeAny, {
1556
1556
  padding: number;
1557
1557
  introPadding: number;
@@ -1590,15 +1590,15 @@ export declare const audioParamsSchema: z.ZodObject<{
1590
1590
  suppressSpeech?: boolean | undefined;
1591
1591
  }>;
1592
1592
  export declare const htmlPromptParamsSchema: z.ZodObject<{
1593
- systemPrompt: z.ZodOptional<z.ZodDefault<z.ZodString>>;
1593
+ systemPrompt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1594
1594
  prompt: z.ZodString;
1595
1595
  data: z.ZodOptional<z.ZodAny>;
1596
1596
  images: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1597
1597
  }, "strict", z.ZodTypeAny, {
1598
1598
  prompt: string;
1599
+ systemPrompt: string;
1599
1600
  images?: Record<string, any> | undefined;
1600
1601
  data?: any;
1601
- systemPrompt?: string | undefined;
1602
1602
  }, {
1603
1603
  prompt: string;
1604
1604
  images?: Record<string, any> | undefined;
@@ -1629,7 +1629,7 @@ export declare const mulmoLipSyncParamsSchema: z.ZodObject<{
1629
1629
  }>;
1630
1630
  export declare const mulmoBeatSchema: z.ZodObject<{
1631
1631
  speaker: z.ZodOptional<z.ZodString>;
1632
- text: z.ZodDefault<z.ZodString>;
1632
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
1633
1633
  id: z.ZodOptional<z.ZodString>;
1634
1634
  description: z.ZodOptional<z.ZodString>;
1635
1635
  image: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
@@ -2108,7 +2108,7 @@ export declare const mulmoBeatSchema: z.ZodObject<{
2108
2108
  }>>;
2109
2109
  audioParams: z.ZodOptional<z.ZodObject<{
2110
2110
  padding: z.ZodOptional<z.ZodNumber>;
2111
- movieVolume: z.ZodDefault<z.ZodNumber>;
2111
+ movieVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2112
2112
  }, "strict", z.ZodTypeAny, {
2113
2113
  movieVolume: number;
2114
2114
  padding?: number | undefined;
@@ -2120,7 +2120,7 @@ export declare const mulmoBeatSchema: z.ZodObject<{
2120
2120
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
2121
2121
  model: z.ZodOptional<z.ZodString>;
2122
2122
  fillOption: z.ZodOptional<z.ZodObject<{
2123
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
2123
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
2124
2124
  }, "strip", z.ZodTypeAny, {
2125
2125
  style: "aspectFit" | "aspectFill";
2126
2126
  }, {
@@ -2188,7 +2188,7 @@ export declare const mulmoBeatSchema: z.ZodObject<{
2188
2188
  }>>;
2189
2189
  captionParams: z.ZodOptional<z.ZodObject<{
2190
2190
  lang: z.ZodOptional<z.ZodString>;
2191
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2191
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
2192
2192
  }, "strict", z.ZodTypeAny, {
2193
2193
  styles: string[];
2194
2194
  lang?: string | undefined;
@@ -2201,15 +2201,15 @@ export declare const mulmoBeatSchema: z.ZodObject<{
2201
2201
  moviePrompt: z.ZodOptional<z.ZodString>;
2202
2202
  soundEffectPrompt: z.ZodOptional<z.ZodString>;
2203
2203
  htmlPrompt: z.ZodOptional<z.ZodObject<{
2204
- systemPrompt: z.ZodOptional<z.ZodDefault<z.ZodString>>;
2204
+ systemPrompt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
2205
2205
  prompt: z.ZodString;
2206
2206
  data: z.ZodOptional<z.ZodAny>;
2207
2207
  images: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
2208
2208
  }, "strict", z.ZodTypeAny, {
2209
2209
  prompt: string;
2210
+ systemPrompt: string;
2210
2211
  images?: Record<string, any> | undefined;
2211
2212
  data?: any;
2212
- systemPrompt?: string | undefined;
2213
2213
  }, {
2214
2214
  prompt: string;
2215
2215
  images?: Record<string, any> | undefined;
@@ -2383,9 +2383,9 @@ export declare const mulmoBeatSchema: z.ZodObject<{
2383
2383
  soundEffectPrompt?: string | undefined;
2384
2384
  htmlPrompt?: {
2385
2385
  prompt: string;
2386
+ systemPrompt: string;
2386
2387
  images?: Record<string, any> | undefined;
2387
2388
  data?: any;
2388
- systemPrompt?: string | undefined;
2389
2389
  } | undefined;
2390
2390
  enableLipSync?: boolean | undefined;
2391
2391
  hidden?: boolean | undefined;
@@ -2604,7 +2604,7 @@ export declare const mulmoReplicateMovieModelSchema: z.ZodObject<{
2604
2604
  }>;
2605
2605
  export declare const mulmoTransitionSchema: z.ZodObject<{
2606
2606
  type: z.ZodEnum<["fade", "slideout_left"]>;
2607
- duration: z.ZodDefault<z.ZodNumber>;
2607
+ duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2608
2608
  }, "strip", z.ZodTypeAny, {
2609
2609
  type: "fade" | "slideout_left";
2610
2610
  duration: number;
@@ -2617,7 +2617,7 @@ export declare const mulmoMovieParamsSchema: z.ZodObject<{
2617
2617
  model: z.ZodOptional<z.ZodString>;
2618
2618
  transition: z.ZodOptional<z.ZodObject<{
2619
2619
  type: z.ZodEnum<["fade", "slideout_left"]>;
2620
- duration: z.ZodDefault<z.ZodNumber>;
2620
+ duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2621
2621
  }, "strip", z.ZodTypeAny, {
2622
2622
  type: "fade" | "slideout_left";
2623
2623
  duration: number;
@@ -2626,7 +2626,7 @@ export declare const mulmoMovieParamsSchema: z.ZodObject<{
2626
2626
  duration?: number | undefined;
2627
2627
  }>>;
2628
2628
  fillOption: z.ZodOptional<z.ZodObject<{
2629
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
2629
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
2630
2630
  }, "strip", z.ZodTypeAny, {
2631
2631
  style: "aspectFit" | "aspectFill";
2632
2632
  }, {
@@ -2940,7 +2940,7 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
2940
2940
  model: z.ZodOptional<z.ZodString>;
2941
2941
  transition: z.ZodOptional<z.ZodObject<{
2942
2942
  type: z.ZodEnum<["fade", "slideout_left"]>;
2943
- duration: z.ZodDefault<z.ZodNumber>;
2943
+ duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
2944
2944
  }, "strip", z.ZodTypeAny, {
2945
2945
  type: "fade" | "slideout_left";
2946
2946
  duration: number;
@@ -2949,7 +2949,7 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
2949
2949
  duration?: number | undefined;
2950
2950
  }>>;
2951
2951
  fillOption: z.ZodOptional<z.ZodObject<{
2952
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
2952
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
2953
2953
  }, "strip", z.ZodTypeAny, {
2954
2954
  style: "aspectFit" | "aspectFill";
2955
2955
  }, {
@@ -3016,7 +3016,7 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
3016
3016
  }>>;
3017
3017
  captionParams: z.ZodOptional<z.ZodObject<{
3018
3018
  lang: z.ZodOptional<z.ZodString>;
3019
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
3019
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3020
3020
  }, "strict", z.ZodTypeAny, {
3021
3021
  styles: string[];
3022
3022
  lang?: string | undefined;
@@ -3025,10 +3025,10 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
3025
3025
  styles?: string[] | undefined;
3026
3026
  }>>;
3027
3027
  audioParams: z.ZodDefault<z.ZodObject<{
3028
- padding: z.ZodDefault<z.ZodNumber>;
3029
- introPadding: z.ZodDefault<z.ZodNumber>;
3030
- closingPadding: z.ZodDefault<z.ZodNumber>;
3031
- outroPadding: z.ZodDefault<z.ZodNumber>;
3028
+ padding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3029
+ introPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3030
+ closingPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3031
+ outroPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3032
3032
  bgm: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
3033
3033
  kind: z.ZodLiteral<"url">;
3034
3034
  url: z.ZodString;
@@ -3057,9 +3057,9 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
3057
3057
  path: string;
3058
3058
  kind: "path";
3059
3059
  }>]>>;
3060
- bgmVolume: z.ZodDefault<z.ZodNumber>;
3061
- audioVolume: z.ZodDefault<z.ZodNumber>;
3062
- suppressSpeech: z.ZodDefault<z.ZodBoolean>;
3060
+ bgmVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3061
+ audioVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3062
+ suppressSpeech: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3063
3063
  }, "strict", z.ZodTypeAny, {
3064
3064
  padding: number;
3065
3065
  introPadding: number;
@@ -3312,7 +3312,7 @@ export declare const mulmoReferenceSchema: z.ZodObject<{
3312
3312
  url: z.ZodString;
3313
3313
  title: z.ZodOptional<z.ZodString>;
3314
3314
  description: z.ZodOptional<z.ZodString>;
3315
- type: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>;
3315
+ type: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>>;
3316
3316
  }, "strip", z.ZodTypeAny, {
3317
3317
  type: string;
3318
3318
  url: string;
@@ -3611,7 +3611,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3611
3611
  model: z.ZodOptional<z.ZodString>;
3612
3612
  transition: z.ZodOptional<z.ZodObject<{
3613
3613
  type: z.ZodEnum<["fade", "slideout_left"]>;
3614
- duration: z.ZodDefault<z.ZodNumber>;
3614
+ duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3615
3615
  }, "strip", z.ZodTypeAny, {
3616
3616
  type: "fade" | "slideout_left";
3617
3617
  duration: number;
@@ -3620,7 +3620,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3620
3620
  duration?: number | undefined;
3621
3621
  }>>;
3622
3622
  fillOption: z.ZodOptional<z.ZodObject<{
3623
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
3623
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
3624
3624
  }, "strip", z.ZodTypeAny, {
3625
3625
  style: "aspectFit" | "aspectFill";
3626
3626
  }, {
@@ -3687,7 +3687,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3687
3687
  }>>;
3688
3688
  captionParams: z.ZodOptional<z.ZodObject<{
3689
3689
  lang: z.ZodOptional<z.ZodString>;
3690
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
3690
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
3691
3691
  }, "strict", z.ZodTypeAny, {
3692
3692
  styles: string[];
3693
3693
  lang?: string | undefined;
@@ -3696,10 +3696,10 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3696
3696
  styles?: string[] | undefined;
3697
3697
  }>>;
3698
3698
  audioParams: z.ZodDefault<z.ZodObject<{
3699
- padding: z.ZodDefault<z.ZodNumber>;
3700
- introPadding: z.ZodDefault<z.ZodNumber>;
3701
- closingPadding: z.ZodDefault<z.ZodNumber>;
3702
- outroPadding: z.ZodDefault<z.ZodNumber>;
3699
+ padding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3700
+ introPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3701
+ closingPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3702
+ outroPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3703
3703
  bgm: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
3704
3704
  kind: z.ZodLiteral<"url">;
3705
3705
  url: z.ZodString;
@@ -3728,9 +3728,9 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3728
3728
  path: string;
3729
3729
  kind: "path";
3730
3730
  }>]>>;
3731
- bgmVolume: z.ZodDefault<z.ZodNumber>;
3732
- audioVolume: z.ZodDefault<z.ZodNumber>;
3733
- suppressSpeech: z.ZodDefault<z.ZodBoolean>;
3731
+ bgmVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3732
+ audioVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3733
+ suppressSpeech: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3734
3734
  }, "strict", z.ZodTypeAny, {
3735
3735
  padding: number;
3736
3736
  introPadding: number;
@@ -3775,7 +3775,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3775
3775
  url: z.ZodString;
3776
3776
  title: z.ZodOptional<z.ZodString>;
3777
3777
  description: z.ZodOptional<z.ZodString>;
3778
- type: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>;
3778
+ type: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>>;
3779
3779
  }, "strip", z.ZodTypeAny, {
3780
3780
  type: string;
3781
3781
  url: string;
@@ -3787,10 +3787,10 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3787
3787
  title?: string | undefined;
3788
3788
  description?: string | undefined;
3789
3789
  }>, "many">>;
3790
- lang: z.ZodString;
3790
+ lang: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3791
3791
  beats: z.ZodArray<z.ZodObject<{
3792
3792
  speaker: z.ZodOptional<z.ZodString>;
3793
- text: z.ZodDefault<z.ZodString>;
3793
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
3794
3794
  id: z.ZodOptional<z.ZodString>;
3795
3795
  description: z.ZodOptional<z.ZodString>;
3796
3796
  image: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
@@ -4269,7 +4269,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
4269
4269
  }>>;
4270
4270
  audioParams: z.ZodOptional<z.ZodObject<{
4271
4271
  padding: z.ZodOptional<z.ZodNumber>;
4272
- movieVolume: z.ZodDefault<z.ZodNumber>;
4272
+ movieVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4273
4273
  }, "strict", z.ZodTypeAny, {
4274
4274
  movieVolume: number;
4275
4275
  padding?: number | undefined;
@@ -4281,7 +4281,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
4281
4281
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
4282
4282
  model: z.ZodOptional<z.ZodString>;
4283
4283
  fillOption: z.ZodOptional<z.ZodObject<{
4284
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
4284
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
4285
4285
  }, "strip", z.ZodTypeAny, {
4286
4286
  style: "aspectFit" | "aspectFill";
4287
4287
  }, {
@@ -4349,7 +4349,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
4349
4349
  }>>;
4350
4350
  captionParams: z.ZodOptional<z.ZodObject<{
4351
4351
  lang: z.ZodOptional<z.ZodString>;
4352
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
4352
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4353
4353
  }, "strict", z.ZodTypeAny, {
4354
4354
  styles: string[];
4355
4355
  lang?: string | undefined;
@@ -4362,15 +4362,15 @@ export declare const mulmoScriptSchema: z.ZodObject<{
4362
4362
  moviePrompt: z.ZodOptional<z.ZodString>;
4363
4363
  soundEffectPrompt: z.ZodOptional<z.ZodString>;
4364
4364
  htmlPrompt: z.ZodOptional<z.ZodObject<{
4365
- systemPrompt: z.ZodOptional<z.ZodDefault<z.ZodString>>;
4365
+ systemPrompt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
4366
4366
  prompt: z.ZodString;
4367
4367
  data: z.ZodOptional<z.ZodAny>;
4368
4368
  images: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
4369
4369
  }, "strict", z.ZodTypeAny, {
4370
4370
  prompt: string;
4371
+ systemPrompt: string;
4371
4372
  images?: Record<string, any> | undefined;
4372
4373
  data?: any;
4373
- systemPrompt?: string | undefined;
4374
4374
  }, {
4375
4375
  prompt: string;
4376
4376
  images?: Record<string, any> | undefined;
@@ -4544,9 +4544,9 @@ export declare const mulmoScriptSchema: z.ZodObject<{
4544
4544
  soundEffectPrompt?: string | undefined;
4545
4545
  htmlPrompt?: {
4546
4546
  prompt: string;
4547
+ systemPrompt: string;
4547
4548
  images?: Record<string, any> | undefined;
4548
4549
  data?: any;
4549
- systemPrompt?: string | undefined;
4550
4550
  } | undefined;
4551
4551
  enableLipSync?: boolean | undefined;
4552
4552
  hidden?: boolean | undefined;
@@ -4969,9 +4969,9 @@ export declare const mulmoScriptSchema: z.ZodObject<{
4969
4969
  soundEffectPrompt?: string | undefined;
4970
4970
  htmlPrompt?: {
4971
4971
  prompt: string;
4972
+ systemPrompt: string;
4972
4973
  images?: Record<string, any> | undefined;
4973
4974
  data?: any;
4974
- systemPrompt?: string | undefined;
4975
4975
  } | undefined;
4976
4976
  enableLipSync?: boolean | undefined;
4977
4977
  hidden?: boolean | undefined;
@@ -5013,7 +5013,6 @@ export declare const mulmoScriptSchema: z.ZodObject<{
5013
5013
  imagePath?: string | undefined;
5014
5014
  __test_invalid__?: boolean | undefined;
5015
5015
  }, {
5016
- lang: string;
5017
5016
  $mulmocast: {
5018
5017
  version: "1.1";
5019
5018
  credit?: "closing" | undefined;
@@ -5190,6 +5189,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
5190
5189
  enableLipSync?: boolean | undefined;
5191
5190
  hidden?: boolean | undefined;
5192
5191
  }[];
5192
+ lang?: string | undefined;
5193
5193
  title?: string | undefined;
5194
5194
  description?: string | undefined;
5195
5195
  imageParams?: {
@@ -5958,7 +5958,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
5958
5958
  model: z.ZodOptional<z.ZodString>;
5959
5959
  transition: z.ZodOptional<z.ZodObject<{
5960
5960
  type: z.ZodEnum<["fade", "slideout_left"]>;
5961
- duration: z.ZodDefault<z.ZodNumber>;
5961
+ duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
5962
5962
  }, "strip", z.ZodTypeAny, {
5963
5963
  type: "fade" | "slideout_left";
5964
5964
  duration: number;
@@ -5967,7 +5967,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
5967
5967
  duration?: number | undefined;
5968
5968
  }>>;
5969
5969
  fillOption: z.ZodOptional<z.ZodObject<{
5970
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
5970
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
5971
5971
  }, "strip", z.ZodTypeAny, {
5972
5972
  style: "aspectFit" | "aspectFill";
5973
5973
  }, {
@@ -6034,7 +6034,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6034
6034
  }>>;
6035
6035
  captionParams: z.ZodOptional<z.ZodObject<{
6036
6036
  lang: z.ZodOptional<z.ZodString>;
6037
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6037
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
6038
6038
  }, "strict", z.ZodTypeAny, {
6039
6039
  styles: string[];
6040
6040
  lang?: string | undefined;
@@ -6043,10 +6043,10 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6043
6043
  styles?: string[] | undefined;
6044
6044
  }>>;
6045
6045
  audioParams: z.ZodDefault<z.ZodObject<{
6046
- padding: z.ZodDefault<z.ZodNumber>;
6047
- introPadding: z.ZodDefault<z.ZodNumber>;
6048
- closingPadding: z.ZodDefault<z.ZodNumber>;
6049
- outroPadding: z.ZodDefault<z.ZodNumber>;
6046
+ padding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6047
+ introPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6048
+ closingPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6049
+ outroPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6050
6050
  bgm: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
6051
6051
  kind: z.ZodLiteral<"url">;
6052
6052
  url: z.ZodString;
@@ -6075,9 +6075,9 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6075
6075
  path: string;
6076
6076
  kind: "path";
6077
6077
  }>]>>;
6078
- bgmVolume: z.ZodDefault<z.ZodNumber>;
6079
- audioVolume: z.ZodDefault<z.ZodNumber>;
6080
- suppressSpeech: z.ZodDefault<z.ZodBoolean>;
6078
+ bgmVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6079
+ audioVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6080
+ suppressSpeech: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
6081
6081
  }, "strict", z.ZodTypeAny, {
6082
6082
  padding: number;
6083
6083
  introPadding: number;
@@ -6122,7 +6122,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6122
6122
  url: z.ZodString;
6123
6123
  title: z.ZodOptional<z.ZodString>;
6124
6124
  description: z.ZodOptional<z.ZodString>;
6125
- type: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>;
6125
+ type: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>>;
6126
6126
  }, "strip", z.ZodTypeAny, {
6127
6127
  type: string;
6128
6128
  url: string;
@@ -6134,10 +6134,10 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6134
6134
  title?: string | undefined;
6135
6135
  description?: string | undefined;
6136
6136
  }>, "many">>;
6137
- lang: z.ZodString;
6137
+ lang: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6138
6138
  beats: z.ZodArray<z.ZodObject<{
6139
6139
  speaker: z.ZodOptional<z.ZodString>;
6140
- text: z.ZodDefault<z.ZodString>;
6140
+ text: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6141
6141
  id: z.ZodOptional<z.ZodString>;
6142
6142
  description: z.ZodOptional<z.ZodString>;
6143
6143
  image: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
@@ -6616,7 +6616,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6616
6616
  }>>;
6617
6617
  audioParams: z.ZodOptional<z.ZodObject<{
6618
6618
  padding: z.ZodOptional<z.ZodNumber>;
6619
- movieVolume: z.ZodDefault<z.ZodNumber>;
6619
+ movieVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6620
6620
  }, "strict", z.ZodTypeAny, {
6621
6621
  movieVolume: number;
6622
6622
  padding?: number | undefined;
@@ -6628,7 +6628,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6628
6628
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
6629
6629
  model: z.ZodOptional<z.ZodString>;
6630
6630
  fillOption: z.ZodOptional<z.ZodObject<{
6631
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
6631
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
6632
6632
  }, "strip", z.ZodTypeAny, {
6633
6633
  style: "aspectFit" | "aspectFill";
6634
6634
  }, {
@@ -6696,7 +6696,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6696
6696
  }>>;
6697
6697
  captionParams: z.ZodOptional<z.ZodObject<{
6698
6698
  lang: z.ZodOptional<z.ZodString>;
6699
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
6699
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
6700
6700
  }, "strict", z.ZodTypeAny, {
6701
6701
  styles: string[];
6702
6702
  lang?: string | undefined;
@@ -6709,15 +6709,15 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6709
6709
  moviePrompt: z.ZodOptional<z.ZodString>;
6710
6710
  soundEffectPrompt: z.ZodOptional<z.ZodString>;
6711
6711
  htmlPrompt: z.ZodOptional<z.ZodObject<{
6712
- systemPrompt: z.ZodOptional<z.ZodDefault<z.ZodString>>;
6712
+ systemPrompt: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6713
6713
  prompt: z.ZodString;
6714
6714
  data: z.ZodOptional<z.ZodAny>;
6715
6715
  images: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
6716
6716
  }, "strict", z.ZodTypeAny, {
6717
6717
  prompt: string;
6718
+ systemPrompt: string;
6718
6719
  images?: Record<string, any> | undefined;
6719
6720
  data?: any;
6720
- systemPrompt?: string | undefined;
6721
6721
  }, {
6722
6722
  prompt: string;
6723
6723
  images?: Record<string, any> | undefined;
@@ -6891,9 +6891,9 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6891
6891
  soundEffectPrompt?: string | undefined;
6892
6892
  htmlPrompt?: {
6893
6893
  prompt: string;
6894
+ systemPrompt: string;
6894
6895
  images?: Record<string, any> | undefined;
6895
6896
  data?: any;
6896
- systemPrompt?: string | undefined;
6897
6897
  } | undefined;
6898
6898
  enableLipSync?: boolean | undefined;
6899
6899
  hidden?: boolean | undefined;
@@ -7316,9 +7316,9 @@ export declare const mulmoStudioSchema: z.ZodObject<{
7316
7316
  soundEffectPrompt?: string | undefined;
7317
7317
  htmlPrompt?: {
7318
7318
  prompt: string;
7319
+ systemPrompt: string;
7319
7320
  images?: Record<string, any> | undefined;
7320
7321
  data?: any;
7321
- systemPrompt?: string | undefined;
7322
7322
  } | undefined;
7323
7323
  enableLipSync?: boolean | undefined;
7324
7324
  hidden?: boolean | undefined;
@@ -7360,7 +7360,6 @@ export declare const mulmoStudioSchema: z.ZodObject<{
7360
7360
  imagePath?: string | undefined;
7361
7361
  __test_invalid__?: boolean | undefined;
7362
7362
  }, {
7363
- lang: string;
7364
7363
  $mulmocast: {
7365
7364
  version: "1.1";
7366
7365
  credit?: "closing" | undefined;
@@ -7537,6 +7536,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
7537
7536
  enableLipSync?: boolean | undefined;
7538
7537
  hidden?: boolean | undefined;
7539
7538
  }[];
7539
+ lang?: string | undefined;
7540
7540
  title?: string | undefined;
7541
7541
  description?: string | undefined;
7542
7542
  imageParams?: {
@@ -7969,9 +7969,9 @@ export declare const mulmoStudioSchema: z.ZodObject<{
7969
7969
  soundEffectPrompt?: string | undefined;
7970
7970
  htmlPrompt?: {
7971
7971
  prompt: string;
7972
+ systemPrompt: string;
7972
7973
  images?: Record<string, any> | undefined;
7973
7974
  data?: any;
7974
- systemPrompt?: string | undefined;
7975
7975
  } | undefined;
7976
7976
  enableLipSync?: boolean | undefined;
7977
7977
  hidden?: boolean | undefined;
@@ -8035,7 +8035,6 @@ export declare const mulmoStudioSchema: z.ZodObject<{
8035
8035
  htmlImageFile?: string | undefined;
8036
8036
  }[];
8037
8037
  script: {
8038
- lang: string;
8039
8038
  $mulmocast: {
8040
8039
  version: "1.1";
8041
8040
  credit?: "closing" | undefined;
@@ -8212,6 +8211,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
8212
8211
  enableLipSync?: boolean | undefined;
8213
8212
  hidden?: boolean | undefined;
8214
8213
  }[];
8214
+ lang?: string | undefined;
8215
8215
  title?: string | undefined;
8216
8216
  description?: string | undefined;
8217
8217
  imageParams?: {
@@ -8617,7 +8617,7 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
8617
8617
  model: z.ZodOptional<z.ZodString>;
8618
8618
  transition: z.ZodOptional<z.ZodObject<{
8619
8619
  type: z.ZodEnum<["fade", "slideout_left"]>;
8620
- duration: z.ZodDefault<z.ZodNumber>;
8620
+ duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8621
8621
  }, "strip", z.ZodTypeAny, {
8622
8622
  type: "fade" | "slideout_left";
8623
8623
  duration: number;
@@ -8626,7 +8626,7 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
8626
8626
  duration?: number | undefined;
8627
8627
  }>>;
8628
8628
  fillOption: z.ZodOptional<z.ZodObject<{
8629
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
8629
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
8630
8630
  }, "strip", z.ZodTypeAny, {
8631
8631
  style: "aspectFit" | "aspectFill";
8632
8632
  }, {
@@ -8693,7 +8693,7 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
8693
8693
  }>>;
8694
8694
  captionParams: z.ZodOptional<z.ZodObject<{
8695
8695
  lang: z.ZodOptional<z.ZodString>;
8696
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
8696
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
8697
8697
  }, "strict", z.ZodTypeAny, {
8698
8698
  styles: string[];
8699
8699
  lang?: string | undefined;
@@ -8702,10 +8702,10 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
8702
8702
  styles?: string[] | undefined;
8703
8703
  }>>;
8704
8704
  audioParams: z.ZodDefault<z.ZodObject<{
8705
- padding: z.ZodDefault<z.ZodNumber>;
8706
- introPadding: z.ZodDefault<z.ZodNumber>;
8707
- closingPadding: z.ZodDefault<z.ZodNumber>;
8708
- outroPadding: z.ZodDefault<z.ZodNumber>;
8705
+ padding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8706
+ introPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8707
+ closingPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8708
+ outroPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8709
8709
  bgm: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
8710
8710
  kind: z.ZodLiteral<"url">;
8711
8711
  url: z.ZodString;
@@ -8734,9 +8734,9 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
8734
8734
  path: string;
8735
8735
  kind: "path";
8736
8736
  }>]>>;
8737
- bgmVolume: z.ZodDefault<z.ZodNumber>;
8738
- audioVolume: z.ZodDefault<z.ZodNumber>;
8739
- suppressSpeech: z.ZodDefault<z.ZodBoolean>;
8737
+ bgmVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8738
+ audioVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8739
+ suppressSpeech: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8740
8740
  }, "strict", z.ZodTypeAny, {
8741
8741
  padding: number;
8742
8742
  introPadding: number;
@@ -9500,7 +9500,7 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
9500
9500
  model: z.ZodOptional<z.ZodString>;
9501
9501
  transition: z.ZodOptional<z.ZodObject<{
9502
9502
  type: z.ZodEnum<["fade", "slideout_left"]>;
9503
- duration: z.ZodDefault<z.ZodNumber>;
9503
+ duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9504
9504
  }, "strip", z.ZodTypeAny, {
9505
9505
  type: "fade" | "slideout_left";
9506
9506
  duration: number;
@@ -9509,7 +9509,7 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
9509
9509
  duration?: number | undefined;
9510
9510
  }>>;
9511
9511
  fillOption: z.ZodOptional<z.ZodObject<{
9512
- style: z.ZodDefault<z.ZodEnum<["aspectFit", "aspectFill"]>>;
9512
+ style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["aspectFit", "aspectFill"]>>>;
9513
9513
  }, "strip", z.ZodTypeAny, {
9514
9514
  style: "aspectFit" | "aspectFill";
9515
9515
  }, {
@@ -9576,7 +9576,7 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
9576
9576
  }>>;
9577
9577
  captionParams: z.ZodOptional<z.ZodObject<{
9578
9578
  lang: z.ZodOptional<z.ZodString>;
9579
- styles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
9579
+ styles: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
9580
9580
  }, "strict", z.ZodTypeAny, {
9581
9581
  styles: string[];
9582
9582
  lang?: string | undefined;
@@ -9585,10 +9585,10 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
9585
9585
  styles?: string[] | undefined;
9586
9586
  }>>;
9587
9587
  audioParams: z.ZodDefault<z.ZodObject<{
9588
- padding: z.ZodDefault<z.ZodNumber>;
9589
- introPadding: z.ZodDefault<z.ZodNumber>;
9590
- closingPadding: z.ZodDefault<z.ZodNumber>;
9591
- outroPadding: z.ZodDefault<z.ZodNumber>;
9588
+ padding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9589
+ introPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9590
+ closingPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9591
+ outroPadding: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9592
9592
  bgm: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
9593
9593
  kind: z.ZodLiteral<"url">;
9594
9594
  url: z.ZodString;
@@ -9617,9 +9617,9 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
9617
9617
  path: string;
9618
9618
  kind: "path";
9619
9619
  }>]>>;
9620
- bgmVolume: z.ZodDefault<z.ZodNumber>;
9621
- audioVolume: z.ZodDefault<z.ZodNumber>;
9622
- suppressSpeech: z.ZodDefault<z.ZodBoolean>;
9620
+ bgmVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9621
+ audioVolume: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
9622
+ suppressSpeech: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9623
9623
  }, "strict", z.ZodTypeAny, {
9624
9624
  padding: number;
9625
9625
  introPadding: number;
@@ -10101,7 +10101,7 @@ export declare const mulmoStoryboardSceneSchema: z.ZodObject<{
10101
10101
  url: z.ZodString;
10102
10102
  title: z.ZodOptional<z.ZodString>;
10103
10103
  description: z.ZodOptional<z.ZodString>;
10104
- type: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>;
10104
+ type: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>>;
10105
10105
  }, "strip", z.ZodTypeAny, {
10106
10106
  type: string;
10107
10107
  url: string;
@@ -10136,7 +10136,7 @@ export declare const mulmoStoryboardSchema: z.ZodObject<{
10136
10136
  url: z.ZodString;
10137
10137
  title: z.ZodOptional<z.ZodString>;
10138
10138
  description: z.ZodOptional<z.ZodString>;
10139
- type: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>;
10139
+ type: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>>;
10140
10140
  }, "strip", z.ZodTypeAny, {
10141
10141
  type: string;
10142
10142
  url: string;
@@ -10154,7 +10154,7 @@ export declare const mulmoStoryboardSchema: z.ZodObject<{
10154
10154
  url: z.ZodString;
10155
10155
  title: z.ZodOptional<z.ZodString>;
10156
10156
  description: z.ZodOptional<z.ZodString>;
10157
- type: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>;
10157
+ type: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEnum<["article", "paper", "image", "video", "audio"]>, z.ZodString]>>>;
10158
10158
  }, "strip", z.ZodTypeAny, {
10159
10159
  type: string;
10160
10160
  url: string;
@@ -116,7 +116,7 @@ export const mulmoTextSlideMediaSchema = z
116
116
  export const mulmoCaptionParamsSchema = z
117
117
  .object({
118
118
  lang: langSchema.optional(),
119
- styles: z.array(z.string()).default([]), // css styles
119
+ styles: z.array(z.string()).optional().default([]), // css styles
120
120
  })
121
121
  .strict();
122
122
  export const mulmoChartMediaSchema = z
@@ -198,7 +198,7 @@ export const mulmoImageParamsImagesValueSchema = z.union([mulmoImageMediaSchema,
198
198
  export const mulmoImageParamsImagesSchema = z.record(imageIdSchema, mulmoImageParamsImagesValueSchema);
199
199
  export const mulmoFillOptionSchema = z
200
200
  .object({
201
- style: z.enum(["aspectFit", "aspectFill"]).default("aspectFit"),
201
+ style: z.enum(["aspectFit", "aspectFill"]).optional().default("aspectFit"),
202
202
  })
203
203
  .describe("How to handle aspect ratio differences between image and canvas");
204
204
  export const text2ImageProviderSchema = z.enum(Object.keys(provider2ImageAgent)).optional();
@@ -239,7 +239,7 @@ export const textSlideParamsSchema = z
239
239
  export const beatAudioParamsSchema = z
240
240
  .object({
241
241
  padding: z.number().optional().describe("Padding between beats"), // seconds
242
- movieVolume: z.number().default(1.0).describe("Audio volume of the imported or generated movie"),
242
+ movieVolume: z.number().optional().default(1.0).describe("Audio volume of the imported or generated movie"),
243
243
  })
244
244
  .strict();
245
245
  export const mulmoHtmlImageParamsSchema = z
@@ -250,19 +250,19 @@ export const mulmoHtmlImageParamsSchema = z
250
250
  // Note: we can't extend beatAudioParamsSchema because it has padding as optional
251
251
  export const audioParamsSchema = z
252
252
  .object({
253
- padding: z.number().default(0.3).describe("Padding between beats"), // seconds
254
- introPadding: z.number().default(1.0).describe("Padding at the beginning of the audio"), // seconds
255
- closingPadding: z.number().default(0.8).describe("Padding before the last beat"), // seconds
256
- outroPadding: z.number().default(1.0).describe("Padding at the end of the audio"), // seconds
253
+ padding: z.number().optional().default(0.3).describe("Padding between beats"), // seconds
254
+ introPadding: z.number().optional().default(1.0).describe("Padding at the beginning of the audio"), // seconds
255
+ closingPadding: z.number().optional().default(0.8).describe("Padding before the last beat"), // seconds
256
+ outroPadding: z.number().optional().default(1.0).describe("Padding at the end of the audio"), // seconds
257
257
  bgm: mediaSourceSchema.optional(),
258
- bgmVolume: z.number().default(0.2).describe("Volume of the background music"),
259
- audioVolume: z.number().default(1.0).describe("Volume of the audio"),
260
- suppressSpeech: z.boolean().default(false).describe("Suppress speech generation"),
258
+ bgmVolume: z.number().optional().default(0.2).describe("Volume of the background music"),
259
+ audioVolume: z.number().optional().default(1.0).describe("Volume of the audio"),
260
+ suppressSpeech: z.boolean().optional().default(false).describe("Suppress speech generation"),
261
261
  })
262
262
  .strict();
263
263
  export const htmlPromptParamsSchema = z
264
264
  .object({
265
- systemPrompt: z.string().default("").optional(),
265
+ systemPrompt: z.string().optional().default(""),
266
266
  prompt: z.string().min(1),
267
267
  data: z.any().optional(),
268
268
  images: z.record(z.string(), z.any()).optional(),
@@ -281,7 +281,7 @@ export const mulmoLipSyncParamsSchema = z.object({
281
281
  export const mulmoBeatSchema = z
282
282
  .object({
283
283
  speaker: speakerIdSchema.optional(),
284
- text: z.string().default("").describe("Text to be spoken. If empty, the audio is not generated."),
284
+ text: z.string().optional().default("").describe("Text to be spoken. If empty, the audio is not generated."),
285
285
  id: z.string().optional().describe("Unique identifier for the beat."),
286
286
  description: z.string().optional(),
287
287
  image: mulmoImageAssetSchema.optional(),
@@ -342,7 +342,7 @@ export const mulmoReplicateMovieModelSchema = z
342
342
  .strict();
343
343
  export const mulmoTransitionSchema = z.object({
344
344
  type: z.enum(["fade", "slideout_left"]),
345
- duration: z.number().min(0).max(2).default(0.3), // transition duration in seconds
345
+ duration: z.number().min(0).max(2).optional().default(0.3), // transition duration in seconds
346
346
  });
347
347
  export const mulmoMovieParamsSchema = z
348
348
  .object({
@@ -380,20 +380,21 @@ export const mulmoPresentationStyleSchema = z.object({
380
380
  outroPadding: 1.0,
381
381
  bgmVolume: 0.2,
382
382
  audioVolume: 1.0,
383
+ suppressSpeech: false,
383
384
  }),
384
385
  });
385
386
  export const mulmoReferenceSchema = z.object({
386
387
  url: URLStringSchema,
387
388
  title: z.string().optional(),
388
389
  description: z.string().optional(),
389
- type: z.union([z.enum(["article", "paper", "image", "video", "audio"]), z.string()]).default("article"),
390
+ type: z.union([z.enum(["article", "paper", "image", "video", "audio"]), z.string()]).optional().default("article"),
390
391
  });
391
392
  export const mulmoScriptSchema = mulmoPresentationStyleSchema
392
393
  .extend({
393
394
  title: z.string().optional(),
394
395
  description: z.string().optional(),
395
396
  references: z.array(mulmoReferenceSchema).optional(),
396
- lang: langSchema, // required (default WAS "en")
397
+ lang: langSchema.optional().default("en"), // optional with default value "en"
397
398
  beats: z.array(mulmoBeatSchema).min(1),
398
399
  // TODO: Delete it later
399
400
  imagePath: z.string().optional(), // for keynote images movie ??
@@ -264,9 +264,9 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
264
264
  soundEffectPrompt?: string | undefined;
265
265
  htmlPrompt?: {
266
266
  prompt: string;
267
+ systemPrompt: string;
267
268
  images?: Record<string, any> | undefined;
268
269
  data?: any;
269
- systemPrompt?: string | undefined;
270
270
  } | undefined;
271
271
  enableLipSync?: boolean | undefined;
272
272
  hidden?: boolean | undefined;
@@ -313,7 +313,7 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
313
313
  export declare const fetchScript: (isHttpPath: boolean, mulmoFilePath: string, fileOrUrl: string) => Promise<MulmoScript | null>;
314
314
  export declare const getMultiLingual: (multilingualFilePath: string, beats: MulmoStudioBeat[]) => MulmoStudioMultiLingual;
315
315
  export declare const getPresentationStyle: (presentationStylePath: string | undefined) => MulmoPresentationStyle | null;
316
- export declare const initializeContextFromFiles: (files: FileObject, raiseError: boolean, force?: boolean, captionLang?: string, targetLang?: string, index?: number) => Promise<{
316
+ export declare const initializeContextFromFiles: (files: FileObject, raiseError: boolean, force?: boolean, withBackup?: boolean, captionLang?: string, targetLang?: string, index?: number) => Promise<{
317
317
  studio: {
318
318
  beats: {
319
319
  duration?: number | undefined;
@@ -579,9 +579,9 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
579
579
  soundEffectPrompt?: string | undefined;
580
580
  htmlPrompt?: {
581
581
  prompt: string;
582
+ systemPrompt: string;
582
583
  images?: Record<string, any> | undefined;
583
584
  data?: any;
584
- systemPrompt?: string | undefined;
585
585
  } | undefined;
586
586
  enableLipSync?: boolean | undefined;
587
587
  hidden?: boolean | undefined;
@@ -767,5 +767,6 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
767
767
  };
768
768
  };
769
769
  force: boolean;
770
+ backup: boolean;
770
771
  lang: string;
771
772
  } | null>;
@@ -112,7 +112,7 @@ export const getPresentationStyle = (presentationStylePath) => {
112
112
  const jsonData = readMulmoScriptFile(presentationStylePath, "ERROR: File does not exist " + presentationStylePath)?.mulmoData ?? null;
113
113
  return mulmoPresentationStyleSchema.parse(jsonData);
114
114
  };
115
- export const initializeContextFromFiles = async (files, raiseError, force, captionLang, targetLang, index) => {
115
+ export const initializeContextFromFiles = async (files, raiseError, force, withBackup, captionLang, targetLang, index) => {
116
116
  const { fileName, isHttpPath, fileOrUrl, mulmoFilePath, presentationStylePath, outputMultilingualFilePath } = files;
117
117
  const mulmoScript = await fetchScript(isHttpPath, mulmoFilePath, fileOrUrl);
118
118
  if (!mulmoScript) {
@@ -133,6 +133,7 @@ export const initializeContextFromFiles = async (files, raiseError, force, capti
133
133
  presentationStyle: presentationStyle ?? studio.script,
134
134
  sessionState: initSessionState(),
135
135
  force: Boolean(force),
136
+ backup: Boolean(withBackup),
136
137
  lang: targetLang ?? studio.script.lang, // This lang is target Language. studio.lang is default Language
137
138
  };
138
139
  }
@@ -1,6 +1,6 @@
1
1
  import type { MulmoScript, MulmoPromptTemplateFile, MulmoStudioContext } from "../types/index.js";
2
2
  import { PDFMode } from "../types/index.js";
3
- import { ZodSchema } from "zod";
3
+ import { z, ZodSchema } from "zod";
4
4
  export declare const updateNpmRoot: (_npmRoot: string) => void;
5
5
  export declare function readMulmoScriptFile<T = MulmoScript>(path: string, errorMessage: string): {
6
6
  mulmoData: T;
@@ -54,7 +54,7 @@ export declare const readTemplatePrompt: (promptTemplateFileName: string) => str
54
54
  export declare const getAvailablePromptTemplates: () => MulmoPromptTemplateFile[];
55
55
  export declare const getAvailableScriptTemplates: () => MulmoScript[];
56
56
  export declare const writingMessage: (filePath: string) => void;
57
- export declare const readAndParseJson: <S extends ZodSchema<any>>(filePath: string, schema: S) => ReturnType<S["parse"]>;
57
+ export declare const readAndParseJson: <S extends ZodSchema<any>>(filePath: string, schema: S) => z.output<S>;
58
58
  export declare const generateTimestampedFileName: (prefix: string) => string;
59
59
  export declare const hashSHA256: (text: string) => string;
60
60
  export declare const isFile: (filePath: string) => boolean;
@@ -2,3 +2,4 @@ import type { AgentFilterFunction } from "graphai";
2
2
  export declare const nijovoiceTextAgentFilter: AgentFilterFunction;
3
3
  export declare const fileCacheAgentFilter: AgentFilterFunction;
4
4
  export declare const browserlessCacheGenerator: (cacheDir: string) => AgentFilterFunction;
5
+ export declare const getBackupFilePath: (originalPath: string) => string;
@@ -1,6 +1,6 @@
1
1
  import dotenv from "dotenv";
2
- import fs from "fs";
3
- import path from "path";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
4
  import fsPromise from "fs/promises";
5
5
  import { GraphAILogger } from "graphai";
6
6
  import { writingMessage, isFile } from "./file.js";
@@ -16,7 +16,7 @@ export const nijovoiceTextAgentFilter = async (context, next) => {
16
16
  return next(context);
17
17
  };
18
18
  export const fileCacheAgentFilter = async (context, next) => {
19
- const { force, file, index, mulmoContext, sessionType, id } = context.namedInputs.cache;
19
+ const { force, file, index, mulmoContext, sessionType, id, withBackup } = context.namedInputs.cache;
20
20
  const shouldUseCache = async () => {
21
21
  if (force && force.some((element) => element)) {
22
22
  return false;
@@ -33,6 +33,7 @@ export const fileCacheAgentFilter = async (context, next) => {
33
33
  GraphAILogger.debug(`cache: ${path.basename(file)}`);
34
34
  return true;
35
35
  }
36
+ const backup = withBackup && withBackup.some((element) => element);
36
37
  try {
37
38
  MulmoStudioContextMethods.setBeatSessionState(mulmoContext, sessionType, index, id, true);
38
39
  const output = (await next(context)) || undefined;
@@ -43,11 +44,17 @@ export const fileCacheAgentFilter = async (context, next) => {
43
44
  if (buffer) {
44
45
  writingMessage(file);
45
46
  await fsPromise.writeFile(file, buffer);
47
+ if (backup) {
48
+ await fsPromise.writeFile(getBackupFilePath(file), buffer);
49
+ }
46
50
  return true;
47
51
  }
48
52
  else if (text) {
49
53
  writingMessage(file);
50
54
  await fsPromise.writeFile(file, text, "utf-8");
55
+ if (backup) {
56
+ await fsPromise.writeFile(getBackupFilePath(file), text, "utf-8");
57
+ }
51
58
  return true;
52
59
  }
53
60
  else if (saved) {
@@ -76,3 +83,16 @@ export const browserlessCacheGenerator = (cacheDir) => {
76
83
  };
77
84
  return browserlessCache;
78
85
  };
86
+ export const getBackupFilePath = (originalPath) => {
87
+ const { dir, name, ext } = path.parse(originalPath);
88
+ const now = new Date();
89
+ const ts = [
90
+ now.getFullYear(),
91
+ String(now.getMonth() + 1).padStart(2, "0"),
92
+ String(now.getDate()).padStart(2, "0"),
93
+ String(now.getHours()).padStart(2, "0"),
94
+ String(now.getMinutes()).padStart(2, "0"),
95
+ String(now.getSeconds()).padStart(2, "0"),
96
+ ].join("");
97
+ return path.join(dir, `${name}-${ts}${ext}`);
98
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mulmocast",
3
- "version": "1.2.69",
3
+ "version": "2.0.0-alpha.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "lib/index.node.js",
@@ -61,6 +61,8 @@
61
61
  "deep_research": "npx tsx ./src/tools/deep_research.ts",
62
62
  "template": "npx tsx batch/template2tsobject.ts && yarn run format",
63
63
  "mcp_server": "npx tsx ./src/mcp/server.ts",
64
+ "voice": "npx tsx batch/openai_sample.ts && yarn run movie scripts/samples/openai_voice.json",
65
+ "nijivoice": "npx tsx batch/niji_sample.ts && yarn run movie scripts/samples/niji_voice.json",
64
66
  "generate_action_docs": "npx tsx ./automation/generate_actions_docs/generate_action_docs.ts"
65
67
  },
66
68
  "repository": "git+ssh://git@github.com/receptron/mulmocast-cli.git",
@@ -72,7 +74,7 @@
72
74
  "homepage": "https://github.com/receptron/mulmocast-cli#readme",
73
75
  "dependencies": {
74
76
  "@google-cloud/text-to-speech": "^6.4.0",
75
- "@google/genai": "^1.27.0",
77
+ "@google/genai": "^1.29.0",
76
78
  "@graphai/anthropic_agent": "^2.0.11",
77
79
  "@graphai/browserless_agent": "^2.0.1",
78
80
  "@graphai/gemini_agent": "^2.0.1",
@@ -84,7 +86,7 @@
84
86
  "@graphai/vanilla_node_agents": "^2.0.4",
85
87
  "@inquirer/input": "^4.2.5",
86
88
  "@inquirer/select": "^4.4.0",
87
- "@modelcontextprotocol/sdk": "^1.20.2",
89
+ "@modelcontextprotocol/sdk": "^1.21.0",
88
90
  "@mozilla/readability": "^0.6.0",
89
91
  "@tavily/core": "^0.5.11",
90
92
  "archiver": "^7.0.1",
@@ -92,15 +94,15 @@
92
94
  "dotenv": "^17.2.3",
93
95
  "fluent-ffmpeg": "^2.1.3",
94
96
  "graphai": "^2.0.16",
95
- "jsdom": "^27.0.1",
96
- "marked": "^16.4.1",
97
+ "jsdom": "^27.1.0",
98
+ "marked": "^17.0.0",
97
99
  "mulmocast-vision": "^1.0.4",
98
100
  "ora": "^9.0.0",
99
- "puppeteer": "^24.26.1",
101
+ "puppeteer": "^24.29.1",
100
102
  "replicate": "^1.3.1",
101
103
  "yaml": "^2.8.1",
102
104
  "yargs": "^18.0.0",
103
- "zod": "^3.25.76",
105
+ "zod": "^4.1.12",
104
106
  "zod-to-json-schema": "^3.24.6"
105
107
  },
106
108
  "devDependencies": {
@@ -109,14 +111,14 @@
109
111
  "@types/fluent-ffmpeg": "^2.1.28",
110
112
  "@types/jsdom": "^27.0.0",
111
113
  "@types/yargs": "^17.0.34",
112
- "eslint": "^9.38.0",
114
+ "eslint": "^9.39.1",
113
115
  "eslint-config-prettier": "^10.1.8",
114
116
  "eslint-plugin-prettier": "^5.5.4",
115
117
  "eslint-plugin-sonarjs": "^3.0.5",
116
118
  "prettier": "^3.6.2",
117
119
  "tsx": "^4.20.6",
118
120
  "typescript": "^5.9.3",
119
- "typescript-eslint": "^8.46.2"
121
+ "typescript-eslint": "^8.46.3"
120
122
  },
121
123
  "engines": {
122
124
  "node": ">=20.0.0"