edsger 0.76.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 (853) 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 -1218
  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/app-store/index.d.ts +0 -12
  108. package/dist/commands/app-store/index.js +0 -69
  109. package/dist/commands/architecture-diagram/index.d.ts +0 -8
  110. package/dist/commands/architecture-diagram/index.js +0 -10
  111. package/dist/commands/build/detect-project.d.ts +0 -52
  112. package/dist/commands/build/detect-project.js +0 -277
  113. package/dist/commands/build/index.d.ts +0 -66
  114. package/dist/commands/build/index.js +0 -544
  115. package/dist/commands/chat-serve/chat-server.d.ts +0 -114
  116. package/dist/commands/chat-serve/chat-server.js +0 -339
  117. package/dist/commands/chat-serve/index.d.ts +0 -20
  118. package/dist/commands/chat-serve/index.js +0 -58
  119. package/dist/commands/checklists/index.d.ts +0 -16
  120. package/dist/commands/checklists/index.js +0 -187
  121. package/dist/commands/checklists/tools.d.ts +0 -17
  122. package/dist/commands/checklists/tools.js +0 -19
  123. package/dist/commands/class-diagram/index.d.ts +0 -7
  124. package/dist/commands/class-diagram/index.js +0 -9
  125. package/dist/commands/code-review/index.d.ts +0 -2
  126. package/dist/commands/code-review/index.js +0 -37
  127. package/dist/commands/code-review/reviewer.d.ts +0 -3
  128. package/dist/commands/code-review/reviewer.js +0 -205
  129. package/dist/commands/config/index.d.ts +0 -16
  130. package/dist/commands/config/index.js +0 -60
  131. package/dist/commands/data-flow/index.d.ts +0 -19
  132. package/dist/commands/data-flow/index.js +0 -55
  133. package/dist/commands/diagram-shared/index.d.ts +0 -21
  134. package/dist/commands/diagram-shared/index.js +0 -37
  135. package/dist/commands/discover/index.d.ts +0 -14
  136. package/dist/commands/discover/index.js +0 -29
  137. package/dist/commands/er-diagram/index.d.ts +0 -19
  138. package/dist/commands/er-diagram/index.js +0 -55
  139. package/dist/commands/features/index.d.ts +0 -15
  140. package/dist/commands/features/index.js +0 -34
  141. package/dist/commands/financing-deck/index.d.ts +0 -8
  142. package/dist/commands/financing-deck/index.js +0 -66
  143. package/dist/commands/find-architecture/index.d.ts +0 -15
  144. package/dist/commands/find-architecture/index.js +0 -50
  145. package/dist/commands/find-bugs/index.d.ts +0 -13
  146. package/dist/commands/find-bugs/index.js +0 -48
  147. package/dist/commands/find-features/index.d.ts +0 -14
  148. package/dist/commands/find-features/index.js +0 -42
  149. package/dist/commands/find-smells/index.d.ts +0 -23
  150. package/dist/commands/find-smells/index.js +0 -74
  151. package/dist/commands/flowchart/index.d.ts +0 -8
  152. package/dist/commands/flowchart/index.js +0 -10
  153. package/dist/commands/growth-analysis/index.d.ts +0 -7
  154. package/dist/commands/growth-analysis/index.js +0 -89
  155. package/dist/commands/init/index.d.ts +0 -5
  156. package/dist/commands/init/index.js +0 -152
  157. package/dist/commands/init/prompts.d.ts +0 -9
  158. package/dist/commands/init/prompts.js +0 -128
  159. package/dist/commands/init/templates.d.ts +0 -9
  160. package/dist/commands/init/templates.js +0 -264
  161. package/dist/commands/intelligence/index.d.ts +0 -15
  162. package/dist/commands/intelligence/index.js +0 -138
  163. package/dist/commands/issue-analysis/index.d.ts +0 -5
  164. package/dist/commands/issue-analysis/index.js +0 -9
  165. package/dist/commands/pr-resolve/index.d.ts +0 -13
  166. package/dist/commands/pr-resolve/index.js +0 -50
  167. package/dist/commands/pr-review/index.d.ts +0 -12
  168. package/dist/commands/pr-review/index.js +0 -47
  169. package/dist/commands/product-techniques/index.d.ts +0 -15
  170. package/dist/commands/product-techniques/index.js +0 -37
  171. package/dist/commands/product-test-cases/index.d.ts +0 -12
  172. package/dist/commands/product-test-cases/index.js +0 -40
  173. package/dist/commands/quality-benchmark/index.d.ts +0 -40
  174. package/dist/commands/quality-benchmark/index.js +0 -219
  175. package/dist/commands/recipes/index.d.ts +0 -17
  176. package/dist/commands/recipes/index.js +0 -40
  177. package/dist/commands/refactor/refactor.d.ts +0 -2
  178. package/dist/commands/refactor/refactor.js +0 -134
  179. package/dist/commands/release-sync/index.d.ts +0 -5
  180. package/dist/commands/release-sync/index.js +0 -38
  181. package/dist/commands/run-sheet/index.d.ts +0 -6
  182. package/dist/commands/run-sheet/index.js +0 -48
  183. package/dist/commands/screen-flow/index.d.ts +0 -18
  184. package/dist/commands/screen-flow/index.js +0 -54
  185. package/dist/commands/sequence-diagram/index.d.ts +0 -19
  186. package/dist/commands/sequence-diagram/index.js +0 -55
  187. package/dist/commands/session-serve/index.d.ts +0 -32
  188. package/dist/commands/session-serve/index.js +0 -100
  189. package/dist/commands/session-turn/index.d.ts +0 -73
  190. package/dist/commands/session-turn/index.js +0 -254
  191. package/dist/commands/smoke-test/index.d.ts +0 -5
  192. package/dist/commands/smoke-test/index.js +0 -40
  193. package/dist/commands/state-diagram/index.d.ts +0 -7
  194. package/dist/commands/state-diagram/index.js +0 -9
  195. package/dist/commands/sync-aws/index.d.ts +0 -16
  196. package/dist/commands/sync-aws/index.js +0 -214
  197. package/dist/commands/sync-datadog/index.d.ts +0 -16
  198. package/dist/commands/sync-datadog/index.js +0 -236
  199. package/dist/commands/sync-github-issues/index.d.ts +0 -11
  200. package/dist/commands/sync-github-issues/index.js +0 -42
  201. package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
  202. package/dist/commands/sync-github-pull-requests/index.js +0 -42
  203. package/dist/commands/sync-org-repos/index.d.ts +0 -12
  204. package/dist/commands/sync-org-repos/index.js +0 -60
  205. package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
  206. package/dist/commands/sync-sentry-issues/index.js +0 -73
  207. package/dist/commands/sync-terraform/index.d.ts +0 -16
  208. package/dist/commands/sync-terraform/index.js +0 -248
  209. package/dist/commands/task-worker/index.d.ts +0 -8
  210. package/dist/commands/task-worker/index.js +0 -34
  211. package/dist/commands/task-worker/processor.d.ts +0 -23
  212. package/dist/commands/task-worker/processor.js +0 -84
  213. package/dist/commands/technical-design/index.d.ts +0 -5
  214. package/dist/commands/technical-design/index.js +0 -9
  215. package/dist/commands/test-cases-analysis/index.d.ts +0 -5
  216. package/dist/commands/test-cases-analysis/index.js +0 -9
  217. package/dist/commands/user-psychology/index.d.ts +0 -7
  218. package/dist/commands/user-psychology/index.js +0 -51
  219. package/dist/commands/user-stories-analysis/index.d.ts +0 -5
  220. package/dist/commands/user-stories-analysis/index.js +0 -9
  221. package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
  222. package/dist/commands/workflow/config/phase-configs.js +0 -132
  223. package/dist/commands/workflow/core/index.d.ts +0 -8
  224. package/dist/commands/workflow/core/index.js +0 -12
  225. package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
  226. package/dist/commands/workflow/core/issue-filter.js +0 -47
  227. package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
  228. package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
  229. package/dist/commands/workflow/core/state-manager.d.ts +0 -24
  230. package/dist/commands/workflow/core/state-manager.js +0 -42
  231. package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
  232. package/dist/commands/workflow/core/workflow-logger.js +0 -77
  233. package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
  234. package/dist/commands/workflow/executors/phase-executor.js +0 -338
  235. package/dist/commands/workflow/index.d.ts +0 -2
  236. package/dist/commands/workflow/index.js +0 -34
  237. package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
  238. package/dist/commands/workflow/issue-coordinator.js +0 -161
  239. package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
  240. package/dist/commands/workflow/phase-orchestrator.js +0 -699
  241. package/dist/commands/workflow/processor.d.ts +0 -47
  242. package/dist/commands/workflow/processor.js +0 -149
  243. package/dist/config/issue-status.d.ts +0 -29
  244. package/dist/config/issue-status.js +0 -44
  245. package/dist/config.d.ts +0 -3
  246. package/dist/config.js +0 -79
  247. package/dist/constants.d.ts +0 -10
  248. package/dist/constants.js +0 -36
  249. package/dist/errors/index.d.ts +0 -68
  250. package/dist/errors/index.js +0 -129
  251. package/dist/index.d.ts +0 -4
  252. package/dist/phases/adr-generation/agent.d.ts +0 -6
  253. package/dist/phases/adr-generation/agent.js +0 -69
  254. package/dist/phases/adr-generation/index.d.ts +0 -15
  255. package/dist/phases/adr-generation/index.js +0 -66
  256. package/dist/phases/adr-generation/parse.d.ts +0 -12
  257. package/dist/phases/adr-generation/parse.js +0 -123
  258. package/dist/phases/adr-generation/prompts.d.ts +0 -8
  259. package/dist/phases/adr-generation/prompts.js +0 -35
  260. package/dist/phases/analyze-logs/agent.d.ts +0 -11
  261. package/dist/phases/analyze-logs/agent.js +0 -66
  262. package/dist/phases/analyze-logs/index.d.ts +0 -23
  263. package/dist/phases/analyze-logs/index.js +0 -152
  264. package/dist/phases/analyze-logs/prompts.d.ts +0 -3
  265. package/dist/phases/analyze-logs/prompts.js +0 -27
  266. package/dist/phases/app-store-generation/agent.d.ts +0 -2
  267. package/dist/phases/app-store-generation/agent.js +0 -177
  268. package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
  269. package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
  270. package/dist/phases/app-store-generation/context.d.ts +0 -21
  271. package/dist/phases/app-store-generation/context.js +0 -78
  272. package/dist/phases/app-store-generation/index.d.ts +0 -20
  273. package/dist/phases/app-store-generation/index.js +0 -157
  274. package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
  275. package/dist/phases/app-store-generation/inter-font.js +0 -49
  276. package/dist/phases/app-store-generation/prompts.d.ts +0 -43
  277. package/dist/phases/app-store-generation/prompts.js +0 -73
  278. package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
  279. package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
  280. package/dist/phases/app-store-generation/uploader.d.ts +0 -19
  281. package/dist/phases/app-store-generation/uploader.js +0 -150
  282. package/dist/phases/architecture-diagram/index.d.ts +0 -15
  283. package/dist/phases/architecture-diagram/index.js +0 -51
  284. package/dist/phases/autonomous/index.d.ts +0 -32
  285. package/dist/phases/autonomous/index.js +0 -412
  286. package/dist/phases/autonomous/prompts.d.ts +0 -5
  287. package/dist/phases/autonomous/prompts.js +0 -31
  288. package/dist/phases/branch-planning/context.d.ts +0 -14
  289. package/dist/phases/branch-planning/context.js +0 -43
  290. package/dist/phases/branch-planning/index.d.ts +0 -25
  291. package/dist/phases/branch-planning/index.js +0 -404
  292. package/dist/phases/branch-planning/outcome.d.ts +0 -28
  293. package/dist/phases/branch-planning/outcome.js +0 -115
  294. package/dist/phases/branch-planning/prompts.d.ts +0 -41
  295. package/dist/phases/branch-planning/prompts.js +0 -157
  296. package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
  297. package/dist/phases/bug-fixing/analyzer.js +0 -247
  298. package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
  299. package/dist/phases/bug-fixing/context-fetcher.js +0 -137
  300. package/dist/phases/bug-fixing/index.d.ts +0 -7
  301. package/dist/phases/bug-fixing/index.js +0 -7
  302. package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
  303. package/dist/phases/bug-fixing/mcp-server.js +0 -19
  304. package/dist/phases/bug-fixing/prompts.d.ts +0 -2
  305. package/dist/phases/bug-fixing/prompts.js +0 -9
  306. package/dist/phases/chat-processor/context.d.ts +0 -38
  307. package/dist/phases/chat-processor/context.js +0 -91
  308. package/dist/phases/chat-processor/index.d.ts +0 -49
  309. package/dist/phases/chat-processor/index.js +0 -482
  310. package/dist/phases/chat-processor/product-context.d.ts +0 -36
  311. package/dist/phases/chat-processor/product-context.js +0 -113
  312. package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
  313. package/dist/phases/chat-processor/product-prompts.js +0 -65
  314. package/dist/phases/chat-processor/product-tools.d.ts +0 -8
  315. package/dist/phases/chat-processor/product-tools.js +0 -11
  316. package/dist/phases/chat-processor/prompts.d.ts +0 -35
  317. package/dist/phases/chat-processor/prompts.js +0 -213
  318. package/dist/phases/chat-processor/tools.d.ts +0 -8
  319. package/dist/phases/chat-processor/tools.js +0 -11
  320. package/dist/phases/class-diagram/index.d.ts +0 -14
  321. package/dist/phases/class-diagram/index.js +0 -76
  322. package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
  323. package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
  324. package/dist/phases/code-implementation/context.d.ts +0 -17
  325. package/dist/phases/code-implementation/context.js +0 -88
  326. package/dist/phases/code-implementation/index.d.ts +0 -33
  327. package/dist/phases/code-implementation/index.js +0 -926
  328. package/dist/phases/code-implementation/outcome.d.ts +0 -47
  329. package/dist/phases/code-implementation/outcome.js +0 -53
  330. package/dist/phases/code-implementation/prompts.d.ts +0 -8
  331. package/dist/phases/code-implementation/prompts.js +0 -166
  332. package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
  333. package/dist/phases/code-implementation-verification/agent.js +0 -225
  334. package/dist/phases/code-implementation-verification/index.d.ts +0 -27
  335. package/dist/phases/code-implementation-verification/index.js +0 -121
  336. package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
  337. package/dist/phases/code-implementation-verification/prompts.js +0 -90
  338. package/dist/phases/code-refine/context.d.ts +0 -99
  339. package/dist/phases/code-refine/context.js +0 -457
  340. package/dist/phases/code-refine/index.d.ts +0 -59
  341. package/dist/phases/code-refine/index.js +0 -348
  342. package/dist/phases/code-refine/prompts.d.ts +0 -5
  343. package/dist/phases/code-refine/prompts.js +0 -162
  344. package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
  345. package/dist/phases/code-refine/refine-iteration.js +0 -166
  346. package/dist/phases/code-refine/retry-handler.d.ts +0 -17
  347. package/dist/phases/code-refine/retry-handler.js +0 -87
  348. package/dist/phases/code-refine-verification/github.d.ts +0 -54
  349. package/dist/phases/code-refine-verification/github.js +0 -328
  350. package/dist/phases/code-refine-verification/index.d.ts +0 -11
  351. package/dist/phases/code-refine-verification/index.js +0 -260
  352. package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
  353. package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
  354. package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
  355. package/dist/phases/code-refine-verification/prompts.js +0 -119
  356. package/dist/phases/code-refine-verification/types.d.ts +0 -74
  357. package/dist/phases/code-refine-verification/types.js +0 -4
  358. package/dist/phases/code-review/context.d.ts +0 -96
  359. package/dist/phases/code-review/context.js +0 -278
  360. package/dist/phases/code-review/diff-utils.d.ts +0 -36
  361. package/dist/phases/code-review/diff-utils.js +0 -100
  362. package/dist/phases/code-review/index.d.ts +0 -40
  363. package/dist/phases/code-review/index.js +0 -627
  364. package/dist/phases/code-testing/analyzer.d.ts +0 -19
  365. package/dist/phases/code-testing/analyzer.js +0 -215
  366. package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
  367. package/dist/phases/code-testing/context-fetcher.js +0 -83
  368. package/dist/phases/code-testing/index.d.ts +0 -2
  369. package/dist/phases/code-testing/index.js +0 -2
  370. package/dist/phases/code-testing/prompts.d.ts +0 -3
  371. package/dist/phases/code-testing/prompts.js +0 -63
  372. package/dist/phases/data-flow/index.d.ts +0 -28
  373. package/dist/phases/data-flow/index.js +0 -286
  374. package/dist/phases/data-flow/mcp-server.d.ts +0 -85
  375. package/dist/phases/data-flow/mcp-server.js +0 -140
  376. package/dist/phases/data-flow/prompts.d.ts +0 -14
  377. package/dist/phases/data-flow/prompts.js +0 -36
  378. package/dist/phases/data-flow/types.d.ts +0 -71
  379. package/dist/phases/data-flow/types.js +0 -86
  380. package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
  381. package/dist/phases/diagram-shared/clone-repos.js +0 -153
  382. package/dist/phases/diagram-shared/generate.d.ts +0 -42
  383. package/dist/phases/diagram-shared/generate.js +0 -162
  384. package/dist/phases/diagram-shared/graph.d.ts +0 -62
  385. package/dist/phases/diagram-shared/graph.js +0 -169
  386. package/dist/phases/diagram-shared/mcp.d.ts +0 -35
  387. package/dist/phases/diagram-shared/mcp.js +0 -68
  388. package/dist/phases/diagram-shared/prompts.d.ts +0 -23
  389. package/dist/phases/diagram-shared/prompts.js +0 -35
  390. package/dist/phases/discover-services/index.d.ts +0 -29
  391. package/dist/phases/discover-services/index.js +0 -528
  392. package/dist/phases/er-diagram/index.d.ts +0 -28
  393. package/dist/phases/er-diagram/index.js +0 -290
  394. package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
  395. package/dist/phases/er-diagram/mcp-server.js +0 -144
  396. package/dist/phases/er-diagram/prompts.d.ts +0 -14
  397. package/dist/phases/er-diagram/prompts.js +0 -36
  398. package/dist/phases/er-diagram/types.d.ts +0 -76
  399. package/dist/phases/er-diagram/types.js +0 -84
  400. package/dist/phases/features/index.d.ts +0 -65
  401. package/dist/phases/features/index.js +0 -292
  402. package/dist/phases/features/mcp-server.d.ts +0 -61
  403. package/dist/phases/features/mcp-server.js +0 -165
  404. package/dist/phases/features/prompts.d.ts +0 -32
  405. package/dist/phases/features/prompts.js +0 -92
  406. package/dist/phases/features/types.d.ts +0 -34
  407. package/dist/phases/features/types.js +0 -15
  408. package/dist/phases/financing-deck/agent.d.ts +0 -1
  409. package/dist/phases/financing-deck/agent.js +0 -96
  410. package/dist/phases/financing-deck/context.d.ts +0 -13
  411. package/dist/phases/financing-deck/context.js +0 -69
  412. package/dist/phases/financing-deck/index.d.ts +0 -15
  413. package/dist/phases/financing-deck/index.js +0 -89
  414. package/dist/phases/financing-deck/prompts.d.ts +0 -2
  415. package/dist/phases/financing-deck/prompts.js +0 -94
  416. package/dist/phases/find-architecture/index.d.ts +0 -47
  417. package/dist/phases/find-architecture/index.js +0 -261
  418. package/dist/phases/find-architecture/prompts.d.ts +0 -31
  419. package/dist/phases/find-architecture/prompts.js +0 -128
  420. package/dist/phases/find-architecture/state.d.ts +0 -21
  421. package/dist/phases/find-architecture/state.js +0 -17
  422. package/dist/phases/find-architecture/types.d.ts +0 -55
  423. package/dist/phases/find-architecture/types.js +0 -69
  424. package/dist/phases/find-bugs/index.d.ts +0 -33
  425. package/dist/phases/find-bugs/index.js +0 -236
  426. package/dist/phases/find-bugs/prompts.d.ts +0 -22
  427. package/dist/phases/find-bugs/prompts.js +0 -101
  428. package/dist/phases/find-bugs/state.d.ts +0 -19
  429. package/dist/phases/find-bugs/state.js +0 -13
  430. package/dist/phases/find-bugs/types.d.ts +0 -21
  431. package/dist/phases/find-bugs/types.js +0 -16
  432. package/dist/phases/find-features/index.d.ts +0 -40
  433. package/dist/phases/find-features/index.js +0 -328
  434. package/dist/phases/find-features/prompts.d.ts +0 -43
  435. package/dist/phases/find-features/prompts.js +0 -138
  436. package/dist/phases/find-features/state.d.ts +0 -25
  437. package/dist/phases/find-features/state.js +0 -22
  438. package/dist/phases/find-features/types.d.ts +0 -27
  439. package/dist/phases/find-features/types.js +0 -16
  440. package/dist/phases/find-shared/git.d.ts +0 -24
  441. package/dist/phases/find-shared/git.js +0 -60
  442. package/dist/phases/find-shared/mcp.d.ts +0 -48
  443. package/dist/phases/find-shared/mcp.js +0 -125
  444. package/dist/phases/find-shared/scan-state.d.ts +0 -33
  445. package/dist/phases/find-shared/scan-state.js +0 -112
  446. package/dist/phases/find-smells/index.d.ts +0 -50
  447. package/dist/phases/find-smells/index.js +0 -298
  448. package/dist/phases/find-smells/prompts.d.ts +0 -30
  449. package/dist/phases/find-smells/prompts.js +0 -129
  450. package/dist/phases/find-smells/state.d.ts +0 -21
  451. package/dist/phases/find-smells/state.js +0 -17
  452. package/dist/phases/find-smells/types.d.ts +0 -51
  453. package/dist/phases/find-smells/types.js +0 -64
  454. package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
  455. package/dist/phases/flow-shared/clone-repos.js +0 -153
  456. package/dist/phases/flowchart/index.d.ts +0 -15
  457. package/dist/phases/flowchart/index.js +0 -50
  458. package/dist/phases/functional-testing/analyzer.d.ts +0 -46
  459. package/dist/phases/functional-testing/analyzer.js +0 -622
  460. package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
  461. package/dist/phases/functional-testing/context-fetcher.js +0 -83
  462. package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
  463. package/dist/phases/functional-testing/http-fallback.js +0 -156
  464. package/dist/phases/functional-testing/index.d.ts +0 -4
  465. package/dist/phases/functional-testing/index.js +0 -4
  466. package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
  467. package/dist/phases/functional-testing/mcp-server.js +0 -13
  468. package/dist/phases/functional-testing/prompts.d.ts +0 -2
  469. package/dist/phases/functional-testing/prompts.js +0 -58
  470. package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
  471. package/dist/phases/functional-testing/test-report-creator.js +0 -306
  472. package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
  473. package/dist/phases/functional-testing/test-retry-handler.js +0 -70
  474. package/dist/phases/growth-analysis/agent.d.ts +0 -2
  475. package/dist/phases/growth-analysis/agent.js +0 -107
  476. package/dist/phases/growth-analysis/context.d.ts +0 -23
  477. package/dist/phases/growth-analysis/context.js +0 -137
  478. package/dist/phases/growth-analysis/index.d.ts +0 -32
  479. package/dist/phases/growth-analysis/index.js +0 -226
  480. package/dist/phases/growth-analysis/prompts.d.ts +0 -2
  481. package/dist/phases/growth-analysis/prompts.js +0 -45
  482. package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
  483. package/dist/phases/intelligence-analysis/agent.js +0 -338
  484. package/dist/phases/intelligence-analysis/context.d.ts +0 -23
  485. package/dist/phases/intelligence-analysis/context.js +0 -142
  486. package/dist/phases/intelligence-analysis/index.d.ts +0 -58
  487. package/dist/phases/intelligence-analysis/index.js +0 -244
  488. package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
  489. package/dist/phases/intelligence-analysis/prompts.js +0 -62
  490. package/dist/phases/issue-analysis/agent.d.ts +0 -21
  491. package/dist/phases/issue-analysis/agent.js +0 -153
  492. package/dist/phases/issue-analysis/context.d.ts +0 -20
  493. package/dist/phases/issue-analysis/context.js +0 -93
  494. package/dist/phases/issue-analysis/index.d.ts +0 -8
  495. package/dist/phases/issue-analysis/index.js +0 -147
  496. package/dist/phases/issue-analysis/outcome.d.ts +0 -10
  497. package/dist/phases/issue-analysis/outcome.js +0 -42
  498. package/dist/phases/issue-analysis/prompts.d.ts +0 -8
  499. package/dist/phases/issue-analysis/prompts.js +0 -99
  500. package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
  501. package/dist/phases/issue-analysis-verification/agent.js +0 -124
  502. package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
  503. package/dist/phases/issue-analysis-verification/index.js +0 -79
  504. package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
  505. package/dist/phases/issue-analysis-verification/prompts.js +0 -75
  506. package/dist/phases/output-contracts.d.ts +0 -7
  507. package/dist/phases/output-contracts.js +0 -1201
  508. package/dist/phases/pr-execution/context.d.ts +0 -32
  509. package/dist/phases/pr-execution/context.js +0 -246
  510. package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
  511. package/dist/phases/pr-execution/file-assigner.js +0 -287
  512. package/dist/phases/pr-execution/index.d.ts +0 -22
  513. package/dist/phases/pr-execution/index.js +0 -401
  514. package/dist/phases/pr-execution/outcome.d.ts +0 -24
  515. package/dist/phases/pr-execution/outcome.js +0 -34
  516. package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
  517. package/dist/phases/pr-execution/pr-executor.js +0 -78
  518. package/dist/phases/pr-execution/prompts.d.ts +0 -27
  519. package/dist/phases/pr-execution/prompts.js +0 -131
  520. package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
  521. package/dist/phases/pr-resolve/checklist-learner.js +0 -153
  522. package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
  523. package/dist/phases/pr-resolve/github-reply.js +0 -75
  524. package/dist/phases/pr-resolve/index.d.ts +0 -33
  525. package/dist/phases/pr-resolve/index.js +0 -272
  526. package/dist/phases/pr-resolve/prompts.d.ts +0 -17
  527. package/dist/phases/pr-resolve/prompts.js +0 -107
  528. package/dist/phases/pr-resolve/types.d.ts +0 -18
  529. package/dist/phases/pr-resolve/types.js +0 -14
  530. package/dist/phases/pr-resolve/workspace.d.ts +0 -45
  531. package/dist/phases/pr-resolve/workspace.js +0 -174
  532. package/dist/phases/pr-review/index.d.ts +0 -27
  533. package/dist/phases/pr-review/index.js +0 -209
  534. package/dist/phases/pr-review/prompts.d.ts +0 -5
  535. package/dist/phases/pr-review/prompts.js +0 -87
  536. package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
  537. package/dist/phases/pr-shared/agent-utils.js +0 -112
  538. package/dist/phases/pr-shared/context.d.ts +0 -24
  539. package/dist/phases/pr-shared/context.js +0 -78
  540. package/dist/phases/pr-shared/status.d.ts +0 -18
  541. package/dist/phases/pr-shared/status.js +0 -37
  542. package/dist/phases/pr-splitting/context.d.ts +0 -28
  543. package/dist/phases/pr-splitting/context.js +0 -182
  544. package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
  545. package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
  546. package/dist/phases/pr-splitting/index.d.ts +0 -36
  547. package/dist/phases/pr-splitting/index.js +0 -413
  548. package/dist/phases/pr-splitting/outcome.d.ts +0 -24
  549. package/dist/phases/pr-splitting/outcome.js +0 -114
  550. package/dist/phases/pr-splitting/prompts.d.ts +0 -43
  551. package/dist/phases/pr-splitting/prompts.js +0 -154
  552. package/dist/phases/product-techniques/index.d.ts +0 -52
  553. package/dist/phases/product-techniques/index.js +0 -268
  554. package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
  555. package/dist/phases/product-techniques/mcp-server.js +0 -96
  556. package/dist/phases/product-techniques/prompts.d.ts +0 -19
  557. package/dist/phases/product-techniques/prompts.js +0 -66
  558. package/dist/phases/product-techniques/types.d.ts +0 -13
  559. package/dist/phases/product-techniques/types.js +0 -13
  560. package/dist/phases/product-test-cases/index.d.ts +0 -25
  561. package/dist/phases/product-test-cases/index.js +0 -174
  562. package/dist/phases/product-test-cases/prompts.d.ts +0 -24
  563. package/dist/phases/product-test-cases/prompts.js +0 -80
  564. package/dist/phases/product-test-cases/types.d.ts +0 -17
  565. package/dist/phases/product-test-cases/types.js +0 -27
  566. package/dist/phases/pull-request/creator.d.ts +0 -30
  567. package/dist/phases/pull-request/creator.js +0 -319
  568. package/dist/phases/pull-request/handler.d.ts +0 -15
  569. package/dist/phases/pull-request/handler.js +0 -92
  570. package/dist/phases/quality-benchmark/index.d.ts +0 -65
  571. package/dist/phases/quality-benchmark/index.js +0 -194
  572. package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
  573. package/dist/phases/quality-benchmark/mcp-server.js +0 -252
  574. package/dist/phases/quality-benchmark/parsers.d.ts +0 -22
  575. package/dist/phases/quality-benchmark/parsers.js +0 -1101
  576. package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
  577. package/dist/phases/quality-benchmark/prompts.js +0 -154
  578. package/dist/phases/quality-benchmark/rubric.md +0 -1174
  579. package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
  580. package/dist/phases/quality-benchmark/tool-catalog.js +0 -636
  581. package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
  582. package/dist/phases/quality-benchmark/tool-runner.js +0 -399
  583. package/dist/phases/quality-benchmark/types.d.ts +0 -312
  584. package/dist/phases/quality-benchmark/types.js +0 -23
  585. package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
  586. package/dist/phases/quality-benchmark/workspace.js +0 -110
  587. package/dist/phases/recipes/index.d.ts +0 -63
  588. package/dist/phases/recipes/index.js +0 -358
  589. package/dist/phases/recipes/mcp-server.d.ts +0 -66
  590. package/dist/phases/recipes/mcp-server.js +0 -229
  591. package/dist/phases/recipes/prompts.d.ts +0 -35
  592. package/dist/phases/recipes/prompts.js +0 -105
  593. package/dist/phases/recipes/types.d.ts +0 -42
  594. package/dist/phases/recipes/types.js +0 -16
  595. package/dist/phases/release-sync/github.d.ts +0 -66
  596. package/dist/phases/release-sync/github.js +0 -140
  597. package/dist/phases/release-sync/index.d.ts +0 -24
  598. package/dist/phases/release-sync/index.js +0 -156
  599. package/dist/phases/release-sync/snapshot.d.ts +0 -27
  600. package/dist/phases/release-sync/snapshot.js +0 -158
  601. package/dist/phases/run-sheet/agent.d.ts +0 -49
  602. package/dist/phases/run-sheet/agent.js +0 -156
  603. package/dist/phases/run-sheet/index.d.ts +0 -57
  604. package/dist/phases/run-sheet/index.js +0 -392
  605. package/dist/phases/screen-flow/index.d.ts +0 -26
  606. package/dist/phases/screen-flow/index.js +0 -349
  607. package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
  608. package/dist/phases/screen-flow/mcp-server.js +0 -272
  609. package/dist/phases/screen-flow/prompts.d.ts +0 -19
  610. package/dist/phases/screen-flow/prompts.js +0 -43
  611. package/dist/phases/screen-flow/theme.d.ts +0 -19
  612. package/dist/phases/screen-flow/theme.js +0 -193
  613. package/dist/phases/screen-flow/types.d.ts +0 -137
  614. package/dist/phases/screen-flow/types.js +0 -81
  615. package/dist/phases/sequence-diagram/index.d.ts +0 -30
  616. package/dist/phases/sequence-diagram/index.js +0 -290
  617. package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
  618. package/dist/phases/sequence-diagram/mcp-server.js +0 -134
  619. package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
  620. package/dist/phases/sequence-diagram/prompts.js +0 -36
  621. package/dist/phases/sequence-diagram/types.d.ts +0 -52
  622. package/dist/phases/sequence-diagram/types.js +0 -93
  623. package/dist/phases/smoke-test/agent.d.ts +0 -12
  624. package/dist/phases/smoke-test/agent.js +0 -93
  625. package/dist/phases/smoke-test/index.d.ts +0 -22
  626. package/dist/phases/smoke-test/index.js +0 -241
  627. package/dist/phases/smoke-test/prompts.d.ts +0 -15
  628. package/dist/phases/smoke-test/prompts.js +0 -35
  629. package/dist/phases/state-diagram/index.d.ts +0 -15
  630. package/dist/phases/state-diagram/index.js +0 -53
  631. package/dist/phases/sync-github-issues/index.d.ts +0 -41
  632. package/dist/phases/sync-github-issues/index.js +0 -187
  633. package/dist/phases/sync-github-issues/state.d.ts +0 -26
  634. package/dist/phases/sync-github-issues/state.js +0 -18
  635. package/dist/phases/sync-github-issues/types.d.ts +0 -35
  636. package/dist/phases/sync-github-issues/types.js +0 -6
  637. package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
  638. package/dist/phases/sync-github-pull-requests/index.js +0 -210
  639. package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
  640. package/dist/phases/sync-github-pull-requests/state.js +0 -16
  641. package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
  642. package/dist/phases/sync-github-pull-requests/types.js +0 -1
  643. package/dist/phases/sync-org-repos/index.d.ts +0 -28
  644. package/dist/phases/sync-org-repos/index.js +0 -133
  645. package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
  646. package/dist/phases/sync-sentry-issues/index.js +0 -153
  647. package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
  648. package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
  649. package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
  650. package/dist/phases/sync-sentry-issues/state.js +0 -18
  651. package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
  652. package/dist/phases/sync-sentry-issues/types.js +0 -6
  653. package/dist/phases/sync-shared/mcp.d.ts +0 -81
  654. package/dist/phases/sync-shared/mcp.js +0 -111
  655. package/dist/phases/task/agent.d.ts +0 -10
  656. package/dist/phases/task/agent.js +0 -83
  657. package/dist/phases/task/context.d.ts +0 -16
  658. package/dist/phases/task/context.js +0 -50
  659. package/dist/phases/task/index.d.ts +0 -17
  660. package/dist/phases/task/index.js +0 -54
  661. package/dist/phases/task/prompts.d.ts +0 -9
  662. package/dist/phases/task/prompts.js +0 -21
  663. package/dist/phases/technical-design/context.d.ts +0 -12
  664. package/dist/phases/technical-design/context.js +0 -39
  665. package/dist/phases/technical-design/index.d.ts +0 -21
  666. package/dist/phases/technical-design/index.js +0 -456
  667. package/dist/phases/technical-design/outcome.d.ts +0 -25
  668. package/dist/phases/technical-design/outcome.js +0 -41
  669. package/dist/phases/technical-design/prompts.d.ts +0 -8
  670. package/dist/phases/technical-design/prompts.js +0 -210
  671. package/dist/phases/technical-design-verification/agent.d.ts +0 -53
  672. package/dist/phases/technical-design-verification/agent.js +0 -186
  673. package/dist/phases/technical-design-verification/index.d.ts +0 -38
  674. package/dist/phases/technical-design-verification/index.js +0 -152
  675. package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
  676. package/dist/phases/technical-design-verification/prompts.js +0 -143
  677. package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
  678. package/dist/phases/test-cases-analysis/agent.js +0 -105
  679. package/dist/phases/test-cases-analysis/context.d.ts +0 -15
  680. package/dist/phases/test-cases-analysis/context.js +0 -86
  681. package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
  682. package/dist/phases/test-cases-analysis/formatters.js +0 -35
  683. package/dist/phases/test-cases-analysis/index.d.ts +0 -9
  684. package/dist/phases/test-cases-analysis/index.js +0 -175
  685. package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
  686. package/dist/phases/test-cases-analysis/outcome.js +0 -146
  687. package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
  688. package/dist/phases/test-cases-analysis/prompts.js +0 -171
  689. package/dist/phases/user-psychology/agent.d.ts +0 -16
  690. package/dist/phases/user-psychology/agent.js +0 -105
  691. package/dist/phases/user-psychology/context.d.ts +0 -10
  692. package/dist/phases/user-psychology/context.js +0 -65
  693. package/dist/phases/user-psychology/index.d.ts +0 -18
  694. package/dist/phases/user-psychology/index.js +0 -96
  695. package/dist/phases/user-psychology/prompts.d.ts +0 -2
  696. package/dist/phases/user-psychology/prompts.js +0 -41
  697. package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
  698. package/dist/phases/user-stories-analysis/agent.js +0 -105
  699. package/dist/phases/user-stories-analysis/context.d.ts +0 -15
  700. package/dist/phases/user-stories-analysis/context.js +0 -86
  701. package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
  702. package/dist/phases/user-stories-analysis/formatters.js +0 -32
  703. package/dist/phases/user-stories-analysis/index.d.ts +0 -9
  704. package/dist/phases/user-stories-analysis/index.js +0 -175
  705. package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
  706. package/dist/phases/user-stories-analysis/outcome.js +0 -146
  707. package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
  708. package/dist/phases/user-stories-analysis/prompts.js +0 -194
  709. package/dist/services/audit-logs.d.ts +0 -73
  710. package/dist/services/audit-logs.js +0 -174
  711. package/dist/services/branches.d.ts +0 -103
  712. package/dist/services/branches.js +0 -391
  713. package/dist/services/checklist.d.ts +0 -100
  714. package/dist/services/checklist.js +0 -259
  715. package/dist/services/coaching/coaching-agent.d.ts +0 -39
  716. package/dist/services/coaching/coaching-agent.js +0 -308
  717. package/dist/services/coaching/coaching-loop.d.ts +0 -62
  718. package/dist/services/coaching/coaching-loop.js +0 -265
  719. package/dist/services/coaching/index.d.ts +0 -8
  720. package/dist/services/coaching/index.js +0 -8
  721. package/dist/services/coaching/phase-coaching.d.ts +0 -47
  722. package/dist/services/coaching/phase-coaching.js +0 -60
  723. package/dist/services/coaching/self-rating.d.ts +0 -26
  724. package/dist/services/coaching/self-rating.js +0 -153
  725. package/dist/services/feedbacks.d.ts +0 -57
  726. package/dist/services/feedbacks.js +0 -264
  727. package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
  728. package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
  729. package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
  730. package/dist/services/phase-hooks/hook-executor.js +0 -167
  731. package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
  732. package/dist/services/phase-hooks/hook-logging.js +0 -41
  733. package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
  734. package/dist/services/phase-hooks/hook-runner.js +0 -83
  735. package/dist/services/phase-hooks/index.d.ts +0 -10
  736. package/dist/services/phase-hooks/index.js +0 -9
  737. package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
  738. package/dist/services/phase-hooks/plugin-loader.js +0 -207
  739. package/dist/services/phase-hooks/types.d.ts +0 -69
  740. package/dist/services/phase-hooks/types.js +0 -8
  741. package/dist/services/phase-ratings.d.ts +0 -70
  742. package/dist/services/phase-ratings.js +0 -143
  743. package/dist/services/product-logs.d.ts +0 -31
  744. package/dist/services/product-logs.js +0 -94
  745. package/dist/services/pull-requests.d.ts +0 -57
  746. package/dist/services/pull-requests.js +0 -186
  747. package/dist/services/quality-reports.d.ts +0 -45
  748. package/dist/services/quality-reports.js +0 -93
  749. package/dist/services/repo-config.d.ts +0 -17
  750. package/dist/services/repo-config.js +0 -50
  751. package/dist/services/skill-resolver.d.ts +0 -46
  752. package/dist/services/skill-resolver.js +0 -123
  753. package/dist/services/video/device-frames.d.ts +0 -34
  754. package/dist/services/video/device-frames.js +0 -513
  755. package/dist/services/video/index.d.ts +0 -66
  756. package/dist/services/video/index.js +0 -238
  757. package/dist/services/video/retry.d.ts +0 -20
  758. package/dist/services/video/retry.js +0 -76
  759. package/dist/services/video/screenshot-generator.d.ts +0 -69
  760. package/dist/services/video/screenshot-generator.js +0 -259
  761. package/dist/services/video/tts-generator.d.ts +0 -40
  762. package/dist/services/video/tts-generator.js +0 -121
  763. package/dist/services/video/video-assembler.d.ts +0 -45
  764. package/dist/services/video/video-assembler.js +0 -351
  765. package/dist/services/video/video-uploader.d.ts +0 -28
  766. package/dist/services/video/video-uploader.js +0 -108
  767. package/dist/skills/phase/adr-generation/SKILL.md +0 -51
  768. package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
  769. package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
  770. package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
  771. package/dist/skills/phase/autonomous/SKILL.md +0 -52
  772. package/dist/skills/phase/branch-planning/SKILL.md +0 -55
  773. package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
  774. package/dist/skills/phase/class-diagram/SKILL.md +0 -44
  775. package/dist/skills/phase/code-implementation/SKILL.md +0 -68
  776. package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
  777. package/dist/skills/phase/code-refine/SKILL.md +0 -62
  778. package/dist/skills/phase/code-testing/SKILL.md +0 -78
  779. package/dist/skills/phase/data-flow/SKILL.md +0 -82
  780. package/dist/skills/phase/er-diagram/SKILL.md +0 -71
  781. package/dist/skills/phase/flowchart/SKILL.md +0 -38
  782. package/dist/skills/phase/functional-testing/SKILL.md +0 -62
  783. package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
  784. package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
  785. package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
  786. package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
  787. package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
  788. package/dist/skills/phase/pr-execution/SKILL.md +0 -69
  789. package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
  790. package/dist/skills/phase/screen-flow/SKILL.md +0 -78
  791. package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
  792. package/dist/skills/phase/smoke-test/SKILL.md +0 -80
  793. package/dist/skills/phase/state-diagram/SKILL.md +0 -38
  794. package/dist/skills/phase/task/SKILL.md +0 -19
  795. package/dist/skills/phase/technical-design/SKILL.md +0 -75
  796. package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
  797. package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
  798. package/dist/skills/phase/user-psychology/SKILL.md +0 -135
  799. package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
  800. package/dist/supabase/client.d.ts +0 -34
  801. package/dist/supabase/client.js +0 -123
  802. package/dist/system/session-manager.d.ts +0 -67
  803. package/dist/system/session-manager.js +0 -300
  804. package/dist/system/sleep-notification.d.ts +0 -15
  805. package/dist/system/sleep-notification.js +0 -108
  806. package/dist/system/sleep-prevention.d.ts +0 -20
  807. package/dist/system/sleep-prevention.js +0 -112
  808. package/dist/tools/bootstrap.d.ts +0 -45
  809. package/dist/tools/bootstrap.js +0 -50
  810. package/dist/types/external-sources.d.ts +0 -22
  811. package/dist/types/external-sources.js +0 -23
  812. package/dist/types/index.d.ts +0 -206
  813. package/dist/types/index.js +0 -1
  814. package/dist/types/issues.d.ts +0 -37
  815. package/dist/types/issues.js +0 -1
  816. package/dist/types/llm-responses.d.ts +0 -114
  817. package/dist/types/llm-responses.js +0 -9
  818. package/dist/types/pipeline.d.ts +0 -28
  819. package/dist/types/pipeline.js +0 -4
  820. package/dist/updater/auto-updater.d.ts +0 -39
  821. package/dist/updater/auto-updater.js +0 -134
  822. package/dist/utils/conflict-resolver.d.ts +0 -49
  823. package/dist/utils/conflict-resolver.js +0 -201
  824. package/dist/utils/formatters.d.ts +0 -42
  825. package/dist/utils/formatters.js +0 -166
  826. package/dist/utils/git-branch-manager-async.d.ts +0 -127
  827. package/dist/utils/git-branch-manager-async.js +0 -425
  828. package/dist/utils/git-branch-manager.d.ts +0 -160
  829. package/dist/utils/git-branch-manager.js +0 -613
  830. package/dist/utils/git-push.d.ts +0 -43
  831. package/dist/utils/git-push.js +0 -136
  832. package/dist/utils/github-repo-info.d.ts +0 -26
  833. package/dist/utils/github-repo-info.js +0 -45
  834. package/dist/utils/image-downloader.d.ts +0 -32
  835. package/dist/utils/image-downloader.js +0 -152
  836. package/dist/utils/issue-phase-cli.d.ts +0 -26
  837. package/dist/utils/issue-phase-cli.js +0 -44
  838. package/dist/utils/json-extract.d.ts +0 -6
  839. package/dist/utils/json-extract.js +0 -44
  840. package/dist/utils/json-extractor.d.ts +0 -27
  841. package/dist/utils/json-extractor.js +0 -102
  842. package/dist/utils/logger.d.ts +0 -35
  843. package/dist/utils/logger.js +0 -167
  844. package/dist/utils/pipeline-logger.d.ts +0 -8
  845. package/dist/utils/pipeline-logger.js +0 -38
  846. package/dist/utils/validation.d.ts +0 -68
  847. package/dist/utils/validation.js +0 -229
  848. package/dist/utils/workflow-utils.d.ts +0 -22
  849. package/dist/utils/workflow-utils.js +0 -48
  850. package/dist/workspace/session-workspace.d.ts +0 -43
  851. package/dist/workspace/session-workspace.js +0 -90
  852. package/dist/workspace/workspace-manager.d.ts +0 -105
  853. package/dist/workspace/workspace-manager.js +0 -280
@@ -1,69 +0,0 @@
1
- /**
2
- * Tool execution layer for the quality-benchmark phase.
3
- *
4
- * Three operations exposed to the rest of the phase (and ultimately to
5
- * the LLM via the MCP server in `mcp-server.ts`):
6
- *
7
- * probeTool(id, ctx) -> { available, version, install_command }
8
- * installTool(id, ctx) -> { installed, version, error }
9
- * executeTool(id, ctx) -> { summary, run, parser_output }
10
- *
11
- * All commands come from the authoritative `TOOL_CATALOG` — callers may
12
- * not pass arbitrary command strings. Outputs are saved to a per-run
13
- * scratch directory so the LLM never has to ferry megabytes of JSON
14
- * through its context; only the small `ParsedToolOutput` flows back.
15
- *
16
- * Safety rails enforced here (in addition to those documented in the
17
- * rubric):
18
- * - All commands run with cwd = repo root (or an explicit override)
19
- * - Per-command timeout; SIGKILL on overrun
20
- * - No sudo / no system package managers (refused at install time)
21
- * - Captured outputs truncated at 16 MiB to bound disk usage
22
- */
23
- import type { InstallerPrereq, ParsedToolOutput, ToolRunOutput, UnavailableTool } from './types.js';
24
- export interface RunnerContext {
25
- /** Absolute path to the repo checkout. */
26
- repo_root: string;
27
- /** Detected package manager (npm/pnpm/yarn) for JS commands. */
28
- package_manager?: string;
29
- /** Per-run scratch dir (created lazily under ~/.edsger/quality-runs/<run-id>). */
30
- scan_dir: string;
31
- /** When false, install attempts are skipped (CLI --no-install). */
32
- install_enabled: boolean;
33
- }
34
- export interface ProbeResult {
35
- available: boolean;
36
- version: string | null;
37
- install_command: string | null;
38
- install_prereq: InstallerPrereq;
39
- reason?: 'not_found' | 'probe_failed';
40
- }
41
- export interface InstallResult {
42
- installed: boolean;
43
- version: string | null;
44
- error?: string;
45
- }
46
- export interface ExecuteResult {
47
- /** Standardised summary for LLM consumption. */
48
- parsed: ParsedToolOutput;
49
- /** Audit/metadata record stored in `quality_reports.tool_outputs`. */
50
- run: ToolRunOutput;
51
- /** True if the runner believes the parser succeeded. */
52
- ok: boolean;
53
- }
54
- export declare function createRunnerContext(opts: {
55
- repo_root: string;
56
- package_manager?: string;
57
- install_enabled?: boolean;
58
- run_id?: string;
59
- /** Override scan dir base (defaults to ~/.edsger/quality-runs). */
60
- base_dir?: string;
61
- }): RunnerContext;
62
- export declare function probeTool(id: string, ctx: RunnerContext): Promise<ProbeResult>;
63
- export declare function probeInstaller(prereq: InstallerPrereq, ctx: RunnerContext): Promise<boolean>;
64
- export declare function installTool(id: string, ctx: RunnerContext): Promise<InstallResult>;
65
- export declare function executeTool(id: string, ctx: RunnerContext): Promise<ExecuteResult>;
66
- /** Convert a failed probe into the UnavailableTool record stored in DB. */
67
- export declare function probeToUnavailable(id: string, probe: ProbeResult, reason: UnavailableTool['reason']): UnavailableTool;
68
- /** Convert an install failure to UnavailableTool. */
69
- export declare function installFailureToUnavailable(id: string, res: InstallResult): UnavailableTool;
@@ -1,399 +0,0 @@
1
- /**
2
- * Tool execution layer for the quality-benchmark phase.
3
- *
4
- * Three operations exposed to the rest of the phase (and ultimately to
5
- * the LLM via the MCP server in `mcp-server.ts`):
6
- *
7
- * probeTool(id, ctx) -> { available, version, install_command }
8
- * installTool(id, ctx) -> { installed, version, error }
9
- * executeTool(id, ctx) -> { summary, run, parser_output }
10
- *
11
- * All commands come from the authoritative `TOOL_CATALOG` — callers may
12
- * not pass arbitrary command strings. Outputs are saved to a per-run
13
- * scratch directory so the LLM never has to ferry megabytes of JSON
14
- * through its context; only the small `ParsedToolOutput` flows back.
15
- *
16
- * Safety rails enforced here (in addition to those documented in the
17
- * rubric):
18
- * - All commands run with cwd = repo root (or an explicit override)
19
- * - Per-command timeout; SIGKILL on overrun
20
- * - No sudo / no system package managers (refused at install time)
21
- * - Captured outputs truncated at 16 MiB to bound disk usage
22
- */
23
- import { spawn } from 'node:child_process';
24
- import { existsSync, mkdirSync, promises as fsp, readFileSync } from 'node:fs';
25
- import { homedir, tmpdir } from 'node:os';
26
- import { join } from 'node:path';
27
- import { parseToolOutput } from './parsers.js';
28
- import { ALL_INSTALL_COMMANDS, TOOL_CATALOG_BY_ID } from './tool-catalog.js';
29
- // ---------------------------------------------------------------------------
30
- // Configuration
31
- // ---------------------------------------------------------------------------
32
- /** Maximum captured stdout/stderr per command (16 MiB). */
33
- const MAX_CAPTURE_BYTES = 16 * 1024 * 1024;
34
- /** Buffer threshold for streaming output to disk — keeps RSS low on huge logs. */
35
- const STREAM_FLUSH_BYTES = 1 * 1024 * 1024;
36
- /** Default timeout for installer commands (5 minutes). */
37
- const INSTALL_TIMEOUT_MS = 5 * 60 * 1000;
38
- /** Probe commands should always be near-instant; clamp to 30 s. */
39
- const PROBE_TIMEOUT_MS = 30 * 1000;
40
- /**
41
- * Forbidden installer patterns. The catalog itself never contains these,
42
- * but we re-check at runtime as a defense in depth — a future PR cannot
43
- * silently introduce `sudo apt install foo`.
44
- */
45
- const FORBIDDEN_INSTALL_PATTERNS = [
46
- /\bsudo\b/i,
47
- /\bapt(-get)?\b/i,
48
- /\bbrew\b/i,
49
- /\byum\b/i,
50
- /\bdnf\b/i,
51
- /\bpacman\b/i,
52
- /\bzypper\b/i,
53
- /\bapk\b/i,
54
- /\bchoco(latey)?\b/i,
55
- /\bscoop\b/i,
56
- /\bwinget\b/i,
57
- ];
58
- /**
59
- * Forbidden flags in tool invocations: anything that mutates the repo.
60
- * Caught on top of catalog whitelisting because future maintainers might
61
- * accidentally introduce `--fix`.
62
- */
63
- const FORBIDDEN_RUN_PATTERNS = [
64
- /\B--fix\b/,
65
- /\B--auto-?fix\b/,
66
- /\B--write\b/,
67
- /\bgit\s+(commit|push|reset\s+--hard|clean\s+-f)/i,
68
- /\brm\s+-rf\s+\//,
69
- ];
70
- // ---------------------------------------------------------------------------
71
- // Scan-dir helpers
72
- // ---------------------------------------------------------------------------
73
- export function createRunnerContext(opts) {
74
- const runId = opts.run_id ?? new Date().toISOString().replace(/[:.]/g, '-');
75
- const base = opts.base_dir ?? join(homedir() || tmpdir(), '.edsger', 'quality-runs');
76
- const scanDir = join(base, runId);
77
- mkdirSync(scanDir, { recursive: true });
78
- return {
79
- repo_root: opts.repo_root,
80
- package_manager: opts.package_manager,
81
- install_enabled: opts.install_enabled ?? true,
82
- scan_dir: scanDir,
83
- };
84
- }
85
- // ---------------------------------------------------------------------------
86
- // Command template resolution
87
- // ---------------------------------------------------------------------------
88
- function resolvePlaceholders(template, ctx) {
89
- return template
90
- .replaceAll('%REPO_ROOT%', ctx.repo_root)
91
- .replaceAll('%PKG_MANAGER%', ctx.package_manager ?? 'npm')
92
- .replaceAll('%SCAN_DIR%', ctx.scan_dir);
93
- }
94
- function getEntry(id) {
95
- const entry = TOOL_CATALOG_BY_ID.get(id);
96
- if (!entry) {
97
- throw new Error(`Unknown tool id: ${id} (not in TOOL_CATALOG)`);
98
- }
99
- return entry;
100
- }
101
- async function runCommand(command, opts) {
102
- const started = Date.now();
103
- const outPath = opts.outputPath ??
104
- join(opts.cwd, `.runner-${Math.random().toString(36).slice(2, 10)}.out`);
105
- const child = spawn('bash', ['-lc', command], {
106
- cwd: opts.cwd,
107
- env: { ...process.env, ...(opts.env ?? {}) },
108
- stdio: ['ignore', 'pipe', 'pipe'],
109
- });
110
- let stdout = '';
111
- let stderr = '';
112
- let stdoutBytes = 0;
113
- let stderrBytes = 0;
114
- let truncatedStdout = false;
115
- // Open file for streaming stdout to disk (audit trail).
116
- const fileHandle = await fsp.open(outPath, 'w');
117
- let bufferedToFlush = '';
118
- const flushBuffer = async () => {
119
- if (bufferedToFlush.length === 0) {
120
- return;
121
- }
122
- await fileHandle.write(bufferedToFlush);
123
- bufferedToFlush = '';
124
- };
125
- child.stdout?.on('data', (chunk) => {
126
- const str = chunk.toString('utf8');
127
- stdoutBytes += chunk.byteLength;
128
- bufferedToFlush += str;
129
- if (bufferedToFlush.length >= STREAM_FLUSH_BYTES) {
130
- void flushBuffer();
131
- }
132
- // Keep in-memory copy bounded
133
- if (!truncatedStdout && stdout.length + str.length <= MAX_CAPTURE_BYTES) {
134
- stdout += str;
135
- }
136
- else if (!truncatedStdout) {
137
- stdout += str.slice(0, MAX_CAPTURE_BYTES - stdout.length);
138
- truncatedStdout = true;
139
- }
140
- });
141
- child.stderr?.on('data', (chunk) => {
142
- const str = chunk.toString('utf8');
143
- stderrBytes += chunk.byteLength;
144
- if (stderr.length + str.length <= MAX_CAPTURE_BYTES) {
145
- stderr += str;
146
- }
147
- else if (stderr.length < MAX_CAPTURE_BYTES) {
148
- stderr += str.slice(0, MAX_CAPTURE_BYTES - stderr.length);
149
- }
150
- });
151
- let timedOut = false;
152
- const timer = setTimeout(() => {
153
- timedOut = true;
154
- child.kill('SIGKILL');
155
- }, opts.timeoutMs);
156
- const closePromise = new Promise((resolve) => {
157
- child.on('close', (code, signal) => {
158
- resolve({ exit_code: code ?? -1, signal });
159
- });
160
- });
161
- const { exit_code, signal } = await closePromise;
162
- clearTimeout(timer);
163
- await flushBuffer();
164
- await fileHandle.close();
165
- return {
166
- stdout,
167
- stderr,
168
- exit_code,
169
- signal,
170
- duration_ms: Date.now() - started,
171
- timed_out: timedOut,
172
- raw_output_path: outPath,
173
- // Audit aids (not used by parsers)
174
- // @ts-expect-error - intentionally extending capture with stats
175
- bytes_captured: { stdout: stdoutBytes, stderr: stderrBytes },
176
- };
177
- }
178
- // ---------------------------------------------------------------------------
179
- // Probing
180
- // ---------------------------------------------------------------------------
181
- /** Extract a version-looking token from a probe command's output. */
182
- function extractVersion(out) {
183
- const m = out.match(/v?(\d+\.\d+(?:\.\d+)?(?:[-+][\w.-]+)?)/);
184
- return m ? m[1] : null;
185
- }
186
- export async function probeTool(id, ctx) {
187
- const entry = getEntry(id);
188
- const cmd = resolvePlaceholders(entry.probe, ctx);
189
- const cap = await runCommand(cmd, {
190
- cwd: ctx.repo_root,
191
- timeoutMs: PROBE_TIMEOUT_MS,
192
- });
193
- // `command -v` returns non-zero when not found; combined probes that run
194
- // both `command -v X` and `X --version` need an exit-zero check.
195
- if (cap.timed_out || cap.exit_code !== 0) {
196
- return {
197
- available: false,
198
- version: null,
199
- install_command: entry.install,
200
- install_prereq: entry.install_prereq,
201
- reason: cap.timed_out ? 'probe_failed' : 'not_found',
202
- };
203
- }
204
- const version = extractVersion(cap.stdout) ?? extractVersion(cap.stderr);
205
- return {
206
- available: true,
207
- version,
208
- install_command: entry.install,
209
- install_prereq: entry.install_prereq,
210
- };
211
- }
212
- export async function probeInstaller(prereq, ctx) {
213
- if (prereq === null) {
214
- return true;
215
- }
216
- const probeMap = {
217
- pipx: 'command -v pipx',
218
- go: 'command -v go',
219
- cargo: 'command -v cargo',
220
- npx: 'command -v npx',
221
- gem: 'command -v gem',
222
- };
223
- const cap = await runCommand(probeMap[prereq], {
224
- cwd: ctx.repo_root,
225
- timeoutMs: PROBE_TIMEOUT_MS,
226
- });
227
- return cap.exit_code === 0;
228
- }
229
- // ---------------------------------------------------------------------------
230
- // Installing
231
- // ---------------------------------------------------------------------------
232
- function assertInstallSafe(cmd) {
233
- // Whitelist: must be byte-for-byte in the catalog. Defense in depth.
234
- if (!ALL_INSTALL_COMMANDS.includes(cmd)) {
235
- throw new Error(`Refused install command not present in TOOL_CATALOG: ${cmd.slice(0, 80)}`);
236
- }
237
- for (const pat of FORBIDDEN_INSTALL_PATTERNS) {
238
- if (pat.test(cmd)) {
239
- throw new Error(`Refused install command matching forbidden pattern ${String(pat)}: ${cmd.slice(0, 80)}`);
240
- }
241
- }
242
- }
243
- export async function installTool(id, ctx) {
244
- const entry = getEntry(id);
245
- if (!entry.install) {
246
- return { installed: false, version: null, error: 'no_install_command' };
247
- }
248
- if (!ctx.install_enabled) {
249
- return { installed: false, version: null, error: 'install_disabled' };
250
- }
251
- const prereqOk = await probeInstaller(entry.install_prereq, ctx);
252
- if (!prereqOk) {
253
- return {
254
- installed: false,
255
- version: null,
256
- error: `prereq_missing: ${entry.install_prereq}`,
257
- };
258
- }
259
- assertInstallSafe(entry.install);
260
- const cap = await runCommand(entry.install, {
261
- cwd: ctx.repo_root,
262
- timeoutMs: INSTALL_TIMEOUT_MS,
263
- });
264
- if (cap.exit_code !== 0 || cap.timed_out) {
265
- return {
266
- installed: false,
267
- version: null,
268
- error: tailString(cap.stderr || cap.stdout, 500),
269
- };
270
- }
271
- // Re-probe to confirm installation took
272
- const re = await probeTool(id, ctx);
273
- return {
274
- installed: re.available,
275
- version: re.version,
276
- error: re.available ? undefined : 'reprobe_failed',
277
- };
278
- }
279
- // ---------------------------------------------------------------------------
280
- // Executing
281
- // ---------------------------------------------------------------------------
282
- function assertRunSafe(cmd) {
283
- for (const pat of FORBIDDEN_RUN_PATTERNS) {
284
- if (pat.test(cmd)) {
285
- throw new Error(`Refused run command matching forbidden pattern ${String(pat)}: ${cmd.slice(0, 120)}`);
286
- }
287
- }
288
- }
289
- function buildParserContext(ctx) {
290
- return { repo_root: ctx.repo_root };
291
- }
292
- function nowIso() {
293
- return new Date().toISOString();
294
- }
295
- function tailString(s, n) {
296
- if (!s) {
297
- return '';
298
- }
299
- return s.length <= n ? s : s.slice(-n);
300
- }
301
- export async function executeTool(id, ctx) {
302
- const entry = getEntry(id);
303
- const cmd = resolvePlaceholders(entry.command, ctx);
304
- assertRunSafe(cmd);
305
- const outPath = join(ctx.scan_dir, `${entry.id}.out`);
306
- const ranAt = nowIso();
307
- const cap = await runCommand(cmd, {
308
- cwd: ctx.repo_root,
309
- timeoutMs: entry.timeout_minutes * 60 * 1000,
310
- outputPath: outPath,
311
- });
312
- // Some tools genuinely succeed with non-zero exit (e.g. linters with findings).
313
- const isOk = !cap.timed_out &&
314
- (cap.exit_code === 0 ||
315
- (entry.tolerate_nonzero_exit === true && cap.stdout.length > 0));
316
- // If output was streamed to disk and the in-memory copy was truncated,
317
- // re-read the head of the file for parsing.
318
- const stdoutForParser = cap.stdout.length > 0 ? cap.stdout : safeReadHead(outPath);
319
- const parsed = isOk
320
- ? parseToolOutput(id, stdoutForParser, cap.stderr, buildParserContext(ctx))
321
- : {
322
- tool_id: id,
323
- summary: {
324
- tier: 'counts',
325
- counts: { errors: 0, warnings: 0, info: 0 },
326
- },
327
- oneliner: cap.timed_out
328
- ? `timed out after ${entry.timeout_minutes}m`
329
- : `exit ${cap.exit_code}`,
330
- };
331
- const run = {
332
- tool_id: id,
333
- ran_at: ranAt,
334
- duration_ms: cap.duration_ms,
335
- exit_code: cap.exit_code,
336
- findings_count: findingsCount(parsed),
337
- summary: parsed.oneliner,
338
- parsed: isOk,
339
- stderr_tail: isOk ? undefined : tailString(cap.stderr, 500),
340
- raw_output_path: outPath,
341
- };
342
- return { parsed, run, ok: isOk };
343
- }
344
- function findingsCount(p) {
345
- switch (p.summary.tier) {
346
- case 'counts':
347
- return p.summary.counts.errors + p.summary.counts.warnings;
348
- case 'findings':
349
- return p.summary.counts.total;
350
- case 'metrics':
351
- return 0;
352
- default:
353
- return 0;
354
- }
355
- }
356
- function safeReadHead(path, maxBytes = MAX_CAPTURE_BYTES) {
357
- try {
358
- if (!existsSync(path)) {
359
- return '';
360
- }
361
- const buf = readFileSync(path);
362
- const slice = buf.byteLength <= maxBytes ? buf : buf.subarray(0, maxBytes);
363
- return slice.toString('utf8');
364
- }
365
- catch {
366
- return '';
367
- }
368
- }
369
- // ---------------------------------------------------------------------------
370
- // Helpers exported for the MCP server / phase index
371
- // ---------------------------------------------------------------------------
372
- /** Convert a failed probe into the UnavailableTool record stored in DB. */
373
- export function probeToUnavailable(id, probe, reason) {
374
- const entry = TOOL_CATALOG_BY_ID.get(id);
375
- return {
376
- name: id,
377
- category: entry?.category ?? 'lint',
378
- install_command: probe.install_command,
379
- reason,
380
- };
381
- }
382
- /** Convert an install failure to UnavailableTool. */
383
- export function installFailureToUnavailable(id, res) {
384
- const entry = TOOL_CATALOG_BY_ID.get(id);
385
- let reason = 'install_failed';
386
- if (res.error?.startsWith('prereq_missing')) {
387
- reason = 'prereq_missing';
388
- }
389
- else if (res.error === 'install_disabled') {
390
- reason = 'install_disabled';
391
- }
392
- return {
393
- name: id,
394
- category: entry?.category ?? 'lint',
395
- install_command: entry?.install ?? null,
396
- reason,
397
- detail: res.error,
398
- };
399
- }