@shepai/cli 1.72.7 → 1.72.8-pr216.5a2ec32

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 (493) hide show
  1. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +2 -1
  2. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  4. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +1 -0
  5. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +1 -0
  7. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +3 -0
  8. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.js +3 -0
  10. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -1
  11. package/dist/packages/core/src/infrastructure/services/agents/common/executors/dev-executor.service.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/services/agents/common/executors/dev-executor.service.js +88 -13
  13. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -1
  14. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +2 -1
  15. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +3 -0
  17. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +2 -0
  18. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +16 -3
  20. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +5 -1
  22. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  23. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +9 -1
  24. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +6 -0
  25. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  26. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.js +5 -0
  27. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/alacritty.json +5 -2
  28. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/antigravity.json +3 -0
  29. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +4 -1
  30. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor-cli.json +3 -0
  31. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor.json +3 -0
  32. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gemini-cli.json +3 -0
  33. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/gh.json +3 -0
  34. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/git.json +3 -0
  35. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/iterm2.json +3 -0
  36. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/kitty.json +5 -2
  37. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/tmux.json +4 -1
  38. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/vscode.json +4 -1
  39. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/warp.json +3 -0
  40. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/windsurf.json +4 -1
  41. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zed.json +3 -0
  42. package/dist/src/presentation/web/app/actions/get-graph-data.d.ts +10 -0
  43. package/dist/src/presentation/web/app/actions/get-graph-data.d.ts.map +1 -0
  44. package/dist/src/presentation/web/app/actions/get-graph-data.js +10 -0
  45. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  46. package/dist/src/presentation/web/app/api/agent-events/route.js +3 -0
  47. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts.map +1 -1
  48. package/dist/src/presentation/web/app/api/tools/[id]/install/route.js +9 -4
  49. package/dist/src/presentation/web/app/api/tools/[id]/install/stream/route.d.ts +7 -0
  50. package/dist/src/presentation/web/app/api/tools/[id]/install/stream/route.d.ts.map +1 -0
  51. package/dist/src/presentation/web/app/api/tools/[id]/install/stream/route.js +32 -0
  52. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +2 -1
  53. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  54. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +3 -3
  55. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  56. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +2 -0
  57. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  58. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +72 -1
  59. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  60. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -2
  61. package/dist/src/presentation/web/components/features/index.d.ts +1 -1
  62. package/dist/src/presentation/web/components/features/index.d.ts.map +1 -1
  63. package/dist/src/presentation/web/components/features/index.js +1 -1
  64. package/dist/src/presentation/web/components/features/tools/index.d.ts +1 -1
  65. package/dist/src/presentation/web/components/features/tools/index.d.ts.map +1 -1
  66. package/dist/src/presentation/web/components/features/tools/index.js +1 -1
  67. package/dist/src/presentation/web/components/features/tools/tool-card.d.ts.map +1 -1
  68. package/dist/src/presentation/web/components/features/tools/tool-card.js +18 -14
  69. package/dist/src/presentation/web/components/features/tools/tool-card.stories.d.ts.map +1 -1
  70. package/dist/src/presentation/web/components/features/tools/tool-card.stories.js +18 -0
  71. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.d.ts +10 -0
  72. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.d.ts.map +1 -0
  73. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.js +95 -0
  74. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.stories.d.ts +12 -0
  75. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.stories.d.ts.map +1 -0
  76. package/dist/src/presentation/web/components/features/tools/tool-detail-drawer.stories.js +119 -0
  77. package/dist/src/presentation/web/components/features/tools/tools-page-client.js +3 -3
  78. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.d.ts.map +1 -1
  79. package/dist/src/presentation/web/components/features/tools/tools-page-client.stories.js +15 -0
  80. package/dist/src/presentation/web/hooks/use-tool-install-stream.d.ts +10 -0
  81. package/dist/src/presentation/web/hooks/use-tool-install-stream.d.ts.map +1 -0
  82. package/dist/src/presentation/web/hooks/use-tool-install-stream.js +38 -0
  83. package/dist/tsconfig.build.tsbuildinfo +1 -1
  84. package/package.json +1 -1
  85. package/web/.next/BUILD_ID +1 -1
  86. package/web/.next/app-path-routes-manifest.json +1 -0
  87. package/web/.next/build-manifest.json +7 -7
  88. package/web/.next/cache/.previewinfo +1 -1
  89. package/web/.next/cache/.rscinfo +1 -1
  90. package/web/.next/cache/.tsbuildinfo +1 -1
  91. package/web/.next/cache/config.json +3 -3
  92. package/web/.next/fallback-build-manifest.json +2 -2
  93. package/web/.next/prerender-manifest.json +3 -3
  94. package/web/.next/required-server-files.js +1 -1
  95. package/web/.next/required-server-files.json +1 -1
  96. package/web/.next/routes-manifest.json +8 -0
  97. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +5 -5
  98. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +43 -28
  99. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +4 -4
  100. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  101. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  102. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +5 -5
  103. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +49 -34
  104. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  105. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  106. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +5 -5
  108. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +39 -24
  109. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +4 -4
  110. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  111. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  112. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +5 -5
  113. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +43 -28
  114. package/web/.next/server/app/(dashboard)/create/page.js +4 -4
  115. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  116. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +5 -5
  118. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +49 -34
  119. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  120. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  121. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/(dashboard)/page/build-manifest.json +5 -5
  123. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +39 -24
  124. package/web/.next/server/app/(dashboard)/page.js +4 -4
  125. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  126. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  127. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +5 -5
  128. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +39 -24
  129. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +4 -4
  130. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  131. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  132. package/web/.next/server/app/_global-error/page/build-manifest.json +5 -5
  133. package/web/.next/server/app/_global-error.html +2 -2
  134. package/web/.next/server/app/_global-error.rsc +1 -1
  135. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  136. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  137. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  138. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  139. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  140. package/web/.next/server/app/_not-found/page/build-manifest.json +5 -5
  141. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  142. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  143. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  144. package/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  145. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  146. package/web/.next/server/app/api/tools/[id]/install/stream/route/app-paths-manifest.json +3 -0
  147. package/web/.next/server/app/api/tools/[id]/install/stream/route/build-manifest.json +11 -0
  148. package/web/.next/server/app/api/tools/[id]/install/stream/route/server-reference-manifest.json +4 -0
  149. package/web/.next/server/app/api/tools/[id]/install/stream/route.js +6 -0
  150. package/web/.next/server/app/api/tools/[id]/install/stream/route.js.map +5 -0
  151. package/web/.next/server/app/api/tools/[id]/install/stream/route.js.nft.json +1 -0
  152. package/web/.next/server/app/api/tools/[id]/install/stream/route_client-reference-manifest.js +2 -0
  153. package/web/.next/server/app/skills/page/build-manifest.json +5 -5
  154. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  155. package/web/.next/server/app/skills/page.js +1 -1
  156. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  157. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  158. package/web/.next/server/app/tools/page/build-manifest.json +5 -5
  159. package/web/.next/server/app/tools/page/server-reference-manifest.json +77 -2
  160. package/web/.next/server/app/tools/page.js +2 -2
  161. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  162. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  163. package/web/.next/server/app/version/page/build-manifest.json +5 -5
  164. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  165. package/web/.next/server/app/version/page.js.nft.json +1 -1
  166. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  167. package/web/.next/server/app-paths-manifest.json +1 -0
  168. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  169. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  170. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +3 -0
  171. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js.map +1 -0
  172. package/web/.next/server/chunks/[root-of-the-server]__e247a485._.js +11 -0
  173. package/web/.next/server/chunks/[root-of-the-server]__e247a485._.js.map +1 -0
  174. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_tools_[id]_install_stream_route_actions_1fe5bd5d.js +3 -0
  175. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_tools_[id]_install_stream_route_actions_1fe5bd5d.js.map +1 -0
  176. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  177. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_3a02d8a5.js +3 -0
  179. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_3a02d8a5.js.map +1 -0
  180. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_a3044852.js +3 -0
  181. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_a3044852.js.map +1 -0
  182. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +4 -0
  183. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js.map +1 -0
  184. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  185. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js → server/chunks/ssr/[root-of-the-server]__45dbf93d._.js} +3 -3
  186. package/web/.next/server/chunks/ssr/{[root-of-the-server]__07385073._.js.map → [root-of-the-server]__45dbf93d._.js.map} +1 -1
  187. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  188. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  189. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +4 -0
  190. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js.map +1 -0
  191. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  192. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  193. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +3 -0
  194. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -0
  195. package/web/.next/server/chunks/ssr/[root-of-the-server]__c18f84a4._.js +3 -0
  196. package/web/.next/server/chunks/ssr/[root-of-the-server]__c18f84a4._.js.map +1 -0
  197. package/web/.next/server/chunks/ssr/[root-of-the-server]__cbae9863._.js +3 -0
  198. package/web/.next/server/chunks/ssr/[root-of-the-server]__cbae9863._.js.map +1 -0
  199. package/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js +3 -0
  200. package/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js.map +1 -0
  201. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5e09f72._.js +3 -0
  202. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5e09f72._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +3 -0
  204. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -0
  205. package/web/.next/server/chunks/ssr/_1978f325._.js +7 -0
  206. package/web/.next/server/chunks/ssr/_1978f325._.js.map +1 -0
  207. package/web/.next/server/chunks/ssr/_3197d5cb._.js +3 -0
  208. package/web/.next/server/chunks/ssr/_3197d5cb._.js.map +1 -0
  209. package/web/.next/server/chunks/ssr/_61351ed3._.js +3 -0
  210. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -0
  211. package/web/.next/server/chunks/ssr/_6e08ce21._.js +3 -0
  212. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/_8400c8bb._.js +3 -0
  214. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -0
  215. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_7215bb0f._.js → server/chunks/ssr/_8fa33b4c._.js} +2 -2
  216. package/web/.next/server/chunks/ssr/{_7215bb0f._.js.map → _8fa33b4c._.js.map} +1 -1
  217. package/web/.next/server/chunks/ssr/_9f940437._.js +3 -0
  218. package/web/.next/server/chunks/ssr/_9f940437._.js.map +1 -0
  219. package/web/.next/server/chunks/ssr/_a29296f0._.js +3 -0
  220. package/web/.next/server/chunks/ssr/_a29296f0._.js.map +1 -0
  221. package/web/.next/server/chunks/ssr/_e806976d._.js +3 -0
  222. package/web/.next/server/chunks/ssr/_e806976d._.js.map +1 -0
  223. package/web/.next/server/chunks/ssr/{src_presentation_web_1a32dbcb._.js → src_presentation_web_0a49d9ee._.js} +3 -3
  224. package/web/.next/server/chunks/ssr/{src_presentation_web_1a32dbcb._.js.map → src_presentation_web_0a49d9ee._.js.map} +1 -1
  225. package/web/.next/server/chunks/ssr/{src_presentation_web_398553b0._.js → src_presentation_web_5ea689db._.js} +2 -2
  226. package/web/.next/server/chunks/ssr/{src_presentation_web_398553b0._.js.map → src_presentation_web_5ea689db._.js.map} +1 -1
  227. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js → server/chunks/ssr/src_presentation_web_7188a290._.js} +2 -2
  228. package/web/.next/server/chunks/ssr/{src_presentation_web_5c87e8e4._.js.map → src_presentation_web_7188a290._.js.map} +1 -1
  229. package/web/.next/server/chunks/ssr/{src_presentation_web_c1bc6240._.js → src_presentation_web_79b0305a._.js} +3 -3
  230. package/web/.next/server/chunks/ssr/{src_presentation_web_c1bc6240._.js.map → src_presentation_web_79b0305a._.js.map} +1 -1
  231. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_cc16bd01.js +3 -0
  232. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_cc16bd01.js.map +1 -0
  233. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +3 -0
  234. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -0
  235. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  236. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  237. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +3 -0
  238. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -0
  239. package/web/.next/server/middleware-build-manifest.js +5 -5
  240. package/web/.next/server/pages/500.html +2 -2
  241. package/web/.next/server/server-reference-manifest.js +1 -1
  242. package/web/.next/server/server-reference-manifest.json +216 -124
  243. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  244. package/web/.next/standalone/src/presentation/web/.next/app-path-routes-manifest.json +1 -0
  245. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +7 -7
  246. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  247. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  248. package/web/.next/standalone/src/presentation/web/.next/routes-manifest.json +8 -0
  249. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +5 -5
  250. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +43 -28
  251. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +4 -4
  252. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  253. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  254. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +5 -5
  255. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +49 -34
  256. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  257. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  258. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  259. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +5 -5
  260. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +39 -24
  261. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +4 -4
  262. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  263. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  264. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/build-manifest.json +5 -5
  265. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +43 -28
  266. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +4 -4
  267. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  268. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  269. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +5 -5
  270. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +49 -34
  271. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  272. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  273. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  274. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/build-manifest.json +5 -5
  275. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +39 -24
  276. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js +4 -4
  277. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  278. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  279. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +5 -5
  280. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +39 -24
  281. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +4 -4
  282. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  283. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  284. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error/page/build-manifest.json +5 -5
  285. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  286. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  287. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  288. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  289. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  290. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  291. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  292. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/build-manifest.json +5 -5
  293. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  294. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  295. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  296. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  297. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  298. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/stream/route/app-paths-manifest.json +3 -0
  299. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/stream/route/build-manifest.json +11 -0
  300. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/stream/route/server-reference-manifest.json +4 -0
  301. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/stream/route.js +6 -0
  302. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/stream/route.js.map +5 -0
  303. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/stream/route.js.nft.json +1 -0
  304. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/stream/route_client-reference-manifest.js +2 -0
  305. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/build-manifest.json +5 -5
  306. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  307. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js +1 -1
  308. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  309. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  310. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/build-manifest.json +5 -5
  311. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +77 -2
  312. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js +2 -2
  313. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  314. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  315. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/build-manifest.json +5 -5
  316. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  317. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  318. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  319. package/web/.next/standalone/src/presentation/web/.next/server/app-paths-manifest.json +1 -0
  320. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  321. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +3 -0
  322. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__e247a485._.js +11 -0
  323. package/web/.next/standalone/src/presentation/web/.next/server/chunks/f3a1f__next-internal_server_app_api_tools_[id]_install_stream_route_actions_1fe5bd5d.js +3 -0
  324. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  325. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_3a02d8a5.js +3 -0
  326. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_a3044852.js +3 -0
  327. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +4 -0
  328. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  329. package/web/.next/{server/chunks/ssr/[root-of-the-server]__07385073._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js} +3 -3
  330. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  331. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +4 -0
  332. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  333. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +3 -0
  334. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__c18f84a4._.js +3 -0
  335. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__cbae9863._.js +3 -0
  336. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e062a6de._.js +3 -0
  337. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e5e09f72._.js +3 -0
  338. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +3 -0
  339. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_1978f325._.js +7 -0
  340. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_3197d5cb._.js +3 -0
  341. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +3 -0
  342. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6e08ce21._.js +3 -0
  343. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +3 -0
  344. package/web/.next/{server/chunks/ssr/_7215bb0f._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_8fa33b4c._.js} +2 -2
  345. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9f940437._.js +3 -0
  346. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a29296f0._.js +3 -0
  347. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e806976d._.js +3 -0
  348. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{src_presentation_web_1a32dbcb._.js → src_presentation_web_0a49d9ee._.js} +3 -3
  349. package/web/.next/{server/chunks/ssr/src_presentation_web_5c87e8e4._.js → standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_5ea689db._.js} +2 -2
  350. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{src_presentation_web_5c87e8e4._.js → src_presentation_web_7188a290._.js} +2 -2
  351. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{src_presentation_web_c1bc6240._.js → src_presentation_web_79b0305a._.js} +3 -3
  352. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_cc16bd01.js +3 -0
  353. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +3 -0
  354. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  355. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +3 -0
  356. package/web/.next/standalone/src/presentation/web/.next/server/middleware-build-manifest.js +5 -5
  357. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  358. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  359. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +216 -124
  360. package/web/.next/standalone/src/presentation/web/CLAUDE.md +128 -0
  361. package/web/.next/standalone/src/presentation/web/app/actions/get-graph-data.ts +12 -0
  362. package/web/.next/standalone/src/presentation/web/app/api/agent-events/route.ts +4 -1
  363. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/install/route.ts +14 -6
  364. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/install/stream/route.ts +42 -0
  365. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +13 -1
  366. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +2 -0
  367. package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +82 -1
  368. package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.tsx +21 -23
  369. package/web/.next/standalone/src/presentation/web/components/features/index.ts +1 -1
  370. package/web/.next/standalone/src/presentation/web/components/features/tools/index.ts +1 -1
  371. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.stories.tsx +18 -0
  372. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-card.tsx +75 -67
  373. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-detail-drawer.stories.tsx +132 -0
  374. package/web/.next/standalone/src/presentation/web/components/features/tools/tool-detail-drawer.tsx +313 -0
  375. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.stories.tsx +15 -0
  376. package/web/.next/standalone/src/presentation/web/components/features/tools/tools-page-client.tsx +3 -3
  377. package/web/.next/standalone/src/presentation/web/hooks/use-tool-install-stream.ts +58 -0
  378. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  379. package/web/.next/static/chunks/3cab1e09dfb7bd2f.js +1 -0
  380. package/web/.next/static/chunks/4a3b3cfcc85e7254.js +1 -0
  381. package/web/.next/static/chunks/5d0a6417c4e4e545.js +1 -0
  382. package/web/.next/static/chunks/67f2a7a5e8dc358a.css +2 -0
  383. package/web/.next/static/chunks/73304a30a2bc5060.js +1 -0
  384. package/web/.next/static/chunks/778b64d00834e733.js +1 -0
  385. package/web/.next/static/chunks/84a181ff3270fd9f.js +1 -0
  386. package/web/.next/static/chunks/{b45344579a43cbb8.js → 86a1874bad52ce9c.js} +1 -1
  387. package/web/.next/static/chunks/9215b6fb973482c5.js +1 -0
  388. package/web/.next/static/chunks/{585ae19c520e8b72.js → ac1ebc041544949d.js} +1 -1
  389. package/web/.next/static/chunks/b2594f43fcecee16.js +1 -0
  390. package/web/.next/static/chunks/c92e1360ada8ca94.js +5 -0
  391. package/web/.next/static/chunks/{fe83a799663fd3cc.js → de9e34a45eebec78.js} +1 -1
  392. package/web/.next/static/chunks/eb3b1975428d04a8.js +1 -0
  393. package/web/.next/static/chunks/edbd674102e897b4.js +1 -0
  394. package/web/.next/static/chunks/f0a17d065f1aa75f.js +1 -0
  395. package/web/.next/static/chunks/{turbopack-3a8fe0e18e69b0ab.js → turbopack-05820f781f3ffc22.js} +1 -1
  396. package/web/.next/trace +1 -1
  397. package/web/.next/trace-build +1 -1
  398. package/web/.next/types/link.d.ts +1 -0
  399. package/web/.next/types/routes.d.ts +2 -1
  400. package/web/.next/types/validator.ts +9 -0
  401. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts +0 -9
  402. package/dist/src/presentation/web/components/features/tools/install-instructions.d.ts.map +0 -1
  403. package/dist/src/presentation/web/components/features/tools/install-instructions.js +0 -19
  404. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts +0 -12
  405. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.d.ts.map +0 -1
  406. package/dist/src/presentation/web/components/features/tools/install-instructions.stories.js +0 -77
  407. package/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js +0 -3
  408. package/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js.map +0 -1
  409. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +0 -3
  410. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js.map +0 -1
  411. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +0 -3
  412. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js.map +0 -1
  413. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +0 -4
  414. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +0 -1
  415. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +0 -3
  416. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +0 -1
  417. package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +0 -4
  418. package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js.map +0 -1
  419. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +0 -3
  420. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js.map +0 -1
  421. package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +0 -4
  422. package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js.map +0 -1
  423. package/web/.next/server/chunks/ssr/[root-of-the-server]__9d14479b._.js +0 -3
  424. package/web/.next/server/chunks/ssr/[root-of-the-server]__9d14479b._.js.map +0 -1
  425. package/web/.next/server/chunks/ssr/[root-of-the-server]__d4e51258._.js +0 -3
  426. package/web/.next/server/chunks/ssr/[root-of-the-server]__d4e51258._.js.map +0 -1
  427. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe2a7deb._.js +0 -3
  428. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe2a7deb._.js.map +0 -1
  429. package/web/.next/server/chunks/ssr/_00e6c698._.js +0 -3
  430. package/web/.next/server/chunks/ssr/_00e6c698._.js.map +0 -1
  431. package/web/.next/server/chunks/ssr/_13566ff3._.js +0 -3
  432. package/web/.next/server/chunks/ssr/_13566ff3._.js.map +0 -1
  433. package/web/.next/server/chunks/ssr/_250a63ae._.js +0 -3
  434. package/web/.next/server/chunks/ssr/_250a63ae._.js.map +0 -1
  435. package/web/.next/server/chunks/ssr/_26129e04._.js +0 -3
  436. package/web/.next/server/chunks/ssr/_26129e04._.js.map +0 -1
  437. package/web/.next/server/chunks/ssr/_34a58db8._.js +0 -3
  438. package/web/.next/server/chunks/ssr/_34a58db8._.js.map +0 -1
  439. package/web/.next/server/chunks/ssr/_37259405._.js +0 -3
  440. package/web/.next/server/chunks/ssr/_37259405._.js.map +0 -1
  441. package/web/.next/server/chunks/ssr/_63bfa7dd._.js +0 -3
  442. package/web/.next/server/chunks/ssr/_63bfa7dd._.js.map +0 -1
  443. package/web/.next/server/chunks/ssr/_cb5b3951._.js +0 -3
  444. package/web/.next/server/chunks/ssr/_cb5b3951._.js.map +0 -1
  445. package/web/.next/server/chunks/ssr/_fc3a6895._.js +0 -3
  446. package/web/.next/server/chunks/ssr/_fc3a6895._.js.map +0 -1
  447. package/web/.next/server/chunks/ssr/node_modules__pnpm_3288606c._.js +0 -7
  448. package/web/.next/server/chunks/ssr/node_modules__pnpm_3288606c._.js.map +0 -1
  449. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +0 -3
  450. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js.map +0 -1
  451. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +0 -3
  452. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +0 -1
  453. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js +0 -3
  454. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +0 -3
  455. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +0 -3
  456. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +0 -4
  457. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +0 -3
  458. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +0 -4
  459. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +0 -3
  460. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +0 -4
  461. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__9d14479b._.js +0 -3
  462. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__d4e51258._.js +0 -3
  463. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fe2a7deb._.js +0 -3
  464. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_00e6c698._.js +0 -3
  465. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_13566ff3._.js +0 -3
  466. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_250a63ae._.js +0 -3
  467. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_26129e04._.js +0 -3
  468. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_34a58db8._.js +0 -3
  469. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_37259405._.js +0 -3
  470. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_63bfa7dd._.js +0 -3
  471. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_cb5b3951._.js +0 -3
  472. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_fc3a6895._.js +0 -3
  473. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_3288606c._.js +0 -7
  474. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +0 -3
  475. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +0 -3
  476. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.stories.tsx +0 -89
  477. package/web/.next/standalone/src/presentation/web/components/features/tools/install-instructions.tsx +0 -109
  478. package/web/.next/static/chunks/07fcc6d17357e905.js +0 -1
  479. package/web/.next/static/chunks/304c8593d0a6525d.js +0 -1
  480. package/web/.next/static/chunks/3e1227e02ef8bcc6.js +0 -5
  481. package/web/.next/static/chunks/4558d1663c6f4d2c.js +0 -1
  482. package/web/.next/static/chunks/4df07e765b233622.js +0 -1
  483. package/web/.next/static/chunks/64d73952a0291431.js +0 -1
  484. package/web/.next/static/chunks/6e14d8bd5c005e6e.js +0 -1
  485. package/web/.next/static/chunks/8a1eb93510e54db0.js +0 -1
  486. package/web/.next/static/chunks/938c21b0cefb2b1d.js +0 -1
  487. package/web/.next/static/chunks/b143c7d78a6888e9.js +0 -1
  488. package/web/.next/static/chunks/c7e793951b20a67f.js +0 -1
  489. package/web/.next/static/chunks/dec13bccb136ef7c.css +0 -2
  490. package/web/.next/static/chunks/e4522f7d3134eefe.js +0 -1
  491. /package/web/.next/static/{9bO_bJBssG0NRxEG03iM5 → rLo0X398WFLTarx1augqu}/_buildManifest.js +0 -0
  492. /package/web/.next/static/{9bO_bJBssG0NRxEG03iM5 → rLo0X398WFLTarx1augqu}/_clientMiddlewareManifest.json +0 -0
  493. /package/web/.next/static/{9bO_bJBssG0NRxEG03iM5 → rLo0X398WFLTarx1augqu}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
- module.exports=[58773,e=>{"use strict";var t,n,a,r,i,s,o,l,d,u,c,p,g,h,m,v,R,f,y,C,w,A,E,P,S=e.i(22925),T=e.i(62995),I=e.i(14112),N=e.i(31716),x=e.i(16340),D=e.i(40522),O=e.i(21994),_=e.i(5802),k=e.i(17171),b=e.i(177),q=e.i(43685),F=e.i(84832),M=e.i(92435),U=e.i(41260),$=e.i(80556),H=e.i(93695);e.i(97230);var W=e.i(35162),B=e.i(40060);(t={}).PRD="PRD",t.API="API",t.Design="Design",t.Other="Other",(n={}).Markdown="md",n.Text="txt",n.Yaml="yaml",n.Other="Other",(a={}).Todo="Todo",a.Elaborating="Elaborating",a.Done="Done",(r={}).Assistant="assistant",r.User="user",(i={}).Functional="Functional",i.NonFunctional="NonFunctional",(s={}).NotStarted="NotStarted",s.Running="Running",s.Finished="Finished",(o={}).VsCode="vscode",o.Cursor="cursor",o.Windsurf="windsurf",o.Zed="zed",o.Antigravity="antigravity",(l={}).ClaudeCode="claude-code",l.GeminiCli="gemini-cli",l.Aider="aider",l.Continue="continue",l.Cursor="cursor",l.Dev="dev",(d={}).Session="session",d.Token="token",(u={}).Todo="Todo",u.WIP="Work in Progress",u.Done="Done",u.Review="Review",(c={}).Requirements="Requirements",c.ClarificationRequired="ClarificationRequired",c.Ready="Ready";var K=((p={}).Started="Started",p.Analyze="Analyze",p.Requirements="Requirements",p.Research="Research",p.Planning="Planning",p.Implementation="Implementation",p.Review="Review",p.Maintain="Maintain",p.Blocked="Blocked",p);(g={}).Open="Open",g.Merged="Merged",g.Closed="Closed",(h={}).Pending="Pending",h.Success="Success",h.Failure="Failure",(m={}).VsCode="vscode",m.Cursor="cursor",m.Windsurf="windsurf",m.Zed="zed",m.Antigravity="antigravity",m.CursorCli="cursor-cli",m.ClaudeCode="claude-code";var L=((v={}).AgentStarted="agent_started",v.PhaseCompleted="phase_completed",v.WaitingApproval="waiting_approval",v.AgentCompleted="agent_completed",v.AgentFailed="agent_failed",v.PrMerged="pr_merged",v.PrClosed="pr_closed",v.PrChecksPassed="pr_checks_passed",v.PrChecksFailed="pr_checks_failed",v),j=((R={}).Info="info",R.Warning="warning",R.Success="success",R.Error="error",R);(f={}).Idle="Idle",f.Running="Running",f.Paused="Paused",f.Stopped="Stopped",(y={}).GatheringRequirements="GatheringRequirements",y.ClarificationsRequired="ClarificationsRequired",y.DoingResearch="DoingResearch",y.AwaitingReview="AwaitingReview",y.ExecutingWorkPlan="ExecutingWorkPlan",y.Ready="Ready",(C={}).TCP="TCP",C.UDP="UDP",(w={}).DockerCompose="DockerCompose",w.Docker="Docker",w.Kubernetes="Kubernetes",w.Script="Script",w.Manual="Manual",(A={}).Booting="Booting",A.Ready="Ready",A.Stopped="Stopped";var G=((E={}).pending="pending",E.running="running",E.completed="completed",E.failed="failed",E.interrupted="interrupted",E.cancelled="cancelled",E.waitingApproval="waiting_approval",E);(P={}).sessionResume="session-resume",P.streaming="streaming",P.toolScoping="tool-scoping",P.structuredOutput="structured-output",P.systemPrompt="system-prompt",P.sessionListing="session-listing";let z={[K.Analyze]:"analyze",[K.Requirements]:"requirements",[K.Research]:"research",[K.Planning]:"plan",[K.Implementation]:"implement",[K.Review]:"merge"},V={[G.running]:{eventType:L.AgentStarted,severity:j.Info},[G.waitingApproval]:{eventType:L.WaitingApproval,severity:j.Warning},[G.completed]:{eventType:L.AgentCompleted,severity:j.Success},[G.failed]:{eventType:L.AgentFailed,severity:j.Error},[G.interrupted]:{eventType:L.AgentFailed,severity:j.Warning},[G.cancelled]:{eventType:L.AgentFailed,severity:j.Warning}};function X(e){try{let t=new URL(e.url).searchParams.get("runId"),n=new ReadableStream({start(n){let a=new TextEncoder,r=new Map,i=!1;function s(e){if(!i)try{n.enqueue(a.encode(e))}catch{}}function o(e){console.log(`[SSE] emit: ${e.eventType} for "${e.featureName}"${e.phaseName?` (${e.phaseName})`:""}`),s(`event: notification
1
+ module.exports=[58773,e=>{"use strict";var t,n,a,r,i,s,o,l,d,u,c,p,g,m,h,v,R,f,y,C,w,A,E,P,S=e.i(22925),T=e.i(62995),I=e.i(14112),N=e.i(31716),x=e.i(16340),D=e.i(40522),O=e.i(21994),k=e.i(5802),_=e.i(17171),b=e.i(177),q=e.i(43685),F=e.i(84832),M=e.i(92435),U=e.i(41260),$=e.i(80556),H=e.i(93695);e.i(97230);var W=e.i(35162),B=e.i(40060);(t={}).PRD="PRD",t.API="API",t.Design="Design",t.Other="Other",(n={}).Markdown="md",n.Text="txt",n.Yaml="yaml",n.Other="Other",(a={}).Todo="Todo",a.Elaborating="Elaborating",a.Done="Done",(r={}).Assistant="assistant",r.User="user",(i={}).Functional="Functional",i.NonFunctional="NonFunctional",(s={}).NotStarted="NotStarted",s.Running="Running",s.Finished="Finished",(o={}).VsCode="vscode",o.Cursor="cursor",o.Windsurf="windsurf",o.Zed="zed",o.Antigravity="antigravity",(l={}).ClaudeCode="claude-code",l.GeminiCli="gemini-cli",l.Aider="aider",l.Continue="continue",l.Cursor="cursor",l.Dev="dev",(d={}).Session="session",d.Token="token",(u={}).Todo="Todo",u.WIP="Work in Progress",u.Done="Done",u.Review="Review",(c={}).Requirements="Requirements",c.ClarificationRequired="ClarificationRequired",c.Ready="Ready";var K=((p={}).Started="Started",p.Analyze="Analyze",p.Requirements="Requirements",p.Research="Research",p.Planning="Planning",p.Implementation="Implementation",p.Review="Review",p.Maintain="Maintain",p.Blocked="Blocked",p);(g={}).Open="Open",g.Merged="Merged",g.Closed="Closed",(m={}).Pending="Pending",m.Success="Success",m.Failure="Failure",(h={}).VsCode="vscode",h.Cursor="cursor",h.Windsurf="windsurf",h.Zed="zed",h.Antigravity="antigravity",h.CursorCli="cursor-cli",h.ClaudeCode="claude-code";var L=((v={}).AgentStarted="agent_started",v.PhaseCompleted="phase_completed",v.WaitingApproval="waiting_approval",v.AgentCompleted="agent_completed",v.AgentFailed="agent_failed",v.PrMerged="pr_merged",v.PrClosed="pr_closed",v.PrChecksPassed="pr_checks_passed",v.PrChecksFailed="pr_checks_failed",v),j=((R={}).Info="info",R.Warning="warning",R.Success="success",R.Error="error",R);(f={}).Idle="Idle",f.Running="Running",f.Paused="Paused",f.Stopped="Stopped",(y={}).GatheringRequirements="GatheringRequirements",y.ClarificationsRequired="ClarificationsRequired",y.DoingResearch="DoingResearch",y.AwaitingReview="AwaitingReview",y.ExecutingWorkPlan="ExecutingWorkPlan",y.Ready="Ready",(C={}).TCP="TCP",C.UDP="UDP",(w={}).DockerCompose="DockerCompose",w.Docker="Docker",w.Kubernetes="Kubernetes",w.Script="Script",w.Manual="Manual",(A={}).Booting="Booting",A.Ready="Ready",A.Stopped="Stopped";var G=((E={}).pending="pending",E.running="running",E.completed="completed",E.failed="failed",E.interrupted="interrupted",E.cancelled="cancelled",E.waitingApproval="waiting_approval",E);(P={}).sessionResume="session-resume",P.streaming="streaming",P.toolScoping="tool-scoping",P.structuredOutput="structured-output",P.systemPrompt="system-prompt",P.sessionListing="session-listing";let z={[K.Started]:"requirements",[K.Analyze]:"analyze",[K.Requirements]:"requirements",[K.Research]:"research",[K.Planning]:"plan",[K.Implementation]:"implement",[K.Review]:"merge",[K.Maintain]:"maintain",[K.Blocked]:"blocked"},V={[G.running]:{eventType:L.AgentStarted,severity:j.Info},[G.waitingApproval]:{eventType:L.WaitingApproval,severity:j.Warning},[G.completed]:{eventType:L.AgentCompleted,severity:j.Success},[G.failed]:{eventType:L.AgentFailed,severity:j.Error},[G.interrupted]:{eventType:L.AgentFailed,severity:j.Warning},[G.cancelled]:{eventType:L.AgentFailed,severity:j.Warning}};function X(e){try{let t=new URL(e.url).searchParams.get("runId"),n=new ReadableStream({start(n){let a=new TextEncoder,r=new Map,i=!1;function s(e){if(!i)try{n.enqueue(a.encode(e))}catch{}}function o(e){console.log(`[SSE] emit: ${e.eventType} for "${e.featureName}"${e.phaseName?` (${e.phaseName})`:""}`),s(`event: notification
2
2
  data: ${JSON.stringify(e)}
3
3
 
4
- `)}let l=0;async function d(){if(!i)try{let e=(0,B.resolve)("ListFeaturesUseCase"),n=(0,B.resolve)("IAgentRunRepository"),a=(0,B.resolve)("IPhaseTimingRepository"),i=await e.execute();for(let{feature:e,run:s}of(await Promise.all(i.map(async e=>{let t=e.agentRunId?await n.findById(e.agentRunId):null;return{feature:e,run:t}})))){if(!s||t&&s.id!==t)continue;let n=r.get(e.id);if(!n){let t=new Set;try{for(let e of(await a.findByRunId(s.id)))e.completedAt&&t.add(e.phase)}catch{}r.set(e.id,{status:s.status,lifecycle:e.lifecycle,completedPhases:t,featureName:e.name});continue}if(n.status!==s.status){n.status=s.status;let t=V[s.status];if(t){let n=function(e){if(e?.startsWith("node:"))return e.slice(5)}(s.result);o({eventType:t.eventType,agentRunId:s.id,featureId:e.id,featureName:e.name,...n&&{phaseName:n},message:`Agent status: ${s.status}`,severity:t.severity,timestamp:new Date().toISOString()})}}if(n.lifecycle!==e.lifecycle){n.lifecycle=e.lifecycle;let t=z[e.lifecycle];t&&o({eventType:L.PhaseCompleted,agentRunId:s.id,featureId:e.id,featureName:e.name,phaseName:t,message:`Entered ${t} phase`,severity:j.Info,timestamp:new Date().toISOString()})}try{for(let t of(await a.findByRunId(s.id)))t.completedAt&&!n.completedPhases.has(t.phase)&&(n.completedPhases.add(t.phase),o({eventType:L.PhaseCompleted,agentRunId:s.id,featureId:e.id,featureName:e.name,phaseName:t.phase,message:`Completed ${t.phase} phase`,severity:j.Info,timestamp:new Date().toISOString()}))}catch{}}l=0}catch(e){(++l<=3||l%60==0)&&console.error(`[SSE /api/agent-events] poll error #${l}:`,e instanceof Error?e.message:e)}}d();let u=setInterval(()=>void d(),500),c=setInterval(()=>{s(": heartbeat\n\n")},3e4);e.signal.addEventListener("abort",()=>{i=!0,clearInterval(u),clearInterval(c);try{n.close()}catch{}},{once:!0})}});return new Response(n,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(e){return console.error("[SSE route] GET handler error:",e),new Response(JSON.stringify({error:String(e)}),{status:500,headers:{"Content-Type":"application/json"}})}}e.s(["GET",()=>X,"dynamic",0,"force-dynamic"],50328);var Z=e.i(50328);let J=new S.AppRouteRouteModule({definition:{kind:T.RouteKind.APP_ROUTE,page:"/api/agent-events/route",pathname:"/api/agent-events",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/agent-events/route.ts",nextConfigOutput:"standalone",userland:Z}),{workAsyncStorage:Y,workUnitAsyncStorage:Q,serverHooks:ee}=J;function et(){return(0,I.patchFetch)({workAsyncStorage:Y,workUnitAsyncStorage:Q})}async function en(e,t,n){J.isDev&&(0,N.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/agent-events/route";a=a.replace(/\/index$/,"")||"/";let r=await J.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:i,params:s,nextConfig:o,parsedUrl:l,isDraftMode:d,prerenderManifest:u,routerServerContext:c,isOnDemandRevalidate:p,revalidateOnlyGenerated:g,resolvedPathname:h,clientReferenceManifest:m,serverActionsManifest:v}=r,R=(0,O.normalizeAppPath)(a),f=!!(u.dynamicRoutes[R]||u.routes[h]),y=async()=>((null==c?void 0:c.render404)?await c.render404(e,t,l,!1):t.end("This page could not be found"),null);if(f&&!d){let e=!!u.routes[h],t=u.dynamicRoutes[R];if(t&&!1===t.fallback&&!e){if(o.experimental.adapterPath)return await y();throw new H.NoFallbackError}}let C=null;!f||J.isDev||d||(C="/index"===(C=h)?"/":C);let w=!0===J.isDev||!f,A=f&&!w;v&&m&&(0,D.setManifestsSingleton)({page:a,clientReferenceManifest:m,serverActionsManifest:v});let E=e.method||"GET",P=(0,x.getTracer)(),S=P.getActiveScopeSpan(),I={params:s,prerenderManifest:u,renderOpts:{experimental:{authInterrupts:!!o.experimental.authInterrupts},cacheComponents:!!o.cacheComponents,supportsDynamicResponse:w,incrementalCache:(0,N.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:o.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>J.onRequestError(e,t,a,r,c)},sharedContext:{buildId:i}},B=new _.NodeNextRequest(e),K=new _.NodeNextResponse(t),L=k.NextRequestAdapter.fromNodeNextRequest(B,(0,k.signalFromNodeResponse)(t));try{let r=async e=>J.handle(L,I).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=P.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==b.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${E} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${E} ${a}`)}),i=!!(0,N.getRequestMeta)(e,"minimalMode"),s=async s=>{var l,h;let m=async({previousCacheEntry:o})=>{try{if(!i&&p&&g&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await r(s);e.fetchMetrics=I.renderOpts.fetchMetrics;let l=I.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=I.renderOpts.collectedTags;if(!f)return await (0,F.sendResponse)(B,K,a,I.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,M.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[$.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==I.renderOpts.collectedRevalidate&&!(I.renderOpts.collectedRevalidate>=$.INFINITE_CACHE)&&I.renderOpts.collectedRevalidate,r=void 0===I.renderOpts.collectedExpire||I.renderOpts.collectedExpire>=$.INFINITE_CACHE?void 0:I.renderOpts.collectedExpire;return{value:{kind:W.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==o?void 0:o.isStale)&&await J.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,q.getRevalidateReason)({isStaticGeneration:A,isOnDemandRevalidate:p})},!1,c),t}},v=await J.handleResponse({req:e,nextConfig:o,cacheKey:C,routeKind:T.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:u,isRoutePPREnabled:!1,isOnDemandRevalidate:p,revalidateOnlyGenerated:g,responseGenerator:m,waitUntil:n.waitUntil,isMinimalMode:i});if(!f)return null;if((null==v||null==(l=v.value)?void 0:l.kind)!==W.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==v||null==(h=v.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",p?"REVALIDATED":v.isMiss?"MISS":v.isStale?"STALE":"HIT"),d&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,M.fromNodeOutgoingHttpHeaders)(v.value.headers);return i&&f||R.delete($.NEXT_CACHE_TAGS_HEADER),!v.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,U.getCacheControlHeader)(v.cacheControl)),await (0,F.sendResponse)(B,K,new Response(v.value.body,{headers:R,status:v.value.status||200})),null};S?await s(S):await P.withPropagatedContext(e.headers,()=>P.trace(b.BaseServerSpan.handleRequest,{spanName:`${E} ${a}`,kind:x.SpanKind.SERVER,attributes:{"http.method":E,"http.target":e.url}},s))}catch(t){if(t instanceof H.NoFallbackError||await J.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,q.getRevalidateReason)({isStaticGeneration:A,isOnDemandRevalidate:p})},!1,c),f)throw t;return await (0,F.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>en,"patchFetch",()=>et,"routeModule",()=>J,"serverHooks",()=>ee,"workAsyncStorage",()=>Y,"workUnitAsyncStorage",()=>Q],58773)}];
4
+ `)}let l=0;async function d(){if(!i)try{let e=(0,B.resolve)("ListFeaturesUseCase"),n=(0,B.resolve)("IAgentRunRepository"),a=(0,B.resolve)("IPhaseTimingRepository"),i=await e.execute();for(let{feature:e,run:s}of(await Promise.all(i.map(async e=>{let t=e.agentRunId?await n.findById(e.agentRunId):null;return{feature:e,run:t}})))){if(!s||t&&s.id!==t)continue;let n=r.get(e.id);if(!n){let t=new Set;try{for(let e of(await a.findByRunId(s.id)))e.completedAt&&t.add(e.phase)}catch{}r.set(e.id,{status:s.status,lifecycle:e.lifecycle,completedPhases:t,featureName:e.name});continue}if(n.status!==s.status){n.status=s.status;let t=V[s.status];if(t){let n=function(e){if(e?.startsWith("node:"))return e.slice(5)}(s.result);o({eventType:t.eventType,agentRunId:s.id,featureId:e.id,featureName:e.name,...n&&{phaseName:n},message:`Agent status: ${s.status}`,severity:t.severity,timestamp:new Date().toISOString()})}}if(n.lifecycle!==e.lifecycle){n.lifecycle=e.lifecycle;let t=z[e.lifecycle];t&&o({eventType:L.PhaseCompleted,agentRunId:s.id,featureId:e.id,featureName:e.name,phaseName:t,message:`Entered ${t} phase`,severity:j.Info,timestamp:new Date().toISOString()})}try{for(let t of(await a.findByRunId(s.id)))t.completedAt&&!n.completedPhases.has(t.phase)&&(n.completedPhases.add(t.phase),o({eventType:L.PhaseCompleted,agentRunId:s.id,featureId:e.id,featureName:e.name,phaseName:t.phase,message:`Completed ${t.phase} phase`,severity:j.Info,timestamp:new Date().toISOString()}))}catch{}}l=0}catch(e){(++l<=3||l%60==0)&&console.error(`[SSE /api/agent-events] poll error #${l}:`,e instanceof Error?e.message:e)}}d();let u=setInterval(()=>void d(),500),c=setInterval(()=>{s(": heartbeat\n\n")},3e4);e.signal.addEventListener("abort",()=>{i=!0,clearInterval(u),clearInterval(c);try{n.close()}catch{}},{once:!0})}});return new Response(n,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(e){return console.error("[SSE route] GET handler error:",e),new Response(JSON.stringify({error:String(e)}),{status:500,headers:{"Content-Type":"application/json"}})}}e.s(["GET",()=>X,"dynamic",0,"force-dynamic"],50328);var Z=e.i(50328);let J=new S.AppRouteRouteModule({definition:{kind:T.RouteKind.APP_ROUTE,page:"/api/agent-events/route",pathname:"/api/agent-events",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/agent-events/route.ts",nextConfigOutput:"standalone",userland:Z}),{workAsyncStorage:Y,workUnitAsyncStorage:Q,serverHooks:ee}=J;function et(){return(0,I.patchFetch)({workAsyncStorage:Y,workUnitAsyncStorage:Q})}async function en(e,t,n){J.isDev&&(0,N.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/agent-events/route";a=a.replace(/\/index$/,"")||"/";let r=await J.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!r)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:i,params:s,nextConfig:o,parsedUrl:l,isDraftMode:d,prerenderManifest:u,routerServerContext:c,isOnDemandRevalidate:p,revalidateOnlyGenerated:g,resolvedPathname:m,clientReferenceManifest:h,serverActionsManifest:v}=r,R=(0,O.normalizeAppPath)(a),f=!!(u.dynamicRoutes[R]||u.routes[m]),y=async()=>((null==c?void 0:c.render404)?await c.render404(e,t,l,!1):t.end("This page could not be found"),null);if(f&&!d){let e=!!u.routes[m],t=u.dynamicRoutes[R];if(t&&!1===t.fallback&&!e){if(o.experimental.adapterPath)return await y();throw new H.NoFallbackError}}let C=null;!f||J.isDev||d||(C="/index"===(C=m)?"/":C);let w=!0===J.isDev||!f,A=f&&!w;v&&h&&(0,D.setManifestsSingleton)({page:a,clientReferenceManifest:h,serverActionsManifest:v});let E=e.method||"GET",P=(0,x.getTracer)(),S=P.getActiveScopeSpan(),I={params:s,prerenderManifest:u,renderOpts:{experimental:{authInterrupts:!!o.experimental.authInterrupts},cacheComponents:!!o.cacheComponents,supportsDynamicResponse:w,incrementalCache:(0,N.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:o.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>J.onRequestError(e,t,a,r,c)},sharedContext:{buildId:i}},B=new k.NodeNextRequest(e),K=new k.NodeNextResponse(t),L=_.NextRequestAdapter.fromNodeNextRequest(B,(0,_.signalFromNodeResponse)(t));try{let r=async e=>J.handle(L,I).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=P.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==b.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${E} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${E} ${a}`)}),i=!!(0,N.getRequestMeta)(e,"minimalMode"),s=async s=>{var l,m;let h=async({previousCacheEntry:o})=>{try{if(!i&&p&&g&&!o)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await r(s);e.fetchMetrics=I.renderOpts.fetchMetrics;let l=I.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let d=I.renderOpts.collectedTags;if(!f)return await (0,F.sendResponse)(B,K,a,I.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,M.toNodeOutgoingHttpHeaders)(a.headers);d&&(t[$.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==I.renderOpts.collectedRevalidate&&!(I.renderOpts.collectedRevalidate>=$.INFINITE_CACHE)&&I.renderOpts.collectedRevalidate,r=void 0===I.renderOpts.collectedExpire||I.renderOpts.collectedExpire>=$.INFINITE_CACHE?void 0:I.renderOpts.collectedExpire;return{value:{kind:W.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==o?void 0:o.isStale)&&await J.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,q.getRevalidateReason)({isStaticGeneration:A,isOnDemandRevalidate:p})},!1,c),t}},v=await J.handleResponse({req:e,nextConfig:o,cacheKey:C,routeKind:T.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:u,isRoutePPREnabled:!1,isOnDemandRevalidate:p,revalidateOnlyGenerated:g,responseGenerator:h,waitUntil:n.waitUntil,isMinimalMode:i});if(!f)return null;if((null==v||null==(l=v.value)?void 0:l.kind)!==W.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==v||null==(m=v.value)?void 0:m.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",p?"REVALIDATED":v.isMiss?"MISS":v.isStale?"STALE":"HIT"),d&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,M.fromNodeOutgoingHttpHeaders)(v.value.headers);return i&&f||R.delete($.NEXT_CACHE_TAGS_HEADER),!v.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,U.getCacheControlHeader)(v.cacheControl)),await (0,F.sendResponse)(B,K,new Response(v.value.body,{headers:R,status:v.value.status||200})),null};S?await s(S):await P.withPropagatedContext(e.headers,()=>P.trace(b.BaseServerSpan.handleRequest,{spanName:`${E} ${a}`,kind:x.SpanKind.SERVER,attributes:{"http.method":E,"http.target":e.url}},s))}catch(t){if(t instanceof H.NoFallbackError||await J.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,q.getRevalidateReason)({isStaticGeneration:A,isOnDemandRevalidate:p})},!1,c),f)throw t;return await (0,F.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",()=>en,"patchFetch",()=>et,"routeModule",()=>J,"serverHooks",()=>ee,"workAsyncStorage",()=>Y,"workUnitAsyncStorage",()=>Q],58773)}];
5
5
 
6
6
  //# sourceMappingURL=403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map
@@ -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])},9550,e=>{"use strict";var t=e.i(22925),r=e.i(62995),a=e.i(14112),n=e.i(31716),s=e.i(16340),o=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),R=e.i(80556),v=e.i(93695);e.i(97230);var f=e.i(35162),g=e.i(27980),w=e.i(40060);async function E(e,{params:t}){let{id:r}=await t;try{let e=(0,w.resolve)("InstallToolUseCase"),t=await e.execute(r);if("error"===t.status)return g.NextResponse.json({error:t.errorMessage},{status:500});return g.NextResponse.json({status:t})}catch(t){let e=t instanceof Error?t.message:"Failed to install tool";return g.NextResponse.json({error:e},{status:500})}}e.s(["POST",()=>E],55315);var m=e.i(55315);let C=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:m}),{workAsyncStorage:y,workUnitAsyncStorage:b,serverHooks:A}=C;function T(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:b})}async function N(e,t,a){C.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/tools/[id]/install/route";g=g.replace(/\/index$/,"")||"/";let w=await C.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,params:m,nextConfig:y,parsedUrl:b,isDraftMode:A,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:P,revalidateOnlyGenerated:O,resolvedPathname:_,clientReferenceManifest:k,serverActionsManifest:j}=w,q=(0,i.normalizeAppPath)(g),S=!!(T.dynamicRoutes[q]||T.routes[_]),I=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,b,!1):t.end("This page could not be found"),null);if(S&&!A){let e=!!T.routes[_],t=T.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await I();throw new v.NoFallbackError}}let H=null;!S||C.isDev||A||(H="/index"===(H=_)?"/":H);let U=!0===C.isDev||!S,D=S&&!U;j&&k&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:k,serverActionsManifest:j});let M=e.method||"GET",F=(0,s.getTracer)(),$=F.getActiveScopeSpan(),K={params:m,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,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)=>C.onRequestError(e,t,a,n,N)},sharedContext:{buildId:E}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let o=async e=>C.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} ${g}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&P&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(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(!S)return await (0,c.sendResponse)(L,B,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);d&&(t[R.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>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,N),t}},u=await C.handleResponse({req:e,nextConfig:y,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:O,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!S)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==f.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",P?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&S||v.delete(R.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} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,N),S)throw t;return await (0,c.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>T,"routeModule",()=>C,"serverHooks",()=>A,"workAsyncStorage",()=>y,"workUnitAsyncStorage",()=>b],9550)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0866d2b5._.js.map
@@ -0,0 +1,11 @@
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"))},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])},78886,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),c=e.i(43685),p=e.i(84832),h=e.i(92435),x=e.i(41260),v=e.i(80556),R=e.i(93695);e.i(97230);var m=e.i(35162),f=e.i(40060);async function g(e,{params:t}){let{id:r}=await t,a=(0,f.resolve)("InstallToolUseCase"),n=new TextEncoder;return new Response(new ReadableStream({async start(e){try{let t=await a.execute(r,t=>{e.enqueue(n.encode(`data: ${t.replace(/\n/g,"\ndata: ")}
2
+
3
+ `))});e.enqueue(n.encode(`event: done
4
+ data: ${JSON.stringify(t)}
5
+
6
+ `))}catch(a){let t=a instanceof Error?a.message:"Installation failed";e.enqueue(n.encode(`event: done
7
+ data: ${JSON.stringify({status:"error",toolName:r,errorMessage:t})}
8
+
9
+ `))}finally{e.close()}}}),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}e.s(["GET",()=>g,"dynamic",0,"force-dynamic"],70916);var w=e.i(70916);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tools/[id]/install/stream/route",pathname:"/api/tools/[id]/install/stream",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/tools/[id]/install/stream/route.ts",nextConfigOutput:"standalone",userland:w}),{workAsyncStorage:C,workUnitAsyncStorage:y,serverHooks:b}=E;function A(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:y})}async function T(e,t,a){E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/tools/[id]/install/stream/route";f=f.replace(/\/index$/,"")||"/";let g=await E.prepare(e,t,{srcPage:f,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:C,nextConfig:y,parsedUrl:b,isDraftMode:A,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,resolvedPathname:q,clientReferenceManifest:S,serverActionsManifest:_}=g,k=(0,i.normalizeAppPath)(f),I=!!(T.dynamicRoutes[k]||T.routes[q]),H=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,b,!1):t.end("This page could not be found"),null);if(I&&!A){let e=!!T.routes[q],t=T.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await H();throw new R.NoFallbackError}}let U=null;!I||E.isDev||A||(U="/index"===(U=q)?"/":U);let j=!0===E.isDev||!I,D=I&&!j;_&&S&&(0,s.setManifestsSingleton)({page:f,clientReferenceManifest:S,serverActionsManifest:_});let M=e.method||"GET",$=(0,o.getTracer)(),F=$.getActiveScopeSpan(),K={params:C,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:j,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)=>E.onRequestError(e,t,a,n,N)},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=>E.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.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} ${f}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!i&&O&&P&&!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(!I)return await (0,p.sendResponse)(L,B,o,K.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);d&&(t[v.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>=v.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:m.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 E.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,N),t}},u=await E.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:P,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:i});if(!I)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==m.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",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let R=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return i&&I||R.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,x.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(L,B,new Response(u.value.body,{headers:R,status:u.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${f}`,kind:o.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof R.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:O})},!1,N),I)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>A,"routeModule",()=>E,"serverHooks",()=>b,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>y],78886)}];
10
+
11
+ //# sourceMappingURL=%5Broot-of-the-server%5D__e247a485._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[49641,s=>{"use strict";s.s([])}];
2
+
3
+ //# sourceMappingURL=f3a1f__next-internal_server_app_api_tools_%5Bid%5D_install_stream_route_actions_1fe5bd5d.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93995,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(69845),e=a.i(52313),f=a.i(25674);let g=(0,f.createServerReference)("40dc2819f0410c1864b5e8240beda7a7e0bbded84a",f.callServer,void 0,f.findSourceMapURL,"createFeature");var h=a.i(87148),h=h,i=a.i(25700);let j=(0,i.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var k=a.i(42642),k=k;let l=(0,i.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),m=(0,i.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var n=a.i(26915),n=n;let o=(0,i.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var p=a.i(51969),p=p,q=a.i(85536),r=a.i(19884);a.i(78454);var s=a.i(24255),t=a.i(2824),u=a.i(18948),v=a.i(90920);function w({className:a,...c}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,q.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...c})}var x=a.i(66873),y=c.forwardRef((a,c)=>(0,b.jsx)(x.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));y.displayName="Label",a.s(["Label",()=>y,"Root",()=>y],59967);var z=a.i(59967),z=z;let A=(0,a.i(42261).cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),B=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(z.Root,{ref:d,className:(0,q.cn)(A(),a),...c}));B.displayName=z.Root.displayName;var p=p;let C=(0,i.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var D=a.i(6175),E=a.i(7420),F=a.i(59653),G=a.i(17329),H=a.i(74432),I=a.i(14272),J="Checkbox",[K,L]=(0,E.createContextScope)(J),[M,N]=K(J);function O(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:g,disabled:h,form:i,name:j,onCheckedChange:k,required:l,value:m="on",internal_do_not_use_render:n}=a,[o,p]=(0,G.useControllableState)({prop:e,defaultProp:g??!1,onChange:k,caller:J}),[q,r]=c.useState(null),[s,t]=c.useState(null),u=c.useRef(!1),v=!q||!!i||!!q.closest("form"),w={checked:o,disabled:h,setChecked:p,control:q,setControl:r,name:j,form:i,value:m,hasConsumerStoppedPropagationRef:u,required:l,defaultChecked:!W(g)&&g,isFormControl:v,bubbleInput:s,setBubbleInput:t};return(0,b.jsx)(M,{scope:d,...w,children:"function"==typeof n?n(w):f})}var P="CheckboxTrigger",Q=c.forwardRef(({__scopeCheckbox:a,onKeyDown:d,onClick:e,...f},g)=>{let{control:h,value:i,disabled:j,checked:k,required:l,setControl:m,setChecked:n,hasConsumerStoppedPropagationRef:o,isFormControl:p,bubbleInput:q}=N(P,a),r=(0,D.useComposedRefs)(g,m),s=c.useRef(k);return c.useEffect(()=>{let a=h?.form;if(a){let b=()=>n(s.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[h,n]),(0,b.jsx)(x.Primitive.button,{type:"button",role:"checkbox","aria-checked":W(k)?"mixed":k,"aria-required":l,"data-state":X(k),"data-disabled":j?"":void 0,disabled:j,value:i,...f,ref:r,onKeyDown:(0,F.composeEventHandlers)(d,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,F.composeEventHandlers)(e,a=>{n(a=>!!W(a)||!a),q&&p&&(o.current=a.isPropagationStopped(),o.current||a.stopPropagation())})})});Q.displayName=P;var R=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(O,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Q,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(V,{__scopeCheckbox:d})]})})});R.displayName=J;var S="CheckboxIndicator",T=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=N(S,d);return(0,b.jsx)(I.Presence,{present:e||W(g.checked)||!0===g.checked,children:(0,b.jsx)(x.Primitive.span,{"data-state":X(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});T.displayName=S;var U="CheckboxBubbleInput",V=c.forwardRef(({__scopeCheckbox:a,...d},e)=>{let f,{control:g,hasConsumerStoppedPropagationRef:h,checked:i,defaultChecked:j,required:k,disabled:l,name:m,value:n,form:o,bubbleInput:p,setBubbleInput:q}=N(U,a),r=(0,D.useComposedRefs)(e,q),s=(f=c.useRef({value:i,previous:i}),c.useMemo(()=>(f.current.value!==i&&(f.current.previous=f.current.value,f.current.value=i),f.current.previous),[i])),t=(0,H.useSize)(g);c.useEffect(()=>{if(!p)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!h.current;if(s!==i&&a){let c=new Event("click",{bubbles:b});p.indeterminate=W(i),a.call(p,!W(i)&&i),p.dispatchEvent(c)}},[p,s,i,h]);let u=c.useRef(!W(i)&&i);return(0,b.jsx)(x.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:j??u.current,required:k,disabled:l,name:m,value:n,form:o,...d,tabIndex:-1,ref:r,style:{...d.style,...t,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function W(a){return"indeterminate"===a}function X(a){return W(a)?"indeterminate":a?"checked":"unchecked"}V.displayName=U,a.s(["Checkbox",()=>R,"CheckboxIndicator",()=>T,"Indicator",()=>T,"Root",()=>R,"createCheckboxScope",()=>L,"unstable_BubbleInput",()=>V,"unstable_CheckboxBubbleInput",()=>V,"unstable_CheckboxProvider",()=>O,"unstable_CheckboxTrigger",()=>Q,"unstable_Provider",()=>O,"unstable_Trigger",()=>Q],27835);var Y=a.i(27835),Y=Y;function Z({className:a,...c}){return(0,b.jsx)(Y.Root,{"data-slot":"checkbox",className:(0,q.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...c,children:(0,b.jsx)(Y.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===c.checked?(0,b.jsx)(C,{className:"size-3.5"}):(0,b.jsx)(p.default,{className:"size-3.5"})})})}function $({id:a,label:c,description:d,checked:e,onCheckedChange:f,disabled:g}){return(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:a,className:"mt-0.75",checked:e,onCheckedChange:a=>f(!0===a),disabled:g}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:a,className:"cursor-pointer text-sm font-medium",children:c}),d?(0,b.jsx)(B,{htmlFor:a,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:d}):null]})]})}function _({label:a,description:c,parentAriaLabel:d,options:e,value:f,onValueChange:g,disabled:h}){let i=e.filter(a=>f[a.id]).length,j=i===e.length,k=i>0&&!j,l=`${a.toLowerCase().replace(/\s+/g,"-")}-group`;return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:l,className:"mt-0.75",checked:k?"indeterminate":j,onCheckedChange:()=>{let a=i<e.length,b={};for(let c of e)b[c.id]=a;g(b)},disabled:h,"aria-label":d??`${a} select all`}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:l,className:"cursor-pointer text-sm font-medium",children:a}),c?(0,b.jsx)(B,{htmlFor:l,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:c}):null]})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3 pl-6",children:e.map(a=>(0,b.jsx)($,{id:a.id,label:a.label,description:a.description,checked:f[a.id]??!1,onCheckedChange:b=>{var c;return c=a.id,void g({...f,[c]:b})},disabled:h},a.id))})]})}var aa=a.i(58339),ab=a.i(58761),ac=a.i(51473),ad=a.i(59675),ae=a.i(5472),af=a.i(75988),ag=a.i(80930),ah=a.i(90986),ai=a.i(16164),aj=a.i(45291),ak="Popover",[al,am]=(0,E.createContextScope)(ak,[af.createPopperScope]),an=(0,af.createPopperScope)(),[ao,ap]=al(ak),aq=a=>{let{__scopePopover:d,children:e,open:f,defaultOpen:g,onOpenChange:h,modal:i=!1}=a,j=an(d),k=c.useRef(null),[l,m]=c.useState(!1),[n,o]=(0,G.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:ak});return(0,b.jsx)(af.Root,{...j,children:(0,b.jsx)(ao,{scope:d,contentId:(0,ae.useId)(),triggerRef:k,open:n,onOpenChange:o,onOpenToggle:c.useCallback(()=>o(a=>!a),[o]),hasCustomAnchor:l,onCustomAnchorAdd:c.useCallback(()=>m(!0),[]),onCustomAnchorRemove:c.useCallback(()=>m(!1),[]),modal:i,children:e})})};aq.displayName=ak;var ar="PopoverAnchor",as=c.forwardRef((a,d)=>{let{__scopePopover:e,...f}=a,g=ap(ar,e),h=an(e),{onCustomAnchorAdd:i,onCustomAnchorRemove:j}=g;return c.useEffect(()=>(i(),()=>j()),[i,j]),(0,b.jsx)(af.Anchor,{...h,...f,ref:d})});as.displayName=ar;var at="PopoverTrigger",au=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(at,d),g=an(d),h=(0,D.useComposedRefs)(c,f.triggerRef),i=(0,b.jsx)(x.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":f.open,"aria-controls":f.contentId,"data-state":aI(f.open),...e,ref:h,onClick:(0,F.composeEventHandlers)(a.onClick,f.onOpenToggle)});return f.hasCustomAnchor?i:(0,b.jsx)(af.Anchor,{asChild:!0,...g,children:i})});au.displayName=at;var av="PopoverPortal",[aw,ax]=al(av,{forceMount:void 0}),ay=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=ap(av,c);return(0,b.jsx)(aw,{scope:c,forceMount:d,children:(0,b.jsx)(I.Presence,{present:d||g.open,children:(0,b.jsx)(ag.Portal,{asChild:!0,container:f,children:e})})})};ay.displayName=av;var az="PopoverContent",aA=c.forwardRef((a,c)=>{let d=ax(az,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=ap(az,a.__scopePopover);return(0,b.jsx)(I.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)(aC,{...f,ref:c}):(0,b.jsx)(aD,{...f,ref:c})})});aA.displayName=az;var aB=(0,ah.createSlot)("PopoverContent.RemoveScroll"),aC=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(null),g=(0,D.useComposedRefs)(d,f),h=c.useRef(!1);return c.useEffect(()=>{let a=f.current;if(a)return(0,ai.hideOthers)(a)},[]),(0,b.jsx)(aj.RemoveScroll,{as:aB,allowPinchZoom:!0,children:(0,b.jsx)(aE,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,F.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),h.current||e.triggerRef.current?.focus()}),onPointerDownOutside:(0,F.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;h.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,F.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),aD=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(!1),g=c.useRef(!1);return(0,b.jsx)(aE,{...a,ref:d,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(f.current||e.triggerRef.current?.focus(),b.preventDefault()),f.current=!1,g.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(f.current=!0,"pointerdown"===b.detail.originalEvent.type&&(g.current=!0));let c=b.target;e.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&g.current&&b.preventDefault()}})}),aE=c.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onInteractOutside:l,...m}=a,n=ap(az,d),o=an(d);return(0,ac.useFocusGuards)(),(0,b.jsx)(ad.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:g,children:(0,b.jsx)(ab.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onInteractOutside:l,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onDismiss:()=>n.onOpenChange(!1),children:(0,b.jsx)(af.Content,{"data-state":aI(n.open),role:"dialog",id:n.contentId,...o,...m,ref:c,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),aF="PopoverClose",aG=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(aF,d);return(0,b.jsx)(x.Primitive.button,{type:"button",...e,ref:c,onClick:(0,F.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})});aG.displayName=aF;var aH=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=an(d);return(0,b.jsx)(af.Arrow,{...f,...e,ref:c})});function aI(a){return a?"open":"closed"}aH.displayName="PopoverArrow",a.s(["Anchor",()=>as,"Arrow",()=>aH,"Close",()=>aG,"Content",()=>aA,"Popover",()=>aq,"PopoverAnchor",()=>as,"PopoverArrow",()=>aH,"PopoverClose",()=>aG,"PopoverContent",()=>aA,"PopoverPortal",()=>ay,"PopoverTrigger",()=>au,"Portal",()=>ay,"Root",()=>aq,"Trigger",()=>au,"createPopoverScope",()=>am],61452);var aJ=a.i(61452),aJ=aJ;let aK=aJ.Root,aL=aJ.Trigger;aJ.Anchor;let aM=c.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(aJ.Portal,{children:(0,b.jsx)(aJ.Content,{ref:f,align:c,sideOffset:d,className:(0,q.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",a),...e})}));aM.displayName=aJ.Content.displayName;var aN=a.i(96213);async function aO(){let a=await fetch("/api/dialog/pick-files",{method:"POST"});if(!a.ok)throw Error("Failed to open file dialog");let b=await a.json();return b.cancelled?null:b.files}let aP=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],aQ={allowPrd:!1,allowPlan:!1,allowMerge:!1};function aR({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:i,features:j,initialParentId:k}){let l=(0,r.useSoundAction)("create"),m=i?.approvalGates??aQ,n=i?.push??!1,o=i?.openPr??!1,[p,q]=(0,c.useState)(""),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)([]),[C,D]=(0,c.useState)({...m}),[E,F]=(0,c.useState)(n),[G,H]=(0,c.useState)(o),[I,J]=(0,c.useState)(void 0);(0,c.useEffect)(()=>{i&&(D({...i.approvalGates}),F(i.push),H(i.openPr))},[i]),(0,c.useEffect)(()=>{a&&k&&J(k)},[a,k]);let K=(0,c.useCallback)(()=>{q(""),y(""),A([]),D({...m}),F(n),H(o),J(void 0)},[m,n,o]),L=""!==p.trim()||""!==x.trim()||z.length>0,{attemptClose:M}=(0,aN.useGuardedDrawerClose)({open:a,isDirty:L,onClose:d,onReset:K}),N=(0,c.useCallback)(a=>{if(a.preventDefault(),!p.trim())return;l.play();let b=x.trim()||void 0;e({name:p.trim(),description:b,attachments:z,repositoryPath:f,approvalGates:{allowPrd:C.allowPrd??!1,allowPlan:C.allowPlan??!1,allowMerge:C.allowMerge??!1},push:E||G,openPr:G,...I?{parentId:I}:{}}),K()},[p,x,z,C,f,e,E,G,I,l,K]),O=(0,c.useCallback)(async()=>{try{let a=await aO();a&&A(b=>[...b,...a])}catch{}},[]),P=(0,c.useCallback)(a=>{A(b=>b.filter(b=>b.path!==a))},[]),Q=j&&j.length>0;return(0,b.jsx)(s.BaseDrawer,{open:a,onClose:M,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,b.jsx)(t.DrawerTitle,{children:"NEW FEATURE"})]}),g?(0,b.jsx)(t.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(aa.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(u.Button,{variant:"outline",onClick:M,disabled:g,children:"Cancel"}),(0,b.jsx)(u.Button,{type:"submit",form:"create-feature-form",disabled:!p.trim()||g,children:g?"Creating...":"+ Create Feature"})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsxs)("form",{id:"create-feature-form",onSubmit:N,className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-name",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"FEATURE NAME"}),(0,b.jsx)(v.Input,{id:"feature-name",placeholder:"e.g. GitHub OAuth Login",value:p,onChange:a=>q(a.target.value),required:!0,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIPTION"}),(0,b.jsx)(w,{id:"feature-description",placeholder:"Describe what this feature does...",value:x,onChange:a=>y(a.target.value),rows:4,disabled:g})]}),Q?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,b.jsx)(aS,{features:j,value:I,onChange:J,disabled:g})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"APPROVE"}),(0,b.jsx)(_,{label:"Autonomous Mode",description:"YOLO!",parentAriaLabel:"Auto approve all",options:aP,value:C,onValueChange:D,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"GIT"}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)($,{id:"push",label:"Push",description:"Push branch to remote after implementation.",checked:E||G,onCheckedChange:F,disabled:G||g}),(0,b.jsx)($,{id:"open-pr",label:"Create PR",description:"Open a pull request after pushing.",checked:G,onCheckedChange:H,disabled:g})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:["ATTACHMENTS",z.length>0&&(0,b.jsxs)("span",{className:"text-muted-foreground/60 ml-1.5",children:["(",z.length,")"]})]}),(0,b.jsxs)(u.Button,{type:"button",variant:"outline",size:"xs",onClick:O,disabled:g,children:[(0,b.jsx)(h.default,{className:"size-3"}),"Add Files"]})]}),z.length>0&&(0,b.jsx)("div",{className:"flex flex-col gap-2",children:z.map(a=>(0,b.jsx)(aT,{file:a,onRemove:()=>P(a.path),disabled:g},a.path))})]})]})})})}function aS({features:a,value:d,onChange:e,disabled:f}){let[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(""),k=(0,c.useRef)(null),l=a.find(a=>a.id===d),m=i.trim()?a.filter(a=>a.name.toLowerCase().includes(i.toLowerCase())||a.id.toLowerCase().includes(i.toLowerCase())):a,n=(0,c.useCallback)(a=>{e(a),h(!1),j("")},[e]);return(0,c.useEffect)(()=>{g?setTimeout(()=>k.current?.focus(),0):j("")},[g]),(0,b.jsxs)(aK,{open:g,onOpenChange:h,children:[(0,b.jsx)(aL,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":g,"aria-label":"Parent Feature",disabled:f,"data-testid":"parent-feature-combobox",className:(0,q.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!l&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:l?`${l.name} (${l.id.slice(0,8)})`:"Select parent feature..."}),(0,b.jsx)(o,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(aM,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(v.Input,{ref:k,placeholder:"Search features...",value:i,onChange:a=>j(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===d,onClick:()=>n(void 0),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===d&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===m.length&&i?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):m.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>n(a.id),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",d===a.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${a.id}`,children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",d!==a.id&&"invisible")}),(0,b.jsxs)("span",{className:"truncate",children:[a.name," ",(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",a.id.slice(0,8),")"]})]})]},a.id))]})]})})]})}function aT({file:a,onRemove:c,disabled:d}){var e,f,g;let h,i=(h=(e=a.name).lastIndexOf("."))>=0?e.slice(h).toLowerCase():"",o=(f=i,aU.has(f)?l:".pdf"===f?k.default:aV.has(f)?m:j),p=".pdf"===(g=i)?"bg-red-50 text-red-600":aU.has(g)?"bg-blue-50 text-blue-600":aV.has(g)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600";return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-md border p-2",children:[(0,b.jsx)("div",{className:(0,q.cn)("flex h-8 w-8 shrink-0 items-center justify-center rounded",p),children:(0,b.jsx)(o,{className:"h-4 w-4"})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:function(a){if(0===a)return"0 B";let b=Math.floor(Math.log(a)/Math.log(1024));return`${(a/Math.pow(1024,b)).toFixed(+(0!==b))} ${["B","KB","MB","GB"][b]}`}(a.size)})]}),(0,b.jsx)(u.Button,{type:"button",variant:"ghost",size:"icon-xs",onClick:c,disabled:d,"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(n.default,{className:"h-3 w-3"})})]})}let aU=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),aV=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function aW({repositoryPath:a,initialParentId:f,features:h,workflowDefaults:i}){let j=(0,d.useRouter)(),k=(0,r.useSoundAction)("create"),[l,m]=(0,c.useState)(!1),n=(0,d.usePathname)(),o=!l&&n.startsWith("/create");(0,c.useEffect)(()=>{!o&&n.startsWith("/create")&&j.replace("/")},[o,n,j]);let p=(0,c.useCallback)(()=>{j.push("/")},[j]),q=(0,c.useCallback)(a=>{m(!0),window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{name:a.name,description:a.description,repositoryPath:a.repositoryPath,parentId:a.parentId}})),j.push("/"),g(a).then(a=>{if(a.error){e.toast.error(a.error),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"));return}k.play()}).catch(()=>{e.toast.error("Failed to create feature"),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"))}).finally(()=>{m(!1)})},[j,k]);return(0,b.jsx)(aR,{open:o,onClose:p,onSubmit:q,repositoryPath:a,features:h,workflowDefaults:i,initialParentId:f,isSubmitting:l})}a.s(["CreateDrawerClient",()=>aW],93995)}];
1
+ module.exports=[93995,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(69845),e=a.i(52313),f=a.i(25674);let g=(0,f.createServerReference)("407049b1f40e037d000435d9df8a030b383b568b74",f.callServer,void 0,f.findSourceMapURL,"createFeature");var h=a.i(87148),h=h,i=a.i(25700);let j=(0,i.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var k=a.i(42642),k=k;let l=(0,i.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),m=(0,i.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var n=a.i(26915),n=n;let o=(0,i.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var p=a.i(51969),p=p,q=a.i(85536),r=a.i(19884);a.i(78454);var s=a.i(24255),t=a.i(2824),u=a.i(18948),v=a.i(90920);function w({className:a,...c}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,q.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...c})}var x=a.i(66873),y=c.forwardRef((a,c)=>(0,b.jsx)(x.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));y.displayName="Label",a.s(["Label",()=>y,"Root",()=>y],59967);var z=a.i(59967),z=z;let A=(0,a.i(42261).cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),B=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(z.Root,{ref:d,className:(0,q.cn)(A(),a),...c}));B.displayName=z.Root.displayName;var p=p;let C=(0,i.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var D=a.i(6175),E=a.i(7420),F=a.i(59653),G=a.i(17329),H=a.i(74432),I=a.i(14272),J="Checkbox",[K,L]=(0,E.createContextScope)(J),[M,N]=K(J);function O(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:g,disabled:h,form:i,name:j,onCheckedChange:k,required:l,value:m="on",internal_do_not_use_render:n}=a,[o,p]=(0,G.useControllableState)({prop:e,defaultProp:g??!1,onChange:k,caller:J}),[q,r]=c.useState(null),[s,t]=c.useState(null),u=c.useRef(!1),v=!q||!!i||!!q.closest("form"),w={checked:o,disabled:h,setChecked:p,control:q,setControl:r,name:j,form:i,value:m,hasConsumerStoppedPropagationRef:u,required:l,defaultChecked:!W(g)&&g,isFormControl:v,bubbleInput:s,setBubbleInput:t};return(0,b.jsx)(M,{scope:d,...w,children:"function"==typeof n?n(w):f})}var P="CheckboxTrigger",Q=c.forwardRef(({__scopeCheckbox:a,onKeyDown:d,onClick:e,...f},g)=>{let{control:h,value:i,disabled:j,checked:k,required:l,setControl:m,setChecked:n,hasConsumerStoppedPropagationRef:o,isFormControl:p,bubbleInput:q}=N(P,a),r=(0,D.useComposedRefs)(g,m),s=c.useRef(k);return c.useEffect(()=>{let a=h?.form;if(a){let b=()=>n(s.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[h,n]),(0,b.jsx)(x.Primitive.button,{type:"button",role:"checkbox","aria-checked":W(k)?"mixed":k,"aria-required":l,"data-state":X(k),"data-disabled":j?"":void 0,disabled:j,value:i,...f,ref:r,onKeyDown:(0,F.composeEventHandlers)(d,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,F.composeEventHandlers)(e,a=>{n(a=>!!W(a)||!a),q&&p&&(o.current=a.isPropagationStopped(),o.current||a.stopPropagation())})})});Q.displayName=P;var R=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(O,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Q,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(V,{__scopeCheckbox:d})]})})});R.displayName=J;var S="CheckboxIndicator",T=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=N(S,d);return(0,b.jsx)(I.Presence,{present:e||W(g.checked)||!0===g.checked,children:(0,b.jsx)(x.Primitive.span,{"data-state":X(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});T.displayName=S;var U="CheckboxBubbleInput",V=c.forwardRef(({__scopeCheckbox:a,...d},e)=>{let f,{control:g,hasConsumerStoppedPropagationRef:h,checked:i,defaultChecked:j,required:k,disabled:l,name:m,value:n,form:o,bubbleInput:p,setBubbleInput:q}=N(U,a),r=(0,D.useComposedRefs)(e,q),s=(f=c.useRef({value:i,previous:i}),c.useMemo(()=>(f.current.value!==i&&(f.current.previous=f.current.value,f.current.value=i),f.current.previous),[i])),t=(0,H.useSize)(g);c.useEffect(()=>{if(!p)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!h.current;if(s!==i&&a){let c=new Event("click",{bubbles:b});p.indeterminate=W(i),a.call(p,!W(i)&&i),p.dispatchEvent(c)}},[p,s,i,h]);let u=c.useRef(!W(i)&&i);return(0,b.jsx)(x.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:j??u.current,required:k,disabled:l,name:m,value:n,form:o,...d,tabIndex:-1,ref:r,style:{...d.style,...t,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function W(a){return"indeterminate"===a}function X(a){return W(a)?"indeterminate":a?"checked":"unchecked"}V.displayName=U,a.s(["Checkbox",()=>R,"CheckboxIndicator",()=>T,"Indicator",()=>T,"Root",()=>R,"createCheckboxScope",()=>L,"unstable_BubbleInput",()=>V,"unstable_CheckboxBubbleInput",()=>V,"unstable_CheckboxProvider",()=>O,"unstable_CheckboxTrigger",()=>Q,"unstable_Provider",()=>O,"unstable_Trigger",()=>Q],27835);var Y=a.i(27835),Y=Y;function Z({className:a,...c}){return(0,b.jsx)(Y.Root,{"data-slot":"checkbox",className:(0,q.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...c,children:(0,b.jsx)(Y.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===c.checked?(0,b.jsx)(C,{className:"size-3.5"}):(0,b.jsx)(p.default,{className:"size-3.5"})})})}function $({id:a,label:c,description:d,checked:e,onCheckedChange:f,disabled:g}){return(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:a,className:"mt-0.75",checked:e,onCheckedChange:a=>f(!0===a),disabled:g}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:a,className:"cursor-pointer text-sm font-medium",children:c}),d?(0,b.jsx)(B,{htmlFor:a,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:d}):null]})]})}function _({label:a,description:c,parentAriaLabel:d,options:e,value:f,onValueChange:g,disabled:h}){let i=e.filter(a=>f[a.id]).length,j=i===e.length,k=i>0&&!j,l=`${a.toLowerCase().replace(/\s+/g,"-")}-group`;return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:l,className:"mt-0.75",checked:k?"indeterminate":j,onCheckedChange:()=>{let a=i<e.length,b={};for(let c of e)b[c.id]=a;g(b)},disabled:h,"aria-label":d??`${a} select all`}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:l,className:"cursor-pointer text-sm font-medium",children:a}),c?(0,b.jsx)(B,{htmlFor:l,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:c}):null]})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3 pl-6",children:e.map(a=>(0,b.jsx)($,{id:a.id,label:a.label,description:a.description,checked:f[a.id]??!1,onCheckedChange:b=>{var c;return c=a.id,void g({...f,[c]:b})},disabled:h},a.id))})]})}var aa=a.i(58339),ab=a.i(58761),ac=a.i(51473),ad=a.i(59675),ae=a.i(5472),af=a.i(75988),ag=a.i(80930),ah=a.i(90986),ai=a.i(16164),aj=a.i(45291),ak="Popover",[al,am]=(0,E.createContextScope)(ak,[af.createPopperScope]),an=(0,af.createPopperScope)(),[ao,ap]=al(ak),aq=a=>{let{__scopePopover:d,children:e,open:f,defaultOpen:g,onOpenChange:h,modal:i=!1}=a,j=an(d),k=c.useRef(null),[l,m]=c.useState(!1),[n,o]=(0,G.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:ak});return(0,b.jsx)(af.Root,{...j,children:(0,b.jsx)(ao,{scope:d,contentId:(0,ae.useId)(),triggerRef:k,open:n,onOpenChange:o,onOpenToggle:c.useCallback(()=>o(a=>!a),[o]),hasCustomAnchor:l,onCustomAnchorAdd:c.useCallback(()=>m(!0),[]),onCustomAnchorRemove:c.useCallback(()=>m(!1),[]),modal:i,children:e})})};aq.displayName=ak;var ar="PopoverAnchor",as=c.forwardRef((a,d)=>{let{__scopePopover:e,...f}=a,g=ap(ar,e),h=an(e),{onCustomAnchorAdd:i,onCustomAnchorRemove:j}=g;return c.useEffect(()=>(i(),()=>j()),[i,j]),(0,b.jsx)(af.Anchor,{...h,...f,ref:d})});as.displayName=ar;var at="PopoverTrigger",au=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(at,d),g=an(d),h=(0,D.useComposedRefs)(c,f.triggerRef),i=(0,b.jsx)(x.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":f.open,"aria-controls":f.contentId,"data-state":aI(f.open),...e,ref:h,onClick:(0,F.composeEventHandlers)(a.onClick,f.onOpenToggle)});return f.hasCustomAnchor?i:(0,b.jsx)(af.Anchor,{asChild:!0,...g,children:i})});au.displayName=at;var av="PopoverPortal",[aw,ax]=al(av,{forceMount:void 0}),ay=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=ap(av,c);return(0,b.jsx)(aw,{scope:c,forceMount:d,children:(0,b.jsx)(I.Presence,{present:d||g.open,children:(0,b.jsx)(ag.Portal,{asChild:!0,container:f,children:e})})})};ay.displayName=av;var az="PopoverContent",aA=c.forwardRef((a,c)=>{let d=ax(az,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=ap(az,a.__scopePopover);return(0,b.jsx)(I.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)(aC,{...f,ref:c}):(0,b.jsx)(aD,{...f,ref:c})})});aA.displayName=az;var aB=(0,ah.createSlot)("PopoverContent.RemoveScroll"),aC=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(null),g=(0,D.useComposedRefs)(d,f),h=c.useRef(!1);return c.useEffect(()=>{let a=f.current;if(a)return(0,ai.hideOthers)(a)},[]),(0,b.jsx)(aj.RemoveScroll,{as:aB,allowPinchZoom:!0,children:(0,b.jsx)(aE,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,F.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),h.current||e.triggerRef.current?.focus()}),onPointerDownOutside:(0,F.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;h.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,F.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),aD=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(!1),g=c.useRef(!1);return(0,b.jsx)(aE,{...a,ref:d,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(f.current||e.triggerRef.current?.focus(),b.preventDefault()),f.current=!1,g.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(f.current=!0,"pointerdown"===b.detail.originalEvent.type&&(g.current=!0));let c=b.target;e.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&g.current&&b.preventDefault()}})}),aE=c.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onInteractOutside:l,...m}=a,n=ap(az,d),o=an(d);return(0,ac.useFocusGuards)(),(0,b.jsx)(ad.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:g,children:(0,b.jsx)(ab.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onInteractOutside:l,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onDismiss:()=>n.onOpenChange(!1),children:(0,b.jsx)(af.Content,{"data-state":aI(n.open),role:"dialog",id:n.contentId,...o,...m,ref:c,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),aF="PopoverClose",aG=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(aF,d);return(0,b.jsx)(x.Primitive.button,{type:"button",...e,ref:c,onClick:(0,F.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})});aG.displayName=aF;var aH=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=an(d);return(0,b.jsx)(af.Arrow,{...f,...e,ref:c})});function aI(a){return a?"open":"closed"}aH.displayName="PopoverArrow",a.s(["Anchor",()=>as,"Arrow",()=>aH,"Close",()=>aG,"Content",()=>aA,"Popover",()=>aq,"PopoverAnchor",()=>as,"PopoverArrow",()=>aH,"PopoverClose",()=>aG,"PopoverContent",()=>aA,"PopoverPortal",()=>ay,"PopoverTrigger",()=>au,"Portal",()=>ay,"Root",()=>aq,"Trigger",()=>au,"createPopoverScope",()=>am],61452);var aJ=a.i(61452),aJ=aJ;let aK=aJ.Root,aL=aJ.Trigger;aJ.Anchor;let aM=c.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(aJ.Portal,{children:(0,b.jsx)(aJ.Content,{ref:f,align:c,sideOffset:d,className:(0,q.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",a),...e})}));aM.displayName=aJ.Content.displayName;var aN=a.i(96213);async function aO(){let a=await fetch("/api/dialog/pick-files",{method:"POST"});if(!a.ok)throw Error("Failed to open file dialog");let b=await a.json();return b.cancelled?null:b.files}let aP=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],aQ={allowPrd:!1,allowPlan:!1,allowMerge:!1};function aR({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:i,features:j,initialParentId:k}){let l=(0,r.useSoundAction)("create"),m=i?.approvalGates??aQ,n=i?.push??!1,o=i?.openPr??!1,[p,q]=(0,c.useState)(""),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)([]),[C,D]=(0,c.useState)({...m}),[E,F]=(0,c.useState)(n),[G,H]=(0,c.useState)(o),[I,J]=(0,c.useState)(void 0);(0,c.useEffect)(()=>{i&&(D({...i.approvalGates}),F(i.push),H(i.openPr))},[i]),(0,c.useEffect)(()=>{a&&k&&J(k)},[a,k]);let K=(0,c.useCallback)(()=>{q(""),y(""),A([]),D({...m}),F(n),H(o),J(void 0)},[m,n,o]),L=""!==p.trim()||""!==x.trim()||z.length>0,{attemptClose:M}=(0,aN.useGuardedDrawerClose)({open:a,isDirty:L,onClose:d,onReset:K}),N=(0,c.useCallback)(a=>{if(a.preventDefault(),!p.trim())return;l.play();let b=x.trim()||void 0;e({name:p.trim(),description:b,attachments:z,repositoryPath:f,approvalGates:{allowPrd:C.allowPrd??!1,allowPlan:C.allowPlan??!1,allowMerge:C.allowMerge??!1},push:E||G,openPr:G,...I?{parentId:I}:{}}),K()},[p,x,z,C,f,e,E,G,I,l,K]),O=(0,c.useCallback)(async()=>{try{let a=await aO();a&&A(b=>[...b,...a])}catch{}},[]),P=(0,c.useCallback)(a=>{A(b=>b.filter(b=>b.path!==a))},[]),Q=j&&j.length>0;return(0,b.jsx)(s.BaseDrawer,{open:a,onClose:M,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,b.jsx)(t.DrawerTitle,{children:"NEW FEATURE"})]}),g?(0,b.jsx)(t.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(aa.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(u.Button,{variant:"outline",onClick:M,disabled:g,children:"Cancel"}),(0,b.jsx)(u.Button,{type:"submit",form:"create-feature-form",disabled:!p.trim()||g,children:g?"Creating...":"+ Create Feature"})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsxs)("form",{id:"create-feature-form",onSubmit:N,className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-name",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"FEATURE NAME"}),(0,b.jsx)(v.Input,{id:"feature-name",placeholder:"e.g. GitHub OAuth Login",value:p,onChange:a=>q(a.target.value),required:!0,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIPTION"}),(0,b.jsx)(w,{id:"feature-description",placeholder:"Describe what this feature does...",value:x,onChange:a=>y(a.target.value),rows:4,disabled:g})]}),Q?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,b.jsx)(aS,{features:j,value:I,onChange:J,disabled:g})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"APPROVE"}),(0,b.jsx)(_,{label:"Autonomous Mode",description:"YOLO!",parentAriaLabel:"Auto approve all",options:aP,value:C,onValueChange:D,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"GIT"}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)($,{id:"push",label:"Push",description:"Push branch to remote after implementation.",checked:E||G,onCheckedChange:F,disabled:G||g}),(0,b.jsx)($,{id:"open-pr",label:"Create PR",description:"Open a pull request after pushing.",checked:G,onCheckedChange:H,disabled:g})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:["ATTACHMENTS",z.length>0&&(0,b.jsxs)("span",{className:"text-muted-foreground/60 ml-1.5",children:["(",z.length,")"]})]}),(0,b.jsxs)(u.Button,{type:"button",variant:"outline",size:"xs",onClick:O,disabled:g,children:[(0,b.jsx)(h.default,{className:"size-3"}),"Add Files"]})]}),z.length>0&&(0,b.jsx)("div",{className:"flex flex-col gap-2",children:z.map(a=>(0,b.jsx)(aT,{file:a,onRemove:()=>P(a.path),disabled:g},a.path))})]})]})})})}function aS({features:a,value:d,onChange:e,disabled:f}){let[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(""),k=(0,c.useRef)(null),l=a.find(a=>a.id===d),m=i.trim()?a.filter(a=>a.name.toLowerCase().includes(i.toLowerCase())||a.id.toLowerCase().includes(i.toLowerCase())):a,n=(0,c.useCallback)(a=>{e(a),h(!1),j("")},[e]);return(0,c.useEffect)(()=>{g?setTimeout(()=>k.current?.focus(),0):j("")},[g]),(0,b.jsxs)(aK,{open:g,onOpenChange:h,children:[(0,b.jsx)(aL,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":g,"aria-label":"Parent Feature",disabled:f,"data-testid":"parent-feature-combobox",className:(0,q.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!l&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:l?`${l.name} (${l.id.slice(0,8)})`:"Select parent feature..."}),(0,b.jsx)(o,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(aM,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(v.Input,{ref:k,placeholder:"Search features...",value:i,onChange:a=>j(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===d,onClick:()=>n(void 0),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===d&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===m.length&&i?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):m.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>n(a.id),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",d===a.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${a.id}`,children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",d!==a.id&&"invisible")}),(0,b.jsxs)("span",{className:"truncate",children:[a.name," ",(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",a.id.slice(0,8),")"]})]})]},a.id))]})]})})]})}function aT({file:a,onRemove:c,disabled:d}){var e,f,g;let h,i=(h=(e=a.name).lastIndexOf("."))>=0?e.slice(h).toLowerCase():"",o=(f=i,aU.has(f)?l:".pdf"===f?k.default:aV.has(f)?m:j),p=".pdf"===(g=i)?"bg-red-50 text-red-600":aU.has(g)?"bg-blue-50 text-blue-600":aV.has(g)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600";return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-md border p-2",children:[(0,b.jsx)("div",{className:(0,q.cn)("flex h-8 w-8 shrink-0 items-center justify-center rounded",p),children:(0,b.jsx)(o,{className:"h-4 w-4"})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:function(a){if(0===a)return"0 B";let b=Math.floor(Math.log(a)/Math.log(1024));return`${(a/Math.pow(1024,b)).toFixed(+(0!==b))} ${["B","KB","MB","GB"][b]}`}(a.size)})]}),(0,b.jsx)(u.Button,{type:"button",variant:"ghost",size:"icon-xs",onClick:c,disabled:d,"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(n.default,{className:"h-3 w-3"})})]})}let aU=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),aV=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function aW({repositoryPath:a,initialParentId:f,features:h,workflowDefaults:i}){let j=(0,d.useRouter)(),k=(0,r.useSoundAction)("create"),[l,m]=(0,c.useState)(!1),n=(0,d.usePathname)(),o=!l&&n.startsWith("/create");(0,c.useEffect)(()=>{!o&&n.startsWith("/create")&&j.replace("/")},[o,n,j]);let p=(0,c.useCallback)(()=>{j.push("/")},[j]),q=(0,c.useCallback)(a=>{m(!0),window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{name:a.name,description:a.description,repositoryPath:a.repositoryPath,parentId:a.parentId}})),j.push("/"),g(a).then(a=>{if(a.error){e.toast.error(a.error),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"));return}k.play()}).catch(()=>{e.toast.error("Failed to create feature"),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"))}).finally(()=>{m(!1)})},[j,k]);return(0,b.jsx)(aR,{open:o,onClose:p,onSubmit:q,repositoryPath:a,features:h,workflowDefaults:i,initialParentId:f,isSubmitting:l})}a.s(["CreateDrawerClient",()=>aW],93995)}];
2
2
 
3
3
  //# sourceMappingURL=744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[15659,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(31075);a.s([],3216),a.i(3216),a.s(["006d927f83676b07333203cddceb6c9739604760d6",()=>n.fetchGraphData,"009532bf926f84457b69a3f05df7f86f9e83787736",()=>b.pickFolder,"40173d82961a942e932476bd2a446469fbc6e3f37b",()=>g.getDeploymentStatus,"4018e4b3e77d66c73e33b177938dd1d46413b369e7",()=>k.deleteFeature,"40367d2a8dc08a7acaecc157720b7f88e83c04bdb9",()=>f.stopDeployment,"4042ebcdb8254ec9bd35465f32fe0abd1d3a8361d0",()=>d.deployFeature,"40434cdcbfb2a43f6337587b33dcaab3a28d6e8e60",()=>m.deleteRepository,"40a1c9ebe814db3a4a5d4c128f5ceb4c03f1bd96a4",()=>h.openIde,"40b0becc19aca2bed2024d1be7abd4a608149ec9d5",()=>j.openFolder,"40b923d6f29a34eb0fceb201177e08bff3b23c7cf7",()=>l.addRepository,"40c19eced9dff3c4805220819dcaff2a75fb08a73f",()=>i.openShell,"40dddea5d18ba06330a0c2accb88caa204d8b74799",()=>c.getDeploymentLogs,"40e0234f848afa2c029794b2f67ac3a4da652595db",()=>e.deployRepository],15659)}];
2
+
3
+ //# sourceMappingURL=8ba4b_server_app_%28dashboard%29_%40drawer_repository_%5BrepositoryId%5D_page_actions_3a02d8a5.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[5887,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(31075);a.s([],33935),a.i(33935),a.s(["006d927f83676b07333203cddceb6c9739604760d6",()=>n.fetchGraphData,"009532bf926f84457b69a3f05df7f86f9e83787736",()=>b.pickFolder,"40173d82961a942e932476bd2a446469fbc6e3f37b",()=>g.getDeploymentStatus,"4018e4b3e77d66c73e33b177938dd1d46413b369e7",()=>k.deleteFeature,"40367d2a8dc08a7acaecc157720b7f88e83c04bdb9",()=>f.stopDeployment,"4042ebcdb8254ec9bd35465f32fe0abd1d3a8361d0",()=>d.deployFeature,"40434cdcbfb2a43f6337587b33dcaab3a28d6e8e60",()=>m.deleteRepository,"40a1c9ebe814db3a4a5d4c128f5ceb4c03f1bd96a4",()=>h.openIde,"40b0becc19aca2bed2024d1be7abd4a608149ec9d5",()=>j.openFolder,"40b923d6f29a34eb0fceb201177e08bff3b23c7cf7",()=>l.addRepository,"40c19eced9dff3c4805220819dcaff2a75fb08a73f",()=>i.openShell,"40dddea5d18ba06330a0c2accb88caa204d8b74799",()=>c.getDeploymentLogs,"40e0234f848afa2c029794b2f67ac3a4da652595db",()=>e.deployRepository],5887)}];
2
+
3
+ //# sourceMappingURL=8ba4b_server_app_%28dashboard%29_repository_%5BrepositoryId%5D_page_actions_a3044852.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40dddea5d18ba06330a0c2accb88caa204d8b74799",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4042ebcdb8254ec9bd35465f32fe0abd1d3a8361d0",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40e0234f848afa2c029794b2f67ac3a4da652595db",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40367d2a8dc08a7acaecc157720b7f88e83c04bdb9",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40173d82961a942e932476bd2a446469fbc6e3f37b",null),a.s(["getDeploymentStatus",()=>s],85321)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009532bf926f84457b69a3f05df7f86f9e83787736",null),a.s(["pickFolder",()=>g],12513)},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])},81719,a=>{"use strict";var b,c,d,e,f=((b={}).Todo="Todo",b.WIP="Work in Progress",b.Done="Done",b.Review="Review",b),g=((c={}).Started="Started",c.Analyze="Analyze",c.Requirements="Requirements",c.Research="Research",c.Planning="Planning",c.Implementation="Implementation",c.Review="Review",c.Maintain="Maintain",c.Blocked="Blocked",c),h=((d={}).Booting="Booting",d.Ready="Ready",d.Stopped="Stopped",d),i=((e={}).pending="pending",e.running="running",e.completed="completed",e.failed="failed",e.interrupted="interrupted",e.cancelled="cancelled",e.waitingApproval="waiting_approval",e);a.s(["AgentRunStatus",()=>i,"DeploymentState",()=>h,"SdlcLifecycle",()=>g,"TaskState",()=>f])},90322,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],9775),a.i(9775),a.s(["009532bf926f84457b69a3f05df7f86f9e83787736",()=>b.pickFolder,"40173d82961a942e932476bd2a446469fbc6e3f37b",()=>g.getDeploymentStatus,"40367d2a8dc08a7acaecc157720b7f88e83c04bdb9",()=>f.stopDeployment,"4042ebcdb8254ec9bd35465f32fe0abd1d3a8361d0",()=>d.deployFeature,"40dddea5d18ba06330a0c2accb88caa204d8b74799",()=>c.getDeploymentLogs,"40e0234f848afa2c029794b2f67ac3a4da652595db",()=>e.deployRepository],90322)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__17a611f0._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},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))},32459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's 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/version/version-page-client.tsx <module evaluation>","default")},93933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's 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/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(32459);var b=a.i(93933);a.n(b)},77048,a=>{"use strict";var b=a.i(92807),c=a.i(60526),d=a.i(67651);function e(){let a={nodeVersion:process.version,platform:(0,c.platform)(),arch:(0,c.arch)()};return(0,b.jsx)(d.default,{versionInfo:{version:"1.72.6",name:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},systemInfo:a})}a.s(["default",()=>e],77048)}];
1
+ module.exports=[60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},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))},32459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's 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/version/version-page-client.tsx <module evaluation>","default")},93933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's 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/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(32459);var b=a.i(93933);a.n(b)},77048,a=>{"use strict";var b=a.i(92807),c=a.i(60526),d=a.i(67651);function e(){let a={nodeVersion:process.version,platform:(0,c.platform)(),arch:(0,c.arch)()};return(0,b.jsx)(d.default,{versionInfo:{version:"1.72.8",name:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},systemInfo:a})}a.s(["default",()=>e],77048)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__249c74f6._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"400a8ede2435ed7ef4a02a59c0ca10ed273a2b5dfd",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4091b389ef395ae89fda106fcc72a7298e7c2ba701",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40d24de9aedba6687d265fa4b247a37eba5cf807fe",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40cd70db8a92b99a63e84ce96e00d17eb5853d883e",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"403d630984e0b0ab0dbc946b89ffb6064720577c28",null),a.s(["getDeploymentStatus",()=>s],85321)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"004b2dc39c2c87090aa79cc490f2278a407e6a1a99",null),a.s(["pickFolder",()=>g],12513)},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])},81719,a=>{"use strict";var b,c,d,e,f=((b={}).Todo="Todo",b.WIP="Work in Progress",b.Done="Done",b.Review="Review",b),g=((c={}).Started="Started",c.Analyze="Analyze",c.Requirements="Requirements",c.Research="Research",c.Planning="Planning",c.Implementation="Implementation",c.Review="Review",c.Maintain="Maintain",c.Blocked="Blocked",c),h=((d={}).Booting="Booting",d.Ready="Ready",d.Stopped="Stopped",d),i=((e={}).pending="pending",e.running="running",e.completed="completed",e.failed="failed",e.interrupted="interrupted",e.cancelled="cancelled",e.waitingApproval="waiting_approval",e);a.s(["AgentRunStatus",()=>i,"DeploymentState",()=>h,"SdlcLifecycle",()=>g,"TaskState",()=>f])},87596,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],78455),a.i(78455),a.s(["004b2dc39c2c87090aa79cc490f2278a407e6a1a99",()=>b.pickFolder,"400a8ede2435ed7ef4a02a59c0ca10ed273a2b5dfd",()=>c.getDeploymentLogs,"403d630984e0b0ab0dbc946b89ffb6064720577c28",()=>g.getDeploymentStatus,"4091b389ef395ae89fda106fcc72a7298e7c2ba701",()=>d.deployFeature,"40cd70db8a92b99a63e84ce96e00d17eb5853d883e",()=>f.stopDeployment,"40d24de9aedba6687d265fa4b247a37eba5cf807fe",()=>e.deployRepository],87596)}];
1
+ module.exports=[2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40dddea5d18ba06330a0c2accb88caa204d8b74799",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4042ebcdb8254ec9bd35465f32fe0abd1d3a8361d0",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40e0234f848afa2c029794b2f67ac3a4da652595db",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40367d2a8dc08a7acaecc157720b7f88e83c04bdb9",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40173d82961a942e932476bd2a446469fbc6e3f37b",null),a.s(["getDeploymentStatus",()=>s],85321)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009532bf926f84457b69a3f05df7f86f9e83787736",null),a.s(["pickFolder",()=>g],12513)},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])},81719,a=>{"use strict";var b,c,d,e,f=((b={}).Todo="Todo",b.WIP="Work in Progress",b.Done="Done",b.Review="Review",b),g=((c={}).Started="Started",c.Analyze="Analyze",c.Requirements="Requirements",c.Research="Research",c.Planning="Planning",c.Implementation="Implementation",c.Review="Review",c.Maintain="Maintain",c.Blocked="Blocked",c),h=((d={}).Booting="Booting",d.Ready="Ready",d.Stopped="Stopped",d),i=((e={}).pending="pending",e.running="running",e.completed="completed",e.failed="failed",e.interrupted="interrupted",e.cancelled="cancelled",e.waitingApproval="waiting_approval",e);a.s(["AgentRunStatus",()=>i,"DeploymentState",()=>h,"SdlcLifecycle",()=>g,"TaskState",()=>f])},87596,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],78455),a.i(78455),a.s(["009532bf926f84457b69a3f05df7f86f9e83787736",()=>b.pickFolder,"40173d82961a942e932476bd2a446469fbc6e3f37b",()=>g.getDeploymentStatus,"40367d2a8dc08a7acaecc157720b7f88e83c04bdb9",()=>f.stopDeployment,"4042ebcdb8254ec9bd35465f32fe0abd1d3a8361d0",()=>d.deployFeature,"40dddea5d18ba06330a0c2accb88caa204d8b74799",()=>c.getDeploymentLogs,"40e0234f848afa2c029794b2f67ac3a4da652595db",()=>e.deployRepository],87596)}];
3
3
 
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__07385073._.js.map
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__45dbf93d._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"004b2dc39c2c87090aa79cc490f2278a407e6a1a99",null),a.s(["pickFolder",()=>g],12513)},66973,a=>{"use strict";var b=a.i(12513);a.s([],65794),a.i(65794),a.s(["004b2dc39c2c87090aa79cc490f2278a407e6a1a99",()=>b.pickFolder],66973)}];
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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009532bf926f84457b69a3f05df7f86f9e83787736",null),a.s(["pickFolder",()=>g],12513)},66973,a=>{"use strict";var b=a.i(12513);a.s([],65794),a.i(65794),a.s(["009532bf926f84457b69a3f05df7f86f9e83787736",()=>b.pickFolder],66973)}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__6b17a22d._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[84095,56799,80496,50845,49560,39353,31075,a=>{"use strict";var b=a.i(92658),c=a.i(33244),d=a.i(96380),e=a.i(12581);async function f(a){let{repositoryPath:b,branch:e}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};let f=(0,c.getSettings)().environment.defaultEditor,g=(0,d.resolve)("LaunchIdeUseCase"),h=await g.execute({editorId:f,repositoryPath:b,branch:e,checkAvailability:!0});return h.ok?{success:!0,editor:h.editorName,path:h.worktreePath}:{success:!1,error:h.message}}(0,e.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"40a1c9ebe814db3a4a5d4c128f5ceb4c03f1bd96a4",null),a.s(["openIde",()=>f],84095);var g=a.i(2157),h=a.i(60526),i=a.i(74533),j=a.i(29918);let k={darwin:{cmd:"open",args:a=>["-a","Terminal",a]},linux:{cmd:"x-terminal-emulator",args:a=>[`--working-directory=${a}`]}};async function l(a){let{repositoryPath:b,branch:d}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a=(0,c.getSettings)().environment.shellPreference,e=d?(0,j.computeWorktreePath)(b,d):b;if(!(0,g.existsSync)(e))return{success:!1,error:`Path does not exist: ${e}`};let f=k[(0,h.platform)()];if(!f)return{success:!1,error:`Unsupported platform: ${(0,h.platform)()}. Shell launch is supported on macOS and Linux only.`};let l=(0,i.spawn)(f.cmd,f.args(e),{detached:!0,stdio:"ignore"});return l.on("error",()=>void 0),l.unref(),{success:!0,path:e,shell:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,e.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"40c19eced9dff3c4805220819dcaff2a75fb08a73f",null),a.s(["openShell",()=>l],56799);let m={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]}};async function n(a){if(!a?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,g.existsSync)(a))return{success:!1,error:"Directory not found"};let b=m[(0,h.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,h.platform)()}. Folder open is supported on macOS and Linux only.`};let c=(0,i.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"}}}async function o(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,d.resolve)("DeleteFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function p(a){let{path:b,name:c}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,d.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:c})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function q(a){if(!a?.trim())return{success:!1,error:"id is required"};try{let b=(0,d.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,e.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"40b0becc19aca2bed2024d1be7abd4a608149ec9d5",null),a.s(["openFolder",()=>n],80496),(0,e.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4018e4b3e77d66c73e33b177938dd1d46413b369e7",null),a.s(["deleteFeature",()=>o],50845),(0,e.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40b923d6f29a34eb0fceb201177e08bff3b23c7cf7",null),a.s(["addRepository",()=>p],49560),(0,e.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40434cdcbfb2a43f6337587b33dcaab3a28d6e8e60",null),a.s(["deleteRepository",()=>q],39353);var r=a.i(66693);async function s(){return(0,r.getGraphData)()}(0,e.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"006d927f83676b07333203cddceb6c9739604760d6",null),a.s(["fetchGraphData",()=>s],31075)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009532bf926f84457b69a3f05df7f86f9e83787736",null),a.s(["pickFolder",()=>g],12513)},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40dddea5d18ba06330a0c2accb88caa204d8b74799",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4042ebcdb8254ec9bd35465f32fe0abd1d3a8361d0",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40e0234f848afa2c029794b2f67ac3a4da652595db",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40367d2a8dc08a7acaecc157720b7f88e83c04bdb9",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40173d82961a942e932476bd2a446469fbc6e3f37b",null),a.s(["getDeploymentStatus",()=>s],85321)},33244,a=>{"use strict";let b="__shepSettings";function c(){let a=function(){let a=globalThis[b];if(null!=a)return a;let c=process[b];return null!=c?c:null}();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}a.s(["getSettings",()=>c])}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__6cbc1149._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"004b2dc39c2c87090aa79cc490f2278a407e6a1a99",null),a.s(["pickFolder",()=>g],12513)},86139,a=>{"use strict";var b=a.i(12513);a.s([],53565),a.i(53565),a.s(["004b2dc39c2c87090aa79cc490f2278a407e6a1a99",()=>b.pickFolder],86139)}];
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}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={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 f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[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 g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009532bf926f84457b69a3f05df7f86f9e83787736",null),a.s(["pickFolder",()=>g],12513)},86139,a=>{"use strict";var b=a.i(12513);a.s([],53565),a.i(53565),a.s(["009532bf926f84457b69a3f05df7f86f9e83787736",()=>b.pickFolder],86139)}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__804c006d._.js.map