ai-sdlc 0.2.0-alpha.4 → 0.2.0-alpha.40

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 (118) hide show
  1. package/README.md +53 -1058
  2. package/dist/agents/implementation.d.ts +62 -0
  3. package/dist/agents/implementation.d.ts.map +1 -1
  4. package/dist/agents/implementation.js +494 -90
  5. package/dist/agents/implementation.js.map +1 -1
  6. package/dist/agents/index.d.ts +1 -0
  7. package/dist/agents/index.d.ts.map +1 -1
  8. package/dist/agents/index.js +1 -0
  9. package/dist/agents/index.js.map +1 -1
  10. package/dist/agents/planning.d.ts +1 -1
  11. package/dist/agents/planning.d.ts.map +1 -1
  12. package/dist/agents/planning.js +55 -4
  13. package/dist/agents/planning.js.map +1 -1
  14. package/dist/agents/refinement.d.ts.map +1 -1
  15. package/dist/agents/refinement.js +22 -3
  16. package/dist/agents/refinement.js.map +1 -1
  17. package/dist/agents/research.d.ts +85 -1
  18. package/dist/agents/research.d.ts.map +1 -1
  19. package/dist/agents/research.js +506 -16
  20. package/dist/agents/research.js.map +1 -1
  21. package/dist/agents/review.d.ts +79 -2
  22. package/dist/agents/review.d.ts.map +1 -1
  23. package/dist/agents/review.js +568 -68
  24. package/dist/agents/review.js.map +1 -1
  25. package/dist/agents/rework.d.ts.map +1 -1
  26. package/dist/agents/rework.js +22 -3
  27. package/dist/agents/rework.js.map +1 -1
  28. package/dist/agents/single-task.d.ts +41 -0
  29. package/dist/agents/single-task.d.ts.map +1 -0
  30. package/dist/agents/single-task.js +357 -0
  31. package/dist/agents/single-task.js.map +1 -0
  32. package/dist/agents/state-assessor.d.ts +3 -3
  33. package/dist/agents/state-assessor.d.ts.map +1 -1
  34. package/dist/agents/state-assessor.js +6 -6
  35. package/dist/agents/state-assessor.js.map +1 -1
  36. package/dist/agents/test-pattern-detector.d.ts +49 -0
  37. package/dist/agents/test-pattern-detector.d.ts.map +1 -0
  38. package/dist/agents/test-pattern-detector.js +273 -0
  39. package/dist/agents/test-pattern-detector.js.map +1 -0
  40. package/dist/agents/verification.d.ts +11 -0
  41. package/dist/agents/verification.d.ts.map +1 -1
  42. package/dist/agents/verification.js +74 -1
  43. package/dist/agents/verification.js.map +1 -1
  44. package/dist/cli/commands/migrate.js +1 -1
  45. package/dist/cli/commands/migrate.js.map +1 -1
  46. package/dist/cli/commands.d.ts +59 -3
  47. package/dist/cli/commands.d.ts.map +1 -1
  48. package/dist/cli/commands.js +1053 -217
  49. package/dist/cli/commands.js.map +1 -1
  50. package/dist/cli/daemon.d.ts.map +1 -1
  51. package/dist/cli/daemon.js +40 -10
  52. package/dist/cli/daemon.js.map +1 -1
  53. package/dist/cli/runner.d.ts.map +1 -1
  54. package/dist/cli/runner.js +51 -20
  55. package/dist/cli/runner.js.map +1 -1
  56. package/dist/core/auth.d.ts +43 -0
  57. package/dist/core/auth.d.ts.map +1 -1
  58. package/dist/core/auth.js +105 -1
  59. package/dist/core/auth.js.map +1 -1
  60. package/dist/core/client.d.ts +6 -0
  61. package/dist/core/client.d.ts.map +1 -1
  62. package/dist/core/client.js +57 -3
  63. package/dist/core/client.js.map +1 -1
  64. package/dist/core/config.d.ts +36 -1
  65. package/dist/core/config.d.ts.map +1 -1
  66. package/dist/core/config.js +162 -1
  67. package/dist/core/config.js.map +1 -1
  68. package/dist/core/conflict-detector.d.ts +108 -0
  69. package/dist/core/conflict-detector.d.ts.map +1 -0
  70. package/dist/core/conflict-detector.js +413 -0
  71. package/dist/core/conflict-detector.js.map +1 -0
  72. package/dist/core/git-utils.d.ts +28 -0
  73. package/dist/core/git-utils.d.ts.map +1 -0
  74. package/dist/core/git-utils.js +146 -0
  75. package/dist/core/git-utils.js.map +1 -0
  76. package/dist/core/index.d.ts +18 -0
  77. package/dist/core/index.d.ts.map +1 -0
  78. package/dist/core/index.js +18 -0
  79. package/dist/core/index.js.map +1 -0
  80. package/dist/core/kanban.d.ts +1 -6
  81. package/dist/core/kanban.d.ts.map +1 -1
  82. package/dist/core/kanban.js +10 -49
  83. package/dist/core/kanban.js.map +1 -1
  84. package/dist/core/logger.d.ts +92 -0
  85. package/dist/core/logger.d.ts.map +1 -0
  86. package/dist/core/logger.js +221 -0
  87. package/dist/core/logger.js.map +1 -0
  88. package/dist/core/story-logger.d.ts +102 -0
  89. package/dist/core/story-logger.d.ts.map +1 -0
  90. package/dist/core/story-logger.js +265 -0
  91. package/dist/core/story-logger.js.map +1 -0
  92. package/dist/core/story.d.ts +122 -18
  93. package/dist/core/story.d.ts.map +1 -1
  94. package/dist/core/story.js +390 -58
  95. package/dist/core/story.js.map +1 -1
  96. package/dist/core/task-parser.d.ts +59 -0
  97. package/dist/core/task-parser.d.ts.map +1 -0
  98. package/dist/core/task-parser.js +235 -0
  99. package/dist/core/task-parser.js.map +1 -0
  100. package/dist/core/task-progress.d.ts +92 -0
  101. package/dist/core/task-progress.d.ts.map +1 -0
  102. package/dist/core/task-progress.js +280 -0
  103. package/dist/core/task-progress.js.map +1 -0
  104. package/dist/core/workflow-state.d.ts +45 -6
  105. package/dist/core/workflow-state.d.ts.map +1 -1
  106. package/dist/core/workflow-state.js +201 -12
  107. package/dist/core/workflow-state.js.map +1 -1
  108. package/dist/core/worktree.d.ts +77 -0
  109. package/dist/core/worktree.d.ts.map +1 -0
  110. package/dist/core/worktree.js +246 -0
  111. package/dist/core/worktree.js.map +1 -0
  112. package/dist/index.js +135 -5
  113. package/dist/index.js.map +1 -1
  114. package/dist/types/index.d.ts +288 -1
  115. package/dist/types/index.d.ts.map +1 -1
  116. package/dist/types/index.js +1 -0
  117. package/dist/types/index.js.map +1 -1
  118. package/package.json +3 -1
@@ -1,4 +1,4 @@
1
- import { Story, ActionType } from '../types/index.js';
1
+ import { Story, ActionType, PreFlightResult } from '../types/index.js';
2
2
  /**
3
3
  * Initialize the .ai-sdlc folder structure
4
4
  */
@@ -12,7 +12,47 @@ export declare function status(options?: {
12
12
  /**
13
13
  * Add a new story to the backlog
14
14
  */
15
- export declare function add(title: string): Promise<void>;
15
+ export declare function add(title?: string, options?: {
16
+ file?: string;
17
+ }): Promise<void>;
18
+ /**
19
+ * Determine if worktree mode should be used based on CLI flags, story frontmatter, and config.
20
+ * Priority order:
21
+ * 1. CLI --no-worktree flag (explicit disable)
22
+ * 2. CLI --worktree flag (explicit enable)
23
+ * 3. Story frontmatter.worktree_path exists (auto-enable for resuming)
24
+ * 4. Config worktree.enabled (default behavior)
25
+ */
26
+ export declare function determineWorktreeMode(options: {
27
+ worktree?: boolean;
28
+ }, worktreeConfig: {
29
+ enabled: boolean;
30
+ }, targetStory: Story | null): boolean;
31
+ /**
32
+ * Perform pre-flight conflict check before starting work on a story in a worktree.
33
+ * Warns about potential file conflicts with active stories and prompts for confirmation.
34
+ *
35
+ * **Race Condition (TOCTOU):** Multiple users can pass this check simultaneously
36
+ * before branches are created. This is an accepted risk - the window is small
37
+ * (~100ms) and git will catch conflicts during merge/PR creation. Adding file
38
+ * locks would significantly increase complexity for minimal security gain.
39
+ *
40
+ * **Security Notes:**
41
+ * - sdlcRoot is normalized and validated (absolute path, no null bytes, max 1024 chars)
42
+ * - All display output is sanitized to prevent terminal injection attacks
43
+ * - Story IDs are validated with sanitizeStoryId() then stripped with sanitizeForDisplay()
44
+ * - Error messages are generic to prevent information leakage
45
+ *
46
+ * @param targetStory - The story to check for conflicts
47
+ * @param sdlcRoot - Root directory of the .ai-sdlc folder (must be absolute, validated)
48
+ * @param options - Command options (force flag)
49
+ * @param options.force - Skip conflict check if true
50
+ * @returns PreFlightResult indicating whether to proceed and any warnings
51
+ * @throws Error if sdlcRoot is invalid (not absolute, null bytes, too long)
52
+ */
53
+ export declare function preFlightConflictCheck(targetStory: Story, sdlcRoot: string, options: {
54
+ force?: boolean;
55
+ }): Promise<PreFlightResult>;
16
56
  /**
17
57
  * Run the workflow (process one action or all)
18
58
  */
@@ -24,6 +64,8 @@ export declare function run(options: {
24
64
  step?: string;
25
65
  maxIterations?: string;
26
66
  watch?: boolean;
67
+ force?: boolean;
68
+ worktree?: boolean;
27
69
  }): Promise<void>;
28
70
  /**
29
71
  * Phase information for RPIV display
@@ -90,10 +132,24 @@ export declare function details(idOrSlug: string): Promise<void>;
90
132
  */
91
133
  export declare function unblock(storyId: string, options?: {
92
134
  resetRetries?: boolean;
93
- }): void;
135
+ }): Promise<void>;
94
136
  export declare function migrate(options: {
95
137
  dryRun?: boolean;
96
138
  backup?: boolean;
97
139
  force?: boolean;
98
140
  }): Promise<void>;
141
+ /**
142
+ * List all ai-sdlc managed worktrees
143
+ */
144
+ export declare function listWorktrees(): Promise<void>;
145
+ /**
146
+ * Create a worktree for a specific story
147
+ */
148
+ export declare function addWorktree(storyId: string): Promise<void>;
149
+ /**
150
+ * Remove a worktree for a specific story
151
+ */
152
+ export declare function removeWorktree(storyId: string, options?: {
153
+ force?: boolean;
154
+ }): Promise<void>;
99
155
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAU,UAAU,EAA4G,MAAM,mBAAmB,CAAC;AAcxK;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB1C;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmF1E;AAED;;GAEG;AACH,wBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtD;AA0ED;;GAEG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8alL;AAsQD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAiDlF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAgCA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAsBtE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYtD;AA6DD;;GAEG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkH7D;AA8GD;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAgCnF;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8G7G"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}