@shepai/cli 1.123.0 → 1.124.0-pr394.98d0323

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 (288) hide show
  1. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +11 -0
  2. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts +25 -0
  4. package/dist/packages/core/src/application/ports/output/services/worktree-service.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts +49 -0
  6. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -0
  7. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +188 -0
  8. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts +33 -0
  9. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.d.ts.map +1 -0
  10. package/dist/packages/core/src/application/use-cases/features/branch-name-utils.js +77 -0
  11. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts +1 -0
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +8 -0
  16. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts +2 -0
  17. package/dist/packages/core/src/infrastructure/services/git/worktree.service.d.ts.map +1 -1
  18. package/dist/packages/core/src/infrastructure/services/git/worktree.service.js +39 -0
  19. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts +14 -0
  20. package/dist/src/presentation/cli/commands/feat/adopt.command.d.ts.map +1 -0
  21. package/dist/src/presentation/cli/commands/feat/adopt.command.js +46 -0
  22. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  23. package/dist/src/presentation/cli/commands/feat/index.js +3 -1
  24. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts +10 -0
  25. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.d.ts.map +1 -0
  26. package/dist/src/presentation/web/app/(dashboard)/@drawer/adopt/page.js +26 -0
  27. package/dist/src/presentation/web/app/actions/adopt-branch.d.ts +11 -0
  28. package/dist/src/presentation/web/app/actions/adopt-branch.d.ts.map +1 -0
  29. package/dist/src/presentation/web/app/actions/adopt-branch.js +20 -0
  30. package/dist/src/presentation/web/app/actions/list-branches.d.ts +6 -0
  31. package/dist/src/presentation/web/app/actions/list-branches.d.ts.map +1 -0
  32. package/dist/src/presentation/web/app/actions/list-branches.js +18 -0
  33. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts +20 -0
  34. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts.map +1 -0
  35. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +105 -0
  36. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts +38 -0
  37. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.d.ts.map +1 -0
  38. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.stories.js +161 -0
  39. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts +7 -0
  40. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.d.ts.map +1 -0
  41. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-drawer-client.js +78 -0
  42. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  43. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +4 -0
  44. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  45. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +14 -6
  46. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -0
  47. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  48. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +16 -0
  49. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  50. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +12 -3
  51. package/dist/tsconfig.build.tsbuildinfo +1 -1
  52. package/package.json +1 -1
  53. package/web/.next/BUILD_ID +1 -1
  54. package/web/.next/app-path-routes-manifest.json +1 -0
  55. package/web/.next/build-manifest.json +4 -4
  56. package/web/.next/fallback-build-manifest.json +2 -2
  57. package/web/.next/prerender-manifest.json +3 -3
  58. package/web/.next/required-server-files.js +3 -3
  59. package/web/.next/required-server-files.json +3 -3
  60. package/web/.next/routes-manifest.json +6 -0
  61. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/app-paths-manifest.json +3 -0
  62. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +18 -0
  63. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/next-font-manifest.json +6 -0
  64. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +1 -0
  65. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +335 -0
  66. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +20 -0
  67. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.map +5 -0
  68. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -0
  69. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +2 -0
  70. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +2 -2
  71. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +22 -22
  72. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  73. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  75. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  76. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  77. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +2 -2
  79. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +28 -28
  80. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  81. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  82. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +2 -2
  83. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  84. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  85. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +2 -2
  87. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +22 -22
  88. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  89. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +2 -2
  91. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +28 -28
  92. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  93. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +2 -2
  95. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +28 -28
  96. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  97. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/(dashboard)/page/build-manifest.json +2 -2
  99. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +20 -20
  100. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  101. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  102. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +2 -2
  103. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +20 -20
  104. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  105. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  106. package/web/.next/server/app/_global-error/page/build-manifest.json +2 -2
  107. package/web/.next/server/app/_global-error.html +2 -2
  108. package/web/.next/server/app/_global-error.rsc +1 -1
  109. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  110. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  111. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  112. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  113. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  114. package/web/.next/server/app/_not-found/page/build-manifest.json +2 -2
  115. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  116. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  117. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  118. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  119. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  120. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  121. package/web/.next/server/app/settings/page/build-manifest.json +2 -2
  122. package/web/.next/server/app/settings/page/server-reference-manifest.json +6 -6
  123. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  124. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/skills/page/build-manifest.json +2 -2
  126. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  127. package/web/.next/server/app/skills/page.js +4 -4
  128. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  129. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  130. package/web/.next/server/app/tools/page/build-manifest.json +2 -2
  131. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  132. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  133. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/version/page/build-manifest.json +2 -2
  135. package/web/.next/server/app/version/page/server-reference-manifest.json +2 -2
  136. package/web/.next/server/app/version/page.js.nft.json +1 -1
  137. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  138. package/web/.next/server/app-paths-manifest.json +1 -0
  139. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  140. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  141. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  142. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js +3 -0
  143. package/web/.next/server/chunks/ssr/403f9_next_dist_client_components_94d75bc3._.js.map +1 -0
  144. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_cfc9281c.js +3 -0
  145. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_cfc9281c.js.map +1 -0
  146. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  147. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  148. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js +1 -1
  149. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_f30d0343.js.map +1 -1
  150. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js +1 -1
  151. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9f1775bb.js.map +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.js +3 -0
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.js.map +1 -0
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__14664e9b._.js +2 -2
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__6677a82c._.js +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__6677a82c._.js.map +1 -1
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__7cbda1ea._.js +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__7cbda1ea._.js.map +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +2 -2
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__9e8b25ad._.js +1 -1
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__9e8b25ad._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__a7de2711._.js +2 -2
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__aed1d6f8._.js +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__aed1d6f8._.js.map +1 -1
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__ce6057f6._.js +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__ce6057f6._.js.map +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js +3 -0
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__e2227c0f._.js.map +1 -0
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js +3 -0
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0589cc3._.js.map +1 -0
  178. package/web/.next/server/chunks/ssr/_037585d1._.js +3 -0
  179. package/web/.next/server/chunks/ssr/_037585d1._.js.map +1 -0
  180. package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
  181. package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/_19a2fb35._.js +3 -0
  183. package/web/.next/server/chunks/ssr/_19a2fb35._.js.map +1 -0
  184. package/web/.next/server/chunks/ssr/_2f6f48b8._.js +1 -1
  185. package/web/.next/server/chunks/ssr/_2f6f48b8._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/_4093a637._.js +5 -0
  187. package/web/.next/server/chunks/ssr/_4093a637._.js.map +1 -0
  188. package/web/.next/server/chunks/ssr/_51007db7._.js +3 -0
  189. package/web/.next/server/chunks/ssr/_51007db7._.js.map +1 -0
  190. package/web/.next/server/chunks/ssr/_583a83fb._.js +3 -0
  191. package/web/.next/server/chunks/ssr/_583a83fb._.js.map +1 -0
  192. package/web/.next/server/chunks/ssr/_9f56cf8f._.js +3 -0
  193. package/web/.next/server/chunks/ssr/_9f56cf8f._.js.map +1 -0
  194. package/web/.next/server/chunks/ssr/_a187fd7e._.js +3 -0
  195. package/web/.next/server/chunks/ssr/_a187fd7e._.js.map +1 -0
  196. package/web/.next/server/chunks/ssr/_a5aa6371._.js +9 -0
  197. package/web/.next/server/chunks/ssr/_a5aa6371._.js.map +1 -0
  198. package/web/.next/server/chunks/ssr/_a9f57758._.js +3 -0
  199. package/web/.next/server/chunks/ssr/_a9f57758._.js.map +1 -0
  200. package/web/.next/server/chunks/ssr/{_960ceb5d._.js → _bbe4231d._.js} +2 -2
  201. package/web/.next/server/chunks/ssr/{_960ceb5d._.js.map → _bbe4231d._.js.map} +1 -1
  202. package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
  203. package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
  204. package/web/.next/server/chunks/ssr/_d5206f22._.js +4 -0
  205. package/web/.next/server/chunks/ssr/_d5206f22._.js.map +1 -0
  206. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  207. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  208. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +3 -0
  209. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
  210. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js +3 -0
  211. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js.map +1 -0
  212. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js +2 -2
  213. package/web/.next/server/chunks/ssr/src_presentation_web_5f039db1._.js.map +1 -1
  214. package/web/.next/server/chunks/ssr/src_presentation_web_76e3fa97._.js +3 -0
  215. package/web/.next/server/chunks/ssr/src_presentation_web_76e3fa97._.js.map +1 -0
  216. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_2a52b697.js.map +1 -1
  218. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  219. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  221. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  222. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js +2 -2
  223. package/web/.next/server/chunks/ssr/src_presentation_web_c4337169._.js.map +1 -1
  224. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  226. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  228. package/web/.next/server/middleware-build-manifest.js +2 -2
  229. package/web/.next/server/pages/500.html +2 -2
  230. package/web/.next/server/server-reference-manifest.js +1 -1
  231. package/web/.next/server/server-reference-manifest.json +205 -35
  232. package/web/.next/static/chunks/098114af56643bd9.js +1 -0
  233. package/web/.next/static/chunks/1b599871854f8337.js +1 -0
  234. package/web/.next/static/chunks/{373e10090c6410c4.js → 1e75e27e2a8f16aa.js} +3 -3
  235. package/web/.next/static/chunks/3e3e9c6552a6574f.css +1 -0
  236. package/web/.next/static/chunks/{64d063449c3be0ec.js → 41743a4b042afc52.js} +1 -1
  237. package/web/.next/static/chunks/6295f27fe47da052.js +1 -0
  238. package/web/.next/static/chunks/{310be54600c8ce20.js → 63b6810d66452765.js} +2 -2
  239. package/web/.next/static/chunks/{878643f90bc6360f.js → 65edab397a9ea90a.js} +2 -2
  240. package/web/.next/static/chunks/8080c842b0358904.js +1 -0
  241. package/web/.next/static/chunks/{3f6c44cbad751310.js → 872ae77227847df4.js} +1 -1
  242. package/web/.next/static/chunks/{ed3a602003bcb31b.js → 89aac43287d73b02.js} +1 -1
  243. package/web/.next/static/chunks/a4e2b613aebfb60f.js +1 -0
  244. package/web/.next/static/chunks/a8ba3f3e2b0f87aa.js +1 -0
  245. package/web/.next/static/chunks/{f0dfeedb263eb906.js → affe1b865566ff48.js} +1 -1
  246. package/web/.next/static/chunks/{9821072252ddb89a.js → c75433ee5350240c.js} +1 -1
  247. package/web/.next/static/chunks/d04de4be30ab78ca.js +3 -0
  248. package/web/.next/static/chunks/f29ebb567e9486cb.js +1 -0
  249. package/web/.next/static/chunks/{turbopack-426d9bc2450816ba.js → turbopack-080e470ea902d0ba.js} +1 -1
  250. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_d0119342._.js +0 -3
  251. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_d0119342._.js.map +0 -1
  252. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js +0 -3
  253. package/web/.next/server/chunks/ssr/[root-of-the-server]__52485955._.js.map +0 -1
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js +0 -3
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__545792ab._.js.map +0 -1
  256. package/web/.next/server/chunks/ssr/_3a4c94e3._.js +0 -3
  257. package/web/.next/server/chunks/ssr/_3a4c94e3._.js.map +0 -1
  258. package/web/.next/server/chunks/ssr/_6d26a08f._.js +0 -3
  259. package/web/.next/server/chunks/ssr/_6d26a08f._.js.map +0 -1
  260. package/web/.next/server/chunks/ssr/_9ac70f88._.js +0 -5
  261. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +0 -1
  262. package/web/.next/server/chunks/ssr/_b56e7571._.js +0 -3
  263. package/web/.next/server/chunks/ssr/_b56e7571._.js.map +0 -1
  264. package/web/.next/server/chunks/ssr/_e9703421._.js +0 -3
  265. package/web/.next/server/chunks/ssr/_e9703421._.js.map +0 -1
  266. package/web/.next/server/chunks/ssr/_f1a649e3._.js +0 -9
  267. package/web/.next/server/chunks/ssr/_f1a649e3._.js.map +0 -1
  268. package/web/.next/server/chunks/ssr/_fd4c574b._.js +0 -3
  269. package/web/.next/server/chunks/ssr/_fd4c574b._.js.map +0 -1
  270. package/web/.next/server/chunks/ssr/node_modules__pnpm_bc66dcc6._.js +0 -3
  271. package/web/.next/server/chunks/ssr/node_modules__pnpm_bc66dcc6._.js.map +0 -1
  272. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +0 -3
  273. package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js.map +0 -1
  274. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +0 -3
  275. package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js.map +0 -1
  276. package/web/.next/server/chunks/ssr/src_presentation_web_db779ef4._.js +0 -3
  277. package/web/.next/server/chunks/ssr/src_presentation_web_db779ef4._.js.map +0 -1
  278. package/web/.next/static/chunks/303a1217006489b9.js +0 -1
  279. package/web/.next/static/chunks/3925626b99dcd57a.css +0 -1
  280. package/web/.next/static/chunks/4443ee9c7733399b.js +0 -1
  281. package/web/.next/static/chunks/52b56677c842e45f.js +0 -3
  282. package/web/.next/static/chunks/694718e5449b3150.js +0 -1
  283. package/web/.next/static/chunks/94af5be1ccf8842e.js +0 -1
  284. package/web/.next/static/chunks/dbbb446493f21874.js +0 -1
  285. package/web/.next/static/chunks/e418898e8e02f50a.js +0 -1
  286. /package/web/.next/static/{gBTe97SiNDA2hbG9dbfpb → Axg9qWCPuwbc3fahoDfel}/_buildManifest.js +0 -0
  287. /package/web/.next/static/{gBTe97SiNDA2hbG9dbfpb → Axg9qWCPuwbc3fahoDfel}/_clientMiddlewareManifest.json +0 -0
  288. /package/web/.next/static/{gBTe97SiNDA2hbG9dbfpb → Axg9qWCPuwbc3fahoDfel}/_ssgManifest.js +0 -0
@@ -80,16 +80,24 @@ export function FeatureNode({ data, selected, }) {
80
80
  ? 'BLOCKED'
81
81
  : data.state === 'pending'
82
82
  ? 'PENDING'
83
- : lifecycleDisplayLabels[data.lifecycle] }), _jsxs("div", { className: "flex items-center gap-0.5", children: [data.fastMode ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { "data-testid": "feature-node-fast-mode-badge", className: "-mt-1 p-1", children: _jsx(Zap, { className: "h-3.5 w-3.5 text-amber-500" }) }) }), _jsx(TooltipContent, { side: "bottom", children: "Fast Mode" })] }) })) : null, data.agentType ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": agentTypeLabels[data.agentType] ?? data.agentType, "data-testid": "feature-node-agent-badge", onClick: (e) => {
83
+ : lifecycleDisplayLabels[data.lifecycle] }), _jsxs("div", { className: "flex items-center gap-0.5", children: [data.deployment ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": data.deployment.status === DeploymentState.Booting
84
+ ? 'Deploying'
85
+ : 'Open dev server', "data-testid": "feature-node-deployment-indicator", onClick: (e) => {
86
+ e.stopPropagation();
87
+ if (data.deployment?.status === DeploymentState.Ready &&
88
+ data.deployment.url) {
89
+ window.open(data.deployment.url, '_blank', 'noopener,noreferrer');
90
+ }
91
+ }, className: cn('nodrag -mt-1 p-1', data.deployment.status === DeploymentState.Ready && data.deployment.url
92
+ ? 'cursor-pointer opacity-80 transition-opacity hover:opacity-100'
93
+ : 'cursor-default'), children: data.deployment.status === DeploymentState.Booting ? (_jsx(Loader2, { className: "h-3.5 w-3.5 animate-spin text-blue-500" })) : (_jsx(Globe, { className: "h-3.5 w-3.5 text-green-600" })) }) }), _jsx(TooltipContent, { side: "bottom", children: data.deployment.status === DeploymentState.Booting
94
+ ? 'Deploying...'
95
+ : (data.deployment.url ?? 'Live') })] }) })) : null, data.fastMode ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("span", { "data-testid": "feature-node-fast-mode-badge", className: "-mt-1 p-1", children: _jsx(Zap, { className: "h-3.5 w-3.5 text-amber-500" }) }) }), _jsx(TooltipContent, { side: "bottom", children: "Fast Mode" })] }) })) : null, data.agentType ? (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", "aria-label": agentTypeLabels[data.agentType] ?? data.agentType, "data-testid": "feature-node-agent-badge", onClick: (e) => {
84
96
  e.stopPropagation();
85
97
  data.onSettings?.();
86
98
  }, className: cn('nodrag -mt-1 -mr-1 p-1', data.onSettings
87
99
  ? 'cursor-pointer opacity-80 transition-opacity hover:opacity-100'
88
- : 'cursor-default'), children: _jsx(AgentIcon, { agentType: data.agentType, className: "h-3.5 w-3.5" }) }) }), _jsxs(TooltipContent, { side: "bottom", children: [_jsx("span", { className: "font-medium", children: agentTypeLabels[data.agentType] ?? data.agentType }), data.modelId ? (_jsxs("span", { className: "ml-1 opacity-70", children: ["\u00B7 ", getModelMeta(data.modelId).displayName || data.modelId] })) : null] })] }) })) : null] })] }), _jsx("h3", { className: "mt-1 truncate text-sm font-bold", children: data.name }), data.description ? (_jsx("p", { "data-testid": "feature-node-description", className: "text-muted-foreground mt-0.5 truncate text-xs", children: data.description })) : null, data.deployment ? (_jsxs("div", { "data-testid": "feature-node-deployment-indicator", className: cn('mt-1.5 flex items-center gap-1.5 rounded-full px-2 py-0.5 text-[10px] font-medium', data.deployment.status === DeploymentState.Booting
89
- ? 'bg-blue-50 text-blue-700'
90
- : 'bg-green-50 text-green-700'), children: [data.deployment.status === DeploymentState.Booting ? (_jsx(Loader2, { className: "h-3 w-3 animate-spin" })) : (_jsx(Globe, { className: "h-3 w-3" })), _jsx("span", { className: "truncate", children: data.deployment.status === DeploymentState.Booting
91
- ? 'Deploying...'
92
- : (data.deployment.url ?? 'Live') })] })) : null, _jsx("div", { className: "mt-auto pt-2", children: data.state === 'deleting' ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mt-1.5 flex items-center gap-1.5 text-xs", children: [_jsx(Trash2, { className: "h-3.5 w-3.5 shrink-0 text-gray-400" }), _jsx("span", { className: "text-muted-foreground", children: "Deleting\u2026" })] }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "motion-safe:animate-indeterminate-progress bg-foreground/30 h-full w-1/3 rounded-full" }) })] })) : data.state === 'creating' ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mt-1.5 flex items-center gap-1.5 text-xs", children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0 animate-spin" }), _jsx("span", { className: "text-muted-foreground", children: getBadgeText(data) })] }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "motion-safe:animate-indeterminate-progress bg-foreground/30 h-full w-1/3 rounded-full" }) })] })) : data.state === 'running' ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mt-1.5 flex items-center gap-1.5 text-xs", children: [_jsx(AgentIcon, { agentType: data.agentType, className: "h-3.5 w-3.5 shrink-0" }), _jsx("span", { className: "text-muted-foreground", children: getBadgeText(data) })] }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "animate-indeterminate-progress bg-foreground/30 h-full w-1/3 rounded-full" }) })] })) : config.showProgressBar ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-muted-foreground flex items-center justify-end text-[10px]", children: _jsxs("span", { children: [data.progress, "%"] }) }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: cn('h-full rounded-full transition-all', config.progressClass), style: { width: `${data.progress}%` } }) })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-muted-foreground flex items-center justify-between text-[10px]", children: [_jsx("span", { children: data.featureId }), (data.worktreePath ?? data.repositoryPath) ? (_jsx(FeatureSessionsDropdown, { repositoryPath: data.worktreePath ?? data.repositoryPath })) : null] }), _jsxs("div", { className: "mt-1.5 flex items-center gap-1.5", children: [_jsxs("div", { "data-testid": "feature-node-badge", className: (() => {
100
+ : 'cursor-default'), children: _jsx(AgentIcon, { agentType: data.agentType, className: "h-3.5 w-3.5" }) }) }), _jsxs(TooltipContent, { side: "bottom", children: [_jsx("span", { className: "font-medium", children: agentTypeLabels[data.agentType] ?? data.agentType }), data.modelId ? (_jsxs("span", { className: "ml-1 opacity-70", children: ["\u00B7 ", getModelMeta(data.modelId).displayName || data.modelId] })) : null] })] }) })) : null] })] }), _jsx("h3", { className: "mt-1 truncate text-sm font-bold", children: data.name }), data.description ? (_jsx("p", { "data-testid": "feature-node-description", className: "text-muted-foreground mt-0.5 truncate text-xs", children: data.description })) : null, _jsx("div", { className: "mt-auto pt-2", children: data.state === 'deleting' ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mt-1.5 flex items-center gap-1.5 text-xs", children: [_jsx(Trash2, { className: "h-3.5 w-3.5 shrink-0 text-gray-400" }), _jsx("span", { className: "text-muted-foreground", children: "Deleting\u2026" })] }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "motion-safe:animate-indeterminate-progress bg-foreground/30 h-full w-1/3 rounded-full" }) })] })) : data.state === 'creating' ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mt-1.5 flex items-center gap-1.5 text-xs", children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0 animate-spin" }), _jsx("span", { className: "text-muted-foreground", children: getBadgeText(data) })] }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "motion-safe:animate-indeterminate-progress bg-foreground/30 h-full w-1/3 rounded-full" }) })] })) : data.state === 'running' ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mt-1.5 flex items-center gap-1.5 text-xs", children: [_jsx(AgentIcon, { agentType: data.agentType, className: "h-3.5 w-3.5 shrink-0" }), _jsx("span", { className: "text-muted-foreground", children: getBadgeText(data) })] }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: "animate-indeterminate-progress bg-foreground/30 h-full w-1/3 rounded-full" }) })] })) : config.showProgressBar ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "text-muted-foreground flex items-center justify-end text-[10px]", children: _jsxs("span", { children: [data.progress, "%"] }) }), _jsx("div", { "data-testid": "feature-node-progress-bar", className: "bg-muted mt-1.5 h-1 w-full overflow-hidden rounded-full", children: _jsx("div", { className: cn('h-full rounded-full transition-all', config.progressClass), style: { width: `${data.progress}%` } }) })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-muted-foreground flex items-center justify-between text-[10px]", children: [_jsx("span", { children: data.featureId }), (data.worktreePath ?? data.repositoryPath) ? (_jsx(FeatureSessionsDropdown, { repositoryPath: data.worktreePath ?? data.repositoryPath })) : null] }), _jsxs("div", { className: "mt-1.5 flex items-center gap-1.5", children: [_jsxs("div", { "data-testid": "feature-node-badge", className: (() => {
93
101
  const override = getActionRequiredBadgeClasses(data);
94
102
  return cn('flex min-w-0 flex-1 items-center justify-center gap-1.5 rounded-full px-2.5 py-1 text-[11px] font-medium', override?.badgeBgClass ?? config.badgeBgClass, override?.badgeClass ?? config.badgeClass);
95
103
  })(), children: [(() => {
@@ -22,6 +22,7 @@ export declare const FastModeDone: Story;
22
22
  export declare const DeploymentBooting: Story;
23
23
  export declare const DeploymentReady: Story;
24
24
  export declare const DeploymentReadyNoUrl: Story;
25
+ export declare const DeploymentWithFastModeAndAgent: Story;
25
26
  export declare const Interactive: Story;
26
27
  export declare const Pending: Story;
27
28
  export declare const PendingWithStart: Story;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-node.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAiCrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,eAAe,CAc/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AA0HF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAYF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AA2EF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAUvC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAY/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAYlC,CAAC;AA4EF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC"}
1
+ {"version":3,"file":"feature-node.stories.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/common/feature-node/feature-node.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AAiCrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,eAAe,CAc/B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AA0HF,eAAO,MAAM,SAAS,EAAE,KAQvB,CAAC;AAYF,eAAO,MAAM,aAAa,EAAE,KAqB3B,CAAC;AA2EF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAUvC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAatB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAY/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAYlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,KAe5C,CAAC;AA4EF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAW9B,CAAC"}
@@ -424,6 +424,22 @@ export const DeploymentReadyNoUrl = {
424
424
  },
425
425
  render: (args) => _jsx(FeatureNodeCanvas, { data: args }),
426
426
  };
427
+ export const DeploymentWithFastModeAndAgent = {
428
+ args: {
429
+ name: 'Full Stack App',
430
+ description: 'Next.js app with all inline icons',
431
+ featureId: '#d4',
432
+ lifecycle: 'deploy',
433
+ state: 'done',
434
+ progress: 100,
435
+ runtime: '22m',
436
+ fastMode: true,
437
+ agentType: 'claude-code',
438
+ modelId: 'claude-sonnet-4-6',
439
+ deployment: { status: DeploymentState.Ready, url: 'http://localhost:3000' },
440
+ },
441
+ render: (args) => _jsx(FeatureNodeCanvas, { data: args }),
442
+ };
427
443
  const interactiveInitialNodes = [
428
444
  {
429
445
  id: 'node-1',
@@ -1 +1 @@
1
- {"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBvE,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AA4FD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAUnD"}
1
+ {"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAsBvE,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAsGD,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,aAAa,2CAUnD"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useCallback, useMemo, useState } from 'react';
4
4
  import { useRouter, usePathname } from 'next/navigation';
5
- import { Plus, FolderPlus } from 'lucide-react';
5
+ import { Plus, FolderPlus, GitBranch } from 'lucide-react';
6
6
  import { SidebarProvider, SidebarInset } from '../../ui/sidebar.js';
7
7
  import { AppSidebar } from '../../layouts/app-sidebar/index.js';
8
8
  import { FloatingActionButton, } from '../../common/floating-action-button/index.js';
@@ -15,7 +15,7 @@ import { SidebarFeaturesProvider, useSidebarFeaturesContext, } from '../../../ho
15
15
  import { useNotifications } from '../../../hooks/use-notifications.js';
16
16
  import { useFeatureFlags } from '../../../hooks/feature-flags-context.js';
17
17
  /** Control center route prefixes where the FAB should be visible. */
18
- const CONTROL_CENTER_PREFIXES = ['/', '/create', '/feature', '/repository'];
18
+ const CONTROL_CENTER_PREFIXES = ['/', '/create', '/adopt', '/feature', '/repository'];
19
19
  function isControlCenterRoute(pathname) {
20
20
  return CONTROL_CENTER_PREFIXES.some((prefix) => pathname === prefix || (prefix !== '/' && pathname.startsWith(`${prefix}/`)));
21
21
  }
@@ -30,6 +30,9 @@ function AppShellInner({ children }) {
30
30
  const handleNewFeature = useCallback(() => {
31
31
  guardedNavigate(() => router.push('/create'));
32
32
  }, [router, guardedNavigate]);
33
+ const handleAdoptBranch = useCallback(() => {
34
+ guardedNavigate(() => router.push('/adopt'));
35
+ }, [router, guardedNavigate]);
33
36
  const handleFeatureClick = useCallback((featureId) => {
34
37
  guardedNavigate(() => router.push(`/feature/${featureId}`));
35
38
  }, [router, guardedNavigate]);
@@ -55,6 +58,12 @@ function AppShellInner({ children }) {
55
58
  icon: _jsx(Plus, { className: "h-4 w-4" }),
56
59
  onClick: handleNewFeature,
57
60
  },
61
+ {
62
+ id: 'adopt-branch',
63
+ label: 'Adopt Branch',
64
+ icon: _jsx(GitBranch, { className: "h-4 w-4" }),
65
+ onClick: handleAdoptBranch,
66
+ },
58
67
  {
59
68
  id: 'add-repository',
60
69
  label: 'Add Repository',
@@ -62,7 +71,7 @@ function AppShellInner({ children }) {
62
71
  onClick: handleAddRepository,
63
72
  loading: addingRepo,
64
73
  },
65
- ], [handleNewFeature, handleAddRepository, addingRepo]);
74
+ ], [handleNewFeature, handleAdoptBranch, handleAddRepository, addingRepo]);
66
75
  return (_jsxs(SidebarProvider, { defaultOpen: false, children: [_jsx(AppSidebar, { features: features, featureFlags: featureFlags, onFeatureClick: handleFeatureClick }), _jsx(SidebarInset, { children: _jsxs("div", { className: "relative h-full", children: [_jsxs("div", { className: "absolute top-3 right-3 z-50 flex gap-1", "data-test-id": "canvas-actions-toolbar", children: [_jsx(SoundToggle, {}), _jsx(ThemeToggle, {})] }), _jsx("main", { className: "h-full", children: children }), isControlCenterRoute(pathname) && hasRepositories ? (_jsx(FloatingActionButton, { actions: fabActions })) : null] }) })] }));
67
76
  }
68
77
  export function AppShell({ children }) {