@shepai/cli 1.72.4 → 1.72.6-pr187.022cd49

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 (247) hide show
  1. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
  2. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +35 -18
  3. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  4. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +6 -1
  5. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.d.ts.map +1 -1
  6. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.js +6 -4
  7. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +10 -5
  9. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.d.ts.map +1 -1
  10. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-installer.service.js +9 -1
  11. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.js +5 -0
  13. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/alacritty.json +2 -2
  14. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/kitty.json +2 -2
  15. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/tmux.json +1 -1
  16. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/vscode.json +1 -1
  17. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/windsurf.json +1 -1
  18. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts.map +1 -1
  19. package/dist/src/presentation/web/app/api/tools/[id]/install/route.js +9 -4
  20. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  21. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +8 -2
  22. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -2
  23. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +3 -1
  24. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  25. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +13 -5
  26. package/dist/src/presentation/web/hooks/drawer-close-guard.d.ts +2 -0
  27. package/dist/src/presentation/web/hooks/drawer-close-guard.d.ts.map +1 -1
  28. package/dist/src/presentation/web/hooks/drawer-close-guard.js +2 -1
  29. package/dist/tsconfig.build.tsbuildinfo +1 -1
  30. package/package.json +1 -1
  31. package/web/.next/BUILD_ID +1 -1
  32. package/web/.next/build-manifest.json +2 -2
  33. package/web/.next/cache/.previewinfo +1 -1
  34. package/web/.next/cache/.rscinfo +1 -1
  35. package/web/.next/cache/.tsbuildinfo +1 -1
  36. package/web/.next/cache/config.json +3 -3
  37. package/web/.next/fallback-build-manifest.json +2 -2
  38. package/web/.next/prerender-manifest.json +3 -3
  39. package/web/.next/required-server-files.js +1 -1
  40. package/web/.next/required-server-files.json +1 -1
  41. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
  42. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  43. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  44. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  45. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +17 -17
  46. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  47. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  48. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  49. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  50. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  51. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  52. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  53. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
  54. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  55. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  56. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +17 -17
  58. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  59. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
  62. package/web/.next/server/app/(dashboard)/page.js +1 -1
  63. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  64. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  66. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  67. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/_global-error.html +2 -2
  70. package/web/.next/server/app/_global-error.rsc +1 -1
  71. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  72. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  73. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  74. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  75. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  76. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  77. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  79. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  80. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  81. package/web/.next/server/app/skills/page.js +1 -1
  82. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  83. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  84. package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  85. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  87. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  88. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +3 -0
  89. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js.map +1 -0
  90. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  91. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  92. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +1 -1
  93. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +1 -1
  95. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  99. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js → server/chunks/ssr/[root-of-the-server]__45dbf93d._.js} +3 -3
  100. package/web/.next/server/chunks/ssr/{[root-of-the-server]__07385073._.js.map → [root-of-the-server]__45dbf93d._.js.map} +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +3 -0
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -0
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__aef6b3cd._.js +3 -0
  108. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8c1a3d66._.js.map → [root-of-the-server]__aef6b3cd._.js.map} +1 -1
  109. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js → server/chunks/ssr/[root-of-the-server]__f182fa1e._.js} +3 -3
  110. package/web/.next/server/chunks/ssr/_00e6c698._.js +1 -1
  111. package/web/.next/server/chunks/ssr/_00e6c698._.js.map +1 -1
  112. package/web/.next/server/chunks/ssr/_07c2a32a._.js +1 -1
  113. package/web/.next/server/chunks/ssr/_07c2a32a._.js.map +1 -1
  114. package/web/.next/server/chunks/ssr/_37259405._.js +1 -1
  115. package/web/.next/server/chunks/ssr/_37259405._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/{_6f07b817._.js → _5021e5b6._.js} +2 -2
  117. package/web/.next/server/chunks/ssr/{_6f07b817._.js.map → _5021e5b6._.js.map} +1 -1
  118. package/web/.next/server/chunks/ssr/_85d0351b._.js +1 -1
  119. package/web/.next/server/chunks/ssr/_85d0351b._.js.map +1 -1
  120. package/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
  121. package/web/.next/server/chunks/ssr/_fc3a6895._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
  123. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
  125. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
  127. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +1 -1
  129. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
  131. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  133. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  134. package/web/.next/server/pages/500.html +2 -2
  135. package/web/.next/server/server-reference-manifest.js +1 -1
  136. package/web/.next/server/server-reference-manifest.json +20 -20
  137. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  138. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  139. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  140. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  141. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
  142. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  143. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  144. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  145. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +17 -17
  146. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  147. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  148. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  149. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  150. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  151. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  152. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  153. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
  154. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +1 -1
  155. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  156. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  157. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +17 -17
  158. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  159. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  160. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  161. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
  162. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js +1 -1
  163. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  164. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  165. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  166. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  167. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  168. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  169. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  170. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  171. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  172. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  173. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  174. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  175. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  176. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  177. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  178. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  179. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +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 +1 -1
  182. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  183. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  184. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.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_client-reference-manifest.js +1 -1
  188. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +3 -0
  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]__08ba9bd3._.js +1 -1
  193. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  194. package/web/.next/{server/chunks/ssr/[root-of-the-server]__07385073._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js} +3 -3
  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]__804c006d._.js +1 -1
  197. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +3 -0
  198. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aef6b3cd._.js +3 -0
  199. package/web/.next/{server/chunks/ssr/[root-of-the-server]__8fcb9132._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f182fa1e._.js} +3 -3
  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 +1 -1
  202. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_37259405._.js +1 -1
  203. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_6f07b817._.js → _5021e5b6._.js} +2 -2
  204. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_85d0351b._.js +1 -1
  205. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
  206. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
  207. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
  208. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
  209. 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
  210. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
  211. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  212. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  213. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  214. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +20 -20
  215. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/install/route.ts +14 -6
  216. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx +8 -2
  217. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +2 -2
  218. package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +11 -5
  219. package/web/.next/standalone/src/presentation/web/hooks/drawer-close-guard.tsx +5 -1
  220. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  221. package/web/.next/static/chunks/{ef5c9b5ca75f5471.js → 06dfd668334ffb4e.js} +1 -1
  222. package/web/.next/static/chunks/{a7d37a627c7869eb.js → 107e1c48f3767932.js} +1 -1
  223. package/web/.next/static/chunks/{498879011ae095f1.js → 700c09f9a30eb841.js} +3 -3
  224. package/web/.next/static/chunks/{d717b59752363f9b.js → 7f0f40a597bfd5f9.js} +1 -1
  225. package/web/.next/static/chunks/{a6a90c6798cbc332.js → d7cded27044d43d5.js} +1 -1
  226. package/web/.next/static/chunks/dafc0d13ccda19d4.js +1 -0
  227. package/web/.next/static/chunks/{d9a30c62ba67d6da.js → e10ccb091f7e498b.js} +1 -1
  228. package/web/.next/static/chunks/{8b185ff4023149e8.js → f0c86a30bf992253.js} +1 -1
  229. package/web/.next/static/chunks/{b17ac661ba6821cd.js → f5eda43e9195d0cc.js} +1 -1
  230. package/web/.next/trace +1 -1
  231. package/web/.next/trace-build +1 -1
  232. package/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js +0 -3
  233. package/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js.map +0 -1
  234. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +0 -3
  235. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +0 -1
  236. package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +0 -4
  237. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +0 -3
  238. package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js.map +0 -1
  239. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js +0 -3
  240. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +0 -3
  241. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +0 -4
  242. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +0 -3
  243. package/web/.next/static/chunks/d7cc1029085b27db.js +0 -1
  244. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__6db85a66._.js.map → [root-of-the-server]__f182fa1e._.js.map} +0 -0
  245. /package/web/.next/static/{BKlbRwdm1wGLZiZ1JfGrF → d5c3ywyjYOy2l1chj6RrV}/_buildManifest.js +0 -0
  246. /package/web/.next/static/{BKlbRwdm1wGLZiZ1JfGrF → d5c3ywyjYOy2l1chj6RrV}/_clientMiddlewareManifest.json +0 -0
  247. /package/web/.next/static/{BKlbRwdm1wGLZiZ1JfGrF → d5c3ywyjYOy2l1chj6RrV}/_ssgManifest.js +0 -0
@@ -1 +1 @@
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
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"0098437bc8335a4d0d71e174c00deb852c7f2a529f\": {\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 \"4086ac6076e534b963152cad72a95e8def1e328d38\": {\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 \"4046650fb38a6d18540068a8969666dccfc881937c\": {\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 \"409a48816e9e168f634ad45f1c118c797231331e8d\": {\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 \"40f58aefdf87071256c9994a18f66d3cb6ed75cfc5\": {\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 \"408780e5401d5286bc27f47514724b25aebaeac0c6\": {\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 \"409fa3b4d6aac2a8a4aac14dea7f51c1849ba6f6d6\": {\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 \"40ff5277b0009af428d00fe803be0067d0f0885f56\": {\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 \"406c998b4715f8b5b27444ef9eef4fcd92415700d7\": {\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 \"4085d15ce40f9ae474808342cce7358268e3840781\": {\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 \"408ee746468bf1d0fe6be31366a389825e235ee545\": {\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 \"40422399b319f9627b970b19140e23a903b496d047\": {\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 \"00e2a7c6406071527f412ffef9a17f5f200b83f8a6\": {\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 \"40739eb77aa1657a74a234089acfb0e4f01d8990b9\": {\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 \"60e0c70b170c5fde96be5db7b8d9dd998156fec645\": {\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 \"606e532e6b1a06a797709d6b58f761f5031ca77f5c\": {\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 \"40ddd197f20e8c2d9fda932e8a9e68754d54610763\": {\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 \"4047c049dcc8d3ef4990f9f512e648099f086b73b5\": {\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 \"40733d91cdbbfe97e0c6f0ec8e191c6e64498008e9\": {\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\": \"xf1vO+XvpaRL6f34vwuJyrM/SnNFIhTnsOr7YzTmjxk=\"\n}"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "node": {
3
- "00a0ef582772903fdfdababbf8c171b8c6fb46fd0e": {
3
+ "0098437bc8335a4d0d71e174c00deb852c7f2a529f": {
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
- "40732835bc29574978d3691fbe74d0b80126fe3369": {
88
+ "4086ac6076e534b963152cad72a95e8def1e328d38": {
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
- "4080c113b8a3d573843e6e6c87c8b0da0ffc8efebc": {
152
+ "4046650fb38a6d18540068a8969666dccfc881937c": {
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
- "4043293ff28c4cc01cee3a0dc78ab44dbb9dd5c84e": {
216
+ "409a48816e9e168f634ad45f1c118c797231331e8d": {
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
- "4043941cc81be18ccaef3293d3b4eccb4c57cd5fe6": {
280
+ "40f58aefdf87071256c9994a18f66d3cb6ed75cfc5": {
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
- "40bc0a341e26e7f0d8b5066b9a093a302ba72a2c4d": {
344
+ "408780e5401d5286bc27f47514724b25aebaeac0c6": {
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
- "40d2f0aa2f351085fe0fe577aa9895d894e7d79c38": {
408
+ "409fa3b4d6aac2a8a4aac14dea7f51c1849ba6f6d6": {
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
- "40a366e8313632bb466fd502e7af41fbab679b9441": {
465
+ "40ff5277b0009af428d00fe803be0067d0f0885f56": {
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
- "400ff5f52e562d6380f40bee79816344866b3ab4cb": {
522
+ "406c998b4715f8b5b27444ef9eef4fcd92415700d7": {
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
- "40bc452bdd07deb42fa05468594c1a6fc55b1341ac": {
579
+ "4085d15ce40f9ae474808342cce7358268e3840781": {
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
- "40ab2b158297b58deefdef3b5b2edb693133aef266": {
636
+ "408ee746468bf1d0fe6be31366a389825e235ee545": {
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
- "4078d71e027636bff51d7c1abcd6587e2c672fea3d": {
693
+ "40422399b319f9627b970b19140e23a903b496d047": {
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
- "00b94e28a659d93b97f63a67b13d3efa2aa6392ab3": {
750
+ "00e2a7c6406071527f412ffef9a17f5f200b83f8a6": {
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
- "40bc058d6afe9ea454d6e5d15a84c8f855fee63f3b": {
772
+ "40739eb77aa1657a74a234089acfb0e4f01d8990b9": {
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
- "605c3b0ce8dcca890b8e0b7502278519815792989c": {
794
+ "60e0c70b170c5fde96be5db7b8d9dd998156fec645": {
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
- "604b1cedd92e9a6a351019ffe17ee3a5bc7c2779ed": {
816
+ "606e532e6b1a06a797709d6b58f761f5031ca77f5c": {
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
- "40dfd709e15ee37e47eb01cdbb1eae08e2730acdec": {
838
+ "40ddd197f20e8c2d9fda932e8a9e68754d54610763": {
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
- "40f324e6b7a900603583a245a5174cd13c4020bae7": {
860
+ "4047c049dcc8d3ef4990f9f512e648099f086b73b5": {
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
- "40b6a8809fd01c1c315d1192a4ff33ff3d985c488f": {
882
+ "40733d91cdbbfe97e0c6f0ec8e191c6e64498008e9": {
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": "aFTYOMwPfradbQ/8XcIo1WxhKdIbXhpcvWSVKcZGzUw="
906
+ "encryptionKey": "xf1vO+XvpaRL6f34vwuJyrM/SnNFIhTnsOr7YzTmjxk="
907
907
  }
@@ -1,7 +1,14 @@
1
1
  import { NextResponse } from 'next/server';
2
2
  import { resolve } from '@/lib/server-container';
3
3
  import type { InstallToolUseCase } from '@shepai/core/application/use-cases/tools/install-tool.use-case';
4
- import { TOOL_METADATA } from '@shepai/core/infrastructure/services/tool-installer/tool-metadata';
4
+ import type { ToolInstallationStatus } from '@shepai/core/domain/generated/output';
5
+
6
+ // NOTE: Do NOT import TOOL_METADATA directly in API routes.
7
+ // The module uses import.meta.url + fs.readdirSync to load JSON files,
8
+ // which breaks when Turbopack bundles it (import.meta.url resolves to
9
+ // the bundled chunk location where the tools/ directory doesn't exist).
10
+ // Tool validation is delegated to the use case via the DI container,
11
+ // where the module loads correctly in the Node.js CLI bootstrap context.
5
12
 
6
13
  export async function POST(
7
14
  _request: Request,
@@ -9,13 +16,14 @@ export async function POST(
9
16
  ): Promise<NextResponse> {
10
17
  const { id } = await params;
11
18
 
12
- if (!TOOL_METADATA[id]) {
13
- return NextResponse.json({ error: 'Tool not found' }, { status: 404 });
14
- }
15
-
16
19
  try {
17
20
  const useCase = resolve<InstallToolUseCase>('InstallToolUseCase');
18
- const status = await useCase.execute(id);
21
+ const status: ToolInstallationStatus = await useCase.execute(id);
22
+
23
+ if (status.status === 'error') {
24
+ return NextResponse.json({ error: status.errorMessage }, { status: 500 });
25
+ }
26
+
19
27
  return NextResponse.json({ status });
20
28
  } catch (error: unknown) {
21
29
  const message = error instanceof Error ? error.message : 'Failed to install tool';
@@ -99,8 +99,9 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
99
99
  const newState = mapEventTypeToState(event.eventType);
100
100
  const newLifecycle = mapPhaseNameToLifecycle(event.phaseName);
101
101
 
102
- // Trigger a server refresh to get the latest drawer view
103
- router.refresh();
102
+ // Trigger a server refresh to get the latest drawer view,
103
+ // but skip when the user has unsaved changes to avoid losing form state.
104
+ if (!isDirtyRef.current) router.refresh();
104
105
 
105
106
  // Optimistically update the node data for immediate UI feedback
106
107
  setView((prev) => {
@@ -294,6 +295,11 @@ export function FeatureDrawerClient({ view: initialView }: FeatureDrawerClientPr
294
295
  Object.keys(prdDefaultSelections).some((k) => prdDefaultSelections[k] !== prdSelections[k]);
295
296
  const isDirty = isChatDirty || isPrdDirty;
296
297
 
298
+ // Keep dirty state in a ref so the SSE handler can read the latest value
299
+ // without re-running the effect on every keystroke.
300
+ const isDirtyRef = useRef(isDirty);
301
+ isDirtyRef.current = isDirty;
302
+
297
303
  const onReset = useCallback(() => {
298
304
  setChatInput('');
299
305
  setPrdSelections({ ...prdDefaultSelections });
@@ -28,7 +28,7 @@ export function ControlCenterInner({ initialNodes, initialEdges }: ControlCenter
28
28
  const pathname = usePathname();
29
29
  const selectedFeatureId = useSelectedFeatureId();
30
30
  const clickSound = useSoundAction('click');
31
- const { guardedNavigate } = useDrawerCloseGuard();
31
+ const { guardedNavigate, getIsDirty } = useDrawerCloseGuard();
32
32
 
33
33
  const {
34
34
  nodes,
@@ -39,7 +39,7 @@ export function ControlCenterInner({ initialNodes, initialEdges }: ControlCenter
39
39
  handleDeleteFeature,
40
40
  handleDeleteRepository,
41
41
  createFeatureNode,
42
- } = useControlCenterState(initialNodes, initialEdges);
42
+ } = useControlCenterState(initialNodes, initialEdges, getIsDirty);
43
43
 
44
44
  // Publish sidebar features to context whenever feature node data changes
45
45
  const { setFeatures: setSidebarFeatures } = useSidebarFeaturesContext();
@@ -37,7 +37,9 @@ let nextFeatureId = 0;
37
37
 
38
38
  export function useControlCenterState(
39
39
  initialNodes: CanvasNodeType[],
40
- initialEdges: Edge[]
40
+ initialEdges: Edge[],
41
+ /** When true, background router.refresh() calls (polling / SSE debounce) are suppressed. */
42
+ isRefreshBlocked?: () => boolean
41
43
  ): ControlCenterState {
42
44
  const router = useRouter();
43
45
  const [nodes, setNodes] = useState<CanvasNodeType[]>(initialNodes);
@@ -202,8 +204,10 @@ export function useControlCenterState(
202
204
 
203
205
  // Debounced background reconciliation (3s after last SSE event)
204
206
  clearTimeout(reconcileTimerRef.current);
205
- reconcileTimerRef.current = setTimeout(() => router.refresh(), 3000);
206
- }, [events, router]);
207
+ reconcileTimerRef.current = setTimeout(() => {
208
+ if (!isRefreshBlocked?.()) router.refresh();
209
+ }, 3000);
210
+ }, [events, router, isRefreshBlocked]);
207
211
 
208
212
  // Periodic polling fallback: refresh server data every 5s when any feature
209
213
  // is in an active state (running/action-required). This ensures the UI stays
@@ -219,9 +223,11 @@ export function useControlCenterState(
219
223
 
220
224
  if (!hasActiveFeature) return;
221
225
 
222
- const interval = setInterval(() => router.refresh(), 5_000);
226
+ const interval = setInterval(() => {
227
+ if (!isRefreshBlocked?.()) router.refresh();
228
+ }, 5_000);
223
229
  return () => clearInterval(interval);
224
- }, [nodes, router]);
230
+ }, [nodes, router, isRefreshBlocked]);
225
231
 
226
232
  const onNodesChange = useCallback((changes: NodeChange<CanvasNodeType>[]) => {
227
233
  setNodes((ns) => applyNodeChanges(changes, ns));
@@ -29,6 +29,8 @@ interface DrawerCloseGuardContextValue {
29
29
  setGuard: (guard: { isDirty: boolean; onReset: () => void } | null) => void;
30
30
  /** Navigate only if no dirty drawer is registered; otherwise show confirmation. */
31
31
  guardedNavigate: (navigate: () => void) => void;
32
+ /** Returns true when any drawer has unsaved changes. Safe to call from effects/intervals. */
33
+ getIsDirty: () => boolean;
32
34
  }
33
35
 
34
36
  const DrawerCloseGuardContext = createContext<DrawerCloseGuardContextValue | null>(null);
@@ -69,8 +71,10 @@ export function DrawerCloseGuardProvider({ children }: { children: ReactNode })
69
71
  pendingNavigateRef.current = null;
70
72
  }, []);
71
73
 
74
+ const getIsDirty = useCallback(() => guardRef.current?.isDirty ?? false, []);
75
+
72
76
  return (
73
- <DrawerCloseGuardContext value={{ setGuard, guardedNavigate }}>
77
+ <DrawerCloseGuardContext value={{ setGuard, guardedNavigate, getIsDirty }}>
74
78
  {children}
75
79
 
76
80
  <AlertDialog open={showConfirmation}>