mulmocast 0.1.7 → 1.1.1
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/assets/templates/akira_comic.json +1 -1
- package/assets/templates/ani.json +3 -3
- package/assets/templates/ani_ja.json +4 -5
- package/assets/templates/characters.json +1 -1
- package/assets/templates/children_book.json +1 -1
- package/assets/templates/comic_strips.json +1 -1
- package/assets/templates/drslump_comic.json +1 -1
- package/assets/templates/ghibli_comic.json +1 -1
- package/assets/templates/ghibli_image_only.json +1 -1
- package/assets/templates/ghibli_shorts.json +2 -3
- package/assets/templates/ghost_comic.json +1 -1
- package/assets/templates/onepiece_comic.json +1 -1
- package/assets/templates/portrait_movie.json +1 -1
- package/assets/templates/realistic_movie.json +1 -1
- package/assets/templates/sensei_and_taro.json +4 -5
- package/assets/templates/shorts.json +1 -1
- package/assets/templates/trailer.json +1 -1
- package/lib/actions/audio.js +6 -7
- package/lib/actions/image_agents.d.ts +46 -76
- package/lib/actions/image_agents.js +18 -3
- package/lib/actions/images.js +65 -4
- package/lib/actions/movie.js +3 -2
- package/lib/agents/index.d.ts +3 -1
- package/lib/agents/index.js +3 -1
- package/lib/agents/lipsync_replicate_agent.d.ts +5 -0
- package/lib/agents/lipsync_replicate_agent.js +57 -0
- package/lib/agents/movie_replicate_agent.js +17 -5
- package/lib/agents/sound_effect_replicate_agent.d.ts +5 -0
- package/lib/agents/sound_effect_replicate_agent.js +59 -0
- package/lib/data/index.d.ts +2 -0
- package/lib/data/index.js +2 -0
- package/lib/data/promptTemplates.d.ts +695 -0
- package/lib/data/promptTemplates.js +957 -0
- package/lib/data/scriptTemplates.d.ts +233 -0
- package/lib/data/scriptTemplates.js +580 -0
- package/lib/index.browser.d.ts +2 -1
- package/lib/index.browser.js +2 -1
- package/lib/mcp/server.js +2 -2
- package/lib/methods/index.d.ts +1 -0
- package/lib/methods/index.js +1 -0
- package/lib/methods/mulmo_presentation_style.d.ts +18 -5
- package/lib/methods/mulmo_presentation_style.js +31 -20
- package/lib/methods/mulmo_script.d.ts +4 -0
- package/lib/methods/mulmo_script.js +31 -0
- package/lib/tools/story_to_script.js +2 -2
- package/lib/types/agent.d.ts +19 -0
- package/lib/types/schema.d.ts +628 -246
- package/lib/types/schema.js +31 -12
- package/lib/types/type.d.ts +2 -3
- package/lib/utils/assets.d.ts +18 -0
- package/lib/utils/assets.js +101 -0
- package/lib/utils/context.d.ts +40 -12
- package/lib/utils/context.js +3 -1
- package/lib/utils/file.d.ts +12 -4
- package/lib/utils/file.js +48 -24
- package/lib/utils/preprocess.d.ts +30 -11
- package/lib/utils/preprocess.js +7 -5
- package/lib/utils/provider2agent.d.ts +30 -1
- package/lib/utils/provider2agent.js +86 -0
- package/lib/utils/utils.js +6 -0
- package/package.json +8 -4
- package/scripts/templates/business.json +1 -1
- package/scripts/templates/children_book.json +1 -1
- package/scripts/templates/coding.json +1 -1
- package/scripts/templates/html.json +1 -1
- package/scripts/templates/image_prompt_only_template.json +1 -1
- package/scripts/templates/image_prompts_template.json +1 -1
- package/scripts/templates/image_refs.json +1 -1
- package/scripts/templates/movie_prompts_no_text_template.json +1 -1
- package/scripts/templates/movie_prompts_template.json +1 -1
- package/scripts/templates/presentation.json +1 -1
- package/scripts/templates/sensei_and_taro.json +1 -1
- package/scripts/templates/shorts_template.json +1 -1
- package/scripts/templates/text_only_template.json +1 -1
- package/scripts/templates/voice_over.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MulmoStudio, MulmoScript } from "../types/index.js";
|
|
2
|
-
export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, currentStudio: MulmoStudio | undefined, fileName: string, videoCaption?: string) => {
|
|
1
|
+
import { MulmoStudio, MulmoScript, MulmoPresentationStyle } from "../types/index.js";
|
|
2
|
+
export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, currentStudio: MulmoStudio | undefined, fileName: string, videoCaption?: string, presentationStyle?: MulmoPresentationStyle | null) => {
|
|
3
3
|
beats: {
|
|
4
4
|
duration?: number | undefined;
|
|
5
5
|
startAt?: number | undefined;
|
|
@@ -11,6 +11,8 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
11
11
|
audioFile?: string | undefined;
|
|
12
12
|
imageFile?: string | undefined;
|
|
13
13
|
movieFile?: string | undefined;
|
|
14
|
+
soundEffectFile?: string | undefined;
|
|
15
|
+
lipSyncFile?: string | undefined;
|
|
14
16
|
captionFile?: string | undefined;
|
|
15
17
|
}[];
|
|
16
18
|
script: {
|
|
@@ -72,8 +74,12 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
72
74
|
duration: number;
|
|
73
75
|
} | undefined;
|
|
74
76
|
};
|
|
77
|
+
soundEffectParams: {
|
|
78
|
+
provider?: string | undefined;
|
|
79
|
+
model?: string | undefined;
|
|
80
|
+
};
|
|
75
81
|
$mulmocast: {
|
|
76
|
-
version: "1.
|
|
82
|
+
version: "1.1";
|
|
77
83
|
credit?: "closing" | undefined;
|
|
78
84
|
};
|
|
79
85
|
canvasSize: {
|
|
@@ -81,10 +87,10 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
81
87
|
height: number;
|
|
82
88
|
};
|
|
83
89
|
speechParams: {
|
|
84
|
-
provider: string;
|
|
85
90
|
speakers: Record<string, {
|
|
86
91
|
voiceId: string;
|
|
87
92
|
displayName?: Record<string, string> | undefined;
|
|
93
|
+
isDefault?: boolean | undefined;
|
|
88
94
|
speechOptions?: {
|
|
89
95
|
speed?: number | undefined;
|
|
90
96
|
instruction?: string | undefined;
|
|
@@ -92,16 +98,9 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
92
98
|
provider?: string | undefined;
|
|
93
99
|
model?: string | undefined;
|
|
94
100
|
}>;
|
|
95
|
-
model?: string | undefined;
|
|
96
101
|
};
|
|
97
102
|
beats: {
|
|
98
103
|
text: string;
|
|
99
|
-
speaker: string;
|
|
100
|
-
duration?: number | undefined;
|
|
101
|
-
speechOptions?: {
|
|
102
|
-
speed?: number | undefined;
|
|
103
|
-
instruction?: string | undefined;
|
|
104
|
-
} | undefined;
|
|
105
104
|
image?: {
|
|
106
105
|
type: "markdown";
|
|
107
106
|
markdown: string | string[];
|
|
@@ -206,6 +205,11 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
206
205
|
type: "voice_over";
|
|
207
206
|
startAt?: number | undefined;
|
|
208
207
|
} | undefined;
|
|
208
|
+
duration?: number | undefined;
|
|
209
|
+
speechOptions?: {
|
|
210
|
+
speed?: number | undefined;
|
|
211
|
+
instruction?: string | undefined;
|
|
212
|
+
} | undefined;
|
|
209
213
|
id?: string | undefined;
|
|
210
214
|
audio?: {
|
|
211
215
|
type: "audio";
|
|
@@ -227,6 +231,7 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
227
231
|
source: string;
|
|
228
232
|
} | undefined;
|
|
229
233
|
imagePrompt?: string | undefined;
|
|
234
|
+
speaker?: string | undefined;
|
|
230
235
|
description?: string | undefined;
|
|
231
236
|
imageParams?: {
|
|
232
237
|
provider: string;
|
|
@@ -265,6 +270,14 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
265
270
|
style: "aspectFit" | "aspectFill";
|
|
266
271
|
} | undefined;
|
|
267
272
|
} | undefined;
|
|
273
|
+
soundEffectParams?: {
|
|
274
|
+
provider?: string | undefined;
|
|
275
|
+
model?: string | undefined;
|
|
276
|
+
} | undefined;
|
|
277
|
+
lipSyncParams?: {
|
|
278
|
+
provider?: string | undefined;
|
|
279
|
+
model?: string | undefined;
|
|
280
|
+
} | undefined;
|
|
268
281
|
htmlImageParams?: {
|
|
269
282
|
model?: string | undefined;
|
|
270
283
|
} | undefined;
|
|
@@ -277,16 +290,22 @@ export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, curre
|
|
|
277
290
|
} | undefined;
|
|
278
291
|
imageNames?: string[] | undefined;
|
|
279
292
|
moviePrompt?: string | undefined;
|
|
293
|
+
soundEffectPrompt?: string | undefined;
|
|
280
294
|
htmlPrompt?: {
|
|
281
295
|
prompt: string;
|
|
282
296
|
data?: any;
|
|
283
297
|
images?: Record<string, any> | undefined;
|
|
284
298
|
systemPrompt?: string | undefined;
|
|
285
299
|
} | undefined;
|
|
300
|
+
enableLipSync?: boolean | undefined;
|
|
286
301
|
}[];
|
|
287
302
|
lang?: string | undefined;
|
|
288
303
|
title?: string | undefined;
|
|
289
304
|
description?: string | undefined;
|
|
305
|
+
lipSyncParams?: {
|
|
306
|
+
provider?: string | undefined;
|
|
307
|
+
model?: string | undefined;
|
|
308
|
+
} | undefined;
|
|
290
309
|
htmlImageParams?: {
|
|
291
310
|
provider: string;
|
|
292
311
|
model?: string | undefined;
|
package/lib/utils/preprocess.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GraphAILogger } from "graphai";
|
|
2
|
-
import {
|
|
2
|
+
import { mulmoStudioSchema, mulmoCaptionParamsSchema } from "../types/index.js";
|
|
3
|
+
import { MulmoPresentationStyleMethods, MulmoScriptMethods } from "../methods/index.js";
|
|
3
4
|
const rebuildStudio = (currentStudio, mulmoScript, fileName) => {
|
|
4
5
|
const isTest = process.env.NODE_ENV === "test";
|
|
5
6
|
const parsed = isTest && currentStudio ? { data: mulmoStudioSchema.parse(currentStudio), success: true, error: null } : mulmoStudioSchema.safeParse(currentStudio);
|
|
@@ -36,15 +37,16 @@ const mulmoCredit = (speaker) => {
|
|
|
36
37
|
},
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
|
-
export const createOrUpdateStudioData = (_mulmoScript, currentStudio, fileName, videoCaption) => {
|
|
40
|
-
const mulmoScript = _mulmoScript.__test_invalid__ ? _mulmoScript :
|
|
40
|
+
export const createOrUpdateStudioData = (_mulmoScript, currentStudio, fileName, videoCaption, presentationStyle) => {
|
|
41
|
+
const mulmoScript = _mulmoScript.__test_invalid__ ? _mulmoScript : MulmoScriptMethods.validate(_mulmoScript); // validate and insert default value
|
|
41
42
|
const studio = rebuildStudio(currentStudio, mulmoScript, fileName);
|
|
42
43
|
// TODO: Move this code out of this function later
|
|
43
44
|
// Addition cloing credit
|
|
44
45
|
if (mulmoScript.$mulmocast.credit === "closing") {
|
|
45
|
-
|
|
46
|
+
const defaultSpeaker = MulmoPresentationStyleMethods.getDefaultSpeaker(presentationStyle ?? studio.script);
|
|
47
|
+
mulmoScript.beats.push(mulmoCredit(mulmoScript.beats[0].speaker ?? defaultSpeaker)); // First speaker
|
|
46
48
|
}
|
|
47
|
-
studio.script =
|
|
49
|
+
studio.script = MulmoScriptMethods.validate(mulmoScript); // update the script
|
|
48
50
|
studio.beats = studio.script.beats.map((_, index) => studio.beats[index] ?? {});
|
|
49
51
|
if (videoCaption) {
|
|
50
52
|
studio.script.captionParams = mulmoCaptionParamsSchema.parse({
|
|
@@ -32,11 +32,18 @@ export declare const provider2ImageAgent: {
|
|
|
32
32
|
models: string[];
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
|
+
export type ReplicateModel = `${string}/${string}`;
|
|
35
36
|
export declare const provider2MovieAgent: {
|
|
36
37
|
replicate: {
|
|
37
38
|
agentName: string;
|
|
38
|
-
defaultModel:
|
|
39
|
+
defaultModel: ReplicateModel;
|
|
39
40
|
models: string[];
|
|
41
|
+
modelParams: Record<ReplicateModel, {
|
|
42
|
+
durations: number[];
|
|
43
|
+
start_image: string | undefined;
|
|
44
|
+
last_image?: string;
|
|
45
|
+
price_per_sec: number;
|
|
46
|
+
}>;
|
|
40
47
|
};
|
|
41
48
|
google: {
|
|
42
49
|
agentName: string;
|
|
@@ -44,6 +51,26 @@ export declare const provider2MovieAgent: {
|
|
|
44
51
|
models: string[];
|
|
45
52
|
};
|
|
46
53
|
};
|
|
54
|
+
export declare const provider2SoundEffectAgent: {
|
|
55
|
+
replicate: {
|
|
56
|
+
agentName: string;
|
|
57
|
+
defaultModel: ReplicateModel;
|
|
58
|
+
models: ReplicateModel[];
|
|
59
|
+
modelParams: Record<ReplicateModel, {
|
|
60
|
+
identifier?: `${string}/${string}:${string}`;
|
|
61
|
+
}>;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const provider2LipSyncAgent: {
|
|
65
|
+
replicate: {
|
|
66
|
+
agentName: string;
|
|
67
|
+
defaultModel: ReplicateModel;
|
|
68
|
+
models: ReplicateModel[];
|
|
69
|
+
modelParams: Record<ReplicateModel, {
|
|
70
|
+
identifier?: `${string}/${string}:${string}`;
|
|
71
|
+
}>;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
47
74
|
export declare const provider2LLMAgent: {
|
|
48
75
|
readonly openai: {
|
|
49
76
|
readonly agentName: "openAIAgent";
|
|
@@ -72,6 +99,8 @@ export declare const defaultProviders: {
|
|
|
72
99
|
text2movie: keyof typeof provider2MovieAgent;
|
|
73
100
|
text2Html: keyof typeof provider2LLMAgent;
|
|
74
101
|
llm: keyof typeof provider2LLMAgent;
|
|
102
|
+
soundEffect: keyof typeof provider2SoundEffectAgent;
|
|
103
|
+
lipSync: keyof typeof provider2LipSyncAgent;
|
|
75
104
|
};
|
|
76
105
|
export declare const llm: (keyof typeof provider2LLMAgent)[];
|
|
77
106
|
export type LLM = keyof typeof provider2LLMAgent;
|
|
@@ -51,6 +51,66 @@ export const provider2MovieAgent = {
|
|
|
51
51
|
"minimax/hailuo-02",
|
|
52
52
|
"pixverse/pixverse-v4.5",
|
|
53
53
|
],
|
|
54
|
+
modelParams: {
|
|
55
|
+
"bytedance/seedance-1-lite": {
|
|
56
|
+
durations: [5, 10],
|
|
57
|
+
start_image: "image",
|
|
58
|
+
last_image: "last_frame_image",
|
|
59
|
+
price_per_sec: 0.036, // in USD
|
|
60
|
+
},
|
|
61
|
+
"bytedance/seedance-1-pro": {
|
|
62
|
+
durations: [5, 10],
|
|
63
|
+
start_image: "image",
|
|
64
|
+
last_image: "last_frame_image",
|
|
65
|
+
price_per_sec: 0.15,
|
|
66
|
+
},
|
|
67
|
+
"kwaivgi/kling-v1.6-pro": {
|
|
68
|
+
durations: [5, 10],
|
|
69
|
+
start_image: "start_image",
|
|
70
|
+
price_per_sec: 0.095,
|
|
71
|
+
},
|
|
72
|
+
"kwaivgi/kling-v2.1": {
|
|
73
|
+
durations: [5, 10],
|
|
74
|
+
start_image: "start_image",
|
|
75
|
+
price_per_sec: 0.05,
|
|
76
|
+
},
|
|
77
|
+
"kwaivgi/kling-v2.1-master": {
|
|
78
|
+
durations: [5, 10],
|
|
79
|
+
start_image: "start_image",
|
|
80
|
+
price_per_sec: 0.28,
|
|
81
|
+
},
|
|
82
|
+
"google/veo-2": {
|
|
83
|
+
durations: [5, 6, 7, 8],
|
|
84
|
+
start_image: "image",
|
|
85
|
+
price_per_sec: 0.5,
|
|
86
|
+
},
|
|
87
|
+
"google/veo-3": {
|
|
88
|
+
durations: [8],
|
|
89
|
+
start_image: undefined,
|
|
90
|
+
price_per_sec: 0.75,
|
|
91
|
+
},
|
|
92
|
+
"google/veo-3-fast": {
|
|
93
|
+
durations: [8],
|
|
94
|
+
start_image: undefined,
|
|
95
|
+
price_per_sec: 0.4,
|
|
96
|
+
},
|
|
97
|
+
"minimax/video-01": {
|
|
98
|
+
durations: [6],
|
|
99
|
+
start_image: "first_frame_image",
|
|
100
|
+
price_per_sec: 0.5,
|
|
101
|
+
},
|
|
102
|
+
"minimax/hailuo-02": {
|
|
103
|
+
durations: [6], // NOTE: 10 for only 720p
|
|
104
|
+
start_image: "first_frame_image",
|
|
105
|
+
price_per_sec: 0.08,
|
|
106
|
+
},
|
|
107
|
+
"pixverse/pixverse-v4.5": {
|
|
108
|
+
durations: [5, 8],
|
|
109
|
+
start_image: "image",
|
|
110
|
+
last_image: "last_frame_image",
|
|
111
|
+
price_per_sec: 0.12,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
54
114
|
},
|
|
55
115
|
google: {
|
|
56
116
|
agentName: "movieGoogleAgent",
|
|
@@ -58,6 +118,30 @@ export const provider2MovieAgent = {
|
|
|
58
118
|
models: ["veo-2.0-generate-001"],
|
|
59
119
|
},
|
|
60
120
|
};
|
|
121
|
+
export const provider2SoundEffectAgent = {
|
|
122
|
+
replicate: {
|
|
123
|
+
agentName: "soundEffectReplicateAgent",
|
|
124
|
+
defaultModel: "zsxkib/mmaudio",
|
|
125
|
+
models: ["zsxkib/mmaudio"],
|
|
126
|
+
modelParams: {
|
|
127
|
+
"zsxkib/mmaudio": {
|
|
128
|
+
identifier: "zsxkib/mmaudio:62871fb59889b2d7c13777f08deb3b36bdff88f7e1d53a50ad7694548a41b484",
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
export const provider2LipSyncAgent = {
|
|
134
|
+
replicate: {
|
|
135
|
+
agentName: "lipSyncReplicateAgent",
|
|
136
|
+
defaultModel: "bytedance/latentsync",
|
|
137
|
+
models: ["bytedance/latentsync"],
|
|
138
|
+
modelParams: {
|
|
139
|
+
"bytedance/latentsync": {
|
|
140
|
+
identifier: "bytedance/latentsync:637ce1919f807ca20da3a448ddc2743535d2853649574cd52a933120e9b9e293",
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
};
|
|
61
145
|
// : Record<LLM, { agent: string; defaultModel: string; max_tokens: number }>
|
|
62
146
|
export const provider2LLMAgent = {
|
|
63
147
|
openai: {
|
|
@@ -87,6 +171,8 @@ export const defaultProviders = {
|
|
|
87
171
|
text2movie: "replicate",
|
|
88
172
|
text2Html: "openai",
|
|
89
173
|
llm: "openai",
|
|
174
|
+
soundEffect: "replicate",
|
|
175
|
+
lipSync: "replicate",
|
|
90
176
|
};
|
|
91
177
|
export const llm = Object.keys(provider2LLMAgent);
|
|
92
178
|
export const htmlLLMProvider = ["openai", "anthropic"];
|
package/lib/utils/utils.js
CHANGED
|
@@ -73,6 +73,12 @@ export const settings2GraphAIConfig = (settings, env) => {
|
|
|
73
73
|
ttsElevenlabsAgent: {
|
|
74
74
|
apiKey: getKey("TTS", "ELEVENLABS_API_KEY"),
|
|
75
75
|
},
|
|
76
|
+
soundEffectReplicateAgent: {
|
|
77
|
+
apiKey: getKey("SOUND_EFFECT", "REPLICATE_API_TOKEN"),
|
|
78
|
+
},
|
|
79
|
+
lipSyncReplicateAgent: {
|
|
80
|
+
apiKey: getKey("LIPSYNC", "REPLICATE_API_TOKEN"),
|
|
81
|
+
},
|
|
76
82
|
// TODO
|
|
77
83
|
// browserlessAgent
|
|
78
84
|
// ttsGoogleAgent
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mulmocast",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.node.js",
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
"./browser": {
|
|
13
13
|
"types": "./lib/index.browser.d.ts",
|
|
14
14
|
"default": "./lib/index.browser.js"
|
|
15
|
+
},
|
|
16
|
+
"./data": {
|
|
17
|
+
"default": "./lib/data/index.js"
|
|
15
18
|
}
|
|
16
19
|
},
|
|
17
20
|
"bin": {
|
|
@@ -48,6 +51,7 @@
|
|
|
48
51
|
"latest": "yarn upgrade-interactive --latest",
|
|
49
52
|
"format": "prettier --write '{src,scripts,assets/templates,assets/styles,draft,ideason,scripts_mag2,proto,test,graphai,output,docs/scripts}/**/*.{ts,json,yaml}'",
|
|
50
53
|
"deep_research": "npx tsx ./src/tools/deep_research.ts",
|
|
54
|
+
"template": "npx tsx batch/template2tsobject.ts",
|
|
51
55
|
"fake_data": "npx tsx test/fake/sample.ts",
|
|
52
56
|
"mcp_server": "npx tsx ./src/mcp/server.ts"
|
|
53
57
|
},
|
|
@@ -73,14 +77,14 @@
|
|
|
73
77
|
"@tavily/core": "^0.5.9",
|
|
74
78
|
"canvas": "^3.1.2",
|
|
75
79
|
"clipboardy": "^4.0.0",
|
|
76
|
-
"dotenv": "^17.2.
|
|
80
|
+
"dotenv": "^17.2.1",
|
|
77
81
|
"fluent-ffmpeg": "^2.1.3",
|
|
78
82
|
"google-auth-library": "^10.1.0",
|
|
79
83
|
"graphai": "^2.0.13",
|
|
80
84
|
"inquirer": "^12.7.0",
|
|
81
85
|
"marked": "^16.1.1",
|
|
82
86
|
"ora": "^8.2.0",
|
|
83
|
-
"puppeteer": "^24.
|
|
87
|
+
"puppeteer": "^24.15.0",
|
|
84
88
|
"replicate": "^1.0.1",
|
|
85
89
|
"yaml": "^2.8.0",
|
|
86
90
|
"yargs": "^18.0.0",
|
|
@@ -93,7 +97,7 @@
|
|
|
93
97
|
"@receptron/test_utils": "^2.0.0",
|
|
94
98
|
"@types/fluent-ffmpeg": "^2.1.26",
|
|
95
99
|
"@types/yargs": "^17.0.33",
|
|
96
|
-
"eslint": "^9.
|
|
100
|
+
"eslint": "^9.32.0",
|
|
97
101
|
"eslint-config-prettier": "^10.1.8",
|
|
98
102
|
"eslint-plugin-prettier": "^5.5.3",
|
|
99
103
|
"eslint-plugin-sonarjs": "^3.0.4",
|