@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,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Templates Command
|
|
3
|
+
*
|
|
4
|
+
* List and show information about available templates.
|
|
5
|
+
* Works offline (no API required).
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Templates Command
|
|
11
|
+
*
|
|
12
|
+
* Lists available templates and shows template details.
|
|
13
|
+
* All operations are offline (no API calls).
|
|
14
|
+
*/
|
|
15
|
+
export class TemplatesCommand {
|
|
16
|
+
templateEngine;
|
|
17
|
+
formatter;
|
|
18
|
+
/**
|
|
19
|
+
* Create templates command
|
|
20
|
+
*
|
|
21
|
+
* @param templateEngine - Template engine instance
|
|
22
|
+
* @param formatter - Output formatter instance
|
|
23
|
+
*/
|
|
24
|
+
constructor(templateEngine, formatter) {
|
|
25
|
+
this.templateEngine = templateEngine;
|
|
26
|
+
this.formatter = formatter;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Execute templates command
|
|
30
|
+
*
|
|
31
|
+
* @param options - Templates options
|
|
32
|
+
* @returns Templates result
|
|
33
|
+
*/
|
|
34
|
+
async execute(options) {
|
|
35
|
+
try {
|
|
36
|
+
switch (options.action) {
|
|
37
|
+
case 'list':
|
|
38
|
+
return this.listTemplates();
|
|
39
|
+
case 'info':
|
|
40
|
+
return this.getTemplateInfo(options.templateName);
|
|
41
|
+
default:
|
|
42
|
+
return {
|
|
43
|
+
success: false,
|
|
44
|
+
message: `Unknown action: ${options.action}`,
|
|
45
|
+
error: `Action "${options.action}" is not supported. Use "list" or "info".`,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
51
|
+
return {
|
|
52
|
+
success: false,
|
|
53
|
+
message: `Failed to execute templates command: ${errorMessage}`,
|
|
54
|
+
error: errorMessage,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* List all available templates
|
|
60
|
+
*/
|
|
61
|
+
listTemplates() {
|
|
62
|
+
const templates = this.templateEngine.listTemplates();
|
|
63
|
+
if (templates.length === 0) {
|
|
64
|
+
return {
|
|
65
|
+
success: true,
|
|
66
|
+
message: 'No templates available',
|
|
67
|
+
templates: [],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
success: true,
|
|
72
|
+
message: `Found ${templates.length} template(s)`,
|
|
73
|
+
templates,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get template information
|
|
78
|
+
*/
|
|
79
|
+
getTemplateInfo(templateName) {
|
|
80
|
+
if (!templateName) {
|
|
81
|
+
return {
|
|
82
|
+
success: false,
|
|
83
|
+
message: 'Template name is required',
|
|
84
|
+
error: 'Please specify a template name. Example: orchestrator templates info default',
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const template = this.templateEngine.getTemplate(templateName);
|
|
88
|
+
if (!template) {
|
|
89
|
+
return {
|
|
90
|
+
success: false,
|
|
91
|
+
message: `Template not found: ${templateName}`,
|
|
92
|
+
error: `Template "${templateName}" does not exist. Use "orchestrator templates list" to see available templates.`,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
success: true,
|
|
97
|
+
message: `Template information: ${templateName}`,
|
|
98
|
+
template,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Format result for output
|
|
103
|
+
*/
|
|
104
|
+
formatResult(result) {
|
|
105
|
+
if (!result.success) {
|
|
106
|
+
return this.formatter.error(result.message);
|
|
107
|
+
}
|
|
108
|
+
// List action
|
|
109
|
+
if (result.templates) {
|
|
110
|
+
if (result.templates.length === 0) {
|
|
111
|
+
return this.formatter.info('No templates available');
|
|
112
|
+
}
|
|
113
|
+
const tableData = result.templates.map((template) => ({
|
|
114
|
+
name: template.name,
|
|
115
|
+
version: template.version,
|
|
116
|
+
description: template.description,
|
|
117
|
+
files: template.files.length,
|
|
118
|
+
}));
|
|
119
|
+
return this.formatter.table(tableData, [
|
|
120
|
+
{ header: 'Name', key: 'name' },
|
|
121
|
+
{ header: 'Version', key: 'version' },
|
|
122
|
+
{ header: 'Description', key: 'description' },
|
|
123
|
+
{ header: 'Files', key: 'files', align: 'right' },
|
|
124
|
+
]);
|
|
125
|
+
}
|
|
126
|
+
// Info action
|
|
127
|
+
if (result.template) {
|
|
128
|
+
const lines = [
|
|
129
|
+
this.formatter.info(`Template: ${result.template.name}`),
|
|
130
|
+
'',
|
|
131
|
+
`Description: ${result.template.description}`,
|
|
132
|
+
`Version: ${result.template.version}`,
|
|
133
|
+
'',
|
|
134
|
+
'Files included:',
|
|
135
|
+
];
|
|
136
|
+
for (const file of result.template.files) {
|
|
137
|
+
lines.push(` - ${file}`);
|
|
138
|
+
}
|
|
139
|
+
lines.push('');
|
|
140
|
+
lines.push('Usage:');
|
|
141
|
+
lines.push(` orchestrator init --template ${result.template.name}`);
|
|
142
|
+
return lines.join('\n');
|
|
143
|
+
}
|
|
144
|
+
return this.formatter.success(result.message);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=TemplatesCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplatesCommand.js","sourceRoot":"","sources":["../../src/commands/TemplatesCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Command
|
|
3
|
+
*
|
|
4
|
+
* Manage workflows: detect, start, advance.
|
|
5
|
+
* Requires API connection.
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
import { OrchestratorAPIClient } from '../api-client/OrchestratorAPIClient.js';
|
|
10
|
+
import type { DetectResponse, WorkflowResponse, AdvancePhaseResponse } from '../api-client/types.js';
|
|
11
|
+
import { OutputFormatter } from '../formatters/OutputFormatter.js';
|
|
12
|
+
/**
|
|
13
|
+
* Workflow command actions
|
|
14
|
+
*/
|
|
15
|
+
export type WorkflowAction = 'detect' | 'start' | 'advance';
|
|
16
|
+
/**
|
|
17
|
+
* Workflow command options
|
|
18
|
+
*/
|
|
19
|
+
export interface WorkflowOptions {
|
|
20
|
+
action: WorkflowAction;
|
|
21
|
+
prompt?: string;
|
|
22
|
+
workflowType?: 'feature_development' | 'bug_fix' | 'refactoring' | 'emergency_debug';
|
|
23
|
+
workflowId?: string;
|
|
24
|
+
targetPhase?: string;
|
|
25
|
+
jsonOutput?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Workflow command result
|
|
29
|
+
*/
|
|
30
|
+
export interface WorkflowResult {
|
|
31
|
+
success: boolean;
|
|
32
|
+
message: string;
|
|
33
|
+
detection?: DetectResponse;
|
|
34
|
+
workflow?: WorkflowResponse;
|
|
35
|
+
advance?: AdvancePhaseResponse;
|
|
36
|
+
error?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Workflow Command
|
|
40
|
+
*
|
|
41
|
+
* Manages workflow operations through the API.
|
|
42
|
+
* Always checks healthcheck before operations.
|
|
43
|
+
*/
|
|
44
|
+
export declare class WorkflowCommand {
|
|
45
|
+
private readonly apiClient;
|
|
46
|
+
private readonly formatter;
|
|
47
|
+
/**
|
|
48
|
+
* Create workflow command
|
|
49
|
+
*
|
|
50
|
+
* @param apiClient - API client instance
|
|
51
|
+
* @param formatter - Output formatter instance
|
|
52
|
+
*/
|
|
53
|
+
constructor(apiClient: OrchestratorAPIClient, formatter: OutputFormatter);
|
|
54
|
+
/**
|
|
55
|
+
* Execute workflow command
|
|
56
|
+
*
|
|
57
|
+
* @param options - Workflow options
|
|
58
|
+
* @returns Workflow result
|
|
59
|
+
*/
|
|
60
|
+
execute(options: WorkflowOptions): Promise<WorkflowResult>;
|
|
61
|
+
/**
|
|
62
|
+
* Detect workflow type from prompt
|
|
63
|
+
*/
|
|
64
|
+
private detectWorkflow;
|
|
65
|
+
/**
|
|
66
|
+
* Start a new workflow
|
|
67
|
+
*/
|
|
68
|
+
private startWorkflow;
|
|
69
|
+
/**
|
|
70
|
+
* Advance workflow to next phase
|
|
71
|
+
*/
|
|
72
|
+
private advancePhase;
|
|
73
|
+
/**
|
|
74
|
+
* Check API health
|
|
75
|
+
*/
|
|
76
|
+
private checkHealth;
|
|
77
|
+
/**
|
|
78
|
+
* Format result for output
|
|
79
|
+
*/
|
|
80
|
+
formatResult(result: WorkflowResult): string;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=WorkflowCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowCommand.d.ts","sourceRoot":"","sources":["../../src/commands/WorkflowCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,aAAa,GAAG,iBAAiB,CAAC;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAE5C;;;;;OAKG;gBACS,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,eAAe;IAKxE;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAqChE;;OAEG;YACW,cAAc;IAkB5B;;OAEG;YACW,aAAa;IA6B3B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;YACW,WAAW;IAYzB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;CA4D7C"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Command
|
|
3
|
+
*
|
|
4
|
+
* Manage workflows: detect, start, advance.
|
|
5
|
+
* Requires API connection.
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Workflow Command
|
|
11
|
+
*
|
|
12
|
+
* Manages workflow operations through the API.
|
|
13
|
+
* Always checks healthcheck before operations.
|
|
14
|
+
*/
|
|
15
|
+
export class WorkflowCommand {
|
|
16
|
+
apiClient;
|
|
17
|
+
formatter;
|
|
18
|
+
/**
|
|
19
|
+
* Create workflow command
|
|
20
|
+
*
|
|
21
|
+
* @param apiClient - API client instance
|
|
22
|
+
* @param formatter - Output formatter instance
|
|
23
|
+
*/
|
|
24
|
+
constructor(apiClient, formatter) {
|
|
25
|
+
this.apiClient = apiClient;
|
|
26
|
+
this.formatter = formatter;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Execute workflow command
|
|
30
|
+
*
|
|
31
|
+
* @param options - Workflow options
|
|
32
|
+
* @returns Workflow result
|
|
33
|
+
*/
|
|
34
|
+
async execute(options) {
|
|
35
|
+
try {
|
|
36
|
+
// Check health first
|
|
37
|
+
const health = await this.checkHealth();
|
|
38
|
+
if (health.status !== 'ok') {
|
|
39
|
+
return {
|
|
40
|
+
success: false,
|
|
41
|
+
message: 'API is not available',
|
|
42
|
+
error: 'Orchestrator API is not responding. Make sure the API server is running.',
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// Execute action
|
|
46
|
+
switch (options.action) {
|
|
47
|
+
case 'detect':
|
|
48
|
+
return await this.detectWorkflow(options);
|
|
49
|
+
case 'start':
|
|
50
|
+
return await this.startWorkflow(options);
|
|
51
|
+
case 'advance':
|
|
52
|
+
return await this.advancePhase(options);
|
|
53
|
+
default:
|
|
54
|
+
return {
|
|
55
|
+
success: false,
|
|
56
|
+
message: `Unknown action: ${options.action}`,
|
|
57
|
+
error: `Action "${options.action}" is not supported. Use "detect", "start", or "advance".`,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
63
|
+
return {
|
|
64
|
+
success: false,
|
|
65
|
+
message: `Failed to execute workflow command: ${errorMessage}`,
|
|
66
|
+
error: errorMessage,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Detect workflow type from prompt
|
|
72
|
+
*/
|
|
73
|
+
async detectWorkflow(options) {
|
|
74
|
+
if (!options.prompt) {
|
|
75
|
+
return {
|
|
76
|
+
success: false,
|
|
77
|
+
message: 'Prompt is required for detect action',
|
|
78
|
+
error: 'Please provide a prompt. Example: orchestrator workflow detect "Create authentication API"',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const detection = await this.apiClient.detectWorkflow(options.prompt);
|
|
82
|
+
return {
|
|
83
|
+
success: true,
|
|
84
|
+
message: `Detected workflow type: ${detection.workflowType}`,
|
|
85
|
+
detection,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Start a new workflow
|
|
90
|
+
*/
|
|
91
|
+
async startWorkflow(options) {
|
|
92
|
+
if (!options.workflowType && !options.prompt) {
|
|
93
|
+
return {
|
|
94
|
+
success: false,
|
|
95
|
+
message: 'Either workflow type or prompt is required',
|
|
96
|
+
error: 'Please provide either --type or --prompt. Example: orchestrator workflow start --type feature_development',
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
// If prompt is provided, detect workflow type first
|
|
100
|
+
let workflowType = options.workflowType;
|
|
101
|
+
if (options.prompt && !workflowType) {
|
|
102
|
+
const detection = await this.apiClient.detectWorkflow(options.prompt);
|
|
103
|
+
workflowType = detection.workflowType;
|
|
104
|
+
}
|
|
105
|
+
const workflow = await this.apiClient.createWorkflow({
|
|
106
|
+
prompt: options.prompt ?? '',
|
|
107
|
+
workflowType,
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
success: true,
|
|
111
|
+
message: `Workflow started: ${workflow.id}`,
|
|
112
|
+
workflow,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Advance workflow to next phase
|
|
117
|
+
*/
|
|
118
|
+
async advancePhase(options) {
|
|
119
|
+
// Get active workflow if no ID provided
|
|
120
|
+
let workflowId = options.workflowId;
|
|
121
|
+
if (!workflowId) {
|
|
122
|
+
const status = await this.apiClient.getWorkflowStatus();
|
|
123
|
+
workflowId = status.workflowId;
|
|
124
|
+
}
|
|
125
|
+
const result = await this.apiClient.advancePhase(workflowId, options.targetPhase);
|
|
126
|
+
return {
|
|
127
|
+
success: true,
|
|
128
|
+
message: `Workflow advanced to ${result.currentPhase}`,
|
|
129
|
+
advance: result,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Check API health
|
|
134
|
+
*/
|
|
135
|
+
async checkHealth() {
|
|
136
|
+
try {
|
|
137
|
+
return await this.apiClient.healthCheck();
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
return {
|
|
141
|
+
status: 'error',
|
|
142
|
+
timestamp: new Date().toISOString(),
|
|
143
|
+
uptime: 0,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Format result for output
|
|
149
|
+
*/
|
|
150
|
+
formatResult(result) {
|
|
151
|
+
if (!result.success) {
|
|
152
|
+
return this.formatter.error(result.message);
|
|
153
|
+
}
|
|
154
|
+
// Format detection result
|
|
155
|
+
if (result.detection) {
|
|
156
|
+
const lines = [
|
|
157
|
+
this.formatter.success(result.message),
|
|
158
|
+
'',
|
|
159
|
+
`Type: ${result.detection.workflowType}`,
|
|
160
|
+
`Confidence: ${(result.detection.confidence * 100).toFixed(0)}%`,
|
|
161
|
+
`Reasoning: ${result.detection.reasoning}`,
|
|
162
|
+
];
|
|
163
|
+
if (result.detection.suggestedActions && result.detection.suggestedActions.length > 0) {
|
|
164
|
+
lines.push('');
|
|
165
|
+
lines.push('Suggested actions:');
|
|
166
|
+
for (const action of result.detection.suggestedActions) {
|
|
167
|
+
lines.push(` - ${action}`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
return lines.join('\n');
|
|
171
|
+
}
|
|
172
|
+
// Format workflow creation result
|
|
173
|
+
if (result.workflow) {
|
|
174
|
+
const lines = [
|
|
175
|
+
this.formatter.success(result.message),
|
|
176
|
+
'',
|
|
177
|
+
`ID: ${result.workflow.id}`,
|
|
178
|
+
`Type: ${result.workflow.type}`,
|
|
179
|
+
`Status: ${result.workflow.status}`,
|
|
180
|
+
`Phase: ${result.workflow.currentPhase}`,
|
|
181
|
+
`Created: ${result.workflow.createdAt}`,
|
|
182
|
+
];
|
|
183
|
+
if (result.workflow.prompt) {
|
|
184
|
+
lines.push('');
|
|
185
|
+
lines.push(`Prompt: ${result.workflow.prompt}`);
|
|
186
|
+
}
|
|
187
|
+
return lines.join('\n');
|
|
188
|
+
}
|
|
189
|
+
// Format advance result
|
|
190
|
+
if (result.advance) {
|
|
191
|
+
return [
|
|
192
|
+
this.formatter.success(result.message),
|
|
193
|
+
'',
|
|
194
|
+
`Workflow ID: ${result.advance.workflowId}`,
|
|
195
|
+
`Current phase: ${result.advance.currentPhase}`,
|
|
196
|
+
'',
|
|
197
|
+
result.advance.message,
|
|
198
|
+
].join('\n');
|
|
199
|
+
}
|
|
200
|
+
return this.formatter.success(result.message);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=WorkflowCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowCommand.js","sourceRoot":"","sources":["../../src/commands/WorkflowCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Configuration
|
|
3
|
+
*
|
|
4
|
+
* Environment variables and default configuration for CLI.
|
|
5
|
+
* Supports overriding via environment variables.
|
|
6
|
+
*
|
|
7
|
+
* @module config
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* CLI Configuration interface
|
|
11
|
+
*/
|
|
12
|
+
export interface CLIConfig {
|
|
13
|
+
/**
|
|
14
|
+
* Orchestrator API base URL
|
|
15
|
+
* @default http://localhost:3000
|
|
16
|
+
*/
|
|
17
|
+
orchestratorApiUrl: string;
|
|
18
|
+
/**
|
|
19
|
+
* Orchestrator version
|
|
20
|
+
* @default latest
|
|
21
|
+
*/
|
|
22
|
+
orchestratorVersion: string;
|
|
23
|
+
/**
|
|
24
|
+
* Optional API key for authentication
|
|
25
|
+
*/
|
|
26
|
+
orchestratorApiKey?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Request timeout in milliseconds
|
|
29
|
+
* @default 30000
|
|
30
|
+
*/
|
|
31
|
+
timeout: number;
|
|
32
|
+
/**
|
|
33
|
+
* Number of retry attempts for failed requests
|
|
34
|
+
* @default 3
|
|
35
|
+
*/
|
|
36
|
+
retries: number;
|
|
37
|
+
/**
|
|
38
|
+
* Retry delay in milliseconds
|
|
39
|
+
* @default 1000
|
|
40
|
+
*/
|
|
41
|
+
retryDelay: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Load CLI configuration from environment variables
|
|
45
|
+
*
|
|
46
|
+
* Environment variables:
|
|
47
|
+
* - ORCHESTRATOR_API_URL: Override default API URL
|
|
48
|
+
* - ORCHESTRATOR_VERSION: Override default version
|
|
49
|
+
* - ORCHESTRATOR_API_KEY: Optional API key
|
|
50
|
+
* - ORCHESTRATOR_TIMEOUT: Override request timeout
|
|
51
|
+
* - ORCHESTRATOR_RETRIES: Override retry count
|
|
52
|
+
* - ORCHESTRATOR_RETRY_DELAY: Override retry delay
|
|
53
|
+
*
|
|
54
|
+
* @returns Merged configuration
|
|
55
|
+
*/
|
|
56
|
+
export declare function loadCLIConfig(): CLIConfig;
|
|
57
|
+
/**
|
|
58
|
+
* Get API base URL from config
|
|
59
|
+
*
|
|
60
|
+
* Constructs the full API base URL with /api/v1 suffix
|
|
61
|
+
*
|
|
62
|
+
* @param config - CLI configuration
|
|
63
|
+
* @returns Full API base URL
|
|
64
|
+
*/
|
|
65
|
+
export declare function getApiBaseUrl(config: CLIConfig): string;
|
|
66
|
+
//# sourceMappingURL=CLIConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CLIConfig.d.ts","sourceRoot":"","sources":["../../src/config/CLIConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAaD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,IAAI,SAAS,CAmBzC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAEvD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Configuration
|
|
3
|
+
*
|
|
4
|
+
* Environment variables and default configuration for CLI.
|
|
5
|
+
* Supports overriding via environment variables.
|
|
6
|
+
*
|
|
7
|
+
* @module config
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Default configuration values
|
|
11
|
+
*/
|
|
12
|
+
const DEFAULT_CONFIG = {
|
|
13
|
+
orchestratorApiUrl: 'http://localhost:3000',
|
|
14
|
+
orchestratorVersion: 'latest',
|
|
15
|
+
timeout: 30000,
|
|
16
|
+
retries: 3,
|
|
17
|
+
retryDelay: 1000,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Load CLI configuration from environment variables
|
|
21
|
+
*
|
|
22
|
+
* Environment variables:
|
|
23
|
+
* - ORCHESTRATOR_API_URL: Override default API URL
|
|
24
|
+
* - ORCHESTRATOR_VERSION: Override default version
|
|
25
|
+
* - ORCHESTRATOR_API_KEY: Optional API key
|
|
26
|
+
* - ORCHESTRATOR_TIMEOUT: Override request timeout
|
|
27
|
+
* - ORCHESTRATOR_RETRIES: Override retry count
|
|
28
|
+
* - ORCHESTRATOR_RETRY_DELAY: Override retry delay
|
|
29
|
+
*
|
|
30
|
+
* @returns Merged configuration
|
|
31
|
+
*/
|
|
32
|
+
export function loadCLIConfig() {
|
|
33
|
+
const config = {
|
|
34
|
+
orchestratorApiUrl: process.env.ORCHESTRATOR_API_URL ?? DEFAULT_CONFIG.orchestratorApiUrl,
|
|
35
|
+
orchestratorVersion: process.env.ORCHESTRATOR_VERSION ?? DEFAULT_CONFIG.orchestratorVersion,
|
|
36
|
+
orchestratorApiKey: process.env.ORCHESTRATOR_API_KEY,
|
|
37
|
+
timeout: process.env.ORCHESTRATOR_TIMEOUT
|
|
38
|
+
? parseInt(process.env.ORCHESTRATOR_TIMEOUT, 10)
|
|
39
|
+
: DEFAULT_CONFIG.timeout,
|
|
40
|
+
retries: process.env.ORCHESTRATOR_RETRIES
|
|
41
|
+
? parseInt(process.env.ORCHESTRATOR_RETRIES, 10)
|
|
42
|
+
: DEFAULT_CONFIG.retries,
|
|
43
|
+
retryDelay: process.env.ORCHESTRATOR_RETRY_DELAY
|
|
44
|
+
? parseInt(process.env.ORCHESTRATOR_RETRY_DELAY, 10)
|
|
45
|
+
: DEFAULT_CONFIG.retryDelay,
|
|
46
|
+
};
|
|
47
|
+
return config;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get API base URL from config
|
|
51
|
+
*
|
|
52
|
+
* Constructs the full API base URL with /api/v1 suffix
|
|
53
|
+
*
|
|
54
|
+
* @param config - CLI configuration
|
|
55
|
+
* @returns Full API base URL
|
|
56
|
+
*/
|
|
57
|
+
export function getApiBaseUrl(config) {
|
|
58
|
+
return `${config.orchestratorApiUrl}/api/v1`;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=CLIConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CLIConfig.js","sourceRoot":"","sources":["../../src/config/CLIConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0CH;;GAEG;AACH,MAAM,cAAc,GAAc;IAChC,kBAAkB,EAAE,uBAAuB;IAC3C,mBAAmB,EAAE,QAAQ;IAC7B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAc;QACxB,kBAAkB,EAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,cAAc,CAAC,kBAAkB;QACvE,mBAAmB,EACjB,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,cAAc,CAAC,mBAAmB;QACxE,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;QACpD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;YACvC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChD,CAAC,CAAC,cAAc,CAAC,OAAO;QAC1B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;YACvC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChD,CAAC,CAAC,cAAc,CAAC,OAAO;QAC1B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC9C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACpD,CAAC,CAAC,cAAc,CAAC,UAAU;KAC9B,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,OAAO,GAAG,MAAM,CAAC,kBAAkB,SAAS,CAAC;AAC/C,CAAC"}
|