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,9 +0,0 @@
1
- import { resolveSkill } from '../../services/skill-resolver.js';
2
- import { OUTPUT_CONTRACTS } from '../output-contracts.js';
3
- export const createBugFixingSystemPrompt = async (_config, projectDir) => {
4
- const skill = await resolveSkill('phase/bug-fixing', { projectDir });
5
- if (!skill) {
6
- throw new Error('Failed to load skill: phase/bug-fixing');
7
- }
8
- return `${skill.prompt}\n\n${OUTPUT_CONTRACTS['bug-fixing']}`;
9
- };
@@ -1,38 +0,0 @@
1
- /**
2
- * Build context for the chat AI processor.
3
- * Fetches issue state, user stories, test cases, and recent chat history.
4
- */
5
- import type { ChatMessage } from '../../types/index.js';
6
- export interface ChatProcessorContext {
7
- issueId: string;
8
- productId: string;
9
- issueDescription: string;
10
- issueStatus: string;
11
- executionMode: string;
12
- workflow: {
13
- phase: string;
14
- status: string;
15
- }[];
16
- userStories: {
17
- id: string;
18
- title: string;
19
- description: string;
20
- status: string;
21
- }[];
22
- testCases: {
23
- id: string;
24
- name: string;
25
- description: string;
26
- is_critical: boolean;
27
- }[];
28
- recentChatMessages: ChatMessage[];
29
- channelId: string;
30
- }
31
- /**
32
- * Build the full context for the chat AI to process a message.
33
- */
34
- export declare function buildChatContext(issueId: string, channelId: string, verbose?: boolean): Promise<ChatProcessorContext>;
35
- /**
36
- * Format context into a string for the AI system prompt.
37
- */
38
- export declare function formatContextForAI(context: ChatProcessorContext): string;
@@ -1,91 +0,0 @@
1
- /**
2
- * Build context for the chat AI processor.
3
- * Fetches issue state, user stories, test cases, and recent chat history.
4
- */
5
- import { listChatMessages } from '../../api/chat.js';
6
- import { callMcpEndpoint } from '../../api/mcp-client.js';
7
- /**
8
- * Build the full context for the chat AI to process a message.
9
- */
10
- export async function buildChatContext(issueId, channelId, verbose) {
11
- // Fetch issue, user stories, and test cases in parallel
12
- const [issueResult, storiesResult, testCasesResult, recentMessages] = await Promise.all([
13
- callMcpEndpoint('issues/get', {
14
- issue_id: issueId,
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- }),
17
- callMcpEndpoint('user_stories/list', {
18
- issue_id: issueId,
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- }),
21
- callMcpEndpoint('test_cases/list', {
22
- issue_id: issueId,
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- }),
25
- listChatMessages(channelId, { limit: 20 }, verbose),
26
- ]);
27
- const issue = issueResult?.issues?.[0] || {};
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- const userStories = (storiesResult?.user_stories || []).map((s) => ({
30
- id: s.id,
31
- title: s.title,
32
- description: s.description,
33
- status: s.status,
34
- }));
35
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
- const testCases = (testCasesResult?.test_cases || []).map((t) => ({
37
- id: t.id,
38
- name: t.name,
39
- description: t.description,
40
- is_critical: t.is_critical,
41
- }));
42
- return {
43
- issueId,
44
- productId: issue.product_id || '',
45
- issueDescription: `${issue.name || 'Unknown'}: ${issue.description || 'No description'}`,
46
- issueStatus: issue.status || 'unknown',
47
- executionMode: issue.execution_mode || 'unknown',
48
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- workflow: (issue.workflow || []).map((p) => ({
50
- phase: p.phase,
51
- status: p.status,
52
- })),
53
- userStories,
54
- testCases,
55
- recentChatMessages: recentMessages,
56
- channelId,
57
- };
58
- }
59
- /**
60
- * Format context into a string for the AI system prompt.
61
- */
62
- export function formatContextForAI(context) {
63
- const parts = [
64
- `## Issue: ${context.issueDescription}`,
65
- `**Status:** ${context.issueStatus}`,
66
- `**Execution Mode:** ${context.executionMode}`,
67
- '',
68
- '## Workflow Phases',
69
- ...context.workflow.map((p) => `- ${p.phase}: ${p.status}`),
70
- '',
71
- `## User Stories (${context.userStories.length})`,
72
- ];
73
- if (context.userStories.length > 0) {
74
- for (const story of context.userStories) {
75
- parts.push(`- [${story.status}] ${story.title}: ${story.description.slice(0, 100)}`);
76
- }
77
- }
78
- else {
79
- parts.push('- (none yet)');
80
- }
81
- parts.push('', `## Test Cases (${context.testCases.length})`);
82
- if (context.testCases.length > 0) {
83
- for (const tc of context.testCases) {
84
- parts.push(`- ${tc.is_critical ? '[CRITICAL] ' : ''}${tc.name}: ${tc.description.slice(0, 100)}`);
85
- }
86
- }
87
- else {
88
- parts.push('- (none yet)');
89
- }
90
- return parts.join('\n');
91
- }
@@ -1,49 +0,0 @@
1
- /**
2
- * Chat processor — the AI brain for handling chat messages.
3
- *
4
- * Uses Claude Agent SDK session resumption for conversation continuity.
5
- * Each channel maintains a persistent session ID. New messages resume
6
- * the same session so the AI naturally remembers the full conversation
7
- * history without re-stuffing context into the prompt each time.
8
- *
9
- * Two modes of operation:
10
- * 1. processHumanMessages() — Respond to human messages (resumes session)
11
- * 2. processPhaseCompletion() — Generate next-step suggestions (resumes session)
12
- */
13
- import type { ChatMessage, EdsgerConfig } from '../../types/index.js';
14
- /**
15
- * Get the stored session ID for a channel, if any.
16
- */
17
- export declare function getChannelSessionId(channelId: string): string | undefined;
18
- /**
19
- * Clear a channel's session (e.g., on issue reset).
20
- */
21
- export declare function clearChannelSession(channelId: string): void;
22
- /**
23
- * Process one or more human messages by resuming the channel's session.
24
- * On first call: creates a new session with full context in the system prompt.
25
- * On subsequent calls: resumes the session — AI already has conversation history.
26
- *
27
- * Returns the session ID (callers should track this if needed).
28
- */
29
- export declare function processHumanMessages(messages: ChatMessage[], issueId: string, config: EdsgerConfig, verbose?: boolean, repoPath?: string): Promise<string | undefined>;
30
- /**
31
- * Process one or more human messages from a product channel.
32
- * Same session resumption pattern as issue chat, but uses
33
- * product context, product prompt, and product tools.
34
- */
35
- export declare function processProductHumanMessages(messages: ChatMessage[], productId: string, config: EdsgerConfig, verbose?: boolean): Promise<string | undefined>;
36
- /**
37
- * Process a phase completion event: analyze output and suggest next steps.
38
- * Resumes the same channel session so AI has full conversation context.
39
- */
40
- export interface ProcessPhaseCompletionOptions {
41
- issueId: string;
42
- phase: string;
43
- summary: string;
44
- phaseOutput: unknown;
45
- config: EdsgerConfig;
46
- verbose?: boolean;
47
- repoPath?: string;
48
- }
49
- export declare function processPhaseCompletion(opts: ProcessPhaseCompletionOptions): Promise<void>;
@@ -1,482 +0,0 @@
1
- /**
2
- * Chat processor — the AI brain for handling chat messages.
3
- *
4
- * Uses Claude Agent SDK session resumption for conversation continuity.
5
- * Each channel maintains a persistent session ID. New messages resume
6
- * the same session so the AI naturally remembers the full conversation
7
- * history without re-stuffing context into the prompt each time.
8
- *
9
- * Two modes of operation:
10
- * 1. processHumanMessages() — Respond to human messages (resumes session)
11
- * 2. processPhaseCompletion() — Generate next-step suggestions (resumes session)
12
- */
13
- import { query } from '@anthropic-ai/claude-agent-sdk';
14
- import { getIssueChannel, listChatMessages, markMessageProcessed, sendAiMessage, sendSystemMessage, } from '../../api/chat.js';
15
- import { DEFAULT_MODEL } from '../../constants.js';
16
- import { logDebug, logError, logInfo } from '../../utils/logger.js';
17
- import { buildChatContext, formatContextForAI } from './context.js';
18
- import { buildProductChatContext, formatProductContextForAI, } from './product-context.js';
19
- import { PRODUCT_CHAT_RESPONSE_PROMPT } from './product-prompts.js';
20
- import { createProductChatMcpServer } from './product-tools.js';
21
- import { buildNextStepAdvisorMessage, CHAT_RESPONSE_PROMPT, NEXT_STEP_ADVISOR_PROMPT, } from './prompts.js';
22
- import { createChatMcpServer } from './tools.js';
23
- // ============================================================
24
- // Session Management
25
- // ============================================================
26
- // channelId → SDK session ID (persisted to disk by the SDK)
27
- const channelSessions = new Map();
28
- /**
29
- * Get the stored session ID for a channel, if any.
30
- */
31
- export function getChannelSessionId(channelId) {
32
- return channelSessions.get(channelId);
33
- }
34
- /**
35
- * Clear a channel's session (e.g., on issue reset).
36
- */
37
- export function clearChannelSession(channelId) {
38
- channelSessions.delete(channelId);
39
- }
40
- // ============================================================
41
- // Message Processing
42
- // ============================================================
43
- /**
44
- * Process one or more human messages by resuming the channel's session.
45
- * On first call: creates a new session with full context in the system prompt.
46
- * On subsequent calls: resumes the session — AI already has conversation history.
47
- *
48
- * Returns the session ID (callers should track this if needed).
49
- */
50
- export async function processHumanMessages(messages, issueId, config, verbose, repoPath) {
51
- if (messages.length === 0) {
52
- return undefined;
53
- }
54
- const channelId = messages[0].channel_id;
55
- const existingSessionId = channelSessions.get(channelId);
56
- if (verbose) {
57
- logInfo(`Processing ${messages.length} message(s) for channel ${channelId}${existingSessionId
58
- ? ` (resuming session ${existingSessionId})`
59
- : ' (new session)'}`);
60
- }
61
- try {
62
- // Build the user prompt — just the message content
63
- const messageParts = messages.map((m, i) => {
64
- if (messages.length === 1) {
65
- return m.content;
66
- }
67
- return `[Message ${i + 1} from ${m.sender_name}]: ${m.content}`;
68
- });
69
- const userPrompt = messageParts.join('\n\n');
70
- // On first message: include full context + chat history so the session
71
- // starts informed (covers CLI restart where in-memory session is lost).
72
- // On resume: just send the new message — the session already has context.
73
- let fullPrompt;
74
- if (!existingSessionId) {
75
- const context = await buildChatContext(issueId, channelId, verbose);
76
- const contextStr = formatContextForAI(context);
77
- // Load recent chat history so the AI has conversational continuity
78
- const recentMessages = await listChatMessages(channelId, { limit: 30 }, verbose);
79
- // Exclude the messages we're about to process (they'll be in userPrompt)
80
- const currentIds = new Set(messages.map((m) => m.id));
81
- const historyMessages = recentMessages.filter((m) => !currentIds.has(m.id));
82
- let historySection = '';
83
- if (historyMessages.length > 0) {
84
- const historyLines = historyMessages.map((m) => {
85
- const nonAiRole = m.sender_type === 'system' ? 'System' : m.sender_name || 'User';
86
- const role = m.sender_type === 'ai' ? 'AI' : nonAiRole;
87
- return `[${role}]: ${m.content}`;
88
- });
89
- historySection = [
90
- `## Previous Chat History`,
91
- `The following is the recent conversation history in this channel. Continue the conversation naturally.`,
92
- '',
93
- ...historyLines,
94
- '',
95
- ].join('\n');
96
- }
97
- fullPrompt = [
98
- `## Current Issue Context`,
99
- contextStr,
100
- '',
101
- `## Channel ID: ${channelId}`,
102
- `## Issue ID: ${issueId}`,
103
- `## Product ID: ${context.productId}`,
104
- '',
105
- historySection,
106
- `## Human Message`,
107
- userPrompt,
108
- '',
109
- `Respond to this message. Use tools if you need to take actions. Always respond in the chat using the send_chat_message tool.`,
110
- ].join('\n');
111
- }
112
- else {
113
- fullPrompt = userPrompt;
114
- }
115
- // Run the agent (with resume if we have a session)
116
- const result = await runChatAgent({
117
- systemPrompt: CHAT_RESPONSE_PROMPT,
118
- userPrompt: fullPrompt,
119
- config,
120
- resumeSessionId: existingSessionId,
121
- verbose,
122
- cwd: repoPath,
123
- });
124
- // Store the session ID for future resumption
125
- if (result.sessionId) {
126
- channelSessions.set(channelId, result.sessionId);
127
- }
128
- // If the agent didn't send a message via tools, send the response text
129
- const sentViaTool = result.toolsUsed.has('mcp__edsger-chat__send_chat_message');
130
- if (result.text && !sentViaTool) {
131
- await sendAiMessage(channelId, result.text, {
132
- in_response_to: messages[messages.length - 1].id,
133
- });
134
- }
135
- // Mark all messages as processed
136
- for (const message of messages) {
137
- await markMessageProcessed(message.id, verbose);
138
- }
139
- if (verbose) {
140
- logInfo(`All ${messages.length} message(s) processed successfully`);
141
- }
142
- return result.sessionId;
143
- }
144
- catch (error) {
145
- const msg = error instanceof Error ? error.message : String(error);
146
- logError(`Failed to process messages: ${msg}`);
147
- // If resume fails (e.g., corrupted session), clear and retry without resume
148
- if (existingSessionId) {
149
- logInfo(`Clearing session ${existingSessionId} and retrying without resume`);
150
- channelSessions.delete(channelId);
151
- return processHumanMessages(messages, issueId, config, verbose, repoPath);
152
- }
153
- // Send error message to chat
154
- try {
155
- await sendAiMessage(channelId, `Sorry, I encountered an error processing your message: ${msg}`, {
156
- error: true,
157
- });
158
- }
159
- catch {
160
- // Ignore error sending error message
161
- }
162
- // Mark all as processed to avoid infinite retry loops
163
- for (const message of messages) {
164
- await markMessageProcessed(message.id, verbose);
165
- }
166
- return undefined;
167
- }
168
- }
169
- /**
170
- * Process one or more human messages from a product channel.
171
- * Same session resumption pattern as issue chat, but uses
172
- * product context, product prompt, and product tools.
173
- */
174
- export async function processProductHumanMessages(messages, productId, config, verbose) {
175
- if (messages.length === 0) {
176
- return undefined;
177
- }
178
- const channelId = messages[0].channel_id;
179
- const existingSessionId = channelSessions.get(channelId);
180
- if (verbose) {
181
- logInfo(`Processing ${messages.length} product message(s) for channel ${channelId}${existingSessionId
182
- ? ` (resuming session ${existingSessionId})`
183
- : ' (new session)'}`);
184
- }
185
- try {
186
- // Build the user prompt
187
- const messageParts = messages.map((m, i) => {
188
- if (messages.length === 1) {
189
- return m.content;
190
- }
191
- return `[Message ${i + 1} from ${m.sender_name}]: ${m.content}`;
192
- });
193
- const userPrompt = messageParts.join('\n\n');
194
- let fullPrompt;
195
- if (!existingSessionId) {
196
- const context = await buildProductChatContext(productId, channelId, verbose);
197
- const contextStr = formatProductContextForAI(context);
198
- // Load recent chat history
199
- const recentMessages = await listChatMessages(channelId, { limit: 30 }, verbose);
200
- const currentIds = new Set(messages.map((m) => m.id));
201
- const historyMessages = recentMessages.filter((m) => !currentIds.has(m.id));
202
- let historySection = '';
203
- if (historyMessages.length > 0) {
204
- const historyLines = historyMessages.map((m) => {
205
- const nonAiRole = m.sender_type === 'system' ? 'System' : m.sender_name || 'User';
206
- const role = m.sender_type === 'ai' ? 'AI' : nonAiRole;
207
- return `[${role}]: ${m.content}`;
208
- });
209
- historySection = [
210
- `## Previous Chat History`,
211
- `The following is the recent conversation history in this channel. Continue the conversation naturally.`,
212
- '',
213
- ...historyLines,
214
- '',
215
- ].join('\n');
216
- }
217
- fullPrompt = [
218
- `## Current Product Context`,
219
- contextStr,
220
- '',
221
- `## Channel ID: ${channelId}`,
222
- `## Product ID: ${productId}`,
223
- '',
224
- historySection,
225
- `## Human Message`,
226
- userPrompt,
227
- '',
228
- `Respond to this message. Use tools if you need to take actions. Always respond in the chat using the send_chat_message tool.`,
229
- ].join('\n');
230
- }
231
- else {
232
- fullPrompt = userPrompt;
233
- }
234
- // Run the agent with product tools (no cwd — product chat doesn't operate on a repo)
235
- const result = await runProductChatAgent(PRODUCT_CHAT_RESPONSE_PROMPT, fullPrompt, config, existingSessionId, verbose);
236
- if (result.sessionId) {
237
- channelSessions.set(channelId, result.sessionId);
238
- }
239
- const sentViaTool = result.toolsUsed.has('mcp__edsger-product-chat__send_chat_message');
240
- if (result.text && !sentViaTool) {
241
- await sendAiMessage(channelId, result.text, {
242
- in_response_to: messages[messages.length - 1].id,
243
- });
244
- }
245
- for (const message of messages) {
246
- await markMessageProcessed(message.id, verbose);
247
- }
248
- if (verbose) {
249
- logInfo(`All ${messages.length} product message(s) processed successfully`);
250
- }
251
- return result.sessionId;
252
- }
253
- catch (error) {
254
- const msg = error instanceof Error ? error.message : String(error);
255
- logError(`Failed to process product messages: ${msg}`);
256
- if (existingSessionId) {
257
- logInfo(`Clearing session ${existingSessionId} and retrying without resume`);
258
- channelSessions.delete(channelId);
259
- return processProductHumanMessages(messages, productId, config, verbose);
260
- }
261
- try {
262
- await sendAiMessage(channelId, `Sorry, I encountered an error processing your message: ${msg}`, {
263
- error: true,
264
- });
265
- }
266
- catch {
267
- // Ignore error sending error message
268
- }
269
- for (const message of messages) {
270
- await markMessageProcessed(message.id, verbose);
271
- }
272
- return undefined;
273
- }
274
- }
275
- export async function processPhaseCompletion(opts) {
276
- const { issueId, phase, summary, phaseOutput, config, verbose, repoPath } = opts;
277
- if (verbose) {
278
- logInfo(`Processing phase completion: ${phase} for issue ${issueId}`);
279
- }
280
- try {
281
- // Get or create the issue's channel
282
- const channel = await getIssueChannel(issueId, verbose);
283
- const channelId = channel.id;
284
- const existingSessionId = channelSessions.get(channelId);
285
- // Step 1: Write system message (factual, immediate)
286
- await sendSystemMessage(channelId, `Phase "${phase}" completed.`, { phase, status: 'completed', summary }, verbose);
287
- // Step 2: Build the advisor prompt
288
- const context = await buildChatContext(issueId, channelId, verbose);
289
- const recentMessages = await listChatMessages(channelId, { limit: 10 }, verbose);
290
- const remainingPhases = context.workflow
291
- .filter((p) => p.status === 'pending')
292
- .map((p) => p.phase);
293
- const advisorMessage = buildNextStepAdvisorMessage({
294
- issueDescription: context.issueDescription,
295
- completedPhase: phase,
296
- summary,
297
- phaseOutput,
298
- remainingPhases,
299
- userStoriesCount: context.userStories.length,
300
- testCasesCount: context.testCases.length,
301
- recentChatMessages: recentMessages.map((m) => ({
302
- sender_type: m.sender_type,
303
- content: m.content,
304
- })),
305
- });
306
- // If this is the first interaction on this channel, include full context
307
- let fullPrompt;
308
- if (!existingSessionId) {
309
- const contextStr = formatContextForAI(context);
310
- fullPrompt = [
311
- `## Current Issue Context`,
312
- contextStr,
313
- '',
314
- `## Channel ID: ${channelId}`,
315
- `## Issue ID: ${issueId}`,
316
- `## Product ID: ${context.productId}`,
317
- '',
318
- advisorMessage,
319
- '',
320
- `Analyze the completed phase and suggest next steps. Use the provide_options tool to present actionable choices to the user.`,
321
- ].join('\n');
322
- }
323
- else {
324
- fullPrompt = [
325
- advisorMessage,
326
- '',
327
- `Analyze the completed phase and suggest next steps. Use the provide_options tool to present actionable choices to the user.`,
328
- ].join('\n');
329
- }
330
- // Use NEXT_STEP_ADVISOR_PROMPT for the system prompt on new sessions,
331
- // but on resume the system prompt from the original session persists.
332
- // We still pass the advisor prompt — the SDK will use it for new sessions
333
- // and ignore it for resumed ones (system prompt is fixed at session creation).
334
- const result = await runChatAgent({
335
- systemPrompt: existingSessionId
336
- ? CHAT_RESPONSE_PROMPT
337
- : NEXT_STEP_ADVISOR_PROMPT,
338
- userPrompt: fullPrompt,
339
- config,
340
- resumeSessionId: existingSessionId,
341
- verbose,
342
- cwd: repoPath,
343
- });
344
- // Store session ID
345
- if (result.sessionId) {
346
- channelSessions.set(channelId, result.sessionId);
347
- }
348
- // If the agent didn't send a message via tools, send the raw response
349
- const sentMessage = result.toolsUsed.has('mcp__edsger-chat__send_chat_message');
350
- const sentOptions = result.toolsUsed.has('mcp__edsger-chat__provide_options');
351
- if (result.text && !sentMessage && !sentOptions) {
352
- await sendAiMessage(channelId, result.text, {
353
- phase_completion_suggestion: true,
354
- phase,
355
- });
356
- }
357
- if (verbose) {
358
- logInfo(`Phase completion processed for ${phase}`);
359
- }
360
- }
361
- catch (error) {
362
- const msg = error instanceof Error ? error.message : String(error);
363
- logError(`Failed to process phase completion for ${phase}: ${msg}`);
364
- }
365
- }
366
- function userMessage(content) {
367
- return {
368
- type: 'user',
369
- message: { role: 'user', content },
370
- };
371
- }
372
- // eslint-disable-next-line @typescript-eslint/require-await -- async generator required by SDK interface
373
- async function* prompt(userContent) {
374
- yield userMessage(userContent);
375
- }
376
- async function runChatAgent(opts) {
377
- const { systemPrompt, userPrompt, config: _config, resumeSessionId, verbose, cwd, } = opts;
378
- let lastAssistantResponse = '';
379
- const toolUsed = new Set();
380
- let sessionId;
381
- // Create the in-process MCP server with our chat tools
382
- const chatMcpServer = createChatMcpServer();
383
- for await (const message of query({
384
- prompt: prompt(userPrompt),
385
- options: {
386
- systemPrompt: {
387
- type: 'preset',
388
- preset: 'claude_code',
389
- append: systemPrompt,
390
- },
391
- model: DEFAULT_MODEL,
392
- maxTurns: 20,
393
- permissionMode: 'bypassPermissions',
394
- mcpServers: {
395
- 'edsger-chat': chatMcpServer,
396
- },
397
- ...(cwd ? { cwd } : {}),
398
- ...(resumeSessionId ? { resume: resumeSessionId } : {}),
399
- },
400
- })) {
401
- // Capture session ID from any message
402
- if (message.session_id && !sessionId) {
403
- sessionId = message.session_id;
404
- }
405
- if (message.type === 'assistant' && message.message?.content) {
406
- for (const content of message.message.content) {
407
- if (content.type === 'text') {
408
- lastAssistantResponse += `${content.text}\n`;
409
- logDebug(`🤖 ${content.text}`, verbose);
410
- }
411
- else if (content.type === 'tool_use') {
412
- toolUsed.add(content.name);
413
- logDebug(`🔧 Tool: ${content.name}`, verbose);
414
- }
415
- }
416
- }
417
- if (message.type === 'result') {
418
- if (verbose) {
419
- logInfo(`Chat agent completed: ${message.subtype}`);
420
- }
421
- }
422
- }
423
- return {
424
- text: lastAssistantResponse.trim(),
425
- sessionId,
426
- toolsUsed: toolUsed,
427
- };
428
- }
429
- /**
430
- * Run the Claude Agent SDK with product chat MCP tools.
431
- * Same as runChatAgent but uses product-level tools instead of issue-level tools.
432
- * No cwd parameter since product chat doesn't operate on a specific repo.
433
- */
434
- async function runProductChatAgent(systemPrompt, userPrompt, config, resumeSessionId, verbose) {
435
- let lastAssistantResponse = '';
436
- const toolUsed = new Set();
437
- let sessionId;
438
- const productChatMcpServer = createProductChatMcpServer();
439
- for await (const message of query({
440
- prompt: prompt(userPrompt),
441
- options: {
442
- systemPrompt: {
443
- type: 'preset',
444
- preset: 'claude_code',
445
- append: systemPrompt,
446
- },
447
- model: DEFAULT_MODEL,
448
- maxTurns: 20,
449
- permissionMode: 'bypassPermissions',
450
- mcpServers: {
451
- 'edsger-product-chat': productChatMcpServer,
452
- },
453
- ...(resumeSessionId ? { resume: resumeSessionId } : {}),
454
- },
455
- })) {
456
- if (message.session_id && !sessionId) {
457
- sessionId = message.session_id;
458
- }
459
- if (message.type === 'assistant' && message.message?.content) {
460
- for (const content of message.message.content) {
461
- if (content.type === 'text') {
462
- lastAssistantResponse += `${content.text}\n`;
463
- logDebug(`🤖 ${content.text}`, verbose);
464
- }
465
- else if (content.type === 'tool_use') {
466
- toolUsed.add(content.name);
467
- logDebug(`🔧 Tool: ${content.name}`, verbose);
468
- }
469
- }
470
- }
471
- if (message.type === 'result') {
472
- if (verbose) {
473
- logInfo(`Product chat agent completed: ${message.subtype}`);
474
- }
475
- }
476
- }
477
- return {
478
- text: lastAssistantResponse.trim(),
479
- sessionId,
480
- toolsUsed: toolUsed,
481
- };
482
- }