@hugo.bastidas/minimax-plugin 0.1.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.
- package/.claude-plugin/plugin.json +13 -0
- package/.mcp.json +3 -0
- package/AGENTS.md +37 -0
- package/README.md +263 -0
- package/codex-plugin.toml +3 -0
- package/dist/artifacts/metadata.d.ts +3 -0
- package/dist/artifacts/metadata.d.ts.map +1 -0
- package/dist/artifacts/metadata.js +8 -0
- package/dist/artifacts/metadata.js.map +1 -0
- package/dist/artifacts/runs.d.ts +27 -0
- package/dist/artifacts/runs.d.ts.map +1 -0
- package/dist/artifacts/runs.js +43 -0
- package/dist/artifacts/runs.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +31 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/anthropic.d.ts +3 -0
- package/dist/client/anthropic.d.ts.map +1 -0
- package/dist/client/anthropic.js +31 -0
- package/dist/client/anthropic.js.map +1 -0
- package/dist/client/minimax.d.ts +19 -0
- package/dist/client/minimax.d.ts.map +1 -0
- package/dist/client/minimax.js +16 -0
- package/dist/client/minimax.js.map +1 -0
- package/dist/client/openai.d.ts +3 -0
- package/dist/client/openai.d.ts.map +1 -0
- package/dist/client/openai.js +28 -0
- package/dist/client/openai.js.map +1 -0
- package/dist/config.d.ts +14 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +34 -0
- package/dist/config.js.map +1 -0
- package/dist/hooks/claude-routing-reminder.d.ts +2 -0
- package/dist/hooks/claude-routing-reminder.d.ts.map +1 -0
- package/dist/hooks/claude-routing-reminder.js +12 -0
- package/dist/hooks/claude-routing-reminder.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/install/claude-config.d.ts +15 -0
- package/dist/install/claude-config.d.ts.map +1 -0
- package/dist/install/claude-config.js +130 -0
- package/dist/install/claude-config.js.map +1 -0
- package/dist/install/codex-config.d.ts +11 -0
- package/dist/install/codex-config.d.ts.map +1 -0
- package/dist/install/codex-config.js +83 -0
- package/dist/install/codex-config.js.map +1 -0
- package/dist/install/global-instructions.d.ts +9 -0
- package/dist/install/global-instructions.d.ts.map +1 -0
- package/dist/install/global-instructions.js +90 -0
- package/dist/install/global-instructions.js.map +1 -0
- package/dist/install/index.d.ts +6 -0
- package/dist/install/index.d.ts.map +1 -0
- package/dist/install/index.js +6 -0
- package/dist/install/index.js.map +1 -0
- package/dist/install/native-multimodal-config.d.ts +4 -0
- package/dist/install/native-multimodal-config.d.ts.map +1 -0
- package/dist/install/native-multimodal-config.js +50 -0
- package/dist/install/native-multimodal-config.js.map +1 -0
- package/dist/install/opencode-config.d.ts +13 -0
- package/dist/install/opencode-config.d.ts.map +1 -0
- package/dist/install/opencode-config.js +65 -0
- package/dist/install/opencode-config.js.map +1 -0
- package/dist/install/shell-alias.d.ts +9 -0
- package/dist/install/shell-alias.d.ts.map +1 -0
- package/dist/install/shell-alias.js +86 -0
- package/dist/install/shell-alias.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +125 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/ask.d.ts +18 -0
- package/dist/tools/ask.d.ts.map +1 -0
- package/dist/tools/ask.js +18 -0
- package/dist/tools/ask.js.map +1 -0
- package/dist/tools/delegate.d.ts +15 -0
- package/dist/tools/delegate.d.ts.map +1 -0
- package/dist/tools/delegate.js +31 -0
- package/dist/tools/delegate.js.map +1 -0
- package/dist/tools/inspect-run.d.ts +10 -0
- package/dist/tools/inspect-run.d.ts.map +1 -0
- package/dist/tools/inspect-run.js +23 -0
- package/dist/tools/inspect-run.js.map +1 -0
- package/dist/tools/mmx-cli.d.ts +92 -0
- package/dist/tools/mmx-cli.d.ts.map +1 -0
- package/dist/tools/mmx-cli.js +211 -0
- package/dist/tools/mmx-cli.js.map +1 -0
- package/dist/tools/model-status.d.ts +8 -0
- package/dist/tools/model-status.d.ts.map +1 -0
- package/dist/tools/model-status.js +28 -0
- package/dist/tools/model-status.js.map +1 -0
- package/dist/tools/propose-patch.d.ts +14 -0
- package/dist/tools/propose-patch.d.ts.map +1 -0
- package/dist/tools/propose-patch.js +26 -0
- package/dist/tools/propose-patch.js.map +1 -0
- package/dist/tools/review-diff.d.ts +14 -0
- package/dist/tools/review-diff.d.ts.map +1 -0
- package/dist/tools/review-diff.js +52 -0
- package/dist/tools/review-diff.js.map +1 -0
- package/dist/tools/summarize.d.ts +13 -0
- package/dist/tools/summarize.d.ts.map +1 -0
- package/dist/tools/summarize.js +28 -0
- package/dist/tools/summarize.js.map +1 -0
- package/dist/usage/stats.d.ts +34 -0
- package/dist/usage/stats.d.ts.map +1 -0
- package/dist/usage/stats.js +201 -0
- package/dist/usage/stats.js.map +1 -0
- package/dist/usage/tool-usage.d.ts +11 -0
- package/dist/usage/tool-usage.d.ts.map +1 -0
- package/dist/usage/tool-usage.js +24 -0
- package/dist/usage/tool-usage.js.map +1 -0
- package/dist/validation/limits.d.ts +8 -0
- package/dist/validation/limits.d.ts.map +1 -0
- package/dist/validation/limits.js +8 -0
- package/dist/validation/limits.js.map +1 -0
- package/dist/validation/patch.d.ts +7 -0
- package/dist/validation/patch.d.ts.map +1 -0
- package/dist/validation/patch.js +20 -0
- package/dist/validation/patch.js.map +1 -0
- package/dist/workspace/collect-files.d.ts +19 -0
- package/dist/workspace/collect-files.d.ts.map +1 -0
- package/dist/workspace/collect-files.js +60 -0
- package/dist/workspace/collect-files.js.map +1 -0
- package/dist/workspace/ignore.d.ts +3 -0
- package/dist/workspace/ignore.d.ts.map +1 -0
- package/dist/workspace/ignore.js +13 -0
- package/dist/workspace/ignore.js.map +1 -0
- package/dist/workspace/paths.d.ts +3 -0
- package/dist/workspace/paths.d.ts.map +1 -0
- package/dist/workspace/paths.js +18 -0
- package/dist/workspace/paths.js.map +1 -0
- package/dist/workspace/secrets.d.ts +4 -0
- package/dist/workspace/secrets.d.ts.map +1 -0
- package/dist/workspace/secrets.js +32 -0
- package/dist/workspace/secrets.js.map +1 -0
- package/package.json +64 -0
- package/scripts/claude-config.mjs +3 -0
- package/scripts/codex-config.mjs +3 -0
- package/scripts/install.mjs +548 -0
- package/scripts/opencode-config.mjs +3 -0
- package/skills/minimax-delegation/SKILL.md +24 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname } from 'node:path';
|
|
3
|
+
import { removeGlobalInstructions, writeGlobalInstructions } from './global-instructions.js';
|
|
4
|
+
export async function readJsoncOrJson(filePath) {
|
|
5
|
+
const text = await readFile(filePath, 'utf8');
|
|
6
|
+
try {
|
|
7
|
+
return JSON.parse(text);
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
const stripped = text.replace(/\/\/.*$/gm, '').replace(/\/\*[\s\S]*?\*\//g, '');
|
|
11
|
+
return JSON.parse(stripped);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export async function writeJsonFile(filePath, data) {
|
|
15
|
+
await mkdir(dirname(filePath), { recursive: true });
|
|
16
|
+
await writeFile(filePath, JSON.stringify(data, null, 2) + '\n', 'utf8');
|
|
17
|
+
}
|
|
18
|
+
export async function writeOpenCodeConfig(configPath, server) {
|
|
19
|
+
let config;
|
|
20
|
+
try {
|
|
21
|
+
config = (await readJsoncOrJson(configPath));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
config = {};
|
|
25
|
+
}
|
|
26
|
+
const mcp = (config.mcp ?? {});
|
|
27
|
+
mcp.minimax = {
|
|
28
|
+
type: 'local',
|
|
29
|
+
command: [server.command, ...server.args],
|
|
30
|
+
enabled: true,
|
|
31
|
+
environment: server.env,
|
|
32
|
+
};
|
|
33
|
+
config.mcp = mcp;
|
|
34
|
+
await writeJsonFile(configPath, config);
|
|
35
|
+
}
|
|
36
|
+
export async function readOpenCodeMiniMaxEnv(configPath) {
|
|
37
|
+
try {
|
|
38
|
+
const config = (await readJsoncOrJson(configPath));
|
|
39
|
+
const mcp = config.mcp;
|
|
40
|
+
const minimax = mcp?.minimax;
|
|
41
|
+
const environment = minimax?.environment;
|
|
42
|
+
if (!environment || typeof environment !== 'object')
|
|
43
|
+
return {};
|
|
44
|
+
return Object.fromEntries(Object.entries(environment)
|
|
45
|
+
.filter(([, value]) => typeof value === 'string')
|
|
46
|
+
.map(([key, value]) => [key, value]));
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return {};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export async function removeOpenCodeConfig(configPath) {
|
|
53
|
+
const config = (await readJsoncOrJson(configPath));
|
|
54
|
+
const mcp = (config.mcp ?? {});
|
|
55
|
+
delete mcp.minimax;
|
|
56
|
+
config.mcp = mcp;
|
|
57
|
+
await writeJsonFile(configPath, config);
|
|
58
|
+
}
|
|
59
|
+
export async function writeOpenCodeGlobalInstructions(filePath) {
|
|
60
|
+
await writeGlobalInstructions(filePath);
|
|
61
|
+
}
|
|
62
|
+
export async function removeOpenCodeGlobalInstructions(filePath) {
|
|
63
|
+
await removeGlobalInstructions(filePath);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=opencode-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-config.js","sourceRoot":"","sources":["../../src/install/opencode-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const SHELL_ALIAS_START = "# >>> minimax-alias >>>";
|
|
2
|
+
export declare const SHELL_ALIAS_END = "# <<< minimax-alias <<<";
|
|
3
|
+
export declare const DEFAULT_ALIAS_NAME = "cc-mini";
|
|
4
|
+
export declare function shellRcPath(): string;
|
|
5
|
+
export declare function writeShellAlias(apiKey: string, model: string, aliasName?: string): Promise<void>;
|
|
6
|
+
export declare function removeShellAlias(): Promise<void>;
|
|
7
|
+
export declare function isShellAliasInstalled(): boolean;
|
|
8
|
+
export declare function isLegacyAliasInstalled(): boolean;
|
|
9
|
+
//# sourceMappingURL=shell-alias.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-alias.d.ts","sourceRoot":"","sources":["../../src/install/shell-alias.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,4BAA4B,CAAC;AAKzD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAM5C,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAsCD,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1H;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAOtD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAO/C;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAMhD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { readFile, writeFile, chmod } from 'node:fs/promises';
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
export const SHELL_ALIAS_START = '# >>> minimax-alias >>>';
|
|
6
|
+
export const SHELL_ALIAS_END = '# <<< minimax-alias <<<';
|
|
7
|
+
const LEGACY_ALIAS_START = '# >>> claude-minimax >>>';
|
|
8
|
+
const LEGACY_ALIAS_END = '# <<< claude-minimax <<<';
|
|
9
|
+
export const DEFAULT_ALIAS_NAME = 'cc-mini';
|
|
10
|
+
function escapeRegExp(str) {
|
|
11
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
12
|
+
}
|
|
13
|
+
export function shellRcPath() {
|
|
14
|
+
return join(homedir(), '.zshrc');
|
|
15
|
+
}
|
|
16
|
+
function shellQuote(value) {
|
|
17
|
+
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
18
|
+
}
|
|
19
|
+
function generateAliasBlock(apiKey, model, aliasName = DEFAULT_ALIAS_NAME) {
|
|
20
|
+
return [
|
|
21
|
+
SHELL_ALIAS_START,
|
|
22
|
+
`${aliasName}() {`,
|
|
23
|
+
` ANTHROPIC_BASE_URL='https://api.minimax.io/anthropic' \\`,
|
|
24
|
+
` ANTHROPIC_AUTH_TOKEN=${shellQuote(apiKey)} \\`,
|
|
25
|
+
` ANTHROPIC_MODEL=${shellQuote(model)} \\`,
|
|
26
|
+
` ANTHROPIC_DEFAULT_SONNET_MODEL=${shellQuote(model)} \\`,
|
|
27
|
+
` ANTHROPIC_DEFAULT_OPUS_MODEL=${shellQuote(model)} \\`,
|
|
28
|
+
` ANTHROPIC_DEFAULT_HAIKU_MODEL=${shellQuote(model)} \\`,
|
|
29
|
+
` API_TIMEOUT_MS=3000000 \\`,
|
|
30
|
+
` CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \\`,
|
|
31
|
+
` claude --dangerously-skip-permissions "$@"`,
|
|
32
|
+
'}',
|
|
33
|
+
SHELL_ALIAS_END,
|
|
34
|
+
].join('\n');
|
|
35
|
+
}
|
|
36
|
+
function stripManagedAlias(content) {
|
|
37
|
+
return content
|
|
38
|
+
.replace(new RegExp(`${escapeRegExp(SHELL_ALIAS_START)}[\\s\\S]*?${escapeRegExp(SHELL_ALIAS_END)}`, 'g'), '')
|
|
39
|
+
.replace(new RegExp(`${escapeRegExp(LEGACY_ALIAS_START)}[\\s\\S]*?${escapeRegExp(LEGACY_ALIAS_END)}`, 'g'), '')
|
|
40
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
41
|
+
.trim();
|
|
42
|
+
}
|
|
43
|
+
export async function writeShellAlias(apiKey, model, aliasName = DEFAULT_ALIAS_NAME) {
|
|
44
|
+
const rcPath = shellRcPath();
|
|
45
|
+
let existing = '';
|
|
46
|
+
try {
|
|
47
|
+
existing = await readFile(rcPath, 'utf8');
|
|
48
|
+
}
|
|
49
|
+
catch { /* new file */ }
|
|
50
|
+
const stripped = stripManagedAlias(existing);
|
|
51
|
+
const block = generateAliasBlock(apiKey, model, aliasName);
|
|
52
|
+
const updated = stripped ? `${stripped}\n\n${block}\n` : `${block}\n`;
|
|
53
|
+
await writeFile(rcPath, updated, 'utf8');
|
|
54
|
+
await chmod(rcPath, 0o600);
|
|
55
|
+
}
|
|
56
|
+
export async function removeShellAlias() {
|
|
57
|
+
const rcPath = shellRcPath();
|
|
58
|
+
let existing = '';
|
|
59
|
+
try {
|
|
60
|
+
existing = await readFile(rcPath, 'utf8');
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const stripped = stripManagedAlias(existing);
|
|
66
|
+
await writeFile(rcPath, stripped ? `${stripped}\n` : '', 'utf8');
|
|
67
|
+
await chmod(rcPath, 0o600);
|
|
68
|
+
}
|
|
69
|
+
export function isShellAliasInstalled() {
|
|
70
|
+
try {
|
|
71
|
+
const content = readFileSync(shellRcPath(), 'utf8');
|
|
72
|
+
return content.includes(SHELL_ALIAS_START) || content.includes(LEGACY_ALIAS_START);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export function isLegacyAliasInstalled() {
|
|
79
|
+
try {
|
|
80
|
+
return readFileSync(shellRcPath(), 'utf8').includes(LEGACY_ALIAS_START);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=shell-alias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-alias.js","sourceRoot":"","sources":["../../src/install/shell-alias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAEzD,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AACtD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,KAAa,EAAE,YAAoB,kBAAkB;IAC/F,OAAO;QACL,iBAAiB;QACjB,GAAG,SAAS,MAAM;QAClB,4DAA4D;QAC5D,0BAA0B,UAAU,CAAC,MAAM,CAAC,KAAK;QACjD,qBAAqB,UAAU,CAAC,KAAK,CAAC,KAAK;QAC3C,oCAAoC,UAAU,CAAC,KAAK,CAAC,KAAK;QAC1D,kCAAkC,UAAU,CAAC,KAAK,CAAC,KAAK;QACxD,mCAAmC,UAAU,CAAC,KAAK,CAAC,KAAK;QACzD,6BAA6B;QAC7B,iDAAiD;QACjD,8CAA8C;QAC9C,GAAG;QACH,eAAe;KAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO;SACX,OAAO,CACN,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,iBAAiB,CAAC,aAAa,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EAC/F,EAAE,CACH;SACA,OAAO,CACN,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,kBAAkB,CAAC,aAAa,YAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,EACjG,EAAE,CACH;SACA,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,YAAoB,kBAAkB;IACzG,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;IACtE,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO;IAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const TOOL_NAMES: readonly ["ask_minimax", "delegate_task", "summarize_context", "review_diff", "propose_patch", "inspect_run", "model_status", "mmx_cli_status", "mmx_quota_show", "mmx_config_show", "mmx_text_chat", "mmx_speech_voices", "mmx_speech_synthesize", "mmx_image_generate", "mmx_music_generate", "mmx_music_cover", "mmx_search_query", "mmx_vision_describe", "mmx_file_list"];
|
|
2
|
+
export declare function startServer(): Promise<void>;
|
|
3
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,UAAU,gXAoBb,CAAC;AAEX,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA+IjD"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { loadConfigFromEnv } from './config.js';
|
|
5
|
+
import { askMiniMaxHandler } from './tools/ask.js';
|
|
6
|
+
import { delegateTaskHandler } from './tools/delegate.js';
|
|
7
|
+
import { summarizeContextHandler } from './tools/summarize.js';
|
|
8
|
+
import { reviewDiffHandler } from './tools/review-diff.js';
|
|
9
|
+
import { proposePatchHandler } from './tools/propose-patch.js';
|
|
10
|
+
import { inspectRunHandler } from './tools/inspect-run.js';
|
|
11
|
+
import { modelStatusHandler } from './tools/model-status.js';
|
|
12
|
+
import { callMiniMax } from './client/minimax.js';
|
|
13
|
+
import { mmxCliStatusHandler, mmxQuotaShowHandler, mmxConfigShowHandler, mmxTextChatHandler, mmxSpeechVoicesHandler, mmxSpeechSynthesizeHandler, mmxImageGenerateHandler, mmxMusicGenerateHandler, mmxMusicCoverHandler, mmxSearchQueryHandler, mmxVisionDescribeHandler, mmxFileListHandler, } from './tools/mmx-cli.js';
|
|
14
|
+
export const TOOL_NAMES = [
|
|
15
|
+
'ask_minimax',
|
|
16
|
+
'delegate_task',
|
|
17
|
+
'summarize_context',
|
|
18
|
+
'review_diff',
|
|
19
|
+
'propose_patch',
|
|
20
|
+
'inspect_run',
|
|
21
|
+
'model_status',
|
|
22
|
+
'mmx_cli_status',
|
|
23
|
+
'mmx_quota_show',
|
|
24
|
+
'mmx_config_show',
|
|
25
|
+
'mmx_text_chat',
|
|
26
|
+
'mmx_speech_voices',
|
|
27
|
+
'mmx_speech_synthesize',
|
|
28
|
+
'mmx_image_generate',
|
|
29
|
+
'mmx_music_generate',
|
|
30
|
+
'mmx_music_cover',
|
|
31
|
+
'mmx_search_query',
|
|
32
|
+
'mmx_vision_describe',
|
|
33
|
+
'mmx_file_list',
|
|
34
|
+
];
|
|
35
|
+
export async function startServer() {
|
|
36
|
+
const config = loadConfigFromEnv();
|
|
37
|
+
const server = new McpServer({
|
|
38
|
+
name: 'minimax-plugin',
|
|
39
|
+
version: '0.1.0',
|
|
40
|
+
});
|
|
41
|
+
const deps = { config, workspaceRoot: process.cwd(), callMiniMaxImpl: callMiniMax };
|
|
42
|
+
server.tool('ask_minimax', 'Ask MiniMax a question — use this for quick questions that do NOT require reading local files. PREFER this over spending your own context tokens on general knowledge questions. Modes: quick (default), deep, coding, review. Returns a compact answer.', {
|
|
43
|
+
prompt: z.string().describe('The question or prompt for MiniMax'),
|
|
44
|
+
mode: z.string().optional().describe('Response mode: quick, deep, coding, review'),
|
|
45
|
+
maxOutputTokens: z.number().optional().describe('Override max output tokens for this call'),
|
|
46
|
+
thinking: z.enum(['enabled', 'disabled']).optional().describe('Override MiniMax M3 thinking mode. Defaults to disabled for quick mode and enabled for deeper modes.'),
|
|
47
|
+
}, async (args) => {
|
|
48
|
+
const result = await askMiniMaxHandler(args, deps);
|
|
49
|
+
return { content: result.content };
|
|
50
|
+
});
|
|
51
|
+
server.tool('delegate_task', 'Delegate bounded implementation-worker tasks to MiniMax after you, the host agent, have already planned the work. Use only for mechanical implementation, docs updates, test scaffolds, migration boilerplate, or explicit refactor instructions. Do NOT use for planning, architecture, debugging, or final review. Full output is stored as a local artifact.', {
|
|
52
|
+
task: z.string().describe('The task description to delegate'),
|
|
53
|
+
paths: z.array(z.string()).describe('Workspace-relative paths to include'),
|
|
54
|
+
profile: z.string().describe('Worker profile: implementation, mechanical_refactor, docs_update, test_scaffold, migration_boilerplate'),
|
|
55
|
+
constraints: z.string().optional().describe('Additional constraints for the task'),
|
|
56
|
+
artifactMode: z.string().optional().describe('Artifact storage mode: summary_only, store_full, store_patch'),
|
|
57
|
+
}, async (args) => {
|
|
58
|
+
const result = await delegateTaskHandler(args, deps);
|
|
59
|
+
return { content: result.content };
|
|
60
|
+
});
|
|
61
|
+
server.tool('summarize_context', 'ALWAYS use this instead of reading 3+ files to understand a code area. Summarizes local files or directories and returns a compact summary — saving your context tokens. Use architecture style for overviews, risk for issues, onboarding for orientation, implementation_notes for details. Full output is stored as a local artifact you can inspect later if needed.', {
|
|
62
|
+
paths: z.array(z.string()).describe('Workspace-relative paths to summarize'),
|
|
63
|
+
question: z.string().optional().describe('Specific question to answer about the context'),
|
|
64
|
+
summaryStyle: z.string().optional().describe('Summary style: architecture, risk, onboarding, implementation_notes'),
|
|
65
|
+
}, async (args) => {
|
|
66
|
+
const result = await summarizeContextHandler(args, deps);
|
|
67
|
+
return { content: result.content };
|
|
68
|
+
});
|
|
69
|
+
server.tool('review_diff', 'Optional cheap second-opinion diff review. You remain the final reviewer. Use only to get an additional compact pass over large diffs; do not treat findings as authoritative. Full review is stored as a local artifact.', {
|
|
70
|
+
diff: z.string().optional().describe('The diff content to review'),
|
|
71
|
+
paths: z.array(z.string()).optional().describe('Workspace-relative paths for context'),
|
|
72
|
+
baseRef: z.string().optional().describe('Git base ref for diff generation'),
|
|
73
|
+
focus: z.string().optional().describe('Review focus: bugs, security, architecture, tests, style'),
|
|
74
|
+
}, async (args) => {
|
|
75
|
+
const result = await reviewDiffHandler(args, deps);
|
|
76
|
+
return { content: result.content };
|
|
77
|
+
});
|
|
78
|
+
server.tool('propose_patch', 'Use this instead of writing patches directly when the change scope is large or involves 3+ files. MiniMax proposes a patch based on local context — saving your context tokens. The patch is stored as a local artifact and does NOT write any files. ALWAYS review the proposed patch with inspect_run before applying.', {
|
|
79
|
+
task: z.string().describe('The task the patch should address'),
|
|
80
|
+
paths: z.array(z.string()).describe('Workspace-relative paths for context'),
|
|
81
|
+
constraints: z.string().optional().describe('Additional constraints'),
|
|
82
|
+
patchFormat: z.string().optional().describe('Patch format: unified_diff or json_operations'),
|
|
83
|
+
}, async (args) => {
|
|
84
|
+
const result = await proposePatchHandler(args, deps);
|
|
85
|
+
return { content: result.content };
|
|
86
|
+
});
|
|
87
|
+
server.tool('inspect_run', 'Inspect a previous MiniMax run. Returns metadata or the content of a specific artifact.', {
|
|
88
|
+
runId: z.string().describe('The run ID to inspect'),
|
|
89
|
+
artifact: z.string().optional().describe('Artifact name to retrieve'),
|
|
90
|
+
detail: z.string().optional().describe('Detail level: summary, metadata, full_artifact'),
|
|
91
|
+
}, async (args) => {
|
|
92
|
+
const result = await inspectRunHandler(args, { config });
|
|
93
|
+
return { content: result.content };
|
|
94
|
+
});
|
|
95
|
+
server.tool('model_status', 'Check MiniMax configuration and API connectivity.', {}, async () => {
|
|
96
|
+
const result = await modelStatusHandler({}, deps);
|
|
97
|
+
return { content: result.content };
|
|
98
|
+
});
|
|
99
|
+
const mmxDeps = { config, workspaceRoot: process.cwd() };
|
|
100
|
+
server.tool('mmx_cli_status', 'Check that the official MiniMax CLI (mmx) is installed and reachable.', { timeoutSeconds: z.number().optional() }, async (args) => ({ content: (await mmxCliStatusHandler(args, mmxDeps)).content }));
|
|
101
|
+
server.tool('mmx_quota_show', 'Run `mmx quota show` to inspect Token Plan quotas using the configured MiniMax API key.', { timeoutSeconds: z.number().optional() }, async (args) => ({ content: (await mmxQuotaShowHandler(args, mmxDeps)).content }));
|
|
102
|
+
server.tool('mmx_config_show', 'Run `mmx config show` to inspect CLI configuration without exposing secrets.', { timeoutSeconds: z.number().optional() }, async (args) => ({ content: (await mmxConfigShowHandler(args, mmxDeps)).content }));
|
|
103
|
+
server.tool('mmx_text_chat', 'Use the official mmx CLI for a MiniMax text chat completion.', {
|
|
104
|
+
message: z.string(), system: z.string().optional(), model: z.string().optional(), maxTokens: z.number().optional(), temperature: z.number().optional(), timeoutSeconds: z.number().optional(),
|
|
105
|
+
}, async (args) => ({ content: (await mmxTextChatHandler(args, mmxDeps)).content }));
|
|
106
|
+
server.tool('mmx_speech_voices', 'List available MiniMax speech voices through `mmx speech voices`.', { timeoutSeconds: z.number().optional() }, async (args) => ({ content: (await mmxSpeechVoicesHandler(args, mmxDeps)).content }));
|
|
107
|
+
server.tool('mmx_speech_synthesize', 'Generate speech through `mmx speech synthesize`. Output path must stay inside the workspace.', {
|
|
108
|
+
text: z.string(), out: z.string(), voice: z.string().optional(), model: z.string().optional(), format: z.string().optional(), sampleRate: z.number().optional(), bitrate: z.number().optional(), speed: z.number().optional(), language: z.string().optional(), timeoutSeconds: z.number().optional(),
|
|
109
|
+
}, async (args) => ({ content: (await mmxSpeechSynthesizeHandler(args, mmxDeps)).content }));
|
|
110
|
+
server.tool('mmx_image_generate', 'Generate images through `mmx image generate`. Output paths must stay inside the workspace. Use subjectRef (format: "type=character,image=path-or-url") for character consistency across images.', {
|
|
111
|
+
prompt: z.string(), out: z.string().optional(), outDir: z.string().optional(), aspectRatio: z.string().optional(), n: z.number().optional(), width: z.number().optional(), height: z.number().optional(), seed: z.number().optional(), promptOptimizer: z.boolean().optional(), responseFormat: z.string().optional(), subjectRef: z.string().optional(), timeoutSeconds: z.number().optional(),
|
|
112
|
+
}, async (args) => ({ content: (await mmxImageGenerateHandler(args, mmxDeps)).content }));
|
|
113
|
+
server.tool('mmx_music_generate', 'Generate music through `mmx music generate`. Output path must stay inside the workspace.', {
|
|
114
|
+
prompt: z.string(), out: z.string().optional(), lyrics: z.string().optional(), instrumental: z.boolean().optional(), lyricsOptimizer: z.boolean().optional(), model: z.string().optional(), format: z.string().optional(), sampleRate: z.number().optional(), bitrate: z.number().optional(), genre: z.string().optional(), mood: z.string().optional(), instruments: z.string().optional(), timeoutSeconds: z.number().optional(),
|
|
115
|
+
}, async (args) => ({ content: (await mmxMusicGenerateHandler(args, mmxDeps)).content }));
|
|
116
|
+
server.tool('mmx_music_cover', 'Generate a music cover through `mmx music cover` using a URL or workspace-local audio file.', {
|
|
117
|
+
prompt: z.string(), audio: z.string().optional(), audioFile: z.string().optional(), out: z.string().optional(), lyrics: z.string().optional(), model: z.string().optional(), format: z.string().optional(), timeoutSeconds: z.number().optional(),
|
|
118
|
+
}, async (args) => ({ content: (await mmxMusicCoverHandler(args, mmxDeps)).content }));
|
|
119
|
+
server.tool('mmx_search_query', 'Search the web through `mmx search query`.', { q: z.string(), timeoutSeconds: z.number().optional() }, async (args) => ({ content: (await mmxSearchQueryHandler(args, mmxDeps)).content }));
|
|
120
|
+
server.tool('mmx_vision_describe', 'Describe an image through `mmx vision describe` using a URL, file ID, or workspace-local image.', { image: z.string().optional(), fileId: z.string().optional(), prompt: z.string().optional(), timeoutSeconds: z.number().optional() }, async (args) => ({ content: (await mmxVisionDescribeHandler(args, mmxDeps)).content }));
|
|
121
|
+
server.tool('mmx_file_list', 'List files uploaded to MiniMax storage through `mmx file list`.', { timeoutSeconds: z.number().optional() }, async (args) => ({ content: (await mmxFileListHandler(args, mmxDeps)).content }));
|
|
122
|
+
const transport = new StdioServerTransport();
|
|
123
|
+
await server.connect(transport);
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { MiniMaxPluginConfig } from '../config.js';
|
|
2
|
+
import { callMiniMax } from '../client/minimax.js';
|
|
3
|
+
export interface TextToolResponse {
|
|
4
|
+
content: Array<{
|
|
5
|
+
type: 'text';
|
|
6
|
+
text: string;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
export declare function askMiniMaxHandler(input: {
|
|
10
|
+
prompt: string;
|
|
11
|
+
mode?: string;
|
|
12
|
+
maxOutputTokens?: number;
|
|
13
|
+
thinking?: 'enabled' | 'disabled';
|
|
14
|
+
}, deps: {
|
|
15
|
+
config: MiniMaxPluginConfig;
|
|
16
|
+
callMiniMaxImpl?: typeof callMiniMax;
|
|
17
|
+
}): Promise<TextToolResponse>;
|
|
18
|
+
//# sourceMappingURL=ask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,MAAM,WAAW,gBAAgB;IAAG,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE;AAEpF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;CAAE,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAcrP"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { callMiniMax } from '../client/minimax.js';
|
|
2
|
+
import { recordToolUsage } from '../usage/tool-usage.js';
|
|
3
|
+
export async function askMiniMaxHandler(input, deps) {
|
|
4
|
+
const call = deps.callMiniMaxImpl ?? callMiniMax;
|
|
5
|
+
const startedAt = Date.now();
|
|
6
|
+
const mode = input.mode ?? 'quick';
|
|
7
|
+
const thinking = input.thinking ?? (mode === 'quick' ? 'disabled' : 'enabled');
|
|
8
|
+
const result = await call({
|
|
9
|
+
config: deps.config,
|
|
10
|
+
system: `You are ${deps.config.model}. Answer compactly for mode=${mode}. Use validation-first reasoning for coding/review modes and say when a higher-tier host review is needed.`,
|
|
11
|
+
prompt: input.prompt,
|
|
12
|
+
maxOutputTokens: input.maxOutputTokens,
|
|
13
|
+
thinking,
|
|
14
|
+
});
|
|
15
|
+
await recordToolUsage({ tool: 'ask_minimax', config: deps.config, result, hostText: result.text, startedAt });
|
|
16
|
+
return { content: [{ type: 'text', text: result.text }] };
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=ask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/tools/ask.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAIzD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAqG,EAAE,IAA2E;IACxN,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,IAAI,WAAW,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,+BAA+B,IAAI,4GAA4G;QACnL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9G,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { callMiniMax } from '../client/minimax.js';
|
|
2
|
+
import type { MiniMaxPluginConfig } from '../config.js';
|
|
3
|
+
import type { TextToolResponse } from './ask.js';
|
|
4
|
+
export declare function delegateTaskHandler(input: {
|
|
5
|
+
task: string;
|
|
6
|
+
paths: string[];
|
|
7
|
+
profile: string;
|
|
8
|
+
constraints?: string;
|
|
9
|
+
artifactMode?: string;
|
|
10
|
+
}, deps: {
|
|
11
|
+
config: MiniMaxPluginConfig;
|
|
12
|
+
workspaceRoot: string;
|
|
13
|
+
callMiniMaxImpl?: typeof callMiniMax;
|
|
14
|
+
}): Promise<TextToolResponse>;
|
|
15
|
+
//# sourceMappingURL=delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/tools/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAKjD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwB/Q"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { callMiniMax } from '../client/minimax.js';
|
|
2
|
+
import { createRun, writeRunArtifact } from '../artifacts/runs.js';
|
|
3
|
+
import { collectFiles } from '../workspace/collect-files.js';
|
|
4
|
+
import { recordToolUsage } from '../usage/tool-usage.js';
|
|
5
|
+
const WORKER_PROFILES = new Set(['implementation', 'mechanical_refactor', 'docs_update', 'test_scaffold', 'migration_boilerplate']);
|
|
6
|
+
export async function delegateTaskHandler(input, deps) {
|
|
7
|
+
if (!WORKER_PROFILES.has(input.profile)) {
|
|
8
|
+
return { content: [{ type: 'text', text: `Unsupported MiniMax worker profile "${input.profile}". Use one of: ${Array.from(WORKER_PROFILES).join(', ')}. Keep planning, architecture, debugging, and final review with the host agent.` }] };
|
|
9
|
+
}
|
|
10
|
+
const collected = await collectFiles({ workspaceRoot: deps.workspaceRoot, paths: input.paths });
|
|
11
|
+
const prompt = [
|
|
12
|
+
`Implementation task: ${input.task}`,
|
|
13
|
+
`Worker profile: ${input.profile}`,
|
|
14
|
+
input.constraints ? `Constraints from host planner: ${input.constraints}` : '',
|
|
15
|
+
'You are a worker. Follow the host plan exactly; do not make architecture, debugging, or final review decisions.',
|
|
16
|
+
'Use a validation-first workflow: identify expected behavior, propose the smallest safe change, and include the exact tests or checks the host should run. Do not claim tests passed unless the host-provided context proves it.',
|
|
17
|
+
'Files:',
|
|
18
|
+
...collected.files.map((file) => `--- ${file.relativePath} ---\n${file.content}`),
|
|
19
|
+
].filter(Boolean).join('\n\n');
|
|
20
|
+
const call = deps.callMiniMaxImpl ?? callMiniMax;
|
|
21
|
+
const startedAt = Date.now();
|
|
22
|
+
const result = await call({ config: deps.config, system: 'You are MiniMax M3 acting as a bounded implementation worker. Draft implementation notes or code changes from explicit host instructions. Do not claim to apply changes. Prefer validation-first, testable suggestions.', prompt, thinking: 'enabled' });
|
|
23
|
+
const run = await createRun({ artifactRoot: deps.config.artifactDir, slug: input.profile, tool: 'delegate_task' });
|
|
24
|
+
await writeRunArtifact(run, 'report.md', result.text);
|
|
25
|
+
await writeRunArtifact(run, 'request.json', JSON.stringify({ input, files: collected.files.map((file) => file.relativePath), warnings: collected.warnings }, null, 2));
|
|
26
|
+
const summary = result.text.split('\n').slice(0, 12).join('\n');
|
|
27
|
+
const hostText = JSON.stringify({ runId: run.runId, summary, artifacts: run.metadata.artifacts, warnings: collected.warnings }, null, 2);
|
|
28
|
+
await recordToolUsage({ tool: 'delegate_task', config: deps.config, result, hostText, startedAt });
|
|
29
|
+
return { content: [{ type: 'text', text: hostText }] };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=delegate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../src/tools/delegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MiniMaxPluginConfig } from '../config.js';
|
|
2
|
+
import type { TextToolResponse } from './ask.js';
|
|
3
|
+
export declare function inspectRunHandler(input: {
|
|
4
|
+
runId: string;
|
|
5
|
+
artifact?: string;
|
|
6
|
+
detail?: string;
|
|
7
|
+
}, deps: {
|
|
8
|
+
config: MiniMaxPluginConfig;
|
|
9
|
+
}): Promise<TextToolResponse>;
|
|
10
|
+
//# sourceMappingURL=inspect-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-run.d.ts","sourceRoot":"","sources":["../../src/tools/inspect-run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBtK"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { readRunMetadata } from '../artifacts/runs.js';
|
|
4
|
+
export async function inspectRunHandler(input, deps) {
|
|
5
|
+
const runDir = join(deps.config.artifactDir, input.runId);
|
|
6
|
+
const metadata = await readRunMetadata(runDir);
|
|
7
|
+
if (input.detail === 'full_artifact' && input.artifact) {
|
|
8
|
+
const entry = metadata.artifacts[input.artifact];
|
|
9
|
+
if (!entry)
|
|
10
|
+
return { content: [{ type: 'text', text: `Artifact "${input.artifact}" not found in run ${input.runId}` }] };
|
|
11
|
+
const content = await readFile(entry.path, 'utf8');
|
|
12
|
+
return { content: [{ type: 'text', text: content }] };
|
|
13
|
+
}
|
|
14
|
+
if (input.detail === 'summary') {
|
|
15
|
+
const summaryEntry = metadata.artifacts['summary.md'] ?? metadata.artifacts['report.md'];
|
|
16
|
+
if (summaryEntry) {
|
|
17
|
+
const content = await readFile(summaryEntry.path, 'utf8');
|
|
18
|
+
return { content: [{ type: 'text', text: content.split('\n').slice(0, 20).join('\n') }] };
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return { content: [{ type: 'text', text: JSON.stringify(metadata, null, 2) }] };
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=inspect-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-run.js","sourceRoot":"","sources":["../../src/tools/inspect-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAA4D,EAAE,IAAqC;IACzI,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,CAAC,QAAQ,sBAAsB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;QACzH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzF,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { MiniMaxPluginConfig } from '../config.js';
|
|
2
|
+
import type { TextToolResponse } from './ask.js';
|
|
3
|
+
export interface MmxRunResult {
|
|
4
|
+
stdout: string;
|
|
5
|
+
stderr: string;
|
|
6
|
+
exitCode: number | null;
|
|
7
|
+
}
|
|
8
|
+
export type MmxRunner = (args: string[], options: {
|
|
9
|
+
env: NodeJS.ProcessEnv;
|
|
10
|
+
timeoutMs: number;
|
|
11
|
+
}) => Promise<MmxRunResult>;
|
|
12
|
+
export interface MmxDeps {
|
|
13
|
+
config: MiniMaxPluginConfig;
|
|
14
|
+
workspaceRoot: string;
|
|
15
|
+
runner?: MmxRunner;
|
|
16
|
+
}
|
|
17
|
+
interface CommonInput {
|
|
18
|
+
timeoutSeconds?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function defaultMmxRunner(args: string[], options: {
|
|
21
|
+
env: NodeJS.ProcessEnv;
|
|
22
|
+
timeoutMs: number;
|
|
23
|
+
}): Promise<MmxRunResult>;
|
|
24
|
+
export declare function mmxCliStatusHandler(input: CommonInput, deps: MmxDeps): Promise<TextToolResponse>;
|
|
25
|
+
export declare function mmxQuotaShowHandler(input: CommonInput, deps: MmxDeps): Promise<TextToolResponse>;
|
|
26
|
+
export declare function mmxConfigShowHandler(input: CommonInput, deps: MmxDeps): Promise<TextToolResponse>;
|
|
27
|
+
export declare function mmxTextChatHandler(input: CommonInput & {
|
|
28
|
+
message: string;
|
|
29
|
+
system?: string;
|
|
30
|
+
model?: string;
|
|
31
|
+
maxTokens?: number;
|
|
32
|
+
temperature?: number;
|
|
33
|
+
}, deps: MmxDeps): Promise<TextToolResponse>;
|
|
34
|
+
export declare function mmxSpeechVoicesHandler(input: CommonInput, deps: MmxDeps): Promise<TextToolResponse>;
|
|
35
|
+
export declare function mmxSpeechSynthesizeHandler(input: CommonInput & {
|
|
36
|
+
text: string;
|
|
37
|
+
out: string;
|
|
38
|
+
voice?: string;
|
|
39
|
+
model?: string;
|
|
40
|
+
format?: string;
|
|
41
|
+
sampleRate?: number;
|
|
42
|
+
bitrate?: number;
|
|
43
|
+
speed?: number;
|
|
44
|
+
language?: string;
|
|
45
|
+
}, deps: MmxDeps): Promise<TextToolResponse>;
|
|
46
|
+
export declare function mmxImageGenerateHandler(input: CommonInput & {
|
|
47
|
+
prompt: string;
|
|
48
|
+
out?: string;
|
|
49
|
+
outDir?: string;
|
|
50
|
+
aspectRatio?: string;
|
|
51
|
+
n?: number;
|
|
52
|
+
width?: number;
|
|
53
|
+
height?: number;
|
|
54
|
+
seed?: number;
|
|
55
|
+
promptOptimizer?: boolean;
|
|
56
|
+
responseFormat?: string;
|
|
57
|
+
subjectRef?: string;
|
|
58
|
+
}, deps: MmxDeps): Promise<TextToolResponse>;
|
|
59
|
+
export declare function mmxMusicGenerateHandler(input: CommonInput & {
|
|
60
|
+
prompt: string;
|
|
61
|
+
out?: string;
|
|
62
|
+
lyrics?: string;
|
|
63
|
+
instrumental?: boolean;
|
|
64
|
+
lyricsOptimizer?: boolean;
|
|
65
|
+
model?: string;
|
|
66
|
+
format?: string;
|
|
67
|
+
sampleRate?: number;
|
|
68
|
+
bitrate?: number;
|
|
69
|
+
genre?: string;
|
|
70
|
+
mood?: string;
|
|
71
|
+
instruments?: string;
|
|
72
|
+
}, deps: MmxDeps): Promise<TextToolResponse>;
|
|
73
|
+
export declare function mmxMusicCoverHandler(input: CommonInput & {
|
|
74
|
+
prompt: string;
|
|
75
|
+
audio?: string;
|
|
76
|
+
audioFile?: string;
|
|
77
|
+
out?: string;
|
|
78
|
+
lyrics?: string;
|
|
79
|
+
model?: string;
|
|
80
|
+
format?: string;
|
|
81
|
+
}, deps: MmxDeps): Promise<TextToolResponse>;
|
|
82
|
+
export declare function mmxSearchQueryHandler(input: CommonInput & {
|
|
83
|
+
q: string;
|
|
84
|
+
}, deps: MmxDeps): Promise<TextToolResponse>;
|
|
85
|
+
export declare function mmxVisionDescribeHandler(input: CommonInput & {
|
|
86
|
+
image?: string;
|
|
87
|
+
fileId?: string;
|
|
88
|
+
prompt?: string;
|
|
89
|
+
}, deps: MmxDeps): Promise<TextToolResponse>;
|
|
90
|
+
export declare function mmxFileListHandler(input: CommonInput, deps: MmxDeps): Promise<TextToolResponse>;
|
|
91
|
+
export {};
|
|
92
|
+
//# sourceMappingURL=mmx-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mmx-cli.d.ts","sourceRoot":"","sources":["../../src/tools/mmx-cli.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAE1H,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsCD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAsBpI;AA8BD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEtG;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEtG;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEvG;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAOtM;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEzG;AAED,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAUxQ;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAazT;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAc9U;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAShO;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAExH;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAMlK;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAErG"}
|