@nova286/nova-workflow 2.1.0 → 2.1.1

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 (39) hide show
  1. package/dist/cli/commands/archive.js +1 -1
  2. package/dist/cli/commands/archive.js.map +1 -1
  3. package/dist/cli/commands/status.js +8 -8
  4. package/dist/cli/commands/status.js.map +1 -1
  5. package/dist/cli/index.js +0 -0
  6. package/dist/cli-core/__tests__/adapters.test.d.ts +1 -0
  7. package/dist/cli-core/__tests__/adapters.test.js +123 -0
  8. package/dist/cli-core/__tests__/adapters.test.js.map +1 -0
  9. package/dist/cli-core/__tests__/guard.test.js +13 -13
  10. package/dist/cli-core/__tests__/guard.test.js.map +1 -1
  11. package/dist/cli-core/__tests__/init-manager.test.js +3 -3
  12. package/dist/cli-core/__tests__/init-manager.test.js.map +1 -1
  13. package/dist/cli-core/__tests__/platform-client.test.d.ts +1 -0
  14. package/dist/cli-core/__tests__/platform-client.test.js +157 -0
  15. package/dist/cli-core/__tests__/platform-client.test.js.map +1 -0
  16. package/dist/cli-core/__tests__/state-manager.test.js +7 -7
  17. package/dist/cli-core/__tests__/state-manager.test.js.map +1 -1
  18. package/dist/cli-core/adapters/claude-code.js +8 -8
  19. package/dist/cli-core/adapters/codex.d.ts +5 -0
  20. package/dist/cli-core/adapters/codex.js +118 -0
  21. package/dist/cli-core/adapters/codex.js.map +1 -0
  22. package/dist/cli-core/adapters/hermes-agent.d.ts +5 -0
  23. package/dist/cli-core/adapters/hermes-agent.js +113 -0
  24. package/dist/cli-core/adapters/hermes-agent.js.map +1 -0
  25. package/dist/cli-core/adapters/openclaw.d.ts +5 -0
  26. package/dist/cli-core/adapters/openclaw.js +115 -0
  27. package/dist/cli-core/adapters/openclaw.js.map +1 -0
  28. package/dist/cli-core/adapters/opencode.d.ts +5 -0
  29. package/dist/cli-core/adapters/opencode.js +116 -0
  30. package/dist/cli-core/adapters/opencode.js.map +1 -0
  31. package/dist/cli-core/guard.js +12 -12
  32. package/dist/cli-core/guard.js.map +1 -1
  33. package/dist/cli-core/init-manager.d.ts +1 -0
  34. package/dist/cli-core/init-manager.js +48 -8
  35. package/dist/cli-core/init-manager.js.map +1 -1
  36. package/dist/cli-core/platform-client.d.ts +12 -0
  37. package/dist/cli-core/platform-client.js +150 -9
  38. package/dist/cli-core/platform-client.js.map +1 -1
  39. package/package.json +17 -4
@@ -11,6 +11,7 @@ export declare class InitManager {
11
11
  private isInitialized;
12
12
  private backup;
13
13
  private rollback;
14
+ private commandExists;
14
15
  private detectAIEnvironment;
15
16
  private getAdapter;
16
17
  private createDirs;
@@ -36,10 +36,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.InitManager = void 0;
37
37
  const fs = __importStar(require("fs/promises"));
38
38
  const path = __importStar(require("path"));
39
+ const child_process_1 = require("child_process");
39
40
  const yaml = __importStar(require("yaml"));
40
41
  const ui_1 = require("../cli/ui");
41
42
  const project_detect_1 = require("./project-detect");
42
43
  const claude_code_1 = require("./adapters/claude-code");
44
+ const codex_1 = require("./adapters/codex");
45
+ const openclaw_1 = require("./adapters/openclaw");
46
+ const hermes_agent_1 = require("./adapters/hermes-agent");
47
+ const opencode_1 = require("./adapters/opencode");
48
+ const ADAPTER_FACTORIES = {
49
+ 'claude-code': () => new claude_code_1.ClaudeCodeAdapter(),
50
+ 'codex': () => new codex_1.CodexAdapter(),
51
+ 'openclaw': () => new openclaw_1.OpenClawAdapter(),
52
+ 'hermes-agent': () => new hermes_agent_1.HermesAgentAdapter(),
53
+ 'opencode': () => new opencode_1.OpenCodeAdapter(),
54
+ };
43
55
  class InitManager {
44
56
  constructor(cwd, opts) {
45
57
  this.steps = [];
@@ -115,11 +127,31 @@ class InitManager {
115
127
  await fs.rm(this.backupDir, { recursive: true, force: true });
116
128
  }
117
129
  }
130
+ async commandExists(cmd) {
131
+ return new Promise((resolve) => {
132
+ (0, child_process_1.execFile)('which', [cmd], (err) => resolve(!err));
133
+ });
134
+ }
118
135
  async detectAIEnvironment() {
119
- return ['claude-code'];
136
+ const detectors = [
137
+ { env: 'claude-code', cmd: 'claude' },
138
+ { env: 'codex', cmd: 'codex' },
139
+ { env: 'openclaw', cmd: 'openclaw' },
140
+ { env: 'hermes-agent', cmd: 'hermes-agent' },
141
+ { env: 'opencode', cmd: 'opencode' },
142
+ ];
143
+ const detected = [];
144
+ for (const d of detectors) {
145
+ if (await this.commandExists(d.cmd))
146
+ detected.push(d.env);
147
+ }
148
+ return detected.length > 0 ? detected : ['claude-code'];
120
149
  }
121
150
  getAdapter(env) {
122
- return new claude_code_1.ClaudeCodeAdapter();
151
+ const factory = ADAPTER_FACTORIES[env];
152
+ if (!factory)
153
+ throw new Error(`Unknown environment: ${env}`);
154
+ return factory();
123
155
  }
124
156
  async createDirs() {
125
157
  const dirs = ['docs/designs', 'docs/proposals', 'docs/reports', '.nova/contexts'];
@@ -135,9 +167,9 @@ class InitManager {
135
167
  projectType,
136
168
  environment: envs,
137
169
  phases: {
138
- open: { status: 'pending', proposal: '' },
139
- design: { status: 'pending', designDoc: '', tasks: '' },
140
- build: { status: 'pending', tasks: {} },
170
+ propose: { status: 'pending', proposal: '' },
171
+ design: { status: 'pending', designDoc: '', tasks: [] },
172
+ implement: { status: 'pending', tasks: {} },
141
173
  verify: { status: 'pending', pipelineResult: null },
142
174
  archive: { status: 'pending' }
143
175
  },
@@ -163,10 +195,18 @@ class InitManager {
163
195
  await fs.cp(path.join(__dirname, '../../templates/docs'), path.join(this.cwd, 'docs'), { recursive: true });
164
196
  }
165
197
  async cleanEnvCommands(envs) {
198
+ const cleanupMap = {
199
+ 'claude-code': ['.claude'],
200
+ 'codex': ['CODEX.md'],
201
+ 'openclaw': ['.openclaw'],
202
+ 'hermes-agent': ['HERMES.md'],
203
+ 'opencode': ['opencode.json'],
204
+ };
166
205
  for (const env of envs) {
167
- if (env === 'claude-code')
168
- await fs.rm(path.join(this.cwd, '.claude'), { recursive: true, force: true });
169
- // 其他环境类似
206
+ const targets = cleanupMap[env] ?? [];
207
+ for (const target of targets) {
208
+ await fs.rm(path.join(this.cwd, target), { recursive: true, force: true });
209
+ }
170
210
  }
171
211
  }
172
212
  async removeFile(file) { try {
@@ -1 +1 @@
1
- {"version":3,"file":"init-manager.js","sourceRoot":"","sources":["../../src/cli-core/init-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-manager.js","sourceRoot":"","sources":["../../src/cli-core/init-manager.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,16 @@ export declare abstract class PlatformClient {
16
16
  export declare class ClaudeCodeClient extends PlatformClient {
17
17
  sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
18
18
  }
19
+ export declare class CodexClient extends PlatformClient {
20
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
21
+ }
22
+ export declare class OpenClawClient extends PlatformClient {
23
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
24
+ }
25
+ export declare class HermesAgentClient extends PlatformClient {
26
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
27
+ }
28
+ export declare class OpenCodeClient extends PlatformClient {
29
+ sendPrompt(prompt: string, options?: SendPromptOptions): Promise<PlatformResponse>;
30
+ }
19
31
  export declare function resolvePlatformClient(cwd?: string): Promise<PlatformClient>;
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ClaudeCodeClient = exports.PlatformClient = void 0;
36
+ exports.OpenCodeClient = exports.HermesAgentClient = exports.OpenClawClient = exports.CodexClient = exports.ClaudeCodeClient = exports.PlatformClient = void 0;
37
37
  exports.resolvePlatformClient = resolvePlatformClient;
38
38
  const child_process_1 = require("child_process");
39
39
  const fs = __importStar(require("fs/promises"));
@@ -99,21 +99,162 @@ class ClaudeCodeClient extends PlatformClient {
99
99
  }
100
100
  }
101
101
  exports.ClaudeCodeClient = ClaudeCodeClient;
102
+ class CodexClient extends PlatformClient {
103
+ async sendPrompt(prompt, options) {
104
+ const t0 = Date.now();
105
+ const model = options?.model;
106
+ const args = ['--quiet'];
107
+ if (model)
108
+ args.push('--model', model);
109
+ console.error(`[nova] spawning codex (prompt: ${prompt.length} chars, via stdin)...`);
110
+ return new Promise((resolve, reject) => {
111
+ const child = (0, child_process_1.spawn)('codex', args, { stdio: ['pipe', 'pipe', 'pipe'] });
112
+ console.error(`[nova] codex pid=${child.pid} spawned in ${Date.now() - t0}ms`);
113
+ child.stdin.write(prompt);
114
+ child.stdin.end();
115
+ let stdout = '';
116
+ let stderr = '';
117
+ child.stdout.on('data', (data) => { stdout += data.toString(); });
118
+ child.stderr.on('data', (data) => { stderr += data.toString(); });
119
+ child.on('close', (code) => {
120
+ const elapsed = Date.now() - t0;
121
+ console.error(`[nova] codex exited code=${code}, ${stdout.length} chars, ${elapsed}ms`);
122
+ if (code === 0) {
123
+ resolve({ content: stdout.trim() });
124
+ }
125
+ else {
126
+ reject(new Error(`Codex CLI exit ${code}: ${stderr}`));
127
+ }
128
+ });
129
+ child.on('error', (err) => {
130
+ console.error(`[nova] codex spawn error: ${err.message}`);
131
+ reject(err);
132
+ });
133
+ });
134
+ }
135
+ }
136
+ exports.CodexClient = CodexClient;
137
+ class OpenClawClient extends PlatformClient {
138
+ async sendPrompt(prompt, options) {
139
+ const t0 = Date.now();
140
+ const args = ['--print'];
141
+ if (options?.model)
142
+ args.push('--model', options.model);
143
+ console.error(`[nova] spawning openclaw (prompt: ${prompt.length} chars, via stdin)...`);
144
+ return new Promise((resolve, reject) => {
145
+ const child = (0, child_process_1.spawn)('openclaw', args, { stdio: ['pipe', 'pipe', 'pipe'] });
146
+ console.error(`[nova] openclaw pid=${child.pid} spawned in ${Date.now() - t0}ms`);
147
+ child.stdin.write(prompt);
148
+ child.stdin.end();
149
+ let stdout = '';
150
+ let stderr = '';
151
+ child.stdout.on('data', (data) => { stdout += data.toString(); });
152
+ child.stderr.on('data', (data) => { stderr += data.toString(); });
153
+ child.on('close', (code) => {
154
+ const elapsed = Date.now() - t0;
155
+ console.error(`[nova] openclaw exited code=${code}, ${stdout.length} chars, ${elapsed}ms`);
156
+ if (code === 0) {
157
+ resolve({ content: stdout.trim() });
158
+ }
159
+ else {
160
+ reject(new Error(`OpenClaw CLI exit ${code}: ${stderr}`));
161
+ }
162
+ });
163
+ child.on('error', (err) => {
164
+ console.error(`[nova] openclaw spawn error: ${err.message}`);
165
+ reject(err);
166
+ });
167
+ });
168
+ }
169
+ }
170
+ exports.OpenClawClient = OpenClawClient;
171
+ class HermesAgentClient extends PlatformClient {
172
+ async sendPrompt(prompt, options) {
173
+ const t0 = Date.now();
174
+ const args = ['--print'];
175
+ if (options?.model)
176
+ args.push('--model', options.model);
177
+ console.error(`[nova] spawning hermes-agent (prompt: ${prompt.length} chars, via stdin)...`);
178
+ return new Promise((resolve, reject) => {
179
+ const child = (0, child_process_1.spawn)('hermes-agent', args, { stdio: ['pipe', 'pipe', 'pipe'] });
180
+ console.error(`[nova] hermes-agent pid=${child.pid} spawned in ${Date.now() - t0}ms`);
181
+ child.stdin.write(prompt);
182
+ child.stdin.end();
183
+ let stdout = '';
184
+ let stderr = '';
185
+ child.stdout.on('data', (data) => { stdout += data.toString(); });
186
+ child.stderr.on('data', (data) => { stderr += data.toString(); });
187
+ child.on('close', (code) => {
188
+ const elapsed = Date.now() - t0;
189
+ console.error(`[nova] hermes-agent exited code=${code}, ${stdout.length} chars, ${elapsed}ms`);
190
+ if (code === 0) {
191
+ resolve({ content: stdout.trim() });
192
+ }
193
+ else {
194
+ reject(new Error(`Hermes Agent CLI exit ${code}: ${stderr}`));
195
+ }
196
+ });
197
+ child.on('error', (err) => {
198
+ console.error(`[nova] hermes-agent spawn error: ${err.message}`);
199
+ reject(err);
200
+ });
201
+ });
202
+ }
203
+ }
204
+ exports.HermesAgentClient = HermesAgentClient;
205
+ class OpenCodeClient extends PlatformClient {
206
+ async sendPrompt(prompt, options) {
207
+ const t0 = Date.now();
208
+ const args = ['run', prompt];
209
+ if (options?.model)
210
+ args.push('--model', options.model);
211
+ console.error(`[nova] spawning opencode (prompt: ${prompt.length} chars)...`);
212
+ return new Promise((resolve, reject) => {
213
+ const child = (0, child_process_1.spawn)('opencode', args, { stdio: ['pipe', 'pipe', 'pipe'] });
214
+ console.error(`[nova] opencode pid=${child.pid} spawned in ${Date.now() - t0}ms`);
215
+ let stdout = '';
216
+ let stderr = '';
217
+ child.stdout.on('data', (data) => { stdout += data.toString(); });
218
+ child.stderr.on('data', (data) => { stderr += data.toString(); });
219
+ child.on('close', (code) => {
220
+ const elapsed = Date.now() - t0;
221
+ console.error(`[nova] opencode exited code=${code}, ${stdout.length} chars, ${elapsed}ms`);
222
+ if (code === 0) {
223
+ resolve({ content: stdout.trim() });
224
+ }
225
+ else {
226
+ reject(new Error(`OpenCode CLI exit ${code}: ${stderr}`));
227
+ }
228
+ });
229
+ child.on('error', (err) => {
230
+ console.error(`[nova] opencode spawn error: ${err.message}`);
231
+ reject(err);
232
+ });
233
+ });
234
+ }
235
+ }
236
+ exports.OpenCodeClient = OpenCodeClient;
102
237
  // --- Factory ---
238
+ const CLIENT_FACTORIES = {
239
+ 'claude-code': () => new ClaudeCodeClient(),
240
+ 'codex': () => new CodexClient(),
241
+ 'openclaw': () => new OpenClawClient(),
242
+ 'hermes-agent': () => new HermesAgentClient(),
243
+ 'opencode': () => new OpenCodeClient(),
244
+ };
103
245
  async function resolvePlatformClient(cwd) {
104
246
  const dir = cwd ?? process.cwd();
247
+ let env = 'claude-code';
105
248
  try {
106
249
  const raw = await fs.readFile(path.join(dir, '.nova.yaml'), 'utf-8');
107
250
  const state = yaml.parse(raw);
108
- const env = state.environment?.[0];
109
- if (env === 'codex' || env === 'openclaw' || env === 'hermes-agent') {
110
- throw new Error(`${env} is not yet supported. Nova currently supports Claude Code only.`);
111
- }
251
+ env = state.environment?.[0] ?? 'claude-code';
112
252
  }
113
- catch (err) {
114
- if (err.message?.includes('not yet supported'))
115
- throw err;
253
+ catch { }
254
+ const factory = CLIENT_FACTORIES[env];
255
+ if (!factory) {
256
+ throw new Error(`Unsupported environment: ${env}. Supported: ${Object.keys(CLIENT_FACTORIES).join(', ')}`);
116
257
  }
117
- return new ClaudeCodeClient();
258
+ return factory();
118
259
  }
119
260
  //# sourceMappingURL=platform-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-client.js","sourceRoot":"","sources":["../../src/cli-core/platform-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-client.js","sourceRoot":"","sources":["../../src/cli-core/platform-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,30 @@
1
1
  {
2
2
  "name": "@nova286/nova-workflow",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "Nova: AI workflow orchestration — a thin shell for disciplined AI-assisted development",
5
5
  "main": "dist/cli/index.js",
6
- "bin": { "nova": "dist/cli/index.js" },
6
+ "bin": {
7
+ "nova": "dist/cli/index.js"
8
+ },
7
9
  "scripts": {
8
10
  "build": "tsc",
9
11
  "dev": "ts-node src/cli/index.ts",
10
12
  "test": "jest",
11
13
  "prepublishOnly": "npm run build && npm test"
12
14
  },
13
- "files": ["dist/", "templates/", "README.md"],
14
- "keywords": ["nova", "ai-workflow", "orchestration", "claude-code", "skill-based", "process-automation"],
15
+ "files": [
16
+ "dist/",
17
+ "templates/",
18
+ "README.md"
19
+ ],
20
+ "keywords": [
21
+ "nova",
22
+ "ai-workflow",
23
+ "orchestration",
24
+ "claude-code",
25
+ "skill-based",
26
+ "process-automation"
27
+ ],
15
28
  "license": "MIT",
16
29
  "dependencies": {
17
30
  "commander": "^11.0.0",