@ronkovic/aad 0.4.0 → 0.5.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 (38) hide show
  1. package/README.md +42 -4
  2. package/package.json +1 -1
  3. package/src/__tests__/e2e/cleanup-e2e.test.ts +186 -0
  4. package/src/__tests__/e2e/dashboard-api-e2e.test.ts +87 -0
  5. package/src/__tests__/e2e/pipeline-e2e.test.ts +10 -69
  6. package/src/__tests__/e2e/resume-e2e.test.ts +7 -11
  7. package/src/__tests__/e2e/retry-e2e.test.ts +285 -0
  8. package/src/__tests__/e2e/status-e2e.test.ts +227 -0
  9. package/src/__tests__/e2e/tdd-pipeline-e2e.test.ts +360 -0
  10. package/src/__tests__/helpers/index.ts +6 -0
  11. package/src/__tests__/helpers/mock-claude-provider.ts +53 -0
  12. package/src/__tests__/helpers/mock-logger.ts +36 -0
  13. package/src/__tests__/helpers/wait-helpers.ts +34 -0
  14. package/src/__tests__/integration/pipeline.test.ts +2 -0
  15. package/src/modules/claude-provider/__tests__/claude-sdk.adapter.test.ts +4 -0
  16. package/src/modules/claude-provider/__tests__/provider-registry.test.ts +2 -0
  17. package/src/modules/cli/__tests__/cleanup.test.ts +1 -0
  18. package/src/modules/cli/__tests__/resume.test.ts +3 -0
  19. package/src/modules/cli/__tests__/run.test.ts +36 -0
  20. package/src/modules/cli/__tests__/status.test.ts +1 -0
  21. package/src/modules/cli/app.ts +2 -0
  22. package/src/modules/cli/commands/resume.ts +11 -6
  23. package/src/modules/cli/commands/run.ts +14 -2
  24. package/src/modules/dashboard/ui/dashboard.html +640 -474
  25. package/src/modules/planning/__tests__/planning-service.test.ts +2 -0
  26. package/src/modules/process-manager/__tests__/process-manager.test.ts +2 -0
  27. package/src/modules/process-manager/process-manager.ts +2 -1
  28. package/src/modules/task-execution/__tests__/executor.test.ts +420 -10
  29. package/src/modules/task-execution/executor.ts +76 -0
  30. package/src/modules/task-queue/dispatcher.ts +46 -2
  31. package/src/shared/__tests__/config.test.ts +30 -0
  32. package/src/shared/__tests__/events.test.ts +42 -16
  33. package/src/shared/__tests__/shutdown-handler.test.ts +96 -0
  34. package/src/shared/config.ts +4 -0
  35. package/src/shared/events.ts +5 -0
  36. package/src/shared/memory-check.ts +2 -2
  37. package/src/shared/shutdown-handler.ts +12 -5
  38. package/src/shared/types.ts +12 -0
@@ -29,10 +29,17 @@ export function createRunCommand(getApp: () => App): Command {
29
29
  .option("--plugins <paths>", "Comma-separated plugin paths to load")
30
30
  .option("--keep-worktrees", "Keep worktrees and branches after completion (default: auto-cleanup)", false)
31
31
  .option("--dry-run", "Display task plan without executing", false)
32
- .action(async (requirementsPath: string, cmdOptions: { keepWorktrees?: boolean; dryRun?: boolean }) => {
32
+ .option("--strict-tdd", "Always run full TDD pipeline (disable pre-check optimization)", false)
33
+ .action(async (requirementsPath: string, cmdOptions: { keepWorktrees?: boolean; dryRun?: boolean; strictTdd?: boolean }) => {
33
34
  let app: App | null = null;
34
35
  try {
35
36
  app = getApp();
37
+
38
+ // Override config with CLI options
39
+ if (cmdOptions.strictTdd !== undefined) {
40
+ app.config.strictTdd = cmdOptions.strictTdd;
41
+ }
42
+
36
43
  await runPipeline(app, requirementsPath, cmdOptions.keepWorktrees ?? false, cmdOptions.dryRun ?? false);
37
44
  await app.shutdown();
38
45
  process.exit(process.exitCode ?? 0);
@@ -86,7 +93,11 @@ export async function runPipeline(app: App, requirementsPath: string, keepWorktr
86
93
 
87
94
  logger.info({ runId, parentBranch }, "Initialized run");
88
95
  console.log(`\nšŸš€ AAD Run: ${runId}`);
89
- console.log(`šŸ“ Parent Branch: ${parentBranch}\n`);
96
+ console.log(`šŸ“ Parent Branch: ${parentBranch}`);
97
+ if (app.dashboardServer) {
98
+ console.log(`šŸ“Š Dashboard: http://${config.dashboard.host}:${config.dashboard.port}`);
99
+ }
100
+ console.log();
90
101
 
91
102
  // 2. PlanningService.planTasks() → TaskPlan
92
103
  const planSpinner = createSpinner("Planning tasks...");
@@ -164,6 +175,7 @@ export async function runPipeline(app: App, requirementsPath: string, keepWorktr
164
175
  runId,
165
176
  stores: { runStore: stores.runStore, taskStore: stores.taskStore },
166
177
  logger,
178
+ persistMode: app.persistMode,
167
179
  });
168
180
 
169
181
  // 5. Generate feature name and create parent worktree with real branch