@orchestrator-claude/cli 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -0
- package/dist/api-client/OrchestratorAPIClient.d.ts +111 -0
- package/dist/api-client/OrchestratorAPIClient.d.ts.map +1 -0
- package/dist/api-client/OrchestratorAPIClient.js +176 -0
- package/dist/api-client/OrchestratorAPIClient.js.map +1 -0
- package/dist/api-client/index.d.ts +11 -0
- package/dist/api-client/index.d.ts.map +1 -0
- package/dist/api-client/index.js +10 -0
- package/dist/api-client/index.js.map +1 -0
- package/dist/api-client/retry.d.ts +29 -0
- package/dist/api-client/retry.d.ts.map +1 -0
- package/dist/api-client/retry.js +85 -0
- package/dist/api-client/retry.js.map +1 -0
- package/dist/api-client/types.d.ts +148 -0
- package/dist/api-client/types.d.ts.map +1 -0
- package/dist/api-client/types.js +10 -0
- package/dist/api-client/types.js.map +1 -0
- package/dist/commands/AgentsCommand.d.ts +74 -0
- package/dist/commands/AgentsCommand.d.ts.map +1 -0
- package/dist/commands/AgentsCommand.js +170 -0
- package/dist/commands/AgentsCommand.js.map +1 -0
- package/dist/commands/InitCommand.d.ts +63 -0
- package/dist/commands/InitCommand.d.ts.map +1 -0
- package/dist/commands/InitCommand.js +150 -0
- package/dist/commands/InitCommand.js.map +1 -0
- package/dist/commands/MigrateCommand.d.ts +93 -0
- package/dist/commands/MigrateCommand.d.ts.map +1 -0
- package/dist/commands/MigrateCommand.js +260 -0
- package/dist/commands/MigrateCommand.js.map +1 -0
- package/dist/commands/StatusCommand.d.ts +61 -0
- package/dist/commands/StatusCommand.d.ts.map +1 -0
- package/dist/commands/StatusCommand.js +142 -0
- package/dist/commands/StatusCommand.js.map +1 -0
- package/dist/commands/TemplatesCommand.d.ts +69 -0
- package/dist/commands/TemplatesCommand.d.ts.map +1 -0
- package/dist/commands/TemplatesCommand.js +147 -0
- package/dist/commands/TemplatesCommand.js.map +1 -0
- package/dist/commands/WorkflowCommand.d.ts +82 -0
- package/dist/commands/WorkflowCommand.d.ts.map +1 -0
- package/dist/commands/WorkflowCommand.js +203 -0
- package/dist/commands/WorkflowCommand.js.map +1 -0
- package/dist/config/CLIConfig.d.ts +66 -0
- package/dist/config/CLIConfig.d.ts.map +1 -0
- package/dist/config/CLIConfig.js +60 -0
- package/dist/config/CLIConfig.js.map +1 -0
- package/dist/formatters/OutputFormatter.d.ts +102 -0
- package/dist/formatters/OutputFormatter.d.ts.map +1 -0
- package/dist/formatters/OutputFormatter.js +182 -0
- package/dist/formatters/OutputFormatter.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +249 -0
- package/dist/index.js.map +1 -0
- package/dist/templates/.gitkeep +0 -0
- package/dist/templates/TemplateEngine.d.ts +90 -0
- package/dist/templates/TemplateEngine.d.ts.map +1 -0
- package/dist/templates/TemplateEngine.js +149 -0
- package/dist/templates/TemplateEngine.js.map +1 -0
- package/dist/templates/base/CLAUDE.md.hbs +362 -0
- package/dist/templates/base/claude/agents/implementer.md +446 -0
- package/dist/templates/base/claude/agents/orchestrator.md +155 -0
- package/dist/templates/base/claude/agents/planner.md +348 -0
- package/dist/templates/base/claude/agents/researcher.md +390 -0
- package/dist/templates/base/claude/agents/reviewer.md +444 -0
- package/dist/templates/base/claude/agents/specifier.md +331 -0
- package/dist/templates/base/claude/agents/task-generator.md +382 -0
- package/dist/templates/base/claude/hooks/post-artifact-generate.sh +39 -0
- package/dist/templates/base/claude/hooks/post-implement-validate.sh +139 -0
- package/dist/templates/base/claude/hooks/post-phase-checkpoint.sh +322 -0
- package/dist/templates/base/claude/hooks/pre-agent-invoke.sh +34 -0
- package/dist/templates/base/claude/hooks/pre-phase-advance.sh +40 -0
- package/dist/templates/base/claude/hooks/track-agent-invocation.sh +230 -0
- package/dist/templates/base/claude/orchestrator-config.json +141 -0
- package/dist/templates/base/claude/settings.json +80 -0
- package/dist/templates/base/claude/skills/artifact-validator/SKILL.md +226 -0
- package/dist/templates/base/claude/skills/docs-guardian/SKILL.md +230 -0
- package/dist/templates/base/claude/skills/kb-lookup/SKILL.md +257 -0
- package/dist/templates/base/claude/skills/phase-gate-evaluator/SKILL.md +274 -0
- package/dist/templates/base/claude/skills/workflow-status/SKILL.md +322 -0
- package/dist/templates/base/docker-compose.yml.hbs +20 -0
- package/dist/templates/base/mcp.json.hbs +37 -0
- package/dist/templates/base/orchestrator/.state/.gitkeep +0 -0
- package/dist/templates/base/orchestrator-index.json.hbs +37 -0
- package/dist/templates/base/package.json.hbs +40 -0
- package/dist/templates/default/.orchestrator/orchestrator-index.json +19 -0
- package/dist/templates/default/README.md +58 -0
- package/dist/templates/default/docker-compose.yml +24 -0
- package/dist/templates/default/template.json +10 -0
- package/dist/templates/projects/api/files/index.ts.hbs +30 -0
- package/dist/templates/projects/api/files/server.ts.hbs +63 -0
- package/dist/templates/projects/api/files/tsconfig.json.hbs +27 -0
- package/dist/templates/projects/api/files/vitest.config.ts.hbs +28 -0
- package/dist/templates/projects/api/template.config.json +238 -0
- package/dist/templates/projects/api/template.config.ts +149 -0
- package/dist/templates/projects/cli/files/cli.ts.hbs +50 -0
- package/dist/templates/projects/cli/files/index.ts.hbs +8 -0
- package/dist/templates/projects/cli/files/tsconfig.json.hbs +27 -0
- package/dist/templates/projects/cli/files/vitest.config.ts.hbs +28 -0
- package/dist/templates/projects/cli/template.config.json +213 -0
- package/dist/templates/projects/cli/template.config.ts +126 -0
- package/dist/templates/projects/frontend/files/App.tsx.hbs +31 -0
- package/dist/templates/projects/frontend/files/index.html.hbs +13 -0
- package/dist/templates/projects/frontend/files/main.tsx.hbs +22 -0
- package/dist/templates/projects/frontend/files/tsconfig.json.hbs +34 -0
- package/dist/templates/projects/frontend/files/tsconfig.node.json.hbs +10 -0
- package/dist/templates/projects/frontend/files/vite.config.ts.hbs +19 -0
- package/dist/templates/projects/frontend/files/vitest.config.ts.hbs +36 -0
- package/dist/templates/projects/frontend/template.config.json +241 -0
- package/dist/templates/projects/frontend/template.config.ts +153 -0
- package/dist/templates/projects/minimal/files/claude-settings.json.hbs +20 -0
- package/dist/templates/projects/minimal/files/env.example.hbs +17 -0
- package/dist/templates/projects/minimal/files/gitignore.hbs +41 -0
- package/dist/templates/projects/minimal/files/index.ts.hbs +13 -0
- package/dist/templates/projects/minimal/files/tsconfig.json.hbs +27 -0
- package/dist/templates/projects/minimal/template.config.json +185 -0
- package/dist/templates/projects/minimal/template.config.ts +88 -0
- package/package.json +37 -0
- package/templates/.gitkeep +0 -0
- package/templates/base/CLAUDE.md.hbs +362 -0
- package/templates/base/claude/agents/implementer.md +446 -0
- package/templates/base/claude/agents/orchestrator.md +155 -0
- package/templates/base/claude/agents/planner.md +348 -0
- package/templates/base/claude/agents/researcher.md +390 -0
- package/templates/base/claude/agents/reviewer.md +444 -0
- package/templates/base/claude/agents/specifier.md +331 -0
- package/templates/base/claude/agents/task-generator.md +382 -0
- package/templates/base/claude/hooks/post-artifact-generate.sh +39 -0
- package/templates/base/claude/hooks/post-implement-validate.sh +139 -0
- package/templates/base/claude/hooks/post-phase-checkpoint.sh +322 -0
- package/templates/base/claude/hooks/pre-agent-invoke.sh +34 -0
- package/templates/base/claude/hooks/pre-phase-advance.sh +40 -0
- package/templates/base/claude/hooks/track-agent-invocation.sh +230 -0
- package/templates/base/claude/orchestrator-config.json +141 -0
- package/templates/base/claude/settings.json +80 -0
- package/templates/base/claude/skills/artifact-validator/SKILL.md +226 -0
- package/templates/base/claude/skills/docs-guardian/SKILL.md +230 -0
- package/templates/base/claude/skills/kb-lookup/SKILL.md +257 -0
- package/templates/base/claude/skills/phase-gate-evaluator/SKILL.md +274 -0
- package/templates/base/claude/skills/workflow-status/SKILL.md +322 -0
- package/templates/base/docker-compose.yml.hbs +20 -0
- package/templates/base/mcp.json.hbs +37 -0
- package/templates/base/orchestrator/.state/.gitkeep +0 -0
- package/templates/base/orchestrator-index.json.hbs +37 -0
- package/templates/base/package.json.hbs +40 -0
- package/templates/default/.orchestrator/orchestrator-index.json +19 -0
- package/templates/default/README.md +58 -0
- package/templates/default/docker-compose.yml +24 -0
- package/templates/default/template.json +10 -0
- package/templates/projects/api/files/index.ts.hbs +30 -0
- package/templates/projects/api/files/server.ts.hbs +63 -0
- package/templates/projects/api/files/tsconfig.json.hbs +27 -0
- package/templates/projects/api/files/vitest.config.ts.hbs +28 -0
- package/templates/projects/api/template.config.json +238 -0
- package/templates/projects/api/template.config.ts +149 -0
- package/templates/projects/cli/files/cli.ts.hbs +50 -0
- package/templates/projects/cli/files/index.ts.hbs +8 -0
- package/templates/projects/cli/files/tsconfig.json.hbs +27 -0
- package/templates/projects/cli/files/vitest.config.ts.hbs +28 -0
- package/templates/projects/cli/template.config.json +213 -0
- package/templates/projects/cli/template.config.ts +126 -0
- package/templates/projects/frontend/files/App.tsx.hbs +31 -0
- package/templates/projects/frontend/files/index.html.hbs +13 -0
- package/templates/projects/frontend/files/main.tsx.hbs +22 -0
- package/templates/projects/frontend/files/tsconfig.json.hbs +34 -0
- package/templates/projects/frontend/files/tsconfig.node.json.hbs +10 -0
- package/templates/projects/frontend/files/vite.config.ts.hbs +19 -0
- package/templates/projects/frontend/files/vitest.config.ts.hbs +36 -0
- package/templates/projects/frontend/template.config.json +241 -0
- package/templates/projects/frontend/template.config.ts +153 -0
- package/templates/projects/minimal/files/claude-settings.json.hbs +20 -0
- package/templates/projects/minimal/files/env.example.hbs +17 -0
- package/templates/projects/minimal/files/gitignore.hbs +41 -0
- package/templates/projects/minimal/files/index.ts.hbs +13 -0
- package/templates/projects/minimal/files/tsconfig.json.hbs +27 -0
- package/templates/projects/minimal/template.config.json +185 -0
- package/templates/projects/minimal/template.config.ts +88 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output Formatter
|
|
3
|
+
*
|
|
4
|
+
* Consistent formatting for CLI output with color support.
|
|
5
|
+
* Supports both human-readable and JSON output formats.
|
|
6
|
+
*
|
|
7
|
+
* @module formatters
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Table column definition
|
|
11
|
+
*/
|
|
12
|
+
export interface TableColumn {
|
|
13
|
+
header: string;
|
|
14
|
+
key: string;
|
|
15
|
+
width?: number;
|
|
16
|
+
align?: 'left' | 'right' | 'center';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Table data row
|
|
20
|
+
*/
|
|
21
|
+
export type TableRow = Record<string, string | number | boolean | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Output Formatter
|
|
24
|
+
*
|
|
25
|
+
* Provides consistent formatting methods for CLI output:
|
|
26
|
+
* - Colored messages (success, error, info, warn)
|
|
27
|
+
* - Formatted tables
|
|
28
|
+
* - JSON output support
|
|
29
|
+
*/
|
|
30
|
+
export declare class OutputFormatter {
|
|
31
|
+
private readonly jsonMode;
|
|
32
|
+
/**
|
|
33
|
+
* Create output formatter
|
|
34
|
+
*
|
|
35
|
+
* @param jsonMode - If true, output JSON instead of formatted text
|
|
36
|
+
*/
|
|
37
|
+
constructor(jsonMode?: boolean);
|
|
38
|
+
/**
|
|
39
|
+
* Format success message
|
|
40
|
+
*
|
|
41
|
+
* @param message - Success message
|
|
42
|
+
* @returns Formatted message
|
|
43
|
+
*/
|
|
44
|
+
success(message: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* Format error message
|
|
47
|
+
*
|
|
48
|
+
* @param message - Error message
|
|
49
|
+
* @returns Formatted message
|
|
50
|
+
*/
|
|
51
|
+
error(message: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Format info message
|
|
54
|
+
*
|
|
55
|
+
* @param message - Info message
|
|
56
|
+
* @returns Formatted message
|
|
57
|
+
*/
|
|
58
|
+
info(message: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Format warning message
|
|
61
|
+
*
|
|
62
|
+
* @param message - Warning message
|
|
63
|
+
* @returns Formatted message
|
|
64
|
+
*/
|
|
65
|
+
warn(message: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Format data as table
|
|
68
|
+
*
|
|
69
|
+
* @param data - Array of row objects
|
|
70
|
+
* @param columns - Column definitions (optional, auto-detected if not provided)
|
|
71
|
+
* @returns Formatted table
|
|
72
|
+
*/
|
|
73
|
+
table(data: TableRow[], columns?: TableColumn[]): string;
|
|
74
|
+
/**
|
|
75
|
+
* Format data as JSON
|
|
76
|
+
*
|
|
77
|
+
* @param data - Data to format
|
|
78
|
+
* @returns JSON string
|
|
79
|
+
*/
|
|
80
|
+
json(data: unknown): string;
|
|
81
|
+
/**
|
|
82
|
+
* Detect columns from data
|
|
83
|
+
*/
|
|
84
|
+
private detectColumns;
|
|
85
|
+
/**
|
|
86
|
+
* Calculate column widths
|
|
87
|
+
*/
|
|
88
|
+
private calculateColumnWidths;
|
|
89
|
+
/**
|
|
90
|
+
* Pad cell to width
|
|
91
|
+
*/
|
|
92
|
+
private padCell;
|
|
93
|
+
/**
|
|
94
|
+
* Capitalize first letter
|
|
95
|
+
*/
|
|
96
|
+
private capitalize;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Create default formatter (text mode)
|
|
100
|
+
*/
|
|
101
|
+
export declare function createFormatter(jsonMode?: boolean): OutputFormatter;
|
|
102
|
+
//# sourceMappingURL=OutputFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/OutputFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC;;;;OAIG;gBACS,QAAQ,UAAQ;IAI5B;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOhC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO9B;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO7B;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO7B;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM;IA0CxD;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM;IAI3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,OAAO;IAoBf;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,UAAQ,GAAG,eAAe,CAEjE"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output Formatter
|
|
3
|
+
*
|
|
4
|
+
* Consistent formatting for CLI output with color support.
|
|
5
|
+
* Supports both human-readable and JSON output formats.
|
|
6
|
+
*
|
|
7
|
+
* @module formatters
|
|
8
|
+
*/
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
/**
|
|
11
|
+
* Output Formatter
|
|
12
|
+
*
|
|
13
|
+
* Provides consistent formatting methods for CLI output:
|
|
14
|
+
* - Colored messages (success, error, info, warn)
|
|
15
|
+
* - Formatted tables
|
|
16
|
+
* - JSON output support
|
|
17
|
+
*/
|
|
18
|
+
export class OutputFormatter {
|
|
19
|
+
jsonMode;
|
|
20
|
+
/**
|
|
21
|
+
* Create output formatter
|
|
22
|
+
*
|
|
23
|
+
* @param jsonMode - If true, output JSON instead of formatted text
|
|
24
|
+
*/
|
|
25
|
+
constructor(jsonMode = false) {
|
|
26
|
+
this.jsonMode = jsonMode;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Format success message
|
|
30
|
+
*
|
|
31
|
+
* @param message - Success message
|
|
32
|
+
* @returns Formatted message
|
|
33
|
+
*/
|
|
34
|
+
success(message) {
|
|
35
|
+
if (this.jsonMode) {
|
|
36
|
+
return JSON.stringify({ status: 'success', message });
|
|
37
|
+
}
|
|
38
|
+
return chalk.green('✓ ' + message);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Format error message
|
|
42
|
+
*
|
|
43
|
+
* @param message - Error message
|
|
44
|
+
* @returns Formatted message
|
|
45
|
+
*/
|
|
46
|
+
error(message) {
|
|
47
|
+
if (this.jsonMode) {
|
|
48
|
+
return JSON.stringify({ status: 'error', message });
|
|
49
|
+
}
|
|
50
|
+
return chalk.red('✗ ' + message);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Format info message
|
|
54
|
+
*
|
|
55
|
+
* @param message - Info message
|
|
56
|
+
* @returns Formatted message
|
|
57
|
+
*/
|
|
58
|
+
info(message) {
|
|
59
|
+
if (this.jsonMode) {
|
|
60
|
+
return JSON.stringify({ status: 'info', message });
|
|
61
|
+
}
|
|
62
|
+
return chalk.blue('ℹ ' + message);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Format warning message
|
|
66
|
+
*
|
|
67
|
+
* @param message - Warning message
|
|
68
|
+
* @returns Formatted message
|
|
69
|
+
*/
|
|
70
|
+
warn(message) {
|
|
71
|
+
if (this.jsonMode) {
|
|
72
|
+
return JSON.stringify({ status: 'warning', message });
|
|
73
|
+
}
|
|
74
|
+
return chalk.yellow('⚠ ' + message);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Format data as table
|
|
78
|
+
*
|
|
79
|
+
* @param data - Array of row objects
|
|
80
|
+
* @param columns - Column definitions (optional, auto-detected if not provided)
|
|
81
|
+
* @returns Formatted table
|
|
82
|
+
*/
|
|
83
|
+
table(data, columns) {
|
|
84
|
+
if (data.length === 0) {
|
|
85
|
+
return this.info('No data to display');
|
|
86
|
+
}
|
|
87
|
+
if (this.jsonMode) {
|
|
88
|
+
return JSON.stringify(data, null, 2);
|
|
89
|
+
}
|
|
90
|
+
// Auto-detect columns if not provided
|
|
91
|
+
const cols = columns ?? this.detectColumns(data);
|
|
92
|
+
// Calculate column widths
|
|
93
|
+
const widths = this.calculateColumnWidths(data, cols);
|
|
94
|
+
// Build table
|
|
95
|
+
const lines = [];
|
|
96
|
+
// Header
|
|
97
|
+
const headerLine = cols
|
|
98
|
+
.map((col, i) => this.padCell(col.header, widths[i], col.align ?? 'left'))
|
|
99
|
+
.join(' ');
|
|
100
|
+
lines.push(chalk.bold(headerLine));
|
|
101
|
+
// Separator
|
|
102
|
+
const separator = cols.map((_, i) => '─'.repeat(widths[i])).join(' ');
|
|
103
|
+
lines.push(separator);
|
|
104
|
+
// Rows
|
|
105
|
+
for (const row of data) {
|
|
106
|
+
const rowLine = cols
|
|
107
|
+
.map((col, i) => {
|
|
108
|
+
const value = row[col.key] ?? '';
|
|
109
|
+
return this.padCell(String(value), widths[i], col.align ?? 'left');
|
|
110
|
+
})
|
|
111
|
+
.join(' ');
|
|
112
|
+
lines.push(rowLine);
|
|
113
|
+
}
|
|
114
|
+
return lines.join('\n');
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Format data as JSON
|
|
118
|
+
*
|
|
119
|
+
* @param data - Data to format
|
|
120
|
+
* @returns JSON string
|
|
121
|
+
*/
|
|
122
|
+
json(data) {
|
|
123
|
+
return JSON.stringify(data, null, 2);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Detect columns from data
|
|
127
|
+
*/
|
|
128
|
+
detectColumns(data) {
|
|
129
|
+
const keys = Object.keys(data[0]);
|
|
130
|
+
return keys.map((key) => ({
|
|
131
|
+
header: this.capitalize(key),
|
|
132
|
+
key,
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Calculate column widths
|
|
137
|
+
*/
|
|
138
|
+
calculateColumnWidths(data, columns) {
|
|
139
|
+
return columns.map((col) => {
|
|
140
|
+
if (col.width) {
|
|
141
|
+
return col.width;
|
|
142
|
+
}
|
|
143
|
+
// Calculate max width needed
|
|
144
|
+
const headerWidth = col.header.length;
|
|
145
|
+
const maxDataWidth = Math.max(...data.map((row) => String(row[col.key] ?? '').length));
|
|
146
|
+
return Math.max(headerWidth, maxDataWidth);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Pad cell to width
|
|
151
|
+
*/
|
|
152
|
+
padCell(value, width, align) {
|
|
153
|
+
if (value.length >= width) {
|
|
154
|
+
return value.substring(0, width);
|
|
155
|
+
}
|
|
156
|
+
const padding = width - value.length;
|
|
157
|
+
switch (align) {
|
|
158
|
+
case 'right':
|
|
159
|
+
return ' '.repeat(padding) + value;
|
|
160
|
+
case 'center': {
|
|
161
|
+
const leftPad = Math.floor(padding / 2);
|
|
162
|
+
const rightPad = padding - leftPad;
|
|
163
|
+
return ' '.repeat(leftPad) + value + ' '.repeat(rightPad);
|
|
164
|
+
}
|
|
165
|
+
default:
|
|
166
|
+
return value + ' '.repeat(padding);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Capitalize first letter
|
|
171
|
+
*/
|
|
172
|
+
capitalize(str) {
|
|
173
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Create default formatter (text mode)
|
|
178
|
+
*/
|
|
179
|
+
export function createFormatter(jsonMode = false) {
|
|
180
|
+
return new OutputFormatter(jsonMode);
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=OutputFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputFormatter.js","sourceRoot":"","sources":["../../src/formatters/OutputFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IACT,QAAQ,CAAU;IAEnC;;;;OAIG;IACH,YAAY,QAAQ,GAAG,KAAK;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAe;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAe;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,OAAe;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,OAAe;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAgB,EAAE,OAAuB;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,sCAAsC;QACtC,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEjD,0BAA0B;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEtD,cAAc;QACd,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,SAAS;QACT,MAAM,UAAU,GAAG,IAAI;aACpB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;aACzE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnC,YAAY;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtB,OAAO;QACP,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI;iBACjB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACd,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;YACrE,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAa;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAgB;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAC5B,GAAG;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,IAAgB,EAAE,OAAsB;QACpE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC,KAAK,CAAC;YACnB,CAAC;YAED,6BAA6B;YAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CACxD,CAAC;YAEF,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,KAAkC;QAC9E,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAErC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,OAAO;gBACV,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACrC,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;gBACnC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5D,CAAC;YACD;gBACE,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAAW;QAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAQ,GAAG,KAAK;IAC9C,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Orchestrator CLI - Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Thin client for the Orchestrator System.
|
|
6
|
+
* Registers all commands and delegates to specialized command handlers.
|
|
7
|
+
*
|
|
8
|
+
* @module cli
|
|
9
|
+
* @version 1.4.0
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* CLI version
|
|
13
|
+
*/
|
|
14
|
+
export declare const CLI_VERSION = "1.4.0";
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAaH;;GAEG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Orchestrator CLI - Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Thin client for the Orchestrator System.
|
|
6
|
+
* Registers all commands and delegates to specialized command handlers.
|
|
7
|
+
*
|
|
8
|
+
* @module cli
|
|
9
|
+
* @version 1.4.0
|
|
10
|
+
*/
|
|
11
|
+
import { Command } from 'commander';
|
|
12
|
+
import { InitCommand } from './commands/InitCommand.js';
|
|
13
|
+
import { TemplatesCommand } from './commands/TemplatesCommand.js';
|
|
14
|
+
import { StatusCommand } from './commands/StatusCommand.js';
|
|
15
|
+
import { WorkflowCommand } from './commands/WorkflowCommand.js';
|
|
16
|
+
import { AgentsCommand } from './commands/AgentsCommand.js';
|
|
17
|
+
import { MigrateCommand } from './commands/MigrateCommand.js';
|
|
18
|
+
import { TemplateEngine } from './templates/TemplateEngine.js';
|
|
19
|
+
import { OrchestratorAPIClient } from './api-client/OrchestratorAPIClient.js';
|
|
20
|
+
import { OutputFormatter } from './formatters/OutputFormatter.js';
|
|
21
|
+
/**
|
|
22
|
+
* CLI version
|
|
23
|
+
*/
|
|
24
|
+
export const CLI_VERSION = '1.4.0';
|
|
25
|
+
/**
|
|
26
|
+
* Main CLI function
|
|
27
|
+
*/
|
|
28
|
+
async function main() {
|
|
29
|
+
// Initialize program
|
|
30
|
+
const program = new Command();
|
|
31
|
+
program
|
|
32
|
+
.name('orchestrator')
|
|
33
|
+
.version(CLI_VERSION)
|
|
34
|
+
.description('Orchestrator CLI - Thin Client');
|
|
35
|
+
// Initialize shared dependencies
|
|
36
|
+
const templateEngine = new TemplateEngine(); // Uses default bundled templates
|
|
37
|
+
const apiClient = new OrchestratorAPIClient(); // Uses default config (localhost:3000)
|
|
38
|
+
const formatter = new OutputFormatter(false); // Human-readable output (not JSON)
|
|
39
|
+
// Initialize commands
|
|
40
|
+
const initCommand = new InitCommand(templateEngine, formatter);
|
|
41
|
+
const templatesCommand = new TemplatesCommand(templateEngine, formatter);
|
|
42
|
+
const statusCommand = new StatusCommand(apiClient, formatter);
|
|
43
|
+
const workflowCommand = new WorkflowCommand(apiClient, formatter);
|
|
44
|
+
const agentsCommand = new AgentsCommand(apiClient, formatter);
|
|
45
|
+
const migrateCommand = new MigrateCommand(templateEngine, formatter);
|
|
46
|
+
// Register: init command
|
|
47
|
+
program
|
|
48
|
+
.command('init <project-name>')
|
|
49
|
+
.description('Initialize a new Orchestrator project')
|
|
50
|
+
.option('-t, --template <name>', 'Template name', 'default')
|
|
51
|
+
.option('-o, --output-path <path>', 'Output directory', process.cwd())
|
|
52
|
+
.option('--orchestrator-version <version>', 'Orchestrator version', 'latest')
|
|
53
|
+
.option('--json', 'Output as JSON')
|
|
54
|
+
.action(async (projectName, options) => {
|
|
55
|
+
const result = await initCommand.execute({
|
|
56
|
+
projectName,
|
|
57
|
+
template: options.template,
|
|
58
|
+
outputPath: options.outputPath,
|
|
59
|
+
orchestratorVersion: options.orchestratorVersion,
|
|
60
|
+
jsonOutput: options.json,
|
|
61
|
+
});
|
|
62
|
+
if (options.json) {
|
|
63
|
+
console.log(JSON.stringify(result, null, 2));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
console.log(initCommand.formatResult(result));
|
|
67
|
+
}
|
|
68
|
+
process.exit(result.success ? 0 : 1);
|
|
69
|
+
});
|
|
70
|
+
// Register: templates command
|
|
71
|
+
const templates = program
|
|
72
|
+
.command('templates')
|
|
73
|
+
.description('Manage project templates');
|
|
74
|
+
templates
|
|
75
|
+
.command('list')
|
|
76
|
+
.description('List available templates')
|
|
77
|
+
.option('--json', 'Output as JSON')
|
|
78
|
+
.action(async (options) => {
|
|
79
|
+
const result = await templatesCommand.execute({ action: 'list', jsonOutput: options.json });
|
|
80
|
+
if (options.json) {
|
|
81
|
+
console.log(JSON.stringify(result, null, 2));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.log(templatesCommand.formatResult(result));
|
|
85
|
+
}
|
|
86
|
+
process.exit(result.success ? 0 : 1);
|
|
87
|
+
});
|
|
88
|
+
templates
|
|
89
|
+
.command('info <template-name>')
|
|
90
|
+
.description('Show template information')
|
|
91
|
+
.option('--json', 'Output as JSON')
|
|
92
|
+
.action(async (templateName, options) => {
|
|
93
|
+
const result = await templatesCommand.execute({
|
|
94
|
+
action: 'info',
|
|
95
|
+
templateName,
|
|
96
|
+
jsonOutput: options.json,
|
|
97
|
+
});
|
|
98
|
+
if (options.json) {
|
|
99
|
+
console.log(JSON.stringify(result, null, 2));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
console.log(templatesCommand.formatResult(result));
|
|
103
|
+
}
|
|
104
|
+
process.exit(result.success ? 0 : 1);
|
|
105
|
+
});
|
|
106
|
+
// Register: status command
|
|
107
|
+
program
|
|
108
|
+
.command('status')
|
|
109
|
+
.description('Check orchestrator system status')
|
|
110
|
+
.option('--json', 'Output as JSON')
|
|
111
|
+
.action(async (options) => {
|
|
112
|
+
const result = await statusCommand.execute({ jsonOutput: options.json });
|
|
113
|
+
if (options.json) {
|
|
114
|
+
console.log(JSON.stringify(result, null, 2));
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
console.log(statusCommand.formatResult(result));
|
|
118
|
+
}
|
|
119
|
+
process.exit(result.success ? 0 : 1);
|
|
120
|
+
});
|
|
121
|
+
// Register: workflow command
|
|
122
|
+
const workflow = program.command('workflow').description('Manage workflows');
|
|
123
|
+
workflow
|
|
124
|
+
.command('detect <prompt>')
|
|
125
|
+
.description('Detect workflow type from prompt')
|
|
126
|
+
.option('--json', 'Output as JSON')
|
|
127
|
+
.action(async (prompt, options) => {
|
|
128
|
+
const result = await workflowCommand.execute({
|
|
129
|
+
action: 'detect',
|
|
130
|
+
prompt,
|
|
131
|
+
jsonOutput: options.json,
|
|
132
|
+
});
|
|
133
|
+
if (options.json) {
|
|
134
|
+
console.log(JSON.stringify(result, null, 2));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
console.log(workflowCommand.formatResult(result));
|
|
138
|
+
}
|
|
139
|
+
process.exit(result.success ? 0 : 1);
|
|
140
|
+
});
|
|
141
|
+
workflow
|
|
142
|
+
.command('start')
|
|
143
|
+
.description('Start a new workflow')
|
|
144
|
+
.option('-p, --prompt <text>', 'Workflow prompt')
|
|
145
|
+
.option('-t, --type <type>', 'Workflow type (feature_development, bug_fix, refactoring, emergency_debug)')
|
|
146
|
+
.option('--json', 'Output as JSON')
|
|
147
|
+
.action(async (options) => {
|
|
148
|
+
const result = await workflowCommand.execute({
|
|
149
|
+
action: 'start',
|
|
150
|
+
prompt: options.prompt,
|
|
151
|
+
workflowType: options.type,
|
|
152
|
+
jsonOutput: options.json,
|
|
153
|
+
});
|
|
154
|
+
if (options.json) {
|
|
155
|
+
console.log(JSON.stringify(result, null, 2));
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
console.log(workflowCommand.formatResult(result));
|
|
159
|
+
}
|
|
160
|
+
process.exit(result.success ? 0 : 1);
|
|
161
|
+
});
|
|
162
|
+
workflow
|
|
163
|
+
.command('advance')
|
|
164
|
+
.description('Advance workflow to next phase')
|
|
165
|
+
.option('-w, --workflow-id <id>', 'Workflow ID (defaults to active workflow)')
|
|
166
|
+
.option('-p, --phase <phase>', 'Target phase')
|
|
167
|
+
.option('--json', 'Output as JSON')
|
|
168
|
+
.action(async (options) => {
|
|
169
|
+
const result = await workflowCommand.execute({
|
|
170
|
+
action: 'advance',
|
|
171
|
+
workflowId: options.workflowId,
|
|
172
|
+
targetPhase: options.phase,
|
|
173
|
+
jsonOutput: options.json,
|
|
174
|
+
});
|
|
175
|
+
if (options.json) {
|
|
176
|
+
console.log(JSON.stringify(result, null, 2));
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
console.log(workflowCommand.formatResult(result));
|
|
180
|
+
}
|
|
181
|
+
process.exit(result.success ? 0 : 1);
|
|
182
|
+
});
|
|
183
|
+
// Register: agents command
|
|
184
|
+
const agents = program.command('agents').description('List available agents');
|
|
185
|
+
agents
|
|
186
|
+
.command('list')
|
|
187
|
+
.description('List all available agents')
|
|
188
|
+
.option('--json', 'Output as JSON')
|
|
189
|
+
.action(async (options) => {
|
|
190
|
+
const result = await agentsCommand.execute({ action: 'list', jsonOutput: options.json });
|
|
191
|
+
if (options.json) {
|
|
192
|
+
console.log(JSON.stringify(result, null, 2));
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
console.log(agentsCommand.formatResult(result));
|
|
196
|
+
}
|
|
197
|
+
process.exit(result.success ? 0 : 1);
|
|
198
|
+
});
|
|
199
|
+
agents
|
|
200
|
+
.command('info <agent-name>')
|
|
201
|
+
.description('Show agent information')
|
|
202
|
+
.option('--json', 'Output as JSON')
|
|
203
|
+
.action(async (agentName, options) => {
|
|
204
|
+
const result = await agentsCommand.execute({
|
|
205
|
+
action: 'info',
|
|
206
|
+
agentName,
|
|
207
|
+
jsonOutput: options.json,
|
|
208
|
+
});
|
|
209
|
+
if (options.json) {
|
|
210
|
+
console.log(JSON.stringify(result, null, 2));
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
console.log(agentsCommand.formatResult(result));
|
|
214
|
+
}
|
|
215
|
+
process.exit(result.success ? 0 : 1);
|
|
216
|
+
});
|
|
217
|
+
// Register: migrate command
|
|
218
|
+
program
|
|
219
|
+
.command('migrate <project-path>')
|
|
220
|
+
.description('Migrate existing project to Orchestrator')
|
|
221
|
+
.option('--dry-run', 'Show what would be migrated without making changes')
|
|
222
|
+
.option('--json', 'Output as JSON')
|
|
223
|
+
.action(async (projectPath, options) => {
|
|
224
|
+
const result = await migrateCommand.execute({
|
|
225
|
+
projectPath,
|
|
226
|
+
dryRun: options.dryRun,
|
|
227
|
+
jsonOutput: options.json,
|
|
228
|
+
});
|
|
229
|
+
if (options.json) {
|
|
230
|
+
console.log(JSON.stringify(result, null, 2));
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
console.log(migrateCommand.formatResult(result));
|
|
234
|
+
}
|
|
235
|
+
process.exit(result.success ? 0 : 1);
|
|
236
|
+
});
|
|
237
|
+
// Parse arguments
|
|
238
|
+
await program.parseAsync(process.argv);
|
|
239
|
+
// If no command provided, show help
|
|
240
|
+
if (process.argv.length <= 2) {
|
|
241
|
+
program.help();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Run CLI
|
|
245
|
+
main().catch((error) => {
|
|
246
|
+
console.error('Fatal error:', error.message);
|
|
247
|
+
process.exit(1);
|
|
248
|
+
});
|
|
249
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Engine
|
|
3
|
+
*
|
|
4
|
+
* Renders templates using Handlebars and manages bundled templates.
|
|
5
|
+
* Used by offline commands (init, templates, migrate).
|
|
6
|
+
*
|
|
7
|
+
* @module templates
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Template metadata
|
|
11
|
+
*/
|
|
12
|
+
export interface TemplateMetadata {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
version: string;
|
|
16
|
+
files: string[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Template rendering context
|
|
20
|
+
*/
|
|
21
|
+
export interface TemplateContext {
|
|
22
|
+
projectName: string;
|
|
23
|
+
orchestratorVersion: string;
|
|
24
|
+
[key: string]: string | number | boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Template Engine
|
|
28
|
+
*
|
|
29
|
+
* Manages bundled templates and renders them with Handlebars.
|
|
30
|
+
*/
|
|
31
|
+
export declare class TemplateEngine {
|
|
32
|
+
private readonly templatesPath;
|
|
33
|
+
private readonly templates;
|
|
34
|
+
/**
|
|
35
|
+
* Create template engine
|
|
36
|
+
*
|
|
37
|
+
* @param templatesPath - Path to templates directory (default: bundled templates)
|
|
38
|
+
*/
|
|
39
|
+
constructor(templatesPath?: string);
|
|
40
|
+
/**
|
|
41
|
+
* List available templates
|
|
42
|
+
*
|
|
43
|
+
* @returns Array of template metadata
|
|
44
|
+
*/
|
|
45
|
+
listTemplates(): TemplateMetadata[];
|
|
46
|
+
/**
|
|
47
|
+
* Get template metadata
|
|
48
|
+
*
|
|
49
|
+
* @param name - Template name
|
|
50
|
+
* @returns Template metadata or undefined
|
|
51
|
+
*/
|
|
52
|
+
getTemplate(name: string): TemplateMetadata | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Render template file
|
|
55
|
+
*
|
|
56
|
+
* @param templateName - Template name
|
|
57
|
+
* @param fileName - File name within template
|
|
58
|
+
* @param context - Rendering context
|
|
59
|
+
* @returns Rendered content
|
|
60
|
+
*/
|
|
61
|
+
renderFile(templateName: string, fileName: string, context: TemplateContext): string;
|
|
62
|
+
/**
|
|
63
|
+
* Check if template exists
|
|
64
|
+
*
|
|
65
|
+
* @param name - Template name
|
|
66
|
+
* @returns True if template exists
|
|
67
|
+
*/
|
|
68
|
+
hasTemplate(name: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Resolve templates path
|
|
71
|
+
*
|
|
72
|
+
* Finds templates directory relative to this module.
|
|
73
|
+
* In production (bundled), templates are in dist/templates.
|
|
74
|
+
* In development, templates are in packages/cli/templates.
|
|
75
|
+
*/
|
|
76
|
+
private resolveTemplatesPath;
|
|
77
|
+
/**
|
|
78
|
+
* Load all templates from templates directory
|
|
79
|
+
*/
|
|
80
|
+
private loadTemplates;
|
|
81
|
+
/**
|
|
82
|
+
* Load template metadata
|
|
83
|
+
*/
|
|
84
|
+
private loadTemplateMetadata;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create default template engine
|
|
88
|
+
*/
|
|
89
|
+
export declare function createTemplateEngine(): TemplateEngine;
|
|
90
|
+
//# sourceMappingURL=TemplateEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateEngine.d.ts","sourceRoot":"","sources":["../../src/templates/TemplateEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC1C;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D;;;;OAIG;gBACS,aAAa,CAAC,EAAE,MAAM;IAMlC;;;;OAIG;IACH,aAAa,IAAI,gBAAgB,EAAE;IAInC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIvD;;;;;;;OAOG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM;IAiBpF;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAsB7B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|