@shepai/cli 1.72.3 → 1.72.4

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 (263) hide show
  1. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  2. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -1
  3. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.stories.d.ts.map +1 -1
  4. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.stories.js +4 -0
  5. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  6. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +28 -4
  7. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar-config.d.ts +4 -0
  8. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar-config.d.ts.map +1 -1
  9. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.d.ts +1 -1
  10. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.d.ts.map +1 -1
  11. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +4 -2
  12. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  13. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +6 -5
  14. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +5 -0
  15. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  16. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +24 -0
  17. package/dist/src/presentation/web/components/common/merge-review/merge-review-config.d.ts +4 -0
  18. package/dist/src/presentation/web/components/common/merge-review/merge-review-config.d.ts.map +1 -1
  19. package/dist/src/presentation/web/components/common/merge-review/merge-review.d.ts +1 -1
  20. package/dist/src/presentation/web/components/common/merge-review/merge-review.d.ts.map +1 -1
  21. package/dist/src/presentation/web/components/common/merge-review/merge-review.js +2 -2
  22. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.d.ts +4 -0
  23. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.d.ts.map +1 -1
  24. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.d.ts +1 -1
  25. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.d.ts.map +1 -1
  26. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.js +2 -2
  27. package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.d.ts +4 -0
  28. package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.d.ts.map +1 -1
  29. package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.d.ts +1 -1
  30. package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.d.ts.map +1 -1
  31. package/dist/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.js +2 -2
  32. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  33. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +11 -7
  34. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
  35. package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +2 -1
  36. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +7 -5
  38. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +1 -1
  39. package/dist/src/presentation/web/components/ui/alert-dialog.stories.js +1 -1
  40. package/dist/src/presentation/web/hooks/drawer-close-guard.d.ts +24 -0
  41. package/dist/src/presentation/web/hooks/drawer-close-guard.d.ts.map +1 -0
  42. package/dist/src/presentation/web/hooks/drawer-close-guard.js +73 -0
  43. package/dist/tsconfig.build.tsbuildinfo +1 -1
  44. package/package.json +1 -1
  45. package/web/.next/BUILD_ID +1 -1
  46. package/web/.next/build-manifest.json +2 -2
  47. package/web/.next/cache/.previewinfo +1 -1
  48. package/web/.next/cache/.rscinfo +1 -1
  49. package/web/.next/cache/.tsbuildinfo +1 -1
  50. package/web/.next/cache/config.json +3 -3
  51. package/web/.next/fallback-build-manifest.json +2 -2
  52. package/web/.next/prerender-manifest.json +3 -3
  53. package/web/.next/required-server-files.js +1 -1
  54. package/web/.next/required-server-files.json +1 -1
  55. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
  56. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  58. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +17 -17
  59. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  62. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
  65. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  66. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +17 -17
  68. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  69. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  70. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
  71. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  74. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  75. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/_global-error.html +2 -2
  77. package/web/.next/server/app/_global-error.rsc +1 -1
  78. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  79. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  80. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  81. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  82. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  83. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  84. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  85. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  87. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  88. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  90. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  91. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  93. package/web/.next/server/app/version/page.js.nft.json +1 -1
  94. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  96. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  97. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +1 -1
  98. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js.map +1 -1
  99. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +1 -1
  100. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js.map +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js +2 -2
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +1 -1
  109. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +2 -2
  111. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  112. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  113. package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +2 -2
  114. package/web/.next/server/chunks/ssr/_00e6c698._.js +1 -1
  115. package/web/.next/server/chunks/ssr/_00e6c698._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/_07c2a32a._.js +9 -0
  117. package/web/.next/server/chunks/ssr/_07c2a32a._.js.map +1 -0
  118. package/web/.next/server/chunks/ssr/_26129e04._.js +3 -0
  119. package/web/.next/server/chunks/ssr/_26129e04._.js.map +1 -0
  120. package/web/.next/server/chunks/ssr/_37259405._.js +1 -1
  121. package/web/.next/server/chunks/ssr/_37259405._.js.map +1 -1
  122. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_9f5276de._.js → server/chunks/ssr/_6f07b817._.js} +3 -9
  123. package/web/.next/server/chunks/ssr/_6f07b817._.js.map +1 -0
  124. package/web/.next/server/chunks/ssr/_85d0351b._.js +1 -1
  125. package/web/.next/server/chunks/ssr/_85d0351b._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
  127. package/web/.next/server/chunks/ssr/_fc3a6895._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
  129. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
  131. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
  133. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +1 -1
  135. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
  137. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js.map +1 -1
  138. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  140. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  142. package/web/.next/server/pages/500.html +2 -2
  143. package/web/.next/server/server-reference-manifest.js +1 -1
  144. package/web/.next/server/server-reference-manifest.json +20 -20
  145. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  146. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  147. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  148. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  149. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
  150. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  151. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  152. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +17 -17
  153. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  154. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  155. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  156. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  157. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  158. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
  159. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  160. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  161. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +17 -17
  162. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  163. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  164. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
  165. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  166. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  167. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  168. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  169. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  170. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  171. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  172. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  173. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  174. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  175. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  176. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  177. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  178. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  179. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  180. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  181. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  182. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  183. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  184. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  185. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  186. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  187. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  188. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  189. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  190. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +1 -1
  191. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +1 -1
  192. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js +2 -2
  193. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  194. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  195. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  196. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +1 -1
  197. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +2 -2
  198. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  199. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +2 -2
  200. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_00e6c698._.js +1 -1
  201. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_07c2a32a._.js +9 -0
  202. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_26129e04._.js +3 -0
  203. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_37259405._.js +1 -1
  204. package/web/.next/{server/chunks/ssr/_9f5276de._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_6f07b817._.js} +3 -9
  205. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_85d0351b._.js +1 -1
  206. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
  207. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
  208. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
  209. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
  210. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +1 -1
  211. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
  212. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  213. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  214. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  215. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  216. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +20 -20
  217. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +1 -0
  218. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/control-center-drawer.stories.tsx +8 -0
  219. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx +37 -1
  220. package/web/.next/standalone/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar-config.ts +4 -0
  221. package/web/.next/standalone/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.tsx +5 -1
  222. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx +32 -0
  223. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +8 -6
  224. package/web/.next/standalone/src/presentation/web/components/common/merge-review/merge-review-config.ts +4 -0
  225. package/web/.next/standalone/src/presentation/web/components/common/merge-review/merge-review.tsx +4 -0
  226. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.ts +4 -0
  227. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.tsx +4 -0
  228. package/web/.next/standalone/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs-config.ts +4 -0
  229. package/web/.next/standalone/src/presentation/web/components/common/tech-review-tabs/tech-review-tabs.tsx +4 -0
  230. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +11 -7
  231. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center.stories.tsx +6 -3
  232. package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +11 -7
  233. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +1 -1
  234. package/web/.next/standalone/src/presentation/web/components/ui/alert-dialog.stories.tsx +1 -1
  235. package/web/.next/standalone/src/presentation/web/hooks/drawer-close-guard.tsx +145 -0
  236. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  237. package/web/.next/static/chunks/00adfce42dbbd5ef.js +1 -0
  238. package/web/.next/static/chunks/{47435830535491e8.js → 3c79bca4d3f18f66.js} +1 -1
  239. package/web/.next/static/chunks/{c6a53b653c68f935.js → 498879011ae095f1.js} +4 -10
  240. package/web/.next/static/chunks/{6310c6efd3e3ff8c.js → 8b185ff4023149e8.js} +1 -1
  241. package/web/.next/static/chunks/{7183f9b53504c911.js → a6a90c6798cbc332.js} +1 -1
  242. package/web/.next/static/chunks/{8d3e12279b2aa76b.js → a7d37a627c7869eb.js} +1 -1
  243. package/web/.next/static/chunks/{311b817783b3ebd7.js → b17ac661ba6821cd.js} +1 -1
  244. package/web/.next/static/chunks/d717b59752363f9b.js +1 -0
  245. package/web/.next/static/chunks/d7cc1029085b27db.js +1 -0
  246. package/web/.next/static/chunks/{0274480f2b09f92e.js → d9a30c62ba67d6da.js} +1 -1
  247. package/web/.next/static/chunks/ef5c9b5ca75f5471.js +7 -0
  248. package/web/.next/trace +1 -1
  249. package/web/.next/trace-build +1 -1
  250. package/web/.next/server/chunks/ssr/_45715073._.js +0 -3
  251. package/web/.next/server/chunks/ssr/_45715073._.js.map +0 -1
  252. package/web/.next/server/chunks/ssr/_9f5276de._.js.map +0 -1
  253. package/web/.next/server/chunks/ssr/node_modules__pnpm_11589942._.js +0 -3
  254. package/web/.next/server/chunks/ssr/node_modules__pnpm_11589942._.js.map +0 -1
  255. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_45715073._.js +0 -3
  256. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_11589942._.js +0 -3
  257. package/web/.next/static/chunks/0b99eb9664d47ca7.js +0 -1
  258. package/web/.next/static/chunks/3e46df89d84cae41.js +0 -1
  259. package/web/.next/static/chunks/c279e0294d864963.js +0 -1
  260. package/web/.next/static/chunks/c4b35853f5a100b6.js +0 -1
  261. /package/web/.next/static/{he5MpZ65Zlh6SbVlx_mbE → BKlbRwdm1wGLZiZ1JfGrF}/_buildManifest.js +0 -0
  262. /package/web/.next/static/{he5MpZ65Zlh6SbVlx_mbE → BKlbRwdm1wGLZiZ1JfGrF}/_clientMiddlewareManifest.json +0 -0
  263. /package/web/.next/static/{he5MpZ65Zlh6SbVlx_mbE → BKlbRwdm1wGLZiZ1JfGrF}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"00a8b37422cd1187e2d0315627828f6d1dc9b9495a\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/_not-found/page\": {\n \"moduleId\": 66973,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/tools/page\": {\n \"moduleId\": 19036,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/version/page\": {\n \"moduleId\": 86139,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/_not-found/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\",\n \"app/tools/page\": \"action-browser\",\n \"app/version/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\",\n \"exportedName\": \"pickFolder\"\n },\n \"405813916a6a9c4c5fa9175d4366b67f7bf366971e\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\",\n \"exportedName\": \"getDeploymentLogs\"\n },\n \"40d8ac552df9fbc1c6283e7d6759f5376788a8a54b\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\",\n \"exportedName\": \"deployFeature\"\n },\n \"40fa2215174f802bf4044e7cc4806fe11fa3be4bd4\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\",\n \"exportedName\": \"deployRepository\"\n },\n \"40573dc685a6f222899f85832833822ed45856dfe2\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\",\n \"exportedName\": \"stopDeployment\"\n },\n \"408b1719c3fea0d9e846e50e77d63f64a8d265370a\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\",\n \"exportedName\": \"getDeploymentStatus\"\n },\n \"40d1fffb129a3ae33d24192aca8b5e5516e8f446cc\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\",\n \"exportedName\": \"openIde\"\n },\n \"404a2ed0189c7158911631742919fe0b02556e9f8a\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\",\n \"exportedName\": \"openShell\"\n },\n \"40724430401adafaf30d5610e6f2e9af245720dd67\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\",\n \"exportedName\": \"openFolder\"\n },\n \"404227f1e25aa118e55e8a56112a8d310e89bd7e03\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\",\n \"exportedName\": \"deleteFeature\"\n },\n \"40fd17e38664bb8c809721cb3f1a1528f316b42e23\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\",\n \"exportedName\": \"addRepository\"\n },\n \"406829a6d443c612ffec91da391776e3cb3d54d9a1\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\",\n \"exportedName\": \"deleteRepository\"\n },\n \"00239f15322bff3a88c79180a549b5e3664514fdf2\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"getWorkflowDefaults\",\n \"filename\": \"src/presentation/web/app/actions/get-workflow-defaults.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"getWorkflowDefaults\",\n \"filename\": \"src/presentation/web/app/actions/get-workflow-defaults.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"rsc\",\n \"app/(dashboard)/create/page\": \"rsc\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-workflow-defaults.ts\",\n \"exportedName\": \"getWorkflowDefaults\"\n },\n \"40e7d5354d882a1d70ab0f2bcadcb9edd75074ba92\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"createFeature\",\n \"filename\": \"src/presentation/web/app/actions/create-feature.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"createFeature\",\n \"filename\": \"src/presentation/web/app/actions/create-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/create-feature.ts\",\n \"exportedName\": \"createFeature\"\n },\n \"609ded89f2f5b34f937c433bd62fe98cc0df9c3eb2\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"approveFeature\",\n \"filename\": \"src/presentation/web/app/actions/approve-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"approveFeature\",\n \"filename\": \"src/presentation/web/app/actions/approve-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/approve-feature.ts\",\n \"exportedName\": \"approveFeature\"\n },\n \"60cd8055ee6e9d427b39b0324fd54c5606ab90a242\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"rejectFeature\",\n \"filename\": \"src/presentation/web/app/actions/reject-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"rejectFeature\",\n \"filename\": \"src/presentation/web/app/actions/reject-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/reject-feature.ts\",\n \"exportedName\": \"rejectFeature\"\n },\n \"4032ec456854e95b03b61ba753c149bc6abd6bcefb\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getFeatureArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-feature-artifact.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getFeatureArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-feature-artifact.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-feature-artifact.ts\",\n \"exportedName\": \"getFeatureArtifact\"\n },\n \"4067efe143b0b5dda4d47bce60e8c0350708c1311d\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getResearchArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-research-artifact.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getResearchArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-research-artifact.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-research-artifact.ts\",\n \"exportedName\": \"getResearchArtifact\"\n },\n \"404f25947625c00a15d9158aba497ec5f5512b6a1a\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getMergeReviewData\",\n \"filename\": \"src/presentation/web/app/actions/get-merge-review-data.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getMergeReviewData\",\n \"filename\": \"src/presentation/web/app/actions/get-merge-review-data.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-merge-review-data.ts\",\n \"exportedName\": \"getMergeReviewData\"\n }\n },\n \"edge\": {},\n \"encryptionKey\": \"ycU6b1s/kQcDkR7KjLO27I9lRzKGkDQUUpdwq+TlU6U=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"00a0ef582772903fdfdababbf8c171b8c6fb46fd0e\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/_not-found/page\": {\n \"moduleId\": 66973,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/tools/page\": {\n \"moduleId\": 19036,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n },\n \"app/version/page\": {\n \"moduleId\": 86139,\n \"async\": false,\n \"exportedName\": \"pickFolder\",\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/_not-found/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\",\n \"app/tools/page\": \"action-browser\",\n \"app/version/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/pick-folder.ts\",\n \"exportedName\": \"pickFolder\"\n },\n \"40732835bc29574978d3691fbe74d0b80126fe3369\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"getDeploymentLogs\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-deployment-logs.ts\",\n \"exportedName\": \"getDeploymentLogs\"\n },\n \"4080c113b8a3d573843e6e6c87c8b0da0ffc8efebc\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"deployFeature\",\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/deploy-feature.ts\",\n \"exportedName\": \"deployFeature\"\n },\n \"4043293ff28c4cc01cee3a0dc78ab44dbb9dd5c84e\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"deployRepository\",\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/deploy-repository.ts\",\n \"exportedName\": \"deployRepository\"\n },\n \"4043941cc81be18ccaef3293d3b4eccb4c57cd5fe6\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"stopDeployment\",\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/stop-deployment.ts\",\n \"exportedName\": \"stopDeployment\"\n },\n \"40bc0a341e26e7f0d8b5066b9a093a302ba72a2c4d\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n },\n \"app/skills/page\": {\n \"moduleId\": 87596,\n \"async\": false,\n \"exportedName\": \"getDeploymentStatus\",\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\",\n \"app/skills/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-deployment-status.ts\",\n \"exportedName\": \"getDeploymentStatus\"\n },\n \"40d2f0aa2f351085fe0fe577aa9895d894e7d79c38\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"openIde\",\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/open-ide.ts\",\n \"exportedName\": \"openIde\"\n },\n \"40a366e8313632bb466fd502e7af41fbab679b9441\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"openShell\",\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/open-shell.ts\",\n \"exportedName\": \"openShell\"\n },\n \"400ff5f52e562d6380f40bee79816344866b3ab4cb\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"openFolder\",\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/open-folder.ts\",\n \"exportedName\": \"openFolder\"\n },\n \"40bc452bdd07deb42fa05468594c1a6fc55b1341ac\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deleteFeature\",\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/delete-feature.ts\",\n \"exportedName\": \"deleteFeature\"\n },\n \"40ab2b158297b58deefdef3b5b2edb693133aef266\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"addRepository\",\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/add-repository.ts\",\n \"exportedName\": \"addRepository\"\n },\n \"4078d71e027636bff51d7c1abcd6587e2c672fea3d\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": {\n \"moduleId\": 12834,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/page\": {\n \"moduleId\": 21365,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n },\n \"app/(dashboard)/repository/[repositoryId]/page\": {\n \"moduleId\": 43068,\n \"async\": false,\n \"exportedName\": \"deleteRepository\",\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/@drawer/repository/[repositoryId]/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/page\": \"action-browser\",\n \"app/(dashboard)/repository/[repositoryId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/delete-repository.ts\",\n \"exportedName\": \"deleteRepository\"\n },\n \"00b94e28a659d93b97f63a67b13d3efa2aa6392ab3\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"getWorkflowDefaults\",\n \"filename\": \"src/presentation/web/app/actions/get-workflow-defaults.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"getWorkflowDefaults\",\n \"filename\": \"src/presentation/web/app/actions/get-workflow-defaults.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"rsc\",\n \"app/(dashboard)/create/page\": \"rsc\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-workflow-defaults.ts\",\n \"exportedName\": \"getWorkflowDefaults\"\n },\n \"40bc058d6afe9ea454d6e5d15a84c8f855fee63f3b\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/create/page\": {\n \"moduleId\": 42016,\n \"async\": false,\n \"exportedName\": \"createFeature\",\n \"filename\": \"src/presentation/web/app/actions/create-feature.ts\"\n },\n \"app/(dashboard)/create/page\": {\n \"moduleId\": 15434,\n \"async\": false,\n \"exportedName\": \"createFeature\",\n \"filename\": \"src/presentation/web/app/actions/create-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/create/page\": \"action-browser\",\n \"app/(dashboard)/create/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/create-feature.ts\",\n \"exportedName\": \"createFeature\"\n },\n \"605c3b0ce8dcca890b8e0b7502278519815792989c\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"approveFeature\",\n \"filename\": \"src/presentation/web/app/actions/approve-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"approveFeature\",\n \"filename\": \"src/presentation/web/app/actions/approve-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/approve-feature.ts\",\n \"exportedName\": \"approveFeature\"\n },\n \"604b1cedd92e9a6a351019ffe17ee3a5bc7c2779ed\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"rejectFeature\",\n \"filename\": \"src/presentation/web/app/actions/reject-feature.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"rejectFeature\",\n \"filename\": \"src/presentation/web/app/actions/reject-feature.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/reject-feature.ts\",\n \"exportedName\": \"rejectFeature\"\n },\n \"40dfd709e15ee37e47eb01cdbb1eae08e2730acdec\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getFeatureArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-feature-artifact.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getFeatureArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-feature-artifact.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-feature-artifact.ts\",\n \"exportedName\": \"getFeatureArtifact\"\n },\n \"40f324e6b7a900603583a245a5174cd13c4020bae7\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getResearchArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-research-artifact.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getResearchArtifact\",\n \"filename\": \"src/presentation/web/app/actions/get-research-artifact.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-research-artifact.ts\",\n \"exportedName\": \"getResearchArtifact\"\n },\n \"40b6a8809fd01c1c315d1192a4ff33ff3d985c488f\": {\n \"workers\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": {\n \"moduleId\": 53432,\n \"async\": false,\n \"exportedName\": \"getMergeReviewData\",\n \"filename\": \"src/presentation/web/app/actions/get-merge-review-data.ts\"\n },\n \"app/(dashboard)/feature/[featureId]/page\": {\n \"moduleId\": 24734,\n \"async\": false,\n \"exportedName\": \"getMergeReviewData\",\n \"filename\": \"src/presentation/web/app/actions/get-merge-review-data.ts\"\n }\n },\n \"layer\": {\n \"app/(dashboard)/@drawer/feature/[featureId]/page\": \"action-browser\",\n \"app/(dashboard)/feature/[featureId]/page\": \"action-browser\"\n },\n \"filename\": \"src/presentation/web/app/actions/get-merge-review-data.ts\",\n \"exportedName\": \"getMergeReviewData\"\n }\n },\n \"edge\": {},\n \"encryptionKey\": \"aFTYOMwPfradbQ/8XcIo1WxhKdIbXhpcvWSVKcZGzUw=\"\n}"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "node": {
3
- "00a8b37422cd1187e2d0315627828f6d1dc9b9495a": {
3
+ "00a0ef582772903fdfdababbf8c171b8c6fb46fd0e": {
4
4
  "workers": {
5
5
  "app/(dashboard)/@drawer/create/page": {
6
6
  "moduleId": 42016,
@@ -85,7 +85,7 @@
85
85
  "filename": "src/presentation/web/app/actions/pick-folder.ts",
86
86
  "exportedName": "pickFolder"
87
87
  },
88
- "405813916a6a9c4c5fa9175d4366b67f7bf366971e": {
88
+ "40732835bc29574978d3691fbe74d0b80126fe3369": {
89
89
  "workers": {
90
90
  "app/(dashboard)/@drawer/create/page": {
91
91
  "moduleId": 42016,
@@ -149,7 +149,7 @@
149
149
  "filename": "src/presentation/web/app/actions/get-deployment-logs.ts",
150
150
  "exportedName": "getDeploymentLogs"
151
151
  },
152
- "40d8ac552df9fbc1c6283e7d6759f5376788a8a54b": {
152
+ "4080c113b8a3d573843e6e6c87c8b0da0ffc8efebc": {
153
153
  "workers": {
154
154
  "app/(dashboard)/@drawer/create/page": {
155
155
  "moduleId": 42016,
@@ -213,7 +213,7 @@
213
213
  "filename": "src/presentation/web/app/actions/deploy-feature.ts",
214
214
  "exportedName": "deployFeature"
215
215
  },
216
- "40fa2215174f802bf4044e7cc4806fe11fa3be4bd4": {
216
+ "4043293ff28c4cc01cee3a0dc78ab44dbb9dd5c84e": {
217
217
  "workers": {
218
218
  "app/(dashboard)/@drawer/create/page": {
219
219
  "moduleId": 42016,
@@ -277,7 +277,7 @@
277
277
  "filename": "src/presentation/web/app/actions/deploy-repository.ts",
278
278
  "exportedName": "deployRepository"
279
279
  },
280
- "40573dc685a6f222899f85832833822ed45856dfe2": {
280
+ "4043941cc81be18ccaef3293d3b4eccb4c57cd5fe6": {
281
281
  "workers": {
282
282
  "app/(dashboard)/@drawer/create/page": {
283
283
  "moduleId": 42016,
@@ -341,7 +341,7 @@
341
341
  "filename": "src/presentation/web/app/actions/stop-deployment.ts",
342
342
  "exportedName": "stopDeployment"
343
343
  },
344
- "408b1719c3fea0d9e846e50e77d63f64a8d265370a": {
344
+ "40bc0a341e26e7f0d8b5066b9a093a302ba72a2c4d": {
345
345
  "workers": {
346
346
  "app/(dashboard)/@drawer/create/page": {
347
347
  "moduleId": 42016,
@@ -405,7 +405,7 @@
405
405
  "filename": "src/presentation/web/app/actions/get-deployment-status.ts",
406
406
  "exportedName": "getDeploymentStatus"
407
407
  },
408
- "40d1fffb129a3ae33d24192aca8b5e5516e8f446cc": {
408
+ "40d2f0aa2f351085fe0fe577aa9895d894e7d79c38": {
409
409
  "workers": {
410
410
  "app/(dashboard)/@drawer/create/page": {
411
411
  "moduleId": 42016,
@@ -462,7 +462,7 @@
462
462
  "filename": "src/presentation/web/app/actions/open-ide.ts",
463
463
  "exportedName": "openIde"
464
464
  },
465
- "404a2ed0189c7158911631742919fe0b02556e9f8a": {
465
+ "40a366e8313632bb466fd502e7af41fbab679b9441": {
466
466
  "workers": {
467
467
  "app/(dashboard)/@drawer/create/page": {
468
468
  "moduleId": 42016,
@@ -519,7 +519,7 @@
519
519
  "filename": "src/presentation/web/app/actions/open-shell.ts",
520
520
  "exportedName": "openShell"
521
521
  },
522
- "40724430401adafaf30d5610e6f2e9af245720dd67": {
522
+ "400ff5f52e562d6380f40bee79816344866b3ab4cb": {
523
523
  "workers": {
524
524
  "app/(dashboard)/@drawer/create/page": {
525
525
  "moduleId": 42016,
@@ -576,7 +576,7 @@
576
576
  "filename": "src/presentation/web/app/actions/open-folder.ts",
577
577
  "exportedName": "openFolder"
578
578
  },
579
- "404227f1e25aa118e55e8a56112a8d310e89bd7e03": {
579
+ "40bc452bdd07deb42fa05468594c1a6fc55b1341ac": {
580
580
  "workers": {
581
581
  "app/(dashboard)/@drawer/create/page": {
582
582
  "moduleId": 42016,
@@ -633,7 +633,7 @@
633
633
  "filename": "src/presentation/web/app/actions/delete-feature.ts",
634
634
  "exportedName": "deleteFeature"
635
635
  },
636
- "40fd17e38664bb8c809721cb3f1a1528f316b42e23": {
636
+ "40ab2b158297b58deefdef3b5b2edb693133aef266": {
637
637
  "workers": {
638
638
  "app/(dashboard)/@drawer/create/page": {
639
639
  "moduleId": 42016,
@@ -690,7 +690,7 @@
690
690
  "filename": "src/presentation/web/app/actions/add-repository.ts",
691
691
  "exportedName": "addRepository"
692
692
  },
693
- "406829a6d443c612ffec91da391776e3cb3d54d9a1": {
693
+ "4078d71e027636bff51d7c1abcd6587e2c672fea3d": {
694
694
  "workers": {
695
695
  "app/(dashboard)/@drawer/create/page": {
696
696
  "moduleId": 42016,
@@ -747,7 +747,7 @@
747
747
  "filename": "src/presentation/web/app/actions/delete-repository.ts",
748
748
  "exportedName": "deleteRepository"
749
749
  },
750
- "00239f15322bff3a88c79180a549b5e3664514fdf2": {
750
+ "00b94e28a659d93b97f63a67b13d3efa2aa6392ab3": {
751
751
  "workers": {
752
752
  "app/(dashboard)/@drawer/create/page": {
753
753
  "moduleId": 42016,
@@ -769,7 +769,7 @@
769
769
  "filename": "src/presentation/web/app/actions/get-workflow-defaults.ts",
770
770
  "exportedName": "getWorkflowDefaults"
771
771
  },
772
- "40e7d5354d882a1d70ab0f2bcadcb9edd75074ba92": {
772
+ "40bc058d6afe9ea454d6e5d15a84c8f855fee63f3b": {
773
773
  "workers": {
774
774
  "app/(dashboard)/@drawer/create/page": {
775
775
  "moduleId": 42016,
@@ -791,7 +791,7 @@
791
791
  "filename": "src/presentation/web/app/actions/create-feature.ts",
792
792
  "exportedName": "createFeature"
793
793
  },
794
- "609ded89f2f5b34f937c433bd62fe98cc0df9c3eb2": {
794
+ "605c3b0ce8dcca890b8e0b7502278519815792989c": {
795
795
  "workers": {
796
796
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
797
797
  "moduleId": 53432,
@@ -813,7 +813,7 @@
813
813
  "filename": "src/presentation/web/app/actions/approve-feature.ts",
814
814
  "exportedName": "approveFeature"
815
815
  },
816
- "60cd8055ee6e9d427b39b0324fd54c5606ab90a242": {
816
+ "604b1cedd92e9a6a351019ffe17ee3a5bc7c2779ed": {
817
817
  "workers": {
818
818
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
819
819
  "moduleId": 53432,
@@ -835,7 +835,7 @@
835
835
  "filename": "src/presentation/web/app/actions/reject-feature.ts",
836
836
  "exportedName": "rejectFeature"
837
837
  },
838
- "4032ec456854e95b03b61ba753c149bc6abd6bcefb": {
838
+ "40dfd709e15ee37e47eb01cdbb1eae08e2730acdec": {
839
839
  "workers": {
840
840
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
841
841
  "moduleId": 53432,
@@ -857,7 +857,7 @@
857
857
  "filename": "src/presentation/web/app/actions/get-feature-artifact.ts",
858
858
  "exportedName": "getFeatureArtifact"
859
859
  },
860
- "4067efe143b0b5dda4d47bce60e8c0350708c1311d": {
860
+ "40f324e6b7a900603583a245a5174cd13c4020bae7": {
861
861
  "workers": {
862
862
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
863
863
  "moduleId": 53432,
@@ -879,7 +879,7 @@
879
879
  "filename": "src/presentation/web/app/actions/get-research-artifact.ts",
880
880
  "exportedName": "getResearchArtifact"
881
881
  },
882
- "404f25947625c00a15d9158aba497ec5f5512b6a1a": {
882
+ "40b6a8809fd01c1c315d1192a4ff33ff3d985c488f": {
883
883
  "workers": {
884
884
  "app/(dashboard)/@drawer/feature/[featureId]/page": {
885
885
  "moduleId": 53432,
@@ -903,5 +903,5 @@
903
903
  }
904
904
  },
905
905
  "edge": {},
906
- "encryptionKey": "ycU6b1s/kQcDkR7KjLO27I9lRzKGkDQUUpdwq+TlU6U="
906
+ "encryptionKey": "aFTYOMwPfradbQ/8XcIo1WxhKdIbXhpcvWSVKcZGzUw="
907
907
  }
@@ -99,6 +99,7 @@ export function BaseDrawer({
99
99
  showCloseButton={false}
100
100
  className={cn(drawerVariants({ size }), className)}
101
101
  data-testid={testId}
102
+ onInteractOutside={(e) => e.preventDefault()}
102
103
  >
103
104
  {/* Close button */}
104
105
  <button
@@ -2,6 +2,7 @@ import { useState } from 'react';
2
2
  import type { Meta, StoryObj } from '@storybook/react';
3
3
  import { PrStatus, CiStatus } from '@shepai/core/domain/generated/output';
4
4
  import { Button } from '@/components/ui/button';
5
+ import { DrawerCloseGuardProvider } from '@/hooks/drawer-close-guard';
5
6
  import { ControlCenterDrawer } from './control-center-drawer';
6
7
  import type { DrawerView } from './drawer-view';
7
8
 
@@ -9,6 +10,13 @@ const meta: Meta<typeof ControlCenterDrawer> = {
9
10
  title: 'Drawers/ControlCenterDrawer',
10
11
  component: ControlCenterDrawer,
11
12
  tags: ['autodocs'],
13
+ decorators: [
14
+ (Story) => (
15
+ <DrawerCloseGuardProvider>
16
+ <Story />
17
+ </DrawerCloseGuardProvider>
18
+ ),
19
+ ],
12
20
  parameters: {
13
21
  layout: 'fullscreen',
14
22
  },
@@ -18,6 +18,7 @@ import { deleteFeature } from '@/app/actions/delete-feature';
18
18
  import { cn } from '@/lib/utils';
19
19
  import { featureFlags } from '@/lib/feature-flags';
20
20
  import { useSoundAction } from '@/hooks/use-sound-action';
21
+ import { useGuardedDrawerClose } from '@/hooks/drawer-close-guard';
21
22
  import { useDeployAction } from '@/hooks/use-deploy-action';
22
23
  import { useAgentEventsContext } from '@/hooks/agent-events-provider';
23
24
  import { BaseDrawer } from '@/components/common/base-drawer';
@@ -133,9 +134,13 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
133
134
  router.push('/');
134
135
  }, [router]);
135
136
 
137
+ // ── Chat input state (shared across all review views) ────────────────
138
+ const [chatInput, setChatInput] = useState('');
139
+
136
140
  // ── PRD state ──────────────────────────────────────────────────────────
137
141
  const [prdData, setPrdData] = useState<PrdQuestionnaireData | null>(null);
138
142
  const [prdSelections, setPrdSelections] = useState<Record<string, string>>({});
143
+ const [prdDefaultSelections, setPrdDefaultSelections] = useState<Record<string, string>>({});
139
144
  const [isLoadingPrd, setIsLoadingPrd] = useState(false);
140
145
 
141
146
  // ── Tech state ─────────────────────────────────────────────────────────
@@ -158,11 +163,18 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
158
163
  // ── Shared reject state ────────────────────────────────────────────────
159
164
  const [isRejecting, setIsRejecting] = useState(false);
160
165
 
166
+ // Reset chat input whenever the view type changes
167
+ const viewType = view.type;
168
+ useEffect(() => {
169
+ setChatInput('');
170
+ }, [viewType]);
171
+
161
172
  // ── Data fetching ─────────────────────────────────────────────────────
162
173
 
163
174
  const prdFeatureId = view.type === 'prd-review' ? view.node.featureId : null;
164
175
  useEffect(() => {
165
176
  setPrdSelections({});
177
+ setPrdDefaultSelections({});
166
178
  setPrdData(null);
167
179
  if (!prdFeatureId) return;
168
180
 
@@ -183,6 +195,7 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
183
195
  if (recommended) defaults[q.id] = recommended.id;
184
196
  }
185
197
  setPrdSelections(defaults);
198
+ setPrdDefaultSelections(defaults);
186
199
  }
187
200
  })
188
201
  .catch(() => {
@@ -274,6 +287,20 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
274
287
  };
275
288
  }, [mergeFeatureId]);
276
289
 
290
+ // ── Close guard ──────────────────────────────────────────────────────
291
+ const isChatDirty = chatInput.trim().length > 0;
292
+ const isPrdDirty =
293
+ view.type === 'prd-review' &&
294
+ Object.keys(prdDefaultSelections).some((k) => prdDefaultSelections[k] !== prdSelections[k]);
295
+ const isDirty = isChatDirty || isPrdDirty;
296
+
297
+ const onReset = useCallback(() => {
298
+ setChatInput('');
299
+ setPrdSelections({ ...prdDefaultSelections });
300
+ }, [prdDefaultSelections]);
301
+
302
+ const { attemptClose } = useGuardedDrawerClose({ open: isOpen, isDirty, onClose, onReset });
303
+
277
304
  // ── Approve / reject handlers ─────────────────────────────────────────
278
305
 
279
306
  const reviewNode =
@@ -292,6 +319,7 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
292
319
  return;
293
320
  }
294
321
  rejectSound.play();
322
+ setChatInput('');
295
323
  toast.success(`${label} rejected — agent re-iterating (iteration ${result.iteration})`);
296
324
  if (result.iterationWarning) {
297
325
  toast.warning(
@@ -328,6 +356,7 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
328
356
  toast.error(result.error ?? `Failed to approve ${label.toLowerCase()}`);
329
357
  return;
330
358
  }
359
+ setChatInput('');
331
360
  toast.success(`${label} approved — agent resuming`);
332
361
  onClose();
333
362
  },
@@ -354,6 +383,7 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
354
383
  toast.error(result.error ?? 'Failed to approve requirements');
355
384
  return;
356
385
  }
386
+ setChatInput('');
357
387
  toast.success('Requirements approved — agent resuming');
358
388
  setPrdSelections({});
359
389
  onClose();
@@ -571,6 +601,8 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
571
601
  onReject={handlePrdReject}
572
602
  isProcessing={isLoadingPrd}
573
603
  isRejecting={isRejecting}
604
+ chatInput={chatInput}
605
+ onChatInputChange={setChatInput}
574
606
  />
575
607
  ) : (
576
608
  <div className="flex items-center justify-center p-8">
@@ -586,6 +618,8 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
586
618
  onReject={handleTechReject}
587
619
  isProcessing={isLoadingTech}
588
620
  isRejecting={isRejecting}
621
+ chatInput={chatInput}
622
+ onChatInputChange={setChatInput}
589
623
  />
590
624
  ) : (
591
625
  <div className="flex items-center justify-center p-8">
@@ -600,6 +634,8 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
600
634
  onReject={handleMergeReject}
601
635
  isProcessing={isLoadingMerge}
602
636
  isRejecting={isRejecting}
637
+ chatInput={chatInput}
638
+ onChatInputChange={setChatInput}
603
639
  />
604
640
  ) : (
605
641
  <div className="flex items-center justify-center p-8">
@@ -611,7 +647,7 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
611
647
  return (
612
648
  <BaseDrawer
613
649
  open={isOpen}
614
- onClose={onClose}
650
+ onClose={attemptClose}
615
651
  size="md"
616
652
  modal={false}
617
653
  header={header}
@@ -17,4 +17,8 @@ export interface DrawerActionBarProps {
17
17
  isRejecting?: boolean;
18
18
  /** Content rendered between revision input and action buttons (e.g. progress bar) */
19
19
  children?: ReactNode;
20
+ /** Controlled chat input value. When provided, component uses this instead of internal state. */
21
+ chatInput?: string;
22
+ /** Controlled chat input change handler. Required when chatInput is provided. */
23
+ onChatInputChange?: (value: string) => void;
20
24
  }
@@ -16,8 +16,12 @@ export function DrawerActionBar({
16
16
  isProcessing = false,
17
17
  isRejecting = false,
18
18
  children,
19
+ chatInput: controlledChatInput,
20
+ onChatInputChange,
19
21
  }: DrawerActionBarProps) {
20
- const [chatInput, setChatInput] = useState('');
22
+ const [internalChatInput, setInternalChatInput] = useState('');
23
+ const chatInput = controlledChatInput ?? internalChatInput;
24
+ const setChatInput = onChatInputChange ?? setInternalChatInput;
21
25
  const approveSound = useSoundAction('approve');
22
26
  const disabled = isProcessing || isRejecting;
23
27