@shepai/cli 1.122.2-pr392.a8f2b76 → 1.122.2-pr394.daae4c9

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 (286) hide show
  1. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +11 -0
  2. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +15 -0
  4. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts +40 -0
  6. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -0
  7. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +146 -0
  8. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts +33 -0
  9. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts.map +1 -0
  10. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.js +77 -0
  11. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts +1 -0
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +8 -0
  16. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +1 -0
  17. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
  18. package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +15 -0
  19. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts +14 -0
  20. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -0
  21. package/dist/src/presentation/cli/commands/feat/adopt.command.js +43 -0
  22. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  23. package/dist/src/presentation/cli/commands/feat/index.js +3 -1
  24. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts +10 -0
  25. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts.map +1 -0
  26. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.js +22 -0
  27. package/dist/src/presentation/web/app/actions/adopt-branch.d.ts +11 -0
  28. package/dist/src/presentation/web/app/actions/adopt-branch.d.ts.map +1 -0
  29. package/dist/src/presentation/web/app/actions/adopt-branch.js +20 -0
  30. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts +0 -2
  31. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts.map +1 -1
  32. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.js +0 -2
  33. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts +9 -0
  34. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts.map +1 -0
  35. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +27 -0
  36. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +32 -0
  37. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts.map +1 -0
  38. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +115 -0
  39. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts +5 -0
  40. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts.map +1 -0
  41. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.js +56 -0
  42. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  43. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +9 -20
  44. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.d.ts.map +1 -1
  45. package/dist/src/presentation/web/components/common/feature-drawer-tabs/activity-tab.js +31 -130
  46. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  47. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +0 -13
  48. package/dist/src/presentation/web/components/common/feature-drawer-tabs/use-tab-data-fetch.d.ts.map +1 -1
  49. package/dist/src/presentation/web/components/common/feature-drawer-tabs/use-tab-data-fetch.js +9 -18
  50. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  51. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +18 -18
  52. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +17 -31
  54. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  55. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +22 -29
  56. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +1 -1
  57. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  58. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +14 -5
  59. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts +0 -2
  60. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  61. package/dist/src/presentation/web/hooks/sidebar-features-context.js +1 -2
  62. package/dist/tsconfig.build.tsbuildinfo +1 -1
  63. package/package.json +1 -1
  64. package/web/.next/BUILD_ID +1 -1
  65. package/web/.next/app-path-routes-manifest.json +1 -0
  66. package/web/.next/build-manifest.json +4 -4
  67. package/web/.next/fallback-build-manifest.json +2 -2
  68. package/web/.next/prerender-manifest.json +3 -3
  69. package/web/.next/required-server-files.js +1 -1
  70. package/web/.next/required-server-files.json +1 -1
  71. package/web/.next/routes-manifest.json +6 -0
  72. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/app-paths-manifest.json +3 -0
  73. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +18 -0
  74. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/next-font-manifest.json +6 -0
  75. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +1 -0
  76. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +320 -0
  77. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +20 -0
  78. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.map +5 -0
  79. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -0
  80. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +2 -0
  81. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  82. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +22 -22
  83. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  84. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  85. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  86. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  87. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  90. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +28 -28
  91. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  92. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  94. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  95. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  96. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  97. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  98. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +22 -22
  99. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  100. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  102. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  103. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  104. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  105. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  106. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +28 -28
  107. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  108. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  110. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +20 -20
  111. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  112. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  114. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  115. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  116. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  117. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  118. package/web/.next/server/app/_global-error.html +2 -2
  119. package/web/.next/server/app/_global-error.rsc +1 -1
  120. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  121. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  122. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  123. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  124. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  125. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  126. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  127. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  128. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  129. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  130. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  131. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  132. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  133. package/web/.next/server/app/settings/page/server-reference-manifest.json +6 -6
  134. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  135. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  136. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  137. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  138. package/web/.next/server/app/skills/page.js +4 -4
  139. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  140. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  141. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  142. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  143. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  144. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  145. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  146. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  147. package/web/.next/server/app/version/page.js.nft.json +1 -1
  148. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  149. package/web/.next/server/app-paths-manifest.json +1 -0
  150. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  151. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js +3 -0
  152. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js.map +1 -0
  153. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_0b3f4f0d.js +3 -0
  154. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_0b3f4f0d.js.map +1 -0
  155. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_adopt-drawer-client_tsx_6c5e4bbb._.js +3 -0
  156. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_adopt-drawer-client_tsx_6c5e4bbb._.js.map +1 -0
  157. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  158. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js +1 -1
  160. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js +1 -1
  162. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__2698e9f4._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +2 -2
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__8e3bf5d7._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__a022445f._.js +2 -2
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js +2 -2
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js +1 -1
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__c07f9f79._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js +1 -1
  180. package/web/.next/server/chunks/ssr/[root-of-the-server]__c605a375._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js +3 -0
  182. package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js.map +1 -0
  183. package/web/.next/server/chunks/ssr/[root-of-the-server]__e7258841._.js +3 -0
  184. package/web/.next/server/chunks/ssr/[root-of-the-server]__e7258841._.js.map +1 -0
  185. package/web/.next/server/chunks/ssr/[root-of-the-server]__ec26e818._.js +3 -0
  186. package/web/.next/server/chunks/ssr/[root-of-the-server]__ec26e818._.js.map +1 -0
  187. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js +3 -0
  188. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js.map +1 -0
  189. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  190. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/_19a2fb35._.js +3 -0
  192. package/web/.next/server/chunks/ssr/_19a2fb35._.js.map +1 -0
  193. package/web/.next/server/chunks/ssr/_1e1b2639._.js +3 -0
  194. package/web/.next/server/chunks/ssr/_1e1b2639._.js.map +1 -0
  195. package/web/.next/server/chunks/ssr/_2f6f48b8._.js +1 -1
  196. package/web/.next/server/chunks/ssr/_2f6f48b8._.js.map +1 -1
  197. package/web/.next/server/chunks/ssr/_4093a637._.js +5 -0
  198. package/web/.next/server/chunks/ssr/_4093a637._.js.map +1 -0
  199. package/web/.next/server/chunks/ssr/{_36dccae9._.js → _5317c57e._.js} +2 -2
  200. package/web/.next/server/chunks/ssr/{_36dccae9._.js.map → _5317c57e._.js.map} +1 -1
  201. package/web/.next/server/chunks/ssr/_a4a44cc0._.js +3 -0
  202. package/web/.next/server/chunks/ssr/_a4a44cc0._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/_b56e7571._.js +3 -0
  204. package/web/.next/server/chunks/ssr/_b56e7571._.js.map +1 -0
  205. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_d5206f22._.js +4 -0
  208. package/web/.next/server/chunks/ssr/_d5206f22._.js.map +1 -0
  209. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  210. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  211. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +3 -0
  212. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js +3 -0
  214. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js.map +1 -0
  215. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js +2 -2
  216. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js +1 -1
  218. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  222. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  223. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js +2 -2
  224. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js.map +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
  226. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  230. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  231. package/web/.next/server/middleware-build-manifest.js +2 -2
  232. package/web/.next/server/pages/500.html +2 -2
  233. package/web/.next/server/server-reference-manifest.js +1 -1
  234. package/web/.next/server/server-reference-manifest.json +189 -34
  235. package/web/.next/static/chunks/0d2af96e64960ef5.css +1 -0
  236. package/web/.next/static/chunks/430ef376bd249b14.js +1 -0
  237. package/web/.next/static/chunks/4796c6e7d84294d7.js +1 -0
  238. package/web/.next/static/chunks/52c0456129cb8a10.js +1 -0
  239. package/web/.next/static/chunks/767cf20dbde41522.js +1 -0
  240. package/web/.next/static/chunks/78e2f79d08767e8d.js +9 -0
  241. package/web/.next/static/chunks/{90e7434ef9395b62.js → 7f0206527c67e121.js} +1 -1
  242. package/web/.next/static/chunks/{ed3a602003bcb31b.js → 89aac43287d73b02.js} +1 -1
  243. package/web/.next/static/chunks/{1c19bf1f99269544.js → 9f4eb9f1618c8bd9.js} +1 -1
  244. package/web/.next/static/chunks/a8d65187623d628b.js +5 -0
  245. package/web/.next/static/chunks/{816ee0f2c6b490a4.js → b14644925c7af7f5.js} +2 -2
  246. package/web/.next/static/chunks/b4a6061718adb25e.js +2 -0
  247. package/web/.next/static/chunks/bf108ed551e585e6.js +1 -0
  248. package/web/.next/static/chunks/c6356369a45d19d6.js +1 -0
  249. package/web/.next/static/chunks/ca946dcbfbb2df74.js +1 -0
  250. package/web/.next/static/chunks/cafcbd67d82d65db.js +1 -0
  251. package/web/.next/static/chunks/d6d6af31b7ef545b.js +1 -0
  252. package/web/.next/static/chunks/f83551c20dcda199.js +1 -0
  253. package/web/.next/static/chunks/{turbopack-426d9bc2450816ba.js → turbopack-080e470ea902d0ba.js} +1 -1
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +0 -3
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js.map +0 -1
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +0 -3
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +0 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__f646b99a._.js +0 -3
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__f646b99a._.js.map +0 -1
  260. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js +0 -3
  261. package/web/.next/server/chunks/ssr/_0dc2cfd3._.js.map +0 -1
  262. package/web/.next/server/chunks/ssr/_3a4c94e3._.js +0 -3
  263. package/web/.next/server/chunks/ssr/_3a4c94e3._.js.map +0 -1
  264. package/web/.next/server/chunks/ssr/_75f4ccb3._.js +0 -3
  265. package/web/.next/server/chunks/ssr/_75f4ccb3._.js.map +0 -1
  266. package/web/.next/server/chunks/ssr/_9ac70f88._.js +0 -5
  267. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +0 -1
  268. package/web/.next/server/chunks/ssr/_d99705a5._.js +0 -3
  269. package/web/.next/server/chunks/ssr/_d99705a5._.js.map +0 -1
  270. package/web/.next/server/chunks/ssr/src_presentation_web_60c91521._.js +0 -3
  271. package/web/.next/server/chunks/ssr/src_presentation_web_60c91521._.js.map +0 -1
  272. package/web/.next/static/chunks/275f0d403059b5b4.js +0 -1
  273. package/web/.next/static/chunks/3911a7175044e784.js +0 -1
  274. package/web/.next/static/chunks/52b56677c842e45f.js +0 -3
  275. package/web/.next/static/chunks/61df7e9671cf4e76.css +0 -1
  276. package/web/.next/static/chunks/6272719b144b6c1a.js +0 -11
  277. package/web/.next/static/chunks/691a93561029b01b.js +0 -2
  278. package/web/.next/static/chunks/6db4aa6aed9e6545.js +0 -1
  279. package/web/.next/static/chunks/845d8e58a91014e6.js +0 -1
  280. package/web/.next/static/chunks/a92706d178a3fa6c.js +0 -1
  281. package/web/.next/static/chunks/bf479173877b0a2f.js +0 -1
  282. package/web/.next/static/chunks/dbbb446493f21874.js +0 -1
  283. package/web/.next/static/chunks/f90f55b8e972bd8e.js +0 -1
  284. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → eu15XGqVtBSCUjVy2GmoQ}/_buildManifest.js +0 -0
  285. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → eu15XGqVtBSCUjVy2GmoQ}/_clientMiddlewareManifest.json +0 -0
  286. /package/web/.next/static/{x39t_TXToqcf-uNwPMhq8 → eu15XGqVtBSCUjVy2GmoQ}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
1
  globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
2
- globalThis.__RSC_MANIFEST["/version/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":40799,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":40799,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":73006,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":73006,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":67804,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":67804,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":50122,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":50122,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":19292,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":19292,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":30088,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":30088,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":66658,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":66658,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/src/presentation/web/app/global-error.tsx <module evaluation>":{"id":98295,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/src/presentation/web/app/global-error.tsx":{"id":98295,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx <module evaluation>":{"id":87292,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js"],"async":false},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx":{"id":87292,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js"],"async":false},"[project]/src/presentation/web/components/ui/sonner.tsx <module evaluation>":{"id":25251,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js"],"async":false},"[project]/src/presentation/web/components/ui/sonner.tsx":{"id":25251,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js"],"async":false},"[project]/src/presentation/web/hooks/feature-flags-context.tsx <module evaluation>":{"id":75921,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js"],"async":false},"[project]/src/presentation/web/hooks/feature-flags-context.tsx":{"id":75921,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js"],"async":false},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>":{"id":1699,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js","/_next/static/chunks/cca0f5112a9260d8.js"],"async":false},"[project]/src/presentation/web/components/features/version/version-page-client.tsx":{"id":1699,"name":"*","chunks":["/_next/static/chunks/6272719b144b6c1a.js","/_next/static/chunks/52b56677c842e45f.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/dbbb446493f21874.js","/_next/static/chunks/cca0f5112a9260d8.js"],"async":false}},"ssrModuleMapping":{"40799":{"*":{"id":69218,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"73006":{"*":{"id":76926,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"67804":{"*":{"id":78378,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"50122":{"*":{"id":18508,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"19292":{"*":{"id":55259,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"30088":{"*":{"id":33028,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"66658":{"*":{"id":42422,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"98295":{"*":{"id":84831,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"87292":{"*":{"id":66560,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__545792ab._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/_b5fc318a._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_9ac70f88._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js"],"async":false}},"25251":{"*":{"id":58313,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__545792ab._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/_b5fc318a._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_9ac70f88._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js"],"async":false}},"75921":{"*":{"id":21333,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__545792ab._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/_b5fc318a._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_9ac70f88._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js"],"async":false}},"1699":{"*":{"id":86259,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__545792ab._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/_b5fc318a._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_9ac70f88._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js","server/chunks/ssr/src_presentation_web_components_bdcfba35._.js","server/chunks/ssr/_1bb79fe8._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"40799":{"*":{"id":48035,"name":"*","chunks":[],"async":false}},"73006":{"*":{"id":22994,"name":"*","chunks":[],"async":false}},"67804":{"*":{"id":21809,"name":"*","chunks":[],"async":false}},"50122":{"*":{"id":70251,"name":"*","chunks":[],"async":false}},"19292":{"*":{"id":39498,"name":"*","chunks":[],"async":false}},"30088":{"*":{"id":2021,"name":"*","chunks":[],"async":false}},"66658":{"*":{"id":47390,"name":"*","chunks":[],"async":false}},"98295":{"*":{"id":73449,"name":"*","chunks":[],"async":false}},"87292":{"*":{"id":34168,"name":"*","chunks":[],"async":false}},"25251":{"*":{"id":11900,"name":"*","chunks":[],"async":false}},"75921":{"*":{"id":59259,"name":"*","chunks":[],"async":false}},"1699":{"*":{"id":93933,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/presentation/web/app/global-error":[],"[project]/src/presentation/web/app/layout":[{"path":"static/chunks/61c4d617e4b83d4b.css","inlined":false},{"path":"static/chunks/61df7e9671cf4e76.css","inlined":false}],"[project]/src/presentation/web/app/version/page":[{"path":"static/chunks/61c4d617e4b83d4b.css","inlined":false},{"path":"static/chunks/61df7e9671cf4e76.css","inlined":false}]},"entryJSFiles":{"[project]/src/presentation/web/app/global-error":["static/chunks/356ebc89a2a97627.js","static/chunks/fe70e73feb07bcfd.js"],"[project]/src/presentation/web/app/layout":["static/chunks/6272719b144b6c1a.js","static/chunks/52b56677c842e45f.js","static/chunks/672e3da3ad26005b.js","static/chunks/e2ef95d904c360f3.js","static/chunks/dbbb446493f21874.js"],"[project]/src/presentation/web/app/version/page":["static/chunks/6272719b144b6c1a.js","static/chunks/52b56677c842e45f.js","static/chunks/672e3da3ad26005b.js","static/chunks/e2ef95d904c360f3.js","static/chunks/dbbb446493f21874.js","static/chunks/cca0f5112a9260d8.js"]}}
2
+ globalThis.__RSC_MANIFEST["/version/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js <module evaluation>":{"id":40799,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/layout-router.js":{"id":40799,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js <module evaluation>":{"id":73006,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":73006,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js <module evaluation>":{"id":67804,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-page.js":{"id":67804,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js <module evaluation>":{"id":50122,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/client-segment.js":{"id":50122,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":19292,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":19292,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":30088,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":30088,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js <module evaluation>":{"id":66658,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@playwright+test@1.58.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":66658,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/src/presentation/web/app/global-error.tsx <module evaluation>":{"id":98295,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/src/presentation/web/app/global-error.tsx":{"id":98295,"name":"*","chunks":["/_next/static/chunks/356ebc89a2a97627.js","/_next/static/chunks/fe70e73feb07bcfd.js"],"async":false},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx <module evaluation>":{"id":87292,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js"],"async":false},"[project]/src/presentation/web/components/layouts/app-shell/app-shell.tsx":{"id":87292,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js"],"async":false},"[project]/src/presentation/web/components/ui/sonner.tsx <module evaluation>":{"id":25251,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js"],"async":false},"[project]/src/presentation/web/components/ui/sonner.tsx":{"id":25251,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js"],"async":false},"[project]/src/presentation/web/hooks/feature-flags-context.tsx <module evaluation>":{"id":75921,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js"],"async":false},"[project]/src/presentation/web/hooks/feature-flags-context.tsx":{"id":75921,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js"],"async":false},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>":{"id":1699,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/cca0f5112a9260d8.js"],"async":false},"[project]/src/presentation/web/components/features/version/version-page-client.tsx":{"id":1699,"name":"*","chunks":["/_next/static/chunks/d6d6af31b7ef545b.js","/_next/static/chunks/a8d65187623d628b.js","/_next/static/chunks/78e2f79d08767e8d.js","/_next/static/chunks/bf108ed551e585e6.js","/_next/static/chunks/672e3da3ad26005b.js","/_next/static/chunks/e2ef95d904c360f3.js","/_next/static/chunks/cca0f5112a9260d8.js"],"async":false}},"ssrModuleMapping":{"40799":{"*":{"id":69218,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"73006":{"*":{"id":76926,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"67804":{"*":{"id":78378,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"50122":{"*":{"id":18508,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"19292":{"*":{"id":55259,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"30088":{"*":{"id":33028,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"66658":{"*":{"id":42422,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"98295":{"*":{"id":84831,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__b062b383._.js","server/chunks/ssr/403f9_next_dist_esm_ceb2fa1e._.js"],"async":false}},"87292":{"*":{"id":66560,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__ec26e818._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js","server/chunks/ssr/_4093a637._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js","server/chunks/ssr/_b5fc318a._.js"],"async":false}},"25251":{"*":{"id":58313,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__ec26e818._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js","server/chunks/ssr/_4093a637._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js","server/chunks/ssr/_b5fc318a._.js"],"async":false}},"75921":{"*":{"id":21333,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__ec26e818._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js","server/chunks/ssr/_4093a637._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js","server/chunks/ssr/_b5fc318a._.js"],"async":false}},"1699":{"*":{"id":86259,"name":"*","chunks":["server/chunks/ssr/[root-of-the-server]__ec26e818._.js","server/chunks/ssr/_0e506641._.js","server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js","server/chunks/ssr/_4093a637._.js","server/chunks/ssr/_f1a649e3._.js","server/chunks/ssr/_1bb131c4._.js","server/chunks/ssr/403f9_next_dist_a53cb908._.js","server/chunks/ssr/src_presentation_web_components_e599bb8c._.js","server/chunks/ssr/403f9_next_d6c8d28d._.js","server/chunks/ssr/_b5fc318a._.js","server/chunks/ssr/src_presentation_web_components_bdcfba35._.js","server/chunks/ssr/_1bb79fe8._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"40799":{"*":{"id":48035,"name":"*","chunks":[],"async":false}},"73006":{"*":{"id":22994,"name":"*","chunks":[],"async":false}},"67804":{"*":{"id":21809,"name":"*","chunks":[],"async":false}},"50122":{"*":{"id":70251,"name":"*","chunks":[],"async":false}},"19292":{"*":{"id":39498,"name":"*","chunks":[],"async":false}},"30088":{"*":{"id":2021,"name":"*","chunks":[],"async":false}},"66658":{"*":{"id":47390,"name":"*","chunks":[],"async":false}},"98295":{"*":{"id":73449,"name":"*","chunks":[],"async":false}},"87292":{"*":{"id":34168,"name":"*","chunks":[],"async":false}},"25251":{"*":{"id":11900,"name":"*","chunks":[],"async":false}},"75921":{"*":{"id":59259,"name":"*","chunks":[],"async":false}},"1699":{"*":{"id":93933,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/presentation/web/app/global-error":[],"[project]/src/presentation/web/app/layout":[{"path":"static/chunks/61c4d617e4b83d4b.css","inlined":false},{"path":"static/chunks/0d2af96e64960ef5.css","inlined":false}],"[project]/src/presentation/web/app/version/page":[{"path":"static/chunks/61c4d617e4b83d4b.css","inlined":false},{"path":"static/chunks/0d2af96e64960ef5.css","inlined":false}]},"entryJSFiles":{"[project]/src/presentation/web/app/global-error":["static/chunks/356ebc89a2a97627.js","static/chunks/fe70e73feb07bcfd.js"],"[project]/src/presentation/web/app/layout":["static/chunks/d6d6af31b7ef545b.js","static/chunks/a8d65187623d628b.js","static/chunks/78e2f79d08767e8d.js","static/chunks/bf108ed551e585e6.js","static/chunks/672e3da3ad26005b.js","static/chunks/e2ef95d904c360f3.js"],"[project]/src/presentation/web/app/version/page":["static/chunks/d6d6af31b7ef545b.js","static/chunks/a8d65187623d628b.js","static/chunks/78e2f79d08767e8d.js","static/chunks/bf108ed551e585e6.js","static/chunks/672e3da3ad26005b.js","static/chunks/e2ef95d904c360f3.js","static/chunks/cca0f5112a9260d8.js"]}}
@@ -1,4 +1,5 @@
1
1
  {
2
+ "/(dashboard)/@drawer/adopt/page": "app/(dashboard)/@drawer/adopt/page.js",
2
3
  "/(dashboard)/@drawer/create/page": "app/(dashboard)/@drawer/create/page.js",
3
4
  "/(dashboard)/@drawer/feature/[featureId]/[tab]/page": "app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js",
4
5
  "/(dashboard)/@drawer/feature/[featureId]/page": "app/(dashboard)/@drawer/feature/[featureId]/page.js",
@@ -1,3 +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])},16753,e=>{"use strict";var t=e.i(22925),r=e.i(62995),a=e.i(14112),n=e.i(31716),o=e.i(16340),i=e.i(40522),s=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),v=e.i(41260),x=e.i(80556),R=e.i(93695);e.i(97230);var m=e.i(35162),f=e.i(27980),g=e.i(40060);function w(){try{let{version:e,name:t,description:r}=(0,g.resolve)("IVersionService").getVersion();return f.NextResponse.json({version:e,packageName:t,description:r,branch:"HEAD",commitHash:"a8f2b769d2ca83a00381d8936bcc0cad493963df",instancePath:"/home/runner/work/cli/cli/src/presentation/web",isDev:!1})}catch{return f.NextResponse.json({version:"1.122.2",packageName:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",branch:"HEAD",commitHash:"a8f2b769d2ca83a00381d8936bcc0cad493963df",instancePath:"/home/runner/work/cli/cli/src/presentation/web",isDev:!1})}}e.s(["GET",()=>w,"dynamic",0,"force-dynamic"],35003);var E=e.i(35003);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/version/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:y,workUnitAsyncStorage:C,serverHooks:A}=b;function N(){return(0,a.patchFetch)({workAsyncStorage:y,workUnitAsyncStorage:C})}async function P(e,t,a){b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/version/route";f=f.replace(/\/index$/,"")||"/";let g=await b.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:E,nextConfig:y,parsedUrl:C,isDraftMode:A,prerenderManifest:N,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:_,clientReferenceManifest:H,serverActionsManifest:O}=g,S=(0,s.normalizeAppPath)(f),q=!!(N.dynamicRoutes[S]||N.routes[_]),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,C,!1):t.end("This page could not be found"),null);if(q&&!A){let e=!!N.routes[_],t=N.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await j();throw new R.NoFallbackError}}let D=null;!q||b.isDev||A||(D="/index"===(D=_)?"/":D);let I=!0===b.isDev||!q,U=q&&!I;O&&H&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:H,serverActionsManifest:O});let M=e.method||"GET",$=(0,o.getTracer)(),F=$.getActiveScopeSpan(),K={params:E,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:I,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)=>b.onRequestError(e,t,a,n,P)},sharedContext:{buildId:w}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let i=async e=>b.handle(V,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}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&T&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(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(!q)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[x.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>=x.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=x.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),t}},u=await b.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!q)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});s||t.setHeader("x-nextjs-cache",T?"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 s&&q||R.delete(x.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,v.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),q)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>N,"routeModule",()=>b,"serverHooks",()=>A,"workAsyncStorage",()=>y,"workUnitAsyncStorage",()=>C],16753)}];
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])},16753,e=>{"use strict";var t=e.i(22925),r=e.i(62995),a=e.i(14112),n=e.i(31716),o=e.i(16340),i=e.i(40522),s=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),v=e.i(41260),x=e.i(80556),R=e.i(93695);e.i(97230);var m=e.i(35162),f=e.i(27980),g=e.i(40060);function w(){try{let{version:e,name:t,description:r}=(0,g.resolve)("IVersionService").getVersion();return f.NextResponse.json({version:e,packageName:t,description:r,branch:"HEAD",commitHash:"daae4c9aefc1a43e565097dde3d296c0a6c14b4a",instancePath:"/home/runner/work/cli/cli/src/presentation/web",isDev:!1})}catch{return f.NextResponse.json({version:"1.122.2",packageName:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",branch:"HEAD",commitHash:"daae4c9aefc1a43e565097dde3d296c0a6c14b4a",instancePath:"/home/runner/work/cli/cli/src/presentation/web",isDev:!1})}}e.s(["GET",()=>w,"dynamic",0,"force-dynamic"],35003);var E=e.i(35003);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/version/route.ts",nextConfigOutput:"standalone",userland:E}),{workAsyncStorage:C,workUnitAsyncStorage:b,serverHooks:A}=y;function N(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:b})}async function P(e,t,a){y.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/version/route";f=f.replace(/\/index$/,"")||"/";let g=await y.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:E,nextConfig:C,parsedUrl:b,isDraftMode:A,prerenderManifest:N,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:_,clientReferenceManifest:H,serverActionsManifest:O}=g,S=(0,s.normalizeAppPath)(f),q=!!(N.dynamicRoutes[S]||N.routes[_]),j=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!A){let e=!!N.routes[_],t=N.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(C.experimental.adapterPath)return await j();throw new R.NoFallbackError}}let D=null;!q||y.isDev||A||(D="/index"===(D=_)?"/":D);let I=!0===y.isDev||!q,U=q&&!I;O&&H&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:H,serverActionsManifest:O});let M=e.method||"GET",$=(0,o.getTracer)(),F=$.getActiveScopeSpan(),K={params:E,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:C.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>y.onRequestError(e,t,a,n,P)},sharedContext:{buildId:w}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let i=async e=>y.handle(V,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}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var o,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&T&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await i(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(!q)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[x.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>=x.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=x.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),t}},u=await y.handleResponse({req:e,nextConfig:C,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!q)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});s||t.setHeader("x-nextjs-cache",T?"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 s&&q||R.delete(x.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||R.get("Cache-Control")||R.set("Cache-Control",(0,v.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 y.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),q)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>N,"routeModule",()=>y,"serverHooks",()=>A,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>b],16753)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__a402b567._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[85712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},89933,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(85712),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},8729,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={PARALLEL_ROUTE_DEFAULT_PATH:function(){return g},default:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(89933),g="next/dist/client/components/builtin/default.js";function h(){(0,f.notFound)()}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
2
+
3
+ //# sourceMappingURL=403f9_next_dist_client_components_94d75bc3._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/http-access-fallback/http-access-fallback.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/not-found.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/builtin/default.tsx"],"sourcesContent":["export const HTTPAccessErrorStatus = {\n NOT_FOUND: 404,\n FORBIDDEN: 403,\n UNAUTHORIZED: 401,\n}\n\nconst ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus))\n\nexport const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK'\n\nexport type HTTPAccessFallbackError = Error & {\n digest: `${typeof HTTP_ERROR_FALLBACK_ERROR_CODE};${string}`\n}\n\n/**\n * Checks an error to determine if it's an error generated by\n * the HTTP navigation APIs `notFound()`, `forbidden()` or `unauthorized()`.\n *\n * @param error the error that may reference a HTTP access error\n * @returns true if the error is a HTTP access error\n */\nexport function isHTTPAccessFallbackError(\n error: unknown\n): error is HTTPAccessFallbackError {\n if (\n typeof error !== 'object' ||\n error === null ||\n !('digest' in error) ||\n typeof error.digest !== 'string'\n ) {\n return false\n }\n const [prefix, httpStatus] = error.digest.split(';')\n\n return (\n prefix === HTTP_ERROR_FALLBACK_ERROR_CODE &&\n ALLOWED_CODES.has(Number(httpStatus))\n )\n}\n\nexport function getAccessFallbackHTTPStatus(\n error: HTTPAccessFallbackError\n): number {\n const httpStatus = error.digest.split(';')[1]\n return Number(httpStatus)\n}\n\nexport function getAccessFallbackErrorTypeByStatus(\n status: number\n): 'not-found' | 'forbidden' | 'unauthorized' | undefined {\n switch (status) {\n case 401:\n return 'unauthorized'\n case 403:\n return 'forbidden'\n case 404:\n return 'not-found'\n default:\n return\n }\n}\n","import {\n HTTP_ERROR_FALLBACK_ERROR_CODE,\n type HTTPAccessFallbackError,\n} from './http-access-fallback/http-access-fallback'\n\n/**\n * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)\n * within a route segment as well as inject a tag.\n *\n * `notFound()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a `<meta name=\"robots\" content=\"noindex\" />` meta tag and set the status code to 404.\n * - In a Route Handler or Server Action, it will serve a 404 to the caller.\n *\n * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)\n */\n\nconst DIGEST = `${HTTP_ERROR_FALLBACK_ERROR_CODE};404`\n\nexport function notFound(): never {\n const error = new Error(DIGEST) as HTTPAccessFallbackError\n ;(error as HTTPAccessFallbackError).digest = DIGEST\n\n throw error\n}\n","import { notFound } from '../not-found'\n\nexport const PARALLEL_ROUTE_DEFAULT_PATH =\n 'next/dist/client/components/builtin/default.js'\n\nexport default function ParallelRouteDefault() {\n notFound()\n}\n"],"names":["HTTPAccessErrorStatus","HTTP_ERROR_FALLBACK_ERROR_CODE","getAccessFallbackErrorTypeByStatus","getAccessFallbackHTTPStatus","isHTTPAccessFallbackError","NOT_FOUND","FORBIDDEN","UNAUTHORIZED","ALLOWED_CODES","Set","Object","values","error","digest","prefix","httpStatus","split","has","Number","status","notFound","DIGEST","Error","PARALLEL_ROUTE_DEFAULT_PATH","ParallelRouteDefault"],"mappings":"qGAAaA,qBAAqB,CAAA,kBAArBA,GAQAC,8BAA8B,CAAA,kBAA9BA,GAuCGC,kCAAkC,CAAA,kBAAlCA,GAPAC,2BAA2B,CAAA,kBAA3BA,GAnBAC,yBAAyB,CAAA,kBAAzBA,uEArBT,IAAMJ,EAAwB,CACnCK,UAAW,IACXC,UAAW,IACXC,aAAc,GAChB,EAEMC,EAAgB,IAAIC,IAAIC,OAAOC,MAAM,CAACX,IAE/BC,EAAiC,2BAavC,SAASG,EACdQ,CAAc,EAEd,GACmB,UAAjB,OAAOA,GACG,OAAVA,GACA,CAAE,CAAA,WAAYA,CAAAA,CAAI,EACM,UACxB,AADA,OAAOA,EAAMC,MAAM,CAEnB,OAAO,EAET,GAAM,CAACC,EAAQC,EAAW,CAAGH,EAAMC,MAAM,CAACG,KAAK,CAAC,KAEhD,OACEF,IAAWb,GACXO,EAAcS,GAAG,CAACC,OAAOH,GAE7B,CAEO,SAASZ,EACdS,CAA8B,EAG9B,OAAOM,OADYN,AACLG,EADWF,MAAM,CAACG,KAAK,CAAC,IAAI,CAAC,EAAE,CAE/C,CAEO,SAASd,EACdiB,CAAc,EAEd,OAAQA,GACN,KAAK,IACH,MAAO,cACT,MAAK,IACH,MAAO,WACT,MAAK,IACH,MAAO,WACT,SACE,MACJ,CACF,+TCtCgBC,WAAAA,qCAAAA,aAnBT,CAAA,CAAA,IAAA,GAiBDC,EAAS,CAAA,EAAGpB,EAAAA,8BAA8B,CAAC,IAAI,CAAC,CAE/C,SAASmB,IACd,IAAMR,EAAQ,OAAA,cAAiB,CAAjB,AAAIU,MAAMD,GAAV,oBAAA,OAAA,mBAAA,eAAA,EAAgB,EAG9B,OAFET,EAAkCC,MAAM,CAAGQ,EAEvCT,CACR,6SCzBaW,2BAA2B,CAAA,kBAA3BA,GAGb,OAEC,CAAA,kBAFuBC,+EALC,CAAA,CAAA,IAAA,GAEZD,EACX,iDAEa,SAASC,IACtBJ,CAAAA,EAAAA,EAAAA,QAAAA,AAAQ,GACV","ignoreList":[0,1,2]}
@@ -0,0 +1,3 @@
1
+ module.exports=[34595,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(41872),l=a.i(9959),m=a.i(23504),n=a.i(27900),o=a.i(50845),p=a.i(26604),q=a.i(54723),r=a.i(18942),s=a.i(49560),t=a.i(39353),u=a.i(29207),v=a.i(92658),w=a.i(96380);async function x(a){let{branchName:b,repositoryPath:c}=a;if(!b?.trim())return{error:"Branch name is required"};if(!c?.trim())return{error:"Repository path is required"};try{let a=(0,w.resolve)("AdoptBranchUseCase");return{feature:(await a.execute({branchName:b,repositoryPath:c})).feature}}catch(a){return{error:a instanceof Error?a.message:"Failed to adopt branch"}}}(0,a.i(12581).ensureServerEntryExports)([x]),(0,v.registerServerReference)(x,"408ea68d410e21ba66a8feaa7919373fcc77225af4",null),a.s([],65852),a.i(65852),a.s(["001c7983b5c0903aa5ee137fe8add842e12ed8cdff",()=>b.pickFolder,"003defcfe392327d6f335c3e3e75b0f3cdcd61aa40",()=>l.checkAgentAuth,"008fcef332480d4db14d671dfb09d8375b2f3e6237",()=>k.isAgentSetupComplete,"008febbc6bb933a5a80ba20b735a54a34e68589beb",()=>m.getAllAgentModels,"4000c669d1f35dfbebac5dce1e52b6d0a5a27c4bd8",()=>r.stopFeature,"402823d97b84aabbe5618026484b227d1ec4fdd577",()=>g.getDeploymentStatus,"403be984d394ea814f7c915bbbb5f04e4191f52332",()=>e.deployRepository,"405849dc78f5868c5542a9da2442a8e634e2de5d99",()=>i.openShell,"406a120c843e02c168534faf9ba32b577c212963fa",()=>u.getFeatureMetadata,"407963d891a4420e28af9d7d20b16f7ae739930e41",()=>s.addRepository,"407b3869b8d4781097b5eb0687236e87dd848a2e75",()=>h.openIde,"4082d5f2333dd95358bac896fa2444270b1be51441",()=>f.stopDeployment,"4083bff5b7bafe7a217036259835755850231dc808",()=>t.deleteRepository,"408ea68d410e21ba66a8feaa7919373fcc77225af4",()=>x,"40971c5bf798448a50dac79130a0401875b22a1a25",()=>j.openFolder,"409ab8ec865b6d1cca10134d7664257db6be7f2773",()=>c.getDeploymentLogs,"409e3b604fdc13270bb849f6c0d1c66eced2bf1160",()=>q.startFeature,"40c9f15cdd23ed03d68f54ad59be98f1d4b1899d25",()=>p.resumeFeature,"40de5a6f5d9d740565b7d688994ca450bd7454030c",()=>d.deployFeature,"609e969097822748e1779ac38f926ade6dcd3e13d9",()=>n.updateAgentAndModel,"70ff3db45c3e64e386808f2ac2f37e3a8e3b16ab0f",()=>o.deleteFeature],34595)}];
2
+
3
+ //# sourceMappingURL=744ca_web__next-internal_server_app_%28dashboard%29_%40drawer_adopt_page_actions_0b3f4f0d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/adopt/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/adopt-branch.ts"],"sourcesContent":["export {pickFolder as '001c7983b5c0903aa5ee137fe8add842e12ed8cdff'} from 'ACTIONS_MODULE0'\nexport {getDeploymentLogs as '409ab8ec865b6d1cca10134d7664257db6be7f2773'} from 'ACTIONS_MODULE1'\nexport {deployFeature as '40de5a6f5d9d740565b7d688994ca450bd7454030c'} from 'ACTIONS_MODULE2'\nexport {deployRepository as '403be984d394ea814f7c915bbbb5f04e4191f52332'} from 'ACTIONS_MODULE3'\nexport {stopDeployment as '4082d5f2333dd95358bac896fa2444270b1be51441'} from 'ACTIONS_MODULE4'\nexport {getDeploymentStatus as '402823d97b84aabbe5618026484b227d1ec4fdd577'} from 'ACTIONS_MODULE5'\nexport {openIde as '407b3869b8d4781097b5eb0687236e87dd848a2e75'} from 'ACTIONS_MODULE6'\nexport {openShell as '405849dc78f5868c5542a9da2442a8e634e2de5d99'} from 'ACTIONS_MODULE7'\nexport {openFolder as '40971c5bf798448a50dac79130a0401875b22a1a25'} from 'ACTIONS_MODULE8'\nexport {isAgentSetupComplete as '008fcef332480d4db14d671dfb09d8375b2f3e6237'} from 'ACTIONS_MODULE9'\nexport {checkAgentAuth as '003defcfe392327d6f335c3e3e75b0f3cdcd61aa40'} from 'ACTIONS_MODULE10'\nexport {getAllAgentModels as '008febbc6bb933a5a80ba20b735a54a34e68589beb'} from 'ACTIONS_MODULE11'\nexport {updateAgentAndModel as '609e969097822748e1779ac38f926ade6dcd3e13d9'} from 'ACTIONS_MODULE12'\nexport {deleteFeature as '70ff3db45c3e64e386808f2ac2f37e3a8e3b16ab0f'} from 'ACTIONS_MODULE13'\nexport {resumeFeature as '40c9f15cdd23ed03d68f54ad59be98f1d4b1899d25'} from 'ACTIONS_MODULE14'\nexport {startFeature as '409e3b604fdc13270bb849f6c0d1c66eced2bf1160'} from 'ACTIONS_MODULE15'\nexport {stopFeature as '4000c669d1f35dfbebac5dce1e52b6d0a5a27c4bd8'} from 'ACTIONS_MODULE16'\nexport {addRepository as '407963d891a4420e28af9d7d20b16f7ae739930e41'} from 'ACTIONS_MODULE17'\nexport {deleteRepository as '4083bff5b7bafe7a217036259835755850231dc808'} from 'ACTIONS_MODULE18'\nexport {getFeatureMetadata as '406a120c843e02c168534faf9ba32b577c212963fa'} from 'ACTIONS_MODULE19'\nexport {adoptBranch as '408ea68d410e21ba66a8feaa7919373fcc77225af4'} from 'ACTIONS_MODULE20'\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { AdoptBranchUseCase } from '@shepai/core/application/use-cases/features/adopt-branch.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\ninterface AdoptBranchInput {\n branchName: string;\n repositoryPath: string;\n}\n\nexport async function adoptBranch(\n input: AdoptBranchInput\n): Promise<{ feature?: Feature; error?: string }> {\n const { branchName, repositoryPath } = input;\n\n if (!branchName?.trim()) {\n return { error: 'Branch name is required' };\n }\n if (!repositoryPath?.trim()) {\n return { error: 'Repository path is required' };\n }\n\n try {\n const useCase = resolve<AdoptBranchUseCase>('AdoptBranchUseCase');\n const result = await useCase.execute({ branchName, repositoryPath });\n return { feature: result.feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to adopt branch';\n return { error: message };\n }\n}\n"],"names":[],"mappings":"uCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,oBCjBA,EAAA,EAAA,CAAA,CAAA,OASO,eAAe,EACpB,CAAuB,EAEvB,GAAM,YAAE,CAAU,gBAAE,CAAc,CAAE,CAAG,EAEvC,GAAI,CAAC,GAAY,OACf,CADuB,KAChB,CAAE,MAAO,yBAA0B,EAE5C,GAAI,CAAC,GAAgB,OACnB,CAD2B,KACpB,CAAE,MAAO,6BAA8B,EAGhD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAAqB,sBAE5C,MAAO,CAAE,QAAS,CADH,MAAM,EAAQ,OAAO,CAAC,YAAE,iBAAY,CAAe,EAAA,EACzC,OAAO,AAAC,CACnC,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,wBACjC,CAC1B,CACF,0CApBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA"}
@@ -0,0 +1,3 @@
1
+ module.exports=[85959,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)("408ea68d410e21ba66a8feaa7919373fcc77225af4",f.callServer,void 0,f.findSourceMapURL,"adoptBranch");var h=a.i(53170),i=a.i(88064);a.i(78454);var j=a.i(24255),k=a.i(2824),l=a.i(18948),m=a.i(90920),n=a.i(584);function o({open:a,onClose:d,onSubmit:e,isSubmitting:f=!1,error:g}){let[o,p]=(0,c.useState)(""),q=(0,c.useCallback)(a=>{a.preventDefault();let b=o.trim();b&&!f&&e(b)},[o,f,e]),r=(0,c.useCallback)(()=>{p(""),d()},[d]),s=!o.trim()||f,t=(0,b.jsxs)("div",{children:[(0,b.jsxs)(k.DrawerTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(h.GitBranch,{className:"h-4 w-4"}),"Adopt Branch"]}),(0,b.jsx)(k.DrawerDescription,{className:"text-muted-foreground text-sm",children:"Import an existing git branch into Shep's feature tracking"})]});return(0,b.jsx)(j.BaseDrawer,{open:a,onClose:r,size:"sm",modal:!1,header:t,"data-testid":"adopt-branch-drawer",children:(0,b.jsxs)("form",{onSubmit:q,className:"flex flex-1 flex-col",children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)(n.Label,{htmlFor:"branch-name",children:"Branch name"}),(0,b.jsx)(m.Input,{id:"branch-name",placeholder:"e.g. fix/login-bug or feat/user-auth",value:o,onChange:a=>p(a.target.value),disabled:f,autoFocus:!0,"data-testid":"adopt-branch-input"}),(0,b.jsx)("p",{className:"text-muted-foreground text-xs",children:"Enter the name of a local or remote branch to adopt as a tracked feature."})]}),g?(0,b.jsx)("p",{className:"text-destructive text-sm","data-testid":"adopt-branch-error",children:g}):null]})}),(0,b.jsx)("div",{className:"border-t p-4",children:(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(l.Button,{type:"button",variant:"outline",onClick:r,disabled:f,className:"flex-1",children:"Cancel"}),(0,b.jsx)(l.Button,{type:"submit",disabled:s,className:"flex-1","data-testid":"adopt-branch-submit",children:f?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Adopting..."]}):"Adopt Branch"})]})})]})})}function p({repositoryPath:a}){let f=(0,d.useRouter)(),h=(0,d.usePathname)(),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(),m=h.startsWith("/adopt"),n=!i&&m;(0,c.useEffect)(()=>{!m&&i&&j(!1)},[m,i]),(0,c.useEffect)(()=>{m&&l(void 0)},[m]);let p=(0,c.useCallback)(()=>{f.push("/")},[f]),q=(0,c.useCallback)(b=>{l(void 0),j(!0),f.push("/"),g({branchName:b,repositoryPath:a}).then(a=>{a.error?e.toast.error(a.error):(window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:a.feature.id,name:a.feature.name,description:a.feature.description,repositoryPath:a.feature.repositoryPath}})),e.toast.success(`Branch adopted as "${a.feature.name}"`))}).catch(()=>{e.toast.error("Failed to adopt branch"),j(!1)})},[f,a]);return(0,b.jsx)(o,{open:n,onClose:p,onSubmit:q,isSubmitting:i,error:k})}a.s(["AdoptDrawerClient",()=>p],85959)}];
2
+
3
+ //# sourceMappingURL=744ca_web_components_common_control-center-drawer_adopt-drawer-client_tsx_6c5e4bbb._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.tsx","../../../../../../../src/presentation/web/app/actions/data%3Af30e15%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useCallback, useEffect } from 'react';\nimport { useRouter, usePathname } from 'next/navigation';\nimport { toast } from 'sonner';\nimport { adoptBranch } from '@/app/actions/adopt-branch';\nimport { AdoptBranchDrawer } from './adopt-branch-drawer';\n\nexport interface AdoptDrawerClientProps {\n repositoryPath: string;\n}\n\nexport function AdoptDrawerClient({ repositoryPath }: AdoptDrawerClientProps) {\n const router = useRouter();\n const pathname = usePathname();\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [error, setError] = useState<string>();\n\n const isOnAdoptRoute = pathname.startsWith('/adopt');\n const isOpen = !isSubmitting && isOnAdoptRoute;\n\n // Reset isSubmitting once the route has actually changed away from /adopt\n useEffect(() => {\n if (!isOnAdoptRoute && isSubmitting) {\n setIsSubmitting(false);\n }\n }, [isOnAdoptRoute, isSubmitting]);\n\n // Clear error when drawer reopens\n useEffect(() => {\n if (isOnAdoptRoute) {\n setError(undefined);\n }\n }, [isOnAdoptRoute]);\n\n const onClose = useCallback(() => {\n router.push('/');\n }, [router]);\n\n const onSubmit = useCallback(\n (branchName: string) => {\n setError(undefined);\n setIsSubmitting(true);\n router.push('/');\n\n adoptBranch({ branchName, repositoryPath })\n .then((result) => {\n if (result.error) {\n toast.error(result.error);\n return;\n }\n window.dispatchEvent(\n new CustomEvent('shep:feature-created', {\n detail: {\n featureId: result.feature!.id,\n name: result.feature!.name,\n description: result.feature!.description,\n repositoryPath: result.feature!.repositoryPath,\n },\n })\n );\n toast.success(`Branch adopted as \"${result.feature!.name}\"`);\n })\n .catch(() => {\n toast.error('Failed to adopt branch');\n setIsSubmitting(false);\n });\n },\n [router, repositoryPath]\n );\n\n return (\n <AdoptBranchDrawer\n open={isOpen}\n onClose={onClose}\n onSubmit={onSubmit}\n isSubmitting={isSubmitting}\n error={error}\n />\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"408ea68d410e21ba66a8feaa7919373fcc77225af4\":\"adoptBranch\"},\"src/presentation/web/app/actions/adopt-branch.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"408ea68d410e21ba66a8feaa7919373fcc77225af4\",callServer,void 0,findSourceMapURL,\"adoptBranch\");export{$$RSC_SERVER_ACTION_0 as adoptBranch};","'use client';\n\nimport { useState, useCallback } from 'react';\nimport { GitBranch, Loader2 } from 'lucide-react';\nimport { BaseDrawer } from '@/components/common/base-drawer';\nimport { DrawerTitle, DrawerDescription } from '@/components/ui/drawer';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nexport interface AdoptBranchDrawerProps {\n open: boolean;\n onClose: () => void;\n onSubmit: (branchName: string) => void;\n isSubmitting?: boolean;\n error?: string;\n}\n\nexport function AdoptBranchDrawer({\n open,\n onClose,\n onSubmit,\n isSubmitting = false,\n error,\n}: AdoptBranchDrawerProps) {\n const [branchName, setBranchName] = useState('');\n\n const handleSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n const trimmed = branchName.trim();\n if (!trimmed || isSubmitting) return;\n onSubmit(trimmed);\n },\n [branchName, isSubmitting, onSubmit]\n );\n\n const handleClose = useCallback(() => {\n setBranchName('');\n onClose();\n }, [onClose]);\n\n // Reset form when drawer closes\n const isDisabled = !branchName.trim() || isSubmitting;\n\n const header = (\n <div>\n <DrawerTitle className=\"flex items-center gap-2\">\n <GitBranch className=\"h-4 w-4\" />\n Adopt Branch\n </DrawerTitle>\n <DrawerDescription className=\"text-muted-foreground text-sm\">\n Import an existing git branch into Shep&apos;s feature tracking\n </DrawerDescription>\n </div>\n );\n\n return (\n <BaseDrawer\n open={open}\n onClose={handleClose}\n size=\"sm\"\n modal={false}\n header={header}\n data-testid=\"adopt-branch-drawer\"\n >\n <form onSubmit={handleSubmit} className=\"flex flex-1 flex-col\">\n <div className=\"flex-1 overflow-y-auto p-4\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex flex-col gap-2\">\n <Label htmlFor=\"branch-name\">Branch name</Label>\n <Input\n id=\"branch-name\"\n placeholder=\"e.g. fix/login-bug or feat/user-auth\"\n value={branchName}\n onChange={(e) => setBranchName(e.target.value)}\n disabled={isSubmitting}\n autoFocus\n data-testid=\"adopt-branch-input\"\n />\n <p className=\"text-muted-foreground text-xs\">\n Enter the name of a local or remote branch to adopt as a tracked feature.\n </p>\n </div>\n\n {error ? (\n <p className=\"text-destructive text-sm\" data-testid=\"adopt-branch-error\">\n {error}\n </p>\n ) : null}\n </div>\n </div>\n\n <div className=\"border-t p-4\">\n <div className=\"flex gap-2\">\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={handleClose}\n disabled={isSubmitting}\n className=\"flex-1\"\n >\n Cancel\n </Button>\n <Button\n type=\"submit\"\n disabled={isDisabled}\n className=\"flex-1\"\n data-testid=\"adopt-branch-submit\"\n >\n {isSubmitting ? (\n <>\n <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n Adopting...\n </>\n ) : (\n 'Adopt Branch'\n )}\n </Button>\n </div>\n </div>\n </form>\n </BaseDrawer>\n );\n}\n"],"names":[],"mappings":"wDAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OCJoM,EAAA,EAAA,CAAA,CAAA,OAAsG,IAAM,EAAmC,CAAA,EAAA,EAAA,iBAAb,IAAa,AAAqB,EAAC,KAAxB,wCAAqE,EAAA,UAAU,CAAC,KAAK,EAAE,EAAA,gBAAgB,CAAC,eCGzb,IAAA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,CAAA,CAAA,OAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,KAUO,SAAS,EAAkB,MAChC,CAAI,SACJ,CAAO,UACP,CAAQ,cACR,GAAe,CAAK,OACpB,CAAK,CACkB,EACvB,GAAM,CAAC,EAAY,EAAc,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,IAEvC,EAAe,CAAA,EAAA,EAAA,WAAA,AAAW,EAC9B,AAAC,IACC,EAAE,cAAc,GAChB,IAAM,EAAU,EAAW,IAAI,GAC1B,IAAW,GAChB,EAAS,EACX,EACA,CAAC,EAAY,EAHmB,AAGL,EAAS,EAGhC,EAAc,CAAA,EAAA,EAAA,WAAA,AAAW,EAAC,KAC9B,EAAc,IACd,GACF,EAAG,CAAC,EAAQ,EAGN,EAAa,CAAC,EAAW,IAAI,IAAM,EAEnC,EACJ,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,WACC,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,WAAW,CAAA,CAAC,UAAU,oCACrB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAAC,UAAU,YAAY,kBAGnC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,iBAAiB,CAAA,CAAC,UAAU,yCAAgC,kEAMjE,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CACT,KAAM,EACN,QAAS,EACT,KAAK,KACL,OAAO,EACP,OAAQ,EACR,cAAY,+BAEZ,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,SAAU,EAAc,UAAU,iCACtC,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,sCACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gCACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gCACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAAQ,uBAAc,gBAC7B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CACJ,GAAG,cACH,YAAY,uCACZ,MAAO,EACP,SAAU,AAAC,GAAM,EAAc,EAAE,MAAM,CAAC,KAAK,EAC7C,SAAU,EACV,SAAS,CAAA,CAAA,EACT,cAAY,uBAEd,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yCAAgC,iFAK9C,EACC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,2BAA2B,cAAY,8BACjD,IAED,UAIR,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,wBACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,uBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,KAAK,SACL,QAAQ,UACR,QAAS,EACT,SAAU,EACV,UAAU,kBACX,WAGD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CACL,KAAK,SACL,SAAU,EACV,UAAU,SACV,cAAY,+BAEX,EACC,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAO,CAAA,CAAC,UAAU,8BAA8B,iBAInD,0BAQhB,CFhHO,SAAS,EAAkB,gBAAE,CAAc,CAA0B,EAC1E,IAAM,EAAS,CAAA,EAAA,EAAA,SAAA,AAAS,IAClB,EAAW,CAAA,EAAA,EAAA,WAAA,AAAW,IACtB,CAAC,EAAc,EAAgB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,GAAC,GAC3C,CAAC,EAAO,EAAS,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,IAE5B,EAAiB,EAAS,UAAU,CAAC,UACrC,EAAS,CAAC,GAAgB,EAGhC,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACJ,CAAC,GAAkB,GACrB,GAAgB,EAEpB,EAAG,CAAC,EAAgB,CAHmB,CAGN,EAGjC,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,KACJ,GACF,OAAS,EAEb,EAAG,CAAC,CAHkB,CAGH,EAEnB,IAAM,EAAU,CAAA,EAAA,EAAA,WAAA,AAAW,EAAC,KAC1B,EAAO,IAAI,CAAC,IACd,EAAG,CAAC,EAAO,EAEL,EAAW,CAAA,EAAA,EAAA,WAAA,AAAW,EAC1B,AAAC,IACC,OAAS,GACT,GAAgB,GAChB,EAAO,IAAI,CAAC,KAEZ,EAAY,YAAE,iBAAY,CAAe,GACtC,IAAI,CAAC,AAAC,IACL,AAAI,EAAO,KAAK,CACd,CADgB,CAChB,KAAK,CAAC,KAAK,CAAC,EAAO,KAAK,GAG1B,OAAO,aAAa,CAClB,IAAI,YAAY,uBAAwB,CACtC,OAAQ,CACN,UAAW,EAAO,OAAO,CAAE,EAAE,CAC7B,KAAM,EAAO,OAAO,CAAE,IAAI,CAC1B,YAAa,EAAO,OAAO,CAAE,WAAW,CACxC,eAAgB,EAAO,OAAO,CAAE,cAAc,AAChD,CACF,IAEF,EAAA,KAAK,CAAC,OAAO,CAAC,CAAC,mBAAmB,EAAE,EAAO,OAAO,CAAE,IAAI,CAAC,CAAC,CAAC,EAC7D,GACC,KAAK,CAAC,KACL,EAAA,KAAK,CAAC,KAAK,CAAC,0BACZ,GAAgB,EAClB,EACJ,EACA,CAAC,EAAQ,EAAe,EAG1B,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,KAAM,EACN,QAAS,EACT,SAAU,EACV,aAAc,EACd,MAAO,GAGb"}
@@ -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)("404db3ee1c8f71eb4ecf545dbf8ce7146485e816e9",f.callServer,void 0,f.findSourceMapURL,"createFeature");var h=a.i(45242);let i=(0,a.i(25700).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 j=a.i(10606),k=a.i(3942),l=a.i(46168),m=a.i(42527),n=a.i(88064),o=a.i(85536),p=a.i(19884);a.i(78454);var q=a.i(24255),r=a.i(2824),s=a.i(18948),t=a.i(90920),u=a.i(79620),v=a.i(584),w=a.i(58339),x=a.i(80646),y=a.i(96867),z=a.i(82934),A=a.i(96213);a.i(307);var B=a.i(30931),C=a.i(61781),D=a.i(13126),E=a.i(1377),F=a.i(97361),G=a.i(39116);let H=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),I=[{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."}],J={allowPrd:!1,allowPlan:!1,allowMerge:!1};function K({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:i,features:j,repositories:m,initialParentId:n,currentAgentType:t,currentModel:x,initialDescription:D}){let E=(0,p.useSoundAction)("create"),F=f&&(!m||0===m.length||m.some(a=>a.path===f))?f:"",K=i?.approvalGates??J,N=i?.push??!1,O=i?.openPr??!1,P=i?.ciWatchEnabled!==!1,Q=i?.enableEvidence??!1,R=i?.commitEvidence??!1,[S,T]=(0,c.useState)(D??"");(0,c.useEffect)(()=>{D&&T(D)},[D]);let[U,V]=(0,c.useState)([]),[W,X]=(0,c.useState)({...K}),[Y,Z]=(0,c.useState)(N),[$,_]=(0,c.useState)(O),[aa,ab]=(0,c.useState)(i?.ciWatchEnabled!==!1),[ac,ad]=(0,c.useState)(Q),[ae,af]=(0,c.useState)(R),[ag,ah]=(0,c.useState)(void 0),[ai,aj]=(0,c.useState)(!1),[ak,al]=(0,c.useState)(!1),[am,an]=(0,c.useState)(void 0),[ao,ap]=(0,c.useState)(void 0),[aq,ar]=(0,c.useState)(F||void 0),[as,at]=(0,c.useState)(m??[]),[au,av]=(0,c.useState)(!1),[aw,ax]=(0,c.useState)(null),[ay,az]=(0,c.useState)(!1),aA=(0,c.useRef)(crypto.randomUUID()),aB=(0,c.useRef)(0),aC=(0,c.useRef)(null);(0,c.useEffect)(()=>{i&&(X({...i.approvalGates}),Z(i.push),_(i.openPr),ab(!1!==i.ciWatchEnabled),ad(i.enableEvidence),af(i.commitEvidence))},[i]),(0,c.useEffect)(()=>{at(m??[])},[m]),(0,c.useEffect)(()=>{a&&n&&ah(n)},[a,n]);let aD=(0,c.useCallback)(()=>{T(""),V([]),X({...K}),Z(N),_(O),ab(P),ad(Q),af(R),ah(void 0),ar(F||void 0),at(m??[]),aj(!1),al(!1),an(void 0),ap(void 0),ax(null),aB.current=0,av(!1)},[K,N,O,Q,P,R,F,m]),aE=""!==S.trim()||U.length>0,{attemptClose:aF}=(0,A.useGuardedDrawerClose)({open:a,isDirty:aE,onClose:d,onReset:aD}),aG=(0,c.useCallback)(async a=>{for(let b of(ax(null),a)){if(b.size>0xa00000)return void ax(`"${b.name}" exceeds 10 MB limit`);let a=function(a){let b=a.lastIndexOf(".");return b>=0?a.slice(b).toLowerCase():""}(b.name);if(a&&!H.has(a))return void ax(`File type "${a}" is not allowed`)}for(let b of a){let a=crypto.randomUUID();V(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:b.type||"application/octet-stream",path:"",loading:!0}]);try{let c=new FormData;c.append("file",b),c.append("sessionId",aA.current);let d=await fetch("/api/attachments/upload",{method:"POST",body:c});if(!d.ok){let b=await d.json().catch(()=>({error:"Upload failed"}));V(b=>b.filter(b=>b.id!==a)),ax(b.error??"Upload failed");return}let e=await d.json();V(b=>b.some(b=>b.id!==a&&b.path===e.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...e,id:a,loading:!1}:b))}catch{V(b=>b.filter(b=>b.id!==a)),ax("Upload failed")}}},[]),aH=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aB.current+=1,1===aB.current&&av(!0)},[]),aI=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aB.current-=1,0===aB.current&&av(!1)},[]),aJ=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),aK=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aB.current=0,av(!1);let b=Array.from(a.dataTransfer.files);b.length>0&&aG(b)},[aG]),aL=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a of Array.from(b))if("file"===a.kind){let b=a.getAsFile();b&&c.push(b)}c.length>0&&(a.preventDefault(),aG(c))},[aG]),aM=(0,c.useCallback)(a=>{if(a.preventDefault(),!S.trim())return;let b=aq??F;b&&(E.play(),e({description:S.trim(),attachments:U.filter(a=>!a.loading),repositoryPath:b,approvalGates:{allowPrd:W.allowPrd??!1,allowPlan:W.allowPlan??!1,allowMerge:W.allowMerge??!1},push:Y||$,openPr:$,ciWatchEnabled:aa,enableEvidence:ac,commitEvidence:ae,fast:ai,...ak?{pending:ak}:{},...am?{agentType:am}:{},...ao?{model:ao}:{},...ag?{parentId:ag}:{},sessionId:aA.current}),aD())},[S,U,W,aq,F,e,Y,$,ac,aa,ae,ai,ak,am,ao,ag,E,aD]),aN=(0,c.useCallback)(async()=>{try{let a=await (0,G.pickFiles)();if(!a)return;for(let b of a){let a=crypto.randomUUID();V(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let c=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,sessionId:aA.current})});if(!c.ok){let b=await c.json().catch(()=>({error:"Upload failed"}));V(b=>b.filter(b=>b.id!==a)),ax(b.error??"Upload failed");return}let d=await c.json();V(b=>b.some(b=>b.id!==a&&b.path===d.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...d,id:a,loading:!1}:b))}catch{V(b=>b.filter(b=>b.id!==a)),ax("Upload failed")}}}catch{}},[]),aO=(0,c.useCallback)(a=>{V(b=>b.filter(b=>b.id!==a))},[]),aP=(0,c.useRef)(null),aQ=(0,c.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"Enter"===a.key&&(a.preventDefault(),aP.current?.requestSubmit())},[]),aR=(0,c.useCallback)(()=>{az(!0)},[]),aS=(0,c.useCallback)(()=>{setTimeout(()=>{let a=aC.current?.contains(document.activeElement),b=aC.current?.querySelector('[aria-expanded="true"]')!==null;a||b||az(!1)},0)},[]),aT=j&&j.length>0,aU=!F&&!aq,aV=!F&&void 0!==m;return(0,b.jsx)(q.BaseDrawer,{open:a,onClose:aF,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)(r.DrawerTitle,{children:"NEW FEATURE"})]}),g?(0,b.jsx)(r.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(w.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(s.Button,{variant:"outline",onClick:aF,disabled:g,children:"Cancel"}),(0,b.jsx)(s.Button,{type:"submit",form:"create-feature-form",disabled:!S.trim()||g||aU,children:g?"Creating...":"+ Create Feature"})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsx)(z.TooltipProvider,{delayDuration:400,children:(0,b.jsxs)("form",{ref:aP,id:"create-feature-form",onSubmit:aM,onKeyDown:aQ,className:"flex flex-col gap-4",children:[aV?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,b.jsx)(v.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,b.jsx)(M,{repositories:as,value:aq,onChange:ar,onAddRepository:a=>{at(b=>[...b,a]),ar(a.path)},disabled:g})]}):F?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,b.jsx)(v.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,b.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:m?.find(a=>a.path===F)?.name??F.split("/").pop()})]}):null,(0,b.jsxs)("div",{role:"region","aria-label":"File drop zone","data-drag-over":au?"true":"false",onDragEnter:aH,onDragLeave:aI,onDragOver:aJ,onDrop:aK,className:(0,o.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",au&&"border-primary/50 bg-primary/5"),children:[(0,b.jsx)(v.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIBE YOUR FEATURE"}),(0,b.jsxs)("div",{ref:aC,onFocus:aR,onBlur:aS,className:(0,o.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",ay&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(u.Textarea,{id:"feature-description",placeholder:"e.g. Add GitHub OAuth login with callback handling and token refresh...",value:S,onChange:a=>T(a.target.value),onPaste:aL,required:!0,disabled:g,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),U.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:U.map(a=>(0,b.jsx)(B.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>aO(a.id),disabled:g,loading:a.loading},a.id))}),aw?(0,b.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:aw}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,b.jsx)(C.AgentModelPicker,{initialAgentType:am??t??"claude-code",initialModel:ao??x??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(a,b)=>{an(a),ap(b)},disabled:g,className:"w-55"}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(y.Switch,{id:"pending-mode",checked:ak,onCheckedChange:al,disabled:g}),(0,b.jsxs)(v.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(l.Clock,{className:"h-3.5 w-3.5"}),"Pending"]})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Create without starting — start manually later."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(y.Switch,{id:"fast-mode",checked:ai,onCheckedChange:aj,disabled:g}),(0,b.jsxs)(v.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(k.Zap,{className:"h-3.5 w-3.5"}),"Fast Mode"]})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Skip SDLC phases and implement directly from your prompt."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:aN,disabled:g,"aria-label":"Attach files",className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(h.PaperclipIcon,{className:"h-4 w-4"})})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Attach files"})]})]})]})]}),aT&&void 0!==n?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(v.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,b.jsx)(L,{features:j,value:ag,onChange:ah,disabled:g})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"APPROVE"})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Auto-approve phase transitions without manual review."})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:I.map(a=>(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:`approve-${a.id}`,size:"sm",checked:W[a.id]??!1,onCheckedChange:b=>X(c=>({...c,[a.id]:b})),disabled:g||ai&&("allowPrd"===a.id||"allowPlan"===a.id)}),(0,b.jsx)(v.Label,{htmlFor:`approve-${a.id}`,className:"cursor-pointer text-xs font-medium",children:a.label})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:ai&&("allowPrd"===a.id||"allowPlan"===a.id)?"Skipped in Fast Mode":a.description})]},a.id))}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:()=>{let a=I.every(a=>W[a.id]),b={};for(let c of I)b[c.id]=!a;X(b)},disabled:g,className:(0,o.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",I.every(a=>W[a.id])&&"text-primary"),children:"All"})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Toggle all approval gates"})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"EVIDENCE"})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Collect and attach evidence after implementation."})]}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"enable-evidence",size:"sm",checked:ac,onCheckedChange:a=>{ad(a),a||af(!1)},disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:"Collect"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Capture screenshots and artifacts after implementation."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"commit-evidence",size:"sm",checked:ae,onCheckedChange:af,disabled:g||!ac||!$}),(0,b.jsx)(v.Label,{htmlFor:"commit-evidence",className:(0,o.cn)("cursor-pointer text-xs font-medium",(!ac||!$)&&"opacity-50"),children:"Add to PR"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:$?ac?"Include evidence in the pull request body.":"Requires evidence collection to be enabled":"Requires PR to be enabled"})]})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 text-xs font-semibold tracking-wider",children:"GIT"}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"push",size:"sm",checked:Y||$,onCheckedChange:a=>{Z(a),!a&&$&&_(!1)},disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"push",className:"cursor-pointer text-xs font-medium",children:"Push"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Push branch to remote after implementation."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"open-pr",size:"sm",checked:$,onCheckedChange:a=>{_(a),a||af(!1)},disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"open-pr",className:"cursor-pointer text-xs font-medium",children:"PR"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Open a pull request after pushing."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"ci-watch",size:"sm",checked:aa,onCheckedChange:ab,disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:"Watch"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Watch CI and auto-fix after push."})]})]})]})]})]})})})})}function L({features:a,value:d,onChange:e,disabled:f}){let[g,h]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),m=(0,c.useRef)(null),n=a.find(a=>a.id===d),p=k.trim()?a.filter(a=>a.name.toLowerCase().includes(k.toLowerCase())||a.id.toLowerCase().includes(k.toLowerCase())):a,q=(0,c.useCallback)(a=>{e(a),h(!1),l("")},[e]);return(0,c.useEffect)(()=>{g?setTimeout(()=>m.current?.focus(),0):l("")},[g]),(0,b.jsxs)(x.Popover,{open:g,onOpenChange:h,children:[(0,b.jsx)(x.PopoverTrigger,{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,o.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",!n&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:n?`${n.name} (${n.id.slice(0,8)})`:"Select parent feature..."}),(0,b.jsx)(i,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(x.PopoverContent,{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)(t.Input,{ref:m,placeholder:"Search features...",value:k,onChange:a=>l(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:()=>q(void 0),className:(0,o.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)(j.CheckIcon,{className:(0,o.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===p.length&&k?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):p.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>q(a.id),className:(0,o.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)(j.CheckIcon,{className:(0,o.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 M({repositories:a,value:d,onChange:e,onAddRepository:f,disabled:g}){let[h,k]=(0,c.useState)(!1),[l,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(!1),[s,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=a.find(a=>a.path===d),y=l.trim()?a.filter(a=>a.name.toLowerCase().includes(l.toLowerCase())||a.path.toLowerCase().includes(l.toLowerCase())):a,z=(0,c.useCallback)(a=>{e(a),k(!1),p("")},[e]),A=(0,c.useCallback)(async()=>{if(!q){r(!0),u(null);try{let a=await (0,E.pickFolder)();if(!a)return void r(!1);let b=await (0,F.addRepository)({path:a});if(b.error){u(b.error),r(!1);return}if(b.repository){let a={id:b.repository.id,name:b.repository.name,path:b.repository.path};f?.(a),e(a.path),k(!1),p("")}}catch(a){u(a instanceof Error?a.message:"Failed to add repository")}finally{r(!1)}}},[q,f,e]);return(0,c.useEffect)(()=>{h?setTimeout(()=>v.current?.focus(),0):p("")},[h]),(0,b.jsxs)(x.Popover,{open:h,onOpenChange:k,children:[(0,b.jsx)(x.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",role:"combobox","aria-expanded":h,"aria-label":"Repository",disabled:g,"data-testid":"repository-combobox",className:(0,o.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",!w&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:w?w.name:"Select repository..."}),(0,b.jsx)(i,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(x.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-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)(t.Input,{ref:v,placeholder:"Search repositories...",value:l,onChange:a=>p(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,b.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===y.length?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):y.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.path,onClick:()=>z(a.path),className:(0,o.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",d===a.path&&"bg-accent/50"),"data-testid":`repository-option-${a.id}`,children:[(0,b.jsx)(j.CheckIcon,{className:(0,o.cn)("h-4 w-4 shrink-0",d!==a.path&&"invisible")}),(0,b.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,b.jsx)("span",{className:"truncate",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path})]})]},a.id))}),(0,b.jsx)(D.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:A,disabled:q,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[q?(0,b.jsx)(n.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,b.jsx)(m.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:"Add new repository..."})]}),s?(0,b.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:s}):null]})})]})}function N({repositoryPath:a,initialParentId:f,initialDescription:h,features:i,repositories:j,workflowDefaults:k,currentAgentType:l,currentModel:m}){let n=(0,d.useRouter)(),[o,p]=(0,c.useState)(!1),q=(0,d.usePathname)().startsWith("/create"),r=!o&&q;(0,c.useEffect)(()=>{!q&&o&&p(!1)},[q,o]);let s=(0,c.useCallback)(()=>{n.push("/")},[n]),t=(0,c.useCallback)(a=>{p(!0),n.push("/"),g(a).then(b=>{b.error?e.toast.error(b.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:b.feature.id,name:b.feature.name,description:b.feature.description,repositoryPath:b.feature.repositoryPath,parentId:a.parentId}}))}).catch(()=>{e.toast.error("Failed to create feature"),p(!1)})},[n]);return(0,b.jsx)(K,{open:r,onClose:s,onSubmit:t,repositoryPath:a,features:i,repositories:j,workflowDefaults:k,initialParentId:f,initialDescription:h,isSubmitting:o,currentAgentType:l,currentModel:m})}a.s(["CreateDrawerClient",()=>N],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)("4069aa77df67afc1c9772228ecfb90f7baa6daa348",f.callServer,void 0,f.findSourceMapURL,"createFeature");var h=a.i(45242);let i=(0,a.i(25700).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 j=a.i(10606),k=a.i(3942),l=a.i(46168),m=a.i(42527),n=a.i(88064),o=a.i(85536),p=a.i(19884);a.i(78454);var q=a.i(24255),r=a.i(2824),s=a.i(18948),t=a.i(90920),u=a.i(79620),v=a.i(584),w=a.i(58339),x=a.i(80646),y=a.i(96867),z=a.i(82934),A=a.i(96213);a.i(307);var B=a.i(30931),C=a.i(61781),D=a.i(13126),E=a.i(1377),F=a.i(52933),G=a.i(39116);let H=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".bmp",".ico",".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".txt",".md",".csv",".json",".yaml",".yml",".xml",".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs",".java",".c",".cpp",".h",".hpp",".cs",".swift",".kt",".html",".css",".scss",".less",".sh",".bash",".zsh",".fish",".toml",".ini",".cfg",".conf",".env",".zip",".tar",".gz",".log"]),I=[{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."}],J={allowPrd:!1,allowPlan:!1,allowMerge:!1};function K({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:i,features:j,repositories:m,initialParentId:n,currentAgentType:t,currentModel:x,initialDescription:D}){let E=(0,p.useSoundAction)("create"),F=i?.approvalGates??J,K=i?.push??!1,N=i?.openPr??!1,O=i?.ciWatchEnabled!==!1,P=i?.enableEvidence??!1,Q=i?.commitEvidence??!1,[R,S]=(0,c.useState)(D??"");(0,c.useEffect)(()=>{D&&S(D)},[D]);let[T,U]=(0,c.useState)([]),[V,W]=(0,c.useState)({...F}),[X,Y]=(0,c.useState)(K),[Z,$]=(0,c.useState)(N),[_,aa]=(0,c.useState)(i?.ciWatchEnabled!==!1),[ab,ac]=(0,c.useState)(P),[ad,ae]=(0,c.useState)(Q),[af,ag]=(0,c.useState)(void 0),[ah,ai]=(0,c.useState)(!1),[aj,ak]=(0,c.useState)(!1),[al,am]=(0,c.useState)(void 0),[an,ao]=(0,c.useState)(void 0),[ap,aq]=(0,c.useState)(f||void 0),[ar,as]=(0,c.useState)(m??[]),[at,au]=(0,c.useState)(!1),[av,aw]=(0,c.useState)(null),[ax,ay]=(0,c.useState)(!1),az=(0,c.useRef)(crypto.randomUUID()),aA=(0,c.useRef)(0),aB=(0,c.useRef)(null);(0,c.useEffect)(()=>{i&&(W({...i.approvalGates}),Y(i.push),$(i.openPr),aa(!1!==i.ciWatchEnabled),ac(i.enableEvidence),ae(i.commitEvidence))},[i]),(0,c.useEffect)(()=>{as(m??[])},[m]),(0,c.useEffect)(()=>{a&&n&&ag(n)},[a,n]);let aC=(0,c.useCallback)(()=>{S(""),U([]),W({...F}),Y(K),$(N),aa(O),ac(P),ae(Q),ag(void 0),aq(f||void 0),as(m??[]),ai(!1),ak(!1),am(void 0),ao(void 0),aw(null),aA.current=0,au(!1)},[F,K,N,P,O,Q,f,m]),aD=""!==R.trim()||T.length>0,{attemptClose:aE}=(0,A.useGuardedDrawerClose)({open:a,isDirty:aD,onClose:d,onReset:aC}),aF=(0,c.useCallback)(async a=>{for(let b of(aw(null),a)){if(b.size>0xa00000)return void aw(`"${b.name}" exceeds 10 MB limit`);let a=function(a){let b=a.lastIndexOf(".");return b>=0?a.slice(b).toLowerCase():""}(b.name);if(a&&!H.has(a))return void aw(`File type "${a}" is not allowed`)}for(let b of a){let a=crypto.randomUUID();U(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:b.type||"application/octet-stream",path:"",loading:!0}]);try{let c=new FormData;c.append("file",b),c.append("sessionId",az.current);let d=await fetch("/api/attachments/upload",{method:"POST",body:c});if(!d.ok){let b=await d.json().catch(()=>({error:"Upload failed"}));U(b=>b.filter(b=>b.id!==a)),aw(b.error??"Upload failed");return}let e=await d.json();U(b=>b.some(b=>b.id!==a&&b.path===e.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...e,id:a,loading:!1}:b))}catch{U(b=>b.filter(b=>b.id!==a)),aw("Upload failed")}}},[]),aG=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aA.current+=1,1===aA.current&&au(!0)},[]),aH=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aA.current-=1,0===aA.current&&au(!1)},[]),aI=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),aJ=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),aA.current=0,au(!1);let b=Array.from(a.dataTransfer.files);b.length>0&&aF(b)},[aF]),aK=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a of Array.from(b))if("file"===a.kind){let b=a.getAsFile();b&&c.push(b)}c.length>0&&(a.preventDefault(),aF(c))},[aF]),aL=(0,c.useCallback)(a=>{if(a.preventDefault(),!R.trim())return;let b=ap??f;b&&(E.play(),e({description:R.trim(),attachments:T.filter(a=>!a.loading),repositoryPath:b,approvalGates:{allowPrd:V.allowPrd??!1,allowPlan:V.allowPlan??!1,allowMerge:V.allowMerge??!1},push:X||Z,openPr:Z,ciWatchEnabled:_,enableEvidence:ab,commitEvidence:ad,fast:ah,...aj?{pending:aj}:{},...al?{agentType:al}:{},...an?{model:an}:{},...af?{parentId:af}:{},sessionId:az.current}),aC())},[R,T,V,ap,f,e,X,Z,ab,_,ad,ah,aj,al,an,af,E,aC]),aM=(0,c.useCallback)(async()=>{try{let a=await (0,G.pickFiles)();if(!a)return;for(let b of a){let a=crypto.randomUUID();U(c=>[...c,{id:a,name:b.name,size:b.size,mimeType:"application/octet-stream",path:"",loading:!0}]);try{let c=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:b.path,sessionId:az.current})});if(!c.ok){let b=await c.json().catch(()=>({error:"Upload failed"}));U(b=>b.filter(b=>b.id!==a)),aw(b.error??"Upload failed");return}let d=await c.json();U(b=>b.some(b=>b.id!==a&&b.path===d.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...d,id:a,loading:!1}:b))}catch{U(b=>b.filter(b=>b.id!==a)),aw("Upload failed")}}}catch{}},[]),aN=(0,c.useCallback)(a=>{U(b=>b.filter(b=>b.id!==a))},[]),aO=(0,c.useRef)(null),aP=(0,c.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"Enter"===a.key&&(a.preventDefault(),aO.current?.requestSubmit())},[]),aQ=(0,c.useCallback)(()=>{ay(!0)},[]),aR=(0,c.useCallback)(()=>{setTimeout(()=>{let a=aB.current?.contains(document.activeElement),b=aB.current?.querySelector('[aria-expanded="true"]')!==null;a||b||ay(!1)},0)},[]),aS=j&&j.length>0,aT=!f&&!ap,aU=!f&&void 0!==m;return(0,b.jsx)(q.BaseDrawer,{open:a,onClose:aE,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)(r.DrawerTitle,{children:"NEW FEATURE"})]}),g?(0,b.jsx)(r.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(w.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(s.Button,{variant:"outline",onClick:aE,disabled:g,children:"Cancel"}),(0,b.jsx)(s.Button,{type:"submit",form:"create-feature-form",disabled:!R.trim()||g||aT,children:g?"Creating...":"+ Create Feature"})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsx)(z.TooltipProvider,{delayDuration:400,children:(0,b.jsxs)("form",{ref:aO,id:"create-feature-form",onSubmit:aL,onKeyDown:aP,className:"flex flex-col gap-4",children:[aU?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,b.jsx)(v.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,b.jsx)(M,{repositories:ar,value:ap,onChange:aq,onAddRepository:a=>{as(b=>[...b,a]),aq(a.path)},disabled:g})]}):f?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,b.jsx)(v.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"REPOSITORY"}),(0,b.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:m?.find(a=>a.path===f)?.name??f.split("/").pop()})]}):null,(0,b.jsxs)("div",{role:"region","aria-label":"File drop zone","data-drag-over":at?"true":"false",onDragEnter:aG,onDragLeave:aH,onDragOver:aI,onDrop:aJ,className:(0,o.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",at&&"border-primary/50 bg-primary/5"),children:[(0,b.jsx)(v.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIBE YOUR FEATURE"}),(0,b.jsxs)("div",{ref:aB,onFocus:aQ,onBlur:aR,className:(0,o.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",ax&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(u.Textarea,{id:"feature-description",placeholder:"e.g. Add GitHub OAuth login with callback handling and token refresh...",value:R,onChange:a=>S(a.target.value),onPaste:aK,required:!0,disabled:g,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),T.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:T.map(a=>(0,b.jsx)(B.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>aN(a.id),disabled:g,loading:a.loading},a.id))}),av?(0,b.jsx)("p",{className:"text-destructive px-3 pb-2 text-xs",children:av}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,b.jsx)(C.AgentModelPicker,{initialAgentType:al??t??"claude-code",initialModel:an??x??"claude-sonnet-4-6",mode:"override",onAgentModelChange:(a,b)=>{am(a),ao(b)},disabled:g,className:"w-55"}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(y.Switch,{id:"pending-mode",checked:aj,onCheckedChange:ak,disabled:g}),(0,b.jsxs)(v.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(l.Clock,{className:"h-3.5 w-3.5"}),"Pending"]})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Create without starting — start manually later."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(y.Switch,{id:"fast-mode",checked:ah,onCheckedChange:ai,disabled:g}),(0,b.jsxs)(v.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(k.Zap,{className:"h-3.5 w-3.5"}),"Fast Mode"]})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Skip SDLC phases and implement directly from your prompt."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:aM,disabled:g,"aria-label":"Attach files",className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(h.PaperclipIcon,{className:"h-4 w-4"})})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Attach files"})]})]})]})]}),aS&&void 0!==n?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(v.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,b.jsx)(L,{features:j,value:af,onChange:ag,disabled:g})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"APPROVE"})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Auto-approve phase transitions without manual review."})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:I.map(a=>(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:`approve-${a.id}`,size:"sm",checked:V[a.id]??!1,onCheckedChange:b=>W(c=>({...c,[a.id]:b})),disabled:g||ah&&("allowPrd"===a.id||"allowPlan"===a.id)}),(0,b.jsx)(v.Label,{htmlFor:`approve-${a.id}`,className:"cursor-pointer text-xs font-medium",children:a.label})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:ah&&("allowPrd"===a.id||"allowPlan"===a.id)?"Skipped in Fast Mode":a.description})]},a.id))}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:()=>{let a=I.every(a=>V[a.id]),b={};for(let c of I)b[c.id]=!a;W(b)},disabled:g,className:(0,o.cn)("text-muted-foreground hover:text-foreground cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-semibold tracking-wider uppercase transition-colors",I.every(a=>V[a.id])&&"text-primary"),children:"All"})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Toggle all approval gates"})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 cursor-default text-xs font-semibold tracking-wider",children:"EVIDENCE"})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Collect and attach evidence after implementation."})]}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"enable-evidence",size:"sm",checked:ab,onCheckedChange:a=>{ac(a),a||ae(!1)},disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:"Collect"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Capture screenshots and artifacts after implementation."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"commit-evidence",size:"sm",checked:ad,onCheckedChange:ae,disabled:g||!ab||!Z}),(0,b.jsx)(v.Label,{htmlFor:"commit-evidence",className:(0,o.cn)("cursor-pointer text-xs font-medium",(!ab||!Z)&&"opacity-50"),children:"Add to PR"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:Z?ab?"Include evidence in the pull request body.":"Requires evidence collection to be enabled":"Requires PR to be enabled"})]})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 text-xs font-semibold tracking-wider",children:"GIT"}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"push",size:"sm",checked:X||Z,onCheckedChange:a=>{Y(a),!a&&Z&&$(!1)},disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"push",className:"cursor-pointer text-xs font-medium",children:"Push"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Push branch to remote after implementation."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"open-pr",size:"sm",checked:Z,onCheckedChange:a=>{$(a),a||ae(!1)},disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"open-pr",className:"cursor-pointer text-xs font-medium",children:"PR"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Open a pull request after pushing."})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(y.Switch,{id:"ci-watch",size:"sm",checked:_,onCheckedChange:aa,disabled:g}),(0,b.jsx)(v.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:"Watch"})]})}),(0,b.jsx)(z.TooltipContent,{side:"bottom",children:"Watch CI and auto-fix after push."})]})]})]})]})]})})})})}function L({features:a,value:d,onChange:e,disabled:f}){let[g,h]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),m=(0,c.useRef)(null),n=a.find(a=>a.id===d),p=k.trim()?a.filter(a=>a.name.toLowerCase().includes(k.toLowerCase())||a.id.toLowerCase().includes(k.toLowerCase())):a,q=(0,c.useCallback)(a=>{e(a),h(!1),l("")},[e]);return(0,c.useEffect)(()=>{g?setTimeout(()=>m.current?.focus(),0):l("")},[g]),(0,b.jsxs)(x.Popover,{open:g,onOpenChange:h,children:[(0,b.jsx)(x.PopoverTrigger,{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,o.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",!n&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:n?`${n.name} (${n.id.slice(0,8)})`:"Select parent feature..."}),(0,b.jsx)(i,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(x.PopoverContent,{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)(t.Input,{ref:m,placeholder:"Search features...",value:k,onChange:a=>l(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:()=>q(void 0),className:(0,o.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)(j.CheckIcon,{className:(0,o.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===p.length&&k?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):p.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>q(a.id),className:(0,o.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)(j.CheckIcon,{className:(0,o.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 M({repositories:a,value:d,onChange:e,onAddRepository:f,disabled:g}){let[h,k]=(0,c.useState)(!1),[l,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(!1),[s,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=a.find(a=>a.path===d),y=l.trim()?a.filter(a=>a.name.toLowerCase().includes(l.toLowerCase())||a.path.toLowerCase().includes(l.toLowerCase())):a,z=(0,c.useCallback)(a=>{e(a),k(!1),p("")},[e]),A=(0,c.useCallback)(async()=>{if(!q){r(!0),u(null);try{let a=await (0,E.pickFolder)();if(!a)return void r(!1);let b=await (0,F.addRepository)({path:a});if(b.error){u(b.error),r(!1);return}if(b.repository){let a={id:b.repository.id,name:b.repository.name,path:b.repository.path};f?.(a),e(a.path),k(!1),p("")}}catch(a){u(a instanceof Error?a.message:"Failed to add repository")}finally{r(!1)}}},[q,f,e]);return(0,c.useEffect)(()=>{h?setTimeout(()=>v.current?.focus(),0):p("")},[h]),(0,b.jsxs)(x.Popover,{open:h,onOpenChange:k,children:[(0,b.jsx)(x.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",role:"combobox","aria-expanded":h,"aria-label":"Repository",disabled:g,"data-testid":"repository-combobox",className:(0,o.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",!w&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:w?w.name:"Select repository..."}),(0,b.jsx)(i,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(x.PopoverContent,{className:"w-80 p-0",align:"start","data-testid":"repository-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)(t.Input,{ref:v,placeholder:"Search repositories...",value:l,onChange:a=>p(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"repository-search"})}),(0,b.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===y.length?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):y.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.path,onClick:()=>z(a.path),className:(0,o.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",d===a.path&&"bg-accent/50"),"data-testid":`repository-option-${a.id}`,children:[(0,b.jsx)(j.CheckIcon,{className:(0,o.cn)("h-4 w-4 shrink-0",d!==a.path&&"invisible")}),(0,b.jsxs)("span",{className:"flex flex-col items-start truncate",children:[(0,b.jsx)("span",{className:"truncate",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path})]})]},a.id))}),(0,b.jsx)(D.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:A,disabled:q,className:"hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm","data-testid":"add-repository-item",children:[q?(0,b.jsx)(n.Loader2,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,b.jsx)(m.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:"Add new repository..."})]}),s?(0,b.jsx)("p",{className:"px-3 pb-2 text-xs text-red-500","data-testid":"add-repository-error",children:s}):null]})})]})}function N({repositoryPath:a,initialParentId:f,initialDescription:h,features:i,repositories:j,workflowDefaults:k,currentAgentType:l,currentModel:m}){let n=(0,d.useRouter)(),[o,p]=(0,c.useState)(!1),q=(0,d.usePathname)().startsWith("/create"),r=!o&&q;(0,c.useEffect)(()=>{!q&&o&&p(!1)},[q,o]);let s=(0,c.useCallback)(()=>{n.push("/")},[n]),t=(0,c.useCallback)(a=>{p(!0),n.push("/"),g(a).then(b=>{b.error?e.toast.error(b.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:b.feature.id,name:b.feature.name,description:b.feature.description,repositoryPath:b.feature.repositoryPath,parentId:a.parentId}}))}).catch(()=>{e.toast.error("Failed to create feature"),p(!1)})},[n]);return(0,b.jsx)(K,{open:r,onClose:s,onSubmit:t,repositoryPath:a,features:i,repositories:j,workflowDefaults:k,initialParentId:f,initialDescription:h,isSubmitting:o,currentAgentType:l,currentModel:m})}a.s(["CreateDrawerClient",()=>N],93995)}];
2
2
 
3
3
  //# sourceMappingURL=744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map