edsger 0.77.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (877) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +95 -210
  3. package/assets/LICENSE +21 -0
  4. package/assets/README.md +104 -0
  5. package/assets/benchmark/base.yaml +286 -0
  6. package/assets/benchmark/csharp.yaml +68 -0
  7. package/assets/benchmark/dart.yaml +70 -0
  8. package/assets/benchmark/go.yaml +71 -0
  9. package/assets/benchmark/java.yaml +68 -0
  10. package/assets/benchmark/python.yaml +72 -0
  11. package/assets/benchmark/typescript.yaml +71 -0
  12. package/assets/languages.yaml +35 -0
  13. package/assets/manifest.yaml +39 -0
  14. package/assets/review/base.yaml +111 -0
  15. package/assets/review/csharp.yaml +38 -0
  16. package/assets/review/dart.yaml +40 -0
  17. package/assets/review/go.yaml +40 -0
  18. package/assets/review/java.yaml +40 -0
  19. package/assets/review/python.yaml +41 -0
  20. package/assets/review/typescript.yaml +40 -0
  21. package/assets/schema/benchmark.schema.json +87 -0
  22. package/assets/schema/review.schema.json +73 -0
  23. package/assets/skills/benchmark/SKILL.md +66 -0
  24. package/assets/skills/pr-resolve/SKILL.md +58 -0
  25. package/assets/skills/pr-review/SKILL.md +66 -0
  26. package/dist/index.js +1348 -1247
  27. package/dist/index.js.map +1 -0
  28. package/package.json +58 -53
  29. package/dist/api/adr.d.ts +0 -48
  30. package/dist/api/adr.js +0 -139
  31. package/dist/api/app-store-iap.d.ts +0 -60
  32. package/dist/api/app-store-iap.js +0 -145
  33. package/dist/api/app-store.d.ts +0 -93
  34. package/dist/api/app-store.js +0 -206
  35. package/dist/api/chat.d.ts +0 -72
  36. package/dist/api/chat.js +0 -272
  37. package/dist/api/cross-product.d.ts +0 -33
  38. package/dist/api/cross-product.js +0 -127
  39. package/dist/api/financing.d.ts +0 -47
  40. package/dist/api/financing.js +0 -37
  41. package/dist/api/github.d.ts +0 -86
  42. package/dist/api/github.js +0 -203
  43. package/dist/api/growth.d.ts +0 -81
  44. package/dist/api/growth.js +0 -75
  45. package/dist/api/intelligence-normalize.d.ts +0 -25
  46. package/dist/api/intelligence-normalize.js +0 -103
  47. package/dist/api/intelligence.d.ts +0 -187
  48. package/dist/api/intelligence.js +0 -402
  49. package/dist/api/issues/approval-checker.d.ts +0 -22
  50. package/dist/api/issues/approval-checker.js +0 -141
  51. package/dist/api/issues/batch-operations.d.ts +0 -17
  52. package/dist/api/issues/batch-operations.js +0 -100
  53. package/dist/api/issues/get-issue.d.ts +0 -5
  54. package/dist/api/issues/get-issue.js +0 -47
  55. package/dist/api/issues/index.d.ts +0 -8
  56. package/dist/api/issues/index.js +0 -10
  57. package/dist/api/issues/issue-utils.d.ts +0 -25
  58. package/dist/api/issues/issue-utils.js +0 -133
  59. package/dist/api/issues/status-updater.d.ts +0 -68
  60. package/dist/api/issues/status-updater.js +0 -190
  61. package/dist/api/issues/test-cases.d.ts +0 -29
  62. package/dist/api/issues/test-cases.js +0 -185
  63. package/dist/api/issues/update-issue.d.ts +0 -25
  64. package/dist/api/issues/update-issue.js +0 -127
  65. package/dist/api/issues/user-stories.d.ts +0 -21
  66. package/dist/api/issues/user-stories.js +0 -163
  67. package/dist/api/mcp-client.d.ts +0 -22
  68. package/dist/api/mcp-client.js +0 -75
  69. package/dist/api/products/test-cases.d.ts +0 -18
  70. package/dist/api/products/test-cases.js +0 -51
  71. package/dist/api/products.d.ts +0 -15
  72. package/dist/api/products.js +0 -45
  73. package/dist/api/release-test-cases.d.ts +0 -7
  74. package/dist/api/release-test-cases.js +0 -59
  75. package/dist/api/releases.d.ts +0 -41
  76. package/dist/api/releases.js +0 -117
  77. package/dist/api/run-sheets.d.ts +0 -22
  78. package/dist/api/run-sheets.js +0 -13
  79. package/dist/api/storage.d.ts +0 -13
  80. package/dist/api/storage.js +0 -29
  81. package/dist/api/tasks.d.ts +0 -26
  82. package/dist/api/tasks.js +0 -81
  83. package/dist/api/test-reports.d.ts +0 -9
  84. package/dist/api/test-reports.js +0 -43
  85. package/dist/api/user-psychology.d.ts +0 -101
  86. package/dist/api/user-psychology.js +0 -143
  87. package/dist/api/web-deploy.d.ts +0 -67
  88. package/dist/api/web-deploy.js +0 -199
  89. package/dist/auth/auth-store.d.ts +0 -98
  90. package/dist/auth/auth-store.js +0 -194
  91. package/dist/auth/env-store.d.ts +0 -41
  92. package/dist/auth/env-store.js +0 -127
  93. package/dist/auth/login.d.ts +0 -18
  94. package/dist/auth/login.js +0 -179
  95. package/dist/commands/adr/index.d.ts +0 -13
  96. package/dist/commands/adr/index.js +0 -31
  97. package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
  98. package/dist/commands/agent-workflow/chat-worker.js +0 -465
  99. package/dist/commands/agent-workflow/index.d.ts +0 -13
  100. package/dist/commands/agent-workflow/index.js +0 -107
  101. package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
  102. package/dist/commands/agent-workflow/issue-worker.js +0 -65
  103. package/dist/commands/agent-workflow/processor.d.ts +0 -95
  104. package/dist/commands/agent-workflow/processor.js +0 -519
  105. package/dist/commands/analyze-logs/index.d.ts +0 -7
  106. package/dist/commands/analyze-logs/index.js +0 -34
  107. package/dist/commands/api-docs/index.d.ts +0 -18
  108. package/dist/commands/api-docs/index.js +0 -41
  109. package/dist/commands/app-store/index.d.ts +0 -12
  110. package/dist/commands/app-store/index.js +0 -69
  111. package/dist/commands/architecture-diagram/index.d.ts +0 -8
  112. package/dist/commands/architecture-diagram/index.js +0 -10
  113. package/dist/commands/build/detect-project.d.ts +0 -52
  114. package/dist/commands/build/detect-project.js +0 -277
  115. package/dist/commands/build/index.d.ts +0 -66
  116. package/dist/commands/build/index.js +0 -544
  117. package/dist/commands/chat-serve/chat-server.d.ts +0 -114
  118. package/dist/commands/chat-serve/chat-server.js +0 -339
  119. package/dist/commands/chat-serve/index.d.ts +0 -20
  120. package/dist/commands/chat-serve/index.js +0 -58
  121. package/dist/commands/checklists/index.d.ts +0 -16
  122. package/dist/commands/checklists/index.js +0 -187
  123. package/dist/commands/checklists/tools.d.ts +0 -17
  124. package/dist/commands/checklists/tools.js +0 -19
  125. package/dist/commands/class-diagram/index.d.ts +0 -7
  126. package/dist/commands/class-diagram/index.js +0 -9
  127. package/dist/commands/code-review/index.d.ts +0 -2
  128. package/dist/commands/code-review/index.js +0 -37
  129. package/dist/commands/code-review/reviewer.d.ts +0 -3
  130. package/dist/commands/code-review/reviewer.js +0 -205
  131. package/dist/commands/config/index.d.ts +0 -16
  132. package/dist/commands/config/index.js +0 -60
  133. package/dist/commands/data-flow/index.d.ts +0 -19
  134. package/dist/commands/data-flow/index.js +0 -55
  135. package/dist/commands/diagram-shared/index.d.ts +0 -21
  136. package/dist/commands/diagram-shared/index.js +0 -37
  137. package/dist/commands/discover/index.d.ts +0 -14
  138. package/dist/commands/discover/index.js +0 -29
  139. package/dist/commands/er-diagram/index.d.ts +0 -19
  140. package/dist/commands/er-diagram/index.js +0 -55
  141. package/dist/commands/features/index.d.ts +0 -15
  142. package/dist/commands/features/index.js +0 -34
  143. package/dist/commands/financing-deck/index.d.ts +0 -8
  144. package/dist/commands/financing-deck/index.js +0 -66
  145. package/dist/commands/find-architecture/index.d.ts +0 -15
  146. package/dist/commands/find-architecture/index.js +0 -50
  147. package/dist/commands/find-bugs/index.d.ts +0 -13
  148. package/dist/commands/find-bugs/index.js +0 -48
  149. package/dist/commands/find-features/index.d.ts +0 -14
  150. package/dist/commands/find-features/index.js +0 -42
  151. package/dist/commands/find-smells/index.d.ts +0 -23
  152. package/dist/commands/find-smells/index.js +0 -74
  153. package/dist/commands/flowchart/index.d.ts +0 -8
  154. package/dist/commands/flowchart/index.js +0 -10
  155. package/dist/commands/growth-analysis/index.d.ts +0 -7
  156. package/dist/commands/growth-analysis/index.js +0 -89
  157. package/dist/commands/init/index.d.ts +0 -5
  158. package/dist/commands/init/index.js +0 -152
  159. package/dist/commands/init/prompts.d.ts +0 -9
  160. package/dist/commands/init/prompts.js +0 -128
  161. package/dist/commands/init/templates.d.ts +0 -9
  162. package/dist/commands/init/templates.js +0 -264
  163. package/dist/commands/intelligence/index.d.ts +0 -15
  164. package/dist/commands/intelligence/index.js +0 -138
  165. package/dist/commands/issue-analysis/index.d.ts +0 -5
  166. package/dist/commands/issue-analysis/index.js +0 -9
  167. package/dist/commands/pr-resolve/index.d.ts +0 -13
  168. package/dist/commands/pr-resolve/index.js +0 -50
  169. package/dist/commands/pr-review/index.d.ts +0 -12
  170. package/dist/commands/pr-review/index.js +0 -47
  171. package/dist/commands/product-techniques/index.d.ts +0 -15
  172. package/dist/commands/product-techniques/index.js +0 -37
  173. package/dist/commands/product-test-cases/index.d.ts +0 -12
  174. package/dist/commands/product-test-cases/index.js +0 -40
  175. package/dist/commands/quality-benchmark/index.d.ts +0 -45
  176. package/dist/commands/quality-benchmark/index.js +0 -247
  177. package/dist/commands/recipes/index.d.ts +0 -17
  178. package/dist/commands/recipes/index.js +0 -40
  179. package/dist/commands/refactor/refactor.d.ts +0 -2
  180. package/dist/commands/refactor/refactor.js +0 -134
  181. package/dist/commands/release-sync/index.d.ts +0 -5
  182. package/dist/commands/release-sync/index.js +0 -38
  183. package/dist/commands/run-sheet/index.d.ts +0 -6
  184. package/dist/commands/run-sheet/index.js +0 -48
  185. package/dist/commands/screen-flow/index.d.ts +0 -18
  186. package/dist/commands/screen-flow/index.js +0 -54
  187. package/dist/commands/sequence-diagram/index.d.ts +0 -19
  188. package/dist/commands/sequence-diagram/index.js +0 -55
  189. package/dist/commands/session-serve/index.d.ts +0 -32
  190. package/dist/commands/session-serve/index.js +0 -100
  191. package/dist/commands/session-turn/index.d.ts +0 -73
  192. package/dist/commands/session-turn/index.js +0 -254
  193. package/dist/commands/smoke-test/index.d.ts +0 -5
  194. package/dist/commands/smoke-test/index.js +0 -40
  195. package/dist/commands/state-diagram/index.d.ts +0 -7
  196. package/dist/commands/state-diagram/index.js +0 -9
  197. package/dist/commands/sync-aws/index.d.ts +0 -16
  198. package/dist/commands/sync-aws/index.js +0 -214
  199. package/dist/commands/sync-datadog/index.d.ts +0 -16
  200. package/dist/commands/sync-datadog/index.js +0 -236
  201. package/dist/commands/sync-github-issues/index.d.ts +0 -11
  202. package/dist/commands/sync-github-issues/index.js +0 -42
  203. package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
  204. package/dist/commands/sync-github-pull-requests/index.js +0 -42
  205. package/dist/commands/sync-org-repos/index.d.ts +0 -12
  206. package/dist/commands/sync-org-repos/index.js +0 -60
  207. package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
  208. package/dist/commands/sync-sentry-issues/index.js +0 -73
  209. package/dist/commands/sync-terraform/index.d.ts +0 -16
  210. package/dist/commands/sync-terraform/index.js +0 -248
  211. package/dist/commands/task-worker/index.d.ts +0 -8
  212. package/dist/commands/task-worker/index.js +0 -34
  213. package/dist/commands/task-worker/processor.d.ts +0 -23
  214. package/dist/commands/task-worker/processor.js +0 -84
  215. package/dist/commands/technical-design/index.d.ts +0 -5
  216. package/dist/commands/technical-design/index.js +0 -9
  217. package/dist/commands/test-cases-analysis/index.d.ts +0 -5
  218. package/dist/commands/test-cases-analysis/index.js +0 -9
  219. package/dist/commands/user-psychology/index.d.ts +0 -7
  220. package/dist/commands/user-psychology/index.js +0 -51
  221. package/dist/commands/user-stories-analysis/index.d.ts +0 -5
  222. package/dist/commands/user-stories-analysis/index.js +0 -9
  223. package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
  224. package/dist/commands/workflow/config/phase-configs.js +0 -132
  225. package/dist/commands/workflow/core/index.d.ts +0 -8
  226. package/dist/commands/workflow/core/index.js +0 -12
  227. package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
  228. package/dist/commands/workflow/core/issue-filter.js +0 -47
  229. package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
  230. package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
  231. package/dist/commands/workflow/core/state-manager.d.ts +0 -24
  232. package/dist/commands/workflow/core/state-manager.js +0 -42
  233. package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
  234. package/dist/commands/workflow/core/workflow-logger.js +0 -77
  235. package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
  236. package/dist/commands/workflow/executors/phase-executor.js +0 -338
  237. package/dist/commands/workflow/index.d.ts +0 -2
  238. package/dist/commands/workflow/index.js +0 -34
  239. package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
  240. package/dist/commands/workflow/issue-coordinator.js +0 -161
  241. package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
  242. package/dist/commands/workflow/phase-orchestrator.js +0 -699
  243. package/dist/commands/workflow/processor.d.ts +0 -47
  244. package/dist/commands/workflow/processor.js +0 -149
  245. package/dist/config/issue-status.d.ts +0 -29
  246. package/dist/config/issue-status.js +0 -44
  247. package/dist/config.d.ts +0 -3
  248. package/dist/config.js +0 -79
  249. package/dist/constants.d.ts +0 -10
  250. package/dist/constants.js +0 -36
  251. package/dist/errors/index.d.ts +0 -68
  252. package/dist/errors/index.js +0 -129
  253. package/dist/index.d.ts +0 -4
  254. package/dist/phases/adr-generation/agent.d.ts +0 -6
  255. package/dist/phases/adr-generation/agent.js +0 -69
  256. package/dist/phases/adr-generation/index.d.ts +0 -15
  257. package/dist/phases/adr-generation/index.js +0 -66
  258. package/dist/phases/adr-generation/parse.d.ts +0 -12
  259. package/dist/phases/adr-generation/parse.js +0 -123
  260. package/dist/phases/adr-generation/prompts.d.ts +0 -8
  261. package/dist/phases/adr-generation/prompts.js +0 -35
  262. package/dist/phases/analyze-logs/agent.d.ts +0 -11
  263. package/dist/phases/analyze-logs/agent.js +0 -66
  264. package/dist/phases/analyze-logs/index.d.ts +0 -23
  265. package/dist/phases/analyze-logs/index.js +0 -152
  266. package/dist/phases/analyze-logs/prompts.d.ts +0 -3
  267. package/dist/phases/analyze-logs/prompts.js +0 -27
  268. package/dist/phases/api-docs/index.d.ts +0 -47
  269. package/dist/phases/api-docs/index.js +0 -254
  270. package/dist/phases/api-docs/mcp-server.d.ts +0 -25
  271. package/dist/phases/api-docs/mcp-server.js +0 -82
  272. package/dist/phases/api-docs/prompts.d.ts +0 -16
  273. package/dist/phases/api-docs/prompts.js +0 -65
  274. package/dist/phases/api-docs/types.d.ts +0 -22
  275. package/dist/phases/api-docs/types.js +0 -10
  276. package/dist/phases/app-store-generation/agent.d.ts +0 -2
  277. package/dist/phases/app-store-generation/agent.js +0 -177
  278. package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
  279. package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
  280. package/dist/phases/app-store-generation/context.d.ts +0 -21
  281. package/dist/phases/app-store-generation/context.js +0 -78
  282. package/dist/phases/app-store-generation/index.d.ts +0 -20
  283. package/dist/phases/app-store-generation/index.js +0 -157
  284. package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
  285. package/dist/phases/app-store-generation/inter-font.js +0 -49
  286. package/dist/phases/app-store-generation/prompts.d.ts +0 -43
  287. package/dist/phases/app-store-generation/prompts.js +0 -73
  288. package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
  289. package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
  290. package/dist/phases/app-store-generation/uploader.d.ts +0 -19
  291. package/dist/phases/app-store-generation/uploader.js +0 -150
  292. package/dist/phases/architecture-diagram/index.d.ts +0 -15
  293. package/dist/phases/architecture-diagram/index.js +0 -51
  294. package/dist/phases/autonomous/index.d.ts +0 -32
  295. package/dist/phases/autonomous/index.js +0 -412
  296. package/dist/phases/autonomous/prompts.d.ts +0 -5
  297. package/dist/phases/autonomous/prompts.js +0 -31
  298. package/dist/phases/branch-planning/context.d.ts +0 -14
  299. package/dist/phases/branch-planning/context.js +0 -43
  300. package/dist/phases/branch-planning/index.d.ts +0 -25
  301. package/dist/phases/branch-planning/index.js +0 -404
  302. package/dist/phases/branch-planning/outcome.d.ts +0 -28
  303. package/dist/phases/branch-planning/outcome.js +0 -115
  304. package/dist/phases/branch-planning/prompts.d.ts +0 -41
  305. package/dist/phases/branch-planning/prompts.js +0 -157
  306. package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
  307. package/dist/phases/bug-fixing/analyzer.js +0 -247
  308. package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
  309. package/dist/phases/bug-fixing/context-fetcher.js +0 -137
  310. package/dist/phases/bug-fixing/index.d.ts +0 -7
  311. package/dist/phases/bug-fixing/index.js +0 -7
  312. package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
  313. package/dist/phases/bug-fixing/mcp-server.js +0 -19
  314. package/dist/phases/bug-fixing/prompts.d.ts +0 -2
  315. package/dist/phases/bug-fixing/prompts.js +0 -9
  316. package/dist/phases/chat-processor/context.d.ts +0 -38
  317. package/dist/phases/chat-processor/context.js +0 -91
  318. package/dist/phases/chat-processor/index.d.ts +0 -49
  319. package/dist/phases/chat-processor/index.js +0 -482
  320. package/dist/phases/chat-processor/product-context.d.ts +0 -36
  321. package/dist/phases/chat-processor/product-context.js +0 -113
  322. package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
  323. package/dist/phases/chat-processor/product-prompts.js +0 -65
  324. package/dist/phases/chat-processor/product-tools.d.ts +0 -8
  325. package/dist/phases/chat-processor/product-tools.js +0 -11
  326. package/dist/phases/chat-processor/prompts.d.ts +0 -35
  327. package/dist/phases/chat-processor/prompts.js +0 -213
  328. package/dist/phases/chat-processor/tools.d.ts +0 -8
  329. package/dist/phases/chat-processor/tools.js +0 -11
  330. package/dist/phases/class-diagram/index.d.ts +0 -14
  331. package/dist/phases/class-diagram/index.js +0 -76
  332. package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
  333. package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
  334. package/dist/phases/code-implementation/context.d.ts +0 -17
  335. package/dist/phases/code-implementation/context.js +0 -88
  336. package/dist/phases/code-implementation/index.d.ts +0 -33
  337. package/dist/phases/code-implementation/index.js +0 -926
  338. package/dist/phases/code-implementation/outcome.d.ts +0 -47
  339. package/dist/phases/code-implementation/outcome.js +0 -53
  340. package/dist/phases/code-implementation/prompts.d.ts +0 -8
  341. package/dist/phases/code-implementation/prompts.js +0 -166
  342. package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
  343. package/dist/phases/code-implementation-verification/agent.js +0 -225
  344. package/dist/phases/code-implementation-verification/index.d.ts +0 -27
  345. package/dist/phases/code-implementation-verification/index.js +0 -121
  346. package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
  347. package/dist/phases/code-implementation-verification/prompts.js +0 -90
  348. package/dist/phases/code-refine/context.d.ts +0 -99
  349. package/dist/phases/code-refine/context.js +0 -457
  350. package/dist/phases/code-refine/index.d.ts +0 -59
  351. package/dist/phases/code-refine/index.js +0 -348
  352. package/dist/phases/code-refine/prompts.d.ts +0 -5
  353. package/dist/phases/code-refine/prompts.js +0 -162
  354. package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
  355. package/dist/phases/code-refine/refine-iteration.js +0 -166
  356. package/dist/phases/code-refine/retry-handler.d.ts +0 -17
  357. package/dist/phases/code-refine/retry-handler.js +0 -87
  358. package/dist/phases/code-refine-verification/github.d.ts +0 -54
  359. package/dist/phases/code-refine-verification/github.js +0 -328
  360. package/dist/phases/code-refine-verification/index.d.ts +0 -11
  361. package/dist/phases/code-refine-verification/index.js +0 -260
  362. package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
  363. package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
  364. package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
  365. package/dist/phases/code-refine-verification/prompts.js +0 -119
  366. package/dist/phases/code-refine-verification/types.d.ts +0 -74
  367. package/dist/phases/code-refine-verification/types.js +0 -4
  368. package/dist/phases/code-review/context.d.ts +0 -96
  369. package/dist/phases/code-review/context.js +0 -278
  370. package/dist/phases/code-review/diff-utils.d.ts +0 -36
  371. package/dist/phases/code-review/diff-utils.js +0 -100
  372. package/dist/phases/code-review/index.d.ts +0 -40
  373. package/dist/phases/code-review/index.js +0 -627
  374. package/dist/phases/code-testing/analyzer.d.ts +0 -19
  375. package/dist/phases/code-testing/analyzer.js +0 -215
  376. package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
  377. package/dist/phases/code-testing/context-fetcher.js +0 -83
  378. package/dist/phases/code-testing/index.d.ts +0 -2
  379. package/dist/phases/code-testing/index.js +0 -2
  380. package/dist/phases/code-testing/prompts.d.ts +0 -3
  381. package/dist/phases/code-testing/prompts.js +0 -63
  382. package/dist/phases/data-flow/index.d.ts +0 -28
  383. package/dist/phases/data-flow/index.js +0 -286
  384. package/dist/phases/data-flow/mcp-server.d.ts +0 -85
  385. package/dist/phases/data-flow/mcp-server.js +0 -140
  386. package/dist/phases/data-flow/prompts.d.ts +0 -14
  387. package/dist/phases/data-flow/prompts.js +0 -36
  388. package/dist/phases/data-flow/types.d.ts +0 -71
  389. package/dist/phases/data-flow/types.js +0 -86
  390. package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
  391. package/dist/phases/diagram-shared/clone-repos.js +0 -153
  392. package/dist/phases/diagram-shared/generate.d.ts +0 -42
  393. package/dist/phases/diagram-shared/generate.js +0 -162
  394. package/dist/phases/diagram-shared/graph.d.ts +0 -62
  395. package/dist/phases/diagram-shared/graph.js +0 -169
  396. package/dist/phases/diagram-shared/mcp.d.ts +0 -35
  397. package/dist/phases/diagram-shared/mcp.js +0 -68
  398. package/dist/phases/diagram-shared/prompts.d.ts +0 -23
  399. package/dist/phases/diagram-shared/prompts.js +0 -35
  400. package/dist/phases/discover-services/index.d.ts +0 -29
  401. package/dist/phases/discover-services/index.js +0 -528
  402. package/dist/phases/er-diagram/index.d.ts +0 -28
  403. package/dist/phases/er-diagram/index.js +0 -290
  404. package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
  405. package/dist/phases/er-diagram/mcp-server.js +0 -144
  406. package/dist/phases/er-diagram/prompts.d.ts +0 -14
  407. package/dist/phases/er-diagram/prompts.js +0 -36
  408. package/dist/phases/er-diagram/types.d.ts +0 -76
  409. package/dist/phases/er-diagram/types.js +0 -84
  410. package/dist/phases/features/index.d.ts +0 -65
  411. package/dist/phases/features/index.js +0 -292
  412. package/dist/phases/features/mcp-server.d.ts +0 -61
  413. package/dist/phases/features/mcp-server.js +0 -165
  414. package/dist/phases/features/prompts.d.ts +0 -32
  415. package/dist/phases/features/prompts.js +0 -92
  416. package/dist/phases/features/types.d.ts +0 -34
  417. package/dist/phases/features/types.js +0 -15
  418. package/dist/phases/financing-deck/agent.d.ts +0 -1
  419. package/dist/phases/financing-deck/agent.js +0 -96
  420. package/dist/phases/financing-deck/context.d.ts +0 -13
  421. package/dist/phases/financing-deck/context.js +0 -69
  422. package/dist/phases/financing-deck/index.d.ts +0 -15
  423. package/dist/phases/financing-deck/index.js +0 -89
  424. package/dist/phases/financing-deck/prompts.d.ts +0 -2
  425. package/dist/phases/financing-deck/prompts.js +0 -94
  426. package/dist/phases/find-architecture/index.d.ts +0 -47
  427. package/dist/phases/find-architecture/index.js +0 -268
  428. package/dist/phases/find-architecture/prompts.d.ts +0 -32
  429. package/dist/phases/find-architecture/prompts.js +0 -129
  430. package/dist/phases/find-architecture/state.d.ts +0 -21
  431. package/dist/phases/find-architecture/state.js +0 -17
  432. package/dist/phases/find-architecture/types.d.ts +0 -55
  433. package/dist/phases/find-architecture/types.js +0 -69
  434. package/dist/phases/find-bugs/index.d.ts +0 -33
  435. package/dist/phases/find-bugs/index.js +0 -238
  436. package/dist/phases/find-bugs/prompts.d.ts +0 -22
  437. package/dist/phases/find-bugs/prompts.js +0 -101
  438. package/dist/phases/find-bugs/state.d.ts +0 -19
  439. package/dist/phases/find-bugs/state.js +0 -13
  440. package/dist/phases/find-bugs/types.d.ts +0 -21
  441. package/dist/phases/find-bugs/types.js +0 -16
  442. package/dist/phases/find-features/index.d.ts +0 -40
  443. package/dist/phases/find-features/index.js +0 -328
  444. package/dist/phases/find-features/prompts.d.ts +0 -43
  445. package/dist/phases/find-features/prompts.js +0 -138
  446. package/dist/phases/find-features/state.d.ts +0 -25
  447. package/dist/phases/find-features/state.js +0 -22
  448. package/dist/phases/find-features/types.d.ts +0 -27
  449. package/dist/phases/find-features/types.js +0 -16
  450. package/dist/phases/find-shared/baseline.d.ts +0 -45
  451. package/dist/phases/find-shared/baseline.js +0 -56
  452. package/dist/phases/find-shared/custom-rules.d.ts +0 -39
  453. package/dist/phases/find-shared/custom-rules.js +0 -75
  454. package/dist/phases/find-shared/detect-context.d.ts +0 -40
  455. package/dist/phases/find-shared/detect-context.js +0 -247
  456. package/dist/phases/find-shared/git.d.ts +0 -24
  457. package/dist/phases/find-shared/git.js +0 -60
  458. package/dist/phases/find-shared/mcp.d.ts +0 -54
  459. package/dist/phases/find-shared/mcp.js +0 -127
  460. package/dist/phases/find-shared/rule-config.d.ts +0 -37
  461. package/dist/phases/find-shared/rule-config.js +0 -67
  462. package/dist/phases/find-shared/rule-packs.d.ts +0 -65
  463. package/dist/phases/find-shared/rule-packs.js +0 -124
  464. package/dist/phases/find-shared/scan-state.d.ts +0 -33
  465. package/dist/phases/find-shared/scan-state.js +0 -112
  466. package/dist/phases/find-shared/scoped-read.d.ts +0 -12
  467. package/dist/phases/find-shared/scoped-read.js +0 -33
  468. package/dist/phases/find-smells/index.d.ts +0 -50
  469. package/dist/phases/find-smells/index.js +0 -305
  470. package/dist/phases/find-smells/prompts.d.ts +0 -31
  471. package/dist/phases/find-smells/prompts.js +0 -130
  472. package/dist/phases/find-smells/state.d.ts +0 -21
  473. package/dist/phases/find-smells/state.js +0 -17
  474. package/dist/phases/find-smells/types.d.ts +0 -51
  475. package/dist/phases/find-smells/types.js +0 -64
  476. package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
  477. package/dist/phases/flow-shared/clone-repos.js +0 -153
  478. package/dist/phases/flowchart/index.d.ts +0 -15
  479. package/dist/phases/flowchart/index.js +0 -50
  480. package/dist/phases/functional-testing/analyzer.d.ts +0 -46
  481. package/dist/phases/functional-testing/analyzer.js +0 -622
  482. package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
  483. package/dist/phases/functional-testing/context-fetcher.js +0 -83
  484. package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
  485. package/dist/phases/functional-testing/http-fallback.js +0 -156
  486. package/dist/phases/functional-testing/index.d.ts +0 -4
  487. package/dist/phases/functional-testing/index.js +0 -4
  488. package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
  489. package/dist/phases/functional-testing/mcp-server.js +0 -13
  490. package/dist/phases/functional-testing/prompts.d.ts +0 -2
  491. package/dist/phases/functional-testing/prompts.js +0 -58
  492. package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
  493. package/dist/phases/functional-testing/test-report-creator.js +0 -306
  494. package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
  495. package/dist/phases/functional-testing/test-retry-handler.js +0 -70
  496. package/dist/phases/growth-analysis/agent.d.ts +0 -2
  497. package/dist/phases/growth-analysis/agent.js +0 -107
  498. package/dist/phases/growth-analysis/context.d.ts +0 -23
  499. package/dist/phases/growth-analysis/context.js +0 -137
  500. package/dist/phases/growth-analysis/index.d.ts +0 -32
  501. package/dist/phases/growth-analysis/index.js +0 -226
  502. package/dist/phases/growth-analysis/prompts.d.ts +0 -2
  503. package/dist/phases/growth-analysis/prompts.js +0 -45
  504. package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
  505. package/dist/phases/intelligence-analysis/agent.js +0 -338
  506. package/dist/phases/intelligence-analysis/context.d.ts +0 -23
  507. package/dist/phases/intelligence-analysis/context.js +0 -142
  508. package/dist/phases/intelligence-analysis/index.d.ts +0 -58
  509. package/dist/phases/intelligence-analysis/index.js +0 -244
  510. package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
  511. package/dist/phases/intelligence-analysis/prompts.js +0 -62
  512. package/dist/phases/issue-analysis/agent.d.ts +0 -21
  513. package/dist/phases/issue-analysis/agent.js +0 -153
  514. package/dist/phases/issue-analysis/context.d.ts +0 -20
  515. package/dist/phases/issue-analysis/context.js +0 -93
  516. package/dist/phases/issue-analysis/index.d.ts +0 -8
  517. package/dist/phases/issue-analysis/index.js +0 -147
  518. package/dist/phases/issue-analysis/outcome.d.ts +0 -10
  519. package/dist/phases/issue-analysis/outcome.js +0 -42
  520. package/dist/phases/issue-analysis/prompts.d.ts +0 -8
  521. package/dist/phases/issue-analysis/prompts.js +0 -99
  522. package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
  523. package/dist/phases/issue-analysis-verification/agent.js +0 -124
  524. package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
  525. package/dist/phases/issue-analysis-verification/index.js +0 -79
  526. package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
  527. package/dist/phases/issue-analysis-verification/prompts.js +0 -75
  528. package/dist/phases/output-contracts.d.ts +0 -7
  529. package/dist/phases/output-contracts.js +0 -1201
  530. package/dist/phases/pr-execution/context.d.ts +0 -32
  531. package/dist/phases/pr-execution/context.js +0 -246
  532. package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
  533. package/dist/phases/pr-execution/file-assigner.js +0 -287
  534. package/dist/phases/pr-execution/index.d.ts +0 -22
  535. package/dist/phases/pr-execution/index.js +0 -401
  536. package/dist/phases/pr-execution/outcome.d.ts +0 -24
  537. package/dist/phases/pr-execution/outcome.js +0 -34
  538. package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
  539. package/dist/phases/pr-execution/pr-executor.js +0 -78
  540. package/dist/phases/pr-execution/prompts.d.ts +0 -27
  541. package/dist/phases/pr-execution/prompts.js +0 -131
  542. package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
  543. package/dist/phases/pr-resolve/checklist-learner.js +0 -153
  544. package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
  545. package/dist/phases/pr-resolve/github-reply.js +0 -75
  546. package/dist/phases/pr-resolve/index.d.ts +0 -33
  547. package/dist/phases/pr-resolve/index.js +0 -272
  548. package/dist/phases/pr-resolve/prompts.d.ts +0 -17
  549. package/dist/phases/pr-resolve/prompts.js +0 -107
  550. package/dist/phases/pr-resolve/types.d.ts +0 -18
  551. package/dist/phases/pr-resolve/types.js +0 -14
  552. package/dist/phases/pr-resolve/workspace.d.ts +0 -45
  553. package/dist/phases/pr-resolve/workspace.js +0 -174
  554. package/dist/phases/pr-review/index.d.ts +0 -27
  555. package/dist/phases/pr-review/index.js +0 -209
  556. package/dist/phases/pr-review/prompts.d.ts +0 -5
  557. package/dist/phases/pr-review/prompts.js +0 -87
  558. package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
  559. package/dist/phases/pr-shared/agent-utils.js +0 -112
  560. package/dist/phases/pr-shared/context.d.ts +0 -24
  561. package/dist/phases/pr-shared/context.js +0 -78
  562. package/dist/phases/pr-shared/status.d.ts +0 -18
  563. package/dist/phases/pr-shared/status.js +0 -37
  564. package/dist/phases/pr-splitting/context.d.ts +0 -28
  565. package/dist/phases/pr-splitting/context.js +0 -182
  566. package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
  567. package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
  568. package/dist/phases/pr-splitting/index.d.ts +0 -36
  569. package/dist/phases/pr-splitting/index.js +0 -413
  570. package/dist/phases/pr-splitting/outcome.d.ts +0 -24
  571. package/dist/phases/pr-splitting/outcome.js +0 -114
  572. package/dist/phases/pr-splitting/prompts.d.ts +0 -43
  573. package/dist/phases/pr-splitting/prompts.js +0 -154
  574. package/dist/phases/product-techniques/index.d.ts +0 -52
  575. package/dist/phases/product-techniques/index.js +0 -268
  576. package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
  577. package/dist/phases/product-techniques/mcp-server.js +0 -96
  578. package/dist/phases/product-techniques/prompts.d.ts +0 -19
  579. package/dist/phases/product-techniques/prompts.js +0 -66
  580. package/dist/phases/product-techniques/types.d.ts +0 -13
  581. package/dist/phases/product-techniques/types.js +0 -13
  582. package/dist/phases/product-test-cases/index.d.ts +0 -25
  583. package/dist/phases/product-test-cases/index.js +0 -174
  584. package/dist/phases/product-test-cases/prompts.d.ts +0 -24
  585. package/dist/phases/product-test-cases/prompts.js +0 -80
  586. package/dist/phases/product-test-cases/types.d.ts +0 -17
  587. package/dist/phases/product-test-cases/types.js +0 -27
  588. package/dist/phases/pull-request/creator.d.ts +0 -30
  589. package/dist/phases/pull-request/creator.js +0 -319
  590. package/dist/phases/pull-request/handler.d.ts +0 -15
  591. package/dist/phases/pull-request/handler.js +0 -92
  592. package/dist/phases/quality-benchmark/gate.d.ts +0 -50
  593. package/dist/phases/quality-benchmark/gate.js +0 -91
  594. package/dist/phases/quality-benchmark/index.d.ts +0 -65
  595. package/dist/phases/quality-benchmark/index.js +0 -208
  596. package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
  597. package/dist/phases/quality-benchmark/mcp-server.js +0 -252
  598. package/dist/phases/quality-benchmark/parsers.d.ts +0 -45
  599. package/dist/phases/quality-benchmark/parsers.js +0 -1311
  600. package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
  601. package/dist/phases/quality-benchmark/prompts.js +0 -154
  602. package/dist/phases/quality-benchmark/rubric.md +0 -1211
  603. package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
  604. package/dist/phases/quality-benchmark/tool-catalog.js +0 -693
  605. package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
  606. package/dist/phases/quality-benchmark/tool-runner.js +0 -399
  607. package/dist/phases/quality-benchmark/types.d.ts +0 -319
  608. package/dist/phases/quality-benchmark/types.js +0 -23
  609. package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
  610. package/dist/phases/quality-benchmark/workspace.js +0 -110
  611. package/dist/phases/recipes/index.d.ts +0 -63
  612. package/dist/phases/recipes/index.js +0 -358
  613. package/dist/phases/recipes/mcp-server.d.ts +0 -66
  614. package/dist/phases/recipes/mcp-server.js +0 -229
  615. package/dist/phases/recipes/prompts.d.ts +0 -35
  616. package/dist/phases/recipes/prompts.js +0 -105
  617. package/dist/phases/recipes/types.d.ts +0 -42
  618. package/dist/phases/recipes/types.js +0 -16
  619. package/dist/phases/release-sync/github.d.ts +0 -66
  620. package/dist/phases/release-sync/github.js +0 -140
  621. package/dist/phases/release-sync/index.d.ts +0 -24
  622. package/dist/phases/release-sync/index.js +0 -156
  623. package/dist/phases/release-sync/snapshot.d.ts +0 -27
  624. package/dist/phases/release-sync/snapshot.js +0 -158
  625. package/dist/phases/run-sheet/agent.d.ts +0 -49
  626. package/dist/phases/run-sheet/agent.js +0 -156
  627. package/dist/phases/run-sheet/index.d.ts +0 -57
  628. package/dist/phases/run-sheet/index.js +0 -392
  629. package/dist/phases/screen-flow/index.d.ts +0 -26
  630. package/dist/phases/screen-flow/index.js +0 -349
  631. package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
  632. package/dist/phases/screen-flow/mcp-server.js +0 -272
  633. package/dist/phases/screen-flow/prompts.d.ts +0 -19
  634. package/dist/phases/screen-flow/prompts.js +0 -43
  635. package/dist/phases/screen-flow/theme.d.ts +0 -19
  636. package/dist/phases/screen-flow/theme.js +0 -193
  637. package/dist/phases/screen-flow/types.d.ts +0 -137
  638. package/dist/phases/screen-flow/types.js +0 -81
  639. package/dist/phases/sequence-diagram/index.d.ts +0 -30
  640. package/dist/phases/sequence-diagram/index.js +0 -290
  641. package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
  642. package/dist/phases/sequence-diagram/mcp-server.js +0 -134
  643. package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
  644. package/dist/phases/sequence-diagram/prompts.js +0 -36
  645. package/dist/phases/sequence-diagram/types.d.ts +0 -52
  646. package/dist/phases/sequence-diagram/types.js +0 -93
  647. package/dist/phases/smoke-test/agent.d.ts +0 -12
  648. package/dist/phases/smoke-test/agent.js +0 -93
  649. package/dist/phases/smoke-test/index.d.ts +0 -22
  650. package/dist/phases/smoke-test/index.js +0 -241
  651. package/dist/phases/smoke-test/prompts.d.ts +0 -15
  652. package/dist/phases/smoke-test/prompts.js +0 -35
  653. package/dist/phases/state-diagram/index.d.ts +0 -15
  654. package/dist/phases/state-diagram/index.js +0 -53
  655. package/dist/phases/sync-github-issues/index.d.ts +0 -41
  656. package/dist/phases/sync-github-issues/index.js +0 -187
  657. package/dist/phases/sync-github-issues/state.d.ts +0 -26
  658. package/dist/phases/sync-github-issues/state.js +0 -18
  659. package/dist/phases/sync-github-issues/types.d.ts +0 -35
  660. package/dist/phases/sync-github-issues/types.js +0 -6
  661. package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
  662. package/dist/phases/sync-github-pull-requests/index.js +0 -210
  663. package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
  664. package/dist/phases/sync-github-pull-requests/state.js +0 -16
  665. package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
  666. package/dist/phases/sync-github-pull-requests/types.js +0 -1
  667. package/dist/phases/sync-org-repos/index.d.ts +0 -28
  668. package/dist/phases/sync-org-repos/index.js +0 -133
  669. package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
  670. package/dist/phases/sync-sentry-issues/index.js +0 -153
  671. package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
  672. package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
  673. package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
  674. package/dist/phases/sync-sentry-issues/state.js +0 -18
  675. package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
  676. package/dist/phases/sync-sentry-issues/types.js +0 -6
  677. package/dist/phases/sync-shared/mcp.d.ts +0 -81
  678. package/dist/phases/sync-shared/mcp.js +0 -111
  679. package/dist/phases/task/agent.d.ts +0 -10
  680. package/dist/phases/task/agent.js +0 -83
  681. package/dist/phases/task/context.d.ts +0 -16
  682. package/dist/phases/task/context.js +0 -50
  683. package/dist/phases/task/index.d.ts +0 -17
  684. package/dist/phases/task/index.js +0 -54
  685. package/dist/phases/task/prompts.d.ts +0 -9
  686. package/dist/phases/task/prompts.js +0 -21
  687. package/dist/phases/technical-design/context.d.ts +0 -12
  688. package/dist/phases/technical-design/context.js +0 -39
  689. package/dist/phases/technical-design/index.d.ts +0 -21
  690. package/dist/phases/technical-design/index.js +0 -456
  691. package/dist/phases/technical-design/outcome.d.ts +0 -25
  692. package/dist/phases/technical-design/outcome.js +0 -41
  693. package/dist/phases/technical-design/prompts.d.ts +0 -8
  694. package/dist/phases/technical-design/prompts.js +0 -210
  695. package/dist/phases/technical-design-verification/agent.d.ts +0 -53
  696. package/dist/phases/technical-design-verification/agent.js +0 -186
  697. package/dist/phases/technical-design-verification/index.d.ts +0 -38
  698. package/dist/phases/technical-design-verification/index.js +0 -152
  699. package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
  700. package/dist/phases/technical-design-verification/prompts.js +0 -143
  701. package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
  702. package/dist/phases/test-cases-analysis/agent.js +0 -105
  703. package/dist/phases/test-cases-analysis/context.d.ts +0 -15
  704. package/dist/phases/test-cases-analysis/context.js +0 -86
  705. package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
  706. package/dist/phases/test-cases-analysis/formatters.js +0 -35
  707. package/dist/phases/test-cases-analysis/index.d.ts +0 -9
  708. package/dist/phases/test-cases-analysis/index.js +0 -175
  709. package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
  710. package/dist/phases/test-cases-analysis/outcome.js +0 -146
  711. package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
  712. package/dist/phases/test-cases-analysis/prompts.js +0 -171
  713. package/dist/phases/user-psychology/agent.d.ts +0 -16
  714. package/dist/phases/user-psychology/agent.js +0 -105
  715. package/dist/phases/user-psychology/context.d.ts +0 -10
  716. package/dist/phases/user-psychology/context.js +0 -65
  717. package/dist/phases/user-psychology/index.d.ts +0 -18
  718. package/dist/phases/user-psychology/index.js +0 -96
  719. package/dist/phases/user-psychology/prompts.d.ts +0 -2
  720. package/dist/phases/user-psychology/prompts.js +0 -41
  721. package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
  722. package/dist/phases/user-stories-analysis/agent.js +0 -105
  723. package/dist/phases/user-stories-analysis/context.d.ts +0 -15
  724. package/dist/phases/user-stories-analysis/context.js +0 -86
  725. package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
  726. package/dist/phases/user-stories-analysis/formatters.js +0 -32
  727. package/dist/phases/user-stories-analysis/index.d.ts +0 -9
  728. package/dist/phases/user-stories-analysis/index.js +0 -175
  729. package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
  730. package/dist/phases/user-stories-analysis/outcome.js +0 -146
  731. package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
  732. package/dist/phases/user-stories-analysis/prompts.js +0 -194
  733. package/dist/services/audit-logs.d.ts +0 -73
  734. package/dist/services/audit-logs.js +0 -174
  735. package/dist/services/branches.d.ts +0 -103
  736. package/dist/services/branches.js +0 -391
  737. package/dist/services/checklist.d.ts +0 -100
  738. package/dist/services/checklist.js +0 -259
  739. package/dist/services/coaching/coaching-agent.d.ts +0 -39
  740. package/dist/services/coaching/coaching-agent.js +0 -308
  741. package/dist/services/coaching/coaching-loop.d.ts +0 -62
  742. package/dist/services/coaching/coaching-loop.js +0 -265
  743. package/dist/services/coaching/index.d.ts +0 -8
  744. package/dist/services/coaching/index.js +0 -8
  745. package/dist/services/coaching/phase-coaching.d.ts +0 -47
  746. package/dist/services/coaching/phase-coaching.js +0 -60
  747. package/dist/services/coaching/self-rating.d.ts +0 -26
  748. package/dist/services/coaching/self-rating.js +0 -153
  749. package/dist/services/feedbacks.d.ts +0 -57
  750. package/dist/services/feedbacks.js +0 -264
  751. package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
  752. package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
  753. package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
  754. package/dist/services/phase-hooks/hook-executor.js +0 -167
  755. package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
  756. package/dist/services/phase-hooks/hook-logging.js +0 -41
  757. package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
  758. package/dist/services/phase-hooks/hook-runner.js +0 -83
  759. package/dist/services/phase-hooks/index.d.ts +0 -10
  760. package/dist/services/phase-hooks/index.js +0 -9
  761. package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
  762. package/dist/services/phase-hooks/plugin-loader.js +0 -207
  763. package/dist/services/phase-hooks/types.d.ts +0 -69
  764. package/dist/services/phase-hooks/types.js +0 -8
  765. package/dist/services/phase-ratings.d.ts +0 -70
  766. package/dist/services/phase-ratings.js +0 -143
  767. package/dist/services/product-logs.d.ts +0 -31
  768. package/dist/services/product-logs.js +0 -94
  769. package/dist/services/pull-requests.d.ts +0 -57
  770. package/dist/services/pull-requests.js +0 -186
  771. package/dist/services/quality-reports.d.ts +0 -45
  772. package/dist/services/quality-reports.js +0 -93
  773. package/dist/services/repo-config.d.ts +0 -17
  774. package/dist/services/repo-config.js +0 -50
  775. package/dist/services/skill-resolver.d.ts +0 -46
  776. package/dist/services/skill-resolver.js +0 -123
  777. package/dist/services/video/device-frames.d.ts +0 -34
  778. package/dist/services/video/device-frames.js +0 -513
  779. package/dist/services/video/index.d.ts +0 -66
  780. package/dist/services/video/index.js +0 -238
  781. package/dist/services/video/retry.d.ts +0 -20
  782. package/dist/services/video/retry.js +0 -76
  783. package/dist/services/video/screenshot-generator.d.ts +0 -69
  784. package/dist/services/video/screenshot-generator.js +0 -259
  785. package/dist/services/video/tts-generator.d.ts +0 -40
  786. package/dist/services/video/tts-generator.js +0 -121
  787. package/dist/services/video/video-assembler.d.ts +0 -45
  788. package/dist/services/video/video-assembler.js +0 -351
  789. package/dist/services/video/video-uploader.d.ts +0 -28
  790. package/dist/services/video/video-uploader.js +0 -108
  791. package/dist/skills/phase/adr-generation/SKILL.md +0 -51
  792. package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
  793. package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
  794. package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
  795. package/dist/skills/phase/autonomous/SKILL.md +0 -52
  796. package/dist/skills/phase/branch-planning/SKILL.md +0 -55
  797. package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
  798. package/dist/skills/phase/class-diagram/SKILL.md +0 -44
  799. package/dist/skills/phase/code-implementation/SKILL.md +0 -68
  800. package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
  801. package/dist/skills/phase/code-refine/SKILL.md +0 -62
  802. package/dist/skills/phase/code-testing/SKILL.md +0 -78
  803. package/dist/skills/phase/data-flow/SKILL.md +0 -82
  804. package/dist/skills/phase/er-diagram/SKILL.md +0 -71
  805. package/dist/skills/phase/flowchart/SKILL.md +0 -38
  806. package/dist/skills/phase/functional-testing/SKILL.md +0 -62
  807. package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
  808. package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
  809. package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
  810. package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
  811. package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
  812. package/dist/skills/phase/pr-execution/SKILL.md +0 -69
  813. package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
  814. package/dist/skills/phase/screen-flow/SKILL.md +0 -78
  815. package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
  816. package/dist/skills/phase/smoke-test/SKILL.md +0 -80
  817. package/dist/skills/phase/state-diagram/SKILL.md +0 -38
  818. package/dist/skills/phase/task/SKILL.md +0 -19
  819. package/dist/skills/phase/technical-design/SKILL.md +0 -75
  820. package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
  821. package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
  822. package/dist/skills/phase/user-psychology/SKILL.md +0 -135
  823. package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
  824. package/dist/supabase/client.d.ts +0 -34
  825. package/dist/supabase/client.js +0 -123
  826. package/dist/system/session-manager.d.ts +0 -67
  827. package/dist/system/session-manager.js +0 -300
  828. package/dist/system/sleep-notification.d.ts +0 -15
  829. package/dist/system/sleep-notification.js +0 -108
  830. package/dist/system/sleep-prevention.d.ts +0 -20
  831. package/dist/system/sleep-prevention.js +0 -112
  832. package/dist/tools/bootstrap.d.ts +0 -45
  833. package/dist/tools/bootstrap.js +0 -50
  834. package/dist/types/external-sources.d.ts +0 -22
  835. package/dist/types/external-sources.js +0 -23
  836. package/dist/types/index.d.ts +0 -206
  837. package/dist/types/index.js +0 -1
  838. package/dist/types/issues.d.ts +0 -37
  839. package/dist/types/issues.js +0 -1
  840. package/dist/types/llm-responses.d.ts +0 -114
  841. package/dist/types/llm-responses.js +0 -9
  842. package/dist/types/pipeline.d.ts +0 -28
  843. package/dist/types/pipeline.js +0 -4
  844. package/dist/updater/auto-updater.d.ts +0 -39
  845. package/dist/updater/auto-updater.js +0 -134
  846. package/dist/utils/conflict-resolver.d.ts +0 -49
  847. package/dist/utils/conflict-resolver.js +0 -201
  848. package/dist/utils/formatters.d.ts +0 -42
  849. package/dist/utils/formatters.js +0 -166
  850. package/dist/utils/git-branch-manager-async.d.ts +0 -127
  851. package/dist/utils/git-branch-manager-async.js +0 -425
  852. package/dist/utils/git-branch-manager.d.ts +0 -160
  853. package/dist/utils/git-branch-manager.js +0 -613
  854. package/dist/utils/git-push.d.ts +0 -43
  855. package/dist/utils/git-push.js +0 -136
  856. package/dist/utils/github-repo-info.d.ts +0 -26
  857. package/dist/utils/github-repo-info.js +0 -45
  858. package/dist/utils/image-downloader.d.ts +0 -32
  859. package/dist/utils/image-downloader.js +0 -152
  860. package/dist/utils/issue-phase-cli.d.ts +0 -26
  861. package/dist/utils/issue-phase-cli.js +0 -44
  862. package/dist/utils/json-extract.d.ts +0 -6
  863. package/dist/utils/json-extract.js +0 -44
  864. package/dist/utils/json-extractor.d.ts +0 -27
  865. package/dist/utils/json-extractor.js +0 -102
  866. package/dist/utils/logger.d.ts +0 -35
  867. package/dist/utils/logger.js +0 -167
  868. package/dist/utils/pipeline-logger.d.ts +0 -8
  869. package/dist/utils/pipeline-logger.js +0 -38
  870. package/dist/utils/validation.d.ts +0 -68
  871. package/dist/utils/validation.js +0 -229
  872. package/dist/utils/workflow-utils.d.ts +0 -22
  873. package/dist/utils/workflow-utils.js +0 -48
  874. package/dist/workspace/session-workspace.d.ts +0 -43
  875. package/dist/workspace/session-workspace.js +0 -90
  876. package/dist/workspace/workspace-manager.d.ts +0 -105
  877. package/dist/workspace/workspace-manager.js +0 -280
@@ -1,516 +0,0 @@
1
- /**
2
- * Composes professional app store screenshots by combining:
3
- * 1. AI-generated mock app HTML (rendered via Playwright)
4
- * 2. Device frame wrapping (reusing existing device-frames.ts)
5
- * 3. Text overlay (headline + subheadline) on gradient background
6
- *
7
- * The final output is a single PNG at exact store-required dimensions.
8
- */
9
- import { mkdir } from 'fs/promises';
10
- import { tmpdir } from 'os';
11
- import { join } from 'path';
12
- import { generateDeviceFrameHtml, } from '../../services/video/device-frames.js';
13
- import { logError, logInfo, logWarning } from '../../utils/logger.js';
14
- import { ensurePlaywright } from '../../utils/validation.js';
15
- import { getInterFontStyle } from './inter-font.js';
16
- import { STORE_SCREENSHOT_SIZES } from './prompts.js';
17
- /**
18
- * Compose a single store screenshot for a specific device type
19
- */
20
- async function composeStoreScreenshot(opts) {
21
- const { browser, framedDataUrl, spec, specIdx, store, deviceType, size, outputDir, results, verbose, } = opts;
22
- try {
23
- const renderWidth = Math.round(size.width / 2);
24
- const renderHeight = Math.round(size.height / 2);
25
- const compositionHtml = createCompositionHtml(framedDataUrl, spec, renderWidth, renderHeight);
26
- const compContext = await browser.newContext({
27
- viewport: { width: renderWidth, height: renderHeight },
28
- deviceScaleFactor: 2,
29
- });
30
- const compPage = await compContext.newPage();
31
- await compPage.setContent(compositionHtml, { waitUntil: 'load' });
32
- await compPage.waitForTimeout(300);
33
- const fileName = `${store}-${deviceType}-${String(specIdx + 1).padStart(2, '0')}.png`;
34
- const filePath = join(outputDir, fileName);
35
- await compPage.screenshot({ path: filePath, fullPage: false, type: 'png' });
36
- await compContext.close();
37
- results.push({
38
- device_type: `${store}_${deviceType}`,
39
- display_order: specIdx + 1,
40
- local_path: filePath,
41
- width: size.width,
42
- height: size.height,
43
- caption: spec.headline,
44
- background_gradient: spec.background_gradient,
45
- device_frame: spec.device_frame,
46
- });
47
- if (verbose) {
48
- logInfo(` Generated: ${fileName} (${size.width}x${size.height})`);
49
- }
50
- }
51
- catch (error) {
52
- logWarning(`Failed to compose ${store}/${deviceType} for "${spec.headline}": ${error instanceof Error ? error.message : String(error)}`);
53
- }
54
- }
55
- async function loadChromium() {
56
- try {
57
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, no-new-func -- dynamic import to avoid bundler resolution of optional peer dependency
58
- const pw = await Function('return import("playwright")')();
59
- return pw.chromium;
60
- }
61
- catch {
62
- return null;
63
- }
64
- }
65
- async function isPlaywrightAvailable() {
66
- return (await loadChromium()) !== null;
67
- }
68
- /**
69
- * Map AI device_frame string to our DeviceFrameType
70
- */
71
- function mapDeviceFrame(frame) {
72
- switch (frame.toLowerCase()) {
73
- case 'iphone':
74
- return 'iphone';
75
- case 'ipad':
76
- return 'ipad';
77
- case 'macbook':
78
- return 'macbook';
79
- case 'browser':
80
- return 'browser';
81
- default:
82
- return 'iphone';
83
- }
84
- }
85
- /** Common named CSS colors likely in AI output. */
86
- const NAMED_COLORS = {
87
- white: [255, 255, 255],
88
- black: [0, 0, 0],
89
- red: [255, 0, 0],
90
- green: [0, 128, 0],
91
- blue: [0, 0, 255],
92
- yellow: [255, 255, 0],
93
- cyan: [0, 255, 255],
94
- magenta: [255, 0, 255],
95
- gray: [128, 128, 128],
96
- grey: [128, 128, 128],
97
- orange: [255, 165, 0],
98
- purple: [128, 0, 128],
99
- pink: [255, 192, 203],
100
- };
101
- /**
102
- * Parse a CSS color string to [R, G, B] (0-255 each).
103
- * Supports hex (#rgb, #rrggbb, #rrggbbaa), rgb(), rgba(), and named colors.
104
- */
105
- function parseColor(color) {
106
- const s = color.trim().toLowerCase();
107
- if (NAMED_COLORS[s]) {
108
- return NAMED_COLORS[s];
109
- }
110
- const rgbMatch = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/.exec(s);
111
- if (rgbMatch) {
112
- return [parseInt(rgbMatch[1]), parseInt(rgbMatch[2]), parseInt(rgbMatch[3])];
113
- }
114
- const hexMatch = /^#?([0-9a-f]{3,8})$/i.exec(s);
115
- if (!hexMatch) {
116
- return null;
117
- }
118
- const h = hexMatch[1];
119
- if (h.length === 3) {
120
- return [
121
- parseInt(h[0] + h[0], 16),
122
- parseInt(h[1] + h[1], 16),
123
- parseInt(h[2] + h[2], 16),
124
- ];
125
- }
126
- if (h.length >= 6) {
127
- return [
128
- parseInt(h.slice(0, 2), 16),
129
- parseInt(h.slice(2, 4), 16),
130
- parseInt(h.slice(4, 6), 16),
131
- ];
132
- }
133
- return null;
134
- }
135
- /**
136
- * Relative luminance (0-1) per WCAG 2.x sRGB formula.
137
- * Returns 1.0 for unparseable input — safe default that produces dark overlay.
138
- */
139
- function colorLuminance(color) {
140
- const rgb = parseColor(color);
141
- if (!rgb) {
142
- return 1.0;
143
- }
144
- const toLinear = (c) => {
145
- const s = c / 255;
146
- return s <= 0.04045 ? s / 12.92 : Math.pow((s + 0.055) / 1.055, 2.4);
147
- };
148
- return (0.2126 * toLinear(rgb[0]) +
149
- 0.7152 * toLinear(rgb[1]) +
150
- 0.0722 * toLinear(rgb[2]));
151
- }
152
- /** Hermite interpolation for smooth 0→1 transition. */
153
- function smoothstep(edge0, edge1, x) {
154
- const t = Math.max(0, Math.min(1, (x - edge0) / (edge1 - edge0)));
155
- return t * t * (3 - 2 * t);
156
- }
157
- /**
158
- * Returns overlay/shadow rgba() values that contrast with the given text color.
159
- * Uses smooth interpolation — strong at extremes, reduced for mid-range text
160
- * to avoid hurting contrast in ambiguous cases.
161
- */
162
- function contrastStyles(textColor) {
163
- const lum = colorLuminance(textColor);
164
- // Smooth 0→1: 0 = dark text, 1 = light text
165
- const lightness = smoothstep(0.15, 0.65, lum);
166
- // Overlay channel: black (0) for light text, white (255) for dark text
167
- const ch = Math.round(255 * (1 - lightness));
168
- // Certainty: 1 at extremes, 0 at the ambiguous middle
169
- const certainty = Math.abs(lightness - 0.5) * 2;
170
- // Base alphas — blend between dark-overlay and light-overlay presets
171
- const baseOverlay = 0.25 * lightness + 0.2 * (1 - lightness);
172
- const baseShadow = 0.35 * lightness + 0.4 * (1 - lightness);
173
- const baseShadowLight = 0.25 * lightness + 0.3 * (1 - lightness);
174
- // Scale by certainty — 50% minimum even at peak ambiguity
175
- const scale = 0.5 + 0.5 * certainty;
176
- const fmt = (alpha) => (alpha * scale).toFixed(2);
177
- return {
178
- overlayColor: `rgba(${ch},${ch},${ch},${fmt(baseOverlay)})`,
179
- shadowColor: `rgba(${ch},${ch},${ch},${fmt(baseShadow)})`,
180
- shadowColorLight: `rgba(${ch},${ch},${ch},${fmt(baseShadowLight)})`,
181
- };
182
- }
183
- /**
184
- * Create composition HTML: gradient background + text overlay + device-framed screenshot
185
- */
186
- function createCompositionHtml(framedScreenshotDataUrl, spec, targetWidth, targetHeight) {
187
- const isPortrait = targetHeight > targetWidth;
188
- const textColor = spec.text_color || '#ffffff';
189
- const fontStyle = getInterFontStyle();
190
- const fontFamily = `'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', sans-serif`;
191
- const { overlayColor, shadowColor, shadowColorLight } = contrastStyles(textColor);
192
- if (isPortrait) {
193
- // Portrait: text at top, device below
194
- return `<!DOCTYPE html>
195
- <html>
196
- <head>
197
- ${fontStyle}
198
- <style>
199
- * { margin: 0; padding: 0; box-sizing: border-box; }
200
- body {
201
- width: ${targetWidth}px;
202
- height: ${targetHeight}px;
203
- background: ${spec.background_gradient};
204
- display: flex;
205
- flex-direction: column;
206
- align-items: center;
207
- justify-content: flex-start;
208
- font-family: ${fontFamily};
209
- overflow: hidden;
210
- }
211
- .text-area {
212
- padding: ${Math.round(targetHeight * 0.05)}px ${Math.round(targetWidth * 0.08)}px;
213
- text-align: center;
214
- flex-shrink: 0;
215
- max-height: 28%;
216
- position: relative;
217
- }
218
- .text-area::after {
219
- content: '';
220
- position: absolute;
221
- inset: 0;
222
- background: linear-gradient(to bottom, ${overlayColor} 0%, transparent 100%);
223
- border-radius: inherit;
224
- pointer-events: none;
225
- }
226
- .headline {
227
- font-size: ${Math.round(targetWidth * 0.1)}px;
228
- font-weight: 800;
229
- color: ${textColor};
230
- line-height: 1.15;
231
- letter-spacing: -0.02em;
232
- margin-bottom: ${Math.round(targetHeight * 0.01)}px;
233
- text-shadow: 0 2px 12px ${shadowColor};
234
- position: relative;
235
- z-index: 1;
236
- display: -webkit-box;
237
- -webkit-line-clamp: 3;
238
- -webkit-box-orient: vertical;
239
- overflow: hidden;
240
- }
241
- .subheadline {
242
- font-size: ${Math.round(targetWidth * 0.05)}px;
243
- font-weight: 400;
244
- color: ${textColor};
245
- opacity: 0.85;
246
- line-height: 1.3;
247
- text-shadow: 0 1px 8px ${shadowColorLight};
248
- position: relative;
249
- z-index: 1;
250
- display: -webkit-box;
251
- -webkit-line-clamp: 2;
252
- -webkit-box-orient: vertical;
253
- overflow: hidden;
254
- }
255
- .device-area {
256
- flex: 1;
257
- display: flex;
258
- align-items: center;
259
- justify-content: center;
260
- overflow: hidden;
261
- min-height: 0;
262
- padding: 0 ${Math.round(targetWidth * 0.02)}px;
263
- }
264
- .device-area img {
265
- width: 92%;
266
- }
267
- </style>
268
- </head>
269
- <body>
270
- <div class="text-area">
271
- <div class="headline">${escapeHtml(spec.headline)}</div>
272
- ${spec.subheadline ? `<div class="subheadline">${escapeHtml(spec.subheadline)}</div>` : ''}
273
- </div>
274
- <div class="device-area">
275
- <img src="${framedScreenshotDataUrl}" alt="screenshot" />
276
- </div>
277
- </body>
278
- </html>`;
279
- }
280
- // Landscape: text on left, device on right
281
- return `<!DOCTYPE html>
282
- <html>
283
- <head>
284
- ${fontStyle}
285
- <style>
286
- * { margin: 0; padding: 0; box-sizing: border-box; }
287
- body {
288
- width: ${targetWidth}px;
289
- height: ${targetHeight}px;
290
- background: ${spec.background_gradient};
291
- display: flex;
292
- align-items: center;
293
- font-family: ${fontFamily};
294
- overflow: hidden;
295
- }
296
- .text-area {
297
- flex: 0 1 auto;
298
- min-width: 28%;
299
- max-width: 44%;
300
- padding: 0 ${Math.round(targetWidth * 0.04)}px;
301
- display: flex;
302
- flex-direction: column;
303
- justify-content: center;
304
- text-align: left;
305
- position: relative;
306
- }
307
- .text-area::after {
308
- content: '';
309
- position: absolute;
310
- inset: 0;
311
- background: linear-gradient(to right, ${overlayColor} 0%, transparent 100%);
312
- border-radius: inherit;
313
- pointer-events: none;
314
- }
315
- .headline {
316
- font-size: ${Math.round(targetWidth * 0.055)}px;
317
- font-weight: 800;
318
- color: ${textColor};
319
- line-height: 1.15;
320
- letter-spacing: -0.02em;
321
- margin-bottom: ${Math.round(targetHeight * 0.02)}px;
322
- text-shadow: 0 2px 12px ${shadowColor};
323
- position: relative;
324
- z-index: 1;
325
- display: -webkit-box;
326
- -webkit-line-clamp: 3;
327
- -webkit-box-orient: vertical;
328
- overflow: hidden;
329
- }
330
- .subheadline {
331
- font-size: ${Math.round(targetWidth * 0.028)}px;
332
- font-weight: 400;
333
- color: ${textColor};
334
- opacity: 0.85;
335
- line-height: 1.4;
336
- text-shadow: 0 1px 8px ${shadowColorLight};
337
- position: relative;
338
- z-index: 1;
339
- display: -webkit-box;
340
- -webkit-line-clamp: 2;
341
- -webkit-box-orient: vertical;
342
- overflow: hidden;
343
- }
344
- .device-area {
345
- flex: 1 1 0;
346
- min-width: 0;
347
- height: 100%;
348
- display: flex;
349
- align-items: center;
350
- justify-content: center;
351
- overflow: hidden;
352
- padding: ${Math.round(targetHeight * 0.03)}px;
353
- }
354
- .device-area img {
355
- max-width: 100%;
356
- max-height: 95%;
357
- object-fit: contain;
358
- }
359
- </style>
360
- </head>
361
- <body>
362
- <div class="text-area">
363
- <div class="headline">${escapeHtml(spec.headline)}</div>
364
- ${spec.subheadline ? `<div class="subheadline">${escapeHtml(spec.subheadline)}</div>` : ''}
365
- </div>
366
- <div class="device-area">
367
- <img src="${framedScreenshotDataUrl}" alt="screenshot" />
368
- </div>
369
- </body>
370
- </html>`;
371
- }
372
- function escapeHtml(str) {
373
- return str
374
- .replace(/&/g, '&amp;')
375
- .replace(/</g, '&lt;')
376
- .replace(/>/g, '&gt;')
377
- .replace(/"/g, '&quot;');
378
- }
379
- /**
380
- * Generate all store screenshots for a given set of specs and target stores.
381
- *
382
- * Pipeline per screenshot:
383
- * 1. Render AI HTML template at device viewport → raw PNG
384
- * 2. Wrap raw PNG in device frame → framed PNG
385
- * 3. Compose framed PNG + text overlay + gradient background at exact store dimensions → final PNG
386
- */
387
- export async function generateStoreScreenshots(specs, options) {
388
- await ensurePlaywright(isPlaywrightAvailable);
389
- const chromium = await loadChromium();
390
- if (!chromium) {
391
- throw new Error('Failed to load chromium');
392
- }
393
- const { productId, targetStore, locale: _locale, verbose } = options;
394
- const outputDir = join(tmpdir(), 'edsger-app-store-assets', productId);
395
- await mkdir(outputDir, { recursive: true });
396
- const browser = await chromium.launch({
397
- headless: true,
398
- args: ['--no-sandbox', '--disable-setuid-sandbox'],
399
- });
400
- const results = [];
401
- try {
402
- // Determine which store sizes to generate
403
- const stores = targetStore === 'all' ? ['apple', 'google'] : [targetStore];
404
- for (let specIdx = 0; specIdx < specs.length; specIdx++) {
405
- const spec = specs[specIdx];
406
- logInfo(`Generating screenshot ${specIdx + 1}/${specs.length}: "${spec.headline}"`);
407
- // Step 1: Render the AI HTML template at a base viewport to get raw app mock
408
- const deviceFrame = mapDeviceFrame(spec.device_frame);
409
- let baseViewport;
410
- if (deviceFrame === 'iphone') {
411
- baseViewport = { width: 390, height: 844 };
412
- }
413
- else if (deviceFrame === 'ipad') {
414
- baseViewport = { width: 1024, height: 1366 };
415
- }
416
- else {
417
- baseViewport = { width: 1280, height: 720 };
418
- }
419
- let rawScreenshotBuffer;
420
- try {
421
- const rawContext = await browser.newContext({
422
- viewport: baseViewport,
423
- deviceScaleFactor: 2,
424
- });
425
- const rawPage = await rawContext.newPage();
426
- await rawPage.setContent(spec.html_template, {
427
- waitUntil: 'networkidle',
428
- });
429
- await rawPage.waitForTimeout(500);
430
- rawScreenshotBuffer = await rawPage.screenshot({
431
- type: 'png',
432
- fullPage: false,
433
- });
434
- await rawContext.close();
435
- }
436
- catch (error) {
437
- logError(`Failed to render HTML template for "${spec.headline}": ${error instanceof Error ? error.message : String(error)}`);
438
- continue;
439
- }
440
- // Step 2: Wrap in device frame
441
- // Use tight canvas dimensions so the device fills most of the frame image.
442
- // This prevents excess padding that would make the device appear small in composition.
443
- const rawDataUrl = `data:image/png;base64,${rawScreenshotBuffer.toString('base64')}`;
444
- let frameWidth;
445
- if (deviceFrame === 'iphone') {
446
- frameWidth = 500;
447
- }
448
- else if (deviceFrame === 'ipad') {
449
- frameWidth = 900;
450
- }
451
- else {
452
- frameWidth = 1600;
453
- }
454
- let frameHeight;
455
- if (deviceFrame === 'iphone') {
456
- frameHeight = 1050;
457
- }
458
- else if (deviceFrame === 'ipad') {
459
- frameHeight = 1200;
460
- }
461
- else {
462
- frameHeight = 1000;
463
- }
464
- const frameHtml = generateDeviceFrameHtml(rawDataUrl, deviceFrame, {
465
- background: 'transparent',
466
- shadow: true,
467
- canvasWidth: frameWidth,
468
- canvasHeight: frameHeight,
469
- });
470
- let framedBuffer;
471
- try {
472
- const frameContext = await browser.newContext({
473
- viewport: { width: frameWidth, height: frameHeight },
474
- deviceScaleFactor: 2,
475
- });
476
- const framePage = await frameContext.newPage();
477
- await framePage.setContent(frameHtml, { waitUntil: 'load' });
478
- await framePage.waitForTimeout(300);
479
- framedBuffer = await framePage.screenshot({
480
- type: 'png',
481
- fullPage: false,
482
- omitBackground: true,
483
- });
484
- await frameContext.close();
485
- }
486
- catch (error) {
487
- logError(`Failed to apply device frame for "${spec.headline}": ${error instanceof Error ? error.message : String(error)}`);
488
- continue;
489
- }
490
- const framedDataUrl = `data:image/png;base64,${framedBuffer.toString('base64')}`;
491
- // Step 3: For each target store + device size, compose final screenshot
492
- for (const store of stores) {
493
- const sizes = STORE_SCREENSHOT_SIZES[store];
494
- for (const [deviceType, size] of Object.entries(sizes)) {
495
- await composeStoreScreenshot({
496
- browser,
497
- framedDataUrl,
498
- spec,
499
- specIdx,
500
- store,
501
- deviceType,
502
- size: size,
503
- outputDir,
504
- results,
505
- verbose,
506
- });
507
- }
508
- }
509
- }
510
- }
511
- finally {
512
- await browser.close();
513
- }
514
- logInfo(`Generated ${results.length} store screenshots in ${outputDir}`);
515
- return results;
516
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Uploads generated app store screenshots to Supabase Storage
3
- * and saves metadata via MCP.
4
- *
5
- * Reuses the same upload pattern as services/video/video-uploader.ts.
6
- */
7
- import { type AppStoreScreenshot } from '../../api/app-store.js';
8
- import { type GeneratedScreenshot } from './screenshot-composer.js';
9
- /**
10
- * Upload all generated screenshots to Supabase Storage and save metadata via MCP.
11
- *
12
- * @returns Locale-keyed Record of screenshot metadata saved to the database
13
- */
14
- export declare function uploadAppStoreScreenshots(screenshots: GeneratedScreenshot[], options: {
15
- productId: string;
16
- configId: string;
17
- locale: string;
18
- verbose?: boolean;
19
- }): Promise<Record<string, AppStoreScreenshot[]>>;
@@ -1,150 +0,0 @@
1
- /**
2
- * Uploads generated app store screenshots to Supabase Storage
3
- * and saves metadata via MCP.
4
- *
5
- * Reuses the same upload pattern as services/video/video-uploader.ts.
6
- */
7
- import { copyFile, mkdir, readFile } from 'fs/promises';
8
- import { homedir } from 'os';
9
- import { basename, join } from 'path';
10
- import { getAppStoreConfig, saveAppStoreScreenshots, } from '../../api/app-store.js';
11
- import { getSignedUploadUrls } from '../../api/storage.js';
12
- import { getMcpServerUrl } from '../../auth/auth-store.js';
13
- import { fetchWithRetry } from '../../services/video/retry.js';
14
- import { logError, logInfo } from '../../utils/logger.js';
15
- /**
16
- * Get local backup directory for app store assets
17
- */
18
- function getLocalAssetDir() {
19
- return join(homedir(), '.edsger', 'app-store-assets');
20
- }
21
- /**
22
- * Derive Supabase Storage REST API base URL from MCP server URL
23
- */
24
- function getStorageBaseUrl() {
25
- const mcpUrl = getMcpServerUrl();
26
- if (!mcpUrl) {
27
- return null;
28
- }
29
- const url = new URL(mcpUrl);
30
- url.pathname = '/storage/v1';
31
- return url.toString().replace(/\/$/, '');
32
- }
33
- /**
34
- * Upload all generated screenshots to Supabase Storage and save metadata via MCP.
35
- *
36
- * @returns Locale-keyed Record of screenshot metadata saved to the database
37
- */
38
- export async function uploadAppStoreScreenshots(screenshots, options) {
39
- const { productId, configId, locale, verbose } = options;
40
- // Save local backups
41
- const localDir = join(getLocalAssetDir(), productId);
42
- await mkdir(localDir, { recursive: true });
43
- const storageBaseUrl = getStorageBaseUrl();
44
- if (!storageBaseUrl) {
45
- logError('Not authenticated. Run `edsger login` to configure storage access.');
46
- // Still save locally even if we can't upload
47
- const localResults = [];
48
- for (const ss of screenshots) {
49
- const localFileName = basename(ss.local_path);
50
- const localPath = join(localDir, localFileName);
51
- await copyFile(ss.local_path, localPath);
52
- localResults.push({
53
- device_type: ss.device_type,
54
- display_order: ss.display_order,
55
- storage_url: '',
56
- storage_path: '',
57
- width: ss.width,
58
- height: ss.height,
59
- caption: ss.caption,
60
- background_gradient: ss.background_gradient,
61
- device_frame: ss.device_frame,
62
- });
63
- }
64
- return { [locale]: localResults };
65
- }
66
- // Save local backups and build storage paths
67
- const storagePaths = [];
68
- for (const ss of screenshots) {
69
- const localFileName = basename(ss.local_path);
70
- const localPath = join(localDir, localFileName);
71
- await copyFile(ss.local_path, localPath);
72
- storagePaths.push(`${productId}/${localFileName}`);
73
- }
74
- // Fetch signed upload URLs in a single batch request
75
- const signedUrls = await getSignedUploadUrls('app-store-assets', storagePaths, verbose);
76
- const signedUrlMap = new Map(signedUrls.map((u) => [u.path, u]));
77
- const uploadedScreenshots = [];
78
- for (let i = 0; i < screenshots.length; i++) {
79
- const ss = screenshots[i];
80
- const storagePath = storagePaths[i];
81
- const signed = signedUrlMap.get(storagePath);
82
- if (!signed) {
83
- logError(`No signed URL for ${storagePath}, skipping upload`);
84
- uploadedScreenshots.push({
85
- device_type: ss.device_type,
86
- display_order: ss.display_order,
87
- storage_url: '',
88
- storage_path: '',
89
- width: ss.width,
90
- height: ss.height,
91
- caption: ss.caption,
92
- background_gradient: ss.background_gradient,
93
- device_frame: ss.device_frame,
94
- });
95
- continue;
96
- }
97
- try {
98
- const localFileName = basename(ss.local_path);
99
- const fileBuffer = await readFile(ss.local_path);
100
- if (verbose) {
101
- logInfo(`Uploading ${localFileName} (${(fileBuffer.length / 1024).toFixed(0)}KB)...`);
102
- }
103
- await fetchWithRetry(signed.signed_url, {
104
- method: 'PUT',
105
- headers: {
106
- 'Content-Type': 'image/png',
107
- },
108
- body: new Uint8Array(fileBuffer),
109
- }, { label: `Upload ${localFileName}` });
110
- const publicUrl = `${storageBaseUrl}/object/public/app-store-assets/${storagePath}`;
111
- uploadedScreenshots.push({
112
- device_type: ss.device_type,
113
- display_order: ss.display_order,
114
- storage_url: publicUrl,
115
- storage_path: storagePath,
116
- width: ss.width,
117
- height: ss.height,
118
- caption: ss.caption,
119
- background_gradient: ss.background_gradient,
120
- device_frame: ss.device_frame,
121
- });
122
- }
123
- catch (error) {
124
- logError(`Failed to upload ${basename(ss.local_path)}: ${error instanceof Error ? error.message : String(error)}`);
125
- uploadedScreenshots.push({
126
- device_type: ss.device_type,
127
- display_order: ss.display_order,
128
- storage_url: '',
129
- storage_path: '',
130
- width: ss.width,
131
- height: ss.height,
132
- caption: ss.caption,
133
- background_gradient: ss.background_gradient,
134
- device_frame: ss.device_frame,
135
- });
136
- }
137
- }
138
- // Fetch existing config so we merge with other locales' screenshots
139
- const existing = await getAppStoreConfig(configId, verbose);
140
- const merged = {
141
- ...(existing?.screenshots || {}),
142
- [locale]: uploadedScreenshots,
143
- };
144
- // Save all screenshot metadata to the config via MCP
145
- const saved = await saveAppStoreScreenshots(configId, merged, verbose);
146
- if (saved) {
147
- logInfo(`Saved ${uploadedScreenshots.length} screenshot metadata records for locale "${locale}"`);
148
- }
149
- return merged;
150
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * architecture-diagram phase: map a component/dependency diagram (C4-ish) —
3
- * the modules / services / packages / datastores / external systems that make
4
- * up the product and how they depend on one another. Persisted to the
5
- * diagrams tables with `type = 'architecture'`.
6
- */
7
- import { type DiagramPhaseResult } from '../diagram-shared/generate.js';
8
- export interface ArchitectureDiagramPhaseOptions {
9
- productId?: string;
10
- repoId?: string;
11
- diagramId: string;
12
- guidance?: string;
13
- verbose?: boolean;
14
- }
15
- export declare function runArchitectureDiagramPhase(options: ArchitectureDiagramPhaseOptions): Promise<DiagramPhaseResult>;