@shepai/cli 1.72.6-pr187.fb842c5 → 1.72.7

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 (282) hide show
  1. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts +4 -0
  2. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +20 -12
  4. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.d.ts +8 -3
  5. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.js +17 -4
  7. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +1 -1
  8. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.js +0 -5
  10. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  11. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +2 -6
  12. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts.map +1 -1
  13. package/dist/src/presentation/web/app/api/tools/[id]/install/route.js +4 -9
  14. package/dist/src/presentation/web/app/build-graph-nodes.js +11 -1
  15. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +3 -1
  16. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  17. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +8 -4
  18. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  19. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +12 -3
  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 +6 -2
  22. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.d.ts.map +1 -1
  23. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +1 -1
  24. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  25. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +1 -1
  26. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  27. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +7 -2
  28. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  29. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +6 -2
  30. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  31. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +14 -2
  32. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +3 -5
  33. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  34. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +131 -196
  35. package/dist/src/presentation/web/components/ui/alert-dialog.d.ts +1 -1
  36. package/dist/src/presentation/web/components/ui/alert-dialog.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/ui/alert-dialog.js +7 -2
  38. package/dist/src/presentation/web/components/ui/dialog.d.ts.map +1 -1
  39. package/dist/src/presentation/web/components/ui/dialog.js +6 -1
  40. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts +2 -0
  41. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  42. package/dist/src/presentation/web/lib/layout-with-dagre.js +86 -4
  43. package/dist/tsconfig.build.tsbuildinfo +1 -1
  44. package/package.json +1 -1
  45. package/web/.next/BUILD_ID +1 -1
  46. package/web/.next/build-manifest.json +2 -2
  47. package/web/.next/cache/.previewinfo +1 -1
  48. package/web/.next/cache/.rscinfo +1 -1
  49. package/web/.next/cache/.tsbuildinfo +1 -1
  50. package/web/.next/cache/config.json +3 -3
  51. package/web/.next/fallback-build-manifest.json +2 -2
  52. package/web/.next/prerender-manifest.json +3 -3
  53. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
  54. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  55. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  56. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +17 -17
  58. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  59. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  62. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  63. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  64. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  65. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
  66. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  67. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  68. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +17 -17
  70. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  71. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
  74. package/web/.next/server/app/(dashboard)/page.js +1 -1
  75. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  76. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  78. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  79. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/_global-error.html +2 -2
  82. package/web/.next/server/app/_global-error.rsc +1 -1
  83. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  84. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  85. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  86. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  87. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  88. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  89. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  91. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  92. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  93. package/web/.next/server/app/skills/page.js +1 -1
  94. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  95. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  96. package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  97. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  99. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  100. package/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js +3 -0
  101. package/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js.map +1 -0
  102. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  103. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +1 -1
  105. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +1 -1
  107. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js.map +1 -1
  108. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js → server/chunks/ssr/[root-of-the-server]__07385073._.js} +3 -3
  109. package/web/.next/server/chunks/ssr/{[root-of-the-server]__45dbf93d._.js.map → [root-of-the-server]__07385073._.js.map} +1 -1
  110. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  111. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
  112. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  113. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  114. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +3 -0
  115. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -0
  116. package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +4 -0
  117. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  118. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  119. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +3 -0
  120. package/web/.next/server/chunks/ssr/{[root-of-the-server]__aef6b3cd._.js.map → [root-of-the-server]__8c1a3d66._.js.map} +1 -1
  121. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f182fa1e._.js → [root-of-the-server]__8fcb9132._.js} +3 -3
  122. package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js.map +1 -0
  123. package/web/.next/server/chunks/ssr/_00e6c698._.js +1 -1
  124. package/web/.next/server/chunks/ssr/_00e6c698._.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/_07c2a32a._.js +1 -1
  126. package/web/.next/server/chunks/ssr/_07c2a32a._.js.map +1 -1
  127. package/web/.next/server/chunks/ssr/_34a58db8._.js +1 -1
  128. package/web/.next/server/chunks/ssr/_34a58db8._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/_37259405._.js +1 -1
  130. package/web/.next/server/chunks/ssr/_37259405._.js.map +1 -1
  131. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/_85d0351b._.js → server/chunks/ssr/_63bfa7dd._.js} +2 -2
  132. package/web/.next/server/chunks/ssr/_63bfa7dd._.js.map +1 -0
  133. package/web/.next/server/chunks/ssr/{_7a259f2c._.js → _7215bb0f._.js} +2 -2
  134. package/web/.next/server/chunks/ssr/{_7a259f2c._.js.map → _7215bb0f._.js.map} +1 -1
  135. package/web/.next/server/chunks/ssr/_cb5b3951._.js +1 -1
  136. package/web/.next/server/chunks/ssr/_cb5b3951._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
  138. package/web/.next/server/chunks/ssr/_fc3a6895._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
  140. package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
  148. package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  150. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  152. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  153. package/web/.next/server/pages/500.html +2 -2
  154. package/web/.next/server/server-reference-manifest.js +1 -1
  155. package/web/.next/server/server-reference-manifest.json +20 -20
  156. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  157. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  158. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  159. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
  160. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  161. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  162. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  163. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +17 -17
  164. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  165. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  166. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  167. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  168. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  169. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  170. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  171. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
  172. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +1 -1
  173. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  174. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  175. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +17 -17
  176. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  177. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  178. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  179. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
  180. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js +1 -1
  181. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  182. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  183. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
  184. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  185. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  186. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  187. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  188. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  189. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  190. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  191. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  192. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  193. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  194. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  195. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  196. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  197. package/web/.next/standalone/src/presentation/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  198. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  199. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js +1 -1
  200. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  201. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  202. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  203. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  204. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  205. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  206. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__b1f03347._.js +3 -0
  207. 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
  208. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +1 -1
  209. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +1 -1
  210. package/web/.next/{server/chunks/ssr/[root-of-the-server]__45dbf93d._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js} +3 -3
  211. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  212. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  213. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +3 -0
  214. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +4 -0
  215. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  216. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8c1a3d66._.js +3 -0
  217. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__f182fa1e._.js → [root-of-the-server]__8fcb9132._.js} +3 -3
  218. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_00e6c698._.js +1 -1
  219. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_07c2a32a._.js +1 -1
  220. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_34a58db8._.js +1 -1
  221. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_37259405._.js +1 -1
  222. package/web/.next/{server/chunks/ssr/_85d0351b._.js → standalone/src/presentation/web/.next/server/chunks/ssr/_63bfa7dd._.js} +2 -2
  223. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_7a259f2c._.js → _7215bb0f._.js} +2 -2
  224. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_cb5b3951._.js +1 -1
  225. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
  226. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
  227. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
  228. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
  229. 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
  230. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
  231. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  232. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  233. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  234. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  235. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +20 -20
  236. package/web/.next/standalone/src/presentation/web/app/(dashboard)/get-graph-data.ts +2 -6
  237. package/web/.next/standalone/src/presentation/web/app/api/tools/[id]/install/route.ts +6 -14
  238. package/web/.next/standalone/src/presentation/web/app/build-graph-nodes.ts +14 -1
  239. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +10 -8
  240. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx +13 -3
  241. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx +6 -2
  242. package/web/.next/standalone/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.tsx +2 -0
  243. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +8 -5
  244. package/web/.next/standalone/src/presentation/web/components/common/feature-node/feature-node.tsx +30 -24
  245. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +33 -25
  246. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +25 -3
  247. package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +184 -230
  248. package/web/.next/standalone/src/presentation/web/components/ui/alert-dialog.tsx +7 -0
  249. package/web/.next/standalone/src/presentation/web/components/ui/dialog.tsx +7 -1
  250. package/web/.next/standalone/src/presentation/web/lib/layout-with-dagre.ts +93 -4
  251. package/web/.next/static/chunks/0c54314c8c9c9739.js +7 -0
  252. package/web/.next/static/chunks/{5f5c607ffae8b918.js → 304c8593d0a6525d.js} +1 -1
  253. package/web/.next/static/chunks/4558d1663c6f4d2c.js +1 -0
  254. package/web/.next/static/chunks/{c132a0a46d27747c.js → 4df07e765b233622.js} +1 -1
  255. package/web/.next/static/chunks/{fcdedd892adde5ec.js → 585ae19c520e8b72.js} +1 -1
  256. package/web/.next/static/chunks/{49dc58443f686e6f.js → 6e14d8bd5c005e6e.js} +1 -1
  257. package/web/.next/static/chunks/{81fe6a4ff82e2424.js → 8a1eb93510e54db0.js} +1 -1
  258. package/web/.next/static/chunks/b143c7d78a6888e9.js +1 -0
  259. package/web/.next/static/chunks/{69a1d86331a90aee.js → b45344579a43cbb8.js} +1 -1
  260. package/web/.next/static/chunks/dec13bccb136ef7c.css +2 -0
  261. package/web/.next/static/chunks/e4522f7d3134eefe.js +1 -0
  262. package/web/.next/static/chunks/{c59059bb396f7d27.js → fe83a799663fd3cc.js} +1 -1
  263. package/web/.next/trace +1 -1
  264. package/web/.next/trace-build +1 -1
  265. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +0 -3
  266. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js.map +0 -1
  267. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +0 -3
  268. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +0 -1
  269. package/web/.next/server/chunks/ssr/[root-of-the-server]__aef6b3cd._.js +0 -3
  270. package/web/.next/server/chunks/ssr/_85d0351b._.js.map +0 -1
  271. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +0 -3
  272. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +0 -3
  273. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aef6b3cd._.js +0 -3
  274. package/web/.next/static/chunks/06dfd668334ffb4e.js +0 -7
  275. package/web/.next/static/chunks/224ed5f5dbd33154.css +0 -2
  276. package/web/.next/static/chunks/570802c159d4f3c0.js +0 -1
  277. package/web/.next/static/chunks/577fb9c5d5c1c99f.js +0 -1
  278. package/web/.next/static/chunks/e44849eb58a3335f.js +0 -1
  279. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__f182fa1e._.js.map → [root-of-the-server]__6db85a66._.js.map} +0 -0
  280. /package/web/.next/static/{8XK3vr1tAio-lA1vztJt6 → 9bO_bJBssG0NRxEG03iM5}/_buildManifest.js +0 -0
  281. /package/web/.next/static/{8XK3vr1tAio-lA1vztJt6 → 9bO_bJBssG0NRxEG03iM5}/_clientMiddlewareManifest.json +0 -0
  282. /package/web/.next/static/{8XK3vr1tAio-lA1vztJt6 → 9bO_bJBssG0NRxEG03iM5}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"00df8e4bc8de34c8182c6003d8105642807701155d\": {\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 \"40c17a3634584362c7142c00aafee72f6004cbee18\": {\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 \"4006a5b80275a5931ec9e11b91b26f5164e7b2e4f6\": {\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 \"4030954415b69a369e6b96923a82ccd93134341373\": {\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 \"404f727a1ac54200267b4114f04da4b245da7392c3\": {\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 \"40b9909f2c2e3bf07458192194b5a82195153aa352\": {\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 \"401fad152b6d5fafd6ab287a8b366f0478764317e8\": {\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 \"40e85d66d405e0afaeaeefcfd8cffa3de2695238d7\": {\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 \"40dacc1ddeeaf95686889f13ce7c2dd78493a9a59f\": {\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 \"409d4cd0c44464c63482916613f8a5a6c84ee29e0e\": {\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 \"4071d667e2a4df3eaf7ec4c6f341bbac5b3528e3f7\": {\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 \"40222aae9d09181805e442e56756fc3dfe699600a0\": {\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 \"009a0a68783055fae4fb0312d797ea7beba4c6c830\": {\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 \"40a51fff5d1c2c954e205c35f7343bdeefebbe05cf\": {\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 \"60b9fcfa41108b04b559c4a5d259ee5bad0a8084e8\": {\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 \"601b0007789dcb56b4148e329a6f01a017628c497a\": {\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 \"409be39a0755d9515f5fe5b5c08dabfca69e687465\": {\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 \"40e4c0ae41aea1efae8721e4d70989f7bd1cad5304\": {\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 \"401ff2db4193978ac7d0c932c386ebe2af728e361d\": {\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\": \"qq63RWVyqDQuunSw9DlbHrDpD5I4NnNH3E3tq1UYHSU=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {\n \"004b2dc39c2c87090aa79cc490f2278a407e6a1a99\": {\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 \"400a8ede2435ed7ef4a02a59c0ca10ed273a2b5dfd\": {\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 \"4091b389ef395ae89fda106fcc72a7298e7c2ba701\": {\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 \"40d24de9aedba6687d265fa4b247a37eba5cf807fe\": {\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 \"40cd70db8a92b99a63e84ce96e00d17eb5853d883e\": {\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 \"403d630984e0b0ab0dbc946b89ffb6064720577c28\": {\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 \"40ba682dbe274bdf04e51dfd27c2a4eeff1d95c817\": {\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 \"4005a4e90f82bf960ea223d961b7ceb4ee7273fbfe\": {\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 \"402b6975b9af5a5c21a021ab1a56dc0712ff55d2c4\": {\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 \"40a2c8d77b3c9077856eda0a32f3864be255a159e4\": {\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 \"401f04652d1234ae172e4f38fc83a8ee05ff1787c0\": {\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 \"408d1018e3aaede30886d78e2f25f3f068adc0bb56\": {\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 \"003192d30d03f3d14a39761ac89a91409a52823723\": {\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 \"40dc2819f0410c1864b5e8240beda7a7e0bbded84a\": {\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 \"60c1544db6a24763824d6e6635e96f956a27885760\": {\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 \"60dbaaa4ea82809dc2c8054a310332edb41efc56d9\": {\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 \"402f22100a4e19d1a1cdbe4c89e87a36641a9fa8f7\": {\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 \"40532f400ff7cc11798e6472692025ed83ffdd4577\": {\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 \"40eeee82ffadacec80880824975184ade92b178c9b\": {\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\": \"ovEK0toRj8BHc5ThyOz8kdSd0Ucxco6spjyXEYc2YNA=\"\n}"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "node": {
3
- "00df8e4bc8de34c8182c6003d8105642807701155d": {
3
+ "004b2dc39c2c87090aa79cc490f2278a407e6a1a99": {
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
- "40c17a3634584362c7142c00aafee72f6004cbee18": {
88
+ "400a8ede2435ed7ef4a02a59c0ca10ed273a2b5dfd": {
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
- "4006a5b80275a5931ec9e11b91b26f5164e7b2e4f6": {
152
+ "4091b389ef395ae89fda106fcc72a7298e7c2ba701": {
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
- "4030954415b69a369e6b96923a82ccd93134341373": {
216
+ "40d24de9aedba6687d265fa4b247a37eba5cf807fe": {
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
- "404f727a1ac54200267b4114f04da4b245da7392c3": {
280
+ "40cd70db8a92b99a63e84ce96e00d17eb5853d883e": {
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
- "40b9909f2c2e3bf07458192194b5a82195153aa352": {
344
+ "403d630984e0b0ab0dbc946b89ffb6064720577c28": {
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
- "401fad152b6d5fafd6ab287a8b366f0478764317e8": {
408
+ "40ba682dbe274bdf04e51dfd27c2a4eeff1d95c817": {
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
- "40e85d66d405e0afaeaeefcfd8cffa3de2695238d7": {
465
+ "4005a4e90f82bf960ea223d961b7ceb4ee7273fbfe": {
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
- "40dacc1ddeeaf95686889f13ce7c2dd78493a9a59f": {
522
+ "402b6975b9af5a5c21a021ab1a56dc0712ff55d2c4": {
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
- "409d4cd0c44464c63482916613f8a5a6c84ee29e0e": {
579
+ "40a2c8d77b3c9077856eda0a32f3864be255a159e4": {
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
- "4071d667e2a4df3eaf7ec4c6f341bbac5b3528e3f7": {
636
+ "401f04652d1234ae172e4f38fc83a8ee05ff1787c0": {
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
- "40222aae9d09181805e442e56756fc3dfe699600a0": {
693
+ "408d1018e3aaede30886d78e2f25f3f068adc0bb56": {
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
- "009a0a68783055fae4fb0312d797ea7beba4c6c830": {
750
+ "003192d30d03f3d14a39761ac89a91409a52823723": {
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
- "40a51fff5d1c2c954e205c35f7343bdeefebbe05cf": {
772
+ "40dc2819f0410c1864b5e8240beda7a7e0bbded84a": {
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
- "60b9fcfa41108b04b559c4a5d259ee5bad0a8084e8": {
794
+ "60c1544db6a24763824d6e6635e96f956a27885760": {
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
- "601b0007789dcb56b4148e329a6f01a017628c497a": {
816
+ "60dbaaa4ea82809dc2c8054a310332edb41efc56d9": {
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
- "409be39a0755d9515f5fe5b5c08dabfca69e687465": {
838
+ "402f22100a4e19d1a1cdbe4c89e87a36641a9fa8f7": {
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
- "40e4c0ae41aea1efae8721e4d70989f7bd1cad5304": {
860
+ "40532f400ff7cc11798e6472692025ed83ffdd4577": {
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
- "401ff2db4193978ac7d0c932c386ebe2af728e361d": {
882
+ "40eeee82ffadacec80880824975184ade92b178c9b": {
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": "qq63RWVyqDQuunSw9DlbHrDpD5I4NnNH3E3tq1UYHSU="
906
+ "encryptionKey": "ovEK0toRj8BHc5ThyOz8kdSd0Ucxco6spjyXEYc2YNA="
907
907
  }
@@ -2,7 +2,7 @@ import { resolve } from '@/lib/server-container';
2
2
  import type { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';
3
3
  import type { ListRepositoriesUseCase } from '@shepai/core/application/use-cases/repositories/list-repositories.use-case';
4
4
  import type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';
5
- import { layoutWithDagre } from '@/lib/layout-with-dagre';
5
+ import { layoutWithDagre, CANVAS_LAYOUT_DEFAULTS } from '@/lib/layout-with-dagre';
6
6
  import { buildGraphNodes } from '@/app/build-graph-nodes';
7
7
  import type { CanvasNodeType } from '@/components/features/features-canvas';
8
8
  import type { Edge } from '@xyflow/react';
@@ -23,9 +23,5 @@ export async function getGraphData(): Promise<{ nodes: CanvasNodeType[]; edges:
23
23
 
24
24
  const { nodes, edges } = buildGraphNodes(repositories, featuresWithRuns);
25
25
 
26
- return layoutWithDagre(nodes, edges, {
27
- direction: 'LR',
28
- ranksep: 200,
29
- nodesep: 15,
30
- });
26
+ return layoutWithDagre(nodes, edges, CANVAS_LAYOUT_DEFAULTS);
31
27
  }
@@ -1,14 +1,7 @@
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 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.
4
+ import { TOOL_METADATA } from '@shepai/core/infrastructure/services/tool-installer/tool-metadata';
12
5
 
13
6
  export async function POST(
14
7
  _request: Request,
@@ -16,14 +9,13 @@ export async function POST(
16
9
  ): Promise<NextResponse> {
17
10
  const { id } = await params;
18
11
 
12
+ if (!TOOL_METADATA[id]) {
13
+ return NextResponse.json({ error: 'Tool not found' }, { status: 404 });
14
+ }
15
+
19
16
  try {
20
17
  const useCase = resolve<InstallToolUseCase>('InstallToolUseCase');
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
-
18
+ const status = await useCase.execute(id);
27
19
  return NextResponse.json({ status });
28
20
  } catch (error: unknown) {
29
21
  const message = error instanceof Error ? error.message : 'Failed to install tool';
@@ -117,7 +117,20 @@ function appendFeatureNodes(
117
117
  nodes: CanvasNodeType[],
118
118
  edges: Edge[]
119
119
  ): void {
120
- repoFeatures.forEach(({ feature, run }) => {
120
+ // Sort by createdAt so newest features appear last (bottom) in the layout
121
+ const sorted = [...repoFeatures].sort((a, b) => {
122
+ const aTime =
123
+ a.feature.createdAt instanceof Date
124
+ ? a.feature.createdAt.getTime()
125
+ : Number(a.feature.createdAt);
126
+ const bTime =
127
+ b.feature.createdAt instanceof Date
128
+ ? b.feature.createdAt.getTime()
129
+ : Number(b.feature.createdAt);
130
+ return aTime - bTime;
131
+ });
132
+
133
+ sorted.forEach(({ feature, run }) => {
121
134
  const agentNode = run?.result?.startsWith('node:') ? run.result.slice(5) : undefined;
122
135
  const lifecycle: FeatureLifecyclePhase =
123
136
  run?.status === 'completed'
@@ -34,6 +34,8 @@ export interface BaseDrawerProps extends VariantProps<typeof drawerVariants> {
34
34
  open: boolean;
35
35
  onClose: () => void;
36
36
  modal?: boolean;
37
+ /** When true, clicking anywhere outside the drawer closes it, ignoring `data-no-drawer-close` guards. */
38
+ dismissOnOutsideClick?: boolean;
37
39
  header?: React.ReactNode;
38
40
  children: React.ReactNode;
39
41
  footer?: React.ReactNode;
@@ -46,6 +48,7 @@ export function BaseDrawer({
46
48
  open,
47
49
  onClose,
48
50
  modal = false,
51
+ dismissOnOutsideClick = false,
49
52
  size,
50
53
  header,
51
54
  children,
@@ -68,19 +71,18 @@ export function BaseDrawer({
68
71
  // longer in the DOM tree — treat it as an internal click, not an outside one.
69
72
  if (!document.body.contains(target)) return;
70
73
  if (contentRef.current?.contains(target)) return;
71
- // Don't close when clicking inside the canvas or other Radix overlays
72
- if (
73
- target.closest(
74
- '[data-no-drawer-close], [role="alertdialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]'
75
- )
76
- )
77
- return;
74
+ // Don't close when clicking inside Radix overlays.
75
+ // When dismissOnOutsideClick is false (default), also respect data-no-drawer-close guards.
76
+ const ignoreSelector = dismissOnOutsideClick
77
+ ? '[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]'
78
+ : '[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]';
79
+ if (target.closest(ignoreSelector)) return;
78
80
  onClose();
79
81
  };
80
82
 
81
83
  document.addEventListener('click', handleClick);
82
84
  return () => document.removeEventListener('click', handleClick);
83
- }, [open, modal, onClose]);
85
+ }, [open, modal, onClose, dismissOnOutsideClick]);
84
86
 
85
87
  return (
86
88
  <Drawer
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- import { useState, useCallback } from 'react';
3
+ import { useState, useCallback, useEffect } from 'react';
4
4
  import { useRouter, usePathname } from 'next/navigation';
5
5
  import { toast } from 'sonner';
6
6
  import { createFeature } from '@/app/actions/create-feature';
@@ -31,8 +31,18 @@ export function CreateDrawerClient({
31
31
  // content during soft navigation, so this component is NOT unmounted when
32
32
  // navigating to `/`. We watch the pathname and let Vaul handle the close
33
33
  // animation when the path no longer matches the create route.
34
+ // When submitting, force the drawer closed immediately — router.push('/')
35
+ // is async and the pathname may not update before the next render.
34
36
  const pathname = usePathname();
35
- const isOpen = pathname.startsWith('/create');
37
+ const isOpen = !isSubmitting && pathname.startsWith('/create');
38
+
39
+ // Safety net: if the drawer is closed (e.g. via form submit + isSubmitting)
40
+ // but router.push('/') hasn't taken effect yet, force-clear the route.
41
+ useEffect(() => {
42
+ if (!isOpen && pathname.startsWith('/create')) {
43
+ router.replace('/');
44
+ }
45
+ }, [isOpen, pathname, router]);
36
46
 
37
47
  const onClose = useCallback(() => {
38
48
  router.push('/');
@@ -49,6 +59,7 @@ export function CreateDrawerClient({
49
59
  name: data.name,
50
60
  description: data.description,
51
61
  repositoryPath: data.repositoryPath,
62
+ parentId: data.parentId,
52
63
  },
53
64
  })
54
65
  );
@@ -66,7 +77,6 @@ export function CreateDrawerClient({
66
77
  return;
67
78
  }
68
79
  createSound.play();
69
- router.refresh();
70
80
  })
71
81
  .catch(() => {
72
82
  toast.error('Failed to create feature');