speccore 8.3.158 → 8.3.160
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 +1 -1
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +88 -96
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +0 -13
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +67 -6
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +71 -216
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/iteration/split.d.ts.map +1 -1
- package/dist/commands/iteration/split.js +73 -9
- package/dist/commands/iteration/split.js.map +1 -1
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +1 -2
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +1 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/core/agent-adapter.d.ts +81 -0
- package/dist/core/agent-adapter.d.ts.map +1 -0
- package/dist/core/agent-adapter.js +425 -0
- package/dist/core/agent-adapter.js.map +1 -0
- package/dist/core/agents/defaults/_INDEX.md +15 -15
- package/dist/core/agents/defaults/code-reviewer.md +9 -0
- package/dist/core/agents/defaults/compiler.md +12 -3
- package/dist/core/agents/defaults/dependency-analyst.md +7 -0
- package/dist/core/agents/defaults/doc-sync-agent.md +7 -0
- package/dist/core/agents/defaults/impact-analyst.md +7 -0
- package/dist/core/agents/defaults/interaction-designer.md +17 -0
- package/dist/core/agents/defaults/performance-expert.md +9 -0
- package/dist/core/agents/defaults/regression-tester.md +7 -0
- package/dist/core/agents/defaults/security-reviewer.md +9 -0
- package/dist/core/agents/defaults/test-engineer.md +10 -0
- package/dist/core/agents/defaults/test-reviewer.md +10 -0
- package/dist/core/lock-manager.d.ts.map +1 -1
- package/dist/core/lock-manager.js +2 -0
- package/dist/core/lock-manager.js.map +1 -1
- package/dist/core/pipeline-engine.d.ts +49 -8
- package/dist/core/pipeline-engine.d.ts.map +1 -1
- package/dist/core/pipeline-engine.js +221 -34
- package/dist/core/pipeline-engine.js.map +1 -1
- package/dist/core/prompt-builder.d.ts +4 -0
- package/dist/core/prompt-builder.d.ts.map +1 -1
- package/dist/core/prompt-builder.js +83 -10
- package/dist/core/prompt-builder.js.map +1 -1
- package/dist/core/rules/defaults/ANALYSIS_QUALITY.md +73 -0
- package/dist/core/rules/defaults/EXECUTION.md +20 -0
- package/dist/core/rules/defaults/ITERATION_QUALITY.md +49 -0
- package/dist/core/rules/defaults/TASK_SPLIT.md +16 -0
- package/dist/core/spec-paths.d.ts.map +1 -1
- package/dist/core/spec-paths.js +2 -1
- package/dist/core/spec-paths.js.map +1 -1
- package/package.json +4 -6
- package/templates/api-design-example.md +0 -338
- package/templates/ci/github-actions.yml +0 -44
- package/templates/dashboard.html +0 -425
- package/templates/database-example.md +0 -223
- package/templates/deploy-docker/README.md +0 -284
- package/templates/deploy-docker/deploy-remote.sh +0 -79
- package/templates/deploy-docker/docker-compose.yml +0 -113
- package/templates/deploy-docker/frontend.Dockerfile +0 -43
- package/templates/deploy-docker/nginx.conf +0 -30
- package/templates/deploy-examples.yaml +0 -436
- package/templates/deploy-java/Dockerfile +0 -50
- package/templates/deploy-java/README.md +0 -212
- package/templates/deploy-java/deploy.sh +0 -120
- package/templates/deploy-java/spring-boot.service +0 -35
- package/templates/html/speccore-ask-explain.html +0 -10
- package/templates/html/speccore-ask-guide.html +0 -10
- package/templates/html/speccore-ask-match.html +0 -10
- package/templates/html/speccore-ask-pipeline.html +0 -1
- package/templates/html/speccore-ask-result.html +0 -10
- package/templates/html/speccore-demo.html +0 -449
- package/templates/html/speccore-dev.html +0 -202
- package/templates/html/speccore-help.html +0 -1
- package/templates/html/speccore-knowledge-graph.html +0 -656
- package/templates/html/speccore-retro-T-001.html +0 -1
- package/templates/html/speccore-setup-guide.html +0 -289
- package/templates/html/speccore-welcome.html +0 -1
- package/templates/security-example.md +0 -226
- package/templates/verify-spec-example.yaml +0 -982
|
@@ -309,6 +309,7 @@ async function iterationSplitCommand(options) {
|
|
|
309
309
|
if (hasPipeline) {
|
|
310
310
|
const { createSplitPipeline } = await Promise.resolve().then(() => __importStar(require('../../core/pipeline-engine')));
|
|
311
311
|
const { engine } = await createSplitPipeline(iter);
|
|
312
|
+
// v8.3.160+: 默认步骤隔离模式
|
|
312
313
|
const result = await engine.advance();
|
|
313
314
|
if (result.isComplete) {
|
|
314
315
|
logger_1.logger.success('🎉 Split Pipeline 完成!');
|
|
@@ -319,14 +320,47 @@ async function iterationSplitCommand(options) {
|
|
|
319
320
|
logger_1.logger.info('');
|
|
320
321
|
logger_1.logger.info(`🔄 Split Pipeline 推进到: ${result.nextStepName || result.nextStepId}`);
|
|
321
322
|
logger_1.logger.info('');
|
|
323
|
+
// v8.3.160+: 步骤隔离模式输出标记 + 子 Agent 激活
|
|
324
|
+
const nextCmd = `speccore iteration split -I ${iter} --resume --pipeline`;
|
|
325
|
+
const prompt = await (0, prompt_builder_1.buildPrompt)('split', {
|
|
326
|
+
iteration: iter,
|
|
327
|
+
// v8.3.160+: 传递步骤级上下文控制
|
|
328
|
+
contextType: result.contextType,
|
|
329
|
+
contextBudget: result.contextBudget,
|
|
330
|
+
});
|
|
331
|
+
const output = [
|
|
332
|
+
`[SPECCORE_STEP_DONE]`,
|
|
333
|
+
`步骤 "${result.nextStepName || result.nextStepId}" 已完成。`,
|
|
334
|
+
``,
|
|
335
|
+
`[SPECCORE_NEXT_STEP]`,
|
|
336
|
+
`下一步: ${result.nextStepName || result.nextStepId}`,
|
|
337
|
+
`请在新的对话中执行: ${nextCmd}`,
|
|
338
|
+
``,
|
|
339
|
+
`[SPECCORE_CONTEXT_SNAPSHOT]`,
|
|
340
|
+
JSON.stringify(result.contextSnapshot || {}),
|
|
341
|
+
``,
|
|
342
|
+
// v8.3.160+: 子 Agent 激活标记
|
|
343
|
+
...(result.subagent ? [
|
|
344
|
+
`[SPECCORE_SUBAGENT: ${result.subagent}]`,
|
|
345
|
+
`[SPECCORE_CONTEXT_BUDGET: ${result.contextBudget || 12000}]`,
|
|
346
|
+
`[SPECCORE_CONTEXT_TYPE: ${result.contextType || 'full'}]`,
|
|
347
|
+
``,
|
|
348
|
+
] : []),
|
|
349
|
+
`--- 下一步 Prompt ---`,
|
|
350
|
+
typeof prompt === 'string' ? prompt : JSON.stringify(prompt),
|
|
351
|
+
].join('\n');
|
|
352
|
+
process.stdout.write(output);
|
|
353
|
+
process.exitCode = 10;
|
|
354
|
+
return;
|
|
322
355
|
// 根据当前步骤生成相应提示
|
|
323
356
|
if (result.nextStepId === 'prompt-analysis') {
|
|
324
357
|
const prompt = await (0, prompt_builder_1.buildPrompt)('split', { iteration: iter });
|
|
325
358
|
// 添加 Pipeline 继续指令
|
|
326
|
-
|
|
359
|
+
// v8.3.160+: 步骤隔离模式,每步完成后需新会话继续
|
|
360
|
+
const finalPrompt = prompt + `\n\n## ⚠️ Pipeline 模式:步骤隔离\n\n` +
|
|
327
361
|
`当前是 Split Pipeline 模式。当你通过 --response 写入任务拆分结果后,` +
|
|
328
|
-
`CLI 会自动输出 [
|
|
329
|
-
`**看到 [
|
|
362
|
+
`CLI 会自动输出 [SPECCORE_STEP_DONE] 标记,提示你在新会话中执行下一步。\n\n` +
|
|
363
|
+
`**看到 [SPECCORE_STEP_DONE] 后,请在新会话中执行提示的命令**,继续下一步。\n`;
|
|
330
364
|
process.stdout.write(`[SPECCORE_PROMPT]\n${finalPrompt}`);
|
|
331
365
|
process.exitCode = 10;
|
|
332
366
|
return;
|
|
@@ -344,10 +378,11 @@ async function iterationSplitCommand(options) {
|
|
|
344
378
|
// 生成第一步 prompt
|
|
345
379
|
const prompt = await (0, prompt_builder_1.buildPrompt)('split', { iteration: iter });
|
|
346
380
|
// 添加 Pipeline 继续指令
|
|
347
|
-
|
|
381
|
+
// v8.3.160+: 步骤隔离模式,每步完成后需新会话继续
|
|
382
|
+
const finalPrompt = prompt + `\n\n## ⚠️ Pipeline 模式:步骤隔离\n\n` +
|
|
348
383
|
`当前是 Split Pipeline 模式。当你通过 --response 写入任务拆分结果后,` +
|
|
349
|
-
`CLI 会自动输出 [
|
|
350
|
-
`**看到 [
|
|
384
|
+
`CLI 会自动输出 [SPECCORE_STEP_DONE] 标记,提示你在新会话中执行下一步。\n\n` +
|
|
385
|
+
`**看到 [SPECCORE_STEP_DONE] 后,请在新会话中执行提示的命令**,继续下一步。\n`;
|
|
351
386
|
process.stdout.write(`[SPECCORE_PROMPT]\n${finalPrompt}`);
|
|
352
387
|
process.exitCode = 10;
|
|
353
388
|
return;
|
|
@@ -372,7 +407,8 @@ async function iterationSplitCommand(options) {
|
|
|
372
407
|
if (hasPipeline) {
|
|
373
408
|
const { createSplitPipeline } = await Promise.resolve().then(() => __importStar(require('../../core/pipeline-engine')));
|
|
374
409
|
const { engine } = await createSplitPipeline(iter);
|
|
375
|
-
|
|
410
|
+
// v8.3.160+: 默认步骤隔离模式
|
|
411
|
+
const stepResult = await engine.advance();
|
|
376
412
|
const state = await engine.getState();
|
|
377
413
|
if (state?.currentStep === 'done') {
|
|
378
414
|
logger_1.logger.success('🎉 Split Pipeline 完成!');
|
|
@@ -389,10 +425,38 @@ async function iterationSplitCommand(options) {
|
|
|
389
425
|
nextPrompt = `任务拆分已完成,正在创建任务目录结构...\n\n请继续执行后续操作。`;
|
|
390
426
|
}
|
|
391
427
|
else {
|
|
392
|
-
|
|
428
|
+
// v8.3.160+: 传递步骤级上下文控制,确保 Pipeline 配置的 budget/type 生效
|
|
429
|
+
const promptResult = await (0, prompt_builder_1.buildPrompt)('split', {
|
|
430
|
+
iteration: iter,
|
|
431
|
+
contextType: stepResult.contextType,
|
|
432
|
+
contextBudget: stepResult.contextBudget,
|
|
433
|
+
});
|
|
393
434
|
nextPrompt = typeof promptResult === 'string' ? promptResult : JSON.stringify(promptResult);
|
|
394
435
|
}
|
|
395
|
-
|
|
436
|
+
// v8.3.160+: 步骤隔离模式输出标记 + 子 Agent 激活
|
|
437
|
+
const nextCmd = `speccore iteration split -I ${iter} --resume --pipeline`;
|
|
438
|
+
const output = [
|
|
439
|
+
`[SPECCORE_STEP_DONE]`,
|
|
440
|
+
`步骤 "${state.currentStep}" 已完成。`,
|
|
441
|
+
``,
|
|
442
|
+
`[SPECCORE_NEXT_STEP]`,
|
|
443
|
+
`下一步: ${state.currentStep}`,
|
|
444
|
+
`请在新的对话中执行: ${nextCmd}`,
|
|
445
|
+
``,
|
|
446
|
+
`[SPECCORE_CONTEXT_SNAPSHOT]`,
|
|
447
|
+
JSON.stringify(stepResult.contextSnapshot || {}),
|
|
448
|
+
``,
|
|
449
|
+
// v8.3.160+: 子 Agent 激活标记
|
|
450
|
+
...(stepResult.subagent ? [
|
|
451
|
+
`[SPECCORE_SUBAGENT: ${stepResult.subagent}]`,
|
|
452
|
+
`[SPECCORE_CONTEXT_BUDGET: ${stepResult.contextBudget || 12000}]`,
|
|
453
|
+
`[SPECCORE_CONTEXT_TYPE: ${stepResult.contextType || 'full'}]`,
|
|
454
|
+
``,
|
|
455
|
+
] : []),
|
|
456
|
+
`--- 下一步 Prompt ---`,
|
|
457
|
+
nextPrompt,
|
|
458
|
+
].join('\n');
|
|
459
|
+
process.stdout.write(output);
|
|
396
460
|
process.exitCode = 10;
|
|
397
461
|
}
|
|
398
462
|
return;
|