edsger 0.77.0 โ†’ 0.79.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 (877) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +95 -210
  3. package/assets/LICENSE +21 -0
  4. package/assets/README.md +104 -0
  5. package/assets/benchmark/base.yaml +286 -0
  6. package/assets/benchmark/csharp.yaml +68 -0
  7. package/assets/benchmark/dart.yaml +70 -0
  8. package/assets/benchmark/go.yaml +71 -0
  9. package/assets/benchmark/java.yaml +68 -0
  10. package/assets/benchmark/python.yaml +72 -0
  11. package/assets/benchmark/typescript.yaml +71 -0
  12. package/assets/languages.yaml +35 -0
  13. package/assets/manifest.yaml +39 -0
  14. package/assets/review/base.yaml +111 -0
  15. package/assets/review/csharp.yaml +38 -0
  16. package/assets/review/dart.yaml +40 -0
  17. package/assets/review/go.yaml +40 -0
  18. package/assets/review/java.yaml +40 -0
  19. package/assets/review/python.yaml +41 -0
  20. package/assets/review/typescript.yaml +40 -0
  21. package/assets/schema/benchmark.schema.json +87 -0
  22. package/assets/schema/review.schema.json +73 -0
  23. package/assets/skills/benchmark/SKILL.md +66 -0
  24. package/assets/skills/pr-resolve/SKILL.md +58 -0
  25. package/assets/skills/pr-review/SKILL.md +66 -0
  26. package/dist/index.js +1348 -1247
  27. package/dist/index.js.map +1 -0
  28. package/package.json +58 -53
  29. package/dist/api/adr.d.ts +0 -48
  30. package/dist/api/adr.js +0 -139
  31. package/dist/api/app-store-iap.d.ts +0 -60
  32. package/dist/api/app-store-iap.js +0 -145
  33. package/dist/api/app-store.d.ts +0 -93
  34. package/dist/api/app-store.js +0 -206
  35. package/dist/api/chat.d.ts +0 -72
  36. package/dist/api/chat.js +0 -272
  37. package/dist/api/cross-product.d.ts +0 -33
  38. package/dist/api/cross-product.js +0 -127
  39. package/dist/api/financing.d.ts +0 -47
  40. package/dist/api/financing.js +0 -37
  41. package/dist/api/github.d.ts +0 -86
  42. package/dist/api/github.js +0 -203
  43. package/dist/api/growth.d.ts +0 -81
  44. package/dist/api/growth.js +0 -75
  45. package/dist/api/intelligence-normalize.d.ts +0 -25
  46. package/dist/api/intelligence-normalize.js +0 -103
  47. package/dist/api/intelligence.d.ts +0 -187
  48. package/dist/api/intelligence.js +0 -402
  49. package/dist/api/issues/approval-checker.d.ts +0 -22
  50. package/dist/api/issues/approval-checker.js +0 -141
  51. package/dist/api/issues/batch-operations.d.ts +0 -17
  52. package/dist/api/issues/batch-operations.js +0 -100
  53. package/dist/api/issues/get-issue.d.ts +0 -5
  54. package/dist/api/issues/get-issue.js +0 -47
  55. package/dist/api/issues/index.d.ts +0 -8
  56. package/dist/api/issues/index.js +0 -10
  57. package/dist/api/issues/issue-utils.d.ts +0 -25
  58. package/dist/api/issues/issue-utils.js +0 -133
  59. package/dist/api/issues/status-updater.d.ts +0 -68
  60. package/dist/api/issues/status-updater.js +0 -190
  61. package/dist/api/issues/test-cases.d.ts +0 -29
  62. package/dist/api/issues/test-cases.js +0 -185
  63. package/dist/api/issues/update-issue.d.ts +0 -25
  64. package/dist/api/issues/update-issue.js +0 -127
  65. package/dist/api/issues/user-stories.d.ts +0 -21
  66. package/dist/api/issues/user-stories.js +0 -163
  67. package/dist/api/mcp-client.d.ts +0 -22
  68. package/dist/api/mcp-client.js +0 -75
  69. package/dist/api/products/test-cases.d.ts +0 -18
  70. package/dist/api/products/test-cases.js +0 -51
  71. package/dist/api/products.d.ts +0 -15
  72. package/dist/api/products.js +0 -45
  73. package/dist/api/release-test-cases.d.ts +0 -7
  74. package/dist/api/release-test-cases.js +0 -59
  75. package/dist/api/releases.d.ts +0 -41
  76. package/dist/api/releases.js +0 -117
  77. package/dist/api/run-sheets.d.ts +0 -22
  78. package/dist/api/run-sheets.js +0 -13
  79. package/dist/api/storage.d.ts +0 -13
  80. package/dist/api/storage.js +0 -29
  81. package/dist/api/tasks.d.ts +0 -26
  82. package/dist/api/tasks.js +0 -81
  83. package/dist/api/test-reports.d.ts +0 -9
  84. package/dist/api/test-reports.js +0 -43
  85. package/dist/api/user-psychology.d.ts +0 -101
  86. package/dist/api/user-psychology.js +0 -143
  87. package/dist/api/web-deploy.d.ts +0 -67
  88. package/dist/api/web-deploy.js +0 -199
  89. package/dist/auth/auth-store.d.ts +0 -98
  90. package/dist/auth/auth-store.js +0 -194
  91. package/dist/auth/env-store.d.ts +0 -41
  92. package/dist/auth/env-store.js +0 -127
  93. package/dist/auth/login.d.ts +0 -18
  94. package/dist/auth/login.js +0 -179
  95. package/dist/commands/adr/index.d.ts +0 -13
  96. package/dist/commands/adr/index.js +0 -31
  97. package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
  98. package/dist/commands/agent-workflow/chat-worker.js +0 -465
  99. package/dist/commands/agent-workflow/index.d.ts +0 -13
  100. package/dist/commands/agent-workflow/index.js +0 -107
  101. package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
  102. package/dist/commands/agent-workflow/issue-worker.js +0 -65
  103. package/dist/commands/agent-workflow/processor.d.ts +0 -95
  104. package/dist/commands/agent-workflow/processor.js +0 -519
  105. package/dist/commands/analyze-logs/index.d.ts +0 -7
  106. package/dist/commands/analyze-logs/index.js +0 -34
  107. package/dist/commands/api-docs/index.d.ts +0 -18
  108. package/dist/commands/api-docs/index.js +0 -41
  109. package/dist/commands/app-store/index.d.ts +0 -12
  110. package/dist/commands/app-store/index.js +0 -69
  111. package/dist/commands/architecture-diagram/index.d.ts +0 -8
  112. package/dist/commands/architecture-diagram/index.js +0 -10
  113. package/dist/commands/build/detect-project.d.ts +0 -52
  114. package/dist/commands/build/detect-project.js +0 -277
  115. package/dist/commands/build/index.d.ts +0 -66
  116. package/dist/commands/build/index.js +0 -544
  117. package/dist/commands/chat-serve/chat-server.d.ts +0 -114
  118. package/dist/commands/chat-serve/chat-server.js +0 -339
  119. package/dist/commands/chat-serve/index.d.ts +0 -20
  120. package/dist/commands/chat-serve/index.js +0 -58
  121. package/dist/commands/checklists/index.d.ts +0 -16
  122. package/dist/commands/checklists/index.js +0 -187
  123. package/dist/commands/checklists/tools.d.ts +0 -17
  124. package/dist/commands/checklists/tools.js +0 -19
  125. package/dist/commands/class-diagram/index.d.ts +0 -7
  126. package/dist/commands/class-diagram/index.js +0 -9
  127. package/dist/commands/code-review/index.d.ts +0 -2
  128. package/dist/commands/code-review/index.js +0 -37
  129. package/dist/commands/code-review/reviewer.d.ts +0 -3
  130. package/dist/commands/code-review/reviewer.js +0 -205
  131. package/dist/commands/config/index.d.ts +0 -16
  132. package/dist/commands/config/index.js +0 -60
  133. package/dist/commands/data-flow/index.d.ts +0 -19
  134. package/dist/commands/data-flow/index.js +0 -55
  135. package/dist/commands/diagram-shared/index.d.ts +0 -21
  136. package/dist/commands/diagram-shared/index.js +0 -37
  137. package/dist/commands/discover/index.d.ts +0 -14
  138. package/dist/commands/discover/index.js +0 -29
  139. package/dist/commands/er-diagram/index.d.ts +0 -19
  140. package/dist/commands/er-diagram/index.js +0 -55
  141. package/dist/commands/features/index.d.ts +0 -15
  142. package/dist/commands/features/index.js +0 -34
  143. package/dist/commands/financing-deck/index.d.ts +0 -8
  144. package/dist/commands/financing-deck/index.js +0 -66
  145. package/dist/commands/find-architecture/index.d.ts +0 -15
  146. package/dist/commands/find-architecture/index.js +0 -50
  147. package/dist/commands/find-bugs/index.d.ts +0 -13
  148. package/dist/commands/find-bugs/index.js +0 -48
  149. package/dist/commands/find-features/index.d.ts +0 -14
  150. package/dist/commands/find-features/index.js +0 -42
  151. package/dist/commands/find-smells/index.d.ts +0 -23
  152. package/dist/commands/find-smells/index.js +0 -74
  153. package/dist/commands/flowchart/index.d.ts +0 -8
  154. package/dist/commands/flowchart/index.js +0 -10
  155. package/dist/commands/growth-analysis/index.d.ts +0 -7
  156. package/dist/commands/growth-analysis/index.js +0 -89
  157. package/dist/commands/init/index.d.ts +0 -5
  158. package/dist/commands/init/index.js +0 -152
  159. package/dist/commands/init/prompts.d.ts +0 -9
  160. package/dist/commands/init/prompts.js +0 -128
  161. package/dist/commands/init/templates.d.ts +0 -9
  162. package/dist/commands/init/templates.js +0 -264
  163. package/dist/commands/intelligence/index.d.ts +0 -15
  164. package/dist/commands/intelligence/index.js +0 -138
  165. package/dist/commands/issue-analysis/index.d.ts +0 -5
  166. package/dist/commands/issue-analysis/index.js +0 -9
  167. package/dist/commands/pr-resolve/index.d.ts +0 -13
  168. package/dist/commands/pr-resolve/index.js +0 -50
  169. package/dist/commands/pr-review/index.d.ts +0 -12
  170. package/dist/commands/pr-review/index.js +0 -47
  171. package/dist/commands/product-techniques/index.d.ts +0 -15
  172. package/dist/commands/product-techniques/index.js +0 -37
  173. package/dist/commands/product-test-cases/index.d.ts +0 -12
  174. package/dist/commands/product-test-cases/index.js +0 -40
  175. package/dist/commands/quality-benchmark/index.d.ts +0 -45
  176. package/dist/commands/quality-benchmark/index.js +0 -247
  177. package/dist/commands/recipes/index.d.ts +0 -17
  178. package/dist/commands/recipes/index.js +0 -40
  179. package/dist/commands/refactor/refactor.d.ts +0 -2
  180. package/dist/commands/refactor/refactor.js +0 -134
  181. package/dist/commands/release-sync/index.d.ts +0 -5
  182. package/dist/commands/release-sync/index.js +0 -38
  183. package/dist/commands/run-sheet/index.d.ts +0 -6
  184. package/dist/commands/run-sheet/index.js +0 -48
  185. package/dist/commands/screen-flow/index.d.ts +0 -18
  186. package/dist/commands/screen-flow/index.js +0 -54
  187. package/dist/commands/sequence-diagram/index.d.ts +0 -19
  188. package/dist/commands/sequence-diagram/index.js +0 -55
  189. package/dist/commands/session-serve/index.d.ts +0 -32
  190. package/dist/commands/session-serve/index.js +0 -100
  191. package/dist/commands/session-turn/index.d.ts +0 -73
  192. package/dist/commands/session-turn/index.js +0 -254
  193. package/dist/commands/smoke-test/index.d.ts +0 -5
  194. package/dist/commands/smoke-test/index.js +0 -40
  195. package/dist/commands/state-diagram/index.d.ts +0 -7
  196. package/dist/commands/state-diagram/index.js +0 -9
  197. package/dist/commands/sync-aws/index.d.ts +0 -16
  198. package/dist/commands/sync-aws/index.js +0 -214
  199. package/dist/commands/sync-datadog/index.d.ts +0 -16
  200. package/dist/commands/sync-datadog/index.js +0 -236
  201. package/dist/commands/sync-github-issues/index.d.ts +0 -11
  202. package/dist/commands/sync-github-issues/index.js +0 -42
  203. package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
  204. package/dist/commands/sync-github-pull-requests/index.js +0 -42
  205. package/dist/commands/sync-org-repos/index.d.ts +0 -12
  206. package/dist/commands/sync-org-repos/index.js +0 -60
  207. package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
  208. package/dist/commands/sync-sentry-issues/index.js +0 -73
  209. package/dist/commands/sync-terraform/index.d.ts +0 -16
  210. package/dist/commands/sync-terraform/index.js +0 -248
  211. package/dist/commands/task-worker/index.d.ts +0 -8
  212. package/dist/commands/task-worker/index.js +0 -34
  213. package/dist/commands/task-worker/processor.d.ts +0 -23
  214. package/dist/commands/task-worker/processor.js +0 -84
  215. package/dist/commands/technical-design/index.d.ts +0 -5
  216. package/dist/commands/technical-design/index.js +0 -9
  217. package/dist/commands/test-cases-analysis/index.d.ts +0 -5
  218. package/dist/commands/test-cases-analysis/index.js +0 -9
  219. package/dist/commands/user-psychology/index.d.ts +0 -7
  220. package/dist/commands/user-psychology/index.js +0 -51
  221. package/dist/commands/user-stories-analysis/index.d.ts +0 -5
  222. package/dist/commands/user-stories-analysis/index.js +0 -9
  223. package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
  224. package/dist/commands/workflow/config/phase-configs.js +0 -132
  225. package/dist/commands/workflow/core/index.d.ts +0 -8
  226. package/dist/commands/workflow/core/index.js +0 -12
  227. package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
  228. package/dist/commands/workflow/core/issue-filter.js +0 -47
  229. package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
  230. package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
  231. package/dist/commands/workflow/core/state-manager.d.ts +0 -24
  232. package/dist/commands/workflow/core/state-manager.js +0 -42
  233. package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
  234. package/dist/commands/workflow/core/workflow-logger.js +0 -77
  235. package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
  236. package/dist/commands/workflow/executors/phase-executor.js +0 -338
  237. package/dist/commands/workflow/index.d.ts +0 -2
  238. package/dist/commands/workflow/index.js +0 -34
  239. package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
  240. package/dist/commands/workflow/issue-coordinator.js +0 -161
  241. package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
  242. package/dist/commands/workflow/phase-orchestrator.js +0 -699
  243. package/dist/commands/workflow/processor.d.ts +0 -47
  244. package/dist/commands/workflow/processor.js +0 -149
  245. package/dist/config/issue-status.d.ts +0 -29
  246. package/dist/config/issue-status.js +0 -44
  247. package/dist/config.d.ts +0 -3
  248. package/dist/config.js +0 -79
  249. package/dist/constants.d.ts +0 -10
  250. package/dist/constants.js +0 -36
  251. package/dist/errors/index.d.ts +0 -68
  252. package/dist/errors/index.js +0 -129
  253. package/dist/index.d.ts +0 -4
  254. package/dist/phases/adr-generation/agent.d.ts +0 -6
  255. package/dist/phases/adr-generation/agent.js +0 -69
  256. package/dist/phases/adr-generation/index.d.ts +0 -15
  257. package/dist/phases/adr-generation/index.js +0 -66
  258. package/dist/phases/adr-generation/parse.d.ts +0 -12
  259. package/dist/phases/adr-generation/parse.js +0 -123
  260. package/dist/phases/adr-generation/prompts.d.ts +0 -8
  261. package/dist/phases/adr-generation/prompts.js +0 -35
  262. package/dist/phases/analyze-logs/agent.d.ts +0 -11
  263. package/dist/phases/analyze-logs/agent.js +0 -66
  264. package/dist/phases/analyze-logs/index.d.ts +0 -23
  265. package/dist/phases/analyze-logs/index.js +0 -152
  266. package/dist/phases/analyze-logs/prompts.d.ts +0 -3
  267. package/dist/phases/analyze-logs/prompts.js +0 -27
  268. package/dist/phases/api-docs/index.d.ts +0 -47
  269. package/dist/phases/api-docs/index.js +0 -254
  270. package/dist/phases/api-docs/mcp-server.d.ts +0 -25
  271. package/dist/phases/api-docs/mcp-server.js +0 -82
  272. package/dist/phases/api-docs/prompts.d.ts +0 -16
  273. package/dist/phases/api-docs/prompts.js +0 -65
  274. package/dist/phases/api-docs/types.d.ts +0 -22
  275. package/dist/phases/api-docs/types.js +0 -10
  276. package/dist/phases/app-store-generation/agent.d.ts +0 -2
  277. package/dist/phases/app-store-generation/agent.js +0 -177
  278. package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
  279. package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
  280. package/dist/phases/app-store-generation/context.d.ts +0 -21
  281. package/dist/phases/app-store-generation/context.js +0 -78
  282. package/dist/phases/app-store-generation/index.d.ts +0 -20
  283. package/dist/phases/app-store-generation/index.js +0 -157
  284. package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
  285. package/dist/phases/app-store-generation/inter-font.js +0 -49
  286. package/dist/phases/app-store-generation/prompts.d.ts +0 -43
  287. package/dist/phases/app-store-generation/prompts.js +0 -73
  288. package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
  289. package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
  290. package/dist/phases/app-store-generation/uploader.d.ts +0 -19
  291. package/dist/phases/app-store-generation/uploader.js +0 -150
  292. package/dist/phases/architecture-diagram/index.d.ts +0 -15
  293. package/dist/phases/architecture-diagram/index.js +0 -51
  294. package/dist/phases/autonomous/index.d.ts +0 -32
  295. package/dist/phases/autonomous/index.js +0 -412
  296. package/dist/phases/autonomous/prompts.d.ts +0 -5
  297. package/dist/phases/autonomous/prompts.js +0 -31
  298. package/dist/phases/branch-planning/context.d.ts +0 -14
  299. package/dist/phases/branch-planning/context.js +0 -43
  300. package/dist/phases/branch-planning/index.d.ts +0 -25
  301. package/dist/phases/branch-planning/index.js +0 -404
  302. package/dist/phases/branch-planning/outcome.d.ts +0 -28
  303. package/dist/phases/branch-planning/outcome.js +0 -115
  304. package/dist/phases/branch-planning/prompts.d.ts +0 -41
  305. package/dist/phases/branch-planning/prompts.js +0 -157
  306. package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
  307. package/dist/phases/bug-fixing/analyzer.js +0 -247
  308. package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
  309. package/dist/phases/bug-fixing/context-fetcher.js +0 -137
  310. package/dist/phases/bug-fixing/index.d.ts +0 -7
  311. package/dist/phases/bug-fixing/index.js +0 -7
  312. package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
  313. package/dist/phases/bug-fixing/mcp-server.js +0 -19
  314. package/dist/phases/bug-fixing/prompts.d.ts +0 -2
  315. package/dist/phases/bug-fixing/prompts.js +0 -9
  316. package/dist/phases/chat-processor/context.d.ts +0 -38
  317. package/dist/phases/chat-processor/context.js +0 -91
  318. package/dist/phases/chat-processor/index.d.ts +0 -49
  319. package/dist/phases/chat-processor/index.js +0 -482
  320. package/dist/phases/chat-processor/product-context.d.ts +0 -36
  321. package/dist/phases/chat-processor/product-context.js +0 -113
  322. package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
  323. package/dist/phases/chat-processor/product-prompts.js +0 -65
  324. package/dist/phases/chat-processor/product-tools.d.ts +0 -8
  325. package/dist/phases/chat-processor/product-tools.js +0 -11
  326. package/dist/phases/chat-processor/prompts.d.ts +0 -35
  327. package/dist/phases/chat-processor/prompts.js +0 -213
  328. package/dist/phases/chat-processor/tools.d.ts +0 -8
  329. package/dist/phases/chat-processor/tools.js +0 -11
  330. package/dist/phases/class-diagram/index.d.ts +0 -14
  331. package/dist/phases/class-diagram/index.js +0 -76
  332. package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
  333. package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
  334. package/dist/phases/code-implementation/context.d.ts +0 -17
  335. package/dist/phases/code-implementation/context.js +0 -88
  336. package/dist/phases/code-implementation/index.d.ts +0 -33
  337. package/dist/phases/code-implementation/index.js +0 -926
  338. package/dist/phases/code-implementation/outcome.d.ts +0 -47
  339. package/dist/phases/code-implementation/outcome.js +0 -53
  340. package/dist/phases/code-implementation/prompts.d.ts +0 -8
  341. package/dist/phases/code-implementation/prompts.js +0 -166
  342. package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
  343. package/dist/phases/code-implementation-verification/agent.js +0 -225
  344. package/dist/phases/code-implementation-verification/index.d.ts +0 -27
  345. package/dist/phases/code-implementation-verification/index.js +0 -121
  346. package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
  347. package/dist/phases/code-implementation-verification/prompts.js +0 -90
  348. package/dist/phases/code-refine/context.d.ts +0 -99
  349. package/dist/phases/code-refine/context.js +0 -457
  350. package/dist/phases/code-refine/index.d.ts +0 -59
  351. package/dist/phases/code-refine/index.js +0 -348
  352. package/dist/phases/code-refine/prompts.d.ts +0 -5
  353. package/dist/phases/code-refine/prompts.js +0 -162
  354. package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
  355. package/dist/phases/code-refine/refine-iteration.js +0 -166
  356. package/dist/phases/code-refine/retry-handler.d.ts +0 -17
  357. package/dist/phases/code-refine/retry-handler.js +0 -87
  358. package/dist/phases/code-refine-verification/github.d.ts +0 -54
  359. package/dist/phases/code-refine-verification/github.js +0 -328
  360. package/dist/phases/code-refine-verification/index.d.ts +0 -11
  361. package/dist/phases/code-refine-verification/index.js +0 -260
  362. package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
  363. package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
  364. package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
  365. package/dist/phases/code-refine-verification/prompts.js +0 -119
  366. package/dist/phases/code-refine-verification/types.d.ts +0 -74
  367. package/dist/phases/code-refine-verification/types.js +0 -4
  368. package/dist/phases/code-review/context.d.ts +0 -96
  369. package/dist/phases/code-review/context.js +0 -278
  370. package/dist/phases/code-review/diff-utils.d.ts +0 -36
  371. package/dist/phases/code-review/diff-utils.js +0 -100
  372. package/dist/phases/code-review/index.d.ts +0 -40
  373. package/dist/phases/code-review/index.js +0 -627
  374. package/dist/phases/code-testing/analyzer.d.ts +0 -19
  375. package/dist/phases/code-testing/analyzer.js +0 -215
  376. package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
  377. package/dist/phases/code-testing/context-fetcher.js +0 -83
  378. package/dist/phases/code-testing/index.d.ts +0 -2
  379. package/dist/phases/code-testing/index.js +0 -2
  380. package/dist/phases/code-testing/prompts.d.ts +0 -3
  381. package/dist/phases/code-testing/prompts.js +0 -63
  382. package/dist/phases/data-flow/index.d.ts +0 -28
  383. package/dist/phases/data-flow/index.js +0 -286
  384. package/dist/phases/data-flow/mcp-server.d.ts +0 -85
  385. package/dist/phases/data-flow/mcp-server.js +0 -140
  386. package/dist/phases/data-flow/prompts.d.ts +0 -14
  387. package/dist/phases/data-flow/prompts.js +0 -36
  388. package/dist/phases/data-flow/types.d.ts +0 -71
  389. package/dist/phases/data-flow/types.js +0 -86
  390. package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
  391. package/dist/phases/diagram-shared/clone-repos.js +0 -153
  392. package/dist/phases/diagram-shared/generate.d.ts +0 -42
  393. package/dist/phases/diagram-shared/generate.js +0 -162
  394. package/dist/phases/diagram-shared/graph.d.ts +0 -62
  395. package/dist/phases/diagram-shared/graph.js +0 -169
  396. package/dist/phases/diagram-shared/mcp.d.ts +0 -35
  397. package/dist/phases/diagram-shared/mcp.js +0 -68
  398. package/dist/phases/diagram-shared/prompts.d.ts +0 -23
  399. package/dist/phases/diagram-shared/prompts.js +0 -35
  400. package/dist/phases/discover-services/index.d.ts +0 -29
  401. package/dist/phases/discover-services/index.js +0 -528
  402. package/dist/phases/er-diagram/index.d.ts +0 -28
  403. package/dist/phases/er-diagram/index.js +0 -290
  404. package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
  405. package/dist/phases/er-diagram/mcp-server.js +0 -144
  406. package/dist/phases/er-diagram/prompts.d.ts +0 -14
  407. package/dist/phases/er-diagram/prompts.js +0 -36
  408. package/dist/phases/er-diagram/types.d.ts +0 -76
  409. package/dist/phases/er-diagram/types.js +0 -84
  410. package/dist/phases/features/index.d.ts +0 -65
  411. package/dist/phases/features/index.js +0 -292
  412. package/dist/phases/features/mcp-server.d.ts +0 -61
  413. package/dist/phases/features/mcp-server.js +0 -165
  414. package/dist/phases/features/prompts.d.ts +0 -32
  415. package/dist/phases/features/prompts.js +0 -92
  416. package/dist/phases/features/types.d.ts +0 -34
  417. package/dist/phases/features/types.js +0 -15
  418. package/dist/phases/financing-deck/agent.d.ts +0 -1
  419. package/dist/phases/financing-deck/agent.js +0 -96
  420. package/dist/phases/financing-deck/context.d.ts +0 -13
  421. package/dist/phases/financing-deck/context.js +0 -69
  422. package/dist/phases/financing-deck/index.d.ts +0 -15
  423. package/dist/phases/financing-deck/index.js +0 -89
  424. package/dist/phases/financing-deck/prompts.d.ts +0 -2
  425. package/dist/phases/financing-deck/prompts.js +0 -94
  426. package/dist/phases/find-architecture/index.d.ts +0 -47
  427. package/dist/phases/find-architecture/index.js +0 -268
  428. package/dist/phases/find-architecture/prompts.d.ts +0 -32
  429. package/dist/phases/find-architecture/prompts.js +0 -129
  430. package/dist/phases/find-architecture/state.d.ts +0 -21
  431. package/dist/phases/find-architecture/state.js +0 -17
  432. package/dist/phases/find-architecture/types.d.ts +0 -55
  433. package/dist/phases/find-architecture/types.js +0 -69
  434. package/dist/phases/find-bugs/index.d.ts +0 -33
  435. package/dist/phases/find-bugs/index.js +0 -238
  436. package/dist/phases/find-bugs/prompts.d.ts +0 -22
  437. package/dist/phases/find-bugs/prompts.js +0 -101
  438. package/dist/phases/find-bugs/state.d.ts +0 -19
  439. package/dist/phases/find-bugs/state.js +0 -13
  440. package/dist/phases/find-bugs/types.d.ts +0 -21
  441. package/dist/phases/find-bugs/types.js +0 -16
  442. package/dist/phases/find-features/index.d.ts +0 -40
  443. package/dist/phases/find-features/index.js +0 -328
  444. package/dist/phases/find-features/prompts.d.ts +0 -43
  445. package/dist/phases/find-features/prompts.js +0 -138
  446. package/dist/phases/find-features/state.d.ts +0 -25
  447. package/dist/phases/find-features/state.js +0 -22
  448. package/dist/phases/find-features/types.d.ts +0 -27
  449. package/dist/phases/find-features/types.js +0 -16
  450. package/dist/phases/find-shared/baseline.d.ts +0 -45
  451. package/dist/phases/find-shared/baseline.js +0 -56
  452. package/dist/phases/find-shared/custom-rules.d.ts +0 -39
  453. package/dist/phases/find-shared/custom-rules.js +0 -75
  454. package/dist/phases/find-shared/detect-context.d.ts +0 -40
  455. package/dist/phases/find-shared/detect-context.js +0 -247
  456. package/dist/phases/find-shared/git.d.ts +0 -24
  457. package/dist/phases/find-shared/git.js +0 -60
  458. package/dist/phases/find-shared/mcp.d.ts +0 -54
  459. package/dist/phases/find-shared/mcp.js +0 -127
  460. package/dist/phases/find-shared/rule-config.d.ts +0 -37
  461. package/dist/phases/find-shared/rule-config.js +0 -67
  462. package/dist/phases/find-shared/rule-packs.d.ts +0 -65
  463. package/dist/phases/find-shared/rule-packs.js +0 -124
  464. package/dist/phases/find-shared/scan-state.d.ts +0 -33
  465. package/dist/phases/find-shared/scan-state.js +0 -112
  466. package/dist/phases/find-shared/scoped-read.d.ts +0 -12
  467. package/dist/phases/find-shared/scoped-read.js +0 -33
  468. package/dist/phases/find-smells/index.d.ts +0 -50
  469. package/dist/phases/find-smells/index.js +0 -305
  470. package/dist/phases/find-smells/prompts.d.ts +0 -31
  471. package/dist/phases/find-smells/prompts.js +0 -130
  472. package/dist/phases/find-smells/state.d.ts +0 -21
  473. package/dist/phases/find-smells/state.js +0 -17
  474. package/dist/phases/find-smells/types.d.ts +0 -51
  475. package/dist/phases/find-smells/types.js +0 -64
  476. package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
  477. package/dist/phases/flow-shared/clone-repos.js +0 -153
  478. package/dist/phases/flowchart/index.d.ts +0 -15
  479. package/dist/phases/flowchart/index.js +0 -50
  480. package/dist/phases/functional-testing/analyzer.d.ts +0 -46
  481. package/dist/phases/functional-testing/analyzer.js +0 -622
  482. package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
  483. package/dist/phases/functional-testing/context-fetcher.js +0 -83
  484. package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
  485. package/dist/phases/functional-testing/http-fallback.js +0 -156
  486. package/dist/phases/functional-testing/index.d.ts +0 -4
  487. package/dist/phases/functional-testing/index.js +0 -4
  488. package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
  489. package/dist/phases/functional-testing/mcp-server.js +0 -13
  490. package/dist/phases/functional-testing/prompts.d.ts +0 -2
  491. package/dist/phases/functional-testing/prompts.js +0 -58
  492. package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
  493. package/dist/phases/functional-testing/test-report-creator.js +0 -306
  494. package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
  495. package/dist/phases/functional-testing/test-retry-handler.js +0 -70
  496. package/dist/phases/growth-analysis/agent.d.ts +0 -2
  497. package/dist/phases/growth-analysis/agent.js +0 -107
  498. package/dist/phases/growth-analysis/context.d.ts +0 -23
  499. package/dist/phases/growth-analysis/context.js +0 -137
  500. package/dist/phases/growth-analysis/index.d.ts +0 -32
  501. package/dist/phases/growth-analysis/index.js +0 -226
  502. package/dist/phases/growth-analysis/prompts.d.ts +0 -2
  503. package/dist/phases/growth-analysis/prompts.js +0 -45
  504. package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
  505. package/dist/phases/intelligence-analysis/agent.js +0 -338
  506. package/dist/phases/intelligence-analysis/context.d.ts +0 -23
  507. package/dist/phases/intelligence-analysis/context.js +0 -142
  508. package/dist/phases/intelligence-analysis/index.d.ts +0 -58
  509. package/dist/phases/intelligence-analysis/index.js +0 -244
  510. package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
  511. package/dist/phases/intelligence-analysis/prompts.js +0 -62
  512. package/dist/phases/issue-analysis/agent.d.ts +0 -21
  513. package/dist/phases/issue-analysis/agent.js +0 -153
  514. package/dist/phases/issue-analysis/context.d.ts +0 -20
  515. package/dist/phases/issue-analysis/context.js +0 -93
  516. package/dist/phases/issue-analysis/index.d.ts +0 -8
  517. package/dist/phases/issue-analysis/index.js +0 -147
  518. package/dist/phases/issue-analysis/outcome.d.ts +0 -10
  519. package/dist/phases/issue-analysis/outcome.js +0 -42
  520. package/dist/phases/issue-analysis/prompts.d.ts +0 -8
  521. package/dist/phases/issue-analysis/prompts.js +0 -99
  522. package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
  523. package/dist/phases/issue-analysis-verification/agent.js +0 -124
  524. package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
  525. package/dist/phases/issue-analysis-verification/index.js +0 -79
  526. package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
  527. package/dist/phases/issue-analysis-verification/prompts.js +0 -75
  528. package/dist/phases/output-contracts.d.ts +0 -7
  529. package/dist/phases/output-contracts.js +0 -1201
  530. package/dist/phases/pr-execution/context.d.ts +0 -32
  531. package/dist/phases/pr-execution/context.js +0 -246
  532. package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
  533. package/dist/phases/pr-execution/file-assigner.js +0 -287
  534. package/dist/phases/pr-execution/index.d.ts +0 -22
  535. package/dist/phases/pr-execution/index.js +0 -401
  536. package/dist/phases/pr-execution/outcome.d.ts +0 -24
  537. package/dist/phases/pr-execution/outcome.js +0 -34
  538. package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
  539. package/dist/phases/pr-execution/pr-executor.js +0 -78
  540. package/dist/phases/pr-execution/prompts.d.ts +0 -27
  541. package/dist/phases/pr-execution/prompts.js +0 -131
  542. package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
  543. package/dist/phases/pr-resolve/checklist-learner.js +0 -153
  544. package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
  545. package/dist/phases/pr-resolve/github-reply.js +0 -75
  546. package/dist/phases/pr-resolve/index.d.ts +0 -33
  547. package/dist/phases/pr-resolve/index.js +0 -272
  548. package/dist/phases/pr-resolve/prompts.d.ts +0 -17
  549. package/dist/phases/pr-resolve/prompts.js +0 -107
  550. package/dist/phases/pr-resolve/types.d.ts +0 -18
  551. package/dist/phases/pr-resolve/types.js +0 -14
  552. package/dist/phases/pr-resolve/workspace.d.ts +0 -45
  553. package/dist/phases/pr-resolve/workspace.js +0 -174
  554. package/dist/phases/pr-review/index.d.ts +0 -27
  555. package/dist/phases/pr-review/index.js +0 -209
  556. package/dist/phases/pr-review/prompts.d.ts +0 -5
  557. package/dist/phases/pr-review/prompts.js +0 -87
  558. package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
  559. package/dist/phases/pr-shared/agent-utils.js +0 -112
  560. package/dist/phases/pr-shared/context.d.ts +0 -24
  561. package/dist/phases/pr-shared/context.js +0 -78
  562. package/dist/phases/pr-shared/status.d.ts +0 -18
  563. package/dist/phases/pr-shared/status.js +0 -37
  564. package/dist/phases/pr-splitting/context.d.ts +0 -28
  565. package/dist/phases/pr-splitting/context.js +0 -182
  566. package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
  567. package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
  568. package/dist/phases/pr-splitting/index.d.ts +0 -36
  569. package/dist/phases/pr-splitting/index.js +0 -413
  570. package/dist/phases/pr-splitting/outcome.d.ts +0 -24
  571. package/dist/phases/pr-splitting/outcome.js +0 -114
  572. package/dist/phases/pr-splitting/prompts.d.ts +0 -43
  573. package/dist/phases/pr-splitting/prompts.js +0 -154
  574. package/dist/phases/product-techniques/index.d.ts +0 -52
  575. package/dist/phases/product-techniques/index.js +0 -268
  576. package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
  577. package/dist/phases/product-techniques/mcp-server.js +0 -96
  578. package/dist/phases/product-techniques/prompts.d.ts +0 -19
  579. package/dist/phases/product-techniques/prompts.js +0 -66
  580. package/dist/phases/product-techniques/types.d.ts +0 -13
  581. package/dist/phases/product-techniques/types.js +0 -13
  582. package/dist/phases/product-test-cases/index.d.ts +0 -25
  583. package/dist/phases/product-test-cases/index.js +0 -174
  584. package/dist/phases/product-test-cases/prompts.d.ts +0 -24
  585. package/dist/phases/product-test-cases/prompts.js +0 -80
  586. package/dist/phases/product-test-cases/types.d.ts +0 -17
  587. package/dist/phases/product-test-cases/types.js +0 -27
  588. package/dist/phases/pull-request/creator.d.ts +0 -30
  589. package/dist/phases/pull-request/creator.js +0 -319
  590. package/dist/phases/pull-request/handler.d.ts +0 -15
  591. package/dist/phases/pull-request/handler.js +0 -92
  592. package/dist/phases/quality-benchmark/gate.d.ts +0 -50
  593. package/dist/phases/quality-benchmark/gate.js +0 -91
  594. package/dist/phases/quality-benchmark/index.d.ts +0 -65
  595. package/dist/phases/quality-benchmark/index.js +0 -208
  596. package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
  597. package/dist/phases/quality-benchmark/mcp-server.js +0 -252
  598. package/dist/phases/quality-benchmark/parsers.d.ts +0 -45
  599. package/dist/phases/quality-benchmark/parsers.js +0 -1311
  600. package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
  601. package/dist/phases/quality-benchmark/prompts.js +0 -154
  602. package/dist/phases/quality-benchmark/rubric.md +0 -1211
  603. package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
  604. package/dist/phases/quality-benchmark/tool-catalog.js +0 -693
  605. package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
  606. package/dist/phases/quality-benchmark/tool-runner.js +0 -399
  607. package/dist/phases/quality-benchmark/types.d.ts +0 -319
  608. package/dist/phases/quality-benchmark/types.js +0 -23
  609. package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
  610. package/dist/phases/quality-benchmark/workspace.js +0 -110
  611. package/dist/phases/recipes/index.d.ts +0 -63
  612. package/dist/phases/recipes/index.js +0 -358
  613. package/dist/phases/recipes/mcp-server.d.ts +0 -66
  614. package/dist/phases/recipes/mcp-server.js +0 -229
  615. package/dist/phases/recipes/prompts.d.ts +0 -35
  616. package/dist/phases/recipes/prompts.js +0 -105
  617. package/dist/phases/recipes/types.d.ts +0 -42
  618. package/dist/phases/recipes/types.js +0 -16
  619. package/dist/phases/release-sync/github.d.ts +0 -66
  620. package/dist/phases/release-sync/github.js +0 -140
  621. package/dist/phases/release-sync/index.d.ts +0 -24
  622. package/dist/phases/release-sync/index.js +0 -156
  623. package/dist/phases/release-sync/snapshot.d.ts +0 -27
  624. package/dist/phases/release-sync/snapshot.js +0 -158
  625. package/dist/phases/run-sheet/agent.d.ts +0 -49
  626. package/dist/phases/run-sheet/agent.js +0 -156
  627. package/dist/phases/run-sheet/index.d.ts +0 -57
  628. package/dist/phases/run-sheet/index.js +0 -392
  629. package/dist/phases/screen-flow/index.d.ts +0 -26
  630. package/dist/phases/screen-flow/index.js +0 -349
  631. package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
  632. package/dist/phases/screen-flow/mcp-server.js +0 -272
  633. package/dist/phases/screen-flow/prompts.d.ts +0 -19
  634. package/dist/phases/screen-flow/prompts.js +0 -43
  635. package/dist/phases/screen-flow/theme.d.ts +0 -19
  636. package/dist/phases/screen-flow/theme.js +0 -193
  637. package/dist/phases/screen-flow/types.d.ts +0 -137
  638. package/dist/phases/screen-flow/types.js +0 -81
  639. package/dist/phases/sequence-diagram/index.d.ts +0 -30
  640. package/dist/phases/sequence-diagram/index.js +0 -290
  641. package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
  642. package/dist/phases/sequence-diagram/mcp-server.js +0 -134
  643. package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
  644. package/dist/phases/sequence-diagram/prompts.js +0 -36
  645. package/dist/phases/sequence-diagram/types.d.ts +0 -52
  646. package/dist/phases/sequence-diagram/types.js +0 -93
  647. package/dist/phases/smoke-test/agent.d.ts +0 -12
  648. package/dist/phases/smoke-test/agent.js +0 -93
  649. package/dist/phases/smoke-test/index.d.ts +0 -22
  650. package/dist/phases/smoke-test/index.js +0 -241
  651. package/dist/phases/smoke-test/prompts.d.ts +0 -15
  652. package/dist/phases/smoke-test/prompts.js +0 -35
  653. package/dist/phases/state-diagram/index.d.ts +0 -15
  654. package/dist/phases/state-diagram/index.js +0 -53
  655. package/dist/phases/sync-github-issues/index.d.ts +0 -41
  656. package/dist/phases/sync-github-issues/index.js +0 -187
  657. package/dist/phases/sync-github-issues/state.d.ts +0 -26
  658. package/dist/phases/sync-github-issues/state.js +0 -18
  659. package/dist/phases/sync-github-issues/types.d.ts +0 -35
  660. package/dist/phases/sync-github-issues/types.js +0 -6
  661. package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
  662. package/dist/phases/sync-github-pull-requests/index.js +0 -210
  663. package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
  664. package/dist/phases/sync-github-pull-requests/state.js +0 -16
  665. package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
  666. package/dist/phases/sync-github-pull-requests/types.js +0 -1
  667. package/dist/phases/sync-org-repos/index.d.ts +0 -28
  668. package/dist/phases/sync-org-repos/index.js +0 -133
  669. package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
  670. package/dist/phases/sync-sentry-issues/index.js +0 -153
  671. package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
  672. package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
  673. package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
  674. package/dist/phases/sync-sentry-issues/state.js +0 -18
  675. package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
  676. package/dist/phases/sync-sentry-issues/types.js +0 -6
  677. package/dist/phases/sync-shared/mcp.d.ts +0 -81
  678. package/dist/phases/sync-shared/mcp.js +0 -111
  679. package/dist/phases/task/agent.d.ts +0 -10
  680. package/dist/phases/task/agent.js +0 -83
  681. package/dist/phases/task/context.d.ts +0 -16
  682. package/dist/phases/task/context.js +0 -50
  683. package/dist/phases/task/index.d.ts +0 -17
  684. package/dist/phases/task/index.js +0 -54
  685. package/dist/phases/task/prompts.d.ts +0 -9
  686. package/dist/phases/task/prompts.js +0 -21
  687. package/dist/phases/technical-design/context.d.ts +0 -12
  688. package/dist/phases/technical-design/context.js +0 -39
  689. package/dist/phases/technical-design/index.d.ts +0 -21
  690. package/dist/phases/technical-design/index.js +0 -456
  691. package/dist/phases/technical-design/outcome.d.ts +0 -25
  692. package/dist/phases/technical-design/outcome.js +0 -41
  693. package/dist/phases/technical-design/prompts.d.ts +0 -8
  694. package/dist/phases/technical-design/prompts.js +0 -210
  695. package/dist/phases/technical-design-verification/agent.d.ts +0 -53
  696. package/dist/phases/technical-design-verification/agent.js +0 -186
  697. package/dist/phases/technical-design-verification/index.d.ts +0 -38
  698. package/dist/phases/technical-design-verification/index.js +0 -152
  699. package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
  700. package/dist/phases/technical-design-verification/prompts.js +0 -143
  701. package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
  702. package/dist/phases/test-cases-analysis/agent.js +0 -105
  703. package/dist/phases/test-cases-analysis/context.d.ts +0 -15
  704. package/dist/phases/test-cases-analysis/context.js +0 -86
  705. package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
  706. package/dist/phases/test-cases-analysis/formatters.js +0 -35
  707. package/dist/phases/test-cases-analysis/index.d.ts +0 -9
  708. package/dist/phases/test-cases-analysis/index.js +0 -175
  709. package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
  710. package/dist/phases/test-cases-analysis/outcome.js +0 -146
  711. package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
  712. package/dist/phases/test-cases-analysis/prompts.js +0 -171
  713. package/dist/phases/user-psychology/agent.d.ts +0 -16
  714. package/dist/phases/user-psychology/agent.js +0 -105
  715. package/dist/phases/user-psychology/context.d.ts +0 -10
  716. package/dist/phases/user-psychology/context.js +0 -65
  717. package/dist/phases/user-psychology/index.d.ts +0 -18
  718. package/dist/phases/user-psychology/index.js +0 -96
  719. package/dist/phases/user-psychology/prompts.d.ts +0 -2
  720. package/dist/phases/user-psychology/prompts.js +0 -41
  721. package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
  722. package/dist/phases/user-stories-analysis/agent.js +0 -105
  723. package/dist/phases/user-stories-analysis/context.d.ts +0 -15
  724. package/dist/phases/user-stories-analysis/context.js +0 -86
  725. package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
  726. package/dist/phases/user-stories-analysis/formatters.js +0 -32
  727. package/dist/phases/user-stories-analysis/index.d.ts +0 -9
  728. package/dist/phases/user-stories-analysis/index.js +0 -175
  729. package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
  730. package/dist/phases/user-stories-analysis/outcome.js +0 -146
  731. package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
  732. package/dist/phases/user-stories-analysis/prompts.js +0 -194
  733. package/dist/services/audit-logs.d.ts +0 -73
  734. package/dist/services/audit-logs.js +0 -174
  735. package/dist/services/branches.d.ts +0 -103
  736. package/dist/services/branches.js +0 -391
  737. package/dist/services/checklist.d.ts +0 -100
  738. package/dist/services/checklist.js +0 -259
  739. package/dist/services/coaching/coaching-agent.d.ts +0 -39
  740. package/dist/services/coaching/coaching-agent.js +0 -308
  741. package/dist/services/coaching/coaching-loop.d.ts +0 -62
  742. package/dist/services/coaching/coaching-loop.js +0 -265
  743. package/dist/services/coaching/index.d.ts +0 -8
  744. package/dist/services/coaching/index.js +0 -8
  745. package/dist/services/coaching/phase-coaching.d.ts +0 -47
  746. package/dist/services/coaching/phase-coaching.js +0 -60
  747. package/dist/services/coaching/self-rating.d.ts +0 -26
  748. package/dist/services/coaching/self-rating.js +0 -153
  749. package/dist/services/feedbacks.d.ts +0 -57
  750. package/dist/services/feedbacks.js +0 -264
  751. package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
  752. package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
  753. package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
  754. package/dist/services/phase-hooks/hook-executor.js +0 -167
  755. package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
  756. package/dist/services/phase-hooks/hook-logging.js +0 -41
  757. package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
  758. package/dist/services/phase-hooks/hook-runner.js +0 -83
  759. package/dist/services/phase-hooks/index.d.ts +0 -10
  760. package/dist/services/phase-hooks/index.js +0 -9
  761. package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
  762. package/dist/services/phase-hooks/plugin-loader.js +0 -207
  763. package/dist/services/phase-hooks/types.d.ts +0 -69
  764. package/dist/services/phase-hooks/types.js +0 -8
  765. package/dist/services/phase-ratings.d.ts +0 -70
  766. package/dist/services/phase-ratings.js +0 -143
  767. package/dist/services/product-logs.d.ts +0 -31
  768. package/dist/services/product-logs.js +0 -94
  769. package/dist/services/pull-requests.d.ts +0 -57
  770. package/dist/services/pull-requests.js +0 -186
  771. package/dist/services/quality-reports.d.ts +0 -45
  772. package/dist/services/quality-reports.js +0 -93
  773. package/dist/services/repo-config.d.ts +0 -17
  774. package/dist/services/repo-config.js +0 -50
  775. package/dist/services/skill-resolver.d.ts +0 -46
  776. package/dist/services/skill-resolver.js +0 -123
  777. package/dist/services/video/device-frames.d.ts +0 -34
  778. package/dist/services/video/device-frames.js +0 -513
  779. package/dist/services/video/index.d.ts +0 -66
  780. package/dist/services/video/index.js +0 -238
  781. package/dist/services/video/retry.d.ts +0 -20
  782. package/dist/services/video/retry.js +0 -76
  783. package/dist/services/video/screenshot-generator.d.ts +0 -69
  784. package/dist/services/video/screenshot-generator.js +0 -259
  785. package/dist/services/video/tts-generator.d.ts +0 -40
  786. package/dist/services/video/tts-generator.js +0 -121
  787. package/dist/services/video/video-assembler.d.ts +0 -45
  788. package/dist/services/video/video-assembler.js +0 -351
  789. package/dist/services/video/video-uploader.d.ts +0 -28
  790. package/dist/services/video/video-uploader.js +0 -108
  791. package/dist/skills/phase/adr-generation/SKILL.md +0 -51
  792. package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
  793. package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
  794. package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
  795. package/dist/skills/phase/autonomous/SKILL.md +0 -52
  796. package/dist/skills/phase/branch-planning/SKILL.md +0 -55
  797. package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
  798. package/dist/skills/phase/class-diagram/SKILL.md +0 -44
  799. package/dist/skills/phase/code-implementation/SKILL.md +0 -68
  800. package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
  801. package/dist/skills/phase/code-refine/SKILL.md +0 -62
  802. package/dist/skills/phase/code-testing/SKILL.md +0 -78
  803. package/dist/skills/phase/data-flow/SKILL.md +0 -82
  804. package/dist/skills/phase/er-diagram/SKILL.md +0 -71
  805. package/dist/skills/phase/flowchart/SKILL.md +0 -38
  806. package/dist/skills/phase/functional-testing/SKILL.md +0 -62
  807. package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
  808. package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
  809. package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
  810. package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
  811. package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
  812. package/dist/skills/phase/pr-execution/SKILL.md +0 -69
  813. package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
  814. package/dist/skills/phase/screen-flow/SKILL.md +0 -78
  815. package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
  816. package/dist/skills/phase/smoke-test/SKILL.md +0 -80
  817. package/dist/skills/phase/state-diagram/SKILL.md +0 -38
  818. package/dist/skills/phase/task/SKILL.md +0 -19
  819. package/dist/skills/phase/technical-design/SKILL.md +0 -75
  820. package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
  821. package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
  822. package/dist/skills/phase/user-psychology/SKILL.md +0 -135
  823. package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
  824. package/dist/supabase/client.d.ts +0 -34
  825. package/dist/supabase/client.js +0 -123
  826. package/dist/system/session-manager.d.ts +0 -67
  827. package/dist/system/session-manager.js +0 -300
  828. package/dist/system/sleep-notification.d.ts +0 -15
  829. package/dist/system/sleep-notification.js +0 -108
  830. package/dist/system/sleep-prevention.d.ts +0 -20
  831. package/dist/system/sleep-prevention.js +0 -112
  832. package/dist/tools/bootstrap.d.ts +0 -45
  833. package/dist/tools/bootstrap.js +0 -50
  834. package/dist/types/external-sources.d.ts +0 -22
  835. package/dist/types/external-sources.js +0 -23
  836. package/dist/types/index.d.ts +0 -206
  837. package/dist/types/index.js +0 -1
  838. package/dist/types/issues.d.ts +0 -37
  839. package/dist/types/issues.js +0 -1
  840. package/dist/types/llm-responses.d.ts +0 -114
  841. package/dist/types/llm-responses.js +0 -9
  842. package/dist/types/pipeline.d.ts +0 -28
  843. package/dist/types/pipeline.js +0 -4
  844. package/dist/updater/auto-updater.d.ts +0 -39
  845. package/dist/updater/auto-updater.js +0 -134
  846. package/dist/utils/conflict-resolver.d.ts +0 -49
  847. package/dist/utils/conflict-resolver.js +0 -201
  848. package/dist/utils/formatters.d.ts +0 -42
  849. package/dist/utils/formatters.js +0 -166
  850. package/dist/utils/git-branch-manager-async.d.ts +0 -127
  851. package/dist/utils/git-branch-manager-async.js +0 -425
  852. package/dist/utils/git-branch-manager.d.ts +0 -160
  853. package/dist/utils/git-branch-manager.js +0 -613
  854. package/dist/utils/git-push.d.ts +0 -43
  855. package/dist/utils/git-push.js +0 -136
  856. package/dist/utils/github-repo-info.d.ts +0 -26
  857. package/dist/utils/github-repo-info.js +0 -45
  858. package/dist/utils/image-downloader.d.ts +0 -32
  859. package/dist/utils/image-downloader.js +0 -152
  860. package/dist/utils/issue-phase-cli.d.ts +0 -26
  861. package/dist/utils/issue-phase-cli.js +0 -44
  862. package/dist/utils/json-extract.d.ts +0 -6
  863. package/dist/utils/json-extract.js +0 -44
  864. package/dist/utils/json-extractor.d.ts +0 -27
  865. package/dist/utils/json-extractor.js +0 -102
  866. package/dist/utils/logger.d.ts +0 -35
  867. package/dist/utils/logger.js +0 -167
  868. package/dist/utils/pipeline-logger.d.ts +0 -8
  869. package/dist/utils/pipeline-logger.js +0 -38
  870. package/dist/utils/validation.d.ts +0 -68
  871. package/dist/utils/validation.js +0 -229
  872. package/dist/utils/workflow-utils.d.ts +0 -22
  873. package/dist/utils/workflow-utils.js +0 -48
  874. package/dist/workspace/session-workspace.d.ts +0 -43
  875. package/dist/workspace/session-workspace.js +0 -90
  876. package/dist/workspace/workspace-manager.d.ts +0 -105
  877. package/dist/workspace/workspace-manager.js +0 -280
@@ -1,32 +0,0 @@
1
- import { type PullRequest } from '../../services/pull-requests.js';
2
- import type { IssueInfo } from '../../types/issues.js';
3
- import { type RepoForkInfo } from '../../utils/github-repo-info.js';
4
- export interface GitHubConfigInfo {
5
- configured: boolean;
6
- token?: string;
7
- owner?: string;
8
- repo?: string;
9
- message?: string;
10
- }
11
- export interface ChangedFileInfo {
12
- path: string;
13
- change_type: 'added' | 'modified' | 'deleted' | 'renamed';
14
- }
15
- export interface PRExecutionContext {
16
- issue: IssueInfo;
17
- pullRequests: PullRequest[];
18
- devBranchName: string;
19
- devBranchHeadSha: string;
20
- githubConfig: GitHubConfigInfo;
21
- forkInfo: RepoForkInfo;
22
- /** Resolved default branch (e.g. main, master). Used for checkout/diff. */
23
- defaultBranch: string;
24
- isIncrementalSync: boolean;
25
- lastSyncedCommit: string | null;
26
- diffStat: string;
27
- changedFiles: ChangedFileInfo[];
28
- }
29
- /**
30
- * Fetch context for PR execution phase
31
- */
32
- export declare function fetchPRExecutionContext(issueId: string, verbose?: boolean): Promise<PRExecutionContext>;
@@ -1,246 +0,0 @@
1
- import { execFileSync } from 'child_process';
2
- import { getGitHubConfig } from '../../api/github.js';
3
- import { getIssue } from '../../api/issues/index.js';
4
- import { getPullRequests, } from '../../services/pull-requests.js';
5
- import { branchExists, remoteBranchExists, } from '../../utils/git-branch-manager.js';
6
- import { buildCredentialArgs } from '../../utils/git-push.js';
7
- import { getRepoForkInfo, resolveDefaultBranch, } from '../../utils/github-repo-info.js';
8
- import { logError, logInfo } from '../../utils/logger.js';
9
- /**
10
- * Get the dev branch name for an issue
11
- */
12
- function getDevBranchName(issueId) {
13
- return `dev/${issueId}`;
14
- }
15
- /**
16
- * Get the HEAD SHA of a branch
17
- */
18
- function getBranchHeadSha(branchName) {
19
- return execFileSync('git', ['rev-parse', branchName], {
20
- encoding: 'utf-8',
21
- }).trim();
22
- }
23
- /**
24
- * Get diff stat between two refs
25
- */
26
- function getDiffStat(baseRef, headRef) {
27
- try {
28
- return execFileSync('git', ['diff', '--stat', `${baseRef}...${headRef}`], {
29
- encoding: 'utf-8',
30
- }).trim();
31
- }
32
- catch {
33
- return '';
34
- }
35
- }
36
- /**
37
- * Map git diff --name-status letter to a readable change type
38
- */
39
- function parseGitStatus(status) {
40
- switch (status[0]) {
41
- case 'A':
42
- return 'added';
43
- case 'D':
44
- return 'deleted';
45
- case 'R':
46
- return 'renamed';
47
- default:
48
- return 'modified';
49
- }
50
- }
51
- /**
52
- * Get list of changed files with their change types between two refs
53
- */
54
- function getChangedFiles(baseRef, headRef) {
55
- try {
56
- const output = execFileSync('git', ['diff', '--name-status', `${baseRef}...${headRef}`], { encoding: 'utf-8' }).trim();
57
- if (!output) {
58
- return [];
59
- }
60
- return output
61
- .split('\n')
62
- .filter((line) => line.length > 0)
63
- .map((line) => {
64
- const [status, ...pathParts] = line.split('\t');
65
- // For renames (R100\told\tnew), use the new path
66
- const path = pathParts.length > 1 ? pathParts[1] : pathParts[0];
67
- return { path, change_type: parseGitStatus(status) };
68
- });
69
- }
70
- catch {
71
- return [];
72
- }
73
- }
74
- /**
75
- * Check if a commit exists in the ancestry of a given ref.
76
- * Returns false if the commit was orphaned (e.g. after a rebase).
77
- */
78
- function isAncestor(commitSha, ref) {
79
- try {
80
- execFileSync('git', ['merge-base', '--is-ancestor', commitSha, ref], {
81
- encoding: 'utf-8',
82
- stdio: 'pipe',
83
- });
84
- return true;
85
- }
86
- catch {
87
- return false;
88
- }
89
- }
90
- /**
91
- * Determine the common last_synced_commit from existing PRs
92
- * Returns null if any PR hasn't been synced yet (first run)
93
- */
94
- function getLastSyncedCommit(pullRequests) {
95
- if (pullRequests.length === 0) {
96
- return null;
97
- }
98
- const syncedCommits = pullRequests
99
- .map((pr) => pr.last_synced_commit)
100
- .filter((c) => c !== null);
101
- // If not all PRs have been synced, this is a first-time execution
102
- if (syncedCommits.length !== pullRequests.length) {
103
- return null;
104
- }
105
- // All should be the same after a successful sync, use the first
106
- return syncedCommits[0];
107
- }
108
- /**
109
- * Fetch context for PR execution phase
110
- */
111
- // eslint-disable-next-line complexity -- assembles context from many data sources with fallback handling
112
- export async function fetchPRExecutionContext(issueId, verbose) {
113
- try {
114
- if (verbose) {
115
- logInfo(`Fetching PR execution context for issue: ${issueId}`);
116
- }
117
- const devBranchName = getDevBranchName(issueId);
118
- // Fetch GitHub config and data in parallel (need token before remote branch check)
119
- const [issue, pullRequests, githubConfig] = await Promise.all([
120
- getIssue(issueId, verbose),
121
- getPullRequests({ issueId, verbose }),
122
- getGitHubConfig(issueId, verbose),
123
- ]);
124
- // Detect fork status + default branch (used by the fast-forward step below)
125
- let forkInfo = { isFork: false };
126
- if (githubConfig.token && githubConfig.owner && githubConfig.repo) {
127
- try {
128
- forkInfo = await getRepoForkInfo(githubConfig.token, githubConfig.owner, githubConfig.repo);
129
- if (verbose) {
130
- logInfo(forkInfo.isFork
131
- ? `๐Ÿ“Œ Repository is a fork of ${forkInfo.upstream?.owner}/${forkInfo.upstream?.repo}`
132
- : `๐Ÿ“Œ Repository is not a fork`);
133
- }
134
- }
135
- catch (error) {
136
- if (verbose) {
137
- logError(`Failed to detect fork status: ${error instanceof Error ? error.message : String(error)}`);
138
- }
139
- }
140
- }
141
- // Resolve the repo's default branch (e.g. main, master, develop). Falls back
142
- // through GitHub API โ†’ local symbolic-ref โ†’ literal 'main'.
143
- const defaultBranch = resolveDefaultBranch(forkInfo.defaultBranch);
144
- // Fetch latest remote refs and fast-forward the local default branch.
145
- // Use execFileSync (not execSync) so defaultBranch โ€” which can flow in from
146
- // the GitHub API's default_branch field โ€” is never passed through a shell.
147
- try {
148
- const credArgs = buildCredentialArgs(githubConfig.token);
149
- execFileSync('git', [...credArgs, 'fetch', 'origin'], {
150
- encoding: 'utf-8',
151
- stdio: 'pipe',
152
- });
153
- execFileSync('git', ['checkout', defaultBranch], {
154
- encoding: 'utf-8',
155
- stdio: 'pipe',
156
- });
157
- execFileSync('git', ['merge', '--ff-only', `origin/${defaultBranch}`], {
158
- encoding: 'utf-8',
159
- stdio: 'pipe',
160
- });
161
- if (verbose) {
162
- logInfo(`โœ… Local ${defaultBranch} synced with origin/${defaultBranch}`);
163
- }
164
- }
165
- catch (error) {
166
- if (verbose) {
167
- logInfo(`โš ๏ธ Could not sync ${defaultBranch} with origin: ${error instanceof Error ? error.message : String(error)}`);
168
- }
169
- }
170
- // Verify dev branch exists
171
- const localExists = branchExists(devBranchName);
172
- const remoteExists = !localExists && remoteBranchExists(devBranchName, githubConfig.token);
173
- if (!localExists && !remoteExists) {
174
- throw new Error(`Development branch '${devBranchName}' does not exist. ` +
175
- `The issue must have code on the dev branch before PR execution.`);
176
- }
177
- // If branch only exists on remote, fetch it (using credential helper)
178
- if (!localExists && remoteExists) {
179
- if (verbose) {
180
- logInfo(`Fetching remote branch ${devBranchName}...`);
181
- }
182
- const credArgs = buildCredentialArgs(githubConfig.token);
183
- execFileSync('git', [
184
- ...credArgs,
185
- 'fetch',
186
- 'origin',
187
- `${devBranchName}:refs/remotes/origin/${devBranchName}`,
188
- ], { encoding: 'utf-8', stdio: 'pipe' });
189
- }
190
- if (pullRequests.length === 0) {
191
- throw new Error('No PR plan found. Run the pr-splitting phase first to create a PR plan.');
192
- }
193
- if (!githubConfig.configured) {
194
- throw new Error(`GitHub is not configured. ${githubConfig.message || 'Please configure GitHub integration.'}`);
195
- }
196
- // Determine sync mode
197
- const devRef = localExists ? devBranchName : `origin/${devBranchName}`;
198
- const devBranchHeadSha = getBranchHeadSha(devRef);
199
- let lastSyncedCommit = getLastSyncedCommit(pullRequests);
200
- let isIncrementalSync = lastSyncedCommit !== null;
201
- // If the branch was rebased, lastSyncedCommit is no longer in the history.
202
- // Treat this as a full re-execution so downstream logic uses the correct
203
- // prompt and skips incremental file-assignment against an invalid base.
204
- if (isIncrementalSync &&
205
- lastSyncedCommit &&
206
- !isAncestor(lastSyncedCommit, devRef)) {
207
- if (verbose) {
208
- logInfo(`โš ๏ธ Last synced commit ${lastSyncedCommit} is no longer in branch history (likely rebased). Treating as full re-execution.`);
209
- }
210
- lastSyncedCommit = null;
211
- isIncrementalSync = false;
212
- }
213
- // Get diff info: for incremental, diff from last sync; for first run, diff from default branch
214
- const diffBase = isIncrementalSync && lastSyncedCommit ? lastSyncedCommit : defaultBranch;
215
- const diffStat = getDiffStat(diffBase, devRef);
216
- const changedFiles = getChangedFiles(diffBase, devRef);
217
- if (verbose) {
218
- logInfo(`โœ… PR execution context fetched:`);
219
- logInfo(` Issue: ${issue.name}`);
220
- logInfo(` Dev Branch: ${devBranchName} (HEAD: ${devBranchHeadSha})`);
221
- logInfo(` PR Records: ${pullRequests.length}`);
222
- logInfo(` Mode: ${isIncrementalSync ? '๐Ÿ”„ Incremental sync' : 'โœจ First execution'}`);
223
- logInfo(` Diff Base: ${diffBase}`);
224
- logInfo(` Changed Files: ${changedFiles.length}`);
225
- logInfo(` GitHub: ${githubConfig.configured ? 'Configured' : 'Not configured'}`);
226
- }
227
- return {
228
- issue,
229
- pullRequests,
230
- devBranchName,
231
- devBranchHeadSha,
232
- githubConfig,
233
- forkInfo,
234
- defaultBranch,
235
- isIncrementalSync,
236
- lastSyncedCommit,
237
- diffStat,
238
- changedFiles,
239
- };
240
- }
241
- catch (error) {
242
- const errorMessage = error instanceof Error ? error.message : String(error);
243
- logError(`Failed to fetch PR execution context: ${errorMessage}`);
244
- throw new Error(`Context fetch failed: ${errorMessage}`);
245
- }
246
- }
@@ -1,57 +0,0 @@
1
- /**
2
- * File assignment for incremental sync.
3
- *
4
- * When new changes on the dev branch include files not covered by any
5
- * existing PR's file list, this module asks an LLM to assign them to
6
- * the most appropriate PR, then updates the PR records in the database.
7
- */
8
- import { type PullRequest } from '../../services/pull-requests.js';
9
- import type { ChangedFileInfo } from './context.js';
10
- export interface FileAssignment {
11
- file: string;
12
- pr_id: string;
13
- }
14
- export interface FileAssignmentResult {
15
- assignments: FileAssignment[];
16
- }
17
- /**
18
- * Find changed files that are not covered by any PR's file list.
19
- */
20
- export declare function findUnassignedFiles(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[]): ChangedFileInfo[];
21
- /**
22
- * Update PR records in the database with newly assigned files.
23
- * Exported for testing via dependency injection of the updater function.
24
- */
25
- export declare function applyAssignments(assignments: FileAssignment[], unassignedFiles: ChangedFileInfo[], pullRequests: PullRequest[], updater?: (prId: string, updates: {
26
- files: {
27
- path: string;
28
- change_type: string;
29
- }[];
30
- }, verbose?: boolean) => Promise<unknown>, verbose?: boolean): Promise<number>;
31
- /**
32
- * Remove files that were deleted on the dev branch from PR file lists.
33
- * Returns the number of PRs updated.
34
- */
35
- export declare function removeDeletedFilesFromPRs(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[], updater?: (prId: string, updates: {
36
- files: {
37
- path: string;
38
- change_type: string;
39
- }[];
40
- }, verbose?: boolean) => Promise<unknown>, verbose?: boolean): Promise<number>;
41
- /**
42
- * Remove files from PR file lists that are no longer in the current diff.
43
- * Used after rebase when the full diff against main may differ from what
44
- * was previously recorded in PR file lists.
45
- * Returns the number of PRs updated.
46
- */
47
- export declare function removeStaleFilesFromPRs(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[], updater?: (prId: string, updates: {
48
- files: {
49
- path: string;
50
- change_type: string;
51
- }[];
52
- }, verbose?: boolean) => Promise<unknown>, verbose?: boolean): Promise<number>;
53
- /**
54
- * Detect unassigned files and use LLM to assign them to existing PRs.
55
- * Returns the number of files assigned, or 0 if none needed assignment.
56
- */
57
- export declare function assignNewFilesToPRs(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[], verbose?: boolean): Promise<number>;
@@ -1,287 +0,0 @@
1
- /**
2
- * File assignment for incremental sync.
3
- *
4
- * When new changes on the dev branch include files not covered by any
5
- * existing PR's file list, this module asks an LLM to assign them to
6
- * the most appropriate PR, then updates the PR records in the database.
7
- */
8
- import { query } from '@anthropic-ai/claude-agent-sdk';
9
- import { DEFAULT_MODEL } from '../../constants.js';
10
- import { updatePullRequest, } from '../../services/pull-requests.js';
11
- import { extractJsonFromResponse } from '../../utils/json-extractor.js';
12
- import { logError, logInfo } from '../../utils/logger.js';
13
- /**
14
- * Find changed files that are not covered by any PR's file list.
15
- */
16
- export function findUnassignedFiles(changedFiles, pullRequests) {
17
- const assignedPaths = new Set();
18
- for (const pr of pullRequests) {
19
- if (pr.files) {
20
- for (const f of pr.files) {
21
- assignedPaths.add(f.path);
22
- }
23
- }
24
- }
25
- return changedFiles.filter((f) => !assignedPaths.has(f.path));
26
- }
27
- /**
28
- * Build a prompt asking the LLM to assign unassigned files to PRs.
29
- */
30
- function buildAssignmentPrompt(unassignedFiles, pullRequests) {
31
- const prList = pullRequests
32
- .map((pr) => {
33
- const files = pr.files
34
- ? pr.files.map((f) => ` - ${f.path} (${f.change_type})`).join('\n')
35
- : ' (no files)';
36
- return `### PR ${pr.sequence}: ${pr.name} (id: ${pr.id})
37
- - Description: ${pr.description || 'No description'}
38
- - Files:
39
- ${files}`;
40
- })
41
- .join('\n\n');
42
- const fileList = unassignedFiles
43
- .map((f) => `- ${f.path} (${f.change_type})`)
44
- .join('\n');
45
- return `# Assign New Files to Existing PRs
46
-
47
- The following files were changed on the dev branch but are not assigned to any existing PR.
48
- Assign each file to the most appropriate PR based on the PR's purpose and existing file list.
49
-
50
- ## Unassigned Files (${unassignedFiles.length})
51
- ${fileList}
52
-
53
- ## Existing PRs
54
- ${prList}
55
-
56
- ## Instructions
57
- For each unassigned file, decide which PR it belongs to based on:
58
- 1. Directory proximity (same package/module as existing PR files)
59
- 2. Logical cohesion (related functionality)
60
- 3. Dependency order (if file B imports from file A, they may belong together)
61
-
62
- Return ONLY a JSON object:
63
-
64
- \`\`\`json
65
- {
66
- "assignments": [
67
- {
68
- "file": "path/to/file.ts",
69
- "pr_id": "uuid-of-target-pr"
70
- }
71
- ]
72
- }
73
- \`\`\`
74
-
75
- Every file in the unassigned list MUST appear exactly once in the assignments array.
76
- Do NOT create new PRs โ€” assign all files to existing PRs only.`;
77
- }
78
- /**
79
- * Call LLM to assign files, returning structured assignments.
80
- */
81
- async function callLLMForAssignment(prompt, verbose) {
82
- let responseText = '';
83
- function* userMessage() {
84
- yield {
85
- type: 'user',
86
- message: { role: 'user', content: prompt },
87
- };
88
- }
89
- try {
90
- for await (const message of query({
91
- prompt: userMessage(),
92
- options: {
93
- model: DEFAULT_MODEL,
94
- maxTurns: 5,
95
- permissionMode: 'bypassPermissions',
96
- },
97
- })) {
98
- if (message.type === 'assistant' && message.message?.content) {
99
- for (const item of message.message.content) {
100
- // eslint-disable-next-line max-depth
101
- if (item.type === 'text') {
102
- responseText += `${item.text}\n`;
103
- }
104
- }
105
- }
106
- }
107
- }
108
- catch (error) {
109
- if (verbose) {
110
- logError(`LLM query failed during file assignment: ${error instanceof Error ? error.message : String(error)}`);
111
- }
112
- return null;
113
- }
114
- const parsed = extractJsonFromResponse(responseText, '"assignments"');
115
- if (!parsed || !Array.isArray(parsed.assignments)) {
116
- if (verbose) {
117
- logError('Failed to parse file assignment response from LLM');
118
- }
119
- return null;
120
- }
121
- return parsed;
122
- }
123
- /**
124
- * Update PR records in the database with newly assigned files.
125
- * Exported for testing via dependency injection of the updater function.
126
- */
127
- export async function applyAssignments(assignments, unassignedFiles, pullRequests, updater = updatePullRequest, verbose) {
128
- // Build a lookup from file path to its git change_type
129
- const changeTypeByPath = new Map();
130
- for (const f of unassignedFiles) {
131
- changeTypeByPath.set(f.path, f.change_type);
132
- }
133
- // Group assignments by PR id
134
- const byPR = new Map();
135
- for (const a of assignments) {
136
- const list = byPR.get(a.pr_id) || [];
137
- list.push(a);
138
- byPR.set(a.pr_id, list);
139
- }
140
- let updatedCount = 0;
141
- for (const [prId, newFiles] of byPR) {
142
- const pr = pullRequests.find((p) => p.id === prId);
143
- if (!pr) {
144
- if (verbose) {
145
- logError(`Assignment references unknown PR id: ${prId}`);
146
- }
147
- continue;
148
- }
149
- const existingFiles = pr.files || [];
150
- const existingPaths = new Set(existingFiles.map((f) => f.path));
151
- const mergedFiles = [...existingFiles];
152
- for (const nf of newFiles) {
153
- if (!existingPaths.has(nf.file)) {
154
- const changeType = changeTypeByPath.get(nf.file) || 'modified';
155
- mergedFiles.push({ path: nf.file, change_type: changeType });
156
- }
157
- }
158
- try {
159
- await updater(prId, { files: mergedFiles }, verbose);
160
- updatedCount++;
161
- if (verbose) {
162
- logInfo(` Updated PR "${pr.name}": +${newFiles.length} files (${newFiles.map((f) => f.file).join(', ')})`);
163
- }
164
- }
165
- catch (error) {
166
- logError(`Failed to update PR ${prId}: ${error instanceof Error ? error.message : String(error)}`);
167
- }
168
- }
169
- return updatedCount;
170
- }
171
- /**
172
- * Remove files that were deleted on the dev branch from PR file lists.
173
- * Returns the number of PRs updated.
174
- */
175
- export async function removeDeletedFilesFromPRs(changedFiles, pullRequests, updater = updatePullRequest, verbose) {
176
- const deletedPaths = new Set(changedFiles.filter((f) => f.change_type === 'deleted').map((f) => f.path));
177
- if (deletedPaths.size === 0) {
178
- return 0;
179
- }
180
- let updatedCount = 0;
181
- for (const pr of pullRequests) {
182
- if (!pr.files || pr.files.length === 0) {
183
- continue;
184
- }
185
- const filtered = pr.files.filter((f) => !deletedPaths.has(f.path));
186
- if (filtered.length === pr.files.length) {
187
- continue;
188
- }
189
- const removed = pr.files.length - filtered.length;
190
- try {
191
- await updater(pr.id, { files: filtered }, verbose);
192
- updatedCount++;
193
- if (verbose) {
194
- logInfo(` Cleaned PR "${pr.name}": removed ${removed} deleted file(s)`);
195
- }
196
- }
197
- catch (error) {
198
- logError(`Failed to clean PR ${pr.id}: ${error instanceof Error ? error.message : String(error)}`);
199
- }
200
- }
201
- if (verbose && updatedCount > 0) {
202
- logInfo(`๐Ÿ—‘๏ธ Cleaned deleted files from ${updatedCount} PR(s)`);
203
- }
204
- return updatedCount;
205
- }
206
- /**
207
- * Remove files from PR file lists that are no longer in the current diff.
208
- * Used after rebase when the full diff against main may differ from what
209
- * was previously recorded in PR file lists.
210
- * Returns the number of PRs updated.
211
- */
212
- export async function removeStaleFilesFromPRs(changedFiles, pullRequests, updater = updatePullRequest, verbose) {
213
- const currentPaths = new Set(changedFiles.map((f) => f.path));
214
- let updatedCount = 0;
215
- for (const pr of pullRequests) {
216
- if (!pr.files || pr.files.length === 0) {
217
- continue;
218
- }
219
- const filtered = pr.files.filter((f) => currentPaths.has(f.path));
220
- if (filtered.length === pr.files.length) {
221
- continue;
222
- }
223
- const removed = pr.files.length - filtered.length;
224
- try {
225
- await updater(pr.id, { files: filtered }, verbose);
226
- updatedCount++;
227
- if (verbose) {
228
- logInfo(` Cleaned PR "${pr.name}": removed ${removed} stale file(s)`);
229
- }
230
- }
231
- catch (error) {
232
- logError(`Failed to clean PR ${pr.id}: ${error instanceof Error ? error.message : String(error)}`);
233
- }
234
- }
235
- if (verbose && updatedCount > 0) {
236
- logInfo(`๐Ÿงน Removed stale files from ${updatedCount} PR(s)`);
237
- }
238
- return updatedCount;
239
- }
240
- /**
241
- * Detect unassigned files and use LLM to assign them to existing PRs.
242
- * Returns the number of files assigned, or 0 if none needed assignment.
243
- */
244
- export async function assignNewFilesToPRs(changedFiles, pullRequests, verbose) {
245
- const unassigned = findUnassignedFiles(changedFiles, pullRequests);
246
- if (unassigned.length === 0) {
247
- if (verbose) {
248
- logInfo('All changed files are already assigned to PRs.');
249
- }
250
- return 0;
251
- }
252
- if (verbose) {
253
- logInfo(`\n๐Ÿ“‚ ${unassigned.length} changed file(s) not assigned to any PR:`);
254
- for (const f of unassigned) {
255
- logInfo(` - ${f.path} (${f.change_type})`);
256
- }
257
- logInfo('๐Ÿค– Asking LLM to assign them...');
258
- }
259
- const prompt = buildAssignmentPrompt(unassigned, pullRequests);
260
- const result = await callLLMForAssignment(prompt, verbose);
261
- if (!result) {
262
- logError('LLM file assignment failed. Proceeding with existing file lists.');
263
- return 0;
264
- }
265
- // Validate: every unassigned file should appear in assignments
266
- const assignedFiles = new Set(result.assignments.map((a) => a.file));
267
- const missing = unassigned.filter((f) => !assignedFiles.has(f.path));
268
- if (missing.length > 0 && verbose) {
269
- logInfo(`โš ๏ธ LLM did not assign ${missing.length} file(s): ${missing.map((f) => f.path).join(', ')}`);
270
- }
271
- // Validate: all pr_ids reference existing PRs
272
- const validPRIds = new Set(pullRequests.map((pr) => pr.id));
273
- const validAssignments = result.assignments.filter((a) => {
274
- if (!validPRIds.has(a.pr_id)) {
275
- if (verbose) {
276
- logError(`Assignment for ${a.file} references unknown PR: ${a.pr_id}`);
277
- }
278
- return false;
279
- }
280
- return true;
281
- });
282
- const updatedCount = await applyAssignments(validAssignments, unassigned, pullRequests, updatePullRequest, verbose);
283
- if (verbose) {
284
- logInfo(`โœ… Assigned ${validAssignments.length} file(s) to ${updatedCount} PR(s)`);
285
- }
286
- return validAssignments.length;
287
- }
@@ -1,22 +0,0 @@
1
- import { type EdsgerConfig } from '../../types/index.js';
2
- export interface PRExecutionOptions {
3
- issueId: string;
4
- verbose?: boolean;
5
- }
6
- /**
7
- * PR Execution Phase: Create git branches, push code, and generate compare URLs
8
- *
9
- * Prerequisites: pr-splitting phase must have been run and human-approved.
10
- * PR plan records must exist in the database.
11
- *
12
- * Supports incremental re-sync: if PR branches already exist and dev branch
13
- * has new changes, only the new changes are synced to existing branches.
14
- *
15
- * GitHub PRs are created manually by the user via compare URLs in the UI.
16
- */
17
- export declare const executeIssuePRs: (options: PRExecutionOptions, config: EdsgerConfig) => Promise<{
18
- status: "success" | "error";
19
- message?: string;
20
- summary?: string;
21
- [key: string]: any;
22
- }>;