@shepai/cli 1.72.9 → 1.73.0-pr222.ef53005

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 (449) hide show
  1. package/dist/packages/core/src/application/ports/output/agents/agent-executor-provider.interface.d.ts +1 -1
  2. package/dist/packages/core/src/application/ports/output/agents/agent-executor-provider.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +20 -1
  4. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +68 -41
  6. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +10 -0
  7. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  8. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/di/container.js +2 -1
  10. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.d.ts +4 -2
  11. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-provider.service.js +8 -4
  13. package/dist/packages/core/src/infrastructure/services/agents/common/agent-runner.service.js +1 -1
  14. package/dist/packages/core/src/infrastructure/services/agents/common/structured-agent-caller.service.js +1 -1
  15. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +1 -1
  16. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +2 -4
  18. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  19. package/dist/src/presentation/web/app/actions/create-feature.js +20 -2
  20. package/dist/src/presentation/web/app/actions/get-feature-metadata.d.ts +10 -0
  21. package/dist/src/presentation/web/app/actions/get-feature-metadata.d.ts.map +1 -0
  22. package/dist/src/presentation/web/app/actions/get-feature-metadata.js +14 -0
  23. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  24. package/dist/src/presentation/web/app/api/agent-events/route.js +15 -0
  25. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  26. package/dist/src/presentation/web/app/build-feature-node-data.js +2 -26
  27. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  28. package/dist/src/presentation/web/app/build-graph-nodes.js +2 -26
  29. package/dist/src/presentation/web/app/layout.js +1 -1
  30. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts.map +1 -0
  31. package/dist/src/presentation/web/components/common/add-repository-button/index.d.ts +2 -0
  32. package/dist/src/presentation/web/components/common/add-repository-button/index.d.ts.map +1 -0
  33. package/dist/src/presentation/web/components/common/{add-repository-node → add-repository-button}/index.js +0 -1
  34. package/dist/src/presentation/web/components/common/add-repository-button/pick-folder.d.ts.map +1 -0
  35. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  36. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +13 -18
  37. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +2 -0
  38. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  39. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +11 -11
  40. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  41. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +83 -144
  42. package/dist/src/presentation/web/components/common/control-center-drawer/index.d.ts +0 -1
  43. package/dist/src/presentation/web/components/common/control-center-drawer/index.d.ts.map +1 -1
  44. package/dist/src/presentation/web/components/common/control-center-drawer/index.js +0 -1
  45. package/dist/src/presentation/web/components/common/control-center-drawer/use-artifact-fetch.d.ts +13 -0
  46. package/dist/src/presentation/web/components/common/control-center-drawer/use-artifact-fetch.d.ts.map +1 -0
  47. package/dist/src/presentation/web/components/common/control-center-drawer/use-artifact-fetch.js +46 -0
  48. package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.d.ts.map +1 -1
  49. package/dist/src/presentation/web/components/common/feature-drawer/use-feature-actions.js +7 -10
  50. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts +25 -0
  51. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  52. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +45 -2
  53. package/dist/src/presentation/web/components/common/index.d.ts +2 -3
  54. package/dist/src/presentation/web/components/common/index.d.ts.map +1 -1
  55. package/dist/src/presentation/web/components/common/index.js +2 -3
  56. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +1 -1
  57. package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.d.ts.map +1 -1
  58. package/dist/src/presentation/web/components/common/repository-node/use-repository-actions.js +14 -39
  59. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.d.ts +1 -3
  60. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.d.ts.map +1 -1
  61. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.js +3 -7
  62. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts +0 -1
  63. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.js +0 -11
  65. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +1 -1
  66. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  67. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +31 -14
  68. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +0 -11
  69. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
  70. package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +2 -37
  71. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +8 -0
  72. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  73. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +177 -350
  74. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +2 -10
  75. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  76. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +11 -54
  77. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.d.ts.map +1 -1
  78. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.stories.js +0 -46
  79. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +1 -1
  80. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts +1 -3
  81. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  82. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  83. package/dist/src/presentation/web/components/ui/alert-dialog.d.ts.map +1 -1
  84. package/dist/src/presentation/web/components/ui/alert-dialog.js +2 -2
  85. package/dist/src/presentation/web/components/ui/dialog.d.ts.map +1 -1
  86. package/dist/src/presentation/web/components/ui/dialog.js +2 -2
  87. package/dist/src/presentation/web/components/ui/scroll-area.js +1 -1
  88. package/dist/src/presentation/web/hooks/agent-events-provider.d.ts.map +1 -1
  89. package/dist/src/presentation/web/hooks/agent-events-provider.js +3 -2
  90. package/dist/src/presentation/web/hooks/use-agent-events.d.ts.map +1 -1
  91. package/dist/src/presentation/web/hooks/use-agent-events.js +19 -5
  92. package/dist/src/presentation/web/hooks/use-deploy-action.d.ts.map +1 -1
  93. package/dist/src/presentation/web/hooks/use-deploy-action.js +10 -13
  94. package/dist/src/presentation/web/hooks/use-graph-state.d.ts +42 -0
  95. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -0
  96. package/dist/src/presentation/web/hooks/use-graph-state.js +257 -0
  97. package/dist/src/presentation/web/hooks/use-notifications.d.ts +1 -5
  98. package/dist/src/presentation/web/hooks/use-notifications.d.ts.map +1 -1
  99. package/dist/src/presentation/web/hooks/use-notifications.js +1 -26
  100. package/dist/src/presentation/web/hooks/use-notifications.stories.d.ts.map +1 -1
  101. package/dist/src/presentation/web/hooks/use-notifications.stories.js +28 -38
  102. package/dist/src/presentation/web/lib/derive-graph.d.ts +52 -0
  103. package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -0
  104. package/dist/src/presentation/web/lib/derive-graph.js +126 -0
  105. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  106. package/dist/src/presentation/web/lib/layout-with-dagre.js +1 -2
  107. package/dist/src/presentation/web/lib/logger.d.ts +7 -0
  108. package/dist/src/presentation/web/lib/logger.d.ts.map +1 -0
  109. package/dist/src/presentation/web/lib/logger.js +11 -0
  110. package/dist/tsconfig.build.tsbuildinfo +1 -1
  111. package/package.json +1 -1
  112. package/web/.next/BUILD_ID +1 -1
  113. package/web/.next/build-manifest.json +2 -2
  114. package/web/.next/cache/.previewinfo +1 -1
  115. package/web/.next/cache/.rscinfo +1 -1
  116. package/web/.next/cache/.tsbuildinfo +1 -1
  117. package/web/.next/cache/config.json +3 -3
  118. package/web/.next/fallback-build-manifest.json +2 -2
  119. package/web/.next/prerender-manifest.json +3 -3
  120. package/web/.next/required-server-files.js +1 -1
  121. package/web/.next/required-server-files.json +1 -1
  122. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +45 -30
  123. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  124. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  125. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +51 -36
  127. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  128. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  129. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  130. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +41 -26
  131. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  132. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  133. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +45 -30
  135. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  136. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  137. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  138. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +51 -36
  139. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  140. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  141. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  142. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +41 -26
  143. package/web/.next/server/app/(dashboard)/page.js +1 -1
  144. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  145. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  146. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +41 -26
  147. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  148. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  149. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  150. package/web/.next/server/app/_global-error.html +2 -2
  151. package/web/.next/server/app/_global-error.rsc +1 -1
  152. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  153. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  154. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  155. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  156. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  157. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  158. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  159. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  160. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  161. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  162. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  163. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  164. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  165. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  166. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  167. package/web/.next/server/app/version/page.js.nft.json +1 -1
  168. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  170. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  172. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  173. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +3 -0
  174. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -0
  175. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +3 -0
  176. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -0
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +2 -2
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +1 -1
  180. package/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  182. package/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js +2 -2
  183. package/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/{[root-of-the-server]__cbae9863._.js → [root-of-the-server]__6258349c._.js} +2 -2
  185. package/web/.next/server/chunks/ssr/[root-of-the-server]__6258349c._.js.map +1 -0
  186. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  187. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +2 -2
  189. package/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  191. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  192. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__e5e09f72._.js → server/chunks/ssr/[root-of-the-server]__94a6d275._.js} +2 -2
  193. package/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js.map +1 -0
  194. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  195. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  196. package/web/.next/server/chunks/ssr/_07c2a32a._.js +1 -1
  197. package/web/.next/server/chunks/ssr/_07c2a32a._.js.map +1 -1
  198. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  199. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  200. package/web/.next/server/chunks/ssr/_4f7c70c9._.js +6 -0
  201. package/web/.next/server/chunks/ssr/_4f7c70c9._.js.map +1 -0
  202. package/web/.next/server/chunks/ssr/{_1978f325._.js → _5ee4f5a7._.js} +2 -2
  203. package/web/.next/server/chunks/ssr/_5ee4f5a7._.js.map +1 -0
  204. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  205. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  206. package/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  207. package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
  208. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  209. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  210. package/web/.next/server/chunks/ssr/_9f940437._.js +1 -1
  211. package/web/.next/server/chunks/ssr/_9f940437._.js.map +1 -1
  212. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +8 -0
  213. package/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js.map +1 -0
  214. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_5ea689db._.js → server/chunks/ssr/src_presentation_web_30d7eeda._.js} +2 -2
  215. package/web/.next/server/chunks/ssr/{src_presentation_web_5ea689db._.js.map → src_presentation_web_30d7eeda._.js.map} +1 -1
  216. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +8 -0
  217. package/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js.map +1 -0
  218. package/web/.next/server/chunks/ssr/{src_presentation_web_5ea689db._.js → src_presentation_web_565a14f8._.js} +2 -2
  219. package/web/.next/server/chunks/ssr/{src_presentation_web_7188a290._.js.map → src_presentation_web_565a14f8._.js.map} +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +1 -1
  221. package/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js.map +1 -1
  222. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +3 -0
  223. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -0
  224. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -1
  226. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  230. package/web/.next/server/pages/500.html +2 -2
  231. package/web/.next/server/server-reference-manifest.js +1 -1
  232. package/web/.next/server/server-reference-manifest.json +183 -126
  233. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  234. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  235. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  236. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  237. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +45 -30
  238. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  239. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  240. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  241. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +51 -36
  242. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  243. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  244. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  245. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +41 -26
  246. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  247. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  248. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  249. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +45 -30
  250. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js +1 -1
  251. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  252. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  253. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +51 -36
  254. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  255. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  256. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  257. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +41 -26
  258. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js +1 -1
  259. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  260. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  261. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +41 -26
  262. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  263. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  264. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  265. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  266. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  267. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  268. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  269. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  270. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  271. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  272. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  273. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  274. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  275. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  276. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  277. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  278. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  279. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  280. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  281. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  282. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  283. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  284. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  285. 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
  286. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +3 -0
  287. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +3 -0
  288. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__17a611f0._.js +2 -2
  289. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2018e25f._.js +1 -1
  290. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  291. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__45dbf93d._.js +2 -2
  292. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__cbae9863._.js → [root-of-the-server]__6258349c._.js} +2 -2
  293. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  294. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6cbc1149._.js +2 -2
  295. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  296. package/web/.next/{server/chunks/ssr/[root-of-the-server]__e5e09f72._.js → standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__94a6d275._.js} +2 -2
  297. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  298. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_07c2a32a._.js +1 -1
  299. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  300. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_4f7c70c9._.js +6 -0
  301. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_1978f325._.js → _5ee4f5a7._.js} +2 -2
  302. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  303. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
  304. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  305. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9f940437._.js +1 -1
  306. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_163038ba._.js +8 -0
  307. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{src_presentation_web_7188a290._.js → src_presentation_web_30d7eeda._.js} +2 -2
  308. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_459cb687._.js +8 -0
  309. package/web/.next/{server/chunks/ssr/src_presentation_web_7188a290._.js → standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js} +2 -2
  310. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_67178b88._.js +1 -1
  311. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +3 -0
  312. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +1 -1
  313. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  314. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  315. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  316. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  317. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +183 -126
  318. package/web/.next/standalone/src/presentation/web/CLAUDE.md +77 -33
  319. package/web/.next/standalone/src/presentation/web/app/actions/create-feature.ts +27 -2
  320. package/web/.next/standalone/src/presentation/web/app/actions/get-feature-metadata.ts +18 -0
  321. package/web/.next/standalone/src/presentation/web/app/api/agent-events/route.ts +17 -0
  322. package/web/.next/standalone/src/presentation/web/app/build-feature-node-data.ts +3 -30
  323. package/web/.next/standalone/src/presentation/web/app/build-graph-nodes.ts +3 -30
  324. package/web/.next/standalone/src/presentation/web/app/layout.tsx +1 -1
  325. package/web/.next/standalone/src/presentation/web/components/common/add-repository-button/index.ts +1 -0
  326. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/create-drawer-client.tsx +15 -21
  327. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/drawer-view.ts +12 -13
  328. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx +116 -141
  329. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/index.ts +0 -1
  330. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/use-artifact-fetch.ts +56 -0
  331. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/use-feature-actions.ts +6 -7
  332. package/web/.next/standalone/src/presentation/web/components/common/feature-node/derive-feature-state.ts +63 -2
  333. package/web/.next/standalone/src/presentation/web/components/common/index.ts +2 -12
  334. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +2 -2
  335. package/web/.next/standalone/src/presentation/web/components/common/repository-node/use-repository-actions.ts +29 -54
  336. package/web/.next/standalone/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.stories.tsx +0 -13
  337. package/web/.next/standalone/src/presentation/web/components/common/sidebar-section-header/sidebar-section-header.tsx +1 -45
  338. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-empty-state.tsx +1 -1
  339. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +43 -36
  340. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center.stories.tsx +2 -41
  341. package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +226 -438
  342. package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.stories.tsx +0 -48
  343. package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.tsx +13 -76
  344. package/web/.next/standalone/src/presentation/web/components/layouts/app-shell/app-shell.tsx +1 -1
  345. package/web/.next/standalone/src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx +2 -14
  346. package/web/.next/standalone/src/presentation/web/components/ui/alert-dialog.tsx +2 -5
  347. package/web/.next/standalone/src/presentation/web/components/ui/dialog.tsx +2 -5
  348. package/web/.next/standalone/src/presentation/web/components/ui/scroll-area.tsx +1 -1
  349. package/web/.next/standalone/src/presentation/web/hooks/agent-events-provider.tsx +7 -2
  350. package/web/.next/standalone/src/presentation/web/hooks/use-agent-events.ts +20 -5
  351. package/web/.next/standalone/src/presentation/web/hooks/use-deploy-action.ts +13 -13
  352. package/web/.next/standalone/src/presentation/web/hooks/use-graph-state.ts +376 -0
  353. package/web/.next/standalone/src/presentation/web/hooks/use-notifications.stories.tsx +2 -30
  354. package/web/.next/standalone/src/presentation/web/hooks/use-notifications.ts +2 -36
  355. package/web/.next/standalone/src/presentation/web/lib/derive-graph.ts +178 -0
  356. package/web/.next/standalone/src/presentation/web/lib/layout-with-dagre.ts +1 -2
  357. package/web/.next/standalone/src/presentation/web/lib/logger.ts +12 -0
  358. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  359. package/web/.next/static/chunks/0cfed3c69c312c09.js +4 -0
  360. package/web/.next/static/chunks/0ffccd7be73305c8.css +2 -0
  361. package/web/.next/static/chunks/{c92e1360ada8ca94.js → 1f5c93a8b939416d.js} +2 -2
  362. package/web/.next/static/chunks/3f205fd6adbfd20a.js +7 -0
  363. package/web/.next/static/chunks/4c63764a2d06e45e.js +1 -0
  364. package/web/.next/static/chunks/{d4492cd12fdf0891.js → 89e74b1c3eb43b03.js} +1 -1
  365. package/web/.next/static/chunks/{c83897e9213881bf.js → 937d7d4d58942872.js} +1 -1
  366. package/web/.next/static/chunks/95e3f47abe8032e5.js +1 -0
  367. package/web/.next/static/chunks/b835e88cdc8c63d2.js +1 -0
  368. package/web/.next/static/chunks/cb41849bcfaa304e.js +1 -0
  369. package/web/.next/static/chunks/e2342af6b68c94c1.js +1 -0
  370. package/web/.next/static/chunks/ed69d6b172ae2bfe.js +1 -0
  371. package/web/.next/static/chunks/{64850cf4081a2950.js → fd46753cd16664a9.js} +1 -1
  372. package/web/.next/trace +1 -1
  373. package/web/.next/trace-build +1 -1
  374. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-button.d.ts.map +0 -1
  375. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node-config.d.ts +0 -7
  376. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node-config.d.ts.map +0 -1
  377. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node-config.js +0 -1
  378. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.d.ts +0 -6
  379. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.d.ts.map +0 -1
  380. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.js +0 -23
  381. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.d.ts +0 -10
  382. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.d.ts.map +0 -1
  383. package/dist/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.js +0 -33
  384. package/dist/src/presentation/web/components/common/add-repository-node/index.d.ts +0 -4
  385. package/dist/src/presentation/web/components/common/add-repository-node/index.d.ts.map +0 -1
  386. package/dist/src/presentation/web/components/common/add-repository-node/pick-folder.d.ts.map +0 -1
  387. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.d.ts +0 -12
  388. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.d.ts.map +0 -1
  389. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.js +0 -337
  390. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.stories.d.ts +0 -33
  391. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.stories.d.ts.map +0 -1
  392. package/dist/src/presentation/web/components/common/control-center-drawer/control-center-drawer.stories.js +0 -214
  393. package/dist/src/presentation/web/components/common/notification-permission-banner/index.d.ts +0 -2
  394. package/dist/src/presentation/web/components/common/notification-permission-banner/index.d.ts.map +0 -1
  395. package/dist/src/presentation/web/components/common/notification-permission-banner/index.js +0 -1
  396. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.d.ts +0 -2
  397. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.d.ts.map +0 -1
  398. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.js +0 -33
  399. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.d.ts +0 -6
  400. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.d.ts.map +0 -1
  401. package/dist/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.js +0 -24
  402. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_3a02d8a5.js +0 -3
  403. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_3a02d8a5.js.map +0 -1
  404. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_a3044852.js +0 -3
  405. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_a3044852.js.map +0 -1
  406. package/web/.next/server/chunks/ssr/[root-of-the-server]__cbae9863._.js.map +0 -1
  407. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5e09f72._.js.map +0 -1
  408. package/web/.next/server/chunks/ssr/_1978f325._.js.map +0 -1
  409. package/web/.next/server/chunks/ssr/_38d24563._.js +0 -6
  410. package/web/.next/server/chunks/ssr/_38d24563._.js.map +0 -1
  411. package/web/.next/server/chunks/ssr/src_presentation_web_0a49d9ee._.js +0 -8
  412. package/web/.next/server/chunks/ssr/src_presentation_web_0a49d9ee._.js.map +0 -1
  413. package/web/.next/server/chunks/ssr/src_presentation_web_79b0305a._.js +0 -8
  414. package/web/.next/server/chunks/ssr/src_presentation_web_79b0305a._.js.map +0 -1
  415. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_cc16bd01.js +0 -3
  416. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_cc16bd01.js.map +0 -1
  417. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_3a02d8a5.js +0 -3
  418. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_a3044852.js +0 -3
  419. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_38d24563._.js +0 -6
  420. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_0a49d9ee._.js +0 -8
  421. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_79b0305a._.js +0 -8
  422. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_cc16bd01.js +0 -3
  423. package/web/.next/standalone/src/presentation/web/components/common/add-repository-node/add-repository-node-config.ts +0 -8
  424. package/web/.next/standalone/src/presentation/web/components/common/add-repository-node/add-repository-node.stories.tsx +0 -70
  425. package/web/.next/standalone/src/presentation/web/components/common/add-repository-node/add-repository-node.tsx +0 -49
  426. package/web/.next/standalone/src/presentation/web/components/common/add-repository-node/index.ts +0 -3
  427. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/control-center-drawer.stories.tsx +0 -293
  428. package/web/.next/standalone/src/presentation/web/components/common/control-center-drawer/control-center-drawer.tsx +0 -745
  429. package/web/.next/standalone/src/presentation/web/components/common/notification-permission-banner/index.ts +0 -1
  430. package/web/.next/standalone/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.stories.tsx +0 -52
  431. package/web/.next/standalone/src/presentation/web/components/common/notification-permission-banner/notification-permission-banner.tsx +0 -55
  432. package/web/.next/static/chunks/0c54314c8c9c9739.js +0 -7
  433. package/web/.next/static/chunks/10cd08dae8c210ff.js +0 -1
  434. package/web/.next/static/chunks/15bf7ee1da91eb46.js +0 -4
  435. package/web/.next/static/chunks/3c79bca4d3f18f66.js +0 -1
  436. package/web/.next/static/chunks/67f2a7a5e8dc358a.css +0 -2
  437. package/web/.next/static/chunks/6cc840197626843b.js +0 -1
  438. package/web/.next/static/chunks/e3239b6c18cf8b96.js +0 -1
  439. package/web/.next/static/chunks/e9cc53ce8a7bdea6.js +0 -1
  440. package/web/.next/static/chunks/ef916db8c537211a.js +0 -1
  441. /package/dist/src/presentation/web/components/common/{add-repository-node → add-repository-button}/add-repository-button.d.ts +0 -0
  442. /package/dist/src/presentation/web/components/common/{add-repository-node → add-repository-button}/add-repository-button.js +0 -0
  443. /package/dist/src/presentation/web/components/common/{add-repository-node → add-repository-button}/pick-folder.d.ts +0 -0
  444. /package/dist/src/presentation/web/components/common/{add-repository-node → add-repository-button}/pick-folder.js +0 -0
  445. /package/web/.next/standalone/src/presentation/web/components/common/{add-repository-node → add-repository-button}/add-repository-button.tsx +0 -0
  446. /package/web/.next/standalone/src/presentation/web/components/common/{add-repository-node → add-repository-button}/pick-folder.ts +0 -0
  447. /package/web/.next/static/{Atrl1oUfRQej2kgJ972uS → 0yTXyENV4ko7rpM4-3vV8}/_buildManifest.js +0 -0
  448. /package/web/.next/static/{Atrl1oUfRQej2kgJ972uS → 0yTXyENV4ko7rpM4-3vV8}/_clientMiddlewareManifest.json +0 -0
  449. /package/web/.next/static/{Atrl1oUfRQej2kgJ972uS → 0yTXyENV4ko7rpM4-3vV8}/_ssgManifest.js +0 -0
@@ -1,70 +0,0 @@
1
- import { useMemo } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
- import { ReactFlowProvider, ReactFlow } from '@xyflow/react';
4
- import { AddRepositoryNode } from './add-repository-node';
5
- import { AddRepositoryButton } from './add-repository-button';
6
- import type { AddRepositoryNodeData, AddRepositoryNodeType } from './add-repository-node-config';
7
-
8
- const nodeTypes = { addRepositoryNode: AddRepositoryNode };
9
-
10
- function AddRepositoryNodeCanvas({
11
- data,
12
- style = { width: 500, height: 250 },
13
- }: {
14
- data: AddRepositoryNodeData;
15
- style?: React.CSSProperties;
16
- }) {
17
- const nodes: AddRepositoryNodeType[] = useMemo(
18
- () => [{ id: 'node-1', type: 'addRepositoryNode', position: { x: 0, y: 0 }, data }],
19
- [data]
20
- );
21
-
22
- return (
23
- <div style={style}>
24
- <ReactFlowProvider>
25
- <ReactFlow
26
- nodes={nodes}
27
- nodeTypes={nodeTypes}
28
- nodesDraggable={false}
29
- nodesConnectable={false}
30
- proOptions={{ hideAttribution: true }}
31
- fitView
32
- />
33
- </ReactFlowProvider>
34
- </div>
35
- );
36
- }
37
-
38
- const meta: Meta<AddRepositoryNodeData> = {
39
- title: 'Composed/AddRepositoryNode',
40
- tags: ['autodocs'],
41
- parameters: {
42
- layout: 'centered',
43
- },
44
- args: {},
45
- };
46
-
47
- export default meta;
48
- type Story = StoryObj<AddRepositoryNodeData>;
49
-
50
- export const Default: Story = {
51
- render: (args) => <AddRepositoryNodeCanvas data={args} />,
52
- };
53
-
54
- export const WithCallback: Story = {
55
- args: {
56
- onSelect: () => undefined,
57
- },
58
- render: (args) => <AddRepositoryNodeCanvas data={args} />,
59
- };
60
-
61
- // --- Add Repository Button (top bar icon) stories ---
62
-
63
- /** Add Repository button as it appears in the top bar alongside other toggles */
64
- export const TopBarButton: StoryObj = {
65
- render: () => (
66
- <div className="flex gap-1">
67
- <AddRepositoryButton onSelect={() => undefined} />
68
- </div>
69
- ),
70
- };
@@ -1,49 +0,0 @@
1
- 'use client';
2
-
3
- import { useState } from 'react';
4
- import { Plus, Loader2 } from 'lucide-react';
5
- import type { AddRepositoryNodeData } from './add-repository-node-config';
6
- import { pickFolder } from './pick-folder';
7
-
8
- export function AddRepositoryNode({
9
- data,
10
- }: {
11
- data: AddRepositoryNodeData;
12
- [key: string]: unknown;
13
- }) {
14
- const [loading, setLoading] = useState(false);
15
-
16
- async function handleClick() {
17
- if (loading) return;
18
- setLoading(true);
19
- try {
20
- const path = await pickFolder();
21
- if (path) {
22
- data.onSelect?.(path);
23
- }
24
- } finally {
25
- setLoading(false);
26
- }
27
- }
28
-
29
- return (
30
- <div className="group">
31
- <button
32
- type="button"
33
- data-testid="add-repository-node-card"
34
- onClick={handleClick}
35
- disabled={loading}
36
- className="nodrag border-muted-foreground/30 flex w-56 cursor-pointer items-center gap-3 rounded-full border-2 border-dashed px-4 py-3 transition-colors hover:border-blue-500 hover:text-blue-500 disabled:cursor-wait disabled:opacity-60"
37
- >
38
- {loading ? (
39
- <Loader2 className="h-5 w-5 shrink-0 animate-spin" />
40
- ) : (
41
- <Plus className="h-5 w-5 shrink-0" />
42
- )}
43
- <span data-testid="add-repository-node-label" className="text-sm font-medium">
44
- {loading ? 'Opening...' : 'Add Repository'}
45
- </span>
46
- </button>
47
- </div>
48
- );
49
- }
@@ -1,3 +0,0 @@
1
- export { AddRepositoryNode } from './add-repository-node';
2
- export { AddRepositoryButton } from './add-repository-button';
3
- export type { AddRepositoryNodeData, AddRepositoryNodeType } from './add-repository-node-config';
@@ -1,293 +0,0 @@
1
- import { useState } from 'react';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
- import { PrStatus, CiStatus } from '@shepai/core/domain/generated/output';
4
- import { Button } from '@/components/ui/button';
5
- import { DrawerCloseGuardProvider } from '@/hooks/drawer-close-guard';
6
- import { ControlCenterDrawer } from './control-center-drawer';
7
- import type { DrawerView } from './drawer-view';
8
-
9
- const meta: Meta<typeof ControlCenterDrawer> = {
10
- title: 'Drawers/ControlCenterDrawer',
11
- component: ControlCenterDrawer,
12
- tags: ['autodocs'],
13
- decorators: [
14
- (Story) => (
15
- <DrawerCloseGuardProvider>
16
- <Story />
17
- </DrawerCloseGuardProvider>
18
- ),
19
- ],
20
- parameters: {
21
- layout: 'fullscreen',
22
- },
23
- };
24
-
25
- export default meta;
26
- type Story = StoryObj<typeof ControlCenterDrawer>;
27
-
28
- /* ---------------------------------------------------------------------------
29
- * Fixtures
30
- * ------------------------------------------------------------------------- */
31
-
32
- const featureView: DrawerView = {
33
- type: 'feature',
34
- node: {
35
- name: 'Auth Module',
36
- description: 'Implement OAuth2 authentication flow',
37
- featureId: '#f1',
38
- lifecycle: 'implementation',
39
- state: 'running',
40
- progress: 45,
41
- agentType: 'claude-code',
42
- repositoryPath: '/home/user/my-repo',
43
- branch: 'feat/auth-module',
44
- specPath: '/home/user/my-repo/specs/001-auth-module',
45
- },
46
- };
47
-
48
- const featureDoneView: DrawerView = {
49
- type: 'feature',
50
- node: {
51
- name: 'Payment Gateway',
52
- description: 'Stripe integration for subscriptions',
53
- featureId: '#f3',
54
- lifecycle: 'maintain',
55
- state: 'done',
56
- progress: 100,
57
- runtime: '1h 42m',
58
- repositoryPath: '/home/user/my-repo',
59
- branch: 'feat/payment-gateway',
60
- pr: {
61
- url: 'https://github.com/org/repo/pull/42',
62
- number: 42,
63
- status: PrStatus.Merged,
64
- ciStatus: CiStatus.Success,
65
- commitHash: 'abc1234567890',
66
- },
67
- },
68
- };
69
-
70
- const featureErrorView: DrawerView = {
71
- type: 'feature',
72
- node: {
73
- name: 'Email Service',
74
- description: 'Transactional email with SendGrid',
75
- featureId: '#f5',
76
- lifecycle: 'review',
77
- state: 'error',
78
- progress: 30,
79
- errorMessage: 'Build failed: type mismatch in auth middleware',
80
- repositoryPath: '/home/user/my-repo',
81
- branch: 'feat/email-service',
82
- },
83
- };
84
-
85
- const prdReviewView: DrawerView = {
86
- type: 'prd-review',
87
- node: {
88
- name: 'API Rate Limiting',
89
- description: 'Sliding window rate limiting for public endpoints',
90
- featureId: 'feat-abc123',
91
- lifecycle: 'requirements',
92
- state: 'action-required',
93
- progress: 0,
94
- repositoryPath: '/home/user/my-repo',
95
- branch: 'feat/api-rate-limiting',
96
- specPath: '/home/user/my-repo/specs/002-rate-limiting',
97
- },
98
- };
99
-
100
- const techReviewView: DrawerView = {
101
- type: 'tech-review',
102
- node: {
103
- name: 'Search Index',
104
- description: 'Elasticsearch full-text search integration',
105
- featureId: 'feat-def456',
106
- lifecycle: 'implementation',
107
- state: 'action-required',
108
- progress: 0,
109
- repositoryPath: '/home/user/my-repo',
110
- branch: 'feat/search-index',
111
- specPath: '/home/user/my-repo/specs/003-search',
112
- },
113
- };
114
-
115
- const mergeReviewView: DrawerView = {
116
- type: 'merge-review',
117
- node: {
118
- name: 'Auth Module',
119
- description: 'OAuth2 authentication flow',
120
- featureId: 'feat-ghi789',
121
- lifecycle: 'review',
122
- state: 'action-required',
123
- progress: 100,
124
- repositoryPath: '/home/user/my-repo',
125
- branch: 'feat/auth-module',
126
- specPath: '/home/user/my-repo/specs/001-auth-module',
127
- pr: {
128
- url: 'https://github.com/org/repo/pull/17',
129
- number: 17,
130
- status: PrStatus.Open,
131
- ciStatus: CiStatus.Success,
132
- },
133
- },
134
- };
135
-
136
- const createView: DrawerView = {
137
- type: 'feature-create',
138
- repositoryPath: '/home/user/my-repo',
139
- features: [
140
- { id: 'feat-abc123', name: 'API Rate Limiting' },
141
- { id: 'feat-def456', name: 'Search Index' },
142
- ],
143
- workflowDefaults: {
144
- approvalGates: { allowPrd: true, allowPlan: false, allowMerge: false },
145
- push: true,
146
- openPr: false,
147
- },
148
- };
149
-
150
- const repositoryView: DrawerView = {
151
- type: 'repository',
152
- data: {
153
- id: 'repo-1',
154
- name: 'my-awesome-app',
155
- repositoryPath: '/home/user/my-awesome-app',
156
- },
157
- };
158
-
159
- /* ---------------------------------------------------------------------------
160
- * Trigger wrapper
161
- * ------------------------------------------------------------------------- */
162
-
163
- function Trigger({ view, label }: { view: DrawerView; label: string }) {
164
- const [activeView, setActiveView] = useState<DrawerView | null>(null);
165
-
166
- return (
167
- <div className="flex h-screen items-start p-4">
168
- <Button variant="outline" onClick={() => setActiveView(view)}>
169
- {label}
170
- </Button>
171
- <ControlCenterDrawer
172
- view={activeView}
173
- onClose={() => setActiveView(null)}
174
- onDelete={(_id) => undefined}
175
- onCreateSubmit={() => setActiveView(null)}
176
- />
177
- </div>
178
- );
179
- }
180
-
181
- /* ---------------------------------------------------------------------------
182
- * Stories — one per view type
183
- * ------------------------------------------------------------------------- */
184
-
185
- /** Feature info view — running state with progress. Default story. */
186
- export const Default: Story = {
187
- render: () => <Trigger view={featureView} label="Open Feature (Running)" />,
188
- };
189
-
190
- /** Feature info view — completed (maintain lifecycle, done state, merged PR). */
191
- export const FeatureDone: Story = {
192
- render: () => <Trigger view={featureDoneView} label="Open Feature (Done + PR)" />,
193
- };
194
-
195
- /** Feature info view — error state. */
196
- export const FeatureError: Story = {
197
- render: () => <Trigger view={featureErrorView} label="Open Feature (Error)" />,
198
- };
199
-
200
- /**
201
- * PRD review view — loads questionnaire data via server action.
202
- * Shows spinner in Storybook (no real API available).
203
- */
204
- export const PrdReview: Story = {
205
- render: () => <Trigger view={prdReviewView} label="Open PRD Review" />,
206
- };
207
-
208
- /**
209
- * Tech decisions review view — loads research artifact via server action.
210
- * Shows spinner in Storybook.
211
- */
212
- export const TechReview: Story = {
213
- render: () => <Trigger view={techReviewView} label="Open Tech Review" />,
214
- };
215
-
216
- /**
217
- * Merge review view — loads merge review data via server action.
218
- * Shows spinner in Storybook.
219
- */
220
- export const MergeReview: Story = {
221
- render: () => <Trigger view={mergeReviewView} label="Open Merge Review" />,
222
- };
223
-
224
- /** Feature create form. */
225
- export const FeatureCreate: Story = {
226
- render: () => <Trigger view={createView} label="Open Create Feature" />,
227
- };
228
-
229
- /** Repository actions view. */
230
- export const Repository: Story = {
231
- render: () => <Trigger view={repositoryView} label="Open Repository" />,
232
- };
233
-
234
- /* ---------------------------------------------------------------------------
235
- * Interactive switcher — cycle through all views
236
- * ------------------------------------------------------------------------- */
237
-
238
- const allViews: { label: string; view: DrawerView }[] = [
239
- { label: 'Feature (Running)', view: featureView },
240
- { label: 'Feature (Done)', view: featureDoneView },
241
- { label: 'Feature (Error)', view: featureErrorView },
242
- { label: 'PRD Review', view: prdReviewView },
243
- { label: 'Tech Review', view: techReviewView },
244
- { label: 'Merge Review', view: mergeReviewView },
245
- { label: 'Create Feature', view: createView },
246
- { label: 'Repository', view: repositoryView },
247
- ];
248
-
249
- function AllViewsSwitcher() {
250
- const [activeView, setActiveView] = useState<DrawerView | null>(null);
251
-
252
- return (
253
- <div className="flex h-screen">
254
- <div className="flex flex-col gap-2 p-4">
255
- <span className="text-muted-foreground mb-2 text-xs font-semibold tracking-wider uppercase">
256
- Select view
257
- </span>
258
- {allViews.map(({ label, view }) => (
259
- <button
260
- key={label}
261
- type="button"
262
- onClick={() => setActiveView(view)}
263
- className={`rounded-md px-3 py-1.5 text-left text-sm ${
264
- activeView?.type === view.type
265
- ? 'bg-primary text-primary-foreground'
266
- : 'bg-muted hover:bg-muted/80'
267
- }`}
268
- >
269
- {label}
270
- </button>
271
- ))}
272
- <button
273
- type="button"
274
- onClick={() => setActiveView(null)}
275
- className="bg-destructive/10 text-destructive hover:bg-destructive/20 mt-2 rounded-md px-3 py-1.5 text-left text-sm"
276
- >
277
- Close drawer
278
- </button>
279
- </div>
280
- <ControlCenterDrawer
281
- view={activeView}
282
- onClose={() => setActiveView(null)}
283
- onDelete={(_id) => undefined}
284
- onCreateSubmit={() => setActiveView(null)}
285
- />
286
- </div>
287
- );
288
- }
289
-
290
- /** Interactive — click any view type to open that drawer panel. */
291
- export const AllViews: Story = {
292
- render: () => <AllViewsSwitcher />,
293
- };