@shepai/cli 1.55.2 → 1.56.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 (364) hide show
  1. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts +3 -1
  2. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts +29 -0
  4. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts.map +1 -0
  5. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.js +60 -0
  6. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +31 -0
  7. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -0
  8. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.js +70 -0
  9. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/di/container.js +13 -0
  11. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts +3 -1
  12. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.js +11 -5
  14. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +18 -7
  16. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +11 -1
  17. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  18. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/CLAUDE.md +63 -0
  19. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/antigravity.json +3 -2
  20. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +5 -0
  21. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor-cli.json +6 -1
  22. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor.json +1 -0
  23. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gemini-cli.json +27 -0
  24. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gh.json +18 -0
  25. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/git.json +18 -0
  26. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/vscode.json +1 -0
  27. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/windsurf.json +1 -0
  28. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zed.json +1 -0
  29. package/dist/src/presentation/cli/commands/install.command.d.ts.map +1 -1
  30. package/dist/src/presentation/cli/commands/install.command.js +6 -13
  31. package/dist/src/presentation/cli/commands/tools.command.d.ts +14 -0
  32. package/dist/src/presentation/cli/commands/tools.command.d.ts.map +1 -0
  33. package/dist/src/presentation/cli/commands/tools.command.js +36 -0
  34. package/dist/src/presentation/cli/index.js +2 -0
  35. package/dist/src/presentation/web/app/actions/open-folder.d.ts.map +1 -1
  36. package/dist/src/presentation/web/app/actions/open-folder.js +17 -17
  37. package/dist/src/presentation/web/app/actions/open-shell.d.ts.map +1 -1
  38. package/dist/src/presentation/web/app/actions/open-shell.js +17 -17
  39. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts +7 -0
  40. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts.map +1 -0
  41. package/dist/src/presentation/web/app/api/tools/[id]/install/route.js +18 -0
  42. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.d.ts +7 -0
  43. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.d.ts.map +1 -0
  44. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.js +28 -0
  45. package/dist/src/presentation/web/app/api/tools/route.d.ts +3 -0
  46. package/dist/src/presentation/web/app/api/tools/route.d.ts.map +1 -0
  47. package/dist/src/presentation/web/app/api/tools/route.js +13 -0
  48. package/dist/src/presentation/web/app/tools/page.d.ts +4 -0
  49. package/dist/src/presentation/web/app/tools/page.d.ts.map +1 -0
  50. package/dist/src/presentation/web/app/tools/page.js +10 -0
  51. package/dist/src/presentation/web/components/features/index.d.ts +3 -0
  52. package/dist/src/presentation/web/components/features/index.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/features/index.js +3 -0
  54. package/dist/src/presentation/web/components/features/tools/index.d.ts +4 -0
  55. package/dist/src/presentation/web/components/features/tools/index.d.ts.map +1 -0
  56. package/dist/src/presentation/web/components/features/tools/index.js +3 -0
  57. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts +9 -0
  58. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts.map +1 -0
  59. package/dist/src/presentation/web/components/features/tools/install-instructions.js +19 -0
  60. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts +12 -0
  61. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts.map +1 -0
  62. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.js +77 -0
  63. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts +8 -0
  64. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts.map +1 -0
  65. package/dist/src/presentation/web/components/features/tools/tool-card.js +39 -0
  66. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts +15 -0
  67. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts.map +1 -0
  68. package/dist/src/presentation/web/components/features/tools/tool-card.stories.js +136 -0
  69. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts +7 -0
  70. package/dist/src/presentation/web/components/features/tools/tools-page-client.d.ts.map +1 -0
  71. package/dist/src/presentation/web/components/features/tools/tools-page-client.js +31 -0
  72. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts +13 -0
  73. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts.map +1 -0
  74. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.js +122 -0
  75. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  76. package/dist/tsconfig.build.tsbuildinfo +1 -1
  77. package/package.json +1 -1
  78. package/web/.next/BUILD_ID +1 -1
  79. package/web/.next/app-path-routes-manifest.json +4 -0
  80. package/web/.next/build-manifest.json +5 -5
  81. package/web/.next/cache/.previewinfo +1 -1
  82. package/web/.next/cache/.rscinfo +1 -1
  83. package/web/.next/cache/.tsbuildinfo +1 -1
  84. package/web/.next/cache/config.json +3 -3
  85. package/web/.next/fallback-build-manifest.json +2 -2
  86. package/web/.next/prerender-manifest.json +3 -3
  87. package/web/.next/required-server-files.js +1 -1
  88. package/web/.next/required-server-files.json +1 -1
  89. package/web/.next/routes-manifest.json +30 -1
  90. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  91. package/web/.next/server/app/_global-error/page.js +1 -1
  92. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  93. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/_global-error.html +2 -2
  95. package/web/.next/server/app/_global-error.rsc +1 -1
  96. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  97. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  98. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  99. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  100. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  101. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  102. package/web/.next/server/app/_not-found/page.js +1 -1
  103. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  104. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  105. package/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  106. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  107. package/web/.next/server/app/api/tools/[id]/install/route/app-paths-manifest.json +3 -0
  108. package/web/.next/server/app/api/tools/[id]/install/route/build-manifest.json +11 -0
  109. package/web/.next/server/app/api/tools/[id]/install/route/server-reference-manifest.json +4 -0
  110. package/web/.next/server/app/api/tools/[id]/install/route.js +7 -0
  111. package/web/.next/server/app/api/tools/[id]/install/route.js.map +5 -0
  112. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -0
  113. package/web/.next/server/app/api/tools/[id]/install/route_client-reference-manifest.js +2 -0
  114. package/web/.next/server/app/api/tools/[id]/launch/route/app-paths-manifest.json +3 -0
  115. package/web/.next/server/app/api/tools/[id]/launch/route/build-manifest.json +11 -0
  116. package/web/.next/server/app/api/tools/[id]/launch/route/server-reference-manifest.json +4 -0
  117. package/web/.next/server/app/api/tools/[id]/launch/route.js +7 -0
  118. package/web/.next/server/app/api/tools/[id]/launch/route.js.map +5 -0
  119. package/web/.next/server/app/api/tools/[id]/launch/route.js.nft.json +1 -0
  120. package/web/.next/server/app/api/tools/[id]/launch/route_client-reference-manifest.js +2 -0
  121. package/web/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  122. package/web/.next/server/app/api/tools/route/build-manifest.json +11 -0
  123. package/web/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  124. package/web/.next/server/app/api/tools/route.js +7 -0
  125. package/web/.next/server/app/api/tools/route.js.map +5 -0
  126. package/web/.next/server/app/api/tools/route.js.nft.json +1 -0
  127. package/web/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  128. package/web/.next/server/app/page/build-manifest.json +3 -3
  129. package/web/.next/server/app/page/server-reference-manifest.json +14 -14
  130. package/web/.next/server/app/page.js +2 -2
  131. package/web/.next/server/app/page.js.nft.json +1 -1
  132. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  133. package/web/.next/server/app/tools/page/app-paths-manifest.json +3 -0
  134. package/web/.next/server/app/tools/page/build-manifest.json +17 -0
  135. package/web/.next/server/app/tools/page/next-font-manifest.json +6 -0
  136. package/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -0
  137. package/web/.next/server/app/tools/page/server-reference-manifest.json +4 -0
  138. package/web/.next/server/app/tools/page.js +15 -0
  139. package/web/.next/server/app/tools/page.js.map +5 -0
  140. package/web/.next/server/app/tools/page.js.nft.json +1 -0
  141. package/web/.next/server/app/tools/page_client-reference-manifest.js +2 -0
  142. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  143. package/web/.next/server/app/version/page.js +2 -2
  144. package/web/.next/server/app/version/page.js.nft.json +1 -1
  145. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  146. package/web/.next/server/app-paths-manifest.json +4 -0
  147. package/web/.next/server/chunks/{403f9_next_435614de._.js → 403f9_next_567de315._.js} +6 -7
  148. package/web/.next/server/chunks/403f9_next_567de315._.js.map +1 -0
  149. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_install_route_actions_ad71fb5e.js +3 -0
  150. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_tools_[id]_launch_route_actions_0501a9ac.js +3 -0
  151. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +4 -0
  152. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js.map +1 -0
  153. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +3 -0
  154. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -0
  155. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +3 -0
  156. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -0
  157. package/web/.next/server/chunks/[root-of-the-server]__bb619083._.js +3 -0
  158. package/web/.next/server/chunks/[root-of-the-server]__bb619083._.js.map +1 -0
  159. package/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js +3 -0
  160. package/web/.next/server/chunks/src_presentation_web__next-internal_server_app_api_tools_route_actions_b8d6f9a0.js.map +1 -0
  161. package/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js +3 -0
  162. package/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js.map +1 -0
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js +3 -0
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js.map +1 -0
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +12 -0
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js.map +1 -0
  169. package/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js → [root-of-the-server]__685eaa45._.js} +2 -2
  170. 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
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +3 -0
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js.map +1 -0
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +3 -0
  174. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d8fbe735._.js.map → [root-of-the-server]__950afd5e._.js.map} +1 -1
  175. 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
  176. 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
  177. package/web/.next/server/chunks/ssr/_0e2c2b4f._.js +6 -0
  178. package/web/.next/server/chunks/ssr/_0e2c2b4f._.js.map +1 -0
  179. package/web/.next/server/chunks/ssr/_2900ed94._.js +3 -0
  180. package/web/.next/server/chunks/ssr/_2900ed94._.js.map +1 -0
  181. package/web/.next/server/chunks/ssr/_ad8a094f._.js +4 -0
  182. package/web/.next/server/chunks/ssr/_ad8a094f._.js.map +1 -0
  183. package/web/.next/server/chunks/ssr/_e242b954._.js +3 -0
  184. package/web/.next/server/chunks/ssr/_e242b954._.js.map +1 -0
  185. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +3 -0
  186. package/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js.map +1 -0
  187. package/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js +7 -0
  188. package/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js.map +1 -0
  189. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js +3 -0
  190. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_f1dd7791.js.map +1 -0
  191. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  192. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  193. package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +3 -0
  194. package/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js.map +1 -0
  195. package/web/.next/server/middleware-build-manifest.js +3 -3
  196. package/web/.next/server/pages/500.html +2 -2
  197. package/web/.next/server/server-reference-manifest.js +1 -1
  198. package/web/.next/server/server-reference-manifest.json +15 -15
  199. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  200. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +4 -0
  201. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +5 -5
  202. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  203. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  204. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +30 -1
  205. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  206. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js +1 -1
  207. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  208. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  209. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  210. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  211. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  212. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  213. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  214. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  215. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  216. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  217. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js +1 -1
  218. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  219. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  220. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js +2 -2
  221. package/web/.next/standalone/src/presentation/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  222. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/app-paths-manifest.json +3 -0
  223. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/build-manifest.json +11 -0
  224. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route/server-reference-manifest.json +4 -0
  225. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +7 -0
  226. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.map +5 -0
  227. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -0
  228. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route_client-reference-manifest.js +2 -0
  229. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/app-paths-manifest.json +3 -0
  230. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/build-manifest.json +11 -0
  231. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route/server-reference-manifest.json +4 -0
  232. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js +7 -0
  233. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js.map +5 -0
  234. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route.js.nft.json +1 -0
  235. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/launch/route_client-reference-manifest.js +2 -0
  236. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  237. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/build-manifest.json +11 -0
  238. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  239. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js +7 -0
  240. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js.map +5 -0
  241. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route.js.nft.json +1 -0
  242. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  243. package/web/.next/standalone/src/presentation/web/.next/server/app/page/build-manifest.json +3 -3
  244. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +14 -14
  245. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +2 -2
  246. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
  247. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  248. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/app-paths-manifest.json +3 -0
  249. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +17 -0
  250. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/next-font-manifest.json +6 -0
  251. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -0
  252. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +4 -0
  253. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +15 -0
  254. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.map +5 -0
  255. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -0
  256. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +2 -0
  257. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +3 -3
  258. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js +2 -2
  259. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  260. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  261. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +4 -0
  262. package/web/.next/standalone/src/presentation/web/.next/server/chunks/{403f9_next_435614de._.js → 403f9_next_567de315._.js} +6 -7
  263. 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
  264. 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
  265. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +4 -0
  266. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +3 -0
  267. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +3 -0
  268. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__bb619083._.js +3 -0
  269. 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
  270. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/6769f_@radix-ui_react-roving-focus_dist_index_mjs_b3be3d8e._.js +3 -0
  271. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__1efeb0eb._.js +3 -0
  272. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2d1a8e37._.js +2 -2
  273. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__48c68a96._.js +12 -0
  274. 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
  275. 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
  276. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__847521e6._.js +3 -0
  277. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__950afd5e._.js +3 -0
  278. 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
  279. 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
  280. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e2c2b4f._.js +6 -0
  281. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_2900ed94._.js +3 -0
  282. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ad8a094f._.js +4 -0
  283. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e242b954._.js +3 -0
  284. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_0ce0b44d._.js +3 -0
  285. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_d26a7485._.js +7 -0
  286. 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
  287. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  288. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ec3b0a65._.js +3 -0
  289. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +3 -3
  290. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  291. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  292. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +15 -15
  293. package/web/.next/standalone/src/presentation/web/app/actions/open-folder.ts +19 -16
  294. package/web/.next/standalone/src/presentation/web/app/actions/open-shell.ts +19 -16
  295. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/install/route.ts +24 -0
  296. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/launch/route.ts +38 -0
  297. package/web/.next/standalone/src/presentation/web/app/api/tools/route.ts +14 -0
  298. package/web/.next/standalone/src/presentation/web/app/tools/page.tsx +17 -0
  299. package/web/.next/standalone/src/presentation/web/components/features/index.ts +3 -0
  300. package/web/.next/standalone/src/presentation/web/components/features/tools/index.ts +3 -0
  301. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.stories.tsx +89 -0
  302. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.tsx +109 -0
  303. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.stories.tsx +181 -0
  304. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.tsx +188 -0
  305. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.stories.tsx +141 -0
  306. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.tsx +100 -0
  307. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +5 -5
  308. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  309. package/web/.next/static/chunks/0cd7c513169faee3.js +1 -0
  310. package/web/.next/static/chunks/1887af4ad3781531.js +2 -0
  311. package/web/.next/static/chunks/35f41ba0a6d626d7.js +1 -0
  312. package/web/.next/static/chunks/3d4dcf0be654a331.js +5 -0
  313. package/web/.next/static/chunks/4651f20be1a3b7d7.css +2 -0
  314. package/web/.next/static/chunks/{bf551f1aa44c2133.js → 62eba5d9a5e28761.js} +5 -5
  315. package/web/.next/static/chunks/7138c478667158d0.js +1 -0
  316. package/web/.next/static/chunks/a9c2b889c8749a94.js +1 -0
  317. package/web/.next/static/chunks/ca4bb930b4a3f3a9.js +1 -0
  318. package/web/.next/static/chunks/cda11a2491d519fc.js +1 -0
  319. package/web/.next/static/chunks/ef237b70209d9853.js +1 -0
  320. package/web/.next/static/chunks/{turbopack-35ff53de4dab1e56.js → turbopack-6a11f2f1634ff6e0.js} +1 -1
  321. package/web/.next/trace +1 -1
  322. package/web/.next/trace-build +1 -1
  323. package/web/.next/types/link.d.ts +5 -1
  324. package/web/.next/types/routes.d.ts +6 -2
  325. package/web/.next/types/validator.ts +36 -0
  326. package/web/.next/server/chunks/403f9_next_435614de._.js.map +0 -1
  327. package/web/.next/server/chunks/[externals]__ba6223e5._.js +0 -3
  328. package/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +0 -3
  329. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +0 -12
  330. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +0 -1
  331. package/web/.next/server/chunks/ssr/[root-of-the-server]__d8fbe735._.js +0 -3
  332. package/web/.next/server/chunks/ssr/_1632a21f._.js +0 -10
  333. package/web/.next/server/chunks/ssr/_1632a21f._.js.map +0 -1
  334. package/web/.next/server/chunks/ssr/_a35f2870._.js +0 -3
  335. package/web/.next/server/chunks/ssr/_a35f2870._.js.map +0 -1
  336. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js +0 -3
  337. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_version_version-page-client_tsx_fe9db753._.js.map +0 -1
  338. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +0 -3
  339. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js.map +0 -1
  340. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[externals]__ba6223e5._.js +0 -3
  341. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[externals]_node:path_d28a9bfe._.js +0 -3
  342. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +0 -12
  343. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d8fbe735._.js +0 -3
  344. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_1632a21f._.js +0 -10
  345. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a35f2870._.js +0 -3
  346. 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
  347. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_ui_badge_tsx_964c2a3b._.js +0 -3
  348. package/web/.next/static/chunks/00f6ac2dde225eb7.js +0 -1
  349. package/web/.next/static/chunks/084314470f2144d2.js +0 -2
  350. package/web/.next/static/chunks/1f13bc20e938335c.css +0 -2
  351. package/web/.next/static/chunks/8f4461aee9a05741.js +0 -5
  352. package/web/.next/static/chunks/9a82d8c76f175235.js +0 -1
  353. package/web/.next/static/chunks/b13aa397579082e7.js +0 -1
  354. package/web/.next/static/chunks/e21d644e5a584136.js +0 -1
  355. package/web/.next/static/chunks/f9519a5c455143e6.js +0 -1
  356. /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
  357. /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
  358. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__32472b89._.js.map → [root-of-the-server]__685eaa45._.js.map} +0 -0
  359. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f47a461b._.js.map → [root-of-the-server]__757c7912._.js.map} +0 -0
  360. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__e1c44885._.js.map → [root-of-the-server]__dbd220d2._.js.map} +0 -0
  361. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__6e8b5181._.js.map → [root-of-the-server]__fbc89707._.js.map} +0 -0
  362. /package/web/.next/static/{YfN7Hg9rumm97Ou6lHF9d → TNUev4cyuW_BghWxcCTOD}/_buildManifest.js +0 -0
  363. /package/web/.next/static/{YfN7Hg9rumm97Ou6lHF9d → TNUev4cyuW_BghWxcCTOD}/_clientMiddlewareManifest.json +0 -0
  364. /package/web/.next/static/{YfN7Hg9rumm97Ou6lHF9d → TNUev4cyuW_BghWxcCTOD}/_ssgManifest.js +0 -0
@@ -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,"60e9a1d6cc24226dbe8c963521fd540afb7812c3cc",null),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"60ddcabe4de3ca7d44318bad5a5772206e123ba60f",null),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"403acaa5f66c6e18c624a2fa02ea7f856d967159ba",null),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"4035c531f513c2ef96e8a70c30fc521e06611fcfab",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,"00e0d9e4628cd9555e00281332dfb79c46291269c5",null),(0,d.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"40062bbb4e40bad1d664141f09e897a11f6440376d",null),(0,d.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"405ced52a57c4c21b7661c20481e8ea41482ab1877",null);var n=a.i(2157),o=a.i(60526),p=a.i(74533),q=a.i(66680),r=a.i(50227);async function s(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}`};return(0,o.platform)(),(0,p.spawn)("x-terminal-emulator",[`--working-directory=${f}`],{detached:!0,stdio:"ignore"}).unref(),{success:!0,path:f,shell:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}async function t(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"};return(0,o.platform)(),(0,p.spawn)("xdg-open",[a],{detached:!0,stdio:"ignore"}).unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}a.i(12714),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"408807116947b99f82afc8a3ef7ecbe7dcdaa8b701",null),(0,d.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"40aeb7325fe1c91dd5290c054548a495b3ca1ffe72",null);let u={platform:process.platform,exec:(a,b)=>(0,p.execSync)(a,b)},v={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 w{deps;constructor(a={}){this.deps={...u,...a}}getCommand(){return v[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 x(){let a=new w;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}async function y(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,"6039a26719feb136848cb19791fe924e9974f1e005",null),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"6026adcb45d2f52111ca0637414689733163060139",null),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40f0e986e1794e275ad66356eb76b0bef4c15a40d6",null),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40e61a7dc4f95980e9c107dc2750398665780d2586",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,"00f70b3275e62ddb97cd6c0b19f2d18357acbf5bd3",null),(0,d.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"40f43857fb5c94734c717ce6f9220b7f4664c5c8c0",null),(0,d.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"401f634f6c6fa8a927a2b4eaefb017db965372d263",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,"4000fa208afe64f355a8f82ae25038e7d289aaaa69",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,"401adaf73b319bfb8677acea48fceebefb549e44d3",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 z(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 A(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 B(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)([x]),(0,b.registerServerReference)(x,"00f0ccd0d33bb66f1bdd8df9748ea513b60277c9ac",null),(0,d.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"401bb67d46a40318f821de21c5b03f85f4962813dc",null),(0,d.ensureServerEntryExports)([z]),(0,b.registerServerReference)(z,"40fb32a9cd9cff16e73e382e0a3cf0c4d35015de3b",null),(0,d.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"40c8b052da602c8e03bd3d5105e1a378ee56246ca8",null),(0,d.ensureServerEntryExports)([B]),(0,b.registerServerReference)(B,"40b768b2558bdd7f8e15dabe379ba27a10ced4f74a",null),a.s([],36114),a.i(36114),a.s(["00e0d9e4628cd9555e00281332dfb79c46291269c5",()=>k,"00f0ccd0d33bb66f1bdd8df9748ea513b60277c9ac",()=>x,"40062bbb4e40bad1d664141f09e897a11f6440376d",()=>l,"401bb67d46a40318f821de21c5b03f85f4962813dc",()=>y,"4035c531f513c2ef96e8a70c30fc521e06611fcfab",()=>h,"403acaa5f66c6e18c624a2fa02ea7f856d967159ba",()=>g,"405ced52a57c4c21b7661c20481e8ea41482ab1877",()=>m,"408807116947b99f82afc8a3ef7ecbe7dcdaa8b701",()=>s,"40aeb7325fe1c91dd5290c054548a495b3ca1ffe72",()=>t,"40b768b2558bdd7f8e15dabe379ba27a10ced4f74a",()=>B,"40c8b052da602c8e03bd3d5105e1a378ee56246ca8",()=>A,"40fb32a9cd9cff16e73e382e0a3cf0c4d35015de3b",()=>z,"60ddcabe4de3ca7d44318bad5a5772206e123ba60f",()=>f,"60e9a1d6cc24226dbe8c963521fd540afb7812c3cc",()=>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,"00325cc39a715f7275993d8a6b3263756000c09d1d",null),(0,d.ensureServerEntryExports)([A]),(0,b.registerServerReference)(A,"40e71b9d1d46a22da64eff55ebc2b7c02aa7851117",null),(0,d.ensureServerEntryExports)([B]),(0,b.registerServerReference)(B,"40d782104c6fc4f3fca711667a2e4f3cde2681e49f",null),(0,d.ensureServerEntryExports)([C]),(0,b.registerServerReference)(C,"40b42ba11d4e20fb32981a4feff2d328b5914a61b6",null),(0,d.ensureServerEntryExports)([D]),(0,b.registerServerReference)(D,"40cb11a806cf8a4faa963fbe90ba19ed30b03f5c1a",null),a.s([],36114),a.i(36114),a.s(["00325cc39a715f7275993d8a6b3263756000c09d1d",()=>z,"00f70b3275e62ddb97cd6c0b19f2d18357acbf5bd3",()=>k,"4000fa208afe64f355a8f82ae25038e7d289aaaa69",()=>t,"401adaf73b319bfb8677acea48fceebefb549e44d3",()=>v,"401f634f6c6fa8a927a2b4eaefb017db965372d263",()=>m,"40b42ba11d4e20fb32981a4feff2d328b5914a61b6",()=>C,"40cb11a806cf8a4faa963fbe90ba19ed30b03f5c1a",()=>D,"40d782104c6fc4f3fca711667a2e4f3cde2681e49f",()=>B,"40e61a7dc4f95980e9c107dc2750398665780d2586",()=>h,"40e71b9d1d46a22da64eff55ebc2b7c02aa7851117",()=>A,"40f0e986e1794e275ad66356eb76b0bef4c15a40d6",()=>g,"40f43857fb5c94734c717ce6f9220b7f4664c5c8c0",()=>l,"6026adcb45d2f52111ca0637414689733163060139",()=>f,"6039a26719feb136848cb19791fe924e9974f1e005",()=>e],4510)}];
8
8
 
9
9
  //# sourceMappingURL=%5Broot-of-the-server%5D__2d1a8e37._.js.map