@shepai/cli 1.55.3 → 1.57.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 (393) hide show
  1. package/apis/json-schema/NotificationEventConfig.yaml +20 -0
  2. package/apis/json-schema/NotificationEventType.yaml +4 -0
  3. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +22 -0
  4. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts +3 -1
  6. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts +29 -0
  8. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts.map +1 -0
  9. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.js +60 -0
  10. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +31 -0
  11. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -0
  12. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.js +70 -0
  13. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  14. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +4 -0
  15. package/dist/packages/core/src/domain/generated/output.d.ts +21 -1
  16. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  17. package/dist/packages/core/src/domain/generated/output.js +4 -0
  18. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/di/container.js +13 -0
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +4 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +8 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +18 -0
  25. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +3 -1
  26. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +28 -0
  28. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts +3 -1
  29. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.js +11 -5
  31. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +4 -0
  33. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts +61 -0
  34. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.d.ts.map +1 -0
  35. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +286 -0
  36. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  37. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +18 -7
  38. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +11 -1
  39. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  40. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/CLAUDE.md +63 -0
  41. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/antigravity.json +3 -2
  42. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +5 -0
  43. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor-cli.json +6 -1
  44. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor.json +1 -0
  45. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gemini-cli.json +27 -0
  46. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gh.json +18 -0
  47. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/git.json +18 -0
  48. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/vscode.json +1 -0
  49. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/windsurf.json +1 -0
  50. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zed.json +1 -0
  51. package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
  52. package/dist/src/presentation/cli/commands/install.command.js +6 -13
  53. package/dist/src/presentation/cli/commands/tools.command.d.ts +14 -0
  54. package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -0
  55. package/dist/src/presentation/cli/commands/tools.command.js +36 -0
  56. package/dist/src/presentation/cli/commands/ui.command.d.ts.map +1 -1
  57. package/dist/src/presentation/cli/commands/ui.command.js +6 -0
  58. package/dist/src/presentation/cli/index.js +2 -0
  59. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts +7 -0
  60. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts.map +1 -0
  61. package/dist/src/presentation/web/app/api/tools/[id]/install/route.js +18 -0
  62. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.d.ts +7 -0
  63. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.d.ts.map +1 -0
  64. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.js +28 -0
  65. package/dist/src/presentation/web/app/api/tools/route.d.ts +3 -0
  66. package/dist/src/presentation/web/app/api/tools/route.d.ts.map +1 -0
  67. package/dist/src/presentation/web/app/api/tools/route.js +13 -0
  68. package/dist/src/presentation/web/app/tools/page.d.ts +4 -0
  69. package/dist/src/presentation/web/app/tools/page.d.ts.map +1 -0
  70. package/dist/src/presentation/web/app/tools/page.js +10 -0
  71. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  72. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +6 -0
  73. package/dist/src/presentation/web/components/features/index.d.ts +3 -0
  74. package/dist/src/presentation/web/components/features/index.d.ts.map +1 -1
  75. package/dist/src/presentation/web/components/features/index.js +3 -0
  76. package/dist/src/presentation/web/components/features/tools/index.d.ts +4 -0
  77. package/dist/src/presentation/web/components/features/tools/index.d.ts.map +1 -0
  78. package/dist/src/presentation/web/components/features/tools/index.js +3 -0
  79. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts +9 -0
  80. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts.map +1 -0
  81. package/dist/src/presentation/web/components/features/tools/install-instructions.js +19 -0
  82. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts +12 -0
  83. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts.map +1 -0
  84. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.js +77 -0
  85. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts +8 -0
  86. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts.map +1 -0
  87. package/dist/src/presentation/web/components/features/tools/tool-card.js +39 -0
  88. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts +15 -0
  89. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts.map +1 -0
  90. package/dist/src/presentation/web/components/features/tools/tool-card.stories.js +136 -0
  91. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts +7 -0
  92. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts.map +1 -0
  93. package/dist/src/presentation/web/components/features/tools/tools-page-client.js +31 -0
  94. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts +13 -0
  95. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts.map +1 -0
  96. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.js +122 -0
  97. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  98. package/dist/src/presentation/web/dev-server.js +11 -0
  99. package/dist/tsconfig.build.tsbuildinfo +1 -1
  100. package/package.json +1 -1
  101. package/web/.next/BUILD_ID +1 -1
  102. package/web/.next/app-path-routes-manifest.json +4 -0
  103. package/web/.next/build-manifest.json +5 -5
  104. package/web/.next/cache/.previewinfo +1 -1
  105. package/web/.next/cache/.rscinfo +1 -1
  106. package/web/.next/cache/.tsbuildinfo +1 -1
  107. package/web/.next/cache/config.json +3 -3
  108. package/web/.next/fallback-build-manifest.json +2 -2
  109. package/web/.next/prerender-manifest.json +3 -3
  110. package/web/.next/required-server-files.js +1 -1
  111. package/web/.next/required-server-files.json +1 -1
  112. package/web/.next/routes-manifest.json +30 -1
  113. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  114. package/web/.next/server/app/_global-error/page.js +1 -1
  115. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  116. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/_global-error.html +2 -2
  118. package/web/.next/server/app/_global-error.rsc +1 -1
  119. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  120. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  121. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  122. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  123. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  124. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  125. package/web/.next/server/app/_not-found/page.js +1 -1
  126. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  127. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  129. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  130. package/web/.next/server/app/api/tools/[id]/install/route/app-paths-manifest.json +3 -0
  131. package/web/.next/server/app/api/tools/[id]/install/route/build-manifest.json +11 -0
  132. package/web/.next/server/app/api/tools/[id]/install/route/server-reference-manifest.json +4 -0
  133. package/web/.next/server/app/api/tools/[id]/install/route.js +7 -0
  134. package/web/.next/server/app/api/tools/[id]/install/route.js.map +5 -0
  135. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -0
  136. package/web/.next/server/app/api/tools/[id]/install/route_client-reference-manifest.js +2 -0
  137. package/web/.next/server/app/api/tools/[id]/launch/route/app-paths-manifest.json +3 -0
  138. package/web/.next/server/app/api/tools/[id]/launch/route/build-manifest.json +11 -0
  139. package/web/.next/server/app/api/tools/[id]/launch/route/server-reference-manifest.json +4 -0
  140. package/web/.next/server/app/api/tools/[id]/launch/route.js +7 -0
  141. package/web/.next/server/app/api/tools/[id]/launch/route.js.map +5 -0
  142. package/web/.next/server/app/api/tools/[id]/launch/route.js.nft.json +1 -0
  143. package/web/.next/server/app/api/tools/[id]/launch/route_client-reference-manifest.js +2 -0
  144. package/web/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  145. package/web/.next/server/app/api/tools/route/build-manifest.json +11 -0
  146. package/web/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  147. package/web/.next/server/app/api/tools/route.js +7 -0
  148. package/web/.next/server/app/api/tools/route.js.map +5 -0
  149. package/web/.next/server/app/api/tools/route.js.nft.json +1 -0
  150. package/web/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  151. package/web/.next/server/app/page/build-manifest.json +3 -3
  152. package/web/.next/server/app/page/server-reference-manifest.json +14 -14
  153. package/web/.next/server/app/page.js +2 -2
  154. package/web/.next/server/app/page.js.nft.json +1 -1
  155. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  156. package/web/.next/server/app/tools/page/app-paths-manifest.json +3 -0
  157. package/web/.next/server/app/tools/page/build-manifest.json +17 -0
  158. package/web/.next/server/app/tools/page/next-font-manifest.json +6 -0
  159. package/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -0
  160. package/web/.next/server/app/tools/page/server-reference-manifest.json +4 -0
  161. package/web/.next/server/app/tools/page.js +15 -0
  162. package/web/.next/server/app/tools/page.js.map +5 -0
  163. package/web/.next/server/app/tools/page.js.nft.json +1 -0
  164. package/web/.next/server/app/tools/page_client-reference-manifest.js +2 -0
  165. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  166. package/web/.next/server/app/version/page.js +2 -2
  167. package/web/.next/server/app/version/page.js.nft.json +1 -1
  168. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/app-paths-manifest.json +4 -0
  170. package/web/.next/server/chunks/{403f9_next_435614de._.js → 403f9_next_567de315._.js} +6 -7
  171. package/web/.next/server/chunks/403f9_next_567de315._.js.map +1 -0
  172. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  173. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  174. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_install_route_actions_ad71fb5e.js +3 -0
  175. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_launch_route_actions_0501a9ac.js +3 -0
  176. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +4 -0
  177. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js.map +1 -0
  178. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +3 -0
  179. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -0
  180. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +3 -0
  181. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -0
  182. package/web/.next/server/chunks/[root-of-the-server]__bb619083._.js +3 -0
  183. package/web/.next/server/chunks/[root-of-the-server]__bb619083._.js.map +1 -0
  184. package/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js +3 -0
  185. package/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js.map +1 -0
  186. package/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js +3 -0
  187. package/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js.map +1 -0
  188. package/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js +3 -0
  189. package/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js.map +1 -0
  190. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
  191. package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +12 -0
  192. package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js.map +1 -0
  193. package/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js → [root-of-the-server]__685eaa45._.js} +2 -2
  194. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f47a461b._.js → server/chunks/ssr/[root-of-the-server]__757c7912._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +3 -0
  196. package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js.map +1 -0
  197. package/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +3 -0
  198. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d8fbe735._.js.map → [root-of-the-server]__950afd5e._.js.map} +1 -1
  199. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e1c44885._.js → server/chunks/ssr/[root-of-the-server]__dbd220d2._.js} +2 -2
  200. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6e8b5181._.js → server/chunks/ssr/[root-of-the-server]__fbc89707._.js} +2 -2
  201. package/web/.next/server/chunks/ssr/_0e2c2b4f._.js +6 -0
  202. package/web/.next/server/chunks/ssr/_0e2c2b4f._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/_2900ed94._.js +3 -0
  204. package/web/.next/server/chunks/ssr/_2900ed94._.js.map +1 -0
  205. package/web/.next/server/chunks/ssr/_ad8a094f._.js +4 -0
  206. package/web/.next/server/chunks/ssr/_ad8a094f._.js.map +1 -0
  207. package/web/.next/server/chunks/ssr/_e242b954._.js +3 -0
  208. package/web/.next/server/chunks/ssr/_e242b954._.js.map +1 -0
  209. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +3 -0
  210. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js.map +1 -0
  211. package/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js +7 -0
  212. package/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js +3 -0
  214. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js.map +1 -0
  215. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  216. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +3 -0
  218. package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js.map +1 -0
  219. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  221. package/web/.next/server/middleware-build-manifest.js +3 -3
  222. package/web/.next/server/pages/500.html +2 -2
  223. package/web/.next/server/server-reference-manifest.js +1 -1
  224. package/web/.next/server/server-reference-manifest.json +15 -15
  225. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  226. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +4 -0
  227. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +5 -5
  228. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  229. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  230. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +30 -1
  231. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  232. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +1 -1
  233. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  234. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  235. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  236. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  237. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  238. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  239. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  240. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  241. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  242. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  243. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js +1 -1
  244. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  245. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  246. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  247. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  248. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/app-paths-manifest.json +3 -0
  249. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/build-manifest.json +11 -0
  250. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/server-reference-manifest.json +4 -0
  251. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +7 -0
  252. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.map +5 -0
  253. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -0
  254. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route_client-reference-manifest.js +2 -0
  255. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/app-paths-manifest.json +3 -0
  256. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/build-manifest.json +11 -0
  257. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/server-reference-manifest.json +4 -0
  258. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js +7 -0
  259. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js.map +5 -0
  260. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js.nft.json +1 -0
  261. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route_client-reference-manifest.js +2 -0
  262. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  263. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/build-manifest.json +11 -0
  264. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  265. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js +7 -0
  266. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js.map +5 -0
  267. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js.nft.json +1 -0
  268. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  269. package/web/.next/standalone/src/presentation/web/.next/server/app/page/build-manifest.json +3 -3
  270. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +14 -14
  271. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +2 -2
  272. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
  273. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  274. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/app-paths-manifest.json +3 -0
  275. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +17 -0
  276. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/next-font-manifest.json +6 -0
  277. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -0
  278. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +4 -0
  279. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +15 -0
  280. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.map +5 -0
  281. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -0
  282. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +2 -0
  283. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +3 -3
  284. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +2 -2
  285. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  286. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  287. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +4 -0
  288. package/web/.next/standalone/src/presentation/web/.next/server/chunks/{403f9_next_435614de._.js → 403f9_next_567de315._.js} +6 -7
  289. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  290. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_install_route_actions_ad71fb5e.js +3 -0
  291. package/web/.next/standalone/src/presentation/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_launch_route_actions_0501a9ac.js +3 -0
  292. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +4 -0
  293. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +3 -0
  294. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +3 -0
  295. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__bb619083._.js +3 -0
  296. package/web/.next/standalone/src/presentation/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js +3 -0
  297. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js +3 -0
  298. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js +3 -0
  299. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
  300. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +12 -0
  301. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js → [root-of-the-server]__685eaa45._.js} +2 -2
  302. package/web/.next/{server/chunks/ssr/[root-of-the-server]__f47a461b._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__757c7912._.js} +2 -2
  303. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +3 -0
  304. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +3 -0
  305. package/web/.next/{server/chunks/ssr/[root-of-the-server]__e1c44885._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__dbd220d2._.js} +2 -2
  306. package/web/.next/{server/chunks/ssr/[root-of-the-server]__6e8b5181._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js} +2 -2
  307. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e2c2b4f._.js +6 -0
  308. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_2900ed94._.js +3 -0
  309. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ad8a094f._.js +4 -0
  310. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e242b954._.js +3 -0
  311. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +3 -0
  312. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js +7 -0
  313. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js +3 -0
  314. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  315. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +3 -0
  316. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  317. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +3 -3
  318. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  319. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  320. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +15 -15
  321. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/install/route.ts +24 -0
  322. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/launch/route.ts +38 -0
  323. package/web/.next/standalone/src/presentation/web/app/api/tools/route.ts +14 -0
  324. package/web/.next/standalone/src/presentation/web/app/tools/page.tsx +17 -0
  325. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +6 -0
  326. package/web/.next/standalone/src/presentation/web/components/features/index.ts +3 -0
  327. package/web/.next/standalone/src/presentation/web/components/features/tools/index.ts +3 -0
  328. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.stories.tsx +89 -0
  329. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.tsx +109 -0
  330. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.stories.tsx +181 -0
  331. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.tsx +188 -0
  332. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.stories.tsx +141 -0
  333. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.tsx +100 -0
  334. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +5 -5
  335. package/web/.next/standalone/src/presentation/web/dev-server.ts +15 -0
  336. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  337. package/web/.next/static/chunks/0cd7c513169faee3.js +1 -0
  338. package/web/.next/static/chunks/1887af4ad3781531.js +2 -0
  339. package/web/.next/static/chunks/225de19e886a62ab.js +10 -0
  340. package/web/.next/static/chunks/35f41ba0a6d626d7.js +1 -0
  341. package/web/.next/static/chunks/3d4dcf0be654a331.js +5 -0
  342. package/web/.next/static/chunks/4651f20be1a3b7d7.css +2 -0
  343. package/web/.next/static/chunks/7138c478667158d0.js +1 -0
  344. package/web/.next/static/chunks/a1f2befd62b321c0.js +1 -0
  345. package/web/.next/static/chunks/a9c2b889c8749a94.js +1 -0
  346. package/web/.next/static/chunks/cda11a2491d519fc.js +1 -0
  347. package/web/.next/static/chunks/ef237b70209d9853.js +1 -0
  348. package/web/.next/static/chunks/{turbopack-35ff53de4dab1e56.js → turbopack-6a11f2f1634ff6e0.js} +1 -1
  349. package/web/.next/trace +1 -1
  350. package/web/.next/trace-build +1 -1
  351. package/web/.next/types/link.d.ts +5 -1
  352. package/web/.next/types/routes.d.ts +6 -2
  353. package/web/.next/types/validator.ts +36 -0
  354. package/web/.next/server/chunks/403f9_next_435614de._.js.map +0 -1
  355. package/web/.next/server/chunks/[externals]__ba6223e5._.js +0 -3
  356. package/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +0 -3
  357. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +0 -12
  358. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +0 -1
  359. package/web/.next/server/chunks/ssr/[root-of-the-server]__d8fbe735._.js +0 -3
  360. package/web/.next/server/chunks/ssr/_1632a21f._.js +0 -10
  361. package/web/.next/server/chunks/ssr/_1632a21f._.js.map +0 -1
  362. package/web/.next/server/chunks/ssr/_a35f2870._.js +0 -3
  363. package/web/.next/server/chunks/ssr/_a35f2870._.js.map +0 -1
  364. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +0 -3
  365. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js.map +0 -1
  366. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +0 -3
  367. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js.map +0 -1
  368. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[externals]__ba6223e5._.js +0 -3
  369. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +0 -3
  370. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +0 -12
  371. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d8fbe735._.js +0 -3
  372. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_1632a21f._.js +0 -10
  373. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a35f2870._.js +0 -3
  374. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +0 -3
  375. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +0 -3
  376. package/web/.next/static/chunks/00f6ac2dde225eb7.js +0 -1
  377. package/web/.next/static/chunks/084314470f2144d2.js +0 -2
  378. package/web/.next/static/chunks/1f13bc20e938335c.css +0 -2
  379. package/web/.next/static/chunks/8f4461aee9a05741.js +0 -5
  380. package/web/.next/static/chunks/958c51856b8d6ed7.js +0 -10
  381. package/web/.next/static/chunks/9a82d8c76f175235.js +0 -1
  382. package/web/.next/static/chunks/b13aa397579082e7.js +0 -1
  383. package/web/.next/static/chunks/e21d644e5a584136.js +0 -1
  384. package/web/.next/static/chunks/f023fd36b47a5baa.js +0 -1
  385. /package/web/.next/server/chunks/{[externals]__ba6223e5._.js.map → 744ca_web__next-internal_server_app_api_tools_[id]_install_route_actions_ad71fb5e.js.map} +0 -0
  386. /package/web/.next/server/chunks/{ssr/[externals]_node:path_d28a9bfe._.js.map → 744ca_web__next-internal_server_app_api_tools_[id]_launch_route_actions_0501a9ac.js.map} +0 -0
  387. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js.map → [root-of-the-server]__685eaa45._.js.map} +0 -0
  388. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f47a461b._.js.map → [root-of-the-server]__757c7912._.js.map} +0 -0
  389. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__e1c44885._.js.map → [root-of-the-server]__dbd220d2._.js.map} +0 -0
  390. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__6e8b5181._.js.map → [root-of-the-server]__fbc89707._.js.map} +0 -0
  391. /package/web/.next/static/{cqDB25f0Vxmh-LBw_64mT → V2579MPjpJ_hqKjPsmMlR}/_buildManifest.js +0 -0
  392. /package/web/.next/static/{cqDB25f0Vxmh-LBw_64mT → V2579MPjpJ_hqKjPsmMlR}/_clientMiddlewareManifest.json +0 -0
  393. /package/web/.next/static/{cqDB25f0Vxmh-LBw_64mT → V2579MPjpJ_hqKjPsmMlR}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40060,e=>{"use strict";function t(e){let t=globalThis.__shepContainer;if(!t)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return t.resolve(e)}e.s(["resolve",()=>t])},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},9550,e=>{"use strict";var t=e.i(22925),r=e.i(62995),a=e.i(14112),n=e.i(31716),o=e.i(16340),s=e.i(40522),i=e.i(21994),l=e.i(5802),d=e.i(17171),u=e.i(177),p=e.i(43685),c=e.i(84832),h=e.i(92435),x=e.i(41260),f=e.i(80556),v=e.i(93695);e.i(97230);var R=e.i(35162),m=e.i(27980),g=e.i(40060),w=e.i(2157),E=e.i(50227),y=e.i(57764);let C={get url(){return`file://${e.P("packages/core/src/infrastructure/services/tool-installer/tool-metadata.ts")}`}},b=["name","summary","description","tags","binary","packageManager","commands","timeout","documentationUrl","verifyCommand"],A=function(){let e,t=(0,E.join)((0,y.fileURLToPath)(C.url),"..","tools"),r={};try{e=(0,w.readdirSync)(t).filter(e=>e.endsWith(".json"))}catch{return r}for(let a of e){let e=(0,E.basename)(a,".json");try{let n=(0,w.readFileSync)((0,E.join)(t,a),"utf-8"),o=JSON.parse(n);if(b.filter(e=>!(e in o)).length>0)continue;r[e]=o}catch{}}return r}();async function T(e,{params:t}){let{id:r}=await t;if(!A[r])return m.NextResponse.json({error:"Tool not found"},{status:404});try{let e=(0,g.resolve)("InstallToolUseCase"),t=await e.execute(r);return m.NextResponse.json({status:t})}catch(t){let e=t instanceof Error?t.message:"Failed to install tool";return m.NextResponse.json({error:e},{status:500})}}e.s(["POST",()=>T],55315);var N=e.i(55315);let P=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tools/[id]/install/route",pathname:"/api/tools/[id]/install",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/tools/[id]/install/route.ts",nextConfigOutput:"standalone",userland:N}),{workAsyncStorage:j,workUnitAsyncStorage:k,serverHooks:q}=P;function O(){return(0,a.patchFetch)({workAsyncStorage:j,workUnitAsyncStorage:k})}async function S(e,t,a){P.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/tools/[id]/install/route";m=m.replace(/\/index$/,"")||"/";let g=await P.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:C,isDraftMode:b,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:q,serverActionsManifest:O}=g,S=(0,i.normalizeAppPath)(m),_=!!(A.dynamicRoutes[S]||A.routes[k]),U=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,C,!1):t.end("This page could not be found"),null);if(_&&!b){let e=!!A.routes[k],t=A.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await U();throw new v.NoFallbackError}}let I=null;!_||P.isDev||b||(I="/index"===(I=k)?"/":I);let H=!0===P.isDev||!_,D=_&&!H;O&&q&&(0,s.setManifestsSingleton)({page:m,clientReferenceManifest:q,serverActionsManifest:O});let M=e.method||"GET",F=(0,o.getTracer)(),$=F.getActiveScopeSpan(),K={params:E,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>P.onRequestError(e,t,a,n,T)},sharedContext:{buildId:w}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let s=async e=>P.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${m}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&N&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!_)return await (0,c.sendResponse)(L,B,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await P.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,T),t}},u=await P.handleResponse({req:e,nextConfig:y,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!_)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&_||v.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(L,B,new Response(u.value.body,{headers:v,status:u.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await P.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,T),_)throw t;return await (0,c.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>S,"patchFetch",()=>O,"routeModule",()=>P,"serverHooks",()=>q,"workAsyncStorage",()=>j,"workUnitAsyncStorage",()=>k],9550)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__bb619083._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93605,s=>{"use strict";s.s([])}];
2
+
3
+ //# sourceMappingURL=src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[77127,63496,a=>{"use strict";var b=a.i(96960),c=a.i(59653),d=a.i(7420),e=a.i(6175),f=a.i(90986),g=a.i(10973);function h(a){let c=a+"CollectionProvider",[h,i]=(0,d.createContextScope)(c),[j,k]=h(c,{collectionRef:{current:null},itemMap:new Map}),l=a=>{let{scope:c,children:d}=a,e=b.default.useRef(null),f=b.default.useRef(new Map).current;return(0,g.jsx)(j,{scope:c,itemMap:f,collectionRef:e,children:d})};l.displayName=c;let m=a+"CollectionSlot",n=(0,f.createSlot)(m),o=b.default.forwardRef((a,b)=>{let{scope:c,children:d}=a,f=k(m,c),h=(0,e.useComposedRefs)(b,f.collectionRef);return(0,g.jsx)(n,{ref:h,children:d})});o.displayName=m;let p=a+"CollectionItemSlot",q="data-radix-collection-item",r=(0,f.createSlot)(p),s=b.default.forwardRef((a,c)=>{let{scope:d,children:f,...h}=a,i=b.default.useRef(null),j=(0,e.useComposedRefs)(c,i),l=k(p,d);return b.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...h}),()=>void l.itemMap.delete(i))),(0,g.jsx)(r,{...{[q]:""},ref:j,children:f})});return s.displayName=p,[{Provider:l,Slot:o,ItemSlot:s},function(c){let d=k(a+"CollectionConsumer",c);return b.default.useCallback(()=>{let a=d.collectionRef.current;if(!a)return[];let b=Array.from(a.querySelectorAll(`[${q}]`));return Array.from(d.itemMap.values()).sort((a,c)=>b.indexOf(a.ref.current)-b.indexOf(c.ref.current))},[d.collectionRef,d.itemMap])},i]}var i=new WeakMap;function j(a,b){var c,d;let e,f,g;if("at"in Array.prototype)return Array.prototype.at.call(a,b);let h=(c=a,d=b,e=c.length,(g=(f=k(d))>=0?f:e+f)<0||g>=e?-1:g);return -1===h?void 0:a[h]}function k(a){return a!=a||0===a?0:Math.trunc(a)}(class a extends Map{#a;constructor(a){super(a),this.#a=[...super.keys()],i.set(this,!0)}set(a,b){return i.get(this)&&(this.has(a)?this.#a[this.#a.indexOf(a)]=a:this.#a.push(a)),super.set(a,b),this}insert(a,b,c){let d,e=this.has(b),f=this.#a.length,g=k(a),h=g>=0?g:f+g,i=h<0||h>=f?-1:h;if(i===this.size||e&&i===this.size-1||-1===i)return this.set(b,c),this;let j=this.size+ +!e;g<0&&h++;let l=[...this.#a],m=!1;for(let a=h;a<j;a++)if(h===a){let f=l[a];l[a]===b&&(f=l[a+1]),e&&this.delete(b),d=this.get(f),this.set(b,c)}else{m||l[a-1]!==b||(m=!0);let c=l[m?a:a-1],e=d;d=this.get(c),this.delete(c),this.set(c,e)}return this}with(b,c,d){let e=new a(this);return e.insert(b,c,d),e}before(a){let b=this.#a.indexOf(a)-1;if(!(b<0))return this.entryAt(b)}setBefore(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d,b,c)}after(a){let b=this.#a.indexOf(a);if(-1!==(b=-1===b||b===this.size-1?-1:b+1))return this.entryAt(b)}setAfter(a,b,c){let d=this.#a.indexOf(a);return -1===d?this:this.insert(d+1,b,c)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#a=[],super.clear()}delete(a){let b=super.delete(a);return b&&this.#a.splice(this.#a.indexOf(a),1),b}deleteAt(a){let b=this.keyAt(a);return void 0!==b&&this.delete(b)}at(a){let b=j(this.#a,a);if(void 0!==b)return this.get(b)}entryAt(a){let b=j(this.#a,a);if(void 0!==b)return[b,this.get(b)]}indexOf(a){return this.#a.indexOf(a)}keyAt(a){return j(this.#a,a)}from(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.at(d)}keyFrom(a,b){let c=this.indexOf(a);if(-1===c)return;let d=c+b;return d<0&&(d=0),d>=this.size&&(d=this.size-1),this.keyAt(d)}find(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return d;c++}}findIndex(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return c;c++}return -1}filter(b,c){let d=[],e=0;for(let a of this)Reflect.apply(b,c,[a,e,this])&&d.push(a),e++;return new a(d)}map(b,c){let d=[],e=0;for(let a of this)d.push([a[0],Reflect.apply(b,c,[a,e,this])]),e++;return new a(d)}reduce(...a){let[b,c]=a,d=0,e=c??this.at(0);for(let c of this)e=0===d&&1===a.length?c:Reflect.apply(b,this,[e,c,d,this]),d++;return e}reduceRight(...a){let[b,c]=a,d=c??this.at(-1);for(let c=this.size-1;c>=0;c--){let e=this.at(c);d=c===this.size-1&&1===a.length?e:Reflect.apply(b,this,[d,e,c,this])}return d}toSorted(b){return new a([...this.entries()].sort(b))}toReversed(){let b=new a;for(let a=this.size-1;a>=0;a--){let c=this.keyAt(a),d=this.get(c);b.set(c,d)}return b}toSpliced(...b){let c=[...this.entries()];return c.splice(...b),new a(c)}slice(b,c){let d=new a,e=this.size-1;if(void 0===b)return d;b<0&&(b+=this.size),void 0!==c&&c>0&&(e=c-1);for(let a=b;a<=e;a++){let b=this.keyAt(a),c=this.get(b);d.set(b,c)}return d}every(a,b){let c=0;for(let d of this){if(!Reflect.apply(a,b,[d,c,this]))return!1;c++}return!0}some(a,b){let c=0;for(let d of this){if(Reflect.apply(a,b,[d,c,this]))return!0;c++}return!1}}),a.s(["createCollection",()=>h],63496);var l=a.i(5472),m=a.i(66873),n=a.i(79406),o=a.i(17329),p=a.i(48939),q="rovingFocusGroup.onEntryFocus",r={bubbles:!1,cancelable:!0},s="RovingFocusGroup",[t,u,v]=h(s),[w,x]=(0,d.createContextScope)(s,[v]),[y,z]=w(s),A=b.forwardRef((a,b)=>(0,g.jsx)(t.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,g.jsx)(t.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,g.jsx)(B,{...a,ref:b})})}));A.displayName=s;var B=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:f,orientation:h,loop:i=!1,dir:j,currentTabStopId:k,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:t,onEntryFocus:v,preventScrollOnEntryFocus:w=!1,...x}=a,z=b.useRef(null),A=(0,e.useComposedRefs)(d,z),B=(0,p.useDirection)(j),[C,D]=(0,o.useControllableState)({prop:k,defaultProp:l??null,onChange:t,caller:s}),[E,G]=b.useState(!1),H=(0,n.useCallbackRef)(v),I=u(f),J=b.useRef(!1),[K,L]=b.useState(0);return b.useEffect(()=>{let a=z.current;if(a)return a.addEventListener(q,H),()=>a.removeEventListener(q,H)},[H]),(0,g.jsx)(y,{scope:f,orientation:h,dir:B,loop:i,currentTabStopId:C,onItemFocus:b.useCallback(a=>D(a),[D]),onItemShiftTab:b.useCallback(()=>G(!0),[]),onFocusableItemAdd:b.useCallback(()=>L(a=>a+1),[]),onFocusableItemRemove:b.useCallback(()=>L(a=>a-1),[]),children:(0,g.jsx)(m.Primitive.div,{tabIndex:E||0===K?-1:0,"data-orientation":h,...x,ref:A,style:{outline:"none",...a.style},onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,()=>{J.current=!0}),onFocus:(0,c.composeEventHandlers)(a.onFocus,a=>{let b=!J.current;if(a.target===a.currentTarget&&b&&!E){let b=new CustomEvent(q,r);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=I().filter(a=>a.focusable);F([a.find(a=>a.active),a.find(a=>a.id===C),...a].filter(Boolean).map(a=>a.ref.current),w)}}J.current=!1}),onBlur:(0,c.composeEventHandlers)(a.onBlur,()=>G(!1))})})}),C="RovingFocusGroupItem",D=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,focusable:f=!0,active:h=!1,tabStopId:i,children:j,...k}=a,n=(0,l.useId)(),o=i||n,p=z(C,e),q=p.currentTabStopId===o,r=u(e),{onFocusableItemAdd:s,onFocusableItemRemove:v,currentTabStopId:w}=p;return b.useEffect(()=>{if(f)return s(),()=>v()},[f,s,v]),(0,g.jsx)(t.ItemSlot,{scope:e,id:o,focusable:f,active:h,children:(0,g.jsx)(m.Primitive.span,{tabIndex:q?0:-1,"data-orientation":p.orientation,...k,ref:d,onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,a=>{f?p.onItemFocus(o):a.preventDefault()}),onFocus:(0,c.composeEventHandlers)(a.onFocus,()=>p.onItemFocus(o)),onKeyDown:(0,c.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void p.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return E[e]}(a,p.orientation,p.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=r().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=p.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>F(e))}}),children:"function"==typeof j?j({isCurrentTabStop:q,hasTabStop:null!=w}):j})})});D.displayName=C;var E={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function F(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}a.s(["Item",()=>D,"Root",()=>A,"createRovingFocusGroupScope",()=>x],77127)}];
2
+
3
+ //# sourceMappingURL=6769f_%40radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},22672,a=>{a.n(a.i(41208))},96380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},61049,a=>{"use strict";a.s(["ToolsPageClient",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ToolsPageClient() from the server but ToolsPageClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/tools/tools-page-client.tsx <module evaluation>","ToolsPageClient")},50642,a=>{"use strict";a.s(["ToolsPageClient",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ToolsPageClient() from the server but ToolsPageClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/tools/tools-page-client.tsx","ToolsPageClient")},90886,a=>{"use strict";a.i(61049);var b=a.i(50642);a.n(b)},72284,a=>{"use strict";var b=a.i(92807),c=a.i(96380),d=a.i(90886);async function e(){let a=(0,c.resolve)("ListToolsUseCase"),e=await a.execute();return(0,b.jsx)("div",{className:"flex h-full flex-col p-6",children:(0,b.jsx)(d.ToolsPageClient,{tools:e})})}a.s(["default",()=>e,"dynamic",0,"force-dynamic"])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1efeb0eb._.js.map
@@ -1,9 +1,9 @@
1
1
  module.exports=[92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},4510,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{rejected:!1,error:"Feature not found"};if(!e.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("RejectAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.rejected)return{rejected:!1,error:g.reason};return{rejected:!0,iteration:g.iteration,iterationWarning:g.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a);return{questionnaire:{question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60b9406eb1ae2b2fbe2a4594dfbe68871999c341b7",null),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"60b1d734995fc12cf1c9f7bff715af31c98d8a36fc",null),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40aeb24570cb47c3c36dfd30e1b37f6230495bd3ab",null),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40654aaa0617b2a04ad3247d4a099ffc9b4fe75308",null);let i="__shepSettings";function j(){let a=function(){let a=globalThis[i];if(null!=a)return a;let b=process[i];return null!=b?b:null}();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}async function k(){let{workflow:a}=j();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete}}async function l(a){if(!a.trim())return{error:"Feature id is required"};try{let b,d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{error:"Feature not found"};let f=e.pr?{url:e.pr.url,number:e.pr.number,status:e.pr.status,commitHash:e.pr.commitHash,ciStatus:e.pr.ciStatus}:void 0,g=e.branch?{source:e.branch,target:"main"}:void 0;try{let d=(0,c.resolve)("GetPlanArtifactUseCase");b=(await d.execute(a)).phases.map(({id:a,name:b,description:c})=>({id:a,name:b,description:c}))}catch{}if(!e.worktreePath)return{pr:f,branch:g,phases:b,warning:f?void 0:"No PR or diff data available"};try{let a=(0,c.resolve)("IGitPrService"),d=await a.getPrDiffSummary(e.worktreePath,"main");return{pr:f,branch:g,phases:b,diffSummary:d}}catch{return{pr:f,branch:g,phases:b,warning:"Diff statistics unavailable"}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}async function m(a){let{repositoryPath:b,branch:d}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};let e=j().environment.defaultEditor,f=(0,c.resolve)("LaunchIdeUseCase"),g=await f.execute({editorId:e,repositoryPath:b,branch:d,checkAvailability:!0});return g.ok?{success:!0,editor:g.editorName,path:g.worktreePath}:{success:!1,error:g.message}}(0,d.ensureServerEntryExports)([k]),(0,b.registerServerReference)(k,"00499f598775e22161d4ca54823c286c50584e36a4",null),(0,d.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"402f87d52caf65bf6d15b7ecc0dbc46478e3d684e3",null),(0,d.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"40856a37d6dcb4da8d08dfb96267d58ea769b90906",null);var n=a.i(2157),o=a.i(60526),p=a.i(74533),q=a.i(66680),r=a.i(50227);a.i(12714);let s={darwin:{cmd:"open",args:a=>["-a","Terminal",a]},linux:{cmd:"x-terminal-emulator",args:a=>[`--working-directory=${a}`]}};async function t(a){let{repositoryPath:b,branch:c}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a,d,e=j().environment.shellPreference,f=c?(a=(0,q.createHash)("sha256").update(b).digest("hex").slice(0,16),d=c.replace(/\//g,"-"),(0,r.join)(process.env.SHEP_HOME??(0,r.join)((0,o.homedir)(),".shep"),"repos",a,"wt",d)):b;if(!(0,n.existsSync)(f))return{success:!1,error:`Path does not exist: ${f}`};let g=s[(0,o.platform)()];if(!g)return{success:!1,error:`Unsupported platform: ${(0,o.platform)()}. Shell launch is supported on macOS and Linux only.`};let h=(0,p.spawn)(g.cmd,g.args(f),{detached:!0,stdio:"ignore"});return h.on("error",()=>void 0),h.unref(),{success:!0,path:f,shell:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,d.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"406566219ced868081209e454aeeda8999b343bd14",null);let u={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]}};async function v(a){if(!a?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,n.existsSync)(a))return{success:!1,error:"Directory not found"};let b=u[(0,o.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,o.platform)()}. Folder open is supported on macOS and Linux only.`};let c=(0,p.spawn)(b.cmd,b.args(a),{detached:!0,stdio:"ignore"});return c.on("error",()=>void 0),c.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}(0,d.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"40e2cfb0ee0a5480d66dfed06749c4349f7b596a96",null);let w={platform:process.platform,exec:(a,b)=>(0,p.execSync)(a,b)},x={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class y{deps;constructor(a={}){this.deps={...w,...a}}getCommand(){return x[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function z(){let a=new y;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}async function A(a){let{name:b,description:d,repositoryPath:e,attachments:f,approvalGates:g,push:h,openPr:i,parentId:j}=a;if(!b?.trim())return{error:"name is required"};if(!e?.trim())return{error:"repositoryPath is required"};let k=function(a,b,c){let d=`Feature: ${a}`;if(b&&(d+=`
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},4510,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a,b){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{approved:!1,error:"Feature not found"};if(!e.agentRunId)return{approved:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("ApproveAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.approved)return{approved:!1,error:g.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a,b){if(!a.trim())return{rejected:!1,error:"Feature id is required"};if(!b.trim())return{rejected:!1,error:"Feedback is required"};try{let d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{rejected:!1,error:"Feature not found"};if(!e.agentRunId)return{rejected:!1,error:"Feature has no agent run"};let f=(0,c.resolve)("RejectAgentRunUseCase"),g=await f.execute(e.agentRunId,b);if(!g.rejected)return{rejected:!1,error:g.reason};return{rejected:!0,iteration:g.iteration,iterationWarning:g.iterationWarning}}catch(a){return{rejected:!1,error:a instanceof Error?a.message:"Failed to reject feature"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a);return{questionnaire:{question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function h(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"60f7f22fb9e333f67ad58167be0c70550f76e3b676",null),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"60a4e0164673c8bc1d87ee21164f4f33ed750943c3",null),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40e91f55e92f3aab97479c09c043102a587c0e0d0e",null),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40453c4100e8bb0f9e318bfcfbe9fc0ceb8b75e1f7",null);let i="__shepSettings";function j(){let a=function(){let a=globalThis[i];if(null!=a)return a;let b=process[i];return null!=b?b:null}();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}async function k(){let{workflow:a}=j();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete}}async function l(a){if(!a.trim())return{error:"Feature id is required"};try{let b,d=(0,c.resolve)("IFeatureRepository"),e=await d.findById(a);if(!e)return{error:"Feature not found"};let f=e.pr?{url:e.pr.url,number:e.pr.number,status:e.pr.status,commitHash:e.pr.commitHash,ciStatus:e.pr.ciStatus}:void 0,g=e.branch?{source:e.branch,target:"main"}:void 0;try{let d=(0,c.resolve)("GetPlanArtifactUseCase");b=(await d.execute(a)).phases.map(({id:a,name:b,description:c})=>({id:a,name:b,description:c}))}catch{}if(!e.worktreePath)return{pr:f,branch:g,phases:b,warning:f?void 0:"No PR or diff data available"};try{let a=(0,c.resolve)("IGitPrService"),d=await a.getPrDiffSummary(e.worktreePath,"main");return{pr:f,branch:g,phases:b,diffSummary:d}}catch{return{pr:f,branch:g,phases:b,warning:"Diff statistics unavailable"}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load merge review data"}}}async function m(a){let{repositoryPath:b,branch:d}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};let e=j().environment.defaultEditor,f=(0,c.resolve)("LaunchIdeUseCase"),g=await f.execute({editorId:e,repositoryPath:b,branch:d,checkAvailability:!0});return g.ok?{success:!0,editor:g.editorName,path:g.worktreePath}:{success:!1,error:g.message}}(0,d.ensureServerEntryExports)([k]),(0,b.registerServerReference)(k,"00f4eab6722fd6a22f18738f2d411bca6aa771147b",null),(0,d.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"407199288e8e7d84193f4f001ba5c9e791d68186c3",null),(0,d.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"4048bf9e5685b4e673ea0358836b9d555a599905f5",null);var n=a.i(2157),o=a.i(60526),p=a.i(74533),q=a.i(66680),r=a.i(50227);a.i(12714);let s={darwin:{cmd:"open",args:a=>["-a","Terminal",a]},linux:{cmd:"x-terminal-emulator",args:a=>[`--working-directory=${a}`]}};async function t(a){let{repositoryPath:b,branch:c}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a,d,e=j().environment.shellPreference,f=c?(a=(0,q.createHash)("sha256").update(b).digest("hex").slice(0,16),d=c.replace(/\//g,"-"),(0,r.join)(process.env.SHEP_HOME??(0,r.join)((0,o.homedir)(),".shep"),"repos",a,"wt",d)):b;if(!(0,n.existsSync)(f))return{success:!1,error:`Path does not exist: ${f}`};let g=s[(0,o.platform)()];if(!g)return{success:!1,error:`Unsupported platform: ${(0,o.platform)()}. Shell launch is supported on macOS and Linux only.`};let h=(0,p.spawn)(g.cmd,g.args(f),{detached:!0,stdio:"ignore"});return h.on("error",()=>void 0),h.unref(),{success:!0,path:f,shell:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,d.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"40cafd7014cc8993aba594914b88ec2b4d2a5d6f9a",null);let u={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]}};async function v(a){if(!a?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,n.existsSync)(a))return{success:!1,error:"Directory not found"};let b=u[(0,o.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,o.platform)()}. Folder open is supported on macOS and Linux only.`};let c=(0,p.spawn)(b.cmd,b.args(a),{detached:!0,stdio:"ignore"});return c.on("error",()=>void 0),c.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}(0,d.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"40884a86d5c92522c25faf7a5eba9e8860faab1c9c",null);let w={platform:process.platform,exec:(a,b)=>(0,p.execSync)(a,b)},x={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class y{deps;constructor(a={}){this.deps={...w,...a}}getCommand(){return x[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function z(){let a=new y;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}async function A(a){let{name:b,description:d,repositoryPath:e,attachments:f,approvalGates:g,push:h,openPr:i,parentId:j}=a;if(!b?.trim())return{error:"name is required"};if(!e?.trim())return{error:"repositoryPath is required"};let k=function(a,b,c){let d=`Feature: ${a}`;if(b&&(d+=`
3
3
 
4
4
  ${b}`),c&&c.length>0){let a=c.map(a=>`- ${a.path}`).join("\n");d+=`
5
5
 
6
6
  Attached files:
7
- ${a}`}return d}(b,d,f),l={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase");return{feature:(await a.execute({userInput:k,repositoryPath:e,approvalGates:l,push:h??!1,openPr:i??!1,...j?{parentId:j}:{}})).feature}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}async function B(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,c.resolve)("DeleteFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function C(a){let{path:b,name:d}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,c.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:d})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function D(a){if(!a?.trim())return{success:!1,error:"id is required"};try{let b=(0,c.resolve)("DeleteRepositoryUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete repository"}}}(0,d.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"00049462c9c5eefff63e407103b687425667b61e72",null),(0,d.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"401cf2d35ccae9f03a2ba1e27e923efdcc588b9914",null),(0,d.ensureServerEntryExports)([B]),(0,b.registerServerReference)(B,"40e9c2346347f0cae4d62868d63a87f3ba6845d15e",null),(0,d.ensureServerEntryExports)([C]),(0,b.registerServerReference)(C,"407aa98e99858222ebb141a5386cd44f90c3f209dc",null),(0,d.ensureServerEntryExports)([D]),(0,b.registerServerReference)(D,"40b6d765afda2f05d95e42b9aeb6bba9796f2e3289",null),a.s([],36114),a.i(36114),a.s(["00049462c9c5eefff63e407103b687425667b61e72",()=>z,"00499f598775e22161d4ca54823c286c50584e36a4",()=>k,"401cf2d35ccae9f03a2ba1e27e923efdcc588b9914",()=>A,"402f87d52caf65bf6d15b7ecc0dbc46478e3d684e3",()=>l,"40654aaa0617b2a04ad3247d4a099ffc9b4fe75308",()=>h,"406566219ced868081209e454aeeda8999b343bd14",()=>t,"407aa98e99858222ebb141a5386cd44f90c3f209dc",()=>C,"40856a37d6dcb4da8d08dfb96267d58ea769b90906",()=>m,"40aeb24570cb47c3c36dfd30e1b37f6230495bd3ab",()=>g,"40b6d765afda2f05d95e42b9aeb6bba9796f2e3289",()=>D,"40e2cfb0ee0a5480d66dfed06749c4349f7b596a96",()=>v,"40e9c2346347f0cae4d62868d63a87f3ba6845d15e",()=>B,"60b1d734995fc12cf1c9f7bff715af31c98d8a36fc",()=>f,"60b9406eb1ae2b2fbe2a4594dfbe68871999c341b7",()=>e],4510)}];
7
+ ${a}`}return d}(b,d,f),l={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase");return{feature:(await a.execute({userInput:k,repositoryPath:e,approvalGates:l,push:h??!1,openPr:i??!1,...j?{parentId:j}:{}})).feature}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}async function B(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,c.resolve)("DeleteFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function C(a){let{path:b,name:d}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,c.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:d})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function D(a){if(!a?.trim())return{success:!1,error:"id is required"};try{let b=(0,c.resolve)("DeleteRepositoryUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete repository"}}}(0,d.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"004760a0efa55a18175f4eae285c7666da36f2aaf3",null),(0,d.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"400ce58b45c3a6d27dc5430fab6ff5d608fdf9d798",null),(0,d.ensureServerEntryExports)([B]),(0,b.registerServerReference)(B,"4012a355d40514d64e25d8821a6467a18a27ed7556",null),(0,d.ensureServerEntryExports)([C]),(0,b.registerServerReference)(C,"408d4d1c0a2f9fde0c18abaf9e2f477d060a65fb31",null),(0,d.ensureServerEntryExports)([D]),(0,b.registerServerReference)(D,"400034429aeafce8e2a1fa82e2786c7899d47e2430",null),a.s([],36114),a.i(36114),a.s(["004760a0efa55a18175f4eae285c7666da36f2aaf3",()=>z,"00f4eab6722fd6a22f18738f2d411bca6aa771147b",()=>k,"400034429aeafce8e2a1fa82e2786c7899d47e2430",()=>D,"400ce58b45c3a6d27dc5430fab6ff5d608fdf9d798",()=>A,"4012a355d40514d64e25d8821a6467a18a27ed7556",()=>B,"40453c4100e8bb0f9e318bfcfbe9fc0ceb8b75e1f7",()=>h,"4048bf9e5685b4e673ea0358836b9d555a599905f5",()=>m,"407199288e8e7d84193f4f001ba5c9e791d68186c3",()=>l,"40884a86d5c92522c25faf7a5eba9e8860faab1c9c",()=>v,"408d4d1c0a2f9fde0c18abaf9e2f477d060a65fb31",()=>C,"40cafd7014cc8993aba594914b88ec2b4d2a5d6f9a",()=>t,"40e91f55e92f3aab97479c09c043102a587c0e0d0e",()=>g,"60a4e0164673c8bc1d87ee21164f4f33ed750943c3",()=>f,"60f7f22fb9e333f67ad58167be0c70550f76e3b676",()=>e],4510)}];
8
8
 
9
9
  //# sourceMappingURL=%5Broot-of-the-server%5D__2d1a8e37._.js.map