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,358 +0,0 @@
1
- /**
2
- * Recipes phase: clone the product's repo, ask Claude to identify each
3
- * non-trivial capability the product implements, and persist HOW it's built
4
- * via the recipes / product_recipes tables.
5
- *
6
- * Production-grade behaviours layered on top of the basic agent loop:
7
- *
8
- * - Heartbeat: `last_heartbeat_at` on the recipe_scans row is refreshed
9
- * on every assistant message so the reader can detect stalled / crashed
10
- * runs (see desktop-app/.../services/db/recipe-scans.ts for the lazy
11
- * reaper).
12
- * - Cancellation-safe writes: markRunning / markSuccess / markFailed only
13
- * touch rows whose status is in {pending, running}. If the user clicked
14
- * Stop and the row is now 'cancelled', the final write no-ops.
15
- * - Per-call MCP writes: agent commits each create / update / link /
16
- * unlink as it goes. There is no "submit at the end" buffer — partial
17
- * progress survives even if the agent later errors out.
18
- */
19
- import { query } from '@anthropic-ai/claude-agent-sdk';
20
- import { getGitHubConfigByProduct, getGitHubConfigByRepository, getRepositoryBasics, } from '../../api/github.js';
21
- import { DEFAULT_MODEL } from '../../constants.js';
22
- import { getSupabase } from '../../supabase/client.js';
23
- import { logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
24
- import { cleanupIssueRepo, cloneIssueRepo, ensureWorkspaceDir, } from '../../workspace/workspace-manager.js';
25
- import { fetchProductBasics } from '../find-shared/mcp.js';
26
- import { createPromptGenerator, extractTextFromContent, } from '../pr-shared/agent-utils.js';
27
- import { createRecipesMcpServer, createRecipesMutationCounts, } from './mcp-server.js';
28
- import { createRecipesSystemPrompt, createRecipesUserPrompt, } from './prompts.js';
29
- const WORKSPACE_KEY = 'recipes';
30
- const MAX_TURNS = 200;
31
- // Heartbeat cadence: at most one DB write per HEARTBEAT_MIN_INTERVAL_MS.
32
- // Triggered on every assistant message so a stalled agent (no messages
33
- // flowing) lets the row go stale and the reader can mark it failed.
34
- const HEARTBEAT_MIN_INTERVAL_MS = 15_000;
35
- export async function runRecipesPhase(options) {
36
- const { productId, repoId, scanId, guidance, verbose } = options;
37
- const repoOnly = !productId && Boolean(repoId);
38
- if (productId) {
39
- logInfo(`Starting recipes scan for product ${productId}`);
40
- }
41
- else {
42
- logInfo(`Starting recipes scan for repository ${repoId}`);
43
- }
44
- const supabase = getSupabase();
45
- const claimed = await markRunning(supabase, scanId);
46
- if (!claimed) {
47
- return {
48
- status: 'cancelled',
49
- message: 'Recipe scan row is no longer in a runnable state (likely cancelled before the CLI started)',
50
- };
51
- }
52
- // Resolve the team (recipes are team-scoped) + repo basics. In repo-only
53
- // mode both come off the repositories row; in product mode from the product.
54
- let teamId;
55
- let repoBasics = {
56
- fullName: null,
57
- description: null,
58
- };
59
- if (repoOnly) {
60
- const basics = await getRepositoryBasics(repoId);
61
- teamId = basics.teamId;
62
- repoBasics = { fullName: basics.fullName, description: basics.description };
63
- if (!teamId) {
64
- const msg = 'Repository is not associated with a team; recipes are team-scoped and require one.';
65
- await markFailed(supabase, scanId, msg);
66
- return { status: 'error', message: msg };
67
- }
68
- }
69
- else {
70
- teamId = await getProductTeamId(supabase, productId);
71
- if (!teamId) {
72
- const msg = 'Product is not associated with a team; recipes are team-scoped and require one.';
73
- await markFailed(supabase, scanId, msg);
74
- return { status: 'error', message: msg };
75
- }
76
- }
77
- const githubConfig = repoOnly
78
- ? await getGitHubConfigByRepository(repoId, verbose)
79
- : await getGitHubConfigByProduct(productId, verbose);
80
- if (!githubConfig.configured ||
81
- !githubConfig.token ||
82
- !githubConfig.owner ||
83
- !githubConfig.repo) {
84
- const msg = githubConfig.message ||
85
- (repoOnly
86
- ? 'GitHub repository not configured. Connect the repo first.'
87
- : 'GitHub repository not configured for this product. Connect a repo first.');
88
- await markFailed(supabase, scanId, msg);
89
- return { status: 'error', message: msg };
90
- }
91
- let repoPath;
92
- let succeeded = false;
93
- try {
94
- const workspaceRoot = ensureWorkspaceDir();
95
- const repoKey = repoOnly
96
- ? `${WORKSPACE_KEY}-repo-${repoId}`
97
- : `${WORKSPACE_KEY}-${productId}`;
98
- ({ repoPath } = cloneIssueRepo(workspaceRoot, repoKey, githubConfig.owner, githubConfig.repo, githubConfig.token));
99
- const [basics, scanMeta, teamRecipes, existingLinks] = await Promise.all([
100
- repoOnly
101
- ? Promise.resolve({
102
- name: repoBasics.fullName ?? `${githubConfig.owner}/${githubConfig.repo}`,
103
- description: repoBasics.description ?? undefined,
104
- })
105
- : fetchProductBasics(productId),
106
- getScanCreator(supabase, scanId),
107
- listTeamRecipes(supabase, teamId),
108
- repoOnly
109
- ? listRepositoryRecipeLinks(supabase, repoId)
110
- : listProductRecipeLinks(supabase, productId),
111
- ]);
112
- if (!scanMeta) {
113
- const msg = 'recipe_scans row vanished mid-run; aborting';
114
- await markFailed(supabase, scanId, msg);
115
- return { status: 'error', message: msg };
116
- }
117
- const systemPrompt = createRecipesSystemPrompt();
118
- const userPrompt = createRecipesUserPrompt({
119
- productName: basics.name,
120
- productDescription: basics.description,
121
- guidance,
122
- teamRecipes,
123
- existingLinks: existingLinks.map((l) => ({
124
- recipeId: l.recipe_id,
125
- name: l.name,
126
- })),
127
- });
128
- const counts = createRecipesMutationCounts();
129
- const existingLinkIds = new Set(existingLinks.map((l) => l.recipe_id));
130
- const mcpServer = createRecipesMcpServer({
131
- supabase,
132
- teamId,
133
- productId: repoOnly ? undefined : productId,
134
- repositoryId: repoOnly ? repoId : undefined,
135
- createdBy: scanMeta.created_by,
136
- }, counts, teamRecipes, existingLinkIds);
137
- logInfo('Running Claude agent to identify recipes...');
138
- let lastHeartbeatAt = 0;
139
- for await (const message of query({
140
- prompt: createPromptGenerator(userPrompt),
141
- options: {
142
- systemPrompt: {
143
- type: 'preset',
144
- preset: 'claude_code',
145
- append: systemPrompt,
146
- },
147
- model: DEFAULT_MODEL,
148
- maxTurns: MAX_TURNS,
149
- permissionMode: 'bypassPermissions',
150
- cwd: repoPath,
151
- mcpServers: {
152
- recipes: mcpServer,
153
- },
154
- },
155
- })) {
156
- if (message.type === 'assistant') {
157
- extractTextFromContent(message.message?.content ?? [], verbose);
158
- const now = Date.now();
159
- if (now - lastHeartbeatAt >= HEARTBEAT_MIN_INTERVAL_MS) {
160
- lastHeartbeatAt = now;
161
- await heartbeat(supabase, scanId);
162
- }
163
- continue;
164
- }
165
- if (message.type !== 'result') {
166
- continue;
167
- }
168
- if (message.subtype !== 'success') {
169
- const msg = `Recipes scan failed: agent ${message.subtype}`;
170
- const written = await markFailed(supabase, scanId, msg);
171
- return {
172
- status: written ? 'error' : 'cancelled',
173
- message: written
174
- ? msg
175
- : 'Scan was cancelled while the agent was running',
176
- counts,
177
- };
178
- }
179
- const written = await markSuccess(supabase, scanId);
180
- if (!written) {
181
- return {
182
- status: 'cancelled',
183
- message: 'Scan was cancelled before the result could be written',
184
- counts,
185
- };
186
- }
187
- succeeded = true;
188
- const summary = `created ${counts.created}, updated ${counts.updated}, linked ${counts.linked}, unlinked ${counts.unlinked}`;
189
- logSuccess(`Recipes scan complete — ${summary}`);
190
- return {
191
- status: 'success',
192
- message: `Recipes scan complete (${summary})`,
193
- counts,
194
- };
195
- }
196
- const msg = 'Recipes scan ended without a result message';
197
- await markFailed(supabase, scanId, msg);
198
- return { status: 'error', message: msg, counts };
199
- }
200
- catch (error) {
201
- const errorMessage = error instanceof Error ? error.message : String(error);
202
- logError(`Recipes scan failed: ${errorMessage}`);
203
- await markFailed(supabase, scanId, errorMessage);
204
- return { status: 'error', message: errorMessage };
205
- }
206
- finally {
207
- if (succeeded) {
208
- cleanupIssueRepo(repoPath);
209
- }
210
- }
211
- }
212
- // ============================================================================
213
- // DB helpers — exported for unit tests
214
- // ============================================================================
215
- export async function getProductTeamId(supabase, productId) {
216
- const { data, error } = await supabase
217
- .from('products')
218
- .select('team_id')
219
- .eq('id', productId)
220
- .maybeSingle();
221
- if (error || !data) {
222
- return null;
223
- }
224
- return data.team_id ?? null;
225
- }
226
- export async function getScanCreator(supabase, scanId) {
227
- const { data, error } = await supabase
228
- .from('recipe_scans')
229
- .select('created_by')
230
- .eq('id', scanId)
231
- .maybeSingle();
232
- if (error || !data) {
233
- return null;
234
- }
235
- return data;
236
- }
237
- export async function listTeamRecipes(supabase, teamId) {
238
- const { data, error } = await supabase
239
- .from('recipes')
240
- .select('id, name, summary, services')
241
- .eq('team_id', teamId)
242
- .order('updated_at', { ascending: false });
243
- if (error || !data) {
244
- return [];
245
- }
246
- return data.map((r) => ({
247
- id: r.id,
248
- name: r.name,
249
- summary: r.summary,
250
- services: Array.isArray(r.services) ? r.services : [],
251
- }));
252
- }
253
- export async function listProductRecipeLinks(supabase, productId) {
254
- const { data, error } = await supabase
255
- .from('product_recipes')
256
- .select('recipe_id, recipes(name)')
257
- .eq('product_id', productId);
258
- if (error || !data) {
259
- return [];
260
- }
261
- const rows = data;
262
- const out = [];
263
- for (const r of rows) {
264
- const recipe = Array.isArray(r.recipes) ? r.recipes[0] : r.recipes;
265
- if (recipe) {
266
- out.push({ recipe_id: r.recipe_id, name: recipe.name });
267
- }
268
- }
269
- return out;
270
- }
271
- export async function listRepositoryRecipeLinks(supabase, repositoryId) {
272
- const { data, error } = await supabase
273
- .from('repository_recipes')
274
- .select('recipe_id, recipes(name)')
275
- .eq('repository_id', repositoryId);
276
- if (error || !data) {
277
- return [];
278
- }
279
- const rows = data;
280
- const out = [];
281
- for (const r of rows) {
282
- const recipe = Array.isArray(r.recipes) ? r.recipes[0] : r.recipes;
283
- if (recipe) {
284
- out.push({ recipe_id: r.recipe_id, name: recipe.name });
285
- }
286
- }
287
- return out;
288
- }
289
- /**
290
- * Claim the row by flipping `pending` → `running`. Returns true on success
291
- * (we won the claim) and false when the row has already moved on (e.g. user
292
- * cancelled before the CLI started). Bounded by the status filter so we
293
- * can't accidentally resurrect a 'cancelled' row.
294
- */
295
- export async function markRunning(supabase, scanId) {
296
- const { data, error } = await supabase
297
- .from('recipe_scans')
298
- .update({
299
- status: 'running',
300
- error: null,
301
- last_heartbeat_at: new Date().toISOString(),
302
- })
303
- .eq('id', scanId)
304
- .in('status', ['pending', 'running'])
305
- .select('id')
306
- .maybeSingle();
307
- if (error) {
308
- logWarning(`Could not mark scan as running: ${error.message}`);
309
- return false;
310
- }
311
- return data !== null;
312
- }
313
- export async function heartbeat(supabase, scanId) {
314
- const { error } = await supabase
315
- .from('recipe_scans')
316
- .update({ last_heartbeat_at: new Date().toISOString() })
317
- .eq('id', scanId)
318
- .eq('status', 'running');
319
- if (error) {
320
- logWarning(`Heartbeat failed: ${error.message}`);
321
- }
322
- }
323
- export async function markFailed(supabase, scanId, errorMessage) {
324
- const { data, error } = await supabase
325
- .from('recipe_scans')
326
- .update({
327
- status: 'failed',
328
- error: errorMessage,
329
- completed_at: new Date().toISOString(),
330
- })
331
- .eq('id', scanId)
332
- .in('status', ['pending', 'running'])
333
- .select('id')
334
- .maybeSingle();
335
- if (error) {
336
- logWarning(`Could not mark scan as failed: ${error.message}`);
337
- return false;
338
- }
339
- return data !== null;
340
- }
341
- export async function markSuccess(supabase, scanId) {
342
- const { data, error } = await supabase
343
- .from('recipe_scans')
344
- .update({
345
- status: 'success',
346
- error: null,
347
- completed_at: new Date().toISOString(),
348
- })
349
- .eq('id', scanId)
350
- .in('status', ['pending', 'running'])
351
- .select('id')
352
- .maybeSingle();
353
- if (error) {
354
- logWarning(`Could not mark scan as success: ${error.message}`);
355
- return false;
356
- }
357
- return data !== null;
358
- }
@@ -1,66 +0,0 @@
1
- /**
2
- * In-process MCP server exposing the recipes toolkit. Five tools:
3
- *
4
- * - get_recipe_detail read-only: fetch full content of a team recipe
5
- * - create_recipe INSERT recipe + INSERT product_recipe link
6
- * - update_recipe UPDATE recipe (latest-wins overwrite) + UPSERT link
7
- * - link_recipe UPSERT product_recipe link only (no content change)
8
- * - unlink_recipe DELETE product_recipe link for a previously-linked
9
- * recipe the agent confirmed is no longer present
10
- *
11
- * All writes are scoped to:
12
- * - the active recipe_scan's product_id (the link target)
13
- * - the team that owns that product (recipes are team-scoped)
14
- *
15
- * The handlers persist directly via the Supabase client passed in by the
16
- * orchestrator — there is no captured-extraction buffer to flush at the
17
- * end. Each tool call is its own committed effect.
18
- */
19
- import type { SupabaseClient } from '@supabase/supabase-js';
20
- import { z } from 'zod';
21
- import { type RecipeSummary } from './types.js';
22
- export interface RecipesToolContext {
23
- supabase: SupabaseClient;
24
- teamId: string;
25
- /** Set in product-scoped scans; links go to `product_recipes`. */
26
- productId?: string;
27
- /** Set in repo-only scans; links go to `repository_recipes`. */
28
- repositoryId?: string;
29
- createdBy: string;
30
- }
31
- /**
32
- * Records how many of each kind of mutation the agent made — exported so the
33
- * orchestrator can print a summary line at the end of the scan.
34
- */
35
- export interface RecipesMutationCounts {
36
- created: number;
37
- updated: number;
38
- linked: number;
39
- unlinked: number;
40
- }
41
- export declare function createRecipesMutationCounts(): RecipesMutationCounts;
42
- export declare function createGetRecipeDetailTool(ctx: RecipesToolContext, teamRecipeIds: Set<string>): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
43
- recipe_id: z.ZodString;
44
- }>;
45
- export declare function createCreateRecipeTool(ctx: RecipesToolContext, counts: RecipesMutationCounts, teamRecipeIds: Set<string>): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
46
- name: z.ZodString;
47
- summary: z.ZodString;
48
- content: z.ZodString;
49
- services: z.ZodArray<z.ZodString>;
50
- evidence: z.ZodString;
51
- }>;
52
- export declare function createUpdateRecipeTool(ctx: RecipesToolContext, counts: RecipesMutationCounts, teamRecipeIds: Set<string>): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
53
- recipe_id: z.ZodString;
54
- summary: z.ZodOptional<z.ZodString>;
55
- content: z.ZodOptional<z.ZodString>;
56
- services: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
- evidence: z.ZodString;
58
- }>;
59
- export declare function createLinkRecipeTool(ctx: RecipesToolContext, counts: RecipesMutationCounts, teamRecipeIds: Set<string>): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
60
- recipe_id: z.ZodString;
61
- evidence: z.ZodString;
62
- }>;
63
- export declare function createUnlinkRecipeTool(ctx: RecipesToolContext, counts: RecipesMutationCounts, existingLinkIds: Set<string>): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
64
- recipe_id: z.ZodString;
65
- }>;
66
- export declare function createRecipesMcpServer(ctx: RecipesToolContext, counts: RecipesMutationCounts, teamRecipes: RecipeSummary[], existingLinkIds: Set<string>): import("@anthropic-ai/claude-agent-sdk").McpSdkServerConfigWithInstance;
@@ -1,229 +0,0 @@
1
- /**
2
- * In-process MCP server exposing the recipes toolkit. Five tools:
3
- *
4
- * - get_recipe_detail read-only: fetch full content of a team recipe
5
- * - create_recipe INSERT recipe + INSERT product_recipe link
6
- * - update_recipe UPDATE recipe (latest-wins overwrite) + UPSERT link
7
- * - link_recipe UPSERT product_recipe link only (no content change)
8
- * - unlink_recipe DELETE product_recipe link for a previously-linked
9
- * recipe the agent confirmed is no longer present
10
- *
11
- * All writes are scoped to:
12
- * - the active recipe_scan's product_id (the link target)
13
- * - the team that owns that product (recipes are team-scoped)
14
- *
15
- * The handlers persist directly via the Supabase client passed in by the
16
- * orchestrator — there is no captured-extraction buffer to flush at the
17
- * end. Each tool call is its own committed effect.
18
- */
19
- import { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';
20
- import { z } from 'zod';
21
- import { RECIPE_CONTENT_MAX, RECIPE_EVIDENCE_MAX, RECIPE_NAME_MAX, RECIPE_SERVICE_NAME_MAX, RECIPE_SERVICES_MAX, RECIPE_SUMMARY_MAX, } from './types.js';
22
- function resolveLinkScope(ctx) {
23
- if (ctx.repositoryId) {
24
- return {
25
- table: 'repository_recipes',
26
- column: 'repository_id',
27
- id: ctx.repositoryId,
28
- onConflict: 'repository_id,recipe_id',
29
- label: 'this repository',
30
- };
31
- }
32
- if (ctx.productId) {
33
- return {
34
- table: 'product_recipes',
35
- column: 'product_id',
36
- id: ctx.productId,
37
- onConflict: 'product_id,recipe_id',
38
- label: 'this product',
39
- };
40
- }
41
- throw new Error('RecipesToolContext requires either productId or repositoryId to scope links');
42
- }
43
- export function createRecipesMutationCounts() {
44
- return { created: 0, updated: 0, linked: 0, unlinked: 0 };
45
- }
46
- const servicesSchema = z
47
- .array(z.string().min(1).max(RECIPE_SERVICE_NAME_MAX))
48
- .max(RECIPE_SERVICES_MAX)
49
- .describe('Sorted list of canonical service/tool/library names this recipe chains together (e.g. ["ElevenLabs","ffmpeg","Whisper"]). Sort alphabetically.');
50
- function normalizeServices(services) {
51
- const cleaned = services.map((s) => s.trim()).filter((s) => s.length > 0);
52
- return Array.from(new Set(cleaned)).sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));
53
- }
54
- function textError(message) {
55
- return {
56
- content: [{ type: 'text', text: message }],
57
- isError: true,
58
- };
59
- }
60
- function textOk(message) {
61
- return {
62
- content: [{ type: 'text', text: message }],
63
- };
64
- }
65
- export function createGetRecipeDetailTool(ctx, teamRecipeIds) {
66
- return tool('get_recipe_detail', 'Fetch the full markdown content of an existing team recipe by id. Call this when the prompt summary is not enough to decide between link / update / create.', {
67
- recipe_id: z.string().uuid().describe('id from the team recipe list'),
68
- }, async (args) => {
69
- if (!teamRecipeIds.has(args.recipe_id)) {
70
- return textError(`recipe_id ${args.recipe_id} is not in this team's recipe list.`);
71
- }
72
- const { data, error } = await ctx.supabase
73
- .from('recipes')
74
- .select('id, name, summary, content, services')
75
- .eq('id', args.recipe_id)
76
- .eq('team_id', ctx.teamId)
77
- .maybeSingle();
78
- if (error) {
79
- return textError(`Failed to read recipe: ${error.message}`);
80
- }
81
- if (!data) {
82
- return textError(`Recipe ${args.recipe_id} not found.`);
83
- }
84
- return textOk(JSON.stringify(data));
85
- });
86
- }
87
- export function createCreateRecipeTool(ctx, counts, teamRecipeIds) {
88
- return tool('create_recipe', 'Register a brand-new recipe in the team library AND link it to this product. Use only when no existing recipe matches the capability. Pass a fully-formed recipe — name, one-paragraph summary, markdown content, sorted services list, and product-specific evidence.', {
89
- name: z.string().min(1).max(RECIPE_NAME_MAX),
90
- summary: z.string().min(1).max(RECIPE_SUMMARY_MAX),
91
- content: z.string().min(1).max(RECIPE_CONTENT_MAX),
92
- services: servicesSchema,
93
- evidence: z
94
- .string()
95
- .min(1)
96
- .max(RECIPE_EVIDENCE_MAX)
97
- .describe('Plain-text paragraph saying where in THIS product the recipe shows up (file paths, entry points).'),
98
- }, async (args) => {
99
- const services = normalizeServices(args.services);
100
- const insertRecipe = await ctx.supabase
101
- .from('recipes')
102
- .insert({
103
- team_id: ctx.teamId,
104
- name: args.name.trim(),
105
- summary: args.summary.trim(),
106
- content: args.content,
107
- services,
108
- created_by: ctx.createdBy,
109
- })
110
- .select('id')
111
- .single();
112
- if (insertRecipe.error || !insertRecipe.data) {
113
- return textError(`Failed to create recipe: ${insertRecipe.error?.message ?? 'unknown error'}`);
114
- }
115
- const recipeId = insertRecipe.data.id;
116
- const scope = resolveLinkScope(ctx);
117
- const linkErr = await ctx.supabase.from(scope.table).insert({
118
- [scope.column]: scope.id,
119
- recipe_id: recipeId,
120
- evidence: args.evidence.trim(),
121
- });
122
- if (linkErr.error) {
123
- return textError(`Recipe created (${recipeId}) but linking to ${scope.label} failed: ${linkErr.error.message}`);
124
- }
125
- teamRecipeIds.add(recipeId);
126
- counts.created += 1;
127
- return textOk(`Created recipe ${recipeId} and linked to ${scope.label}.`);
128
- });
129
- }
130
- export function createUpdateRecipeTool(ctx, counts, teamRecipeIds) {
131
- return tool('update_recipe', 'Overwrite an existing recipe (latest-wins) with better information you discovered in this repo AND link this product to it. Use when the existing entry is broadly correct but lacks detail / has outdated services / has a vague summary. Omit fields you do not want to change.', {
132
- recipe_id: z.string().uuid(),
133
- summary: z.string().min(1).max(RECIPE_SUMMARY_MAX).optional(),
134
- content: z.string().min(1).max(RECIPE_CONTENT_MAX).optional(),
135
- services: servicesSchema.optional(),
136
- evidence: z.string().min(1).max(RECIPE_EVIDENCE_MAX),
137
- }, async (args) => {
138
- if (!teamRecipeIds.has(args.recipe_id)) {
139
- return textError(`recipe_id ${args.recipe_id} is not in this team's recipe list. Use create_recipe for new entries.`);
140
- }
141
- const patch = {};
142
- if (args.summary !== undefined) {
143
- patch.summary = args.summary.trim();
144
- }
145
- if (args.content !== undefined) {
146
- patch.content = args.content;
147
- }
148
- if (args.services !== undefined) {
149
- patch.services = normalizeServices(args.services);
150
- }
151
- if (Object.keys(patch).length > 0) {
152
- const updateErr = await ctx.supabase
153
- .from('recipes')
154
- .update(patch)
155
- .eq('id', args.recipe_id)
156
- .eq('team_id', ctx.teamId);
157
- if (updateErr.error) {
158
- return textError(`Failed to update recipe: ${updateErr.error.message}`);
159
- }
160
- }
161
- const scope = resolveLinkScope(ctx);
162
- const linkErr = await ctx.supabase.from(scope.table).upsert({
163
- [scope.column]: scope.id,
164
- recipe_id: args.recipe_id,
165
- evidence: args.evidence.trim(),
166
- }, { onConflict: scope.onConflict });
167
- if (linkErr.error) {
168
- return textError(`Recipe updated but linking to ${scope.label} failed: ${linkErr.error.message}`);
169
- }
170
- counts.updated += 1;
171
- return textOk(`Updated recipe ${args.recipe_id} and linked to ${scope.label}.`);
172
- });
173
- }
174
- export function createLinkRecipeTool(ctx, counts, teamRecipeIds) {
175
- return tool('link_recipe', 'Link this product to an existing recipe that already describes the capability accurately. Does NOT modify the recipe content. Use this whenever possible — the whole point of the team library is cross-product reuse.', {
176
- recipe_id: z.string().uuid(),
177
- evidence: z.string().min(1).max(RECIPE_EVIDENCE_MAX),
178
- }, async (args) => {
179
- if (!teamRecipeIds.has(args.recipe_id)) {
180
- return textError(`recipe_id ${args.recipe_id} is not in this team's recipe list. Use create_recipe for new entries.`);
181
- }
182
- const scope = resolveLinkScope(ctx);
183
- const linkErr = await ctx.supabase.from(scope.table).upsert({
184
- [scope.column]: scope.id,
185
- recipe_id: args.recipe_id,
186
- evidence: args.evidence.trim(),
187
- }, { onConflict: scope.onConflict });
188
- if (linkErr.error) {
189
- return textError(`Failed to link recipe: ${linkErr.error.message}`);
190
- }
191
- counts.linked += 1;
192
- return textOk(`Linked recipe ${args.recipe_id} to ${scope.label}.`);
193
- });
194
- }
195
- export function createUnlinkRecipeTool(ctx, counts, existingLinkIds) {
196
- return tool('unlink_recipe', 'Drop a previously-linked recipe that you have confirmed is NO LONGER present in this repo. Only call this for ids in the "Currently linked" list. Does not delete the recipe itself.', {
197
- recipe_id: z.string().uuid(),
198
- }, async (args) => {
199
- if (!existingLinkIds.has(args.recipe_id)) {
200
- return textError(`recipe_id ${args.recipe_id} is not in the "Currently linked" list — nothing to unlink.`);
201
- }
202
- const scope = resolveLinkScope(ctx);
203
- const { error } = await ctx.supabase
204
- .from(scope.table)
205
- .delete()
206
- .eq(scope.column, scope.id)
207
- .eq('recipe_id', args.recipe_id);
208
- if (error) {
209
- return textError(`Failed to unlink recipe: ${error.message}`);
210
- }
211
- existingLinkIds.delete(args.recipe_id);
212
- counts.unlinked += 1;
213
- return textOk(`Unlinked recipe ${args.recipe_id} from ${scope.label}.`);
214
- });
215
- }
216
- export function createRecipesMcpServer(ctx, counts, teamRecipes, existingLinkIds) {
217
- const teamRecipeIds = new Set(teamRecipes.map((r) => r.id));
218
- return createSdkMcpServer({
219
- name: 'recipes',
220
- version: '1.0.0',
221
- tools: [
222
- createGetRecipeDetailTool(ctx, teamRecipeIds),
223
- createCreateRecipeTool(ctx, counts, teamRecipeIds),
224
- createUpdateRecipeTool(ctx, counts, teamRecipeIds),
225
- createLinkRecipeTool(ctx, counts, teamRecipeIds),
226
- createUnlinkRecipeTool(ctx, counts, existingLinkIds),
227
- ],
228
- });
229
- }
@@ -1,35 +0,0 @@
1
- /**
2
- * Prompts for the recipes phase.
3
- *
4
- * Agent's job: explore the cloned product repo and identify each non-trivial
5
- * CAPABILITY the product implements ("AI video generation", "PDF export",
6
- * "real-time presence", "Stripe subscription billing", etc.) and document
7
- * HOW the capability is built — which services / tools / libraries are
8
- * chained together. NOT a tech-stack inventory.
9
- *
10
- * The agent is fed the team's existing recipes (compact form: id + name +
11
- * summary + services) and must, for each capability it identifies, pick one
12
- * of:
13
- * - link_recipe — existing recipe describes this capability correctly,
14
- * just record this product uses it
15
- * - update_recipe — existing recipe is close but the agent has better /
16
- * more accurate info from this repo; overwrite
17
- * - create_recipe — no existing recipe matches; new entry
18
- * - unlink_recipe — this product was previously linked to a recipe that
19
- * is no longer present in the repo
20
- *
21
- * Submission is via MCP tool calls only — no fenced JSON.
22
- */
23
- import type { RecipeSummary } from './types.js';
24
- export interface RecipesPromptContext {
25
- productName: string;
26
- productDescription?: string;
27
- guidance?: string;
28
- teamRecipes: RecipeSummary[];
29
- existingLinks: {
30
- recipeId: string;
31
- name: string;
32
- }[];
33
- }
34
- export declare function createRecipesSystemPrompt(): string;
35
- export declare function createRecipesUserPrompt(ctx: RecipesPromptContext): string;