@shipit-ai/cli 1.172.0-pr16.b31ecd3 → 1.172.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/apis/json-schema/FeatureFlags.yaml +0 -5
  2. package/dist/packages/core/src/application/ports/output/services/index.d.ts +0 -1
  3. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  4. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  5. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +0 -1
  6. package/dist/packages/core/src/domain/generated/output.d.ts +0 -4
  7. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/di/modules/services.module.js +0 -3
  10. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +1 -1
  11. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +0 -6
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -1
  13. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  14. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +0 -2
  15. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +2 -3
  17. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
  18. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +0 -1
  19. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
  20. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +0 -7
  21. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
  22. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +0 -2
  23. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
  24. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +0 -1
  25. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  26. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  27. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  28. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +0 -1
  29. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
  30. package/dist/src/presentation/web/hooks/feature-flags-context.js +0 -1
  31. package/dist/src/presentation/web/lib/feature-flags.d.ts +0 -2
  32. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  33. package/dist/src/presentation/web/lib/feature-flags.js +0 -6
  34. package/dist/translations/ar/web.json +12 -49
  35. package/dist/translations/de/web.json +18 -69
  36. package/dist/translations/en/web.json +13 -50
  37. package/dist/translations/es/web.json +13 -50
  38. package/dist/translations/fr/web.json +13 -50
  39. package/dist/translations/he/web.json +13 -50
  40. package/dist/translations/pt/web.json +13 -50
  41. package/dist/translations/ru/web.json +13 -50
  42. package/dist/tsconfig.build.tsbuildinfo +1 -1
  43. package/package.json +2 -2
  44. package/web/.next/BUILD_ID +1 -1
  45. package/web/.next/app-path-routes-manifest.json +0 -1
  46. package/web/.next/build-manifest.json +3 -3
  47. package/web/.next/fallback-build-manifest.json +3 -3
  48. package/web/.next/prerender-manifest.json +3 -3
  49. package/web/.next/required-server-files.js +3 -3
  50. package/web/.next/required-server-files.json +3 -3
  51. package/web/.next/routes-manifest.json +0 -6
  52. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  53. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  54. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  57. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -1
  58. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +31 -31
  61. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  62. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  65. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  66. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  67. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  68. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +37 -37
  69. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  70. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  71. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  72. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  73. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
  74. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  75. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  77. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  78. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  79. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  81. package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
  82. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  83. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +31 -31
  85. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  86. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  87. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  88. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +37 -37
  89. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  90. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  91. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +37 -37
  93. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  94. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  95. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  96. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  97. package/web/.next/server/app/(dashboard)/page.js +1 -1
  98. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  99. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  100. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  101. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
  102. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  103. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  105. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  106. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  107. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  108. package/web/.next/server/app/_global-error.html +1 -1
  109. package/web/.next/server/app/_global-error.rsc +1 -1
  110. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  111. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  112. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  113. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  114. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  115. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  116. package/web/.next/server/app/_not-found/page.js +1 -1
  117. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  118. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  120. package/web/.next/server/app/api/dialog/pick-files/route.js.nft.json +1 -1
  121. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  122. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  123. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  124. package/web/.next/server/app/plugins/page/server-reference-manifest.json +15 -15
  125. package/web/.next/server/app/plugins/page.js +1 -1
  126. package/web/.next/server/app/plugins/page.js.nft.json +1 -1
  127. package/web/.next/server/app/plugins/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/settings/page/server-reference-manifest.json +12 -12
  129. package/web/.next/server/app/settings/page.js +1 -1
  130. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  131. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  132. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  133. package/web/.next/server/app/skills/page.js +1 -1
  134. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  135. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  136. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  137. package/web/.next/server/app/tools/page.js +1 -1
  138. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  139. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  141. package/web/.next/server/app/version/page.js +1 -1
  142. package/web/.next/server/app/version/page.js.nft.json +1 -1
  143. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  144. package/web/.next/server/app-paths-manifest.json +0 -1
  145. package/web/.next/server/chunks/11es_next_dist_esm_build_templates_app-route_067cwst.js.map +1 -1
  146. package/web/.next/server/chunks/[root-of-the-server]__0tb~wwk._.js +1 -1
  147. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js +1 -1
  148. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js +2 -2
  150. package/web/.next/server/chunks/ssr/0j.8_web_components_common_control-center-drawer_feature-drawer-client_tsx_104cna.._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js +1 -1
  152. package/web/.next/server/chunks/ssr/0ukq_presentation_web_components_features_settings_settings-page-client_tsx_0j1uius._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0un-3~2.js +1 -1
  154. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js +1 -1
  155. package/web/.next/server/chunks/ssr/11y9_components_common_control-center-drawer_repository-drawer-client_tsx_09z.znp._.js.map +1 -1
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__0.5ojmt._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js +1 -1
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__05_qc0n._.js.map +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dec29w._.js +3 -0
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dec29w._.js.map +1 -0
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ge~xny._.js.map +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__0qda~yi._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rv1gci._.js +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__0tq2syh._.js +1 -1
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__0t~u8sd._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__10tll_l._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__11-~i9u._.js +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__12j29w-._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/_01sesw0._.js +1 -1
  176. package/web/.next/server/chunks/ssr/_01sesw0._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/{_12y_u2z._.js → _05fk0a4._.js} +2 -2
  178. package/web/.next/server/chunks/ssr/_05fk0a4._.js.map +1 -0
  179. package/web/.next/server/chunks/ssr/_069y.js._.js +2 -2
  180. package/web/.next/server/chunks/ssr/_069y.js._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/{_1031n_-._.js → _083k45~._.js} +2 -2
  182. package/web/.next/server/chunks/ssr/{_1031n_-._.js.map → _083k45~._.js.map} +1 -1
  183. package/web/.next/server/chunks/ssr/_0__4si~._.js +1 -1
  184. package/web/.next/server/chunks/ssr/_0__4si~._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/_0_m17kl._.js +1 -1
  186. package/web/.next/server/chunks/ssr/_0_m17kl._.js.map +1 -1
  187. package/web/.next/server/chunks/ssr/_0d4miu.._.js +1 -1
  188. package/web/.next/server/chunks/ssr/_0d4miu.._.js.map +1 -1
  189. package/web/.next/server/chunks/ssr/_0e8ern9._.js +1 -1
  190. package/web/.next/server/chunks/ssr/_0e8ern9._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/{_0ig8swf._.js → _0ik5uly._.js} +2 -2
  192. package/web/.next/server/chunks/ssr/{_0ig8swf._.js.map → _0ik5uly._.js.map} +1 -1
  193. package/web/.next/server/chunks/ssr/_0i~-084._.js +3 -0
  194. package/web/.next/server/chunks/ssr/_0i~-084._.js.map +1 -0
  195. package/web/.next/server/chunks/ssr/_0o.xc6x._.js +1 -1
  196. package/web/.next/server/chunks/ssr/_0p3~u8u._.js +2 -2
  197. package/web/.next/server/chunks/ssr/_0p3~u8u._.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/_0pqw.55._.js +3 -0
  199. package/web/.next/server/chunks/ssr/{_04z1jg3._.js.map → _0pqw.55._.js.map} +1 -1
  200. package/web/.next/server/chunks/ssr/_0r.3n~3._.js +1 -1
  201. package/web/.next/server/chunks/ssr/_0r.3n~3._.js.map +1 -1
  202. package/web/.next/server/chunks/ssr/_0t59q8r._.js +1 -1
  203. package/web/.next/server/chunks/ssr/_0t59q8r._.js.map +1 -1
  204. package/web/.next/server/chunks/ssr/{_0.rsra~._.js → _0tcccbb._.js} +2 -2
  205. package/web/.next/server/chunks/ssr/_0tcccbb._.js.map +1 -0
  206. package/web/.next/server/chunks/ssr/_0u3d8.n._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_0vyfc4b._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_0vyfc4b._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/_0w-_hww._.js +1 -1
  210. package/web/.next/server/chunks/ssr/_0w-_hww._.js.map +1 -1
  211. package/web/.next/server/chunks/ssr/_0ygafoy._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_0ygafoy._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/_0zk-h5w._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_0zk-h5w._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/_0~7lwu_._.js +1 -1
  216. package/web/.next/server/chunks/ssr/_0~7lwu_._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/_10joy2y._.js +3 -0
  218. package/web/.next/server/chunks/ssr/{_096x3u~._.js.map → _10joy2y._.js.map} +1 -1
  219. package/web/.next/server/chunks/ssr/_1161g9x._.js +1 -1
  220. package/web/.next/server/chunks/ssr/_1161g9x._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/{_0-z2xjv._.js → _13o1d1i._.js} +2 -2
  222. package/web/.next/server/chunks/ssr/{_0-z2xjv._.js.map → _13o1d1i._.js.map} +1 -1
  223. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js +1 -1
  224. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_plugins_page_actions_0rdndum.js.map +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js +1 -1
  226. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_05m2q~u.js.map +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_0.6zk.t.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_0pjb_re._.js +1 -1
  230. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_0w2wqvu._.js +1 -1
  231. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js +1 -1
  232. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_0l3oxx9._.js.map +1 -1
  233. package/web/.next/server/middleware-build-manifest.js +3 -3
  234. package/web/.next/server/next-font-manifest.js +1 -1
  235. package/web/.next/server/next-font-manifest.json +0 -3
  236. package/web/.next/server/pages/500.html +1 -1
  237. package/web/.next/server/server-reference-manifest.js +1 -1
  238. package/web/.next/server/server-reference-manifest.json +55 -145
  239. package/web/.next/static/chunks/{0sgbbtfp4hspl.js → 012cnd7koqv6d.js} +2 -2
  240. package/web/.next/static/chunks/02e5.-kk~ag_i.js +1 -0
  241. package/web/.next/static/chunks/{0tmm5-1w.tzfa.js → 07e~pkh4ikdtq.js} +1 -1
  242. package/web/.next/static/chunks/0aom-74j.wtkt.js +1 -0
  243. package/web/.next/static/chunks/{14e8.v2aj~k.c.js → 0aworyfo5xz3f.js} +1 -1
  244. package/web/.next/static/chunks/{0pm3xcdn669n~.js → 0b2pi58fg3lt3.js} +1 -1
  245. package/web/.next/static/chunks/{0v1l16yu5yi0-.js → 0ddwj6.~yj.u5.js} +1 -1
  246. package/web/.next/static/chunks/0lc0x8kcu46ae.js +1 -0
  247. package/web/.next/static/chunks/{0~~gsf7.gbljc.js → 0m0hb2m1lgy.r.js} +1 -1
  248. package/web/.next/static/chunks/{15lkkh2eg.w0h.js → 0o4m0k3642219.js} +1 -1
  249. package/web/.next/static/chunks/{0~64izks_7xas.js → 0prk~fhfyg~yg.js} +1 -1
  250. package/web/.next/static/chunks/{0hxu8.xyx0z4-.js → 0q.xmdro9u05g.js} +1 -1
  251. package/web/.next/static/chunks/{0m0h4rzeoumvg.js → 0rd5nu5ru3gje.js} +1 -1
  252. package/web/.next/static/chunks/{0f4oy2xirxwmj.js → 0rm13o3bvc9o..js} +1 -1
  253. package/web/.next/static/chunks/0ug478hm-8bog.js +5 -0
  254. package/web/.next/static/chunks/0uz.~ob1qtjhj.js +1 -0
  255. package/web/.next/static/chunks/0v7r7y~3e~oo6.css +1 -0
  256. package/web/.next/static/chunks/0vb84wrbin-ef.js +1 -0
  257. package/web/.next/static/chunks/{0g-.voyjeec~b.js → 100y4~jpwu8~t.js} +3 -3
  258. package/web/.next/static/chunks/{10j-adknfho63.js → 10rtagfoabp3b.js} +1 -1
  259. package/web/.next/static/chunks/{0bqd0fy0w5e4k.js → 16678zkd7o7-z.js} +1 -1
  260. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.d.ts +0 -38
  261. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.d.ts.map +0 -1
  262. package/dist/packages/core/src/application/ports/output/services/mcp-server-browser.interface.js +0 -12
  263. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.d.ts +0 -23
  264. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.d.ts.map +0 -1
  265. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-server-tools.use-case.js +0 -49
  266. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-servers.use-case.d.ts +0 -23
  267. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-servers.use-case.d.ts.map +0 -1
  268. package/dist/packages/core/src/application/use-cases/mcp-servers/fetch-mcp-servers.use-case.js +0 -49
  269. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-add-mcp-servers-flag.d.ts +0 -11
  270. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-add-mcp-servers-flag.d.ts.map +0 -1
  271. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-add-mcp-servers-flag.js +0 -16
  272. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/index.d.ts +0 -2
  273. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/index.d.ts.map +0 -1
  274. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/index.js +0 -1
  275. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts +0 -65
  276. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.d.ts.map +0 -1
  277. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.schema.js +0 -53
  278. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts +0 -17
  279. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.d.ts.map +0 -1
  280. package/dist/packages/core/src/infrastructure/services/mcp-server-browser/mcp-server-browser.service.js +0 -97
  281. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts +0 -5
  282. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.d.ts.map +0 -1
  283. package/dist/src/presentation/web/app/actions/fetch-mcp-server-tools.js +0 -11
  284. package/dist/src/presentation/web/app/actions/fetch-mcp-servers.d.ts +0 -5
  285. package/dist/src/presentation/web/app/actions/fetch-mcp-servers.d.ts.map +0 -1
  286. package/dist/src/presentation/web/app/actions/fetch-mcp-servers.js +0 -11
  287. package/dist/src/presentation/web/app/mcp-servers/page.d.ts +0 -2
  288. package/dist/src/presentation/web/app/mcp-servers/page.d.ts.map +0 -1
  289. package/dist/src/presentation/web/app/mcp-servers/page.js +0 -20
  290. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.d.ts +0 -8
  291. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.d.ts.map +0 -1
  292. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.js +0 -22
  293. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.stories.d.ts +0 -15
  294. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.stories.d.ts.map +0 -1
  295. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-card.stories.js +0 -56
  296. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts +0 -10
  297. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.d.ts.map +0 -1
  298. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.js +0 -41
  299. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.d.ts +0 -16
  300. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.d.ts.map +0 -1
  301. package/dist/src/presentation/web/components/features/mcp-servers/mcp-server-detail-drawer.stories.js +0 -42
  302. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts +0 -6
  303. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.d.ts.map +0 -1
  304. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.js +0 -50
  305. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.d.ts +0 -11
  306. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.d.ts.map +0 -1
  307. package/dist/src/presentation/web/components/features/mcp-servers/mcp-servers-page-client.stories.js +0 -12
  308. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts +0 -23
  309. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.d.ts.map +0 -1
  310. package/dist/src/presentation/web/components/features/mcp-servers/mcp-tool-list.js +0 -48
  311. package/web/.next/server/app/mcp-servers/page/app-paths-manifest.json +0 -3
  312. package/web/.next/server/app/mcp-servers/page/build-manifest.json +0 -18
  313. package/web/.next/server/app/mcp-servers/page/next-font-manifest.json +0 -10
  314. package/web/.next/server/app/mcp-servers/page/react-loadable-manifest.json +0 -8
  315. package/web/.next/server/app/mcp-servers/page/server-reference-manifest.json +0 -161
  316. package/web/.next/server/app/mcp-servers/page.js +0 -17
  317. package/web/.next/server/app/mcp-servers/page.js.map +0 -5
  318. package/web/.next/server/app/mcp-servers/page.js.nft.json +0 -1
  319. package/web/.next/server/app/mcp-servers/page_client-reference-manifest.js +0 -3
  320. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0-p.z5-.js +0 -4
  321. package/web/.next/server/chunks/ssr/11es_next_dist_esm_build_templates_app-page_0-p.z5-.js.map +0 -1
  322. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js +0 -3
  323. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b~nfa6._.js.map +0 -1
  324. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js +0 -3
  325. package/web/.next/server/chunks/ssr/[root-of-the-server]__13pshs0._.js.map +0 -1
  326. package/web/.next/server/chunks/ssr/_0.rsra~._.js.map +0 -1
  327. package/web/.next/server/chunks/ssr/_04z1jg3._.js +0 -3
  328. package/web/.next/server/chunks/ssr/_096x3u~._.js +0 -3
  329. package/web/.next/server/chunks/ssr/_0ia4o6_._.js +0 -3
  330. package/web/.next/server/chunks/ssr/_0ia4o6_._.js.map +0 -1
  331. package/web/.next/server/chunks/ssr/_0vqmej8._.js +0 -3
  332. package/web/.next/server/chunks/ssr/_0vqmej8._.js.map +0 -1
  333. package/web/.next/server/chunks/ssr/_12y_u2z._.js.map +0 -1
  334. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js +0 -3
  335. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_mcp-servers_page_actions_0d.r4q..js.map +0 -1
  336. package/web/.next/static/chunks/00h433i5-1v_-.css +0 -1
  337. package/web/.next/static/chunks/02ce237xcav6s.js +0 -1
  338. package/web/.next/static/chunks/04~wdwkqgr57x.js +0 -1
  339. package/web/.next/static/chunks/0b1d~7i5gfw1-.js +0 -1
  340. package/web/.next/static/chunks/0qjlmwu-skciu.js +0 -1
  341. package/web/.next/static/chunks/13nrt40z9yg93.js +0 -1
  342. package/web/.next/static/chunks/14qne_94ozzr5.js +0 -1
  343. package/web/.next/static/chunks/15izkiwfc5ym~.js +0 -5
  344. /package/web/.next/static/{-6CqN67a8qSHOn097fc6D → hWgOeXuQ6p-VoJvFXhk5g}/_buildManifest.js +0 -0
  345. /package/web/.next/static/{-6CqN67a8qSHOn097fc6D → hWgOeXuQ6p-VoJvFXhk5g}/_clientMiddlewareManifest.js +0 -0
  346. /package/web/.next/static/{-6CqN67a8qSHOn097fc6D → hWgOeXuQ6p-VoJvFXhk5g}/_ssgManifest.js +0 -0
@@ -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"))},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"))},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"))},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";e.s(["resolve",0,function(e){let t=globalThis.__shipitAiContainer;if(!t)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return t.resolve(e)}])},68367,e=>{"use strict";var t=e.i(29932),r=e.i(88797),a=e.i(78439),n=e.i(21387),i=e.i(351),s=e.i(1286),o=e.i(31060),l=e.i(67760),d=e.i(13435),u=e.i(60316),p=e.i(37130),c=e.i(31516),h=e.i(63144),v=e.i(3719),x=e.i(66941),R=e.i(93695);e.i(76574);var m=e.i(45014),f=e.i(25716),g=e.i(40060);e.s(["GET",0,function(){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:"b31ecd33fab348073ce229c9b7a742a1837a3cf8",instancePath:"/home/runner/work/shipit/shipit/src/presentation/web",isDev:!1})}catch{return f.NextResponse.json({version:"1.172.0",packageName:"@shipit-ai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",branch:"HEAD",commitHash:"b31ecd33fab348073ce229c9b7a742a1837a3cf8",instancePath:"/home/runner/work/shipit/shipit/src/presentation/web",isDev:!1})}},"dynamic",0,"force-dynamic"],35003);var w=e.i(35003);let E=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:"",userland:w,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:y,serverHooks:C}=E;async function A(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/version/route";f=f.replace(/\/index$/,"")||"/";let g=await E.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:b,nextConfig:y,parsedUrl:C,isDraftMode:A,prerenderManifest:N,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:S,serverActionsManifest:_}=g,H=(0,o.normalizeAppPath)(f),O=!!(N.dynamicRoutes[H]||N.routes[q]),I=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!N.routes[q],t=N.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await I();throw new R.NoFallbackError}}let j=null;!O||E.isDev||A||(j="/index"===(j=q)?"/":j);let D=!0===E.isDev||!O,U=O&&!D;_&&S&&(0,s.setManifestsSingleton)({page:f,clientReferenceManifest:S,serverActionsManifest:_});let M=e.method||"GET",$=(0,i.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,y,N,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let V={params:b,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:D,incrementalCache:B,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,P)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(X,V).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),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${M} ${f}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&T&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=V.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(G,W,i,V.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),t}},d=await E.handleResponse({req:e,nextConfig:y,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!O)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&O||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,v.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(G,W,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&F?await o(F):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${f}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof R.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),O)throw t;return await (0,c.sendResponse)(G,W,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:y})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,y],68367)}];
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"))},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"))},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"))},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";e.s(["resolve",0,function(e){let t=globalThis.__shipitAiContainer;if(!t)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return t.resolve(e)}])},68367,e=>{"use strict";var t=e.i(29932),r=e.i(88797),a=e.i(78439),n=e.i(21387),i=e.i(351),s=e.i(1286),o=e.i(31060),l=e.i(67760),d=e.i(13435),u=e.i(60316),p=e.i(37130),c=e.i(31516),h=e.i(63144),v=e.i(3719),x=e.i(66941),f=e.i(93695);e.i(76574);var R=e.i(45014),m=e.i(25716),g=e.i(40060);e.s(["GET",0,function(){try{let{version:e,name:t,description:r}=(0,g.resolve)("IVersionService").getVersion();return m.NextResponse.json({version:e,packageName:t,description:r,branch:"main",commitHash:"b431841fd804982661364f7f9fc5933bf2ffbd7e",instancePath:"/home/runner/work/shipit/shipit/src/presentation/web",isDev:!1})}catch{return m.NextResponse.json({version:"1.171.0",packageName:"@shipit-ai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy",branch:"main",commitHash:"b431841fd804982661364f7f9fc5933bf2ffbd7e",instancePath:"/home/runner/work/shipit/shipit/src/presentation/web",isDev:!1})}},"dynamic",0,"force-dynamic"],35003);var w=e.i(35003);let E=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:"",userland:w,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:y,serverHooks:C}=E;async function A(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/version/route";m=m.replace(/\/index$/,"")||"/";let g=await E.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:b,nextConfig:y,parsedUrl:C,isDraftMode:A,prerenderManifest:N,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,resolvedPathname:q,clientReferenceManifest:S,serverActionsManifest:_}=g,O=(0,o.normalizeAppPath)(m),I=!!(N.dynamicRoutes[O]||N.routes[q]),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(I&&!A){let e=!!N.routes[q],t=N.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await j();throw new f.NoFallbackError}}let H=null;!I||E.isDev||A||(H="/index"===(H=q)?"/":H);let D=!0===E.isDev||!I,U=I&&!D;_&&S&&(0,s.setManifestsSingleton)({page:m,clientReferenceManifest:S,serverActionsManifest:_});let M=e.method||"GET",$=(0,i.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,y,N,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let V={params:b,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:D,incrementalCache:B,cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>E.onRequestError(e,t,a,n,P)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>E.handle(X,V).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),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${M} ${m}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!L&&T&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=V.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(G,W,i,V.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:V.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),t}},d=await E.handleResponse({req:e,nextConfig:y,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!I)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&I||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,v.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(G,W,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&F?await o(F):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},o),void 0,!K))}catch(t){if(t instanceof f.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:T})},!1,P),I)throw t;return await (0,c.sendResponse)(G,W,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:y})},"routeModule",0,E,"serverHooks",0,C,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,y],68367)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0tb~wwk._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93995,a=>{"use strict";var b=a.i(53083),c=a.i(11321),d=a.i(40674),e=a.i(52313),f=a.i(6120);let g=(0,f.createServerReference)("4039f8ce4948e97d2a8f78edd5f7653465baa23e3d",f.callServer,void 0,f.findSourceMapURL,"createFeature");a.i(98617);var h=a.i(50040);a.i(78454);var i=a.i(24255),j=a.i(2824),k=a.i(18948),l=a.i(58860),m=a.i(58339),n=a.i(82934),o=a.i(19884),p=a.i(96213);let q=(0,f.createServerReference)("404c6716c01edb4fc8dfe2761841e66ddcf48a5724",f.callServer,void 0,f.findSourceMapURL,"getViewerPermission");var r=a.i(39116);let s=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"]),t={allowPrd:!1,allowPlan:!1,allowMerge:!1};var u=a.i(95014),v=a.i(42728),w=a.i(41042),x=a.i(85536),y=a.i(79620),z=a.i(96867);a.i(307);var A=a.i(30931),B=a.i(61781);function C({description:a,onDescriptionChange:d,attachments:e,onRemoveFile:f,onNotesChange:g,onPaste:i,onDragEnter:j,onDragLeave:k,onDragOver:m,onDrop:o,onAddFiles:p,isDragOver:q,uploadError:r,isPromptFocused:s,onPromptFocus:t,onPromptBlur:D,fast:E,onFastChange:F,pending:G,onPendingChange:H,overrideAgent:I,overrideModel:J,currentAgentType:K,currentModel:L,onAgentModelChange:M,isSubmitting:N}){let{t:O}=(0,h.useTranslation)("web"),P=(0,c.useRef)(null);return(0,b.jsxs)("div",{role:"region","aria-label":O("createDrawer.fileDropZone"),"data-drag-over":q?"true":"false",onDragEnter:j,onDragLeave:k,onDragOver:m,onDrop:o,className:(0,x.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",q&&"border-primary/50 bg-primary/5"),children:[(0,b.jsx)(l.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:O("createDrawer.describeFeature")}),(0,b.jsxs)("div",{ref:P,onFocus:t,onBlur:()=>{setTimeout(()=>{let a=P.current?.contains(document.activeElement),b=P.current?.querySelector('[aria-expanded="true"]')!==null;a||b||D()},0)},className:(0,x.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",s&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(y.Textarea,{id:"feature-description",placeholder:O("createDrawer.featurePlaceholder"),value:a,onChange:a=>d(a.target.value),onPaste:i,required:!0,disabled:N,"aria-invalid":!!r,"aria-describedby":r?"feature-upload-error":void 0,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),e.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:e.map(a=>(0,b.jsx)(A.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>f(a.id),disabled:N,loading:a.loading,notes:a.notes,onNotesChange:b=>g(a.id,b)},a.id))}),r?(0,b.jsx)("p",{id:"feature-upload-error",className:"text-destructive px-3 pb-2 text-xs",role:"alert",children:r}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,b.jsx)(B.AgentModelPicker,{initialAgentType:I??K??"claude-code",initialModel:J??L??"claude-sonnet-4-6",mode:"override",onAgentModelChange:M,disabled:N,className:"w-55"}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(z.Switch,{id:"pending-mode",checked:G,onCheckedChange:H,disabled:N}),(0,b.jsxs)(l.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(w.Clock,{className:"h-3.5 w-3.5"}),O("createDrawer.pendingMode")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:O("createDrawer.pendingModeDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(z.Switch,{id:"fast-mode",checked:E,onCheckedChange:F,disabled:N}),(0,b.jsxs)(l.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(v.Zap,{className:"h-3.5 w-3.5"}),O("createDrawer.fastModeLabel")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:O("createDrawer.fastModeDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:p,disabled:N,"aria-label":O("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(u.PaperclipIcon,{className:"h-4 w-4"})})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:O("chat.attachFiles")})]})]})]})]})}var D=a.i(53759),E=a.i(63204),F=a.i(67664),G=a.i(53556),H=a.i(59175);let I=(0,f.createServerReference)("40ab056113d3d7a3768d23e2d556c894e14f388c47",f.callServer,void 0,f.findSourceMapURL,"getAgentPermissionOptions"),J=["allowPrd","allowPlan","allowMerge"];function K({approvalGates:a,onApprovalGatesChange:c,enableEvidence:d,onEnableEvidenceChange:e,commitEvidence:f,onCommitEvidenceChange:g,push:i,onPushChange:j,openPr:k,onOpenPrChange:m,ciWatchEnabled:o,onCiWatchChange:p,rebaseBeforeBranch:q,onRebaseBeforeBranchChange:r,commitSpecs:s,onCommitSpecsChange:t,forkAndPr:u,onForkAndPrChange:v,canPush:w,fast:y,computedPush:A,computedOpenPr:B,isSubmitting:C,agentType:G,permissionMode:H,onPermissionModeChange:I}){let{t:M}=(0,h.useTranslation)("web"),N=[{id:"allowPrd",label:M("createDrawer.prd"),description:M("createDrawer.prdDescription")},{id:"allowPlan",label:M("createDrawer.plan"),description:M("createDrawer.planDescription")},{id:"allowMerge",label:M("createDrawer.merge"),description:M("createDrawer.mergeDescription")}];return(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)(n.Tooltip,{children:[(0,b.jsx)(n.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:M("createDrawer.approve")})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.approveDescription")})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:N.map(d=>(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:`approve-${d.id}`,size:"sm",checked:a[d.id]??!1,onCheckedChange:b=>c({...a,[d.id]:b}),disabled:C||y&&("allowPrd"===d.id||"allowPlan"===d.id)}),(0,b.jsx)(l.Label,{htmlFor:`approve-${d.id}`,className:"cursor-pointer text-xs font-medium",children:d.label})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:y&&("allowPrd"===d.id||"allowPlan"===d.id)?M("createDrawer.skippedInFastMode"):d.description})]},d.id))}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:()=>{let b=J.every(b=>a[b]),d={};for(let a of J)d[a]=!b;c(d)},disabled:C,className:(0,x.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",J.every(b=>a[b])&&"text-primary"),children:M("createDrawer.all")})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.toggleAllApprovalGates")})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.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:M("createDrawer.evidence")})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.evidenceDescription")})]}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"enable-evidence",size:"sm",checked:d,onCheckedChange:a=>{e(a),a||g(!1)},disabled:C}),(0,b.jsx)(l.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:M("createDrawer.collect")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.collectDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"commit-evidence",size:"sm",checked:f,onCheckedChange:g,disabled:C||!d||!k&&!u}),(0,b.jsx)(l.Label,{htmlFor:"commit-evidence",className:(0,x.cn)("cursor-pointer text-xs font-medium",(!d||!k&&!u)&&"opacity-50"),children:M("createDrawer.addToPr")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:k||u?d?M("createDrawer.addToPrDescription"):M("createDrawer.requiresEvidence"):M("createDrawer.requiresPr")})]})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:M("createDrawer.git")}),(0,b.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"push",size:"sm",checked:A,onCheckedChange:a=>{j(a),!a&&k&&m(!1)},disabled:C||u}),(0,b.jsx)(l.Label,{htmlFor:"push",className:(0,x.cn)("cursor-pointer text-xs font-medium",u&&"opacity-50"),children:M("createDrawer.push")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:u?"Enabled — contributing to upstream":M("createDrawer.pushDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"open-pr",size:"sm",checked:B,onCheckedChange:a=>{m(a),a||g(!1)},disabled:C||u}),(0,b.jsx)(l.Label,{htmlFor:"open-pr",className:(0,x.cn)("cursor-pointer text-xs font-medium",u&&"opacity-50"),children:M("createDrawer.pr")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:u?"Enabled — contributing to upstream":M("createDrawer.prDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"ci-watch",size:"sm",checked:o,onCheckedChange:p,disabled:C}),(0,b.jsx)(l.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:M("createDrawer.watch")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.watchDescription")})]}),(0,b.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"rebase-before-branch",size:"sm",checked:q,onCheckedChange:r,disabled:C}),(0,b.jsxs)(l.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(F.RefreshCw,{className:"h-3 w-3"}),M("createDrawer.sync")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.syncDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"commit-specs",size:"sm",checked:s,onCheckedChange:t,disabled:C}),(0,b.jsxs)(l.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(E.FileText,{className:"h-3 w-3"}),M("createDrawer.commitSpecs")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.commitSpecsDescription")})]}),!w&&(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"fork-and-pr",size:"sm",checked:u,onCheckedChange:a=>{v(a),a&&t(!1)},disabled:C}),(0,b.jsxs)(l.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(D.GitFork,{className:"h-3 w-3"}),M("createDrawer.forkAndPr")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.forkAndPrDescription")})]})]})]}),G&&I?(0,b.jsx)(L,{agentType:G,permissionMode:H,onPermissionModeChange:I,isSubmitting:C}):null]})}function L({agentType:a,permissionMode:d,onPermissionModeChange:e,isSubmitting:f}){let{t:g}=(0,h.useTranslation)("web"),[i,j]=(0,c.useState)([]);return((0,c.useEffect)(()=>{let b=!1;return I(a).then(a=>{b||j(a)}),()=>{b=!0}},[a]),0===i.length)?null:(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("span",{className:"text-muted-foreground flex w-16 shrink-0 cursor-default items-center gap-1 text-xs font-semibold tracking-wider",children:[(0,b.jsx)(G.Shield,{className:"h-3 w-3"}),g("feature.create.permissionMode")]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:g("settings.agent.permissions.description",{agent:a})})]}),(0,b.jsx)("div",{className:"flex-1",children:(0,b.jsxs)(H.Select,{value:d??"__default__",onValueChange:a=>e("__default__"===a?void 0:a),disabled:f,children:[(0,b.jsx)(H.SelectTrigger,{id:"permission-mode","data-testid":"permission-mode-select",className:"h-7 text-xs",children:(0,b.jsx)(H.SelectValue,{})}),(0,b.jsxs)(H.SelectContent,{children:[(0,b.jsx)(H.SelectItem,{value:"__default__",children:g("feature.create.permissionModeDefault")}),i.map(a=>(0,b.jsx)(H.SelectItem,{value:a.value,children:a.label},a.value))]})]})})]})}var M=a.i(99829),N=a.i(95881),O=a.i(90920),P=a.i(53823);function Q({features:a,value:d,onChange:e,disabled:f}){let{t:g}=(0,h.useTranslation)("web"),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),m=(0,c.useRef)(null),n=a.find(a=>a.id===d),o=k.trim()?a.filter(a=>a.name.toLowerCase().includes(k.toLowerCase())||a.id.toLowerCase().includes(k.toLowerCase())):a,p=(0,c.useCallback)(a=>{e(a),j(!1),l("")},[e]);return(0,c.useEffect)(()=>{i?setTimeout(()=>m.current?.focus(),0):l("")},[i]),(0,b.jsxs)(P.Popover,{open:i,onOpenChange:j,children:[(0,b.jsx)(P.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":i,"aria-label":"Parent Feature",disabled:f,"data-testid":"parent-feature-combobox",className:(0,x.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)})`:g("createDrawer.selectParent")}),(0,b.jsx)(M.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(P.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)(O.Input,{ref:m,placeholder:g("createDrawer.searchFeatures"),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:()=>p(void 0),className:(0,x.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)(N.CheckIcon,{className:(0,x.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:g("createDrawer.noParent")})]}),0===o.length&&k?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:g("createDrawer.noFeaturesFound")}):o.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>p(a.id),className:(0,x.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)(N.CheckIcon,{className:(0,x.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))]})]})})]})}var R=a.i(31271),S=a.i(20901),T=a.i(13126),U=a.i(21333),V=a.i(54803),W=a.i(1377);a.i(21434);var X=a.i(34379);function Y({repositories:a,value:d,onChange:e,onAddRepository:f,disabled:g}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(null),[q,r]=(0,c.useState)(!1),s=(0,c.useRef)(null),{reactFileManager:t}=(0,U.useFeatureFlags)(),{t:u}=(0,h.useTranslation)("web"),v=a.find(a=>a.path===d),w=k.trim()?a.filter(a=>a.name.toLowerCase().includes(k.toLowerCase())||a.path.toLowerCase().includes(k.toLowerCase())):a,y=(0,c.useCallback)(a=>{e(a),j(!1),l("")},[e]),z=(0,c.useCallback)(async a=>{let b=await (0,V.addRepository)({path:a});if(b.error){p(b.error),n(!1);return}if(b.repository){let a={id:b.repository.id,name:b.repository.name,path:b.repository.path};f?.(a),e(a.path),j(!1),l("")}},[f,e]),A=(0,c.useCallback)(async()=>{if(!m){if(t)return void r(!0);n(!0),p(null);try{let a=await (0,W.pickFolder)();if(!a)return void n(!1);await z(a)}catch{r(!0)}finally{n(!1)}}},[m,t,z]),B=(0,c.useCallback)(async a=>{if(r(!1),a){n(!0),p(null);try{await z(a)}catch(a){p(a instanceof Error?a.message:"Failed to add repository")}finally{n(!1)}}},[z]);return(0,c.useEffect)(()=>{i?setTimeout(()=>s.current?.focus(),0):l("")},[i]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(P.Popover,{open:i,onOpenChange:j,children:[(0,b.jsx)(P.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",role:"combobox","aria-expanded":i,"aria-label":"Repository","aria-invalid":!!o,"aria-describedby":o?"add-repository-error-msg":void 0,disabled:g,"data-testid":"repository-combobox",className:(0,x.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",!v&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:v?v.name:"Select repository..."}),(0,b.jsx)(M.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(P.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)(O.Input,{ref:s,placeholder:u("createDrawer.searchRepositories"),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":"repository-search"})}),(0,b.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===w.length?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):w.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.path,onClick:()=>y(a.path),className:(0,x.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)(N.CheckIcon,{className:(0,x.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)(T.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:A,disabled:m,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:[m?(0,b.jsx)(S.LoaderCircle,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,b.jsx)(R.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:"Add new repository..."})]}),o?(0,b.jsx)("p",{id:"add-repository-error-msg",className:"px-3 pb-2 text-xs text-red-500",role:"alert","data-testid":"add-repository-error",children:o}):null]})})]}),(0,b.jsx)(X.ReactFileManagerDialog,{open:q,onOpenChange:a=>{a||r(!1)},onSelect:B})]})}function Z({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:u,features:v,repositories:w,initialParentId:x,currentAgentType:y,currentModel:z,initialDescription:A,canPushDirectly:B}){let{t:D}=(0,h.useTranslation)("web"),E=function({open:a,onClose:b,onSubmit:d,repositoryPath:e,workflowDefaults:f,repositories:g,initialParentId:h,currentAgentType:i,currentModel:j,initialDescription:k,canPushDirectly:l}){let m=(0,o.useSoundAction)("create"),n=e&&(!g||0===g.length||g.some(a=>a.path===e))?e:"",u=f?.approvalGates??t,v=f?.push??!1,w=f?.openPr??!1,x=f?.ciWatchEnabled!==!1,y=f?.enableEvidence??!1,z=f?.commitEvidence??!1,A=f?.fast!==!1,[B,C]=(0,c.useState)(k??"");(0,c.useEffect)(()=>{k&&C(k)},[k]);let[D,E]=(0,c.useState)([]),[F,G]=(0,c.useState)({...u}),[H,I]=(0,c.useState)(v),[J,K]=(0,c.useState)(w),[L,M]=(0,c.useState)(f?.ciWatchEnabled!==!1),[N,O]=(0,c.useState)(y),[P,Q]=(0,c.useState)(z),[R,S]=(0,c.useState)(void 0),[T,U]=(0,c.useState)(A),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(!0),[_,aa]=(0,c.useState)(!0),[ab,ac]=(0,c.useState)(void 0),[ad,ae]=(0,c.useState)(void 0),[af,ag]=(0,c.useState)(void 0),[ah,ai]=(0,c.useState)(n||void 0),[aj,ak]=(0,c.useState)(g??[]),[al,am]=(0,c.useState)(!1),[an,ao]=(0,c.useState)(null),[ap,aq]=(0,c.useState)(!1),ar=(0,c.useRef)(crypto.randomUUID()),as=(0,c.useRef)(0);(0,c.useEffect)(()=>{f&&(G({...f.approvalGates}),I(f.push),K(f.openPr),M(!1!==f.ciWatchEnabled),O(f.enableEvidence),Q(f.commitEvidence),U(!1!==f.fast))},[f]),(0,c.useEffect)(()=>{ak(g??[])},[g]),(0,c.useEffect)(()=>{a&&h&&S(h)},[a,h]);let[at,au]=(0,c.useState)(l??!1);(0,c.useEffect)(()=>{au(l??!1)},[l]);let av=(0,c.useRef)(ah);(0,c.useEffect)(()=>{ah&&ah!==av.current&&(av.current=ah,q(ah).then(a=>au(a.canPushDirectly)).catch(()=>au(!1)))},[ah]),(0,c.useEffect)(()=>{at&&(Y(!1),I(v),K(w),$(!0))},[at,v,w]);let aw=(0,c.useCallback)(()=>{C(""),E([]),G({...u}),I(v),K(w),M(x),O(y),Q(z),S(void 0),ai(n||void 0),ak(g??[]),U(A),W(!1),Y(!1),$(!0),aa(!0),ac(void 0),ae(void 0),ag(void 0),ao(null),as.current=0,am(!1)},[u,v,w,y,x,z,A,n,g]),ax=""!==B.trim()||D.length>0,{attemptClose:ay}=(0,p.useGuardedDrawerClose)({open:a,isDirty:ax,onClose:b,onReset:aw}),az=(0,c.useCallback)(async a=>{for(let b of(ao(null),a)){if(b.size>0xa00000)return void ao(`"${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&&!s.has(a))return void ao(`File type "${a}" is not allowed`)}for(let b of a){let a=crypto.randomUUID();E(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",ar.current);let d=await fetch("/api/attachments/upload",{method:"POST",body:c});if(!d.ok){let b=await d.json().catch(()=>({error:"Upload failed"}));E(b=>b.filter(b=>b.id!==a)),ao(b.error??"Upload failed");return}let e=await d.json();E(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{E(b=>b.filter(b=>b.id!==a)),ao("Upload failed")}}},[]),aA=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),as.current+=1,1===as.current&&am(!0)},[]),aB=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),as.current-=1,0===as.current&&am(!1)},[]),aC=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),aD=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),as.current=0,am(!1);let b=Array.from(a.dataTransfer.files);b.length>0&&az(b)},[az]),aE=(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(),az(c))},[az]),aF=(0,c.useCallback)(a=>{if(a.preventDefault(),!B.trim())return;let b=ah??n;b&&(m.play(),d({description:B.trim(),attachments:D.filter(a=>!a.loading),repositoryPath:b,approvalGates:{allowPrd:F.allowPrd??!1,allowPlan:F.allowPlan??!1,allowMerge:F.allowMerge??!1},push:!!X||H||J,openPr:!!X||J,ciWatchEnabled:L,enableEvidence:N,commitEvidence:P,fast:T,forkAndPr:X,commitSpecs:Z,rebaseBeforeBranch:_,...V?{pending:V}:{},...ab?{agentType:ab}:{},...ad?{model:ad}:{},...af?{permissionMode:af}:{},...R?{parentId:R}:{},sessionId:ar.current}),aw())},[B,D,F,ah,n,d,H,J,N,L,P,T,X,Z,_,V,ab,ad,af,R,m,aw]),aG=(0,c.useCallback)(async()=>{try{let a=await (0,r.pickFiles)();if(!a)return;for(let b of a){let a=crypto.randomUUID();E(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:ar.current})});if(!c.ok){let b=await c.json().catch(()=>({error:"Upload failed"}));E(b=>b.filter(b=>b.id!==a)),ao(b.error??"Upload failed");return}let d=await c.json();E(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{E(b=>b.filter(b=>b.id!==a)),ao("Upload failed")}}}catch{}},[]),aH=(0,c.useCallback)(a=>{E(b=>b.filter(b=>b.id!==a))},[]),aI=(0,c.useCallback)((a,b)=>{E(c=>c.map(c=>c.id===a?{...c,notes:b}:c))},[]);return{validRepoPath:n,canPush:at,isDirty:ax,computedPush:!!X||H||J,computedOpenPr:!!X||J,description:B,setDescription:C,attachments:D,approvalGates:F,setApprovalGates:G,push:H,setPush:I,openPr:J,setOpenPr:K,ciWatchEnabled:L,setCiWatchEnabled:M,enableEvidence:N,setEnableEvidence:O,commitEvidence:P,setCommitEvidence:Q,parentId:R,setParentId:S,fast:T,setFast:U,pending:V,setPending:W,forkAndPr:X,setForkAndPr:Y,commitSpecs:Z,setCommitSpecs:$,rebaseBeforeBranch:_,setRebaseBeforeBranch:aa,overrideAgent:ab,setOverrideAgent:ac,overrideModel:ad,setOverrideModel:ae,permissionMode:af,setPermissionMode:ag,selectedRepoPath:ah,setSelectedRepoPath:ai,localRepos:aj,setLocalRepos:ak,isDragOver:al,uploadError:an,isPromptFocused:ap,setIsPromptFocused:aq,sessionIdRef:ar,currentAgentType:i,currentModel:j,attemptClose:ay,handleFiles:az,handleDragEnter:aA,handleDragLeave:aB,handleDragOver:aC,handleDrop:aD,handlePaste:aE,handleSubmit:aF,handleAddFiles:aG,handleRemoveFile:aH,handleNotesChange:aI,resetForm:aw}}({open:a,onClose:d,onSubmit:e,repositoryPath:f,workflowDefaults:u,repositories:w,initialParentId:x,currentAgentType:y,currentModel:z,initialDescription:A,canPushDirectly:B}),F=(0,c.useRef)(null),G=(0,c.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"Enter"===a.key&&(a.preventDefault(),F.current?.requestSubmit())},[]),H=v&&v.length>0,I=!E.validRepoPath&&void 0!==w,J=!E.validRepoPath&&!E.selectedRepoPath;return(0,b.jsx)(i.BaseDrawer,{open:a,onClose:E.attemptClose,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)(j.DrawerTitle,{children:D("createDrawer.title")})]}),g?(0,b.jsx)(j.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(m.Badge,{variant:"secondary",children:D("createDrawer.creating")})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(k.Button,{variant:"outline",onClick:E.attemptClose,disabled:g,children:D("createDrawer.cancel")}),(0,b.jsx)(k.Button,{type:"submit",form:"create-feature-form",disabled:!E.description.trim()||g||J,children:D(g?"createDrawer.creating":"createDrawer.createFeature")})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsx)(n.TooltipProvider,{delayDuration:400,children:(0,b.jsxs)("form",{ref:F,id:"create-feature-form",onSubmit:E.handleSubmit,onKeyDown:G,className:"flex flex-col gap-4",children:[I?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,b.jsx)(l.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:D("createDrawer.repository")}),(0,b.jsx)(Y,{repositories:E.localRepos,value:E.selectedRepoPath,onChange:E.setSelectedRepoPath,onAddRepository:a=>{E.setLocalRepos(b=>[...b,a]),E.setSelectedRepoPath(a.path)},disabled:g})]}):E.validRepoPath?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,b.jsx)(l.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:D("createDrawer.repository")}),(0,b.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:w?.find(a=>a.path===E.validRepoPath)?.name??E.validRepoPath.split("/").pop()})]}):null,(0,b.jsx)(C,{description:E.description,onDescriptionChange:E.setDescription,attachments:E.attachments,onRemoveFile:E.handleRemoveFile,onNotesChange:E.handleNotesChange,onPaste:E.handlePaste,onDragEnter:E.handleDragEnter,onDragLeave:E.handleDragLeave,onDragOver:E.handleDragOver,onDrop:E.handleDrop,onAddFiles:E.handleAddFiles,isDragOver:E.isDragOver,uploadError:E.uploadError,isPromptFocused:E.isPromptFocused,onPromptFocus:()=>E.setIsPromptFocused(!0),onPromptBlur:()=>E.setIsPromptFocused(!1),fast:E.fast,onFastChange:E.setFast,pending:E.pending,onPendingChange:E.setPending,overrideAgent:E.overrideAgent,overrideModel:E.overrideModel,currentAgentType:y,currentModel:z,onAgentModelChange:(a,b)=>{E.setOverrideAgent(a),E.setOverrideModel(b)},isSubmitting:g}),H&&void 0!==x?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(l.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:D("createDrawer.parentFeature")}),(0,b.jsx)(Q,{features:v,value:E.parentId,onChange:E.setParentId,disabled:g})]}):null,(0,b.jsx)(K,{approvalGates:E.approvalGates,onApprovalGatesChange:E.setApprovalGates,enableEvidence:E.enableEvidence,onEnableEvidenceChange:E.setEnableEvidence,commitEvidence:E.commitEvidence,onCommitEvidenceChange:E.setCommitEvidence,push:E.push,onPushChange:E.setPush,openPr:E.openPr,onOpenPrChange:E.setOpenPr,ciWatchEnabled:E.ciWatchEnabled,onCiWatchChange:E.setCiWatchEnabled,rebaseBeforeBranch:E.rebaseBeforeBranch,onRebaseBeforeBranchChange:E.setRebaseBeforeBranch,commitSpecs:E.commitSpecs,onCommitSpecsChange:E.setCommitSpecs,forkAndPr:E.forkAndPr,onForkAndPrChange:E.setForkAndPr,canPush:E.canPush,fast:E.fast,computedPush:E.computedPush,computedOpenPr:E.computedOpenPr,isSubmitting:g,agentType:E.overrideAgent??y,permissionMode:E.permissionMode,onPermissionModeChange:E.setPermissionMode})]})})})})}a.s(["CreateDrawerClient",0,function({repositoryPath:a,initialParentId:f,initialDescription:h,features:i,repositories:j,workflowDefaults:k,currentAgentType:l,currentModel:m,canPushDirectly:n}){let o=(0,d.useRouter)(),[p,q]=(0,c.useState)(!1),r=(0,d.usePathname)().startsWith("/create"),s=!p&&r;(0,c.useEffect)(()=>{!r&&p&&q(!1)},[r,p]);let t=(0,c.useCallback)(()=>{o.push("/")},[o]),u=(0,c.useCallback)(a=>{q(!0),o.push("/"),g(a).then(b=>{b.error?e.toast.error(b.error):window.dispatchEvent(new CustomEvent("shipit-ai: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"),q(!1)})},[o]);return(0,b.jsx)(Z,{open:s,onClose:t,onSubmit:u,repositoryPath:a,features:i,repositories:j,workflowDefaults:k,initialParentId:f,initialDescription:h,isSubmitting:p,currentAgentType:l,currentModel:m,canPushDirectly:n})}],93995)}];
1
+ module.exports=[93995,a=>{"use strict";var b=a.i(53083),c=a.i(11321),d=a.i(40674),e=a.i(52313),f=a.i(6120);let g=(0,f.createServerReference)("401ce9f999e5bab637133b32bbb60cd86e5b7e4495",f.callServer,void 0,f.findSourceMapURL,"createFeature");a.i(98617);var h=a.i(50040);a.i(78454);var i=a.i(24255),j=a.i(2824),k=a.i(18948),l=a.i(58860),m=a.i(58339),n=a.i(82934),o=a.i(19884),p=a.i(96213);let q=(0,f.createServerReference)("40a08f4e1f30f7280782018a81513a4982a821c4a4",f.callServer,void 0,f.findSourceMapURL,"getViewerPermission");var r=a.i(39116);let s=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"]),t={allowPrd:!1,allowPlan:!1,allowMerge:!1};var u=a.i(95014),v=a.i(42728),w=a.i(41042),x=a.i(85536),y=a.i(79620),z=a.i(96867);a.i(307);var A=a.i(30931),B=a.i(61781);function C({description:a,onDescriptionChange:d,attachments:e,onRemoveFile:f,onNotesChange:g,onPaste:i,onDragEnter:j,onDragLeave:k,onDragOver:m,onDrop:o,onAddFiles:p,isDragOver:q,uploadError:r,isPromptFocused:s,onPromptFocus:t,onPromptBlur:D,fast:E,onFastChange:F,pending:G,onPendingChange:H,overrideAgent:I,overrideModel:J,currentAgentType:K,currentModel:L,onAgentModelChange:M,isSubmitting:N}){let{t:O}=(0,h.useTranslation)("web"),P=(0,c.useRef)(null);return(0,b.jsxs)("div",{role:"region","aria-label":O("createDrawer.fileDropZone"),"data-drag-over":q?"true":"false",onDragEnter:j,onDragLeave:k,onDragOver:m,onDrop:o,className:(0,x.cn)("flex flex-col gap-1.5 rounded-md border-2 border-transparent p-1 transition-colors",q&&"border-primary/50 bg-primary/5"),children:[(0,b.jsx)(l.Label,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:O("createDrawer.describeFeature")}),(0,b.jsxs)("div",{ref:P,onFocus:t,onBlur:()=>{setTimeout(()=>{let a=P.current?.contains(document.activeElement),b=P.current?.querySelector('[aria-expanded="true"]')!==null;a||b||D()},0)},className:(0,x.cn)("border-input flex h-56 flex-col overflow-hidden rounded-md border shadow-xs transition-[color,box-shadow]",s&&"ring-ring/50 border-ring ring-[3px]"),children:[(0,b.jsx)(y.Textarea,{id:"feature-description",placeholder:O("createDrawer.featurePlaceholder"),value:a,onChange:a=>d(a.target.value),onPaste:i,required:!0,disabled:N,"aria-invalid":!!r,"aria-describedby":r?"feature-upload-error":void 0,className:"min-h-0 flex-1 resize-none rounded-none border-0 shadow-none focus-visible:ring-0"}),e.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-2",children:e.map(a=>(0,b.jsx)(A.AttachmentChip,{name:a.name,size:a.size,mimeType:a.mimeType,path:a.path,onRemove:()=>f(a.id),disabled:N,loading:a.loading,notes:a.notes,onNotesChange:b=>g(a.id,b)},a.id))}),r?(0,b.jsx)("p",{id:"feature-upload-error",className:"text-destructive px-3 pb-2 text-xs",role:"alert",children:r}):null,(0,b.jsxs)("div",{className:"border-input flex items-center gap-3 border-t px-3 py-1.5",children:[(0,b.jsx)(B.AgentModelPicker,{initialAgentType:I??K??"claude-code",initialModel:J??L??"claude-sonnet-4-6",mode:"override",onAgentModelChange:M,disabled:N,className:"w-55"}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"ml-auto flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(z.Switch,{id:"pending-mode",checked:G,onCheckedChange:H,disabled:N}),(0,b.jsxs)(l.Label,{htmlFor:"pending-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(w.Clock,{className:"h-3.5 w-3.5"}),O("createDrawer.pendingMode")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:O("createDrawer.pendingModeDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-2",children:[(0,b.jsx)(z.Switch,{id:"fast-mode",checked:E,onCheckedChange:F,disabled:N}),(0,b.jsxs)(l.Label,{htmlFor:"fast-mode",className:"flex cursor-pointer items-center gap-1 text-sm font-medium",children:[(0,b.jsx)(v.Zap,{className:"h-3.5 w-3.5"}),O("createDrawer.fastModeLabel")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:O("createDrawer.fastModeDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:p,disabled:N,"aria-label":O("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors",children:(0,b.jsx)(u.PaperclipIcon,{className:"h-4 w-4"})})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:O("chat.attachFiles")})]})]})]})]})}var D=a.i(53759),E=a.i(63204),F=a.i(67664),G=a.i(53556),H=a.i(59175);let I=(0,f.createServerReference)("40799b3ccb7de2aae38f547bb12699acfa7b397228",f.callServer,void 0,f.findSourceMapURL,"getAgentPermissionOptions"),J=["allowPrd","allowPlan","allowMerge"];function K({approvalGates:a,onApprovalGatesChange:c,enableEvidence:d,onEnableEvidenceChange:e,commitEvidence:f,onCommitEvidenceChange:g,push:i,onPushChange:j,openPr:k,onOpenPrChange:m,ciWatchEnabled:o,onCiWatchChange:p,rebaseBeforeBranch:q,onRebaseBeforeBranchChange:r,commitSpecs:s,onCommitSpecsChange:t,forkAndPr:u,onForkAndPrChange:v,canPush:w,fast:y,computedPush:A,computedOpenPr:B,isSubmitting:C,agentType:G,permissionMode:H,onPermissionModeChange:I}){let{t:M}=(0,h.useTranslation)("web"),N=[{id:"allowPrd",label:M("createDrawer.prd"),description:M("createDrawer.prdDescription")},{id:"allowPlan",label:M("createDrawer.plan"),description:M("createDrawer.planDescription")},{id:"allowMerge",label:M("createDrawer.merge"),description:M("createDrawer.mergeDescription")}];return(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)(n.Tooltip,{children:[(0,b.jsx)(n.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:M("createDrawer.approve")})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.approveDescription")})]}),(0,b.jsx)("div",{className:"flex flex-1 items-center gap-4",children:N.map(d=>(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:`approve-${d.id}`,size:"sm",checked:a[d.id]??!1,onCheckedChange:b=>c({...a,[d.id]:b}),disabled:C||y&&("allowPrd"===d.id||"allowPlan"===d.id)}),(0,b.jsx)(l.Label,{htmlFor:`approve-${d.id}`,className:"cursor-pointer text-xs font-medium",children:d.label})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:y&&("allowPrd"===d.id||"allowPlan"===d.id)?M("createDrawer.skippedInFastMode"):d.description})]},d.id))}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:()=>{let b=J.every(b=>a[b]),d={};for(let a of J)d[a]=!b;c(d)},disabled:C,className:(0,x.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",J.every(b=>a[b])&&"text-primary"),children:M("createDrawer.all")})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.toggleAllApprovalGates")})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.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:M("createDrawer.evidence")})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.evidenceDescription")})]}),(0,b.jsxs)("div",{className:"flex flex-1 items-center gap-4",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"enable-evidence",size:"sm",checked:d,onCheckedChange:a=>{e(a),a||g(!1)},disabled:C}),(0,b.jsx)(l.Label,{htmlFor:"enable-evidence",className:"cursor-pointer text-xs font-medium",children:M("createDrawer.collect")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.collectDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"commit-evidence",size:"sm",checked:f,onCheckedChange:g,disabled:C||!d||!k&&!u}),(0,b.jsx)(l.Label,{htmlFor:"commit-evidence",className:(0,x.cn)("cursor-pointer text-xs font-medium",(!d||!k&&!u)&&"opacity-50"),children:M("createDrawer.addToPr")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:k||u?d?M("createDrawer.addToPrDescription"):M("createDrawer.requiresEvidence"):M("createDrawer.requiresPr")})]})]})]}),(0,b.jsxs)("div",{className:"border-input flex items-start gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsx)("span",{className:"text-muted-foreground w-16 shrink-0 pt-0.5 text-xs font-semibold tracking-wider",children:M("createDrawer.git")}),(0,b.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-4",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"push",size:"sm",checked:A,onCheckedChange:a=>{j(a),!a&&k&&m(!1)},disabled:C||u}),(0,b.jsx)(l.Label,{htmlFor:"push",className:(0,x.cn)("cursor-pointer text-xs font-medium",u&&"opacity-50"),children:M("createDrawer.push")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:u?"Enabled — contributing to upstream":M("createDrawer.pushDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"open-pr",size:"sm",checked:B,onCheckedChange:a=>{m(a),a||g(!1)},disabled:C||u}),(0,b.jsx)(l.Label,{htmlFor:"open-pr",className:(0,x.cn)("cursor-pointer text-xs font-medium",u&&"opacity-50"),children:M("createDrawer.pr")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:u?"Enabled — contributing to upstream":M("createDrawer.prDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"ci-watch",size:"sm",checked:o,onCheckedChange:p,disabled:C}),(0,b.jsx)(l.Label,{htmlFor:"ci-watch",className:"cursor-pointer text-xs font-medium",children:M("createDrawer.watch")})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.watchDescription")})]}),(0,b.jsx)("div",{className:"bg-border h-4 w-px shrink-0"}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"rebase-before-branch",size:"sm",checked:q,onCheckedChange:r,disabled:C}),(0,b.jsxs)(l.Label,{htmlFor:"rebase-before-branch",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(F.RefreshCw,{className:"h-3 w-3"}),M("createDrawer.sync")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.syncDescription")})]}),(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"commit-specs",size:"sm",checked:s,onCheckedChange:t,disabled:C}),(0,b.jsxs)(l.Label,{htmlFor:"commit-specs",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(E.FileText,{className:"h-3 w-3"}),M("createDrawer.commitSpecs")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.commitSpecsDescription")})]}),!w&&(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5",children:[(0,b.jsx)(z.Switch,{id:"fork-and-pr",size:"sm",checked:u,onCheckedChange:a=>{v(a),a&&t(!1)},disabled:C}),(0,b.jsxs)(l.Label,{htmlFor:"fork-and-pr",className:"flex cursor-pointer items-center gap-1 text-xs font-medium",children:[(0,b.jsx)(D.GitFork,{className:"h-3 w-3"}),M("createDrawer.forkAndPr")]})]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:M("createDrawer.forkAndPrDescription")})]})]})]}),G&&I?(0,b.jsx)(L,{agentType:G,permissionMode:H,onPermissionModeChange:I,isSubmitting:C}):null]})}function L({agentType:a,permissionMode:d,onPermissionModeChange:e,isSubmitting:f}){let{t:g}=(0,h.useTranslation)("web"),[i,j]=(0,c.useState)([]);return((0,c.useEffect)(()=>{let b=!1;return I(a).then(a=>{b||j(a)}),()=>{b=!0}},[a]),0===i.length)?null:(0,b.jsxs)("div",{className:"border-input flex items-center gap-4 rounded-md border px-3 py-2.5",children:[(0,b.jsxs)(n.Tooltip,{children:[(0,b.jsx)(n.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)("span",{className:"text-muted-foreground flex w-16 shrink-0 cursor-default items-center gap-1 text-xs font-semibold tracking-wider",children:[(0,b.jsx)(G.Shield,{className:"h-3 w-3"}),g("feature.create.permissionMode")]})}),(0,b.jsx)(n.TooltipContent,{side:"bottom",children:g("settings.agent.permissions.description",{agent:a})})]}),(0,b.jsx)("div",{className:"flex-1",children:(0,b.jsxs)(H.Select,{value:d??"__default__",onValueChange:a=>e("__default__"===a?void 0:a),disabled:f,children:[(0,b.jsx)(H.SelectTrigger,{id:"permission-mode","data-testid":"permission-mode-select",className:"h-7 text-xs",children:(0,b.jsx)(H.SelectValue,{})}),(0,b.jsxs)(H.SelectContent,{children:[(0,b.jsx)(H.SelectItem,{value:"__default__",children:g("feature.create.permissionModeDefault")}),i.map(a=>(0,b.jsx)(H.SelectItem,{value:a.value,children:a.label},a.value))]})]})})]})}var M=a.i(99829),N=a.i(95881),O=a.i(90920),P=a.i(53823);function Q({features:a,value:d,onChange:e,disabled:f}){let{t:g}=(0,h.useTranslation)("web"),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),m=(0,c.useRef)(null),n=a.find(a=>a.id===d),o=k.trim()?a.filter(a=>a.name.toLowerCase().includes(k.toLowerCase())||a.id.toLowerCase().includes(k.toLowerCase())):a,p=(0,c.useCallback)(a=>{e(a),j(!1),l("")},[e]);return(0,c.useEffect)(()=>{i?setTimeout(()=>m.current?.focus(),0):l("")},[i]),(0,b.jsxs)(P.Popover,{open:i,onOpenChange:j,children:[(0,b.jsx)(P.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":i,"aria-label":"Parent Feature",disabled:f,"data-testid":"parent-feature-combobox",className:(0,x.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)})`:g("createDrawer.selectParent")}),(0,b.jsx)(M.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(P.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)(O.Input,{ref:m,placeholder:g("createDrawer.searchFeatures"),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:()=>p(void 0),className:(0,x.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)(N.CheckIcon,{className:(0,x.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:g("createDrawer.noParent")})]}),0===o.length&&k?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:g("createDrawer.noFeaturesFound")}):o.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>p(a.id),className:(0,x.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)(N.CheckIcon,{className:(0,x.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))]})]})})]})}var R=a.i(31271),S=a.i(20901),T=a.i(13126),U=a.i(21333),V=a.i(89550),W=a.i(1377);a.i(21434);var X=a.i(34379);function Y({repositories:a,value:d,onChange:e,onAddRepository:f,disabled:g}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(null),[q,r]=(0,c.useState)(!1),s=(0,c.useRef)(null),{reactFileManager:t}=(0,U.useFeatureFlags)(),{t:u}=(0,h.useTranslation)("web"),v=a.find(a=>a.path===d),w=k.trim()?a.filter(a=>a.name.toLowerCase().includes(k.toLowerCase())||a.path.toLowerCase().includes(k.toLowerCase())):a,y=(0,c.useCallback)(a=>{e(a),j(!1),l("")},[e]),z=(0,c.useCallback)(async a=>{let b=await (0,V.addRepository)({path:a});if(b.error){p(b.error),n(!1);return}if(b.repository){let a={id:b.repository.id,name:b.repository.name,path:b.repository.path};f?.(a),e(a.path),j(!1),l("")}},[f,e]),A=(0,c.useCallback)(async()=>{if(!m){if(t)return void r(!0);n(!0),p(null);try{let a=await (0,W.pickFolder)();if(!a)return void n(!1);await z(a)}catch{r(!0)}finally{n(!1)}}},[m,t,z]),B=(0,c.useCallback)(async a=>{if(r(!1),a){n(!0),p(null);try{await z(a)}catch(a){p(a instanceof Error?a.message:"Failed to add repository")}finally{n(!1)}}},[z]);return(0,c.useEffect)(()=>{i?setTimeout(()=>s.current?.focus(),0):l("")},[i]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(P.Popover,{open:i,onOpenChange:j,children:[(0,b.jsx)(P.PopoverTrigger,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",role:"combobox","aria-expanded":i,"aria-label":"Repository","aria-invalid":!!o,"aria-describedby":o?"add-repository-error-msg":void 0,disabled:g,"data-testid":"repository-combobox",className:(0,x.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",!v&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:v?v.name:"Select repository..."}),(0,b.jsx)(M.ChevronsUpDown,{className:"ms-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(P.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)(O.Input,{ref:s,placeholder:u("createDrawer.searchRepositories"),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":"repository-search"})}),(0,b.jsx)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Repositories",children:0===w.length?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm","data-testid":"repository-empty",children:"No repositories found."}):w.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.path,onClick:()=>y(a.path),className:(0,x.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)(N.CheckIcon,{className:(0,x.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)(T.Separator,{}),(0,b.jsxs)("button",{type:"button",onClick:A,disabled:m,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:[m?(0,b.jsx)(S.LoaderCircle,{className:"h-4 w-4 shrink-0 animate-spin"}):(0,b.jsx)(R.FolderPlus,{className:"h-4 w-4 shrink-0"}),(0,b.jsx)("span",{children:"Add new repository..."})]}),o?(0,b.jsx)("p",{id:"add-repository-error-msg",className:"px-3 pb-2 text-xs text-red-500",role:"alert","data-testid":"add-repository-error",children:o}):null]})})]}),(0,b.jsx)(X.ReactFileManagerDialog,{open:q,onOpenChange:a=>{a||r(!1)},onSelect:B})]})}function Z({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:u,features:v,repositories:w,initialParentId:x,currentAgentType:y,currentModel:z,initialDescription:A,canPushDirectly:B}){let{t:D}=(0,h.useTranslation)("web"),E=function({open:a,onClose:b,onSubmit:d,repositoryPath:e,workflowDefaults:f,repositories:g,initialParentId:h,currentAgentType:i,currentModel:j,initialDescription:k,canPushDirectly:l}){let m=(0,o.useSoundAction)("create"),n=e&&(!g||0===g.length||g.some(a=>a.path===e))?e:"",u=f?.approvalGates??t,v=f?.push??!1,w=f?.openPr??!1,x=f?.ciWatchEnabled!==!1,y=f?.enableEvidence??!1,z=f?.commitEvidence??!1,A=f?.fast!==!1,[B,C]=(0,c.useState)(k??"");(0,c.useEffect)(()=>{k&&C(k)},[k]);let[D,E]=(0,c.useState)([]),[F,G]=(0,c.useState)({...u}),[H,I]=(0,c.useState)(v),[J,K]=(0,c.useState)(w),[L,M]=(0,c.useState)(f?.ciWatchEnabled!==!1),[N,O]=(0,c.useState)(y),[P,Q]=(0,c.useState)(z),[R,S]=(0,c.useState)(void 0),[T,U]=(0,c.useState)(A),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(!0),[_,aa]=(0,c.useState)(!0),[ab,ac]=(0,c.useState)(void 0),[ad,ae]=(0,c.useState)(void 0),[af,ag]=(0,c.useState)(void 0),[ah,ai]=(0,c.useState)(n||void 0),[aj,ak]=(0,c.useState)(g??[]),[al,am]=(0,c.useState)(!1),[an,ao]=(0,c.useState)(null),[ap,aq]=(0,c.useState)(!1),ar=(0,c.useRef)(crypto.randomUUID()),as=(0,c.useRef)(0);(0,c.useEffect)(()=>{f&&(G({...f.approvalGates}),I(f.push),K(f.openPr),M(!1!==f.ciWatchEnabled),O(f.enableEvidence),Q(f.commitEvidence),U(!1!==f.fast))},[f]),(0,c.useEffect)(()=>{ak(g??[])},[g]),(0,c.useEffect)(()=>{a&&h&&S(h)},[a,h]);let[at,au]=(0,c.useState)(l??!1);(0,c.useEffect)(()=>{au(l??!1)},[l]);let av=(0,c.useRef)(ah);(0,c.useEffect)(()=>{ah&&ah!==av.current&&(av.current=ah,q(ah).then(a=>au(a.canPushDirectly)).catch(()=>au(!1)))},[ah]),(0,c.useEffect)(()=>{at&&(Y(!1),I(v),K(w),$(!0))},[at,v,w]);let aw=(0,c.useCallback)(()=>{C(""),E([]),G({...u}),I(v),K(w),M(x),O(y),Q(z),S(void 0),ai(n||void 0),ak(g??[]),U(A),W(!1),Y(!1),$(!0),aa(!0),ac(void 0),ae(void 0),ag(void 0),ao(null),as.current=0,am(!1)},[u,v,w,y,x,z,A,n,g]),ax=""!==B.trim()||D.length>0,{attemptClose:ay}=(0,p.useGuardedDrawerClose)({open:a,isDirty:ax,onClose:b,onReset:aw}),az=(0,c.useCallback)(async a=>{for(let b of(ao(null),a)){if(b.size>0xa00000)return void ao(`"${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&&!s.has(a))return void ao(`File type "${a}" is not allowed`)}for(let b of a){let a=crypto.randomUUID();E(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",ar.current);let d=await fetch("/api/attachments/upload",{method:"POST",body:c});if(!d.ok){let b=await d.json().catch(()=>({error:"Upload failed"}));E(b=>b.filter(b=>b.id!==a)),ao(b.error??"Upload failed");return}let e=await d.json();E(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{E(b=>b.filter(b=>b.id!==a)),ao("Upload failed")}}},[]),aA=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),as.current+=1,1===as.current&&am(!0)},[]),aB=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),as.current-=1,0===as.current&&am(!1)},[]),aC=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),aD=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),as.current=0,am(!1);let b=Array.from(a.dataTransfer.files);b.length>0&&az(b)},[az]),aE=(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(),az(c))},[az]),aF=(0,c.useCallback)(a=>{if(a.preventDefault(),!B.trim())return;let b=ah??n;b&&(m.play(),d({description:B.trim(),attachments:D.filter(a=>!a.loading),repositoryPath:b,approvalGates:{allowPrd:F.allowPrd??!1,allowPlan:F.allowPlan??!1,allowMerge:F.allowMerge??!1},push:!!X||H||J,openPr:!!X||J,ciWatchEnabled:L,enableEvidence:N,commitEvidence:P,fast:T,forkAndPr:X,commitSpecs:Z,rebaseBeforeBranch:_,...V?{pending:V}:{},...ab?{agentType:ab}:{},...ad?{model:ad}:{},...af?{permissionMode:af}:{},...R?{parentId:R}:{},sessionId:ar.current}),aw())},[B,D,F,ah,n,d,H,J,N,L,P,T,X,Z,_,V,ab,ad,af,R,m,aw]),aG=(0,c.useCallback)(async()=>{try{let a=await (0,r.pickFiles)();if(!a)return;for(let b of a){let a=crypto.randomUUID();E(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:ar.current})});if(!c.ok){let b=await c.json().catch(()=>({error:"Upload failed"}));E(b=>b.filter(b=>b.id!==a)),ao(b.error??"Upload failed");return}let d=await c.json();E(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{E(b=>b.filter(b=>b.id!==a)),ao("Upload failed")}}}catch{}},[]),aH=(0,c.useCallback)(a=>{E(b=>b.filter(b=>b.id!==a))},[]),aI=(0,c.useCallback)((a,b)=>{E(c=>c.map(c=>c.id===a?{...c,notes:b}:c))},[]);return{validRepoPath:n,canPush:at,isDirty:ax,computedPush:!!X||H||J,computedOpenPr:!!X||J,description:B,setDescription:C,attachments:D,approvalGates:F,setApprovalGates:G,push:H,setPush:I,openPr:J,setOpenPr:K,ciWatchEnabled:L,setCiWatchEnabled:M,enableEvidence:N,setEnableEvidence:O,commitEvidence:P,setCommitEvidence:Q,parentId:R,setParentId:S,fast:T,setFast:U,pending:V,setPending:W,forkAndPr:X,setForkAndPr:Y,commitSpecs:Z,setCommitSpecs:$,rebaseBeforeBranch:_,setRebaseBeforeBranch:aa,overrideAgent:ab,setOverrideAgent:ac,overrideModel:ad,setOverrideModel:ae,permissionMode:af,setPermissionMode:ag,selectedRepoPath:ah,setSelectedRepoPath:ai,localRepos:aj,setLocalRepos:ak,isDragOver:al,uploadError:an,isPromptFocused:ap,setIsPromptFocused:aq,sessionIdRef:ar,currentAgentType:i,currentModel:j,attemptClose:ay,handleFiles:az,handleDragEnter:aA,handleDragLeave:aB,handleDragOver:aC,handleDrop:aD,handlePaste:aE,handleSubmit:aF,handleAddFiles:aG,handleRemoveFile:aH,handleNotesChange:aI,resetForm:aw}}({open:a,onClose:d,onSubmit:e,repositoryPath:f,workflowDefaults:u,repositories:w,initialParentId:x,currentAgentType:y,currentModel:z,initialDescription:A,canPushDirectly:B}),F=(0,c.useRef)(null),G=(0,c.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"Enter"===a.key&&(a.preventDefault(),F.current?.requestSubmit())},[]),H=v&&v.length>0,I=!E.validRepoPath&&void 0!==w,J=!E.validRepoPath&&!E.selectedRepoPath;return(0,b.jsx)(i.BaseDrawer,{open:a,onClose:E.attemptClose,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)(j.DrawerTitle,{children:D("createDrawer.title")})]}),g?(0,b.jsx)(j.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(m.Badge,{variant:"secondary",children:D("createDrawer.creating")})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(k.Button,{variant:"outline",onClick:E.attemptClose,disabled:g,children:D("createDrawer.cancel")}),(0,b.jsx)(k.Button,{type:"submit",form:"create-feature-form",disabled:!E.description.trim()||g||J,children:D(g?"createDrawer.creating":"createDrawer.createFeature")})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsx)(n.TooltipProvider,{delayDuration:400,children:(0,b.jsxs)("form",{ref:F,id:"create-feature-form",onSubmit:E.handleSubmit,onKeyDown:G,className:"flex flex-col gap-4",children:[I?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-selector-section",children:[(0,b.jsx)(l.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:D("createDrawer.repository")}),(0,b.jsx)(Y,{repositories:E.localRepos,value:E.selectedRepoPath,onChange:E.setSelectedRepoPath,onAddRepository:a=>{E.setLocalRepos(b=>[...b,a]),E.setSelectedRepoPath(a.path)},disabled:g})]}):E.validRepoPath?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"repo-readonly-section",children:[(0,b.jsx)(l.Label,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:D("createDrawer.repository")}),(0,b.jsx)("p",{className:"text-sm","data-testid":"repo-readonly-label",children:w?.find(a=>a.path===E.validRepoPath)?.name??E.validRepoPath.split("/").pop()})]}):null,(0,b.jsx)(C,{description:E.description,onDescriptionChange:E.setDescription,attachments:E.attachments,onRemoveFile:E.handleRemoveFile,onNotesChange:E.handleNotesChange,onPaste:E.handlePaste,onDragEnter:E.handleDragEnter,onDragLeave:E.handleDragLeave,onDragOver:E.handleDragOver,onDrop:E.handleDrop,onAddFiles:E.handleAddFiles,isDragOver:E.isDragOver,uploadError:E.uploadError,isPromptFocused:E.isPromptFocused,onPromptFocus:()=>E.setIsPromptFocused(!0),onPromptBlur:()=>E.setIsPromptFocused(!1),fast:E.fast,onFastChange:E.setFast,pending:E.pending,onPendingChange:E.setPending,overrideAgent:E.overrideAgent,overrideModel:E.overrideModel,currentAgentType:y,currentModel:z,onAgentModelChange:(a,b)=>{E.setOverrideAgent(a),E.setOverrideModel(b)},isSubmitting:g}),H&&void 0!==x?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(l.Label,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:D("createDrawer.parentFeature")}),(0,b.jsx)(Q,{features:v,value:E.parentId,onChange:E.setParentId,disabled:g})]}):null,(0,b.jsx)(K,{approvalGates:E.approvalGates,onApprovalGatesChange:E.setApprovalGates,enableEvidence:E.enableEvidence,onEnableEvidenceChange:E.setEnableEvidence,commitEvidence:E.commitEvidence,onCommitEvidenceChange:E.setCommitEvidence,push:E.push,onPushChange:E.setPush,openPr:E.openPr,onOpenPrChange:E.setOpenPr,ciWatchEnabled:E.ciWatchEnabled,onCiWatchChange:E.setCiWatchEnabled,rebaseBeforeBranch:E.rebaseBeforeBranch,onRebaseBeforeBranchChange:E.setRebaseBeforeBranch,commitSpecs:E.commitSpecs,onCommitSpecsChange:E.setCommitSpecs,forkAndPr:E.forkAndPr,onForkAndPrChange:E.setForkAndPr,canPush:E.canPush,fast:E.fast,computedPush:E.computedPush,computedOpenPr:E.computedOpenPr,isSubmitting:g,agentType:E.overrideAgent??y,permissionMode:E.permissionMode,onPermissionModeChange:E.setPermissionMode})]})})})})}a.s(["CreateDrawerClient",0,function({repositoryPath:a,initialParentId:f,initialDescription:h,features:i,repositories:j,workflowDefaults:k,currentAgentType:l,currentModel:m,canPushDirectly:n}){let o=(0,d.useRouter)(),[p,q]=(0,c.useState)(!1),r=(0,d.usePathname)().startsWith("/create"),s=!p&&r;(0,c.useEffect)(()=>{!r&&p&&q(!1)},[r,p]);let t=(0,c.useCallback)(()=>{o.push("/")},[o]),u=(0,c.useCallback)(a=>{q(!0),o.push("/"),g(a).then(b=>{b.error?e.toast.error(b.error):window.dispatchEvent(new CustomEvent("shipit-ai: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"),q(!1)})},[o]);return(0,b.jsx)(Z,{open:s,onClose:t,onSubmit:u,repositoryPath:a,features:i,repositories:j,workflowDefaults:k,initialParentId:f,initialDescription:h,isSubmitting:p,currentAgentType:l,currentModel:m,canPushDirectly:n})}],93995)}];
2
2
 
3
3
  //# sourceMappingURL=0j.8_web_components_common_control-center-drawer_create-drawer-client_tsx_0g70fc5._.js.map