maestro-flow 0.3.22 → 0.3.23
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-analyze.md +1 -1
- package/.claude/commands/maestro-brainstorm.md +1 -1
- package/.claude/commands/maestro-composer.md +3 -3
- package/.claude/commands/maestro-init.md +4 -4
- package/.claude/commands/maestro-roadmap.md +164 -108
- package/.claude/commands/maestro.md +19 -10
- package/.claude/commands/quality-business-test.md +2 -2
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +1 -1
- package/.claude/skills/team-review/roles/reviewer/role.md +1 -1
- package/.claude/skills/team-review/roles/scanner/role.md +1 -1
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +3 -3
- package/.codex/skills/maestro/SKILL.md +12 -9
- package/.codex/skills/maestro-brainstorm/SKILL.md +1 -1
- package/.codex/skills/maestro-composer/SKILL.md +3 -3
- package/.codex/skills/maestro-init/SKILL.md +1 -1
- package/.codex/skills/maestro-link-coordinate/SKILL.md +1 -1
- package/.codex/skills/maestro-player/SKILL.md +2 -2
- package/.codex/skills/maestro-roadmap/SKILL.md +443 -332
- package/.codex/skills/quality-business-test/SKILL.md +2 -2
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +1 -1
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-review/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +3 -3
- package/chains/singles/spec-generate.json +3 -3
- package/chains/spec-driven.json +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.d.ts +5 -12
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.js +10 -65
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js +17 -11
- package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +4 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +4 -2
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -1
- package/dashboard/dist-server/src/commands/delegate.d.ts +2 -0
- package/dashboard/dist-server/src/commands/delegate.js +20 -4
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dashboard/dist-server/src/config/cli-tools-config.d.ts +64 -3
- package/dashboard/dist-server/src/config/cli-tools-config.js +226 -9
- package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts +4 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +4 -2
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/cli.js +2 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/cli.d.ts.map +1 -1
- package/dist/src/commands/cli.js +21 -4
- package/dist/src/commands/cli.js.map +1 -1
- package/dist/src/commands/delegate.d.ts +2 -0
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +20 -4
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +5 -16
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +8 -104
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install-ui/ExecutionView.js +1 -1
- package/dist/src/commands/install-ui/ExecutionView.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts +1 -0
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +19 -4
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.js +1 -1
- package/dist/src/commands/install-ui/InstallResult.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +23 -3
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/tools-ui/CommandReference.d.ts +7 -0
- package/dist/src/commands/tools-ui/CommandReference.d.ts.map +1 -0
- package/dist/src/commands/tools-ui/CommandReference.js +33 -0
- package/dist/src/commands/tools-ui/CommandReference.js.map +1 -0
- package/dist/src/commands/tools-ui/ConfigSources.d.ts +6 -0
- package/dist/src/commands/tools-ui/ConfigSources.d.ts.map +1 -0
- package/dist/src/commands/tools-ui/ConfigSources.js +27 -0
- package/dist/src/commands/tools-ui/ConfigSources.js.map +1 -0
- package/dist/src/commands/tools-ui/RegisterSettings.d.ts +8 -0
- package/dist/src/commands/tools-ui/RegisterSettings.d.ts.map +1 -0
- package/dist/src/commands/tools-ui/RegisterSettings.js +125 -0
- package/dist/src/commands/tools-ui/RegisterSettings.js.map +1 -0
- package/dist/src/commands/tools-ui/RoleMappings.d.ts +9 -0
- package/dist/src/commands/tools-ui/RoleMappings.d.ts.map +1 -0
- package/dist/src/commands/tools-ui/RoleMappings.js +104 -0
- package/dist/src/commands/tools-ui/RoleMappings.js.map +1 -0
- package/dist/src/commands/tools-ui/ToolsDashboard.d.ts +8 -0
- package/dist/src/commands/tools-ui/ToolsDashboard.d.ts.map +1 -0
- package/dist/src/commands/tools-ui/ToolsDashboard.js +60 -0
- package/dist/src/commands/tools-ui/ToolsDashboard.js.map +1 -0
- package/dist/src/commands/tools-ui/ToolsOverview.d.ts +9 -0
- package/dist/src/commands/tools-ui/ToolsOverview.d.ts.map +1 -0
- package/dist/src/commands/tools-ui/ToolsOverview.js +84 -0
- package/dist/src/commands/tools-ui/ToolsOverview.js.map +1 -0
- package/dist/src/commands/tools.d.ts +3 -0
- package/dist/src/commands/tools.d.ts.map +1 -0
- package/dist/src/commands/tools.js +78 -0
- package/dist/src/commands/tools.js.map +1 -0
- package/dist/src/config/cli-tools-config.d.ts +64 -3
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +226 -9
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/component-defs.d.ts +16 -0
- package/dist/src/core/component-defs.d.ts.map +1 -0
- package/dist/src/core/component-defs.js +142 -0
- package/dist/src/core/component-defs.js.map +1 -0
- package/dist/src/core/manifest.d.ts +8 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +29 -40
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/tag-injector.d.ts +72 -0
- package/dist/src/core/tag-injector.d.ts.map +1 -0
- package/dist/src/core/tag-injector.js +228 -0
- package/dist/src/core/tag-injector.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
- package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +1 -1
- package/templates/cli/prompts/workflow-skill-lessons-learned.txt +1 -1
- package/templates/search-tools.md +1 -1
- package/templates/workflows/specs/node-catalog.md +1 -1
- package/workflows/brainstorm.md +1 -1
- package/{.claude/CLAUDE.md → workflows/claude-instructions.md} +25 -26
- package/workflows/cli-tools-usage.md +16 -2
- package/workflows/codex-instructions.md +150 -0
- package/workflows/delegate-usage.md +16 -2
- package/workflows/execute.md +28 -14
- package/workflows/init.md +2 -2
- package/workflows/issue-discover.md +2 -2
- package/workflows/maestro-super.md +120 -0
- package/workflows/maestro.codex.md +4 -4
- package/workflows/maestro.md +5 -5
- package/workflows/roadmap-common.md +197 -0
- package/workflows/roadmap.md +190 -355
- package/workflows/spec-generate.md +457 -544
- package/.claude/commands/maestro-spec-generate.md +0 -78
- package/.codex/skills/maestro-spec-generate/SKILL.md +0 -355
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigSources.js","sourceRoot":"","sources":["../../../../src/commands/tools-ui/ConfigSources.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CliToolsConfig } from '../../config/cli-tools-config.js';
|
|
2
|
+
export interface RegisterSettingsProps {
|
|
3
|
+
config: CliToolsConfig;
|
|
4
|
+
workDir: string;
|
|
5
|
+
onBack: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function RegisterSettings({ config, workDir, onBack }: RegisterSettingsProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=RegisterSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegisterSettings.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools-ui/RegisterSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAID,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CA+MlF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import { TextInput } from '@inkjs/ui';
|
|
5
|
+
import { existsSync } from 'node:fs';
|
|
6
|
+
import { saveCliToolsConfig, DELEGATE_ROLES, } from '../../config/cli-tools-config.js';
|
|
7
|
+
export function RegisterSettings({ config, workDir, onBack }) {
|
|
8
|
+
const [phase, setPhase] = useState('name');
|
|
9
|
+
const [alias, setAlias] = useState('');
|
|
10
|
+
const [role, setRole] = useState('');
|
|
11
|
+
const [roleCursor, setRoleCursor] = useState(0);
|
|
12
|
+
const [path, setPath] = useState('');
|
|
13
|
+
const [error, setError] = useState('');
|
|
14
|
+
const [message, setMessage] = useState('');
|
|
15
|
+
// Existing aliases
|
|
16
|
+
const existing = Object.entries(config.tools)
|
|
17
|
+
.filter(([, e]) => e.baseTool === 'claude')
|
|
18
|
+
.map(([name, e]) => ({ name, settings: e.settingsFile ?? '—' }));
|
|
19
|
+
useInput((input, key) => {
|
|
20
|
+
if (key.escape) {
|
|
21
|
+
onBack();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (phase === 'role') {
|
|
25
|
+
if (key.upArrow)
|
|
26
|
+
setRoleCursor(c => c > 0 ? c - 1 : DELEGATE_ROLES.length - 1);
|
|
27
|
+
if (key.downArrow)
|
|
28
|
+
setRoleCursor(c => c < DELEGATE_ROLES.length - 1 ? c + 1 : 0);
|
|
29
|
+
if (key.return) {
|
|
30
|
+
setRole(DELEGATE_ROLES[roleCursor]);
|
|
31
|
+
const ex = config.tools[alias];
|
|
32
|
+
if (ex?.settingsFile)
|
|
33
|
+
setPath(ex.settingsFile);
|
|
34
|
+
setPhase('path');
|
|
35
|
+
}
|
|
36
|
+
// Number hotkeys 1-7
|
|
37
|
+
const n = parseInt(input, 10);
|
|
38
|
+
if (n >= 1 && n <= DELEGATE_ROLES.length) {
|
|
39
|
+
setRoleCursor(n - 1);
|
|
40
|
+
setRole(DELEGATE_ROLES[n - 1]);
|
|
41
|
+
const ex = config.tools[alias];
|
|
42
|
+
if (ex?.settingsFile)
|
|
43
|
+
setPath(ex.settingsFile);
|
|
44
|
+
setPhase('path');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (phase === 'scope') {
|
|
48
|
+
if (input === 'g')
|
|
49
|
+
doSave('global');
|
|
50
|
+
if (input === 'p')
|
|
51
|
+
doSave('workspace');
|
|
52
|
+
}
|
|
53
|
+
if (phase === 'done' || phase === 'error') {
|
|
54
|
+
if (key.return || key.escape)
|
|
55
|
+
onBack();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const handleNameSubmit = (value) => {
|
|
59
|
+
const trimmed = value.trim();
|
|
60
|
+
if (!trimmed) {
|
|
61
|
+
setError('Name is required');
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
setAlias(trimmed);
|
|
65
|
+
setError('');
|
|
66
|
+
if (trimmed === 'claude') {
|
|
67
|
+
// Base tool — skip role selection
|
|
68
|
+
setRole('');
|
|
69
|
+
const ex = config.tools.claude;
|
|
70
|
+
if (ex?.settingsFile)
|
|
71
|
+
setPath(ex.settingsFile);
|
|
72
|
+
setPhase('path');
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
setPhase('role');
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const handlePathSubmit = (value) => {
|
|
79
|
+
const trimmed = value.trim();
|
|
80
|
+
if (!trimmed) {
|
|
81
|
+
setError('Path is required');
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const expanded = trimmed.startsWith('~/')
|
|
85
|
+
? trimmed.replace('~', process.env.HOME ?? process.env.USERPROFILE ?? '~')
|
|
86
|
+
: trimmed;
|
|
87
|
+
if (!existsSync(expanded)) {
|
|
88
|
+
setError(`File not found: ${expanded}`);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
setPath(trimmed);
|
|
92
|
+
setError('');
|
|
93
|
+
setPhase('scope');
|
|
94
|
+
};
|
|
95
|
+
const doSave = async (scope) => {
|
|
96
|
+
setPhase('saving');
|
|
97
|
+
try {
|
|
98
|
+
const isBase = alias === 'claude';
|
|
99
|
+
const base = config.tools.claude ?? { enabled: true, primaryModel: '', tags: [], type: 'builtin' };
|
|
100
|
+
const entry = config.tools[alias] ?? {
|
|
101
|
+
enabled: true,
|
|
102
|
+
primaryModel: isBase ? base.primaryModel : base.primaryModel,
|
|
103
|
+
tags: isBase ? base.tags : base.tags,
|
|
104
|
+
type: 'builtin',
|
|
105
|
+
};
|
|
106
|
+
const toolUpdate = {
|
|
107
|
+
...entry,
|
|
108
|
+
settingsFile: path,
|
|
109
|
+
...(!isBase ? { baseTool: 'claude' } : {}),
|
|
110
|
+
};
|
|
111
|
+
// Also update role mapping if a role was selected
|
|
112
|
+
const rolesUpdate = role ? { [role]: { tool: alias } } : undefined;
|
|
113
|
+
await saveCliToolsConfig({ tools: { [alias]: toolUpdate }, ...(rolesUpdate ? { roles: rolesUpdate } : {}) }, scope, workDir);
|
|
114
|
+
const roleMsg = role ? ` (role: ${role})` : '';
|
|
115
|
+
setMessage(`${alias}${roleMsg} → ${path} saved to ${scope}`);
|
|
116
|
+
setPhase('done');
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
120
|
+
setPhase('error');
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Register Settings (Claude)" }), _jsx(Text, { children: " " }), existing.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Existing aliases:" }), existing.map(e => (_jsxs(Box, { gap: 1, children: [_jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { bold: true, children: e.name }), _jsxs(Text, { dimColor: true, children: ["\u2192 ", e.settings] })] }, e.name))), _jsx(Text, { children: " " })] })), phase === 'name' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Name:" }), _jsx(TextInput, { placeholder: "claude-analysis (or 'claude' for base)", onSubmit: handleNameSubmit })] }), error && _jsxs(Text, { color: "red", children: [" ", error] }), _jsx(Text, { dimColor: true, children: "Enter alias name. Use \"claude\" to set base settings." })] })), phase === 'role' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Name:" }), _jsx(Text, { bold: true, color: "green", children: alias })] }), _jsx(Text, { children: "Assign to role:" }), DELEGATE_ROLES.map((r, i) => (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { color: i === roleCursor ? 'cyan' : undefined, children: [i === roleCursor ? ' ▸' : ' ', " ", i + 1, "."] }), _jsx(Text, { bold: i === roleCursor, color: i === roleCursor ? 'cyan' : undefined, children: r })] }, r))), _jsx(Text, { dimColor: true, children: "[\u2191\u2193] Navigate [1-7] Select [Enter] Confirm" })] })), phase === 'path' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Name:" }), _jsx(Text, { bold: true, color: "green", children: alias })] }), role && _jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Role:" }), _jsx(Text, { color: "yellow", children: role })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Path:" }), _jsx(TextInput, { defaultValue: path, placeholder: "~/.maestro/profiles/claude-analysis.json", onSubmit: handlePathSubmit })] }), error && _jsxs(Text, { color: "red", children: [" ", error] })] })), phase === 'scope' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Name:" }), _jsx(Text, { bold: true, color: "green", children: alias })] }), role && _jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Role:" }), _jsx(Text, { color: "yellow", children: role })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { children: "Path:" }), _jsx(Text, { dimColor: true, children: path })] }), _jsx(Text, { children: " " }), _jsx(Text, { children: "Save to:" }), _jsxs(Box, { gap: 2, children: [_jsx(Text, { color: "cyan", children: "[g]" }), _jsx(Text, { children: "Global" })] }), _jsxs(Box, { gap: 2, children: [_jsx(Text, { color: "cyan", children: "[p]" }), _jsx(Text, { children: "Project" })] })] })), phase === 'saving' && _jsx(Text, { dimColor: true, children: "Saving..." }), phase === 'done' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "green", children: ["\u2713 ", message] }), _jsx(Text, { dimColor: true, children: "[Enter] Back" })] })), phase === 'error' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "red", children: ["\u2717 ", error] }), _jsx(Text, { dimColor: true, children: "[Enter] Back" })] }))] }));
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=RegisterSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegisterSettings.js","sourceRoot":"","sources":["../../../../src/commands/tools-ui/RegisterSettings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type CliToolsConfig } from '../../config/cli-tools-config.js';
|
|
2
|
+
export interface RoleMappingsProps {
|
|
3
|
+
config: CliToolsConfig;
|
|
4
|
+
workDir: string;
|
|
5
|
+
onBack: () => void;
|
|
6
|
+
onReload: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function RoleMappings({ config, workDir, onBack, onReload }: RoleMappingsProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=RoleMappings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleMappings.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools-ui/RoleMappings.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAID,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAgJpF"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import { selectToolByRole, getDefaultRoleMappings, saveCliToolsConfig, DELEGATE_ROLES, } from '../../config/cli-tools-config.js';
|
|
5
|
+
export function RoleMappings({ config, workDir, onBack, onReload }) {
|
|
6
|
+
const defaults = getDefaultRoleMappings();
|
|
7
|
+
const userRoles = config.roles ?? {};
|
|
8
|
+
const enabledTools = Object.entries(config.tools).filter(([, e]) => e.enabled).map(([n]) => n);
|
|
9
|
+
const [cursor, setCursor] = useState(0);
|
|
10
|
+
const [mode, setMode] = useState('list');
|
|
11
|
+
const [editChain, setEditChain] = useState([]);
|
|
12
|
+
const [chainCursor, setChainCursor] = useState(0);
|
|
13
|
+
const [saving, setSaving] = useState(false);
|
|
14
|
+
const roles = [...DELEGATE_ROLES];
|
|
15
|
+
useInput((input, key) => {
|
|
16
|
+
if (saving)
|
|
17
|
+
return;
|
|
18
|
+
if (mode === 'list') {
|
|
19
|
+
if (key.escape) {
|
|
20
|
+
onBack();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (key.upArrow)
|
|
24
|
+
setCursor(c => c > 0 ? c - 1 : roles.length - 1);
|
|
25
|
+
if (key.downArrow)
|
|
26
|
+
setCursor(c => c < roles.length - 1 ? c + 1 : 0);
|
|
27
|
+
if (key.return || input === 'e') {
|
|
28
|
+
// Edit fallback chain for this role
|
|
29
|
+
const role = roles[cursor];
|
|
30
|
+
const mapping = userRoles[role] ?? defaults[role];
|
|
31
|
+
const chain = mapping?.fallbackChain ?? enabledTools;
|
|
32
|
+
setEditChain([...chain]);
|
|
33
|
+
setChainCursor(0);
|
|
34
|
+
setMode('edit-order');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (mode === 'edit-order') {
|
|
38
|
+
if (key.escape) {
|
|
39
|
+
setMode('list');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (key.upArrow)
|
|
43
|
+
setChainCursor(c => c > 0 ? c - 1 : editChain.length - 1);
|
|
44
|
+
if (key.downArrow)
|
|
45
|
+
setChainCursor(c => c < editChain.length - 1 ? c + 1 : 0);
|
|
46
|
+
// Move up/down with shift (K/J)
|
|
47
|
+
if (input === 'K' && chainCursor > 0) {
|
|
48
|
+
setEditChain(prev => {
|
|
49
|
+
const arr = [...prev];
|
|
50
|
+
[arr[chainCursor - 1], arr[chainCursor]] = [arr[chainCursor], arr[chainCursor - 1]];
|
|
51
|
+
return arr;
|
|
52
|
+
});
|
|
53
|
+
setChainCursor(c => c - 1);
|
|
54
|
+
}
|
|
55
|
+
if (input === 'J' && chainCursor < editChain.length - 1) {
|
|
56
|
+
setEditChain(prev => {
|
|
57
|
+
const arr = [...prev];
|
|
58
|
+
[arr[chainCursor], arr[chainCursor + 1]] = [arr[chainCursor + 1], arr[chainCursor]];
|
|
59
|
+
return arr;
|
|
60
|
+
});
|
|
61
|
+
setChainCursor(c => c + 1);
|
|
62
|
+
}
|
|
63
|
+
// Toggle include/exclude
|
|
64
|
+
if (input === ' ') {
|
|
65
|
+
const tool = enabledTools.find(t => !editChain.includes(t));
|
|
66
|
+
if (tool) {
|
|
67
|
+
// Add next available tool
|
|
68
|
+
setEditChain(prev => [...prev, tool]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (input === 'd') {
|
|
72
|
+
// Remove current from chain
|
|
73
|
+
if (editChain.length > 1) {
|
|
74
|
+
setEditChain(prev => prev.filter((_, i) => i !== chainCursor));
|
|
75
|
+
setChainCursor(c => Math.min(c, editChain.length - 2));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (input === 's') {
|
|
79
|
+
const role = roles[cursor];
|
|
80
|
+
setSaving(true);
|
|
81
|
+
saveCliToolsConfig({ roles: { [role]: { fallbackChain: editChain } } }, 'global', workDir).then(() => { onReload(); setSaving(false); setMode('list'); });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
if (mode === 'edit-order') {
|
|
86
|
+
const role = roles[cursor];
|
|
87
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["Edit Fallback Chain: ", _jsx(Text, { color: "green", children: role })] }), _jsx(Text, { dimColor: true, children: "First enabled tool in chain wins" }), _jsx(Text, { children: " " }), editChain.map((tool, i) => {
|
|
88
|
+
const active = i === chainCursor;
|
|
89
|
+
return (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { color: active ? 'cyan' : undefined, children: [active ? '▸' : ' ', " ", i + 1, "."] }), _jsx(Text, { bold: active, color: i === 0 ? 'green' : active ? 'cyan' : undefined, children: tool })] }, `${tool}-${i}`));
|
|
90
|
+
}), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[\u2191\u2193] Select [Shift+K/J] Move up/down [d] Remove [s] Save [Esc] Cancel" }), saving && _jsx(Text, { dimColor: true, children: "Saving..." })] }));
|
|
91
|
+
}
|
|
92
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Role Mappings" }), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { dimColor: true, children: pad(' Role', 16) }), _jsx(Text, { dimColor: true, children: pad('Resolved', 12) }), _jsx(Text, { dimColor: true, children: pad('Source', 10) }), _jsx(Text, { dimColor: true, children: "Fallback Chain" })] }), _jsx(Text, { dimColor: true, children: '─'.repeat(76) }), roles.map((role, i) => {
|
|
93
|
+
const active = i === cursor;
|
|
94
|
+
const selected = selectToolByRole(role, config);
|
|
95
|
+
const mapping = userRoles[role] ?? defaults[role];
|
|
96
|
+
const chain = mapping?.fallbackChain?.join(' → ') ?? (mapping?.tool ? `→ ${mapping.tool}` : '—');
|
|
97
|
+
const source = userRoles[role] ? 'user' : 'default';
|
|
98
|
+
return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: active ? 'cyan' : undefined, children: active ? '▸' : ' ' }), _jsx(Text, { bold: active, color: active ? 'cyan' : undefined, children: pad(role, 14) }), _jsx(Text, { color: "green", children: pad(selected?.name ?? '(none)', 12) }), _jsx(Text, { color: source === 'user' ? 'yellow' : undefined, dimColor: source === 'default', children: pad(source, 10) }), _jsx(Text, { dimColor: true, children: chain })] }, role));
|
|
99
|
+
}), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[\u2191\u2193] Navigate [Enter/e] Edit chain [Esc] Back" })] }));
|
|
100
|
+
}
|
|
101
|
+
function pad(s, width) {
|
|
102
|
+
return s.length >= width ? s.slice(0, width) : s + ' '.repeat(width - s.length);
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=RoleMappings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleMappings.js","sourceRoot":"","sources":["../../../../src/commands/tools-ui/RoleMappings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type View = 'dashboard' | 'tools' | 'roles' | 'register' | 'reference' | 'sources';
|
|
2
|
+
export interface ToolsDashboardProps {
|
|
3
|
+
workDir: string;
|
|
4
|
+
initialView?: View;
|
|
5
|
+
}
|
|
6
|
+
export declare function ToolsDashboard({ workDir, initialView }: ToolsDashboardProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=ToolsDashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolsDashboard.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools-ui/ToolsDashboard.tsx"],"names":[],"mappings":"AAcA,KAAK,IAAI,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,mBAAmB,2CAsF3E"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { Box, Text, useInput, useApp } from 'ink';
|
|
4
|
+
import { loadCliToolsConfig, } from '../../config/cli-tools-config.js';
|
|
5
|
+
import { ToolsOverview } from './ToolsOverview.js';
|
|
6
|
+
import { RoleMappings } from './RoleMappings.js';
|
|
7
|
+
import { RegisterSettings } from './RegisterSettings.js';
|
|
8
|
+
import { CommandReference } from './CommandReference.js';
|
|
9
|
+
import { ConfigSources } from './ConfigSources.js';
|
|
10
|
+
export function ToolsDashboard({ workDir, initialView }) {
|
|
11
|
+
const { exit } = useApp();
|
|
12
|
+
const [view, setView] = useState(initialView ?? 'dashboard');
|
|
13
|
+
const [config, setConfig] = useState(null);
|
|
14
|
+
const reload = async () => {
|
|
15
|
+
const cfg = await loadCliToolsConfig(workDir);
|
|
16
|
+
setConfig(cfg);
|
|
17
|
+
};
|
|
18
|
+
useEffect(() => { reload(); }, []);
|
|
19
|
+
useInput((input, key) => {
|
|
20
|
+
if (view !== 'dashboard')
|
|
21
|
+
return;
|
|
22
|
+
if (input === '1')
|
|
23
|
+
setView('tools');
|
|
24
|
+
if (input === '2')
|
|
25
|
+
setView('roles');
|
|
26
|
+
if (input === '3')
|
|
27
|
+
setView('register');
|
|
28
|
+
if (input === '4')
|
|
29
|
+
setView('reference');
|
|
30
|
+
if (input === '5')
|
|
31
|
+
setView('sources');
|
|
32
|
+
if (input === 'q' || key.escape)
|
|
33
|
+
exit();
|
|
34
|
+
});
|
|
35
|
+
if (!config) {
|
|
36
|
+
return _jsx(Text, { dimColor: true, children: "Loading configuration..." });
|
|
37
|
+
}
|
|
38
|
+
if (view === 'tools') {
|
|
39
|
+
return _jsx(ToolsOverview, { config: config, workDir: workDir, onBack: () => { reload(); setView('dashboard'); }, onReload: reload });
|
|
40
|
+
}
|
|
41
|
+
if (view === 'roles') {
|
|
42
|
+
return _jsx(RoleMappings, { config: config, workDir: workDir, onBack: () => { reload(); setView('dashboard'); }, onReload: reload });
|
|
43
|
+
}
|
|
44
|
+
if (view === 'register') {
|
|
45
|
+
return (_jsx(RegisterSettings, { config: config, workDir: workDir, onBack: () => { reload(); setView('dashboard'); } }));
|
|
46
|
+
}
|
|
47
|
+
if (view === 'reference') {
|
|
48
|
+
return _jsx(CommandReference, { config: config, onBack: () => setView('dashboard') });
|
|
49
|
+
}
|
|
50
|
+
if (view === 'sources') {
|
|
51
|
+
return _jsx(ConfigSources, { workDir: workDir, onBack: () => setView('dashboard') });
|
|
52
|
+
}
|
|
53
|
+
// Dashboard view
|
|
54
|
+
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" })] }) }));
|
|
56
|
+
}
|
|
57
|
+
function padRight(s, width) {
|
|
58
|
+
return s.length >= width ? s : s + ' '.repeat(width - s.length);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=ToolsDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolsDashboard.js","sourceRoot":"","sources":["../../../../src/commands/tools-ui/ToolsDashboard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type CliToolsConfig } from '../../config/cli-tools-config.js';
|
|
2
|
+
export interface ToolsOverviewProps {
|
|
3
|
+
config: CliToolsConfig;
|
|
4
|
+
workDir: string;
|
|
5
|
+
onBack: () => void;
|
|
6
|
+
onReload: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function ToolsOverview({ config, workDir, onBack, onReload }: ToolsOverviewProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=ToolsOverview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolsOverview.d.ts","sourceRoot":"","sources":["../../../../src/commands/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,2CAyHtF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import { saveCliToolsConfig, DOMAIN_TAGS, } from '../../config/cli-tools-config.js';
|
|
5
|
+
export function ToolsOverview({ config, workDir, onBack, onReload }) {
|
|
6
|
+
const entries = Object.entries(config.tools);
|
|
7
|
+
const [cursor, setCursor] = useState(0);
|
|
8
|
+
const [mode, setMode] = useState('list');
|
|
9
|
+
const [tagCursor, setTagCursor] = useState(0);
|
|
10
|
+
const [editTags, setEditTags] = useState([]);
|
|
11
|
+
const [saving, setSaving] = useState(false);
|
|
12
|
+
useInput((input, key) => {
|
|
13
|
+
if (saving)
|
|
14
|
+
return;
|
|
15
|
+
if (mode === 'list') {
|
|
16
|
+
if (key.escape) {
|
|
17
|
+
onBack();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (key.upArrow)
|
|
21
|
+
setCursor(c => c > 0 ? c - 1 : entries.length - 1);
|
|
22
|
+
if (key.downArrow)
|
|
23
|
+
setCursor(c => c < entries.length - 1 ? c + 1 : 0);
|
|
24
|
+
if (input === 't' && entries.length > 0) {
|
|
25
|
+
// Enter tag editing for current tool
|
|
26
|
+
setEditTags([...(entries[cursor][1].tags ?? [])]);
|
|
27
|
+
setTagCursor(0);
|
|
28
|
+
setMode('edit-tags');
|
|
29
|
+
}
|
|
30
|
+
if (input === ' ' && entries.length > 0) {
|
|
31
|
+
// Toggle enabled
|
|
32
|
+
const [name, entry] = entries[cursor];
|
|
33
|
+
setSaving(true);
|
|
34
|
+
saveCliToolsConfig({ tools: { [name]: { ...entry, enabled: !entry.enabled } } }, 'global', workDir)
|
|
35
|
+
.then(() => { onReload(); setSaving(false); });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (mode === 'edit-tags') {
|
|
39
|
+
if (key.escape) {
|
|
40
|
+
setMode('list');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (key.upArrow)
|
|
44
|
+
setTagCursor(c => c > 0 ? c - 1 : DOMAIN_TAGS.length - 1);
|
|
45
|
+
if (key.downArrow)
|
|
46
|
+
setTagCursor(c => c < DOMAIN_TAGS.length - 1 ? c + 1 : 0);
|
|
47
|
+
if (input === ' ' || key.return) {
|
|
48
|
+
const tag = DOMAIN_TAGS[tagCursor];
|
|
49
|
+
setEditTags(prev => prev.includes(tag) ? prev.filter(t => t !== tag) : [...prev, tag]);
|
|
50
|
+
}
|
|
51
|
+
if (input === 's') {
|
|
52
|
+
// Save tags
|
|
53
|
+
const [name, entry] = entries[cursor];
|
|
54
|
+
setSaving(true);
|
|
55
|
+
saveCliToolsConfig({ tools: { [name]: { ...entry, tags: editTags } } }, 'global', workDir)
|
|
56
|
+
.then(() => { onReload(); setSaving(false); setMode('list'); });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
if (entries.length === 0) {
|
|
61
|
+
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
|
+
}
|
|
63
|
+
if (mode === 'edit-tags') {
|
|
64
|
+
const [name] = entries[cursor];
|
|
65
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Text, { bold: true, color: "cyan", children: ["Edit Tags: ", _jsx(Text, { color: "green", children: name })] }), _jsx(Text, { children: " " }), DOMAIN_TAGS.map((tag, i) => {
|
|
66
|
+
const selected = editTags.includes(tag);
|
|
67
|
+
const active = i === tagCursor;
|
|
68
|
+
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
|
+
}), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[\u2191\u2193] Navigate [Space] Toggle [s] Save [Esc] Cancel" })] }));
|
|
70
|
+
}
|
|
71
|
+
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
|
+
const active = i === cursor;
|
|
73
|
+
const color = active ? 'cyan' : undefined;
|
|
74
|
+
const statusIcon = entry.enabled ? '✓' : '✗';
|
|
75
|
+
const statusColor = entry.enabled ? 'green' : 'red';
|
|
76
|
+
const tags = entry.tags?.length ? entry.tags.join(', ') : '—';
|
|
77
|
+
const settings = entry.settingsFile || '—';
|
|
78
|
+
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..." })] }));
|
|
80
|
+
}
|
|
81
|
+
function pad(s, width) {
|
|
82
|
+
return s.length >= width ? s.slice(0, width) : s + ' '.repeat(width - s.length);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=ToolsOverview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolsOverview.js","sourceRoot":"","sources":["../../../../src/commands/tools-ui/ToolsOverview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/commands/tools.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6DzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe3D"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// `maestro delegate-config` — interactive TUI + CLI for delegate tool config
|
|
3
|
+
//
|
|
4
|
+
// Subcommands:
|
|
5
|
+
// maestro delegate-config → dashboard (TUI)
|
|
6
|
+
// maestro delegate-config show → print tools & roles summary (non-interactive)
|
|
7
|
+
// maestro delegate-config list → tools overview (TUI)
|
|
8
|
+
// maestro delegate-config roles → role mappings (TUI)
|
|
9
|
+
// maestro delegate-config register → register settings file (TUI)
|
|
10
|
+
// maestro delegate-config ref → command reference (TUI)
|
|
11
|
+
// maestro delegate-config config → global/workspace config sources (TUI)
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
async function launchTui(initialView = 'dashboard') {
|
|
14
|
+
const { render } = await import('ink');
|
|
15
|
+
const React = await import('react');
|
|
16
|
+
const { ToolsDashboard } = await import('./tools-ui/ToolsDashboard.js');
|
|
17
|
+
const { waitUntilExit } = render(React.createElement(ToolsDashboard, { workDir: process.cwd(), initialView }));
|
|
18
|
+
await waitUntilExit();
|
|
19
|
+
}
|
|
20
|
+
async function printShow(json) {
|
|
21
|
+
const { loadCliToolsConfig, selectToolByRole, getDefaultRoleMappings, DELEGATE_ROLES } = await import('../config/cli-tools-config.js');
|
|
22
|
+
const config = await loadCliToolsConfig(process.cwd());
|
|
23
|
+
const tools = Object.entries(config.tools);
|
|
24
|
+
const roles = getDefaultRoleMappings();
|
|
25
|
+
const userRoles = config.roles ?? {};
|
|
26
|
+
if (json) {
|
|
27
|
+
const out = {
|
|
28
|
+
tools: Object.fromEntries(tools.map(([name, e]) => [name, {
|
|
29
|
+
enabled: e.enabled, model: e.primaryModel, tags: e.tags,
|
|
30
|
+
...(e.settingsFile ? { settings: e.settingsFile } : {}),
|
|
31
|
+
...(e.baseTool ? { baseTool: e.baseTool } : {}),
|
|
32
|
+
}])),
|
|
33
|
+
roles: Object.fromEntries(DELEGATE_ROLES.map(r => {
|
|
34
|
+
const resolved = selectToolByRole(r, config);
|
|
35
|
+
const src = userRoles[r] ? 'user' : 'default';
|
|
36
|
+
return [r, { tool: resolved?.name ?? '(none)', source: src }];
|
|
37
|
+
})),
|
|
38
|
+
};
|
|
39
|
+
console.log(JSON.stringify(out, null, 2));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Text output
|
|
43
|
+
console.log('Tools:');
|
|
44
|
+
if (tools.length === 0) {
|
|
45
|
+
console.log(' (none configured)');
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
for (const [name, entry] of tools) {
|
|
49
|
+
const icon = entry.enabled ? '✓' : '✗';
|
|
50
|
+
const tags = entry.tags?.length ? `[${entry.tags.join(', ')}]` : '';
|
|
51
|
+
const settings = entry.settingsFile ? ` settings=${entry.settingsFile}` : '';
|
|
52
|
+
const base = entry.baseTool ? ` (→${entry.baseTool})` : '';
|
|
53
|
+
console.log(` ${icon} ${name.padEnd(14)} ${(entry.primaryModel || '—').padEnd(26)} ${tags}${settings}${base}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
console.log('\nRoles:');
|
|
57
|
+
for (const role of DELEGATE_ROLES) {
|
|
58
|
+
const resolved = selectToolByRole(role, config);
|
|
59
|
+
const src = userRoles[role] ? '*' : ' ';
|
|
60
|
+
console.log(` ${src}${role.padEnd(14)} → ${resolved?.name ?? '(none)'}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
export function registerToolsCommand(program) {
|
|
64
|
+
const cmd = program
|
|
65
|
+
.command('delegate-config')
|
|
66
|
+
.alias('dc')
|
|
67
|
+
.description('Interactive TUI for delegate tool configuration and role mappings')
|
|
68
|
+
.action(async () => launchTui('dashboard'));
|
|
69
|
+
cmd.command('show').description('Print tools & roles summary (non-interactive)')
|
|
70
|
+
.option('--json', 'Output as JSON')
|
|
71
|
+
.action(async (opts) => printShow(!!opts.json));
|
|
72
|
+
cmd.command('list').description('Tools overview').action(() => launchTui('tools'));
|
|
73
|
+
cmd.command('roles').description('Role mappings').action(() => launchTui('roles'));
|
|
74
|
+
cmd.command('register').description('Register settings file').action(() => launchTui('register'));
|
|
75
|
+
cmd.command('ref').description('Command reference').action(() => launchTui('reference'));
|
|
76
|
+
cmd.command('config').description('Config sources (global/workspace)').action(() => launchTui('sources'));
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/commands/tools.ts"],"names":[],"mappings":"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"}
|