mulmocast 2.1.32 → 2.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli/bin.d.ts +1 -1
- package/lib/cli/bin.js +2 -59
- package/lib/cli/main.d.ts +5 -0
- package/lib/cli/main.js +63 -0
- package/lib/index.node.d.ts +1 -0
- package/lib/index.node.js +2 -0
- package/lib/types/schema.js +1 -1
- package/package.json +6 -7
- package/scripts/test/README.md +1 -1
- package/scripts/test/test_azure.json +26 -0
package/lib/cli/bin.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export
|
|
2
|
+
export {};
|
package/lib/cli/bin.js
CHANGED
|
@@ -1,64 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
import yargs from "yargs/yargs";
|
|
4
|
-
import { hideBin } from "yargs/helpers";
|
|
5
|
-
import { readFileSync } from "fs";
|
|
6
|
-
import { fileURLToPath } from "url";
|
|
7
|
-
import { dirname, join } from "path";
|
|
8
|
-
import * as translateCmd from "./commands/translate/index.js";
|
|
9
|
-
import * as audioCmd from "./commands/audio/index.js";
|
|
10
|
-
import * as imagesCmd from "./commands/image/index.js";
|
|
11
|
-
import * as movieCmd from "./commands/movie/index.js";
|
|
12
|
-
import * as pdfCmd from "./commands/pdf/index.js";
|
|
13
|
-
import * as markdownCmd from "./commands/markdown/index.js";
|
|
14
|
-
import * as bundleCmd from "./commands/bundle/index.js";
|
|
15
|
-
import * as htmlCmd from "./commands/html/index.js";
|
|
16
|
-
import * as toolCmd from "./commands/tool/index.js";
|
|
2
|
+
import { cliMain } from "./main.js";
|
|
17
3
|
import { GraphAILogger } from "graphai";
|
|
18
|
-
|
|
19
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
20
|
-
const __dirname = dirname(__filename);
|
|
21
|
-
const packageJson = JSON.parse(readFileSync(join(__dirname, "../../package.json"), "utf8"));
|
|
22
|
-
export const main = async () => {
|
|
23
|
-
const cli = yargs(hideBin(process.argv))
|
|
24
|
-
.scriptName("mulmo")
|
|
25
|
-
.version(packageJson.version)
|
|
26
|
-
.usage("$0 <command> [options]")
|
|
27
|
-
.option("v", {
|
|
28
|
-
alias: "verbose",
|
|
29
|
-
describe: "verbose log",
|
|
30
|
-
demandOption: true,
|
|
31
|
-
default: false,
|
|
32
|
-
type: "boolean",
|
|
33
|
-
})
|
|
34
|
-
.command(translateCmd)
|
|
35
|
-
.command(audioCmd)
|
|
36
|
-
.command(imagesCmd)
|
|
37
|
-
.command(movieCmd)
|
|
38
|
-
.command(pdfCmd)
|
|
39
|
-
.command(markdownCmd)
|
|
40
|
-
.command(bundleCmd)
|
|
41
|
-
.command(htmlCmd)
|
|
42
|
-
.command(toolCmd)
|
|
43
|
-
.demandCommand()
|
|
44
|
-
.strict()
|
|
45
|
-
.help()
|
|
46
|
-
.showHelpOnFail(false)
|
|
47
|
-
.fail((msg, err, y) => {
|
|
48
|
-
// if yargs detect error, show help and exit
|
|
49
|
-
if (msg) {
|
|
50
|
-
y.showHelp();
|
|
51
|
-
GraphAILogger.info("\\n" + msg);
|
|
52
|
-
process.exit(1);
|
|
53
|
-
}
|
|
54
|
-
if (err) {
|
|
55
|
-
throw err;
|
|
56
|
-
}
|
|
57
|
-
})
|
|
58
|
-
.alias("help", "h");
|
|
59
|
-
await cli.parseAsync();
|
|
60
|
-
};
|
|
61
|
-
main().catch((error) => {
|
|
4
|
+
cliMain().catch((error) => {
|
|
62
5
|
GraphAILogger.info("An unexpected error occurred:", error);
|
|
63
6
|
process.exit(1);
|
|
64
7
|
});
|
package/lib/cli/main.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import dotenv from "dotenv";
|
|
2
|
+
import yargs from "yargs/yargs";
|
|
3
|
+
import { hideBin } from "yargs/helpers";
|
|
4
|
+
import { readFileSync } from "fs";
|
|
5
|
+
import { fileURLToPath } from "url";
|
|
6
|
+
import { dirname, join } from "path";
|
|
7
|
+
import * as translateCmd from "./commands/translate/index.js";
|
|
8
|
+
import * as audioCmd from "./commands/audio/index.js";
|
|
9
|
+
import * as imagesCmd from "./commands/image/index.js";
|
|
10
|
+
import * as movieCmd from "./commands/movie/index.js";
|
|
11
|
+
import * as pdfCmd from "./commands/pdf/index.js";
|
|
12
|
+
import * as markdownCmd from "./commands/markdown/index.js";
|
|
13
|
+
import * as bundleCmd from "./commands/bundle/index.js";
|
|
14
|
+
import * as htmlCmd from "./commands/html/index.js";
|
|
15
|
+
import * as toolCmd from "./commands/tool/index.js";
|
|
16
|
+
import { GraphAILogger } from "graphai";
|
|
17
|
+
dotenv.config({ quiet: true });
|
|
18
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
19
|
+
const __dirname = dirname(__filename);
|
|
20
|
+
const packageJson = JSON.parse(readFileSync(join(__dirname, "../../package.json"), "utf8"));
|
|
21
|
+
/**
|
|
22
|
+
* CLI main function for programmatic usage.
|
|
23
|
+
* This function only defines the CLI, it does not execute automatically.
|
|
24
|
+
*/
|
|
25
|
+
export const cliMain = async () => {
|
|
26
|
+
const cli = yargs(hideBin(process.argv))
|
|
27
|
+
.scriptName("mulmo")
|
|
28
|
+
.version(packageJson.version)
|
|
29
|
+
.usage("$0 <command> [options]")
|
|
30
|
+
.option("v", {
|
|
31
|
+
alias: "verbose",
|
|
32
|
+
describe: "verbose log",
|
|
33
|
+
demandOption: true,
|
|
34
|
+
default: false,
|
|
35
|
+
type: "boolean",
|
|
36
|
+
})
|
|
37
|
+
.command(translateCmd)
|
|
38
|
+
.command(audioCmd)
|
|
39
|
+
.command(imagesCmd)
|
|
40
|
+
.command(movieCmd)
|
|
41
|
+
.command(pdfCmd)
|
|
42
|
+
.command(markdownCmd)
|
|
43
|
+
.command(bundleCmd)
|
|
44
|
+
.command(htmlCmd)
|
|
45
|
+
.command(toolCmd)
|
|
46
|
+
.demandCommand()
|
|
47
|
+
.strict()
|
|
48
|
+
.help()
|
|
49
|
+
.showHelpOnFail(false)
|
|
50
|
+
.fail((msg, err, y) => {
|
|
51
|
+
// if yargs detect error, show help and exit
|
|
52
|
+
if (msg) {
|
|
53
|
+
y.showHelp();
|
|
54
|
+
GraphAILogger.info("\n" + msg);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
if (err) {
|
|
58
|
+
throw err;
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
.alias("help", "h");
|
|
62
|
+
await cli.parseAsync();
|
|
63
|
+
};
|
package/lib/index.node.d.ts
CHANGED
package/lib/index.node.js
CHANGED
package/lib/types/schema.js
CHANGED
|
@@ -21,7 +21,7 @@ export const localizedTextSchema = z
|
|
|
21
21
|
export const multiLingualTextsSchema = z.record(langSchema, localizedTextSchema);
|
|
22
22
|
export const speechOptionsSchema = z
|
|
23
23
|
.object({
|
|
24
|
-
speed: z.number().optional(), // default: 1.0 for google
|
|
24
|
+
speed: z.number().optional(), // default: 1.0 for google, elevenlabs
|
|
25
25
|
instruction: z.string().optional(), // for tts openai
|
|
26
26
|
decoration: z.string().optional(), // for kotodama. default: neutral
|
|
27
27
|
stability: z.number().optional(), // for elevenLabs
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mulmocast",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.34",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.node.js",
|
|
@@ -62,7 +62,6 @@
|
|
|
62
62
|
"template": "npx tsx batch/template2tsobject.ts && yarn run format",
|
|
63
63
|
"mcp_server": "npx tsx ./src/mcp/server.ts",
|
|
64
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",
|
|
66
65
|
"generate_action_docs": "npx tsx ./automation/generate_actions_docs/generate_action_docs.ts"
|
|
67
66
|
},
|
|
68
67
|
"repository": {
|
|
@@ -77,7 +76,7 @@
|
|
|
77
76
|
"homepage": "https://github.com/receptron/mulmocast-cli#readme",
|
|
78
77
|
"dependencies": {
|
|
79
78
|
"@google-cloud/text-to-speech": "^6.4.0",
|
|
80
|
-
"@google/genai": "^1.
|
|
79
|
+
"@google/genai": "^1.39.0",
|
|
81
80
|
"@graphai/anthropic_agent": "^2.0.12",
|
|
82
81
|
"@graphai/browserless_agent": "^2.0.1",
|
|
83
82
|
"@graphai/gemini_agent": "^2.0.5",
|
|
@@ -89,18 +88,18 @@
|
|
|
89
88
|
"@graphai/vanilla_node_agents": "^2.0.4",
|
|
90
89
|
"@inquirer/input": "^5.0.4",
|
|
91
90
|
"@inquirer/select": "^5.0.4",
|
|
92
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
91
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
93
92
|
"@mozilla/readability": "^0.6.0",
|
|
94
93
|
"@tavily/core": "^0.5.11",
|
|
95
94
|
"archiver": "^7.0.1",
|
|
96
|
-
"clipboardy": "^5.1
|
|
95
|
+
"clipboardy": "^5.2.1",
|
|
97
96
|
"dotenv": "^17.2.3",
|
|
98
97
|
"fluent-ffmpeg": "^2.1.3",
|
|
99
98
|
"graphai": "^2.0.16",
|
|
100
|
-
"jsdom": "^
|
|
99
|
+
"jsdom": "^28.0.0",
|
|
101
100
|
"marked": "^17.0.1",
|
|
102
101
|
"mulmocast-vision": "^1.0.8",
|
|
103
|
-
"ora": "^9.
|
|
102
|
+
"ora": "^9.2.0",
|
|
104
103
|
"puppeteer": "^24.36.1",
|
|
105
104
|
"replicate": "^1.4.0",
|
|
106
105
|
"yaml": "^2.8.2",
|
package/scripts/test/README.md
CHANGED
|
@@ -23,7 +23,7 @@ Simple test scripts for basic functionality verification
|
|
|
23
23
|
|
|
24
24
|
Tests for various TTS providers
|
|
25
25
|
|
|
26
|
-
- [**test_all_tts.json**](./test_all_tts.json) - 全TTSプロバイダーのテスト(OpenAI, Gemini, Google, ElevenLabs
|
|
26
|
+
- [**test_all_tts.json**](./test_all_tts.json) - 全TTSプロバイダーのテスト(OpenAI, Gemini, Google, ElevenLabs) / All TTS providers test
|
|
27
27
|
- [**test_audio.json**](./test_audio.json) - 音声パラメータのテスト(padding, duration, movieVolumeなど) / Audio parameters test
|
|
28
28
|
- [**test_audio_gemini.json**](./test_audio_gemini.json) - Gemini TTSの個別テスト / Gemini TTS specific test
|
|
29
29
|
- [**test_audio_instructions.json**](./test_audio_instructions.json) - OpenAI TTS instructionsのテスト / OpenAI TTS instructions test
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"lang": "en",
|
|
6
|
+
"title": "Test Azure OpenAI (TTS + Images)",
|
|
7
|
+
"speechParams": {
|
|
8
|
+
"speakers": {
|
|
9
|
+
"Presenter": {
|
|
10
|
+
"provider": "openai",
|
|
11
|
+
"voiceId": "alloy",
|
|
12
|
+
"model": "tts"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"imageParams": {
|
|
17
|
+
"provider": "openai",
|
|
18
|
+
"model": "gpt-image-1.5"
|
|
19
|
+
},
|
|
20
|
+
"beats": [
|
|
21
|
+
{
|
|
22
|
+
"text": "Hello, this is a test of Azure OpenAI text to speech.",
|
|
23
|
+
"imagePrompt": "A beautiful sunset over mountains, photorealistic style"
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|