maestro-flow 0.3.22 → 0.3.24
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 +68 -3
- package/dashboard/dist-server/src/config/cli-tools-config.js +248 -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 +28 -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 +68 -3
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +248 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/install.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/install.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsHzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2C7D"}
|
|
@@ -13,11 +13,12 @@
|
|
|
13
13
|
import { join, resolve } from 'node:path';
|
|
14
14
|
import { homedir } from 'node:os';
|
|
15
15
|
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
16
|
+
import { initCliToolsConfigSync } from '../config/cli-tools-config.js';
|
|
16
17
|
import { runInstallWizard, runInstallFlow } from './install-ui/index.js';
|
|
17
18
|
import { paths } from '../config/paths.js';
|
|
18
19
|
import { createManifest, addFile, saveManifest, findManifest, cleanManifestFiles, } from '../core/manifest.js';
|
|
19
20
|
import { installHooksByLevel, HOOK_LEVELS, } from './hooks.js';
|
|
20
|
-
import { getPackageRoot, scanComponents, scanDisabledItems, restoreDisabledState, applyOverlaysPostInstall, copyRecursive, createTargetBackup, } from './install-backend.js';
|
|
21
|
+
import { getPackageRoot, scanComponents, scanDisabledItems, restoreDisabledState, applyOverlaysPostInstall, copyRecursive, injectDocFile, createTargetBackup, } from './install-backend.js';
|
|
21
22
|
import { t } from '../i18n/index.js';
|
|
22
23
|
// ---------------------------------------------------------------------------
|
|
23
24
|
// Shared helpers
|
|
@@ -166,7 +167,7 @@ function forceInstall(pkgRoot, version, opts) {
|
|
|
166
167
|
// Clean previous
|
|
167
168
|
const existingManifest = findManifest(mode, targetPath);
|
|
168
169
|
if (existingManifest) {
|
|
169
|
-
const { removed, skipped } = cleanManifestFiles(existingManifest);
|
|
170
|
+
const { removed, skipped } = cleanManifestFiles(existingManifest, { skipContentManaged: true });
|
|
170
171
|
if (removed > 0) {
|
|
171
172
|
let msg = t.install.forceCleaned.replace('{count}', String(removed));
|
|
172
173
|
if (skipped > 0)
|
|
@@ -181,9 +182,21 @@ function forceInstall(pkgRoot, version, opts) {
|
|
|
181
182
|
selectedComponentIds: toInstall.map(c => c.def.id),
|
|
182
183
|
});
|
|
183
184
|
const totalStats = { files: 0, dirs: 0, skipped: 0 };
|
|
185
|
+
const migrationWarnings = [];
|
|
184
186
|
for (const comp of toInstall) {
|
|
185
187
|
console.error(` ${comp.def.label} → ${comp.targetDir}`);
|
|
186
|
-
|
|
188
|
+
if (comp.def.inject) {
|
|
189
|
+
const result = injectDocFile(comp.sourceFull, comp.targetDir, totalStats, manifest, comp.def.section);
|
|
190
|
+
if (result.action === 'migrated') {
|
|
191
|
+
console.error(` ✓ migrated legacy ${comp.def.label} to tag-based injection`);
|
|
192
|
+
}
|
|
193
|
+
if (result.warning) {
|
|
194
|
+
migrationWarnings.push(result.warning);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
copyRecursive(comp.sourceFull, comp.targetDir, totalStats, manifest);
|
|
199
|
+
}
|
|
187
200
|
}
|
|
188
201
|
// Version marker
|
|
189
202
|
const versionData = {
|
|
@@ -218,6 +231,18 @@ function forceInstall(pkgRoot, version, opts) {
|
|
|
218
231
|
if (overlaysAppliedCount > 0)
|
|
219
232
|
parts.push(`${overlaysAppliedCount} overlays applied`);
|
|
220
233
|
console.error(t.install.forceResult.replace('{summary}', parts.join(', ')));
|
|
234
|
+
// Migration warnings
|
|
235
|
+
if (migrationWarnings.length > 0) {
|
|
236
|
+
console.error('');
|
|
237
|
+
console.error(' ⚠ Migration warnings:');
|
|
238
|
+
for (const w of migrationWarnings) {
|
|
239
|
+
console.error(` ${w}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// CLI tools config (idempotent — skips if exists)
|
|
243
|
+
if (initCliToolsConfigSync()) {
|
|
244
|
+
console.error(' Initialized cli-tools.json (auto-detected CLI availability)');
|
|
245
|
+
}
|
|
221
246
|
console.error('');
|
|
222
247
|
console.error(t.install.forceDone);
|
|
223
248
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/install.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CliToolsConfig } from '../../config/cli-tools-config.js';
|
|
2
|
+
export interface CommandReferenceProps {
|
|
3
|
+
config: CliToolsConfig;
|
|
4
|
+
onBack: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function CommandReference({ config, onBack }: CommandReferenceProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=CommandReference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandReference.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools-ui/CommandReference.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAuBD,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,qBAAqB,2CAsCzE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text, useInput } from 'ink';
|
|
3
|
+
import { selectToolByRole, } from '../../config/cli-tools-config.js';
|
|
4
|
+
// Static mapping of known --role references in commands/skills
|
|
5
|
+
const KNOWN_ROLE_REFS = [
|
|
6
|
+
{ command: 'maestro-analyze', role: 'analyze' },
|
|
7
|
+
{ command: 'maestro-composer', role: 'analyze' },
|
|
8
|
+
{ command: 'maestro-super', role: 'analyze' },
|
|
9
|
+
{ command: 'issue-discover', role: 'analyze' },
|
|
10
|
+
{ command: 'team-review/scanner', role: 'review' },
|
|
11
|
+
{ command: 'team-review/reviewer', role: 'review' },
|
|
12
|
+
{ command: 'team-qa/scout', role: 'analyze' },
|
|
13
|
+
{ command: 'team-tech-debt/scanner', role: 'explore' },
|
|
14
|
+
{ command: 'spec-generate (product)', role: 'analyze' },
|
|
15
|
+
{ command: 'spec-generate (technical)', role: 'review' },
|
|
16
|
+
{ command: 'spec-generate (user)', role: 'explore' },
|
|
17
|
+
];
|
|
18
|
+
export function CommandReference({ config, onBack }) {
|
|
19
|
+
useInput((_input, key) => {
|
|
20
|
+
if (key.escape)
|
|
21
|
+
onBack();
|
|
22
|
+
});
|
|
23
|
+
const entries = KNOWN_ROLE_REFS.map(ref => ({
|
|
24
|
+
command: ref.command,
|
|
25
|
+
role: ref.role,
|
|
26
|
+
resolvesTo: selectToolByRole(ref.role, config)?.name ?? '(none)',
|
|
27
|
+
}));
|
|
28
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Command Reference" }), _jsx(Text, { dimColor: true, children: "Shows which tool each command/skill resolves to via --role" }), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { dimColor: true, children: pad('Command / Skill', 32) }), _jsx(Text, { dimColor: true, children: pad('Role', 24) }), _jsx(Text, { dimColor: true, children: "Resolves To" })] }), _jsx(Text, { dimColor: true, children: '─'.repeat(76) }), entries.map((entry, i) => (_jsxs(Box, { gap: 1, children: [_jsx(Text, { children: pad(entry.command, 32) }), _jsx(Text, { color: "yellow", children: pad(entry.role, 24) }), _jsx(Text, { color: "green", bold: true, children: entry.resolvesTo })] }, i))), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "[Esc] Back" })] }));
|
|
29
|
+
}
|
|
30
|
+
function pad(s, width) {
|
|
31
|
+
return s.length >= width ? s.slice(0, width) : s + ' '.repeat(width - s.length);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=CommandReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommandReference.js","sourceRoot":"","sources":["../../../../src/commands/tools-ui/CommandReference.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigSources.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools-ui/ConfigSources.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CA0CpE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import { loadConfigSources, } from '../../config/cli-tools-config.js';
|
|
5
|
+
export function ConfigSources({ workDir, onBack }) {
|
|
6
|
+
const [data, setData] = useState(null);
|
|
7
|
+
useEffect(() => { loadConfigSources(workDir).then(setData); }, []);
|
|
8
|
+
useInput((_input, key) => { if (key.escape)
|
|
9
|
+
onBack(); });
|
|
10
|
+
if (!data)
|
|
11
|
+
return _jsx(Text, { dimColor: true, children: "Loading..." });
|
|
12
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Config Sources" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Global" }), _jsxs(Text, { dimColor: true, children: [" ", data.globalPath] }), data.global ? (_jsx(ConfigSection, { config: data.global, indent: 2, prefix: "g" })) : (_jsx(Text, { dimColor: true, color: "yellow", children: " (not found)" })), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Workspace" }), _jsxs(Text, { dimColor: true, children: [" ", data.workspacePath ?? `${workDir}/.maestro/cli-tools.json`] }), data.workspace ? (_jsx(ConfigSection, { config: data.workspace, indent: 2, prefix: "w" })) : (_jsx(Text, { dimColor: true, color: "yellow", children: " (not found)" })), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Workspace overrides global. [Esc] Back" })] }));
|
|
13
|
+
}
|
|
14
|
+
function ConfigSection({ config, indent, prefix }) {
|
|
15
|
+
const pad = ' '.repeat(indent);
|
|
16
|
+
const tools = config.tools ? Object.entries(config.tools) : [];
|
|
17
|
+
const roles = config.roles ? Object.entries(config.roles) : [];
|
|
18
|
+
return (_jsxs(Box, { flexDirection: "column", children: [tools.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { children: [pad, _jsx(Text, { color: "cyan", children: "tools:" })] }), tools.map(([name, entry]) => (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { children: [pad, " "] }), _jsx(Text, { color: entry.enabled ? 'green' : 'red', children: entry.enabled ? '✓' : '✗' }), _jsx(Text, { bold: true, children: name }), entry.primaryModel ? _jsxs(Text, { dimColor: true, children: ["model=", entry.primaryModel] }) : null, entry.tags?.length ? _jsxs(Text, { color: "yellow", children: ["[", entry.tags.join(','), "]"] }) : null, entry.settingsFile ? _jsxs(Text, { dimColor: true, children: ["settings=", entry.settingsFile] }) : null] }, `${prefix}-t-${name}`)))] })), roles.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { children: [pad, _jsx(Text, { color: "cyan", children: "roles:" })] }), roles.map(([name, mapping]) => {
|
|
19
|
+
const detail = mapping.tool
|
|
20
|
+
? `→ ${mapping.tool}`
|
|
21
|
+
: mapping.fallbackChain
|
|
22
|
+
? mapping.fallbackChain.join(' → ')
|
|
23
|
+
: '(empty)';
|
|
24
|
+
return (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { children: [pad, " "] }), _jsx(Text, { bold: true, children: name }), _jsx(Text, { dimColor: true, children: detail })] }, `${prefix}-r-${name}`));
|
|
25
|
+
})] })), tools.length === 0 && roles.length === 0 && (_jsxs(Text, { dimColor: true, children: [pad, "(empty config)"] }))] }));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ConfigSources.js.map
|
|
@@ -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":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,cAAc,GAEf,MAAM,kCAAkC,CAAC;AAU1C,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAyB;IACjF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE3C,mBAAmB;IACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnE,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAErC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,OAAO;gBAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/E,IAAI,GAAG,CAAC,SAAS;gBAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,EAAE,EAAE,YAAY;oBAAE,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBAC/C,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YACD,qBAAqB;YACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBACzC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,EAAE,EAAE,YAAY;oBAAE,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBAC/C,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,IAAI,KAAK,KAAK,GAAG;gBAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,GAAG;gBAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM;gBAAE,MAAM,EAAE,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACvD,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,kCAAkC;YAClC,OAAO,CAAC,EAAE,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/B,IAAI,EAAE,EAAE,YAAY;gBAAE,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAC/C,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC;YAC1E,CAAC,CAAC,OAAO,CAAC;QAEZ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,QAAQ,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAE/E,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,KAA6B,EAAE,EAAE;QACrD,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,KAAK,QAAQ,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACnG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBACnC,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY;gBAC5D,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;gBACpC,IAAI,EAAE,SAAS;aAChB,CAAC;YAEF,MAAM,UAAU,GAAG;gBACjB,GAAG,KAAK;gBACR,YAAY,EAAE,IAAI;gBAClB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3C,CAAC;YAEF,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAEnE,MAAM,kBAAkB,CACtB,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAClF,KAAK,EACL,OAAO,CACR,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,UAAU,CAAC,GAAG,KAAK,GAAG,OAAO,MAAM,IAAI,aAAa,KAAK,EAAE,CAAC,CAAC;YAC7D,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,2CAAkC,EACzD,KAAC,IAAI,oBAAS,EAEb,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,8BACE,KAAC,IAAI,IAAC,QAAQ,wCAAyB,EACtC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACjB,MAAC,GAAG,IAAc,GAAG,EAAE,CAAC,aACtB,KAAC,IAAI,IAAC,QAAQ,yBAAU,EACxB,KAAC,IAAI,IAAC,IAAI,kBAAE,CAAC,CAAC,IAAI,GAAQ,EAC1B,MAAC,IAAI,IAAC,QAAQ,8BAAI,CAAC,CAAC,QAAQ,IAAQ,KAH5B,CAAC,CAAC,IAAI,CAIV,CACP,CAAC,EACF,KAAC,IAAI,oBAAS,IACb,CACJ,EAEA,KAAK,KAAK,MAAM,IAAI,CACnB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACT,KAAC,IAAI,wBAAa,EAClB,KAAC,SAAS,IACR,WAAW,EAAC,wCAAwC,EACpD,QAAQ,EAAE,gBAAgB,GAC1B,IACE,EACL,KAAK,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,mBAAI,KAAK,IAAQ,EAC5C,KAAC,IAAI,IAAC,QAAQ,6EAA4D,IACtE,CACP,EAEA,KAAK,KAAK,MAAM,IAAI,CACnB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,wBAAa,EAAA,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,YAAE,KAAK,GAAQ,IAAM,EAC5E,KAAC,IAAI,kCAAuB,EAC3B,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,MAAC,GAAG,IAAS,GAAG,EAAE,CAAC,aACjB,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,aAC/C,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAG,CAAC,GAAG,CAAC,SAClC,EACP,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,KAAK,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAAG,CAAC,GAAQ,KAJ9E,CAAC,CAKL,CACP,CAAC,EACF,KAAC,IAAI,IAAC,QAAQ,6EAAoD,IAC9D,CACP,EAEA,KAAK,KAAK,MAAM,IAAI,CACnB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,wBAAa,EAAA,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,YAAE,KAAK,GAAQ,IAAM,EAC3E,IAAI,IAAI,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,wBAAa,EAAA,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,GAAQ,IAAM,EAChF,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACT,KAAC,IAAI,wBAAa,EAClB,KAAC,SAAS,IACR,YAAY,EAAE,IAAI,EAClB,WAAW,EAAC,0CAA0C,EACtD,QAAQ,EAAE,gBAAgB,GAC1B,IACE,EACL,KAAK,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,mBAAI,KAAK,IAAQ,IACxC,CACP,EAEA,KAAK,KAAK,OAAO,IAAI,CACpB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,wBAAa,EAAA,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,YAAE,KAAK,GAAQ,IAAM,EAC3E,IAAI,IAAI,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,wBAAa,EAAA,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,GAAQ,IAAM,EAChF,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,wBAAa,EAAA,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,GAAQ,IAAM,EACjE,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,2BAAgB,EACrB,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,oBAAW,EAAA,KAAC,IAAI,yBAAc,IAAM,EACnE,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aAAE,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,oBAAW,EAAA,KAAC,IAAI,0BAAe,IAAM,IAChE,CACP,EAEA,KAAK,KAAK,QAAQ,IAAI,KAAC,IAAI,IAAC,QAAQ,gCAAiB,EAErD,KAAK,KAAK,MAAM,IAAI,CACnB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBAAI,OAAO,IAAQ,EACtC,KAAC,IAAI,IAAC,QAAQ,mCAAoB,IAC9B,CACP,EAEA,KAAK,KAAK,OAAO,IAAI,CACpB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAI,KAAK,IAAQ,EAClC,KAAC,IAAI,IAAC,QAAQ,mCAAoB,IAC9B,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -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":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,GAGf,MAAM,kCAAkC,CAAC;AAW1C,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAqB;IACnF,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,CAAC,GAAG,cAAc,CAAa,CAAC;IAE9C,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,MAAM;YAAE,OAAO;QAEnB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrC,IAAI,GAAG,CAAC,OAAO;gBAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,GAAG,CAAC,SAAS;gBAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAChC,oCAAoC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,OAAO,EAAE,aAAa,IAAI,YAAY,CAAC;gBACrD,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBACzB,cAAc,CAAC,CAAC,CAAC,CAAC;gBAClB,OAAO,CAAC,YAAY,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC5C,IAAI,GAAG,CAAC,OAAO;gBAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC3E,IAAI,GAAG,CAAC,SAAS;gBAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7E,gCAAgC;YAChC,IAAI,KAAK,KAAK,GAAG,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACrC,YAAY,CAAC,IAAI,CAAC,EAAE;oBAClB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACtB,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpF,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,IAAI,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,YAAY,CAAC,IAAI,CAAC,EAAE;oBAClB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;oBACtB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;oBACpF,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,CAAC;YAED,yBAAyB;YACzB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,IAAI,IAAI,EAAE,CAAC;oBACT,0BAA0B;oBAC1B,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,4BAA4B;gBAC5B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;oBAC/D,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChB,kBAAkB,CAChB,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,EACnD,QAAQ,EACR,OAAO,CACR,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,sCAAsB,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,IAAI,GAAQ,IAAO,EACrF,KAAC,IAAI,IAAC,QAAQ,uDAAwC,EACtD,KAAC,IAAI,oBAAS,EACb,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACzB,MAAM,MAAM,GAAG,CAAC,KAAK,WAAW,CAAC;oBACjC,OAAO,CACL,MAAC,GAAG,IAAsB,GAAG,EAAE,CAAC,aAC9B,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,aACrC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,CAAC,GAAG,CAAC,SACtB,EACP,KAAC,IAAI,IAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAAG,IAAI,GAAQ,KAJjF,GAAG,IAAI,IAAI,CAAC,EAAE,CAKlB,CACP,CAAC;gBACJ,CAAC,CAAC,EACF,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,QAAQ,0GAAiF,EAC9F,MAAM,IAAI,KAAC,IAAI,IAAC,QAAQ,gCAAiB,IACtC,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,8BAAqB,EAC5C,KAAC,IAAI,oBAAS,EAEd,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,aACT,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAQ,EACzC,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,GAAQ,EAC3C,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAQ,EACzC,KAAC,IAAI,IAAC,QAAQ,qCAAsB,IAChC,EACN,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,EAErC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACrB,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC;gBAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjG,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEpD,OAAO,CACL,MAAC,GAAG,IAAY,GAAG,EAAE,CAAC,aACpB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,EACrE,KAAC,IAAI,IAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAQ,EAC9E,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,EAAE,CAAC,GAAQ,EAChE,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,YAClF,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,GACX,EACP,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,GAAQ,KAPrB,IAAI,CAQR,CACP,CAAC;YACJ,CAAC,CAAC,EAEF,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,QAAQ,gFAAuD,IACjE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,GAAG,CAAC,CAAS,EAAE,KAAa;IACnC,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -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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"}
|