@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,3 +1,3 @@
1
- module.exports=[93995,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(69845),e=a.i(52313),f=a.i(25674);let g=(0,f.createServerReference)("40834ccb8fa6b1abe2bd23ab0b97b47070dc3072c7",f.callServer,void 0,f.findSourceMapURL,"createFeature");var h=a.i(87148),h=h,i=a.i(25700);let j=(0,i.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var k=a.i(42642),k=k;let l=(0,i.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),m=(0,i.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var n=a.i(26915),n=n;let o=(0,i.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var p=a.i(51969),p=p,q=a.i(85536),r=a.i(19884);a.i(78454);var s=a.i(24255),t=a.i(2824),u=a.i(18948),v=a.i(90920);function w({className:a,...c}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,q.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...c})}var x=a.i(66873),y=c.forwardRef((a,c)=>(0,b.jsx)(x.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));y.displayName="Label",a.s(["Label",()=>y,"Root",()=>y],59967);var z=a.i(59967),z=z;let A=(0,a.i(42261).cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),B=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(z.Root,{ref:d,className:(0,q.cn)(A(),a),...c}));B.displayName=z.Root.displayName;var p=p;let C=(0,i.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var D=a.i(6175),E=a.i(7420),F=a.i(59653),G=a.i(17329),H=a.i(74432),I=a.i(14272),J="Checkbox",[K,L]=(0,E.createContextScope)(J),[M,N]=K(J);function O(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:g,disabled:h,form:i,name:j,onCheckedChange:k,required:l,value:m="on",internal_do_not_use_render:n}=a,[o,p]=(0,G.useControllableState)({prop:e,defaultProp:g??!1,onChange:k,caller:J}),[q,r]=c.useState(null),[s,t]=c.useState(null),u=c.useRef(!1),v=!q||!!i||!!q.closest("form"),w={checked:o,disabled:h,setChecked:p,control:q,setControl:r,name:j,form:i,value:m,hasConsumerStoppedPropagationRef:u,required:l,defaultChecked:!W(g)&&g,isFormControl:v,bubbleInput:s,setBubbleInput:t};return(0,b.jsx)(M,{scope:d,...w,children:"function"==typeof n?n(w):f})}var P="CheckboxTrigger",Q=c.forwardRef(({__scopeCheckbox:a,onKeyDown:d,onClick:e,...f},g)=>{let{control:h,value:i,disabled:j,checked:k,required:l,setControl:m,setChecked:n,hasConsumerStoppedPropagationRef:o,isFormControl:p,bubbleInput:q}=N(P,a),r=(0,D.useComposedRefs)(g,m),s=c.useRef(k);return c.useEffect(()=>{let a=h?.form;if(a){let b=()=>n(s.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[h,n]),(0,b.jsx)(x.Primitive.button,{type:"button",role:"checkbox","aria-checked":W(k)?"mixed":k,"aria-required":l,"data-state":X(k),"data-disabled":j?"":void 0,disabled:j,value:i,...f,ref:r,onKeyDown:(0,F.composeEventHandlers)(d,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,F.composeEventHandlers)(e,a=>{n(a=>!!W(a)||!a),q&&p&&(o.current=a.isPropagationStopped(),o.current||a.stopPropagation())})})});Q.displayName=P;var R=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(O,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Q,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(V,{__scopeCheckbox:d})]})})});R.displayName=J;var S="CheckboxIndicator",T=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=N(S,d);return(0,b.jsx)(I.Presence,{present:e||W(g.checked)||!0===g.checked,children:(0,b.jsx)(x.Primitive.span,{"data-state":X(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});T.displayName=S;var U="CheckboxBubbleInput",V=c.forwardRef(({__scopeCheckbox:a,...d},e)=>{let f,{control:g,hasConsumerStoppedPropagationRef:h,checked:i,defaultChecked:j,required:k,disabled:l,name:m,value:n,form:o,bubbleInput:p,setBubbleInput:q}=N(U,a),r=(0,D.useComposedRefs)(e,q),s=(f=c.useRef({value:i,previous:i}),c.useMemo(()=>(f.current.value!==i&&(f.current.previous=f.current.value,f.current.value=i),f.current.previous),[i])),t=(0,H.useSize)(g);c.useEffect(()=>{if(!p)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!h.current;if(s!==i&&a){let c=new Event("click",{bubbles:b});p.indeterminate=W(i),a.call(p,!W(i)&&i),p.dispatchEvent(c)}},[p,s,i,h]);let u=c.useRef(!W(i)&&i);return(0,b.jsx)(x.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:j??u.current,required:k,disabled:l,name:m,value:n,form:o,...d,tabIndex:-1,ref:r,style:{...d.style,...t,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function W(a){return"indeterminate"===a}function X(a){return W(a)?"indeterminate":a?"checked":"unchecked"}V.displayName=U,a.s(["Checkbox",()=>R,"CheckboxIndicator",()=>T,"Indicator",()=>T,"Root",()=>R,"createCheckboxScope",()=>L,"unstable_BubbleInput",()=>V,"unstable_CheckboxBubbleInput",()=>V,"unstable_CheckboxProvider",()=>O,"unstable_CheckboxTrigger",()=>Q,"unstable_Provider",()=>O,"unstable_Trigger",()=>Q],27835);var Y=a.i(27835),Y=Y;function Z({className:a,...c}){return(0,b.jsx)(Y.Root,{"data-slot":"checkbox",className:(0,q.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...c,children:(0,b.jsx)(Y.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===c.checked?(0,b.jsx)(C,{className:"size-3.5"}):(0,b.jsx)(p.default,{className:"size-3.5"})})})}function $({id:a,label:c,description:d,checked:e,onCheckedChange:f,disabled:g}){return(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:a,className:"mt-0.75",checked:e,onCheckedChange:a=>f(!0===a),disabled:g}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:a,className:"cursor-pointer text-sm font-medium",children:c}),d?(0,b.jsx)(B,{htmlFor:a,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:d}):null]})]})}function _({label:a,description:c,parentAriaLabel:d,options:e,value:f,onValueChange:g,disabled:h}){let i=e.filter(a=>f[a.id]).length,j=i===e.length,k=i>0&&!j,l=`${a.toLowerCase().replace(/\s+/g,"-")}-group`;return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:l,className:"mt-0.75",checked:k?"indeterminate":j,onCheckedChange:()=>{let a=i<e.length,b={};for(let c of e)b[c.id]=a;g(b)},disabled:h,"aria-label":d??`${a} select all`}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:l,className:"cursor-pointer text-sm font-medium",children:a}),c?(0,b.jsx)(B,{htmlFor:l,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:c}):null]})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3 pl-6",children:e.map(a=>(0,b.jsx)($,{id:a.id,label:a.label,description:a.description,checked:f[a.id]??!1,onCheckedChange:b=>{var c;return c=a.id,void g({...f,[c]:b})},disabled:h},a.id))})]})}var aa=a.i(58339),ab=a.i(58761),ac=a.i(51473),ad=a.i(59675),ae=a.i(5472),af=a.i(75988),ag=a.i(80930),ah=a.i(90986),ai=a.i(16164),aj=a.i(45291),ak="Popover",[al,am]=(0,E.createContextScope)(ak,[af.createPopperScope]),an=(0,af.createPopperScope)(),[ao,ap]=al(ak),aq=a=>{let{__scopePopover:d,children:e,open:f,defaultOpen:g,onOpenChange:h,modal:i=!1}=a,j=an(d),k=c.useRef(null),[l,m]=c.useState(!1),[n,o]=(0,G.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:ak});return(0,b.jsx)(af.Root,{...j,children:(0,b.jsx)(ao,{scope:d,contentId:(0,ae.useId)(),triggerRef:k,open:n,onOpenChange:o,onOpenToggle:c.useCallback(()=>o(a=>!a),[o]),hasCustomAnchor:l,onCustomAnchorAdd:c.useCallback(()=>m(!0),[]),onCustomAnchorRemove:c.useCallback(()=>m(!1),[]),modal:i,children:e})})};aq.displayName=ak;var ar="PopoverAnchor",as=c.forwardRef((a,d)=>{let{__scopePopover:e,...f}=a,g=ap(ar,e),h=an(e),{onCustomAnchorAdd:i,onCustomAnchorRemove:j}=g;return c.useEffect(()=>(i(),()=>j()),[i,j]),(0,b.jsx)(af.Anchor,{...h,...f,ref:d})});as.displayName=ar;var at="PopoverTrigger",au=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(at,d),g=an(d),h=(0,D.useComposedRefs)(c,f.triggerRef),i=(0,b.jsx)(x.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":f.open,"aria-controls":f.contentId,"data-state":aI(f.open),...e,ref:h,onClick:(0,F.composeEventHandlers)(a.onClick,f.onOpenToggle)});return f.hasCustomAnchor?i:(0,b.jsx)(af.Anchor,{asChild:!0,...g,children:i})});au.displayName=at;var av="PopoverPortal",[aw,ax]=al(av,{forceMount:void 0}),ay=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=ap(av,c);return(0,b.jsx)(aw,{scope:c,forceMount:d,children:(0,b.jsx)(I.Presence,{present:d||g.open,children:(0,b.jsx)(ag.Portal,{asChild:!0,container:f,children:e})})})};ay.displayName=av;var az="PopoverContent",aA=c.forwardRef((a,c)=>{let d=ax(az,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=ap(az,a.__scopePopover);return(0,b.jsx)(I.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)(aC,{...f,ref:c}):(0,b.jsx)(aD,{...f,ref:c})})});aA.displayName=az;var aB=(0,ah.createSlot)("PopoverContent.RemoveScroll"),aC=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(null),g=(0,D.useComposedRefs)(d,f),h=c.useRef(!1);return c.useEffect(()=>{let a=f.current;if(a)return(0,ai.hideOthers)(a)},[]),(0,b.jsx)(aj.RemoveScroll,{as:aB,allowPinchZoom:!0,children:(0,b.jsx)(aE,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,F.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),h.current||e.triggerRef.current?.focus()}),onPointerDownOutside:(0,F.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;h.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,F.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),aD=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(!1),g=c.useRef(!1);return(0,b.jsx)(aE,{...a,ref:d,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(f.current||e.triggerRef.current?.focus(),b.preventDefault()),f.current=!1,g.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(f.current=!0,"pointerdown"===b.detail.originalEvent.type&&(g.current=!0));let c=b.target;e.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&g.current&&b.preventDefault()}})}),aE=c.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onInteractOutside:l,...m}=a,n=ap(az,d),o=an(d);return(0,ac.useFocusGuards)(),(0,b.jsx)(ad.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:g,children:(0,b.jsx)(ab.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onInteractOutside:l,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onDismiss:()=>n.onOpenChange(!1),children:(0,b.jsx)(af.Content,{"data-state":aI(n.open),role:"dialog",id:n.contentId,...o,...m,ref:c,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),aF="PopoverClose",aG=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(aF,d);return(0,b.jsx)(x.Primitive.button,{type:"button",...e,ref:c,onClick:(0,F.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})});aG.displayName=aF;var aH=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=an(d);return(0,b.jsx)(af.Arrow,{...f,...e,ref:c})});function aI(a){return a?"open":"closed"}aH.displayName="PopoverArrow",a.s(["Anchor",()=>as,"Arrow",()=>aH,"Close",()=>aG,"Content",()=>aA,"Popover",()=>aq,"PopoverAnchor",()=>as,"PopoverArrow",()=>aH,"PopoverClose",()=>aG,"PopoverContent",()=>aA,"PopoverPortal",()=>ay,"PopoverTrigger",()=>au,"Portal",()=>ay,"Root",()=>aq,"Trigger",()=>au,"createPopoverScope",()=>am],61452);var aJ=a.i(61452),aJ=aJ;let aK=aJ.Root,aL=aJ.Trigger;aJ.Anchor;let aM=c.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(aJ.Portal,{children:(0,b.jsx)(aJ.Content,{ref:f,align:c,sideOffset:d,className:(0,q.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",a),...e})}));aM.displayName=aJ.Content.displayName;var aN=a.i(96213);async function aO(){let a=await fetch("/api/dialog/pick-files",{method:"POST"});if(!a.ok)throw Error("Failed to open file dialog");let b=await a.json();return b.cancelled?null:b.files}let aP=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],aQ={allowPrd:!1,allowPlan:!1,allowMerge:!1};function aR({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:i,features:j,initialParentId:k}){let l=(0,r.useSoundAction)("create"),m=i?.approvalGates??aQ,n=i?.push??!1,o=i?.openPr??!1,[p,q]=(0,c.useState)(""),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)([]),[C,D]=(0,c.useState)({...m}),[E,F]=(0,c.useState)(n),[G,H]=(0,c.useState)(o),[I,J]=(0,c.useState)(void 0);(0,c.useEffect)(()=>{i&&(D({...i.approvalGates}),F(i.push),H(i.openPr))},[i]),(0,c.useEffect)(()=>{a&&k&&J(k)},[a,k]);let K=(0,c.useCallback)(()=>{q(""),y(""),A([]),D({...m}),F(n),H(o),J(void 0)},[m,n,o]),L=""!==p.trim()||""!==x.trim()||z.length>0,{attemptClose:M}=(0,aN.useGuardedDrawerClose)({open:a,isDirty:L,onClose:d,onReset:K}),N=(0,c.useCallback)(a=>{if(a.preventDefault(),!p.trim())return;l.play();let b=x.trim()||void 0;e({name:p.trim(),description:b,attachments:z,repositoryPath:f,approvalGates:{allowPrd:C.allowPrd??!1,allowPlan:C.allowPlan??!1,allowMerge:C.allowMerge??!1},push:E||G,openPr:G,...I?{parentId:I}:{}}),K()},[p,x,z,C,f,e,E,G,I,l,K]),O=(0,c.useCallback)(async()=>{try{let a=await aO();a&&A(b=>[...b,...a])}catch{}},[]),P=(0,c.useCallback)(a=>{A(b=>b.filter(b=>b.path!==a))},[]),Q=j&&j.length>0;return(0,b.jsx)(s.BaseDrawer,{open:a,onClose:M,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,b.jsx)(t.DrawerTitle,{children:"NEW FEATURE"})]}),g?(0,b.jsx)(t.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(aa.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(u.Button,{variant:"outline",onClick:M,disabled:g,children:"Cancel"}),(0,b.jsx)(u.Button,{type:"submit",form:"create-feature-form",disabled:!p.trim()||g,children:g?"Creating...":"+ Create Feature"})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsxs)("form",{id:"create-feature-form",onSubmit:N,className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-name",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"FEATURE NAME"}),(0,b.jsx)(v.Input,{id:"feature-name",placeholder:"e.g. GitHub OAuth Login",value:p,onChange:a=>q(a.target.value),required:!0,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIPTION"}),(0,b.jsx)(w,{id:"feature-description",placeholder:"Describe what this feature does...",value:x,onChange:a=>y(a.target.value),rows:4,disabled:g})]}),Q?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,b.jsx)(aS,{features:j,value:I,onChange:J,disabled:g})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"APPROVE"}),(0,b.jsx)(_,{label:"Autonomous Mode",description:"YOLO!",parentAriaLabel:"Auto approve all",options:aP,value:C,onValueChange:D,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"GIT"}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)($,{id:"push",label:"Push",description:"Push branch to remote after implementation.",checked:E||G,onCheckedChange:F,disabled:G||g}),(0,b.jsx)($,{id:"open-pr",label:"Create PR",description:"Open a pull request after pushing.",checked:G,onCheckedChange:H,disabled:g})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:["ATTACHMENTS",z.length>0&&(0,b.jsxs)("span",{className:"text-muted-foreground/60 ml-1.5",children:["(",z.length,")"]})]}),(0,b.jsxs)(u.Button,{type:"button",variant:"outline",size:"xs",onClick:O,disabled:g,children:[(0,b.jsx)(h.default,{className:"size-3"}),"Add Files"]})]}),z.length>0&&(0,b.jsx)("div",{className:"flex flex-col gap-2",children:z.map(a=>(0,b.jsx)(aT,{file:a,onRemove:()=>P(a.path),disabled:g},a.path))})]})]})})})}function aS({features:a,value:d,onChange:e,disabled:f}){let[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(""),k=(0,c.useRef)(null),l=a.find(a=>a.id===d),m=i.trim()?a.filter(a=>a.name.toLowerCase().includes(i.toLowerCase())||a.id.toLowerCase().includes(i.toLowerCase())):a,n=(0,c.useCallback)(a=>{e(a),h(!1),j("")},[e]);return(0,c.useEffect)(()=>{g?setTimeout(()=>k.current?.focus(),0):j("")},[g]),(0,b.jsxs)(aK,{open:g,onOpenChange:h,children:[(0,b.jsx)(aL,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":g,"aria-label":"Parent Feature",disabled:f,"data-testid":"parent-feature-combobox",className:(0,q.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!l&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:l?`${l.name} (${l.id.slice(0,8)})`:"Select parent feature..."}),(0,b.jsx)(o,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(aM,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(v.Input,{ref:k,placeholder:"Search features...",value:i,onChange:a=>j(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===d,onClick:()=>n(void 0),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===d&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===m.length&&i?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):m.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>n(a.id),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",d===a.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${a.id}`,children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",d!==a.id&&"invisible")}),(0,b.jsxs)("span",{className:"truncate",children:[a.name," ",(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",a.id.slice(0,8),")"]})]})]},a.id))]})]})})]})}function aT({file:a,onRemove:c,disabled:d}){var e,f,g;let h,i=(h=(e=a.name).lastIndexOf("."))>=0?e.slice(h).toLowerCase():"",o=(f=i,aU.has(f)?l:".pdf"===f?k.default:aV.has(f)?m:j),p=".pdf"===(g=i)?"bg-red-50 text-red-600":aU.has(g)?"bg-blue-50 text-blue-600":aV.has(g)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600";return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-md border p-2",children:[(0,b.jsx)("div",{className:(0,q.cn)("flex h-8 w-8 shrink-0 items-center justify-center rounded",p),children:(0,b.jsx)(o,{className:"h-4 w-4"})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:function(a){if(0===a)return"0 B";let b=Math.floor(Math.log(a)/Math.log(1024));return`${(a/Math.pow(1024,b)).toFixed(+(0!==b))} ${["B","KB","MB","GB"][b]}`}(a.size)})]}),(0,b.jsx)(u.Button,{type:"button",variant:"ghost",size:"icon-xs",onClick:c,disabled:d,"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(n.default,{className:"h-3 w-3"})})]})}let aU=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),aV=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function aW({repositoryPath:a,initialParentId:f,features:h,workflowDefaults:i}){let j=(0,d.useRouter)(),k=(0,r.useSoundAction)("create"),[l,m]=(0,c.useState)(!1),n=(0,d.usePathname)().startsWith("/create"),o=!l&&n;(0,c.useEffect)(()=>{!n&&l&&m(!1)},[n,l]);let p=(0,c.useCallback)(()=>{j.push("/")},[j]),q=(0,c.useCallback)(a=>{m(!0),window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{name:a.name,description:a.description,repositoryPath:a.repositoryPath,parentId:a.parentId}})),j.push("/"),g(a).then(a=>{if(a.error){e.toast.error(a.error),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"));return}k.play()}).catch(()=>{e.toast.error("Failed to create feature"),window.dispatchEvent(new CustomEvent("shep:feature-create-failed")),m(!1)})},[j,k]);return(0,b.jsx)(aR,{open:o,onClose:p,onSubmit:q,repositoryPath:a,features:h,workflowDefaults:i,initialParentId:f,isSubmitting:l})}a.s(["CreateDrawerClient",()=>aW],93995)}];
1
+ module.exports=[93995,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(69845),e=a.i(52313),f=a.i(25674);let g=(0,f.createServerReference)("400a1cd89ccf1e80bdf23ed62079539dd9517b4a4a",f.callServer,void 0,f.findSourceMapURL,"createFeature");var h=a.i(87148),h=h,i=a.i(25700);let j=(0,i.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var k=a.i(42642),k=k;let l=(0,i.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),m=(0,i.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var n=a.i(26915),n=n;let o=(0,i.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var p=a.i(51969),p=p,q=a.i(85536),r=a.i(19884);a.i(78454);var s=a.i(24255),t=a.i(2824),u=a.i(18948),v=a.i(90920);function w({className:a,...c}){return(0,b.jsx)("textarea",{"data-slot":"textarea",className:(0,q.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...c})}var x=a.i(66873),y=c.forwardRef((a,c)=>(0,b.jsx)(x.Primitive.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));y.displayName="Label",a.s(["Label",()=>y,"Root",()=>y],59967);var z=a.i(59967),z=z;let A=(0,a.i(42261).cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),B=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(z.Root,{ref:d,className:(0,q.cn)(A(),a),...c}));B.displayName=z.Root.displayName;var p=p;let C=(0,i.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var D=a.i(6175),E=a.i(7420),F=a.i(59653),G=a.i(17329),H=a.i(74432),I=a.i(14272),J="Checkbox",[K,L]=(0,E.createContextScope)(J),[M,N]=K(J);function O(a){let{__scopeCheckbox:d,checked:e,children:f,defaultChecked:g,disabled:h,form:i,name:j,onCheckedChange:k,required:l,value:m="on",internal_do_not_use_render:n}=a,[o,p]=(0,G.useControllableState)({prop:e,defaultProp:g??!1,onChange:k,caller:J}),[q,r]=c.useState(null),[s,t]=c.useState(null),u=c.useRef(!1),v=!q||!!i||!!q.closest("form"),w={checked:o,disabled:h,setChecked:p,control:q,setControl:r,name:j,form:i,value:m,hasConsumerStoppedPropagationRef:u,required:l,defaultChecked:!W(g)&&g,isFormControl:v,bubbleInput:s,setBubbleInput:t};return(0,b.jsx)(M,{scope:d,...w,children:"function"==typeof n?n(w):f})}var P="CheckboxTrigger",Q=c.forwardRef(({__scopeCheckbox:a,onKeyDown:d,onClick:e,...f},g)=>{let{control:h,value:i,disabled:j,checked:k,required:l,setControl:m,setChecked:n,hasConsumerStoppedPropagationRef:o,isFormControl:p,bubbleInput:q}=N(P,a),r=(0,D.useComposedRefs)(g,m),s=c.useRef(k);return c.useEffect(()=>{let a=h?.form;if(a){let b=()=>n(s.current);return a.addEventListener("reset",b),()=>a.removeEventListener("reset",b)}},[h,n]),(0,b.jsx)(x.Primitive.button,{type:"button",role:"checkbox","aria-checked":W(k)?"mixed":k,"aria-required":l,"data-state":X(k),"data-disabled":j?"":void 0,disabled:j,value:i,...f,ref:r,onKeyDown:(0,F.composeEventHandlers)(d,a=>{"Enter"===a.key&&a.preventDefault()}),onClick:(0,F.composeEventHandlers)(e,a=>{n(a=>!!W(a)||!a),q&&p&&(o.current=a.isPropagationStopped(),o.current||a.stopPropagation())})})});Q.displayName=P;var R=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j,onCheckedChange:k,form:l,...m}=a;return(0,b.jsx)(O,{__scopeCheckbox:d,checked:f,defaultChecked:g,disabled:i,required:h,onCheckedChange:k,name:e,form:l,value:j,internal_do_not_use_render:({isFormControl:a})=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(Q,{...m,ref:c,__scopeCheckbox:d}),a&&(0,b.jsx)(V,{__scopeCheckbox:d})]})})});R.displayName=J;var S="CheckboxIndicator",T=c.forwardRef((a,c)=>{let{__scopeCheckbox:d,forceMount:e,...f}=a,g=N(S,d);return(0,b.jsx)(I.Presence,{present:e||W(g.checked)||!0===g.checked,children:(0,b.jsx)(x.Primitive.span,{"data-state":X(g.checked),"data-disabled":g.disabled?"":void 0,...f,ref:c,style:{pointerEvents:"none",...a.style}})})});T.displayName=S;var U="CheckboxBubbleInput",V=c.forwardRef(({__scopeCheckbox:a,...d},e)=>{let f,{control:g,hasConsumerStoppedPropagationRef:h,checked:i,defaultChecked:j,required:k,disabled:l,name:m,value:n,form:o,bubbleInput:p,setBubbleInput:q}=N(U,a),r=(0,D.useComposedRefs)(e,q),s=(f=c.useRef({value:i,previous:i}),c.useMemo(()=>(f.current.value!==i&&(f.current.previous=f.current.value,f.current.value=i),f.current.previous),[i])),t=(0,H.useSize)(g);c.useEffect(()=>{if(!p)return;let a=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,b=!h.current;if(s!==i&&a){let c=new Event("click",{bubbles:b});p.indeterminate=W(i),a.call(p,!W(i)&&i),p.dispatchEvent(c)}},[p,s,i,h]);let u=c.useRef(!W(i)&&i);return(0,b.jsx)(x.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:j??u.current,required:k,disabled:l,name:m,value:n,form:o,...d,tabIndex:-1,ref:r,style:{...d.style,...t,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function W(a){return"indeterminate"===a}function X(a){return W(a)?"indeterminate":a?"checked":"unchecked"}V.displayName=U,a.s(["Checkbox",()=>R,"CheckboxIndicator",()=>T,"Indicator",()=>T,"Root",()=>R,"createCheckboxScope",()=>L,"unstable_BubbleInput",()=>V,"unstable_CheckboxBubbleInput",()=>V,"unstable_CheckboxProvider",()=>O,"unstable_CheckboxTrigger",()=>Q,"unstable_Provider",()=>O,"unstable_Trigger",()=>Q],27835);var Y=a.i(27835),Y=Y;function Z({className:a,...c}){return(0,b.jsx)(Y.Root,{"data-slot":"checkbox",className:(0,q.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...c,children:(0,b.jsx)(Y.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===c.checked?(0,b.jsx)(C,{className:"size-3.5"}):(0,b.jsx)(p.default,{className:"size-3.5"})})})}function $({id:a,label:c,description:d,checked:e,onCheckedChange:f,disabled:g}){return(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:a,className:"mt-0.75",checked:e,onCheckedChange:a=>f(!0===a),disabled:g}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:a,className:"cursor-pointer text-sm font-medium",children:c}),d?(0,b.jsx)(B,{htmlFor:a,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:d}):null]})]})}function _({label:a,description:c,parentAriaLabel:d,options:e,value:f,onValueChange:g,disabled:h}){let i=e.filter(a=>f[a.id]).length,j=i===e.length,k=i>0&&!j,l=`${a.toLowerCase().replace(/\s+/g,"-")}-group`;return(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(Z,{id:l,className:"mt-0.75",checked:k?"indeterminate":j,onCheckedChange:()=>{let a=i<e.length,b={};for(let c of e)b[c.id]=a;g(b)},disabled:h,"aria-label":d??`${a} select all`}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)(B,{htmlFor:l,className:"cursor-pointer text-sm font-medium",children:a}),c?(0,b.jsx)(B,{htmlFor:l,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:c}):null]})]}),(0,b.jsx)("div",{className:"flex flex-col gap-3 pl-6",children:e.map(a=>(0,b.jsx)($,{id:a.id,label:a.label,description:a.description,checked:f[a.id]??!1,onCheckedChange:b=>{var c;return c=a.id,void g({...f,[c]:b})},disabled:h},a.id))})]})}var aa=a.i(58339),ab=a.i(58761),ac=a.i(51473),ad=a.i(59675),ae=a.i(5472),af=a.i(75988),ag=a.i(80930),ah=a.i(90986),ai=a.i(16164),aj=a.i(45291),ak="Popover",[al,am]=(0,E.createContextScope)(ak,[af.createPopperScope]),an=(0,af.createPopperScope)(),[ao,ap]=al(ak),aq=a=>{let{__scopePopover:d,children:e,open:f,defaultOpen:g,onOpenChange:h,modal:i=!1}=a,j=an(d),k=c.useRef(null),[l,m]=c.useState(!1),[n,o]=(0,G.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:ak});return(0,b.jsx)(af.Root,{...j,children:(0,b.jsx)(ao,{scope:d,contentId:(0,ae.useId)(),triggerRef:k,open:n,onOpenChange:o,onOpenToggle:c.useCallback(()=>o(a=>!a),[o]),hasCustomAnchor:l,onCustomAnchorAdd:c.useCallback(()=>m(!0),[]),onCustomAnchorRemove:c.useCallback(()=>m(!1),[]),modal:i,children:e})})};aq.displayName=ak;var ar="PopoverAnchor",as=c.forwardRef((a,d)=>{let{__scopePopover:e,...f}=a,g=ap(ar,e),h=an(e),{onCustomAnchorAdd:i,onCustomAnchorRemove:j}=g;return c.useEffect(()=>(i(),()=>j()),[i,j]),(0,b.jsx)(af.Anchor,{...h,...f,ref:d})});as.displayName=ar;var at="PopoverTrigger",au=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(at,d),g=an(d),h=(0,D.useComposedRefs)(c,f.triggerRef),i=(0,b.jsx)(x.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":f.open,"aria-controls":f.contentId,"data-state":aI(f.open),...e,ref:h,onClick:(0,F.composeEventHandlers)(a.onClick,f.onOpenToggle)});return f.hasCustomAnchor?i:(0,b.jsx)(af.Anchor,{asChild:!0,...g,children:i})});au.displayName=at;var av="PopoverPortal",[aw,ax]=al(av,{forceMount:void 0}),ay=a=>{let{__scopePopover:c,forceMount:d,children:e,container:f}=a,g=ap(av,c);return(0,b.jsx)(aw,{scope:c,forceMount:d,children:(0,b.jsx)(I.Presence,{present:d||g.open,children:(0,b.jsx)(ag.Portal,{asChild:!0,container:f,children:e})})})};ay.displayName=av;var az="PopoverContent",aA=c.forwardRef((a,c)=>{let d=ax(az,a.__scopePopover),{forceMount:e=d.forceMount,...f}=a,g=ap(az,a.__scopePopover);return(0,b.jsx)(I.Presence,{present:e||g.open,children:g.modal?(0,b.jsx)(aC,{...f,ref:c}):(0,b.jsx)(aD,{...f,ref:c})})});aA.displayName=az;var aB=(0,ah.createSlot)("PopoverContent.RemoveScroll"),aC=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(null),g=(0,D.useComposedRefs)(d,f),h=c.useRef(!1);return c.useEffect(()=>{let a=f.current;if(a)return(0,ai.hideOthers)(a)},[]),(0,b.jsx)(aj.RemoveScroll,{as:aB,allowPinchZoom:!0,children:(0,b.jsx)(aE,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,F.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),h.current||e.triggerRef.current?.focus()}),onPointerDownOutside:(0,F.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;h.current=2===b.button||c},{checkForDefaultPrevented:!1}),onFocusOutside:(0,F.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),aD=c.forwardRef((a,d)=>{let e=ap(az,a.__scopePopover),f=c.useRef(!1),g=c.useRef(!1);return(0,b.jsx)(aE,{...a,ref:d,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(f.current||e.triggerRef.current?.focus(),b.preventDefault()),f.current=!1,g.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(f.current=!0,"pointerdown"===b.detail.originalEvent.type&&(g.current=!0));let c=b.target;e.triggerRef.current?.contains(c)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&g.current&&b.preventDefault()}})}),aE=c.forwardRef((a,c)=>{let{__scopePopover:d,trapFocus:e,onOpenAutoFocus:f,onCloseAutoFocus:g,disableOutsidePointerEvents:h,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onInteractOutside:l,...m}=a,n=ap(az,d),o=an(d);return(0,ac.useFocusGuards)(),(0,b.jsx)(ad.FocusScope,{asChild:!0,loop:!0,trapped:e,onMountAutoFocus:f,onUnmountAutoFocus:g,children:(0,b.jsx)(ab.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:h,onInteractOutside:l,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:k,onDismiss:()=>n.onOpenChange(!1),children:(0,b.jsx)(af.Content,{"data-state":aI(n.open),role:"dialog",id:n.contentId,...o,...m,ref:c,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),aF="PopoverClose",aG=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=ap(aF,d);return(0,b.jsx)(x.Primitive.button,{type:"button",...e,ref:c,onClick:(0,F.composeEventHandlers)(a.onClick,()=>f.onOpenChange(!1))})});aG.displayName=aF;var aH=c.forwardRef((a,c)=>{let{__scopePopover:d,...e}=a,f=an(d);return(0,b.jsx)(af.Arrow,{...f,...e,ref:c})});function aI(a){return a?"open":"closed"}aH.displayName="PopoverArrow",a.s(["Anchor",()=>as,"Arrow",()=>aH,"Close",()=>aG,"Content",()=>aA,"Popover",()=>aq,"PopoverAnchor",()=>as,"PopoverArrow",()=>aH,"PopoverClose",()=>aG,"PopoverContent",()=>aA,"PopoverPortal",()=>ay,"PopoverTrigger",()=>au,"Portal",()=>ay,"Root",()=>aq,"Trigger",()=>au,"createPopoverScope",()=>am],61452);var aJ=a.i(61452),aJ=aJ;let aK=aJ.Root,aL=aJ.Trigger;aJ.Anchor;let aM=c.forwardRef(({className:a,align:c="center",sideOffset:d=4,...e},f)=>(0,b.jsx)(aJ.Portal,{children:(0,b.jsx)(aJ.Content,{ref:f,align:c,sideOffset:d,className:(0,q.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",a),...e})}));aM.displayName=aJ.Content.displayName;var aN=a.i(96213);async function aO(){let a=await fetch("/api/dialog/pick-files",{method:"POST"});if(!a.ok)throw Error("Failed to open file dialog");let b=await a.json();return b.cancelled?null:b.files}let aP=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],aQ={allowPrd:!1,allowPlan:!1,allowMerge:!1};function aR({open:a,onClose:d,onSubmit:e,repositoryPath:f,isSubmitting:g=!1,workflowDefaults:i,features:j,initialParentId:k}){let l=(0,r.useSoundAction)("create"),m=i?.approvalGates??aQ,n=i?.push??!1,o=i?.openPr??!1,[p,q]=(0,c.useState)(""),[x,y]=(0,c.useState)(""),[z,A]=(0,c.useState)([]),[C,D]=(0,c.useState)({...m}),[E,F]=(0,c.useState)(n),[G,H]=(0,c.useState)(o),[I,J]=(0,c.useState)(void 0);(0,c.useEffect)(()=>{i&&(D({...i.approvalGates}),F(i.push),H(i.openPr))},[i]),(0,c.useEffect)(()=>{a&&k&&J(k)},[a,k]);let K=(0,c.useCallback)(()=>{q(""),y(""),A([]),D({...m}),F(n),H(o),J(void 0)},[m,n,o]),L=""!==p.trim()||""!==x.trim()||z.length>0,{attemptClose:M}=(0,aN.useGuardedDrawerClose)({open:a,isDirty:L,onClose:d,onReset:K}),N=(0,c.useCallback)(a=>{if(a.preventDefault(),!p.trim())return;l.play();let b=x.trim()||void 0;e({name:p.trim(),description:b,attachments:z,repositoryPath:f,approvalGates:{allowPrd:C.allowPrd??!1,allowPlan:C.allowPlan??!1,allowMerge:C.allowMerge??!1},push:E||G,openPr:G,...I?{parentId:I}:{}}),K()},[p,x,z,C,f,e,E,G,I,l,K]),O=(0,c.useCallback)(async()=>{try{let a=await aO();a&&A(b=>[...b,...a])}catch{}},[]),P=(0,c.useCallback)(a=>{A(b=>b.filter(b=>b.path!==a))},[]),Q=j&&j.length>0;return(0,b.jsx)(s.BaseDrawer,{open:a,onClose:M,size:"md",modal:!1,dismissOnOutsideClick:!0,"data-testid":"feature-create-drawer",header:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,b.jsx)(t.DrawerTitle,{children:"NEW FEATURE"})]}),g?(0,b.jsx)(t.DrawerDescription,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(aa.Badge,{variant:"secondary",children:"Creating..."})})}):null]}),footer:(0,b.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,b.jsx)(u.Button,{variant:"outline",onClick:M,disabled:g,children:"Cancel"}),(0,b.jsx)(u.Button,{type:"submit",form:"create-feature-form",disabled:!p.trim()||g,children:g?"Creating...":"+ Create Feature"})]}),children:(0,b.jsx)("div",{className:"overflow-y-auto p-4",children:(0,b.jsxs)("form",{id:"create-feature-form",onSubmit:N,className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-name",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"FEATURE NAME"}),(0,b.jsx)(v.Input,{id:"feature-name",placeholder:"e.g. GitHub OAuth Login",value:p,onChange:a=>q(a.target.value),required:!0,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIPTION"}),(0,b.jsx)(w,{id:"feature-description",placeholder:"Describe what this feature does...",value:x,onChange:a=>y(a.target.value),rows:4,disabled:g})]}),Q?(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,b.jsx)(aS,{features:j,value:I,onChange:J,disabled:g})]}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"APPROVE"}),(0,b.jsx)(_,{label:"Autonomous Mode",description:"YOLO!",parentAriaLabel:"Auto approve all",options:aP,value:C,onValueChange:D,disabled:g})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"GIT"}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)($,{id:"push",label:"Push",description:"Push branch to remote after implementation.",checked:E||G,onCheckedChange:F,disabled:G||g}),(0,b.jsx)($,{id:"open-pr",label:"Create PR",description:"Open a pull request after pushing.",checked:G,onCheckedChange:H,disabled:g})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)(B,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:["ATTACHMENTS",z.length>0&&(0,b.jsxs)("span",{className:"text-muted-foreground/60 ml-1.5",children:["(",z.length,")"]})]}),(0,b.jsxs)(u.Button,{type:"button",variant:"outline",size:"xs",onClick:O,disabled:g,children:[(0,b.jsx)(h.default,{className:"size-3"}),"Add Files"]})]}),z.length>0&&(0,b.jsx)("div",{className:"flex flex-col gap-2",children:z.map(a=>(0,b.jsx)(aT,{file:a,onRemove:()=>P(a.path),disabled:g},a.path))})]})]})})})}function aS({features:a,value:d,onChange:e,disabled:f}){let[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(""),k=(0,c.useRef)(null),l=a.find(a=>a.id===d),m=i.trim()?a.filter(a=>a.name.toLowerCase().includes(i.toLowerCase())||a.id.toLowerCase().includes(i.toLowerCase())):a,n=(0,c.useCallback)(a=>{e(a),h(!1),j("")},[e]);return(0,c.useEffect)(()=>{g?setTimeout(()=>k.current?.focus(),0):j("")},[g]),(0,b.jsxs)(aK,{open:g,onOpenChange:h,children:[(0,b.jsx)(aL,{asChild:!0,children:(0,b.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":g,"aria-label":"Parent Feature",disabled:f,"data-testid":"parent-feature-combobox",className:(0,q.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!l&&"text-muted-foreground"),children:[(0,b.jsx)("span",{className:"truncate",children:l?`${l.name} (${l.id.slice(0,8)})`:"Select parent feature..."}),(0,b.jsx)(o,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,b.jsx)(aM,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsx)("div",{className:"border-b p-2",children:(0,b.jsx)(v.Input,{ref:k,placeholder:"Search features...",value:i,onChange:a=>j(a.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,b.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===d,onClick:()=>n(void 0),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===d&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",void 0!==d&&"invisible")}),(0,b.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===m.length&&i?(0,b.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):m.map(a=>(0,b.jsxs)("button",{type:"button",role:"option","aria-selected":d===a.id,onClick:()=>n(a.id),className:(0,q.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",d===a.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${a.id}`,children:[(0,b.jsx)(p.default,{className:(0,q.cn)("h-4 w-4 shrink-0",d!==a.id&&"invisible")}),(0,b.jsxs)("span",{className:"truncate",children:[a.name," ",(0,b.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",a.id.slice(0,8),")"]})]})]},a.id))]})]})})]})}function aT({file:a,onRemove:c,disabled:d}){var e,f,g;let h,i=(h=(e=a.name).lastIndexOf("."))>=0?e.slice(h).toLowerCase():"",o=(f=i,aU.has(f)?l:".pdf"===f?k.default:aV.has(f)?m:j),p=".pdf"===(g=i)?"bg-red-50 text-red-600":aU.has(g)?"bg-blue-50 text-blue-600":aV.has(g)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600";return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-md border p-2",children:[(0,b.jsx)("div",{className:(0,q.cn)("flex h-8 w-8 shrink-0 items-center justify-center rounded",p),children:(0,b.jsx)(o,{className:"h-4 w-4"})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:a.path}),(0,b.jsx)("span",{className:"text-muted-foreground text-xs",children:function(a){if(0===a)return"0 B";let b=Math.floor(Math.log(a)/Math.log(1024));return`${(a/Math.pow(1024,b)).toFixed(+(0!==b))} ${["B","KB","MB","GB"][b]}`}(a.size)})]}),(0,b.jsx)(u.Button,{type:"button",variant:"ghost",size:"icon-xs",onClick:c,disabled:d,"aria-label":`Remove ${a.name}`,children:(0,b.jsx)(n.default,{className:"h-3 w-3"})})]})}let aU=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),aV=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function aW({repositoryPath:a,initialParentId:f,features:h,workflowDefaults:i}){let j=(0,d.useRouter)(),[k,l]=(0,c.useState)(!1),m=(0,d.usePathname)().startsWith("/create"),n=!k&&m;(0,c.useEffect)(()=>{!m&&k&&l(!1)},[m,k]);let o=(0,c.useCallback)(()=>{j.push("/")},[j]),p=(0,c.useCallback)(a=>{l(!0),j.push("/"),g(a).then(b=>{b.error?e.toast.error(b.error):window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:b.feature.id,name:b.feature.name,description:b.feature.description,repositoryPath:b.feature.repositoryPath,parentId:a.parentId}}))}).catch(()=>{e.toast.error("Failed to create feature"),l(!1)})},[j]);return(0,b.jsx)(aR,{open:n,onClose:o,onSubmit:p,repositoryPath:a,features:h,workflowDefaults:i,initialParentId:f,isSubmitting:k})}a.s(["CreateDrawerClient",()=>aW],93995)}];
2
2
 
3
3
  //# sourceMappingURL=744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[61199,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075);a.s([],43119),a.i(43119),a.s(["009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",()=>b.pickFolder,"00af6bc32c5aabb828d6d9ce761eb2a15daa9a0f38",()=>o.fetchGraphData,"40048e070ff1bddecf99b5bb491585030c893d098c",()=>g.getDeploymentStatus,"400ded154fa639e8d276f273f4422b84f8b9a0528c",()=>n.getFeatureMetadata,"401c43d492382a0af0d94b4f77e54748af06c46b23",()=>m.deleteRepository,"401fce915d296e832c378555234b44542c65f49994",()=>h.openIde,"402a0c7bbce37304a94418bfbdf08d25b6fa292119",()=>d.deployFeature,"404672c885cd65c61d074a4c8c70f15959b0252786",()=>l.addRepository,"4053d6f2e078434f245382ce3a2e1ca7742c0c5bae",()=>k.deleteFeature,"405925f25cfcc9efd3993cd63d083abb6e59905728",()=>f.stopDeployment,"408b0a06417c17e5b2b395823f96d3d6b0a10b1c42",()=>j.openFolder,"408c4a5e42114d24199e73e1e8ebfe309dd0814dd2",()=>c.getDeploymentLogs,"40bddf5b2f392fcc997d9ccaf23782d302c227af97",()=>e.deployRepository,"40ce59dbd29fc40d068d3903d20db321065413f583",()=>i.openShell],61199)}];
2
+
3
+ //# sourceMappingURL=8ba4b_server_app_%28dashboard%29_%40drawer_repository_%5BrepositoryId%5D_page_actions_da7eef33.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[23956,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321),h=a.i(84095),i=a.i(56799),j=a.i(80496),k=a.i(50845),l=a.i(49560),m=a.i(39353),n=a.i(29207),o=a.i(31075);a.s([],25128),a.i(25128),a.s(["009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",()=>b.pickFolder,"00af6bc32c5aabb828d6d9ce761eb2a15daa9a0f38",()=>o.fetchGraphData,"40048e070ff1bddecf99b5bb491585030c893d098c",()=>g.getDeploymentStatus,"400ded154fa639e8d276f273f4422b84f8b9a0528c",()=>n.getFeatureMetadata,"401c43d492382a0af0d94b4f77e54748af06c46b23",()=>m.deleteRepository,"401fce915d296e832c378555234b44542c65f49994",()=>h.openIde,"402a0c7bbce37304a94418bfbdf08d25b6fa292119",()=>d.deployFeature,"404672c885cd65c61d074a4c8c70f15959b0252786",()=>l.addRepository,"4053d6f2e078434f245382ce3a2e1ca7742c0c5bae",()=>k.deleteFeature,"405925f25cfcc9efd3993cd63d083abb6e59905728",()=>f.stopDeployment,"408b0a06417c17e5b2b395823f96d3d6b0a10b1c42",()=>j.openFolder,"408c4a5e42114d24199e73e1e8ebfe309dd0814dd2",()=>c.getDeploymentLogs,"40bddf5b2f392fcc997d9ccaf23782d302c227af97",()=>e.deployRepository,"40ce59dbd29fc40d068d3903d20db321065413f583",()=>i.openShell],23956)}];
2
+
3
+ //# sourceMappingURL=8ba4b_server_app_%28dashboard%29_repository_%5BrepositoryId%5D_page_actions_0a9251aa.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40b6feaf5146e5dace370644c824609a2ca38bd631",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40b004efd44fc5651f2277b5956d82f2ba62c36a1f",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40abb76f454a24958782acf5a3bdb6ef67d098950f",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40a6742c551959e67baa13b1fad2fe82afaee624db",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40ba7a570fa466996033c33faf37f42958682a43b1",null),a.s(["getDeploymentStatus",()=>s],85321)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"001371803ca5b5df95115f5adbcfaaa141151b092b",null),a.s(["pickFolder",()=>g],12513)},96380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},81719,a=>{"use strict";var b,c,d,e,f=((b={}).Todo="Todo",b.WIP="Work in Progress",b.Done="Done",b.Review="Review",b),g=((c={}).Started="Started",c.Analyze="Analyze",c.Requirements="Requirements",c.Research="Research",c.Planning="Planning",c.Implementation="Implementation",c.Review="Review",c.Maintain="Maintain",c.Blocked="Blocked",c),h=((d={}).Booting="Booting",d.Ready="Ready",d.Stopped="Stopped",d),i=((e={}).pending="pending",e.running="running",e.completed="completed",e.failed="failed",e.interrupted="interrupted",e.cancelled="cancelled",e.waitingApproval="waiting_approval",e);a.s(["AgentRunStatus",()=>i,"DeploymentState",()=>h,"SdlcLifecycle",()=>g,"TaskState",()=>f])},90322,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],9775),a.i(9775),a.s(["001371803ca5b5df95115f5adbcfaaa141151b092b",()=>b.pickFolder,"40a6742c551959e67baa13b1fad2fe82afaee624db",()=>f.stopDeployment,"40abb76f454a24958782acf5a3bdb6ef67d098950f",()=>e.deployRepository,"40b004efd44fc5651f2277b5956d82f2ba62c36a1f",()=>d.deployFeature,"40b6feaf5146e5dace370644c824609a2ca38bd631",()=>c.getDeploymentLogs,"40ba7a570fa466996033c33faf37f42958682a43b1",()=>g.getDeploymentStatus],90322)}];
1
+ module.exports=[2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"408c4a5e42114d24199e73e1e8ebfe309dd0814dd2",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"402a0c7bbce37304a94418bfbdf08d25b6fa292119",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40bddf5b2f392fcc997d9ccaf23782d302c227af97",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"405925f25cfcc9efd3993cd63d083abb6e59905728",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40048e070ff1bddecf99b5bb491585030c893d098c",null),a.s(["getDeploymentStatus",()=>s],85321)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",null),a.s(["pickFolder",()=>g],12513)},96380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},81719,a=>{"use strict";var b,c,d,e,f=((b={}).Todo="Todo",b.WIP="Work in Progress",b.Done="Done",b.Review="Review",b),g=((c={}).Started="Started",c.Analyze="Analyze",c.Requirements="Requirements",c.Research="Research",c.Planning="Planning",c.Implementation="Implementation",c.Review="Review",c.Maintain="Maintain",c.Blocked="Blocked",c),h=((d={}).Booting="Booting",d.Ready="Ready",d.Stopped="Stopped",d),i=((e={}).pending="pending",e.running="running",e.completed="completed",e.failed="failed",e.interrupted="interrupted",e.cancelled="cancelled",e.waitingApproval="waiting_approval",e);a.s(["AgentRunStatus",()=>i,"DeploymentState",()=>h,"SdlcLifecycle",()=>g,"TaskState",()=>f])},90322,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],9775),a.i(9775),a.s(["009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",()=>b.pickFolder,"40048e070ff1bddecf99b5bb491585030c893d098c",()=>g.getDeploymentStatus,"402a0c7bbce37304a94418bfbdf08d25b6fa292119",()=>d.deployFeature,"405925f25cfcc9efd3993cd63d083abb6e59905728",()=>f.stopDeployment,"408c4a5e42114d24199e73e1e8ebfe309dd0814dd2",()=>c.getDeploymentLogs,"40bddf5b2f392fcc997d9ccaf23782d302c227af97",()=>e.deployRepository],90322)}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__17a611f0._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},22672,a=>{a.n(a.i(41208))},27559,a=>{a.n(a.i(19981))},66840,a=>{a.n(a.i(25768))},11754,a=>{a.n(a.i(14994))},9875,a=>{"use strict";a.s(["FeatureDrawerClient",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call FeatureDrawerClient() from the server but FeatureDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx <module evaluation>","FeatureDrawerClient")},57863,a=>{"use strict";a.s(["FeatureDrawerClient",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call FeatureDrawerClient() from the server but FeatureDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx","FeatureDrawerClient")},45273,a=>{"use strict";a.i(9875);var b=a.i(57863);a.n(b)},14994,a=>{"use strict";var b=a.i(92807),c=a.i(96380),d=a.i(14703);let e={Requirements:"requirements",Research:"research",Implementation:"implementation",Review:"review","Deploy & QA":"deploy",Maintain:"maintain"},f={analyze:"requirements",requirements:"requirements",research:"research",plan:"implementation",implement:"implementation",merge:"review"};var g=a.i(45273);async function h({params:a}){let{featureId:h}=await a;try{let a,i,j=(0,c.resolve)("IFeatureRepository"),k=(0,c.resolve)("IAgentRunRepository"),l=await j.findById(h);if(!l)return null;let m=l.agentRunId?await k.findById(l.agentRunId):null,n=(a=m?.result?.startsWith("node:")?m.result.slice(5):void 0,i=m?.status==="completed"?"maintain":(a?f[a]:void 0)??e[l.lifecycle]??"requirements",{name:l.name,description:l.description??l.slug,featureId:l.id,lifecycle:i,repositoryPath:l.repositoryPath,branch:l.branch,specPath:l.specPath,state:(0,d.deriveNodeState)(l,m),progress:(0,d.deriveProgress)(l),...m?.agentType&&{agentType:m.agentType},...m?.error&&{errorMessage:m.error},...l.pr&&{pr:{url:l.pr.url,number:l.pr.number,status:l.pr.status,ciStatus:l.pr.ciStatus,commitHash:l.pr.commitHash}}}),o=function({selectedNode:a,isCreateDrawerOpen:b,pendingRepositoryPath:c,pendingParentFeatureId:d,selectedRepoNode:e,features:f,workflowDefaults:g}){return b?{type:"feature-create",repositoryPath:c,initialParentId:d,features:f,workflowDefaults:g}:a?"requirements"===a.lifecycle&&"action-required"===a.state?{type:"prd-review",node:a}:"implementation"===a.lifecycle&&"action-required"===a.state?{type:"tech-review",node:a}:"review"===a.lifecycle&&("action-required"===a.state||"error"===a.state)?{type:"merge-review",node:a}:{type:"feature",node:a}:e?{type:"repository",data:e}:null}({selectedNode:n,isCreateDrawerOpen:!1,pendingRepositoryPath:"",pendingParentFeatureId:void 0,selectedRepoNode:null,features:[],workflowDefaults:void 0});if(!o)return null;return(0,b.jsx)(g.FeatureDrawerClient,{view:o})}catch{return null}}a.s(["default",()=>h,"dynamic",0,"force-dynamic"],14994)}];
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},22672,a=>{a.n(a.i(41208))},27559,a=>{a.n(a.i(19981))},66840,a=>{a.n(a.i(25768))},11754,a=>{a.n(a.i(14994))},9875,a=>{"use strict";a.s(["FeatureDrawerClient",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call FeatureDrawerClient() from the server but FeatureDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx <module evaluation>","FeatureDrawerClient")},57863,a=>{"use strict";a.s(["FeatureDrawerClient",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call FeatureDrawerClient() from the server but FeatureDrawerClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.tsx","FeatureDrawerClient")},45273,a=>{"use strict";a.i(9875);var b=a.i(57863);a.n(b)},14994,a=>{"use strict";var b=a.i(92807),c=a.i(96380),d=a.i(14703),e=a.i(45273);async function f({params:a}){let{featureId:f}=await a;try{let a=(0,c.resolve)("IFeatureRepository"),g=(0,c.resolve)("IAgentRunRepository"),h=await a.findById(f);if(!h)return null;let i=h.agentRunId?await g.findById(h.agentRunId):null,j={name:h.name,description:h.description??h.slug,featureId:h.id,lifecycle:(0,d.deriveLifecycle)(h,i),repositoryPath:h.repositoryPath,branch:h.branch,specPath:h.specPath,state:(0,d.deriveNodeState)(h,i),progress:(0,d.deriveProgress)(h),...i?.agentType&&{agentType:i.agentType},...i?.error&&{errorMessage:i.error},...h.pr&&{pr:{url:h.pr.url,number:h.pr.number,status:h.pr.status,ciStatus:h.pr.ciStatus,commitHash:h.pr.commitHash}}},k=function({selectedNode:a,isCreateDrawerOpen:b,pendingRepositoryPath:c,pendingParentFeatureId:d,selectedRepoNode:e,features:f,workflowDefaults:g}){if(b)return{type:"feature-create",repositoryPath:c,initialParentId:d,features:f,workflowDefaults:g};if(a)return{type:"requirements"===a.lifecycle&&"action-required"===a.state?"prd-review":"implementation"===a.lifecycle&&"action-required"===a.state?"tech-review":"review"===a.lifecycle&&("action-required"===a.state||"error"===a.state)?"merge-review":"feature",node:a};return e?{type:"repository",data:e}:null}({selectedNode:j,isCreateDrawerOpen:!1,pendingRepositoryPath:"",pendingParentFeatureId:void 0,selectedRepoNode:null,features:[],workflowDefaults:void 0});if(!k)return null;return(0,b.jsx)(e.FeatureDrawerClient,{view:k})}catch{return null}}a.s(["default",()=>f,"dynamic",0,"force-dynamic"],14994)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__2018e25f._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},22672,a=>{a.n(a.i(41208))},32459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>","default")},93933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(32459);var b=a.i(93933);a.n(b)},77048,a=>{"use strict";var b=a.i(92807),c=a.i(60526),d=a.i(67651);function e(){let a={nodeVersion:process.version,platform:(0,c.platform)(),arch:(0,c.arch)()};return(0,b.jsx)(d.default,{versionInfo:{version:"1.72.8",name:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},systemInfo:a})}a.s(["default",()=>e],77048)}];
1
+ module.exports=[60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},22672,a=>{a.n(a.i(41208))},32459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>","default")},93933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(32459);var b=a.i(93933);a.n(b)},77048,a=>{"use strict";var b=a.i(92807),c=a.i(60526),d=a.i(67651);function e(){let a={nodeVersion:process.version,platform:(0,c.platform)(),arch:(0,c.arch)()};return(0,b.jsx)(d.default,{versionInfo:{version:"1.73.0",name:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},systemInfo:a})}a.s(["default",()=>e],77048)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__249c74f6._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40b6feaf5146e5dace370644c824609a2ca38bd631",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40b004efd44fc5651f2277b5956d82f2ba62c36a1f",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40abb76f454a24958782acf5a3bdb6ef67d098950f",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40a6742c551959e67baa13b1fad2fe82afaee624db",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40ba7a570fa466996033c33faf37f42958682a43b1",null),a.s(["getDeploymentStatus",()=>s],85321)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"001371803ca5b5df95115f5adbcfaaa141151b092b",null),a.s(["pickFolder",()=>g],12513)},96380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},81719,a=>{"use strict";var b,c,d,e,f=((b={}).Todo="Todo",b.WIP="Work in Progress",b.Done="Done",b.Review="Review",b),g=((c={}).Started="Started",c.Analyze="Analyze",c.Requirements="Requirements",c.Research="Research",c.Planning="Planning",c.Implementation="Implementation",c.Review="Review",c.Maintain="Maintain",c.Blocked="Blocked",c),h=((d={}).Booting="Booting",d.Ready="Ready",d.Stopped="Stopped",d),i=((e={}).pending="pending",e.running="running",e.completed="completed",e.failed="failed",e.interrupted="interrupted",e.cancelled="cancelled",e.waitingApproval="waiting_approval",e);a.s(["AgentRunStatus",()=>i,"DeploymentState",()=>h,"SdlcLifecycle",()=>g,"TaskState",()=>f])},87596,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],78455),a.i(78455),a.s(["001371803ca5b5df95115f5adbcfaaa141151b092b",()=>b.pickFolder,"40a6742c551959e67baa13b1fad2fe82afaee624db",()=>f.stopDeployment,"40abb76f454a24958782acf5a3bdb6ef67d098950f",()=>e.deployRepository,"40b004efd44fc5651f2277b5956d82f2ba62c36a1f",()=>d.deployFeature,"40b6feaf5146e5dace370644c824609a2ca38bd631",()=>c.getDeploymentLogs,"40ba7a570fa466996033c33faf37f42958682a43b1",()=>g.getDeploymentStatus],87596)}];
1
+ module.exports=[2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"408c4a5e42114d24199e73e1e8ebfe309dd0814dd2",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"402a0c7bbce37304a94418bfbdf08d25b6fa292119",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40bddf5b2f392fcc997d9ccaf23782d302c227af97",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"405925f25cfcc9efd3993cd63d083abb6e59905728",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40048e070ff1bddecf99b5bb491585030c893d098c",null),a.s(["getDeploymentStatus",()=>s],85321)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",null),a.s(["pickFolder",()=>g],12513)},96380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},81719,a=>{"use strict";var b,c,d,e,f=((b={}).Todo="Todo",b.WIP="Work in Progress",b.Done="Done",b.Review="Review",b),g=((c={}).Started="Started",c.Analyze="Analyze",c.Requirements="Requirements",c.Research="Research",c.Planning="Planning",c.Implementation="Implementation",c.Review="Review",c.Maintain="Maintain",c.Blocked="Blocked",c),h=((d={}).Booting="Booting",d.Ready="Ready",d.Stopped="Stopped",d),i=((e={}).pending="pending",e.running="running",e.completed="completed",e.failed="failed",e.interrupted="interrupted",e.cancelled="cancelled",e.waitingApproval="waiting_approval",e);a.s(["AgentRunStatus",()=>i,"DeploymentState",()=>h,"SdlcLifecycle",()=>g,"TaskState",()=>f])},87596,a=>{"use strict";var b=a.i(12513),c=a.i(94691),d=a.i(33841),e=a.i(46646),f=a.i(68670),g=a.i(85321);a.s([],78455),a.i(78455),a.s(["009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",()=>b.pickFolder,"40048e070ff1bddecf99b5bb491585030c893d098c",()=>g.getDeploymentStatus,"402a0c7bbce37304a94418bfbdf08d25b6fa292119",()=>d.deployFeature,"405925f25cfcc9efd3993cd63d083abb6e59905728",()=>f.stopDeployment,"408c4a5e42114d24199e73e1e8ebfe309dd0814dd2",()=>c.getDeploymentLogs,"40bddf5b2f392fcc997d9ccaf23782d302c227af97",()=>e.deployRepository],87596)}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__45dbf93d._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},48939,a=>{"use strict";var b=a.i(96960);a.i(10973);var c=b.createContext(void 0);function d(a){let d=b.useContext(c);return a||d||"ltr"}a.s(["useDirection",()=>d])},17300,a=>{"use strict";let b=(0,a.i(25700).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>b],17300)},2811,a=>{"use strict";let b=(0,a.i(25700).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",()=>b])},67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},58508,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},2065,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(96960);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},61712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},27478,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},67837,67273,a=>{"use strict";var b=a.i(87148);a.s(["Plus",()=>b.default],67837);var c=a.i(2811);a.s(["CircleCheck",()=>c.default],67273)},84871,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,c.createContext)(null);function e({children:a,runId:e}){let f=function(a){let[b,d]=(0,c.useState)([]),[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)("disconnected"),i=a?.runId;(0,c.useRef)(null);let j=(0,c.useCallback)(a=>{let b=a.data;if(b&&"object"==typeof b)if("notification"===b.type){let a=b.data;d(b=>[...b,a]),f(a)}else"status"===b.type&&h(b.status)},[]);return(0,c.useEffect)(()=>{},[i,j]),{events:b,lastEvent:e,connectionStatus:g}}({runId:e});return(0,b.jsx)(d.Provider,{value:f,children:a})}function f(){let a=(0,c.useContext)(d);if(!a)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return a}a.s(["AgentEventsProvider",()=>e,"useAgentEventsContext",()=>f],84871)},65079,69796,10406,21080,1356,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(67837),e=a.i(88064),f=a.i(25674);let g=(0,f.createServerReference)("001371803ca5b5df95115f5adbcfaaa141151b092b",f.callServer,void 0,f.findSourceMapURL,"pickFolder");async function h(){let a=await g();if(a.error)throw Error(a.error);return a.path}function i({data:a}){let[f,g]=(0,c.useState)(!1);async function i(){if(!f){g(!0);try{let b=await h();b&&a.onSelect?.(b)}finally{g(!1)}}}return(0,b.jsx)("div",{className:"group",children:(0,b.jsxs)("button",{type:"button","data-testid":"add-repository-node-card",onClick:i,disabled:f,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",children:[f?(0,b.jsx)(e.Loader2,{className:"h-5 w-5 shrink-0 animate-spin"}):(0,b.jsx)(d.Plus,{className:"h-5 w-5 shrink-0"}),(0,b.jsx)("span",{"data-testid":"add-repository-node-label",className:"text-sm font-medium",children:f?"Opening...":"Add Repository"})]})})}a.s(["pickFolder",()=>h],69796),a.s(["AddRepositoryNode",()=>i],10406);let j=(0,a.i(25700).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var k=a.i(18948),l=a.i(82934);function m({onSelect:a}){let[d,f]=(0,c.useState)(!1);async function g(){if(!d){f(!0);try{let b=await h();b&&a?.(b)}finally{f(!1)}}}return(0,b.jsx)(l.TooltipProvider,{children:(0,b.jsxs)(l.Tooltip,{children:[(0,b.jsx)(l.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":"Add Repository","data-testid":"add-repository-button",onClick:g,disabled:d,children:d?(0,b.jsx)(e.Loader2,{className:"h-5 w-5 animate-spin"}):(0,b.jsx)(j,{className:"h-5 w-5"})})}),(0,b.jsx)(l.TooltipContent,{children:"Add Repository"})]})})}a.s(["AddRepositoryButton",()=>m],21080),a.s([],65079);let n={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"in-progress",error:"in-progress",creating:null};function o(a){return n[a]}let p=(0,c.createContext)(null);function q({children:a}){let[d,e]=(0,c.useState)([]),f=(0,c.useMemo)(()=>({features:d,setFeatures:e}),[d]);return(0,b.jsx)(p.Provider,{value:f,children:a})}function r(){let a=(0,c.useContext)(p);if(!a)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return a}a.s(["SidebarFeaturesProvider",()=>q,"mapNodeStateToSidebarStatus",()=>o,"useSidebarFeaturesContext",()=>r],1356)}];
1
+ module.exports=[15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},48939,a=>{"use strict";var b=a.i(96960);a.i(10973);var c=b.createContext(void 0);function d(a){let d=b.useContext(c);return a||d||"ltr"}a.s(["useDirection",()=>d])},17300,a=>{"use strict";let b=(0,a.i(25700).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>b],17300)},2811,a=>{"use strict";let b=(0,a.i(25700).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",()=>b])},67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},58508,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},2065,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(96960);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},61712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},27478,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},67837,67273,a=>{"use strict";var b=a.i(87148);a.s(["Plus",()=>b.default],67837);var c=a.i(2811);a.s(["CircleCheck",()=>c.default],67273)},84871,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,a.i(87139).createLogger)("[SSE]"),e=(0,c.createContext)(null);function f({children:a,runId:f}){let{events:g,lastEvent:h,connectionStatus:i}=function(a){let[b,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)("disconnected"),j=a?.runId;(0,c.useRef)(null);let k=(0,c.useCallback)(a=>{let b=a.data;if(b&&"object"==typeof b)if("notification"===b.type){let a=b.data;d.debug("event received:",a.eventType,a),e(b=>{let c=[...b,a];return c.length>500?c.slice(-250):c}),g(a)}else"status"===b.type&&i(b.status)},[]);return(0,c.useEffect)(()=>{},[j,k]),{events:b,lastEvent:f,connectionStatus:h}}({runId:f}),j=(0,c.useMemo)(()=>({events:g,lastEvent:h,connectionStatus:i}),[g,h,i]);return(0,b.jsx)(e.Provider,{value:j,children:a})}function g(){let a=(0,c.useContext)(e);if(!a)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return a}a.s(["AgentEventsProvider",()=>f,"useAgentEventsContext",()=>g],84871)},1377,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",b.callServer,void 0,b.findSourceMapURL,"pickFolder");async function d(){let a=await c();if(a.error)throw Error(a.error);return a.path}a.s(["pickFolder",()=>d],1377)},1356,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"in-progress",error:"in-progress",creating:null};function e(a){return d[a]}let f=(0,c.createContext)(null);function g({children:a}){let[d,e]=(0,c.useState)([]),g=(0,c.useMemo)(()=>({features:d,setFeatures:e}),[d]);return(0,b.jsx)(f.Provider,{value:g,children:a})}function h(){let a=(0,c.useContext)(f);if(!a)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return a}a.s(["SidebarFeaturesProvider",()=>g,"mapNodeStateToSidebarStatus",()=>e,"useSidebarFeaturesContext",()=>h])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__cbae9863._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__6258349c._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"001371803ca5b5df95115f5adbcfaaa141151b092b",null),a.s(["pickFolder",()=>g],12513)},66973,a=>{"use strict";var b=a.i(12513);a.s([],65794),a.i(65794),a.s(["001371803ca5b5df95115f5adbcfaaa141151b092b",()=>b.pickFolder],66973)}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",null),a.s(["pickFolder",()=>g],12513)},66973,a=>{"use strict";var b=a.i(12513);a.s([],65794),a.i(65794),a.s(["009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",()=>b.pickFolder],66973)}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__6b17a22d._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[84095,56799,80496,50845,49560,39353,31075,a=>{"use strict";var b=a.i(92658),c=a.i(33244),d=a.i(96380),e=a.i(12581);async function f(a){let{repositoryPath:b,branch:e}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};let f=(0,c.getSettings)().environment.defaultEditor,g=(0,d.resolve)("LaunchIdeUseCase"),h=await g.execute({editorId:f,repositoryPath:b,branch:e,checkAvailability:!0});return h.ok?{success:!0,editor:h.editorName,path:h.worktreePath}:{success:!1,error:h.message}}(0,e.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"40fa7bf016071a726e373736f1493a448cd0cab4a0",null),a.s(["openIde",()=>f],84095);var g=a.i(2157),h=a.i(60526),i=a.i(74533),j=a.i(29918);let k={darwin:{cmd:"open",args:a=>["-a","Terminal",a]},linux:{cmd:"x-terminal-emulator",args:a=>[`--working-directory=${a}`]}};async function l(a){let{repositoryPath:b,branch:d}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a=(0,c.getSettings)().environment.shellPreference,e=d?(0,j.computeWorktreePath)(b,d):b;if(!(0,g.existsSync)(e))return{success:!1,error:`Path does not exist: ${e}`};let f=k[(0,h.platform)()];if(!f)return{success:!1,error:`Unsupported platform: ${(0,h.platform)()}. Shell launch is supported on macOS and Linux only.`};let l=(0,i.spawn)(f.cmd,f.args(e),{detached:!0,stdio:"ignore"});return l.on("error",()=>void 0),l.unref(),{success:!0,path:e,shell:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,e.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"40c225e64b357fe5db604b18e7353574f011e2fee5",null),a.s(["openShell",()=>l],56799);let m={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]}};async function n(a){if(!a?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,g.existsSync)(a))return{success:!1,error:"Directory not found"};let b=m[(0,h.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,h.platform)()}. Folder open is supported on macOS and Linux only.`};let c=(0,i.spawn)(b.cmd,b.args(a),{detached:!0,stdio:"ignore"});return c.on("error",()=>void 0),c.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}async function o(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,d.resolve)("DeleteFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function p(a){let{path:b,name:c}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,d.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:c})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function q(a){if(!a?.trim())return{success:!1,error:"id is required"};try{let b=(0,d.resolve)("DeleteRepositoryUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete repository"}}}(0,e.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"406dc518f376e232c7ecde857988216e06c2881960",null),a.s(["openFolder",()=>n],80496),(0,e.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40c245c3415412e961be7dc5228e817e3c0ec65b57",null),a.s(["deleteFeature",()=>o],50845),(0,e.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"4020b77600fa943c69172d4d40f593668a0072add4",null),a.s(["addRepository",()=>p],49560),(0,e.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40a6c37dc19cccd46b181a694da2959e1c602ca305",null),a.s(["deleteRepository",()=>q],39353);var r=a.i(66693);async function s(){return(0,r.getGraphData)()}(0,e.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"001489ceacff468fa3035dfc3f2f379a3dab260c8f",null),a.s(["fetchGraphData",()=>s],31075)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"001371803ca5b5df95115f5adbcfaaa141151b092b",null),a.s(["pickFolder",()=>g],12513)},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40b6feaf5146e5dace370644c824609a2ca38bd631",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40b004efd44fc5651f2277b5956d82f2ba62c36a1f",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40abb76f454a24958782acf5a3bdb6ef67d098950f",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"40a6742c551959e67baa13b1fad2fe82afaee624db",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40ba7a570fa466996033c33faf37f42958682a43b1",null),a.s(["getDeploymentStatus",()=>s],85321)},33244,a=>{"use strict";let b="__shepSettings";function c(){let a=function(){let a=globalThis[b];if(null!=a)return a;let c=process[b];return null!=c?c:null}();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}a.s(["getSettings",()=>c])}];
1
+ module.exports=[84095,56799,80496,50845,49560,39353,29207,31075,a=>{"use strict";var b=a.i(92658),c=a.i(33244),d=a.i(96380),e=a.i(12581);async function f(a){let{repositoryPath:b,branch:e}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};let f=(0,c.getSettings)().environment.defaultEditor,g=(0,d.resolve)("LaunchIdeUseCase"),h=await g.execute({editorId:f,repositoryPath:b,branch:e,checkAvailability:!0});return h.ok?{success:!0,editor:h.editorName,path:h.worktreePath}:{success:!1,error:h.message}}(0,e.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"401fce915d296e832c378555234b44542c65f49994",null),a.s(["openIde",()=>f],84095);var g=a.i(2157),h=a.i(60526),i=a.i(74533),j=a.i(29918);let k={darwin:{cmd:"open",args:a=>["-a","Terminal",a]},linux:{cmd:"x-terminal-emulator",args:a=>[`--working-directory=${a}`]}};async function l(a){let{repositoryPath:b,branch:d}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a=(0,c.getSettings)().environment.shellPreference,e=d?(0,j.computeWorktreePath)(b,d):b;if(!(0,g.existsSync)(e))return{success:!1,error:`Path does not exist: ${e}`};let f=k[(0,h.platform)()];if(!f)return{success:!1,error:`Unsupported platform: ${(0,h.platform)()}. Shell launch is supported on macOS and Linux only.`};let l=(0,i.spawn)(f.cmd,f.args(e),{detached:!0,stdio:"ignore"});return l.on("error",()=>void 0),l.unref(),{success:!0,path:e,shell:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}(0,e.ensureServerEntryExports)([l]),(0,b.registerServerReference)(l,"40ce59dbd29fc40d068d3903d20db321065413f583",null),a.s(["openShell",()=>l],56799);let m={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]}};async function n(a){if(!a?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,g.existsSync)(a))return{success:!1,error:"Directory not found"};let b=m[(0,h.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,h.platform)()}. Folder open is supported on macOS and Linux only.`};let c=(0,i.spawn)(b.cmd,b.args(a),{detached:!0,stdio:"ignore"});return c.on("error",()=>void 0),c.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}async function o(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,d.resolve)("DeleteFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function p(a){let{path:b,name:c}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,d.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:c})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function q(a){if(!a?.trim())return{success:!1,error:"id is required"};try{let b=(0,d.resolve)("DeleteRepositoryUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete repository"}}}async function r(a){let b=(0,d.resolve)("IFeatureRepository"),c=await b.findById(a);return c?{name:c.name,description:c.description}:null}(0,e.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"408b0a06417c17e5b2b395823f96d3d6b0a10b1c42",null),a.s(["openFolder",()=>n],80496),(0,e.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"4053d6f2e078434f245382ce3a2e1ca7742c0c5bae",null),a.s(["deleteFeature",()=>o],50845),(0,e.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"404672c885cd65c61d074a4c8c70f15959b0252786",null),a.s(["addRepository",()=>p],49560),(0,e.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"401c43d492382a0af0d94b4f77e54748af06c46b23",null),a.s(["deleteRepository",()=>q],39353),(0,e.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"400ded154fa639e8d276f273f4422b84f8b9a0528c",null),a.s(["getFeatureMetadata",()=>r],29207);var s=a.i(66693);async function t(){return(0,s.getGraphData)()}(0,e.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"00af6bc32c5aabb828d6d9ce761eb2a15daa9a0f38",null),a.s(["fetchGraphData",()=>t],31075)},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",null),a.s(["pickFolder",()=>g],12513)},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},94691,29918,33841,46646,68670,85321,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"408c4a5e42114d24199e73e1e8ebfe309dd0814dd2",null),a.s(["getDeploymentLogs",()=>e],94691);var f=a.i(2157);let g=()=>void 0;function h(a){let b=!!process.env.DEBUG;return{info:b?(...b)=>console.info(a,...b):g,debug:b?(...b)=>console.debug(a,...b):g,warn:(...b)=>console.warn(a,...b),error:(...b)=>console.error(a,...b)}}var i=a.i(66680),j=a.i(50227);a.i(12714);var k=a.i(60526);function l(a,b){let c=(0,i.createHash)("sha256").update(a).digest("hex").slice(0,16),d=b.replace(/\//g,"-");return(0,j.join)(process.env.SHEP_HOME??(0,j.join)((0,k.homedir)(),".shep"),"repos",c,"wt",d)}a.s(["computeWorktreePath",()=>l],29918);var m=a.i(81719);let n=h("[deployFeature]");async function o(a){if(n.info(`called — featureId="${a}"`),!a?.trim())return n.warn("rejected — featureId is empty"),{success:!1,error:"featureId is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return n.warn(`feature not found in repository: "${a}"`),{success:!1,error:`Feature not found: ${a}`};n.info(`feature found — repositoryPath="${d.repositoryPath}", branch="${d.branch}"`);let e=l(d.repositoryPath,d.branch);if(n.info(`computed worktreePath="${e}"`),!(0,f.existsSync)(e))return n.warn(`worktree path does not exist on disk: "${e}"`),{success:!1,error:`Worktree path does not exist: ${e}`};return n.info("worktree path exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,e),n.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy feature";return n.error(`error: ${a}`,b),{success:!1,error:a}}}(0,d.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"402a0c7bbce37304a94418bfbdf08d25b6fa292119",null),a.s(["deployFeature",()=>o],33841);let p=h("[deployRepository]");async function q(a){if(p.info(`called — repositoryPath="${a}"`),!a?.startsWith("/"))return p.warn("rejected — not an absolute path"),{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,f.existsSync)(a))return p.warn(`directory does not exist: "${a}"`),{success:!1,error:`Directory does not exist: ${a}`};return p.info("directory exists, calling deploymentService.start()"),(0,c.resolve)("IDeploymentService").start(a,a),p.info("start() returned successfully — state=Booting"),{success:!0,state:m.DeploymentState.Booting}}catch(b){let a=b instanceof Error?b.message:"Failed to deploy repository";return p.error(`error: ${a}`,b),{success:!1,error:a}}}async function r(a){if(!a?.trim())return{success:!1,error:"targetId is required"};try{let b=(0,c.resolve)("IDeploymentService");return await b.stop(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to stop deployment"}}}async function s(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getStatus(a):null}(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40bddf5b2f392fcc997d9ccaf23782d302c227af97",null),a.s(["deployRepository",()=>q],46646),(0,d.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"405925f25cfcc9efd3993cd63d083abb6e59905728",null),a.s(["stopDeployment",()=>r],68670),(0,d.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40048e070ff1bddecf99b5bb491585030c893d098c",null),a.s(["getDeploymentStatus",()=>s],85321)},33244,a=>{"use strict";let b="__shepSettings";function c(){let a=function(){let a=globalThis[b];if(null!=a)return a;let c=process[b];return null!=c?c:null}();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}a.s(["getSettings",()=>c])}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__6cbc1149._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"001371803ca5b5df95115f5adbcfaaa141151b092b",null),a.s(["pickFolder",()=>g],12513)},86139,a=>{"use strict";var b=a.i(12513);a.s([],53565),a.i(53565),a.s(["001371803ca5b5df95115f5adbcfaaa141151b092b",()=>b.pickFolder],86139)}];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},12513,a=>{"use strict";var b=a.i(92658),c=a.i(74533);let d={platform:process.platform,exec:(a,b)=>(0,c.execSync)(a,b)},e={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class f{deps;constructor(a={}){this.deps={...d,...a}}getCommand(){return e[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function g(){let a=new f;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}(0,a.i(12581).ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",null),a.s(["pickFolder",()=>g],12513)},86139,a=>{"use strict";var b=a.i(12513);a.s([],53565),a.i(53565),a.s(["009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",()=>b.pickFolder],86139)}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__804c006d._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},48939,a=>{"use strict";var b=a.i(96960);a.i(10973);var c=b.createContext(void 0);function d(a){let d=b.useContext(c);return a||d||"ltr"}a.s(["useDirection",()=>d])},17300,a=>{"use strict";let b=(0,a.i(25700).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>b],17300)},2811,a=>{"use strict";let b=(0,a.i(25700).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",()=>b])},52475,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HandleISRError",{enumerable:!0,get:function(){return e}});let d=a.r(56704).workAsyncStorage;function e({error:a}){if(d){let b=d.getStore();if(b?.isStaticGeneration)throw a&&console.error(a),a}return null}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},43167,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return h}});let d=a.r(10973),e=a.r(52475),f={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},g={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},h=function({error:a}){let b=a?.digest;return(0,d.jsxs)("html",{id:"__next_error__",children:[(0,d.jsx)("head",{}),(0,d.jsxs)("body",{children:[(0,d.jsx)(e.HandleISRError,{error:a}),(0,d.jsx)("div",{style:f,children:(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{style:g,children:["Application error: a ",b?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",b?"server logs":"browser console"," for more information)."]}),b?(0,d.jsx)("p",{style:g,children:`Digest: ${b}`}):null]})})]})]})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},58508,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},2065,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(96960);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},61712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},27478,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},67837,67273,a=>{"use strict";var b=a.i(87148);a.s(["Plus",()=>b.default],67837);var c=a.i(2811);a.s(["CircleCheck",()=>c.default],67273)},84871,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,c.createContext)(null);function e({children:a,runId:e}){let f=function(a){let[b,d]=(0,c.useState)([]),[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)("disconnected"),i=a?.runId;(0,c.useRef)(null);let j=(0,c.useCallback)(a=>{let b=a.data;if(b&&"object"==typeof b)if("notification"===b.type){let a=b.data;d(b=>[...b,a]),f(a)}else"status"===b.type&&h(b.status)},[]);return(0,c.useEffect)(()=>{},[i,j]),{events:b,lastEvent:e,connectionStatus:g}}({runId:e});return(0,b.jsx)(d.Provider,{value:f,children:a})}function f(){let a=(0,c.useContext)(d);if(!a)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return a}a.s(["AgentEventsProvider",()=>e,"useAgentEventsContext",()=>f],84871)},65079,69796,10406,21080,1356,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(67837),e=a.i(88064),f=a.i(25674);let g=(0,f.createServerReference)("001371803ca5b5df95115f5adbcfaaa141151b092b",f.callServer,void 0,f.findSourceMapURL,"pickFolder");async function h(){let a=await g();if(a.error)throw Error(a.error);return a.path}function i({data:a}){let[f,g]=(0,c.useState)(!1);async function i(){if(!f){g(!0);try{let b=await h();b&&a.onSelect?.(b)}finally{g(!1)}}}return(0,b.jsx)("div",{className:"group",children:(0,b.jsxs)("button",{type:"button","data-testid":"add-repository-node-card",onClick:i,disabled:f,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",children:[f?(0,b.jsx)(e.Loader2,{className:"h-5 w-5 shrink-0 animate-spin"}):(0,b.jsx)(d.Plus,{className:"h-5 w-5 shrink-0"}),(0,b.jsx)("span",{"data-testid":"add-repository-node-label",className:"text-sm font-medium",children:f?"Opening...":"Add Repository"})]})})}a.s(["pickFolder",()=>h],69796),a.s(["AddRepositoryNode",()=>i],10406);let j=(0,a.i(25700).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var k=a.i(18948),l=a.i(82934);function m({onSelect:a}){let[d,f]=(0,c.useState)(!1);async function g(){if(!d){f(!0);try{let b=await h();b&&a?.(b)}finally{f(!1)}}}return(0,b.jsx)(l.TooltipProvider,{children:(0,b.jsxs)(l.Tooltip,{children:[(0,b.jsx)(l.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(k.Button,{variant:"ghost",size:"icon","aria-label":"Add Repository","data-testid":"add-repository-button",onClick:g,disabled:d,children:d?(0,b.jsx)(e.Loader2,{className:"h-5 w-5 animate-spin"}):(0,b.jsx)(j,{className:"h-5 w-5"})})}),(0,b.jsx)(l.TooltipContent,{children:"Add Repository"})]})})}a.s(["AddRepositoryButton",()=>m],21080),a.s([],65079);let n={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"in-progress",error:"in-progress",creating:null};function o(a){return n[a]}let p=(0,c.createContext)(null);function q({children:a}){let[d,e]=(0,c.useState)([]),f=(0,c.useMemo)(()=>({features:d,setFeatures:e}),[d]);return(0,b.jsx)(p.Provider,{value:f,children:a})}function r(){let a=(0,c.useContext)(p);if(!a)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return a}a.s(["SidebarFeaturesProvider",()=>q,"mapNodeStateToSidebarStatus",()=>o,"useSidebarFeaturesContext",()=>r],1356)}];
1
+ module.exports=[43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},48939,a=>{"use strict";var b=a.i(96960);a.i(10973);var c=b.createContext(void 0);function d(a){let d=b.useContext(c);return a||d||"ltr"}a.s(["useDirection",()=>d])},17300,a=>{"use strict";let b=(0,a.i(25700).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>b],17300)},2811,a=>{"use strict";let b=(0,a.i(25700).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",()=>b])},52475,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HandleISRError",{enumerable:!0,get:function(){return e}});let d=a.r(56704).workAsyncStorage;function e({error:a}){if(d){let b=d.getStore();if(b?.isStaticGeneration)throw a&&console.error(a),a}return null}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},43167,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return h}});let d=a.r(10973),e=a.r(52475),f={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},g={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},h=function({error:a}){let b=a?.digest;return(0,d.jsxs)("html",{id:"__next_error__",children:[(0,d.jsx)("head",{}),(0,d.jsxs)("body",{children:[(0,d.jsx)(e.HandleISRError,{error:a}),(0,d.jsx)("div",{style:f,children:(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{style:g,children:["Application error: a ",b?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",b?"server logs":"browser console"," for more information)."]}),b?(0,d.jsx)("p",{style:g,children:`Digest: ${b}`}):null]})})]})]})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},58508,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},2065,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(96960);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},61712,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},27478,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},67837,67273,a=>{"use strict";var b=a.i(87148);a.s(["Plus",()=>b.default],67837);var c=a.i(2811);a.s(["CircleCheck",()=>c.default],67273)},84871,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,a.i(87139).createLogger)("[SSE]"),e=(0,c.createContext)(null);function f({children:a,runId:f}){let{events:g,lastEvent:h,connectionStatus:i}=function(a){let[b,e]=(0,c.useState)([]),[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)("disconnected"),j=a?.runId;(0,c.useRef)(null);let k=(0,c.useCallback)(a=>{let b=a.data;if(b&&"object"==typeof b)if("notification"===b.type){let a=b.data;d.debug("event received:",a.eventType,a),e(b=>{let c=[...b,a];return c.length>500?c.slice(-250):c}),g(a)}else"status"===b.type&&i(b.status)},[]);return(0,c.useEffect)(()=>{},[j,k]),{events:b,lastEvent:f,connectionStatus:h}}({runId:f}),j=(0,c.useMemo)(()=>({events:g,lastEvent:h,connectionStatus:i}),[g,h,i]);return(0,b.jsx)(e.Provider,{value:j,children:a})}function g(){let a=(0,c.useContext)(e);if(!a)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return a}a.s(["AgentEventsProvider",()=>f,"useAgentEventsContext",()=>g],84871)},1377,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("009f3fc02d29e64b8de3c58ccac2dccbaf75f783b2",b.callServer,void 0,b.findSourceMapURL,"pickFolder");async function d(){let a=await c();if(a.error)throw Error(a.error);return a.path}a.s(["pickFolder",()=>d],1377)},1356,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d={"action-required":"action-needed",running:"in-progress",done:"done",blocked:"in-progress",error:"in-progress",creating:null};function e(a){return d[a]}let f=(0,c.createContext)(null);function g({children:a}){let[d,e]=(0,c.useState)([]),g=(0,c.useMemo)(()=>({features:d,setFeatures:e}),[d]);return(0,b.jsx)(f.Provider,{value:g,children:a})}function h(){let a=(0,c.useContext)(f);if(!a)throw Error("useSidebarFeaturesContext must be used within a <SidebarFeaturesProvider>");return a}a.s(["SidebarFeaturesProvider",()=>g,"mapNodeStateToSidebarStatus",()=>e,"useSidebarFeaturesContext",()=>h])}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__e5e09f72._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__94a6d275._.js.map