@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.
Files changed (176) hide show
  1. package/README.md +74 -0
  2. package/dist/api-client/OrchestratorAPIClient.d.ts +111 -0
  3. package/dist/api-client/OrchestratorAPIClient.d.ts.map +1 -0
  4. package/dist/api-client/OrchestratorAPIClient.js +176 -0
  5. package/dist/api-client/OrchestratorAPIClient.js.map +1 -0
  6. package/dist/api-client/index.d.ts +11 -0
  7. package/dist/api-client/index.d.ts.map +1 -0
  8. package/dist/api-client/index.js +10 -0
  9. package/dist/api-client/index.js.map +1 -0
  10. package/dist/api-client/retry.d.ts +29 -0
  11. package/dist/api-client/retry.d.ts.map +1 -0
  12. package/dist/api-client/retry.js +85 -0
  13. package/dist/api-client/retry.js.map +1 -0
  14. package/dist/api-client/types.d.ts +148 -0
  15. package/dist/api-client/types.d.ts.map +1 -0
  16. package/dist/api-client/types.js +10 -0
  17. package/dist/api-client/types.js.map +1 -0
  18. package/dist/commands/AgentsCommand.d.ts +74 -0
  19. package/dist/commands/AgentsCommand.d.ts.map +1 -0
  20. package/dist/commands/AgentsCommand.js +170 -0
  21. package/dist/commands/AgentsCommand.js.map +1 -0
  22. package/dist/commands/InitCommand.d.ts +63 -0
  23. package/dist/commands/InitCommand.d.ts.map +1 -0
  24. package/dist/commands/InitCommand.js +150 -0
  25. package/dist/commands/InitCommand.js.map +1 -0
  26. package/dist/commands/MigrateCommand.d.ts +93 -0
  27. package/dist/commands/MigrateCommand.d.ts.map +1 -0
  28. package/dist/commands/MigrateCommand.js +260 -0
  29. package/dist/commands/MigrateCommand.js.map +1 -0
  30. package/dist/commands/StatusCommand.d.ts +61 -0
  31. package/dist/commands/StatusCommand.d.ts.map +1 -0
  32. package/dist/commands/StatusCommand.js +142 -0
  33. package/dist/commands/StatusCommand.js.map +1 -0
  34. package/dist/commands/TemplatesCommand.d.ts +69 -0
  35. package/dist/commands/TemplatesCommand.d.ts.map +1 -0
  36. package/dist/commands/TemplatesCommand.js +147 -0
  37. package/dist/commands/TemplatesCommand.js.map +1 -0
  38. package/dist/commands/WorkflowCommand.d.ts +82 -0
  39. package/dist/commands/WorkflowCommand.d.ts.map +1 -0
  40. package/dist/commands/WorkflowCommand.js +203 -0
  41. package/dist/commands/WorkflowCommand.js.map +1 -0
  42. package/dist/config/CLIConfig.d.ts +66 -0
  43. package/dist/config/CLIConfig.d.ts.map +1 -0
  44. package/dist/config/CLIConfig.js +60 -0
  45. package/dist/config/CLIConfig.js.map +1 -0
  46. package/dist/formatters/OutputFormatter.d.ts +102 -0
  47. package/dist/formatters/OutputFormatter.d.ts.map +1 -0
  48. package/dist/formatters/OutputFormatter.js +182 -0
  49. package/dist/formatters/OutputFormatter.js.map +1 -0
  50. package/dist/index.d.ts +15 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +249 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/templates/.gitkeep +0 -0
  55. package/dist/templates/TemplateEngine.d.ts +90 -0
  56. package/dist/templates/TemplateEngine.d.ts.map +1 -0
  57. package/dist/templates/TemplateEngine.js +149 -0
  58. package/dist/templates/TemplateEngine.js.map +1 -0
  59. package/dist/templates/base/CLAUDE.md.hbs +362 -0
  60. package/dist/templates/base/claude/agents/implementer.md +446 -0
  61. package/dist/templates/base/claude/agents/orchestrator.md +155 -0
  62. package/dist/templates/base/claude/agents/planner.md +348 -0
  63. package/dist/templates/base/claude/agents/researcher.md +390 -0
  64. package/dist/templates/base/claude/agents/reviewer.md +444 -0
  65. package/dist/templates/base/claude/agents/specifier.md +331 -0
  66. package/dist/templates/base/claude/agents/task-generator.md +382 -0
  67. package/dist/templates/base/claude/hooks/post-artifact-generate.sh +39 -0
  68. package/dist/templates/base/claude/hooks/post-implement-validate.sh +139 -0
  69. package/dist/templates/base/claude/hooks/post-phase-checkpoint.sh +322 -0
  70. package/dist/templates/base/claude/hooks/pre-agent-invoke.sh +34 -0
  71. package/dist/templates/base/claude/hooks/pre-phase-advance.sh +40 -0
  72. package/dist/templates/base/claude/hooks/track-agent-invocation.sh +230 -0
  73. package/dist/templates/base/claude/orchestrator-config.json +141 -0
  74. package/dist/templates/base/claude/settings.json +80 -0
  75. package/dist/templates/base/claude/skills/artifact-validator/SKILL.md +226 -0
  76. package/dist/templates/base/claude/skills/docs-guardian/SKILL.md +230 -0
  77. package/dist/templates/base/claude/skills/kb-lookup/SKILL.md +257 -0
  78. package/dist/templates/base/claude/skills/phase-gate-evaluator/SKILL.md +274 -0
  79. package/dist/templates/base/claude/skills/workflow-status/SKILL.md +322 -0
  80. package/dist/templates/base/docker-compose.yml.hbs +20 -0
  81. package/dist/templates/base/mcp.json.hbs +37 -0
  82. package/dist/templates/base/orchestrator/.state/.gitkeep +0 -0
  83. package/dist/templates/base/orchestrator-index.json.hbs +37 -0
  84. package/dist/templates/base/package.json.hbs +40 -0
  85. package/dist/templates/default/.orchestrator/orchestrator-index.json +19 -0
  86. package/dist/templates/default/README.md +58 -0
  87. package/dist/templates/default/docker-compose.yml +24 -0
  88. package/dist/templates/default/template.json +10 -0
  89. package/dist/templates/projects/api/files/index.ts.hbs +30 -0
  90. package/dist/templates/projects/api/files/server.ts.hbs +63 -0
  91. package/dist/templates/projects/api/files/tsconfig.json.hbs +27 -0
  92. package/dist/templates/projects/api/files/vitest.config.ts.hbs +28 -0
  93. package/dist/templates/projects/api/template.config.json +238 -0
  94. package/dist/templates/projects/api/template.config.ts +149 -0
  95. package/dist/templates/projects/cli/files/cli.ts.hbs +50 -0
  96. package/dist/templates/projects/cli/files/index.ts.hbs +8 -0
  97. package/dist/templates/projects/cli/files/tsconfig.json.hbs +27 -0
  98. package/dist/templates/projects/cli/files/vitest.config.ts.hbs +28 -0
  99. package/dist/templates/projects/cli/template.config.json +213 -0
  100. package/dist/templates/projects/cli/template.config.ts +126 -0
  101. package/dist/templates/projects/frontend/files/App.tsx.hbs +31 -0
  102. package/dist/templates/projects/frontend/files/index.html.hbs +13 -0
  103. package/dist/templates/projects/frontend/files/main.tsx.hbs +22 -0
  104. package/dist/templates/projects/frontend/files/tsconfig.json.hbs +34 -0
  105. package/dist/templates/projects/frontend/files/tsconfig.node.json.hbs +10 -0
  106. package/dist/templates/projects/frontend/files/vite.config.ts.hbs +19 -0
  107. package/dist/templates/projects/frontend/files/vitest.config.ts.hbs +36 -0
  108. package/dist/templates/projects/frontend/template.config.json +241 -0
  109. package/dist/templates/projects/frontend/template.config.ts +153 -0
  110. package/dist/templates/projects/minimal/files/claude-settings.json.hbs +20 -0
  111. package/dist/templates/projects/minimal/files/env.example.hbs +17 -0
  112. package/dist/templates/projects/minimal/files/gitignore.hbs +41 -0
  113. package/dist/templates/projects/minimal/files/index.ts.hbs +13 -0
  114. package/dist/templates/projects/minimal/files/tsconfig.json.hbs +27 -0
  115. package/dist/templates/projects/minimal/template.config.json +185 -0
  116. package/dist/templates/projects/minimal/template.config.ts +88 -0
  117. package/package.json +37 -0
  118. package/templates/.gitkeep +0 -0
  119. package/templates/base/CLAUDE.md.hbs +362 -0
  120. package/templates/base/claude/agents/implementer.md +446 -0
  121. package/templates/base/claude/agents/orchestrator.md +155 -0
  122. package/templates/base/claude/agents/planner.md +348 -0
  123. package/templates/base/claude/agents/researcher.md +390 -0
  124. package/templates/base/claude/agents/reviewer.md +444 -0
  125. package/templates/base/claude/agents/specifier.md +331 -0
  126. package/templates/base/claude/agents/task-generator.md +382 -0
  127. package/templates/base/claude/hooks/post-artifact-generate.sh +39 -0
  128. package/templates/base/claude/hooks/post-implement-validate.sh +139 -0
  129. package/templates/base/claude/hooks/post-phase-checkpoint.sh +322 -0
  130. package/templates/base/claude/hooks/pre-agent-invoke.sh +34 -0
  131. package/templates/base/claude/hooks/pre-phase-advance.sh +40 -0
  132. package/templates/base/claude/hooks/track-agent-invocation.sh +230 -0
  133. package/templates/base/claude/orchestrator-config.json +141 -0
  134. package/templates/base/claude/settings.json +80 -0
  135. package/templates/base/claude/skills/artifact-validator/SKILL.md +226 -0
  136. package/templates/base/claude/skills/docs-guardian/SKILL.md +230 -0
  137. package/templates/base/claude/skills/kb-lookup/SKILL.md +257 -0
  138. package/templates/base/claude/skills/phase-gate-evaluator/SKILL.md +274 -0
  139. package/templates/base/claude/skills/workflow-status/SKILL.md +322 -0
  140. package/templates/base/docker-compose.yml.hbs +20 -0
  141. package/templates/base/mcp.json.hbs +37 -0
  142. package/templates/base/orchestrator/.state/.gitkeep +0 -0
  143. package/templates/base/orchestrator-index.json.hbs +37 -0
  144. package/templates/base/package.json.hbs +40 -0
  145. package/templates/default/.orchestrator/orchestrator-index.json +19 -0
  146. package/templates/default/README.md +58 -0
  147. package/templates/default/docker-compose.yml +24 -0
  148. package/templates/default/template.json +10 -0
  149. package/templates/projects/api/files/index.ts.hbs +30 -0
  150. package/templates/projects/api/files/server.ts.hbs +63 -0
  151. package/templates/projects/api/files/tsconfig.json.hbs +27 -0
  152. package/templates/projects/api/files/vitest.config.ts.hbs +28 -0
  153. package/templates/projects/api/template.config.json +238 -0
  154. package/templates/projects/api/template.config.ts +149 -0
  155. package/templates/projects/cli/files/cli.ts.hbs +50 -0
  156. package/templates/projects/cli/files/index.ts.hbs +8 -0
  157. package/templates/projects/cli/files/tsconfig.json.hbs +27 -0
  158. package/templates/projects/cli/files/vitest.config.ts.hbs +28 -0
  159. package/templates/projects/cli/template.config.json +213 -0
  160. package/templates/projects/cli/template.config.ts +126 -0
  161. package/templates/projects/frontend/files/App.tsx.hbs +31 -0
  162. package/templates/projects/frontend/files/index.html.hbs +13 -0
  163. package/templates/projects/frontend/files/main.tsx.hbs +22 -0
  164. package/templates/projects/frontend/files/tsconfig.json.hbs +34 -0
  165. package/templates/projects/frontend/files/tsconfig.node.json.hbs +10 -0
  166. package/templates/projects/frontend/files/vite.config.ts.hbs +19 -0
  167. package/templates/projects/frontend/files/vitest.config.ts.hbs +36 -0
  168. package/templates/projects/frontend/template.config.json +241 -0
  169. package/templates/projects/frontend/template.config.ts +153 -0
  170. package/templates/projects/minimal/files/claude-settings.json.hbs +20 -0
  171. package/templates/projects/minimal/files/env.example.hbs +17 -0
  172. package/templates/projects/minimal/files/gitignore.hbs +41 -0
  173. package/templates/projects/minimal/files/index.ts.hbs +13 -0
  174. package/templates/projects/minimal/files/tsconfig.json.hbs +27 -0
  175. package/templates/projects/minimal/template.config.json +185 -0
  176. 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"}