edsger 0.77.0 → 0.78.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 +1339 -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,127 +0,0 @@
1
- /**
2
- * MCP helpers shared by find-bugs / find-features / find-smells.
3
- *
4
- * All three load a product's basics (name, description) for prompt context,
5
- * pull the open-issue list for dedup, and file findings via `issues/create`.
6
- * Centralising the calls means a schema change in MCP only needs touching one
7
- * place, and the per-phase orchestrators stay focused on their own logic.
8
- */
9
- import { getRepositoryBasics } from '../../api/github.js';
10
- import { callMcpEndpoint } from '../../api/mcp-client.js';
11
- import { getSupabase, hasSupabaseSession } from '../../supabase/client.js';
12
- import { logError, logWarning } from '../../utils/logger.js';
13
- export async function fetchProductBasics(productId) {
14
- try {
15
- const result = (await callMcpEndpoint('resources/read', {
16
- uri: `product://${productId}`,
17
- }));
18
- const text = result.contents?.[0]?.text || '{}';
19
- const parsed = JSON.parse(text);
20
- return {
21
- name: parsed.name || productId,
22
- description: parsed.description,
23
- };
24
- }
25
- catch {
26
- return { name: productId };
27
- }
28
- }
29
- /**
30
- * Build prompt "product basics" from a bare repository row (repo-scoped scans
31
- * have no product to read). Falls back to the repo id as the display name.
32
- */
33
- export async function fetchRepositoryBasics(repoId) {
34
- const basics = await getRepositoryBasics(repoId).catch(() => null);
35
- return {
36
- name: basics?.fullName || repoId,
37
- description: basics?.description ?? undefined,
38
- };
39
- }
40
- /**
41
- * Fetch the product's open issues for dedup context. Filters out terminal
42
- * statuses (shipped/archived/closed/...) since those can't conflict with new
43
- * findings the agent might surface.
44
- */
45
- export async function fetchOpenIssues(productId) {
46
- try {
47
- const result = (await callMcpEndpoint('issues/list', {
48
- product_id: productId,
49
- }));
50
- const all = result.issues || [];
51
- return all.filter((i) => !isTerminalStatus(i.status));
52
- }
53
- catch (error) {
54
- logWarning(`Could not load existing issues for dedup: ${error instanceof Error ? error.message : String(error)}`);
55
- return [];
56
- }
57
- }
58
- /**
59
- * Same as `fetchOpenIssues` but scoped to a single repository (repo-scoped
60
- * scans). Used for dedup context when filing findings against a bare repo.
61
- */
62
- export async function fetchOpenIssuesByRepo(repoId) {
63
- try {
64
- const result = (await callMcpEndpoint('issues/list', {
65
- repository_id: repoId,
66
- }));
67
- const all = result.issues || [];
68
- return all.filter((i) => !isTerminalStatus(i.status));
69
- }
70
- catch (error) {
71
- logWarning(`Could not load existing issues for dedup: ${error instanceof Error ? error.message : String(error)}`);
72
- return [];
73
- }
74
- }
75
- export function isTerminalStatus(status) {
76
- return (status === 'shipped' ||
77
- status === 'archived' ||
78
- status === 'cancelled' ||
79
- status === 'closed' ||
80
- status === 'completed');
81
- }
82
- /**
83
- * File a new issue via MCP. The issue is scoped to a product OR a single
84
- * repository — exactly one of `productId` / `repoId` should be set. Returns the
85
- * new issue id, or null if MCP returned an error / unexpected shape (already
86
- * logged).
87
- */
88
- export async function createIssue(input) {
89
- const productId = input.productId ?? null;
90
- const repositoryId = input.repoId ?? null;
91
- try {
92
- if (hasSupabaseSession()) {
93
- try {
94
- const { data, error } = await getSupabase()
95
- .from('issues')
96
- .insert({
97
- product_id: productId,
98
- repository_id: repositoryId,
99
- name: input.title,
100
- description: input.description,
101
- ...(input.source ? { source: input.source } : {}),
102
- })
103
- .select('id')
104
- .single();
105
- if (error) {
106
- throw new Error(error.message);
107
- }
108
- return data?.id || null;
109
- }
110
- catch {
111
- // Fall through to MCP
112
- }
113
- }
114
- const result = (await callMcpEndpoint('issues/create', {
115
- ...(productId ? { product_id: productId } : {}),
116
- ...(repositoryId ? { repository_id: repositoryId } : {}),
117
- name: input.title,
118
- description: input.description,
119
- ...(input.source ? { source: input.source } : {}),
120
- }));
121
- return result.issue?.id || result.id || null;
122
- }
123
- catch (error) {
124
- logError(`Failed to create issue for "${input.title}": ${error instanceof Error ? error.message : String(error)}`);
125
- return null;
126
- }
127
- }
@@ -1,37 +0,0 @@
1
- /**
2
- * Per-scope rule-pack configuration, shared across the find-* phases.
3
- *
4
- * Lets a team tune which stack-aware rule packs the scanners apply via a preset
5
- * plus explicit per-pack toggles — the configurable-rules capability DCM-style
6
- * tools expose. Read here from the user's supabase session; edited from the
7
- * desktop app (services/db/quality-rule-configs.ts). Stored in
8
- * `quality_rule_configs`.
9
- */
10
- import type { ScanScope } from './baseline.js';
11
- import { type RulePack } from './rule-packs.js';
12
- export type RulePreset = 'minimal' | 'recommended' | 'strict';
13
- export interface RuleConfig {
14
- preset: RulePreset;
15
- disabledPacks: string[];
16
- }
17
- /**
18
- * Apply a rule config to the packs detection selected. Pure + exported for
19
- * testing.
20
- *
21
- * - no config → unchanged (default is 'recommended' = all detected packs).
22
- * - 'minimal' → no packs (generic categories only).
23
- * - otherwise → detected packs minus the explicitly disabled ones.
24
- */
25
- export declare function applyRuleConfig(packs: RulePack[], config: RuleConfig | null): RulePack[];
26
- /**
27
- * Fetch the rule config for a scope, or null if none is set / no session is
28
- * available. Never throws — a read failure must not abort a scan (it just
29
- * degrades to the default 'recommended' behaviour).
30
- */
31
- export declare function getRuleConfig(scope: ScanScope): Promise<RuleConfig | null>;
32
- /**
33
- * Detect the repo's stack, apply the scope's rule config, and return the rule
34
- * packs to inject — logging the detected stack and chosen packs. Shared by the
35
- * pack-consuming phases (find-smells, find-architecture).
36
- */
37
- export declare function resolveStackRulePacks(repoRoot: string, scope: ScanScope): Promise<RulePack[]>;
@@ -1,67 +0,0 @@
1
- /**
2
- * Per-scope rule-pack configuration, shared across the find-* phases.
3
- *
4
- * Lets a team tune which stack-aware rule packs the scanners apply via a preset
5
- * plus explicit per-pack toggles — the configurable-rules capability DCM-style
6
- * tools expose. Read here from the user's supabase session; edited from the
7
- * desktop app (services/db/quality-rule-configs.ts). Stored in
8
- * `quality_rule_configs`.
9
- */
10
- import { logInfo } from '../../utils/logger.js';
11
- import { detectProjectContext } from './detect-context.js';
12
- import { selectRulePacks } from './rule-packs.js';
13
- import { readScopedRow } from './scoped-read.js';
14
- /**
15
- * Apply a rule config to the packs detection selected. Pure + exported for
16
- * testing.
17
- *
18
- * - no config → unchanged (default is 'recommended' = all detected packs).
19
- * - 'minimal' → no packs (generic categories only).
20
- * - otherwise → detected packs minus the explicitly disabled ones.
21
- */
22
- export function applyRuleConfig(packs, config) {
23
- if (!config) {
24
- return packs;
25
- }
26
- if (config.preset === 'minimal') {
27
- return [];
28
- }
29
- return packs.filter((p) => !config.disabledPacks.includes(p.id));
30
- }
31
- /**
32
- * Fetch the rule config for a scope, or null if none is set / no session is
33
- * available. Never throws — a read failure must not abort a scan (it just
34
- * degrades to the default 'recommended' behaviour).
35
- */
36
- export async function getRuleConfig(scope) {
37
- const row = await readScopedRow('quality_rule_configs', 'preset, disabled_packs', scope);
38
- if (!row) {
39
- return null;
40
- }
41
- return {
42
- preset: row.preset ?? 'recommended',
43
- disabledPacks: row.disabled_packs ?? [],
44
- };
45
- }
46
- /**
47
- * Detect the repo's stack, apply the scope's rule config, and return the rule
48
- * packs to inject — logging the detected stack and chosen packs. Shared by the
49
- * pack-consuming phases (find-smells, find-architecture).
50
- */
51
- export async function resolveStackRulePacks(repoRoot, scope) {
52
- const projectContext = detectProjectContext(repoRoot);
53
- const ruleConfig = await getRuleConfig(scope);
54
- const rulePacks = applyRuleConfig(selectRulePacks(projectContext), ruleConfig);
55
- const detectedStack = [
56
- ...projectContext.languages,
57
- ...projectContext.frameworks,
58
- ];
59
- const stackLabel = detectedStack.length
60
- ? detectedStack.join(', ')
61
- : 'unknown';
62
- const packLabel = rulePacks.length
63
- ? `; applying rule packs: ${rulePacks.map((p) => p.id).join(', ')}`
64
- : '; no stack-specific rule packs matched';
65
- logInfo(`Detected stack: ${stackLabel}${packLabel}`);
66
- return rulePacks;
67
- }
@@ -1,65 +0,0 @@
1
- /**
2
- * Stack-specific rule packs for the find-* phases.
3
- *
4
- * The generic smell/bug/architecture categories in the base system prompts are
5
- * language-neutral and always apply. A *rule pack* adds targeted, stack-aware
6
- * guidance — e.g. Flutter widget anti-patterns, TypeScript type-safety escapes
7
- * — that should only fire when the relevant language/framework is actually
8
- * present in the repository.
9
- *
10
- * The design intentionally mirrors the quality-benchmark tool catalog:
11
- * - tools gate on `applies_to: [<LanguageTag>]`, selected by
12
- * `selectToolsForContext(languages)`.
13
- * - rule packs gate on `applies_to: { languages?, frameworks?, files_present? }`,
14
- * selected by `selectRulePacks(context)`.
15
- *
16
- * Adding support for a new language/framework is therefore a pure data change:
17
- * append one `RulePack` here (and, eventually, more of them) — no phase code
18
- * branches on a specific language anywhere.
19
- */
20
- import type { ProjectContext } from './detect-context.js';
21
- /**
22
- * Which find-* phase a guidance block is written for. A pack only contributes
23
- * to a phase it has guidance for, so the same pack can sharpen find-smells with
24
- * local anti-patterns and find-architecture with structural ones without
25
- * leaking smell guidance into the architecture audit (or vice versa).
26
- */
27
- export type FindPhaseKind = 'smells' | 'architecture' | 'bugs';
28
- export interface RulePack {
29
- /** Stable id, shown in logs and used in tests. */
30
- id: string;
31
- /** Human-readable label. */
32
- label: string;
33
- /**
34
- * Gate conditions. A pack is selected when EVERY specified gate matches
35
- * (AND across gates), where a gate matches if ANY of its values is present
36
- * in the detected context (OR within a gate). At least one gate must be set.
37
- */
38
- applies_to: {
39
- languages?: string[];
40
- frameworks?: string[];
41
- files_present?: string[];
42
- };
43
- /**
44
- * Per-phase markdown guidance injected into the find-* system prompt when the
45
- * pack is selected. Each block should enumerate concrete, file:line-citable
46
- * anti-patterns that map onto that phase's existing categories (no new
47
- * categories introduced). A pack may cover only some phases.
48
- */
49
- guidance: Partial<Record<FindPhaseKind, string>>;
50
- }
51
- export declare const RULE_PACKS: readonly RulePack[];
52
- /**
53
- * Select the rule packs whose gates are satisfied by the detected context.
54
- * Same AND-across-gates / OR-within-gate semantics as the quality-benchmark
55
- * `selectToolsForContext`. Membership checks are case-insensitive.
56
- */
57
- export declare function selectRulePacks(ctx: ProjectContext): RulePack[];
58
- /**
59
- * Render the guidance the selected packs provide *for a given phase* into a
60
- * single markdown block for appending to that phase's system prompt. Packs
61
- * without guidance for `kind` are skipped, so e.g. the TypeScript pack (smells
62
- * only) contributes nothing to the architecture audit. Returns '' when nothing
63
- * applies, so callers can concatenate unconditionally.
64
- */
65
- export declare function renderRulePacks(packs: RulePack[], kind: FindPhaseKind): string;
@@ -1,124 +0,0 @@
1
- /**
2
- * Stack-specific rule packs for the find-* phases.
3
- *
4
- * The generic smell/bug/architecture categories in the base system prompts are
5
- * language-neutral and always apply. A *rule pack* adds targeted, stack-aware
6
- * guidance — e.g. Flutter widget anti-patterns, TypeScript type-safety escapes
7
- * — that should only fire when the relevant language/framework is actually
8
- * present in the repository.
9
- *
10
- * The design intentionally mirrors the quality-benchmark tool catalog:
11
- * - tools gate on `applies_to: [<LanguageTag>]`, selected by
12
- * `selectToolsForContext(languages)`.
13
- * - rule packs gate on `applies_to: { languages?, frameworks?, files_present? }`,
14
- * selected by `selectRulePacks(context)`.
15
- *
16
- * Adding support for a new language/framework is therefore a pure data change:
17
- * append one `RulePack` here (and, eventually, more of them) — no phase code
18
- * branches on a specific language anywhere.
19
- */
20
- // ---------------------------------------------------------------------------
21
- // Packs
22
- // ---------------------------------------------------------------------------
23
- const flutter = {
24
- id: 'flutter',
25
- label: 'Flutter / Dart',
26
- applies_to: { frameworks: ['flutter'] },
27
- guidance: {
28
- smells: `Flutter/Dart widget and performance smells (in addition to the generic categories):
29
- - **Giant \`build()\` methods**: a build method spanning dozens of lines or many nested widgets — extract subtrees into named \`Widget\` classes or helper methods. (category: complexity)
30
- - **Missing \`const\`**: widgets with compile-time-constant configuration that are not \`const\`, forcing needless rebuilds. (category: performance)
31
- - **Deep widget nesting**: trees nested well beyond ~5 levels that should be decomposed into smaller widgets. (category: complexity)
32
- - **Unbounded list rendering**: \`Column\`/\`ListView(children: [...])\` over a growing or large collection instead of \`ListView.builder\`/\`SliverList\`. (category: performance)
33
- - **Work inside \`build()\`**: constructing controllers, futures, or expensive objects in \`build()\` instead of \`initState\`/memoization — they get recreated every rebuild. (category: performance)
34
- - **Over-broad \`setState\`**: calling \`setState\` on a large widget where a smaller \`StatefulWidget\`, \`ValueListenableBuilder\`, or \`Selector\` would localise the rebuild. (category: performance)
35
- - **Unkeyed dynamic lists**: reorderable/dynamic children without \`Key\`s, risking state mismatches. (category: readability)`,
36
- architecture: `Flutter/Dart structural concerns (in addition to the generic categories):
37
- - **Business logic in widgets**: data fetching, persistence, or domain rules embedded directly in \`Widget\`/\`State\` classes instead of a dedicated layer (controller/bloc/cubit/service). (concern: layering)
38
- - **God widgets**: a single screen widget that builds UI, holds state, talks to the network, and formats data — split by responsibility. (concern: cohesion)
39
- - **Cross-feature \`BuildContext\` reach-through**: features reaching into each other's widget state instead of going through a shared layer. (concern: coupling)`,
40
- },
41
- };
42
- const typescript = {
43
- id: 'typescript',
44
- label: 'TypeScript',
45
- applies_to: { languages: ['ts'] },
46
- guidance: {
47
- smells: `TypeScript type-safety smells (in addition to the generic categories):
48
- - **Type escapes**: \`any\`/\`unknown\` casts that erase checking; prefer precise types or generics. (category: type_safety)
49
- - **Suppressed errors**: \`@ts-ignore\`/\`@ts-expect-error\` hiding real type errors rather than fixing them. (category: type_safety)
50
- - **Unsafe assertions**: \`as\` casts and non-null assertions (\`!\`) at trust boundaries instead of real narrowing/null checks. (category: type_safety)
51
- - **Loose contracts**: \`object\`, open index signatures, or wide unions where a tighter interface/literal type is intended. (category: type_safety)
52
- - **Derivable duplication**: enums/unions hand-maintained in parallel instead of derived (\`as const\` + \`keyof\`/\`typeof\`). (category: refactor)`,
53
- },
54
- };
55
- const csharp = {
56
- id: 'csharp',
57
- label: 'C# / .NET',
58
- applies_to: { languages: ['cs'] },
59
- guidance: {
60
- smells: `C#/.NET smells (in addition to the generic categories):
61
- - **Async anti-patterns**: \`.Result\`/\`.Wait()\`/\`.GetAwaiter().GetResult()\` on tasks (sync-over-async deadlock risk); \`async void\` outside event handlers. (category: performance)
62
- - **Multiple enumeration**: enumerating the same \`IEnumerable\` more than once (re-runs the query/LINQ); materialize with \`ToList()\`/\`ToArray()\` once. (category: performance)
63
- - **Disposal**: \`IDisposable\` created without \`using\`/\`await using\` or an explicit \`Dispose\`. (category: type_safety)
64
- - **Swallowed exceptions**: empty \`catch {}\` or \`catch (Exception)\` that hides failures. (category: refactor)
65
- - **Nullable ignored**: suppressing nullable warnings with \`!\` (null-forgiving) at trust boundaries instead of real checks. (category: type_safety)
66
- - **String building in loops**: \`+=\` string concatenation inside loops instead of \`StringBuilder\`. (category: performance)
67
- - **Public mutable fields**: public fields where a property is intended. (category: readability)`,
68
- architecture: `C#/.NET structural concerns (in addition to the generic categories):
69
- - **Fat controllers**: business/data logic in ASP.NET controllers instead of a service/handler layer. (concern: layering)
70
- - **Leaky persistence**: \`DbContext\`/EF queries used directly across layers instead of behind a repository/service boundary. (concern: layering)
71
- - **Mutable static/singleton state**: static fields or singletons holding mutable shared state, complicating testing and concurrency. (concern: coupling)
72
- - **Project reference cycles**: circular references between projects/assemblies. (concern: cyclic dependencies)`,
73
- },
74
- };
75
- // ---------------------------------------------------------------------------
76
- // Registry + selection
77
- // ---------------------------------------------------------------------------
78
- export const RULE_PACKS = [
79
- flutter,
80
- typescript,
81
- csharp,
82
- ];
83
- /**
84
- * Select the rule packs whose gates are satisfied by the detected context.
85
- * Same AND-across-gates / OR-within-gate semantics as the quality-benchmark
86
- * `selectToolsForContext`. Membership checks are case-insensitive.
87
- */
88
- export function selectRulePacks(ctx) {
89
- const langSet = new Set(ctx.languages.map((l) => l.toLowerCase()));
90
- const fwSet = new Set(ctx.frameworks.map((f) => f.toLowerCase()));
91
- const fileSet = new Set(ctx.files_present);
92
- return RULE_PACKS.filter((pack) => {
93
- const { languages, frameworks, files_present } = pack.applies_to;
94
- const gates = [];
95
- if (languages?.length) {
96
- gates.push(languages.some((l) => langSet.has(l.toLowerCase())));
97
- }
98
- if (frameworks?.length) {
99
- gates.push(frameworks.some((f) => fwSet.has(f.toLowerCase())));
100
- }
101
- if (files_present?.length) {
102
- gates.push(files_present.some((f) => fileSet.has(f)));
103
- }
104
- // A pack with no gates is a misconfiguration — never auto-select it.
105
- return gates.length > 0 && gates.every(Boolean);
106
- });
107
- }
108
- /**
109
- * Render the guidance the selected packs provide *for a given phase* into a
110
- * single markdown block for appending to that phase's system prompt. Packs
111
- * without guidance for `kind` are skipped, so e.g. the TypeScript pack (smells
112
- * only) contributes nothing to the architecture audit. Returns '' when nothing
113
- * applies, so callers can concatenate unconditionally.
114
- */
115
- export function renderRulePacks(packs, kind) {
116
- const sections = packs
117
- .map((p) => ({ label: p.label, text: p.guidance[kind] }))
118
- .filter((s) => Boolean(s.text))
119
- .map((s) => `### ${s.label}\n${s.text}`);
120
- if (sections.length === 0) {
121
- return '';
122
- }
123
- return `\n\n**Stack-specific checks** — the repository's detected stack triggers the following targeted checks. Apply them *in addition to* the generic categories above, using the same severity rubric and output format:\n\n${sections.join('\n\n')}`;
124
- }
@@ -1,33 +0,0 @@
1
- /**
2
- * Per-product scan state, generic across the find-* phases. Each phase has
3
- * its own state schema (find-bugs tracks a commit sha, find-features tracks
4
- * the most-recent-seen feedback id, etc.) so the type is parametric, but the
5
- * file layout, atomic-write, and lock semantics are identical and live here.
6
- *
7
- * Storage layout: `~/.edsger/<dirName>/<productId>.json` plus a sibling
8
- * `.lock` file. The lockfile uses O_EXCL so concurrent acquirers race on the
9
- * filesystem, not on application code — atomic on local POSIX filesystems
10
- * (good enough; the workspace clone is also machine-local).
11
- *
12
- * Known limitation: state is machine-local. A scan started on machine A and
13
- * next on machine B will look like a first run.
14
- */
15
- export interface LockHandle {
16
- release: () => void;
17
- }
18
- export interface ScanStateModule<T extends object> {
19
- load: (productId: string) => T;
20
- save: (productId: string, state: T) => void;
21
- /** Merge `patch` into the stored state. Fields not mentioned are preserved. */
22
- update: (productId: string, patch: Partial<T>) => T;
23
- /**
24
- * Acquire an exclusive lock for this product's state. Returns null if held.
25
- * Stale locks older than `staleAfterMs` (default 1h) are reclaimed.
26
- */
27
- acquireLock: (productId: string, staleAfterMs?: number) => LockHandle | null;
28
- }
29
- export interface CreateScanStateModuleOptions {
30
- /** Subdirectory under ~/.edsger/. Example: 'find-bugs-state'. */
31
- dirName: string;
32
- }
33
- export declare function createScanStateModule<T extends object>(opts: CreateScanStateModuleOptions): ScanStateModule<T>;
@@ -1,112 +0,0 @@
1
- /**
2
- * Per-product scan state, generic across the find-* phases. Each phase has
3
- * its own state schema (find-bugs tracks a commit sha, find-features tracks
4
- * the most-recent-seen feedback id, etc.) so the type is parametric, but the
5
- * file layout, atomic-write, and lock semantics are identical and live here.
6
- *
7
- * Storage layout: `~/.edsger/<dirName>/<productId>.json` plus a sibling
8
- * `.lock` file. The lockfile uses O_EXCL so concurrent acquirers race on the
9
- * filesystem, not on application code — atomic on local POSIX filesystems
10
- * (good enough; the workspace clone is also machine-local).
11
- *
12
- * Known limitation: state is machine-local. A scan started on machine A and
13
- * next on machine B will look like a first run.
14
- */
15
- import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, unlinkSync, writeFileSync, } from 'fs';
16
- import { homedir } from 'os';
17
- import { join } from 'path';
18
- const DEFAULT_STALE_AFTER_MS = 60 * 60 * 1000;
19
- export function createScanStateModule(opts) {
20
- const { dirName } = opts;
21
- // Resolve at call time, not module-load time, so test setups that swap
22
- // process.env.HOME between cases see the change.
23
- function stateDir() {
24
- return join(homedir(), '.edsger', dirName);
25
- }
26
- function safeProductId(productId) {
27
- return productId.replace(/[^a-zA-Z0-9_-]/g, '_');
28
- }
29
- function statePath(productId) {
30
- return join(stateDir(), `${safeProductId(productId)}.json`);
31
- }
32
- function lockPath(productId) {
33
- return join(stateDir(), `${safeProductId(productId)}.lock`);
34
- }
35
- function ensureStateDir() {
36
- const dir = stateDir();
37
- if (!existsSync(dir)) {
38
- mkdirSync(dir, { recursive: true });
39
- }
40
- }
41
- function load(productId) {
42
- const p = statePath(productId);
43
- if (!existsSync(p)) {
44
- return {};
45
- }
46
- try {
47
- const raw = readFileSync(p, 'utf-8');
48
- const parsed = JSON.parse(raw);
49
- return parsed && typeof parsed === 'object' ? parsed : {};
50
- }
51
- catch {
52
- return {};
53
- }
54
- }
55
- /** Atomic write: stage to a tempfile, then rename. */
56
- function save(productId, state) {
57
- ensureStateDir();
58
- const finalPath = statePath(productId);
59
- const tmpPath = `${finalPath}.${process.pid}.tmp`;
60
- writeFileSync(tmpPath, JSON.stringify(state, null, 2), 'utf-8');
61
- renameSync(tmpPath, finalPath);
62
- }
63
- function update(productId, patch) {
64
- const merged = { ...load(productId), ...patch };
65
- save(productId, merged);
66
- return merged;
67
- }
68
- function acquireLock(productId, staleAfterMs = DEFAULT_STALE_AFTER_MS) {
69
- ensureStateDir();
70
- const lock = lockPath(productId);
71
- if (existsSync(lock)) {
72
- try {
73
- const raw = readFileSync(lock, 'utf-8');
74
- const parsed = JSON.parse(raw);
75
- const age = Date.now() - new Date(parsed.acquiredAt ?? 0).getTime();
76
- if (age < staleAfterMs) {
77
- return null;
78
- }
79
- // Stale or corrupt — reclaim. Only reachable if a previous run died
80
- // without releasing (SIGKILL, OOM).
81
- rmSync(lock, { force: true });
82
- }
83
- catch {
84
- rmSync(lock, { force: true });
85
- }
86
- }
87
- try {
88
- // `flag: 'wx'` = open with O_CREAT | O_EXCL — atomic against a racing
89
- // peer, and writeFileSync(path, ...) closes the fd internally so no
90
- // manual closeSync is needed (vs. the openSync + writeFileSync(fd)
91
- // form, which leaks the fd).
92
- writeFileSync(lock, JSON.stringify({
93
- acquiredAt: new Date().toISOString(),
94
- pid: process.pid,
95
- }), { flag: 'wx' });
96
- return {
97
- release: () => {
98
- try {
99
- unlinkSync(lock);
100
- }
101
- catch {
102
- // Already gone — fine.
103
- }
104
- },
105
- };
106
- }
107
- catch {
108
- return null;
109
- }
110
- }
111
- return { load, save, update, acquireLock };
112
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Shared helper for reading a single scope-keyed row (product XOR repo) via the
3
- * user's supabase session. Used by the find-* scan-config readers
4
- * (getScanBaseline, getRuleConfig) so they don't each re-implement the
5
- * session-guard + scoped query + never-throw error handling.
6
- */
7
- import type { ScanScope } from './baseline.js';
8
- /**
9
- * Fetch one scope-keyed row, or null when there's no session / no row / a read
10
- * error. Never throws — a read failure must not abort a scan.
11
- */
12
- export declare function readScopedRow<T>(table: string, columns: string, scope: ScanScope): Promise<T | null>;
@@ -1,33 +0,0 @@
1
- /**
2
- * Shared helper for reading a single scope-keyed row (product XOR repo) via the
3
- * user's supabase session. Used by the find-* scan-config readers
4
- * (getScanBaseline, getRuleConfig) so they don't each re-implement the
5
- * session-guard + scoped query + never-throw error handling.
6
- */
7
- import { getSupabase, hasSupabaseSession } from '../../supabase/client.js';
8
- import { logWarning } from '../../utils/logger.js';
9
- /**
10
- * Fetch one scope-keyed row, or null when there's no session / no row / a read
11
- * error. Never throws — a read failure must not abort a scan.
12
- */
13
- export async function readScopedRow(table, columns, scope) {
14
- if (!hasSupabaseSession()) {
15
- return null;
16
- }
17
- try {
18
- const query = getSupabase().from(table).select(columns);
19
- const scoped = scope.productId
20
- ? query.eq('product_id', scope.productId)
21
- : query.eq('repository_id', scope.repoId);
22
- const { data, error } = await scoped.maybeSingle();
23
- if (error) {
24
- logWarning(`Could not read ${table}: ${error.message}`);
25
- return null;
26
- }
27
- return data ?? null;
28
- }
29
- catch (err) {
30
- logWarning(`Could not read ${table}: ${err instanceof Error ? err.message : String(err)}`);
31
- return null;
32
- }
33
- }
@@ -1,50 +0,0 @@
1
- /**
2
- * Find-smells phase: clone the product's repo, ask Claude to audit code for
3
- * code smells (refactor candidates, perf cliffs, dead code, etc.), and file
4
- * each new finding as an issue. Subsequent runs are incremental, scoped to
5
- * commits since the previous successful scan.
6
- *
7
- * Companion to find-bugs (real defects) and find-features (missing user
8
- * capability). The three phases share the same workspace + state pattern.
9
- */
10
- import { type SmellCategory } from './types.js';
11
- export interface FindSmellsOptions {
12
- /** Product scope. Provide this OR repoId (repo-scoped scan). */
13
- productId?: string;
14
- /** Repository scope: scan a bare `repositories` row with no product. */
15
- repoId?: string;
16
- githubToken: string;
17
- owner: string;
18
- repo: string;
19
- /** Force a full scan even if previous-scan state exists. */
20
- full?: boolean;
21
- /** Branch to scan; defaults to the repo's default branch. */
22
- branch?: string;
23
- /** Upper bound on files the auditor may Read. Keeps token cost predictable. */
24
- maxFiles?: number;
25
- /**
26
- * Optional category filter. Agent is asked to honour it via the prompt
27
- * AND its output is re-filtered after parsing — both are required because
28
- * the agent can't be trusted to obey perfectly.
29
- */
30
- categories?: SmellCategory[];
31
- verbose?: boolean;
32
- }
33
- export interface FindSmellsResult {
34
- status: 'success' | 'error';
35
- message: string;
36
- scannedCommitSha?: string;
37
- smellsFound?: number;
38
- issuesCreated?: number;
39
- /** Findings the agent passed off to find-bugs (not filed by this run). */
40
- deferredToBugs?: number;
41
- /** Findings the agent passed off to find-features (not filed by this run). */
42
- deferredToFeatures?: number;
43
- summary?: string;
44
- }
45
- /** Single source of truth — referenced by the CLI help string too. */
46
- export declare const DEFAULT_MAX_FILES = 200;
47
- /**
48
- * Scan a product's repository for code smells and file each new finding as an issue.
49
- */
50
- export declare function scanForSmells(options: FindSmellsOptions): Promise<FindSmellsResult>;