@shepai/cli 1.194.3-pr586.23e3597 → 1.194.4

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 (302) hide show
  1. package/package.json +1 -1
  2. package/web/.next/BUILD_ID +1 -1
  3. package/web/.next/build-manifest.json +2 -2
  4. package/web/.next/fallback-build-manifest.json +2 -2
  5. package/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/required-server-files.js +2 -2
  7. package/web/.next/required-server-files.json +2 -2
  8. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +3 -3
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +36 -36
  10. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  11. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  12. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +3 -3
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +34 -34
  14. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  15. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  16. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +3 -3
  17. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +37 -37
  18. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  19. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  20. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
  22. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  23. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  24. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +3 -3
  25. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +46 -46
  26. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  27. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
  29. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
  30. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  31. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  32. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
  34. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  36. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +3 -3
  37. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +34 -34
  38. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/control-center/page/react-loadable-manifest.json +3 -3
  41. package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +34 -34
  42. package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +3 -3
  45. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +37 -37
  46. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  47. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +3 -3
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
  50. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +3 -3
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +46 -46
  54. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  55. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  56. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
  58. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  59. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +3 -3
  61. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
  62. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/_global-error.html +2 -2
  65. package/web/.next/server/app/_global-error.rsc +1 -1
  66. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  67. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  68. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  69. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  70. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  71. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
  72. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +8 -8
  73. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +3 -3
  75. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +17 -17
  76. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  77. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/applications/page/react-loadable-manifest.json +3 -3
  79. package/web/.next/server/app/applications/page/server-reference-manifest.json +18 -18
  80. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  81. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  82. package/web/.next/server/app/features/page/react-loadable-manifest.json +3 -3
  83. package/web/.next/server/app/features/page/server-reference-manifest.json +30 -30
  84. package/web/.next/server/app/features/page.js.nft.json +1 -1
  85. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/page/react-loadable-manifest.json +3 -3
  87. package/web/.next/server/app/page/server-reference-manifest.json +8 -8
  88. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +3 -3
  90. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +15 -15
  91. package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
  92. package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +3 -3
  93. package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +27 -27
  94. package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +3 -3
  96. package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +11 -11
  97. package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +3 -3
  99. package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +17 -17
  100. package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/projects/page/react-loadable-manifest.json +3 -3
  102. package/web/.next/server/app/projects/page/server-reference-manifest.json +9 -9
  103. package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
  105. package/web/.next/server/app/settings/page/server-reference-manifest.json +11 -11
  106. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/skills/page/react-loadable-manifest.json +3 -3
  108. package/web/.next/server/app/skills/page/server-reference-manifest.json +16 -16
  109. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/tools/page/react-loadable-manifest.json +3 -3
  111. package/web/.next/server/app/tools/page/server-reference-manifest.json +14 -14
  112. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/version/page/react-loadable-manifest.json +3 -3
  114. package/web/.next/server/app/version/page/server-reference-manifest.json +8 -8
  115. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  117. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js +1 -1
  118. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js.map +1 -1
  119. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js +1 -1
  120. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js.map +1 -1
  121. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js +1 -1
  122. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js.map +1 -1
  123. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js +1 -1
  124. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
  126. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
  127. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
  128. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
  129. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  130. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  131. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  132. package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js +1 -1
  133. package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js +1 -1
  135. package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js.map +1 -1
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__1973d644._.js +1 -1
  137. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js +1 -1
  138. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js +1 -1
  140. package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js +1 -1
  142. package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js +1 -1
  144. package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js +3 -3
  146. package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js +2 -2
  148. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js +1 -1
  150. package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js.map +1 -1
  154. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0d04b8e2._.js → [root-of-the-server]__8ccbc357._.js} +2 -2
  155. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0d04b8e2._.js.map → [root-of-the-server]__8ccbc357._.js.map} +1 -1
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__97b6831c._.js +3 -3
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js +1 -1
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1e902e32._.js → [root-of-the-server]__b2926b69._.js} +2 -2
  160. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1e902e32._.js.map → [root-of-the-server]__b2926b69._.js.map} +1 -1
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js +1 -1
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
  170. package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/_12ba4a07._.js +1 -1
  172. package/web/.next/server/chunks/ssr/_12ba4a07._.js.map +1 -1
  173. package/web/.next/server/chunks/ssr/_15634d5b._.js +1 -1
  174. package/web/.next/server/chunks/ssr/_15634d5b._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/_27c2f774._.js +1 -1
  176. package/web/.next/server/chunks/ssr/_27c2f774._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/_30787024._.js +1 -1
  178. package/web/.next/server/chunks/ssr/_30787024._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/_3bd60fa3._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_402d53bf._.js +1 -1
  181. package/web/.next/server/chunks/ssr/_402d53bf._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  183. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/_6868b4b1._.js +1 -1
  185. package/web/.next/server/chunks/ssr/{_3906be1d._.js → _759e7aaa._.js} +2 -2
  186. package/web/.next/server/chunks/ssr/{_3906be1d._.js.map → _759e7aaa._.js.map} +1 -1
  187. package/web/.next/server/chunks/ssr/{_12f37a55._.js → _7cd98562._.js} +2 -2
  188. package/web/.next/server/chunks/ssr/{_12f37a55._.js.map → _7cd98562._.js.map} +1 -1
  189. package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
  190. package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
  192. package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
  193. package/web/.next/server/chunks/ssr/_8f4f8aa1._.js +1 -1
  194. package/web/.next/server/chunks/ssr/_8f4f8aa1._.js.map +1 -1
  195. package/web/.next/server/chunks/ssr/{_fe68c1e2._.js → _9df39bfe._.js} +2 -2
  196. package/web/.next/server/chunks/ssr/{_fe68c1e2._.js.map → _9df39bfe._.js.map} +1 -1
  197. package/web/.next/server/chunks/ssr/{_1055ec32._.js → _a31c3a42._.js} +2 -2
  198. package/web/.next/server/chunks/ssr/{_1055ec32._.js.map → _a31c3a42._.js.map} +1 -1
  199. package/web/.next/server/chunks/ssr/_b40a4fc3._.js +1 -1
  200. package/web/.next/server/chunks/ssr/_b40a4fc3._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/_c44ec376._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_c44ec376._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/_cd641c61._.js +1 -1
  204. package/web/.next/server/chunks/ssr/_cd641c61._.js.map +1 -1
  205. package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/{_60246ee2._.js → _de93c45c._.js} +2 -2
  208. package/web/.next/server/chunks/ssr/{_60246ee2._.js.map → _de93c45c._.js.map} +1 -1
  209. package/web/.next/server/chunks/ssr/{_8ee3123d._.js → _e0e86221._.js} +2 -2
  210. package/web/.next/server/chunks/ssr/{_8ee3123d._.js.map → _e0e86221._.js.map} +1 -1
  211. package/web/.next/server/chunks/ssr/_e6271303._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_e6271303._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/_ed8fd56c._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_ed8fd56c._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
  216. package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  218. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  220. package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js +1 -1
  221. package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js.map +1 -1
  222. package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js +1 -1
  223. package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js.map +1 -1
  224. package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js.map +1 -1
  226. package/web/.next/server/chunks/ssr/{src_presentation_web_1f525bd4._.js → src_presentation_web_5c844690._.js} +2 -2
  227. package/web/.next/server/chunks/ssr/{src_presentation_web_1f525bd4._.js.map → src_presentation_web_5c844690._.js.map} +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js.map +1 -1
  230. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  231. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  232. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_7ab26c98._.js +3 -3
  233. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
  234. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
  235. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
  236. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
  237. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
  238. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
  239. package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js +1 -1
  240. package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js.map +1 -1
  241. package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js +1 -1
  242. package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js.map +1 -1
  243. package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js +1 -1
  244. package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js.map +1 -1
  245. package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js +1 -1
  246. package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
  248. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  250. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  252. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/{src_presentation_web_dc5ba3cf._.js → src_presentation_web_e596fda8._.js} +2 -2
  254. package/web/.next/server/chunks/ssr/{src_presentation_web_dc5ba3cf._.js.map → src_presentation_web_e596fda8._.js.map} +1 -1
  255. package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.js +1 -1
  256. package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.js.map +1 -1
  257. package/web/.next/server/pages/500.html +2 -2
  258. package/web/.next/server/server-reference-manifest.js +1 -1
  259. package/web/.next/server/server-reference-manifest.json +98 -98
  260. package/web/.next/static/chunks/{1d72f699758c6d3a.js → 089bd320dc4b1575.js} +1 -1
  261. package/web/.next/static/chunks/{913f8613ffba3e5c.js → 0fc17b433aa79b46.js} +1 -1
  262. package/web/.next/static/chunks/105bb00cb34ccd38.js +1 -0
  263. package/web/.next/static/chunks/{d5b120471ecd81c3.js → 18be29465f4a1def.js} +1 -1
  264. package/web/.next/static/chunks/1f42ad4a0931acd3.js +1 -0
  265. package/web/.next/static/chunks/{dddb3a86ceab0299.js → 298594ed8c886cbf.js} +1 -1
  266. package/web/.next/static/chunks/{6d5150e080c53d51.js → 33317caa5c5abd6b.js} +1 -1
  267. package/web/.next/static/chunks/{6ac3de2ae9fd6923.js → 34593f30cd188c4a.js} +1 -1
  268. package/web/.next/static/chunks/{3be081e466e5c38f.js → 37ea114b14bec27f.js} +1 -1
  269. package/web/.next/static/chunks/{5d7f74c25dacc25c.js → 3c250fbfb60ee24f.js} +1 -1
  270. package/web/.next/static/chunks/{79865a986c6f7b78.js → 3c98769f57d9cab5.js} +1 -1
  271. package/web/.next/static/chunks/{88de900956cc7c59.js → 3d2af4aff402ec27.js} +1 -1
  272. package/web/.next/static/chunks/{60fd7ec231b71fe6.js → 424eadec8be0f312.js} +1 -1
  273. package/web/.next/static/chunks/{600304d205fb6d78.js → 4936903aae95a25f.js} +1 -1
  274. package/web/.next/static/chunks/4d47b81085b62d87.js +1 -0
  275. package/web/.next/static/chunks/{127b0c5b93da3ad5.js → 4e2de41996b256eb.js} +1 -1
  276. package/web/.next/static/chunks/{e09a852e65d50ea9.js → 512f87d97c19d83c.js} +1 -1
  277. package/web/.next/static/chunks/{d8a8d0ea290869a7.js → 51de8a6b0bdc70c9.js} +1 -1
  278. package/web/.next/static/chunks/57a7139e142ed273.js +1 -0
  279. package/web/.next/static/chunks/{31eb52265493ef76.js → 61757ff9dcbbd032.js} +1 -1
  280. package/web/.next/static/chunks/674e4d59f39b85e2.js +1 -0
  281. package/web/.next/static/chunks/93ea366bd74183ac.js +1 -0
  282. package/web/.next/static/chunks/{b0658275cec08831.js → ae7430dbb2e98782.js} +1 -1
  283. package/web/.next/static/chunks/{07361c8c12a5843e.js → b2abfb9855755aa4.js} +1 -1
  284. package/web/.next/static/chunks/{eb53dfcd51b8c265.js → c3d369f4301955a1.js} +1 -1
  285. package/web/.next/static/chunks/{07c57742ecdf243e.js → cd057f6e3acdf607.js} +1 -1
  286. package/web/.next/static/chunks/{afc90b9d319294e0.js → d5563287e193adaa.js} +1 -1
  287. package/web/.next/static/chunks/{c777b5c3be68f05b.js → d861a3318a70ff49.js} +1 -1
  288. package/web/.next/static/chunks/{88cebfaa6dd82cc7.js → da7737afc53217ed.js} +3 -3
  289. package/web/.next/static/chunks/{4cecc66a490b21f7.js → e115c6778a53c0b0.js} +1 -1
  290. package/web/.next/static/chunks/{39b106ba3f6b82ea.js → ea904b744cea3776.js} +1 -1
  291. package/web/.next/static/chunks/{6ae0cf4dd1f41683.js → f0c7b0a956112e63.js} +1 -1
  292. package/web/.next/static/chunks/{a59dfab21ca0ba91.js → f31db8ecfc2d481e.js} +1 -1
  293. package/web/.next/static/chunks/{a98de0590c6ebab9.js → f8a21f4841d519ff.js} +1 -1
  294. package/web/.next/static/chunks/00f78bad91244b81.js +0 -1
  295. package/web/.next/static/chunks/55b11c087456741a.js +0 -1
  296. package/web/.next/static/chunks/64b32c7716c3cde3.js +0 -1
  297. package/web/.next/static/chunks/83b6dc76bfe00b00.js +0 -1
  298. package/web/.next/static/chunks/a29ef3fcc3085a7d.js +0 -1
  299. package/web/.next/static/chunks/b6f72b83e6cf64bc.js +0 -1
  300. /package/web/.next/static/{VT3SIc3eQMRpCzfl2igIb → wfZhz3kojQGb8pd6OW9Lk}/_buildManifest.js +0 -0
  301. /package/web/.next/static/{VT3SIc3eQMRpCzfl2igIb → wfZhz3kojQGb8pd6OW9Lk}/_clientMiddlewareManifest.json +0 -0
  302. /package/web/.next/static/{VT3SIc3eQMRpCzfl2igIb → wfZhz3kojQGb8pd6OW9Lk}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,541952,e=>{"use strict";var t=e.i(679606),i=e.i(152155),n=e.i(723925),s=e.i(926370),a=e.i(338573),l=e.i(949228),o=e.i(374294),r=e.i(903645);let c=(0,r.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),d=(0,r.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,r.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var g=e.i(32494),h=e.i(34808),p=e.i(3214),m=e.i(730702);let f=(0,r.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var x=e.i(558860),v=e.i(248109),b=e.i(542049),w=e.i(987889),j=e.i(806288),y=e.i(360112);e.i(541001);var S=e.i(64780),k=e.i(131777),M=e.i(141957),C=e.i(698127),I=e.i(735364),A=e.i(951911),N=e.i(547373),T=e.i(508893);let F=(0,T.createServerReference)("40644f2a8dcde2074b59c884982ed1f095af15c604",T.callServer,void 0,T.findSourceMapURL,"updateSettingsAction");var D=e.i(317406),P=e.i(785622),E=e.i(544229),R=e.i(483902);function z(e){return(0,t.jsx)(E.Code,{className:(0,k.cn)("h-4 w-4",e.className),...e})}function B({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function L({className:e}){return(0,t.jsx)(P.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function _({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function V({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function K({className:e,...i}){return(0,t.jsx)(R.Rocket,{className:(0,k.cn)("h-4 w-4",e),...i})}B.displayName="VsCodeIcon",L.displayName="CursorEditorIcon",_.displayName="WindsurfIcon",V.displayName="ZedIcon",K.displayName="AntigravityIcon";let O={vscode:B,cursor:L,windsurf:_,zed:V,antigravity:K};var H=e.i(41413),W=e.i(527069),q=e.i(291967),G=e.i(205978),U=e.i(922528),$=e.i(936589),Z=e.i(566033),X=e.i(23405),Y=e.i(277624),J=e.i(287620),Q=e.i(787342),ee=["PageUp","PageDown"],et=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ei={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},en="Slider",[es,ea,el]=(0,Q.createCollection)(en),[eo,er]=(0,U.createContextScope)(en,[el]),[ec,ed]=eo(en),eu=i.forwardRef((e,n)=>{let{name:s,min:a=0,max:l=100,step:o=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:p=()=>{},inverted:m=!1,form:f,...x}=e,v=i.useRef(new Set),b=i.useRef(0),w="horizontal"===r,[j=[],y]=(0,$.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),S=i.useRef(j);function k(e,t,{commit:i}={commit:!1}){let n,s=(String(o).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/o)*o+a)*(n=Math.pow(10,s)))/n,c=(0,W.clamp)(r,[a,l]);y((e=[])=>{let n=function(e=[],t,i){let n=[...e];return n[i]=t,n.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,i)=>e[i+1]-t))>=t;return!0}(n,d*o))return e;{b.current=n.indexOf(c);let t=String(n)!==String(e);return t&&i&&p(n),t?n:e}})}return(0,t.jsx)(ec,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:l,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(es.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(es.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ep:em,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:n,onPointerDown:(0,q.composeEventHandlers)(x.onPointerDown,()=>{c||(S.current=j)}),min:a,max:l,inverted:m,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let i=e.map(e=>Math.abs(e-t)),n=Math.min(...i);return i.indexOf(n)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=S.current[b.current];j[b.current]!==e&&p(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(l,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let i=ee.includes(e.key)||e.shiftKey&&et.includes(e.key),n=b.current;k(j[n]+o*(i?10:1)*t,n,{commit:!0})}}})})})})});eu.displayName=en;var[eg,eh]=eo(en,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ep=i.forwardRef((e,n)=>{let{min:s,max:a,dir:l,inverted:o,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,p]=i.useState(null),m=(0,G.useComposedRefs)(n,e=>p(e)),f=i.useRef(void 0),x=(0,Z.useDirection)(l),v="ltr"===x,b=v&&!o||!v&&o;function w(e){let t=f.current||h.getBoundingClientRect(),i=eC([0,t.width],b?[s,a]:[a,s]);return f.current=t,i(e-t.left)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ef,{dir:x,"data-orientation":"horizontal",...g,ref:m,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);r?.(t)},onSlideMove:e=>{let t=w(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=ei[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),em=i.forwardRef((e,n)=>{let{min:s,max:a,inverted:l,onSlideStart:o,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=i.useRef(null),h=(0,G.useComposedRefs)(n,g),p=i.useRef(void 0),m=!l;function f(e){let t=p.current||g.current.getBoundingClientRect(),i=eC([0,t.height],m?[a,s]:[s,a]);return p.current=t,i(e-t.top)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:m?"bottom":"top",endEdge:m?"top":"bottom",size:"height",direction:m?1:-1,children:(0,t.jsx)(ef,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);o?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=ei[m?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ef=i.forwardRef((e,i)=>{let{__scopeSlider:n,onSlideStart:s,onSlideMove:a,onSlideEnd:l,onHomeKeyDown:o,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ed(en,n);return(0,t.jsx)(J.Primitive.span,{...d,ref:i,onKeyDown:(0,q.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(o(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):ee.concat(et).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,q.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,q.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,q.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),l(e))})})}),ex="SliderTrack",ev=i.forwardRef((e,i)=>{let{__scopeSlider:n,...s}=e,a=ed(ex,n);return(0,t.jsx)(J.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:i})});ev.displayName=ex;var eb="SliderRange",ew=i.forwardRef((e,n)=>{let{__scopeSlider:s,...a}=e,l=ed(eb,s),o=eh(eb,s),r=i.useRef(null),c=(0,G.useComposedRefs)(n,r),d=l.values.length,u=l.values.map(e=>eM(e,l.min,l.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(J.Primitive.span,{"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,...a,ref:c,style:{...e.style,[o.startEdge]:g+"%",[o.endEdge]:h+"%"}})});ew.displayName=eb;var ej="SliderThumb",ey=i.forwardRef((e,n)=>{let s=ea(e.__scopeSlider),[a,l]=i.useState(null),o=(0,G.useComposedRefs)(n,e=>l(e)),r=i.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eS,{...e,ref:o,index:r})}),eS=i.forwardRef((e,n)=>{var s,a,l,o,r;let c,d,{__scopeSlider:u,index:g,name:h,...p}=e,m=ed(ej,u),f=eh(ej,u),[x,v]=i.useState(null),b=(0,G.useComposedRefs)(n,e=>v(e)),w=!x||m.form||!!x.closest("form"),j=(0,Y.useSize)(x),y=m.values[g],S=void 0===y?0:eM(y,m.min,m.max),k=(s=g,(a=m.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),M=j?.[f.size],C=M?(l=M,o=S,r=f.direction,d=eC([0,50],[0,c=l/2]),(c-d(o)*r)*r):0;return i.useEffect(()=>{if(x)return m.thumbs.add(x),()=>{m.thumbs.delete(x)}},[x,m.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${C}px)`},children:[(0,t.jsx)(es.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(J.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":m.min,"aria-valuenow":y,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...p,ref:b,style:void 0===y?{display:"none"}:e.style,onFocus:(0,q.composeEventHandlers)(e.onFocus,()=>{m.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(ek,{name:h??(m.name?m.name+(m.values.length>1?"[]":""):void 0),form:m.form,value:y},g)]})});ey.displayName=ej;var ek=i.forwardRef(({__scopeSlider:e,value:n,...s},a)=>{let l=i.useRef(null),o=(0,G.useComposedRefs)(l,a),r=(0,X.usePrevious)(n);return i.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==n&&t){let i=new Event("input",{bubbles:!0});t.call(e,n),e.dispatchEvent(i)}},[r,n]),(0,t.jsx)(J.Primitive.input,{style:{display:"none"},...s,ref:o,defaultValue:n})});function eM(e,t,i){return(0,W.clamp)(100/(i-t)*(e-t),[0,100])}function eC(e,t){return i=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(i-e[0])}}ek.displayName="RadioBubbleInput",e.s(["Range",()=>ew,"Root",()=>eu,"Slider",()=>eu,"SliderRange",()=>ew,"SliderThumb",()=>ey,"SliderTrack",()=>ev,"Thumb",()=>ey,"Track",()=>ev,"createSliderScope",()=>er],429991);var eI=e.i(429991),eI=eI;function eA({className:e,defaultValue:n,value:s,min:a=0,max:l=100,...o}){let r=i.useMemo(()=>Array.isArray(s)?s:Array.isArray(n)?n:[a,l],[s,n,a,l]);return(0,t.jsxs)(eI.Root,{"data-slot":"slider",defaultValue:n,value:s,min:a,max:l,className:(0,k.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...o,children:[(0,t.jsx)(eI.Track,{"data-slot":"slider-track",className:(0,k.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(eI.Range,{"data-slot":"slider-range",className:(0,k.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,i)=>(0,t.jsx)(eI.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},i))]})}let eN=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eT=eN.length-1;function eF(e){let t=0,i=Math.abs(e-eN[0]);for(let n=1;n<eN.length;n++){let s=Math.abs(e-eN[n]);s<i&&(i=s,t=n)}return t}function eD({id:e,testId:n,value:s,onChange:a,onBlur:l,defaultSeconds:o=1800}){var r;let c,d,u=(""===s?o:parseInt(s,10))||o,[g,h]=(0,i.useState)(()=>eF(u)),p=eF(u);p!==g&&eN[g]!==u&&h(p);let m=(0,i.useCallback)(([e])=>{h(e),a(String(eN[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eA,{id:e,"data-testid":n,min:0,max:eT,step:1,value:[g],onValueChange:m,onValueCommit:()=>l(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((r=eN[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eP=[{value:D.Language.English,nativeName:"English"},{value:D.Language.Ukrainian,nativeName:"Українська"},{value:D.Language.Russian,nativeName:"Русский"},{value:D.Language.Portuguese,nativeName:"Português"},{value:D.Language.Spanish,nativeName:"Español"},{value:D.Language.Arabic,nativeName:"العربية"},{value:D.Language.Hebrew,nativeName:"עברית"},{value:D.Language.French,nativeName:"Français"},{value:D.Language.German,nativeName:"Deutsch"}],eE=[{value:D.EditorType.VsCode,label:"VS Code"},{value:D.EditorType.Cursor,label:"Cursor"},{value:D.EditorType.Windsurf,label:"Windsurf"},{value:D.EditorType.Zed,label:"Zed"},{value:D.EditorType.Antigravity,label:"Antigravity"}],eR=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],ez=new Set([D.AgentType.CopilotCli]),eB=new Set([D.AgentType.OpenRouter,D.AgentType.TogetherAi]),eL=[{value:D.AgentAuthMethod.Session,label:"Session"},{value:D.AgentAuthMethod.Token,label:"Token"}],e_=[{id:"language",labelKey:"settings.sections.language",icon:g.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:l.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:x.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:v.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"database",labelKey:"settings.sections.database",icon:u}];function eV({label:e,description:i,htmlFor:n,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(M.Label,{htmlFor:n,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),i?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:i}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function eK({label:e,description:i,id:n,testId:s,checked:a,onChange:l,disabled:o}){return(0,t.jsx)(eV,{label:e,description:i,htmlFor:n,children:(0,t.jsx)(A.Switch,{id:n,"data-testid":s,checked:a,onCheckedChange:l,disabled:o,className:(0,k.cn)("cursor-pointer",o&&"cursor-not-allowed opacity-50")})})}function eO({icon:e,title:i,description:n,badge:s,testId:a,children:l}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:i}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:n})]}),(0,t.jsx)("div",{className:"px-4",children:l})]})}function eH({id:e,testId:i,value:n,onChange:s,onBlur:a,placeholder:l,min:o=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,S.useTranslation)("web"),g=""===n?void 0:parseInt(n,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(o,(g??parseInt(l,10))-c)))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":u("common.decrease"),children:(0,t.jsx)(h.Minus,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":i,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:n,placeholder:l,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=g??parseInt(l,10),s(String(null!=r?Math.min(r,e+c):e+c))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":u("common.increase"),children:(0,t.jsx)(p.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eW({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function eq({children:e,links:i}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=i&&i.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:i.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(m.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eG({settings:e,shepHome:r,dbFileSize:h,availableTerminals:p}){let{t:m,i18n:M}=(0,S.useTranslation)("web"),{showSaving:A,showSaved:T,save:P}=function(){let{t:e}=(0,S.useTranslation)("web"),[t,n]=(0,i.useTransition)(),[s,a]=(0,i.useState)(!1),[l,o]=(0,i.useState)(!1),r=(0,i.useRef)(null),c=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),o(!0),setTimeout(()=>o(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),o(!0),setTimeout(()=>o(!1),2e3)))},[t,s]),{showSaving:s,showSaved:l,save:(0,i.useCallback)(t=>{n(async()=>{let i=await F(t);i.success||y.toast.error(i.error??e("settings.failedToSave"))})},[n,e])}}(),E=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1,projects:!1,inventory:!1,codeReview:!1},[R,B]=(0,i.useState)(e.user?.preferredLanguage??D.Language.English),[L,_]=(0,i.useState)(e.agent.type),[V,K]=(0,i.useState)(e.agent.authMethod),[W,q]=(0,i.useState)(e.agent.token??""),[G,U]=(0,i.useState)(!1),[$,Z]=(0,i.useState)(e.environment.defaultEditor),[X,Y]=(0,i.useState)(e.environment.shellPreference),[J,Q]=(0,i.useState)(e.environment.terminalPreference??D.TerminalType.System),ee=p?p.filter(e=>e.available):[{id:D.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[et,ei]=(0,i.useState)(e.workflow.openPrOnImplementationComplete),[en,es]=(0,i.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[ea,el]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPrd),[eo,er]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPlan),[ec,ed]=(0,i.useState)(e.workflow.approvalGateDefaults.allowMerge),[eu,eg]=(0,i.useState)(e.workflow.enableEvidence),[eh,ep]=(0,i.useState)(e.workflow.commitEvidence),[em,ef]=(0,i.useState)(!1!==e.workflow.ciWatchEnabled),[ex,ev]=(0,i.useState)(!1!==e.workflow.hideCiStatus),[eb,ew]=(0,i.useState)(!1!==e.workflow.defaultFastMode),[ej,ey]=(0,i.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eS,ek]=(0,i.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eM,eC]=(0,i.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eI,eA]=(0,i.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eN,eT]=(0,i.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eF,eG]=(0,i.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),eU=e.workflow.stageTimeouts,[e$,eZ]=(0,i.useState)(String(Math.round((eU?.analyzeMs??18e5)/1e3))),[eX,eY]=(0,i.useState)(String(Math.round((eU?.requirementsMs??18e5)/1e3))),[eJ,eQ]=(0,i.useState)(String(Math.round((eU?.researchMs??18e5)/1e3))),[e0,e1]=(0,i.useState)(String(Math.round((eU?.planMs??18e5)/1e3))),[e5,e2]=(0,i.useState)(String(Math.round((eU?.implementMs??18e5)/1e3))),[e3,e4]=(0,i.useState)(String(Math.round((eU?.fastImplementMs??18e5)/1e3))),[e8,e6]=(0,i.useState)(String(Math.round((eU?.mergeMs??18e5)/1e3))),e9=e.workflow.analyzeRepoTimeouts,[e7,te]=(0,i.useState)(String(Math.round((e9?.analyzeMs??6e5)/1e3))),tt=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ti,tn]=(0,i.useState)(tt.enabled),[ts,ta]=(0,i.useState)(String(tt.autoTimeoutMinutes)),[tl,to]=(0,i.useState)(String(tt.maxConcurrentSessions)),tr=e.fabLayout??{swapPosition:!1},[tc,td]=(0,i.useState)(tr.swapPosition),[tu,tg]=(0,i.useState)(e.notifications.inApp.enabled),[th,tp]=(0,i.useState)({...e.notifications.events}),[tm,tf]=(0,i.useState)({...E}),tx=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",tv=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tb=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tw=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tj=eU?.analyzeMs!=null?String(Math.round(eU.analyzeMs/1e3)):"",ty=eU?.requirementsMs!=null?String(Math.round(eU.requirementsMs/1e3)):"",tS=eU?.researchMs!=null?String(Math.round(eU.researchMs/1e3)):"",tk=eU?.planMs!=null?String(Math.round(eU.planMs/1e3)):"",tM=eU?.implementMs!=null?String(Math.round(eU.implementMs/1e3)):"",tC=eU?.fastImplementMs!=null?String(Math.round(eU.fastImplementMs/1e3)):"",tI=eU?.mergeMs!=null?String(Math.round(eU.mergeMs/1e3)):"",tA=e9?.analyzeMs!=null?String(Math.round(e9.analyzeMs/1e3)):"";function tN(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tT(e){if(void 0===e)return;let t=tN(e);return null!=t?1e3*t:void 0}function tF(e={}){let t=tN(e.ciTimeout??eI),i=e.autoArchiveEnabled??ej,n=parseInt(e.autoArchiveDelay??eS,10);return{workflow:{openPrOnImplementationComplete:e.openPr??et,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??en,allowPrd:e.allowPrd??ea,allowPlan:e.allowPlan??eo,allowMerge:e.allowMerge??ec},enableEvidence:e.enableEvidence??eu,commitEvidence:e.commitEvidence??eh,ciWatchEnabled:e.ciWatchEnabled??em,hideCiStatus:e.hideCiStatus??ex,defaultFastMode:e.defaultFastMode??eb,autoArchiveDelayMinutes:i?Number.isNaN(n)||n<1?10:n:0,ciMaxFixAttempts:tN(e.ciMaxFix??eM),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tN(e.ciLogMax??eN),ciWatchPollIntervalSeconds:tN(e.ciPollInterval??eF),stageTimeouts:{analyzeMs:tT(e.analyzeTimeout??e$),requirementsMs:tT(e.requirementsTimeout??eX),researchMs:tT(e.researchTimeout??eJ),planMs:tT(e.planTimeout??e0),implementMs:tT(e.implementTimeout??e5),fastImplementMs:tT(e.fastImplementTimeout??e3),mergeMs:tT(e.mergeTimeout??e8)},analyzeRepoTimeouts:{analyzeMs:tT(e.analyzeRepoTimeout??e7)}}}}function tD(e={}){return{notifications:{inApp:{enabled:e.inApp??tu},events:e.events??th}}}let[tP,tE]=(0,i.useState)("agent");(0,i.useEffect)(()=>{let e=e_.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&tE(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let i of e)t.observe(i);return()=>t.disconnect()},[]);let tR=(0,i.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:m("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,k.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",A?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,k.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",T&&!A?"opacity-100":"opacity-0"),children:[(0,t.jsx)(n.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:e_.map(e=>{let i=e.icon,n=tP===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tR(e.id),className:(0,k.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",n?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(i,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:m(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,t.jsx)(eO,{icon:g.Globe,title:m("settings.language.title"),description:m("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eV,{label:m("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(N.Select,{value:R,onValueChange:function(e){B(e),M.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,P({user:{preferredLanguage:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(N.SelectValue,{placeholder:m("settings.language.placeholder")})}),(0,t.jsx)(N.SelectContent,{children:eP.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.nativeName},e.value))})]})})})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(H.AgentModelPicker,{initialAgentType:L,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{_(e),eB.has(e)&&V!==D.AgentAuthMethod.Token?(K(D.AgentAuthMethod.Token),P({agent:{type:e,authMethod:D.AgentAuthMethod.Token}})):ez.has(e)&&V!==D.AgentAuthMethod.Session&&(K(D.AgentAuthMethod.Session),P({agent:{type:e,authMethod:D.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eV,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(N.Select,{value:V,onValueChange:e=>{K(e);let t={type:L,authMethod:e};e===D.AgentAuthMethod.Token&&(t.token=W),P({agent:t})},disabled:ez.has(L)||eB.has(L),children:[(0,t.jsx)(N.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eL.filter(e=>ez.has(L)?e.value===D.AgentAuthMethod.Session:!eB.has(L)||e.value===D.AgentAuthMethod.Token).map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eB.has(L)&&(0,t.jsx)("div",{className:"border-b py-2.5 last:border-b-0",children:(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:"This provider requires an API key for authentication. No CLI binary needed."})}),V===D.AgentAuthMethod.Token&&(0,t.jsx)(eV,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(C.Input,{id:"agent-token","data-testid":"agent-token-input",type:G?"text":"password",value:W,onChange:e=>q(e.target.value),onBlur:()=>{W!==(e.agent.token??"")&&P({agent:{type:L,authMethod:V,token:W}})},placeholder:"Enter your API token",className:"pe-10 text-xs"}),(0,t.jsx)(I.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-3 hover:bg-transparent",onClick:()=>U(!G),"data-testid":"toggle-token-visibility","aria-label":G?"Hide token":"Show token",children:G?(0,t.jsx)(j.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(w.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:m("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:m("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(N.Select,{value:$,onValueChange:e=>{Z(e),P({environment:{defaultEditor:e,shellPreference:X,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eE.map(e=>{var i;let n=(i=e.value)&&i in O?O[i]:z;return(0,t.jsx)(N.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(n,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eV,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(N.Select,{value:X,onValueChange:e=>{Y(e),P({environment:{defaultEditor:$,shellPreference:e,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eR.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eV,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(N.Select,{value:J,onValueChange:e=>{Q(e),P({environment:{defaultEditor:$,shellPreference:X,terminalPreference:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:ee.map(e=>(0,t.jsx)(N.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:l.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.workflow.defaultFastMode"),description:m("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eb,onChange:e=>{ew(e),P(tF({defaultFastMode:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:ea,onChange:e=>{el(e),P(tF({allowPrd:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:eo,onChange:e=>{er(e),P(tF({allowPlan:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:ec,onChange:e=>{ed(e),P(tF({allowMerge:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(eK,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:eu,onChange:e=>{eg(e),e?P(tF({enableEvidence:e})):(ep(!1),P(tF({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:eh,disabled:!eu||!et,onChange:e=>{ep(e),P(tF({commitEvidence:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(eK,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:en,onChange:e=>{es(e),P(tF({pushOnComplete:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:et,onChange:e=>{ei(e),e?P(tF({openPr:e})):(ep(!1),P(tF({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:em,onChange:e=>{ef(e),P(tF({ciWatchEnabled:e}))}}),(0,t.jsx)(eW,{children:"Archive"}),(0,t.jsx)(eK,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ej,onChange:e=>{ey(e),P(tF({autoArchiveEnabled:e}))}}),(0,t.jsx)(eV,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eH,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eS,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ek(e)},onBlur:()=>{if(!ej)return;let e=parseInt(eS,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ek(String(t)),P(tF({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:m("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:m("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:o.Activity,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eH,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eM,onChange:eC,onBlur:()=>{eM!==tx&&P(tF({ciMaxFix:eM}))},min:1,max:10})}),(0,t.jsx)(eV,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eH,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eI,onChange:eA,onBlur:()=>{eI!==tv&&P(tF({ciTimeout:eI}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eV,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eH,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eN,onChange:eT,onBlur:()=>{eN!==tb&&P(tF({ciLogMax:eN}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eV,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eH,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eF,onChange:eG,onBlur:()=>{eF!==tw&&P(tF({ciPollInterval:eF}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(eK,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ex,onChange:e=>{ev(e),P(tF({hideCiStatus:e}))}})]}),(0,t.jsx)(eq,{links:[{label:m("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:m("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:m("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:x.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(eD,{id:"timeout-analyze",testId:"timeout-analyze-input",value:e$,onChange:eZ,onBlur:()=>{e$!==tj&&P(tF({analyzeTimeout:e$}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(eD,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eX,onChange:eY,onBlur:()=>{eX!==ty&&P(tF({requirementsTimeout:eX}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(eD,{id:"timeout-research",testId:"timeout-research-input",value:eJ,onChange:eQ,onBlur:()=>{eJ!==tS&&P(tF({researchTimeout:eJ}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(eD,{id:"timeout-plan",testId:"timeout-plan-input",value:e0,onChange:e1,onBlur:()=>{e0!==tk&&P(tF({planTimeout:e0}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(eD,{id:"timeout-implement",testId:"timeout-implement-input",value:e5,onChange:e2,onBlur:()=>{e5!==tM&&P(tF({implementTimeout:e5}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.fastImplement"),description:m("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(eD,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e3,onChange:e4,onBlur:()=>{e3!==tC&&P(tF({fastImplementTimeout:e3}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(eD,{id:"timeout-merge",testId:"timeout-merge-input",value:e8,onChange:e6,onBlur:()=>{e8!==tI&&P(tF({mergeTimeout:e8}))},defaultSeconds:1800})}),(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(eD,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:e7,onChange:te,onBlur:()=>{e7!==tA&&P(tF({analyzeRepoTimeout:e7}))},defaultSeconds:600})})]}),(0,t.jsx)(eq,{children:m("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.notifications.channels")}),(0,t.jsx)(eK,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tu,onChange:e=>{tg(e),P(tD({inApp:e}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:th.agentStarted,onChange:e=>{let t={...th,agentStarted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:th.phaseCompleted,onChange:e=>{let t={...th,phaseCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:th.waitingApproval,onChange:e=>{let t={...th,waitingApproval:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:th.agentCompleted,onChange:e=>{let t={...th,agentCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:th.agentFailed,onChange:e=>{let t={...th,agentFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:th.prMerged,onChange:e=>{let t={...th,prMerged:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:th.prClosed,onChange:e=>{let t={...th,prClosed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:th.prChecksPassed,onChange:e=>{let t={...th,prChecksPassed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:th.prChecksFailed,onChange:e=>{let t={...th,prChecksFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:th.prBlocked,onChange:e=>{let t={...th,prBlocked:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:th.mergeReviewReady,onChange:e=>{let t={...th,mergeReviewReady:e};tp(t),P(tD({events:t}))}})]}),(0,t.jsx)(eq,{links:[{label:m("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:m("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:d,title:m("settings.featureFlags.title"),description:m("settings.featureFlags.sectionDescription"),badge:m("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:tm.skills,onChange:e=>{let t={...tm,skills:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tm.envDeploy,onChange:e=>{let t={...tm,envDeploy:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tm.debug,onChange:e=>{let t={...tm,debug:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:tm.githubImport,onChange:e=>{let t={...tm,githubImport:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:tm.adoptBranch,onChange:e=>{let t={...tm,adoptBranch:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:tm.gitRebaseSync,onChange:e=>{let t={...tm,gitRebaseSync:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tm.reactFileManager,onChange:e=>{let t={...tm,reactFileManager:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.inventory"),description:m("settings.featureFlags.inventoryDescription"),id:"flag-inventory",testId:"switch-flag-inventory",checked:tm.inventory,onChange:e=>{let t={...tm,inventory:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.projects"),description:m("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tm.projects,onChange:e=>{let t={...tm,projects:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.codeReview"),description:m("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tm.codeReview,onChange:e=>{let t={...tm,codeReview:e};tf(t),P({featureFlags:t})}})]}),(0,t.jsx)(eq,{children:m("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:v.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ti,onChange:e=>{tn(e),P({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:parseInt(tl,10)||3}})}}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eH,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:ts,placeholder:"15",min:1,max:120,suffix:"min",onChange:ta,onBlur:()=>{let e=parseInt(ts,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));ta(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tl,10)||3}})}})}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eH,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tl,placeholder:"3",min:1,max:10,onChange:to,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));to(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eq,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eO,{icon:b.LayoutGrid,title:m("settings.fabLayout.title"),description:m("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(eK,{label:m("settings.fabLayout.swapPosition"),description:m("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tc,onChange:e=>{td(e),P({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eq,{children:m("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.database.location"),description:m("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:r})}),(0,t.jsx)(eV,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:m("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:m("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>eG],541952)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,541952,e=>{"use strict";var t=e.i(679606),i=e.i(152155),n=e.i(723925),s=e.i(926370),a=e.i(338573),l=e.i(949228),o=e.i(374294),r=e.i(903645);let c=(0,r.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),d=(0,r.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]),u=(0,r.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var g=e.i(32494),h=e.i(34808),p=e.i(3214),m=e.i(730702);let f=(0,r.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var x=e.i(558860),v=e.i(248109),b=e.i(542049),w=e.i(987889),j=e.i(806288),y=e.i(360112);e.i(541001);var S=e.i(64780),k=e.i(131777),M=e.i(141957),C=e.i(698127),I=e.i(735364),A=e.i(951911),N=e.i(547373),T=e.i(508893);let F=(0,T.createServerReference)("400939deae981afc1da9b971eecb3838be81f4958c",T.callServer,void 0,T.findSourceMapURL,"updateSettingsAction");var D=e.i(317406),P=e.i(785622),E=e.i(544229),R=e.i(483902);function z(e){return(0,t.jsx)(E.Code,{className:(0,k.cn)("h-4 w-4",e.className),...e})}function B({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function L({className:e}){return(0,t.jsx)(P.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function _({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function V({className:e}){return(0,t.jsx)(P.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,k.cn)("rounded-sm object-contain",e)})}function K({className:e,...i}){return(0,t.jsx)(R.Rocket,{className:(0,k.cn)("h-4 w-4",e),...i})}B.displayName="VsCodeIcon",L.displayName="CursorEditorIcon",_.displayName="WindsurfIcon",V.displayName="ZedIcon",K.displayName="AntigravityIcon";let O={vscode:B,cursor:L,windsurf:_,zed:V,antigravity:K};var H=e.i(41413),W=e.i(527069),q=e.i(291967),G=e.i(205978),U=e.i(922528),$=e.i(936589),Z=e.i(566033),X=e.i(23405),Y=e.i(277624),J=e.i(287620),Q=e.i(787342),ee=["PageUp","PageDown"],et=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ei={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},en="Slider",[es,ea,el]=(0,Q.createCollection)(en),[eo,er]=(0,U.createContextScope)(en,[el]),[ec,ed]=eo(en),eu=i.forwardRef((e,n)=>{let{name:s,min:a=0,max:l=100,step:o=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:p=()=>{},inverted:m=!1,form:f,...x}=e,v=i.useRef(new Set),b=i.useRef(0),w="horizontal"===r,[j=[],y]=(0,$.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),S=i.useRef(j);function k(e,t,{commit:i}={commit:!1}){let n,s=(String(o).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/o)*o+a)*(n=Math.pow(10,s)))/n,c=(0,W.clamp)(r,[a,l]);y((e=[])=>{let n=function(e=[],t,i){let n=[...e];return n[i]=t,n.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,i)=>e[i+1]-t))>=t;return!0}(n,d*o))return e;{b.current=n.indexOf(c);let t=String(n)!==String(e);return t&&i&&p(n),t?n:e}})}return(0,t.jsx)(ec,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:l,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(es.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(es.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ep:em,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:n,onPointerDown:(0,q.composeEventHandlers)(x.onPointerDown,()=>{c||(S.current=j)}),min:a,max:l,inverted:m,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let i=e.map(e=>Math.abs(e-t)),n=Math.min(...i);return i.indexOf(n)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=S.current[b.current];j[b.current]!==e&&p(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(l,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let i=ee.includes(e.key)||e.shiftKey&&et.includes(e.key),n=b.current;k(j[n]+o*(i?10:1)*t,n,{commit:!0})}}})})})})});eu.displayName=en;var[eg,eh]=eo(en,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ep=i.forwardRef((e,n)=>{let{min:s,max:a,dir:l,inverted:o,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,p]=i.useState(null),m=(0,G.useComposedRefs)(n,e=>p(e)),f=i.useRef(void 0),x=(0,Z.useDirection)(l),v="ltr"===x,b=v&&!o||!v&&o;function w(e){let t=f.current||h.getBoundingClientRect(),i=eC([0,t.width],b?[s,a]:[a,s]);return f.current=t,i(e-t.left)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ef,{dir:x,"data-orientation":"horizontal",...g,ref:m,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=w(e.clientX);r?.(t)},onSlideMove:e=>{let t=w(e.clientX);c?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=ei[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),em=i.forwardRef((e,n)=>{let{min:s,max:a,inverted:l,onSlideStart:o,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=i.useRef(null),h=(0,G.useComposedRefs)(n,g),p=i.useRef(void 0),m=!l;function f(e){let t=p.current||g.current.getBoundingClientRect(),i=eC([0,t.height],m?[a,s]:[s,a]);return p.current=t,i(e-t.top)}return(0,t.jsx)(eg,{scope:e.__scopeSlider,startEdge:m?"bottom":"top",endEdge:m?"top":"bottom",size:"height",direction:m?1:-1,children:(0,t.jsx)(ef,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);o?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=ei[m?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ef=i.forwardRef((e,i)=>{let{__scopeSlider:n,onSlideStart:s,onSlideMove:a,onSlideEnd:l,onHomeKeyDown:o,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ed(en,n);return(0,t.jsx)(J.Primitive.span,{...d,ref:i,onKeyDown:(0,q.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(o(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):ee.concat(et).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,q.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,q.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,q.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),l(e))})})}),ex="SliderTrack",ev=i.forwardRef((e,i)=>{let{__scopeSlider:n,...s}=e,a=ed(ex,n);return(0,t.jsx)(J.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:i})});ev.displayName=ex;var eb="SliderRange",ew=i.forwardRef((e,n)=>{let{__scopeSlider:s,...a}=e,l=ed(eb,s),o=eh(eb,s),r=i.useRef(null),c=(0,G.useComposedRefs)(n,r),d=l.values.length,u=l.values.map(e=>eM(e,l.min,l.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(J.Primitive.span,{"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,...a,ref:c,style:{...e.style,[o.startEdge]:g+"%",[o.endEdge]:h+"%"}})});ew.displayName=eb;var ej="SliderThumb",ey=i.forwardRef((e,n)=>{let s=ea(e.__scopeSlider),[a,l]=i.useState(null),o=(0,G.useComposedRefs)(n,e=>l(e)),r=i.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eS,{...e,ref:o,index:r})}),eS=i.forwardRef((e,n)=>{var s,a,l,o,r;let c,d,{__scopeSlider:u,index:g,name:h,...p}=e,m=ed(ej,u),f=eh(ej,u),[x,v]=i.useState(null),b=(0,G.useComposedRefs)(n,e=>v(e)),w=!x||m.form||!!x.closest("form"),j=(0,Y.useSize)(x),y=m.values[g],S=void 0===y?0:eM(y,m.min,m.max),k=(s=g,(a=m.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),M=j?.[f.size],C=M?(l=M,o=S,r=f.direction,d=eC([0,50],[0,c=l/2]),(c-d(o)*r)*r):0;return i.useEffect(()=>{if(x)return m.thumbs.add(x),()=>{m.thumbs.delete(x)}},[x,m.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${S}% + ${C}px)`},children:[(0,t.jsx)(es.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(J.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":m.min,"aria-valuenow":y,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...p,ref:b,style:void 0===y?{display:"none"}:e.style,onFocus:(0,q.composeEventHandlers)(e.onFocus,()=>{m.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(ek,{name:h??(m.name?m.name+(m.values.length>1?"[]":""):void 0),form:m.form,value:y},g)]})});ey.displayName=ej;var ek=i.forwardRef(({__scopeSlider:e,value:n,...s},a)=>{let l=i.useRef(null),o=(0,G.useComposedRefs)(l,a),r=(0,X.usePrevious)(n);return i.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==n&&t){let i=new Event("input",{bubbles:!0});t.call(e,n),e.dispatchEvent(i)}},[r,n]),(0,t.jsx)(J.Primitive.input,{style:{display:"none"},...s,ref:o,defaultValue:n})});function eM(e,t,i){return(0,W.clamp)(100/(i-t)*(e-t),[0,100])}function eC(e,t){return i=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(i-e[0])}}ek.displayName="RadioBubbleInput",e.s(["Range",()=>ew,"Root",()=>eu,"Slider",()=>eu,"SliderRange",()=>ew,"SliderThumb",()=>ey,"SliderTrack",()=>ev,"Thumb",()=>ey,"Track",()=>ev,"createSliderScope",()=>er],429991);var eI=e.i(429991),eI=eI;function eA({className:e,defaultValue:n,value:s,min:a=0,max:l=100,...o}){let r=i.useMemo(()=>Array.isArray(s)?s:Array.isArray(n)?n:[a,l],[s,n,a,l]);return(0,t.jsxs)(eI.Root,{"data-slot":"slider",defaultValue:n,value:s,min:a,max:l,className:(0,k.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...o,children:[(0,t.jsx)(eI.Track,{"data-slot":"slider-track",className:(0,k.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,t.jsx)(eI.Range,{"data-slot":"slider-range",className:(0,k.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,i)=>(0,t.jsx)(eI.Thumb,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},i))]})}let eN=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eT=eN.length-1;function eF(e){let t=0,i=Math.abs(e-eN[0]);for(let n=1;n<eN.length;n++){let s=Math.abs(e-eN[n]);s<i&&(i=s,t=n)}return t}function eD({id:e,testId:n,value:s,onChange:a,onBlur:l,defaultSeconds:o=1800}){var r;let c,d,u=(""===s?o:parseInt(s,10))||o,[g,h]=(0,i.useState)(()=>eF(u)),p=eF(u);p!==g&&eN[g]!==u&&h(p);let m=(0,i.useCallback)(([e])=>{h(e),a(String(eN[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eA,{id:e,"data-testid":n,min:0,max:eT,step:1,value:[g],onValueChange:m,onValueCommit:()=>l(),className:"min-w-0 flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 text-end text-xs tabular-nums",children:(c=Math.floor((r=eN[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eP=[{value:D.Language.English,nativeName:"English"},{value:D.Language.Ukrainian,nativeName:"Українська"},{value:D.Language.Russian,nativeName:"Русский"},{value:D.Language.Portuguese,nativeName:"Português"},{value:D.Language.Spanish,nativeName:"Español"},{value:D.Language.Arabic,nativeName:"العربية"},{value:D.Language.Hebrew,nativeName:"עברית"},{value:D.Language.French,nativeName:"Français"},{value:D.Language.German,nativeName:"Deutsch"}],eE=[{value:D.EditorType.VsCode,label:"VS Code"},{value:D.EditorType.Cursor,label:"Cursor"},{value:D.EditorType.Windsurf,label:"Windsurf"},{value:D.EditorType.Zed,label:"Zed"},{value:D.EditorType.Antigravity,label:"Antigravity"}],eR=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],ez=new Set([D.AgentType.CopilotCli]),eB=new Set([D.AgentType.OpenRouter,D.AgentType.TogetherAi]),eL=[{value:D.AgentAuthMethod.Session,label:"Session"},{value:D.AgentAuthMethod.Token,label:"Token"}],e_=[{id:"language",labelKey:"settings.sections.language",icon:g.Globe},{id:"agent",labelKey:"settings.sections.agent",icon:s.Bot},{id:"environment",labelKey:"settings.sections.environment",icon:a.Terminal},{id:"workflow",labelKey:"settings.sections.workflow",icon:l.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:o.Activity},{id:"stage-timeouts",labelKey:"settings.sections.timeouts",icon:x.Timer},{id:"notifications",labelKey:"settings.sections.notifications",icon:c},{id:"feature-flags",labelKey:"settings.sections.flags",icon:d},{id:"interactive-agent",labelKey:"settings.sections.chat",icon:v.MessageSquare},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"database",labelKey:"settings.sections.database",icon:u}];function eV({label:e,description:i,htmlFor:n,children:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)(M.Label,{htmlFor:n,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),i?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:i}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function eK({label:e,description:i,id:n,testId:s,checked:a,onChange:l,disabled:o}){return(0,t.jsx)(eV,{label:e,description:i,htmlFor:n,children:(0,t.jsx)(A.Switch,{id:n,"data-testid":s,checked:a,onCheckedChange:l,disabled:o,className:(0,k.cn)("cursor-pointer",o&&"cursor-not-allowed opacity-50")})})}function eO({icon:e,title:i,description:n,badge:s,testId:a,children:l}){return(0,t.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":a,children:[(0,t.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(e,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("h2",{className:"text-sm font-semibold",children:i}),s?(0,t.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:s}):null]}),(0,t.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:n})]}),(0,t.jsx)("div",{className:"px-4",children:l})]})}function eH({id:e,testId:i,value:n,onChange:s,onBlur:a,placeholder:l,min:o=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,S.useTranslation)("web"),g=""===n?void 0:parseInt(n,10);return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>{s(String(Math.max(o,(g??parseInt(l,10))-c)))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-r transition-colors","aria-label":u("common.decrease"),children:(0,t.jsx)(h.Minus,{className:"h-3 w-3"})}),(0,t.jsx)("input",{id:e,"data-testid":i,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:n,placeholder:l,onChange:e=>{s(e.target.value.replace(/[^0-9]/g,""))},onBlur:a,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,t.jsx)("button",{type:"button",onClick:()=>{let e;e=g??parseInt(l,10),s(String(null!=r?Math.min(r,e+c):e+c))},onMouseUp:a,className:"text-muted-foreground hover:bg-muted hover:text-foreground flex h-8 w-7 cursor-pointer items-center justify-center border-l transition-colors","aria-label":u("common.increase"),children:(0,t.jsx)(p.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eW({children:e}){return(0,t.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:e})})}function eq({children:e,links:i}){return(0,t.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,t.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:e}),null!=i&&i.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:i.map(e=>(0,t.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[10px] transition-colors",children:[(0,t.jsx)(m.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eG({settings:e,shepHome:r,dbFileSize:h,availableTerminals:p}){let{t:m,i18n:M}=(0,S.useTranslation)("web"),{showSaving:A,showSaved:T,save:P}=function(){let{t:e}=(0,S.useTranslation)("web"),[t,n]=(0,i.useTransition)(),[s,a]=(0,i.useState)(!1),[l,o]=(0,i.useState)(!1),r=(0,i.useRef)(null),c=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),o(!0),setTimeout(()=>o(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),o(!0),setTimeout(()=>o(!1),2e3)))},[t,s]),{showSaving:s,showSaved:l,save:(0,i.useCallback)(t=>{n(async()=>{let i=await F(t);i.success||y.toast.error(i.error??e("settings.failedToSave"))})},[n,e])}}(),E=e.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1,projects:!1,inventory:!1,codeReview:!1},[R,B]=(0,i.useState)(e.user?.preferredLanguage??D.Language.English),[L,_]=(0,i.useState)(e.agent.type),[V,K]=(0,i.useState)(e.agent.authMethod),[W,q]=(0,i.useState)(e.agent.token??""),[G,U]=(0,i.useState)(!1),[$,Z]=(0,i.useState)(e.environment.defaultEditor),[X,Y]=(0,i.useState)(e.environment.shellPreference),[J,Q]=(0,i.useState)(e.environment.terminalPreference??D.TerminalType.System),ee=p?p.filter(e=>e.available):[{id:D.TerminalType.System,name:m("settings.environment.systemTerminal"),available:!0}],[et,ei]=(0,i.useState)(e.workflow.openPrOnImplementationComplete),[en,es]=(0,i.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[ea,el]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPrd),[eo,er]=(0,i.useState)(e.workflow.approvalGateDefaults.allowPlan),[ec,ed]=(0,i.useState)(e.workflow.approvalGateDefaults.allowMerge),[eu,eg]=(0,i.useState)(e.workflow.enableEvidence),[eh,ep]=(0,i.useState)(e.workflow.commitEvidence),[em,ef]=(0,i.useState)(!1!==e.workflow.ciWatchEnabled),[ex,ev]=(0,i.useState)(!1!==e.workflow.hideCiStatus),[eb,ew]=(0,i.useState)(!1!==e.workflow.defaultFastMode),[ej,ey]=(0,i.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eS,ek]=(0,i.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eM,eC]=(0,i.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eI,eA]=(0,i.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eN,eT]=(0,i.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eF,eG]=(0,i.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),eU=e.workflow.stageTimeouts,[e$,eZ]=(0,i.useState)(String(Math.round((eU?.analyzeMs??18e5)/1e3))),[eX,eY]=(0,i.useState)(String(Math.round((eU?.requirementsMs??18e5)/1e3))),[eJ,eQ]=(0,i.useState)(String(Math.round((eU?.researchMs??18e5)/1e3))),[e0,e1]=(0,i.useState)(String(Math.round((eU?.planMs??18e5)/1e3))),[e5,e3]=(0,i.useState)(String(Math.round((eU?.implementMs??18e5)/1e3))),[e2,e8]=(0,i.useState)(String(Math.round((eU?.fastImplementMs??18e5)/1e3))),[e4,e9]=(0,i.useState)(String(Math.round((eU?.mergeMs??18e5)/1e3))),e6=e.workflow.analyzeRepoTimeouts,[e7,te]=(0,i.useState)(String(Math.round((e6?.analyzeMs??6e5)/1e3))),tt=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ti,tn]=(0,i.useState)(tt.enabled),[ts,ta]=(0,i.useState)(String(tt.autoTimeoutMinutes)),[tl,to]=(0,i.useState)(String(tt.maxConcurrentSessions)),tr=e.fabLayout??{swapPosition:!1},[tc,td]=(0,i.useState)(tr.swapPosition),[tu,tg]=(0,i.useState)(e.notifications.inApp.enabled),[th,tp]=(0,i.useState)({...e.notifications.events}),[tm,tf]=(0,i.useState)({...E}),tx=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",tv=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tb=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tw=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tj=eU?.analyzeMs!=null?String(Math.round(eU.analyzeMs/1e3)):"",ty=eU?.requirementsMs!=null?String(Math.round(eU.requirementsMs/1e3)):"",tS=eU?.researchMs!=null?String(Math.round(eU.researchMs/1e3)):"",tk=eU?.planMs!=null?String(Math.round(eU.planMs/1e3)):"",tM=eU?.implementMs!=null?String(Math.round(eU.implementMs/1e3)):"",tC=eU?.fastImplementMs!=null?String(Math.round(eU.fastImplementMs/1e3)):"",tI=eU?.mergeMs!=null?String(Math.round(eU.mergeMs/1e3)):"",tA=e6?.analyzeMs!=null?String(Math.round(e6.analyzeMs/1e3)):"";function tN(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tT(e){if(void 0===e)return;let t=tN(e);return null!=t?1e3*t:void 0}function tF(e={}){let t=tN(e.ciTimeout??eI),i=e.autoArchiveEnabled??ej,n=parseInt(e.autoArchiveDelay??eS,10);return{workflow:{openPrOnImplementationComplete:e.openPr??et,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??en,allowPrd:e.allowPrd??ea,allowPlan:e.allowPlan??eo,allowMerge:e.allowMerge??ec},enableEvidence:e.enableEvidence??eu,commitEvidence:e.commitEvidence??eh,ciWatchEnabled:e.ciWatchEnabled??em,hideCiStatus:e.hideCiStatus??ex,defaultFastMode:e.defaultFastMode??eb,autoArchiveDelayMinutes:i?Number.isNaN(n)||n<1?10:n:0,ciMaxFixAttempts:tN(e.ciMaxFix??eM),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tN(e.ciLogMax??eN),ciWatchPollIntervalSeconds:tN(e.ciPollInterval??eF),stageTimeouts:{analyzeMs:tT(e.analyzeTimeout??e$),requirementsMs:tT(e.requirementsTimeout??eX),researchMs:tT(e.researchTimeout??eJ),planMs:tT(e.planTimeout??e0),implementMs:tT(e.implementTimeout??e5),fastImplementMs:tT(e.fastImplementTimeout??e2),mergeMs:tT(e.mergeTimeout??e4)},analyzeRepoTimeouts:{analyzeMs:tT(e.analyzeRepoTimeout??e7)}}}}function tD(e={}){return{notifications:{inApp:{enabled:e.inApp??tu},events:e.events??th}}}let[tP,tE]=(0,i.useState)("agent");(0,i.useEffect)(()=>{let e=e_.map(e=>document.getElementById(`section-${e.id}`)).filter(Boolean);if(0===e.length)return;let t=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&tE(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let i of e)t.observe(i);return()=>t.disconnect()},[]);let tR=(0,i.useCallback)(e=>{let t=document.getElementById(`section-${e}`);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),t.style.animation="none",t.offsetHeight,t.style.animation="section-flash 1s ease-out")},[]);return(0,t.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,t.jsx)("div",{className:"bg-background/95 supports-backdrop-filter:bg-background/80 sticky top-0 z-10 grid grid-cols-1 gap-x-5 pt-6 pb-4 backdrop-blur lg:grid-cols-[1fr_280px]",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(f,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:m("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,k.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",A?"opacity-100":"opacity-0"),children:m("settings.saving")}),(0,t.jsxs)("span",{className:(0,k.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",T&&!A?"opacity-100":"opacity-0"),children:[(0,t.jsx)(n.Check,{className:"h-3 w-3"}),m("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:e_.map(e=>{let i=e.icon,n=tP===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tR(e.id),className:(0,k.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",n?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(i,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:m(e.labelKey)})]},e.id)})})]})}),(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{id:"section-language",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:(0,t.jsx)(eO,{icon:g.Globe,title:m("settings.language.title"),description:m("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eV,{label:m("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(N.Select,{value:R,onValueChange:function(e){B(e),M.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,P({user:{preferredLanguage:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(N.SelectValue,{placeholder:m("settings.language.placeholder")})}),(0,t.jsx)(N.SelectContent,{children:eP.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.nativeName},e.value))})]})})})}),(0,t.jsxs)("div",{id:"section-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:s.Bot,title:m("settings.agent.sectionTitle"),description:m("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.agent.agentAndModel"),description:m("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(H.AgentModelPicker,{initialAgentType:L,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{_(e),eB.has(e)&&V!==D.AgentAuthMethod.Token?(K(D.AgentAuthMethod.Token),P({agent:{type:e,authMethod:D.AgentAuthMethod.Token}})):ez.has(e)&&V!==D.AgentAuthMethod.Session&&(K(D.AgentAuthMethod.Session),P({agent:{type:e,authMethod:D.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eV,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(N.Select,{value:V,onValueChange:e=>{K(e);let t={type:L,authMethod:e};e===D.AgentAuthMethod.Token&&(t.token=W),P({agent:t})},disabled:ez.has(L)||eB.has(L),children:[(0,t.jsx)(N.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eL.filter(e=>ez.has(L)?e.value===D.AgentAuthMethod.Session:!eB.has(L)||e.value===D.AgentAuthMethod.Token).map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eB.has(L)&&(0,t.jsx)("div",{className:"border-b py-2.5 last:border-b-0",children:(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:"This provider requires an API key for authentication. No CLI binary needed."})}),V===D.AgentAuthMethod.Token&&(0,t.jsx)(eV,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(C.Input,{id:"agent-token","data-testid":"agent-token-input",type:G?"text":"password",value:W,onChange:e=>q(e.target.value),onBlur:()=>{W!==(e.agent.token??"")&&P({agent:{type:L,authMethod:V,token:W}})},placeholder:"Enter your API token",className:"pe-10 text-xs"}),(0,t.jsx)(I.Button,{type:"button",variant:"ghost",size:"sm",className:"absolute top-0 right-0 h-full px-3 hover:bg-transparent",onClick:()=>U(!G),"data-testid":"toggle-token-visibility","aria-label":G?"Hide token":"Show token",children:G?(0,t.jsx)(j.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(w.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:m("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:m("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.agent.hint")})]}),(0,t.jsxs)("div",{id:"section-environment",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:a.Terminal,title:m("settings.environment.sectionTitle"),description:m("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.environment.defaultEditor"),description:m("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(N.Select,{value:$,onValueChange:e=>{Z(e),P({environment:{defaultEditor:e,shellPreference:X,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eE.map(e=>{var i;let n=(i=e.value)&&i in O?O[i]:z;return(0,t.jsx)(N.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(n,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eV,{label:m("settings.environment.shell"),description:m("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(N.Select,{value:X,onValueChange:e=>{Y(e),P({environment:{defaultEditor:$,shellPreference:e,terminalPreference:J}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:eR.map(e=>(0,t.jsx)(N.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eV,{label:m("settings.environment.terminal"),description:m("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(N.Select,{value:J,onValueChange:e=>{Q(e),P({environment:{defaultEditor:$,shellPreference:X,terminalPreference:e}})},children:[(0,t.jsx)(N.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(N.SelectValue,{})}),(0,t.jsx)(N.SelectContent,{children:ee.map(e=>(0,t.jsx)(N.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:m("settings.environment.hint")})]}),(0,t.jsxs)("div",{id:"section-workflow",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:l.GitBranch,title:m("settings.workflow.title"),description:m("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.workflow.defaultFastMode"),description:m("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eb,onChange:e=>{ew(e),P(tF({defaultFastMode:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.approve")}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePrd"),description:m("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:ea,onChange:e=>{el(e),P(tF({allowPrd:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApprovePlan"),description:m("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:eo,onChange:e=>{er(e),P(tF({allowPlan:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.autoApproveMerge"),description:m("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:ec,onChange:e=>{ed(e),P(tF({allowMerge:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.evidence")}),(0,t.jsx)(eK,{label:m("settings.workflow.collectEvidence"),description:m("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:eu,onChange:e=>{eg(e),e?P(tF({enableEvidence:e})):(ep(!1),P(tF({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.addEvidenceToPr"),description:m("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:eh,disabled:!eu||!et,onChange:e=>{ep(e),P(tF({commitEvidence:e}))}}),(0,t.jsx)(eW,{children:m("settings.workflow.subsections.git")}),(0,t.jsx)(eK,{label:m("settings.workflow.pushOnComplete"),description:m("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:en,onChange:e=>{es(e),P(tF({pushOnComplete:e}))}}),(0,t.jsx)(eK,{label:m("settings.workflow.openPrOnComplete"),description:m("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:et,onChange:e=>{ei(e),e?P(tF({openPr:e})):(ep(!1),P(tF({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(eK,{label:m("settings.workflow.watchCiAfterPush"),description:m("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:em,onChange:e=>{ef(e),P(tF({ciWatchEnabled:e}))}}),(0,t.jsx)(eW,{children:"Archive"}),(0,t.jsx)(eK,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ej,onChange:e=>{ey(e),P(tF({autoArchiveEnabled:e}))}}),(0,t.jsx)(eV,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eH,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eS,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{ek(e)},onBlur:()=>{if(!ej)return;let e=parseInt(eS,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));ek(String(t)),P(tF({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:m("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:m("settings.workflow.hint")})]}),(0,t.jsxs)("div",{id:"section-ci",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:o.Activity,title:m("settings.ci.title"),description:m("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.ci.maxFixAttempts"),description:m("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eH,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eM,onChange:eC,onBlur:()=>{eM!==tx&&P(tF({ciMaxFix:eM}))},min:1,max:10})}),(0,t.jsx)(eV,{label:m("settings.ci.watchTimeout"),description:m("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eH,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eI,onChange:eA,onBlur:()=>{eI!==tv&&P(tF({ciTimeout:eI}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eV,{label:m("settings.ci.maxLogSize"),description:m("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eH,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eN,onChange:eT,onBlur:()=>{eN!==tb&&P(tF({ciLogMax:eN}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eV,{label:m("settings.ci.pollInterval"),description:m("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eH,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eF,onChange:eG,onBlur:()=>{eF!==tw&&P(tF({ciPollInterval:eF}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(eK,{label:m("settings.ci.hideCiStatus"),description:m("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ex,onChange:e=>{ev(e),P(tF({hideCiStatus:e}))}})]}),(0,t.jsx)(eq,{links:[{label:m("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:m("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:m("settings.ci.hint")})]}),(0,t.jsxs)("div",{id:"section-stage-timeouts",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:x.Timer,title:m("settings.stageTimeouts.title"),description:m("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(eD,{id:"timeout-analyze",testId:"timeout-analyze-input",value:e$,onChange:eZ,onBlur:()=>{e$!==tj&&P(tF({analyzeTimeout:e$}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.requirements"),description:m("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(eD,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eX,onChange:eY,onBlur:()=>{eX!==ty&&P(tF({requirementsTimeout:eX}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.research"),description:m("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(eD,{id:"timeout-research",testId:"timeout-research-input",value:eJ,onChange:eQ,onBlur:()=>{eJ!==tS&&P(tF({researchTimeout:eJ}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.plan"),description:m("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(eD,{id:"timeout-plan",testId:"timeout-plan-input",value:e0,onChange:e1,onBlur:()=>{e0!==tk&&P(tF({planTimeout:e0}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.implement"),description:m("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(eD,{id:"timeout-implement",testId:"timeout-implement-input",value:e5,onChange:e3,onBlur:()=>{e5!==tM&&P(tF({implementTimeout:e5}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.fastImplement"),description:m("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(eD,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e2,onChange:e8,onBlur:()=>{e2!==tC&&P(tF({fastImplementTimeout:e2}))},defaultSeconds:1800})}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.merge"),description:m("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(eD,{id:"timeout-merge",testId:"timeout-merge-input",value:e4,onChange:e9,onBlur:()=>{e4!==tI&&P(tF({mergeTimeout:e4}))},defaultSeconds:1800})}),(0,t.jsx)(eW,{children:m("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eV,{label:m("settings.stageTimeouts.analyze"),description:m("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(eD,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:e7,onChange:te,onBlur:()=>{e7!==tA&&P(tF({analyzeRepoTimeout:e7}))},defaultSeconds:600})})]}),(0,t.jsx)(eq,{children:m("settings.stageTimeouts.hint")})]}),(0,t.jsxs)("div",{id:"section-notifications",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:c,title:m("settings.notifications.title"),description:m("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eW,{children:m("settings.notifications.channels")}),(0,t.jsx)(eK,{label:m("settings.notifications.inAppLabel"),description:m("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tu,onChange:e=>{tg(e),P(tD({inApp:e}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:th.agentStarted,onChange:e=>{let t={...th,agentStarted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:th.phaseCompleted,onChange:e=>{let t={...th,phaseCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:th.waitingApproval,onChange:e=>{let t={...th,waitingApproval:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:th.agentCompleted,onChange:e=>{let t={...th,agentCompleted:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:th.agentFailed,onChange:e=>{let t={...th,agentFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eW,{children:m("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:th.prMerged,onChange:e=>{let t={...th,prMerged:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:th.prClosed,onChange:e=>{let t={...th,prClosed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:th.prChecksPassed,onChange:e=>{let t={...th,prChecksPassed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:th.prChecksFailed,onChange:e=>{let t={...th,prChecksFailed:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:th.prBlocked,onChange:e=>{let t={...th,prBlocked:e};tp(t),P(tD({events:t}))}}),(0,t.jsx)(eK,{label:m("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:th.mergeReviewReady,onChange:e=>{let t={...th,mergeReviewReady:e};tp(t),P(tD({events:t}))}})]}),(0,t.jsx)(eq,{links:[{label:m("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:m("settings.notifications.hint")})]}),(0,t.jsxs)("div",{id:"section-feature-flags",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:d,title:m("settings.featureFlags.title"),description:m("settings.featureFlags.sectionDescription"),badge:m("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.featureFlags.skills"),description:m("settings.featureFlags.skillsDescription"),id:"flag-skills",testId:"switch-flag-skills",checked:tm.skills,onChange:e=>{let t={...tm,skills:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.deployments"),description:m("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tm.envDeploy,onChange:e=>{let t={...tm,envDeploy:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.debug"),description:m("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tm.debug,onChange:e=>{let t={...tm,debug:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.githubImport"),description:m("settings.featureFlags.githubImportDescription"),id:"flag-githubImport",testId:"switch-flag-githubImport",checked:tm.githubImport,onChange:e=>{let t={...tm,githubImport:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.adoptBranch"),description:m("settings.featureFlags.adoptBranchDescription"),id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:tm.adoptBranch,onChange:e=>{let t={...tm,adoptBranch:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.gitRebaseSync"),description:m("settings.featureFlags.gitRebaseSyncDescription"),id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:tm.gitRebaseSync,onChange:e=>{let t={...tm,gitRebaseSync:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.reactFileManager"),description:m("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tm.reactFileManager,onChange:e=>{let t={...tm,reactFileManager:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.inventory"),description:m("settings.featureFlags.inventoryDescription"),id:"flag-inventory",testId:"switch-flag-inventory",checked:tm.inventory,onChange:e=>{let t={...tm,inventory:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.projects"),description:m("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tm.projects,onChange:e=>{let t={...tm,projects:e};tf(t),P({featureFlags:t})}}),(0,t.jsx)(eK,{label:m("settings.featureFlags.codeReview"),description:m("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tm.codeReview,onChange:e=>{let t={...tm,codeReview:e};tf(t),P({featureFlags:t})}})]}),(0,t.jsx)(eq,{children:m("settings.featureFlags.hint")})]}),(0,t.jsxs)("div",{id:"section-interactive-agent",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:v.MessageSquare,title:m("settings.interactiveAgent.title"),description:m("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(eK,{label:m("settings.interactiveAgent.enableChatTab"),description:m("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ti,onChange:e=>{tn(e),P({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:parseInt(tl,10)||3}})}}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.autoTimeout"),description:m("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eH,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:ts,placeholder:"15",min:1,max:120,suffix:"min",onChange:ta,onBlur:()=>{let e=parseInt(ts,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));ta(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tl,10)||3}})}})}),(0,t.jsx)(eV,{label:m("settings.interactiveAgent.maxConcurrentSessions"),description:m("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eH,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tl,placeholder:"3",min:1,max:10,onChange:to,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));to(String(t)),P({interactiveAgent:{enabled:ti,autoTimeoutMinutes:parseInt(ts,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eq,{children:m("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-fab-layout",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eO,{icon:b.LayoutGrid,title:m("settings.fabLayout.title"),description:m("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(eK,{label:m("settings.fabLayout.swapPosition"),description:m("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tc,onChange:e=>{td(e),P({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eq,{children:m("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-database",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsxs)(eO,{icon:u,title:m("settings.database.title"),description:m("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eV,{label:m("settings.database.location"),description:m("settings.database.locationDescription"),children:(0,t.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:r})}),(0,t.jsx)(eV,{label:m("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eq,{links:[{label:m("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:m("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:m("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>eG],541952)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,237260,149421,889986,e=>{"use strict";let t=(0,e.i(903645).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",()=>t],237260);var r=e.i(508893);let a=(0,r.createServerReference)("40ed504cb60cb9b5ba3d159804f1aa9ac9e1ead92f",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>a],149421);let l=(0,r.createServerReference)("4083db75c5f227c7e2c7192ae8dabcb8e9748e3efa",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>l],889986)},338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],730702)},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,399108,143620,481605,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(317406),l=e.i(508893);let s=(0,l.createServerReference)("40380eb0a867264153f92eb0befd51c6b57f60c9ce",l.callServer,void 0,l.findSourceMapURL,"deployFeature"),i=(0,l.createServerReference)("407b3082f8aa0308989b442f49820085256f25e5dc",l.callServer,void 0,l.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>i],399108);let n=(0,l.createServerReference)("40a9e7a9c3e1b77e7c9fa85b9f7d5a523b9d2f51c4",l.callServer,void 0,l.findSourceMapURL,"deployApplication"),o=(0,l.createServerReference)("4054d12a818d20b3295a47380239e047421be5e3db",l.callServer,void 0,l.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],143620);let u=(0,l.createServerReference)("40354d622fd4841e21d4e5394473f74e7fbffaabab",l.callServer,void 0,l.findSourceMapURL,"getDeploymentStatus");var c=e.i(118354);let d={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class f{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??d}update(e,t){let r={...this.entries.get(e)??d,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>f,"EMPTY_ENTRY",0,d],481605);let p=(0,c.createLogger)("[DeploymentStatusProvider]"),h=new Set([a.DeploymentState.Booting,a.DeploymentState.Ready]),y=(0,r.createContext)(null);function m({initialDeployments:e,children:l}){let c=(0,r.useRef)(null);c.current||(c.current=new f,c.current.hydrate(e));let d=c.current;(0,r.useEffect)(()=>{d.hydrate(e)},[e,d]);let m=(0,r.useRef)(new Map),v=(0,r.useCallback)(e=>{let t=m.current.get(e);t&&(clearInterval(t),m.current.delete(e))},[]),g=(0,r.useCallback)(e=>{if(m.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await u(e)}catch(t){p.warn(`poll failed for "${e}"`,t),d.setStatus(e,null),v(e);return}if(!t||t.state===a.DeploymentState.Stopped){d.setStatus(e,null),v(e);return}d.setStatus(e,t)},3e3);m.current.set(e,t)},[d,v]);(0,r.useEffect)(()=>{let e=m.current,t=d.subscribeAll(()=>{for(let[t]of e){let e=d.getEntry(t);e.status&&h.has(e.status)||v(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[d,v]);let k=(0,r.useCallback)(e=>{if(e&&!d.getEntry(e).hydrated){if(d.isFullyHydrated())return void d.update(e,{hydrated:!0});d.update(e,{hydrated:!0}),(async()=>{try{let t=await u(e);d.setStatus(e,t),t&&h.has(t.state)&&g(e)}catch(t){p.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[d,g]),b=(0,r.useCallback)(async e=>{d.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await s(e.targetId):"application"===e.targetType?await n(e.targetId):await i(e.repositoryPath);if(!t.success)return void d.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});d.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),g(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";d.update(e.targetId,{deployLoading:!1,deployError:t})}},[d,g]),S=(0,r.useCallback)(async e=>{if(e){d.update(e,{stopLoading:!0});try{(await o(e)).success?(v(e),d.update(e,{stopLoading:!1,status:null,url:null})):d.update(e,{stopLoading:!1})}catch(t){p.warn("stop error (non-critical)",t),d.update(e,{stopLoading:!1})}}},[d,v]),x=(0,r.useMemo)(()=>({store:d,deploy:b,stop:S,ensureHydrated:k}),[d,b,S,k]);return(0,t.jsx)(y.Provider,{value:x,children:l})}function v(){let e=(0,r.useContext)(y);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function g(){let e=(0,r.useContext)(y);return e||k}let k={store:new f,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>m,"useDeploymentStatusContext",()=>v,"useDeploymentStatusContextOptional",()=>g],873504)},8537,e=>{"use strict";var t=e.i(152155),r=e.i(873504);function a(){}function l(e){let{store:l,deploy:s,stop:i,ensureHydrated:n}=(0,r.useDeploymentStatusContextOptional)(),o=e?.targetId??"",u=(0,t.useCallback)(e=>o?l.subscribe(o,e):a,[l,o]),c=(0,t.useCallback)(()=>o?l.getEntry(o):l.getEntry(""),[l,o]),d=(0,t.useSyncExternalStore)(u,c,c);return(0,t.useEffect)(()=>{o&&n(o)},[o,n]),{deploy:(0,t.useCallback)(async()=>{e&&await s(e)},[s,e]),stop:(0,t.useCallback)(async()=>{o&&await i(o)},[i,o]),deployLoading:d.deployLoading,stopLoading:d.stopLoading,deployError:d.deployError,status:d.status,url:d.url}}e.s(["useDeployAction",()=>l])},1650,e=>{"use strict";e.i(511495),e.s([])},435e3,e=>{"use strict";var t=e.i(980986);e.s(["CheckCircle2",()=>t.default])},194365,e=>{"use strict";let t=(0,e.i(903645).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],194365)},248109,e=>{"use strict";let t=(0,e.i(903645).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],248109)},215131,e=>{"use strict";let t=(0,e.i(903645).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},495812,e=>{"use strict";let t=(0,e.i(903645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],495812)},267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},935946,e=>{"use strict";var t=e.i(943698);e.s(["Paperclip",()=>t.default])},382569,e=>{"use strict";let t=(0,e.i(903645).default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);e.s(["Github",()=>t],382569)},711719,731151,e=>{"use strict";let t=(0,e.i(903645).default)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);e.s(["SendHorizontal",()=>t],711719);var r=e.i(152155);let a=new Set(["txt","md","csv","json","yaml","yml","xml","html","css","js","ts","jsx","tsx","py","rb","go","rs","java","kt","c","cpp","h","hpp","cs","swift","sh","bash","zsh","fish","ps1","bat","cmd","sql","graphql","proto","toml","ini","cfg","conf","env","dockerfile","makefile","cmake","gradle","sbt","lock","sum","mod","png","jpg","jpeg","gif","svg","webp","bmp","ico","avif","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","zip","tar","gz","bz2","xz","7z","rar","log","diff","patch"]);function l(){let[e,t]=(0,r.useState)([]),[l,s]=(0,r.useState)(null),[i,n]=(0,r.useState)(!1),o=(0,r.useRef)(0),u=(0,r.useRef)(crypto.randomUUID()),c=(0,r.useCallback)(async e=>{for(let t of(s(null),e)){if(t.size>0xa00000)return void s(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>0?e.slice(t+1).toLowerCase():null}(t.name);if(e&&!a.has(e))return void s(`File type "${e}" is not allowed`)}for(let r of e){let e=crypto.randomUUID();t(t=>[...t,{id:e,name:r.name,size:r.size,mimeType:r.type||"application/octet-stream",path:"",loading:!0}]);try{let a=new FormData;a.append("file",r),a.append("sessionId",u.current);let l=await fetch("/api/attachments/upload",{method:"POST",body:a});if(!l.ok){let r=await l.json().catch(()=>({error:"Upload failed"}));t(t=>t.filter(t=>t.id!==e)),s(r.error??"Upload failed");return}let i=await l.json();t(t=>t.some(t=>t.id!==e&&t.path===i.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...i,id:e,loading:!1}:t))}catch{t(t=>t.filter(t=>t.id!==e)),s("Upload failed")}}},[]),d=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current+=1,1===o.current&&n(!0)},[]),f=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current-=1,0===o.current&&n(!1)},[]),p=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),h=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current=0,n(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&c(t)},[c]),y=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),c(r))},[c]),m=(0,r.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]),v=(0,r.useCallback)((e,r)=>{t(t=>t.map(t=>t.id===e?{...t,notes:r}:t))},[]),g=(0,r.useCallback)(e=>{t(t=>t.some(t=>t.path===e.path)?t:[...t,{...e,loading:!1}])},[]),k=(0,r.useCallback)(()=>{t([]),s(null)},[]),b=e.filter(e=>!e.loading);return{attachments:e,completedAttachments:b,uploadError:l,isDragOver:i,handleFiles:c,handleDragEnter:d,handleDragLeave:f,handleDragOver:p,handleDrop:h,handlePaste:y,addAttachment:g,removeAttachment:m,updateNotes:v,clearAttachments:k}}e.s(["useAttachments",()=>l],731151)},949228,e=>{"use strict";let t=(0,e.i(903645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],949228)},32494,e=>{"use strict";let t=(0,e.i(903645).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],32494)},936747,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("4059f7c623f696572000a9d187b8473126ea9d63ca",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>r])},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),a=e.i(205978),l=e.i(786874),s=e.i(679606);function i(e){let i=e+"CollectionProvider",[n,o]=(0,r.createContextScope)(i),[u,c]=n(i,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:a}=e,l=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,s.jsx)(u,{scope:r,itemMap:i,collectionRef:l,children:a})};d.displayName=i;let f=e+"CollectionSlot",p=(0,l.createSlot)(f),h=t.default.forwardRef((e,t)=>{let{scope:r,children:l}=e,i=c(f,r),n=(0,a.useComposedRefs)(t,i.collectionRef);return(0,s.jsx)(p,{ref:n,children:l})});h.displayName=f;let y=e+"CollectionItemSlot",m="data-radix-collection-item",v=(0,l.createSlot)(y),g=t.default.forwardRef((e,r)=>{let{scope:l,children:i,...n}=e,o=t.default.useRef(null),u=(0,a.useComposedRefs)(r,o),d=c(y,l);return t.default.useEffect(()=>(d.itemMap.set(o,{ref:o,...n}),()=>void d.itemMap.delete(o))),(0,s.jsx)(v,{...{[m]:""},ref:u,children:i})});return g.displayName=y,[{Provider:d,Slot:h,ItemSlot:g},function(r){let a=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=a.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(a.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[a.collectionRef,a.itemMap])},o]}var n=new WeakMap;function o(e,t){var r,a;let l,s,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(r=e,a=t,l=r.length,(i=(s=u(a))>=0?s:l+s)<0||i>=l?-1:i);return -1===n?void 0:e[n]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let a,l=this.has(t),s=this.#e.length,i=u(e),n=i>=0?i:s+i,o=n<0||n>=s?-1:n;if(o===this.size||l&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!l;i<0&&n++;let d=[...this.#e],f=!1;for(let e=n;e<c;e++)if(n===e){let s=d[e];d[e]===t&&(s=d[e+1]),l&&this.delete(t),a=this.get(s),this.set(t,r)}else{f||d[e-1]!==t||(f=!0);let r=d[f?e:e-1],l=a;a=this.get(r),this.delete(r),this.set(r,l)}return this}with(t,r,a){let l=new e(this);return l.insert(t,r,a),l}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.at(a)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.keyAt(a)}find(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return a;r++}}findIndex(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return r;r++}return -1}filter(t,r){let a=[],l=0;for(let e of this)Reflect.apply(t,r,[e,l,this])&&a.push(e),l++;return new e(a)}map(t,r){let a=[],l=0;for(let e of this)a.push([e[0],Reflect.apply(t,r,[e,l,this])]),l++;return new e(a)}reduce(...e){let[t,r]=e,a=0,l=r??this.at(0);for(let r of this)l=0===a&&1===e.length?r:Reflect.apply(t,this,[l,r,a,this]),a++;return l}reduceRight(...e){let[t,r]=e,a=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let l=this.at(r);a=r===this.size-1&&1===e.length?l:Reflect.apply(t,this,[a,l,r,this])}return a}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),a=this.get(r);t.set(r,a)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let a=new e,l=this.size-1;if(void 0===t)return a;t<0&&(t+=this.size),void 0!==r&&r>0&&(l=r-1);for(let e=t;e<=l;e++){let t=this.keyAt(e),r=this.get(t);a.set(t,r)}return a}every(e,t){let r=0;for(let a of this){if(!Reflect.apply(e,t,[a,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>i])},151080,e=>{"use strict";var t=e.i(152155),r=e.i(291967),a=e.i(787342),l=e.i(205978),s=e.i(922528),i=e.i(713123),n=e.i(287620),o=e.i(929297),u=e.i(936589),c=e.i(566033),d=e.i(679606),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[y,m,v]=(0,a.createCollection)(h),[g,k]=(0,s.createContextScope)(h,[v]),[b,S]=g(h),x=t.forwardRef((e,t)=>(0,d.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(w,{...e,ref:t})})}));x.displayName=h;var w=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:s,orientation:i,loop:y=!1,dir:v,currentTabStopId:g,defaultCurrentTabStopId:k,onCurrentTabStopIdChange:S,onEntryFocus:x,preventScrollOnEntryFocus:w=!1,...R}=e,C=t.useRef(null),M=(0,l.useComposedRefs)(a,C),E=(0,c.useDirection)(v),[I,D]=(0,u.useControllableState)({prop:g,defaultProp:k??null,onChange:S,caller:h}),[z,L]=t.useState(!1),T=(0,o.useCallbackRef)(x),F=m(s),j=t.useRef(!1),[P,H]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(f,T),()=>e.removeEventListener(f,T)},[T]),(0,d.jsx)(b,{scope:s,orientation:i,dir:E,loop:y,currentTabStopId:I,onItemFocus:t.useCallback(e=>D(e),[D]),onItemShiftTab:t.useCallback(()=>L(!0),[]),onFocusableItemAdd:t.useCallback(()=>H(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>H(e=>e-1),[]),children:(0,d.jsx)(n.Primitive.div,{tabIndex:z||0===P?-1:0,"data-orientation":i,...R,ref:M,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{j.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!j.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);A([e.find(e=>e.active),e.find(e=>e.id===I),...e].filter(Boolean).map(e=>e.ref.current),w)}}j.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>L(!1))})})}),R="RovingFocusGroupItem",C=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:l,focusable:s=!0,active:o=!1,tabStopId:u,children:c,...f}=e,p=(0,i.useId)(),h=u||p,v=S(R,l),g=v.currentTabStopId===h,k=m(l),{onFocusableItemAdd:b,onFocusableItemRemove:x,currentTabStopId:w}=v;return t.useEffect(()=>{if(s)return b(),()=>x()},[s,b,x]),(0,d.jsx)(y.ItemSlot,{scope:l,id:h,focusable:s,active:o,children:(0,d.jsx)(n.Primitive.span,{tabIndex:g?0:-1,"data-orientation":v.orientation,...f,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{s?v.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let l=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(l))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(l)))return M[l]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let l=k().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)l.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&l.reverse();let s=l.indexOf(e.currentTarget);l=v.loop?(r=l,a=s+1,r.map((e,t)=>r[(a+t)%r.length])):l.slice(s+1)}setTimeout(()=>A(l))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=w}):c})})});C.displayName=R;var M={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function A(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>C,"Root",()=>x,"createRovingFocusGroupScope",()=>k])},619933,e=>{"use strict";let t=(0,e.i(903645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],619933)},208986,e=>{"use strict";let t=(0,e.i(903645).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>t],208986)},565530,e=>{"use strict";let t=(0,e.i(903645).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",()=>t],565530)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,237260,131748,506008,e=>{"use strict";let t=(0,e.i(903645).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",()=>t],237260);var r=e.i(508893);let a=(0,r.createServerReference)("40f2103639864d9cbb44e695132aef0dc3882d498f",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>a],131748);let l=(0,r.createServerReference)("401a0948fdb067a0e2b15bd1a8876f2fa8d61d69ca",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>l],506008)},338573,e=>{"use strict";let t=(0,e.i(903645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],338573)},730702,e=>{"use strict";let t=(0,e.i(903645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],730702)},724042,e=>{"use strict";let t=(0,e.i(903645).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>t],724042)},873504,259289,450838,481605,e=>{"use strict";var t=e.i(679606),r=e.i(152155),a=e.i(317406),l=e.i(508893);let s=(0,l.createServerReference)("40439b078896772e272d73cff5c9e76f12d2ad4fff",l.callServer,void 0,l.findSourceMapURL,"deployFeature"),i=(0,l.createServerReference)("40e1761c0b43e73601f7fcd9dce8acd5bd268ef35f",l.callServer,void 0,l.findSourceMapURL,"deployRepository");e.s(["deployRepository",()=>i],259289);let n=(0,l.createServerReference)("40e171d0c1bb54653072e2fa70eb1f9107de77cd77",l.callServer,void 0,l.findSourceMapURL,"deployApplication"),o=(0,l.createServerReference)("405b78d3f646f2c9b1433c26864d9f6ab5f562bdf5",l.callServer,void 0,l.findSourceMapURL,"stopDeployment");e.s(["stopDeployment",()=>o],450838);let u=(0,l.createServerReference)("40198f1fcab162e3ff7b2b293c1c1f8dc5ccba5116",l.callServer,void 0,l.findSourceMapURL,"getDeploymentStatus");var c=e.i(118354);let d={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class f{entries=new Map;listeners=new Map;globalListeners=new Set;fullyHydrated=!1;isFullyHydrated(){return this.fullyHydrated}hydrate(e){let t=new Set;for(let r of e)t.add(r.targetId),this.update(r.targetId,{status:r.state,url:r.url,targetType:r.targetType,hydrated:!0});for(let[e,r]of this.entries)!t.has(e)&&r.hydrated&&null!==r.status?this.update(e,{status:null,url:null}):t.has(e)||r.hydrated||this.update(e,{hydrated:!0});this.fullyHydrated=!0}getEntry(e){return this.entries.get(e)??d}update(e,t){let r={...this.entries.get(e)??d,...t};this.entries.set(e,r),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let r=this.listeners.get(e);return r||(r=new Set,this.listeners.set(e,r)),r.add(t),()=>{r?.delete(t),r?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>f,"EMPTY_ENTRY",0,d],481605);let p=(0,c.createLogger)("[DeploymentStatusProvider]"),h=new Set([a.DeploymentState.Booting,a.DeploymentState.Ready]),y=(0,r.createContext)(null);function m({initialDeployments:e,children:l}){let c=(0,r.useRef)(null);c.current||(c.current=new f,c.current.hydrate(e));let d=c.current;(0,r.useEffect)(()=>{d.hydrate(e)},[e,d]);let m=(0,r.useRef)(new Map),v=(0,r.useCallback)(e=>{let t=m.current.get(e);t&&(clearInterval(t),m.current.delete(e))},[]),g=(0,r.useCallback)(e=>{if(m.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await u(e)}catch(t){p.warn(`poll failed for "${e}"`,t),d.setStatus(e,null),v(e);return}if(!t||t.state===a.DeploymentState.Stopped){d.setStatus(e,null),v(e);return}d.setStatus(e,t)},3e3);m.current.set(e,t)},[d,v]);(0,r.useEffect)(()=>{let e=m.current,t=d.subscribeAll(()=>{for(let[t]of e){let e=d.getEntry(t);e.status&&h.has(e.status)||v(t)}});return()=>{for(let[,r]of(t(),e))clearInterval(r);e.clear()}},[d,v]);let k=(0,r.useCallback)(e=>{if(e&&!d.getEntry(e).hydrated){if(d.isFullyHydrated())return void d.update(e,{hydrated:!0});d.update(e,{hydrated:!0}),(async()=>{try{let t=await u(e);d.setStatus(e,t),t&&h.has(t.state)&&g(e)}catch(t){p.warn(`ensureHydrated failed for "${e}"`,t)}})()}},[d,g]),b=(0,r.useCallback)(async e=>{d.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await s(e.targetId):"application"===e.targetType?await n(e.targetId):await i(e.repositoryPath);if(!t.success)return void d.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});d.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),g(e.targetId)}catch(r){let t=r instanceof Error?r.message:"An unexpected error occurred";d.update(e.targetId,{deployLoading:!1,deployError:t})}},[d,g]),S=(0,r.useCallback)(async e=>{if(e){d.update(e,{stopLoading:!0});try{(await o(e)).success?(v(e),d.update(e,{stopLoading:!1,status:null,url:null})):d.update(e,{stopLoading:!1})}catch(t){p.warn("stop error (non-critical)",t),d.update(e,{stopLoading:!1})}}},[d,v]),x=(0,r.useMemo)(()=>({store:d,deploy:b,stop:S,ensureHydrated:k}),[d,b,S,k]);return(0,t.jsx)(y.Provider,{value:x,children:l})}function v(){let e=(0,r.useContext)(y);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function g(){let e=(0,r.useContext)(y);return e||k}let k={store:new f,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>m,"useDeploymentStatusContext",()=>v,"useDeploymentStatusContextOptional",()=>g],873504)},8537,e=>{"use strict";var t=e.i(152155),r=e.i(873504);function a(){}function l(e){let{store:l,deploy:s,stop:i,ensureHydrated:n}=(0,r.useDeploymentStatusContextOptional)(),o=e?.targetId??"",u=(0,t.useCallback)(e=>o?l.subscribe(o,e):a,[l,o]),c=(0,t.useCallback)(()=>o?l.getEntry(o):l.getEntry(""),[l,o]),d=(0,t.useSyncExternalStore)(u,c,c);return(0,t.useEffect)(()=>{o&&n(o)},[o,n]),{deploy:(0,t.useCallback)(async()=>{e&&await s(e)},[s,e]),stop:(0,t.useCallback)(async()=>{o&&await i(o)},[i,o]),deployLoading:d.deployLoading,stopLoading:d.stopLoading,deployError:d.deployError,status:d.status,url:d.url}}e.s(["useDeployAction",()=>l])},1650,e=>{"use strict";e.i(511495),e.s([])},435e3,e=>{"use strict";var t=e.i(980986);e.s(["CheckCircle2",()=>t.default])},194365,e=>{"use strict";let t=(0,e.i(903645).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>t],194365)},248109,e=>{"use strict";let t=(0,e.i(903645).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>t],248109)},215131,e=>{"use strict";let t=(0,e.i(903645).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},495812,e=>{"use strict";let t=(0,e.i(903645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],495812)},267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},935946,e=>{"use strict";var t=e.i(943698);e.s(["Paperclip",()=>t.default])},382569,e=>{"use strict";let t=(0,e.i(903645).default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);e.s(["Github",()=>t],382569)},711719,731151,e=>{"use strict";let t=(0,e.i(903645).default)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);e.s(["SendHorizontal",()=>t],711719);var r=e.i(152155);let a=new Set(["txt","md","csv","json","yaml","yml","xml","html","css","js","ts","jsx","tsx","py","rb","go","rs","java","kt","c","cpp","h","hpp","cs","swift","sh","bash","zsh","fish","ps1","bat","cmd","sql","graphql","proto","toml","ini","cfg","conf","env","dockerfile","makefile","cmake","gradle","sbt","lock","sum","mod","png","jpg","jpeg","gif","svg","webp","bmp","ico","avif","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","zip","tar","gz","bz2","xz","7z","rar","log","diff","patch"]);function l(){let[e,t]=(0,r.useState)([]),[l,s]=(0,r.useState)(null),[i,n]=(0,r.useState)(!1),o=(0,r.useRef)(0),u=(0,r.useRef)(crypto.randomUUID()),c=(0,r.useCallback)(async e=>{for(let t of(s(null),e)){if(t.size>0xa00000)return void s(`"${t.name}" exceeds 10 MB limit`);let e=function(e){let t=e.lastIndexOf(".");return t>0?e.slice(t+1).toLowerCase():null}(t.name);if(e&&!a.has(e))return void s(`File type "${e}" is not allowed`)}for(let r of e){let e=crypto.randomUUID();t(t=>[...t,{id:e,name:r.name,size:r.size,mimeType:r.type||"application/octet-stream",path:"",loading:!0}]);try{let a=new FormData;a.append("file",r),a.append("sessionId",u.current);let l=await fetch("/api/attachments/upload",{method:"POST",body:a});if(!l.ok){let r=await l.json().catch(()=>({error:"Upload failed"}));t(t=>t.filter(t=>t.id!==e)),s(r.error??"Upload failed");return}let i=await l.json();t(t=>t.some(t=>t.id!==e&&t.path===i.path)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?{...i,id:e,loading:!1}:t))}catch{t(t=>t.filter(t=>t.id!==e)),s("Upload failed")}}},[]),d=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current+=1,1===o.current&&n(!0)},[]),f=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current-=1,0===o.current&&n(!1)},[]),p=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),h=(0,r.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o.current=0,n(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&c(t)},[c]),y=(0,r.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of Array.from(t))if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),c(r))},[c]),m=(0,r.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]),v=(0,r.useCallback)((e,r)=>{t(t=>t.map(t=>t.id===e?{...t,notes:r}:t))},[]),g=(0,r.useCallback)(e=>{t(t=>t.some(t=>t.path===e.path)?t:[...t,{...e,loading:!1}])},[]),k=(0,r.useCallback)(()=>{t([]),s(null)},[]),b=e.filter(e=>!e.loading);return{attachments:e,completedAttachments:b,uploadError:l,isDragOver:i,handleFiles:c,handleDragEnter:d,handleDragLeave:f,handleDragOver:p,handleDrop:h,handlePaste:y,addAttachment:g,removeAttachment:m,updateNotes:v,clearAttachments:k}}e.s(["useAttachments",()=>l],731151)},949228,e=>{"use strict";let t=(0,e.i(903645).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>t],949228)},32494,e=>{"use strict";let t=(0,e.i(903645).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",()=>t],32494)},104897,e=>{"use strict";var t=e.i(508893);let r=(0,t.createServerReference)("40a7e235055041b4632f8f7e7dbc23883a3a5e61ba",t.callServer,void 0,t.findSourceMapURL,"openFolder");e.s(["openFolder",()=>r])},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),a=e.i(205978),l=e.i(786874),s=e.i(679606);function i(e){let i=e+"CollectionProvider",[n,o]=(0,r.createContextScope)(i),[u,c]=n(i,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:a}=e,l=t.default.useRef(null),i=t.default.useRef(new Map).current;return(0,s.jsx)(u,{scope:r,itemMap:i,collectionRef:l,children:a})};d.displayName=i;let f=e+"CollectionSlot",p=(0,l.createSlot)(f),h=t.default.forwardRef((e,t)=>{let{scope:r,children:l}=e,i=c(f,r),n=(0,a.useComposedRefs)(t,i.collectionRef);return(0,s.jsx)(p,{ref:n,children:l})});h.displayName=f;let y=e+"CollectionItemSlot",m="data-radix-collection-item",v=(0,l.createSlot)(y),g=t.default.forwardRef((e,r)=>{let{scope:l,children:i,...n}=e,o=t.default.useRef(null),u=(0,a.useComposedRefs)(r,o),d=c(y,l);return t.default.useEffect(()=>(d.itemMap.set(o,{ref:o,...n}),()=>void d.itemMap.delete(o))),(0,s.jsx)(v,{...{[m]:""},ref:u,children:i})});return g.displayName=y,[{Provider:d,Slot:h,ItemSlot:g},function(r){let a=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=a.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(a.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[a.collectionRef,a.itemMap])},o]}var n=new WeakMap;function o(e,t){var r,a;let l,s,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=(r=e,a=t,l=r.length,(i=(s=u(a))>=0?s:l+s)<0||i>=l?-1:i);return -1===n?void 0:e[n]}function u(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],n.set(this,!0)}set(e,t){return n.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let a,l=this.has(t),s=this.#e.length,i=u(e),n=i>=0?i:s+i,o=n<0||n>=s?-1:n;if(o===this.size||l&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!l;i<0&&n++;let d=[...this.#e],f=!1;for(let e=n;e<c;e++)if(n===e){let s=d[e];d[e]===t&&(s=d[e+1]),l&&this.delete(t),a=this.get(s),this.set(t,r)}else{f||d[e-1]!==t||(f=!0);let r=d[f?e:e-1],l=a;a=this.get(r),this.delete(r),this.set(r,l)}return this}with(t,r,a){let l=new e(this);return l.insert(t,r,a),l}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let a=this.#e.indexOf(e);return -1===a?this:this.insert(a+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.at(a)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let a=r+t;return a<0&&(a=0),a>=this.size&&(a=this.size-1),this.keyAt(a)}find(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return a;r++}}findIndex(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return r;r++}return -1}filter(t,r){let a=[],l=0;for(let e of this)Reflect.apply(t,r,[e,l,this])&&a.push(e),l++;return new e(a)}map(t,r){let a=[],l=0;for(let e of this)a.push([e[0],Reflect.apply(t,r,[e,l,this])]),l++;return new e(a)}reduce(...e){let[t,r]=e,a=0,l=r??this.at(0);for(let r of this)l=0===a&&1===e.length?r:Reflect.apply(t,this,[l,r,a,this]),a++;return l}reduceRight(...e){let[t,r]=e,a=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let l=this.at(r);a=r===this.size-1&&1===e.length?l:Reflect.apply(t,this,[a,l,r,this])}return a}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),a=this.get(r);t.set(r,a)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let a=new e,l=this.size-1;if(void 0===t)return a;t<0&&(t+=this.size),void 0!==r&&r>0&&(l=r-1);for(let e=t;e<=l;e++){let t=this.keyAt(e),r=this.get(t);a.set(t,r)}return a}every(e,t){let r=0;for(let a of this){if(!Reflect.apply(e,t,[a,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let a of this){if(Reflect.apply(e,t,[a,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>i])},151080,e=>{"use strict";var t=e.i(152155),r=e.i(291967),a=e.i(787342),l=e.i(205978),s=e.i(922528),i=e.i(713123),n=e.i(287620),o=e.i(929297),u=e.i(936589),c=e.i(566033),d=e.i(679606),f="rovingFocusGroup.onEntryFocus",p={bubbles:!1,cancelable:!0},h="RovingFocusGroup",[y,m,v]=(0,a.createCollection)(h),[g,k]=(0,s.createContextScope)(h,[v]),[b,S]=g(h),x=t.forwardRef((e,t)=>(0,d.jsx)(y.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(y.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(w,{...e,ref:t})})}));x.displayName=h;var w=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:s,orientation:i,loop:y=!1,dir:v,currentTabStopId:g,defaultCurrentTabStopId:k,onCurrentTabStopIdChange:S,onEntryFocus:x,preventScrollOnEntryFocus:w=!1,...R}=e,C=t.useRef(null),M=(0,l.useComposedRefs)(a,C),E=(0,c.useDirection)(v),[I,D]=(0,u.useControllableState)({prop:g,defaultProp:k??null,onChange:S,caller:h}),[z,L]=t.useState(!1),T=(0,o.useCallbackRef)(x),F=m(s),j=t.useRef(!1),[P,H]=t.useState(0);return t.useEffect(()=>{let e=C.current;if(e)return e.addEventListener(f,T),()=>e.removeEventListener(f,T)},[T]),(0,d.jsx)(b,{scope:s,orientation:i,dir:E,loop:y,currentTabStopId:I,onItemFocus:t.useCallback(e=>D(e),[D]),onItemShiftTab:t.useCallback(()=>L(!0),[]),onFocusableItemAdd:t.useCallback(()=>H(e=>e+1),[]),onFocusableItemRemove:t.useCallback(()=>H(e=>e-1),[]),children:(0,d.jsx)(n.Primitive.div,{tabIndex:z||0===P?-1:0,"data-orientation":i,...R,ref:M,style:{outline:"none",...e.style},onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,()=>{j.current=!0}),onFocus:(0,r.composeEventHandlers)(e.onFocus,e=>{let t=!j.current;if(e.target===e.currentTarget&&t&&!z){let t=new CustomEvent(f,p);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=F().filter(e=>e.focusable);A([e.find(e=>e.active),e.find(e=>e.id===I),...e].filter(Boolean).map(e=>e.ref.current),w)}}j.current=!1}),onBlur:(0,r.composeEventHandlers)(e.onBlur,()=>L(!1))})})}),R="RovingFocusGroupItem",C=t.forwardRef((e,a)=>{let{__scopeRovingFocusGroup:l,focusable:s=!0,active:o=!1,tabStopId:u,children:c,...f}=e,p=(0,i.useId)(),h=u||p,v=S(R,l),g=v.currentTabStopId===h,k=m(l),{onFocusableItemAdd:b,onFocusableItemRemove:x,currentTabStopId:w}=v;return t.useEffect(()=>{if(s)return b(),()=>x()},[s,b,x]),(0,d.jsx)(y.ItemSlot,{scope:l,id:h,focusable:s,active:o,children:(0,d.jsx)(n.Primitive.span,{tabIndex:g?0:-1,"data-orientation":v.orientation,...f,ref:a,onMouseDown:(0,r.composeEventHandlers)(e.onMouseDown,e=>{s?v.onItemFocus(h):e.preventDefault()}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>v.onItemFocus(h)),onKeyDown:(0,r.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void v.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var a;let l=(a=e.key,"rtl"!==r?a:"ArrowLeft"===a?"ArrowRight":"ArrowRight"===a?"ArrowLeft":a);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(l))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(l)))return M[l]}(e,v.orientation,v.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let l=k().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)l.reverse();else if("prev"===t||"next"===t){var r,a;"prev"===t&&l.reverse();let s=l.indexOf(e.currentTarget);l=v.loop?(r=l,a=s+1,r.map((e,t)=>r[(a+t)%r.length])):l.slice(s+1)}setTimeout(()=>A(l))}}),children:"function"==typeof c?c({isCurrentTabStop:g,hasTabStop:null!=w}):c})})});C.displayName=R;var M={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function A(e,t=!1){let r=document.activeElement;for(let a of e)if(a===r||(a.focus({preventScroll:t}),document.activeElement!==r))return}e.s(["Item",()=>C,"Root",()=>x,"createRovingFocusGroupScope",()=>k])},619933,e=>{"use strict";let t=(0,e.i(903645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],619933)},208986,e=>{"use strict";let t=(0,e.i(903645).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>t],208986)},565530,e=>{"use strict";let t=(0,e.i(903645).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",()=>t],565530)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,935946,e=>{"use strict";var t=e.i(943698);e.s(["Paperclip",()=>t.default])},267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},943698,176505,57484,e=>{"use strict";var t=e.i(903645);let a=(0,t.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["default",()=>a],943698);let s=(0,t.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"}]]);e.s(["default",()=>s],176505),e.s(["FileIcon",()=>s],57484)},295230,e=>{"use strict";let t=(0,e.i(903645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},602287,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(90033),i=e.i(860253),l=e.i(131777);let r=s.Dialog.Root,n=s.Dialog.Trigger,d=s.Dialog.Portal,o=s.Dialog.Close,c=a.forwardRef(({className:e,onClick:a,...i},r)=>(0,t.jsx)(s.Dialog.Overlay,{ref:r,className:(0,l.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),a?.(e)},...i}));c.displayName=s.Dialog.Overlay.displayName;let m=a.forwardRef(({className:e,children:a,...r},n)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,l.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...r,children:[a,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));m.displayName=s.Dialog.Content.displayName;let u=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...a});u.displayName="DialogHeader";let x=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});x.displayName="DialogFooter";let p=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Title,{ref:i,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));p.displayName=s.Dialog.Title.displayName;let h=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Description,{ref:i,className:(0,l.cn)("text-muted-foreground text-sm",e),...a}));h.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>r,"DialogClose",()=>o,"DialogContent",()=>m,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>u,"DialogTitle",()=>p,"DialogTrigger",()=>n])},723925,301012,e=>{"use strict";let t=(0,e.i(903645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],301012),e.s(["Check",()=>t],723925)},48306,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function s({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.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",e),...s})}e.s(["Textarea",()=>s])},215131,e=>{"use strict";let t=(0,e.i(903645).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},958481,e=>{"use strict";var t=e.i(215131);e.s(["AlertTriangle",()=>t.default])},681181,e=>{"use strict";var t=e.i(295230);e.s(["Download",()=>t.default])},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},405682,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(602287),i=e.i(735364),l=e.i(698127),r=e.i(141957),n=e.i(48306),d=e.i(547373),o=e.i(508893);let c=(0,o.createServerReference)("402d449cd2d950b3ca13d454f8258be6820a57da0d",o.callServer,void 0,o.findSourceMapURL,"createWorkItem");function m({open:e,onOpenChange:o,projectId:m,states:u,onCreated:x,parentId:p}){let[h,g]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[v,y]=(0,a.useState)(""),[N,b]=(0,a.useState)("None"),[k,w]=(0,a.useState)(null),[S,D]=(0,a.useState)(!1),I=async()=>{w(null),D(!0);try{let e=await c({projectId:m,title:h,description:f||void 0,stateId:v||void 0,priority:N||void 0,parentId:p??void 0});e.error?w(e.error):e.workItem&&(x(e.workItem),g(""),j(""),y(""),b("None"))}finally{D(!1)}};return(0,t.jsx)(s.Dialog,{open:e,onOpenChange:o,children:(0,t.jsxs)(s.DialogContent,{"data-testid":"create-work-item-dialog",children:[(0,t.jsx)(s.DialogHeader,{children:(0,t.jsx)(s.DialogTitle,{children:p?"Create Sub-item":"Create Work Item"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-title",children:"Title"}),(0,t.jsx)(l.Input,{id:"work-item-title",value:h,onChange:e=>g(e.target.value),placeholder:"What needs to be done?","data-testid":"work-item-title-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-desc",children:"Description (optional)"}),(0,t.jsx)(n.Textarea,{id:"work-item-desc",value:f,onChange:e=>j(e.target.value),placeholder:"Add more details...",rows:3,"data-testid":"work-item-desc-input"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"State"}),(0,t.jsxs)(d.Select,{value:v,onValueChange:y,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-state-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"Default"})}),(0,t.jsx)(d.SelectContent,{children:u.map(e=>(0,t.jsx)(d.SelectItem,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"Priority"}),(0,t.jsxs)(d.Select,{value:N,onValueChange:b,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-priority-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"None"})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"None",children:"None"}),(0,t.jsx)(d.SelectItem,{value:"Low",children:"Low"}),(0,t.jsx)(d.SelectItem,{value:"Medium",children:"Medium"}),(0,t.jsx)(d.SelectItem,{value:"High",children:"High"}),(0,t.jsx)(d.SelectItem,{value:"Urgent",children:"Urgent"})]})]})]})]}),k?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-work-item-error",children:k}):null]}),(0,t.jsxs)(s.DialogFooter,{children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>o(!1),disabled:S,children:"Cancel"}),(0,t.jsx)(i.Button,{onClick:I,disabled:!h.trim()||S,"data-testid":"create-work-item-submit",children:S?"Creating...":"Create"})]})]})})}e.s(["CreateWorkItemDialog",()=>m],405682)},149809,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(711434),i=e.i(938518),l=e.i(131777),r=e.i(735364),n=e.i(81846),d=e.i(903645);let o=(0,d.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);var c=e.i(860253),m=e.i(3214),u=e.i(83428),x=e.i(317406),p=e.i(508893);let h=(0,p.createServerReference)("4083943f4baf8c14559f6d74437e473c9d7c4726d2",p.callServer,void 0,p.findSourceMapURL,"listWorkItemRelations"),g=(0,p.createServerReference)("407fe0464af90c0309da9f5dda4c7ee3f5798f5c93",p.callServer,void 0,p.findSourceMapURL,"deleteWorkItemRelation");var f=e.i(602287),j=e.i(698127),v=e.i(141957),y=e.i(547373);let N=(0,p.createServerReference)("40b2ca588c677ad8211efa63e3031f34c5c87efcb9",p.callServer,void 0,p.findSourceMapURL,"createWorkItemRelation"),b=[{value:x.RelationType.Blocking,label:"Blocking"},{value:x.RelationType.RelatesTo,label:"Relates to"},{value:x.RelationType.Duplicate,label:"Duplicate"},{value:x.RelationType.StartsBefore,label:"Starts before"},{value:x.RelationType.FinishesBefore,label:"Finishes before"}];function k({open:e,onOpenChange:s,sourceWorkItemId:i,onCreated:l}){let[n,d]=(0,a.useState)(x.RelationType.RelatesTo),[o,c]=(0,a.useState)(""),[m,u]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),g=async()=>{if(u(null),!o.trim())return void u("Target work item ID is required");h(!0);try{let e=await N({sourceWorkItemId:i,targetWorkItemId:o.trim(),relationType:n});e.error?u(e.error):e.relation&&(l(e.relation),c(""),d(x.RelationType.RelatesTo))}finally{h(!1)}};return(0,t.jsx)(f.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(f.DialogContent,{"data-testid":"add-relation-dialog",children:[(0,t.jsx)(f.DialogHeader,{children:(0,t.jsx)(f.DialogTitle,{children:"Add Relation"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"relation-type",children:"Relation Type"}),(0,t.jsxs)(y.Select,{value:n,onValueChange:d,children:[(0,t.jsx)(y.SelectTrigger,{"data-testid":"relation-type-select",children:(0,t.jsx)(y.SelectValue,{placeholder:"Select type"})}),(0,t.jsx)(y.SelectContent,{children:b.map(e=>(0,t.jsx)(y.SelectItem,{value:e.value,children:e.label},e.value))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"target-work-item",children:"Target Work Item ID"}),(0,t.jsx)(j.Input,{id:"target-work-item",value:o,onChange:e=>c(e.target.value),placeholder:"Enter work item ID or identifier","data-testid":"target-work-item-input"})]}),m?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"add-relation-error",children:m}):null]}),(0,t.jsxs)(f.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:()=>s(!1),disabled:p,children:"Cancel"}),(0,t.jsx)(r.Button,{onClick:g,disabled:!o.trim()||p,"data-testid":"add-relation-submit",children:p?"Adding...":"Add Relation"})]})]})})}let w={[x.RelationType.Blocking]:"Blocking",[x.RelationType.RelatesTo]:"Relates to",[x.RelationType.Duplicate]:"Duplicate of",[x.RelationType.StartsBefore]:"Starts before",[x.RelationType.FinishesBefore]:"Finishes before"};function S({workItemId:e,workItemsMap:s,projectPrefix:i,initialRelations:d,className:x}){let[p,f]=(0,a.useState)(d??[]),[j,v]=(0,a.useState)(!d),[y,N]=(0,a.useState)(null),[b,S]=(0,a.useState)(!1),[D,I]=(0,a.useState)(null),C=(0,a.useCallback)(async()=>{v(!0),N(null);let t=await h(e);t.error?N(t.error):t.relations&&f(t.relations),v(!1)},[e]);(0,a.useEffect)(()=>{d||C()},[C,d]);let T=async e=>{I(e);let t=await g(e);t.error?N(t.error):f(t=>t.filter(t=>t.id!==e)),I(null)},R=function(e){let t=new Map;for(let a of e){let e=t.get(a.relationType)??[];e.push(a),t.set(a.relationType,e)}return Array.from(t.entries()).map(([e,t])=>({type:e,items:t}))}(p);return(0,t.jsxs)("div",{"data-testid":"work-item-relations-panel",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(o,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Relations"}),p.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:p.length})]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>S(!0),"data-testid":"add-relation-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),j?(0,t.jsx)("div",{className:"flex items-center justify-center py-4","data-testid":"relations-loading",children:(0,t.jsx)(u.Loader2,{className:"text-muted-foreground h-4 w-4 animate-spin"})}):null,y?(0,t.jsx)("p",{className:"text-destructive text-[10px]","data-testid":"relations-error",children:y}):null,!j&&0===p.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"relations-empty",children:"No relations yet."}),!j&&R.length>0&&(0,t.jsx)("div",{className:"space-y-2","data-testid":"relations-list",children:R.map(({type:a,items:l})=>(0,t.jsxs)("div",{"data-testid":`relation-group-${a}`,children:[(0,t.jsx)("span",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:w[a]??a}),(0,t.jsx)("div",{className:"space-y-1",children:l.map(a=>{let l,d,o,m;return(0,t.jsxs)("div",{"data-testid":`relation-item-${a.id}`,className:"hover:bg-accent/50 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[(0,t.jsx)(n.Badge,{variant:"outline",className:"shrink-0 font-mono text-[10px]",children:(l=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,(d=s.get(l))?`${i}-${d.sequenceId}`:l.substring(0,8))}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[11px]",children:(o=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,m=s.get(o),m?.title??"Unknown item")}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 shrink-0 p-0",onClick:()=>T(a.id),disabled:D===a.id,"data-testid":`delete-relation-${a.id}`,children:D===a.id?(0,t.jsx)(u.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(c.X,{className:"h-3 w-3"})})]},a.id)})})]},a))}),(0,t.jsx)(k,{open:b,onOpenChange:S,sourceWorkItemId:e,onCreated:e=>{f(t=>[...t,e]),S(!1)}})]})}var D=e.i(976874),I=e.i(958481),C=e.i(405682);let T={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function R({workItem:e,allWorkItems:s,states:i,projectPrefix:d,projectId:o,currentDepth:c=0,onSubItemClick:u,className:x}){let[p,h]=(0,a.useState)(!1),[g,f]=(0,a.useState)([]),j=new Map(i.map(e=>[e.id,e])),v=[...s.filter(t=>t.parentId===e.id),...g.filter(e=>!s.some(t=>t.id===e.id))],y=c>=2;return(0,t.jsxs)("div",{"data-testid":"sub-items-section",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(D.Layers,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Sub-items"}),v.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:v.length})]}),!y&&(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>h(!0),"data-testid":"add-sub-item-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),y?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 rounded bg-yellow-500/10 px-2 py-1.5","data-testid":"max-depth-warning",children:[(0,t.jsx)(I.AlertTriangle,{className:"h-3 w-3 shrink-0 text-yellow-500"}),(0,t.jsxs)("span",{className:"text-[10px] text-yellow-600 dark:text-yellow-400",children:["Maximum nesting depth reached (",3," levels). Cannot add sub-items here."]})]}):null,0===v.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"sub-items-empty",children:"No sub-items yet."}),v.length>0&&(0,t.jsx)("div",{className:"divide-y rounded-lg border","data-testid":"sub-items-list",children:v.map(e=>{let a=j.get(e.stateId),s=`${d}-${e.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":`sub-item-${s}`,className:"hover:bg-accent/50 flex cursor-pointer items-center gap-3 px-3 py-2 transition-colors",onClick:()=>u?.(e),role:"button",tabIndex:0,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&u?.(e)},children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 font-mono text-[10px]",children:s}),a?(0,t.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:a.color},title:a.name}):null,(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs",children:e.title}),e.priority&&"None"!==e.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:`shrink-0 text-[10px] ${T[e.priority]??""}`,children:e.priority}):null]},e.id)})}),!y&&(0,t.jsx)(C.CreateWorkItemDialog,{open:p,onOpenChange:h,projectId:o,states:i,onCreated:e=>{f(t=>[...t,e]),h(!1)},parentId:e.id})]})}var M=e.i(935946),B=e.i(267669),L=e.i(681181);let A=(0,d.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var z=e.i(57484);let $=(0,p.createServerReference)("40298dfe332d59610876ea484e76662821902d07e3",p.callServer,void 0,p.findSourceMapURL,"deleteAttachment");function W({workItemId:e,attachments:s,className:i}){let[n,d]=(0,a.useState)(s),[o,c]=(0,a.useState)(!1),m=(0,a.useRef)(null),u=(0,a.useCallback)(async t=>{if(t&&0!==t.length){c(!0);try{for(let a of Array.from(t)){let t=new FormData;t.append("file",a),t.append("workItemId",e);let s=await fetch("/api/pm-attachments/upload",{method:"POST",body:t});if(s.ok){let t=await s.json(),a={id:t.id,workItemId:e,filename:t.filename,mimeType:t.mimeType,fileSize:t.fileSize,storagePath:"",createdAt:new Date(t.createdAt),updatedAt:new Date(t.createdAt),deletedAt:void 0};d(e=>[...e,a])}}}finally{c(!1),m.current&&(m.current.value="")}}},[e]),x=(0,a.useCallback)(async e=>{(await $(e)).error||d(t=>t.filter(t=>t.id!==e))},[]),p=(0,a.useCallback)(e=>{window.open(`/api/pm-attachments/download?id=${e}`,"_blank")},[]);return(0,t.jsxs)("div",{"data-testid":"attachment-list",className:(0,l.cn)("space-y-3",i),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(M.Paperclip,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsxs)("span",{className:"text-xs font-medium",children:["Attachments ",n.length>0?`(${String(n.length)})`:""]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("input",{ref:m,type:"file",multiple:!0,className:"hidden",onChange:e=>u(e.target.files),"data-testid":"file-input"}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>m.current?.click(),disabled:o,"data-testid":"upload-btn",children:[(0,t.jsx)(A,{className:"h-3 w-3"}),o?"Uploading...":"Upload"]})]})]}),0===n.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No attachments"}):(0,t.jsx)("div",{className:"space-y-1",children:n.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`attachment-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(z.FileIcon,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate",children:e.filename}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:(a=e.fileSize)<1024?`${String(a)} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}),(0,t.jsxs)("div",{className:"hidden gap-0.5 group-hover:flex",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>p(e.id),title:"Download",children:(0,t.jsx)(L.Download,{className:"h-3 w-3"})}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>x(e.id),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})]})]},e.id)})})]})}var F=e.i(655016);let P=(0,p.createServerReference)("706bc69f698e3e65645868943c9ccdf3d16604aa5d",p.callServer,void 0,p.findSourceMapURL,"logTimeEntry"),U=(0,p.createServerReference)("408cb5b751778b8db09dcba598c3b4c223f54a2814",p.callServer,void 0,p.findSourceMapURL,"deleteTimeEntry");function H(e){if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),a=e%60;return a>0?`${String(t)}h ${String(a)}m`:`${String(t)}h`}function V({workItemId:e,timeEntries:s,totalMinutes:i,className:n}){let[d,o]=(0,a.useState)(s),[c,u]=(0,a.useState)(i),[x,p]=(0,a.useState)(!1),[h,g]=(0,a.useState)(""),[f,v]=(0,a.useState)(""),[y,N]=(0,a.useState)(""),[b,k]=(0,a.useState)(!1),w=(0,a.useCallback)(async t=>{t.preventDefault();let a=60*(parseInt(h,10)||0)+(parseInt(f,10)||0);if(!(a<=0)){k(!0);try{let t=await P(e,a,y||void 0);t.timeEntry&&(o(e=>[t.timeEntry,...e]),u(e=>e+a),g(""),v(""),N(""),p(!1))}finally{k(!1)}}},[e,h,f,y]),S=(0,a.useCallback)(async(e,t)=>{(await U(e)).error||(o(t=>t.filter(t=>t.id!==e)),u(e=>e-t))},[]);return(0,t.jsxs)("div",{"data-testid":"time-entry-list",className:(0,l.cn)("space-y-3",n),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Time Logged"}),c>0?(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:["(",H(c)," total)"]}):null]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>p(!x),"data-testid":"log-time-btn",children:[(0,t.jsx)(m.Plus,{className:"h-3 w-3"}),"Log Time"]})]}),x?(0,t.jsxs)("form",{onSubmit:w,className:"bg-muted/50 space-y-2 rounded-md border p-2","data-testid":"log-time-form",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",placeholder:"0",value:h,onChange:e=>g(e.target.value),className:"h-7 w-14 text-xs","data-testid":"hours-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"h"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",max:"59",placeholder:"0",value:f,onChange:e=>v(e.target.value),className:"h-7 w-14 text-xs","data-testid":"minutes-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"m"})]})]}),(0,t.jsx)(j.Input,{placeholder:"Note (optional)",value:y,onChange:e=>N(e.target.value),className:"h-7 text-xs","data-testid":"note-input"}),(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,t.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs",onClick:()=>p(!1),children:"Cancel"}),(0,t.jsx)(r.Button,{type:"submit",size:"sm",className:"h-6 text-xs",disabled:b,"data-testid":"save-time-btn",children:b?"Saving...":"Save"})]})]}):null,0===d.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No time logged"}):(0,t.jsx)("div",{className:"space-y-1",children:d.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`time-entry-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"font-medium",children:H(e.durationMinutes)}),e.note?(0,t.jsx)("span",{className:"text-muted-foreground flex-1 truncate",children:e.note}):(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:("string"==typeof(a=e.loggedAt)?new Date(a):a).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}),(0,t.jsx)("div",{className:"hidden group-hover:flex",children:(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>S(e.id,e.durationMinutes),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})})]},e.id)})})]})}let E={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function q({project:e,workItem:d,allWorkItems:o,states:c,relations:m,attachments:u,timeEntries:x,totalMinutes:p,className:h}){let g=(0,s.useRouter)(),f=new Map(c.map(e=>[e.id,e])),j=(0,a.useMemo)(()=>new Map(o.map(e=>[e.id,e])),[o]),v=f.get(d.stateId),y=`${e.identifierPrefix}-${d.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":"work-item-detail",className:(0,l.cn)("space-y-6",h),children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>g.push(`/projects/${e.slug}`),"data-testid":"back-to-project",children:(0,t.jsx)(i.ArrowLeft,{className:"h-4 w-4"})}),(0,t.jsx)("span",{className:"text-muted-foreground font-mono text-xs",children:y}),v?(0,t.jsxs)(n.Badge,{variant:"outline",className:"text-[10px]",children:[(0,t.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full",style:{backgroundColor:v.color}}),v.name]}):null,d.priority&&"None"!==d.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:(0,l.cn)("text-[10px]",E[d.priority]),children:d.priority}):null]}),(0,t.jsx)("h1",{className:"text-lg font-bold tracking-tight",children:d.title}),d.description?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d.description}):null]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Start Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.startDate?new Date(d.startDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Due Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.dueDate?new Date(d.dueDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Estimate"}),(0,t.jsx)("p",{className:"text-xs",children:d.estimateValue??"—"})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(R,{workItem:d,allWorkItems:o,states:c,projectPrefix:e.identifierPrefix,projectId:e.id,onSubItemClick:t=>{g.push(`/projects/${e.slug}/items/${t.id}`)}}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(S,{workItemId:d.id,workItemsMap:j,projectPrefix:e.identifierPrefix,initialRelations:m}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(W,{workItemId:d.id,attachments:u}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(V,{workItemId:d.id,timeEntries:x,totalMinutes:p})]})}e.s(["WorkItemDetailClient",()=>q],149809)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,935946,e=>{"use strict";var t=e.i(943698);e.s(["Paperclip",()=>t.default])},267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},943698,176505,57484,e=>{"use strict";var t=e.i(903645);let a=(0,t.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);e.s(["default",()=>a],943698);let s=(0,t.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"}]]);e.s(["default",()=>s],176505),e.s(["FileIcon",()=>s],57484)},295230,e=>{"use strict";let t=(0,e.i(903645).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["default",()=>t])},602287,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(90033),i=e.i(860253),l=e.i(131777);let r=s.Dialog.Root,n=s.Dialog.Trigger,d=s.Dialog.Portal,o=s.Dialog.Close,c=a.forwardRef(({className:e,onClick:a,...i},r)=>(0,t.jsx)(s.Dialog.Overlay,{ref:r,className:(0,l.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",e),onClick:e=>{e.stopPropagation(),a?.(e)},...i}));c.displayName=s.Dialog.Overlay.displayName;let m=a.forwardRef(({className:e,children:a,...r},n)=>(0,t.jsxs)(d,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,l.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",e),...r,children:[a,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute end-4 top-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));m.displayName=s.Dialog.Content.displayName;let u=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-start",e),...a});u.displayName="DialogHeader";let x=({className:e,...a})=>(0,t.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});x.displayName="DialogFooter";let p=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Title,{ref:i,className:(0,l.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));p.displayName=s.Dialog.Title.displayName;let h=a.forwardRef(({className:e,...a},i)=>(0,t.jsx)(s.Dialog.Description,{ref:i,className:(0,l.cn)("text-muted-foreground text-sm",e),...a}));h.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>r,"DialogClose",()=>o,"DialogContent",()=>m,"DialogDescription",()=>h,"DialogFooter",()=>x,"DialogHeader",()=>u,"DialogTitle",()=>p,"DialogTrigger",()=>n])},723925,301012,e=>{"use strict";let t=(0,e.i(903645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],301012),e.s(["Check",()=>t],723925)},48306,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function s({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.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",e),...s})}e.s(["Textarea",()=>s])},215131,e=>{"use strict";let t=(0,e.i(903645).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",()=>t])},958481,e=>{"use strict";var t=e.i(215131);e.s(["AlertTriangle",()=>t.default])},681181,e=>{"use strict";var t=e.i(295230);e.s(["Download",()=>t.default])},976874,e=>{"use strict";let t=(0,e.i(903645).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",()=>t],976874)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},405682,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(602287),i=e.i(735364),l=e.i(698127),r=e.i(141957),n=e.i(48306),d=e.i(547373),o=e.i(508893);let c=(0,o.createServerReference)("405574ec10405ffd4dd61a7b7be8a98ec271e089b0",o.callServer,void 0,o.findSourceMapURL,"createWorkItem");function m({open:e,onOpenChange:o,projectId:m,states:u,onCreated:x,parentId:p}){let[h,g]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[v,y]=(0,a.useState)(""),[N,b]=(0,a.useState)("None"),[k,w]=(0,a.useState)(null),[S,D]=(0,a.useState)(!1),I=async()=>{w(null),D(!0);try{let e=await c({projectId:m,title:h,description:f||void 0,stateId:v||void 0,priority:N||void 0,parentId:p??void 0});e.error?w(e.error):e.workItem&&(x(e.workItem),g(""),j(""),y(""),b("None"))}finally{D(!1)}};return(0,t.jsx)(s.Dialog,{open:e,onOpenChange:o,children:(0,t.jsxs)(s.DialogContent,{"data-testid":"create-work-item-dialog",children:[(0,t.jsx)(s.DialogHeader,{children:(0,t.jsx)(s.DialogTitle,{children:p?"Create Sub-item":"Create Work Item"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-title",children:"Title"}),(0,t.jsx)(l.Input,{id:"work-item-title",value:h,onChange:e=>g(e.target.value),placeholder:"What needs to be done?","data-testid":"work-item-title-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{htmlFor:"work-item-desc",children:"Description (optional)"}),(0,t.jsx)(n.Textarea,{id:"work-item-desc",value:f,onChange:e=>j(e.target.value),placeholder:"Add more details...",rows:3,"data-testid":"work-item-desc-input"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"State"}),(0,t.jsxs)(d.Select,{value:v,onValueChange:y,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-state-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"Default"})}),(0,t.jsx)(d.SelectContent,{children:u.map(e=>(0,t.jsx)(d.SelectItem,{value:e.id,children:e.name},e.id))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(r.Label,{children:"Priority"}),(0,t.jsxs)(d.Select,{value:N,onValueChange:b,children:[(0,t.jsx)(d.SelectTrigger,{"data-testid":"work-item-priority-select",children:(0,t.jsx)(d.SelectValue,{placeholder:"None"})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"None",children:"None"}),(0,t.jsx)(d.SelectItem,{value:"Low",children:"Low"}),(0,t.jsx)(d.SelectItem,{value:"Medium",children:"Medium"}),(0,t.jsx)(d.SelectItem,{value:"High",children:"High"}),(0,t.jsx)(d.SelectItem,{value:"Urgent",children:"Urgent"})]})]})]})]}),k?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-work-item-error",children:k}):null]}),(0,t.jsxs)(s.DialogFooter,{children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>o(!1),disabled:S,children:"Cancel"}),(0,t.jsx)(i.Button,{onClick:I,disabled:!h.trim()||S,"data-testid":"create-work-item-submit",children:S?"Creating...":"Create"})]})]})})}e.s(["CreateWorkItemDialog",()=>m],405682)},149809,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(711434),i=e.i(938518),l=e.i(131777),r=e.i(735364),n=e.i(81846),d=e.i(903645);let o=(0,d.default)("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);var c=e.i(860253),m=e.i(3214),u=e.i(83428),x=e.i(317406),p=e.i(508893);let h=(0,p.createServerReference)("4088a8718685df8c8aeb43ca982e7e14e2646142a0",p.callServer,void 0,p.findSourceMapURL,"listWorkItemRelations"),g=(0,p.createServerReference)("4094a853f997f326d9885c234d5939659a2dc3a670",p.callServer,void 0,p.findSourceMapURL,"deleteWorkItemRelation");var f=e.i(602287),j=e.i(698127),v=e.i(141957),y=e.i(547373);let N=(0,p.createServerReference)("40b96216b53fd9adba7aae1375360754cfc868c153",p.callServer,void 0,p.findSourceMapURL,"createWorkItemRelation"),b=[{value:x.RelationType.Blocking,label:"Blocking"},{value:x.RelationType.RelatesTo,label:"Relates to"},{value:x.RelationType.Duplicate,label:"Duplicate"},{value:x.RelationType.StartsBefore,label:"Starts before"},{value:x.RelationType.FinishesBefore,label:"Finishes before"}];function k({open:e,onOpenChange:s,sourceWorkItemId:i,onCreated:l}){let[n,d]=(0,a.useState)(x.RelationType.RelatesTo),[o,c]=(0,a.useState)(""),[m,u]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),g=async()=>{if(u(null),!o.trim())return void u("Target work item ID is required");h(!0);try{let e=await N({sourceWorkItemId:i,targetWorkItemId:o.trim(),relationType:n});e.error?u(e.error):e.relation&&(l(e.relation),c(""),d(x.RelationType.RelatesTo))}finally{h(!1)}};return(0,t.jsx)(f.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(f.DialogContent,{"data-testid":"add-relation-dialog",children:[(0,t.jsx)(f.DialogHeader,{children:(0,t.jsx)(f.DialogTitle,{children:"Add Relation"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"relation-type",children:"Relation Type"}),(0,t.jsxs)(y.Select,{value:n,onValueChange:d,children:[(0,t.jsx)(y.SelectTrigger,{"data-testid":"relation-type-select",children:(0,t.jsx)(y.SelectValue,{placeholder:"Select type"})}),(0,t.jsx)(y.SelectContent,{children:b.map(e=>(0,t.jsx)(y.SelectItem,{value:e.value,children:e.label},e.value))})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(v.Label,{htmlFor:"target-work-item",children:"Target Work Item ID"}),(0,t.jsx)(j.Input,{id:"target-work-item",value:o,onChange:e=>c(e.target.value),placeholder:"Enter work item ID or identifier","data-testid":"target-work-item-input"})]}),m?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"add-relation-error",children:m}):null]}),(0,t.jsxs)(f.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:()=>s(!1),disabled:p,children:"Cancel"}),(0,t.jsx)(r.Button,{onClick:g,disabled:!o.trim()||p,"data-testid":"add-relation-submit",children:p?"Adding...":"Add Relation"})]})]})})}let w={[x.RelationType.Blocking]:"Blocking",[x.RelationType.RelatesTo]:"Relates to",[x.RelationType.Duplicate]:"Duplicate of",[x.RelationType.StartsBefore]:"Starts before",[x.RelationType.FinishesBefore]:"Finishes before"};function S({workItemId:e,workItemsMap:s,projectPrefix:i,initialRelations:d,className:x}){let[p,f]=(0,a.useState)(d??[]),[j,v]=(0,a.useState)(!d),[y,N]=(0,a.useState)(null),[b,S]=(0,a.useState)(!1),[D,I]=(0,a.useState)(null),C=(0,a.useCallback)(async()=>{v(!0),N(null);let t=await h(e);t.error?N(t.error):t.relations&&f(t.relations),v(!1)},[e]);(0,a.useEffect)(()=>{d||C()},[C,d]);let T=async e=>{I(e);let t=await g(e);t.error?N(t.error):f(t=>t.filter(t=>t.id!==e)),I(null)},R=function(e){let t=new Map;for(let a of e){let e=t.get(a.relationType)??[];e.push(a),t.set(a.relationType,e)}return Array.from(t.entries()).map(([e,t])=>({type:e,items:t}))}(p);return(0,t.jsxs)("div",{"data-testid":"work-item-relations-panel",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(o,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Relations"}),p.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:p.length})]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>S(!0),"data-testid":"add-relation-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),j?(0,t.jsx)("div",{className:"flex items-center justify-center py-4","data-testid":"relations-loading",children:(0,t.jsx)(u.Loader2,{className:"text-muted-foreground h-4 w-4 animate-spin"})}):null,y?(0,t.jsx)("p",{className:"text-destructive text-[10px]","data-testid":"relations-error",children:y}):null,!j&&0===p.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"relations-empty",children:"No relations yet."}),!j&&R.length>0&&(0,t.jsx)("div",{className:"space-y-2","data-testid":"relations-list",children:R.map(({type:a,items:l})=>(0,t.jsxs)("div",{"data-testid":`relation-group-${a}`,children:[(0,t.jsx)("span",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:w[a]??a}),(0,t.jsx)("div",{className:"space-y-1",children:l.map(a=>{let l,d,o,m;return(0,t.jsxs)("div",{"data-testid":`relation-item-${a.id}`,className:"hover:bg-accent/50 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[(0,t.jsx)(n.Badge,{variant:"outline",className:"shrink-0 font-mono text-[10px]",children:(l=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,(d=s.get(l))?`${i}-${d.sequenceId}`:l.substring(0,8))}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[11px]",children:(o=a.sourceWorkItemId===e?a.targetWorkItemId:a.sourceWorkItemId,m=s.get(o),m?.title??"Unknown item")}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 shrink-0 p-0",onClick:()=>T(a.id),disabled:D===a.id,"data-testid":`delete-relation-${a.id}`,children:D===a.id?(0,t.jsx)(u.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(c.X,{className:"h-3 w-3"})})]},a.id)})})]},a))}),(0,t.jsx)(k,{open:b,onOpenChange:S,sourceWorkItemId:e,onCreated:e=>{f(t=>[...t,e]),S(!1)}})]})}var D=e.i(976874),I=e.i(958481),C=e.i(405682);let T={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function R({workItem:e,allWorkItems:s,states:i,projectPrefix:d,projectId:o,currentDepth:c=0,onSubItemClick:u,className:x}){let[p,h]=(0,a.useState)(!1),[g,f]=(0,a.useState)([]),j=new Map(i.map(e=>[e.id,e])),v=[...s.filter(t=>t.parentId===e.id),...g.filter(e=>!s.some(t=>t.id===e.id))],y=c>=2;return(0,t.jsxs)("div",{"data-testid":"sub-items-section",className:(0,l.cn)("space-y-3",x),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(D.Layers,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Sub-items"}),v.length>0&&(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:v.length})]}),!y&&(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 px-1.5 text-[10px]",onClick:()=>h(!0),"data-testid":"add-sub-item-btn",children:[(0,t.jsx)(m.Plus,{className:"mr-0.5 h-3 w-3"}),"Add"]})]}),y?(0,t.jsxs)("div",{className:"flex items-center gap-1.5 rounded bg-yellow-500/10 px-2 py-1.5","data-testid":"max-depth-warning",children:[(0,t.jsx)(I.AlertTriangle,{className:"h-3 w-3 shrink-0 text-yellow-500"}),(0,t.jsxs)("span",{className:"text-[10px] text-yellow-600 dark:text-yellow-400",children:["Maximum nesting depth reached (",3," levels). Cannot add sub-items here."]})]}):null,0===v.length&&!y&&(0,t.jsx)("p",{className:"text-muted-foreground py-2 text-center text-[10px]","data-testid":"sub-items-empty",children:"No sub-items yet."}),v.length>0&&(0,t.jsx)("div",{className:"divide-y rounded-lg border","data-testid":"sub-items-list",children:v.map(e=>{let a=j.get(e.stateId),s=`${d}-${e.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":`sub-item-${s}`,className:"hover:bg-accent/50 flex cursor-pointer items-center gap-3 px-3 py-2 transition-colors",onClick:()=>u?.(e),role:"button",tabIndex:0,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&u?.(e)},children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0 font-mono text-[10px]",children:s}),a?(0,t.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:a.color},title:a.name}):null,(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs",children:e.title}),e.priority&&"None"!==e.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:`shrink-0 text-[10px] ${T[e.priority]??""}`,children:e.priority}):null]},e.id)})}),!y&&(0,t.jsx)(C.CreateWorkItemDialog,{open:p,onOpenChange:h,projectId:o,states:i,onCreated:e=>{f(t=>[...t,e]),h(!1)},parentId:e.id})]})}var M=e.i(935946),B=e.i(267669),L=e.i(681181);let A=(0,d.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var z=e.i(57484);let $=(0,p.createServerReference)("4031b87a8ea4322c41446b61bc7ead06b5ab645b24",p.callServer,void 0,p.findSourceMapURL,"deleteAttachment");function W({workItemId:e,attachments:s,className:i}){let[n,d]=(0,a.useState)(s),[o,c]=(0,a.useState)(!1),m=(0,a.useRef)(null),u=(0,a.useCallback)(async t=>{if(t&&0!==t.length){c(!0);try{for(let a of Array.from(t)){let t=new FormData;t.append("file",a),t.append("workItemId",e);let s=await fetch("/api/pm-attachments/upload",{method:"POST",body:t});if(s.ok){let t=await s.json(),a={id:t.id,workItemId:e,filename:t.filename,mimeType:t.mimeType,fileSize:t.fileSize,storagePath:"",createdAt:new Date(t.createdAt),updatedAt:new Date(t.createdAt),deletedAt:void 0};d(e=>[...e,a])}}}finally{c(!1),m.current&&(m.current.value="")}}},[e]),x=(0,a.useCallback)(async e=>{(await $(e)).error||d(t=>t.filter(t=>t.id!==e))},[]),p=(0,a.useCallback)(e=>{window.open(`/api/pm-attachments/download?id=${e}`,"_blank")},[]);return(0,t.jsxs)("div",{"data-testid":"attachment-list",className:(0,l.cn)("space-y-3",i),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(M.Paperclip,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsxs)("span",{className:"text-xs font-medium",children:["Attachments ",n.length>0?`(${String(n.length)})`:""]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("input",{ref:m,type:"file",multiple:!0,className:"hidden",onChange:e=>u(e.target.files),"data-testid":"file-input"}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>m.current?.click(),disabled:o,"data-testid":"upload-btn",children:[(0,t.jsx)(A,{className:"h-3 w-3"}),o?"Uploading...":"Upload"]})]})]}),0===n.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No attachments"}):(0,t.jsx)("div",{className:"space-y-1",children:n.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`attachment-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(z.FileIcon,{className:"text-muted-foreground h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate",children:e.filename}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:(a=e.fileSize)<1024?`${String(a)} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}),(0,t.jsxs)("div",{className:"hidden gap-0.5 group-hover:flex",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-5 w-5 p-0",onClick:()=>p(e.id),title:"Download",children:(0,t.jsx)(L.Download,{className:"h-3 w-3"})}),(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>x(e.id),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})]})]},e.id)})})]})}var F=e.i(655016);let P=(0,p.createServerReference)("70b56924867a473a89a65e5e481e003bac43948e37",p.callServer,void 0,p.findSourceMapURL,"logTimeEntry"),U=(0,p.createServerReference)("40b0e7c9ec7012a42f73a6c93d1d7e4435586907d5",p.callServer,void 0,p.findSourceMapURL,"deleteTimeEntry");function H(e){if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),a=e%60;return a>0?`${String(t)}h ${String(a)}m`:`${String(t)}h`}function V({workItemId:e,timeEntries:s,totalMinutes:i,className:n}){let[d,o]=(0,a.useState)(s),[c,u]=(0,a.useState)(i),[x,p]=(0,a.useState)(!1),[h,g]=(0,a.useState)(""),[f,v]=(0,a.useState)(""),[y,N]=(0,a.useState)(""),[b,k]=(0,a.useState)(!1),w=(0,a.useCallback)(async t=>{t.preventDefault();let a=60*(parseInt(h,10)||0)+(parseInt(f,10)||0);if(!(a<=0)){k(!0);try{let t=await P(e,a,y||void 0);t.timeEntry&&(o(e=>[t.timeEntry,...e]),u(e=>e+a),g(""),v(""),N(""),p(!1))}finally{k(!1)}}},[e,h,f,y]),S=(0,a.useCallback)(async(e,t)=>{(await U(e)).error||(o(t=>t.filter(t=>t.id!==e)),u(e=>e-t))},[]);return(0,t.jsxs)("div",{"data-testid":"time-entry-list",className:(0,l.cn)("space-y-3",n),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"text-xs font-medium",children:"Time Logged"}),c>0?(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:["(",H(c)," total)"]}):null]}),(0,t.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:()=>p(!x),"data-testid":"log-time-btn",children:[(0,t.jsx)(m.Plus,{className:"h-3 w-3"}),"Log Time"]})]}),x?(0,t.jsxs)("form",{onSubmit:w,className:"bg-muted/50 space-y-2 rounded-md border p-2","data-testid":"log-time-form",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",placeholder:"0",value:h,onChange:e=>g(e.target.value),className:"h-7 w-14 text-xs","data-testid":"hours-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"h"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(j.Input,{type:"number",min:"0",max:"59",placeholder:"0",value:f,onChange:e=>v(e.target.value),className:"h-7 w-14 text-xs","data-testid":"minutes-input"}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:"m"})]})]}),(0,t.jsx)(j.Input,{placeholder:"Note (optional)",value:y,onChange:e=>N(e.target.value),className:"h-7 text-xs","data-testid":"note-input"}),(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,t.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs",onClick:()=>p(!1),children:"Cancel"}),(0,t.jsx)(r.Button,{type:"submit",size:"sm",className:"h-6 text-xs",disabled:b,"data-testid":"save-time-btn",children:b?"Saving...":"Save"})]})]}):null,0===d.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No time logged"}):(0,t.jsx)("div",{className:"space-y-1",children:d.map(e=>{var a;return(0,t.jsxs)("div",{"data-testid":`time-entry-${e.id}`,className:"group hover:bg-accent/50 flex items-center gap-2 rounded-sm px-2 py-1 text-xs",children:[(0,t.jsx)(F.Clock,{className:"text-muted-foreground h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"font-medium",children:H(e.durationMinutes)}),e.note?(0,t.jsx)("span",{className:"text-muted-foreground flex-1 truncate",children:e.note}):(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:("string"==typeof(a=e.loggedAt)?new Date(a):a).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}),(0,t.jsx)("div",{className:"hidden group-hover:flex",children:(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"text-destructive h-5 w-5 p-0",onClick:()=>S(e.id,e.durationMinutes),title:"Delete",children:(0,t.jsx)(B.Trash2,{className:"h-3 w-3"})})})]},e.id)})})]})}let E={Urgent:"bg-red-500/10 text-red-500",High:"bg-orange-500/10 text-orange-500",Medium:"bg-yellow-500/10 text-yellow-500",Low:"bg-blue-500/10 text-blue-500",None:"bg-muted text-muted-foreground"};function q({project:e,workItem:d,allWorkItems:o,states:c,relations:m,attachments:u,timeEntries:x,totalMinutes:p,className:h}){let g=(0,s.useRouter)(),f=new Map(c.map(e=>[e.id,e])),j=(0,a.useMemo)(()=>new Map(o.map(e=>[e.id,e])),[o]),v=f.get(d.stateId),y=`${e.identifierPrefix}-${d.sequenceId}`;return(0,t.jsxs)("div",{"data-testid":"work-item-detail",className:(0,l.cn)("space-y-6",h),children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>g.push(`/projects/${e.slug}`),"data-testid":"back-to-project",children:(0,t.jsx)(i.ArrowLeft,{className:"h-4 w-4"})}),(0,t.jsx)("span",{className:"text-muted-foreground font-mono text-xs",children:y}),v?(0,t.jsxs)(n.Badge,{variant:"outline",className:"text-[10px]",children:[(0,t.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full",style:{backgroundColor:v.color}}),v.name]}):null,d.priority&&"None"!==d.priority?(0,t.jsx)(n.Badge,{variant:"secondary",className:(0,l.cn)("text-[10px]",E[d.priority]),children:d.priority}):null]}),(0,t.jsx)("h1",{className:"text-lg font-bold tracking-tight",children:d.title}),d.description?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:d.description}):null]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Start Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.startDate?new Date(d.startDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Due Date"}),(0,t.jsx)("p",{className:"text-xs",children:d.dueDate?new Date(d.dueDate).toLocaleDateString():"—"})]}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"text-muted-foreground text-[10px] font-medium uppercase",children:"Estimate"}),(0,t.jsx)("p",{className:"text-xs",children:d.estimateValue??"—"})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(R,{workItem:d,allWorkItems:o,states:c,projectPrefix:e.identifierPrefix,projectId:e.id,onSubItemClick:t=>{g.push(`/projects/${e.slug}/items/${t.id}`)}}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(S,{workItemId:d.id,workItemsMap:j,projectPrefix:e.identifierPrefix,initialRelations:m}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(W,{workItemId:d.id,attachments:u}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)(V,{workItemId:d.id,timeEntries:x,totalMinutes:p})]})}e.s(["WorkItemDetailClient",()=>q],149809)}]);