mulmocast 0.0.2 → 0.0.4
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/README.md +27 -9
- package/assets/font/NotoSansJP-Regular.ttf +0 -0
- package/assets/html/chart.html +1 -10
- package/assets/html/mermaid.html +1 -13
- package/assets/templates/business.json +16 -27
- package/assets/templates/coding.json +58 -21
- package/lib/actions/audio.d.ts +1 -1
- package/lib/actions/audio.js +43 -27
- package/lib/actions/images.js +20 -26
- package/lib/actions/index.d.ts +5 -0
- package/lib/actions/index.js +5 -0
- package/lib/actions/movie.d.ts +9 -1
- package/lib/actions/movie.js +97 -38
- package/lib/actions/pdf.d.ts +2 -0
- package/lib/actions/pdf.js +211 -0
- package/lib/actions/translate.js +22 -9
- package/lib/agents/combine_audio_files_agent.js +13 -22
- package/lib/cli/args.d.ts +3 -1
- package/lib/cli/args.js +49 -34
- package/lib/cli/cli.d.ts +15 -0
- package/lib/cli/cli.js +44 -47
- package/lib/cli/run.d.ts +1 -0
- package/lib/cli/run.js +2 -0
- package/lib/cli/tool-args.d.ts +2 -0
- package/lib/cli/tool-args.js +12 -2
- package/lib/cli/tool-cli.js +6 -4
- package/lib/methods/index.d.ts +1 -0
- package/lib/methods/index.js +1 -0
- package/lib/methods/mulmo_media_source.d.ts +4 -0
- package/lib/methods/mulmo_media_source.js +21 -0
- package/lib/methods/mulmo_script.d.ts +2 -6
- package/lib/methods/mulmo_script.js +12 -5
- package/lib/tools/create_mulmo_script_interactively.d.ts +1 -1
- package/lib/tools/create_mulmo_script_interactively.js +61 -20
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +1 -0
- package/lib/types/schema.d.ts +3626 -3162
- package/lib/types/schema.js +75 -41
- package/lib/types/type.d.ts +28 -1
- package/lib/utils/const.d.ts +2 -0
- package/lib/utils/const.js +2 -0
- package/lib/utils/file.d.ts +4 -1
- package/lib/utils/file.js +15 -1
- package/lib/utils/filters.js +1 -1
- package/lib/utils/image_plugins/chart.d.ts +3 -0
- package/lib/utils/image_plugins/chart.js +18 -0
- package/lib/utils/image_plugins/image.d.ts +2 -0
- package/lib/utils/image_plugins/image.js +3 -0
- package/lib/utils/image_plugins/index.d.ts +7 -0
- package/lib/utils/image_plugins/index.js +7 -0
- package/lib/utils/image_plugins/markdown.d.ts +3 -0
- package/lib/utils/image_plugins/markdown.js +11 -0
- package/lib/utils/image_plugins/mermaid.d.ts +3 -0
- package/lib/utils/image_plugins/mermaid.js +21 -0
- package/lib/utils/image_plugins/movie.d.ts +2 -0
- package/lib/utils/image_plugins/movie.js +3 -0
- package/lib/utils/image_plugins/source.d.ts +4 -0
- package/lib/utils/image_plugins/source.js +15 -0
- package/lib/utils/image_plugins/text_slide.d.ts +3 -0
- package/lib/utils/image_plugins/text_slide.js +12 -0
- package/lib/utils/image_plugins/type_guards.d.ts +6 -0
- package/lib/utils/image_plugins/type_guards.js +21 -0
- package/lib/utils/markdown.js +4 -1
- package/lib/utils/pdf.d.ts +8 -0
- package/lib/utils/pdf.js +75 -0
- package/lib/utils/preprocess.d.ts +58 -128
- package/lib/utils/preprocess.js +37 -37
- package/lib/utils/utils.d.ts +12 -0
- package/lib/utils/utils.js +34 -0
- package/package.json +21 -12
- package/lib/tools/seed.d.ts +0 -3
- package/lib/tools/seed.js +0 -201
- package/lib/tools/seed_from_url.d.ts +0 -3
- package/lib/tools/seed_from_url.js +0 -178
- package/lib/tools/seed_from_url2.d.ts +0 -3
- package/lib/tools/seed_from_url2.js +0 -154
- package/lib/utils/image_preprocess.d.ts +0 -14
- package/lib/utils/image_preprocess.js +0 -52
- package/lib/utils/text_hash.d.ts +0 -1
- package/lib/utils/text_hash.js +0 -4
|
@@ -1,110 +1,7 @@
|
|
|
1
|
-
import { MulmoScript } from "../types/index.js";
|
|
2
|
-
export declare const createOrUpdateStudioData: (
|
|
3
|
-
outDirPath: string;
|
|
4
|
-
}) => {
|
|
1
|
+
import { MulmoStudio, MulmoScript } from "../types/index.js";
|
|
2
|
+
export declare const createOrUpdateStudioData: (_mulmoScript: MulmoScript, currentStudio: MulmoStudio | undefined, fileName: string) => {
|
|
5
3
|
beats: {
|
|
6
|
-
text: string;
|
|
7
|
-
speaker: string;
|
|
8
4
|
duration?: number | undefined;
|
|
9
|
-
speechOptions?: {
|
|
10
|
-
speed?: number | undefined;
|
|
11
|
-
instruction?: string | undefined;
|
|
12
|
-
} | undefined;
|
|
13
|
-
image?: {
|
|
14
|
-
type: "markdown";
|
|
15
|
-
markdown: string | string[];
|
|
16
|
-
} | {
|
|
17
|
-
type: "web";
|
|
18
|
-
url: string;
|
|
19
|
-
} | {
|
|
20
|
-
type: "pdf";
|
|
21
|
-
source: {
|
|
22
|
-
url: string;
|
|
23
|
-
kind: "url";
|
|
24
|
-
} | {
|
|
25
|
-
kind: "data";
|
|
26
|
-
data: string;
|
|
27
|
-
} | {
|
|
28
|
-
path: string;
|
|
29
|
-
kind: "path";
|
|
30
|
-
};
|
|
31
|
-
} | {
|
|
32
|
-
type: "image";
|
|
33
|
-
source: {
|
|
34
|
-
url: string;
|
|
35
|
-
kind: "url";
|
|
36
|
-
} | {
|
|
37
|
-
kind: "data";
|
|
38
|
-
data: string;
|
|
39
|
-
} | {
|
|
40
|
-
path: string;
|
|
41
|
-
kind: "path";
|
|
42
|
-
};
|
|
43
|
-
} | {
|
|
44
|
-
type: "svg";
|
|
45
|
-
source: {
|
|
46
|
-
url: string;
|
|
47
|
-
kind: "url";
|
|
48
|
-
} | {
|
|
49
|
-
kind: "data";
|
|
50
|
-
data: string;
|
|
51
|
-
} | {
|
|
52
|
-
path: string;
|
|
53
|
-
kind: "path";
|
|
54
|
-
};
|
|
55
|
-
} | {
|
|
56
|
-
type: "movie";
|
|
57
|
-
source: {
|
|
58
|
-
url: string;
|
|
59
|
-
kind: "url";
|
|
60
|
-
} | {
|
|
61
|
-
kind: "data";
|
|
62
|
-
data: string;
|
|
63
|
-
} | {
|
|
64
|
-
path: string;
|
|
65
|
-
kind: "path";
|
|
66
|
-
};
|
|
67
|
-
} | {
|
|
68
|
-
type: "textSlide";
|
|
69
|
-
slide: {
|
|
70
|
-
title: string;
|
|
71
|
-
bullets: string[];
|
|
72
|
-
};
|
|
73
|
-
} | {
|
|
74
|
-
type: "chart";
|
|
75
|
-
title: string;
|
|
76
|
-
chartData: Record<string, any>;
|
|
77
|
-
} | {
|
|
78
|
-
code: string;
|
|
79
|
-
type: "mermaid";
|
|
80
|
-
title: string;
|
|
81
|
-
} | undefined;
|
|
82
|
-
audio?: {
|
|
83
|
-
type: "audio";
|
|
84
|
-
source: {
|
|
85
|
-
url: string;
|
|
86
|
-
kind: "url";
|
|
87
|
-
} | {
|
|
88
|
-
kind: "data";
|
|
89
|
-
data: string;
|
|
90
|
-
} | {
|
|
91
|
-
path: string;
|
|
92
|
-
kind: "path";
|
|
93
|
-
};
|
|
94
|
-
} | {
|
|
95
|
-
type: "midi";
|
|
96
|
-
source: string;
|
|
97
|
-
} | undefined;
|
|
98
|
-
imageParams?: {
|
|
99
|
-
model?: string | undefined;
|
|
100
|
-
size?: string | undefined;
|
|
101
|
-
style?: string | undefined;
|
|
102
|
-
moderation?: string | undefined;
|
|
103
|
-
} | undefined;
|
|
104
|
-
textSlideParams?: {
|
|
105
|
-
cssStyles: string[];
|
|
106
|
-
} | undefined;
|
|
107
|
-
imagePrompt?: string | undefined;
|
|
108
5
|
multiLingualTexts?: Record<string, {
|
|
109
6
|
text: string;
|
|
110
7
|
lang: string;
|
|
@@ -117,7 +14,6 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
117
14
|
imageFile?: string | undefined;
|
|
118
15
|
}[];
|
|
119
16
|
script: {
|
|
120
|
-
title: string;
|
|
121
17
|
$mulmocast: {
|
|
122
18
|
version: "1.0";
|
|
123
19
|
credit?: "closing" | undefined;
|
|
@@ -126,6 +22,17 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
126
22
|
width: number;
|
|
127
23
|
height: number;
|
|
128
24
|
};
|
|
25
|
+
speechParams: {
|
|
26
|
+
provider: "openai" | "nijivoice";
|
|
27
|
+
speakers: Record<string, {
|
|
28
|
+
voiceId: string;
|
|
29
|
+
displayName?: Record<string, string> | undefined;
|
|
30
|
+
speechOptions?: {
|
|
31
|
+
speed?: number | undefined;
|
|
32
|
+
instruction?: string | undefined;
|
|
33
|
+
} | undefined;
|
|
34
|
+
}>;
|
|
35
|
+
};
|
|
129
36
|
beats: {
|
|
130
37
|
text: string;
|
|
131
38
|
speaker: string;
|
|
@@ -145,8 +52,11 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
145
52
|
url: string;
|
|
146
53
|
kind: "url";
|
|
147
54
|
} | {
|
|
148
|
-
kind: "
|
|
55
|
+
kind: "base64";
|
|
149
56
|
data: string;
|
|
57
|
+
} | {
|
|
58
|
+
text: string;
|
|
59
|
+
kind: "text";
|
|
150
60
|
} | {
|
|
151
61
|
path: string;
|
|
152
62
|
kind: "path";
|
|
@@ -157,8 +67,11 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
157
67
|
url: string;
|
|
158
68
|
kind: "url";
|
|
159
69
|
} | {
|
|
160
|
-
kind: "
|
|
70
|
+
kind: "base64";
|
|
161
71
|
data: string;
|
|
72
|
+
} | {
|
|
73
|
+
text: string;
|
|
74
|
+
kind: "text";
|
|
162
75
|
} | {
|
|
163
76
|
path: string;
|
|
164
77
|
kind: "path";
|
|
@@ -169,8 +82,11 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
169
82
|
url: string;
|
|
170
83
|
kind: "url";
|
|
171
84
|
} | {
|
|
172
|
-
kind: "
|
|
85
|
+
kind: "base64";
|
|
173
86
|
data: string;
|
|
87
|
+
} | {
|
|
88
|
+
text: string;
|
|
89
|
+
kind: "text";
|
|
174
90
|
} | {
|
|
175
91
|
path: string;
|
|
176
92
|
kind: "path";
|
|
@@ -181,8 +97,11 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
181
97
|
url: string;
|
|
182
98
|
kind: "url";
|
|
183
99
|
} | {
|
|
184
|
-
kind: "
|
|
100
|
+
kind: "base64";
|
|
185
101
|
data: string;
|
|
102
|
+
} | {
|
|
103
|
+
text: string;
|
|
104
|
+
kind: "text";
|
|
186
105
|
} | {
|
|
187
106
|
path: string;
|
|
188
107
|
kind: "path";
|
|
@@ -198,9 +117,22 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
198
117
|
title: string;
|
|
199
118
|
chartData: Record<string, any>;
|
|
200
119
|
} | {
|
|
201
|
-
code:
|
|
120
|
+
code: {
|
|
121
|
+
url: string;
|
|
122
|
+
kind: "url";
|
|
123
|
+
} | {
|
|
124
|
+
kind: "base64";
|
|
125
|
+
data: string;
|
|
126
|
+
} | {
|
|
127
|
+
text: string;
|
|
128
|
+
kind: "text";
|
|
129
|
+
} | {
|
|
130
|
+
path: string;
|
|
131
|
+
kind: "path";
|
|
132
|
+
};
|
|
202
133
|
type: "mermaid";
|
|
203
134
|
title: string;
|
|
135
|
+
appendix?: string[] | undefined;
|
|
204
136
|
} | undefined;
|
|
205
137
|
audio?: {
|
|
206
138
|
type: "audio";
|
|
@@ -208,8 +140,11 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
208
140
|
url: string;
|
|
209
141
|
kind: "url";
|
|
210
142
|
} | {
|
|
211
|
-
kind: "
|
|
143
|
+
kind: "base64";
|
|
212
144
|
data: string;
|
|
145
|
+
} | {
|
|
146
|
+
text: string;
|
|
147
|
+
kind: "text";
|
|
213
148
|
} | {
|
|
214
149
|
path: string;
|
|
215
150
|
kind: "path";
|
|
@@ -225,22 +160,12 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
225
160
|
moderation?: string | undefined;
|
|
226
161
|
} | undefined;
|
|
227
162
|
textSlideParams?: {
|
|
228
|
-
cssStyles: string[];
|
|
163
|
+
cssStyles: string | string[];
|
|
229
164
|
} | undefined;
|
|
230
165
|
imagePrompt?: string | undefined;
|
|
231
166
|
}[];
|
|
232
|
-
speechParams: {
|
|
233
|
-
provider: "openai" | "nijivoice";
|
|
234
|
-
speakers: Record<string, {
|
|
235
|
-
displayName: Record<string, string>;
|
|
236
|
-
voiceId: string;
|
|
237
|
-
speechOptions?: {
|
|
238
|
-
speed?: number | undefined;
|
|
239
|
-
instruction?: string | undefined;
|
|
240
|
-
} | undefined;
|
|
241
|
-
}>;
|
|
242
|
-
};
|
|
243
167
|
lang?: string | undefined;
|
|
168
|
+
title?: string | undefined;
|
|
244
169
|
imageParams?: {
|
|
245
170
|
provider: "openai" | "google";
|
|
246
171
|
model?: string | undefined;
|
|
@@ -249,15 +174,20 @@ export declare const createOrUpdateStudioData: (mulmoScript: MulmoScript, fileNa
|
|
|
249
174
|
moderation?: string | undefined;
|
|
250
175
|
} | undefined;
|
|
251
176
|
textSlideParams?: {
|
|
252
|
-
cssStyles: string[];
|
|
177
|
+
cssStyles: string | string[];
|
|
253
178
|
} | undefined;
|
|
254
|
-
description?: string | undefined;
|
|
255
|
-
reference?: string | undefined;
|
|
256
179
|
videoParams?: {
|
|
257
180
|
padding?: number | undefined;
|
|
258
181
|
} | undefined;
|
|
259
|
-
imagePath?: string | undefined;
|
|
260
182
|
omitCaptions?: boolean | undefined;
|
|
183
|
+
description?: string | undefined;
|
|
184
|
+
references?: {
|
|
185
|
+
type: "image" | "audio" | "article" | "video";
|
|
186
|
+
url: string;
|
|
187
|
+
title?: string | undefined;
|
|
188
|
+
description?: string | undefined;
|
|
189
|
+
}[] | undefined;
|
|
190
|
+
imagePath?: string | undefined;
|
|
261
191
|
__test_invalid__?: boolean | undefined;
|
|
262
192
|
};
|
|
263
193
|
filename: string;
|
package/lib/utils/preprocess.js
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const currentStudio = readMulmoScriptFile(outputStudioFilePath);
|
|
9
|
-
const studio = currentStudio?.mulmoData ?? {
|
|
1
|
+
import { mulmoScriptSchema, mulmoBeatSchema, mulmoStudioSchema } from "../types/index.js";
|
|
2
|
+
const rebuildStudio = (currentStudio, mulmoScript, fileName) => {
|
|
3
|
+
const parsed = mulmoStudioSchema.safeParse(currentStudio);
|
|
4
|
+
if (parsed.success) {
|
|
5
|
+
return parsed.data;
|
|
6
|
+
}
|
|
7
|
+
return {
|
|
10
8
|
script: mulmoScript,
|
|
11
9
|
filename: fileName,
|
|
12
|
-
beats: Array(mulmoScript.beats.length).
|
|
10
|
+
beats: [...Array(mulmoScript.beats.length)].map(() => ({})),
|
|
13
11
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
source: {
|
|
25
|
-
kind: "url",
|
|
26
|
-
url: "https://github.com/receptron/mulmocast-cli/raw/refs/heads/main/assets/images/mulmocast_credit.png",
|
|
27
|
-
},
|
|
12
|
+
};
|
|
13
|
+
const mulmoCredit = (speaker) => {
|
|
14
|
+
return {
|
|
15
|
+
speaker,
|
|
16
|
+
text: "",
|
|
17
|
+
image: {
|
|
18
|
+
type: "image",
|
|
19
|
+
source: {
|
|
20
|
+
kind: "url",
|
|
21
|
+
url: "https://github.com/receptron/mulmocast-cli/raw/refs/heads/main/assets/images/mulmocast_credit.png",
|
|
28
22
|
},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
},
|
|
24
|
+
audio: {
|
|
25
|
+
type: "audio",
|
|
26
|
+
source: {
|
|
27
|
+
kind: "url",
|
|
28
|
+
url: "https://github.com/receptron/mulmocast-cli/raw/refs/heads/main/assets/audio/silent300.mp3",
|
|
35
29
|
},
|
|
36
|
-
}
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export const createOrUpdateStudioData = (_mulmoScript, currentStudio, fileName) => {
|
|
34
|
+
const mulmoScript = _mulmoScript.__test_invalid__ ? _mulmoScript : mulmoScriptSchema.parse(_mulmoScript); // validate and insert default value
|
|
35
|
+
const studio = rebuildStudio(currentStudio, mulmoScript, fileName);
|
|
36
|
+
// Addition cloing credit
|
|
37
|
+
if (mulmoScript.$mulmocast.credit === "closing") {
|
|
38
|
+
mulmoScript.beats.push(mulmoCredit(mulmoScript.beats[0].speaker)); // First speaker
|
|
37
39
|
}
|
|
38
|
-
studio.script = mulmoScript; // update the script
|
|
39
|
-
studio.beats
|
|
40
|
+
studio.script = mulmoScriptSchema.parse(mulmoScript); // update the script
|
|
41
|
+
studio.beats = studio.script.beats.map((_, index) => studio.beats[index] ?? {});
|
|
40
42
|
mulmoScript.beats.forEach((beat, index) => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const hash_string = `${beat.text}${voiceId}${speechOptions?.instruction ?? ""}${speechOptions?.speed ?? 1.0}`;
|
|
44
|
-
studio.beats[index] = { ...studio.beats[index], ...beat, audioFile: `${fileName}_${index}_${text2hash(hash_string)}` };
|
|
43
|
+
// Filling the default values
|
|
44
|
+
studio.script.beats[index] = mulmoBeatSchema.parse(beat);
|
|
45
45
|
});
|
|
46
46
|
return studio;
|
|
47
47
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const llmAgents: string[];
|
|
2
|
+
type LLMAgent = (typeof llmAgents)[number];
|
|
3
|
+
export declare const defaultOpenAIModel: string;
|
|
4
|
+
export declare const llmPair: (_agent?: LLMAgent, _model?: string) => {
|
|
5
|
+
agent: string;
|
|
6
|
+
model: string;
|
|
7
|
+
max_tokens: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const chunkArray: <T>(array: T[], size?: number) => T[][];
|
|
10
|
+
export declare const isHttp: (fileOrUrl: string) => boolean;
|
|
11
|
+
export declare const text2hash: (input: string) => string;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as crypto from "crypto";
|
|
2
|
+
export const llmAgents = ["openAIAgent", "anthropicAgent", "geminiAgent", "groqAgent"];
|
|
3
|
+
const defaultModels = {
|
|
4
|
+
anthropicAgent: "claude-3-7-sonnet-20250219",
|
|
5
|
+
geminiAgent: "gemini-1.5-flash",
|
|
6
|
+
groqAgent: "llama3-8b-8192",
|
|
7
|
+
openAIAgent: "gpt-4o",
|
|
8
|
+
};
|
|
9
|
+
const longMaxTokens = {
|
|
10
|
+
anthropicAgent: 8192,
|
|
11
|
+
geminiAgent: 8192,
|
|
12
|
+
groqAgent: 4096,
|
|
13
|
+
openAIAgent: 8192,
|
|
14
|
+
};
|
|
15
|
+
export const defaultOpenAIModel = defaultModels["openAIAgent"];
|
|
16
|
+
export const llmPair = (_agent, _model) => {
|
|
17
|
+
const agent = _agent && llmAgents.includes(_agent ?? "") ? _agent : "openAIAgent";
|
|
18
|
+
const model = _model ?? defaultModels[agent ?? ""];
|
|
19
|
+
const max_tokens = longMaxTokens[agent];
|
|
20
|
+
return { agent, model, max_tokens };
|
|
21
|
+
};
|
|
22
|
+
export const chunkArray = (array, size = 3) => {
|
|
23
|
+
const chunks = [];
|
|
24
|
+
const copy = [...array];
|
|
25
|
+
while (copy.length)
|
|
26
|
+
chunks.push(copy.splice(0, size));
|
|
27
|
+
return chunks;
|
|
28
|
+
};
|
|
29
|
+
export const isHttp = (fileOrUrl) => {
|
|
30
|
+
return /^https?:\/\//.test(fileOrUrl);
|
|
31
|
+
};
|
|
32
|
+
export const text2hash = (input) => {
|
|
33
|
+
return crypto.createHash("sha256").update(input).digest("hex");
|
|
34
|
+
};
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mulmocast",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "lib/cli/
|
|
6
|
+
"main": "lib/cli/run.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"mulmo": "lib/cli/
|
|
8
|
+
"mulmo": "lib/cli/run.js",
|
|
9
9
|
"mulmo-tool": "lib/cli/tool-cli.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"./assets/audio/silent300.mp3",
|
|
15
15
|
"./assets/audio/silent800.mp3",
|
|
16
16
|
"./assets/html/",
|
|
17
|
+
"./assets/font/",
|
|
17
18
|
"./assets/templates/"
|
|
18
19
|
],
|
|
19
20
|
"types": "./lib/types/index.d.ts",
|
|
@@ -22,22 +23,22 @@
|
|
|
22
23
|
"test": "tests"
|
|
23
24
|
},
|
|
24
25
|
"scripts": {
|
|
25
|
-
"audio": "npx tsx ./src/cli/
|
|
26
|
-
"translate": "npx tsx ./src/cli/
|
|
27
|
-
"movie": "npx tsx ./src/cli/
|
|
28
|
-
"images": "npx tsx ./src/cli/
|
|
29
|
-
"preprocess": "npx tsx ./src/cli/
|
|
26
|
+
"audio": "npx tsx ./src/cli/run.ts audio",
|
|
27
|
+
"translate": "npx tsx ./src/cli/run.ts translate",
|
|
28
|
+
"movie": "npx tsx ./src/cli/run.ts movie",
|
|
29
|
+
"images": "npx tsx ./src/cli/run.ts images",
|
|
30
|
+
"preprocess": "npx tsx ./src/cli/run.ts preprocess",
|
|
30
31
|
"test": "rm -f scratchpad/test*.* && npx tsx ./src/audio.ts scripts/test/test.json && npx tsx ./src/images.ts scripts/test/test.json && npx tsx ./src/movie.ts scripts/test/test.json",
|
|
31
|
-
"ci_test": "
|
|
32
|
+
"ci_test": "tsx --test ./test/*/test_*.ts",
|
|
32
33
|
"lint": "eslint src test",
|
|
33
34
|
"build": "tsc",
|
|
34
35
|
"build_test": "tsc && git checkout -- lib/*",
|
|
35
36
|
"prompt": "npx tsx ./src/tools/prompt.ts",
|
|
36
|
-
"cli": "npx tsx ./src/cli/
|
|
37
|
+
"cli": "npx tsx ./src/cli/run.ts",
|
|
37
38
|
"scripting": "npx tsx ./src/cli/tool-cli.ts scripting",
|
|
38
39
|
"dump_prompt": "npx tsx ./src/cli/tool-cli.ts prompt",
|
|
39
40
|
"latest": "yarn upgrade-interactive --latest",
|
|
40
|
-
"format": "prettier --write '{src,scripts,assets/templates,draft,ideason,scripts_mag2,proto,test,graphai,output}/**/*.{ts,json}'"
|
|
41
|
+
"format": "prettier --write '{src,scripts,assets/templates,draft,ideason,scripts_mag2,proto,test,graphai,output,docs/scripts}/**/*.{ts,json,yaml}'"
|
|
41
42
|
},
|
|
42
43
|
"repository": "git+ssh://git@github.com/receptron/mulmocast-cli.git",
|
|
43
44
|
"author": "snakajima",
|
|
@@ -47,21 +48,28 @@
|
|
|
47
48
|
},
|
|
48
49
|
"homepage": "https://github.com/receptron/mulmocast-cli#readme",
|
|
49
50
|
"dependencies": {
|
|
51
|
+
"@graphai/agent_filters": "^1.0.1",
|
|
52
|
+
"@graphai/anthropic_agent": "^2.0.0",
|
|
50
53
|
"@graphai/browserless_agent": "^2.0.0",
|
|
54
|
+
"@graphai/gemini_agent": "^1.0.1",
|
|
55
|
+
"@graphai/groq_agent": "^1.0.1",
|
|
51
56
|
"@graphai/input_agents": "^1.0.1",
|
|
52
57
|
"@graphai/openai_agent": "^1.0.5",
|
|
53
58
|
"@graphai/vanilla": "^2.0.1",
|
|
54
59
|
"@graphai/vanilla_node_agents": "^2.0.0",
|
|
60
|
+
"@pdf-lib/fontkit": "^1.1.1",
|
|
55
61
|
"@types/fluent-ffmpeg": "^2.1.26",
|
|
56
62
|
"canvas": "^3.1.0",
|
|
57
63
|
"dotenv": "^16.4.7",
|
|
58
64
|
"fluent-ffmpeg": "^2.1.3",
|
|
59
65
|
"google-auth-library": "^9.15.1",
|
|
60
|
-
"graphai": "^1.0.
|
|
66
|
+
"graphai": "^1.0.13",
|
|
61
67
|
"inquirer": "^12.6.0",
|
|
62
68
|
"marked": "^15.0.11",
|
|
63
69
|
"ora": "^8.2.0",
|
|
70
|
+
"pdf-lib": "^1.17.1",
|
|
64
71
|
"puppeteer": "^24.8.1",
|
|
72
|
+
"yaml": "^2.7.1",
|
|
65
73
|
"yargs": "^17.7.2",
|
|
66
74
|
"zod": "^3.24.4",
|
|
67
75
|
"zod-to-json-schema": "^3.24.5"
|
|
@@ -74,6 +82,7 @@
|
|
|
74
82
|
"eslint-plugin-prettier": "^5.4.0",
|
|
75
83
|
"prettier": "^3.3.3",
|
|
76
84
|
"ts-node": "^10.9.2",
|
|
85
|
+
"tsx": "^4.19.4",
|
|
77
86
|
"typescript": "^5.7.3",
|
|
78
87
|
"typescript-eslint": "^8.32.0"
|
|
79
88
|
},
|
package/lib/tools/seed.d.ts
DELETED