@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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api-client/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents Command
|
|
3
|
+
*
|
|
4
|
+
* List available agents and show agent details.
|
|
5
|
+
* Requires API connection.
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
import { OrchestratorAPIClient } from '../api-client/OrchestratorAPIClient.js';
|
|
10
|
+
import type { Agent } from '../api-client/types.js';
|
|
11
|
+
import { OutputFormatter } from '../formatters/OutputFormatter.js';
|
|
12
|
+
/**
|
|
13
|
+
* Agents command action types
|
|
14
|
+
*/
|
|
15
|
+
export type AgentsAction = 'list' | 'info';
|
|
16
|
+
/**
|
|
17
|
+
* Agents command options
|
|
18
|
+
*/
|
|
19
|
+
export interface AgentsOptions {
|
|
20
|
+
action: AgentsAction;
|
|
21
|
+
agentName?: string;
|
|
22
|
+
jsonOutput?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Agents command result
|
|
26
|
+
*/
|
|
27
|
+
export interface AgentsResult {
|
|
28
|
+
success: boolean;
|
|
29
|
+
message: string;
|
|
30
|
+
agents?: Agent[];
|
|
31
|
+
agent?: Agent;
|
|
32
|
+
error?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Agents Command
|
|
36
|
+
*
|
|
37
|
+
* Lists available agents and shows agent details.
|
|
38
|
+
* Always checks healthcheck before operations.
|
|
39
|
+
*/
|
|
40
|
+
export declare class AgentsCommand {
|
|
41
|
+
private readonly apiClient;
|
|
42
|
+
private readonly formatter;
|
|
43
|
+
/**
|
|
44
|
+
* Create agents command
|
|
45
|
+
*
|
|
46
|
+
* @param apiClient - API client instance
|
|
47
|
+
* @param formatter - Output formatter instance
|
|
48
|
+
*/
|
|
49
|
+
constructor(apiClient: OrchestratorAPIClient, formatter: OutputFormatter);
|
|
50
|
+
/**
|
|
51
|
+
* Execute agents command
|
|
52
|
+
*
|
|
53
|
+
* @param options - Agents options
|
|
54
|
+
* @returns Agents result
|
|
55
|
+
*/
|
|
56
|
+
execute(options: AgentsOptions): Promise<AgentsResult>;
|
|
57
|
+
/**
|
|
58
|
+
* List all available agents
|
|
59
|
+
*/
|
|
60
|
+
private listAgents;
|
|
61
|
+
/**
|
|
62
|
+
* Get agent information
|
|
63
|
+
*/
|
|
64
|
+
private getAgentInfo;
|
|
65
|
+
/**
|
|
66
|
+
* Check API health
|
|
67
|
+
*/
|
|
68
|
+
private checkHealth;
|
|
69
|
+
/**
|
|
70
|
+
* Format result for output
|
|
71
|
+
*/
|
|
72
|
+
formatResult(result: AgentsResult): string;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=AgentsCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentsCommand.d.ts","sourceRoot":"","sources":["../../src/commands/AgentsCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,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,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAmC5D;;OAEG;YACW,UAAU;IAkBxB;;OAEG;YACW,YAAY;IA2B1B;;OAEG;YACW,WAAW;IAYzB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;CA8C3C"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents Command
|
|
3
|
+
*
|
|
4
|
+
* List available agents and show agent details.
|
|
5
|
+
* Requires API connection.
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Agents Command
|
|
11
|
+
*
|
|
12
|
+
* Lists available agents and shows agent details.
|
|
13
|
+
* Always checks healthcheck before operations.
|
|
14
|
+
*/
|
|
15
|
+
export class AgentsCommand {
|
|
16
|
+
apiClient;
|
|
17
|
+
formatter;
|
|
18
|
+
/**
|
|
19
|
+
* Create agents 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 agents command
|
|
30
|
+
*
|
|
31
|
+
* @param options - Agents options
|
|
32
|
+
* @returns Agents 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 'list':
|
|
48
|
+
return await this.listAgents();
|
|
49
|
+
case 'info':
|
|
50
|
+
return await this.getAgentInfo(options.agentName);
|
|
51
|
+
default:
|
|
52
|
+
return {
|
|
53
|
+
success: false,
|
|
54
|
+
message: `Unknown action: ${options.action}`,
|
|
55
|
+
error: `Action "${options.action}" is not supported. Use "list" or "info".`,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
message: `Failed to execute agents command: ${errorMessage}`,
|
|
64
|
+
error: errorMessage,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* List all available agents
|
|
70
|
+
*/
|
|
71
|
+
async listAgents() {
|
|
72
|
+
const agents = await this.apiClient.listAgents();
|
|
73
|
+
if (agents.length === 0) {
|
|
74
|
+
return {
|
|
75
|
+
success: true,
|
|
76
|
+
message: 'No agents available',
|
|
77
|
+
agents: [],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
success: true,
|
|
82
|
+
message: `Found ${agents.length} agent(s)`,
|
|
83
|
+
agents,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get agent information
|
|
88
|
+
*/
|
|
89
|
+
async getAgentInfo(agentName) {
|
|
90
|
+
if (!agentName) {
|
|
91
|
+
return {
|
|
92
|
+
success: false,
|
|
93
|
+
message: 'Agent name is required',
|
|
94
|
+
error: 'Please specify an agent name. Example: orchestrator agents info specifier',
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
const agents = await this.apiClient.listAgents();
|
|
98
|
+
const agent = agents.find((a) => a.name === agentName);
|
|
99
|
+
if (!agent) {
|
|
100
|
+
return {
|
|
101
|
+
success: false,
|
|
102
|
+
message: `Agent not found: ${agentName}`,
|
|
103
|
+
error: `Agent "${agentName}" does not exist. Use "orchestrator agents list" to see available agents.`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
success: true,
|
|
108
|
+
message: `Agent information: ${agentName}`,
|
|
109
|
+
agent,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Check API health
|
|
114
|
+
*/
|
|
115
|
+
async checkHealth() {
|
|
116
|
+
try {
|
|
117
|
+
return await this.apiClient.healthCheck();
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return {
|
|
121
|
+
status: 'error',
|
|
122
|
+
timestamp: new Date().toISOString(),
|
|
123
|
+
uptime: 0,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Format result for output
|
|
129
|
+
*/
|
|
130
|
+
formatResult(result) {
|
|
131
|
+
if (!result.success) {
|
|
132
|
+
return this.formatter.error(result.message);
|
|
133
|
+
}
|
|
134
|
+
// List action
|
|
135
|
+
if (result.agents) {
|
|
136
|
+
if (result.agents.length === 0) {
|
|
137
|
+
return this.formatter.info('No agents available');
|
|
138
|
+
}
|
|
139
|
+
const tableData = result.agents.map((agent) => ({
|
|
140
|
+
name: agent.name,
|
|
141
|
+
purpose: agent.purpose,
|
|
142
|
+
description: agent.description.substring(0, 60) + (agent.description.length > 60 ? '...' : ''),
|
|
143
|
+
}));
|
|
144
|
+
return this.formatter.table(tableData, [
|
|
145
|
+
{ header: 'Name', key: 'name' },
|
|
146
|
+
{ header: 'Purpose', key: 'purpose' },
|
|
147
|
+
{ header: 'Description', key: 'description' },
|
|
148
|
+
]);
|
|
149
|
+
}
|
|
150
|
+
// Info action
|
|
151
|
+
if (result.agent) {
|
|
152
|
+
const lines = [
|
|
153
|
+
this.formatter.info(`Agent: ${result.agent.name}`),
|
|
154
|
+
'',
|
|
155
|
+
`Purpose: ${result.agent.purpose}`,
|
|
156
|
+
`Description: ${result.agent.description}`,
|
|
157
|
+
];
|
|
158
|
+
if (result.agent.capabilities && result.agent.capabilities.length > 0) {
|
|
159
|
+
lines.push('');
|
|
160
|
+
lines.push('Capabilities:');
|
|
161
|
+
for (const capability of result.agent.capabilities) {
|
|
162
|
+
lines.push(` - ${capability}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return lines.join('\n');
|
|
166
|
+
}
|
|
167
|
+
return this.formatter.success(result.message);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=AgentsCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentsCommand.js","sourceRoot":"","sources":["../../src/commands/AgentsCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init Command
|
|
3
|
+
*
|
|
4
|
+
* Initialize a new Orchestrator project from bundled templates.
|
|
5
|
+
* Works offline (no API required).
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
import { TemplateEngine } from '../templates/TemplateEngine.js';
|
|
10
|
+
import { OutputFormatter } from '../formatters/OutputFormatter.js';
|
|
11
|
+
/**
|
|
12
|
+
* Init command options
|
|
13
|
+
*/
|
|
14
|
+
export interface InitOptions {
|
|
15
|
+
template?: string;
|
|
16
|
+
projectName?: string;
|
|
17
|
+
orchestratorVersion?: string;
|
|
18
|
+
outputPath?: string;
|
|
19
|
+
jsonOutput?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Init command result
|
|
23
|
+
*/
|
|
24
|
+
export interface InitResult {
|
|
25
|
+
success: boolean;
|
|
26
|
+
message: string;
|
|
27
|
+
projectPath?: string;
|
|
28
|
+
filesCreated?: string[];
|
|
29
|
+
error?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Init Command
|
|
33
|
+
*
|
|
34
|
+
* Creates a new Orchestrator project from a template.
|
|
35
|
+
* All operations are offline (no API calls).
|
|
36
|
+
*/
|
|
37
|
+
export declare class InitCommand {
|
|
38
|
+
private readonly templateEngine;
|
|
39
|
+
private readonly formatter;
|
|
40
|
+
/**
|
|
41
|
+
* Create init command
|
|
42
|
+
*
|
|
43
|
+
* @param templateEngine - Template engine instance
|
|
44
|
+
* @param formatter - Output formatter instance
|
|
45
|
+
*/
|
|
46
|
+
constructor(templateEngine: TemplateEngine, formatter: OutputFormatter);
|
|
47
|
+
/**
|
|
48
|
+
* Execute init command
|
|
49
|
+
*
|
|
50
|
+
* @param options - Init options
|
|
51
|
+
* @returns Init result
|
|
52
|
+
*/
|
|
53
|
+
execute(options: InitOptions): Promise<InitResult>;
|
|
54
|
+
/**
|
|
55
|
+
* Validate init options
|
|
56
|
+
*/
|
|
57
|
+
private validateOptions;
|
|
58
|
+
/**
|
|
59
|
+
* Format result for output
|
|
60
|
+
*/
|
|
61
|
+
formatResult(result: InitResult): string;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=InitCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitCommand.d.ts","sourceRoot":"","sources":["../../src/commands/InitCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAAwB,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAE5C;;;;;OAKG;gBACS,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe;IAKtE;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAgFxD;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;CAyBzC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init Command
|
|
3
|
+
*
|
|
4
|
+
* Initialize a new Orchestrator project from bundled templates.
|
|
5
|
+
* Works offline (no API required).
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
import { writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
10
|
+
import { join, resolve } from 'path';
|
|
11
|
+
/**
|
|
12
|
+
* Init Command
|
|
13
|
+
*
|
|
14
|
+
* Creates a new Orchestrator project from a template.
|
|
15
|
+
* All operations are offline (no API calls).
|
|
16
|
+
*/
|
|
17
|
+
export class InitCommand {
|
|
18
|
+
templateEngine;
|
|
19
|
+
formatter;
|
|
20
|
+
/**
|
|
21
|
+
* Create init command
|
|
22
|
+
*
|
|
23
|
+
* @param templateEngine - Template engine instance
|
|
24
|
+
* @param formatter - Output formatter instance
|
|
25
|
+
*/
|
|
26
|
+
constructor(templateEngine, formatter) {
|
|
27
|
+
this.templateEngine = templateEngine;
|
|
28
|
+
this.formatter = formatter;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Execute init command
|
|
32
|
+
*
|
|
33
|
+
* @param options - Init options
|
|
34
|
+
* @returns Init result
|
|
35
|
+
*/
|
|
36
|
+
async execute(options) {
|
|
37
|
+
try {
|
|
38
|
+
// Validate options
|
|
39
|
+
const validation = this.validateOptions(options);
|
|
40
|
+
if (!validation.valid) {
|
|
41
|
+
return {
|
|
42
|
+
success: false,
|
|
43
|
+
message: validation.error,
|
|
44
|
+
error: validation.error,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
// Get template
|
|
48
|
+
const templateName = options.template ?? 'default';
|
|
49
|
+
const template = this.templateEngine.getTemplate(templateName);
|
|
50
|
+
if (!template) {
|
|
51
|
+
return {
|
|
52
|
+
success: false,
|
|
53
|
+
message: `Template not found: ${templateName}`,
|
|
54
|
+
error: `Template "${templateName}" does not exist. Use "orchestrator templates list" to see available templates.`,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
// Prepare context
|
|
58
|
+
const context = {
|
|
59
|
+
projectName: options.projectName ?? 'my-orchestrator-project',
|
|
60
|
+
orchestratorVersion: options.orchestratorVersion ?? 'latest',
|
|
61
|
+
};
|
|
62
|
+
// Determine output path
|
|
63
|
+
const outputPath = options.outputPath ?? process.cwd();
|
|
64
|
+
const projectPath = join(outputPath, context.projectName);
|
|
65
|
+
// Check if project directory already exists
|
|
66
|
+
if (existsSync(projectPath)) {
|
|
67
|
+
return {
|
|
68
|
+
success: false,
|
|
69
|
+
message: `Project directory already exists: ${projectPath}`,
|
|
70
|
+
error: `Directory "${projectPath}" already exists. Choose a different project name or remove the existing directory.`,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// Create project directory
|
|
74
|
+
mkdirSync(projectPath, { recursive: true });
|
|
75
|
+
// Render and write files
|
|
76
|
+
const filesCreated = [];
|
|
77
|
+
for (const fileName of template.files) {
|
|
78
|
+
const rendered = this.templateEngine.renderFile(templateName, fileName, context);
|
|
79
|
+
const filePath = join(projectPath, fileName);
|
|
80
|
+
// Create parent directories if needed
|
|
81
|
+
const parentDir = resolve(filePath, '..');
|
|
82
|
+
if (!existsSync(parentDir)) {
|
|
83
|
+
mkdirSync(parentDir, { recursive: true });
|
|
84
|
+
}
|
|
85
|
+
// Write file
|
|
86
|
+
writeFileSync(filePath, rendered, 'utf-8');
|
|
87
|
+
filesCreated.push(fileName);
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
success: true,
|
|
91
|
+
message: `Project "${context.projectName}" initialized successfully`,
|
|
92
|
+
projectPath,
|
|
93
|
+
filesCreated,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
98
|
+
return {
|
|
99
|
+
success: false,
|
|
100
|
+
message: `Failed to initialize project: ${errorMessage}`,
|
|
101
|
+
error: errorMessage,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Validate init options
|
|
107
|
+
*/
|
|
108
|
+
validateOptions(options) {
|
|
109
|
+
if (options.projectName && !/^[a-z0-9-]+$/.test(options.projectName)) {
|
|
110
|
+
return {
|
|
111
|
+
valid: false,
|
|
112
|
+
error: 'Invalid project name. Use only lowercase letters, numbers, and hyphens.',
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
if (options.outputPath && !existsSync(options.outputPath)) {
|
|
116
|
+
return {
|
|
117
|
+
valid: false,
|
|
118
|
+
error: `Output path does not exist: ${options.outputPath}`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
return { valid: true };
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Format result for output
|
|
125
|
+
*/
|
|
126
|
+
formatResult(result) {
|
|
127
|
+
if (result.success) {
|
|
128
|
+
const lines = [
|
|
129
|
+
this.formatter.success(result.message),
|
|
130
|
+
'',
|
|
131
|
+
this.formatter.info(`Project path: ${result.projectPath}`),
|
|
132
|
+
'',
|
|
133
|
+
'Files created:',
|
|
134
|
+
];
|
|
135
|
+
for (const file of result.filesCreated ?? []) {
|
|
136
|
+
lines.push(` - ${file}`);
|
|
137
|
+
}
|
|
138
|
+
lines.push('');
|
|
139
|
+
lines.push('Next steps:');
|
|
140
|
+
lines.push(` cd ${result.projectPath?.split('/').pop() ?? 'project'}`);
|
|
141
|
+
lines.push(' docker-compose up -d');
|
|
142
|
+
lines.push(' orchestrator status');
|
|
143
|
+
return lines.join('\n');
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
return this.formatter.error(result.message);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=InitCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitCommand.js","sourceRoot":"","sources":["../../src/commands/InitCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migrate Command
|
|
3
|
+
*
|
|
4
|
+
* Migrate project from older versions to v1.3.0+.
|
|
5
|
+
* Works offline (no API required).
|
|
6
|
+
*
|
|
7
|
+
* @module commands
|
|
8
|
+
*/
|
|
9
|
+
import { TemplateEngine } from '../templates/TemplateEngine.js';
|
|
10
|
+
import { OutputFormatter } from '../formatters/OutputFormatter.js';
|
|
11
|
+
/**
|
|
12
|
+
* Migrate command options
|
|
13
|
+
*/
|
|
14
|
+
export interface MigrateOptions {
|
|
15
|
+
projectPath?: string;
|
|
16
|
+
orchestratorVersion?: string;
|
|
17
|
+
dryRun?: boolean;
|
|
18
|
+
jsonOutput?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Migrate command result
|
|
22
|
+
*/
|
|
23
|
+
export interface MigrateResult {
|
|
24
|
+
success: boolean;
|
|
25
|
+
message: string;
|
|
26
|
+
currentVersion?: string;
|
|
27
|
+
targetVersion?: string;
|
|
28
|
+
migrations?: string[];
|
|
29
|
+
filesCreated?: string[];
|
|
30
|
+
filesModified?: string[];
|
|
31
|
+
error?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Migrate Command
|
|
35
|
+
*
|
|
36
|
+
* Detects project version and applies migrations.
|
|
37
|
+
* All operations are offline (no API calls).
|
|
38
|
+
*/
|
|
39
|
+
export declare class MigrateCommand {
|
|
40
|
+
private readonly templateEngine;
|
|
41
|
+
private readonly formatter;
|
|
42
|
+
/**
|
|
43
|
+
* Create migrate command
|
|
44
|
+
*
|
|
45
|
+
* @param templateEngine - Template engine instance
|
|
46
|
+
* @param formatter - Output formatter instance
|
|
47
|
+
*/
|
|
48
|
+
constructor(templateEngine: TemplateEngine, formatter: OutputFormatter);
|
|
49
|
+
/**
|
|
50
|
+
* Execute migrate command
|
|
51
|
+
*
|
|
52
|
+
* @param options - Migrate options
|
|
53
|
+
* @returns Migrate result
|
|
54
|
+
*/
|
|
55
|
+
execute(options: MigrateOptions): Promise<MigrateResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Detect project version
|
|
58
|
+
*/
|
|
59
|
+
private detectVersion;
|
|
60
|
+
/**
|
|
61
|
+
* Determine required migrations
|
|
62
|
+
*/
|
|
63
|
+
private determineMigrations;
|
|
64
|
+
/**
|
|
65
|
+
* Apply migration
|
|
66
|
+
*/
|
|
67
|
+
private applyMigration;
|
|
68
|
+
/**
|
|
69
|
+
* Update version in orchestrator-index.json
|
|
70
|
+
*/
|
|
71
|
+
private updateVersion;
|
|
72
|
+
/**
|
|
73
|
+
* Get project name from path
|
|
74
|
+
*/
|
|
75
|
+
private getProjectName;
|
|
76
|
+
/**
|
|
77
|
+
* Parse version string to array
|
|
78
|
+
*/
|
|
79
|
+
private parseVersion;
|
|
80
|
+
/**
|
|
81
|
+
* Check if version is less than target
|
|
82
|
+
*/
|
|
83
|
+
private versionLessThan;
|
|
84
|
+
/**
|
|
85
|
+
* Check if version is greater or equal to target
|
|
86
|
+
*/
|
|
87
|
+
private versionGreaterOrEqual;
|
|
88
|
+
/**
|
|
89
|
+
* Format result for output
|
|
90
|
+
*/
|
|
91
|
+
formatResult(result: MigrateResult): string;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=MigrateCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MigrateCommand.d.ts","sourceRoot":"","sources":["../../src/commands/MigrateCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAAwB,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAUnE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAE5C;;;;;OAKG;gBACS,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe;IAKtE;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA+E9D;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;YACW,cAAc;IAgE5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;CA0C5C"}
|