@shepai/cli 1.202.1-pr606.60460ac → 1.202.2

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 (372) 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 +4 -4
  9. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +37 -37
  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 +4 -4
  13. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +35 -35
  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 +4 -4
  17. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +38 -38
  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 +4 -4
  21. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  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 +4 -4
  25. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +47 -47
  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 +4 -4
  29. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  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 +4 -4
  33. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  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 +4 -4
  37. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +35 -35
  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 +4 -4
  41. package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +35 -35
  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 +4 -4
  45. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +38 -38
  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 +4 -4
  49. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +47 -47
  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 +4 -4
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +47 -47
  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 +4 -4
  57. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +36 -36
  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 +4 -4
  61. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +36 -36
  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 +4 -4
  72. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +9 -9
  73. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/agent-questions/page/react-loadable-manifest.json +4 -4
  75. package/web/.next/server/app/agent-questions/page/server-reference-manifest.json +11 -11
  76. package/web/.next/server/app/agent-questions/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/agents/[agentType]/page/react-loadable-manifest.json +4 -4
  78. package/web/.next/server/app/agents/[agentType]/page/server-reference-manifest.json +13 -13
  79. package/web/.next/server/app/agents/[agentType]/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/app/agents/page/react-loadable-manifest.json +4 -4
  81. package/web/.next/server/app/agents/page/server-reference-manifest.json +10 -10
  82. package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  83. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +4 -4
  84. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +18 -18
  85. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  86. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  87. package/web/.next/server/app/application/[id]/supervisor/page/react-loadable-manifest.json +4 -4
  88. package/web/.next/server/app/application/[id]/supervisor/page/server-reference-manifest.json +10 -10
  89. package/web/.next/server/app/application/[id]/supervisor/page_client-reference-manifest.js +1 -1
  90. package/web/.next/server/app/applications/page/react-loadable-manifest.json +4 -4
  91. package/web/.next/server/app/applications/page/server-reference-manifest.json +20 -20
  92. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  93. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/features/page/react-loadable-manifest.json +4 -4
  95. package/web/.next/server/app/features/page/server-reference-manifest.json +31 -31
  96. package/web/.next/server/app/features/page.js.nft.json +1 -1
  97. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/onboarding/page/react-loadable-manifest.json +4 -4
  99. package/web/.next/server/app/onboarding/page/server-reference-manifest.json +9 -9
  100. package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/page/react-loadable-manifest.json +4 -4
  102. package/web/.next/server/app/page/server-reference-manifest.json +9 -9
  103. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +4 -4
  105. package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +16 -16
  106. package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
  107. package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +4 -4
  108. package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +28 -28
  109. package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +4 -4
  111. package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +12 -12
  112. package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
  113. package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +4 -4
  114. package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +18 -18
  115. package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/projects/page/react-loadable-manifest.json +4 -4
  117. package/web/.next/server/app/projects/page/server-reference-manifest.json +10 -10
  118. package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/settings/page/react-loadable-manifest.json +4 -4
  120. package/web/.next/server/app/settings/page/server-reference-manifest.json +15 -15
  121. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/skills/page/react-loadable-manifest.json +4 -4
  123. package/web/.next/server/app/skills/page/server-reference-manifest.json +17 -17
  124. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/supervisor/feature/[featureId]/page/react-loadable-manifest.json +4 -4
  126. package/web/.next/server/app/supervisor/feature/[featureId]/page/server-reference-manifest.json +10 -10
  127. package/web/.next/server/app/supervisor/feature/[featureId]/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/supervisor/page/react-loadable-manifest.json +4 -4
  129. package/web/.next/server/app/supervisor/page/server-reference-manifest.json +10 -10
  130. package/web/.next/server/app/supervisor/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/react-loadable-manifest.json +4 -4
  132. package/web/.next/server/app/supervisor/repo/[repositoryId]/page/server-reference-manifest.json +10 -10
  133. package/web/.next/server/app/supervisor/repo/[repositoryId]/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/tools/page/react-loadable-manifest.json +4 -4
  135. package/web/.next/server/app/tools/page/server-reference-manifest.json +15 -15
  136. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/version/page/react-loadable-manifest.json +4 -4
  138. package/web/.next/server/app/version/page/server-reference-manifest.json +9 -9
  139. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  141. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js +1 -1
  142. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agent-questions_page_actions_4b694f8d.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js +1 -1
  144. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_agents_[agentType]_page_actions_103679a6.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js +1 -1
  146. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_projects_[slug]_pages_page_actions_19d50f6c.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
  148. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
  150. package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  152. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  154. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js +3 -3
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__0af8610a._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b652a2f._.js +1 -1
  158. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js → [root-of-the-server]__2e388ba3._.js} +2 -2
  159. package/web/.next/server/chunks/ssr/{[root-of-the-server]__8b73253b._.js.map → [root-of-the-server]__2e388ba3._.js.map} +1 -1
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js +1 -1
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__56cf47e7._.js.map +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__648730d4._.js +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js +1 -1
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__68df6415._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bc6bf96._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js +2 -2
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__9852cb08._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js +1 -1
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__a1167cec._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__a12d0ad7._.js +3 -0
  172. package/web/.next/server/chunks/ssr/{[root-of-the-server]__52ca7f88._.js.map → [root-of-the-server]__a12d0ad7._.js.map} +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js +1 -1
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba699bec._.js.map +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0741ee1._.js +1 -1
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js +1 -1
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0fa59e6._.js.map +1 -1
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__ea26ff90._.js +3 -3
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__ff0095e3._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_07036593._.js +1 -1
  181. package/web/.next/server/chunks/ssr/_07036593._.js.map +1 -1
  182. package/web/.next/server/chunks/ssr/_0d2a7595._.js +1 -1
  183. package/web/.next/server/chunks/ssr/_0d2a7595._.js.map +1 -1
  184. package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
  185. package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/{_db111d21._.js → _10f54ace._.js} +2 -2
  187. package/web/.next/server/chunks/ssr/{_db111d21._.js.map → _10f54ace._.js.map} +1 -1
  188. package/web/.next/server/chunks/ssr/_24fca3cf._.js +1 -1
  189. package/web/.next/server/chunks/ssr/_24fca3cf._.js.map +1 -1
  190. package/web/.next/server/chunks/ssr/{_6ff832ad._.js → _2759af76._.js} +2 -2
  191. package/web/.next/server/chunks/ssr/{_6ff832ad._.js.map → _2759af76._.js.map} +1 -1
  192. package/web/.next/server/chunks/ssr/_2bc48f3d._.js +1 -1
  193. package/web/.next/server/chunks/ssr/_2bc48f3d._.js.map +1 -1
  194. package/web/.next/server/chunks/ssr/{_fb539286._.js → _2bef1982._.js} +2 -2
  195. package/web/.next/server/chunks/ssr/{_fb539286._.js.map → _2bef1982._.js.map} +1 -1
  196. package/web/.next/server/chunks/ssr/_32f66845._.js +1 -1
  197. package/web/.next/server/chunks/ssr/_408848e6._.js +1 -1
  198. package/web/.next/server/chunks/ssr/_408848e6._.js.map +1 -1
  199. package/web/.next/server/chunks/ssr/_40e02782._.js +1 -1
  200. package/web/.next/server/chunks/ssr/_40e02782._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/_486d45d6._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_486d45d6._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/{_824d5772._.js → _498cba11._.js} +2 -2
  204. package/web/.next/server/chunks/ssr/{_824d5772._.js.map → _498cba11._.js.map} +1 -1
  205. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  206. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_5cbb0e22._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_5cbb0e22._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/{_5a3edc88._.js → _673be4f1._.js} +2 -2
  210. package/web/.next/server/chunks/ssr/{_5a3edc88._.js.map → _673be4f1._.js.map} +1 -1
  211. package/web/.next/server/chunks/ssr/_7ba67729._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_7ba67729._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/_87cf18c3._.js +1 -1
  216. package/web/.next/server/chunks/ssr/_87cf18c3._.js.map +1 -1
  217. package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
  218. package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/_95b97274._.js +1 -1
  220. package/web/.next/server/chunks/ssr/_95b97274._.js.map +1 -1
  221. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js → _9d18d1b1._.js} +2 -2
  222. package/web/.next/server/chunks/ssr/{_fbcfaf3a._.js.map → _9d18d1b1._.js.map} +1 -1
  223. package/web/.next/server/chunks/ssr/{_70ff64a1._.js → _a93687e6._.js} +2 -2
  224. package/web/.next/server/chunks/ssr/{_70ff64a1._.js.map → _a93687e6._.js.map} +1 -1
  225. package/web/.next/server/chunks/ssr/_c2e196ee._.js +1 -1
  226. package/web/.next/server/chunks/ssr/_c2e196ee._.js.map +1 -1
  227. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js +1 -1
  228. package/web/.next/server/chunks/ssr/_ca3b7bf7._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
  230. package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
  231. package/web/.next/server/chunks/ssr/_d573dcc2._.js +1 -1
  232. package/web/.next/server/chunks/ssr/_e2671e14._.js +1 -1
  233. package/web/.next/server/chunks/ssr/_e2671e14._.js.map +1 -1
  234. package/web/.next/server/chunks/ssr/_ecd45b17._.js +1 -1
  235. package/web/.next/server/chunks/ssr/_ecd45b17._.js.map +1 -1
  236. package/web/.next/server/chunks/ssr/{_f0d45e47._.js → _f46d2018._.js} +2 -2
  237. package/web/.next/server/chunks/ssr/{_f0d45e47._.js.map → _f46d2018._.js.map} +1 -1
  238. package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
  239. package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
  240. package/web/.next/server/chunks/ssr/{_20a56008._.js → _f71954a5._.js} +2 -2
  241. package/web/.next/server/chunks/ssr/{_20a56008._.js.map → _f71954a5._.js.map} +1 -1
  242. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  243. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  244. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  245. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js +1 -1
  246. package/web/.next/server/chunks/ssr/src_presentation_web_0e291f0b._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js → src_presentation_web_16c83ab4._.js} +2 -2
  248. package/web/.next/server/chunks/ssr/{src_presentation_web_40673f0c._.js.map → src_presentation_web_16c83ab4._.js.map} +1 -1
  249. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js +1 -1
  250. package/web/.next/server/chunks/ssr/src_presentation_web_1d8d177f._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js +1 -1
  252. package/web/.next/server/chunks/ssr/src_presentation_web_450b58fc._.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js +1 -1
  254. package/web/.next/server/chunks/ssr/src_presentation_web_47727150._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js +1 -1
  256. package/web/.next/server/chunks/ssr/src_presentation_web_64fcfc84._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js +1 -1
  258. package/web/.next/server/chunks/ssr/src_presentation_web_74b7bdb2._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js +1 -1
  260. package/web/.next/server/chunks/ssr/src_presentation_web_82aeca34._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js +1 -1
  262. package/web/.next/server/chunks/ssr/src_presentation_web_8a564d47._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  264. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js +1 -1
  266. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app__not-found_page_actions_f4f3fad9.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js +1 -1
  268. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_agents_page_actions_d4bd4711.js.map +1 -1
  269. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js +1 -1
  270. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_onboarding_page_actions_bb695e8d.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js +1 -1
  272. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_page_actions_ac47e420.js.map +1 -1
  273. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js +1 -1
  274. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_projects_page_actions_c91a23a8.js.map +1 -1
  275. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js +1 -1
  276. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_version_page_actions_63c2d912.js.map +1 -1
  277. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js +1 -1
  278. package/web/.next/server/chunks/ssr/src_presentation_web_a53a3da6._.js.map +1 -1
  279. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_246617fe._.js +3 -3
  280. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
  281. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
  282. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
  283. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
  284. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
  285. package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
  286. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js +1 -1
  287. package/web/.next/server/chunks/ssr/src_presentation_web_b1b3c26c._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js +1 -1
  289. package/web/.next/server/chunks/ssr/src_presentation_web_b98a4353._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js +1 -1
  291. package/web/.next/server/chunks/ssr/src_presentation_web_c96ca051._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js → src_presentation_web_cb0d2c28._.js} +2 -2
  293. package/web/.next/server/chunks/ssr/{src_presentation_web_e812a69b._.js.map → src_presentation_web_cb0d2c28._.js.map} +1 -1
  294. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
  295. package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js +1 -1
  297. package/web/.next/server/chunks/ssr/src_presentation_web_components_agent-editor_agent-editor-tabs_tsx_d5a954b4._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  299. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js +1 -1
  301. package/web/.next/server/chunks/ssr/src_presentation_web_d3858f16._.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js +1 -1
  303. package/web/.next/server/chunks/ssr/src_presentation_web_d7f8130c._.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js +1 -1
  305. package/web/.next/server/chunks/ssr/src_presentation_web_dddd8ccd._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js +1 -1
  307. package/web/.next/server/chunks/ssr/src_presentation_web_e13d58b0._.js.map +1 -1
  308. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js +1 -1
  309. package/web/.next/server/chunks/ssr/src_presentation_web_ee94a9aa._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js +1 -1
  311. package/web/.next/server/chunks/ssr/src_presentation_web_f0fcfdff._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js +1 -1
  313. package/web/.next/server/chunks/ssr/src_presentation_web_f17e8516._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js +1 -1
  315. package/web/.next/server/chunks/ssr/src_presentation_web_f7180fec._.js.map +1 -1
  316. package/web/.next/server/pages/500.html +2 -2
  317. package/web/.next/server/server-reference-manifest.js +1 -1
  318. package/web/.next/server/server-reference-manifest.json +111 -111
  319. package/web/.next/static/chunks/{5faa828877b1e669.js → 03dda23205877d8b.js} +1 -1
  320. package/web/.next/static/chunks/{4bf4f333302e24a4.js → 054e3a5f5ff4db71.js} +1 -1
  321. package/web/.next/static/chunks/{a868014dbe1b4e42.js → 06e58041911c290b.js} +1 -1
  322. package/web/.next/static/chunks/{b5ff852fee23795d.js → 089ef5b749d79ebd.js} +1 -1
  323. package/web/.next/static/chunks/{1a093b13a9d6952e.js → 0d106010c498c198.js} +2 -2
  324. package/web/.next/static/chunks/193e5a0540757f5e.js +1 -0
  325. package/web/.next/static/chunks/{9abc3e68af98e636.js → 25111a2f2597f500.js} +1 -1
  326. package/web/.next/static/chunks/285e724d07901ef6.js +1 -0
  327. package/web/.next/static/chunks/{3c396f63ebefe875.js → 2b2bfc0465b18a7d.js} +1 -1
  328. package/web/.next/static/chunks/{6af99a08ccacdbce.js → 2b436562e69d2827.js} +1 -1
  329. package/web/.next/static/chunks/{8c96a835b3b0dc44.js → 2e3844d0ac487ac7.js} +1 -1
  330. package/web/.next/static/chunks/325859b8a9482427.js +1 -0
  331. package/web/.next/static/chunks/{2773e7b2587bc9cc.js → 44ab458ceb89d85d.js} +1 -1
  332. package/web/.next/static/chunks/4fdf36904f5421a6.js +1 -0
  333. package/web/.next/static/chunks/59004c65d552581c.js +1 -0
  334. package/web/.next/static/chunks/{0edcdc8a2dd06b7a.js → 5c4837e88a3431b8.js} +1 -1
  335. package/web/.next/static/chunks/{a131f868af7f1f7c.js → 74cdd562eb663f72.js} +1 -1
  336. package/web/.next/static/chunks/{0315591c972888a6.js → 7670d76d4ee743e6.js} +1 -1
  337. package/web/.next/static/chunks/{02d88da9fd656fcd.js → 83fc784ce05a701e.js} +1 -1
  338. package/web/.next/static/chunks/{460cedaa85c821e7.js → 8dd4fdd20b103a66.js} +1 -1
  339. package/web/.next/static/chunks/9336bdc7fc319282.js +1 -0
  340. package/web/.next/static/chunks/9d285565922b2de7.js +1 -0
  341. package/web/.next/static/chunks/{45eeca36eabbed23.js → 9f7f2a11937d87eb.js} +1 -1
  342. package/web/.next/static/chunks/{c3931fdbae836be6.js → a7c7bcfb6f7696a3.js} +1 -1
  343. package/web/.next/static/chunks/{9f7985e2a73929a2.js → a8f57d2a12849f32.js} +1 -1
  344. package/web/.next/static/chunks/{0e1c933065a1100a.js → abe98954ccdf29db.js} +1 -1
  345. package/web/.next/static/chunks/{4378715fa2b5e7de.js → b05808da85e8b34c.js} +1 -1
  346. package/web/.next/static/chunks/{b5dc7979d66caa38.js → b5f83e5e1dad23d5.js} +1 -1
  347. package/web/.next/static/chunks/{6d2074fa3453d333.js → b8293a56f257e5a2.js} +1 -1
  348. package/web/.next/static/chunks/{bc5b87e4068ba11d.js → c61c5e97c76dc733.js} +1 -1
  349. package/web/.next/static/chunks/c6b411bf31744ca7.js +1 -0
  350. package/web/.next/static/chunks/{bdaa907bf3d1d932.js → c732d6cc4c5e4343.js} +1 -1
  351. package/web/.next/static/chunks/{25a200f055ae5cba.js → d214d6a670f48d79.js} +1 -1
  352. package/web/.next/static/chunks/{6901861cb53ab483.js → d7b17a93a26e97c8.js} +1 -1
  353. package/web/.next/static/chunks/{a0325f77bbccc63d.js → d8f14fac959a6bd0.js} +1 -1
  354. package/web/.next/static/chunks/{24ea54516dc249c0.js → d98912f5b6cf4938.js} +1 -1
  355. package/web/.next/static/chunks/{21500b3fe3754296.js → df79667c16344317.js} +1 -1
  356. package/web/.next/static/chunks/{05e8df10619fb980.js → ec8f19328ad1ecd4.js} +1 -1
  357. package/web/.next/static/chunks/{e6e6ba783b2e4d14.js → f0157331838ac962.js} +1 -1
  358. package/web/.next/static/chunks/{c687ed21b9518d73.js → f757d865fae71faf.js} +1 -1
  359. package/web/.next/static/chunks/fb3cbb7f575a7128.js +1 -0
  360. package/web/.next/server/chunks/ssr/[root-of-the-server]__52ca7f88._.js +0 -3
  361. package/web/.next/static/chunks/03d7b81c2554d52f.js +0 -1
  362. package/web/.next/static/chunks/15acdaaea57bb459.js +0 -1
  363. package/web/.next/static/chunks/39fe1c1397d5483b.js +0 -1
  364. package/web/.next/static/chunks/495883829026f13f.js +0 -1
  365. package/web/.next/static/chunks/4b3a4f416a6eb1ac.js +0 -1
  366. package/web/.next/static/chunks/4b4160f36cf2a3d6.js +0 -1
  367. package/web/.next/static/chunks/7269537b2188650d.js +0 -1
  368. package/web/.next/static/chunks/b1534b2f3d814fef.js +0 -1
  369. package/web/.next/static/chunks/f6dc1ba364203bb2.js +0 -1
  370. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_buildManifest.js +0 -0
  371. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_clientMiddlewareManifest.json +0 -0
  372. /package/web/.next/static/{My4IQDygZ4BFTXkkKanja → 9zd-B2rWybTaAgE74IKiK}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,602287,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(90033),r=e.i(860253),i=e.i(131777);let o=s.Dialog.Root,n=s.Dialog.Trigger,l=s.Dialog.Portal,d=s.Dialog.Close,c=a.forwardRef(({className:e,onClick:a,...r},o)=>(0,t.jsx)(s.Dialog.Overlay,{ref:o,className:(0,i.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)},...r}));c.displayName=s.Dialog.Overlay.displayName;let p=a.forwardRef(({className:e,children:a,...o},n)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,i.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),...o,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)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));p.displayName=s.Dialog.Content.displayName;let u=({className:e,...a})=>(0,t.jsx)("div",{className:(0,i.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,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});x.displayName="DialogFooter";let g=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Dialog.Title,{ref:r,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));g.displayName=s.Dialog.Title.displayName;let m=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Dialog.Description,{ref:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...a}));m.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>o,"DialogClose",()=>d,"DialogContent",()=>p,"DialogDescription",()=>m,"DialogFooter",()=>x,"DialogHeader",()=>u,"DialogTitle",()=>g,"DialogTrigger",()=>n])},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])},141957,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(287620),r=a.forwardRef((e,a)=>(0,t.jsx)(s.Primitive.label,{...e,ref:a,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));r.displayName="Label",e.s(["Label",()=>r,"Root",()=>r],127572);var i=e.i(127572),i=i,o=e.i(294237),n=e.i(131777);let l=(0,o.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=a.forwardRef(({className:e,...a},s)=>(0,t.jsx)(i.Root,{ref:s,className:(0,n.cn)(l(),e),...a}));d.displayName=i.Root.displayName,e.s(["Label",()=>d],141957)},81846,e=>{"use strict";var t=e.i(679606),a=e.i(294237),s=e.i(131777);let r=(0,a.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:a,...i}){return(0,t.jsx)("div",{className:(0,s.cn)(r({variant:a}),e),...i})}e.s(["Badge",()=>i])},419705,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(711434),r=e.i(595400),i=e.i(3214),o=e.i(131777),n=e.i(735364),l=e.i(81846),d=e.i(602287),c=e.i(698127),p=e.i(141957),u=e.i(48306),x=e.i(508893);let g=(0,x.createServerReference)("4032b697cdcc222a38f11932c2ab5825d5043a9a52",x.callServer,void 0,x.findSourceMapURL,"createPmProject");function m({open:e,onOpenChange:s,onCreated:r}){let[i,o]=(0,a.useState)(""),[l,x]=(0,a.useState)(""),[m,f]=(0,a.useState)(""),[j,h]=(0,a.useState)(null),[b,v]=(0,a.useState)(!1),y=async()=>{h(null),v(!0);try{let e=await g({name:i,identifierPrefix:l,description:m||void 0});e.error?h(e.error):e.project&&(r(e.project),o(""),x(""),f(""))}finally{v(!1)}};return(0,t.jsx)(d.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(d.DialogContent,{"data-testid":"create-project-dialog",children:[(0,t.jsx)(d.DialogHeader,{children:(0,t.jsx)(d.DialogTitle,{children:"Create Project"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(p.Label,{htmlFor:"project-name",children:"Name"}),(0,t.jsx)(c.Input,{id:"project-name",value:i,onChange:e=>o(e.target.value),placeholder:"My Project","data-testid":"project-name-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(p.Label,{htmlFor:"project-prefix",children:"Identifier Prefix"}),(0,t.jsx)(c.Input,{id:"project-prefix",value:l,onChange:e=>x(e.target.value.toUpperCase()),placeholder:"PROJ",maxLength:5,"data-testid":"project-prefix-input"}),(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"1-5 uppercase letters/numbers, used in work item identifiers (e.g., PROJ-42)"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(p.Label,{htmlFor:"project-desc",children:"Description (optional)"}),(0,t.jsx)(u.Textarea,{id:"project-desc",value:m,onChange:e=>f(e.target.value),placeholder:"What is this project about?",rows:3,"data-testid":"project-desc-input"})]}),j?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-project-error",children:j}):null]}),(0,t.jsxs)(d.DialogFooter,{children:[(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>s(!1),disabled:b,children:"Cancel"}),(0,t.jsx)(n.Button,{onClick:y,disabled:!i.trim()||!l.trim()||b,"data-testid":"create-project-submit",children:b?"Creating...":"Create"})]})]})})}function f({projects:e,className:d}){let[c,p]=(0,a.useState)(e),[u,x]=(0,a.useState)(!1),g=(0,s.useRouter)();return(0,t.jsxs)("div",{"data-testid":"projects-page-client",className:(0,o.cn)("space-y-4",d),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.FolderKanban,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Projects"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[c.length," projects"]})]}),(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>x(!0),"data-testid":"create-project-btn",children:[(0,t.jsx)(i.Plus,{className:"mr-1 h-3 w-3"}),"New Project"]})]}),0===c.length?(0,t.jsxs)("div",{"data-testid":"projects-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(r.FolderKanban,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No projects yet. Create your first project to get started."})]}):(0,t.jsx)("div",{"data-testid":"projects-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:c.map(e=>(0,t.jsxs)("button",{type:"button","data-testid":`project-card-${e.slug}`,className:"bg-card hover:bg-accent text-card-foreground rounded-lg border p-4 text-left transition-colors",onClick:()=>g.push(`/projects/${e.slug}`),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-semibold",children:e.name}),(0,t.jsx)(l.Badge,{variant:"outline",className:"text-[10px]",children:e.identifierPrefix})]}),e.description?(0,t.jsx)("p",{className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:e.description}):null,(0,t.jsxs)("div",{className:"text-muted-foreground mt-2 text-[10px]",children:[e.workItemCounter," items"]})]},e.id))}),(0,t.jsx)(m,{open:u,onOpenChange:x,onCreated:e=>{p(t=>[...t,e]),x(!1)}})]})}e.s(["ProjectsPageClient",()=>f],419705)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,602287,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(90033),r=e.i(860253),i=e.i(131777);let o=s.Dialog.Root,n=s.Dialog.Trigger,l=s.Dialog.Portal,d=s.Dialog.Close,c=a.forwardRef(({className:e,onClick:a,...r},o)=>(0,t.jsx)(s.Dialog.Overlay,{ref:o,className:(0,i.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)},...r}));c.displayName=s.Dialog.Overlay.displayName;let p=a.forwardRef(({className:e,children:a,...o},n)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(c,{}),(0,t.jsxs)(s.Dialog.Content,{ref:n,className:(0,i.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),...o,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)(r.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));p.displayName=s.Dialog.Content.displayName;let u=({className:e,...a})=>(0,t.jsx)("div",{className:(0,i.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,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});x.displayName="DialogFooter";let g=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Dialog.Title,{ref:r,className:(0,i.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));g.displayName=s.Dialog.Title.displayName;let m=a.forwardRef(({className:e,...a},r)=>(0,t.jsx)(s.Dialog.Description,{ref:r,className:(0,i.cn)("text-muted-foreground text-sm",e),...a}));m.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>o,"DialogClose",()=>d,"DialogContent",()=>p,"DialogDescription",()=>m,"DialogFooter",()=>x,"DialogHeader",()=>u,"DialogTitle",()=>g,"DialogTrigger",()=>n])},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])},141957,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(287620),r=a.forwardRef((e,a)=>(0,t.jsx)(s.Primitive.label,{...e,ref:a,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));r.displayName="Label",e.s(["Label",()=>r,"Root",()=>r],127572);var i=e.i(127572),i=i,o=e.i(294237),n=e.i(131777);let l=(0,o.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=a.forwardRef(({className:e,...a},s)=>(0,t.jsx)(i.Root,{ref:s,className:(0,n.cn)(l(),e),...a}));d.displayName=i.Root.displayName,e.s(["Label",()=>d],141957)},81846,e=>{"use strict";var t=e.i(679606),a=e.i(294237),s=e.i(131777);let r=(0,a.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:a,...i}){return(0,t.jsx)("div",{className:(0,s.cn)(r({variant:a}),e),...i})}e.s(["Badge",()=>i])},419705,e=>{"use strict";var t=e.i(679606),a=e.i(152155),s=e.i(711434),r=e.i(595400),i=e.i(3214),o=e.i(131777),n=e.i(735364),l=e.i(81846),d=e.i(602287),c=e.i(698127),p=e.i(141957),u=e.i(48306),x=e.i(508893);let g=(0,x.createServerReference)("40b71955c910380917752d7079d6379dd4b530ea9d",x.callServer,void 0,x.findSourceMapURL,"createPmProject");function m({open:e,onOpenChange:s,onCreated:r}){let[i,o]=(0,a.useState)(""),[l,x]=(0,a.useState)(""),[m,f]=(0,a.useState)(""),[j,h]=(0,a.useState)(null),[b,v]=(0,a.useState)(!1),y=async()=>{h(null),v(!0);try{let e=await g({name:i,identifierPrefix:l,description:m||void 0});e.error?h(e.error):e.project&&(r(e.project),o(""),x(""),f(""))}finally{v(!1)}};return(0,t.jsx)(d.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(d.DialogContent,{"data-testid":"create-project-dialog",children:[(0,t.jsx)(d.DialogHeader,{children:(0,t.jsx)(d.DialogTitle,{children:"Create Project"})}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(p.Label,{htmlFor:"project-name",children:"Name"}),(0,t.jsx)(c.Input,{id:"project-name",value:i,onChange:e=>o(e.target.value),placeholder:"My Project","data-testid":"project-name-input"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(p.Label,{htmlFor:"project-prefix",children:"Identifier Prefix"}),(0,t.jsx)(c.Input,{id:"project-prefix",value:l,onChange:e=>x(e.target.value.toUpperCase()),placeholder:"PROJ",maxLength:5,"data-testid":"project-prefix-input"}),(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"1-5 uppercase letters/numbers, used in work item identifiers (e.g., PROJ-42)"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(p.Label,{htmlFor:"project-desc",children:"Description (optional)"}),(0,t.jsx)(u.Textarea,{id:"project-desc",value:m,onChange:e=>f(e.target.value),placeholder:"What is this project about?",rows:3,"data-testid":"project-desc-input"})]}),j?(0,t.jsx)("p",{className:"text-destructive text-xs","data-testid":"create-project-error",children:j}):null]}),(0,t.jsxs)(d.DialogFooter,{children:[(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>s(!1),disabled:b,children:"Cancel"}),(0,t.jsx)(n.Button,{onClick:y,disabled:!i.trim()||!l.trim()||b,"data-testid":"create-project-submit",children:b?"Creating...":"Create"})]})]})})}function f({projects:e,className:d}){let[c,p]=(0,a.useState)(e),[u,x]=(0,a.useState)(!1),g=(0,s.useRouter)();return(0,t.jsxs)("div",{"data-testid":"projects-page-client",className:(0,o.cn)("space-y-4",d),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.FolderKanban,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Projects"}),(0,t.jsxs)("span",{className:"text-muted-foreground text-[10px]",children:[c.length," projects"]})]}),(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>x(!0),"data-testid":"create-project-btn",children:[(0,t.jsx)(i.Plus,{className:"mr-1 h-3 w-3"}),"New Project"]})]}),0===c.length?(0,t.jsxs)("div",{"data-testid":"projects-page-empty",className:"text-muted-foreground flex flex-col items-center justify-center py-12 text-center",children:[(0,t.jsx)(r.FolderKanban,{className:"mb-2 h-6 w-6 opacity-20"}),(0,t.jsx)("p",{className:"text-xs",children:"No projects yet. Create your first project to get started."})]}):(0,t.jsx)("div",{"data-testid":"projects-page-grid",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:c.map(e=>(0,t.jsxs)("button",{type:"button","data-testid":`project-card-${e.slug}`,className:"bg-card hover:bg-accent text-card-foreground rounded-lg border p-4 text-left transition-colors",onClick:()=>g.push(`/projects/${e.slug}`),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-semibold",children:e.name}),(0,t.jsx)(l.Badge,{variant:"outline",className:"text-[10px]",children:e.identifierPrefix})]}),e.description?(0,t.jsx)("p",{className:"text-muted-foreground mt-1 line-clamp-2 text-xs",children:e.description}):null,(0,t.jsxs)("div",{className:"text-muted-foreground mt-2 text-[10px]",children:[e.workItemCounter," items"]})]},e.id))}),(0,t.jsx)(m,{open:u,onOpenChange:x,onCreated:e=>{p(t=>[...t,e]),x(!1)}})]})}e.s(["ProjectsPageClient",()=>f],419705)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),s=e.i(294237),n=e.i(131777);let a=(0,s.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,n.cn)(a({variant:s}),e),...i})}e.s(["Badge",()=>i])},123620,e=>{"use strict";var t=e.i(679606),s=e.i(152155),n=e.i(294237),a=e.i(131777);let i=(0,n.cva)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:start-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:ps-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),r=s.forwardRef(({className:e,variant:s,...n},r)=>(0,t.jsx)("div",{ref:r,role:"alert",className:(0,a.cn)(i({variant:s}),e),...n}));r.displayName="Alert",s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("h5",{ref:n,className:(0,a.cn)("mb-1 leading-none font-medium tracking-tight",e),...s})).displayName="AlertTitle";let l=s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("text-sm [&_p]:leading-relaxed",e),...s}));l.displayName="AlertDescription",e.s(["Alert",()=>r,"AlertDescription",()=>l])},968743,e=>{"use strict";var t=e.i(679606),s=e.i(152155),n=e.i(81846),a=e.i(735364),i=e.i(698127),r=e.i(141957),l=e.i(123620),d=e.i(547373),u=e.i(317406),o=e.i(508893);let c=(0,o.createServerReference)("409d4f464859c5c9bdcf4f013da3fc65724bf5ba1d",o.callServer,void 0,o.findSourceMapURL,"answerAgentQuestion"),x=(0,o.createServerReference)("402cb0609bb11c24ec14aa89d71be41428327315fe",o.callServer,void 0,o.findSourceMapURL,"cancelAgentQuestion"),f={[u.AgentQuestionKind.info]:"secondary",[u.AgentQuestionKind.question]:"default",[u.AgentQuestionKind.blocking]:"destructive"},g={[u.AgentQuestionStatus.pending]:"default",[u.AgentQuestionStatus.answered]:"secondary",[u.AgentQuestionStatus.cancelled]:"outline",[u.AgentQuestionStatus.expired]:"outline"};function p({initialQuestions:e,initialStatusFilter:n=u.AgentQuestionStatus.pending,initialKindFilter:a="all",errorMessage:i=null,answerOverride:o,cancelOverride:f,currentActor:g="user:web"}){let[p,v]=(0,s.useState)(n),[h,b]=(0,s.useState)(a),[j,S]=(0,s.useState)(null),[y,A]=(0,s.useState)({}),[w,N]=(0,s.useState)(i),[Q,I]=(0,s.useState)(e),q=(0,s.useMemo)(()=>Q.filter(e=>("all"===p||e.status===p)&&("all"===h||e.kind===h)),[Q,p,h]),k=async(e,t)=>{if(!t.trim())return void N("Answer cannot be empty");N(null),S(e.id);try{let s=await (o??c)({appId:e.appId??"",questionId:e.id,answer:t,answeredBy:g});if(!s.ok)return void N(s.error??"Failed to submit answer");I(s=>s.map(s=>s.id===e.id?{...s,status:u.AgentQuestionStatus.answered,answer:t,answeredBy:g,answeredAt:new Date}:s))}finally{S(null)}},B=async e=>{N(null),S(e.id);try{let t=await (f??x)({appId:e.appId??"",questionId:e.id,cancelledBy:g});if(!t.ok)return void N(t.error??"Failed to cancel question");I(t=>t.map(t=>t.id===e.id?{...t,status:u.AgentQuestionStatus.cancelled,answeredBy:g}:t))}finally{S(null)}};return(0,t.jsxs)("section",{"data-testid":"agent-questions-inbox",className:"flex flex-col gap-4","aria-label":"Agent questions inbox",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-3","data-testid":"inbox-filters",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)(r.Label,{htmlFor:"status-filter",children:"Status"}),(0,t.jsxs)(d.Select,{value:p,onValueChange:e=>v(e),children:[(0,t.jsx)(d.SelectTrigger,{id:"status-filter",className:"w-44","data-testid":"status-filter",children:(0,t.jsx)(d.SelectValue,{})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"all",children:"All"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.pending,children:"Pending"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.answered,children:"Answered"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.cancelled,children:"Cancelled"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.expired,children:"Expired"})]})]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)(r.Label,{htmlFor:"kind-filter",children:"Urgency"}),(0,t.jsxs)(d.Select,{value:h,onValueChange:e=>b(e),children:[(0,t.jsx)(d.SelectTrigger,{id:"kind-filter",className:"w-44","data-testid":"kind-filter",children:(0,t.jsx)(d.SelectValue,{})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"all",children:"All"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionKind.info,children:"Info"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionKind.question,children:"Question"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionKind.blocking,children:"Blocking"})]})]})]})]}),w?(0,t.jsx)(l.Alert,{variant:"destructive","data-testid":"inbox-error",children:(0,t.jsx)(l.AlertDescription,{children:w})}):null,0===q.length?(0,t.jsx)("div",{"data-testid":"inbox-empty",className:"text-muted-foreground rounded border border-dashed p-6 text-center text-sm",children:"No agent questions match the current filters."}):(0,t.jsx)("ul",{className:"flex flex-col gap-3","data-testid":"inbox-list",children:q.map(e=>(0,t.jsx)(m,{question:e,busy:j===e.id,draftAnswer:y[e.id]??"",onDraftChange:t=>A(s=>({...s,[e.id]:t})),onSubmitAnswer:t=>k(e,t),onCancel:()=>B(e)},e.id))})]})}function m({question:e,busy:s,draftAnswer:r,onDraftChange:l,onSubmitAnswer:d,onCancel:o}){let c=function(e){if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>"string"==typeof e);return[]}catch{return[]}}(e.optionsJson),x=e.status===u.AgentQuestionStatus.pending;return(0,t.jsxs)("li",{className:"flex flex-col gap-3 rounded border p-4","data-testid":`question-row-${e.id}`,children:[(0,t.jsxs)("header",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Badge,{variant:f[e.kind]??"secondary",className:"capitalize",children:e.kind}),(0,t.jsx)(n.Badge,{variant:g[e.status]??"outline",className:"capitalize",children:e.status}),(0,t.jsxs)("span",{className:"text-muted-foreground text-xs",children:["run ",e.agentRunId.slice(0,8)]})]}),e.featureId?(0,t.jsxs)("span",{className:"text-muted-foreground text-xs",children:["feature ",e.featureId.slice(0,8)]}):null]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap","data-testid":`question-prompt-${e.id}`,children:e.prompt}),!x&&e.answer?(0,t.jsxs)("p",{className:"text-muted-foreground text-xs","data-testid":`question-answer-${e.id}`,children:[e.status===u.AgentQuestionStatus.answered?"Answered":e.status===u.AgentQuestionStatus.cancelled?"Cancelled":"Resolved",e.answeredBy?` by ${e.answeredBy}`:"",": ",e.answer]}):null,x?(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[c.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2","data-testid":`question-options-${e.id}`,children:c.map(n=>(0,t.jsx)(a.Button,{type:"button",variant:"default",size:"sm",disabled:s,onClick:()=>d(n),"data-testid":`question-option-${e.id}-${n}`,children:n},n))}):(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Input,{value:r,onChange:e=>l(e.target.value),placeholder:"Type an answer…",disabled:s,"data-testid":`question-input-${e.id}`}),(0,t.jsx)(a.Button,{type:"button",size:"sm",disabled:s,onClick:()=>d(r),"data-testid":`question-submit-${e.id}`,children:"Submit"})]}),(0,t.jsx)("div",{children:(0,t.jsx)(a.Button,{type:"button",variant:"ghost",size:"sm",disabled:s,onClick:o,"data-testid":`question-cancel-${e.id}`,children:"Cancel question"})})]}):null]})}e.s(["AgentQuestionsInbox",()=>p],968743)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(679606),s=e.i(294237),n=e.i(131777);let a=(0,s.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:e,variant:s,...i}){return(0,t.jsx)("div",{className:(0,n.cn)(a({variant:s}),e),...i})}e.s(["Badge",()=>i])},123620,e=>{"use strict";var t=e.i(679606),s=e.i(152155),n=e.i(294237),a=e.i(131777);let i=(0,n.cva)("relative w-full rounded-lg border px-4 py-3 text-sm [&>svg]:absolute [&>svg]:top-4 [&>svg]:start-4 [&>svg]:text-foreground [&>svg+div]:translate-y-[-3px] [&>svg~*]:ps-7",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),r=s.forwardRef(({className:e,variant:s,...n},r)=>(0,t.jsx)("div",{ref:r,role:"alert",className:(0,a.cn)(i({variant:s}),e),...n}));r.displayName="Alert",s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("h5",{ref:n,className:(0,a.cn)("mb-1 leading-none font-medium tracking-tight",e),...s})).displayName="AlertTitle";let l=s.forwardRef(({className:e,...s},n)=>(0,t.jsx)("div",{ref:n,className:(0,a.cn)("text-sm [&_p]:leading-relaxed",e),...s}));l.displayName="AlertDescription",e.s(["Alert",()=>r,"AlertDescription",()=>l])},968743,e=>{"use strict";var t=e.i(679606),s=e.i(152155),n=e.i(81846),a=e.i(735364),i=e.i(698127),r=e.i(141957),l=e.i(123620),d=e.i(547373),u=e.i(317406),o=e.i(508893);let c=(0,o.createServerReference)("4084d57d604ff30a8783b5e8acce657ec11f436152",o.callServer,void 0,o.findSourceMapURL,"answerAgentQuestion"),x=(0,o.createServerReference)("40c16e71d3a83d6dc66274fb573b061db76df0f226",o.callServer,void 0,o.findSourceMapURL,"cancelAgentQuestion"),f={[u.AgentQuestionKind.info]:"secondary",[u.AgentQuestionKind.question]:"default",[u.AgentQuestionKind.blocking]:"destructive"},g={[u.AgentQuestionStatus.pending]:"default",[u.AgentQuestionStatus.answered]:"secondary",[u.AgentQuestionStatus.cancelled]:"outline",[u.AgentQuestionStatus.expired]:"outline"};function p({initialQuestions:e,initialStatusFilter:n=u.AgentQuestionStatus.pending,initialKindFilter:a="all",errorMessage:i=null,answerOverride:o,cancelOverride:f,currentActor:g="user:web"}){let[p,v]=(0,s.useState)(n),[h,b]=(0,s.useState)(a),[j,S]=(0,s.useState)(null),[y,A]=(0,s.useState)({}),[w,N]=(0,s.useState)(i),[Q,I]=(0,s.useState)(e),q=(0,s.useMemo)(()=>Q.filter(e=>("all"===p||e.status===p)&&("all"===h||e.kind===h)),[Q,p,h]),k=async(e,t)=>{if(!t.trim())return void N("Answer cannot be empty");N(null),S(e.id);try{let s=await (o??c)({appId:e.appId??"",questionId:e.id,answer:t,answeredBy:g});if(!s.ok)return void N(s.error??"Failed to submit answer");I(s=>s.map(s=>s.id===e.id?{...s,status:u.AgentQuestionStatus.answered,answer:t,answeredBy:g,answeredAt:new Date}:s))}finally{S(null)}},B=async e=>{N(null),S(e.id);try{let t=await (f??x)({appId:e.appId??"",questionId:e.id,cancelledBy:g});if(!t.ok)return void N(t.error??"Failed to cancel question");I(t=>t.map(t=>t.id===e.id?{...t,status:u.AgentQuestionStatus.cancelled,answeredBy:g}:t))}finally{S(null)}};return(0,t.jsxs)("section",{"data-testid":"agent-questions-inbox",className:"flex flex-col gap-4","aria-label":"Agent questions inbox",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-3","data-testid":"inbox-filters",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)(r.Label,{htmlFor:"status-filter",children:"Status"}),(0,t.jsxs)(d.Select,{value:p,onValueChange:e=>v(e),children:[(0,t.jsx)(d.SelectTrigger,{id:"status-filter",className:"w-44","data-testid":"status-filter",children:(0,t.jsx)(d.SelectValue,{})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"all",children:"All"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.pending,children:"Pending"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.answered,children:"Answered"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.cancelled,children:"Cancelled"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionStatus.expired,children:"Expired"})]})]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)(r.Label,{htmlFor:"kind-filter",children:"Urgency"}),(0,t.jsxs)(d.Select,{value:h,onValueChange:e=>b(e),children:[(0,t.jsx)(d.SelectTrigger,{id:"kind-filter",className:"w-44","data-testid":"kind-filter",children:(0,t.jsx)(d.SelectValue,{})}),(0,t.jsxs)(d.SelectContent,{children:[(0,t.jsx)(d.SelectItem,{value:"all",children:"All"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionKind.info,children:"Info"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionKind.question,children:"Question"}),(0,t.jsx)(d.SelectItem,{value:u.AgentQuestionKind.blocking,children:"Blocking"})]})]})]})]}),w?(0,t.jsx)(l.Alert,{variant:"destructive","data-testid":"inbox-error",children:(0,t.jsx)(l.AlertDescription,{children:w})}):null,0===q.length?(0,t.jsx)("div",{"data-testid":"inbox-empty",className:"text-muted-foreground rounded border border-dashed p-6 text-center text-sm",children:"No agent questions match the current filters."}):(0,t.jsx)("ul",{className:"flex flex-col gap-3","data-testid":"inbox-list",children:q.map(e=>(0,t.jsx)(m,{question:e,busy:j===e.id,draftAnswer:y[e.id]??"",onDraftChange:t=>A(s=>({...s,[e.id]:t})),onSubmitAnswer:t=>k(e,t),onCancel:()=>B(e)},e.id))})]})}function m({question:e,busy:s,draftAnswer:r,onDraftChange:l,onSubmitAnswer:d,onCancel:o}){let c=function(e){if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(e=>"string"==typeof e);return[]}catch{return[]}}(e.optionsJson),x=e.status===u.AgentQuestionStatus.pending;return(0,t.jsxs)("li",{className:"flex flex-col gap-3 rounded border p-4","data-testid":`question-row-${e.id}`,children:[(0,t.jsxs)("header",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.Badge,{variant:f[e.kind]??"secondary",className:"capitalize",children:e.kind}),(0,t.jsx)(n.Badge,{variant:g[e.status]??"outline",className:"capitalize",children:e.status}),(0,t.jsxs)("span",{className:"text-muted-foreground text-xs",children:["run ",e.agentRunId.slice(0,8)]})]}),e.featureId?(0,t.jsxs)("span",{className:"text-muted-foreground text-xs",children:["feature ",e.featureId.slice(0,8)]}):null]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap","data-testid":`question-prompt-${e.id}`,children:e.prompt}),!x&&e.answer?(0,t.jsxs)("p",{className:"text-muted-foreground text-xs","data-testid":`question-answer-${e.id}`,children:[e.status===u.AgentQuestionStatus.answered?"Answered":e.status===u.AgentQuestionStatus.cancelled?"Cancelled":"Resolved",e.answeredBy?` by ${e.answeredBy}`:"",": ",e.answer]}):null,x?(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[c.length>0?(0,t.jsx)("div",{className:"flex flex-wrap gap-2","data-testid":`question-options-${e.id}`,children:c.map(n=>(0,t.jsx)(a.Button,{type:"button",variant:"default",size:"sm",disabled:s,onClick:()=>d(n),"data-testid":`question-option-${e.id}-${n}`,children:n},n))}):(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Input,{value:r,onChange:e=>l(e.target.value),placeholder:"Type an answer…",disabled:s,"data-testid":`question-input-${e.id}`}),(0,t.jsx)(a.Button,{type:"button",size:"sm",disabled:s,onClick:()=>d(r),"data-testid":`question-submit-${e.id}`,children:"Submit"})]}),(0,t.jsx)("div",{children:(0,t.jsx)(a.Button,{type:"button",variant:"ghost",size:"sm",disabled:s,onClick:o,"data-testid":`question-cancel-${e.id}`,children:"Cancel question"})})]}):null]})}e.s(["AgentQuestionsInbox",()=>p],968743)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,541952,e=>{"use strict";var t=e.i(679606),n=e.i(152155),i=e.i(723925),s=e.i(926370),a=e.i(338573),o=e.i(949228),l=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),m=e.i(3214),p=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(473750),j=e.i(987889),S=e.i(806288),y=e.i(382569),k=e.i(360112);e.i(541001);var C=e.i(64780),M=e.i(131777),N=e.i(141957),A=e.i(698127),I=e.i(735364),T=e.i(951911),P=e.i(547373),D=e.i(508893);let F=(0,D.createServerReference)("409f9fcc4f6557d27c16cea82fdf9e8ee92483a485",D.callServer,void 0,D.findSourceMapURL,"updateSettingsAction");var E=e.i(317406),R=e.i(785622),z=e.i(544229),L=e.i(483902);function B(e){return(0,t.jsx)(z.Code,{className:(0,M.cn)("h-4 w-4",e.className),...e})}function _({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function H({className:e}){return(0,t.jsx)(R.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function G({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function K({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function V({className:e,...n}){return(0,t.jsx)(L.Rocket,{className:(0,M.cn)("h-4 w-4",e),...n})}_.displayName="VsCodeIcon",H.displayName="CursorEditorIcon",G.displayName="WindsurfIcon",K.displayName="ZedIcon",V.displayName="AntigravityIcon";let O={vscode:_,cursor:H,windsurf:G,zed:K,antigravity:V};var W=e.i(41413),q=e.i(435e3);let U=(0,D.createServerReference)("40db4da91cbb89f7c8eeee4fce24542f73ba851067",D.callServer,void 0,D.findSourceMapURL,"connectGithubAction"),$=(0,D.createServerReference)("00f6e626208d11f7146c4c397726a5efb2673771b3",D.callServer,void 0,D.findSourceMapURL,"disconnectGithubAction"),Z=(0,D.createServerReference)("005684dcd21a9d39f21663411f7a1382af4ea9c7ca",D.callServer,void 0,D.findSourceMapURL,"getGithubStatusAction");function X(){let[e,i]=(0,n.useState)(null),[s,a]=(0,n.useState)(""),[o,l]=(0,n.useState)(!1),[r,c]=(0,n.useTransition)();return((0,n.useEffect)(()=>{let e=!1;return Z().then(t=>{e||i(t)}).catch(()=>{e||i({connected:!1,connectedAt:null,updatedAt:null})}),()=>{e=!0}},[]),null===e)?(0,t.jsx)("div",{className:"text-muted-foreground py-4 text-xs","data-testid":"github-integration-loading",children:"Checking GitHub integration…"}):e.connected?(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-connected",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(q.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),(0,t.jsx)("span",{className:"text-sm",children:"Connected"}),e.updatedAt?(0,t.jsxs)("span",{className:"text-muted-foreground text-[11px]",children:["· last updated ",new Date(e.updatedAt).toLocaleDateString()]}):null]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Every terminal opened in shep now has ",(0,t.jsx)("code",{children:"GH_TOKEN"})," and ",(0,t.jsx)("code",{children:"GITHUB_TOKEN"})," ","set automatically. ",(0,t.jsx)("code",{children:"gh"}),", ",(0,t.jsx)("code",{children:"git push"}),", and other tools that read those env vars will authenticate as your GitHub user."]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)(I.Button,{variant:"outline",size:"sm",onClick:function(){c(async()=>{let e=await $();e.success?(k.toast.success("GitHub disconnected"),i(await Z())):k.toast.error(e.error??"Failed to disconnect")})},disabled:r,"data-testid":"github-disconnect-button",children:r?"Disconnecting…":"Disconnect"})})]}):(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-disconnected",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(N.Label,{htmlFor:"github-pat",className:"text-xs",children:"Personal Access Token"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(A.Input,{id:"github-pat","data-testid":"github-pat-input",type:o?"text":"password",value:s,onChange:e=>a(e.target.value),placeholder:"github_pat_… or ghp_…",autoComplete:"off",className:"pr-9 font-mono text-xs",disabled:r}),(0,t.jsx)("button",{type:"button",onClick:()=>l(e=>!e),className:"text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2","aria-label":o?"Hide token":"Show token",tabIndex:-1,children:o?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(I.Button,{size:"sm",onClick:function(){let e=s.trim();e?c(async()=>{let t=await U(e);t.success?(k.toast.success(`Connected to GitHub${t.login?` as @${t.login}`:""}`),a(""),l(!1),i(await Z())):k.toast.error(t.error??"Failed to connect to GitHub")}):k.toast.error("Paste a GitHub Personal Access Token first")},disabled:r||!s.trim(),"data-testid":"github-connect-button",children:r?"Connecting…":"Connect"})]})]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Create a fine-grained PAT with ",(0,t.jsx)("code",{children:"contents: read/write"})," and"," ",(0,t.jsx)("code",{children:"pull requests: read/write"})," on the repos you want shep to access. Token is encrypted at rest and never leaves this machine."]}),(0,t.jsxs)("a",{href:"https://github.com/settings/tokens?type=beta",target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[11px] transition-colors",children:[(0,t.jsx)(p.ExternalLink,{className:"h-3 w-3"}),"Generate a token on github.com"]})]})}var Y=e.i(527069),J=e.i(291967),Q=e.i(205978),ee=e.i(922528),et=e.i(936589),en=e.i(566033),ei=e.i(23405),es=e.i(277624),ea=e.i(287620),eo=e.i(787342),el=["PageUp","PageDown"],er=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ec={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ed="Slider",[eu,eg,eh]=(0,eo.createCollection)(ed),[em,ep]=(0,ee.createContextScope)(ed,[eh]),[ef,ex]=em(ed),ev=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:o=100,step:l=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:m=()=>{},inverted:p=!1,form:f,...x}=e,v=n.useRef(new Set),b=n.useRef(0),w="horizontal"===r,[j=[],S]=(0,et.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),y=n.useRef(j);function k(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,Y.clamp)(r,[a,o]);S((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{b.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(ef,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:o,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(eu.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(eu.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ej:eS,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:i,onPointerDown:(0,J.composeEventHandlers)(x.onPointerDown,()=>{c||(y.current=j)}),min:a,max:o,inverted:p,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=y.current[b.current];j[b.current]!==e&&m(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(o,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=el.includes(e.key)||e.shiftKey&&er.includes(e.key),i=b.current;k(j[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});ev.displayName=ed;var[eb,ew]=em(ed,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ej=n.forwardRef((e,i)=>{let{min:s,max:a,dir:o,inverted:l,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,m]=n.useState(null),p=(0,Q.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),x=(0,en.useDirection)(o),v="ltr"===x,b=v&&!l||!v&&l;function w(e){let t=f.current||h.getBoundingClientRect(),n=eF([0,t.width],b?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ey,{dir:x,"data-orientation":"horizontal",...g,ref:p,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=ec[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),eS=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:o,onSlideStart:l,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=n.useRef(null),h=(0,Q.useComposedRefs)(i,g),m=n.useRef(void 0),p=!o;function f(e){let t=m.current||g.current.getBoundingClientRect(),n=eF([0,t.height],p?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,t.jsx)(ey,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=ec[p?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ey=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:o,onHomeKeyDown:l,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ex(ed,i);return(0,t.jsx)(ea.Primitive.span,{...d,ref:n,onKeyDown:(0,J.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):el.concat(er).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,J.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,J.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,J.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),o(e))})})}),ek="SliderTrack",eC=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=ex(ek,i);return(0,t.jsx)(ea.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});eC.displayName=ek;var eM="SliderRange",eN=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,o=ex(eM,s),l=ew(eM,s),r=n.useRef(null),c=(0,Q.useComposedRefs)(i,r),d=o.values.length,u=o.values.map(e=>eD(e,o.min,o.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(ea.Primitive.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:g+"%",[l.endEdge]:h+"%"}})});eN.displayName=eM;var eA="SliderThumb",eI=n.forwardRef((e,i)=>{let s=eg(e.__scopeSlider),[a,o]=n.useState(null),l=(0,Q.useComposedRefs)(i,e=>o(e)),r=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eT,{...e,ref:l,index:r})}),eT=n.forwardRef((e,i)=>{var s,a,o,l,r;let c,d,{__scopeSlider:u,index:g,name:h,...m}=e,p=ex(eA,u),f=ew(eA,u),[x,v]=n.useState(null),b=(0,Q.useComposedRefs)(i,e=>v(e)),w=!x||p.form||!!x.closest("form"),j=(0,es.useSize)(x),S=p.values[g],y=void 0===S?0:eD(S,p.min,p.max),k=(s=g,(a=p.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),C=j?.[f.size],M=C?(o=C,l=y,r=f.direction,d=eF([0,50],[0,c=o/2]),(c-d(l)*r)*r):0;return n.useEffect(()=>{if(x)return p.thumbs.add(x),()=>{p.thumbs.delete(x)}},[x,p.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${y}% + ${M}px)`},children:[(0,t.jsx)(eu.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(ea.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":p.min,"aria-valuenow":S,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...m,ref:b,style:void 0===S?{display:"none"}:e.style,onFocus:(0,J.composeEventHandlers)(e.onFocus,()=>{p.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(eP,{name:h??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:S},g)]})});eI.displayName=eA;var eP=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let o=n.useRef(null),l=(0,Q.useComposedRefs)(o,a),r=(0,ei.usePrevious)(i);return n.useEffect(()=>{let e=o.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[r,i]),(0,t.jsx)(ea.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function eD(e,t,n){return(0,Y.clamp)(100/(n-t)*(e-t),[0,100])}function eF(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}eP.displayName="RadioBubbleInput",e.s(["Range",()=>eN,"Root",()=>ev,"Slider",()=>ev,"SliderRange",()=>eN,"SliderThumb",()=>eI,"SliderTrack",()=>eC,"Thumb",()=>eI,"Track",()=>eC,"createSliderScope",()=>ep],429991);var eE=e.i(429991),eE=eE;function eR({className:e,defaultValue:i,value:s,min:a=0,max:o=100,...l}){let r=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,o],[s,i,a,o]);return(0,t.jsxs)(eE.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:o,className:(0,M.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),...l,children:[(0,t.jsx)(eE.Track,{"data-slot":"slider-track",className:(0,M.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)(eE.Range,{"data-slot":"slider-range",className:(0,M.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,n)=>(0,t.jsx)(eE.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"},n))]})}let ez=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eL=ez.length-1;function eB(e){let t=0,n=Math.abs(e-ez[0]);for(let i=1;i<ez.length;i++){let s=Math.abs(e-ez[i]);s<n&&(n=s,t=i)}return t}function e_({id:e,testId:i,value:s,onChange:a,onBlur:o,defaultSeconds:l=1800}){var r;let c,d,u=(""===s?l:parseInt(s,10))||l,[g,h]=(0,n.useState)(()=>eB(u)),m=eB(u);m!==g&&ez[g]!==u&&h(m);let p=(0,n.useCallback)(([e])=>{h(e),a(String(ez[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eR,{id:e,"data-testid":i,min:0,max:eL,step:1,value:[g],onValueChange:p,onValueCommit:()=>o(),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=ez[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eH=[{value:E.Language.English,nativeName:"English"},{value:E.Language.Ukrainian,nativeName:"Українська"},{value:E.Language.Russian,nativeName:"Русский"},{value:E.Language.Portuguese,nativeName:"Português"},{value:E.Language.Spanish,nativeName:"Español"},{value:E.Language.Arabic,nativeName:"العربية"},{value:E.Language.Hebrew,nativeName:"עברית"},{value:E.Language.French,nativeName:"Français"},{value:E.Language.German,nativeName:"Deutsch"}],eG=[{value:E.EditorType.VsCode,label:"VS Code"},{value:E.EditorType.Cursor,label:"Cursor"},{value:E.EditorType.Windsurf,label:"Windsurf"},{value:E.EditorType.Zed,label:"Zed"},{value:E.EditorType.Antigravity,label:"Antigravity"}],eK=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],eV=new Set([E.AgentType.CopilotCli]),eO=new Set([E.AgentType.OpenRouter,E.AgentType.TogetherAi]),eW=[{value:E.AgentAuthMethod.Session,label:"Session"},{value:E.AgentAuthMethod.Token,label:"Token"}],eq=[{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:o.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:l.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:"home-page",labelKey:"settings.sections.homePage",icon:w.Home},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"integrations",labelKey:"settings.sections.integrations",icon:y.Github},{id:"database",labelKey:"settings.sections.database",icon:u}];function eU({label:e,description:n,htmlFor:i,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)(N.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function e$({label:e,description:n,id:i,testId:s,checked:a,onChange:o,disabled:l}){return(0,t.jsx)(eU,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(T.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:o,disabled:l,className:(0,M.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function eZ({icon:e,title:n,description:i,badge:s,testId:a,children:o}){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:n}),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:i})]}),(0,t.jsx)("div",{className:"px-4",children:o})]})}function eX({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:o,min:l=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,C.useTranslation)("web"),g=""===i?void 0:parseInt(i,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(l,(g??parseInt(o,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":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:o,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(o,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)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eY({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 eJ({children:e,links:n}){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!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.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)(p.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eQ({settings:e,shepHome:r,dbFileSize:h,availableTerminals:m}){let{t:p,i18n:N}=(0,C.useTranslation)("web"),{showSaving:T,showSaved:D,save:R}=function(){let{t:e}=(0,C.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[o,l]=(0,n.useState)(!1),r=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:o,save:(0,n.useCallback)(t=>{i(async()=>{let n=await F(t);n.success||k.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),z=e.featureFlags??{envDeploy:!1,debug:!1,reactFileManager:!1,projects:!1,codeReview:!1,collaboration:!1},[L,_]=(0,n.useState)(e.user?.preferredLanguage??E.Language.English),[H,G]=(0,n.useState)(e.agent.type),[K,V]=(0,n.useState)(e.agent.authMethod),[q,U]=(0,n.useState)(e.agent.token??""),[$,Z]=(0,n.useState)(!1),[Y,J]=(0,n.useState)(e.environment.defaultEditor),[Q,ee]=(0,n.useState)(e.environment.shellPreference),[et,en]=(0,n.useState)(e.environment.terminalPreference??E.TerminalType.System),ei=m?m.filter(e=>e.available):[{id:E.TerminalType.System,name:p("settings.environment.systemTerminal"),available:!0}],[es,ea]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[eo,el]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[er,ec]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[ed,eu]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[eg,eh]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[em,ep]=(0,n.useState)(e.workflow.enableEvidence),[ef,ex]=(0,n.useState)(e.workflow.commitEvidence),[ev,eb]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[ew,ej]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[eS,ey]=(0,n.useState)(!1!==e.workflow.defaultFastMode),[ek,eC]=(0,n.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eM,eN]=(0,n.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eA,eI]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eT,eP]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eD,eF]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eE,eR]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),ez=e.workflow.stageTimeouts,[eL,eB]=(0,n.useState)(String(Math.round((ez?.analyzeMs??18e5)/1e3))),[eQ,e0]=(0,n.useState)(String(Math.round((ez?.requirementsMs??18e5)/1e3))),[e1,e3]=(0,n.useState)(String(Math.round((ez?.researchMs??18e5)/1e3))),[e5,e2]=(0,n.useState)(String(Math.round((ez?.planMs??18e5)/1e3))),[e4,e8]=(0,n.useState)(String(Math.round((ez?.implementMs??18e5)/1e3))),[e6,e9]=(0,n.useState)(String(Math.round((ez?.fastImplementMs??18e5)/1e3))),[e7,te]=(0,n.useState)(String(Math.round((ez?.mergeMs??18e5)/1e3))),tt=e.workflow.analyzeRepoTimeouts,[tn,ti]=(0,n.useState)(String(Math.round((tt?.analyzeMs??6e5)/1e3))),ts=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ta,to]=(0,n.useState)(ts.enabled),[tl,tr]=(0,n.useState)(String(ts.autoTimeoutMinutes)),[tc,td]=(0,n.useState)(String(ts.maxConcurrentSessions)),[tu,tg]=(0,n.useState)(e.defaultHomePage??E.DefaultHomePage.ControlCenter),th=e.fabLayout??{swapPosition:!1},[tm,tp]=(0,n.useState)(th.swapPosition),[tf,tx]=(0,n.useState)(e.notifications.inApp.enabled),[tv,tb]=(0,n.useState)({...e.notifications.events}),[tw,tj]=(0,n.useState)({...z}),tS=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",ty=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tk=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tC=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tM=ez?.analyzeMs!=null?String(Math.round(ez.analyzeMs/1e3)):"",tN=ez?.requirementsMs!=null?String(Math.round(ez.requirementsMs/1e3)):"",tA=ez?.researchMs!=null?String(Math.round(ez.researchMs/1e3)):"",tI=ez?.planMs!=null?String(Math.round(ez.planMs/1e3)):"",tT=ez?.implementMs!=null?String(Math.round(ez.implementMs/1e3)):"",tP=ez?.fastImplementMs!=null?String(Math.round(ez.fastImplementMs/1e3)):"",tD=ez?.mergeMs!=null?String(Math.round(ez.mergeMs/1e3)):"",tF=tt?.analyzeMs!=null?String(Math.round(tt.analyzeMs/1e3)):"";function tE(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tR(e){if(void 0===e)return;let t=tE(e);return null!=t?1e3*t:void 0}function tz(e={}){let t=tE(e.ciTimeout??eT),n=e.autoArchiveEnabled??ek,i=parseInt(e.autoArchiveDelay??eM,10);return{workflow:{openPrOnImplementationComplete:e.openPr??es,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??eo,allowPrd:e.allowPrd??er,allowPlan:e.allowPlan??ed,allowMerge:e.allowMerge??eg},enableEvidence:e.enableEvidence??em,commitEvidence:e.commitEvidence??ef,ciWatchEnabled:e.ciWatchEnabled??ev,hideCiStatus:e.hideCiStatus??ew,defaultFastMode:e.defaultFastMode??eS,autoArchiveDelayMinutes:n?Number.isNaN(i)||i<1?10:i:0,ciMaxFixAttempts:tE(e.ciMaxFix??eA),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tE(e.ciLogMax??eD),ciWatchPollIntervalSeconds:tE(e.ciPollInterval??eE),stageTimeouts:{analyzeMs:tR(e.analyzeTimeout??eL),requirementsMs:tR(e.requirementsTimeout??eQ),researchMs:tR(e.researchTimeout??e1),planMs:tR(e.planTimeout??e5),implementMs:tR(e.implementTimeout??e4),fastImplementMs:tR(e.fastImplementTimeout??e6),mergeMs:tR(e.mergeTimeout??e7)},analyzeRepoTimeouts:{analyzeMs:tR(e.analyzeRepoTimeout??tn)}}}}function tL(e={}){return{notifications:{inApp:{enabled:e.inApp??tf},events:e.events??tv}}}let[tB,t_]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=eq.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&&t_(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let tH=(0,n.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:p("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,M.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",T?"opacity-100":"opacity-0"),children:p("settings.saving")}),(0,t.jsxs)("span",{className:(0,M.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",D&&!T?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),p("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:eq.map(e=>{let n=e.icon,i=tB===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tH(e.id),className:(0,M.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:p(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)(eZ,{icon:g.Globe,title:p("settings.language.title"),description:p("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eU,{label:p("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(P.Select,{value:L,onValueChange:function(e){_(e),N.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,R({user:{preferredLanguage:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{placeholder:p("settings.language.placeholder")})}),(0,t.jsx)(P.SelectContent,{children:eH.map(e=>(0,t.jsx)(P.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)(eZ,{icon:s.Bot,title:p("settings.agent.sectionTitle"),description:p("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.agent.agentAndModel"),description:p("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(W.AgentModelPicker,{initialAgentType:H,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{G(e),eO.has(e)&&K!==E.AgentAuthMethod.Token?(V(E.AgentAuthMethod.Token),R({agent:{type:e,authMethod:E.AgentAuthMethod.Token}})):eV.has(e)&&K!==E.AgentAuthMethod.Session&&(V(E.AgentAuthMethod.Session),R({agent:{type:e,authMethod:E.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eU,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(P.Select,{value:K,onValueChange:e=>{V(e);let t={type:H,authMethod:e};e===E.AgentAuthMethod.Token&&(t.token=q),R({agent:t})},disabled:eV.has(H)||eO.has(H),children:[(0,t.jsx)(P.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eW.filter(e=>eV.has(H)?e.value===E.AgentAuthMethod.Session:!eO.has(H)||e.value===E.AgentAuthMethod.Token).map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eO.has(H)&&(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."})}),K===E.AgentAuthMethod.Token&&(0,t.jsx)(eU,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(A.Input,{id:"agent-token","data-testid":"agent-token-input",type:$?"text":"password",value:q,onChange:e=>U(e.target.value),onBlur:()=>{q!==(e.agent.token??"")&&R({agent:{type:H,authMethod:K,token:q}})},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:()=>Z(!$),"data-testid":"toggle-token-visibility","aria-label":$?"Hide token":"Show token",children:$?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:p("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:p("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:a.Terminal,title:p("settings.environment.sectionTitle"),description:p("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.environment.defaultEditor"),description:p("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(P.Select,{value:Y,onValueChange:e=>{J(e),R({environment:{defaultEditor:e,shellPreference:Q,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eG.map(e=>{var n;let i=(n=e.value)&&n in O?O[n]:B;return(0,t.jsx)(P.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eU,{label:p("settings.environment.shell"),description:p("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(P.Select,{value:Q,onValueChange:e=>{ee(e),R({environment:{defaultEditor:Y,shellPreference:e,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eK.map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eU,{label:p("settings.environment.terminal"),description:p("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(P.Select,{value:et,onValueChange:e=>{en(e),R({environment:{defaultEditor:Y,shellPreference:Q,terminalPreference:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:ei.map(e=>(0,t.jsx)(P.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:o.GitBranch,title:p("settings.workflow.title"),description:p("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.workflow.defaultFastMode"),description:p("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eS,onChange:e=>{ey(e),R(tz({defaultFastMode:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.approve")}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePrd"),description:p("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:er,onChange:e=>{ec(e),R(tz({allowPrd:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePlan"),description:p("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:ed,onChange:e=>{eu(e),R(tz({allowPlan:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApproveMerge"),description:p("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:eg,onChange:e=>{eh(e),R(tz({allowMerge:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.evidence")}),(0,t.jsx)(e$,{label:p("settings.workflow.collectEvidence"),description:p("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:em,onChange:e=>{ep(e),e?R(tz({enableEvidence:e})):(ex(!1),R(tz({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.addEvidenceToPr"),description:p("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:ef,disabled:!em||!es,onChange:e=>{ex(e),R(tz({commitEvidence:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.git")}),(0,t.jsx)(e$,{label:p("settings.workflow.pushOnComplete"),description:p("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:eo,onChange:e=>{el(e),R(tz({pushOnComplete:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.openPrOnComplete"),description:p("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:es,onChange:e=>{ea(e),e?R(tz({openPr:e})):(ex(!1),R(tz({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.watchCiAfterPush"),description:p("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:ev,onChange:e=>{eb(e),R(tz({ciWatchEnabled:e}))}}),(0,t.jsx)(eY,{children:"Archive"}),(0,t.jsx)(e$,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ek,onChange:e=>{eC(e),R(tz({autoArchiveEnabled:e}))}}),(0,t.jsx)(eU,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eX,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eM,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{eN(e)},onBlur:()=>{if(!ek)return;let e=parseInt(eM,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));eN(String(t)),R(tz({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:p("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:p("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)(eZ,{icon:l.Activity,title:p("settings.ci.title"),description:p("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.ci.maxFixAttempts"),description:p("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eX,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eA,onChange:eI,onBlur:()=>{eA!==tS&&R(tz({ciMaxFix:eA}))},min:1,max:10})}),(0,t.jsx)(eU,{label:p("settings.ci.watchTimeout"),description:p("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eX,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eT,onChange:eP,onBlur:()=>{eT!==ty&&R(tz({ciTimeout:eT}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eU,{label:p("settings.ci.maxLogSize"),description:p("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eX,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eD,onChange:eF,onBlur:()=>{eD!==tk&&R(tz({ciLogMax:eD}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eU,{label:p("settings.ci.pollInterval"),description:p("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eX,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eE,onChange:eR,onBlur:()=>{eE!==tC&&R(tz({ciPollInterval:eE}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(e$,{label:p("settings.ci.hideCiStatus"),description:p("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ew,onChange:e=>{ej(e),R(tz({hideCiStatus:e}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:p("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:p("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)(eZ,{icon:x.Timer,title:p("settings.stageTimeouts.title"),description:p("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(e_,{id:"timeout-analyze",testId:"timeout-analyze-input",value:eL,onChange:eB,onBlur:()=>{eL!==tM&&R(tz({analyzeTimeout:eL}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.requirements"),description:p("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(e_,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eQ,onChange:e0,onBlur:()=>{eQ!==tN&&R(tz({requirementsTimeout:eQ}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.research"),description:p("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(e_,{id:"timeout-research",testId:"timeout-research-input",value:e1,onChange:e3,onBlur:()=>{e1!==tA&&R(tz({researchTimeout:e1}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.plan"),description:p("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(e_,{id:"timeout-plan",testId:"timeout-plan-input",value:e5,onChange:e2,onBlur:()=>{e5!==tI&&R(tz({planTimeout:e5}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.implement"),description:p("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(e_,{id:"timeout-implement",testId:"timeout-implement-input",value:e4,onChange:e8,onBlur:()=>{e4!==tT&&R(tz({implementTimeout:e4}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.fastImplement"),description:p("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(e_,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e6,onChange:e9,onBlur:()=>{e6!==tP&&R(tz({fastImplementTimeout:e6}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.merge"),description:p("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(e_,{id:"timeout-merge",testId:"timeout-merge-input",value:e7,onChange:te,onBlur:()=>{e7!==tD&&R(tz({mergeTimeout:e7}))},defaultSeconds:1800})}),(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(e_,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:tn,onChange:ti,onBlur:()=>{tn!==tF&&R(tz({analyzeRepoTimeout:tn}))},defaultSeconds:600})})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:c,title:p("settings.notifications.title"),description:p("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.notifications.channels")}),(0,t.jsx)(e$,{label:p("settings.notifications.inAppLabel"),description:p("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tf,onChange:e=>{tx(e),R(tL({inApp:e}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:tv.agentStarted,onChange:e=>{let t={...tv,agentStarted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:tv.phaseCompleted,onChange:e=>{let t={...tv,phaseCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:tv.waitingApproval,onChange:e=>{let t={...tv,waitingApproval:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:tv.agentCompleted,onChange:e=>{let t={...tv,agentCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:tv.agentFailed,onChange:e=>{let t={...tv,agentFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:tv.prMerged,onChange:e=>{let t={...tv,prMerged:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:tv.prClosed,onChange:e=>{let t={...tv,prClosed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:tv.prChecksPassed,onChange:e=>{let t={...tv,prChecksPassed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:tv.prChecksFailed,onChange:e=>{let t={...tv,prChecksFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:tv.prBlocked,onChange:e=>{let t={...tv,prBlocked:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:tv.mergeReviewReady,onChange:e=>{let t={...tv,mergeReviewReady:e};tb(t),R(tL({events:t}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:p("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)(eZ,{icon:d,title:p("settings.featureFlags.title"),description:p("settings.featureFlags.sectionDescription"),badge:p("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.featureFlags.deployments"),description:p("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tw.envDeploy,onChange:e=>{let t={...tw,envDeploy:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.debug"),description:p("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tw.debug,onChange:e=>{let t={...tw,debug:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.reactFileManager"),description:p("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tw.reactFileManager,onChange:e=>{let t={...tw,reactFileManager:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.projects"),description:p("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tw.projects,onChange:e=>{let t={...tw,projects:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.codeReview"),description:p("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tw.codeReview,onChange:e=>{let t={...tw,codeReview:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.collaboration"),description:p("settings.featureFlags.collaborationDescription"),id:"flag-collaboration",testId:"switch-flag-collaboration",checked:tw.collaboration,onChange:e=>{let t={...tw,collaboration:e};tj(t),R({featureFlags:t})}})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:v.MessageSquare,title:p("settings.interactiveAgent.title"),description:p("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.interactiveAgent.enableChatTab"),description:p("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ta,onChange:e=>{to(e),R({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:parseInt(tc,10)||3}})}}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.autoTimeout"),description:p("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eX,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:tl,placeholder:"15",min:1,max:120,suffix:"min",onChange:tr,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));tr(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tc,10)||3}})}})}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.maxConcurrentSessions"),description:p("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eX,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tc,placeholder:"3",min:1,max:10,onChange:td,onBlur:()=>{let e=parseInt(tc,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));td(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eJ,{children:p("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-home-page",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:w.Home,title:p("settings.homePage.title"),description:p("settings.homePage.description"),testId:"home-page-settings-section",children:(0,t.jsx)(eU,{label:p("settings.homePage.label"),description:p("settings.homePage.labelDescription"),htmlFor:"default-home-page",children:(0,t.jsxs)(P.Select,{value:tu,onValueChange:e=>{tg(e),R({defaultHomePage:e})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-home-page","data-testid":"default-home-page-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:Object.values(E.DefaultHomePage).map(e=>(0,t.jsx)(P.SelectItem,{value:e,children:p(`settings.homePage.options.${e}`)},e))})]})})}),(0,t.jsx)(eJ,{children:p("settings.homePage.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)(eZ,{icon:b.LayoutGrid,title:p("settings.fabLayout.title"),description:p("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(e$,{label:p("settings.fabLayout.swapPosition"),description:p("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tm,onChange:e=>{tp(e),R({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eJ,{children:p("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-integrations",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:y.Github,title:"GitHub",description:"Connect a Personal Access Token so gh, git push, and other tools authenticate automatically in shep terminals.",testId:"github-integration-section",children:(0,t.jsx)(X,{})}),(0,t.jsx)(eJ,{children:"The token is encrypted with your local LocalSecretBox and only injected into terminal sessions you start from shep. It never leaves this machine."})]}),(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)(eZ,{icon:u,title:p("settings.database.title"),description:p("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.database.location"),description:p("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)(eU,{label:p("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:p("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:p("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>eQ],541952)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,541952,e=>{"use strict";var t=e.i(679606),n=e.i(152155),i=e.i(723925),s=e.i(926370),a=e.i(338573),o=e.i(949228),l=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),m=e.i(3214),p=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(473750),j=e.i(987889),S=e.i(806288),y=e.i(382569),k=e.i(360112);e.i(541001);var C=e.i(64780),M=e.i(131777),N=e.i(141957),A=e.i(698127),I=e.i(735364),T=e.i(951911),P=e.i(547373),D=e.i(508893);let F=(0,D.createServerReference)("40d67a4547e3385399c55e42521e04fc4ddca73651",D.callServer,void 0,D.findSourceMapURL,"updateSettingsAction");var E=e.i(317406),R=e.i(785622),z=e.i(544229),L=e.i(483902);function B(e){return(0,t.jsx)(z.Code,{className:(0,M.cn)("h-4 w-4",e.className),...e})}function _({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function H({className:e}){return(0,t.jsx)(R.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function G({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function K({className:e}){return(0,t.jsx)(R.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,M.cn)("rounded-sm object-contain",e)})}function V({className:e,...n}){return(0,t.jsx)(L.Rocket,{className:(0,M.cn)("h-4 w-4",e),...n})}_.displayName="VsCodeIcon",H.displayName="CursorEditorIcon",G.displayName="WindsurfIcon",K.displayName="ZedIcon",V.displayName="AntigravityIcon";let O={vscode:_,cursor:H,windsurf:G,zed:K,antigravity:V};var W=e.i(41413),q=e.i(435e3);let U=(0,D.createServerReference)("40300525816e6dce82b313e0458074a8059747654e",D.callServer,void 0,D.findSourceMapURL,"connectGithubAction"),$=(0,D.createServerReference)("00d110d278ca27f5be0e499768da94696e8ad3f276",D.callServer,void 0,D.findSourceMapURL,"disconnectGithubAction"),Z=(0,D.createServerReference)("007696380cc405e049765057b1bbeda43d195a6a4a",D.callServer,void 0,D.findSourceMapURL,"getGithubStatusAction");function X(){let[e,i]=(0,n.useState)(null),[s,a]=(0,n.useState)(""),[o,l]=(0,n.useState)(!1),[r,c]=(0,n.useTransition)();return((0,n.useEffect)(()=>{let e=!1;return Z().then(t=>{e||i(t)}).catch(()=>{e||i({connected:!1,connectedAt:null,updatedAt:null})}),()=>{e=!0}},[]),null===e)?(0,t.jsx)("div",{className:"text-muted-foreground py-4 text-xs","data-testid":"github-integration-loading",children:"Checking GitHub integration…"}):e.connected?(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-connected",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(q.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}),(0,t.jsx)("span",{className:"text-sm",children:"Connected"}),e.updatedAt?(0,t.jsxs)("span",{className:"text-muted-foreground text-[11px]",children:["· last updated ",new Date(e.updatedAt).toLocaleDateString()]}):null]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Every terminal opened in shep now has ",(0,t.jsx)("code",{children:"GH_TOKEN"})," and ",(0,t.jsx)("code",{children:"GITHUB_TOKEN"})," ","set automatically. ",(0,t.jsx)("code",{children:"gh"}),", ",(0,t.jsx)("code",{children:"git push"}),", and other tools that read those env vars will authenticate as your GitHub user."]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsx)(I.Button,{variant:"outline",size:"sm",onClick:function(){c(async()=>{let e=await $();e.success?(k.toast.success("GitHub disconnected"),i(await Z())):k.toast.error(e.error??"Failed to disconnect")})},disabled:r,"data-testid":"github-disconnect-button",children:r?"Disconnecting…":"Disconnect"})})]}):(0,t.jsxs)("div",{className:"space-y-3 py-3","data-testid":"github-integration-disconnected",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(N.Label,{htmlFor:"github-pat",className:"text-xs",children:"Personal Access Token"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)("div",{className:"relative flex-1",children:[(0,t.jsx)(A.Input,{id:"github-pat","data-testid":"github-pat-input",type:o?"text":"password",value:s,onChange:e=>a(e.target.value),placeholder:"github_pat_… or ghp_…",autoComplete:"off",className:"pr-9 font-mono text-xs",disabled:r}),(0,t.jsx)("button",{type:"button",onClick:()=>l(e=>!e),className:"text-muted-foreground hover:text-foreground absolute top-1/2 right-2 -translate-y-1/2","aria-label":o?"Hide token":"Show token",tabIndex:-1,children:o?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]}),(0,t.jsx)(I.Button,{size:"sm",onClick:function(){let e=s.trim();e?c(async()=>{let t=await U(e);t.success?(k.toast.success(`Connected to GitHub${t.login?` as @${t.login}`:""}`),a(""),l(!1),i(await Z())):k.toast.error(t.error??"Failed to connect to GitHub")}):k.toast.error("Paste a GitHub Personal Access Token first")},disabled:r||!s.trim(),"data-testid":"github-connect-button",children:r?"Connecting…":"Connect"})]})]}),(0,t.jsxs)("p",{className:"text-muted-foreground text-[11px] leading-relaxed",children:["Create a fine-grained PAT with ",(0,t.jsx)("code",{children:"contents: read/write"})," and"," ",(0,t.jsx)("code",{children:"pull requests: read/write"})," on the repos you want shep to access. Token is encrypted at rest and never leaves this machine."]}),(0,t.jsxs)("a",{href:"https://github.com/settings/tokens?type=beta",target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1 text-[11px] transition-colors",children:[(0,t.jsx)(p.ExternalLink,{className:"h-3 w-3"}),"Generate a token on github.com"]})]})}var Y=e.i(527069),J=e.i(291967),Q=e.i(205978),ee=e.i(922528),et=e.i(936589),en=e.i(566033),ei=e.i(23405),es=e.i(277624),ea=e.i(287620),eo=e.i(787342),el=["PageUp","PageDown"],er=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ec={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},ed="Slider",[eu,eg,eh]=(0,eo.createCollection)(ed),[em,ep]=(0,ee.createContextScope)(ed,[eh]),[ef,ex]=em(ed),ev=n.forwardRef((e,i)=>{let{name:s,min:a=0,max:o=100,step:l=1,orientation:r="horizontal",disabled:c=!1,minStepsBetweenThumbs:d=0,defaultValue:u=[a],value:g,onValueChange:h=()=>{},onValueCommit:m=()=>{},inverted:p=!1,form:f,...x}=e,v=n.useRef(new Set),b=n.useRef(0),w="horizontal"===r,[j=[],S]=(0,et.useControllableState)({prop:g,defaultProp:u,onChange:e=>{let t=[...v.current];t[b.current]?.focus(),h(e)}}),y=n.useRef(j);function k(e,t,{commit:n}={commit:!1}){let i,s=(String(l).split(".")[1]||"").length,r=Math.round((Math.round((e-a)/l)*l+a)*(i=Math.pow(10,s)))/i,c=(0,Y.clamp)(r,[a,o]);S((e=[])=>{let i=function(e=[],t,n){let i=[...e];return i[n]=t,i.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,n)=>e[n+1]-t))>=t;return!0}(i,d*l))return e;{b.current=i.indexOf(c);let t=String(i)!==String(e);return t&&n&&m(i),t?i:e}})}return(0,t.jsx)(ef,{scope:e.__scopeSlider,name:s,disabled:c,min:a,max:o,valueIndexToChangeRef:b,thumbs:v.current,values:j,orientation:r,form:f,children:(0,t.jsx)(eu.Provider,{scope:e.__scopeSlider,children:(0,t.jsx)(eu.Slot,{scope:e.__scopeSlider,children:(0,t.jsx)(w?ej:eS,{"aria-disabled":c,"data-disabled":c?"":void 0,...x,ref:i,onPointerDown:(0,J.composeEventHandlers)(x.onPointerDown,()=>{c||(y.current=j)}),min:a,max:o,inverted:p,onSlideStart:c?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let n=e.map(e=>Math.abs(e-t)),i=Math.min(...n);return n.indexOf(i)}(j,e);k(e,t)},onSlideMove:c?void 0:function(e){k(e,b.current)},onSlideEnd:c?void 0:function(){let e=y.current[b.current];j[b.current]!==e&&m(j)},onHomeKeyDown:()=>!c&&k(a,0,{commit:!0}),onEndKeyDown:()=>!c&&k(o,j.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!c){let n=el.includes(e.key)||e.shiftKey&&er.includes(e.key),i=b.current;k(j[i]+l*(n?10:1)*t,i,{commit:!0})}}})})})})});ev.displayName=ed;var[eb,ew]=em(ed,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ej=n.forwardRef((e,i)=>{let{min:s,max:a,dir:o,inverted:l,onSlideStart:r,onSlideMove:c,onSlideEnd:d,onStepKeyDown:u,...g}=e,[h,m]=n.useState(null),p=(0,Q.useComposedRefs)(i,e=>m(e)),f=n.useRef(void 0),x=(0,en.useDirection)(o),v="ltr"===x,b=v&&!l||!v&&l;function w(e){let t=f.current||h.getBoundingClientRect(),n=eF([0,t.width],b?[s,a]:[a,s]);return f.current=t,n(e-t.left)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:(0,t.jsx)(ey,{dir:x,"data-orientation":"horizontal",...g,ref:p,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=ec[b?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),eS=n.forwardRef((e,i)=>{let{min:s,max:a,inverted:o,onSlideStart:l,onSlideMove:r,onSlideEnd:c,onStepKeyDown:d,...u}=e,g=n.useRef(null),h=(0,Q.useComposedRefs)(i,g),m=n.useRef(void 0),p=!o;function f(e){let t=m.current||g.current.getBoundingClientRect(),n=eF([0,t.height],p?[a,s]:[s,a]);return m.current=t,n(e-t.top)}return(0,t.jsx)(eb,{scope:e.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,t.jsx)(ey,{"data-orientation":"vertical",...u,ref:h,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=f(e.clientY);l?.(t)},onSlideMove:e=>{let t=f(e.clientY);r?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=ec[p?"from-bottom":"from-top"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),ey=n.forwardRef((e,n)=>{let{__scopeSlider:i,onSlideStart:s,onSlideMove:a,onSlideEnd:o,onHomeKeyDown:l,onEndKeyDown:r,onStepKeyDown:c,...d}=e,u=ex(ed,i);return(0,t.jsx)(ea.Primitive.span,{...d,ref:n,onKeyDown:(0,J.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(r(e),e.preventDefault()):el.concat(er).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,J.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():s(e)}),onPointerMove:(0,J.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&a(e)}),onPointerUp:(0,J.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),o(e))})})}),ek="SliderTrack",eC=n.forwardRef((e,n)=>{let{__scopeSlider:i,...s}=e,a=ex(ek,i);return(0,t.jsx)(ea.Primitive.span,{"data-disabled":a.disabled?"":void 0,"data-orientation":a.orientation,...s,ref:n})});eC.displayName=ek;var eM="SliderRange",eN=n.forwardRef((e,i)=>{let{__scopeSlider:s,...a}=e,o=ex(eM,s),l=ew(eM,s),r=n.useRef(null),c=(0,Q.useComposedRefs)(i,r),d=o.values.length,u=o.values.map(e=>eD(e,o.min,o.max)),g=d>1?Math.min(...u):0,h=100-Math.max(...u);return(0,t.jsx)(ea.Primitive.span,{"data-orientation":o.orientation,"data-disabled":o.disabled?"":void 0,...a,ref:c,style:{...e.style,[l.startEdge]:g+"%",[l.endEdge]:h+"%"}})});eN.displayName=eM;var eA="SliderThumb",eI=n.forwardRef((e,i)=>{let s=eg(e.__scopeSlider),[a,o]=n.useState(null),l=(0,Q.useComposedRefs)(i,e=>o(e)),r=n.useMemo(()=>a?s().findIndex(e=>e.ref.current===a):-1,[s,a]);return(0,t.jsx)(eT,{...e,ref:l,index:r})}),eT=n.forwardRef((e,i)=>{var s,a,o,l,r;let c,d,{__scopeSlider:u,index:g,name:h,...m}=e,p=ex(eA,u),f=ew(eA,u),[x,v]=n.useState(null),b=(0,Q.useComposedRefs)(i,e=>v(e)),w=!x||p.form||!!x.closest("form"),j=(0,es.useSize)(x),S=p.values[g],y=void 0===S?0:eD(S,p.min,p.max),k=(s=g,(a=p.values.length)>2?`Value ${s+1} of ${a}`:2===a?["Minimum","Maximum"][s]:void 0),C=j?.[f.size],M=C?(o=C,l=y,r=f.direction,d=eF([0,50],[0,c=o/2]),(c-d(l)*r)*r):0;return n.useEffect(()=>{if(x)return p.thumbs.add(x),()=>{p.thumbs.delete(x)}},[x,p.thumbs]),(0,t.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${y}% + ${M}px)`},children:[(0,t.jsx)(eu.ItemSlot,{scope:e.__scopeSlider,children:(0,t.jsx)(ea.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":p.min,"aria-valuenow":S,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...m,ref:b,style:void 0===S?{display:"none"}:e.style,onFocus:(0,J.composeEventHandlers)(e.onFocus,()=>{p.valueIndexToChangeRef.current=g})})}),w&&(0,t.jsx)(eP,{name:h??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:S},g)]})});eI.displayName=eA;var eP=n.forwardRef(({__scopeSlider:e,value:i,...s},a)=>{let o=n.useRef(null),l=(0,Q.useComposedRefs)(o,a),r=(0,ei.usePrevious)(i);return n.useEffect(()=>{let e=o.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(r!==i&&t){let n=new Event("input",{bubbles:!0});t.call(e,i),e.dispatchEvent(n)}},[r,i]),(0,t.jsx)(ea.Primitive.input,{style:{display:"none"},...s,ref:l,defaultValue:i})});function eD(e,t,n){return(0,Y.clamp)(100/(n-t)*(e-t),[0,100])}function eF(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}eP.displayName="RadioBubbleInput",e.s(["Range",()=>eN,"Root",()=>ev,"Slider",()=>ev,"SliderRange",()=>eN,"SliderThumb",()=>eI,"SliderTrack",()=>eC,"Thumb",()=>eI,"Track",()=>eC,"createSliderScope",()=>ep],429991);var eE=e.i(429991),eE=eE;function eR({className:e,defaultValue:i,value:s,min:a=0,max:o=100,...l}){let r=n.useMemo(()=>Array.isArray(s)?s:Array.isArray(i)?i:[a,o],[s,i,a,o]);return(0,t.jsxs)(eE.Root,{"data-slot":"slider",defaultValue:i,value:s,min:a,max:o,className:(0,M.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),...l,children:[(0,t.jsx)(eE.Track,{"data-slot":"slider-track",className:(0,M.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)(eE.Range,{"data-slot":"slider-range",className:(0,M.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:r.length},(e,n)=>(0,t.jsx)(eE.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"},n))]})}let ez=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],eL=ez.length-1;function eB(e){let t=0,n=Math.abs(e-ez[0]);for(let i=1;i<ez.length;i++){let s=Math.abs(e-ez[i]);s<n&&(n=s,t=i)}return t}function e_({id:e,testId:i,value:s,onChange:a,onBlur:o,defaultSeconds:l=1800}){var r;let c,d,u=(""===s?l:parseInt(s,10))||l,[g,h]=(0,n.useState)(()=>eB(u)),m=eB(u);m!==g&&ez[g]!==u&&h(m);let p=(0,n.useCallback)(([e])=>{h(e),a(String(ez[e]))},[a]);return(0,t.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,t.jsx)(eR,{id:e,"data-testid":i,min:0,max:eL,step:1,value:[g],onValueChange:p,onValueCommit:()=>o(),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=ez[g])/3600),d=Math.round(r%3600/60),0===c?`${d}m`:0===d?`${c}h`:`${c}h ${d}m`)})]})}let eH=[{value:E.Language.English,nativeName:"English"},{value:E.Language.Ukrainian,nativeName:"Українська"},{value:E.Language.Russian,nativeName:"Русский"},{value:E.Language.Portuguese,nativeName:"Português"},{value:E.Language.Spanish,nativeName:"Español"},{value:E.Language.Arabic,nativeName:"العربية"},{value:E.Language.Hebrew,nativeName:"עברית"},{value:E.Language.French,nativeName:"Français"},{value:E.Language.German,nativeName:"Deutsch"}],eG=[{value:E.EditorType.VsCode,label:"VS Code"},{value:E.EditorType.Cursor,label:"Cursor"},{value:E.EditorType.Windsurf,label:"Windsurf"},{value:E.EditorType.Zed,label:"Zed"},{value:E.EditorType.Antigravity,label:"Antigravity"}],eK=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],eV=new Set([E.AgentType.CopilotCli]),eO=new Set([E.AgentType.OpenRouter,E.AgentType.TogetherAi]),eW=[{value:E.AgentAuthMethod.Session,label:"Session"},{value:E.AgentAuthMethod.Token,label:"Token"}],eq=[{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:o.GitBranch},{id:"ci",labelKey:"settings.sections.ci",icon:l.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:"home-page",labelKey:"settings.sections.homePage",icon:w.Home},{id:"fab-layout",labelKey:"settings.sections.layout",icon:b.LayoutGrid},{id:"integrations",labelKey:"settings.sections.integrations",icon:y.Github},{id:"database",labelKey:"settings.sections.database",icon:u}];function eU({label:e,description:n,htmlFor:i,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)(N.Label,{htmlFor:i,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:e}),n?(0,t.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:n}):null]}),(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:s})]})}function e$({label:e,description:n,id:i,testId:s,checked:a,onChange:o,disabled:l}){return(0,t.jsx)(eU,{label:e,description:n,htmlFor:i,children:(0,t.jsx)(T.Switch,{id:i,"data-testid":s,checked:a,onCheckedChange:o,disabled:l,className:(0,M.cn)("cursor-pointer",l&&"cursor-not-allowed opacity-50")})})}function eZ({icon:e,title:n,description:i,badge:s,testId:a,children:o}){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:n}),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:i})]}),(0,t.jsx)("div",{className:"px-4",children:o})]})}function eX({id:e,testId:n,value:i,onChange:s,onBlur:a,placeholder:o,min:l=1,max:r,step:c=1,suffix:d}){let{t:u}=(0,C.useTranslation)("web"),g=""===i?void 0:parseInt(i,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(l,(g??parseInt(o,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":n,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:i,placeholder:o,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(o,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)(m.Plus,{className:"h-3 w-3"})})]}),d?(0,t.jsx)("span",{className:"text-muted-foreground text-[11px]",children:d}):null]})}function eY({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 eJ({children:e,links:n}){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!=n&&n.length>0?(0,t.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:n.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)(p.ExternalLink,{className:"h-2.5 w-2.5"}),e.label]},e.href))}):null]})}function eQ({settings:e,shepHome:r,dbFileSize:h,availableTerminals:m}){let{t:p,i18n:N}=(0,C.useTranslation)("web"),{showSaving:T,showSaved:D,save:R}=function(){let{t:e}=(0,C.useTranslation)("web"),[t,i]=(0,n.useTransition)(),[s,a]=(0,n.useState)(!1),[o,l]=(0,n.useState)(!1),r=(0,n.useRef)(null),c=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{t&&!s&&(a(!0),c.current=!1,r.current=setTimeout(()=>{r.current=null,c.current&&(a(!1),l(!0),setTimeout(()=>l(!1),2e3))},350)),!t&&s&&(c.current=!0,r.current||(a(!1),l(!0),setTimeout(()=>l(!1),2e3)))},[t,s]),{showSaving:s,showSaved:o,save:(0,n.useCallback)(t=>{i(async()=>{let n=await F(t);n.success||k.toast.error(n.error??e("settings.failedToSave"))})},[i,e])}}(),z=e.featureFlags??{envDeploy:!1,debug:!1,reactFileManager:!1,projects:!1,codeReview:!1,collaboration:!1},[L,_]=(0,n.useState)(e.user?.preferredLanguage??E.Language.English),[H,G]=(0,n.useState)(e.agent.type),[K,V]=(0,n.useState)(e.agent.authMethod),[q,U]=(0,n.useState)(e.agent.token??""),[$,Z]=(0,n.useState)(!1),[Y,J]=(0,n.useState)(e.environment.defaultEditor),[Q,ee]=(0,n.useState)(e.environment.shellPreference),[et,en]=(0,n.useState)(e.environment.terminalPreference??E.TerminalType.System),ei=m?m.filter(e=>e.available):[{id:E.TerminalType.System,name:p("settings.environment.systemTerminal"),available:!0}],[es,ea]=(0,n.useState)(e.workflow.openPrOnImplementationComplete),[eo,el]=(0,n.useState)(e.workflow.approvalGateDefaults.pushOnImplementationComplete),[er,ec]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPrd),[ed,eu]=(0,n.useState)(e.workflow.approvalGateDefaults.allowPlan),[eg,eh]=(0,n.useState)(e.workflow.approvalGateDefaults.allowMerge),[em,ep]=(0,n.useState)(e.workflow.enableEvidence),[ef,ex]=(0,n.useState)(e.workflow.commitEvidence),[ev,eb]=(0,n.useState)(!1!==e.workflow.ciWatchEnabled),[ew,ej]=(0,n.useState)(!1!==e.workflow.hideCiStatus),[eS,ey]=(0,n.useState)(!1!==e.workflow.defaultFastMode),[ek,eC]=(0,n.useState)((e.workflow.autoArchiveDelayMinutes??10)>0),[eM,eN]=(0,n.useState)(String(e.workflow.autoArchiveDelayMinutes??10)),[eA,eI]=(0,n.useState)(null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):""),[eT,eP]=(0,n.useState)(null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):""),[eD,eF]=(0,n.useState)(null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):""),[eE,eR]=(0,n.useState)(null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):""),ez=e.workflow.stageTimeouts,[eL,eB]=(0,n.useState)(String(Math.round((ez?.analyzeMs??18e5)/1e3))),[eQ,e0]=(0,n.useState)(String(Math.round((ez?.requirementsMs??18e5)/1e3))),[e1,e5]=(0,n.useState)(String(Math.round((ez?.researchMs??18e5)/1e3))),[e3,e2]=(0,n.useState)(String(Math.round((ez?.planMs??18e5)/1e3))),[e4,e8]=(0,n.useState)(String(Math.round((ez?.implementMs??18e5)/1e3))),[e6,e9]=(0,n.useState)(String(Math.round((ez?.fastImplementMs??18e5)/1e3))),[e7,te]=(0,n.useState)(String(Math.round((ez?.mergeMs??18e5)/1e3))),tt=e.workflow.analyzeRepoTimeouts,[tn,ti]=(0,n.useState)(String(Math.round((tt?.analyzeMs??6e5)/1e3))),ts=e.interactiveAgent??{enabled:!0,autoTimeoutMinutes:15,maxConcurrentSessions:3},[ta,to]=(0,n.useState)(ts.enabled),[tl,tr]=(0,n.useState)(String(ts.autoTimeoutMinutes)),[tc,td]=(0,n.useState)(String(ts.maxConcurrentSessions)),[tu,tg]=(0,n.useState)(e.defaultHomePage??E.DefaultHomePage.ControlCenter),th=e.fabLayout??{swapPosition:!1},[tm,tp]=(0,n.useState)(th.swapPosition),[tf,tx]=(0,n.useState)(e.notifications.inApp.enabled),[tv,tb]=(0,n.useState)({...e.notifications.events}),[tw,tj]=(0,n.useState)({...z}),tS=null!=e.workflow.ciMaxFixAttempts?String(e.workflow.ciMaxFixAttempts):"",ty=null!=e.workflow.ciWatchTimeoutMs?String(Math.round(e.workflow.ciWatchTimeoutMs/1e3)):"",tk=null!=e.workflow.ciLogMaxChars?String(e.workflow.ciLogMaxChars):"",tC=null!=e.workflow.ciWatchPollIntervalSeconds?String(e.workflow.ciWatchPollIntervalSeconds):"",tM=ez?.analyzeMs!=null?String(Math.round(ez.analyzeMs/1e3)):"",tN=ez?.requirementsMs!=null?String(Math.round(ez.requirementsMs/1e3)):"",tA=ez?.researchMs!=null?String(Math.round(ez.researchMs/1e3)):"",tI=ez?.planMs!=null?String(Math.round(ez.planMs/1e3)):"",tT=ez?.implementMs!=null?String(Math.round(ez.implementMs/1e3)):"",tP=ez?.fastImplementMs!=null?String(Math.round(ez.fastImplementMs/1e3)):"",tD=ez?.mergeMs!=null?String(Math.round(ez.mergeMs/1e3)):"",tF=tt?.analyzeMs!=null?String(Math.round(tt.analyzeMs/1e3)):"";function tE(e){if(""===e)return;let t=parseInt(e,10);return Number.isNaN(t)||t<=0?void 0:t}function tR(e){if(void 0===e)return;let t=tE(e);return null!=t?1e3*t:void 0}function tz(e={}){let t=tE(e.ciTimeout??eT),n=e.autoArchiveEnabled??ek,i=parseInt(e.autoArchiveDelay??eM,10);return{workflow:{openPrOnImplementationComplete:e.openPr??es,approvalGateDefaults:{pushOnImplementationComplete:e.pushOnComplete??eo,allowPrd:e.allowPrd??er,allowPlan:e.allowPlan??ed,allowMerge:e.allowMerge??eg},enableEvidence:e.enableEvidence??em,commitEvidence:e.commitEvidence??ef,ciWatchEnabled:e.ciWatchEnabled??ev,hideCiStatus:e.hideCiStatus??ew,defaultFastMode:e.defaultFastMode??eS,autoArchiveDelayMinutes:n?Number.isNaN(i)||i<1?10:i:0,ciMaxFixAttempts:tE(e.ciMaxFix??eA),ciWatchTimeoutMs:null!=t?1e3*t:void 0,ciLogMaxChars:tE(e.ciLogMax??eD),ciWatchPollIntervalSeconds:tE(e.ciPollInterval??eE),stageTimeouts:{analyzeMs:tR(e.analyzeTimeout??eL),requirementsMs:tR(e.requirementsTimeout??eQ),researchMs:tR(e.researchTimeout??e1),planMs:tR(e.planTimeout??e3),implementMs:tR(e.implementTimeout??e4),fastImplementMs:tR(e.fastImplementTimeout??e6),mergeMs:tR(e.mergeTimeout??e7)},analyzeRepoTimeouts:{analyzeMs:tR(e.analyzeRepoTimeout??tn)}}}}function tL(e={}){return{notifications:{inApp:{enabled:e.inApp??tf},events:e.events??tv}}}let[tB,t_]=(0,n.useState)("agent");(0,n.useEffect)(()=>{let e=eq.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&&t_(t.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let n of e)t.observe(n);return()=>t.disconnect()},[]);let tH=(0,n.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:p("settings.title")}),(0,t.jsxs)("span",{className:"relative h-4 w-16",children:[(0,t.jsx)("span",{className:(0,M.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",T?"opacity-100":"opacity-0"),children:p("settings.saving")}),(0,t.jsxs)("span",{className:(0,M.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",D&&!T?"opacity-100":"opacity-0"),children:[(0,t.jsx)(i.Check,{className:"h-3 w-3"}),p("settings.saved")]})]}),(0,t.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:eq.map(e=>{let n=e.icon,i=tB===e.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>tH(e.id),className:(0,M.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",i?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,t.jsx)(n,{className:"h-3 w-3"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:p(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)(eZ,{icon:g.Globe,title:p("settings.language.title"),description:p("settings.language.description"),testId:"language-settings-section",children:(0,t.jsx)(eU,{label:p("settings.language.label"),htmlFor:"display-language",children:(0,t.jsxs)(P.Select,{value:L,onValueChange:function(e){_(e),N.changeLanguage(e);let t="ar"===e||"he"===e?"rtl":"ltr";document.documentElement.lang=e,document.documentElement.dir=t,R({user:{preferredLanguage:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"display-language","data-testid":"language-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{placeholder:p("settings.language.placeholder")})}),(0,t.jsx)(P.SelectContent,{children:eH.map(e=>(0,t.jsx)(P.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)(eZ,{icon:s.Bot,title:p("settings.agent.sectionTitle"),description:p("settings.agent.sectionDescription"),testId:"agent-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.agent.agentAndModel"),description:p("settings.agent.agentAndModelDescription"),htmlFor:"agent-model-picker",children:(0,t.jsx)(W.AgentModelPicker,{initialAgentType:H,initialModel:e.models.default,mode:"settings",onAgentModelChange:e=>{G(e),eO.has(e)&&K!==E.AgentAuthMethod.Token?(V(E.AgentAuthMethod.Token),R({agent:{type:e,authMethod:E.AgentAuthMethod.Token}})):eV.has(e)&&K!==E.AgentAuthMethod.Session&&(V(E.AgentAuthMethod.Session),R({agent:{type:e,authMethod:E.AgentAuthMethod.Session}}))},className:"w-55"})}),(0,t.jsx)(eU,{label:"Auth Method",description:"How this agent authenticates",htmlFor:"agent-auth-method",children:(0,t.jsxs)(P.Select,{value:K,onValueChange:e=>{V(e);let t={type:H,authMethod:e};e===E.AgentAuthMethod.Token&&(t.token=q),R({agent:t})},disabled:eV.has(H)||eO.has(H),children:[(0,t.jsx)(P.SelectTrigger,{id:"agent-auth-method","data-testid":"agent-auth-method-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eW.filter(e=>eV.has(H)?e.value===E.AgentAuthMethod.Session:!eO.has(H)||e.value===E.AgentAuthMethod.Token).map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),eO.has(H)&&(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."})}),K===E.AgentAuthMethod.Token&&(0,t.jsx)(eU,{label:"API Token",description:"Saves on blur",htmlFor:"agent-token",children:(0,t.jsxs)("div",{className:"relative w-55",children:[(0,t.jsx)(A.Input,{id:"agent-token","data-testid":"agent-token-input",type:$?"text":"password",value:q,onChange:e=>U(e.target.value),onBlur:()=>{q!==(e.agent.token??"")&&R({agent:{type:H,authMethod:K,token:q}})},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:()=>Z(!$),"data-testid":"toggle-token-visibility","aria-label":$?"Hide token":"Show token",children:$?(0,t.jsx)(S.EyeOff,{className:"h-3.5 w-3.5"}):(0,t.jsx)(j.Eye,{className:"h-3.5 w-3.5"})})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.agent.links.agentSystem"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/agent-system.md"},{label:p("settings.agent.links.addingAgents"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/adding-agents.md"},{label:p("settings.agent.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:a.Terminal,title:p("settings.environment.sectionTitle"),description:p("settings.environment.sectionDescription"),testId:"environment-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.environment.defaultEditor"),description:p("settings.environment.defaultEditorDescription"),htmlFor:"default-editor",children:(0,t.jsxs)(P.Select,{value:Y,onValueChange:e=>{J(e),R({environment:{defaultEditor:e,shellPreference:Q,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eG.map(e=>{var n;let i=(n=e.value)&&n in O?O[n]:B;return(0,t.jsx)(P.SelectItem,{value:e.value,children:(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(i,{className:"h-4 w-4 shrink-0"}),e.label]})},e.value)})})]})}),(0,t.jsx)(eU,{label:p("settings.environment.shell"),description:p("settings.environment.shellDescription"),htmlFor:"shell-preference",children:(0,t.jsxs)(P.Select,{value:Q,onValueChange:e=>{ee(e),R({environment:{defaultEditor:Y,shellPreference:e,terminalPreference:et}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:eK.map(e=>(0,t.jsx)(P.SelectItem,{value:e.value,children:e.label},e.value))})]})}),(0,t.jsx)(eU,{label:p("settings.environment.terminal"),description:p("settings.environment.terminalDescription"),htmlFor:"terminal-preference",children:(0,t.jsxs)(P.Select,{value:et,onValueChange:e=>{en(e),R({environment:{defaultEditor:Y,shellPreference:Q,terminalPreference:e}})},children:[(0,t.jsx)(P.SelectTrigger,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:ei.map(e=>(0,t.jsx)(P.SelectItem,{value:e.id,children:e.name},e.id))})]})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.environment.links.configurationGuide"),href:"https://github.com/shep-ai/shep/blob/main/docs/guides/configuration.md"}],children:p("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)(eZ,{icon:o.GitBranch,title:p("settings.workflow.title"),description:p("settings.workflow.sectionDescription"),testId:"workflow-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.workflow.defaultFastMode"),description:p("settings.workflow.defaultFastModeDescription"),id:"default-fast-mode",testId:"switch-default-fast-mode",checked:eS,onChange:e=>{ey(e),R(tz({defaultFastMode:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.approve")}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePrd"),description:p("settings.workflow.autoApprovePrdDescription"),id:"allow-prd",testId:"switch-allow-prd",checked:er,onChange:e=>{ec(e),R(tz({allowPrd:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApprovePlan"),description:p("settings.workflow.autoApprovePlanDescription"),id:"allow-plan",testId:"switch-allow-plan",checked:ed,onChange:e=>{eu(e),R(tz({allowPlan:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.autoApproveMerge"),description:p("settings.workflow.autoApproveMergeDescription"),id:"allow-merge",testId:"switch-allow-merge",checked:eg,onChange:e=>{eh(e),R(tz({allowMerge:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.evidence")}),(0,t.jsx)(e$,{label:p("settings.workflow.collectEvidence"),description:p("settings.workflow.collectEvidenceDescription"),id:"enable-evidence",testId:"switch-enable-evidence",checked:em,onChange:e=>{ep(e),e?R(tz({enableEvidence:e})):(ex(!1),R(tz({enableEvidence:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.addEvidenceToPr"),description:p("settings.workflow.addEvidenceToPrDescription"),id:"commit-evidence",testId:"switch-commit-evidence",checked:ef,disabled:!em||!es,onChange:e=>{ex(e),R(tz({commitEvidence:e}))}}),(0,t.jsx)(eY,{children:p("settings.workflow.subsections.git")}),(0,t.jsx)(e$,{label:p("settings.workflow.pushOnComplete"),description:p("settings.workflow.pushOnCompleteDescription"),id:"push-on-complete",testId:"switch-push-on-complete",checked:eo,onChange:e=>{el(e),R(tz({pushOnComplete:e}))}}),(0,t.jsx)(e$,{label:p("settings.workflow.openPrOnComplete"),description:p("settings.workflow.openPrOnCompleteDescription"),id:"open-pr",testId:"switch-open-pr",checked:es,onChange:e=>{ea(e),e?R(tz({openPr:e})):(ex(!1),R(tz({openPr:e,commitEvidence:!1})))}}),(0,t.jsx)(e$,{label:p("settings.workflow.watchCiAfterPush"),description:p("settings.workflow.watchCiAfterPushDescription"),id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:ev,onChange:e=>{eb(e),R(tz({ciWatchEnabled:e}))}}),(0,t.jsx)(eY,{children:"Archive"}),(0,t.jsx)(e$,{label:"Auto-archive completed",description:"Automatically archive features after they reach the completed state",id:"auto-archive-enabled",testId:"switch-auto-archive-enabled",checked:ek,onChange:e=>{eC(e),R(tz({autoArchiveEnabled:e}))}}),(0,t.jsx)(eU,{label:"Archive delay",description:"Minutes to wait after completion before archiving (1–1440)",htmlFor:"auto-archive-delay",children:(0,t.jsx)(eX,{id:"auto-archive-delay",testId:"input-auto-archive-delay",value:eM,placeholder:"10",min:1,max:1440,suffix:"min",onChange:e=>{eN(e)},onBlur:()=>{if(!ek)return;let e=parseInt(eM,10),t=Number.isNaN(e)?10:Math.min(1440,Math.max(1,e));eN(String(t)),R(tz({autoArchiveDelay:String(t)}))}})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.workflow.links.approvalGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:p("settings.workflow.links.pushAndPrFlags"),href:"https://github.com/shep-ai/shep/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:p("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)(eZ,{icon:l.Activity,title:p("settings.ci.title"),description:p("settings.ci.description"),testId:"ci-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.ci.maxFixAttempts"),description:p("settings.ci.maxFixAttemptsDescription"),htmlFor:"ci-max-fix",children:(0,t.jsx)(eX,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:eA,onChange:eI,onBlur:()=>{eA!==tS&&R(tz({ciMaxFix:eA}))},min:1,max:10})}),(0,t.jsx)(eU,{label:p("settings.ci.watchTimeout"),description:p("settings.ci.watchTimeoutDescription"),htmlFor:"ci-timeout",children:(0,t.jsx)(eX,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:eT,onChange:eP,onBlur:()=>{eT!==ty&&R(tz({ciTimeout:eT}))},min:30,step:30,suffix:"sec"})}),(0,t.jsx)(eU,{label:p("settings.ci.maxLogSize"),description:p("settings.ci.maxLogSizeDescription"),htmlFor:"ci-log-max",children:(0,t.jsx)(eX,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:eD,onChange:eF,onBlur:()=>{eD!==tk&&R(tz({ciLogMax:eD}))},min:1e3,step:5e3,suffix:"chars"})}),(0,t.jsx)(eU,{label:p("settings.ci.pollInterval"),description:p("settings.ci.pollIntervalDescription"),htmlFor:"ci-poll-interval",children:(0,t.jsx)(eX,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:eE,onChange:eR,onBlur:()=>{eE!==tC&&R(tz({ciPollInterval:eE}))},min:5,step:5,suffix:"sec"})}),(0,t.jsx)(e$,{label:p("settings.ci.hideCiStatus"),description:p("settings.ci.hideCiStatusDescription"),id:"hide-ci-status",testId:"switch-hide-ci-status",checked:ew,onChange:e=>{ej(e),R(tz({hideCiStatus:e}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.ci.links.cicdPipeline"),href:"https://github.com/shep-ai/shep/blob/main/docs/development/cicd.md"},{label:p("settings.ci.links.ciSecurityGates"),href:"https://github.com/shep-ai/shep/blob/main/specs/003-cicd-security-gates/spec.md"}],children:p("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)(eZ,{icon:x.Timer,title:p("settings.stageTimeouts.title"),description:p("settings.stageTimeouts.description"),testId:"stage-timeouts-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.featureAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze",children:(0,t.jsx)(e_,{id:"timeout-analyze",testId:"timeout-analyze-input",value:eL,onChange:eB,onBlur:()=>{eL!==tM&&R(tz({analyzeTimeout:eL}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.requirements"),description:p("settings.stageTimeouts.requirementsDescription"),htmlFor:"timeout-requirements",children:(0,t.jsx)(e_,{id:"timeout-requirements",testId:"timeout-requirements-input",value:eQ,onChange:e0,onBlur:()=>{eQ!==tN&&R(tz({requirementsTimeout:eQ}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.research"),description:p("settings.stageTimeouts.researchDescription"),htmlFor:"timeout-research",children:(0,t.jsx)(e_,{id:"timeout-research",testId:"timeout-research-input",value:e1,onChange:e5,onBlur:()=>{e1!==tA&&R(tz({researchTimeout:e1}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.plan"),description:p("settings.stageTimeouts.planDescription"),htmlFor:"timeout-plan",children:(0,t.jsx)(e_,{id:"timeout-plan",testId:"timeout-plan-input",value:e3,onChange:e2,onBlur:()=>{e3!==tI&&R(tz({planTimeout:e3}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.implement"),description:p("settings.stageTimeouts.implementDescription"),htmlFor:"timeout-implement",children:(0,t.jsx)(e_,{id:"timeout-implement",testId:"timeout-implement-input",value:e4,onChange:e8,onBlur:()=>{e4!==tT&&R(tz({implementTimeout:e4}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.fastImplement"),description:p("settings.stageTimeouts.fastImplementDescription"),htmlFor:"timeout-fast-implement",children:(0,t.jsx)(e_,{id:"timeout-fast-implement",testId:"timeout-fast-implement-input",value:e6,onChange:e9,onBlur:()=>{e6!==tP&&R(tz({fastImplementTimeout:e6}))},defaultSeconds:1800})}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.merge"),description:p("settings.stageTimeouts.mergeDescription"),htmlFor:"timeout-merge",children:(0,t.jsx)(e_,{id:"timeout-merge",testId:"timeout-merge-input",value:e7,onChange:te,onBlur:()=>{e7!==tD&&R(tz({mergeTimeout:e7}))},defaultSeconds:1800})}),(0,t.jsx)(eY,{children:p("settings.stageTimeouts.subsections.analyzeRepoAgent")}),(0,t.jsx)(eU,{label:p("settings.stageTimeouts.analyze"),description:p("settings.stageTimeouts.analyzeDescription"),htmlFor:"timeout-analyze-repo",children:(0,t.jsx)(e_,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:tn,onChange:ti,onBlur:()=>{tn!==tF&&R(tz({analyzeRepoTimeout:tn}))},defaultSeconds:600})})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:c,title:p("settings.notifications.title"),description:p("settings.notifications.sectionDescription"),testId:"notification-settings-section",children:[(0,t.jsx)(eY,{children:p("settings.notifications.channels")}),(0,t.jsx)(e$,{label:p("settings.notifications.inAppLabel"),description:p("settings.notifications.inAppDescription"),id:"notif-in-app",testId:"switch-in-app",checked:tf,onChange:e=>{tx(e),R(tL({inApp:e}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.agentEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentStarted"),id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:tv.agentStarted,onChange:e=>{let t={...tv,agentStarted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.phaseCompleted"),id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:tv.phaseCompleted,onChange:e=>{let t={...tv,phaseCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.waitingApproval"),id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:tv.waitingApproval,onChange:e=>{let t={...tv,waitingApproval:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentCompleted"),id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:tv.agentCompleted,onChange:e=>{let t={...tv,agentCompleted:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.agentFailed"),id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:tv.agentFailed,onChange:e=>{let t={...tv,agentFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(eY,{children:p("settings.notifications.subsections.pullRequestEvents")}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prMerged"),id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:tv.prMerged,onChange:e=>{let t={...tv,prMerged:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prClosed"),id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:tv.prClosed,onChange:e=>{let t={...tv,prClosed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksPassed"),id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:tv.prChecksPassed,onChange:e=>{let t={...tv,prChecksPassed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prChecksFailed"),id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:tv.prChecksFailed,onChange:e=>{let t={...tv,prChecksFailed:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.prBlocked"),id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:tv.prBlocked,onChange:e=>{let t={...tv,prBlocked:e};tb(t),R(tL({events:t}))}}),(0,t.jsx)(e$,{label:p("settings.notifications.events.mergeReviewReady"),id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:tv.mergeReviewReady,onChange:e=>{let t={...tv,mergeReviewReady:e};tb(t),R(tL({events:t}))}})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.notifications.links.notificationSystem"),href:"https://github.com/shep-ai/shep/blob/main/specs/021-agent-notifications/spec.yaml"}],children:p("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)(eZ,{icon:d,title:p("settings.featureFlags.title"),description:p("settings.featureFlags.sectionDescription"),badge:p("settings.featureFlags.badge"),testId:"feature-flags-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.featureFlags.deployments"),description:p("settings.featureFlags.deploymentsDescription"),id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:tw.envDeploy,onChange:e=>{let t={...tw,envDeploy:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.debug"),description:p("settings.featureFlags.debugDescription"),id:"flag-debug",testId:"switch-flag-debug",checked:tw.debug,onChange:e=>{let t={...tw,debug:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.reactFileManager"),description:p("settings.featureFlags.reactFileManagerDescription"),id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:tw.reactFileManager,onChange:e=>{let t={...tw,reactFileManager:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.projects"),description:p("settings.featureFlags.projectsDescription"),id:"flag-projects",testId:"switch-flag-projects",checked:tw.projects,onChange:e=>{let t={...tw,projects:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.codeReview"),description:p("settings.featureFlags.codeReviewDescription"),id:"flag-code-review",testId:"switch-flag-code-review",checked:tw.codeReview,onChange:e=>{let t={...tw,codeReview:e};tj(t),R({featureFlags:t})}}),(0,t.jsx)(e$,{label:p("settings.featureFlags.collaboration"),description:p("settings.featureFlags.collaborationDescription"),id:"flag-collaboration",testId:"switch-flag-collaboration",checked:tw.collaboration,onChange:e=>{let t={...tw,collaboration:e};tj(t),R({featureFlags:t})}})]}),(0,t.jsx)(eJ,{children:p("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)(eZ,{icon:v.MessageSquare,title:p("settings.interactiveAgent.title"),description:p("settings.interactiveAgent.description"),testId:"interactive-agent-settings-section",children:[(0,t.jsx)(e$,{label:p("settings.interactiveAgent.enableChatTab"),description:p("settings.interactiveAgent.enableChatTabDescription"),id:"interactive-agent-enabled",testId:"switch-interactive-agent-enabled",checked:ta,onChange:e=>{to(e),R({interactiveAgent:{enabled:e,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:parseInt(tc,10)||3}})}}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.autoTimeout"),description:p("settings.interactiveAgent.autoTimeoutDescription"),htmlFor:"interactive-agent-timeout",children:(0,t.jsx)(eX,{id:"interactive-agent-timeout",testId:"input-interactive-agent-timeout",value:tl,placeholder:"15",min:1,max:120,suffix:"min",onChange:tr,onBlur:()=>{let e=parseInt(tl,10),t=Number.isNaN(e)?15:Math.min(120,Math.max(1,e));tr(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:t,maxConcurrentSessions:parseInt(tc,10)||3}})}})}),(0,t.jsx)(eU,{label:p("settings.interactiveAgent.maxConcurrentSessions"),description:p("settings.interactiveAgent.maxConcurrentSessionsDescription"),htmlFor:"interactive-agent-sessions",children:(0,t.jsx)(eX,{id:"interactive-agent-sessions",testId:"input-interactive-agent-sessions",value:tc,placeholder:"3",min:1,max:10,onChange:td,onBlur:()=>{let e=parseInt(tc,10),t=Number.isNaN(e)?3:Math.min(10,Math.max(1,e));td(String(t)),R({interactiveAgent:{enabled:ta,autoTimeoutMinutes:parseInt(tl,10)||15,maxConcurrentSessions:t}})}})})]}),(0,t.jsx)(eJ,{children:p("settings.interactiveAgent.hint")})]}),(0,t.jsxs)("div",{id:"section-home-page",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:w.Home,title:p("settings.homePage.title"),description:p("settings.homePage.description"),testId:"home-page-settings-section",children:(0,t.jsx)(eU,{label:p("settings.homePage.label"),description:p("settings.homePage.labelDescription"),htmlFor:"default-home-page",children:(0,t.jsxs)(P.Select,{value:tu,onValueChange:e=>{tg(e),R({defaultHomePage:e})},children:[(0,t.jsx)(P.SelectTrigger,{id:"default-home-page","data-testid":"default-home-page-select",className:"w-44",children:(0,t.jsx)(P.SelectValue,{})}),(0,t.jsx)(P.SelectContent,{children:Object.values(E.DefaultHomePage).map(e=>(0,t.jsx)(P.SelectItem,{value:e,children:p(`settings.homePage.options.${e}`)},e))})]})})}),(0,t.jsx)(eJ,{children:p("settings.homePage.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)(eZ,{icon:b.LayoutGrid,title:p("settings.fabLayout.title"),description:p("settings.fabLayout.description"),testId:"fab-layout-settings-section",children:(0,t.jsx)(e$,{label:p("settings.fabLayout.swapPosition"),description:p("settings.fabLayout.swapPositionDescription"),id:"fab-swap-position",testId:"switch-fab-swap-position",checked:tm,onChange:e=>{tp(e),R({fabLayout:{swapPosition:e}})}})}),(0,t.jsx)(eJ,{children:p("settings.fabLayout.hint")})]}),(0,t.jsxs)("div",{id:"section-integrations",className:"grid scroll-mt-18 grid-cols-1 gap-x-5 rounded-lg lg:grid-cols-[1fr_280px]",children:[(0,t.jsx)(eZ,{icon:y.Github,title:"GitHub",description:"Connect a Personal Access Token so gh, git push, and other tools authenticate automatically in shep terminals.",testId:"github-integration-section",children:(0,t.jsx)(X,{})}),(0,t.jsx)(eJ,{children:"The token is encrypted with your local LocalSecretBox and only injected into terminal sessions you start from shep. It never leaves this machine."})]}),(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)(eZ,{icon:u,title:p("settings.database.title"),description:p("settings.database.sectionDescription"),testId:"database-settings-section",children:[(0,t.jsx)(eU,{label:p("settings.database.location"),description:p("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)(eU,{label:p("settings.database.size"),children:(0,t.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:h})})]}),(0,t.jsx)(eJ,{links:[{label:p("settings.database.links.settingsService"),href:"https://github.com/shep-ai/shep/blob/main/docs/architecture/settings-service.md"},{label:p("settings.database.links.settingsSpec"),href:"https://github.com/shep-ai/shep/blob/main/specs/005-global-settings-service/spec.md"}],children:p("settings.database.hint")})]})]})]})}e.s(["SettingsPageClient",()=>eQ],541952)}]);