@shepai/cli 1.147.0 → 1.148.0

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 (173) hide show
  1. package/apis/json-schema/Attachment.yaml +3 -0
  2. package/dist/packages/core/src/domain/generated/output.d.ts +4 -0
  3. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  4. package/dist/src/presentation/web/app/actions/compose-user-input.d.ts +1 -0
  5. package/dist/src/presentation/web/app/actions/compose-user-input.d.ts.map +1 -1
  6. package/dist/src/presentation/web/app/actions/compose-user-input.js +3 -1
  7. package/dist/src/presentation/web/app/actions/create-feature.d.ts +1 -0
  8. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  9. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.d.ts +5 -1
  10. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.d.ts.map +1 -1
  11. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +6 -3
  12. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.d.ts +2 -0
  13. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.d.ts.map +1 -1
  14. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.stories.js +20 -0
  15. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  16. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +5 -1
  17. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar-config.d.ts +2 -0
  18. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar-config.d.ts.map +1 -1
  19. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.d.ts.map +1 -1
  20. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +4 -1
  21. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -0
  22. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  23. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +4 -1
  24. package/dist/tsconfig.build.tsbuildinfo +1 -1
  25. package/package.json +1 -1
  26. package/web/.next/BUILD_ID +1 -1
  27. package/web/.next/build-manifest.json +2 -2
  28. package/web/.next/fallback-build-manifest.json +2 -2
  29. package/web/.next/prerender-manifest.json +3 -3
  30. package/web/.next/required-server-files.js +2 -2
  31. package/web/.next/required-server-files.json +2 -2
  32. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
  33. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  34. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  35. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +28 -28
  36. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  38. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  39. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  40. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  41. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
  42. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  43. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  44. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  45. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  46. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +28 -28
  48. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
  51. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  52. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  53. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
  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)/page/server-reference-manifest.json +26 -26
  57. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  58. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  59. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
  60. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  61. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  62. package/web/.next/server/app/_global-error.html +2 -2
  63. package/web/.next/server/app/_global-error.rsc +1 -1
  64. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  65. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  66. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  67. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  68. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  69. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
  70. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  72. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  73. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
  75. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
  77. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
  79. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  80. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  81. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
  82. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  83. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  84. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  85. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -1
  86. package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js +2 -2
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js.map +1 -1
  88. package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js.map +1 -1
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
  92. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
  93. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
  95. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
  96. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +5 -2
  97. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  98. package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js +1 -1
  99. package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +1 -1
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js +1 -1
  103. package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js +1 -1
  105. package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js.map +1 -1
  106. package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js +1 -1
  107. package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js.map +1 -1
  108. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  109. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/_0c5f56e3._.js +2 -2
  111. package/web/.next/server/chunks/ssr/_0c5f56e3._.js.map +1 -1
  112. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  113. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  114. package/web/.next/server/chunks/ssr/_1b719e7f._.js +1 -1
  115. package/web/.next/server/chunks/ssr/_1b719e7f._.js.map +1 -1
  116. package/web/.next/server/chunks/ssr/_37e8548b._.js +1 -1
  117. package/web/.next/server/chunks/ssr/_37e8548b._.js.map +1 -1
  118. package/web/.next/server/chunks/ssr/{_5a50254c._.js → _4533d6f8._.js} +2 -2
  119. package/web/.next/server/chunks/ssr/{_5a50254c._.js.map → _4533d6f8._.js.map} +1 -1
  120. package/web/.next/server/chunks/ssr/_55d763e2._.js +1 -1
  121. package/web/.next/server/chunks/ssr/_55d763e2._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/_6256a985._.js +1 -1
  123. package/web/.next/server/chunks/ssr/_6256a985._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/_64bdfc6f._.js +2 -2
  125. package/web/.next/server/chunks/ssr/_64bdfc6f._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/_8fcc39d4._.js +1 -1
  127. package/web/.next/server/chunks/ssr/_8fcc39d4._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/_b71645b4._.js +1 -1
  129. package/web/.next/server/chunks/ssr/_b71645b4._.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  131. package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
  132. package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
  133. package/web/.next/server/chunks/ssr/_fe63a7f9._.js +3 -0
  134. package/web/.next/server/chunks/ssr/{_b839d4f1._.js.map → _fe63a7f9._.js.map} +1 -1
  135. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  136. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/{src_presentation_web_523768ca._.js → src_presentation_web_7b2fda40._.js} +2 -2
  138. package/web/.next/server/chunks/ssr/{src_presentation_web_523768ca._.js.map → src_presentation_web_7b2fda40._.js.map} +1 -1
  139. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
  140. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
  141. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
  142. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  144. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  145. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  146. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  147. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  148. package/web/.next/server/pages/500.html +2 -2
  149. package/web/.next/server/server-reference-manifest.js +1 -1
  150. package/web/.next/server/server-reference-manifest.json +44 -44
  151. package/web/.next/static/chunks/0137d4850cab3c45.js +5 -0
  152. package/web/.next/static/chunks/{a0ab3aee9a5e3d02.js → 04869f1d3f5d9071.js} +1 -1
  153. package/web/.next/static/chunks/063a24b49d9818a0.js +1 -0
  154. package/web/.next/static/chunks/21e82fee1a7e1668.js +1 -0
  155. package/web/.next/static/chunks/{9fd5c3ecc8c5eb07.js → 48850e202dd814ac.js} +1 -1
  156. package/web/.next/static/chunks/49057cf8cd37e262.js +1 -0
  157. package/web/.next/static/chunks/{28f5e2d65510526a.js → 682563e4503cbd58.js} +1 -1
  158. package/web/.next/static/chunks/{0539e93ac218f442.js → 683b1d85e789c2eb.js} +2 -2
  159. package/web/.next/static/chunks/{0ddea46ed4ba1621.js → 6f76e63ead3fac2e.js} +1 -1
  160. package/web/.next/static/chunks/{a63c16171b149d2d.js → 7c5131e33516a325.js} +1 -1
  161. package/web/.next/static/chunks/9b8678597fa1db84.css +1 -0
  162. package/web/.next/static/chunks/{8923825cdb21cf1c.js → 9dad6769d10a32df.js} +1 -1
  163. package/web/.next/static/chunks/{63f412a89bde2484.js → c731682077fbac4f.js} +1 -1
  164. package/web/.next/static/chunks/{ebbc5dd20e227e3d.js → d62ae5e449d87057.js} +1 -1
  165. package/web/.next/server/chunks/ssr/_b839d4f1._.js +0 -3
  166. package/web/.next/static/chunks/79984461b85f1e4e.js +0 -1
  167. package/web/.next/static/chunks/7ab5c32984198a7e.js +0 -2
  168. package/web/.next/static/chunks/869ae48ca73fa328.js +0 -1
  169. package/web/.next/static/chunks/d61c239df26c61fd.css +0 -1
  170. package/web/.next/static/chunks/fa556c575c788679.js +0 -1
  171. /package/web/.next/static/{41QsWn4e2sGnQCNBIar6W → zYKuE1zbe1UWwAJv5EVwg}/_buildManifest.js +0 -0
  172. /package/web/.next/static/{41QsWn4e2sGnQCNBIar6W → zYKuE1zbe1UWwAJv5EVwg}/_clientMiddlewareManifest.json +0 -0
  173. /package/web/.next/static/{41QsWn4e2sGnQCNBIar6W → zYKuE1zbe1UWwAJv5EVwg}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-down.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/minus.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/copy.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-open.ts","../../../../../../../src/presentation/web/app/actions/data%3Abf3fbb%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3Afa1286%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3Aef8bc0%20%3Ctext/javascript%3E","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/code-xml.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/zap.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-previous%401.1.1_%40types%2Breact%4019.2.10_react%4019.2.4/node_modules/%40radix-ui/react-use-previous/src/use-previous.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-right.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-left.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../src/presentation/web/components/common/base-drawer/index.ts","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../src/presentation/web/app/actions/data%3A8b9bd0%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A4a65f9%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A5ce0ce%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/components/common/repository-node/use-repository-actions.ts","../../../../../../../src/presentation/web/app/actions/data%3A6fc5c6%20%3Ctext/javascript%3E"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M5 12h14', key: '1ays0h' }]];\n\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Minus = createLucideIcon('minus', __iconNode);\n\nexport default Minus;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n];\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon('copy', __iconNode);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n key: 'usdka0',\n },\n ],\n];\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderOpen = createLucideIcon('folder-open', __iconNode);\n\nexport default FolderOpen;\n","/* __next_internal_action_entry_do_not_use__ [{\"405549ecbe42bed9cec3fbba880f94886fabdeb92a\":\"openIde\"},\"src/presentation/web/app/actions/open-ide.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"405549ecbe42bed9cec3fbba880f94886fabdeb92a\",callServer,void 0,findSourceMapURL,\"openIde\");export{$$RSC_SERVER_ACTION_0 as openIde};","/* __next_internal_action_entry_do_not_use__ [{\"40cf49c358d469ce902d117c51dec833475e7b3278\":\"openShell\"},\"src/presentation/web/app/actions/open-shell.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40cf49c358d469ce902d117c51dec833475e7b3278\",callServer,void 0,findSourceMapURL,\"openShell\");export{$$RSC_SERVER_ACTION_0 as openShell};","/* __next_internal_action_entry_do_not_use__ [{\"40eb3d60eea3b5a639b3304210315260c412eeaaca\":\"openFolder\"},\"src/presentation/web/app/actions/open-folder.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40eb3d60eea3b5a639b3304210315260c412eeaaca\",callServer,void 0,findSourceMapURL,\"openFolder\");export{$$RSC_SERVER_ACTION_0 as openFolder};","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm18 16 4-4-4-4', key: '1inbqp' }],\n ['path', { d: 'm6 8-4 4 4 4', key: '15zrgr' }],\n ['path', { d: 'm14.5 4-5 16', key: 'e7oirm' }],\n];\n\n/**\n * @component @name CodeXml\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTYgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJtNiA4LTQgNCA0IDQiIC8+CiAgPHBhdGggZD0ibTE0LjUgNC01IDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/code-xml\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CodeXml = createLucideIcon('code-xml', __iconNode);\n\nexport default CodeXml;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z',\n key: '1xq2db',\n },\n ],\n];\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNGExIDEgMCAwIDEtLjc4LTEuNjNsOS45LTEwLjJhLjUuNSAwIDAgMSAuODYuNDZsLTEuOTIgNi4wMkExIDEgMCAwIDAgMTMgMTBoN2ExIDEgMCAwIDEgLjc4IDEuNjNsLTkuOSAxMC4yYS41LjUgMCAwIDEtLjg2LS40NmwxLjkyLTYuMDJBMSAxIDAgMCAwIDExIDE0eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Zap = createLucideIcon('zap', __iconNode);\n\nexport default Zap;\n","import * as React from 'react';\n\nfunction usePrevious<T>(value: T) {\n const ref = React.useRef({ value, previous: value });\n\n // We compare values before making an update to ensure that\n // a change has been made. This ensures the previous value is\n // persisted correctly between renders.\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\n\nexport { usePrevious };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }]];\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxOCA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon('chevron-right', __iconNode);\n\nexport default ChevronRight;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }]];\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTgtNi02IDYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('chevron-left', __iconNode);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0iTTEwIDE0IDIxIDMiIC8+CiAgPHBhdGggZD0iTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTloOCIgLz4KICA8cGF0aCBkPSJtNCAxNyA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","export { BaseDrawer, type BaseDrawerProps } from './base-drawer';\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"006923a42bfe826df919d060ebe6aa55f994d90d43\":\"getAllAgentModels\"},\"src/presentation/web/app/actions/get-all-agent-models.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"006923a42bfe826df919d060ebe6aa55f994d90d43\",callServer,void 0,findSourceMapURL,\"getAllAgentModels\");export{$$RSC_SERVER_ACTION_0 as getAllAgentModels};","/* __next_internal_action_entry_do_not_use__ [{\"60ca12662e17cb9dbe9532b3a93515d0da9391f55e\":\"updateAgentAndModel\"},\"src/presentation/web/app/actions/update-agent-and-model.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"60ca12662e17cb9dbe9532b3a93515d0da9391f55e\",callServer,void 0,findSourceMapURL,\"updateAgentAndModel\");export{$$RSC_SERVER_ACTION_0 as updateAgentAndModel};","/* __next_internal_action_entry_do_not_use__ [{\"4050a6e2a6043e400b78de85d760d5e8a203124b2a\":\"addRepository\"},\"src/presentation/web/app/actions/add-repository.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"4050a6e2a6043e400b78de85d760d5e8a203124b2a\",callServer,void 0,findSourceMapURL,\"addRepository\");export{$$RSC_SERVER_ACTION_0 as addRepository};","'use client';\n\nimport { useState, useCallback, useRef, useEffect } from 'react';\nimport { openIde } from '@/app/actions/open-ide';\nimport { openShell } from '@/app/actions/open-shell';\nimport { openFolder } from '@/app/actions/open-folder';\nimport { syncRepository } from '@/app/actions/sync-repository';\n\nexport interface RepositoryActionsInput {\n repositoryId?: string;\n repositoryPath: string;\n}\n\nexport interface RepositoryActionsState {\n openInIde: () => Promise<void>;\n openInShell: () => Promise<void>;\n openFolder: () => Promise<void>;\n syncMain: () => Promise<void>;\n ideLoading: boolean;\n shellLoading: boolean;\n folderLoading: boolean;\n syncLoading: boolean;\n ideError: string | null;\n shellError: string | null;\n folderError: string | null;\n syncError: string | null;\n}\n\nconst ERROR_CLEAR_DELAY = 5000;\n\nexport function useRepositoryActions(input: RepositoryActionsInput | null): RepositoryActionsState {\n const [ideLoading, setIdeLoading] = useState(false);\n const [shellLoading, setShellLoading] = useState(false);\n const [folderLoading, setFolderLoading] = useState(false);\n const [syncLoading, setSyncLoading] = useState(false);\n const [ideError, setIdeError] = useState<string | null>(null);\n const [shellError, setShellError] = useState<string | null>(null);\n const [folderError, setFolderError] = useState<string | null>(null);\n const [syncError, setSyncError] = useState<string | null>(null);\n\n const ideTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const shellTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const folderTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const syncTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Clear timers on unmount\n useEffect(() => {\n const ideRef = ideTimerRef;\n const shellRef = shellTimerRef;\n const folderRef = folderTimerRef;\n const syncRef = syncTimerRef;\n return () => {\n if (ideRef.current) clearTimeout(ideRef.current);\n if (shellRef.current) clearTimeout(shellRef.current);\n if (folderRef.current) clearTimeout(folderRef.current);\n if (syncRef.current) clearTimeout(syncRef.current);\n };\n }, []);\n\n const performAction = useCallback(\n async (\n action: () => Promise<{ success: boolean; error?: string }>,\n setLoading: (v: boolean) => void,\n setError: (v: string | null) => void,\n timerRef: React.RefObject<ReturnType<typeof setTimeout> | null>,\n isLoading: boolean\n ) => {\n if (!input || isLoading) return;\n\n if (timerRef.current) clearTimeout(timerRef.current);\n\n setLoading(true);\n setError(null);\n\n try {\n const result = await action();\n\n if (!result.success) {\n const errorMessage = result.error ?? 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n }\n } catch (err: unknown) {\n const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n } finally {\n setLoading(false);\n }\n },\n [input]\n );\n\n const handleOpenIde = useCallback(\n () =>\n performAction(\n () => openIde({ repositoryPath: input!.repositoryPath }),\n setIdeLoading,\n setIdeError,\n ideTimerRef,\n ideLoading\n ),\n [performAction, ideLoading, input]\n );\n\n const handleOpenShell = useCallback(\n () =>\n performAction(\n () => openShell({ repositoryPath: input!.repositoryPath }),\n setShellLoading,\n setShellError,\n shellTimerRef,\n shellLoading\n ),\n [performAction, shellLoading, input]\n );\n\n const handleOpenFolder = useCallback(\n () =>\n performAction(\n () => openFolder(input!.repositoryPath),\n setFolderLoading,\n setFolderError,\n folderTimerRef,\n folderLoading\n ),\n [performAction, folderLoading, input]\n );\n\n const handleSyncMain = useCallback(\n () =>\n performAction(\n () => syncRepository(input!.repositoryId ?? ''),\n setSyncLoading,\n setSyncError,\n syncTimerRef,\n syncLoading\n ),\n [performAction, syncLoading, input]\n );\n\n return {\n openInIde: handleOpenIde,\n openInShell: handleOpenShell,\n openFolder: handleOpenFolder,\n syncMain: handleSyncMain,\n ideLoading,\n shellLoading,\n folderLoading,\n syncLoading,\n ideError,\n shellError,\n folderError,\n syncError,\n };\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"40ae427cb241b20cc5c31eeab9dfbbc8ab85408585\":\"syncRepository\"},\"src/presentation/web/app/actions/sync-repository.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40ae427cb241b20cc5c31eeab9dfbbc8ab85408585\",callServer,void 0,findSourceMapURL,\"syncRepository\");export{$$RSC_SERVER_ACTION_0 as syncRepository};"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,4,8,9,11,12,13,14,15]}
1
+ {"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-down.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/minus.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/copy.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-open.ts","../../../../../../../src/presentation/web/app/actions/data%3A54784f%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3Ac765af%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3Aa8b3e9%20%3Ctext/javascript%3E","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/code-xml.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/zap.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-previous%401.1.1_%40types%2Breact%4019.2.10_react%4019.2.4/node_modules/%40radix-ui/react-use-previous/src/use-previous.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-right.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-left.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../src/presentation/web/components/common/base-drawer/index.ts","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../src/presentation/web/app/actions/data%3A95a233%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3Adce5d5%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A54df1f%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/components/common/repository-node/use-repository-actions.ts","../../../../../../../src/presentation/web/app/actions/data%3Af9ec5c%20%3Ctext/javascript%3E"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M5 12h14', key: '1ays0h' }]];\n\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Minus = createLucideIcon('minus', __iconNode);\n\nexport default Minus;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n];\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon('copy', __iconNode);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n key: 'usdka0',\n },\n ],\n];\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderOpen = createLucideIcon('folder-open', __iconNode);\n\nexport default FolderOpen;\n","/* __next_internal_action_entry_do_not_use__ [{\"40f6557862958dcd251435d81526757429e7abde79\":\"openIde\"},\"src/presentation/web/app/actions/open-ide.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40f6557862958dcd251435d81526757429e7abde79\",callServer,void 0,findSourceMapURL,\"openIde\");export{$$RSC_SERVER_ACTION_0 as openIde};","/* __next_internal_action_entry_do_not_use__ [{\"40250297bcfddb1e2aaf117b7ec264d3338db5deaf\":\"openShell\"},\"src/presentation/web/app/actions/open-shell.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40250297bcfddb1e2aaf117b7ec264d3338db5deaf\",callServer,void 0,findSourceMapURL,\"openShell\");export{$$RSC_SERVER_ACTION_0 as openShell};","/* __next_internal_action_entry_do_not_use__ [{\"40333744b7e2130bd1a90d73e2cb662ba0d2c191d7\":\"openFolder\"},\"src/presentation/web/app/actions/open-folder.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40333744b7e2130bd1a90d73e2cb662ba0d2c191d7\",callServer,void 0,findSourceMapURL,\"openFolder\");export{$$RSC_SERVER_ACTION_0 as openFolder};","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm18 16 4-4-4-4', key: '1inbqp' }],\n ['path', { d: 'm6 8-4 4 4 4', key: '15zrgr' }],\n ['path', { d: 'm14.5 4-5 16', key: 'e7oirm' }],\n];\n\n/**\n * @component @name CodeXml\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTYgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJtNiA4LTQgNCA0IDQiIC8+CiAgPHBhdGggZD0ibTE0LjUgNC01IDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/code-xml\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CodeXml = createLucideIcon('code-xml', __iconNode);\n\nexport default CodeXml;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z',\n key: '1xq2db',\n },\n ],\n];\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxNGExIDEgMCAwIDEtLjc4LTEuNjNsOS45LTEwLjJhLjUuNSAwIDAgMSAuODYuNDZsLTEuOTIgNi4wMkExIDEgMCAwIDAgMTMgMTBoN2ExIDEgMCAwIDEgLjc4IDEuNjNsLTkuOSAxMC4yYS41LjUgMCAwIDEtLjg2LS40NmwxLjkyLTYuMDJBMSAxIDAgMCAwIDExIDE0eiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Zap = createLucideIcon('zap', __iconNode);\n\nexport default Zap;\n","import * as React from 'react';\n\nfunction usePrevious<T>(value: T) {\n const ref = React.useRef({ value, previous: value });\n\n // We compare values before making an update to ensure that\n // a change has been made. This ensures the previous value is\n // persisted correctly between renders.\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\n\nexport { usePrevious };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }]];\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxOCA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon('chevron-right', __iconNode);\n\nexport default ChevronRight;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }]];\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTUgMTgtNi02IDYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('chevron-left', __iconNode);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0iTTEwIDE0IDIxIDMiIC8+CiAgPHBhdGggZD0iTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTloOCIgLz4KICA8cGF0aCBkPSJtNCAxNyA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","export { BaseDrawer, type BaseDrawerProps } from './base-drawer';\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"005405e33a575fd7fef0856afab08d6908b311c095\":\"getAllAgentModels\"},\"src/presentation/web/app/actions/get-all-agent-models.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"005405e33a575fd7fef0856afab08d6908b311c095\",callServer,void 0,findSourceMapURL,\"getAllAgentModels\");export{$$RSC_SERVER_ACTION_0 as getAllAgentModels};","/* __next_internal_action_entry_do_not_use__ [{\"60010c6015fae17dab78f4eaedcd652d8a425311c4\":\"updateAgentAndModel\"},\"src/presentation/web/app/actions/update-agent-and-model.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"60010c6015fae17dab78f4eaedcd652d8a425311c4\",callServer,void 0,findSourceMapURL,\"updateAgentAndModel\");export{$$RSC_SERVER_ACTION_0 as updateAgentAndModel};","/* __next_internal_action_entry_do_not_use__ [{\"400dfc2bc0c7e200128abc275421da2c4b7737108e\":\"addRepository\"},\"src/presentation/web/app/actions/add-repository.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"400dfc2bc0c7e200128abc275421da2c4b7737108e\",callServer,void 0,findSourceMapURL,\"addRepository\");export{$$RSC_SERVER_ACTION_0 as addRepository};","'use client';\n\nimport { useState, useCallback, useRef, useEffect } from 'react';\nimport { openIde } from '@/app/actions/open-ide';\nimport { openShell } from '@/app/actions/open-shell';\nimport { openFolder } from '@/app/actions/open-folder';\nimport { syncRepository } from '@/app/actions/sync-repository';\n\nexport interface RepositoryActionsInput {\n repositoryId?: string;\n repositoryPath: string;\n}\n\nexport interface RepositoryActionsState {\n openInIde: () => Promise<void>;\n openInShell: () => Promise<void>;\n openFolder: () => Promise<void>;\n syncMain: () => Promise<void>;\n ideLoading: boolean;\n shellLoading: boolean;\n folderLoading: boolean;\n syncLoading: boolean;\n ideError: string | null;\n shellError: string | null;\n folderError: string | null;\n syncError: string | null;\n}\n\nconst ERROR_CLEAR_DELAY = 5000;\n\nexport function useRepositoryActions(input: RepositoryActionsInput | null): RepositoryActionsState {\n const [ideLoading, setIdeLoading] = useState(false);\n const [shellLoading, setShellLoading] = useState(false);\n const [folderLoading, setFolderLoading] = useState(false);\n const [syncLoading, setSyncLoading] = useState(false);\n const [ideError, setIdeError] = useState<string | null>(null);\n const [shellError, setShellError] = useState<string | null>(null);\n const [folderError, setFolderError] = useState<string | null>(null);\n const [syncError, setSyncError] = useState<string | null>(null);\n\n const ideTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const shellTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const folderTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const syncTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Clear timers on unmount\n useEffect(() => {\n const ideRef = ideTimerRef;\n const shellRef = shellTimerRef;\n const folderRef = folderTimerRef;\n const syncRef = syncTimerRef;\n return () => {\n if (ideRef.current) clearTimeout(ideRef.current);\n if (shellRef.current) clearTimeout(shellRef.current);\n if (folderRef.current) clearTimeout(folderRef.current);\n if (syncRef.current) clearTimeout(syncRef.current);\n };\n }, []);\n\n const performAction = useCallback(\n async (\n action: () => Promise<{ success: boolean; error?: string }>,\n setLoading: (v: boolean) => void,\n setError: (v: string | null) => void,\n timerRef: React.RefObject<ReturnType<typeof setTimeout> | null>,\n isLoading: boolean\n ) => {\n if (!input || isLoading) return;\n\n if (timerRef.current) clearTimeout(timerRef.current);\n\n setLoading(true);\n setError(null);\n\n try {\n const result = await action();\n\n if (!result.success) {\n const errorMessage = result.error ?? 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n }\n } catch (err: unknown) {\n const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n } finally {\n setLoading(false);\n }\n },\n [input]\n );\n\n const handleOpenIde = useCallback(\n () =>\n performAction(\n () => openIde({ repositoryPath: input!.repositoryPath }),\n setIdeLoading,\n setIdeError,\n ideTimerRef,\n ideLoading\n ),\n [performAction, ideLoading, input]\n );\n\n const handleOpenShell = useCallback(\n () =>\n performAction(\n () => openShell({ repositoryPath: input!.repositoryPath }),\n setShellLoading,\n setShellError,\n shellTimerRef,\n shellLoading\n ),\n [performAction, shellLoading, input]\n );\n\n const handleOpenFolder = useCallback(\n () =>\n performAction(\n () => openFolder(input!.repositoryPath),\n setFolderLoading,\n setFolderError,\n folderTimerRef,\n folderLoading\n ),\n [performAction, folderLoading, input]\n );\n\n const handleSyncMain = useCallback(\n () =>\n performAction(\n () => syncRepository(input!.repositoryId ?? ''),\n setSyncLoading,\n setSyncError,\n syncTimerRef,\n syncLoading\n ),\n [performAction, syncLoading, input]\n );\n\n return {\n openInIde: handleOpenIde,\n openInShell: handleOpenShell,\n openFolder: handleOpenFolder,\n syncMain: handleSyncMain,\n ideLoading,\n shellLoading,\n folderLoading,\n syncLoading,\n ideError,\n shellError,\n folderError,\n syncError,\n };\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"4022746422bfe7d50fed7aade198f285b4b4873e02\":\"syncRepository\"},\"src/presentation/web/app/actions/sync-repository.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"4022746422bfe7d50fed7aade198f285b4b4873e02\",callServer,void 0,findSourceMapURL,\"syncRepository\");export{$$RSC_SERVER_ACTION_0 as syncRepository};"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,4,8,9,11,12,13,14,15]}
@@ -1,3 +1,3 @@
1
- module.exports=[79020,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(72016),e=a.i(25700);let f=(0,e.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var g=a.i(63698),h=a.i(53170);let i=(0,e.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),j=(0,e.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"}]]),k=(0,e.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"}]]),l=(0,e.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 m=a.i(96853),m=m,n=a.i(67837),o=a.i(71238);let p=(0,e.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 q=a.i(7421),r=a.i(52313),s=a.i(85536),t=a.i(584),u=a.i(96867),v=a.i(55690),w=a.i(48972),x=a.i(59653),y=a.i(63496),z=a.i(6175),A=a.i(7420),B=a.i(48939),C=a.i(58761),D=a.i(51473),E=a.i(59675),F=a.i(5472),G=a.i(75988),H=a.i(80930),I=a.i(66873),J=a.i(90986),K=a.i(79406),L=a.i(17329),M=a.i(61476),N=a.i(64005),O=a.i(50049),P=a.i(16164),Q=a.i(45291),R=[" ","Enter","ArrowUp","ArrowDown"],S=[" ","Enter"],T="Select",[U,V,W]=(0,y.createCollection)(T),[X,Y]=(0,A.createContextScope)(T,[W,G.createPopperScope]),Z=(0,G.createPopperScope)(),[$,_]=X(T),[aa,ab]=X(T),ac=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q}=a,r=Z(d),[s,t]=c.useState(null),[u,v]=c.useState(null),[w,x]=c.useState(!1),y=(0,B.useDirection)(l),[z,A]=(0,L.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:T}),[C,D]=(0,L.useControllableState)({prop:i,defaultProp:j,onChange:k,caller:T}),E=c.useRef(null),H=!s||q||!!s.closest("form"),[I,J]=c.useState(new Set),K=Array.from(I).map(a=>a.props.value).join(";");return(0,b.jsx)(G.Root,{...r,children:(0,b.jsxs)($,{required:p,scope:d,trigger:s,onTriggerChange:t,valueNode:u,onValueNodeChange:v,valueNodeHasChildren:w,onValueNodeHasChildrenChange:x,contentId:(0,F.useId)(),value:C,onValueChange:D,open:z,onOpenChange:A,dir:y,triggerPointerDownPosRef:E,disabled:o,children:[(0,b.jsx)(U.Provider,{scope:d,children:(0,b.jsx)(aa,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{J(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{J(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),H?(0,b.jsxs)(aR,{"aria-hidden":!0,required:p,tabIndex:-1,name:m,autoComplete:n,value:C,onChange:a=>D(a.target.value),disabled:o,form:q,children:[void 0===C?(0,b.jsx)("option",{value:""}):null,Array.from(I)]},K):null]})})};ac.displayName=T;var ad="SelectTrigger",ae=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:f=!1,...g}=a,h=Z(e),i=_(ad,e),j=i.disabled||f,k=(0,z.useComposedRefs)(d,i.onTriggerChange),l=V(e),m=c.useRef("touch"),[n,o,p]=aT(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=aU(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(G.Anchor,{asChild:!0,...h,children:(0,b.jsx)(I.Primitive.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":aS(i.value)?"":void 0,...g,ref:k,onClick:(0,x.composeEventHandlers)(g.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,x.composeEventHandlers)(g.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,x.composeEventHandlers)(g.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&R.includes(a.key)&&(q(),a.preventDefault())})})})});ae.displayName=ad;var af="SelectValue",ag=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:h="",...i}=a,j=_(af,d),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,m=(0,z.useComposedRefs)(c,j.onValueNodeChange);return(0,M.useLayoutEffect)(()=>{k(l)},[k,l]),(0,b.jsx)(I.Primitive.span,{...i,ref:m,style:{pointerEvents:"none"},children:aS(j.value)?(0,b.jsx)(b.Fragment,{children:h}):g})});ag.displayName=af;var ah=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(I.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});ah.displayName="SelectIcon";var ai=a=>(0,b.jsx)(H.Portal,{asChild:!0,...a});ai.displayName="SelectPortal";var aj="SelectContent",ak=c.forwardRef((a,d)=>{let e=_(aj,a.__scopeSelect),[f,g]=c.useState();return((0,M.useLayoutEffect)(()=>{g(new DocumentFragment)},[]),e.open)?(0,b.jsx)(ao,{...a,ref:d}):f?v.createPortal((0,b.jsx)(al,{scope:a.__scopeSelect,children:(0,b.jsx)(U.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),f):null});ak.displayName=aj;var[al,am]=X(aj),an=(0,J.createSlot)("SelectContent.RemoveScroll"),ao=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:f="item-aligned",onCloseAutoFocus:g,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=_(aj,e),[v,w]=c.useState(null),[y,A]=c.useState(null),B=(0,z.useComposedRefs)(d,a=>w(a)),[F,G]=c.useState(null),[H,I]=c.useState(null),J=V(e),[K,L]=c.useState(!1),M=c.useRef(!1);c.useEffect(()=>{if(v)return(0,P.hideOthers)(v)},[v]),(0,D.useFocusGuards)();let N=c.useCallback(a=>{let[b,...c]=J().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&y&&(y.scrollTop=0),c===d&&y&&(y.scrollTop=y.scrollHeight),c?.focus(),document.activeElement!==e))return},[J,y]),O=c.useCallback(()=>N([F,v]),[N,F,v]);c.useEffect(()=>{K&&O()},[K,O]);let{onOpenChange:R,triggerPointerDownPosRef:S}=u;c.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(S.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(S.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||R(!1),document.removeEventListener("pointermove",b),S.current=null};return null!==S.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,R,S]),c.useEffect(()=>{let a=()=>R(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[R]);let[T,U]=aT(a=>{let b=J().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aU(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),W=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==u.value&&u.value===b||d)&&(G(a),d&&(M.current=!0))},[u.value]),X=c.useCallback(()=>v?.focus(),[v]),Y=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==u.value&&u.value===b||d)&&I(a)},[u.value]),Z="popper"===f?aq:ap,$=Z===aq?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,b.jsx)(al,{scope:e,content:v,viewport:y,onViewportChange:A,itemRefCallback:W,selectedItem:F,onItemLeave:X,itemTextRefCallback:Y,focusSelectedItem:O,selectedItemText:H,position:f,isPositioned:K,searchRef:T,children:(0,b.jsx)(Q.RemoveScroll,{as:an,allowPinchZoom:!0,children:(0,b.jsx)(E.FocusScope,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,x.composeEventHandlers)(g,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(C.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,b.jsx)(Z,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...$,onPlaced:()=>L(!0),ref:B,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:(0,x.composeEventHandlers)(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||U(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=J().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>N(b)),a.preventDefault()}})})})})})})});ao.displayName="SelectContentImpl";var ap=c.forwardRef((a,d)=>{let{__scopeSelect:e,onPlaced:f,...g}=a,h=_(aj,e),i=am(aj,e),[j,k]=c.useState(null),[l,m]=c.useState(null),n=(0,z.useComposedRefs)(d,a=>m(a)),o=V(e),p=c.useRef(!1),q=c.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=i,v=c.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&r&&s&&t){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),d=t.getBoundingClientRect();if("rtl"!==h.dir){let e=d.left-b.left,f=c.left-e,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,w.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.left=l+"px"}else{let e=b.right-d.right,f=window.innerWidth-c.right-e,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,w.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.right=l+"px"}let e=o(),g=window.innerHeight-20,i=r.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),x=window.getComputedStyle(r),y=parseInt(x.paddingTop,10),z=parseInt(x.paddingBottom,10),A=a.top+a.height/2-10,B=s.offsetHeight/2,C=m+n+(s.offsetTop+B);if(C<=A){let a=e.length>0&&s===e[e.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-A,B+(a?z:0)+(l.clientHeight-r.offsetTop-r.offsetHeight)+q);j.style.height=C+b+"px"}else{let a=e.length>0&&s===e[0].ref.current;j.style.top="0px";let b=Math.max(A,m+r.offsetTop+(a?y:0)+B);j.style.height=b+(u-C)+"px",r.scrollTop=C-A+r.offsetTop}j.style.margin="10px 0",j.style.minHeight=v+"px",j.style.maxHeight=g+"px",f?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,r,s,t,h.dir,f]);(0,M.useLayoutEffect)(()=>v(),[v]);let[x,y]=c.useState();(0,M.useLayoutEffect)(()=>{l&&y(window.getComputedStyle(l).zIndex)},[l]);let A=c.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,b.jsx)(ar,{scope:e,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:A,children:(0,b.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,b.jsx)(I.Primitive.div,{...g,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...g.style}})})})});ap.displayName="SelectItemAlignedPosition";var aq=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=Z(d);return(0,b.jsx)(G.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});aq.displayName="SelectPopperPosition";var[ar,as]=X(aj,{}),at="SelectViewport",au=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:f,...g}=a,h=am(at,e),i=as(at,e),j=(0,z.useComposedRefs)(d,h.onViewportChange),k=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:f}),(0,b.jsx)(U.Slot,{scope:e,children:(0,b.jsx)(I.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...g,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...g.style},onScroll:(0,x.composeEventHandlers)(g.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});au.displayName=at;var av="SelectGroup",[aw,ax]=X(av),ay=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,F.useId)();return(0,b.jsx)(aw,{scope:d,id:f,children:(0,b.jsx)(I.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})});ay.displayName=av;var az="SelectLabel",aA=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ax(az,d);return(0,b.jsx)(I.Primitive.div,{id:f.id,...e,ref:c})});aA.displayName=az;var aB="SelectItem",[aC,aD]=X(aB),aE=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:f,disabled:g=!1,textValue:h,...i}=a,j=_(aB,e),k=am(aB,e),l=j.value===f,[m,n]=c.useState(h??""),[o,p]=c.useState(!1),q=(0,z.useComposedRefs)(d,a=>k.itemRefCallback?.(a,f,g)),r=(0,F.useId)(),s=c.useRef("touch"),t=()=>{g||(j.onValueChange(f),j.onOpenChange(!1))};if(""===f)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(aC,{scope:e,value:f,disabled:g,textId:r,isSelected:l,onItemTextChange:c.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(U.ItemSlot,{scope:e,value:f,disabled:g,textValue:m,children:(0,b.jsx)(I.Primitive.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":g||void 0,"data-disabled":g?"":void 0,tabIndex:g?void 0:-1,...i,ref:q,onFocus:(0,x.composeEventHandlers)(i.onFocus,()=>p(!0)),onBlur:(0,x.composeEventHandlers)(i.onBlur,()=>p(!1)),onClick:(0,x.composeEventHandlers)(i.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:(0,x.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:(0,x.composeEventHandlers)(i.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:(0,x.composeEventHandlers)(i.onPointerMove,a=>{s.current=a.pointerType,g?k.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,x.composeEventHandlers)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,x.composeEventHandlers)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(S.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});aE.displayName=aB;var aF="SelectItemText",aG=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,...h}=a,i=_(aF,e),j=am(aF,e),k=aD(aF,e),l=ab(aF,e),[m,n]=c.useState(null),o=(0,z.useComposedRefs)(d,a=>n(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=m?.textContent,q=c.useMemo(()=>(0,b.jsx)("option",{value:k.value,disabled:k.disabled,children:p},k.value),[k.disabled,k.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=l;return(0,M.useLayoutEffect)(()=>(r(q),()=>s(q)),[r,s,q]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(I.Primitive.span,{id:k.textId,...h,ref:o}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?v.createPortal(h.children,i.valueNode):null]})});aG.displayName=aF;var aH="SelectItemIndicator",aI=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aD(aH,d).isSelected?(0,b.jsx)(I.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aI.displayName=aH;var aJ="SelectScrollUpButton",aK=c.forwardRef((a,d)=>{let e=am(aJ,a.__scopeSelect),f=as(aJ,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,z.useComposedRefs)(d,f.onScrollButtonChange);return(0,M.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){h(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aK.displayName=aJ;var aL="SelectScrollDownButton",aM=c.forwardRef((a,d)=>{let e=am(aL,a.__scopeSelect),f=as(aL,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,z.useComposedRefs)(d,f.onScrollButtonChange);return(0,M.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});aM.displayName=aL;var aN=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:f,...g}=a,h=am("SelectScrollButton",e),i=c.useRef(null),j=V(e),k=c.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return c.useEffect(()=>()=>k(),[k]),(0,M.useLayoutEffect)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,b.jsx)(I.Primitive.div,{"aria-hidden":!0,...g,ref:d,style:{flexShrink:0,...g.style},onPointerDown:(0,x.composeEventHandlers)(g.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(f,50))}),onPointerMove:(0,x.composeEventHandlers)(g.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(f,50))}),onPointerLeave:(0,x.composeEventHandlers)(g.onPointerLeave,()=>{k()})})}),aO=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(I.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aO.displayName="SelectSeparator";var aP="SelectArrow",aQ=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=Z(d),g=_(aP,d),h=am(aP,d);return g.open&&"popper"===h.position?(0,b.jsx)(G.Arrow,{...f,...e,ref:c}):null});aQ.displayName=aP;var aR=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,z.useComposedRefs)(f,g),i=(0,N.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(I.Primitive.select,{...e,style:{...O.VISUALLY_HIDDEN_STYLES,...e.style},ref:h,defaultValue:d})});function aS(a){return""===a||void 0===a}function aT(a){let b=(0,K.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aU(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aR.displayName="SelectBubbleInput",a.s(["Arrow",()=>aQ,"Content",()=>ak,"Group",()=>ay,"Icon",()=>ah,"Item",()=>aE,"ItemIndicator",()=>aI,"ItemText",()=>aG,"Label",()=>aA,"Portal",()=>ai,"Root",()=>ac,"ScrollDownButton",()=>aM,"ScrollUpButton",()=>aK,"Select",()=>ac,"SelectArrow",()=>aQ,"SelectContent",()=>ak,"SelectGroup",()=>ay,"SelectIcon",()=>ah,"SelectItem",()=>aE,"SelectItemIndicator",()=>aI,"SelectItemText",()=>aG,"SelectLabel",()=>aA,"SelectPortal",()=>ai,"SelectScrollDownButton",()=>aM,"SelectScrollUpButton",()=>aK,"SelectSeparator",()=>aO,"SelectTrigger",()=>ae,"SelectValue",()=>ag,"SelectViewport",()=>au,"Separator",()=>aO,"Trigger",()=>ae,"Value",()=>ag,"Viewport",()=>au,"createSelectScope",()=>Y],16252);var aV=a.i(16252),aV=aV,aW=a.i(71716);let aX=(0,e.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),aY=aV.Root;aV.Group;let aZ=aV.Value,a$=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aV.Trigger,{ref:e,className:(0,s.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(aV.Icon,{asChild:!0,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));a$.displayName=aV.Trigger.displayName;let a_=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.ScrollUpButton,{ref:d,className:(0,s.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aX,{className:"h-4 w-4"})}));a_.displayName=aV.ScrollUpButton.displayName;let a0=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.ScrollDownButton,{ref:d,className:(0,s.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4"})}));a0.displayName=aV.ScrollDownButton.displayName;let a1=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(aV.Portal,{children:(0,b.jsxs)(aV.Content,{ref:f,className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(a_,{}),(0,b.jsx)(aV.Viewport,{className:(0,s.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(a0,{})]})}));a1.displayName=aV.Content.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.Label,{ref:d,className:(0,s.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=aV.Label.displayName;let a2=c.forwardRef(({className:a,children:c,...e},f)=>(0,b.jsxs)(aV.Item,{ref:f,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...e,children:[(0,b.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aV.ItemIndicator,{children:(0,b.jsx)(d.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(aV.ItemText,{children:c})]}));a2.displayName=aV.Item.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.Separator,{ref:d,className:(0,s.cn)("bg-muted -mx-1 my-1 h-px",a),...c})).displayName=aV.Separator.displayName;var a3=a.i(25674);let a4=(0,a3.createServerReference)("4005786540384444b85a680f731e980f4d605482be",a3.callServer,void 0,a3.findSourceMapURL,"updateSettingsAction");var a5=a.i(46847),a6=a.i(61640),a7=a.i(44447),a8=a.i(87926);function a9(a){return(0,b.jsx)(a7.Code,{className:(0,s.cn)("h-4 w-4",a.className),...a})}function ba({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function bb({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function bc({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function bd({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function be({className:a,...c}){return(0,b.jsx)(a8.Rocket,{className:(0,s.cn)("h-4 w-4",a),...c})}ba.displayName="VsCodeIcon",bb.displayName="CursorEditorIcon",bc.displayName="WindsurfIcon",bd.displayName="ZedIcon",be.displayName="AntigravityIcon";let bf={vscode:ba,cursor:bb,windsurf:bc,zed:bd,antigravity:be};var bg=a.i(61781),bh=a.i(74432),bi=["PageUp","PageDown"],bj=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],bk={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},bl="Slider",[bm,bn,bo]=(0,y.createCollection)(bl),[bp,bq]=(0,A.createContextScope)(bl,[bo]),[br,bs]=bp(bl),bt=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...r}=a,s=c.useRef(new Set),t=c.useRef(0),u="horizontal"===i,[v=[],y]=(0,L.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...s.current];b[t.current]?.focus(),n(a)}}),z=c.useRef(v);function A(a,b,{commit:c}={commit:!1}){let d,e=(String(h).split(".")[1]||"").length,i=Math.round((Math.round((a-f)/h)*h+f)*(d=Math.pow(10,e)))/d,j=(0,w.clamp)(i,[f,g]);y((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{t.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return(0,b.jsx)(br,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:t,thumbs:s.current,values:v,orientation:i,form:q,children:(0,b.jsx)(bm.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(bm.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(u?bw:bx,{"aria-disabled":j,"data-disabled":j?"":void 0,...r,ref:d,onPointerDown:(0,x.composeEventHandlers)(r.onPointerDown,()=>{j||(z.current=v)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(v,a);A(a,b)},onSlideMove:j?void 0:function(a){A(a,t.current)},onSlideEnd:j?void 0:function(){let a=z.current[t.current];v[t.current]!==a&&o(v)},onHomeKeyDown:()=>!j&&A(f,0,{commit:!0}),onEndKeyDown:()=>!j&&A(g,v.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!j){let c=bi.includes(a.key)||a.shiftKey&&bj.includes(a.key),d=t.current;A(v[d]+h*(c?10:1)*b,d,{commit:!0})}}})})})})});bt.displayName=bl;var[bu,bv]=bp(bl,{startEdge:"left",endEdge:"right",size:"width",direction:1}),bw=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,z.useComposedRefs)(d,a=>o(a)),q=c.useRef(void 0),r=(0,B.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function u(a){let b=q.current||n.getBoundingClientRect(),c=bI([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(bu,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(by,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=u(a.clientX);i?.(b)},onSlideMove:a=>{let b=u(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=bk[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),bx=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,z.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=bI([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(bu,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(by,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=bk[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),by=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=bs(bl,d);return(0,b.jsx)(I.Primitive.span,{...k,ref:c,onKeyDown:(0,x.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):bi.concat(bj).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,x.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus():e(a)}),onPointerMove:(0,x.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,x.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),bz="SliderTrack",bA=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=bs(bz,d);return(0,b.jsx)(I.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});bA.displayName=bz;var bB="SliderRange",bC=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=bs(bB,e),h=bv(bB,e),i=c.useRef(null),j=(0,z.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>bH(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(I.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});bC.displayName=bB;var bD="SliderThumb",bE=c.forwardRef((a,d)=>{let e=bn(a.__scopeSlider),[f,g]=c.useState(null),h=(0,z.useComposedRefs)(d,a=>g(a)),i=c.useMemo(()=>f?e().findIndex(a=>a.ref.current===f):-1,[e,f]);return(0,b.jsx)(bF,{...a,ref:h,index:i})}),bF=c.forwardRef((a,d)=>{var e,f,g,h,i;let j,k,{__scopeSlider:l,index:m,name:n,...o}=a,p=bs(bD,l),q=bv(bD,l),[r,s]=c.useState(null),t=(0,z.useComposedRefs)(d,a=>s(a)),u=!r||p.form||!!r.closest("form"),v=(0,bh.useSize)(r),w=p.values[m],y=void 0===w?0:bH(w,p.min,p.max),A=(e=m,(f=p.values.length)>2?`Value ${e+1} of ${f}`:2===f?["Minimum","Maximum"][e]:void 0),B=v?.[q.size],C=B?(g=B,h=y,i=q.direction,k=bI([0,50],[0,j=g/2]),(j-k(h)*i)*i):0;return c.useEffect(()=>{if(r)return p.thumbs.add(r),()=>{p.thumbs.delete(r)}},[r,p.thumbs]),(0,b.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[q.startEdge]:`calc(${y}% + ${C}px)`},children:[(0,b.jsx)(bm.ItemSlot,{scope:a.__scopeSlider,children:(0,b.jsx)(I.Primitive.span,{role:"slider","aria-label":a["aria-label"]||A,"aria-valuemin":p.min,"aria-valuenow":w,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...o,ref:t,style:void 0===w?{display:"none"}:a.style,onFocus:(0,x.composeEventHandlers)(a.onFocus,()=>{p.valueIndexToChangeRef.current=m})})}),u&&(0,b.jsx)(bG,{name:n??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:w},m)]})});bE.displayName=bD;var bG=c.forwardRef(({__scopeSlider:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,z.useComposedRefs)(g,f),i=(0,N.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(i!==d&&b){let c=new Event("input",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(I.Primitive.input,{style:{display:"none"},...e,ref:h,defaultValue:d})});function bH(a,b,c){return(0,w.clamp)(100/(c-b)*(a-b),[0,100])}function bI(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}bG.displayName="RadioBubbleInput",a.s(["Range",()=>bC,"Root",()=>bt,"Slider",()=>bt,"SliderRange",()=>bC,"SliderThumb",()=>bE,"SliderTrack",()=>bA,"Thumb",()=>bE,"Track",()=>bA,"createSliderScope",()=>bq],61569);var bJ=a.i(61569),bJ=bJ;function bK({className:a,defaultValue:d,value:e,min:f=0,max:g=100,...h}){let i=c.useMemo(()=>Array.isArray(e)?e:Array.isArray(d)?d:[f,g],[e,d,f,g]);return(0,b.jsxs)(bJ.Root,{"data-slot":"slider",defaultValue:d,value:e,min:f,max:g,className:(0,s.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",a),...h,children:[(0,b.jsx)(bJ.Track,{"data-slot":"slider-track",className:(0,s.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,b.jsx)(bJ.Range,{"data-slot":"slider-range",className:(0,s.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:i.length},(a,c)=>(0,b.jsx)(bJ.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"},c))]})}let bL=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],bM=bL.length-1;function bN(a){let b=0,c=Math.abs(a-bL[0]);for(let d=1;d<bL.length;d++){let e=Math.abs(a-bL[d]);e<c&&(c=e,b=d)}return b}function bO({id:a,testId:d,value:e,onChange:f,onBlur:g,defaultSeconds:h=1800}){var i;let j,k,l=(""===e?h:parseInt(e,10))||h,[m,n]=(0,c.useState)(()=>bN(l)),o=bN(l);o!==m&&bL[m]!==l&&n(o);let p=(0,c.useCallback)(([a])=>{n(a),f(String(bL[a]))},[f]);return(0,b.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,b.jsx)(bK,{id:a,"data-testid":d,min:0,max:bM,step:1,value:[m],onValueChange:p,onValueCommit:()=>g(),className:"min-w-0 flex-1"}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 text-right text-xs tabular-nums",children:(j=Math.floor((i=bL[m])/3600),k=Math.round(i%3600/60),0===j?`${k}m`:0===k?`${j}h`:`${j}h ${k}m`)})]})}let bP=[{value:a5.EditorType.VsCode,label:"VS Code"},{value:a5.EditorType.Cursor,label:"Cursor"},{value:a5.EditorType.Windsurf,label:"Windsurf"},{value:a5.EditorType.Zed,label:"Zed"},{value:a5.EditorType.Antigravity,label:"Antigravity"}],bQ=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],bR=[{id:"agent",label:"Agent",icon:f},{id:"environment",label:"Environment",icon:g.Terminal},{id:"workflow",label:"Workflow",icon:h.GitBranch},{id:"ci",label:"CI",icon:i},{id:"stage-timeouts",label:"Timeouts",icon:q.Timer},{id:"notifications",label:"Notifications",icon:j},{id:"feature-flags",label:"Flags",icon:k},{id:"database",label:"Database",icon:l}];function bS({label:a,description:c,htmlFor:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(t.Label,{htmlFor:d,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:a}),c?(0,b.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:c}):null]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:e})]})}function bT({label:a,description:c,id:d,testId:e,checked:f,onChange:g,disabled:h}){return(0,b.jsx)(bS,{label:a,description:c,htmlFor:d,children:(0,b.jsx)(u.Switch,{id:d,"data-testid":e,checked:f,onCheckedChange:g,disabled:h,className:(0,s.cn)("cursor-pointer",h&&"cursor-not-allowed opacity-50")})})}function bU({icon:a,title:c,description:d,badge:e,testId:f,children:g}){return(0,b.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":f,children:[(0,b.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(a,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,b.jsx)("h2",{className:"text-sm font-semibold",children:c}),e?(0,b.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:e}):null]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:d})]}),(0,b.jsx)("div",{className:"px-4",children:g})]})}function bV({id:a,testId:c,value:d,onChange:e,onBlur:f,placeholder:g,min:h=1,max:i,step:j=1,suffix:k}){let l=""===d?void 0:parseInt(d,10);return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{e(String(Math.max(h,(l??parseInt(g,10))-j)))},onMouseUp:f,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":"Decrease",children:(0,b.jsx)(m.default,{className:"h-3 w-3"})}),(0,b.jsx)("input",{id:a,"data-testid":c,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:d,placeholder:g,onChange:a=>{e(a.target.value.replace(/[^0-9]/g,""))},onBlur:f,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a;a=l??parseInt(g,10),e(String(null!=i?Math.min(i,a+j):a+j))},onMouseUp:f,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":"Increase",children:(0,b.jsx)(n.Plus,{className:"h-3 w-3"})})]}),k?(0,b.jsx)("span",{className:"text-muted-foreground text-[11px]",children:k}):null]})}function bW({children:a}){return(0,b.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,b.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:a})})}function bX({children:a,links:c}){return(0,b.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,b.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:a}),null!=c&&c.length>0?(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:c.map(a=>(0,b.jsxs)("a",{href:a.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,b.jsx)(o.ExternalLink,{className:"h-2.5 w-2.5"}),a.label]},a.href))}):null]})}function bY({settings:a,shepHome:e,dbFileSize:m,availableTerminals:n}){let{showSaving:o,showSaved:t,save:u}=function(){let[a,b]=(0,c.useTransition)(),[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(null),i=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{a&&!d&&(e(!0),i.current=!1,h.current=setTimeout(()=>{h.current=null,i.current&&(e(!1),g(!0),setTimeout(()=>g(!1),2e3))},350)),!a&&d&&(i.current=!0,h.current||(e(!1),g(!0),setTimeout(()=>g(!1),2e3)))},[a,d]),{showSaving:d,showSaved:f,save:(0,c.useCallback)(a=>{b(async()=>{let b=await a4(a);b.success||r.toast.error(b.error??"Failed to save settings")})},[b])}}(),v=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[w,x]=(0,c.useState)(a.agent.type),[y,z]=(0,c.useState)(a.environment.defaultEditor),[A,B]=(0,c.useState)(a.environment.shellPreference),[C,D]=(0,c.useState)(a.environment.terminalPreference??a5.TerminalType.System),E=n?n.filter(a=>a.available):[{id:a5.TerminalType.System,name:"System Terminal",available:!0}],[F,G]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[H,I]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[J,K]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[L,M]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[N,O]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[P,Q]=(0,c.useState)(a.workflow.enableEvidence),[R,S]=(0,c.useState)(a.workflow.commitEvidence),[T,U]=(0,c.useState)(!1!==a.workflow.ciWatchEnabled),[V,W]=(0,c.useState)(!1!==a.workflow.hideCiStatus),[X,Y]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[Z,$]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[_,aa]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[ab,ac]=(0,c.useState)(null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):""),ad=a.workflow.stageTimeouts,[ae,af]=(0,c.useState)(String(Math.round((ad?.analyzeMs??18e5)/1e3))),[ag,ah]=(0,c.useState)(String(Math.round((ad?.requirementsMs??18e5)/1e3))),[ai,aj]=(0,c.useState)(String(Math.round((ad?.researchMs??18e5)/1e3))),[ak,al]=(0,c.useState)(String(Math.round((ad?.planMs??18e5)/1e3))),[am,an]=(0,c.useState)(String(Math.round((ad?.implementMs??18e5)/1e3))),[ao,ap]=(0,c.useState)(String(Math.round((ad?.mergeMs??18e5)/1e3))),aq=a.workflow.analyzeRepoTimeouts,[ar,as]=(0,c.useState)(String(Math.round((aq?.analyzeMs??6e5)/1e3))),[at,au]=(0,c.useState)(a.notifications.inApp.enabled),[av,aw]=(0,c.useState)({...a.notifications.events}),[ax,ay]=(0,c.useState)({...v}),az=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",aA=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",aB=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"",aC=null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):"",aD=ad?.analyzeMs!=null?String(Math.round(ad.analyzeMs/1e3)):"",aE=ad?.requirementsMs!=null?String(Math.round(ad.requirementsMs/1e3)):"",aF=ad?.researchMs!=null?String(Math.round(ad.researchMs/1e3)):"",aG=ad?.planMs!=null?String(Math.round(ad.planMs/1e3)):"",aH=ad?.implementMs!=null?String(Math.round(ad.implementMs/1e3)):"",aI=ad?.mergeMs!=null?String(Math.round(ad.mergeMs/1e3)):"",aJ=aq?.analyzeMs!=null?String(Math.round(aq.analyzeMs/1e3)):"";function aK(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function aL(a){if(void 0===a)return;let b=aK(a);return null!=b?1e3*b:void 0}function aM(a={}){let b=aK(a.ciTimeout??Z);return{workflow:{openPrOnImplementationComplete:a.openPr??F,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??H,allowPrd:a.allowPrd??J,allowPlan:a.allowPlan??L,allowMerge:a.allowMerge??N},enableEvidence:a.enableEvidence??P,commitEvidence:a.commitEvidence??R,ciWatchEnabled:a.ciWatchEnabled??T,hideCiStatus:a.hideCiStatus??V,ciMaxFixAttempts:aK(a.ciMaxFix??X),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:aK(a.ciLogMax??_),ciWatchPollIntervalSeconds:aK(a.ciPollInterval??ab),stageTimeouts:{analyzeMs:aL(a.analyzeTimeout??ae),requirementsMs:aL(a.requirementsTimeout??ag),researchMs:aL(a.researchTimeout??ai),planMs:aL(a.planTimeout??ak),implementMs:aL(a.implementTimeout??am),mergeMs:aL(a.mergeTimeout??ao)},analyzeRepoTimeouts:{analyzeMs:aL(a.analyzeRepoTimeout??ar)}}}}function aN(a={}){return{notifications:{inApp:{enabled:a.inApp??at},events:a.events??av}}}let[aO,aP]=(0,c.useState)("agent");(0,c.useEffect)(()=>{let a=bR.map(a=>document.getElementById(`section-${a.id}`)).filter(Boolean);if(0===a.length)return;let b=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&aP(b.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let c of a)b.observe(c);return()=>b.disconnect()},[]);let aQ=(0,c.useCallback)(a=>{let b=document.getElementById(`section-${a}`);b&&(b.scrollIntoView({behavior:"smooth",block:"start"}),b.style.animation="none",b.offsetHeight,b.style.animation="section-flash 1s ease-out")},[]);return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,b.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,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(p,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Settings"}),(0,b.jsxs)("span",{className:"relative h-4 w-16",children:[(0,b.jsx)("span",{className:(0,s.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",o?"opacity-100":"opacity-0"),children:"Saving..."}),(0,b.jsxs)("span",{className:(0,s.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",t&&!o?"opacity-100":"opacity-0"),children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),"Saved"]})]}),(0,b.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:bR.map(a=>{let c=a.icon,d=aO===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>aQ(a.id),className:(0,s.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",d?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,b.jsx)(c,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:a.label})]},a.id)})})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.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,b.jsx)(bU,{icon:f,title:"Agent",description:"AI coding agent and authentication",testId:"agent-settings-section",children:(0,b.jsx)(bS,{label:"Agent & Model",description:"Provider and model for all operations",htmlFor:"agent-model-picker",children:(0,b.jsx)(bg.AgentModelPicker,{initialAgentType:w,initialModel:a.models.default,mode:"settings",onAgentModelChange:a=>x(a),className:"w-55"})})}),(0,b.jsx)(bX,{links:[{label:"Agent system",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/agent-system.md"},{label:"Adding agents",href:"https://github.com/shep-ai/cli/blob/main/docs/development/adding-agents.md"},{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Choose which AI coding agent powers your features. Each agent supports different models and capabilities. Authentication is resolved automatically via your active session."})]}),(0,b.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,b.jsxs)(bU,{icon:g.Terminal,title:"Environment",description:"Editor, shell, and terminal preferences",testId:"environment-settings-section",children:[(0,b.jsx)(bS,{label:"Default Editor",description:"Editor launched for file operations",htmlFor:"default-editor",children:(0,b.jsxs)(aY,{value:y,onValueChange:a=>{z(a),u({environment:{defaultEditor:a,shellPreference:A,terminalPreference:C}})},children:[(0,b.jsx)(a$,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(aZ,{})}),(0,b.jsx)(a1,{children:bP.map(a=>{var c;let d=(c=a.value)&&c in bf?bf[c]:a9;return(0,b.jsx)(a2,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)(bS,{label:"Shell",description:"Default shell for generated scripts",htmlFor:"shell-preference",children:(0,b.jsxs)(aY,{value:A,onValueChange:a=>{B(a),u({environment:{defaultEditor:y,shellPreference:a,terminalPreference:C}})},children:[(0,b.jsx)(a$,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(aZ,{})}),(0,b.jsx)(a1,{children:bQ.map(a=>(0,b.jsx)(a2,{value:a.value,children:a.label},a.value))})]})}),(0,b.jsx)(bS,{label:"Terminal",description:"Terminal emulator for shell sessions",htmlFor:"terminal-preference",children:(0,b.jsxs)(aY,{value:C,onValueChange:a=>{D(a),u({environment:{defaultEditor:y,shellPreference:A,terminalPreference:a}})},children:[(0,b.jsx)(a$,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(aZ,{})}),(0,b.jsx)(a1,{children:E.map(a=>(0,b.jsx)(a2,{value:a.id,children:a.name},a.id))})]})})]}),(0,b.jsx)(bX,{links:[{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Your preferred editor opens files for review. The shell setting controls generated scripts. The terminal emulator is launched when opening shell sessions from the web UI."})]}),(0,b.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,b.jsxs)(bU,{icon:h.GitBranch,title:"Workflow",description:"Automation behavior after implementation",testId:"workflow-settings-section",children:[(0,b.jsx)(bW,{children:"Approve"}),(0,b.jsx)(bT,{label:"Auto-approve PRD",description:"Skip manual review of requirements",id:"allow-prd",testId:"switch-allow-prd",checked:J,onChange:a=>{K(a),u(aM({allowPrd:a}))}}),(0,b.jsx)(bT,{label:"Auto-approve Plan",description:"Skip manual review of implementation plan",id:"allow-plan",testId:"switch-allow-plan",checked:L,onChange:a=>{M(a),u(aM({allowPlan:a}))}}),(0,b.jsx)(bT,{label:"Auto-approve Merge",description:"Merge without manual review",id:"allow-merge",testId:"switch-allow-merge",checked:N,onChange:a=>{O(a),u(aM({allowMerge:a}))}}),(0,b.jsx)(bW,{children:"Evidence"}),(0,b.jsx)(bT,{label:"Collect evidence",description:"Capture screenshots and artifacts after implementation",id:"enable-evidence",testId:"switch-enable-evidence",checked:P,onChange:a=>{Q(a),a?u(aM({enableEvidence:a})):(S(!1),u(aM({enableEvidence:a,commitEvidence:!1})))}}),(0,b.jsx)(bT,{label:"Add evidence to PR",description:"Include evidence in the pull request body",id:"commit-evidence",testId:"switch-commit-evidence",checked:R,disabled:!P||!F,onChange:a=>{S(a),u(aM({commitEvidence:a}))}}),(0,b.jsx)(bW,{children:"Git"}),(0,b.jsx)(bT,{label:"Push on complete",description:"Push to remote when implementation finishes",id:"push-on-complete",testId:"switch-push-on-complete",checked:H,onChange:a=>{I(a),u(aM({pushOnComplete:a}))}}),(0,b.jsx)(bT,{label:"Open PR on complete",description:"Create a pull request when done",id:"open-pr",testId:"switch-open-pr",checked:F,onChange:a=>{G(a),a?u(aM({openPr:a})):(S(!1),u(aM({openPr:a,commitEvidence:!1})))}}),(0,b.jsx)(bT,{label:"Watch CI after push",description:"Monitor CI and auto-fix failures. Disable to avoid rate limits.",id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:T,onChange:a=>{U(a),u(aM({ciWatchEnabled:a}))}})]}),(0,b.jsx)(bX,{links:[{label:"Approval gates",href:"https://github.com/shep-ai/cli/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:"Push & PR flags",href:"https://github.com/shep-ai/cli/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:"Control how autonomous each feature run is. Auto-approve skips the human review pause at each phase. Push and PR options control what happens after successful implementation."})]}),(0,b.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,b.jsxs)(bU,{icon:i,title:"Continuous Integration",description:"Limits and timeouts for CI monitoring",testId:"ci-settings-section",children:[(0,b.jsx)(bS,{label:"Max fix attempts",description:"Agent retries on failing CI",htmlFor:"ci-max-fix",children:(0,b.jsx)(bV,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:X,onChange:Y,onBlur:()=>{X!==az&&u(aM({ciMaxFix:X}))},min:1,max:10})}),(0,b.jsx)(bS,{label:"Watch timeout",description:"Max wait for CI completion",htmlFor:"ci-timeout",children:(0,b.jsx)(bV,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:Z,onChange:$,onBlur:()=>{Z!==aA&&u(aM({ciTimeout:Z}))},min:30,step:30,suffix:"sec"})}),(0,b.jsx)(bS,{label:"Max log size",description:"Truncate CI logs beyond this limit",htmlFor:"ci-log-max",children:(0,b.jsx)(bV,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:_,onChange:aa,onBlur:()=>{_!==aB&&u(aM({ciLogMax:_}))},min:1e3,step:5e3,suffix:"chars"})}),(0,b.jsx)(bS,{label:"Poll interval",description:"How often to check GitHub for CI status updates",htmlFor:"ci-poll-interval",children:(0,b.jsx)(bV,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:ab,onChange:ac,onBlur:()=>{ab!==aC&&u(aM({ciPollInterval:ab}))},min:5,step:5,suffix:"sec"})}),(0,b.jsx)(bT,{label:"Hide CI status",description:"Hide CI status badges from feature drawer and merge review",id:"hide-ci-status",testId:"switch-hide-ci-status",checked:V,onChange:a=>{W(a),u(aM({hideCiStatus:a}))}})]}),(0,b.jsx)(bX,{links:[{label:"CI/CD pipeline",href:"https://github.com/shep-ai/cli/blob/main/docs/development/cicd.md"},{label:"CI security gates",href:"https://github.com/shep-ai/cli/blob/main/specs/003-cicd-security-gates/spec.md"}],children:"When a feature completes, the agent can watch CI and auto-fix failures. These limits prevent runaway retries and control how much log output is sent to the agent for analysis."})]}),(0,b.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,b.jsxs)(bU,{icon:q.Timer,title:"Stage Timeouts",description:"Maximum execution time per agent stage",testId:"stage-timeouts-settings-section",children:[(0,b.jsx)(bW,{children:"Feature Agent"}),(0,b.jsx)(bS,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze",children:(0,b.jsx)(bO,{id:"timeout-analyze",testId:"timeout-analyze-input",value:ae,onChange:af,onBlur:()=>{ae!==aD&&u(aM({analyzeTimeout:ae}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Requirements",description:"Requirements gathering timeout",htmlFor:"timeout-requirements",children:(0,b.jsx)(bO,{id:"timeout-requirements",testId:"timeout-requirements-input",value:ag,onChange:ah,onBlur:()=>{ag!==aE&&u(aM({requirementsTimeout:ag}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Research",description:"Technical research timeout",htmlFor:"timeout-research",children:(0,b.jsx)(bO,{id:"timeout-research",testId:"timeout-research-input",value:ai,onChange:aj,onBlur:()=>{ai!==aF&&u(aM({researchTimeout:ai}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Plan",description:"Implementation planning timeout",htmlFor:"timeout-plan",children:(0,b.jsx)(bO,{id:"timeout-plan",testId:"timeout-plan-input",value:ak,onChange:al,onBlur:()=>{ak!==aG&&u(aM({planTimeout:ak}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Implement",description:"Code implementation timeout",htmlFor:"timeout-implement",children:(0,b.jsx)(bO,{id:"timeout-implement",testId:"timeout-implement-input",value:am,onChange:an,onBlur:()=>{am!==aH&&u(aM({implementTimeout:am}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Merge",description:"PR creation and merge timeout",htmlFor:"timeout-merge",children:(0,b.jsx)(bO,{id:"timeout-merge",testId:"timeout-merge-input",value:ao,onChange:ap,onBlur:()=>{ao!==aI&&u(aM({mergeTimeout:ao}))},defaultSeconds:1800})}),(0,b.jsx)(bW,{children:"Analyze Repository Agent"}),(0,b.jsx)(bS,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze-repo",children:(0,b.jsx)(bO,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:ar,onChange:as,onBlur:()=>{ar!==aJ&&u(aM({analyzeRepoTimeout:ar}))},defaultSeconds:600})})]}),(0,b.jsx)(bX,{children:"Each agent has independently configurable stage timeouts. When a stage exceeds its timeout, the agent is terminated. Longer timeouts are useful for complex implementations. Feature agent defaults to 30 minutes per stage. Analyze repository agent defaults to 10 minutes."})]}),(0,b.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,b.jsxs)(bU,{icon:j,title:"Notifications",description:"How and when you get notified",testId:"notification-settings-section",children:[(0,b.jsx)(bW,{children:"Channels"}),(0,b.jsx)(bT,{label:"In-app",description:"Notifications inside the Shep UI",id:"notif-in-app",testId:"switch-in-app",checked:at,onChange:a=>{au(a),u(aN({inApp:a}))}}),(0,b.jsx)(bW,{children:"Agent Events"}),(0,b.jsx)(bT,{label:"Agent started",id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:av.agentStarted,onChange:a=>{let b={...av,agentStarted:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Phase completed",id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:av.phaseCompleted,onChange:a=>{let b={...av,phaseCompleted:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Waiting approval",id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:av.waitingApproval,onChange:a=>{let b={...av,waitingApproval:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Agent completed",id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:av.agentCompleted,onChange:a=>{let b={...av,agentCompleted:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Agent failed",id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:av.agentFailed,onChange:a=>{let b={...av,agentFailed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bW,{children:"Pull Request Events"}),(0,b.jsx)(bT,{label:"PR merged",id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:av.prMerged,onChange:a=>{let b={...av,prMerged:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR closed",id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:av.prClosed,onChange:a=>{let b={...av,prClosed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR checks passed",id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:av.prChecksPassed,onChange:a=>{let b={...av,prChecksPassed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR checks failed",id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:av.prChecksFailed,onChange:a=>{let b={...av,prChecksFailed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR blocked",id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:av.prBlocked,onChange:a=>{let b={...av,prBlocked:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Merge review ready",id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:av.mergeReviewReady,onChange:a=>{let b={...av,mergeReviewReady:a};aw(b),u(aN({events:b}))}})]}),(0,b.jsx)(bX,{links:[{label:"Notification system",href:"https://github.com/shep-ai/cli/blob/main/specs/021-agent-notifications/spec.yaml"}],children:"In-app toast notifications keep you in the loop. Fine-tune which agent lifecycle events trigger a notification."})]}),(0,b.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,b.jsxs)(bU,{icon:k,title:"Feature Flags",description:"Enable or disable experimental features",badge:"Experimental",testId:"feature-flags-settings-section",children:[(0,b.jsx)(bT,{label:"Skills",description:"Enable the skills system for agent capabilities",id:"flag-skills",testId:"switch-flag-skills",checked:ax.skills,onChange:a=>{let b={...ax,skills:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Deployments",description:"Enable environment deployment workflows",id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ax.envDeploy,onChange:a=>{let b={...ax,envDeploy:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Debug",description:"Show debug panels and verbose logging",id:"flag-debug",testId:"switch-flag-debug",checked:ax.debug,onChange:a=>{let b={...ax,debug:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"GitHub Import",description:"Enable GitHub repository import in the web UI",id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ax.githubImport,onChange:a=>{let b={...ax,githubImport:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Adopt Branch",description:"Import existing branches as tracked features",id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ax.adoptBranch,onChange:a=>{let b={...ax,adoptBranch:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Git Rebase & Sync",description:"Enable git rebase-on-main and sync-main operations",id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ax.gitRebaseSync,onChange:a=>{let b={...ax,gitRebaseSync:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"React File Manager",description:"Use the built-in React file manager instead of the native OS folder picker",id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ax.reactFileManager,onChange:a=>{let b={...ax,reactFileManager:a};ay(b),u({featureFlags:b})}})]}),(0,b.jsx)(bX,{children:"Experimental features that are still under development. Enable at your own risk — they may change or be removed in future versions. Debug mode adds verbose logging useful for troubleshooting."})]}),(0,b.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,b.jsxs)(bU,{icon:l,title:"Database",description:"Local storage information",testId:"database-settings-section",children:[(0,b.jsx)(bS,{label:"Location",description:"Path to the local SQLite database",children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:e})}),(0,b.jsx)(bS,{label:"Size",children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:m})})]}),(0,b.jsx)(bX,{links:[{label:"Settings service",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/settings-service.md"},{label:"Settings spec",href:"https://github.com/shep-ai/cli/blob/main/specs/005-global-settings-service/spec.md"}],children:"All settings are stored in a local SQLite database at ~/.shep/data. The database uses a singleton record pattern with automatic migrations on startup."})]})]})]})}a.s(["SettingsPageClient",()=>bY],79020)}];
1
+ module.exports=[79020,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(72016),e=a.i(25700);let f=(0,e.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var g=a.i(63698),h=a.i(53170);let i=(0,e.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),j=(0,e.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"}]]),k=(0,e.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"}]]),l=(0,e.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 m=a.i(96853),m=m,n=a.i(67837),o=a.i(71238);let p=(0,e.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 q=a.i(7421),r=a.i(52313),s=a.i(85536),t=a.i(584),u=a.i(96867),v=a.i(55690),w=a.i(48972),x=a.i(59653),y=a.i(63496),z=a.i(6175),A=a.i(7420),B=a.i(48939),C=a.i(58761),D=a.i(51473),E=a.i(59675),F=a.i(5472),G=a.i(75988),H=a.i(80930),I=a.i(66873),J=a.i(90986),K=a.i(79406),L=a.i(17329),M=a.i(61476),N=a.i(64005),O=a.i(50049),P=a.i(16164),Q=a.i(45291),R=[" ","Enter","ArrowUp","ArrowDown"],S=[" ","Enter"],T="Select",[U,V,W]=(0,y.createCollection)(T),[X,Y]=(0,A.createContextScope)(T,[W,G.createPopperScope]),Z=(0,G.createPopperScope)(),[$,_]=X(T),[aa,ab]=X(T),ac=a=>{let{__scopeSelect:d,children:e,open:f,defaultOpen:g,onOpenChange:h,value:i,defaultValue:j,onValueChange:k,dir:l,name:m,autoComplete:n,disabled:o,required:p,form:q}=a,r=Z(d),[s,t]=c.useState(null),[u,v]=c.useState(null),[w,x]=c.useState(!1),y=(0,B.useDirection)(l),[z,A]=(0,L.useControllableState)({prop:f,defaultProp:g??!1,onChange:h,caller:T}),[C,D]=(0,L.useControllableState)({prop:i,defaultProp:j,onChange:k,caller:T}),E=c.useRef(null),H=!s||q||!!s.closest("form"),[I,J]=c.useState(new Set),K=Array.from(I).map(a=>a.props.value).join(";");return(0,b.jsx)(G.Root,{...r,children:(0,b.jsxs)($,{required:p,scope:d,trigger:s,onTriggerChange:t,valueNode:u,onValueNodeChange:v,valueNodeHasChildren:w,onValueNodeHasChildrenChange:x,contentId:(0,F.useId)(),value:C,onValueChange:D,open:z,onOpenChange:A,dir:y,triggerPointerDownPosRef:E,disabled:o,children:[(0,b.jsx)(U.Provider,{scope:d,children:(0,b.jsx)(aa,{scope:a.__scopeSelect,onNativeOptionAdd:c.useCallback(a=>{J(b=>new Set(b).add(a))},[]),onNativeOptionRemove:c.useCallback(a=>{J(b=>{let c=new Set(b);return c.delete(a),c})},[]),children:e})}),H?(0,b.jsxs)(aR,{"aria-hidden":!0,required:p,tabIndex:-1,name:m,autoComplete:n,value:C,onChange:a=>D(a.target.value),disabled:o,form:q,children:[void 0===C?(0,b.jsx)("option",{value:""}):null,Array.from(I)]},K):null]})})};ac.displayName=T;var ad="SelectTrigger",ae=c.forwardRef((a,d)=>{let{__scopeSelect:e,disabled:f=!1,...g}=a,h=Z(e),i=_(ad,e),j=i.disabled||f,k=(0,z.useComposedRefs)(d,i.onTriggerChange),l=V(e),m=c.useRef("touch"),[n,o,p]=aT(a=>{let b=l().filter(a=>!a.disabled),c=b.find(a=>a.value===i.value),d=aU(b,a,c);void 0!==d&&i.onValueChange(d.value)}),q=a=>{j||(i.onOpenChange(!0),p()),a&&(i.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return(0,b.jsx)(G.Anchor,{asChild:!0,...h,children:(0,b.jsx)(I.Primitive.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:j,"data-disabled":j?"":void 0,"data-placeholder":aS(i.value)?"":void 0,...g,ref:k,onClick:(0,x.composeEventHandlers)(g.onClick,a=>{a.currentTarget.focus(),"mouse"!==m.current&&q(a)}),onPointerDown:(0,x.composeEventHandlers)(g.onPointerDown,a=>{m.current=a.pointerType;let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),0===a.button&&!1===a.ctrlKey&&"mouse"===a.pointerType&&(q(a),a.preventDefault())}),onKeyDown:(0,x.composeEventHandlers)(g.onKeyDown,a=>{let b=""!==n.current;a.ctrlKey||a.altKey||a.metaKey||1!==a.key.length||o(a.key),(!b||" "!==a.key)&&R.includes(a.key)&&(q(),a.preventDefault())})})})});ae.displayName=ad;var af="SelectValue",ag=c.forwardRef((a,c)=>{let{__scopeSelect:d,className:e,style:f,children:g,placeholder:h="",...i}=a,j=_(af,d),{onValueNodeHasChildrenChange:k}=j,l=void 0!==g,m=(0,z.useComposedRefs)(c,j.onValueNodeChange);return(0,M.useLayoutEffect)(()=>{k(l)},[k,l]),(0,b.jsx)(I.Primitive.span,{...i,ref:m,style:{pointerEvents:"none"},children:aS(j.value)?(0,b.jsx)(b.Fragment,{children:h}):g})});ag.displayName=af;var ah=c.forwardRef((a,c)=>{let{__scopeSelect:d,children:e,...f}=a;return(0,b.jsx)(I.Primitive.span,{"aria-hidden":!0,...f,ref:c,children:e||"▼"})});ah.displayName="SelectIcon";var ai=a=>(0,b.jsx)(H.Portal,{asChild:!0,...a});ai.displayName="SelectPortal";var aj="SelectContent",ak=c.forwardRef((a,d)=>{let e=_(aj,a.__scopeSelect),[f,g]=c.useState();return((0,M.useLayoutEffect)(()=>{g(new DocumentFragment)},[]),e.open)?(0,b.jsx)(ao,{...a,ref:d}):f?v.createPortal((0,b.jsx)(al,{scope:a.__scopeSelect,children:(0,b.jsx)(U.Slot,{scope:a.__scopeSelect,children:(0,b.jsx)("div",{children:a.children})})}),f):null});ak.displayName=aj;var[al,am]=X(aj),an=(0,J.createSlot)("SelectContent.RemoveScroll"),ao=c.forwardRef((a,d)=>{let{__scopeSelect:e,position:f="item-aligned",onCloseAutoFocus:g,onEscapeKeyDown:h,onPointerDownOutside:i,side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s,...t}=a,u=_(aj,e),[v,w]=c.useState(null),[y,A]=c.useState(null),B=(0,z.useComposedRefs)(d,a=>w(a)),[F,G]=c.useState(null),[H,I]=c.useState(null),J=V(e),[K,L]=c.useState(!1),M=c.useRef(!1);c.useEffect(()=>{if(v)return(0,P.hideOthers)(v)},[v]),(0,D.useFocusGuards)();let N=c.useCallback(a=>{let[b,...c]=J().map(a=>a.ref.current),[d]=c.slice(-1),e=document.activeElement;for(let c of a)if(c===e||(c?.scrollIntoView({block:"nearest"}),c===b&&y&&(y.scrollTop=0),c===d&&y&&(y.scrollTop=y.scrollHeight),c?.focus(),document.activeElement!==e))return},[J,y]),O=c.useCallback(()=>N([F,v]),[N,F,v]);c.useEffect(()=>{K&&O()},[K,O]);let{onOpenChange:R,triggerPointerDownPosRef:S}=u;c.useEffect(()=>{if(v){let a={x:0,y:0},b=b=>{a={x:Math.abs(Math.round(b.pageX)-(S.current?.x??0)),y:Math.abs(Math.round(b.pageY)-(S.current?.y??0))}},c=c=>{a.x<=10&&a.y<=10?c.preventDefault():v.contains(c.target)||R(!1),document.removeEventListener("pointermove",b),S.current=null};return null!==S.current&&(document.addEventListener("pointermove",b),document.addEventListener("pointerup",c,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",c,{capture:!0})}}},[v,R,S]),c.useEffect(()=>{let a=()=>R(!1);return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[R]);let[T,U]=aT(a=>{let b=J().filter(a=>!a.disabled),c=b.find(a=>a.ref.current===document.activeElement),d=aU(b,a,c);d&&setTimeout(()=>d.ref.current.focus())}),W=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==u.value&&u.value===b||d)&&(G(a),d&&(M.current=!0))},[u.value]),X=c.useCallback(()=>v?.focus(),[v]),Y=c.useCallback((a,b,c)=>{let d=!M.current&&!c;(void 0!==u.value&&u.value===b||d)&&I(a)},[u.value]),Z="popper"===f?aq:ap,$=Z===aq?{side:j,sideOffset:k,align:l,alignOffset:m,arrowPadding:n,collisionBoundary:o,collisionPadding:p,sticky:q,hideWhenDetached:r,avoidCollisions:s}:{};return(0,b.jsx)(al,{scope:e,content:v,viewport:y,onViewportChange:A,itemRefCallback:W,selectedItem:F,onItemLeave:X,itemTextRefCallback:Y,focusSelectedItem:O,selectedItemText:H,position:f,isPositioned:K,searchRef:T,children:(0,b.jsx)(Q.RemoveScroll,{as:an,allowPinchZoom:!0,children:(0,b.jsx)(E.FocusScope,{asChild:!0,trapped:u.open,onMountAutoFocus:a=>{a.preventDefault()},onUnmountAutoFocus:(0,x.composeEventHandlers)(g,a=>{u.trigger?.focus({preventScroll:!0}),a.preventDefault()}),children:(0,b.jsx)(C.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:h,onPointerDownOutside:i,onFocusOutside:a=>a.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:(0,b.jsx)(Z,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:a=>a.preventDefault(),...t,...$,onPlaced:()=>L(!0),ref:B,style:{display:"flex",flexDirection:"column",outline:"none",...t.style},onKeyDown:(0,x.composeEventHandlers)(t.onKeyDown,a=>{let b=a.ctrlKey||a.altKey||a.metaKey;if("Tab"===a.key&&a.preventDefault(),b||1!==a.key.length||U(a.key),["ArrowUp","ArrowDown","Home","End"].includes(a.key)){let b=J().filter(a=>!a.disabled).map(a=>a.ref.current);if(["ArrowUp","End"].includes(a.key)&&(b=b.slice().reverse()),["ArrowUp","ArrowDown"].includes(a.key)){let c=a.target,d=b.indexOf(c);b=b.slice(d+1)}setTimeout(()=>N(b)),a.preventDefault()}})})})})})})});ao.displayName="SelectContentImpl";var ap=c.forwardRef((a,d)=>{let{__scopeSelect:e,onPlaced:f,...g}=a,h=_(aj,e),i=am(aj,e),[j,k]=c.useState(null),[l,m]=c.useState(null),n=(0,z.useComposedRefs)(d,a=>m(a)),o=V(e),p=c.useRef(!1),q=c.useRef(!0),{viewport:r,selectedItem:s,selectedItemText:t,focusSelectedItem:u}=i,v=c.useCallback(()=>{if(h.trigger&&h.valueNode&&j&&l&&r&&s&&t){let a=h.trigger.getBoundingClientRect(),b=l.getBoundingClientRect(),c=h.valueNode.getBoundingClientRect(),d=t.getBoundingClientRect();if("rtl"!==h.dir){let e=d.left-b.left,f=c.left-e,g=a.left-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,w.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.left=l+"px"}else{let e=b.right-d.right,f=window.innerWidth-c.right-e,g=window.innerWidth-a.right-f,h=a.width+g,i=Math.max(h,b.width),k=window.innerWidth-10,l=(0,w.clamp)(f,[10,Math.max(10,k-i)]);j.style.minWidth=h+"px",j.style.right=l+"px"}let e=o(),g=window.innerHeight-20,i=r.scrollHeight,k=window.getComputedStyle(l),m=parseInt(k.borderTopWidth,10),n=parseInt(k.paddingTop,10),q=parseInt(k.borderBottomWidth,10),u=m+n+i+parseInt(k.paddingBottom,10)+q,v=Math.min(5*s.offsetHeight,u),x=window.getComputedStyle(r),y=parseInt(x.paddingTop,10),z=parseInt(x.paddingBottom,10),A=a.top+a.height/2-10,B=s.offsetHeight/2,C=m+n+(s.offsetTop+B);if(C<=A){let a=e.length>0&&s===e[e.length-1].ref.current;j.style.bottom="0px";let b=Math.max(g-A,B+(a?z:0)+(l.clientHeight-r.offsetTop-r.offsetHeight)+q);j.style.height=C+b+"px"}else{let a=e.length>0&&s===e[0].ref.current;j.style.top="0px";let b=Math.max(A,m+r.offsetTop+(a?y:0)+B);j.style.height=b+(u-C)+"px",r.scrollTop=C-A+r.offsetTop}j.style.margin="10px 0",j.style.minHeight=v+"px",j.style.maxHeight=g+"px",f?.(),requestAnimationFrame(()=>p.current=!0)}},[o,h.trigger,h.valueNode,j,l,r,s,t,h.dir,f]);(0,M.useLayoutEffect)(()=>v(),[v]);let[x,y]=c.useState();(0,M.useLayoutEffect)(()=>{l&&y(window.getComputedStyle(l).zIndex)},[l]);let A=c.useCallback(a=>{a&&!0===q.current&&(v(),u?.(),q.current=!1)},[v,u]);return(0,b.jsx)(ar,{scope:e,contentWrapper:j,shouldExpandOnScrollRef:p,onScrollButtonChange:A,children:(0,b.jsx)("div",{ref:k,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,b.jsx)(I.Primitive.div,{...g,ref:n,style:{boxSizing:"border-box",maxHeight:"100%",...g.style}})})})});ap.displayName="SelectItemAlignedPosition";var aq=c.forwardRef((a,c)=>{let{__scopeSelect:d,align:e="start",collisionPadding:f=10,...g}=a,h=Z(d);return(0,b.jsx)(G.Content,{...h,...g,ref:c,align:e,collisionPadding:f,style:{boxSizing:"border-box",...g.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});aq.displayName="SelectPopperPosition";var[ar,as]=X(aj,{}),at="SelectViewport",au=c.forwardRef((a,d)=>{let{__scopeSelect:e,nonce:f,...g}=a,h=am(at,e),i=as(at,e),j=(0,z.useComposedRefs)(d,h.onViewportChange),k=c.useRef(0);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:f}),(0,b.jsx)(U.Slot,{scope:e,children:(0,b.jsx)(I.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...g,ref:j,style:{position:"relative",flex:1,overflow:"hidden auto",...g.style},onScroll:(0,x.composeEventHandlers)(g.onScroll,a=>{let b=a.currentTarget,{contentWrapper:c,shouldExpandOnScrollRef:d}=i;if(d?.current&&c){let a=Math.abs(k.current-b.scrollTop);if(a>0){let d=window.innerHeight-20,e=Math.max(parseFloat(c.style.minHeight),parseFloat(c.style.height));if(e<d){let f=e+a,g=Math.min(d,f),h=f-g;c.style.height=g+"px","0px"===c.style.bottom&&(b.scrollTop=h>0?h:0,c.style.justifyContent="flex-end")}}}k.current=b.scrollTop})})})]})});au.displayName=at;var av="SelectGroup",[aw,ax]=X(av),ay=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=(0,F.useId)();return(0,b.jsx)(aw,{scope:d,id:f,children:(0,b.jsx)(I.Primitive.div,{role:"group","aria-labelledby":f,...e,ref:c})})});ay.displayName=av;var az="SelectLabel",aA=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=ax(az,d);return(0,b.jsx)(I.Primitive.div,{id:f.id,...e,ref:c})});aA.displayName=az;var aB="SelectItem",[aC,aD]=X(aB),aE=c.forwardRef((a,d)=>{let{__scopeSelect:e,value:f,disabled:g=!1,textValue:h,...i}=a,j=_(aB,e),k=am(aB,e),l=j.value===f,[m,n]=c.useState(h??""),[o,p]=c.useState(!1),q=(0,z.useComposedRefs)(d,a=>k.itemRefCallback?.(a,f,g)),r=(0,F.useId)(),s=c.useRef("touch"),t=()=>{g||(j.onValueChange(f),j.onOpenChange(!1))};if(""===f)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,b.jsx)(aC,{scope:e,value:f,disabled:g,textId:r,isSelected:l,onItemTextChange:c.useCallback(a=>{n(b=>b||(a?.textContent??"").trim())},[]),children:(0,b.jsx)(U.ItemSlot,{scope:e,value:f,disabled:g,textValue:m,children:(0,b.jsx)(I.Primitive.div,{role:"option","aria-labelledby":r,"data-highlighted":o?"":void 0,"aria-selected":l&&o,"data-state":l?"checked":"unchecked","aria-disabled":g||void 0,"data-disabled":g?"":void 0,tabIndex:g?void 0:-1,...i,ref:q,onFocus:(0,x.composeEventHandlers)(i.onFocus,()=>p(!0)),onBlur:(0,x.composeEventHandlers)(i.onBlur,()=>p(!1)),onClick:(0,x.composeEventHandlers)(i.onClick,()=>{"mouse"!==s.current&&t()}),onPointerUp:(0,x.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===s.current&&t()}),onPointerDown:(0,x.composeEventHandlers)(i.onPointerDown,a=>{s.current=a.pointerType}),onPointerMove:(0,x.composeEventHandlers)(i.onPointerMove,a=>{s.current=a.pointerType,g?k.onItemLeave?.():"mouse"===s.current&&a.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,x.composeEventHandlers)(i.onPointerLeave,a=>{a.currentTarget===document.activeElement&&k.onItemLeave?.()}),onKeyDown:(0,x.composeEventHandlers)(i.onKeyDown,a=>{(k.searchRef?.current===""||" "!==a.key)&&(S.includes(a.key)&&t()," "===a.key&&a.preventDefault())})})})})});aE.displayName=aB;var aF="SelectItemText",aG=c.forwardRef((a,d)=>{let{__scopeSelect:e,className:f,style:g,...h}=a,i=_(aF,e),j=am(aF,e),k=aD(aF,e),l=ab(aF,e),[m,n]=c.useState(null),o=(0,z.useComposedRefs)(d,a=>n(a),k.onItemTextChange,a=>j.itemTextRefCallback?.(a,k.value,k.disabled)),p=m?.textContent,q=c.useMemo(()=>(0,b.jsx)("option",{value:k.value,disabled:k.disabled,children:p},k.value),[k.disabled,k.value,p]),{onNativeOptionAdd:r,onNativeOptionRemove:s}=l;return(0,M.useLayoutEffect)(()=>(r(q),()=>s(q)),[r,s,q]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(I.Primitive.span,{id:k.textId,...h,ref:o}),k.isSelected&&i.valueNode&&!i.valueNodeHasChildren?v.createPortal(h.children,i.valueNode):null]})});aG.displayName=aF;var aH="SelectItemIndicator",aI=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return aD(aH,d).isSelected?(0,b.jsx)(I.Primitive.span,{"aria-hidden":!0,...e,ref:c}):null});aI.displayName=aH;var aJ="SelectScrollUpButton",aK=c.forwardRef((a,d)=>{let e=am(aJ,a.__scopeSelect),f=as(aJ,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,z.useComposedRefs)(d,f.onScrollButtonChange);return(0,M.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){h(b.scrollTop>0)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop-b.offsetHeight)}}):null});aK.displayName=aJ;var aL="SelectScrollDownButton",aM=c.forwardRef((a,d)=>{let e=am(aL,a.__scopeSelect),f=as(aL,a.__scopeSelect),[g,h]=c.useState(!1),i=(0,z.useComposedRefs)(d,f.onScrollButtonChange);return(0,M.useLayoutEffect)(()=>{if(e.viewport&&e.isPositioned){let a=function(){let a=b.scrollHeight-b.clientHeight;h(Math.ceil(b.scrollTop)<a)},b=e.viewport;return a(),b.addEventListener("scroll",a),()=>b.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),g?(0,b.jsx)(aN,{...a,ref:i,onAutoScroll:()=>{let{viewport:a,selectedItem:b}=e;a&&b&&(a.scrollTop=a.scrollTop+b.offsetHeight)}}):null});aM.displayName=aL;var aN=c.forwardRef((a,d)=>{let{__scopeSelect:e,onAutoScroll:f,...g}=a,h=am("SelectScrollButton",e),i=c.useRef(null),j=V(e),k=c.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return c.useEffect(()=>()=>k(),[k]),(0,M.useLayoutEffect)(()=>{let a=j().find(a=>a.ref.current===document.activeElement);a?.ref.current?.scrollIntoView({block:"nearest"})},[j]),(0,b.jsx)(I.Primitive.div,{"aria-hidden":!0,...g,ref:d,style:{flexShrink:0,...g.style},onPointerDown:(0,x.composeEventHandlers)(g.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(f,50))}),onPointerMove:(0,x.composeEventHandlers)(g.onPointerMove,()=>{h.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(f,50))}),onPointerLeave:(0,x.composeEventHandlers)(g.onPointerLeave,()=>{k()})})}),aO=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a;return(0,b.jsx)(I.Primitive.div,{"aria-hidden":!0,...e,ref:c})});aO.displayName="SelectSeparator";var aP="SelectArrow",aQ=c.forwardRef((a,c)=>{let{__scopeSelect:d,...e}=a,f=Z(d),g=_(aP,d),h=am(aP,d);return g.open&&"popper"===h.position?(0,b.jsx)(G.Arrow,{...f,...e,ref:c}):null});aQ.displayName=aP;var aR=c.forwardRef(({__scopeSelect:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,z.useComposedRefs)(f,g),i=(0,N.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==d&&b){let c=new Event("change",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(I.Primitive.select,{...e,style:{...O.VISUALLY_HIDDEN_STYLES,...e.style},ref:h,defaultValue:d})});function aS(a){return""===a||void 0===a}function aT(a){let b=(0,K.useCallbackRef)(a),d=c.useRef(""),e=c.useRef(0),f=c.useCallback(a=>{let c=d.current+a;b(c),function a(b){d.current=b,window.clearTimeout(e.current),""!==b&&(e.current=window.setTimeout(()=>a(""),1e3))}(c)},[b]),g=c.useCallback(()=>{d.current="",window.clearTimeout(e.current)},[]);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),[d,f,g]}function aU(a,b,c){var d,e;let f=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,g=c?a.indexOf(c):-1,h=(d=a,e=Math.max(g,0),d.map((a,b)=>d[(e+b)%d.length]));1===f.length&&(h=h.filter(a=>a!==c));let i=h.find(a=>a.textValue.toLowerCase().startsWith(f.toLowerCase()));return i!==c?i:void 0}aR.displayName="SelectBubbleInput",a.s(["Arrow",()=>aQ,"Content",()=>ak,"Group",()=>ay,"Icon",()=>ah,"Item",()=>aE,"ItemIndicator",()=>aI,"ItemText",()=>aG,"Label",()=>aA,"Portal",()=>ai,"Root",()=>ac,"ScrollDownButton",()=>aM,"ScrollUpButton",()=>aK,"Select",()=>ac,"SelectArrow",()=>aQ,"SelectContent",()=>ak,"SelectGroup",()=>ay,"SelectIcon",()=>ah,"SelectItem",()=>aE,"SelectItemIndicator",()=>aI,"SelectItemText",()=>aG,"SelectLabel",()=>aA,"SelectPortal",()=>ai,"SelectScrollDownButton",()=>aM,"SelectScrollUpButton",()=>aK,"SelectSeparator",()=>aO,"SelectTrigger",()=>ae,"SelectValue",()=>ag,"SelectViewport",()=>au,"Separator",()=>aO,"Trigger",()=>ae,"Value",()=>ag,"Viewport",()=>au,"createSelectScope",()=>Y],16252);var aV=a.i(16252),aV=aV,aW=a.i(71716);let aX=(0,e.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),aY=aV.Root;aV.Group;let aZ=aV.Value,a$=c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(aV.Trigger,{ref:e,className:(0,s.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...d,children:[c,(0,b.jsx)(aV.Icon,{asChild:!0,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));a$.displayName=aV.Trigger.displayName;let a_=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.ScrollUpButton,{ref:d,className:(0,s.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aX,{className:"h-4 w-4"})}));a_.displayName=aV.ScrollUpButton.displayName;let a0=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.ScrollDownButton,{ref:d,className:(0,s.cn)("flex cursor-default items-center justify-center py-1",a),...c,children:(0,b.jsx)(aW.ChevronDown,{className:"h-4 w-4"})}));a0.displayName=aV.ScrollDownButton.displayName;let a1=c.forwardRef(({className:a,children:c,position:d="popper",...e},f)=>(0,b.jsx)(aV.Portal,{children:(0,b.jsxs)(aV.Content,{ref:f,className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===d&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:d,...e,children:[(0,b.jsx)(a_,{}),(0,b.jsx)(aV.Viewport,{className:(0,s.cn)("p-1","popper"===d&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:c}),(0,b.jsx)(a0,{})]})}));a1.displayName=aV.Content.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.Label,{ref:d,className:(0,s.cn)("px-2 py-1.5 text-sm font-semibold",a),...c})).displayName=aV.Label.displayName;let a2=c.forwardRef(({className:a,children:c,...e},f)=>(0,b.jsxs)(aV.Item,{ref:f,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...e,children:[(0,b.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(aV.ItemIndicator,{children:(0,b.jsx)(d.Check,{className:"h-4 w-4"})})}),(0,b.jsx)(aV.ItemText,{children:c})]}));a2.displayName=aV.Item.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(aV.Separator,{ref:d,className:(0,s.cn)("bg-muted -mx-1 my-1 h-px",a),...c})).displayName=aV.Separator.displayName;var a3=a.i(25674);let a4=(0,a3.createServerReference)("40a42248485dc9a49daf53ab9f5f907f7203ed0f81",a3.callServer,void 0,a3.findSourceMapURL,"updateSettingsAction");var a5=a.i(46847),a6=a.i(61640),a7=a.i(44447),a8=a.i(87926);function a9(a){return(0,b.jsx)(a7.Code,{className:(0,s.cn)("h-4 w-4",a.className),...a})}function ba({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/editors/vscode.svg",alt:"VS Code",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function bb({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/agents/cursor.jpeg",alt:"Cursor",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function bc({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/editors/windsurf.svg",alt:"Windsurf",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function bd({className:a}){return(0,b.jsx)(a6.default,{src:"/icons/editors/zed.svg",alt:"Zed",width:24,height:24,className:(0,s.cn)("rounded-sm object-contain",a)})}function be({className:a,...c}){return(0,b.jsx)(a8.Rocket,{className:(0,s.cn)("h-4 w-4",a),...c})}ba.displayName="VsCodeIcon",bb.displayName="CursorEditorIcon",bc.displayName="WindsurfIcon",bd.displayName="ZedIcon",be.displayName="AntigravityIcon";let bf={vscode:ba,cursor:bb,windsurf:bc,zed:bd,antigravity:be};var bg=a.i(61781),bh=a.i(74432),bi=["PageUp","PageDown"],bj=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],bk={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},bl="Slider",[bm,bn,bo]=(0,y.createCollection)(bl),[bp,bq]=(0,A.createContextScope)(bl,[bo]),[br,bs]=bp(bl),bt=c.forwardRef((a,d)=>{let{name:e,min:f=0,max:g=100,step:h=1,orientation:i="horizontal",disabled:j=!1,minStepsBetweenThumbs:k=0,defaultValue:l=[f],value:m,onValueChange:n=()=>{},onValueCommit:o=()=>{},inverted:p=!1,form:q,...r}=a,s=c.useRef(new Set),t=c.useRef(0),u="horizontal"===i,[v=[],y]=(0,L.useControllableState)({prop:m,defaultProp:l,onChange:a=>{let b=[...s.current];b[t.current]?.focus(),n(a)}}),z=c.useRef(v);function A(a,b,{commit:c}={commit:!1}){let d,e=(String(h).split(".")[1]||"").length,i=Math.round((Math.round((a-f)/h)*h+f)*(d=Math.pow(10,e)))/d,j=(0,w.clamp)(i,[f,g]);y((a=[])=>{let d=function(a=[],b,c){let d=[...a];return d[c]=b,d.sort((a,b)=>a-b)}(a,j,b);if(!function(a,b){if(b>0)return Math.min(...a.slice(0,-1).map((b,c)=>a[c+1]-b))>=b;return!0}(d,k*h))return a;{t.current=d.indexOf(j);let b=String(d)!==String(a);return b&&c&&o(d),b?d:a}})}return(0,b.jsx)(br,{scope:a.__scopeSlider,name:e,disabled:j,min:f,max:g,valueIndexToChangeRef:t,thumbs:s.current,values:v,orientation:i,form:q,children:(0,b.jsx)(bm.Provider,{scope:a.__scopeSlider,children:(0,b.jsx)(bm.Slot,{scope:a.__scopeSlider,children:(0,b.jsx)(u?bw:bx,{"aria-disabled":j,"data-disabled":j?"":void 0,...r,ref:d,onPointerDown:(0,x.composeEventHandlers)(r.onPointerDown,()=>{j||(z.current=v)}),min:f,max:g,inverted:p,onSlideStart:j?void 0:function(a){let b=function(a,b){if(1===a.length)return 0;let c=a.map(a=>Math.abs(a-b)),d=Math.min(...c);return c.indexOf(d)}(v,a);A(a,b)},onSlideMove:j?void 0:function(a){A(a,t.current)},onSlideEnd:j?void 0:function(){let a=z.current[t.current];v[t.current]!==a&&o(v)},onHomeKeyDown:()=>!j&&A(f,0,{commit:!0}),onEndKeyDown:()=>!j&&A(g,v.length-1,{commit:!0}),onStepKeyDown:({event:a,direction:b})=>{if(!j){let c=bi.includes(a.key)||a.shiftKey&&bj.includes(a.key),d=t.current;A(v[d]+h*(c?10:1)*b,d,{commit:!0})}}})})})})});bt.displayName=bl;var[bu,bv]=bp(bl,{startEdge:"left",endEdge:"right",size:"width",direction:1}),bw=c.forwardRef((a,d)=>{let{min:e,max:f,dir:g,inverted:h,onSlideStart:i,onSlideMove:j,onSlideEnd:k,onStepKeyDown:l,...m}=a,[n,o]=c.useState(null),p=(0,z.useComposedRefs)(d,a=>o(a)),q=c.useRef(void 0),r=(0,B.useDirection)(g),s="ltr"===r,t=s&&!h||!s&&h;function u(a){let b=q.current||n.getBoundingClientRect(),c=bI([0,b.width],t?[e,f]:[f,e]);return q.current=b,c(a-b.left)}return(0,b.jsx)(bu,{scope:a.__scopeSlider,startEdge:t?"left":"right",endEdge:t?"right":"left",direction:t?1:-1,size:"width",children:(0,b.jsx)(by,{dir:r,"data-orientation":"horizontal",...m,ref:p,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:a=>{let b=u(a.clientX);i?.(b)},onSlideMove:a=>{let b=u(a.clientX);j?.(b)},onSlideEnd:()=>{q.current=void 0,k?.()},onStepKeyDown:a=>{let b=bk[t?"from-left":"from-right"].includes(a.key);l?.({event:a,direction:b?-1:1})}})})}),bx=c.forwardRef((a,d)=>{let{min:e,max:f,inverted:g,onSlideStart:h,onSlideMove:i,onSlideEnd:j,onStepKeyDown:k,...l}=a,m=c.useRef(null),n=(0,z.useComposedRefs)(d,m),o=c.useRef(void 0),p=!g;function q(a){let b=o.current||m.current.getBoundingClientRect(),c=bI([0,b.height],p?[f,e]:[e,f]);return o.current=b,c(a-b.top)}return(0,b.jsx)(bu,{scope:a.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,b.jsx)(by,{"data-orientation":"vertical",...l,ref:n,style:{...l.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:a=>{let b=q(a.clientY);h?.(b)},onSlideMove:a=>{let b=q(a.clientY);i?.(b)},onSlideEnd:()=>{o.current=void 0,j?.()},onStepKeyDown:a=>{let b=bk[p?"from-bottom":"from-top"].includes(a.key);k?.({event:a,direction:b?-1:1})}})})}),by=c.forwardRef((a,c)=>{let{__scopeSlider:d,onSlideStart:e,onSlideMove:f,onSlideEnd:g,onHomeKeyDown:h,onEndKeyDown:i,onStepKeyDown:j,...k}=a,l=bs(bl,d);return(0,b.jsx)(I.Primitive.span,{...k,ref:c,onKeyDown:(0,x.composeEventHandlers)(a.onKeyDown,a=>{"Home"===a.key?(h(a),a.preventDefault()):"End"===a.key?(i(a),a.preventDefault()):bi.concat(bj).includes(a.key)&&(j(a),a.preventDefault())}),onPointerDown:(0,x.composeEventHandlers)(a.onPointerDown,a=>{let b=a.target;b.setPointerCapture(a.pointerId),a.preventDefault(),l.thumbs.has(b)?b.focus():e(a)}),onPointerMove:(0,x.composeEventHandlers)(a.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&f(a)}),onPointerUp:(0,x.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&(b.releasePointerCapture(a.pointerId),g(a))})})}),bz="SliderTrack",bA=c.forwardRef((a,c)=>{let{__scopeSlider:d,...e}=a,f=bs(bz,d);return(0,b.jsx)(I.Primitive.span,{"data-disabled":f.disabled?"":void 0,"data-orientation":f.orientation,...e,ref:c})});bA.displayName=bz;var bB="SliderRange",bC=c.forwardRef((a,d)=>{let{__scopeSlider:e,...f}=a,g=bs(bB,e),h=bv(bB,e),i=c.useRef(null),j=(0,z.useComposedRefs)(d,i),k=g.values.length,l=g.values.map(a=>bH(a,g.min,g.max)),m=k>1?Math.min(...l):0,n=100-Math.max(...l);return(0,b.jsx)(I.Primitive.span,{"data-orientation":g.orientation,"data-disabled":g.disabled?"":void 0,...f,ref:j,style:{...a.style,[h.startEdge]:m+"%",[h.endEdge]:n+"%"}})});bC.displayName=bB;var bD="SliderThumb",bE=c.forwardRef((a,d)=>{let e=bn(a.__scopeSlider),[f,g]=c.useState(null),h=(0,z.useComposedRefs)(d,a=>g(a)),i=c.useMemo(()=>f?e().findIndex(a=>a.ref.current===f):-1,[e,f]);return(0,b.jsx)(bF,{...a,ref:h,index:i})}),bF=c.forwardRef((a,d)=>{var e,f,g,h,i;let j,k,{__scopeSlider:l,index:m,name:n,...o}=a,p=bs(bD,l),q=bv(bD,l),[r,s]=c.useState(null),t=(0,z.useComposedRefs)(d,a=>s(a)),u=!r||p.form||!!r.closest("form"),v=(0,bh.useSize)(r),w=p.values[m],y=void 0===w?0:bH(w,p.min,p.max),A=(e=m,(f=p.values.length)>2?`Value ${e+1} of ${f}`:2===f?["Minimum","Maximum"][e]:void 0),B=v?.[q.size],C=B?(g=B,h=y,i=q.direction,k=bI([0,50],[0,j=g/2]),(j-k(h)*i)*i):0;return c.useEffect(()=>{if(r)return p.thumbs.add(r),()=>{p.thumbs.delete(r)}},[r,p.thumbs]),(0,b.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[q.startEdge]:`calc(${y}% + ${C}px)`},children:[(0,b.jsx)(bm.ItemSlot,{scope:a.__scopeSlider,children:(0,b.jsx)(I.Primitive.span,{role:"slider","aria-label":a["aria-label"]||A,"aria-valuemin":p.min,"aria-valuenow":w,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...o,ref:t,style:void 0===w?{display:"none"}:a.style,onFocus:(0,x.composeEventHandlers)(a.onFocus,()=>{p.valueIndexToChangeRef.current=m})})}),u&&(0,b.jsx)(bG,{name:n??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:w},m)]})});bE.displayName=bD;var bG=c.forwardRef(({__scopeSlider:a,value:d,...e},f)=>{let g=c.useRef(null),h=(0,z.useComposedRefs)(g,f),i=(0,N.usePrevious)(d);return c.useEffect(()=>{let a=g.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(i!==d&&b){let c=new Event("input",{bubbles:!0});b.call(a,d),a.dispatchEvent(c)}},[i,d]),(0,b.jsx)(I.Primitive.input,{style:{display:"none"},...e,ref:h,defaultValue:d})});function bH(a,b,c){return(0,w.clamp)(100/(c-b)*(a-b),[0,100])}function bI(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}bG.displayName="RadioBubbleInput",a.s(["Range",()=>bC,"Root",()=>bt,"Slider",()=>bt,"SliderRange",()=>bC,"SliderThumb",()=>bE,"SliderTrack",()=>bA,"Thumb",()=>bE,"Track",()=>bA,"createSliderScope",()=>bq],61569);var bJ=a.i(61569),bJ=bJ;function bK({className:a,defaultValue:d,value:e,min:f=0,max:g=100,...h}){let i=c.useMemo(()=>Array.isArray(e)?e:Array.isArray(d)?d:[f,g],[e,d,f,g]);return(0,b.jsxs)(bJ.Root,{"data-slot":"slider",defaultValue:d,value:e,min:f,max:g,className:(0,s.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",a),...h,children:[(0,b.jsx)(bJ.Track,{"data-slot":"slider-track",className:(0,s.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,b.jsx)(bJ.Range,{"data-slot":"slider-range",className:(0,s.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:i.length},(a,c)=>(0,b.jsx)(bJ.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"},c))]})}let bL=[60,120,300,600,900,1800,2700,3600,7200,10800,14400,21600,28800,43200,86400],bM=bL.length-1;function bN(a){let b=0,c=Math.abs(a-bL[0]);for(let d=1;d<bL.length;d++){let e=Math.abs(a-bL[d]);e<c&&(c=e,b=d)}return b}function bO({id:a,testId:d,value:e,onChange:f,onBlur:g,defaultSeconds:h=1800}){var i;let j,k,l=(""===e?h:parseInt(e,10))||h,[m,n]=(0,c.useState)(()=>bN(l)),o=bN(l);o!==m&&bL[m]!==l&&n(o);let p=(0,c.useCallback)(([a])=>{n(a),f(String(bL[a]))},[f]);return(0,b.jsxs)("div",{className:"flex w-55 items-center gap-2",children:[(0,b.jsx)(bK,{id:a,"data-testid":d,min:0,max:bM,step:1,value:[m],onValueChange:p,onValueCommit:()=>g(),className:"min-w-0 flex-1"}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0 text-right text-xs tabular-nums",children:(j=Math.floor((i=bL[m])/3600),k=Math.round(i%3600/60),0===j?`${k}m`:0===k?`${j}h`:`${j}h ${k}m`)})]})}let bP=[{value:a5.EditorType.VsCode,label:"VS Code"},{value:a5.EditorType.Cursor,label:"Cursor"},{value:a5.EditorType.Windsurf,label:"Windsurf"},{value:a5.EditorType.Zed,label:"Zed"},{value:a5.EditorType.Antigravity,label:"Antigravity"}],bQ=[{value:"bash",label:"Bash"},{value:"zsh",label:"Zsh"},{value:"fish",label:"Fish"}],bR=[{id:"agent",label:"Agent",icon:f},{id:"environment",label:"Environment",icon:g.Terminal},{id:"workflow",label:"Workflow",icon:h.GitBranch},{id:"ci",label:"CI",icon:i},{id:"stage-timeouts",label:"Timeouts",icon:q.Timer},{id:"notifications",label:"Notifications",icon:j},{id:"feature-flags",label:"Flags",icon:k},{id:"database",label:"Database",icon:l}];function bS({label:a,description:c,htmlFor:d,children:e}){return(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b py-2.5 last:border-b-0",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)(t.Label,{htmlFor:d,className:"cursor-pointer text-sm font-normal whitespace-nowrap",children:a}),c?(0,b.jsx)("p",{className:"text-muted-foreground text-[11px] leading-tight",children:c}):null]}),(0,b.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:e})]})}function bT({label:a,description:c,id:d,testId:e,checked:f,onChange:g,disabled:h}){return(0,b.jsx)(bS,{label:a,description:c,htmlFor:d,children:(0,b.jsx)(u.Switch,{id:d,"data-testid":e,checked:f,onCheckedChange:g,disabled:h,className:(0,s.cn)("cursor-pointer",h&&"cursor-not-allowed opacity-50")})})}function bU({icon:a,title:c,description:d,badge:e,testId:f,children:g}){return(0,b.jsxs)("div",{className:"bg-background rounded-lg border","data-testid":f,children:[(0,b.jsxs)("div",{className:"bg-muted/30 border-b px-4 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(a,{className:"text-muted-foreground h-3.5 w-3.5"}),(0,b.jsx)("h2",{className:"text-sm font-semibold",children:c}),e?(0,b.jsx)("span",{className:"bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-[9px] font-medium tracking-wider uppercase",children:e}):null]}),(0,b.jsx)("p",{className:"text-muted-foreground mt-0.5 text-[11px]",children:d})]}),(0,b.jsx)("div",{className:"px-4",children:g})]})}function bV({id:a,testId:c,value:d,onChange:e,onBlur:f,placeholder:g,min:h=1,max:i,step:j=1,suffix:k}){let l=""===d?void 0:parseInt(d,10);return(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsxs)("div",{className:"flex items-center overflow-hidden rounded-md border",children:[(0,b.jsx)("button",{type:"button",onClick:()=>{e(String(Math.max(h,(l??parseInt(g,10))-j)))},onMouseUp:f,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":"Decrease",children:(0,b.jsx)(m.default,{className:"h-3 w-3"})}),(0,b.jsx)("input",{id:a,"data-testid":c,type:"text",inputMode:"numeric",pattern:"[0-9]*",value:d,placeholder:g,onChange:a=>{e(a.target.value.replace(/[^0-9]/g,""))},onBlur:f,className:"h-8 w-14 bg-transparent text-center text-xs outline-none"}),(0,b.jsx)("button",{type:"button",onClick:()=>{let a;a=l??parseInt(g,10),e(String(null!=i?Math.min(i,a+j):a+j))},onMouseUp:f,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":"Increase",children:(0,b.jsx)(n.Plus,{className:"h-3 w-3"})})]}),k?(0,b.jsx)("span",{className:"text-muted-foreground text-[11px]",children:k}):null]})}function bW({children:a}){return(0,b.jsx)("div",{className:"border-b pt-3 pb-1",children:(0,b.jsx)("span",{className:"text-muted-foreground text-[10px] font-semibold tracking-wider uppercase",children:a})})}function bX({children:a,links:c}){return(0,b.jsxs)("div",{className:"hidden pt-2 lg:block",children:[(0,b.jsx)("p",{className:"text-muted-foreground/70 text-[11px] leading-relaxed",children:a}),null!=c&&c.length>0?(0,b.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:c.map(a=>(0,b.jsxs)("a",{href:a.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,b.jsx)(o.ExternalLink,{className:"h-2.5 w-2.5"}),a.label]},a.href))}):null]})}function bY({settings:a,shepHome:e,dbFileSize:m,availableTerminals:n}){let{showSaving:o,showSaved:t,save:u}=function(){let[a,b]=(0,c.useTransition)(),[d,e]=(0,c.useState)(!1),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(null),i=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{a&&!d&&(e(!0),i.current=!1,h.current=setTimeout(()=>{h.current=null,i.current&&(e(!1),g(!0),setTimeout(()=>g(!1),2e3))},350)),!a&&d&&(i.current=!0,h.current||(e(!1),g(!0),setTimeout(()=>g(!1),2e3)))},[a,d]),{showSaving:d,showSaved:f,save:(0,c.useCallback)(a=>{b(async()=>{let b=await a4(a);b.success||r.toast.error(b.error??"Failed to save settings")})},[b])}}(),v=a.featureFlags??{skills:!1,envDeploy:!1,debug:!1,githubImport:!1,adoptBranch:!1,gitRebaseSync:!1,reactFileManager:!1},[w,x]=(0,c.useState)(a.agent.type),[y,z]=(0,c.useState)(a.environment.defaultEditor),[A,B]=(0,c.useState)(a.environment.shellPreference),[C,D]=(0,c.useState)(a.environment.terminalPreference??a5.TerminalType.System),E=n?n.filter(a=>a.available):[{id:a5.TerminalType.System,name:"System Terminal",available:!0}],[F,G]=(0,c.useState)(a.workflow.openPrOnImplementationComplete),[H,I]=(0,c.useState)(a.workflow.approvalGateDefaults.pushOnImplementationComplete),[J,K]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPrd),[L,M]=(0,c.useState)(a.workflow.approvalGateDefaults.allowPlan),[N,O]=(0,c.useState)(a.workflow.approvalGateDefaults.allowMerge),[P,Q]=(0,c.useState)(a.workflow.enableEvidence),[R,S]=(0,c.useState)(a.workflow.commitEvidence),[T,U]=(0,c.useState)(!1!==a.workflow.ciWatchEnabled),[V,W]=(0,c.useState)(!1!==a.workflow.hideCiStatus),[X,Y]=(0,c.useState)(null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):""),[Z,$]=(0,c.useState)(null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):""),[_,aa]=(0,c.useState)(null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):""),[ab,ac]=(0,c.useState)(null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):""),ad=a.workflow.stageTimeouts,[ae,af]=(0,c.useState)(String(Math.round((ad?.analyzeMs??18e5)/1e3))),[ag,ah]=(0,c.useState)(String(Math.round((ad?.requirementsMs??18e5)/1e3))),[ai,aj]=(0,c.useState)(String(Math.round((ad?.researchMs??18e5)/1e3))),[ak,al]=(0,c.useState)(String(Math.round((ad?.planMs??18e5)/1e3))),[am,an]=(0,c.useState)(String(Math.round((ad?.implementMs??18e5)/1e3))),[ao,ap]=(0,c.useState)(String(Math.round((ad?.mergeMs??18e5)/1e3))),aq=a.workflow.analyzeRepoTimeouts,[ar,as]=(0,c.useState)(String(Math.round((aq?.analyzeMs??6e5)/1e3))),[at,au]=(0,c.useState)(a.notifications.inApp.enabled),[av,aw]=(0,c.useState)({...a.notifications.events}),[ax,ay]=(0,c.useState)({...v}),az=null!=a.workflow.ciMaxFixAttempts?String(a.workflow.ciMaxFixAttempts):"",aA=null!=a.workflow.ciWatchTimeoutMs?String(Math.round(a.workflow.ciWatchTimeoutMs/1e3)):"",aB=null!=a.workflow.ciLogMaxChars?String(a.workflow.ciLogMaxChars):"",aC=null!=a.workflow.ciWatchPollIntervalSeconds?String(a.workflow.ciWatchPollIntervalSeconds):"",aD=ad?.analyzeMs!=null?String(Math.round(ad.analyzeMs/1e3)):"",aE=ad?.requirementsMs!=null?String(Math.round(ad.requirementsMs/1e3)):"",aF=ad?.researchMs!=null?String(Math.round(ad.researchMs/1e3)):"",aG=ad?.planMs!=null?String(Math.round(ad.planMs/1e3)):"",aH=ad?.implementMs!=null?String(Math.round(ad.implementMs/1e3)):"",aI=ad?.mergeMs!=null?String(Math.round(ad.mergeMs/1e3)):"",aJ=aq?.analyzeMs!=null?String(Math.round(aq.analyzeMs/1e3)):"";function aK(a){if(""===a)return;let b=parseInt(a,10);return Number.isNaN(b)||b<=0?void 0:b}function aL(a){if(void 0===a)return;let b=aK(a);return null!=b?1e3*b:void 0}function aM(a={}){let b=aK(a.ciTimeout??Z);return{workflow:{openPrOnImplementationComplete:a.openPr??F,approvalGateDefaults:{pushOnImplementationComplete:a.pushOnComplete??H,allowPrd:a.allowPrd??J,allowPlan:a.allowPlan??L,allowMerge:a.allowMerge??N},enableEvidence:a.enableEvidence??P,commitEvidence:a.commitEvidence??R,ciWatchEnabled:a.ciWatchEnabled??T,hideCiStatus:a.hideCiStatus??V,ciMaxFixAttempts:aK(a.ciMaxFix??X),ciWatchTimeoutMs:null!=b?1e3*b:void 0,ciLogMaxChars:aK(a.ciLogMax??_),ciWatchPollIntervalSeconds:aK(a.ciPollInterval??ab),stageTimeouts:{analyzeMs:aL(a.analyzeTimeout??ae),requirementsMs:aL(a.requirementsTimeout??ag),researchMs:aL(a.researchTimeout??ai),planMs:aL(a.planTimeout??ak),implementMs:aL(a.implementTimeout??am),mergeMs:aL(a.mergeTimeout??ao)},analyzeRepoTimeouts:{analyzeMs:aL(a.analyzeRepoTimeout??ar)}}}}function aN(a={}){return{notifications:{inApp:{enabled:a.inApp??at},events:a.events??av}}}let[aO,aP]=(0,c.useState)("agent");(0,c.useEffect)(()=>{let a=bR.map(a=>document.getElementById(`section-${a.id}`)).filter(Boolean);if(0===a.length)return;let b=new IntersectionObserver(a=>{for(let b of a)b.isIntersecting&&aP(b.target.id.replace("section-",""))},{rootMargin:"-65px 0px -60% 0px",threshold:0});for(let c of a)b.observe(c);return()=>b.disconnect()},[]);let aQ=(0,c.useCallback)(a=>{let b=document.getElementById(`section-${a}`);b&&(b.scrollIntoView({behavior:"smooth",block:"start"}),b.style.animation="none",b.offsetHeight,b.style.animation="section-flash 1s ease-out")},[]);return(0,b.jsxs)("div",{"data-testid":"settings-page-client",className:"max-w-5xl",children:[(0,b.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,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(p,{className:"text-muted-foreground h-4 w-4"}),(0,b.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Settings"}),(0,b.jsxs)("span",{className:"relative h-4 w-16",children:[(0,b.jsx)("span",{className:(0,s.cn)("text-muted-foreground absolute inset-0 flex items-center text-xs transition-opacity duration-300",o?"opacity-100":"opacity-0"),children:"Saving..."}),(0,b.jsxs)("span",{className:(0,s.cn)("absolute inset-0 flex items-center gap-1 text-xs text-green-600 transition-opacity duration-300",t&&!o?"opacity-100":"opacity-0"),children:[(0,b.jsx)(d.Check,{className:"h-3 w-3"}),"Saved"]})]}),(0,b.jsx)("nav",{className:"ml-auto flex items-center gap-0.5",children:bR.map(a=>{let c=a.icon,d=aO===a.id;return(0,b.jsxs)("button",{type:"button",onClick:()=>aQ(a.id),className:(0,s.cn)("flex cursor-pointer items-center gap-1 rounded-md px-1.5 py-1 text-[11px] transition-all",d?"bg-accent text-foreground font-medium":"text-muted-foreground/60 hover:text-foreground hover:bg-accent/50"),children:[(0,b.jsx)(c,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:a.label})]},a.id)})})]})}),(0,b.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,b.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,b.jsx)(bU,{icon:f,title:"Agent",description:"AI coding agent and authentication",testId:"agent-settings-section",children:(0,b.jsx)(bS,{label:"Agent & Model",description:"Provider and model for all operations",htmlFor:"agent-model-picker",children:(0,b.jsx)(bg.AgentModelPicker,{initialAgentType:w,initialModel:a.models.default,mode:"settings",onAgentModelChange:a=>x(a),className:"w-55"})})}),(0,b.jsx)(bX,{links:[{label:"Agent system",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/agent-system.md"},{label:"Adding agents",href:"https://github.com/shep-ai/cli/blob/main/docs/development/adding-agents.md"},{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Choose which AI coding agent powers your features. Each agent supports different models and capabilities. Authentication is resolved automatically via your active session."})]}),(0,b.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,b.jsxs)(bU,{icon:g.Terminal,title:"Environment",description:"Editor, shell, and terminal preferences",testId:"environment-settings-section",children:[(0,b.jsx)(bS,{label:"Default Editor",description:"Editor launched for file operations",htmlFor:"default-editor",children:(0,b.jsxs)(aY,{value:y,onValueChange:a=>{z(a),u({environment:{defaultEditor:a,shellPreference:A,terminalPreference:C}})},children:[(0,b.jsx)(a$,{id:"default-editor","data-testid":"editor-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(aZ,{})}),(0,b.jsx)(a1,{children:bP.map(a=>{var c;let d=(c=a.value)&&c in bf?bf[c]:a9;return(0,b.jsx)(a2,{value:a.value,children:(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(d,{className:"h-4 w-4 shrink-0"}),a.label]})},a.value)})})]})}),(0,b.jsx)(bS,{label:"Shell",description:"Default shell for generated scripts",htmlFor:"shell-preference",children:(0,b.jsxs)(aY,{value:A,onValueChange:a=>{B(a),u({environment:{defaultEditor:y,shellPreference:a,terminalPreference:C}})},children:[(0,b.jsx)(a$,{id:"shell-preference","data-testid":"shell-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(aZ,{})}),(0,b.jsx)(a1,{children:bQ.map(a=>(0,b.jsx)(a2,{value:a.value,children:a.label},a.value))})]})}),(0,b.jsx)(bS,{label:"Terminal",description:"Terminal emulator for shell sessions",htmlFor:"terminal-preference",children:(0,b.jsxs)(aY,{value:C,onValueChange:a=>{D(a),u({environment:{defaultEditor:y,shellPreference:A,terminalPreference:a}})},children:[(0,b.jsx)(a$,{id:"terminal-preference","data-testid":"terminal-select",className:"w-55 cursor-pointer text-xs",children:(0,b.jsx)(aZ,{})}),(0,b.jsx)(a1,{children:E.map(a=>(0,b.jsx)(a2,{value:a.id,children:a.name},a.id))})]})})]}),(0,b.jsx)(bX,{links:[{label:"Configuration guide",href:"https://github.com/shep-ai/cli/blob/main/docs/guides/configuration.md"}],children:"Your preferred editor opens files for review. The shell setting controls generated scripts. The terminal emulator is launched when opening shell sessions from the web UI."})]}),(0,b.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,b.jsxs)(bU,{icon:h.GitBranch,title:"Workflow",description:"Automation behavior after implementation",testId:"workflow-settings-section",children:[(0,b.jsx)(bW,{children:"Approve"}),(0,b.jsx)(bT,{label:"Auto-approve PRD",description:"Skip manual review of requirements",id:"allow-prd",testId:"switch-allow-prd",checked:J,onChange:a=>{K(a),u(aM({allowPrd:a}))}}),(0,b.jsx)(bT,{label:"Auto-approve Plan",description:"Skip manual review of implementation plan",id:"allow-plan",testId:"switch-allow-plan",checked:L,onChange:a=>{M(a),u(aM({allowPlan:a}))}}),(0,b.jsx)(bT,{label:"Auto-approve Merge",description:"Merge without manual review",id:"allow-merge",testId:"switch-allow-merge",checked:N,onChange:a=>{O(a),u(aM({allowMerge:a}))}}),(0,b.jsx)(bW,{children:"Evidence"}),(0,b.jsx)(bT,{label:"Collect evidence",description:"Capture screenshots and artifacts after implementation",id:"enable-evidence",testId:"switch-enable-evidence",checked:P,onChange:a=>{Q(a),a?u(aM({enableEvidence:a})):(S(!1),u(aM({enableEvidence:a,commitEvidence:!1})))}}),(0,b.jsx)(bT,{label:"Add evidence to PR",description:"Include evidence in the pull request body",id:"commit-evidence",testId:"switch-commit-evidence",checked:R,disabled:!P||!F,onChange:a=>{S(a),u(aM({commitEvidence:a}))}}),(0,b.jsx)(bW,{children:"Git"}),(0,b.jsx)(bT,{label:"Push on complete",description:"Push to remote when implementation finishes",id:"push-on-complete",testId:"switch-push-on-complete",checked:H,onChange:a=>{I(a),u(aM({pushOnComplete:a}))}}),(0,b.jsx)(bT,{label:"Open PR on complete",description:"Create a pull request when done",id:"open-pr",testId:"switch-open-pr",checked:F,onChange:a=>{G(a),a?u(aM({openPr:a})):(S(!1),u(aM({openPr:a,commitEvidence:!1})))}}),(0,b.jsx)(bT,{label:"Watch CI after push",description:"Monitor CI and auto-fix failures. Disable to avoid rate limits.",id:"ci-watch-enabled",testId:"switch-ci-watch-enabled",checked:T,onChange:a=>{U(a),u(aM({ciWatchEnabled:a}))}})]}),(0,b.jsx)(bX,{links:[{label:"Approval gates",href:"https://github.com/shep-ai/cli/blob/main/specs/016-hitl-approval-gates/spec.yaml"},{label:"Push & PR flags",href:"https://github.com/shep-ai/cli/blob/main/specs/037-feature-pr-push-flags/spec.yaml"}],children:"Control how autonomous each feature run is. Auto-approve skips the human review pause at each phase. Push and PR options control what happens after successful implementation."})]}),(0,b.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,b.jsxs)(bU,{icon:i,title:"Continuous Integration",description:"Limits and timeouts for CI monitoring",testId:"ci-settings-section",children:[(0,b.jsx)(bS,{label:"Max fix attempts",description:"Agent retries on failing CI",htmlFor:"ci-max-fix",children:(0,b.jsx)(bV,{id:"ci-max-fix",testId:"ci-max-fix-input",placeholder:"3",value:X,onChange:Y,onBlur:()=>{X!==az&&u(aM({ciMaxFix:X}))},min:1,max:10})}),(0,b.jsx)(bS,{label:"Watch timeout",description:"Max wait for CI completion",htmlFor:"ci-timeout",children:(0,b.jsx)(bV,{id:"ci-timeout",testId:"ci-timeout-input",placeholder:"300",value:Z,onChange:$,onBlur:()=>{Z!==aA&&u(aM({ciTimeout:Z}))},min:30,step:30,suffix:"sec"})}),(0,b.jsx)(bS,{label:"Max log size",description:"Truncate CI logs beyond this limit",htmlFor:"ci-log-max",children:(0,b.jsx)(bV,{id:"ci-log-max",testId:"ci-log-max-input",placeholder:"50000",value:_,onChange:aa,onBlur:()=>{_!==aB&&u(aM({ciLogMax:_}))},min:1e3,step:5e3,suffix:"chars"})}),(0,b.jsx)(bS,{label:"Poll interval",description:"How often to check GitHub for CI status updates",htmlFor:"ci-poll-interval",children:(0,b.jsx)(bV,{id:"ci-poll-interval",testId:"ci-poll-interval-input",placeholder:"30",value:ab,onChange:ac,onBlur:()=>{ab!==aC&&u(aM({ciPollInterval:ab}))},min:5,step:5,suffix:"sec"})}),(0,b.jsx)(bT,{label:"Hide CI status",description:"Hide CI status badges from feature drawer and merge review",id:"hide-ci-status",testId:"switch-hide-ci-status",checked:V,onChange:a=>{W(a),u(aM({hideCiStatus:a}))}})]}),(0,b.jsx)(bX,{links:[{label:"CI/CD pipeline",href:"https://github.com/shep-ai/cli/blob/main/docs/development/cicd.md"},{label:"CI security gates",href:"https://github.com/shep-ai/cli/blob/main/specs/003-cicd-security-gates/spec.md"}],children:"When a feature completes, the agent can watch CI and auto-fix failures. These limits prevent runaway retries and control how much log output is sent to the agent for analysis."})]}),(0,b.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,b.jsxs)(bU,{icon:q.Timer,title:"Stage Timeouts",description:"Maximum execution time per agent stage",testId:"stage-timeouts-settings-section",children:[(0,b.jsx)(bW,{children:"Feature Agent"}),(0,b.jsx)(bS,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze",children:(0,b.jsx)(bO,{id:"timeout-analyze",testId:"timeout-analyze-input",value:ae,onChange:af,onBlur:()=>{ae!==aD&&u(aM({analyzeTimeout:ae}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Requirements",description:"Requirements gathering timeout",htmlFor:"timeout-requirements",children:(0,b.jsx)(bO,{id:"timeout-requirements",testId:"timeout-requirements-input",value:ag,onChange:ah,onBlur:()=>{ag!==aE&&u(aM({requirementsTimeout:ag}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Research",description:"Technical research timeout",htmlFor:"timeout-research",children:(0,b.jsx)(bO,{id:"timeout-research",testId:"timeout-research-input",value:ai,onChange:aj,onBlur:()=>{ai!==aF&&u(aM({researchTimeout:ai}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Plan",description:"Implementation planning timeout",htmlFor:"timeout-plan",children:(0,b.jsx)(bO,{id:"timeout-plan",testId:"timeout-plan-input",value:ak,onChange:al,onBlur:()=>{ak!==aG&&u(aM({planTimeout:ak}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Implement",description:"Code implementation timeout",htmlFor:"timeout-implement",children:(0,b.jsx)(bO,{id:"timeout-implement",testId:"timeout-implement-input",value:am,onChange:an,onBlur:()=>{am!==aH&&u(aM({implementTimeout:am}))},defaultSeconds:1800})}),(0,b.jsx)(bS,{label:"Merge",description:"PR creation and merge timeout",htmlFor:"timeout-merge",children:(0,b.jsx)(bO,{id:"timeout-merge",testId:"timeout-merge-input",value:ao,onChange:ap,onBlur:()=>{ao!==aI&&u(aM({mergeTimeout:ao}))},defaultSeconds:1800})}),(0,b.jsx)(bW,{children:"Analyze Repository Agent"}),(0,b.jsx)(bS,{label:"Analyze",description:"Repository analysis timeout",htmlFor:"timeout-analyze-repo",children:(0,b.jsx)(bO,{id:"timeout-analyze-repo",testId:"timeout-analyze-repo-input",value:ar,onChange:as,onBlur:()=>{ar!==aJ&&u(aM({analyzeRepoTimeout:ar}))},defaultSeconds:600})})]}),(0,b.jsx)(bX,{children:"Each agent has independently configurable stage timeouts. When a stage exceeds its timeout, the agent is terminated. Longer timeouts are useful for complex implementations. Feature agent defaults to 30 minutes per stage. Analyze repository agent defaults to 10 minutes."})]}),(0,b.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,b.jsxs)(bU,{icon:j,title:"Notifications",description:"How and when you get notified",testId:"notification-settings-section",children:[(0,b.jsx)(bW,{children:"Channels"}),(0,b.jsx)(bT,{label:"In-app",description:"Notifications inside the Shep UI",id:"notif-in-app",testId:"switch-in-app",checked:at,onChange:a=>{au(a),u(aN({inApp:a}))}}),(0,b.jsx)(bW,{children:"Agent Events"}),(0,b.jsx)(bT,{label:"Agent started",id:"notif-event-agentStarted",testId:"switch-event-agentStarted",checked:av.agentStarted,onChange:a=>{let b={...av,agentStarted:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Phase completed",id:"notif-event-phaseCompleted",testId:"switch-event-phaseCompleted",checked:av.phaseCompleted,onChange:a=>{let b={...av,phaseCompleted:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Waiting approval",id:"notif-event-waitingApproval",testId:"switch-event-waitingApproval",checked:av.waitingApproval,onChange:a=>{let b={...av,waitingApproval:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Agent completed",id:"notif-event-agentCompleted",testId:"switch-event-agentCompleted",checked:av.agentCompleted,onChange:a=>{let b={...av,agentCompleted:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Agent failed",id:"notif-event-agentFailed",testId:"switch-event-agentFailed",checked:av.agentFailed,onChange:a=>{let b={...av,agentFailed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bW,{children:"Pull Request Events"}),(0,b.jsx)(bT,{label:"PR merged",id:"notif-event-prMerged",testId:"switch-event-prMerged",checked:av.prMerged,onChange:a=>{let b={...av,prMerged:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR closed",id:"notif-event-prClosed",testId:"switch-event-prClosed",checked:av.prClosed,onChange:a=>{let b={...av,prClosed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR checks passed",id:"notif-event-prChecksPassed",testId:"switch-event-prChecksPassed",checked:av.prChecksPassed,onChange:a=>{let b={...av,prChecksPassed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR checks failed",id:"notif-event-prChecksFailed",testId:"switch-event-prChecksFailed",checked:av.prChecksFailed,onChange:a=>{let b={...av,prChecksFailed:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"PR blocked",id:"notif-event-prBlocked",testId:"switch-event-prBlocked",checked:av.prBlocked,onChange:a=>{let b={...av,prBlocked:a};aw(b),u(aN({events:b}))}}),(0,b.jsx)(bT,{label:"Merge review ready",id:"notif-event-mergeReviewReady",testId:"switch-event-mergeReviewReady",checked:av.mergeReviewReady,onChange:a=>{let b={...av,mergeReviewReady:a};aw(b),u(aN({events:b}))}})]}),(0,b.jsx)(bX,{links:[{label:"Notification system",href:"https://github.com/shep-ai/cli/blob/main/specs/021-agent-notifications/spec.yaml"}],children:"In-app toast notifications keep you in the loop. Fine-tune which agent lifecycle events trigger a notification."})]}),(0,b.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,b.jsxs)(bU,{icon:k,title:"Feature Flags",description:"Enable or disable experimental features",badge:"Experimental",testId:"feature-flags-settings-section",children:[(0,b.jsx)(bT,{label:"Skills",description:"Enable the skills system for agent capabilities",id:"flag-skills",testId:"switch-flag-skills",checked:ax.skills,onChange:a=>{let b={...ax,skills:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Deployments",description:"Enable environment deployment workflows",id:"flag-envDeploy",testId:"switch-flag-envDeploy",checked:ax.envDeploy,onChange:a=>{let b={...ax,envDeploy:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Debug",description:"Show debug panels and verbose logging",id:"flag-debug",testId:"switch-flag-debug",checked:ax.debug,onChange:a=>{let b={...ax,debug:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"GitHub Import",description:"Enable GitHub repository import in the web UI",id:"flag-githubImport",testId:"switch-flag-githubImport",checked:ax.githubImport,onChange:a=>{let b={...ax,githubImport:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Adopt Branch",description:"Import existing branches as tracked features",id:"flag-adoptBranch",testId:"switch-flag-adoptBranch",checked:ax.adoptBranch,onChange:a=>{let b={...ax,adoptBranch:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"Git Rebase & Sync",description:"Enable git rebase-on-main and sync-main operations",id:"flag-gitRebaseSync",testId:"switch-flag-gitRebaseSync",checked:ax.gitRebaseSync,onChange:a=>{let b={...ax,gitRebaseSync:a};ay(b),u({featureFlags:b})}}),(0,b.jsx)(bT,{label:"React File Manager",description:"Use the built-in React file manager instead of the native OS folder picker",id:"flag-reactFileManager",testId:"switch-flag-reactFileManager",checked:ax.reactFileManager,onChange:a=>{let b={...ax,reactFileManager:a};ay(b),u({featureFlags:b})}})]}),(0,b.jsx)(bX,{children:"Experimental features that are still under development. Enable at your own risk — they may change or be removed in future versions. Debug mode adds verbose logging useful for troubleshooting."})]}),(0,b.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,b.jsxs)(bU,{icon:l,title:"Database",description:"Local storage information",testId:"database-settings-section",children:[(0,b.jsx)(bS,{label:"Location",description:"Path to the local SQLite database",children:(0,b.jsx)("span",{className:"text-muted-foreground max-w-50 truncate font-mono text-xs","data-testid":"shep-home-path",children:e})}),(0,b.jsx)(bS,{label:"Size",children:(0,b.jsx)("span",{className:"text-muted-foreground text-xs","data-testid":"db-file-size",children:m})})]}),(0,b.jsx)(bX,{links:[{label:"Settings service",href:"https://github.com/shep-ai/cli/blob/main/docs/architecture/settings-service.md"},{label:"Settings spec",href:"https://github.com/shep-ai/cli/blob/main/specs/005-global-settings-service/spec.md"}],children:"All settings are stored in a local SQLite database at ~/.shep/data. The database uses a singleton record pattern with automatic migrations on startup."})]})]})]})}a.s(["SettingsPageClient",()=>bY],79020)}];
2
2
 
3
3
  //# sourceMappingURL=b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map