maestro-flow 0.3.34 → 0.3.35
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/commands/maestro-ralph-execute.md +135 -176
- package/.claude/commands/maestro-ralph.md +291 -325
- package/.codex/skills/maestro-ralph/SKILL.md +358 -454
- package/README.md +83 -221
- package/README.zh-CN.md +94 -241
- package/dashboard/dist-server/src/config/cli-tools-config.d.ts +6 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js +21 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts +6 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +21 -0
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.d.ts +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsDashboard.js +17 -2
- package/dist/src/tui/tools-ui/ToolsDashboard.js.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.d.ts.map +1 -1
- package/dist/src/tui/tools-ui/ToolsOverview.js +30 -1
- package/dist/src/tui/tools-ui/ToolsOverview.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
3
|
import { Box, Text, useInput, useApp } from 'ink';
|
|
4
|
-
import { loadCliToolsConfig, } from '../../config/cli-tools-config.js';
|
|
4
|
+
import { loadCliToolsConfig, resetCliToolsConfig, } from '../../config/cli-tools-config.js';
|
|
5
5
|
import { ToolsOverview } from './ToolsOverview.js';
|
|
6
6
|
import { RoleMappings } from './RoleMappings.js';
|
|
7
7
|
import { RegisterSettings } from './RegisterSettings.js';
|
|
@@ -17,6 +17,16 @@ export function ToolsDashboard({ workDir, initialView }) {
|
|
|
17
17
|
};
|
|
18
18
|
useEffect(() => { reload(); }, []);
|
|
19
19
|
useInput((input, key) => {
|
|
20
|
+
if (view === 'reset-confirm') {
|
|
21
|
+
if (key.escape || input === 'n') {
|
|
22
|
+
setView('dashboard');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (key.return || input === 'y') {
|
|
26
|
+
resetCliToolsConfig().then(cfg => { setConfig(cfg); setView('dashboard'); });
|
|
27
|
+
}
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
20
30
|
if (view !== 'dashboard')
|
|
21
31
|
return;
|
|
22
32
|
if (input === '1')
|
|
@@ -29,6 +39,8 @@ export function ToolsDashboard({ workDir, initialView }) {
|
|
|
29
39
|
setView('reference');
|
|
30
40
|
if (input === '5')
|
|
31
41
|
setView('sources');
|
|
42
|
+
if (input === '6')
|
|
43
|
+
setView('reset-confirm');
|
|
32
44
|
if (input === 'q' || key.escape)
|
|
33
45
|
exit();
|
|
34
46
|
});
|
|
@@ -50,9 +62,12 @@ export function ToolsDashboard({ workDir, initialView }) {
|
|
|
50
62
|
if (view === 'sources') {
|
|
51
63
|
return _jsx(ConfigSources, { workDir: workDir, onBack: () => setView('dashboard') });
|
|
52
64
|
}
|
|
65
|
+
if (view === 'reset-confirm') {
|
|
66
|
+
return (_jsx(Box, { flexDirection: "column", paddingX: 1, children: _jsxs(Box, { borderStyle: "round", borderColor: "yellow", flexDirection: "column", paddingX: 2, paddingY: 1, children: [_jsx(Text, { bold: true, color: "yellow", children: "Reset CLI tools to defaults?" }), _jsx(Text, { children: " " }), _jsx(Text, { children: "This will overwrite ~/.maestro/cli-tools.json with default" }), _jsx(Text, { children: "tool definitions and re-detect CLI availability." }), _jsx(Text, { children: "Custom roles and aliases will be lost." }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[y] Confirm [n/Esc] Cancel" })] }) }));
|
|
67
|
+
}
|
|
53
68
|
// Dashboard view
|
|
54
69
|
const toolEntries = Object.entries(config.tools);
|
|
55
|
-
return (_jsx(Box, { flexDirection: "column", paddingX: 1, children: _jsxs(Box, { borderStyle: "round", borderColor: "cyan", flexDirection: "column", paddingX: 2, paddingY: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "MAESTRO TOOLS" }), _jsx(Text, { children: " " }), toolEntries.length === 0 ? (_jsx(Text, { dimColor: true, children: " No tools configured in cli-tools.json" })) : (toolEntries.map(([name, entry]) => (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: entry.enabled ? 'green' : 'red', children: entry.enabled ? ' ✓' : ' ✗' }), _jsx(Text, { bold: true, children: padRight(name, 12) }), _jsx(Text, { dimColor: true, children: padRight(entry.primaryModel || '—', 24) }), _jsx(Text, { color: "yellow", children: entry.tags?.length ? `[${entry.tags.join(', ')}]` : '—' })] }, name)))), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 2, children: [_jsx(Text, { color: "cyan", children: "[1]" }), _jsx(Text, { children: "Tools" }), _jsx(Text, { color: "cyan", children: "[2]" }), _jsx(Text, { children: "Roles" }), _jsx(Text, { color: "cyan", children: "[3]" }), _jsx(Text, { children: "Register" }), _jsx(Text, { color: "cyan", children: "[4]" }), _jsx(Text, { children: "Ref" }), _jsx(Text, { color: "cyan", children: "[5]" }), _jsx(Text, { children: "Config" })] }), _jsx(Text, { dimColor: true, children: " [q] Quit" })] }) }));
|
|
70
|
+
return (_jsx(Box, { flexDirection: "column", paddingX: 1, children: _jsxs(Box, { borderStyle: "round", borderColor: "cyan", flexDirection: "column", paddingX: 2, paddingY: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "MAESTRO TOOLS" }), _jsx(Text, { children: " " }), toolEntries.length === 0 ? (_jsx(Text, { dimColor: true, children: " No tools configured in cli-tools.json" })) : (toolEntries.map(([name, entry]) => (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: entry.enabled ? 'green' : 'red', children: entry.enabled ? ' ✓' : ' ✗' }), _jsx(Text, { bold: true, children: padRight(name, 12) }), _jsx(Text, { dimColor: true, children: padRight(entry.primaryModel || '—', 24) }), _jsx(Text, { color: "yellow", children: entry.tags?.length ? `[${entry.tags.join(', ')}]` : '—' })] }, name)))), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 2, children: [_jsx(Text, { color: "cyan", children: "[1]" }), _jsx(Text, { children: "Tools" }), _jsx(Text, { color: "cyan", children: "[2]" }), _jsx(Text, { children: "Roles" }), _jsx(Text, { color: "cyan", children: "[3]" }), _jsx(Text, { children: "Register" }), _jsx(Text, { color: "cyan", children: "[4]" }), _jsx(Text, { children: "Ref" }), _jsx(Text, { color: "cyan", children: "[5]" }), _jsx(Text, { children: "Config" }), _jsx(Text, { color: "cyan", children: "[6]" }), _jsx(Text, { children: "Reset" })] }), _jsx(Text, { dimColor: true, children: " [q] Quit" })] }) }));
|
|
56
71
|
}
|
|
57
72
|
function padRight(s, width) {
|
|
58
73
|
return s.length >= width ? s : s + ' '.repeat(width - s.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolsDashboard.js","sourceRoot":"","sources":["../../../../src/tui/tools-ui/ToolsDashboard.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ToolsDashboard.js","sourceRoot":"","sources":["../../../../src/tui/tools-ui/ToolsDashboard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolsOverview.d.ts","sourceRoot":"","sources":["../../../../src/tui/tools-ui/ToolsOverview.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAID,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ToolsOverview.d.ts","sourceRoot":"","sources":["../../../../src/tui/tools-ui/ToolsOverview.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAID,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAoKtF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import { TextInput } from '@inkjs/ui';
|
|
4
5
|
import { saveCliToolsConfig, DOMAIN_TAGS, } from '../../config/cli-tools-config.js';
|
|
5
6
|
export function ToolsOverview({ config, workDir, onBack, onReload }) {
|
|
6
7
|
const entries = Object.entries(config.tools);
|
|
@@ -9,6 +10,7 @@ export function ToolsOverview({ config, workDir, onBack, onReload }) {
|
|
|
9
10
|
const [tagCursor, setTagCursor] = useState(0);
|
|
10
11
|
const [editTags, setEditTags] = useState([]);
|
|
11
12
|
const [saving, setSaving] = useState(false);
|
|
13
|
+
const [settingsError, setSettingsError] = useState('');
|
|
12
14
|
useInput((input, key) => {
|
|
13
15
|
if (saving)
|
|
14
16
|
return;
|
|
@@ -27,6 +29,11 @@ export function ToolsOverview({ config, workDir, onBack, onReload }) {
|
|
|
27
29
|
setTagCursor(0);
|
|
28
30
|
setMode('edit-tags');
|
|
29
31
|
}
|
|
32
|
+
if (input === 's' && entries.length > 0) {
|
|
33
|
+
// Enter settingsFile editing for current tool
|
|
34
|
+
setSettingsError('');
|
|
35
|
+
setMode('edit-settings');
|
|
36
|
+
}
|
|
30
37
|
if (input === ' ' && entries.length > 0) {
|
|
31
38
|
// Toggle enabled
|
|
32
39
|
const [name, entry] = entries[cursor];
|
|
@@ -56,7 +63,25 @@ export function ToolsOverview({ config, workDir, onBack, onReload }) {
|
|
|
56
63
|
.then(() => { onReload(); setSaving(false); setMode('list'); });
|
|
57
64
|
}
|
|
58
65
|
}
|
|
66
|
+
if (mode === 'edit-settings') {
|
|
67
|
+
if (key.escape) {
|
|
68
|
+
setSettingsError('');
|
|
69
|
+
setMode('list');
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
59
73
|
});
|
|
74
|
+
const handleSettingsSubmit = (value) => {
|
|
75
|
+
const [name, entry] = entries[cursor];
|
|
76
|
+
const newPath = value.trim() || undefined;
|
|
77
|
+
setSaving(true);
|
|
78
|
+
saveCliToolsConfig({ tools: { [name]: { ...entry, settingsFile: newPath } } }, 'global', workDir)
|
|
79
|
+
.then(() => { onReload(); setSaving(false); setMode('list'); })
|
|
80
|
+
.catch((err) => {
|
|
81
|
+
setSettingsError(err instanceof Error ? err.message : String(err));
|
|
82
|
+
setSaving(false);
|
|
83
|
+
});
|
|
84
|
+
};
|
|
60
85
|
if (entries.length === 0) {
|
|
61
86
|
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Tools Overview" }), _jsx(Text, { dimColor: true, children: "No tools configured." }), _jsx(Text, { dimColor: true, children: "[Esc] Back" })] }));
|
|
62
87
|
}
|
|
@@ -68,6 +93,10 @@ export function ToolsOverview({ config, workDir, onBack, onReload }) {
|
|
|
68
93
|
return (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { color: active ? 'cyan' : undefined, children: [active ? '▸' : ' ', " ", selected ? '[✓]' : '[ ]'] }), _jsx(Text, { bold: active, color: active ? 'cyan' : selected ? 'green' : undefined, children: tag })] }, tag));
|
|
69
94
|
}), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[\u2191\u2193] Navigate [Space] Toggle [s] Save [Esc] Cancel" })] }));
|
|
70
95
|
}
|
|
96
|
+
if (mode === 'edit-settings') {
|
|
97
|
+
const [name, entry] = entries[cursor];
|
|
98
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["Edit Settings: ", _jsx(Text, { color: "green", children: name })] }), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Settings file:" }), _jsx(TextInput, { defaultValue: entry.settingsFile ?? '', placeholder: "~/.maestro/profiles/settings.json (empty to clear)", onSubmit: handleSettingsSubmit })] }), settingsError && _jsxs(Text, { color: "red", children: [" ", settingsError] }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[Enter] Save [Esc] Cancel" })] }));
|
|
99
|
+
}
|
|
71
100
|
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Tools Overview" }), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 1, children: [_jsxs(Text, { dimColor: true, children: [' ', pad('Tool', 12)] }), _jsx(Text, { dimColor: true, children: pad('Model', 24) }), _jsx(Text, { dimColor: true, children: pad('Tags', 28) }), _jsx(Text, { dimColor: true, children: "Settings" })] }), _jsx(Text, { dimColor: true, children: ' ' + '─'.repeat(80) }), entries.map(([name, entry], i) => {
|
|
72
101
|
const active = i === cursor;
|
|
73
102
|
const color = active ? 'cyan' : undefined;
|
|
@@ -76,7 +105,7 @@ export function ToolsOverview({ config, workDir, onBack, onReload }) {
|
|
|
76
105
|
const tags = entry.tags?.length ? entry.tags.join(', ') : '—';
|
|
77
106
|
const settings = entry.settingsFile || '—';
|
|
78
107
|
return (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { color: statusColor, children: [active ? '▸' : ' ', statusIcon] }), _jsx(Text, { bold: active, color: color, children: pad(name, 12) }), _jsx(Text, { color: color, children: pad(entry.primaryModel || '—', 24) }), _jsx(Text, { color: "yellow", children: pad(tags, 28) }), _jsx(Text, { dimColor: !entry.settingsFile, children: settings })] }, name));
|
|
79
|
-
}), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[\u2191\u2193] Navigate [Space] Toggle enabled [t] Edit tags [Esc] Back" }), saving && _jsx(Text, { dimColor: true, children: "Saving..." })] }));
|
|
108
|
+
}), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[\u2191\u2193] Navigate [Space] Toggle enabled [t] Edit tags [s] Edit settings [Esc] Back" }), saving && _jsx(Text, { dimColor: true, children: "Saving..." })] }));
|
|
80
109
|
}
|
|
81
110
|
function pad(s, width) {
|
|
82
111
|
return s.length >= width ? s.slice(0, width) : s + ' '.repeat(width - s.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolsOverview.js","sourceRoot":"","sources":["../../../../src/tui/tools-ui/ToolsOverview.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolsOverview.js","sourceRoot":"","sources":["../../../../src/tui/tools-ui/ToolsOverview.tsx"],"names":[],"mappings":"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"}
|